1(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function t(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=t(r);fetch(r.href,s)}})();var rh=!1,sh=!1,Ks=[],ah=-1;function PL(n){LL(n)}function LL(n){Ks.includes(n)||Ks.push(n),CL()}function DL(n){let e=Ks.indexOf(n);e!==-1&&e>ah&&Ks.splice(e,1)}function CL(){!sh&&!rh&&(rh=!0,queueMicrotask(wL))}function wL(){rh=!1,sh=!0;for(let n=0;n<Ks.length;n++)Ks[n](),ah=n;Ks.length=0,ah=-1,sh=!1}var M4,_a,x4,Ux,oh=!0;function BL(n){oh=!1,n(),oh=!0}function UL(n){M4=n.reactive,x4=n.release,_a=e=>n.effect(e,{scheduler:t=>{oh?PL(t):t()}}),Ux=n.raw}function W_(n){_a=n}function FL(n){let e=()=>{};return[i=>{let r=_a(i);return n._x_effects||(n._x_effects=new Set,n._x_runEffects=()=>{n._x_effects.forEach(s=>s())}),n._x_effects.add(r),e=()=>{r!==void 0&&(n._x_effects.delete(r),x4(r))},r},()=>{e()}]}function Fx(n,e){let t=!0,i,r=_a(()=>{let s=n();JSON.stringify(s),t?i=s:queueMicrotask(()=>{e(s,i),i=s}),t=!1});return()=>x4(r)}var Gx=[],Vx=[],kx=[];function GL(n){kx.push(n)}function ed(n,e){typeof e=="function"?(n._x_cleanups||(n._x_cleanups=[]),n._x_cleanups.push(e)):(e=n,Vx.push(e))}function zx(n){Gx.push(n)}function Wx(n,e,t){n._x_attributeCleanups||(n._x_attributeCleanups={}),n._x_attributeCleanups[e]||(n._x_attributeCleanups[e]=[]),n._x_attributeCleanups[e].push(t)}function Hx(n,e){n._x_attributeCleanups&&Object.entries(n._x_attributeCleanups).forEach(([t,i])=>{(e===void 0||e.includes(t))&&(i.forEach(r=>r()),delete n._x_attributeCleanups[t])})}function VL(n){var e,t;for((e=n._x_effects)==null||e.forEach(DL);(t=n._x_cleanups)!=null&&t.length;)n._x_cleanups.pop()()}var td=new MutationObserver(sd),nd=!1;function id(){td.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),nd=!0}function Kx(){kL(),td.disconnect(),nd=!1}var K4=[];function kL(){let n=td.takeRecords();K4.push(()=>n.length>0&&sd(n));let e=K4.length;queueMicrotask(()=>{if(K4.length===e)for(;K4.length>0;)K4.shift()()})}function Pn(n){if(!nd)return n();Kx();let e=n();return id(),e}var rd=!1,N7=[];function zL(){rd=!0}function WL(){rd=!1,sd(N7),N7=[]}function sd(n){if(rd){N7=N7.concat(n);return}let e=[],t=new Set,i=new Map,r=new Map;for(let s=0;s<n.length;s++)if(!n[s].target._x_ignoreMutationObserver&&(n[s].type==="childList"&&(n[s].removedNodes.forEach(a=>{a.nodeType===1&&a._x_marker&&t.add(a)}),n[s].addedNodes.forEach(a=>{if(a.nodeType===1){if(t.has(a)){t.delete(a);return}a._x_marker||e.push(a)}})),n[s].type==="attributes")){let a=n[s].target,o=n[s].attributeName,l=n[s].oldValue,u=()=>{i.has(a)||i.set(a,[]),i.get(a).push({name:o,value:a.getAttribute(o)})},d=()=>{r.has(a)||r.set(a,[]),r.get(a).push(o)};a.hasAttribute(o)&&l===null?u():a.hasAttribute(o)?(d(),u()):d()}r.forEach((s,a)=>{Hx(a,s)}
vendor: 18,321 bytes, lines 1-5
1),i.forEach((s,a)=>{Gx.forEach(o=>o(a,s))});for(let s of t)e.some(a=>a.contains(s))||Vx.forEach(a=>a(s));for(let s of e)s.isConnected&&kx.forEach(a=>a(s));e=null,t=null,i=null,r=null}function Yx(n){return K8(Do(n))}function H8(n,e,t){return n._x_dataStack=[e,...Do(t||n)],()=>{n._x_dataStack=n._x_dataStack.filter(i=>i!==e)}}function Do(n){return n._x_dataStack?n._x_dataStack:typeof ShadowRoot=="function"&&n instanceof ShadowRoot?Do(n.host):n.parentNode?Do(n.parentNode):[]}function K8(n){return new Proxy({objects:n},HL)}var HL={ownKeys({objects:n}){return Array.from(new Set(n.flatMap(e=>Object.keys(e))))},has({objects:n},e){return e==Symbol.unscopables?!1:n.some(t=>Object.prototype.hasOwnProperty.call(t,e)||Reflect.has(t,e))},get({objects:n},e,t){return e=="toJSON"?KL:Reflect.get(n.find(i=>Reflect.has(i,e))||{},e,t)},set({objects:n},e,t,i){const r=n.find(a=>Object.prototype.hasOwnProperty.call(a,e))||n[n.length-1],s=Object.getOwnPropertyDescriptor(r,e);return s!=null&&s.set&&(s!=null&&s.get)?s.set.call(i,t)||!0:Reflect.set(r,e,t)}};function KL(){return Reflect.ownKeys(this).reduce((e,t)=>(e[t]=Reflect.get(this,t),e),{})}function $x(n){let e=i=>typeof i=="object"&&!Array.isArray(i)&&i!==null,t=(i,r="")=>{Object.entries(Object.getOwnPropertyDescriptors(i)).forEach(([s,{value:a,enumerable:o}])=>{if(o===!1||a===void 0||typeof a=="object"&&a!==null&&a.__v_skip)return;let l=r===""?s:`${r}.${s}`;typeof a=="object"&&a!==null&&a._x_interceptor?i[s]=a.initialize(n,l,s):e(a)&&a!==i&&!(a instanceof Element)&&t(a,l)})};return t(n)}function jx(n,e=()=>{}){let t={initialValue:void 0,_x_interceptor:!0,initialize(i,r,s){return n(this.initialValue,()=>YL(i,r),a=>lh(i,r,a),r,s)}};return e(t),i=>{if(typeof i=="object"&&i!==null&&i._x_interceptor){let r=t.initialize.bind(t);t.initialize=(s,a,o)=>{let l=i.initialize(s,a,o);return t.initialValue=l,r(s,a,o)}}else t.initialValue=i;return t}}function YL(n,e){return e.split(".").reduce((t,i)=>t[i],n)}function lh(n,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)n[e[0]]=t;else{if(e.length===0)throw error;return n[e[0]]||(n[e[0]]={}),lh(n[e[0]],e.slice(1),t)}}var Xx={};function G0(n,e){Xx[n]=e}function uh(n,e){let t=$L(e);return Object.entries(Xx).forEach(([i,r])=>{Object.defineProperty(n,`$${i}`,{get(){return r(e,t)},enumerable:!1})}),n}function $L(n){let[e,t]=nS(n),i={interceptor:jx,...e};return ed(n,t),i}function jL(n,e,t,...i){try{return t(...i)}catch(r){J6(r,n,e)}}function J6(n,e,t=void 0){n=Object.assign(n??{message:"No error message given."},{el:e,expression:t}),console.warn(`Alpine Expression Error: ${n.message} 2 3${t?'Expression: "'+t+`" 4 5`:""}`,e),setTimeout(()=>{throw n},0)}var r7=!0;function Zx(n){let e=r7;r7=!1;let t=n();return r7=e,t}function Ys(n,e,t={}){let i;return ar(n,e)(r=>i=r,t),i}function ar(...n){return Qx(...n)}var Qx=Jx;function XL(n){Qx=n}function Jx(n,e){let t={};uh(t,n);let i=[t,...Do(n)],r=typeof e=="function"?ZL(i,e):JL(i,e,n);return jL.bind(null,n,e,r)}function ZL(n,e){return(t=()=>{},{scope:i={},params:r=[]}={})=>{let s=e.apply(K8([i,...n]),r);v7(t,s)}}var cc={};function QL(n,e){if(cc[n])return cc[n];let t=Object.getPrototypeOf(async function(){}).constructor,i=/^[\n\s]*if.*\(.*\)/.test(n.trim())||/^(let|const)\s/.test(n.trim())?`(async()=>{ ${n} })()`:n,s=(()=>{try{let a=new t(["__self","scope"],`with (scope) { __self.result = ${i} }; __self.finished = true; return __self.result;`);return Object.defineProperty(a,"name",{value:`[Alpine] ${n}`}),a}catch(a){return J6(a,e,n),Promise.resolve()}})();return cc[n]=s,s}function JL(n,e,t){let i=QL(e,t);return(r=()=>{},{scope:s={},params:a=[]}={})=>{i.result=void 0,i.finished=!1;let o=K8([s,...n]);if(typeof i=="function"){let l=i(i,o).catch(u=>J6(u,t,e));i.finished?(v7(r,i.result,o,a,t),i.result=void 0):l.then(u=>{v7(r,u,o,a,t)}).catch(u=>J6(u,t,e)).finally(()=>i.result=void 0)}}}function v7(n,e,t,i,r){if(r7&&typeof e=="function"){let s=e.apply(t,i);s instanceof Promise?s.then(a=>v7(n,a,t,i)).catch(a=>J6(a,r,e)):n(s)}else typeof e=="object"&&e instanceof Promise?e.then(s=>n(s)):n(e)}var ad="x-";function S4(n=""){return ad+n}function eD(n){ad=n}var O7={};function ni(n,e){return O7[n]=e,{before(t){if(!O7[t]){console.warn(String.raw`Cannot find directive \`${t}\`. \`${n}\` will use the default order of execution`);return}const i=Gs.indexOf(t);Gs.splice(i>=0?i:Gs.indexOf("DEFAULT"),0,n)}}}function tD(n){return Object.keys(O7).includes(n)}function od(n,e,t){if(e=Array.from(e),n._x_virtualDirectives){let s=Object.entries(n._x_virtualDirectives).map(([o,l])=>({name:o,value:l})),a=eS(s);s=s.map(o=>a.find(l=>l.name===o.name)?{name:`x-bind:${o.name}`,value:`"${o.value}"`}:o),e=e.concat(s)}let i={};return e.map(sS((s,a)=>i[s]=a)).filter(oS).map(rD(i,t)).sort(sD).map(s=>iD(n,s))}function eS(n){return Array.from(n).map(sS()).filter(e=>!oS(e))}var ch=!1,N6=new Map,tS=Symbol();function nD(n){ch=!0;let e=Symbol();tS=e,N6.set(e,[]);let t=()=>{for(;N6.get(e).length;)N6.get(e).shift()();N6.delete(e)},i=()=>{ch=!1,t()};n(t),i()}function nS(n){let e=[],t=o=>e.push(o),[i,r]=FL(n);return e.push(r),[{Alpine:Y8,effect:i,cleanup:t,evaluateLater:ar.bind(ar,n),evaluate:Ys.bind(Ys,n)},()=>e.forEach(o=>o())]}function iD(n,e){let t=()=>{},i=O7[e.type]||t,[r,s]=nS(n);Wx(n,e.original,s);let a=()=>{n._x_ignore||n._x_ignoreSelf||(i.inline&&i.inline(n,e,r),i=i.bind(i,n,e,r),ch?N6.get(tS).push(i):i())};return a.runCleanups=s,a}var iS=(n,e)=>({name:t,value:i})=>(t.startsWith(n)&&(t=t.replace(n,e)),{name:t,value:i}),rS=n=>n;function sS(n=()=>{}){return({name:e,value:t})=>{let{name:i,value:r}=aS.reduce((s,a)=>a(s),{name:e,value:t});return i!==e&&n(i,e),{name:i,value:r}}}var aS=[];function ld(n){aS.push(n)}function oS({name:n}){return lS().test(n)}var lS=()=>new RegExp(`^${ad}([^:^.]+)\\b`);function rD(n,e){return({name:t,value:i})=>{let r=t.match(lS()),s=t.match(/:([a-zA-Z0-9\-_:]+)/),a=t.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],o=e||n[t]||t;return{type:r?r[1]:null,value:s?s[1]:null,modifiers:a.map(l=>l.replace(".","")),expression:i,original:o}}}var Ah="DEFAULT",Gs=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",Ah,"teleport"];function sD(n,e){let t=Gs.indexOf(n.type)===-1?Ah:n.type,i=Gs.indexOf(e.type)===-1?Ah:e.type;return Gs.indexOf(t)-Gs.indexOf(i)}function B6(n,e,t={}){n.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:!0}))}function aa(n,e){if(typeof ShadowRoot=="function"&&n instanceof ShadowRoot){Array.from(n.children).forEach(r=>aa(r,e));return}let t=!1;if(e(n,()=>t=!0),t)return;let i=n.firstElementChild;for(;i;)aa(i,e),i=i.nextElementSibling}function l0(n,...e){console.warn(`Alpine Warning: ${n}`,...e)}var H_=!1;function aD(){H_&&l0("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),H_=!0,document.body||l0("Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?"),B6(document,"alpine:init"),B6(document,"alpine:initializing"),id(),GL(e=>Z2(e,aa)),ed(e=>N4(e)),zx((e,t)=>{od(e,t).forEach(i=>i())});let n=e=>!L9(e.parentElement,!0);Array.from(document.querySelectorAll(AS().join(","))).filter(n).forEach(e=>{Z2(e)}),B6(document,"alpine:initialized"),setTimeout(()=>{cD()})}var ud=[],uS=[];function cS(){return ud.map(n=>n())}function AS(){return ud.concat(uS).map(n=>n())}function hS(n){ud.push(n)}function fS(n){uS.push(n)}function L9(n,e=!1){return y4(n,t=>{if((e?AS():cS()).some(r=>t.matches(r)))return!0})}function y4(n,e){if(n){if(e(n))return n;if(n._x_teleportBack&&(n=n._x_teleportBack),!!n.parentElement)return y4(n.parentElement,e)}}function oD(n){return cS().some(e=>n.matches(e))}var dS=[];function lD(n){dS.push(n)}var uD=1;function Z2(n,e=aa,t=()=>{}){y4(n,i=>i._x_ignore)||nD(()=>{e(n,(i,r)=>{i._x_marker||(t(i,r),dS.forEach(s=>s(i,r)),od(i,i.attributes).forEach(s=>s()),i._x_ignore||(i._x_marker=uD++),i._x_ignore&&r())})})}function N4(n,e=aa){e(n,t=>{VL(t),Hx(t),delete t._x_marker})}function cD(){[["ui","dialog",["[x-dialog], [x-popover]"]],["anchor","anchor",["[x-anchor]"]],["sort","sort",["[x-sort]"]]].forEach(([e,t,i])=>{tD(t)||i.some(r=>{if(document.querySelector(r))return l0(`found "${r}", but missing ${e} plugin`),!0})})}var hh=[],cd=!1;function Ad(n=()=>{}){return queueMicrotask(()=>{cd||setTimeout(()=>{fh()})}),new Promise(e=>{hh.push(()=>{n(),e()})})}function fh(){for(cd=!1;hh.length;)hh.shift()()}function AD(){cd=!0}function hd(n,e){return Array.isArray(e)?K_(n,e.join(" ")):typeof e=="object"&&e!==null?hD(n,e):typeof e=="function"?hd(n,e()):K_(n,e)}function K_(n,e){let t=r=>r.split(" ").filter(s=>!n.classList.contains(s)).filter(Boolean),i=r=>(n.classList.add(...r),()=>{n.classList.remove(...r)});return e=e===!0?e="":e||"",i(t(e))}function hD(n,e){let t=o=>o.split(" ").filter(Boolean),i=Object.entries(e).flatMap(([o,l])=>l?t(o):!1).filter(Boolean),r=Object.entries(e).flatMap(([o,l])=>l?!1:t(o)).filter(Boolean),s=[],a=[];return r.forEach(o=>{n.classList.contains(o)&&(n.classList.remove(o),a.push(o))}),i.forEach(o=>{n.classList.contains(o)||(n.classList.add(o),s.push(o))}),()=>{a.forEach(o=>n.classList.add(o)),s.forEach(o=>n.classList.remove(o))}}function D9(n,e){return typeof e=="object"&&e!==null?fD(n,e):dD(n,e)}function fD(n,e){let t={};return Object.entries(e).forEach(([i,r])=>{t[i]=n.style[i],i.startsWith("--")||(i=qD(i)),n.style.setProperty(i,r)}),setTimeout(()=>{n.style.length===0&&n.removeAttribute("style")}),()=>{D9(n,t)}}function dD(n,e){let t=n.getAttribute("style",e);return n.setAttribute("style",e),()=>{n.setAttribute("style",t||"")}}function qD(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function dh(n,e=()=>{}){let t=!1;return function(){t?e.apply(this,arguments):(t=!0,n.apply(this,arguments))}}ni("transition",(n,{value:e,modifiers:t,expression:i},{evaluate:r})=>{typeof i=="function"&&(i=r(i)),i!==!1&&(!i||typeof i=="boolean"?_D(n,t,e):pD(n,i,e))});function pD(n,e,t){qS(n,hd,""),{enter:r=>{n._x_transition.enter.during=r},"enter-start":r=>{n._x_transition.enter.start=r},"enter-end":r=>{n._x_transition.enter.end=r},leave:r=>{n._x_transition.leave.during=r},"leave-start":r=>{n._x_transition.leave.start=r},"leave-end":r=>{n._x_transition.leave.end=r}}[t](e)}function _D(n,e,t){qS(n,D9);let i=!e.includes("in")&&!e.includes("out")&&!t,r=i||e.includes("in")||["enter"].includes(t),s=i||e.includes("out")||["leave"].includes(t);e.includes("in")&&!i&&(e=e.filter((S,R)=>R<e.indexOf("out"))),e.includes("out")&&!i&&(e=e.filter((S,R)=>R>e.indexOf("out")));let a=!e.includes("opacity")&&!e.includes("scale"),o=a||e.includes("opacity"),l=a||e.includes("scale"),u=o?0:1,d=l?Y4(e,"scale",95)/100:1,q=Y4(e,"delay",0)/1e3,_=Y4(e,"origin","center"),g="opacity, transform",M=Y4(e,"duration",150)/1e3,N=Y4(e,"duration",75)/1e3,y="cubic-bezier(0.4, 0.0, 0.2, 1)";r&&(n._x_transition.enter.during={transformOrigin:_,transitionDelay:`${q}s`,transitionProperty:g,transitionDuration:`${M}s`,transitionTimingFunction:y},n._x_transition.enter.start={opacity:u,transform:`scale(${d})`},n._x_transition.enter.end={opacity:1,transform:"scale(1)"}),s&&(n._x_transition.leave.during={transformOrigin:_,transitionDelay:`${q}s`,transitionProperty:g,transitionDuration:`${N}s`,transitionTimingFunction:y},n._x_transition.leave.start={opacity:1,transform:"scale(1)"},n._x_transition.leave.end={opacity:u,transform:`scale(${d})`})}function qS(n,e,t={}){n._x_transition||(n._x_transition={enter:{during:t,start:t,end:t},leave:{during:t,start:t,end:t},in(i=()=>{},r=()=>{}){qh(n,e,{during:this.enter.during,start:this.enter.start,end:this.enter.end},i,r)},out(i=()=>{},r=()=>{}){qh(n,e,{during:this.leave.during,start:this.leave.start,end:this.leave.end},i,r)}})}window.Element.prototype._x_toggleAndCascadeWithTransitions=function(n,e,t,i){const r=document.visibilityState==="visible"?requestAnimationFrame:setTimeout;let s=()=>r(t);if(e){n._x_transition&&(n._x_transition.enter||n._x_transition.leave)?n._x_transition.enter&&(Object.entries(n._x_transition.enter.during).length||Object.entries(n._x_transition.enter.start).length||Object.entries(n._x_transition.enter.end).length)?n._x_transition.in(t):s():n._x_transition?n._x_transition.in(t):s();return}n._x_hidePromise=n._x_transition?new Promise((a,o)=>{n._x_transition.out(()=>{},()=>a(i)),n._x_transitioning&&n._x_transitioning.beforeCancel(()=>o({isFromCancelledTransition:!0}))}):Promise.resolve(i),queueMicrotask(()=>{let a=pS(n);a?(a._x_hideChildren||(a._x_hideChildren=[]),a._x_hideChildren.push(n)):r(()=>{let o=l=>{let u=Promise.all([l._x_hidePromise,...(l._x_hideChildren||[]).map(o)]).then(([d])=>d==null?void 0:d());return delete l._x_hidePromise,delete l._x_hideChildren,u};o(n).catch(l=>{if(!l.isFromCancelledTransition)throw l})})})};function pS(n){let e=n.parentNode;if(e)return e._x_hidePromise?e:pS(e)}function qh(n,e,{during:t,start:i,end:r}={},s=()=>{},a=()=>{}){if(n._x_transitioning&&n._x_transitioning.cancel(),Object.keys(t).length===0&&Object.keys(i).length===0&&Object.keys(r).length===0){s(),a();return}let o,l,u;mD(n,{start(){o=e(n,i)},during(){l=e(n,t)},before:s,end(){o(),u=e(n,r)},after:a,cleanup(){l(),u()}})}function mD(n,e){let t,i,r,s=dh(()=>{Pn(()=>{t=!0,i||e.before(),r||(e.end(),fh()),e.after(),n.isConnected&&e.cleanup(),delete n._x_transitioning})});n._x_transitioning={beforeCancels:[],beforeCancel(a){this.beforeCancels.push(a)},cancel:dh(function(){for(;this.beforeCancels.length;)this.beforeCancels.shift()();s()}),finish:s},Pn(()=>{e.start(),e.during()}),AD(),requestAnimationFrame(()=>{if(t)return;let a=Number(getComputedStyle(n).transitionDuration.replace(/,.*/,"").replace("s",""))*1e3,o=Number(getComputedStyle(n).transitionDelay.replace(/,.*/,"").replace("s",""))*1e3;a===0&&(a=Number(getComputedStyle(n).animationDuration.replace("s",""))*1e3),Pn(()=>{e.before()}),i=!0,requestAnimationFrame(()=>{t||(Pn(()=>{e.end()}),fh(),setTimeout(n._x_transitioning.finish,a+o),r=!0)})})}function Y4(n,e,t){if(n.indexOf(e)===-1)return t;const i=n[n.indexOf(e)+1];if(!i||e==="scale"&&isNaN(i))return t;if(e==="duration"||e==="delay"){let r=i.match(/([0-9]+)ms/);if(r)return r[1]}return e==="origin"&&["top","right","left","center","bottom"].includes(n[n.indexOf(e)+2])?[i,n[n.indexOf(e)+2]].join(" "):i}var H3=!1;function Z3(n,e=()=>{}){return(...t)=>H3?e(...t):n(...t)}function gD(n){return(...e)=>H3&&n(...e)}var _S=[];function C9(n){_S.push(n)}function ED(n,e){_S.forEach(t=>t(n,e)),H3=!0,mS(()=>{Z2(e,(t,i)=>{i(t,()=>{})})}),H3=!1}var ph=!1;function MD(n,e){e._x_dataStack||(e._x_dataStack=n._x_dataStack),H3=!0,ph=!0,mS(()=>{xD(e)}),H3=!1,ph=!1}function xD(n){let e=!1;Z2(n,(i,r)=>{aa(i,(s,a)=>{if(e&&oD(s))return a();e=!0,r(s,a)})})}function mS(n){let e=_a;W_((t,i)=>{let r=e(t);return x4(r),()=>{}}),n(),W_(e)}function gS(n,e,t,i=[]){switch(n._x_bindings||(n._x_bindings=M4({})),n._x_bindings[e]=t,e=i.includes("camel")?bD(e):e,e){case"value":SD(n,t);break;case"style":ND(n,t);break;case"class":yD(n,t);break;case"selected":case"checked":vD(n,e,t);break;default:ES(n,e,t);break}}function SD(n,e){if(SS(n))n.attributes.value===void 0&&(n.value=e),window.fromModel&&(typeof e=="boolean"?n.checked=s7(n.value)===e:n.checked=Y_(n.value,e));else if(fd(n))Number.isInteger(e)?n.value=e:!Array.isArray(e)&&typeof e!="boolean"&&![null,void 0].includes(e)?n.value=String(e):Array.isArray(e)?n.checked=e.some(t=>Y_(t,n.value)):n.checked=!!e;else if(n.tagName==="SELECT")RD(n,e);else{if(n.value===e)return;n.value=e===void 0?"":e}}function yD(n,e){n._x_undoAddedClasses&&n._x_undoAddedClasses(),n._x_undoAddedClasses=hd(n,e)}function ND(n,e){n._x_undoAddedStyles&&n._x_undoAddedStyles(),n._x_undoAddedStyles=D9(n,e)}function vD(n,e,t){ES(n,e,t),TD(n,e,t)}function ES(n,e,t){[null,void 0,!1].includes(t)&&PD(e)?n.removeAttribute(e):(MS(e)&&(t=e),OD(n,e,t))}function OD(n,e,t){n.getAttribute(e)!=t&&n.setAttribute(e,t)}function TD(n,e,t){n[e]!==t&&(n[e]=t)}function RD(n,e){const t=[].concat(e).map(i=>i+"");Array.from(n.options).forEach(i=>{i.selected=t.includes(i.value)})}function bD(n){return n.toLowerCase().replace(/-(\w)/g,(e,t)=>t.toUpperCase())}function Y_(n,e){return n==e}function s7(n){return[1,"1","true","on","yes",!0].includes(n)?!0:[0,"0","false","off","no",!1].includes(n)?!1:n?!!n:null}var ID=new Set(["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","shadowrootclonable","shadowrootdelegatesfocus","shadowrootserializable"]);function MS(n){return ID.has(n)}function PD(n){return!["aria-pressed","aria-checked","aria-expanded","aria-selected"].includes(n)}function LD(n,e,t){return n._x_bindings&&n._x_bindings[e]!==void 0?n._x_bindings[e]:xS(n,e,t)}function DD(n,e,t,i=!0){if(n._x_bindings&&n._x_bindings[e]!==void 0)return n._x_bindings[e];if(n._x_inlineBindings&&n._x_inlineBindings[e]!==void 0){let r=n._x_inlineBindings[e];return r.extract=i,Zx(()=>Ys(n,r.expression))}return xS(n,e,t)}function xS(n,e,t){let i=n.getAttribute(e);return i===null?typeof t=="function"?t():t:i===""?!0:MS(e)?!![e,"true"].includes(i):i}function fd(n){return n.type==="checkbox"||n.localName==="ui-checkbox"||n.localName==="ui-switch"}function SS(n){return n.type==="radio"||n.localName==="ui-radio"}function yS(n,e){var t;return function(){var i=this,r=arguments,s=function(){t=null,n.apply(i,r)};clearTimeout(t),t=setTimeout(s,e)}}function NS(n,e){let t;return function(){let i=this,r=arguments;t||(n.apply(i,r),t=!0,setTimeout(()=>t=!1,e))}}function vS({get:n,set:e},{get:t,set:i}){let r=!0,s,a=_a(()=>{let o=n(),l=t();if(r)i(Ac(o)),r=!1;else{let u=JSON.stringify(o),d=JSON.stringify(l);u!==s?i(Ac(o)):u!==d&&e(Ac(l))}s=JSON.stringify(n()),JSON.stringify(t())});return()=>{x4(a)}}function Ac(n){return typeof n=="object"?JSON.parse(JSON.stringify(n)):n}function CD(n){(Array.isArray(n)?n:[n]).forEach(t=>t(Y8))}var Ts={},$_=!1;function wD(n,e){if($_||(Ts=M4(Ts),$_=!0),e===void 0)return Ts[n];Ts[n]=e,$x(Ts[n]),typeof e=="object"&&e!==null&&e.hasOwnProperty("init")&&typeof e.init=="function"&&Ts[n].init()}function BD(){return Ts}var OS={};function UD(n,e){let t=typeof e!="function"?()=>e:e;return n instanceof Element?TS(n,t()):(OS[n]=t,()=>{})}
5function FD(n){return Object.entries(OS).forEach(([e,t])=>{Object.defineProperty(n,e,{get(){return(...i)=>t(...i)}})}),n}function TS(n,e,t){let i=[];for(;i.length;)i.pop()();let r=Object.entries(e).map(([a,o])=>({name:a,value:o})),s=eS(r);return r=r.map(a=>s.find(o=>o.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),od(n,r,t).map(a=>{i.push(a.runCleanups),a()}),()=>{for(;i.length;)i.pop()()}}var RS={};function GD(n,e){RS[n]=e}function VD(n,e){return Object.entries(RS).forEach(([t,i])=>{Object.defineProperty(n,t,{get(){return(...r)=>i.bind(e)(...r)},enumerable:!1})}),n}var kD={get reactive(){return M4},get release(){return x4},get effect(){return _a},get raw(){return Ux},version:"3.14.9",flushAndStopDeferringMutations:WL,dontAutoEvaluateFunctions:Zx,disableEffectScheduling:BL,startObservingMutations:id,stopObservingMutations:Kx,setReactivityEngine:UL,onAttributeRemoved:Wx,onAttributesAdded:zx,closestDataStack:Do,skipDuringClone:Z3,onlyDuringClone:gD,addRootSelector:hS,addInitSelector:fS,interceptClone:C9,addScopeToNode:H8,deferMutations:zL,mapAttributes:ld,evaluateLater:ar,interceptInit:lD,setEvaluator:XL,mergeProxies:K8,extractProp:DD,findClosest:y4,onElRemoved:ed,closestRoot:L9,destroyTree:N4,interceptor:jx,transition:qh,setStyles:D9,mutateDom:Pn,directive:ni,entangle:vS,throttle:NS,debounce:yS,evaluate:Ys,initTree:Z2,nextTick:Ad,prefixed:S4,prefix:eD,plugin:CD,magic:G0,store:wD,start:aD,clone:MD,cloneNode:ED,bound:LD,$data:Yx,watch:Fx,walk:aa,data:GD,bind:UD},Y8=kD;function zD(n,e){const t=Object.create(null),i=n.split(",");for(let r=0;r<i.length;r++)t[i[r]]=!0;return r=>!!t[r]}var WD=Object.freeze({}),HD=Object.prototype.hasOwnProperty,w9=(n,e)=>HD.call(n,e),$s=Array.isArray,U6=n=>bS(n)==="[object Map]",KD=n=>typeof n=="string",dd=n=>typeof n=="symbol",B9=n=>n!==null&&typeof n=="object",YD=Object.prototype.toString,bS=n=>YD.call(n),IS=n=>bS(n).slice(8,-1),qd=n=>KD(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,$D=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},jD=$D(n=>n.charAt(0).toUpperCase()+n.slice(1)),PS=(n,e)=>n!==e&&(n===n||e===e),_h=new WeakMap,$4=[],J0,js=Symbol("iterate"),mh=Symbol("Map key iterate");function XD(n){return n&&n._isEffect===!0}function ZD(n,e=WD){XD(n)&&(n=n.raw);const t=eC(n,e);return e.lazy||t(),t}function QD(n){n.active&&(LS(n),n.options.onStop&&n.options.onStop(),n.active=!1)}var JD=0;function eC(n,e){const t=function(){if(!t.active)return n();if(!$4.includes(t)){LS(t);try{return nC(),$4.push(t),J0=t,n()}finally{$4.pop(),DS(),J0=$4[$4.length-1]}}};return t.id=JD++,t.allowRecurse=!!e.allowRecurse,t._isEffect=!0,t.active=!0,t.raw=n,t.deps=[],t.options=e,t}function LS(n){const{deps:e}=n;if(e.length){for(let t=0;t<e.length;t++)e[t].delete(n);e.length=0}}var Co=!0,pd=[];function tC(){pd.push(Co),Co=!1}function nC(){pd.push(Co),Co=!0}function DS(){const n=pd.pop();Co=n===void 0?!0:n}function w0(n,e,t){if(!Co||J0===void 0)return;let i=_h.get(n);i||_h.set(n,i=new Map);let r=i.get(t);r||i.set(t,r=new Set),r.has(J0)||(r.add(J0),J0.deps.push(r),J0.options.onTrack&&J0.options.onTrack({effect:J0,target:n,type:e,key:t}))}function K3(n,e,t,i,r,s){const a=_h.get(n);if(!a)return;const o=new Set,l=d=>{d&&d.forEach(q=>{(q!==J0||q.allowRecurse)&&o.add(q)})};
5if(e==="clear")a.forEach(l);else if(t==="length"&&$s(n))a.forEach((d,q)=>{(q==="length"||q>=i)&&l(d)});else switch(t!==void 0&&l(a.get(t)),e){case"add":$s(n)?qd(t)&&l(a.get("length")):(l(a.get(js)),U6(n)&&l(a.get(mh)));break;case"delete":$s(n)||(l(a.get(js)),U6(n)&&l(a.get(mh)));break;case"set":U6(n)&&l(a.get(js));break}const u=d=>{d.options.onTrigger&&d.options.onTrigger({effect:d,target:n,key:t,type:e,newValue:i,oldValue:r,oldTarget:s}),d.options.scheduler?d.options.scheduler(d):d()};o.forEach(u)}var iC=zD("__proto__,__v_isRef,__isVue"),CS=new Set(Object.getOwnPropertyNames(Symbol).map(n=>Symbol[n]).filter(dd)),rC=wS(),sC=wS(!0),j_=aC();function aC(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...t){const i=gn(this);for(let s=0,a=this.length;s<a;s++)w0(i,"get",s+"");const r=i[e](...t);return r===-1||r===!1?i[e](...t.map(gn)):r}}),["push","pop","shift","unshift","splice"].forEach(e=>{n[e]=function(...t){tC();const i=gn(this)[e].apply(this,t);return DS(),i}}),n}function wS(n=!1,e=!1){return function(i,r,s){if(r==="__v_isReactive")return!n;if(r==="__v_isReadonly")return n;if(r==="__v_raw"&&s===(n?e?EC:GS:e?gC:FS).get(i))return i;const a=$s(i);if(!n&&a&&w9(j_,r))return Reflect.get(j_,r,s);const o=Reflect.get(i,r,s);return(dd(r)?CS.has(r):iC(r))||(n||w0(i,"get",r),e)?o:gh(o)?!a||!qd(r)?o.value:o:B9(o)?n?VS(o):Ed(o):o}}var oC=lC();function lC(n=!1){return function(t,i,r,s){let a=t[i];if(!n&&(r=gn(r),a=gn(a),!$s(t)&&gh(a)&&!gh(r)))return a.value=r,!0;const o=$s(t)&&qd(i)?Number(i)<t.length:w9(t,i),l=Reflect.set(t,i,r,s);return t===gn(s)&&(o?PS(r,a)&&K3(t,"set",i,r,a):K3(t,"add",i,r)),l}}function uC(n,e){const t=w9(n,e),i=n[e],r=Reflect.deleteProperty(n,e);return r&&t&&K3(n,"delete",e,void 0,i),r}function cC(n,e){const t=Reflect.has(n,e);return(!dd(e)||!CS.has(e))&&w0(n,"has",e),t}function AC(n){return w0(n,"iterate",$s(n)?"length":js),Reflect.ownKeys(n)}var hC={get:rC,set:oC,deleteProperty:uC,has:cC,ownKeys:AC},fC={get:sC,set(n,e){return console.warn(`Set operation on key "${String(e)}" failed: target is readonly.`,n),!0},deleteProperty(n,e){return console.warn(`Delete operation on key "${String(e)}" failed: target is readonly.`,n),!0}},_d=n=>B9(n)?Ed(n):n,md=n=>B9(n)?VS(n):n,gd=n=>n,U9=n=>Reflect.getPrototypeOf(n);function b5(n,e,t=!1,i=!1){n=n.__v_raw;const r=gn(n),s=gn(e);e!==s&&!t&&w0(r,"get",e),!t&&w0(r,"get",s);const{has:a}=U9(r),o=i?gd:t?md:_d;if(a.call(r,e))return o(n.get(e));if(a.call(r,s))return o(n.get(s));n!==r&&n.get(e)}function I5(n,e=!1){const t=this.__v_raw,i=gn(t),r=gn(n);return n!==r&&!e&&w0(i,"has",n),!e&&w0(i,"has",r),n===r?t.has(n):t.has(n)||t.has(r)}function P5(n,e=!1){return n=n.__v_raw,!e&&w0(gn(n),"iterate",js),Reflect.get(n,"size",n)}function X_(n){n=gn(n);const e=gn(this);return U9(e).has.call(e,n)||(e.add(n),K3(e,"add",n,n)),this}function Z_(n,e){e=gn(e);const t=gn(this),{has:i,get:r}=U9(t);let s=i.call(t,n);s?US(t,i,n):(n=gn(n),s=i.call(t,n));const a=r.call(t,n);return t.set(n,e),s?PS(e,a)&&K3(t,"set",n,e,a):K3(t,"add",n,e),this}function Q_(n){const e=gn(this),{has:t,get:i}=U9(e);let r=t.call(e,n);r?US(e,t,n):(n=gn(n),r=t.call(e,n));const s=i?i.call(e,n):void 0,a=e.delete(n);return r&&K3(e,"delete",n,void 0,s),a}function J_(){const n=gn(this),e=n.size!==0,t=U6(n)?new Map(n):new Set(n),i=n.clear();return e&&K3(n,"clear",void 0,void 0,t),i}function L5(n,e){return function(i,r){const s=this,a=s.__v_raw,o=gn(a),l=e?gd:n?md:_d;return!n&&w0(o,"iterate",js),a.forEach((u,d)=>i.call(r,l(u),l(d),s))}}function D5(n,e,t){return function(...i){const r=this.__v_raw,s=gn(r),a=U6(s),o=n==="entries"||n===Symbol.iterator&&a,l=n==="keys"&&a,u=r[n](...i),d=t?gd:e?md:_d;return!e&&w0(s,"iterate",l?mh:js),{next(){const{value:q,done:_}=u.next();return _?{value:q,done:_}:{value:o?[d(q[0]),d(q[1])]:d(q),done:_}},[Symbol.iterator](){return this}}}}function m3(n){return function(...e){{const t=e[0]?`on key "${e[0]}" `:"";console.warn(`${jD(n)} operation ${t}failed: target is readonly.`,gn(this))}return n==="delete"?!1:this}}function dC(){const n={get(s){return b5(this,s)},get size(){return P5(this)},has:I5,add:X_,set:Z_,delete:Q_,clear:J_,forEach:L5(!1,!1)},e={get(s){return b5(this,s,!1,!0)},get size(){return P5(this)},has:I5,add:X_,set:Z_,delete:Q_,clear:J_,forEach:L5(!1,!0)},t={get(s){return b5(this,s,!0)},get size(){return P5(this,!0)},has(s){return I5.call(this,s,!0)},add:m3("add"),set:m3("set"),delete:m3("delete"),clear:m3("clear"),forEach:L5(!0,!1)},i={get(s){return b5(this,s,!0,!0)},get size(){return P5(this,!0)},has(s){return I5.call(this,s,!0)},add:m3("add"),set:m3("set"),delete:m3("delete"),clear:m3("clear"),forEach:L5(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>
5{n[s]=D5(s,!1,!1),t[s]=D5(s,!0,!1),e[s]=D5(s,!1,!0),i[s]=D5(s,!0,!0)}),[n,t,e,i]}var[qC,pC,F4e,G4e]=dC();function BS(n,e){const t=n?pC:qC;return(i,r,s)=>r==="__v_isReactive"?!n:r==="__v_isReadonly"?n:r==="__v_raw"?i:Reflect.get(w9(t,r)&&r in i?t:i,r,s)}var _C={get:BS(!1)},mC={get:BS(!0)};function US(n,e,t){const i=gn(t);if(i!==t&&e.call(n,i)){const r=IS(n);console.warn(`Reactive ${r} contains both the raw and reactive versions of the same object${r==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var FS=new WeakMap,gC=new WeakMap,GS=new WeakMap,EC=new WeakMap;function MC(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function xC(n){return n.__v_skip||!Object.isExtensible(n)?0:MC(IS(n))}function Ed(n){return n&&n.__v_isReadonly?n:kS(n,!1,hC,_C,FS)}function VS(n){return kS(n,!0,fC,mC,GS)}function kS(n,e,t,i,r){if(!B9(n))return console.warn(`value cannot be made reactive: ${String(n)}`),n;if(n.__v_raw&&!(e&&n.__v_isReactive))return n;const s=r.get(n);if(s)return s;const a=xC(n);if(a===0)return n;const o=new Proxy(n,a===2?i:t);return r.set(n,o),o}function gn(n){return n&&gn(n.__v_raw)||n}function gh(n){return!!(n&&n.__v_isRef===!0)}G0("nextTick",()=>Ad);G0("dispatch",n=>B6.bind(B6,n));G0("watch",(n,{evaluateLater:e,cleanup:t})=>(i,r)=>{let s=e(i),o=Fx(()=>{let l;return s(u=>l=u),l},r);t(o)});G0("store",BD);G0("data",n=>Yx(n));G0("root",n=>L9(n));G0("refs",n=>(n._x_refs_proxy||(n._x_refs_proxy=K8(SC(n))),n._x_refs_proxy));function SC(n){let e=[];return y4(n,t=>{t._x_refs&&e.push(t._x_refs)}),e}var hc={};function zS(n){return hc[n]||(hc[n]=0),++hc[n]}function yC(n,e){return y4(n,t=>{if(t._x_ids&&t._x_ids[e])return!0})}function NC(n,e){n._x_ids||(n._x_ids={}),n._x_ids[e]||(n._x_ids[e]=zS(e))}G0("id",(n,{cleanup:e})=>(t,i=null)=>{let r=`${t}${i?`-${i}`:""}`;return vC(n,r,e,()=>{let s=yC(n,t),a=s?s._x_ids[t]:zS(t);return i?`${t}-${a}-${i}`:`${t}-${a}`})});C9((n,e)=>{n._x_id&&(e._x_id=n._x_id)});function vC(n,e,t,i){if(n._x_id||(n._x_id={}),n._x_id[e])return n._x_id[e];let r=i();return n._x_id[e]=r,t(()=>{delete n._x_id[e]}),r}G0("el",n=>n);WS("Focus","focus","focus");WS("Persist","persist","persist");function WS(n,e,t){G0(e,i=>l0(`You can't use [$${e}] without first installing the "${n}" plugin here: https://alpinejs.dev/plugins/${t}`,i))}ni("modelable",(n,{expression:e},{effect:t,evaluateLater:i,cleanup:r})=>{let s=i(e),a=()=>{let d;return s(q=>d=q),d},o=i(`${e} = __placeholder`),l=d=>o(()=>{},{scope:{__placeholder:d}}),u=a();l(u),queueMicrotask(()=>{if(!n._x_model)return;n._x_removeModelListeners.default();let d=n._x_model.get,q=n._x_model.set,_=vS({get(){return d()},set(g){q(g)}},{get(){return a()},set(g){l(g)}});r(_)})});ni("teleport",(n,{modifiers:e,expression:t},{cleanup:i})=>{n.tagName.toLowerCase()!=="template"&&l0("x-teleport can only be used on a <template> tag",n);let r=em(t),s=n.content.cloneNode(!0).firstElementChild;n._x_teleport=s,s._x_teleportBack=n,n.setAttribute("data-teleport-template",!0),s.setAttribute("data-teleport-target",!0),n._x_forwardEvents&&n._x_forwardEvents.forEach(o=>{s.addEventListener(o,l=>{l.stopPropagation(),n.dispatchEvent(new l.constructor(l.type,l))})}),H8(s,{},n);let a=(o,l,u)=>{u.includes("prepend")?l.parentNode.insertBefore(o,l):u.includes("append")?l.parentNode.insertBefore(o,l.nextSibling):l.appendChild(o)};Pn(()=>{a(s,r,e),Z3(()=>{Z2(s)})()}),n._x_teleportPutBack=()=>{let o=em(t);Pn(()=>{a(n._x_teleport,o,e)})},i(()=>Pn(()=>{s.remove(),N4(s)}))});var OC=document.createElement("div");function em(n){let e=Z3(()=>document.querySelector(n),()=>OC)();return e||l0(`Cannot find x-teleport element for selector: "${n}"`),e}var HS=()=>{};HS.inline=(n,{modifiers:e},{cleanup:t})=>{e.includes("self")?n._x_ignoreSelf=!0:n._x_ignore=!0,t(()=>{e.includes("self")?delete n._x_ignoreSelf:delete n._x_ignore})};ni("ignore",HS);ni("effect",Z3((n,{expression:e},{effect:t})=>{t(ar(n,e))}));function Eh(n,e,t,i){let r=n,s=l=>i(l),a={},o=(l,u)=>d=>u(l,d);if(t.includes("dot")&&(e=TC(e)),t.includes("camel")&&(e=RC(e)),t.includes("passive")&&(a.passive=!0),t.includes("capture")&&(a.c
vendor: 5,692 bytes, line 5
5apture=!0),t.includes("window")&&(r=window),t.includes("document")&&(r=document),t.includes("debounce")){let l=t[t.indexOf("debounce")+1]||"invalid-wait",u=T7(l.split("ms")[0])?Number(l.split("ms")[0]):250;s=yS(s,u)}if(t.includes("throttle")){let l=t[t.indexOf("throttle")+1]||"invalid-wait",u=T7(l.split("ms")[0])?Number(l.split("ms")[0]):250;s=NS(s,u)}return t.includes("prevent")&&(s=o(s,(l,u)=>{u.preventDefault(),l(u)})),t.includes("stop")&&(s=o(s,(l,u)=>{u.stopPropagation(),l(u)})),t.includes("once")&&(s=o(s,(l,u)=>{l(u),r.removeEventListener(e,s,a)})),(t.includes("away")||t.includes("outside"))&&(r=document,s=o(s,(l,u)=>{n.contains(u.target)||u.target.isConnected!==!1&&(n.offsetWidth<1&&n.offsetHeight<1||n._x_isShown!==!1&&l(u))})),t.includes("self")&&(s=o(s,(l,u)=>{u.target===n&&l(u)})),(IC(e)||KS(e))&&(s=o(s,(l,u)=>{PC(u,t)||l(u)})),r.addEventListener(e,s,a),()=>{r.removeEventListener(e,s,a)}}function TC(n){return n.replace(/-/g,".")}function RC(n){return n.toLowerCase().replace(/-(\w)/g,(e,t)=>t.toUpperCase())}function T7(n){return!Array.isArray(n)&&!isNaN(n)}function bC(n){return[" ","_"].includes(n)?n:n.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]/,"-").toLowerCase()}function IC(n){return["keydown","keyup"].includes(n)}function KS(n){return["contextmenu","click","mouse"].some(e=>n.includes(e))}function PC(n,e){let t=e.filter(s=>!["window","document","prevent","stop","once","capture","self","away","outside","passive"].includes(s));if(t.includes("debounce")){let s=t.indexOf("debounce");t.splice(s,T7((t[s+1]||"invalid-wait").split("ms")[0])?2:1)}if(t.includes("throttle")){let s=t.indexOf("throttle");t.splice(s,T7((t[s+1]||"invalid-wait").split("ms")[0])?2:1)}if(t.length===0||t.length===1&&tm(n.key).includes(t[0]))return!1;const r=["ctrl","shift","alt","meta","cmd","super"].filter(s=>t.includes(s));return t=t.filter(s=>!r.includes(s)),!(r.length>0&&r.filter(a=>((a==="cmd"||a==="super")&&(a="meta"),n[`${a}Key`])).length===r.length&&(KS(n.type)||tm(n.key).includes(t[0])))}function tm(n){if(!n)return[];n=bC(n);let e={ctrl:"control",slash:"/",space:" ",spacebar:" ",cmd:"meta",esc:"escape",up:"arrow-up",down:"arrow-down",left:"arrow-left",right:"arrow-right",period:".",comma:",",equal:"=",minus:"-",underscore:"_"};return e[n]=n,Object.keys(e).map(t=>{if(e[t]===n)return t}).filter(t=>t)}ni("model",(n,{modifiers:e,expression:t},{effect:i,cleanup:r})=>{let s=n;e.includes("parent")&&(s=n.parentNode);let a=ar(s,t),o;typeof t=="string"?o=ar(s,`${t} = __placeholder`):typeof t=="function"&&typeof t()=="string"?o=ar(s,`${t()} = __placeholder`):o=()=>{};let l=()=>{let _;return a(g=>_=g),nm(_)?_.get():_},u=_=>{let g;a(M=>g=M),nm(g)?g.set(_):o(()=>{},{scope:{__placeholder:_}})};typeof t=="string"&&n.type==="radio"&&Pn(()=>{n.hasAttribute("name")||n.setAttribute("name",t)});var d=n.tagName.toLowerCase()==="select"||["checkbox","radio"].includes(n.type)||e.includes("lazy")?"change":"input";let q=H3?()=>{}:Eh(n,d,e,_=>{u(fc(n,e,_,l()))});if(e.includes("fill")&&([void 0,null,""].includes(l())||fd(n)&&Array.isArray(l())||n.tagName.toLowerCase()==="select"&&n.multiple)&&u(fc(n,e,{target:n},l())),n._x_removeModelListeners||(n._x_removeModelListeners={}),n._x_removeModelListeners.default=q,r(()=>n._x_removeModelListeners.default()),n.form){let _=Eh(n.form,"reset",[],g=>{Ad(()=>n._x_model&&n._x_model.set(fc(n,e,{target:n},l())))});r(()=>_())}n._x_model={get(){return l()},set(_){u(_)}},n._x_forceModelUpdate=_=>{_===void 0&&typeof t=="string"&&t.match(/\./)&&(_=""),window.fromModel=!0,Pn(()=>gS(n,"value",_)),delete window.fromModel},i(()=>{let _=l();e.includes("unintrusive")&&document.activeElement.isSameNode(n)||n._x_forceModelUpdate(_)})});function fc(n,e,t,i){return Pn(()=>{if(t instanceof CustomEvent&&t.detail!==void 0)return t.detail!==null&&t.detail!==void 0?t.detail:t.target.value;if(fd(n))if(Array.isArray(i)){let r=null;return e.includes("number")?r=dc(t.target.value):e.includes("boolean")?r=s7(t.target.value):r=t.target.value,t.target.checked?i.includes(r)?i:i.concat([r]):i.filter(s=>!LC(s,r))}else return t.target.checked;else{if(n.tagName.toLowerCase()==="select"&&n.multiple)return e.includes("number")?Array.from(t.target.selectedOptions).map(r=>{let s=r.value||r.text;return dc(s)}):e.includes("boolean")?Array.from(t.target.selectedOptions).map(r=>{let s=r.value||r.text;return s7(s)}):Array.from(t.target.selectedOptions).map(r=>r.value||r.text);{let r;return SS(n)?t.target.checked?r=t.target.value:r=i:r=t.target.value,e.includes("number")?dc(r):e.includes("boolean")?s7(r):e.includes("trim")?r.trim():r}}})}function dc(n){let e=n?parseFloat(n):null;return DC(e)?e:n}function LC(n,e){return n==e}function DC(n){return!Array.isArray(n)&&!isNaN(n)}function nm(n){return n!==null&&typeof n=="object"&&typeof n.get=="function"&&typeof n.set=="function"}ni("cloak",n=>queueMicrotask(()=>Pn(()=>n.removeAttribute(S4("cloak")))));fS(()=>`[${S4("init")}]`);ni("init",Z3((n,{expression:e},{evaluate:t})=>typeof e=="string"?!!e.trim()&&t(e,{},!1):t(e,{},!1)));ni("text",(n,{expression:e},{effect:t,evaluateLater:i})=>{let r=i(e);t(()=>{r(s=>{Pn(()=>{n.textContent=s})})})});ni("html",(n,{expression:e},{effect:t,evaluateLater:i})=>{let r=i(e);t(()=>{r(s=>{Pn(()=>{n.innerHTML=s,n._x_ignoreSelf=!0,Z2(n),delete n._x_ignoreSelf})})})});ld(iS(":",rS(S4("bind:"))));var YS=(n,{value:e,modifiers:t,expression:i,original:r},{effect:s,cleanup:a})=>{if(!e){let l={};FD(l),ar(n,i)(d=>{TS(n,d,r)},{scope:l});return}if(e==="key")return CC(n,i);if(n._x_inlineBindings&&n._x_inlineBindings[e]&&n._x_inlineBindings[e].extract)return;let o=ar(n,i);s(()=>o(l=>{l===void 0&&typeof i=="string"&&i.match(/\./)&&(l=""),Pn(()=>gS(n,e,l,t))})),a(()=>
5{n._x_undoAddedClasses&&n._x_undoAddedClasses(),n._x_undoAddedStyles&&n._x_undoAddedStyles()})};YS.inline=(n,{value:e,modifiers:t,expression:i})=>{e&&(n._x_inlineBindings||(n._x_inlineBindings={}),n._x_inlineBindings[e]={expression:i,extract:!1})};ni("bind",YS);function CC(n,e){n._x_keyExpression=e}hS(()=>`[${S4("data")}]`);ni("data",(n,{expression:e},{cleanup:t})=>{if(wC(n))return;e=e===""?"{}":e;let i={};uh(i,n);let r={};VD(r,i);let s=Ys(n,e,{scope:r});(s===void 0||s===!0)&&(s={}),uh(s,n);let a=M4(s);$x(a);let o=H8(n,a);a.init&&Ys(n,a.init),t(()=>{a.destroy&&Ys(n,a.destroy),o()})});C9((n,e)=>{n._x_dataStack&&(e._x_dataStack=n._x_dataStack,e.setAttribute("data-has-alpine-state",!0))});function wC(n){return H3?ph?!0:n.hasAttribute("data-has-alpine-state"):!1}ni("show",(n,{modifiers:e,expression:t},{effect:i})=>{let r=ar(n,t);n._x_doHide||(n._x_doHide=()=>{Pn(()=>{n.style.setProperty("display","none",e.includes("important")?"important":void 0)})}),n._x_doShow||(n._x_doShow=()=>{Pn(()=>{n.style.length===1&&n.style.display==="none"?n.removeAttribute("style"):n.style.removeProperty("display")})});let s=()=>{n._x_doHide(),n._x_isShown=!1},a=()=>{n._x_doShow(),n._x_isShown=!0},o=()=>setTimeout(a),l=dh(q=>q?a():s(),q=>{typeof n._x_toggleAndCascadeWithTransitions=="function"?n._x_toggleAndCascadeWithTransitions(n,q,a,s):q?o():s()}),u,d=!0;i(()=>r(q=>{!d&&q===u||(e.includes("immediate")&&(q?o():s()),l(q),u=q,d=!1)}))});ni("for",(n,{expression:e},{effect:t,cleanup:i})=>{let r=UC(e),s=ar(n,r.items),a=ar(n,n._x_keyExpression||"index");n._x_prevKeys=[],n._x_lookup={},t(()=>BC(n,r,s,a)),i(()=>{Object.values(n._x_lookup).forEach(o=>Pn(()=>{N4(o),o.remove()})),delete n._x_prevKeys,delete n._x_lookup})});function BC(n,e,t,i){let r=a=>typeof a=="object"&&!Array.isArray(a),s=n;t(a=>{FC(a)&&a>=0&&(a=Array.from(Array(a).keys(),y=>y+1)),a===void 0&&(a=[]);let o=n._x_lookup,l=n._x_prevKeys,u=[],d=[];if(r(a))a=Object.entries(a).map(([y,S])=>{let R=im(e,S,y,a);i(O=>{d.includes(O)&&l0("Duplicate key on x-for",n),d.push(O)},{scope:{index:y,...R}}),u.push(R)});else for(let y=0;y<a.length;y++){let S=im(e,a[y],y,a);i(R=>{d.includes(R)&&l0("Duplicate key on x-for",n),d.push(R)},{scope:{index:y,...S}}),u.push(S)}let q=[],_=[],g=[],M=[];for(let y=0;y<l.length;y++){let S=l[y];d.indexOf(S)===-1&&g.push(S)}l=l.filter(y=>!g.includes(y));let N="template";for(let y=0;y<d.length;y++){let S=d[y],R=l.indexOf(S);if(R===-1)l.splice(y,0,S),q.push([N,y]);else if(R!==y){let O=l.splice(y,1)[0],b=l.splice(R-1,1)[0];l.splice(y,0,b),l.splice(R,0,O),_.push([O,b])}else M.push(S);N=S}for(let y=0;y<g.length;y++){let S=g[y];S in o&&(Pn(()=>{N4(o[S]),o[S].remove()}),delete o[S])}for(let y=0;y<_.length;y++){let[S,R]=_[y],O=o[S],b=o[R],D=document.createElement("div");Pn(()=>{b||l0('x-for ":key" is undefined or invalid',s,R,o),b.after(D),O.after(b),b._x_currentIfEl&&b.after(b._x_currentIfEl),D.before(O),O._x_currentIfEl&&O.after(O._x_currentIfEl),D.remove()}),b._x_refreshXForScope(u[d.indexOf(R)])}for(let y=0;y<q.length;y++){let[S,R]=q[y],O=S==="template"?s:o[S];O._x_currentIfEl&&(O=O._x_currentIfEl);let b=u[R],D=d[R],B=document.importNode(s.content,!0).firstElementChild,C=M4(b);H8(B,C,s),B._x_refreshXForScope=G=>{Object.entries(G).forEach(([L,P])=>{C[L]=P})},Pn(()=>{O.after(B),Z3(()=>Z2(B))()}),typeof D=="object"&&l0("x-for key cannot be an object, it must be a string or an integer",s),o[D]=B}for(let y=0;y<M.length;y++)o[M[y]]._x_refreshXForScope(u[d.indexOf(M[y])]);s._x_prevKeys=d})}function UC(n){let e=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,t=/^\s*\(|\)\s*$/g,i=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,r=n.match(i);if(!r)return;let s={};s.items=r[2].trim();let a=r[1].replace(t,"").trim(),o=a.match(e);return o?(s.item=a.replace(e,"").trim(),s.index=o[1].trim(),o[2]&&(s.collection=o[2].trim())):s.item=a,s}function im(n,e,t,i){let r={};return/^\[.*\]$/.test(n.item)&&Array.isArray(e)?n.item.replace("[","").replace("]","").split(",").map(a=>a.trim()).forEach((a,o)=>{r[a]=e[o]}):/^\{.*\}$/.test(n.item)&&!Array.isArray(e)&&typeof e=="object"?n.item.replace("{","").replace("}","").split(",").map(a=>
5a.trim()).forEach(a=>{r[a]=e[a]}):r[n.item]=e,n.index&&(r[n.index]=t),n.collection&&(r[n.collection]=i),r}function FC(n){return!Array.isArray(n)&&!isNaN(n)}function $S(){}$S.inline=(n,{expression:e},{cleanup:t})=>{let i=L9(n);i._x_refs||(i._x_refs={}),i._x_refs[e]=n,t(()=>delete i._x_refs[e])};ni("ref",$S);ni("if",(n,{expression:e},{effect:t,cleanup:i})=>{n.tagName.toLowerCase()!=="template"&&l0("x-if can only be used on a <template> tag",n);let r=ar(n,e),s=()=>{if(n._x_currentIfEl)return n._x_currentIfEl;let o=n.content.cloneNode(!0).firstElementChild;return H8(o,{},n),Pn(()=>{n.after(o),Z3(()=>Z2(o))()}),n._x_currentIfEl=o,n._x_undoIf=()=>{Pn(()=>{N4(o),o.remove()}),delete n._x_currentIfEl},o},a=()=>{n._x_undoIf&&(n._x_undoIf(),delete n._x_undoIf)};t(()=>r(o=>{o?s():a()})),i(()=>n._x_undoIf&&n._x_undoIf())});ni("id",(n,{expression:e},{evaluate:t})=>{t(e).forEach(r=>NC(n,r))});C9((n,e)=>{n._x_ids&&(e._x_ids=n._x_ids)});ld(iS("@",rS(S4("on:"))));ni("on",Z3((n,{value:e,modifiers:t,expression:i},{cleanup:r})=>{let s=i?ar(n,i):()=>{};n.tagName.toLowerCase()==="template"&&(n._x_forwardEvents||(n._x_forwardEvents=[]),n._x_forwardEvents.includes(e)||n._x_forwardEvents.push(e));let a=Eh(n,e,t,o=>{s(()=>{},{scope:{$event:o},params:[o]})});r(()=>a())}));F9("Collapse","collapse","collapse");F9("Intersect","intersect","intersect");F9("Focus","trap","focus");F9("Mask","mask","mask");function F9(n,e,t){ni(e,i=>l0(`You can't use [x-${e}] without first installing the "${n}" plugin here: https://alpinejs.dev/plugins/${t}`,i))}Y8.setEvaluator(Jx);Y8.setReactivityEngine({reactive:Ed,effect:ZD,release:QD,raw:gn});var GC=Y8,jS=GC;const VC=[{name:"Togo",cca2:"TG",latlng:[8,1.16666666],flag:"ð¹ð¬",languages:{fra:"French"},population:8278737},{name:"Mayotte",cca2:"YT",latlng:[-12.83333333,45.16666666],flag:"ð¾ð¹",languages:{fra:"French"},population:226915},{name:"Georgia",cca2:"GE",latlng:[42,43.5],flag:"ð¬ðª",languages:{kat:"Georgian"},population:3714e3},{name:"Vanuatu",cca2:"VU",latlng:[-16,167],flag:"ð»ðº",languages:{bis:"Bislama",eng:"English",fra:"French"},population:307150},{name:"Kyrgyzstan",cca2:"KG",latlng:[41,75],flag:"ð°ð¬",languages:{kir:"Kyrgyz",rus:"Russian"},population:6591600},{name:"Niger",cca2:"NE",latlng:[16,8],flag:"ð³ðª",languages:{fra:"French"},population:24206636},{name:"China",cca2:"CN",latlng:[35,105],flag:"ð¨ð³",languages:{zho:"Chinese"},population:1402112e3},{name:"Tuvalu",cca2:"TV",latlng:[-8,178],flag:"ð¹ð»",languages:{eng:"English",tvl:"Tuvaluan"},population:11792},{name:"Comoros",cca2:"KM",latlng:[-12.16666666,44.25],flag:"ð°ð²",languages:{ara:"Arabic",fra:"French",zdj:"Comorian"},population:869595},{name:"Bosnia and Herzegovina",cca2:"BA",latlng:[44,18],flag:"ð§ð¦",languages:{bos:"Bosnian",hrv:"Croatian",srp:"Serbian"},population:3280815},{name:"Bahrain",cca2:"BH",latlng:[26,50.55],flag:"ð§ð",languages:{ara:"Arabic"},population:1701583},{name:"Somalia",cca2:"SO",latlng:[10,49],flag:"ð¸ð´",languages:{ara:"Arabic",som:"Somali"},population:15893219},{name:"Saint Barthélemy",cca2:"BL",latlng:[18.5,-63.41666666],flag:"ð§ð±",languages:{fra:"French"},population:4255},{name:"Latvia",cca2:"LV",latlng:[57,25],flag:"ð±ð»",languages:{lav:"Latvian"},population:1901548},{name:"Cayman Islands",cca2:"KY",latlng:[19.3133,-81.2546],flag:"ð°ð¾",languages:{eng:"English"},population:65720},{name:"Netherlands",cca2:"NL",latlng:[52.5,5.75],flag:"ð³ð±",languages:{nld:"Dutch"},population:16655799},{name:"Lesotho",cca2:"LS",latlng:[-29.5,28.5],flag:"ð±ð¸",languages:{eng:"English",sot:"Sotho"},population:2142252},{name:"Venezuela",cca2:"VE",latlng:[8,-66],flag:"ð»ðª",languages:{spa:"Spanish"},population:28435943},{name:"Kenya",cca2:"KE",latlng:[1,38],flag:"ð°ðª",languages:{eng:"English",swa:"Swahili"},population:53771300},{name:"Turkey",cca2:"TR",latlng:[39,35],flag:"ð¹ð·",languages:{tur:"Turkish"},population:84339067},{name:"Fiji",cca2:"FJ",latlng:[-17.7134,178.065],flag:"ð«ð¯",languages:{eng:"English",fij:"Fijian",hif:"Fiji Hindi"},population:896444},{name:"Trinidad and Tobago",cca2:"TT",latlng:[10.6918,-61.2225],flag:"ð¹ð¹",languages:{eng:"English"},population:1399491},{name:"Honduras",cca2:"HN",latlng:[15,-86.5],flag:"ðð³",languages:{spa:"Spanish"},population:9904608},{name:"Jersey",cca2:"JE",latlng:[49.25,-2.16666666],flag:"ð¯ðª",languages:{eng:"English",fra:"French",nrf:"Jèrriais"},population:100800},{name:"Djibouti",cca2:"DJ",latlng:[11.5,43],flag:"ð©ð¯",languages:{ara:"Arabic",fra:"French"},population:988002},{name:"Réunion",cca2:"RE",latlng:[-21.15,55.5],flag:"ð·ðª",languages:{fra:"French"},population:840974},{name:"Eswatini",cca2:"SZ",latlng:[-26.5,31.5],flag:"ð¸ð¿",languages:{eng:"English",ssw:"Swazi"},population:1160164},{name:"Tajikistan",cca2:"TJ",latlng:[39,71],flag:"ð¹ð¯",languages:{rus:"Russian",tgk:"Tajik"},population:9537642},{name:"Saudi Arabia",cca2:"SA",latlng:[25,45],flag:"ð¸ð¦",languages:{ara:"Arabic"},population:34813867},{name:"Bermuda",cca2:"BM",latlng:[32.33333333,-64.75],flag:"ð§ð²",languages:{eng:"English"},population:63903},{name:"New Zealand",cca2:"NZ",latlng:[-41,174],flag:"ð³ð¿",languages:{eng:"English",mri:"MÄori",nzs:"New Zealand Sign Language"},population:5084300},{name:"Belarus",cca2:"BY",latlng:[53,28],flag:"ð§ð¾",languages:{bel:"Belarusian",rus:"Russian"},population:9398861},{name:"Christmas Island",cca2:"CX",latlng:[-10.5,105.66666666],flag:"ð¨ð½",languages:{eng:"English"},population:2072},{name:"Gambia",cca2:"GM",latlng:[13.46666666,-16.56666666],flag:"ð¬ð²",languages:{eng:"English"},population:2416664},{name:"French Polynesia",cca2:"PF",latlng:[-17.6797,-149.4068],flag:"ðµð«",languages:{fra:"French"},population:280904},{name:"DR Congo",cca2:"CD",latlng:[0,25],flag:"ð¨ð©",languages:{fra:"French",kon:"Kikongo",lin:"Lingala",lua:"Tshiluba",swa:"Swahili"},population:108407721},{name:"Costa Rica",cca2:"CR",latlng:[10,-84],flag:"ð¨ð·",languages:{spa:"Spanish"},population:5094114},{name:"Malawi",cca2:"MW",latlng:[-13.5,34],flag:"ð²ð¼",languages:{eng:"English",nya:"Chewa"},population:19129955},{name:"Republic of the Congo",cca2:"CG",latlng:[-1,15],flag:"ð¨ð¬",languages:{fra:"French",kon:"Kikongo",lin:"Lingala"},population:5657e3},{name:"Oman",cca2:"OM",latlng:[21,57],flag:"ð´ð²",languages:{ara:"Arabic"},population:5106622},{name:"Iraq",cca2:"IQ",latlng:[33,44],flag:"ð®ð¶",languages:{ara:"Arabic",arc:"Aramaic",ckb:"Sorani"},population:40222503},{name:"Niue",cca2:"NU",latlng:[-19.03333333,-169.86666666],flag:"ð³ðº",languages:{eng:"English",niu:"Niuean"},population:1470},{name:"Senegal",cca2:"SN",latlng:[14,-14],flag:"ð¸ð³",languages:{fra:"French"},population:16743930},{name:"Lebanon",cca2:"LB",latlng:[33.83333333,35.83333333],flag:"ð±ð§",languages:{ara:"Arabic",fra:"French"},population:6825442},{name:"Angola",cca2:"AO",latlng:[-12.5,18.5],flag:"ð¦ð´",languages:{por:"Portuguese"},population:32866268},{name:"Iran",cca2:"IR",latlng:[32,53],flag:"ð®ð·",languages:{fas:"Persian (Farsi)"},population:83992953},{name:"Ecuador",cca2:"EC",latlng:[-2,-77.5],flag:"ðªð¨",languages:{spa:"Spanish"},population:17643060},{name:"Laos",cca2:"LA",latlng:[18,105],flag:"ð±ð¦",languages:{lao:"Lao"},population:7275556},{name:"Sri Lanka",cca2:"LK",latlng:[7,81],flag:"ð±ð°",languages:{sin:"Sinhala",tam:"Tamil"},population:21919e3},{name:"Aruba",cca2:"AW",latlng:[12.5,-69.96666666],flag:"ð¦ð¼",languages:{nld:"Dutch",pap:"Papiamento"},population:106766},{name:"São Tomé and PrÃncipe",cca2:"ST",latlng:[1,7],flag:"ð¸ð¹",languages:{por:"Portuguese"},population:219161},{name:"Grenada",cca2:"GD",latlng:[12.11666666,-61.66666666],flag:"ð¬ð©",languages:{eng:"English"},population:112519},{name:"Montserrat",cca2:"MS",latlng:[16.75,-62.2],flag:"ð²ð¸",languages:{eng:"English"},population:4922},{name:"Western Sahara",cca2:"EH",latlng:[24.5,-13],flag:"ðªð",languages:{ber:"Berber",mey:"Hassaniya",spa:"Spanish"},population:510713},{name:"Guinea",cca2:"GN",latlng:[11,-10],flag:"ð¬ð³",languages:{fra:"French"},population:13132792},{name:"British Virgin Islands",cca2:"VG",latlng:[18.431383,-64.62305],flag:"ð»ð¬",languages:{eng:"English"},population:30237},{name:"Panama",cca2:"PA",latlng:[9,-80],flag:"ðµð¦",languages:{spa:"Spanish"},population:4314768},{name:"Yemen",cca2:"YE",latlng:[15,48],flag:"ð¾ðª",languages:{ara:"Arabic"},population:29825968},{name:"Estonia",cca2:"EE",latlng:[59,26],flag:"ðªðª",languages:{est:"Estonian"},population:1331057},{name:"Guyana",cca2:"GY",latlng:[5,-59],flag:"ð¬ð¾",languages:{eng:"English"},population:786559},{name:"Luxembourg",cca2:"LU",latlng:[49.75,6.16666666],flag:"ð±ðº",languages:{deu:"German",fra:"French",ltz:"Luxembourgish"},population:632275},{name:"Namibia",cca2:"NA",latlng:[-22,17],flag:"ð³ð¦",languages:{afr:"Afrikaans",deu:"German",eng:"English",her:"Herero",hgm:"Khoekhoe",kwn:"Kwangali",loz:"Lozi",n
5do:"Ndonga",tsn:"Tswana"},population:2540916},{name:"Kosovo",cca2:"XK",latlng:[42.666667,21.166667],flag:"ð½ð°",languages:{sqi:"Albanian",srp:"Serbian"},population:1775378},{name:"New Caledonia",cca2:"NC",latlng:[-21.5,165.5],flag:"ð³ð¨",languages:{fra:"French"},population:271960},{name:"Saint Pierre and Miquelon",cca2:"PM",latlng:[46.83333333,-56.33333333],flag:"ðµð²",languages:{fra:"French"},population:6069},{name:"Libya",cca2:"LY",latlng:[25,17],flag:"ð±ð¾",languages:{ara:"Arabic"},population:6871287},{name:"Myanmar",cca2:"MM",latlng:[22,98],flag:"ð²ð²",languages:{mya:"Burmese"},population:54409794},{name:"Israel",cca2:"IL",latlng:[31.47,35.13],flag:"ð®ð±",languages:{ara:"Arabic",heb:"Hebrew"},population:9216900},{name:"Mali",cca2:"ML",latlng:[17,-4],flag:"ð²ð±",languages:{fra:"French"},population:20250834},{name:"Argentina",cca2:"AR",latlng:[-34,-64],flag:"ð¦ð·",languages:{grn:"GuaranÃ",spa:"Spanish"},population:45376763},{name:"French Guiana",cca2:"GF",latlng:[4,-53],flag:"ð¬ð«",languages:{fra:"French"},population:254541},{name:"Uganda",cca2:"UG",latlng:[1,32],flag:"ðºð¬",languages:{eng:"English",swa:"Swahili"},population:45741e3},{name:"Malaysia",cca2:"MY",latlng:[2.5,112.5],flag:"ð²ð¾",languages:{eng:"English",msa:"Malay"},population:32365998},{name:"Zambia",cca2:"ZM",latlng:[-15,30],flag:"ð¿ð²",languages:{eng:"English"},population:18383956},{name:"Micronesia",cca2:"FM",latlng:[6.91666666,158.25],flag:"ð«ð²",languages:{eng:"English"},population:115021},{name:"Slovakia",cca2:"SK",latlng:[48.66666666,19.5],flag:"ð¸ð°",languages:{slk:"Slovak"},population:5458827},{name:"Burundi",cca2:"BI",latlng:[-3.5,30],flag:"ð§ð®",languages:{fra:"French",run:"Kirundi"},population:11890781},{name:"Serbia",cca2:"RS",latlng:[44,21],flag:"ð·ð¸",languages:{srp:"Serbian"},population:6908224},{name:"Turkmenistan",cca2:"TM",latlng:[40,60],flag:"ð¹ð²",languages:{rus:"Russian",tuk:"Turkmen"},population:6031187},{name:"South Africa",cca2:"ZA",latlng:[-29,24],flag:"ð¿ð¦",languages:{afr:"Afrikaans",eng:"English",nbl:"Southern Ndebele",nso:"Northern Sotho",sot:"Southern Sotho",ssw:"Swazi",tsn:"Tswana",tso:"Tsonga",ven:"Venda",xho:"Xhosa",zul:"Zulu"},population:59308690},{name:"Kazakhstan",cca2:"KZ",latlng:[48.0196,66.9237],flag:"ð°ð¿",languages:{kaz:"Kazakh",rus:"Russian"},population:18754440},{name:"Canada",cca2:"CA",latlng:[60,-95],flag:"ð¨ð¦",languages:{eng:"English",fra:"French"},population:38005238},{name:"Poland",cca2:"PL",latlng:[52,20],flag:"ðµð±",languages:{pol:"Polish"},population:37950802},{name:"Puerto Rico",cca2:"PR",latlng:[18.25,-66.5],flag:"ðµð·",languages:{eng:"English",spa:"Spanish"},population:3194034},{name:"Cocos (Keeling) Islands",cca2:"CC",latlng:[-12.1642,96.871],flag:"ð¨ð¨",languages:{eng:"English"},population:544},{name:"San Marino",cca2:"SM",latlng:[43.76666666,12.41666666],flag:"ð¸ð²",languages:{ita:"Ital
5ian"},population:33938},{name:"American Samoa",cca2:"AS",latlng:[-14.33333333,-170],flag:"ð¦ð¸",languages:{eng:"English",smo:"Samoan"},population:55197},{name:"Qatar",cca2:"QA",latlng:[25.5,51.25],flag:"ð¶ð¦",languages:{ara:"Arabic"},population:2881060},{name:"Gibraltar",cca2:"GI",latlng:[36.13333333,-5.35],flag:"ð¬ð®",languages:{eng:"English"},population:33691},{name:"Croatia",cca2:"HR",latlng:[45.16666666,15.5],flag:"ðð·",languages:{hrv:"Croatian"},population:4047200},{name:"Svalbard and Jan Mayen",cca2:"SJ",latlng:[78,20],flag:"ð¸ð¯",languages:{nor:"Norwegian"},population:2562},{name:"Isle of Man",cca2:"IM",latlng:[54.25,-4.5],flag:"ð®ð²",languages:{eng:"English",glv:"Manx"},population:85032},{name:"Palestine",cca2:"PS",latlng:[31.9,35.2],flag:"ðµð¸",languages:{ara:"Arabic"},population:4803269},{name:"Mauritius",cca2:"MU",latlng:[-20.28333333,57.55],flag:"ð²ðº",languages:{eng:"English",fra:"French",mfe:"Mauritian Creole"},population:1265740},{name:"Saint Martin",cca2:"MF",latlng:[18.0708,-63.0501],flag:"ð²ð«",languages:{fra:"French"},population:38659},{name:"Sierra Leone",cca2:"SL",latlng:[8.5,-11.5],flag:"ð¸ð±",languages:{eng:"English"},population:7976985},{name:"Saint Kitts and Nevis",cca2:"KN",latlng:[17.33333333,-62.75],flag:"ð°ð³",languages:{eng:"English"},population:53192},{name:"Iceland",cca2:"IS",latlng:[65,-18],flag:"ð®ð¸",languages:{isl:"Icelandic"},population:366425},{name:"Heard Island and McDonald Islands",cca2:"HM",latlng:[-53.0818,73.5042],flag:"ðð²",languages:{eng:"English"},population:0},{name:"Kuwait",cca2:"KW",latlng:[29.5,45.75],flag:"ð°ð¼",languages:{ara:"Arabic"},population:4270563},{name:"Taiwan",cca2:"TW",latlng:[23.5,121],flag:"ð¹ð¼",languages:{zho:"Chinese"},population:23503349},{name:"Cameroon",cca2:"CM",latlng:[6,12],flag:"ð¨ð²",languages:{eng:"English",fra:"French"},population:26545864},{name:"El Salvador",cca2:"SV",latlng:[13.83333333,-88.91666666],flag:"ð¸ð»",languages:{spa:"Spanish"},population:6486201},{name:"Macau",cca2:"MO",latlng:[22.16666666,113.55],flag:"ð²ð´",languages:{por:"Portuguese",zho:"Chinese"},population:649342},{name:"Cuba",cca2:"CU",latlng:[21.5,-80],flag:"ð¨ðº",languages:{spa:"Spanish"},population:11326616},{name:"Brazil",cca2:"BR",latlng:[-10,-55],flag:"ð§ð·",languages:{por:"Portuguese"},population:212559409},{name:"Solomon Islands",cca2:"SB",latlng:[-8,159],flag:"ð¸ð§",languages:{eng:"English"},population:686878},{name:"Greece",cca2:"GR",latlng:[39,22],flag:"ð¬ð·",languages:{ell:"Greek"},population:10715549},{name:"Norway",cca2:"NO",latlng:[62,10],flag:"ð³ð´",languages:{nno:"Norwegian Nynorsk",nob:"Norwegian BokmÃ¥l",smi:"Sami"},population:5379475},{name:"Jamaica",cca2:"JM",latlng:[18.25,-77.5],flag:"ð¯ð²",languages:{eng:"English",jam:"Jamaican Patois"},population:2961161},{name:"Tanzania",cca2:"TZ",latlng:[-6,35],flag:"ð¹ð¿",languages:{eng:"English",swa:"Swahili"},population:59734213},{name:"Bolivia",cca2:"BO",latlng:[-17,-65],flag:"ð§ð´",languages:{aym:"Aymara",grn:"GuaranÃ",que:"Quechua",spa:"Spanish"},population:11673029},{name:"Cyprus",cca2:"CY",latlng:[35,33],flag:"ð¨ð¾",languages:{ell:"Greek",tur:"Turkish"},population:1207361},{name:"Mongolia",cca2:"MN",latlng:[46,105],flag:"ð²ð³",languages:{mon:"Mongolian"},population:3278292},{name:"Monaco",cca2:"MC",latlng:[43.73333333,7.4],flag:"ð²ð¨",languages:{fra:"French"},population:39244},{name:"Tunisia",cca2:"TN",latlng:[34,9],flag:"ð¹ð³",languages:{ara:"Arabic"},population:11818618},{name:"French Southern and Antarctic Lands",cca2:"TF",latlng:[-49.25,69.167],flag:"ð¹ð«",languages:{fra:"French"},population:400},{name:"Syria",cca2:"SY",latlng:[35,38],flag:"ð¸ð¾",languages:{ara:"Arabic"},population:17500657},{name:"Chile",cca2:"CL",latlng:[-30,-71],flag:"ð¨ð±",languages:{spa:"Spanish"},population:19116209},{name:"Azerbaijan",cca2:"AZ",latlng:[40.5,47.5],flag:"ð¦ð¿",languages:{aze:"Azerbaijani"},population:10110116},{name:"France",cca2:"FR",latlng:[46,2],flag:"ð«ð·",languages:{fra:"French"},population:67391582},{name:"South Korea",cca2:"KR",latlng:[37,127.5],flag:"ð°ð·",languages:{kor:"Korean"},population:51780579},{name:"Ghana",cca2:"GH",latlng:[8,-2],flag:"ð¬ð",languages:{eng:"English"},population:31072945},{name:"Denmark",cca2:"DK",latlng:[56,10],flag:"ð©ð°",languages:{dan:"Danish"},population:5831404},{name:"Sint Maarten",cca2:"SX",latlng:[18.033333,-63.05],flag:"ð¸ð½",languages:{eng:"English",fra:"French",nld:"Dutch"},population:40812},{name:"Andorra",cca2:"AD",latlng:[42.5,1.5],flag:"ð¦ð©",languages:{cat:"Catalan"},population:77265},{name:"Curaçao",cca2:"CW",latlng:[12.116667,-68.933333],flag:"ð¨ð¼",languages:{eng:"English",nld:"Dutch",pap:"Papiamento"},population:155014},{name:"Switzerland",cca2:"CH",latlng:[47,8],flag:"ð¨ð",languages:{fra:"French",gsw:"Swiss German",ita:"Ital
5ian",roh:"Romansh"},population:8654622},{name:"North Macedonia",cca2:"MK",latlng:[41.83333333,22],flag:"ð²ð°",languages:{mkd:"Macedonian"},population:2077132},{name:"South Sudan",cca2:"SS",latlng:[7,30],flag:"ð¸ð¸",languages:{eng:"English"},population:11193729},{name:"Haiti",cca2:"HT",latlng:[19,-72.41666666],flag:"ðð¹",languages:{fra:"French",hat:"Haitian Creole"},population:11402533},{name:"Peru",cca2:"PE",latlng:[-10,-76],flag:"ðµðª",languages:{aym:"Aymara",que:"Quechua",spa:"Spanish"},population:32971846},{name:"Guinea-Bissau",cca2:"GW",latlng:[12,-15],flag:"ð¬ð¼",languages:{por:"Portuguese",pov:"Upper Guinea Creole"},population:1967998},{name:"Czechia",cca2:"CZ",latlng:[49.75,15.5],flag:"ð¨ð¿",languages:{ces:"Czech",slk:"Slovak"},population:10698896},{name:"Portugal",cca2:"PT",latlng:[39.5,-8],flag:"ðµð¹",languages:{por:"Portuguese"},population:10305564},{name:"Gabon",cca2:"GA",latlng:[-1,11.75],flag:"ð¬ð¦",languages:{fra:"French"},population:2225728},{name:"Mexico",cca2:"MX",latlng:[23,-102],flag:"ð²ð½",languages:{spa:"Spanish"},population:128932753},{name:"Italy",cca2:"IT",latlng:[42.83333333,12.83333333],flag:"ð®ð¹",languages:{ita:"Ital
5ian",cat:"Catalan"},population:59554023},{name:"Finland",cca2:"FI",latlng:[64,26],flag:"ð«ð®",languages:{fin:"Finnish",swe:"Swedish"},population:5530719},{name:"Zimbabwe",cca2:"ZW",latlng:[-20,30],flag:"ð¿ð¼",languages:{bwg:"Chibarwe",eng:"English",kck:"Kalanga",khi:"Khoisan",ndc:"Ndau",nde:"Northern Ndebele",nya:"Chewa",sna:"Shona",sot:"Sotho",toi:"Tonga",tsn:"Tswana",tso:"Tsonga",ven:"Venda",xho:"Xhosa",zib:"Zimbabwean Sign Language"},population:14862927},{name:"Spain",cca2:"ES",latlng:[40,-4],flag:"ðªð¸",languages:{spa:"Spanish",cat:"Catalan",eus:"Basque",glc:"Galician"},population:47351567},{name:"Japan",cca2:"JP",latlng:[36,138],flag:"ð¯ðµ",languages:{jpn:"Japanese"},population:125836021},{name:"Seychelles",cca2:"SC",latlng:[-4.58333333,55.66666666],flag:"ð¸ð¨",languages:{crs:"Seychellois Creole",eng:"English",fra:"French"},population:98462},{name:"Albania",cca2:"AL",latlng:[41,20],flag:"ð¦ð±",languages:{sqi:"Albanian"},population:2837743},{name:"Moldova",cca2:"MD",latlng:[47,29],flag:"ð²ð©",languages:{ron:"Romanian"},population:2617820},{name:"Guatemala",cca2:"GT",latlng:[15.5,-90.25],flag:"ð¬ð¹",languages:{spa:"Spanish"},population:16858333},{name:"Germany",cca2:"DE",latlng:[51,9],flag:"ð©ðª",languages:{deu:"German"},population:83240525},{name:"Guadeloupe",cca2:"GP",latlng:[16.25,-61.583333],flag:"ð¬ðµ",languages:{fra:"French"},population:400132},{name:"Bulgaria",cca2:"BG",latlng:[43,25],flag:"ð§ð¬",languages:{bul:"Bulgarian"},population:6927288},{name:"Paraguay",cca2:"PY",latlng:[-23,-58],flag:"ðµð¾",languages:{grn:"GuaranÃ",spa:"Spanish"},population:7132530},{name:"Eritrea",cca2:"ER",latlng:[15,39],flag:"ðªð·",languages:{ara:"Arabic",eng:"English",tir:"Tigrinya"},population:5352e3},{name:"Sudan",cca2:"SD",latlng:[15,30],flag:"ð¸ð©",languages:{ara:"Arabic",eng:"English"},population:43849269},{name:"Equatorial Guinea",cca2:"GQ",latlng:[2,10],flag:"ð¬ð¶",languages:{fra:"French",por:"Portuguese",spa:"Spanish"},population:1402985},{name:"Colombia",cca2:"CO",latlng:[4,-72],flag:"ð¨ð´",languages:{spa:"Spanish"},population:50882884},{name:"Nigeria",cca2:"NG",latlng:[10,8],flag:"ð³ð¬",languages:{eng:"English"},population:206139587},{name:"Montenegro",cca2:"ME",latlng:[42.5,19.3],flag:"ð²ðª",languages:{cnr:"Montenegrin"},population:621718},{name:"Nepal",cca2:"NP",latlng:[28,84],flag:"ð³ðµ",languages:{nep:"Nepali"},population:29136808},{name:"Brunei",cca2:"BN",latlng:[4.5,114.66666666],flag:"ð§ð³",languages:{msa:"Malay"},population:437483},{name:"Austria",cca2:"AT",latlng:[47.33333333,13.33333333],flag:"ð¦ð¹",languages:{deu:"German"},population:8917205},{name:"Turks and Caicos Islands",cca2:"TC",latlng:[21.75,-71.58333333],flag:"ð¹ð¨",languages:{eng:"English"},population:38718},{name:"Bahamas",cca2:"BS",latlng:[25.0343,-77.3963],flag:"ð§ð¸",languages:{eng:"English"},population:393248},{name:"United Kingdom",cca2:"GB",latlng:[54,-2],flag:"ð¬ð§",languages:{eng:"English"},population:67215293},{name:"British Indian Ocean Territory",cca2:"IO",latlng:[-6,71.5],flag:"ð®ð´",languages:{eng:"English"},population:3e3},{name:"Liberia",cca2:"LR",latlng:[6.5,-9.5],flag:"ð±ð·",languages:{eng:"English"},population:5057677},{name:"Anguilla",cca2:"AI",latlng:[18.25,-63.16666666],flag:"ð¦ð®",languages:{eng:"English"},population:13452},{name:"Central African Republic",cca2:"CF",latlng:[7,21],flag:"ð¨ð«",languages:{fra:"French",sag:"Sango"},population:4829764},{name:"Algeria",cca2:"DZ",latlng:[28,3],flag:"ð©ð¿",languages:{ara:"Arabic"},population:447e5},{name:"Saint Lucia",cca2:"LC",latlng:[13.88333333,-60.96666666],flag:"ð±ð¨",languages:{eng:"English"},population:183629},{name:"Romania",cca2:"RO",latlng:[46,25],flag:"ð·ð´",languages:{ron:"Romanian"},population:19286123},{name:"United Arab Emirates",cca2:"AE",latlng:[24,54],flag:"ð¦ðª",languages:{ara:"Arabic"},population:9890400},{name:"Morocco",cca2:"MA",latlng:[32,-5],flag:"ð²ð¦",languages:{ara:"Arabic",ber:"Berber"},population:36910558},{name:"Northern Mariana Islands",cca2:"MP",latlng:[15.2,145.75],flag:"ð²ðµ",languages:{cal:"Carolinian",cha:"Chamorro",eng:"English"},population:57557},{name:"United States Minor Outlying Islands",cca2:"UM",latlng:[19.3,166.633333],flag:"ðºð²",languages:{eng:"English"},population:300},{name:"Botswana",cca2:"BW",latlng:[-22,24],flag:"ð§ð¼",languages:{eng:"English",tsn:"Tswana"},population:2351625},{name:"Lithuania",cca2:"LT",latlng:[56,24],flag:"ð±ð¹",languages:{lit:"Lithuanian"},population:2794700},{name:"Caribbean Netherlands",cca2:"BQ",latlng:[12.18,-68.25],flag:"ð§ð¶",languages:{eng:"English",nld:"Dutch",pap:"Papiamento"},population:25987},{name:"Cape Verde",cca2:"CV",latlng:[16.5388,-23.0418],flag:"ð¨ð»",languages:{por:"Portuguese"},population:555988},{name:"United States",cca2:"US",latlng:[38,-97],flag:"ðºð¸",languages:{eng:"English"},population:329484123},{name:"Australia",cca2:"AU",latlng:[-27,133],flag:"ð¦ðº",languages:{eng:"English"},population:25687041},{name:"Guam",cca2:"GU",latlng:[13.46666666,144.78333333],flag:"ð¬ðº",languages:{cha:"Chamorro",eng:"English",spa:"Spanish"},population:168783},{name:"Tonga",cca2:"TO",latlng:[-20,-175],flag:"ð¹ð´",languages:{eng:"English",ton:"Tongan"},population:105697},{name:"Afghanistan",cca2:"AF",latlng:[33,65],flag:"ð¦ð«",languages:{prs:"Dari",pus:"Pashto",tuk:"Turkmen"},population:40218234},{name:"Falkland Islands",cca2:"FK",latlng:[-51.75,-59],flag:"ð«ð°",languages:{eng:"English"},population:2563},{name:"Nauru",cca2:"NR",latlng:[-.53333333,166.91666666],flag:"ð³ð·",languages:{eng:"English",nau:"Nauru"},population:10834},{name:"Cook Islands",cca2:"CK",latlng:[-21.23333333,-159.76666666],flag:"ð¨ð°",languages:{eng:"English",rar:"Cook Islands MÄori"},population:18100},{name:"Hungary",cca2:"HU",latlng:[47,20],flag:"ððº",languages:{hun:"Hungarian"},population:9749763},{name:"Mauritania",cca2:"MR",latlng:[20,-12],flag:"ð²ð·",languages:{ara:"Arabic"},population:4649660},{name:"Slovenia",cca2:"SI",latlng:[46.11666666,14.81666666],flag:"ð¸ð®",languages:{slv:"Slovene"},population:2100126},{name:"Chad",cca2:"TD",latlng:[15,19],flag:"ð¹ð©",languages:{ara:"Arabic",fra:"French"},population:16425859},{name:"Vatican City",cca2:"VA",latlng:[41.9,12.45],flag:"ð»ð¦",languages:{ita:"Ital
5ian",lat:"Latin"},population:451},{name:"Benin",cca2:"BJ",latlng:[9.5,2.25],flag:"ð§ð¯",languages:{fra:"French"},population:12123198},{name:"Singapore",cca2:"SG",latlng:[1.36666666,103.8],flag:"ð¸ð¬",languages:{eng:"English",zho:"Chinese",msa:"Malay",tam:"Tamil"},population:5685807},{name:"Malta",cca2:"MT",latlng:[35.9375,14.3754],flag:"ð²ð¹",languages:{eng:"English",mlt:"Maltese"},population:525285},{name:"Saint Vincent and the Grenadines",cca2:"VC",latlng:[13.25,-61.2],flag:"ð»ð¨",languages:{eng:"English"},population:110947},{name:"Marshall Islands",cca2:"MH",latlng:[9,168],flag:"ð²ð",languages:{eng:"English",mah:"Marshallese"},population:59194},{name:"Thailand",cca2:"TH",latlng:[15,100],flag:"ð¹ð",languages:{tha:"Thai"},population:69799978},{name:"Liechtenstein",cca2:"LI",latlng:[47.26666666,9.53333333],flag:"ð±ð®",languages:{deu:"German"},population:38137},{name:"Ireland",cca2:"IE",latlng:[53,-8],flag:"ð®ðª",languages:{eng:"English",gle:"Irish"},population:4994724},{name:"Maldives",cca2:"MV",latlng:[3.25,73],flag:"ð²ð»",languages:{div:"Maldivian"},population:540542},{name:"Vietnam",cca2:"VN",latlng:[16.16666666,107.83333333],flag:"ð»ð³",languages:{vie:"Vietnamese"},population:97338583},{name:"Armenia",cca2:"AM",latlng:[40,45],flag:"ð¦ð²",languages:{hye:"Armenian"},population:2963234},{name:"Pakistan",cca2:"PK",latlng:[30,70],flag:"ðµð°",languages:{eng:"English",urd:"Urdu"},population:220892331},{name:"Ivory Coast",cca2:"CI",latlng:[8,-5],flag:"ð¨ð®",languages:{fra:"French"},population:26378275},{name:"Russia",cca2:"RU",latlng:[60,100],flag:"ð·ðº",languages:{rus:"Russian"},population:144104080},{name:"Martinique",cca2:"MQ",latlng:[14.666667,-61],flag:"ð²ð¶",languages:{fra:"French"},population:378243},{name:"Bouvet Island",cca2:"BV",latlng:[54.4208,3.3464],flag:"ð§ð»",languages:{nor:"Norwegian"},population:0},{name:"Timor-Leste",cca2:"TL",latlng:[-8.83333333,125.91666666],flag:"ð¹ð±",languages:{por:"Portuguese",tet:"Tetum"},population:1318442},{name:"Nicaragua",cca2:"NI",latlng:[13,-85],flag:"ð³ð®",languages:{spa:"Spanish"},population:6624554},{name:"Papua New Guinea",cca2:"PG",latlng:[-6,147],flag:"ðµð¬",languages:{eng:"English",hmo:"Hiri Motu",tpi:"Tok Pisin"},population:8947027},{name:"Egypt",cca2:"EG",latlng:[27,30],flag:"ðªð¬",languages:{ara:"Arabic"},population:102334403},{name:"Jordan",cca2:"JO",latlng:[31,36],flag:"ð¯ð´",languages:{ara:"Arabic"},population:10203140},{name:"Uruguay",cca2:"UY",latlng:[-33,-56],flag:"ðºð¾",languages:{spa:"Spanish"},population:3473727},{name:"Burkina Faso",cca2:"BF",latlng:[13,-2],flag:"ð§ð«",languages:{fra:"French"},population:20903278},{name:"Cambodia",cca2:"KH",latlng:[13,105],flag:"ð°ð",languages:{khm:"Khmer"},population:16718971},{name:"Ethiopia",cca2:"ET",latlng:[8,38],flag:"ðªð¹",languages:{amh:"Amharic"},population:114963583},{name:"Kiribati",cca2:"KI",latlng:[1.41666666,173],flag:"ð°ð®",languages:{eng:"English",gil:"Gilbertese"},population:119446},{name:"Bhutan",cca2:"BT",latlng:[27.5,90.5],flag:"ð§ð¹",languages:{dzo:"Dzongkha"},population:771612},{name:"Dominican Republic",cca2:"DO",latlng:[19,-70.66666666],flag:"ð©ð´",languages:{spa:"Spanish"},population:10847904},{name:"Suriname",cca2:"SR",latlng:[4,-56],flag:"ð¸ð·",languages:{nld:"Dutch"},population:586634},{name:"Bangladesh",cca2:"BD",latlng:[24,90],flag:"ð§ð©",languages:{ben:"Bengali"},population:164689383},{name:"Barbados",cca2:"BB",latlng:[13.16666666,-59.53333333],flag:"ð§ð§",languages:{eng:"English"},population:287371},{name:"North Korea",cca2:"KP",latlng:[40,127],flag:"ð°ðµ",languages:{kor:"Korean"},population:25778815},{name:"Greenland",cca2:"GL",latlng:[72,-40],flag:"ð¬ð±",languages:{kal:"Greenlandic"},population:56367},{name:"Belgium",cca2:"BE",latlng:[50.83333333,4],flag:"ð§ðª",languages:{deu:"German",fra:"French",nld:"Dutch"},population:11555997},{name:"Palau",cca2:"PW",latlng:[7.5,134.5],flag:"ðµð¼",languages:{eng:"English",pau:"Palauan"},population:18092},{name:"Norfolk Island",cca2:"NF",latlng:[-29.03333333,167.95],flag:"ð³ð«",languages:{eng:"English",pih:"Norfuk"},population:2302},{name:"South Georgia",cca2:"GS",latlng:[-54.5,-37],flag:"ð¬ð¸",languages:{eng:"English"},population:30},{name:"Philippines",cca2:"PH",latlng:[13,122],flag:"ðµð",languages:{eng:"English",fil:"Filipino"},population:109581085},{name:"India",cca2:"IN",latlng:[20,77],flag:"ð®ð³",languages:{eng:"English",hin:"Hindi",tam:"Tamil"},population:1380004385},{name:"Indonesia",cca2:"ID",latlng:[-5,120],flag:"ð®ð©",languages:{ind:"Indonesian"},population:273523621},{name:"United States Virgin Islands",cca2:"VI",latlng:[18.35,-64.933333],flag:"ð»ð®",languages:{eng:"English"},population:106290},{name:"Dominica",cca2:"DM",latlng:[15.41666666,-61.33333333],flag:"ð©ð²",languages:{eng:"English"},population:71991},{name:"Rwanda",cca2:"RW",latlng:[-2,30],flag:"ð·ð¼",languages:{eng:"English",fra:"French",kin:"Kinyarwanda"},population:12952209},{name:"Madagascar",cca2:"MG",latlng:[-20,47],flag:"ð²ð¬",languages:{fra:"French",mlg:"Malagasy"},population:27691019},{name:"Hong Kong",cca2:"HK",latlng:[22.267,114.188],flag:"ðð°",languages:{eng:"English",zho:"Chinese"},population:7500700},{name:"Samoa",cca2:"WS",latlng:[-13.58333333,-172.33333333],flag:"ð¼ð¸",languages:{eng:"English",smo:"Samoan"},population:198410},{name:"Faroe Islands",cca2:"FO",latlng:[62,-7],flag:"ð«ð´",languages:{dan:"Danish",fao:"Faroese"},population:48865},{name:"Pitcairn Islands",cca2:"PN",latlng:[-25.06666666,-130.1],flag:"ðµð³",languages:{eng:"English"},population:56},{name:"Antigua and Barbuda",cca2:"AG",latlng:[17.05,-61.8],flag:"ð¦ð¬",languages:{eng:"English"},population:97928},{name:"Ã
land Islands",cca2:"AX",latlng:[60.116667,19.9],flag:"ð¦ð½",languages:{swe:"Swedish"},population:29458},{name:"Sweden",cca2:"SE",latlng:[62,15],flag:"ð¸ðª",languages:{swe:"Swedish"},population:10353442},{name:"Mozambique",cca2:"MZ",latlng:[-18.25,35],flag:"ð²ð¿",languages:{por:"Portuguese"},population:31255435},{name:"Uzbekistan",cca2:"UZ",latlng:[41,64],flag:"ðºð¿",languages:{rus:"Russian",uzb:"Uzbek"},population:34232050},{name:"Antarctica",cca2:"AQ",latlng:[-90,0],flag:"ð¦ð¶",languages:{},population:1e3},{name:"Wallis and Futuna",cca2:"WF",latlng:[-13.3,-176.2],flag:"ð¼ð«",languages:{fra:"French"},population:11750},{name:"Ukraine",cca2:"UA",latlng:[49,32],flag:"ðºð¦",languages:{ukr:"Ukrainian"},population:44134693},{name:"Belize",cca2:"BZ",latlng:[17.25,-88.75],flag:"ð§ð¿",languages:{bjz:"Belizean Creole",eng:"English",spa:"Spanish"},population:397621},{name:"Saint Helena, Ascension and Tristan da Cunha",cca2:"SH",latlng:[-15.95,-5.72],flag:"ð¸ð",languages:{eng:"English"},population:53192},{name:"Guernsey",cca2:"GG",latlng:[49.46666666,-2.58333333],flag:"ð¬ð¬",languages:{eng:"English",fra:"French",nfr:"Guernésiais"},population:62999},{name:"Tokelau",cca2:"TK",latlng:[-9,-172],flag:"ð¹ð°",languages:{eng:"English",smo:"Samoan",tkl:"Tokelauan"},population:1411}],kC="FeatureCollection",zC=[{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Afghanistan",SOV_A3:"AFG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Afghanistan",ADM0_A3:"AFG",GEOU_DIF:0,GEOUNIT:"Afghanistan",GU_A3:"AFG",SU_DIF:0,SUBUNIT:"Afghanistan",SU_A3:"AFG",BRK_DIFF:0,NAME:"Afghanistan",NAME_LONG:"Afghanistan",BRK_A3:"AFG",BRK_NAME:"Afghanistan",BRK_GROUP:null,ABBREV:"Afg.",POSTAL:"AF",FORMAL_EN:"Islamic State of Afghanistan",FORMAL_FR:null,NAME_CIAWF:"Afghanistan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Afghanistan",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:8,MAPCOLOR13:7,POP_EST:34124811,POP_RANK:15,GDP_MD_EST:64080,POP_YEAR:2017,LASTCENSUS:1979,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"AF",ISO_A2:"AF",ISO_A3:"AFG",ISO_A3_EH:"AFG",ISO_N3:"004",UN_A3:"004",WB_A2:"AF",WB_A3:"AFG",WOE_ID:23424739,WOE_ID_EH:23424739,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"AFG",ADM0_A3_US:"AFG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[60.52843,29.318572,75.158028,38.486282],geometry:{type:"Polygon",coordinates:[[[61.210817,35.650072],[62.230651,35.270664],[62.984662,35.404041],[63.193538,35.857166],[63.982896,36.007957],[64.546479,36.312073],[64.74
56105,37.111818],[65.588948,37.305217],[65.745631,37.661164],[66.217385,37.39379],[66.518607,37.362784],[67.075782,37.356144],[67.83,37.144994],[68.135562,37.023115],[68.859446,37.344336],[69.196273,37.151144],[69.518785,37.608997],[70.116578,37.588223],[70.270574,37.735165],[70.376304,38.138396],[70.806821,38.486282],[71.348131,38.258905],[71.239404,37.953265],[71.541918,37.905774],[71.448693,37.065645],[71.844638,36.738171],[72.193041,36.948288],[72.63689,37.047558],[73.260056,37.495257],[73.948696,37.421566],[74.980002,37.41999],[75.158028,37.133031],[74.575893,37.020841],[74.067552,36.836176],[72.920025,36.720007],[71.846292,36.509942],[71.262348,36.074388],[71.498768,35.650563],[71.613076,35.153203],[71.115019,34.733126],[71.156773,34.348911],[70.881803,33.988856],[69.930543,34.02012],[70.323594,33.358533],[69.687147,33.105499],[69.262522,32.501944],[69.317764,31.901412],[68.926677,31.620189],[68.556932,31.71331],[67.792689,31.58293],[67.683394,31.303154],[66.938891,31.304911],[66.381458,30.738899],[66.346473,29.887943],[65.046862,29.472181],[64.350419,29.560031],[64.148002,29.340819],[63.550261,29.468331],[62.549857,29.318572],[60.874248,29.829239],[61.781222,30.73585],[61.699314,31.379506],[60.941945,31.548075],[60.863655,32.18292],[60.536078,32.981269],[60.9637,33.528832],[60.52843,33.676446],[60.803193,34.404102],[61.210817,35.650072]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Angola",SOV_A3:"AGO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Angola",ADM0_A3:"AGO",GEOU_DIF:0,GEOUNIT:"Angola",GU_A3:"AGO",SU_DIF:0,SUBUNIT:"Angola",SU_A3:"AGO",BRK_DIFF:0,NAME:"Angola",NAME_LONG:"Angola",BRK_A3:"AGO",BRK_NAME:"Angola",BRK_GROUP:null,ABBREV:"Ang.",POSTAL:"AO",FORMAL_EN:"People's Republic of Angola",FORMAL_FR:null,NAME_CIAWF:"Angola",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Angola",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:6,MAPCOLOR13:1,POP_EST:29310273,POP_RANK:15,GDP_MD_EST:189e3,POP_YEAR:2017,LASTCENSUS:1970,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"AO",ISO_A2:"AO",ISO_A3:"AGO",ISO_A3_EH:"AGO",ISO_N3:"024",UN_A3:"024",WB_A2:"AO",WB_A3:"AGO",WOE_ID:23424745,WOE_ID_EH:23424745,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"AGO",ADM0_A3_US:"AGO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[11.640096,-17.930636,24.079905,-4.438023],geometry:{type:"MultiPolygon",coordinates:[[[[23.904154,-11.722282],[24.079905,-12.191297],[23.930922,-12.565848],[24.016137,-12.911046],[21.933886,-12.898437],[21.887843,-16.08031],[22.562478,-16.898451],[23.215048,-17.523116],[21.377176,-17.930636],[18.956187,-17.789095],[18.263309,-17.309951],[14.209707,-17.353101],[14.058501,-17.423381],[13.462362,-16.971212],[12.814081,-16.941343],[12.215461,-17.111668],[11.734199,-17.301889],[11.640096,-16.673142],[11.778537,-15.793816],[12.123581,-14.878316],[12.175619,-14.449144],[12.500095,-13.5477],[12.738479,-13.137906],[13.312914,-12.48363],[13.633721,-12.038645],[13.738728,-11.297863],[13.686379,-10.731076],[13.387328,-10.373578],[13.120988,-9.766897],[12.87537,-9.166934],[12.929061,-8.959091],[13.236433,-8.562629],[12.93304,-7.596539],[12.728298,-6.927122],[12.227347,-6.294448],[12.322432,-6.100092],[12.735171,-5.965682],[13.024869,-5.984389],[13.375597,-5.864241],[16.326528,-5.87747],[16.57318,-6.622645],[16.860191,-7.222298],[17.089996,-7.545689],[17.47297,-8.068551],[18.134222,-7.987678],[18.464176,-7.847014],[19.016752,-7.988246],[19.166613,-7.738184],[19.417502,-7.155429],[20.037723,-7.116361],[20.091622,-6.94309],[20.601823,-6.939318],[20.514748,-7.299606],[21.728111,-7.290872],[21.746456,-7.920085],[21.949131,-8.305901],[21.801801,-8.908707],[21.875182,-9.523708],[22.208753,-9.894796],[22.155268,-11.084801],[22.402798,-10.993075],[22.837345,-11.017622],[23.456791,-10.867863],[23.912215,-10.926826],[24.017894,-11.237298],[23.904154,-11.722282]]],[[[12.182337,-5.789931],[11.914963,-5.037987],[12.318608,-4.60623],[12.62076,-4.438023],[12.99551
57,-4.781103],[12.631612,-4.991271],[12.468004,-5.248362],[12.436688,-5.684304],[12.182337,-5.789931]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Albania",SOV_A3:"ALB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Albania",ADM0_A3:"ALB",GEOU_DIF:0,GEOUNIT:"Albania",GU_A3:"ALB",SU_DIF:0,SUBUNIT:"Albania",SU_A3:"ALB",BRK_DIFF:0,NAME:"Albania",NAME_LONG:"Albania",BRK_A3:"ALB",BRK_NAME:"Albania",BRK_GROUP:null,ABBREV:"Alb.",POSTAL:"AL",FORMAL_EN:"Republic of Albania",FORMAL_FR:null,NAME_CIAWF:"Albania",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Albania",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:6,POP_EST:3047987,POP_RANK:12,GDP_MD_EST:33900,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"AL",ISO_A2:"AL",ISO_A3:"ALB",ISO_A3_EH:"ALB",ISO_N3:"008",UN_A3:"008",WB_A2:"AL",WB_A3:"ALB",WOE_ID:23424742,WOE_ID_EH:23424742,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ALB",ADM0_A3_US:"ALB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[19.304486,39.624998,21.02004,42.688247],geometry:{type:"Polygon",coordinates:[[[21.02004,40.842727],[20.99999,40.580004],[20.674997,40.435],[20.615,40.110007],[20.150016,39.624998],[19.98,39.694993],[19.960002,39.915006],[19.406082,40.250773],[19.319059,40.72723],[19.40355,41.409566],[19.540027,41.719986],[19.371769,41.877548],[19.371768,41.877551],[19.304486,42.195745],[19.738051,42.688247],[19.801613,42.500093],[20.0707,42.58863],[20.283755,42.32026],[20.52295,42.21787],[20.590247,41.855409],[20.590247,41.855404],[20.463175,41.515089],[20.605182,41.086226],[21.02004,40.842727]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"United Arab Emirates",SOV_A3:"ARE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"United Arab Emirates",ADM0_A3:"ARE",GEOU_DIF:0,GEOUNIT:"United Arab Emirates",GU_A3:"ARE",SU_DIF:0,SUBUNIT:"United Arab Emirates",SU_A3:"ARE",BRK_DIFF:0,NAME:"United Arab Emirates",NAME_LONG:"United Arab Emirates",BRK_A3:"ARE",BRK_NAME:"United Arab Emirates",BRK_GROUP:null,ABBREV:"U.A.E.",POSTAL:"AE",FORMAL_EN:"United Arab Emirates",FORMAL_FR:null,NAME_CIAWF:"United Arab Emirates",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"United Arab Emirates",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:3,POP_EST:6072475,POP_RANK:13,GDP_MD_EST:667200,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"AE",ISO_A2:"AE",ISO_A3:"ARE",ISO_A3_EH:"ARE",ISO_N3:"784",UN_A3:"784",WB_A2:"AE",WB_A3:"ARE",WOE_ID:23424738,WOE_ID_EH:23424738,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ARE",ADM0_A3_US:"ARE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:20,LONG_LEN:20,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[51.579519,22.496948,56.396847,26.055464],geometry:{type:"Polygon",coordinates:[[[51.579519,24.245497],[51.757441,24.294073],[51.794389,24.019826],[52.577081,24.177439],[53.404007,24.151317],[54.008001,24.121758],[54.693024,24.797892],[55.439025,25.439145],[56.070821,26.055464],[56.261042,25.714606],[56.396847,24.924732],[55.886233,24.920831],[55.804119,24.269604],[55.981214,24.130543],[55.528632,23.933604],[55.525841,23.524869],[55.234489,23.110993],[55.208341,22.70833],[55.006803,22.496948],[52.000733,23.001154],[51.617708,24.014219],[51.579519,24.245497]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Argentina",SOV_A3:"ARG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Argentina",ADM0_A3:"ARG",GEOU_DIF:0,GEOUNIT:"Argentina",GU_A3:"ARG",SU_DIF:0,SUBUNIT:"Argentina",SU_A3:"ARG",BRK_DIFF:0,NAME:"Argentina",NAME_LONG:"Argentina",BRK_A3:"ARG",BRK_NAME:"Argentina",BRK_GROUP:null,ABBREV:"Arg.",POSTAL:"AR",FORMAL_EN:"Argentine Republic",FORMAL_FR:null,NAME_CIAWF:"Argentina",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Argentina",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:13,POP_EST:44293293,POP_RANK:15,GDP_MD_EST:879400,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"AR",ISO_A2:"AR",ISO_A3:"ARG",ISO_A3_EH:"ARG",ISO_N3:"032",UN_A3:"032",WB_A2:"AR",WB_A3:"ARG",WOE_ID:23424747,WOE_ID_EH:23424747,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ARG",ADM0_A3_US:"ARG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[-73.415436,-55.25,-53.628349,-21.83231],geometry:{type:"MultiPolygon",coordinates:[[[[-66.95992,-54.89681],[
5-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401,-52.63637],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681]]],[[[-68.571545,-52.299444],[-69.498362,-52.142761],[-71.914804,-52.009022],[-72.329404,-51.425956],[-72.309974,-50.67701],[-72.975747,-50.74145],[-73.328051,-50.378785],[-73.415436,-49.318436],[-72.648247,-48.878618],[-72.331161,-48.244238],[-72.447355,-47.738533],[-71.917258,-46.884838],[-71.552009,-45.560733],[-71.659316,-44.973689],[-71.222779,-44.784243],[-71.329801,-44.407522],[-71.793623,-44.207172],[-71.464056,-43.787611],[-71.915424,-43.408565],[-72.148898,-42.254888],[-71.746804,-42.051386],[-71.915734,-40.832339],[-71.680761,-39.808164],[-71.413517,-38.916022],[-70.814664,-38.552995],[-71.118625,-37.576827],[-71.121881,-36.658124],[-70.364769,-36.005089],[-70.388049,-35.169688],[-69.817309,-34.193571],[-69.814777,-33.273886],[-70.074399,-33.09121],[-70.535069,-31.36501],[-69.919008,-30.336339],[-70.01355,-29.367923],[-69.65613,-28.459141],[-69.001235,-27.521214],[-68.295542,-26.89934],[-68.5948,-26.506909],[-68.386001,-26.185016],[-68.417653,-24.518555],[-67.328443,-24.025303],[-66.985234,-22.986349],[-67.106674,-22.735925],[-66.273339,-21.83231],[-64.964892,-22.075862],[-64.377021,-22.798091],[-63.986838,-21.993644],[-62.846468,-22.034985],[-62.685057,-22.249029],[-60.846565,-23.880713],[-60.028966,-24.032796],[-58.807128,-24.771459],[-57.777217,-25.16234],[-57.63366,-25.603657],[-58.618174,-27.123719],[-57.60976,-27.395899],[-56.486702,-27.548499],[-55.695846,-27.387837],[-54.788795,-26.621786],[-54.625291,-25.739255],[-54.13005,-25.547639],[-53.628349,-26.124865],[-53.648735,-26.923473],[-54.490725,-27.474757],[-55.162286,-27.881915],[-56.2909,-28.852761],[-57.625133,-30.216295],[-57.874937,-31.016556],[-58.14244,-32.044504],[-58.132648,-33.040567],[-58.349611,-33.263189],[-58.427074,-33.909454],[-58.495442,-34.43149],[-57.22583,-35.288027],[-57.362359,-35.97739],[-56.737487,-36.413126],[-56.788285,-36.901572],[-57.749157,-38.183871],[-59.231857,-38.72022],[-61.237445,-38.928425],[-62.335957,-38.827707],[-62.125763,-39.424105],[-62.330531,-40.172586],[-62.145994,-40.676897],[-62.745803,-41.028761],[-63.770495,-41.166789],[-64.73209,-40.802677],[-65.118035,-41.064315],[-64.978561,-42.058001],[-64.303408,-42.359016],[-63.755948,-42.043687],[-63.458059,-42.563138],[-64.378804,-42.873558],[-65.181804,-43.495381],[-65.328823,-44.501366],[-65.565269,-45.036786],[-66.509966,-45.039628],[-67.293794,-45.551896],[-67.580546,-46.301773],[-66.597066,-47.033925],[-65.641027,-47.236135],[-65.985088,-48.133289],[-67.166179,-48.697337],[-67.816088,-49.869669],[-68.728745,-50.264218],[-69.138539,-50.73251],[-68.815561,-51.771104],[-68.149995,-52.349983],[-68.571545,-52.299444]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Armenia",SOV_A3:"ARM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Armenia",ADM0_A3:"ARM",GEOU_DIF:0,GEOUNIT:"Armenia",GU_A3:"ARM",SU_DIF:0,SUBUNIT:"Armenia",SU_A3:"ARM",BRK_DIFF:0,NAME:"Armenia",NAME_LONG:"Armenia",BRK_A3:"ARM",BRK_NAME:"Armenia",BRK_GROUP:null,ABBREV:"Arm.",POSTAL:"ARM",FORMAL_EN:"Republic of Armenia",FORMAL_FR:null,NAME_CIAWF:"Armenia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Armenia",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:2,MAPCOLOR13:10,POP_EST:3045191,POP_RANK:12,GDP_MD_EST:26300,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"AM",ISO_A2:"AM",ISO_A3:"ARM",ISO_A3_EH:"ARM",ISO_N3:"051",UN_A3:"051",WB_A2:"AM",WB_A3:"ARM",WOE_ID:23424743,WOE_ID_EH:23424743,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ARM",ADM0_A3_US:"ARM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[43.582746,38.741201,46.50572,41.248129],geometry:{type:"Polygon",coordinates:[[[43.582746,41.092143],[44.97248,41.248129],[45.179496,40.985354],[45.560351,40.81229],[45.359175,40.561504],[45.891907,40.218476],[45.610012,39.899994],[46.034534,39.628021],[46.483499,39.464155],[46.50572,38.770605],[46.143623,38.741201],[45.735379,39.319719],[45.739978,39.473999],[45.298145,39.471751],[45.001987,39.740004],[44.79399,39.713003],[44.400009,40.005],[43.656436,40.253564],[43.752658,40.740201],[43.582746,41.092143]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Antarctica",SOV_A3:"ATA",ADM0_DIF:0,LEVEL:2,TYPE:"Indeterminate",ADMIN:"Antarctica",ADM0_A3:"ATA",GEOU_DIF:0,GEOUNIT:"Antarctica",GU_A3:"ATA",SU_DIF:0,SUBUNIT:"Antarctica",SU_A3:"ATA",BRK_DIFF:0,NAME:"Antarctica",NAME_LONG:"Antarctica",BRK_A3:"ATA",BRK_NAME:"Antarctica",BRK_GROUP:null,ABBREV:"Ant.",POSTAL:"AQ",FORMAL_EN:null,FORMAL_FR:null,NAME_CIAWF:null,NOTE_ADM0:null,NOTE_BRK:"Multiple claims held in abeyance",
5NAME_SORT:"Antarctica",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:1,MAPCOLOR13:-99,POP_EST:4050,POP_RANK:4,GDP_MD_EST:810,POP_YEAR:2013,LASTCENSUS:-99,GDP_YEAR:2013,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"AY",ISO_A2:"AQ",ISO_A3:"ATA",ISO_A3_EH:"ATA",ISO_N3:"010",UN_A3:"-099",WB_A2:"-99",WB_A3:"-99",WOE_ID:28289409,WOE_ID_EH:28289409,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ATA",ADM0_A3_US:"ATA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Antarctica",REGION_UN:"Antarctica",SUBREGION:"Antarctica",REGION_WB:"Antarctica",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-180,-90,180,-63.27066],geometry:{type:"MultiPolygon",coordinates:[[[[-59.572095,-80.040179],[-59.865849,-80.549657],[-60.159656,-81.000327],[-62.255393,-80.863178],[-64.488125,-80.921934],[-65.741666,-80.588827],[-65.741666,-80.549657],[-66.290031,-80.255773],[-64.037688,-80.294944],[-61.883246,-80.39287],[-61.138976,-79.981371],[-60.610119,-79.628679],[-59.572095,-80.040179]]],[[[-159.208184,-79.497059],[-161.127601,-79.634209],[-162.439847,-79.281465],[-163.027408,-78.928774],[-163.066604,-78.869966],[-163.712896,-78.595667],[-163.712896,-78.595667],[-163.105801,-78.223338],[-161.245113,-78.380176],[-160.246208,-78.693645],[-159.482405,-79.046338],[-159.208184,-79.497059]]],[[[-45.154758,-78.04707],[-43.920828,-78.478103],[-43.48995,-79.08556],[-43.372438,-79.516645],[-43.333267,-80.026123],[-44.880537,-80.339644],[-46.506174,-80.594357],[-48.386421,-80.829485],[-50.482107,-81.025442],[-52.851988,-80.966685],[-54.164259,-80.633528],[-53.987991,-80.222028],[-51.853134,-79.94773],[-50.991326,-79.614623],[-50.364595,-79.183487],[-49.914131,-78.811209],[-49.306959,-78.458569],[-48.660616,-78.047018],[-48.660616,-78.047019],[-48.151396,-78.04707],[-46.662857,-77.831476],[-45.154758,-78.04707]]],[[[-121.211511,-73.50099],[-119.918851,-73.657725],[-118.724143,-73.481353],[-119.292119,-73.834097],[-120.232217,-74.08881],[-121.62283,-74.010468],[-122.621735,-73.657778],[-122.621735,-73.657777],[-122.406245,-73.324619],[-121.211511,-73.50099]]],[[[-125.559566,-73.481353],[-124.031882,-73.873268],[-124.619469,-73.834097],[-125.912181,-73.736118],[-127.28313,-73.461769],[-127.28313,-73.461768],[-126.558472,-73.246226],[-125.559566,-73.481353]]],[[[-98.98155,-71.933334],[-97.884743,-72.070535],[-96.787937,-71.952971],[-96.20035,-72.521205],[-96.983765,-72.442864],[-98.198083,-72.482035],[-99.432013,-72.442864],[-100.783455,-72.50162],[-101.801868,-72.305663],[-102.330725,-71.894164],[-102.330725,-71.894164],[-101.703967,-71.717792],[-100.430919,-71.854993],[-98.98155,-71.933334]]],[[[-68.451346,-70.955823],[-68.333834,-71.406493],[-68.510128,-71.798407],[-68.784297,-72.170736],[-69.959471,-72.307885],[-71.075889,-72.503842],[-72.388134,-72.484257],[-71.8985,-72.092343],[-73.073622,-72.229492],[-74.19004,-72.366693],[-74.953895,-72.072757],[-75.012625,-71.661258],[-73.915819,-71.269345],[-73.915819,-71.269344],[-73.230331,-71.15178],[-72.074717,-71.190951],[-71.780962,-70.681473],[-71.72218,-70.309196],[-71.741791,-69.505782],[-71.173815,-69.035475],[-70.253252,-68.87874],[-69.724447,-69.251017],[-69.489422,-69.623346],[-69.058518,-70.074016],[-68.725541,-70.505153],[-68.451346,-70.955823]]],[[[-58.614143,-64.152467],[-59.045073,-64.36801],[-59.789342,-64.211223],[-60.611928,-64.309202],[-61.297416,-64.54433],[-62.0221,-64.799094],[-62.51176,-65.09303],[-62.648858,-65.484942],[-62.590128,-65.857219],[-62.120079,-66.190326],[-62.805567,-66.425505],[-63.74569,-66.503847],[-64.294106,-66.837004],[-64.881693,-67.150474],[-65.508425,-67.58161],[-65.665082,-67.953887],[-65.312545,-68.365335],[-64.783715,-68.678908],[-63.961103,-68.913984],[-63.1973,-69.227556],[-62.785955,-69.619419],[-62.570516,-69.991747],[-62.276736,-70.383661],[-61.806661,-70.716768],[-61.512906,-71.089045],[-61.375809,-72.010074],[-61.081977,-72.382351],[-61.003661,-72.774265],[-60.690269,-73.166179],[-60.827367,-73.695242],[-61.375809,-74.106742],[-61.96337,-74.439848],[-63.295201,-74.576997],[-63.74569,-74.92974],[-64.352836,-75.262847],[-65.860987,-75.635124],[-67.192818,-75.79191],[-68.446282,-76.007452],[-69.797724,-76.222995],[-70.600724,-76.634494],[-72.206776,-76.673665],[-73.969536,-76.634494],[-75.555977,-76.712887],[-77.24037,-76.712887],[-76.926979,-77.104802],[-75.399294,-77.28107],[-74.282876,-77.55542],[-73.656119,-77.908112],[-74.772536,-78.221633],[-76.4961,-78.123654],[-77.925858,-78.378419],[-77.984666,-78.789918],[-78.023785,-79.181833],[-76.848637,-79.514939],[-76.633224,-79.887216],[-75.360097,-80.259545],[-73.244852,-80.416331],[-71.442946,-80.69063],[-70.013163,-81.004151],[-68.191646,-81.317672],[-65.704279,-81.474458],[-63.25603,-81.748757],[-61.552026,-82.042692],[-59.691416,-82.37585],[-58.712121,-82.846106],[-58.222487,-83.218434],[-57.008117,-82.865691],[-55.362894,-82.571755],[
5-53.619771,-82.258235],[-51.543644,-82.003521],[-49.76135,-81.729171],[-47.273931,-81.709586],[-44.825708,-81.846735],[-42.808363,-82.081915],[-42.16202,-81.65083],[-40.771433,-81.356894],[-38.244818,-81.337309],[-36.26667,-81.121715],[-34.386397,-80.906172],[-32.310296,-80.769023],[-30.097098,-80.592651],[-28.549802,-80.337938],[-29.254901,-79.985195],[-29.685805,-79.632503],[-29.685805,-79.260226],[-31.624808,-79.299397],[-33.681324,-79.456132],[-35.639912,-79.456132],[-35.914107,-79.083855],[-35.77701,-78.339248],[-35.326546,-78.123654],[-33.896763,-77.888526],[-32.212369,-77.65345],[-30.998051,-77.359515],[-29.783732,-77.065579],[-28.882779,-76.673665],[-27.511752,-76.497345],[-26.160336,-76.360144],[-25.474822,-76.281803],[-23.927552,-76.24258],[-22.458598,-76.105431],[-21.224694,-75.909474],[-20.010375,-75.674346],[-18.913543,-75.439218],[-17.522982,-75.125698],[-16.641589,-74.79254],[-15.701491,-74.498604],[-15.40771,-74.106742],[-16.46532,-73.871614],[-16.112784,-73.460114],[-15.446855,-73.146542],[-14.408805,-72.950585],[-13.311973,-72.715457],[-12.293508,-72.401936],[-11.510067,-72.010074],[-11.020433,-71.539767],[-10.295774,-71.265416],[-9.101015,-71.324224],[-8.611381,-71.65733],[-7.416622,-71.696501],[-7.377451,-71.324224],[-6.868232,-70.93231],[-5.790985,-71.030289],[-5.536375,-71.402617],[-4.341667,-71.461373],[-3.048981,-71.285053],[-1.795492,-71.167438],[-.659489,-71.226246],[-.228637,-71.637745],[.868195,-71.304639],[1.886686,-71.128267],[3.022638,-70.991118],[4.139055,-70.853917],[5.157546,-70.618789],[6.273912,-70.462055],[7.13572,-70.246512],[7.742866,-69.893769],[8.48711,-70.148534],[9.525135,-70.011333],[10.249845,-70.48164],[10.817821,-70.834332],[11.953824,-70.638375],[12.404287,-70.246512],[13.422778,-69.972162],[14.734998,-70.030918],[15.126757,-70.403247],[15.949342,-70.030918],[17.026589,-69.913354],[18.201711,-69.874183],[19.259373,-69.893769],[20.375739,-70.011333],[21.452985,-70.07014],[21.923034,-70.403247],[22.569403,-70.697182],[23.666184,-70.520811],[24.841357,-70.48164],[25.977309,-70.48164],[27.093726,-70.462055],[28.09258,-70.324854],[29.150242,-70.20729],[30.031583,-69.93294],[30.971733,-69.75662],[31.990172,-69.658641],[32.754053,-69.384291],[33.302443,-68.835642],[33.870419,-68.502588],[34.908495,-68.659271],[35.300202,-69.012014],[36.16201,-69.247142],[37.200035,-69.168748],[37.905108,-69.52144],[38.649404,-69.776205],[39.667894,-69.541077],[40.020431,-69.109941],[40.921358,-68.93362
51],[41.959434,-68.600514],[42.938702,-68.463313],[44.113876,-68.267408],[44.897291,-68.051866],[45.719928,-67.816738],[46.503343,-67.601196],[47.44344,-67.718759],[48.344419,-67.366068],[48.990736,-67.091718],[49.930885,-67.111303],[50.753471,-66.876175],[50.949325,-66.523484],[51.791547,-66.249133],[52.614133,-66.053176],[53.613038,-65.89639],[54.53355,-65.818049],[55.414943,-65.876805],[56.355041,-65.974783],[57.158093,-66.249133],[57.255968,-66.680218],[58.137361,-67.013324],[58.744508,-67.287675],[59.939318,-67.405239],[60.605221,-67.679589],[61.427806,-67.953887],[62.387489,-68.012695],[63.19049,-67.816738],[64.052349,-67.405239],[64.992447,-67.620729],[65.971715,-67.738345],[66.911864,-67.855909],[67.891133,-67.934302],[68.890038,-67.934302],[69.712624,-68.972791],[69.673453,-69.227556],[69.555941,-69.678226],[68.596258,-69.93294],[67.81274,-70.305268],[67.949889,-70.697182],[69.066307,-70.677545],[68.929157,-71.069459],[68.419989,-71.441788],[67.949889,-71.853287],[68.71377,-72.166808],[69.869307,-72.264787],[71.024895,-72.088415],[71.573285,-71.696501],[71.906288,-71.324224],[72.454627,-71.010703],[73.08141,-70.716768],[73.33602,-70.364024],[73.864877,-69.874183],[74.491557,-69.776205],[75.62756,-69.737034],[76.626465,-69.619419],[77.644904,-69.462684],[78.134539,-69.07077],[78.428371,-68.698441],[79.113859,-68.326216],[80.093127,-68.071503],[80.93535,-67.875546],[81.483792,-67.542388],[82.051767,-67.366068],[82.776426,-67.209282],[83.775331,-67.30726],[84.676206,-67.209282],[85.655527,-67.091718],[86.752359,-67.150474],[87.477017,-66.876175],[87.986289,-66.209911],[88.358411,-66.484261],[88.828408,-66.954568],[89.67063,-67.150474],[90.630365,-67.228867],[91.5901,-67.111303],[92.608539,-67.189696],[93.548637,-67.209282],[94.17542,-67.111303],[95.017591,-67.170111],[95.781472,-67.385653],[96.682399,-67.248504],[97.759646,-67.248504],[98.68021,-67.111303],[99.718182,-67.248504],[100.384188,-66.915346],[100.893356,-66.58224],[101.578896,-66.30789],[102.832411,-65.563284],[103.478676,-65.700485],[104.242557,-65.974783],[104.90846,-66.327527],[106.181561,-66.934931],[107.160881,-66.954568],[108.081393,-66.954568],[109.15864,-66.837004],[110.235835,-66.699804],[111.058472,-66.425505],[111.74396,-66.13157],[112.860378,-66.092347],[113.604673,-65.876805],[114.388088,-66.072762],[114.897308,-66.386283],[115.602381,-66.699804],[116.699161,-66.660633],[117.384701,-66.915346],[118.57946,-67.170111],[119.832924,-67.268089],[120.871,-67.189696],[121.654415,-66.876175],[122.320369,-66.562654],[123.221296,-66.484261],[124.122274,-66.621462],[125.160247,-66.719389],[126.100396,-66.562654],[127.001427,-66.562654],[127.882768,-66.660633],[128.80328,-66.758611],[129.704259,-66.58224],[130.781454,-66.425505],[131.799945,-66.386283],[132.935896,-66.386283],[133.85646,-66.288304],[134.757387,-66.209963],[135.031582,-65.72007],[135.070753,-65.308571],[135.697485,-65.582869],[135.873805,-66.033591],[136.206705,-66.44509],[136.618049,-66.778197],[137.460271,-66.954568],[138.596223,-66.895761],[139.908442,-66.876175],[140.809421,-66.817367],[142.121692,-66.817367],[143.061842,-66.797782],[144.374061,-66.837004],[145.490427,-66.915346],[146.195552,-67.228867],[145.999699,-67.601196],[146.646067,-67.895131],[147.723263,-68.130259],[148.839629,-68.385024],[150.132314,-68.561292],[151.483705,-68.71813],[152.502247,-68.874813],[153.638199,-68.894502],[154.284567,-68.561292],[155.165857,-68.835642],[155.92979,-69.149215],[156.811132,-69.384291],[158.025528,-69.482269],[159.181013,-69.599833],[159.670699,-69.991747],[160.80665,-70.226875],[161.570479,-70.579618],[162.686897,-70.736353],[163.842434,-70.716768],[164.919681,-70.775524],[166.11444,-70.755938],[167.309095,-70.834332],[168.425616,-70.971481],[169.463589,-71.20666],[170.501665,-71.402617],[171.20679,-71.696501],[171.089227,-72.088415],[170.560422,-72.441159],[170.109958,-72.891829],[169.75737,-73.24452],[169.287321,-73.65602],[167.975101,-73.812806],[167.387489,-74.165498],[166.094803,-74.38104],[165.644391,-74.772954],[164.958851,-75.145283],[164.234193,-75.458804],[163.822797,-75.870303],[163.568239,-76.24258],[163.47026,-76.693302],[163.489897,-77.065579],[164.057873,-77.457442],[164.273363,-77.82977],[164.743464,-78.182514],[166.604126,-78.319611],[166.995781,-78.750748],[165.193876,-78.907483],[163.666217,-79.123025],[161.766385,-79.162248],[160.924162,-79.730482],[160.747894,-80.200737],[160.316964,-80.573066],[159.788211,-80.945395],[161.120016,-81.278501],[161.629287,-81.690001],[162.490992,-82.062278],[163.705336,-82.395435
5],[165.095949,-82.708956],[166.604126,-83.022477],[168.895665,-83.335998],[169.404782,-83.825891],[172.283934,-84.041433],[172.477049,-84.117914],[173.224083,-84.41371],[175.985672,-84.158997],[178.277212,-84.472518],[180,-84.71338],[180,-90],[-180,-90],[-180,-84.71338],[-179.942499,-84.721443],[-179.058677,-84.139412],[-177.256772,-84.452933],[-177.140807,-84.417941],[-176.084673,-84.099259],[-175.947235,-84.110449],[-175.829882,-84.117914],[-174.382503,-84.534323],[-173.116559,-84.117914],[-172.889106,-84.061019],[-169.951223,-83.884647],[-168.999989,-84.117914],[-168.530199,-84.23739],[-167.022099,-84.570497],[-164.182144,-84.82521],[-161.929775,-85.138731],[-158.07138,-85.37391],[-155.192253,-85.09956],[-150.942099,-85.295517],[-148.533073,-85.609038],[-145.888918,-85.315102],[-143.107718,-85.040752],[-142.892279,-84.570497],[-146.829068,-84.531274],[-150.060732,-84.296146],[-150.902928,-83.904232],[-153.586201,-83.68869],[-153.409907,-83.23802],[-153.037759,-82.82652],[-152.665637,-82.454192],[-152.861517,-82.042692],[-154.526299,-81.768394],[-155.29018,-81.41565],[-156.83745,-81.102129],[-154.408787,-81.160937],[-152.097662,-81.004151],[-150.648293,-81.337309],[-148.865998,-81.043373],[-147.22075,-80.671045],[-146.417749,-80.337938],[-146.770286,-79.926439],[-148.062947,-79.652089],[-149.531901,-79.358205],[-151.588416,-79.299397],[-153.390322,-79.162248],[-155.329376,-79.064269],[-155.975668,-78.69194],[-157.268302,-78.378419],[-158.051768,-78.025676],[-158.365134,-76.889207],[-157.875474,-76.987238],[-156.974573,-77.300759],[-155.329376,-77.202728],[-153.742832,-77.065579],[-152.920247,-77.496664],[-151.33378,-77.398737],[-150.00195,-77.183143],[-148.748486,-76.908845],[-147.612483,-76.575738],[-146.104409,-76.47776],[-146.143528,-76.105431],[-146.496091,-75.733154],[-146.20231,-75.380411],[-144.909624,-75.204039],[-144.322037,-75.537197],[-142.794353,-75.34124],[-141.638764,-75.086475],[-140.209007,-75.06689],[-138.85759,-74.968911],[-137.5062,-74.733783],[-136.428901,-74.518241],[-135.214583,-74.302699],[-134.431194,-74.361455],[-133.745654,-74.439848],[-132.257168,-74.302699],[-130.925311,-74.479019],[-129.554284,-74.459433],[-128.242038,-74.322284],[-126.890622,-74.420263],[-125.402082,-74.518241],[-124.011496,-74.479019],[-122.562152,-74.498604],[-121.073613,-74.518241],[-119.70256,-74.479019],[-118.684145,-74.185083],[-117.469801,-74.028348],[-116.216312,-74.243891],[-115.021552,-74.067519],[-113.944331,-73.714828],[-113.297988,-74.028348],[-112.945452,-74.38104],[-112.299083,-74.714198],[-111.261059,-74.420263],[-110.066325,-74.79254],[-108.714909,-74.910103],[-107.559346,-75.184454],[-106.149148,-75.125698],[-104.876074,-74.949326],[-103.367949,-74.988497],[-102.016507,-75.125698],[-100.645531,-75.302018],[-100.1167,-74.870933],[-100.763043,-74.537826],[-101.252703,-74.185083],[-102.545337,-74.106742],[-103.113313,-73.734413],[-103.328752,-73.362084],[-103.681289,-72.61753],[-102.917485,-72.754679],[-101.60524,-72.813436],[-100.312528,-72.754679],[-99.13738,-72.911414],[-98.118889,-73.20535],[-97.688037,-73.558041],[-96.336595,-73.616849],[-95.043961,-73.4797],[-93.672907,-73.283743],[-92.439003,-73.166179],[-91.420564,-73.401307],[-90.088733,-73.322914],[-89.226951,-72.558722],[-88.423951,-73.009393],[-87.268337,-73.185764],[-86.014822,-73.087786],[-85.192236,-73.4797],[-83.879991,-73.518871],[-82.665646,-73.636434],[-81.470913,-73.851977],[-80.687447,-73.4797],[-80.295791,-73.126956],[-79.296886,-73.518871],[-77.925858,-73.420892],[-76.907367,-73.636434],[-76.221879,-73.969541],[-74.890049,-73.871614],[-73.852024,-73.65602],[-72.833533,-73.401307],[-71.619215,-73.264157],[-70.209042,-73.146542],[-68.935916,-73.009393],[-67.956622,-72.79385],[-67.369061,-72.480329],[-67.134036,-72.049244],[-67.251548,-71.637745],[-67.56494,-71.245831],[-67.917477,-70.853917],[-68.230843,-70.462055],[-68.485452,-70.109311],[-68.544209,-69.717397],[-68.446282,-69.325535],[-67.976233,-68.953206],[-67.5845,-68.541707],[-67.427843,-68.149844],[-67.62367,-67.718759],[-67.741183,-67.326845],[-67.251548,-66.876175],[-66.703184,-66.58224],[-66.056815,-66.209963],[-65.371327,-65.89639],[-64.568276,-65.602506],[-64.176542,-65.171423],[-63.628152,-64.897073],[-63.001394,-64.642308],[-62.041686,-64.583552],[-61.414928,-64.270031],[-60.709855,-64.074074],[-59.887269,-63.95651],[-59.162585,-63.701745],[-58.594557,-63.388224],[-57.811143,-63.27066],[-57.223582,-63.525425],[-57.59573,-63.858532],[-58.614143,-64.152467]]]]}},{type:"Feature",properties:{scalerank:3,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"France",SOV_A3:"FR1",ADM0_DIF:1,LEVEL:2,TYPE:"Dependency",ADMIN:"French Southern and Antarctic Lands",ADM0_A3:"ATF",GEOU_DIF:0,GEOUNIT:"French Southern and Antarctic Lands",GU_A3:"ATF",SU_DIF:0,SUBUNIT:"French Southern and Antarctic Lands",SU_A3:"ATF",BRK_DIFF:0,NAME:"Fr. S. Antarctic Lands",NAME_LONG:"French Southern and Antarctic Lands",BRK_A3:"ATF",BRK_NAME:"Fr. S. and Antarctic Lands",BRK_GROUP:null,ABBREV:"Fr. S.A.L.",POSTAL:"TF",FORMAL_EN:"Territory of the French Southern and Antarctic Lands",FORMAL_FR:null,NAME_CIAWF:null,NOTE_ADM0:"Fr.",NOTE_BRK:null,NAME_SORT:"French Southern and Antarctic Lands",NAME_ALT:null,MAPCOLOR7:7,MAPCOLOR8:5,MAPCOLOR9:9,MAPCOLOR13:11,POP_EST:140,POP_RANK:1,GDP_MD_EST:16,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"FS",ISO_A2:"TF",ISO_A3:"ATF",ISO_A3_EH:"ATF",ISO_N3:"260",UN_A3:"-099",WB_A2:"-99",WB_A3:"-99",WOE_ID:28289406,WOE_ID_EH:28289406,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ATF",ADM0_A3_US:"ATF",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Seven seas (open ocean)",REGION_UN:"Seven seas (open ocean)",SUBREGION:"Seven seas (open ocean)",REGION_WB:"Sub-Saharan Africa",NAME_LEN:22,LONG_LEN:35,ABBREV_LEN:10,TINY:2,HOMEPART:-99,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[68.72,-49.775,70.56,-48.625],geometry:{type:"Polygon",coordinates:[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Australia",SOV_A3:"AU1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Australia",ADM0_A3:"AUS",GEOU_DIF:0,GEOUNIT:"Australia",GU_A3:"AUS",SU_DIF:0,SUBUNIT:"Australia",SU_A3:"AUS",BRK_DIFF:0,NAME:"Australia",NAME_LONG:"Australia",BRK_A3:"AUS",BRK_NAME:"Australia",BRK_GROUP:null,ABBREV:"Auz.",POSTAL:"AU",FORMAL_EN:"Commonwealth of Australia",FORMAL_FR:null,NAME_CIAWF:"Australia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Australia",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:7,POP_EST:23232413,POP_RANK:15,GDP_MD_EST:1189e3,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"AS",ISO_A2:"AU",ISO_A3:"AUS",ISO_A3_EH:"AUS",ISO_N3:"036",UN_A3:"036",WB_A2:"AU",WB_A3:"AUS",WOE_ID:-90,WOE_ID_EH:23424748,WOE_NOTE:"Includes Ashmore and Cartier Islands (23424749) and Coral Sea Islands (23424790).",ADM0_A3_IS:"AUS",ADM0_A3_US:"AUS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Australia and New Zealand",REGION_WB:"East Asia & Pacific",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.7},bbox:[113.338953,-43.634597,153.569469,-10.668186],geometry:{type:"MultiPolygon",coordinates:[[[[145.397978,
5-40.792549],[146.364121,-41.137695],[146.908584,-41.000546],[147.689259,-40.808258],[148.289068,-40.875438],[148.359865,-42.062445],[148.017301,-42.407024],[147.914052,-43.211522],[147.564564,-42.937689],[146.870343,-43.634597],[146.663327,-43.580854],[146.048378,-43.549745],[145.43193,-42.693776],[145.29509,-42.03361],[144.718071,-41.162552],[144.743755,-40.703975],[145.397978,-40.792549]]],[[[143.561811,-13.763656],[143.922099,-14.548311],[144.563714,-14.171176],[144.894908,-14.594458],[145.374724,-14.984976],[145.271991,-15.428205],[145.48526,-16.285672],[145.637033,-16.784918],[145.888904,-16.906926],[146.160309,-17.761655],[146.063674,-18.280073],[146.387478,-18.958274],[147.471082,-19.480723],[148.177602,-19.955939],[148.848414,-20.39121],[148.717465,-20.633469],[149.28942,-21.260511],[149.678337,-22.342512],[150.077382,-22.122784],[150.482939,-22.556142],[150.727265,-22.402405],[150.899554,-23.462237],[151.609175,-24.076256],[152.07354,-24.457887],[152.855197,-25.267501],[153.136162,-26.071173],[153.161949,-26.641319],[153.092909,-27.2603],[153.569469,-28.110067],[153.512108,-28.995077],[153.339095,-29.458202],[153.069241,-30.35024],[153.089602,-30.923642],[152.891578,-31.640446],[152.450002,-32.550003],[151.709117,-33.041342],[151.343972,-33.816023],[151.010555,-34.31036],[150.714139,-35.17346],[150.32822,-35.671879],[150.075212,-36.420206],[149.946124,-37.109052],[149.997284,-37.425261],[149.423882,-37.772681],[148.304622,-37.809061],[147.381733,-38.219217],[146.922123,-38.606532],[146.317922,-39.035757],[145.489652,-38.593768],[144.876976,-38.417448],[145.032212,-37.896188],[144.485682,-38.085324],[143.609974,-38.809465],[142.745427,-38.538268],[142.17833,-38.380034],[141.606582,-38.308514],[140.638579,-38.019333],[139.992158,-37.402936],[139.806588,-36.643603],[139.574148,-36.138362],[139.082808,-35.732754],[138.120748,-35.612296],[138.449462,-35.127261],[138.207564,-34.384723],[137.71917,-35.076825],[136.829406,-35.260535],[137.352371,-34.707339],[137.503886,-34.130268],[137.890116,-33.640479],[137.810328,-32.900007],[136.996837,-33.752771],[136.372069,-34.094766],[135.989043,-34.890118],[135.208213,-34.47867],[135.239218,-33.947953],[134.613417,-33.222778],[134.085904,-32.848072],[134.273903,-32.617234],[132.990777,-32.011224],[132.288081,-31.982647],[131.326331,-31.495803],[129.535794,-31.590423],[128.240938,-31.948489],[127.102867,-32.282267],[126.148714,-32.215966],[125.088623,-32.728751],[124.221648,-32.959487],[124.028947,-33.483847],[123.659667,-33.890179],[122.811036,-33.914467],[122.183064,-34.003402],[121.299191,-33.821036],[120.580268,-33.930177],[119.893695,-33.976065],[119.298899,-34.509366],[119.007341,-34.464149],[118.505718,-34.746819],[118.024972,-35.064733],[117.295507,-35.025459],[116.625109,-35.025097],[115.564347,-34.386428],[115.026809,-34.196517],[115.048616,-33.623425],[115.545123,-33.487258],[115.714674,-33.259572],[115.679379,-32.900369],[115.801645,-32.205062],[115.689611,-31.612437],[115.160909,-30.601594],[114.997043,-30.030725],[115.040038,-29.461095],[114.641974,-28.810231],[114.616498,-28.516399],[114.173579,-28.118077],[114.048884,-27.334765],[113.477498,-26.543134],[113.338953,-26.116545],[113.778358,-26.549025],[113.440962,-25.621278],[113.936901,-25.911235],[114.232852,-26.298446],[114.216161,-25.786281],[113.721255,-24.998939],[113.625344,-24.683971],[113.393523,-24.384764],[113.502044,-23.80635],[113.706993,-23.560215],[113.843418,-23.059987],[113.736552,-22.475475],[114.149756,-21.755881],[114.225307,-22.517488],[114.647762,-21.82952],[115.460167,-21.495173],[115.947373,-21.068688],[116.711615,-20.701682],[117.166316,-20.623599],[117.441545,-20.746899],[118.229559,-20.374208],[118.836085,-20.263311],[118.987807,-20.044203],[119.252494,-19.952942],[119.805225,-19.976506],[120.85622,-19.683708],[121.399856,-19.239756],[121.655138,-18.705318],[122.241665,-18.197649],[122.286624,-17.798603],[122.312772,-17.254967],[123.012574,-16.4052],[123.433789,-17.268558],[123.859345,-17.069035],[123.503242,-16.596506],[123.817073,-16.111316],[124.258287,-16.327944],[124.379726,-15.56706],[124.926153,-15.0751],[125.167275,-14.680396],[125.670087,-14.51007],[125.685796,-14.230656],[126.125149,-14.347341],[126.142823,-14.095987],[126.582589,-13.952791],[127.065867,-13.817968],[127.804633,-14.276906],[128.35969,-14.86917],[128.985543,-14.875991],[129.621473,-14.969784],[129.4096,-14.42067],[129.888641,-13.618703],[130.339466,-13.357376],[130.183506,-13.10752],[130.617795,-12.536392],[131.223495,-12.183649],[131.735091,-12.302453],[132.575298,-12.114041],[132.557212,-11.603012],[131.824698,-11.273782],[132.357224,-11.128519],[133.019561,-11.376411],[133.550846,-11.786515],[134.393068,-12.042365],[134.678632,-11.941183],[135.298491,-12.248606],[135.882693,-11.962267],[136.258381,-12.049342],[136.492475,-11.857209],[136.95162,-12.351959],[136.685125,-12.887223],[136.305407,-13.29123],[135.961758,-13.324509],[136.077617,-13.724278],[135.783836,-14.223989],[135.428664,-14.715432],[135.500184,-14.997741],[136.295175,-15.550265],[137.06536,-15.870762],[137.580471,-16.215082],[138.303217,-16.807604],[138.585164,-16.806622],[139.108543,-17.062679],[139.260575,-17.371601],[140.215245,-17.710805],[140.875463,-17.369069],[141.07111,-16.832047],[141.274095,-16.38887],[141.398222,-15.840532],[141.702183,-15.044921],[141.56338,-14.561333],[141.63552,-14.270395],[141.519869,-13.698078],[141.65092,-12.944688],[141.842691,-12.741548],[141.68699,-12.407614],[141.928629,-11.877466],[142.118488,-11.328042],[142.143706,-11.042737],[142.51526,-10.668186],[142.79731,-11.157355],[142.866763,-11.784707],[143.115947,-11.90563],[143.158632,-12.325656],[143.522124,-12.834358],[143.597158,-13.400422],[143.561811,-13.763656]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Austria",SOV_A3:"AUT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Austria",ADM0_A3:"AUT",GEOU_DIF:0,GEOUNIT:"Austria",GU_A3:"AUT",SU_DIF:0,SUBUNIT:"Austria",SU_A3:"AUT",BRK_DIFF:0,NAME:"Austria",NAME_LONG:"Austria",BRK_A3:"AUT",BRK_NAME:"Austria",BRK_GROUP:null,ABBREV:"Aust.",POSTAL:"A",FORMAL_EN:"Republic of Austria",FORMAL_FR:null,NAME_CIAWF:"Austria",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Austria",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:4,POP_EST:8754413,POP_RANK:13,GDP_MD_EST:416600,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"AU",ISO_A2:"AT",ISO_A3:"AUT",ISO_A3_EH:"AUT",ISO_N3:"040",UN_A3:"040",WB_A2:"AT",WB_A3:"AUT",WOE_ID:23424750,WOE_ID_EH:23424750,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"AUT",ADM0_A3_US:"AUT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[9.47997,46.431817,16.979667,49.039074],geometry:{type:"Polygon",coordinates:[[[16.979667,48.123497],[16.903754,47.714866],[16.340584,47.712902],[16.534268,47.496171],[16.202298,46.852386],[16.011664,46.683611],[15.137092,46.658703],[14.632472,46.431817],[13.806475,46.509306],[12.376485,46.767559],[12.153088,47.115393],[11.164828,46.941579],[11.048556,46.751359],[10.442701,46.893546],[9.932448,46.920728],[9.47997,47.10281],[9.632932,47.347601],[9.594226,47.525058],[9.896068,47.580197],[10.402084,47.302488],[10.544504,47.566399],[11.426414,47.523766],[12.141357,47.703083],[12.62076,47.672388],[12.932627,47.467646],[13.025851,47.637584],[12.884103,48.289146],[13.243357,48.416115],[13.595946,48.877172],[14.338898,48.555305],[14.901447,48.964402],[15.253416,49.039074],[16.029647,48.733899],[16.499283,48.785808],[16.960288,48.596982],[16.879983,48.470013],[16.979667,48.123497]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Azerbaijan",SOV_A3:"AZE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Azerbaijan",ADM0_A3:"AZE",GEOU_DIF:0,GEOUNIT:"Azerbaijan",GU_A3:"AZE",SU_DIF:0,SUBUNIT:"Azerbaijan",SU_A3:"AZE",BRK_DIFF:0,NAME:"Azerbaijan",NAME_LONG:"Azerbaijan",BRK_A3:"AZE",BRK_NAME:"Azerbaijan",BRK_GROUP:null,ABBREV:"Aze.",POSTAL:"AZ",FORMAL_EN:"Republic of Azerbaijan",FORMAL_FR:null,NAME_CIAWF:"Azerbaijan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Azerbaijan",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:6,MAPCOLOR9:5,MAPCOLOR13:8,POP_EST:9961396,POP_RANK:13,GDP_MD_EST:167900,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"AJ",ISO_A2:"AZ",ISO_A3:"AZE",ISO_A3_EH:"AZE",ISO_N3:"031",UN_A3:"031",WB_A2:"AZ",WB_A3:"AZE",WOE_ID:23424741,WOE_ID_EH:23424741,WOE_
5NOTE:"Exact WOE match as country",ADM0_A3_IS:"AZE",ADM0_A3_US:"AZE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[44.79399,38.270378,50.392821,41.860675],geometry:{type:"MultiPolygon",coordinates:[[[[46.50572,38.770605],[46.483499,39.464155],[46.034534,39.628021],[45.610012,39.899994],[45.891907,40.218476],[45.359175,40.561504],[45.560351,40.81229],[45.179496,40.985354],[44.97248,41.248129],[45.217426,41.411452],[45.962601,41.123873],[46.501637,41.064445],[46.637908,41.181673],[46.145432,41.722802],[46.404951,41.860675],[46.686071,41.827137],[47.373315,41.219732],[47.815666,41.151416],[47.987283,41.405819],[48.584353,41.808869],[49.110264,41.282287],[49.618915,40.572924],[50.08483,40.526157],[50.392821,40.256561],[49.569202,40.176101],[49.395259,39.399482],[49.223228,39.049219],[48.856532,38.815486],[48.883249,38.320245],[48.634375,38.270378],[48.010744,38.794015],[48.355529,39.288765],[48.060095,39.582235],[47.685079,39.508364],[46.50572,38.770605]]],[[[44.79399,39.713003],[45.001987,39.740004],[45.298145,39.471751],[45.739978,39.473999],[45.735379,39.319719],[46.143623,38.741201],[45.457722,38.874139],[44.952688,39.335765],[44.79399,39.713003]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Burundi",SOV_A3:"BDI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Burundi",ADM0_A3:"BDI",GEOU_DIF:0,GEOUNIT:"Burundi",GU_A3:"BDI",SU_DIF:0,SUBUNIT:"Burundi",SU_A3:"BDI",BRK_DIFF:0,NAME:"Burundi",NAME_LONG:"Burundi",BRK_A3:"BDI",BRK_NAME:"Burundi",BRK_GROUP:null,ABBREV:"Bur.",POSTAL:"BI",FORMAL_EN:"Republic of Burundi",FORMAL_FR:null,NAME_CIAWF:"Burundi",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Burundi",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:8,POP_EST:11466756,POP_RANK:14,GDP_MD_EST:7892,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"BY",ISO_A2:"BI",ISO_A3:"BDI",ISO_A3_EH:"BDI",ISO_N3:"108",UN_A3:"108",WB_A2:"BI",WB_A3:"BDI",WOE_ID:23424774,WOE_ID_EH:23424774,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BDI",ADM0_A3_US:"BDI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[29.024926,-4.499983,30.75224,-2.348487],geometry:{type:"Polygon",coordinates:[[[29.339998,-4.499983],[29.276384,-3.293907],[29.024926,-2.839258],[29.632176,-2.917858],[29.938359,-2.348487],[30.469674,-2.413855],[30.52766,-2.80762],[30.74301,-3.03431],[30.75224,-3.35931],[30.50554,-3.56858],[30.11632,-4.09012],[29.753512,-4.452389],[29.339998,-4.499983]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Belgium",SOV_A3:"BEL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Belgium",ADM0_A3:"BEL",GEOU_DIF:0,GEOUNIT:"Belgium",GU_A3:"BEL",SU_DIF:0,SUBUNIT:"Belgium",SU_A3:"BEL",BRK_DIFF:0,NAME:"Belgium",NAME_LONG:"Belgium",BRK_A3:"BEL",BRK_NAME:"Belgium",BRK_GROUP:null,ABBREV:"Belg.",POSTAL:"B",FORMAL_EN:"Kingdom of Belgium",FORMAL_FR:null,NAME_CIAWF:"Belgium",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Belgium",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:1,MAPCOLOR13:8,POP_EST:11491346,POP_RANK:14,GDP_MD_EST:508600,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"BE",ISO_A2:"BE",ISO_A3:"BEL",ISO_A3_EH:"BEL",ISO_N3:"056",UN_A3:"056",WB_A2:"BE",WB_A3:"BEL",WOE_ID:23424757,WOE_ID_EH:23424757,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BEL",ADM0_A3_US:"BEL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[2.513573,49.529484,6.156658,51.475024],geometry:{type:"Polygon",coordinates:[[[4.047071,51.267259],[4.973991,51.475024],[5.606976,51.037298],[6.156658,50.803721],[6.043073,50.128052],[5.782417,50.090328],[5.674052,49.529484],[4.799222,49.985373],[4.286023,49.907497],[3.588184,50.378992],[3.123252,50.780363],[2.658422,50.796848],[2.513573,51.148506],[3.314971,51.345781],[3.315011,51.345777],[3.314971,51.345755],[4.047071,51.267259]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Benin",SOV_A3:"BEN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Benin",ADM0_A3:"BEN",GEOU_DIF:0,GEOUNIT:"Benin",GU_A3:"BEN",SU_DIF:0,SUBUNIT:"Benin",SU_A3:"BEN",BRK_DIFF:0,NAME:"Benin",NAME_LONG:"Benin",BRK_A3:"BEN",BRK_NAME:"Benin",BRK_GROUP:null,ABBREV:"Benin",POSTAL:"BJ",FORMAL_EN:"Republic of Benin",FORMAL_FR:null,NAME_CIAWF:"Benin",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Benin",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:12,POP_EST:11038805,POP_RANK:14,GDP_MD_EST:24310,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"BN",ISO_A2:"BJ",ISO_A3:"BEN",ISO_A3_EH:"BEN",ISO_N3:"204",UN_A3:"204",WB_A2:"BJ",WB_A3:"BEN",WOE_ID:23424764,WOE_ID_EH:23424764,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BEN",ADM0_A3_US:"BEN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[.772336,6.142158,3.797112,12.235636],geometry:{type:"Polygon",coordinates:[[[2.691702,6.258817],[1.865241,6.142158],[1.618951,6.832038],[1.664478,9.12859],[1.463043,9.334624],[1.425061,9.825395
5],[1.077795,10.175607],[.772336,10.470808],[.899563,10.997339],[1.24347,11.110511],[1.447178,11.547719],[1.935986,11.64115],[2.154474,11.94015],[2.490164,12.233052],[2.848643,12.235636],[3.61118,11.660167],[3.572216,11.327939],[3.797112,10.734746],[3.60007,10.332186],[3.705438,10.06321],[3.220352,9.444153],[2.912308,9.137608],[2.723793,8.506845],[2.749063,7.870734],[2.691702,6.258817]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Burkina Faso",SOV_A3:"BFA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Burkina Faso",ADM0_A3:"BFA",GEOU_DIF:0,GEOUNIT:"Burkina Faso",GU_A3:"BFA",SU_DIF:0,SUBUNIT:"Burkina Faso",SU_A3:"BFA",BRK_DIFF:0,NAME:"Burkina Faso",NAME_LONG:"Burkina Faso",BRK_A3:"BFA",BRK_NAME:"Burkina Faso",BRK_GROUP:null,ABBREV:"B.F.",POSTAL:"BF",FORMAL_EN:"Burkina Faso",FORMAL_FR:null,NAME_CIAWF:"Burkina Faso",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Burkina Faso",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:1,MAPCOLOR9:5,MAPCOLOR13:11,POP_EST:20107509,POP_RANK:15,GDP_MD_EST:32990,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"UV",ISO_A2:"BF",ISO_A3:"BFA",ISO_A3_EH:"BFA",ISO_N3:"854",UN_A3:"854",WB_A2:"BF",WB_A3:"BFA",WOE_ID:23424978,WOE_ID_EH:23424978,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BFA",ADM0_A3_US:"BFA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:12,LONG_LEN:12,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-5.470565,9.610835,2.177108,15.116158],geometry:{type:"Polygon",coordinates:[[[2.154474,11.94015],[1.935986,11.64115],[1.447178,11.547719],[1.24347,11.110511],[.899563,10.997339],[.023803,11.018682],[-.438702,11.098341],[-.761576,10.93693],[-1.203358,11.009819],[-2.940409,10.96269],[-2.963896,10.395335],[-2.827496,9.642461],[-3.511899,9.900326],[-3.980449,9.862344],[-4.330247,9.610835],[-4.779884,9.821985],[-4.954653,10.152714],[-5.404342,10.370737],[-5.470565,10.95127],[-5.197843,11.375146],[-5.220942,11.713859],[-4.427166,12.542646],[-4.280405,13.228444],[-4.006391,13.472485],[-3.522803,13.337662],[-3.103707,13.541267],[-2.967694,13.79815],[-2.191825,14.246418],[-2.001035,14.559008],[-1.066363,14.973815],[-.515854,15.116158],[-.266257,14.924309],[.374892,14.928908],[.295646,14.444235],[.429928,13.988733],[.993046,13.33575],[1.024103,12.851826],[2.177108,12.625018],[2.154474,11.94015]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Bangladesh",SOV_A3:"BGD",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Bangladesh",ADM0_A3:"BGD",GEOU_DIF:0,GEOUNIT:"Bangladesh",GU_A3:"BGD",SU_DIF:0,SUBUNIT:"Bangladesh",SU_A3:"BGD",BRK_DIFF:0,NAME:"Bangladesh",NAME_LONG:"Bangladesh",BRK_A3:"BGD",BRK_NAME:"Bangladesh",BRK_GROUP:null,ABBREV:"Bang.",POSTAL:"BD",FORMAL_EN:"People's Republic of Bangladesh",FORMAL_FR:null,NAME_CIAWF:"Bangladesh",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bangladesh",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:4,MAPCOLOR9:7,MAPCOLOR13:7,POP_EST:157826578,POP_RANK:17,GDP_MD_EST:628400,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"BG",ISO_A2:"BD",ISO_A3:"BGD",ISO_A3_EH:"BGD",ISO_N3:"050",UN_A3:"050",WB_A2:"BD",WB_A3:"BGD",WOE_ID:23424759,WOE_ID_EH:23424759,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BGD",ADM0_A3_US:"BGD",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[88.084422,20.670883,92.672721,26.446526],geometry:{type:"Polygon",coordinates:[[[92.672721,22.041239],[92.652257,21.324048],[92.303234,21.475485],[92.368554,20.670883],[92.082886,21.192195],[92.025215,21.70157],[91.834891,22.182936],[91.417087,22.765019],[90.496006,22.805017],[90.586957,22.392794],[90.272971,21.836368],[89.847467,22.039146],[89.70205,21.857116],[89.418863,21.966179],[89.031961,22.055708],[88.876312,22.879146],[88.52977,23.631142],[88.69994,24.233715],[88.084422,24.501657],[88.306373,24.866079],[88.931554,25.238692],[88.209789,25.768066],[88.563049,26.446526],[89.355094,26.014407],[89.832481,25.965082],[89.920693,25.26975],[90.872211,25.132601],[91.799596,25.147432],[92.376202,24.976693],[91.915093,24.130414],[91.46773,24.072639],[91.158963,23.503527],[91.706475,22.985264],[91.869928,23.624346],[92.146035,23.627499],[92.672721,22.041239]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Bulgaria",SOV_A3:"BGR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Bulgaria",ADM0_A3:"BGR",GEOU_DIF:0,GEOUNIT:"Bulgaria",GU_A3:"BGR",SU_DIF:0,SUBUNIT:"Bulgaria",SU_A3:"BGR",BRK_DIFF:0,NAME:"Bulgaria",NAME_LONG:"Bulgaria",BRK_A3:"BGR",BRK_NAME:"Bulgaria",BRK_GROUP:null,ABBREV:"Bulg.",POSTAL:"BG",FORMAL_EN:"Republic of Bulgaria",FORMAL_FR:null,NAME_CIAWF:"Bulgaria",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bulgaria",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:1,MAPCOLOR13:8,POP_EST:7101510,POP_RANK:13,GDP_MD_EST:143100,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"BU",ISO_A2:"BG",ISO_A3:"BGR",ISO_A3_EH:"BGR",ISO_N3:"100",UN_A3:"100",WB_A2:"BG",WB_A3:"BGR",WOE_ID:23424771,WOE_ID_EH:23424771,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BGR",ADM0_A3_US:"BGR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[22.380526,41.234486,28.558081,44.234923],geometry:{type:"Polygon",coordinates:[[[22.65715,44.234923],[22.944832,43.823785],[23.332302,43.897011],[24.100679,43.741051],[25.569272,43.688445],[26.065159,43.943494],[27.2424,44.175986],[27.970107,43.812468],[28.558081,43.707462],[28.039095,43.293172],[27.673898,42.577892],[27.99672,42.007359],[27.135739,42.141485],[26.117042,41.826905],[26.106138,41.328899],[25.197201,41.234486],[24.492645,41.583896],[23.692074,41.309081],[22.952377,41.337994],[22.881374,41.999297],[22.380526,42.32026],[22.545012,42.461362],[22.436595,42.580321],[22.604801,42.898519],[22.986019,43.211161],[22.500157,43.642814],[22.410446,44.008063],[22.65715,44.234923]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"The Bahamas",SOV_A3:"BHS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"The Bahamas",ADM0_A3:"BHS",GEOU_DIF:0,GEOUNIT:"The Bahamas",GU_A3:"BHS",SU_DIF:0,SUBUNIT:"The Bahamas",SU_A3:"BHS",BRK_DIFF:0,NAME:"Bahamas",NAME_LONG:"Bahamas",BRK_A3:"BHS",BRK_NAME:"Bahamas",BRK_GROUP:null,ABBREV:"Bhs.",POSTAL:"BS",FORMAL_EN:"Commonwealth of the Bahamas",FORMAL_FR:null,NAME_CIAWF:"Bahamas, The",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bahamas, The",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:1,MAPCOLOR9:2,MAPCOLOR13:5,POP_EST:329988,POP_RANK:10,GDP_MD_EST:9066,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"BF",ISO_A2:"BS",ISO_A3:"BHS",ISO_A3_EH:"BHS",ISO_N3:"044",UN_A3:"044",WB_A2:"BS",WB_A3:"BHS",WOE_ID:23424758,WOE_ID_EH:23424758,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BHS",ADM0_A3_US:"BHS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-78.98,23.71,-77,27.04],geometry:{type:"MultiPolygon",coordinates:[[[[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103],[-77.89,25.17],[
5-77.54,24.34],[-77.53466,23.75975]]],[[[-77.82,26.58],[-78.91,26.42],[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58]]],[[[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04],[-77,26.59]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Bosnia and Herzegovina",SOV_A3:"BIH",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Bosnia and Herzegovina",ADM0_A3:"BIH",GEOU_DIF:0,GEOUNIT:"Bosnia and Herzegovina",GU_A3:"BIH",SU_DIF:0,SUBUNIT:"Bosnia and Herzegovina",SU_A3:"BIH",BRK_DIFF:0,NAME:"Bosnia and Herz.",NAME_LONG:"Bosnia and Herzegovina",BRK_A3:"BIH",BRK_NAME:"Bosnia and Herz.",BRK_GROUP:null,ABBREV:"B.H.",POSTAL:"BiH",FORMAL_EN:"Bosnia and Herzegovina",FORMAL_FR:null,NAME_CIAWF:"Bosnia and Herzegovina",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bosnia and Herzegovina",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:1,MAPCOLOR9:1,MAPCOLOR13:2,POP_EST:3856181,POP_RANK:12,GDP_MD_EST:42530,POP_YEAR:2017,LASTCENSUS:1991,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"BK",ISO_A2:"BA",ISO_A3:"BIH",ISO_A3_EH:"BIH",ISO_N3:"070",UN_A3:"070",WB_A2:"BA",WB_A3:"BIH",WOE_ID:23424761,WOE_ID_EH:23424761,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BIH",ADM0_A3_US:"BIH",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:16,LONG_LEN:22,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[15.750026,42.65,19.59976,45.233777],geometry:{type:"Polygon",coordinates:[[[19.36803,44.863],[19.11761,44.42307],[19.59976,44.03847],[19.454,43.5681],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65],[17.674922,43.028563],[17.297373,43.446341],[16.916156,43.667722],[16.456443,44.04124],[16.23966,44.351143],[15.750026,44.818712],[15.959367,45.233777],[16.318157,45.004127],[16.534939,45.211608],[17.002146,45.233777],[17.861783,45.06774],[18.553214,45.08159],[19.005485,44.860234],[19.00548,44.86023],[19.36803,44.863]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Belarus",SOV_A3:"BLR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Belarus",ADM0_A3:"BLR",GEOU_DIF:0,GEOUNIT:"Belarus",GU_A3:"BLR",SU_DIF:0,SUBUNIT:"Belarus",SU_A3:"BLR",BRK_DIFF:0,NAME:"Belarus",NAME_LONG:"Belarus",BRK_A3:"BLR",BRK_NAME:"Belarus",BRK_GROUP:null,ABBREV:"Bela.",POSTAL:"BY",FORMAL_EN:"Republic of Belarus",FORMAL_FR:null,NAME_CIAWF:"Belarus",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Belarus",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:1,MAPCOLOR9:5,MAPCOLOR13:11,POP_EST:9549747,POP_RANK:13,GDP_MD_EST:165400,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"BO",ISO_A2:"BY",ISO_A3:"BLR",ISO_A3_EH:"BLR",ISO_N3:"112",UN_A3:"112",WB_A2:"BY",WB_A3:"BLR",WOE_ID:23424765,WOE_ID_EH:23424765,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BLR",ADM0_A3_US:"BLR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[23.199494,51.319503,32.693643,56.16913],geometry:{type:"Polygon",coordinates:[[[23.484128,53.912498],[24.450684,53.905702],[25.536354,54.282423],[25.768433,54.846963],[26.588279,55.167176],[26.494331,55.615107],[27.10246,55.783314],[28.176709,56.16913],[29.229513,55.918344],[29.371572,55.670091],[29.896294,55.789463],[30.873909,55.550976],[30.971836,55.081548],[30.757534,54.811771],[31.384472,54.157056],[31.791424,53.974639],[31.731273,53.794029],[32.405599,53.618045],[32.693643,53.351421],[32.304519,53.132726],[31.49764,53.16743],[31.305201,53.073996],[31.540018,52.742052],[31.78597,52.10168],[31.785992,52.101678],[30.927549,52.042353],[30.619454,51.822806],[30.555117,51.319503],[30.157364,51.416138],[29.254938,51.368234],[28.992835,51.602044],[28.617613,51.427714],[28.241615,51.572227],[27.454066,51.592303],[26.337959,51.832289],[25.327788,51.910656],[24.553106,51.888461],[24.005078,51.617444],[23.527071,51.578454],[23.508002,52.023647],[23.199494,52.486977],[23.799199,52.691099],[23.804935,53.089731],[23.527536,53.470122],[23.484128,53.912498]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Belize",SOV_A3:"BLZ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Belize",ADM0_A3:"BLZ",GEOU_DIF:0,GEOUNIT:"Belize",GU_A3:"BLZ",SU_DIF:0,SUBUNIT:"Belize",SU_A3:"BLZ",BRK_DIFF:0,NAME:"Belize",NAME_LONG:"Belize",BRK_A3:"BLZ",BRK_NAME:"Belize",BRK_GROUP:null,ABBREV:"Belize",POSTAL:"BZ",FORMAL_EN:"Belize",FORMAL_FR:null,NAME_CIAWF:"Belize",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Belize",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:5,MAPCOLOR13:7,POP_EST:360346,POP_RANK:10,GDP_MD_EST:3088,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"BH",ISO_A2:"BZ",ISO_A3:"BLZ",ISO_A3_EH:"BLZ",ISO_N3:"084",UN_A3:"084",WB_A2:"BZ",WB_A3:"BLZ",WOE_ID:23424760,WOE_ID_EH:23424760,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BLZ",ADM0_A3_US:"BLZ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[-89.229122,15.886938,-88.106813,18.499982],geometry:{type:"Polygon",coordinates:[[[-89.14308,17.808319],[-89.150909,17.955468],[-89.029857,18.001511],[-88.848344,17.883198],[-88.490123,18.486831],[-88.300031,18.499982],[-88.296336,18.353273],[-88.106813,18.348674],[-88.123479,18.076675],[-88.285355,17.644143],[-88.197867,17.489475],[-88.302641,17.131694],[-88.239518,17.036066],[-88.355428,16.530774],[-88.551825,16.265467],[-88.732434,16.233635],[-88.930613,15.887273],[-89.229122,15.886938],[-89.150806,17.015577],[-89.14308,17.808319]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Bolivia",SOV_A3:"BOL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Bolivia",ADM0_A3:"BOL",GEOU_DIF:0,GEOUNIT:"Bolivia",GU_A3:"BOL",SU_DIF:0,SUBUNIT:"Bolivia",SU_A3:"BOL",BRK_DIFF:0,NAME:"Bolivia",NAME_LONG:"Bolivia",BRK_A3:"BOL",BRK_NAME:"Bolivia",BRK_GROUP:null,ABBREV:"Bolivia",POSTAL:"BO",FORMAL_EN:"Plurinational State of Bolivia",FORMAL_FR:null,NAME_CIAWF:"Bolivia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bolivia",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:5,MAPCOLOR9:2,MAPCOLOR13:3,POP_EST:11138234,POP_RANK:14,GDP_MD_EST:78350,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"BL",ISO_A2:"BO",ISO_A3:"BOL",ISO_A3_EH:"BOL",ISO_N3:"068",UN_A3:"068",WB_A2:"BO",WB_A3:"BOL",WOE_ID:23424762,WOE_ID_EH:23424762,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BOL",ADM0_A3_US:"BOL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7.5},bbox:[-69.590424,-22.872919,-57.498371,-9.761988],geometry:{type:"Polygon",coordinates:[[[-62.685057,-22.249029],[-62.846468,-22.034985],[-63.986838,-21.993644],[-64.377021,-22.798091],[-64.964892,-22.075862],[-66.273339,-21.83231],[-67.106674,-22.735925],[-67.82818,-22.872919],[-68.219913,-21.494347],[-68.757167,-20.372658],[-68.442225,-19.405068],[-68.966818,-18.981683],[-69.100247,-18.260125],[-69.590424,-17.580012],[-68.959635,-16.500698],[-69.389764,-15.660129],[-69.160347,-15.323974],[-69.339535,-14.953195],[-68.948887,-14.453639],[-68.929224,-13.602684],[-68.88008,-12.899729],[-68.66508,-12.5613],[-69.529678,-10.951734],[-68.786158,-11.03638],[-68.271254,-11.014521],[-68.048192,-10.712059],[-6
57.173801,-10.306812],[-66.646908,-9.931331],[-65.338435,-9.761988],[-65.444837,-10.511451],[-65.321899,-10.895872],[-65.402281,-11.56627],[-64.316353,-12.461978],[-63.196499,-12.627033],[-62.80306,-13.000653],[-62.127081,-13.198781],[-61.713204,-13.489202],[-61.084121,-13.479384],[-60.503304,-13.775955],[-60.459198,-14.354007],[-60.264326,-14.645979],[-60.251149,-15.077219],[-60.542966,-15.09391],[-60.15839,-16.258284],[-58.24122,-16.299573],[-58.388058,-16.877109],[-58.280804,-17.27171],[-57.734558,-17.552468],[-57.498371,-18.174188],[-57.676009,-18.96184],[-57.949997,-19.400004],[-57.853802,-19.969995],[-58.166392,-20.176701],[-58.183471,-19.868399],[-59.115042,-19.356906],[-60.043565,-19.342747],[-61.786326,-19.633737],[-62.265961,-20.513735],[-62.291179,-21.051635],[-62.685057,-22.249029]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Brazil",SOV_A3:"BRA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Brazil",ADM0_A3:"BRA",GEOU_DIF:0,GEOUNIT:"Brazil",GU_A3:"BRA",SU_DIF:0,SUBUNIT:"Brazil",SU_A3:"BRA",BRK_DIFF:0,NAME:"Brazil",NAME_LONG:"Brazil",BRK_A3:"BRA",BRK_NAME:"Brazil",BRK_GROUP:null,ABBREV:"Brazil",POSTAL:"BR",FORMAL_EN:"Federative Republic of Brazil",FORMAL_FR:null,NAME_CIAWF:"Brazil",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Brazil",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:5,MAPCOLOR13:7,POP_EST:207353391,POP_RANK:17,GDP_MD_EST:3081e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"3. Emerging region: BRIC",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"BR",ISO_A2:"BR",ISO_A3:"BRA",ISO_A3_EH:"BRA",ISO_N3:"076",UN_A3:"076",WB_A2:"BR",WB_A3:"BRA",WOE_ID:23424768,WOE_ID_EH:23424768,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BRA",ADM0_A3_US:"BRA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.7},bbox:[-73.987235,-33.768378,-34.729993,5.244486],geometry:{type:"Polygon",coordinates:[[[-57.625133,-30.216295],[-56.2909,-28.852761],[-55.162286,-27.881915],[-54.490725,-27.474757],[-53.648735,-26.923473],[-53.628349,-26.124865],[-54.13005,-25.547639],[-54.625291,-25.739255],[-54.428946,-25.162185],[-54.293476,-24.5708],[-54.29296,-24.021014],[-54.652834,-23.839578],[-55.027902,-24.001274],[-55.400747,-23.956935],[-55.517639,-23.571998],[-55.610683,-22.655619],[-55.797958,-22.35693],[-56.473317,-22.0863],[-56.88151,-22.282154],[-57.937156,-22.090176],[-57.870674,-20.732688],[-58.166392,-20.176701],[-57.853802,-19.969995],[-57.949997,-19.400004],[-57.676009,-18.96184],[-57.498371,-18.174188],[-57.734558,-17.552468],[-58.280804,-17.27171],[-58.388058,-16.877109],[-58.24122,-16.299573],[-60.15839,-16.258284],[-60.542966,-15.09391],[-60.251149,-15.077219],[-60.264326,-14.645979],[-60.459198,-14.354007],[-60.503304,-13.775955],[-61.084121,-13.479384],[-61.713204,-13.489202],[-62.127081,-13.198781],[-62.80306,-13.000653],[-63.196499,-12.627033],[-64.316353,-12.461978],[-65.402281,-11.56627],[-65.321899,-10.895872],[-65.444837,-10.511451],[-65.338435,-9.761988],[-66.646908,-9.931331],[-67.173801,-10.306812],[-68.048192,-10.712059],[-68.271254,-11.014521],[-68.786158,-11.03638],[-69.529678,-10.951734],[-70.093752,-11.123972],[-70.548686,-11.009147],[-70.481894,-9.490118],[-71.302412,-10.079436],[-72.184891,-10.053598],[-72.563033,-9.520194],[-73.226713,-9.462213],[-73.015383,-9.032833],[-73.571059,-8.424447],[-73.987235,-7.52383],[-73.723401,-7.340999],[-73.724487,-6.918595],[-73.120027,-6.629931],[-73.219711,-6.089189],[-72.964507,-5.741251],[-72.891928,-5.274561],[-71.748406,-4.593983],[-70.928843,-4.401591],[-70.794769,-4.251265],[-69.893635,-4.298187],[-69.444102,-1.556287],[-69.420486,-1.122619],[-69.577065,-.549992],[-70.020656,-.185156],[-70.015566,.541414],[-69.452396,.706159],[-69.252434,.602651],[-69.218638,.985677],[-69.804597,1.089081],[-69.816973,1.714805],[-67.868565,1.692455],[-67.53781,2.037163],[-67.259998,1.719999],[-67.065048,1.130112],[-66.876326,1.253361],[-66.325765,.724452],[-65.548267,.789254],[-65.354713,1.095282],[-64.611012,1.328731],[-64.199306,1.492855],[-64.083085,1.916369],[-63.368788,2.2009],[-63.422867,2.411068],[-64.269999,2.497006],[-64.408828,3.126786],[
5-64.368494,3.79721],[-64.816064,4.056445],[-64.628659,4.148481],[-63.888343,4.02053],[-63.093198,3.770571],[-62.804533,4.006965],[-62.08543,4.162124],[-60.966893,4.536468],[-60.601179,4.918098],[-60.733574,5.200277],[-60.213683,5.244486],[-59.980959,5.014061],[-60.111002,4.574967],[-59.767406,4.423503],[-59.53804,3.958803],[-59.815413,3.606499],[-59.974525,2.755233],[-59.718546,2.24963],[-59.646044,1.786894],[-59.030862,1.317698],[-58.540013,1.268088],[-58.429477,1.463942],[-58.11345,1.507195],[-57.660971,1.682585],[-57.335823,1.948538],[-56.782704,1.863711],[-56.539386,1.899523],[-55.995698,1.817667],[-55.9056,2.021996],[-56.073342,2.220795],[-55.973322,2.510364],[-55.569755,2.421506],[-55.097587,2.523748],[-54.524754,2.311849],[-54.088063,2.105557],[-53.778521,2.376703],[-53.554839,2.334897],[-53.418465,2.053389],[-52.939657,2.124858],[-52.556425,2.504705],[-52.249338,3.241094],[-51.657797,4.156232],[-51.317146,4.203491],[-51.069771,3.650398],[-50.508875,1.901564],[-49.974076,1.736483],[-49.947101,1.04619],[-50.699251,.222984],[-50.388211,-.078445],[-48.620567,-.235489],[-48.584497,-1.237805],[-47.824956,-.581618],[-46.566584,-.941028],[-44.905703,-1.55174],[-44.417619,-2.13775],[-44.581589,-2.691308],[-43.418791,-2.38311],[-41.472657,-2.912018],[-39.978665,-2.873054],[-38.500383,-3.700652],[-37.223252,-4.820946],[-36.452937,-5.109404],[-35.597796,-5.149504],[-35.235389,-5.464937],[-34.89603,-6.738193],[-34.729993,-7.343221],[-35.128212,-8.996401],[-35.636967,-9.649282],[-37.046519,-11.040721],[-37.683612,-12.171195],[-38.423877,-13.038119],[-38.673887,-13.057652],[-38.953276,-13.79337],[-38.882298,-15.667054],[-39.161092,-17.208407],[-39.267339,-17.867746],[-39.583521,-18.262296],[-39.760823,-19.599113],[-40.774741,-20.904512],[-40.944756,-21.937317],[-41.754164,-22.370676],[-41.988284,-22.97007],[-43.074704,-22.967693],[-44.647812,-23.351959],[-45.352136,-23.796842],[-46.472093,-24.088969],[-47.648972,-24.885199],[-48.495458,-25.877025],[-48.641005,-26.623698],[-48.474736,-27.175912],[-48.66152,-28.186135],[-48.888457,-28.674115],[-49.587329,-29.224469],[-50.696874,-30.984465],[-51.576226,-31.777698],[-52.256081,-32.24537],[-52.7121,-33.196578],[-53.373662,-33.768378],[-53.650544,-33.202004],[-53.209589,-32.727666],[-53.787952,-32.047243],[-54.572452,-31.494511],[-55.60151,-30.853879],[-55.973245,-30.883076],[-56.976026,-30.109686],[-57.625133,-30.216295]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Brunei",SOV_A3:"BRN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Brunei",ADM0_A3:"BRN",GEOU_DIF:0,GEOUNIT:"Brunei",GU_A3:"BRN",SU_DIF:0,SUBUNIT:"Brunei",SU_A3:"BRN",BRK_DIFF:0,NAME:"Brunei",NAME_LONG:"Brunei Darussalam",BRK_A3:"BRN",BRK_NAME:"Brunei",BRK_GROUP:null,ABBREV:"Brunei",POSTAL:"BN",FORMAL_EN:"Negara Brunei Darussalam",FORMAL_FR:null,NAME_CIAWF:"Brunei",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Brunei",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:6,MAPCOLOR9:6,MAPCOLOR13:12,POP_EST:443593,POP_RANK:10,GDP_MD_EST:33730,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"BX",ISO_A2:"BN",ISO_A3:"BRN",ISO_A3_EH:"BRN",ISO_N3:"096",UN_A3:"096",WB_A2:"BN",WB_A3:"BRN",WOE_ID:23424773,WOE_ID_EH:23424773,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BRN",ADM0_A3_US:"BRN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:6,LONG_LEN:17,ABBREV_LEN:6,TINY:2,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[114.204017,4.007637,115.45071,5.44773],geometry:{type:"Polygon",coordinates:[[[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Bhutan",SOV_A3:"BTN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Bhutan",ADM0_A3:"BTN",GEOU_DIF:0,GEOUNIT:"Bhutan",GU_A3:"BTN",SU_DIF:0,SUBUNIT:"Bhutan",SU_A3:"BTN",BRK_DIFF:0,NAME:"Bhutan",NAME_LONG:"Bhutan",BRK_A3:"BTN",BRK_NAME:"Bhutan",BRK_GROUP:null,ABBREV:"Bhutan",POSTAL:"BT",FORMAL_EN:"Kingdom of Bhutan",FORMAL_FR:null,NAME_CIAWF:"Bhutan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Bhutan",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:1,MAPCOLOR13:8,POP_EST:758288,POP_RANK:11,GDP_MD_EST:6432,POP_YEAR:2017,LASTCENSUS:2005,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"BT",ISO_A2:"BT",ISO_A3:"BTN",ISO_A3_EH:"BTN",ISO_N3:"064",UN_A3:"064",WB_A2:"BT",WB_A3:"BTN",WOE_ID:23424770,WOE_ID_EH:23424770,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BTN",ADM0_A3_US:"BTN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[88.814248,26.719403,92.103712,28.296439],geometry:{type:"Polygon",coordinates:[[[91.696657,27.771742],[92.103712,27.452614],[92.033484,26.83831],[91.217513,26.808648],[90.373275,26.875724],[89.744528,26.719403],[88.835643,27.098966],[88.814248,27.299316],[89.47581,28.042759],[90.015829,28.296439],[90.730514,28.064954],[91.258854,28.040614],[91.696657,27.771742]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Botswana",SOV_A3:"BWA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Botswana",ADM0_A3:"BWA",GEOU_DIF:0,GEOUNIT:"Botswana",GU_A3:"BWA",SU_DIF:0,SUBUNIT:"Botswana",SU_A3:"BWA",BRK_DIFF:0,NAME:"Botswana",NAME_LONG:"Botswana",BRK_A3:"BWA",BRK_NAME:"Botswana",BRK_GROUP:null,ABBREV:"Bwa.",POSTAL:"BW",FORMAL_EN:"Republic of Botswana",FORMAL_FR:null,NAME_CIAWF:"Botswana",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Botswana",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:5,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:2214858,POP_RANK:12,GDP_MD_EST:35900,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"BC",ISO_A2:"BW",ISO_A3:"BWA",ISO_A3_EH:"BWA",ISO_N3:"072",UN_A3:"072",WB_A2:"BW",WB_A3:"BWA",WOE_ID:23424755,WOE_ID_EH:23424755,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"BWA",ADM0_A3_US:"BWA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Southern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[19.895458,-26.828543,29.432188,-17.661816],geometry:{type:"Polygon",coordinates:[[[29.432188,-22.091313],[28.017236,-22.827754],[27.11941,-23.574323],[26.786407,-24.240691],[26.485753,-24.616327],[25.941652,-24.696373],[25.765849,-25.174845],[25.664666,-25.486816],[25.025171,-25.71967],[24.211267,-25.670216],[23.73357,-25.390129],[23.312097,-25.26869],[22.824271,-25.500459],[22.579532,-25.979448],[22.105969,-26.280256],[21.605896,-26.726534],[20.889
5609,-26.828543],[20.66647,-26.477453],[20.758609,-25.868136],[20.165726,-24.917962],[19.895768,-24.76779],[19.895458,-21.849157],[20.881134,-21.814327],[20.910641,-18.252219],[21.65504,-18.219146],[23.196858,-17.869038],[23.579006,-18.281261],[24.217365,-17.889347],[24.520705,-17.887125],[25.084443,-17.661816],[25.264226,-17.73654],[25.649163,-18.536026],[25.850391,-18.714413],[26.164791,-19.293086],[27.296505,-20.39152],[27.724747,-20.499059],[27.727228,-20.851802],[28.02137,-21.485975],[28.794656,-21.639454],[29.432188,-22.091313]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Central African Republic",SOV_A3:"CAF",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Central African Republic",ADM0_A3:"CAF",GEOU_DIF:0,GEOUNIT:"Central African Republic",GU_A3:"CAF",SU_DIF:0,SUBUNIT:"Central African Republic",SU_A3:"CAF",BRK_DIFF:0,NAME:"Central African Rep.",NAME_LONG:"Central African Republic",BRK_A3:"CAF",BRK_NAME:"Central African Rep.",BRK_GROUP:null,ABBREV:"C.A.R.",POSTAL:"CF",FORMAL_EN:"Central African Republic",FORMAL_FR:null,NAME_CIAWF:"Central African Republic",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Central African Republic",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:6,MAPCOLOR13:9,POP_EST:5625118,POP_RANK:13,GDP_MD_EST:3206,POP_YEAR:2017,LASTCENSUS:2003,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"CT",ISO_A2:"CF",ISO_A3:"CAF",ISO_A3_EH:"CAF",ISO_N3:"140",UN_A3:"140",WB_A2:"CF",WB_A3:"CAF",WOE_ID:23424792,WOE_ID_EH:23424792,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CAF",ADM0_A3_US:"CAF",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:20,LONG_LEN:24,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[14.459407,2.26764,27.374226,11.142395],geometry:{type:"Polygon",coordinates:[[[15.27946,7.421925],[16.106232,7.497088],[16.290562,7.754307],[16.456185,7.734774],[16.705988,7.508328],[17.96493,7.890914],[18.389555,8.281304],[18.911022,8.630895],[18.81201,8.982915],[19.094008,9.074847],[20.059685,9.012706],[21.000868,9.475985],[21.723822,10.567056],[22.231129,10.971889],[22.864165,11.142395],[22.977544,10.714463],[23.554304,10.089255],[23.55725,9.681218],[23.394779,9.265068],[23.459013,8.954286],[23.805813,8.666319],[24.567369,8.229188],[25.114932,7.825104],[25.124131,7.500085],[25.796648,6.979316],[26.213418,6.546603],[26.465909,5.946717],[27.213409,5.550953],[27.374226,5.233944],[27.044065,5.127853],[26.402761,5.150875],[25.650455,5.256088],[25.278798,5.170408],[25.128833,4.927245],[24.805029,4.897247],[24.410531,5.108784],[23.297214,4.609693],[22.84148,4.710126],[22.704124,4.633051],[22.405124,4.02916],[21.659123,4.224342],[20.927591,4.322786],[20.290679,4.691678],[19.467784,5.031528],[18.932312,4.709506],[18.542982,4.201785],[18.453065,3.504386],[17.8099,3.560196],[17.133042,3.728197],[16.537058,3.198255],[16.012852,2.26764],[15.907381,2.557389],[15.862732,3.013537],[15.405396,3.335301],[15.03622,3.851367],[14.950953,4.210389],[14.478372,4.732605],[14.558936,5.030598],[14.459407,5.451761],[14.53656,6.226959],[14.776545,6.408498],[15.27946,7.421925]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Canada",SOV_A3:"CAN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Canada",ADM0_A3:"CAN",GEOU_DIF:0,GEOUNIT:"Canada",GU_A3:"CAN",SU_DIF:0,SUBUNIT:"Canada",SU_A3:"CAN",BRK_DIFF:0,NAME:"Canada",NAME_LONG:"Canada",BRK_A3:"CAN",BRK_NAME:"Canada",BRK_GROUP:null,ABBREV:"Can.",POSTAL:"CA",FORMAL_EN:"Canada",FORMAL_FR:null,NAME_CIAWF:"Canada",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Canada",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:35623680,POP_RANK:15,GDP_MD_EST:1674e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"CA",ISO_A2:"CA",ISO_A3:"CAN",ISO_A3_EH:"CAN",ISO_N3:"124",UN_A3:"124",WB_A2:"CA",WB_A3:"CAN",WOE_ID:23424775,WOE_ID_EH:23424775,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CAN",ADM0_A3_US:"CAN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Northern America",REGION_WB:"North America",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.7},bbox:[-140.99778,41.675105,-52.648099,83.23324],geometry:{type:"MultiPolygon",coordinates:[[[[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601],[-63.6645,46.55001]]],[[[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506]]],[[[-123.510002,48.510011],[-124.012891,48.370846],[-125.655013,48.825005],[-125.954994,49.17999
56],[-126.850004,49.53],[-127.029993,49.814996],[-128.059336,49.994959],[-128.444584,50.539138],[-128.358414,50.770648],[-127.308581,50.552574],[-126.695001,50.400903],[-125.755007,50.295018],[-125.415002,49.950001],[-124.920768,49.475275],[-123.922509,49.062484],[-123.510002,48.510011]]],[[[-56.134036,50.68701],[-56.795882,49.812309],[-56.143105,50.150117],[-55.471492,49.935815],[-55.822401,49.587129],[-54.935143,49.313011],[-54.473775,49.556691],[-53.476549,49.249139],[-53.786014,48.516781],[-53.086134,48.687804],[-52.958648,48.157164],[-52.648099,47.535548],[-53.069158,46.655499],[-53.521456,46.618292],[-54.178936,46.807066],[-53.961869,47.625207],[-54.240482,47.752279],[-55.400773,46.884994],[-55.997481,46.91972],[-55.291219,47.389562],[-56.250799,47.632545],[-57.325229,47.572807],[-59.266015,47.603348],[-59.419494,47.899454],[-58.796586,48.251525],[-59.231625,48.523188],[-58.391805,49.125581],[-57.35869,50.718274],[-56.73865,51.287438],[-55.870977,51.632094],[-55.406974,51.588273],[-55.600218,51.317075],[-56.134036,50.68701]]],[[[-133.180004,54.169975],[-132.710008,54.040009],[-131.74999,54.120004],[-132.04948,52.984621],[-131.179043,52.180433],[-131.57783,52.182371],[-132.180428,52.639707],[-132.549992,53.100015],[-133.054611,53.411469],[-133.239664,53.85108],[-133.180004,54.169975]]],[[[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675]]],[[[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108]]],[[[-85.161308,65.657285],[-84.975764,65.217518],[-84.464012,65.371772],[-83.882626,65.109618],[-82.787577,64.766693],[-81.642014,64.455136],[-81.55344,63.979609],[-80.817361,64.057486],[-80.103451,63.725981],[-80.99102,63.411246],[-82.547178,63.651722],[-83.108798,64.101876],[-84.100417,63.569712],[-85.523405,63.052379],[-85.866769,63.637253],[-87.221983,63.541238],[-86.35276,64.035833],[-86.224886,64.822917],[-85.883848,65.738778],[-85.161308,65.657285]]],[[[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425],[-75.86588,67.14886]]],[[[-95.647681,69.10769],[-96.269521,68.75704],[-97.617401,69.06003],[-98.431801,68.9507],[-99.797401,69.40003],[-98.917401,69.71003],[-98.218261,70.14354],[-97.157401,69.86003],[-96.557401,69.68003],[-96.257401,69.49003],[-95.647681,69.10769]]],[[[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.018459],[-76.820034,43.628784],[-77.737885,43.629056],[-78.72028,43.625089],[-79.171674,43.466339],[-79.01,43.27],[-78.92,42.965],[-78.939362,42.863611],[-80.247448,42.3662],[-81.277747,42.209026],[-82.439278,41.675105],[-82.690089,41.675105],[-83.02981,41.832796],[-83.142,41.975681],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.137642,43.571088],[-82.337763,44.44],[-82.550925,45.347517],[-83.592851,45.816894],[-83.469551,45.994686],[-83.616131,46.116927],[-83.890765,46.116927],[-84.091851,46.275419],[-84.14212,46.512226],[-84.3367,46.40877],[-84.6049,46.4396],[-84.543749,46.538684],[-84.779238,46.637102],[-84.87608,46.900083],[-85.652363,47.220219],[-86.461991,47.553338],[-87.439793,47.94],[-88.378114,48.302918],[-89.272917,48.019808],[-89.6,48.01],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15907,49],[-97.22872,49.0007],[-100.65,49],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49],[-122.84,49],[-122.97421,49.002538],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.536109,54.802754],[-130.53611,54.80278],[-129.98,55.285],[-130.00
5778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.27056],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-140.985988,69.711998],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486]]],[[[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.9554],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46476,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447],[-102.73116,69.50402],[-102.09329,69.11962],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18],[-107.12254,69.11922],[-109,68.78],[-111.534149,68.630059],[-113.3132,68.53554],[-113.85496,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459],[-114.16717,73.12145]]],[[[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[
5-106.6,73.6],[-105.26,73.64],[-104.5,73.42]]],[[[-76.34,73.102685],[-76.251404,72.826385],[-77.314438,72.855545],[-78.39167,72.876656],[-79.486252,72.742203],[-79.775833,72.802902],[-80.876099,73.333183],[-80.833885,73.693184],[-80.353058,73.75972],[-78.064438,73.651932],[-76.34,73.102685]]],[[[-86.562179,73.157447],[-85.774371,72.534126],[-84.850112,73.340278],[-82.31559,73.750951],[-80.600088,72.716544],[-80.748942,72.061907],[-78.770639,72.352173],[-77.824624,72.749617],[-75.605845,72.243678],[-74.228616,71.767144],[-74.099141,71.33084],[-72.242226,71.556925],[-71.200015,70.920013],[-68.786054,70.525024],[-67.91497,70.121948],[-66.969033,69.186087],[-68.805123,68.720198],[-66.449866,68.067163],[-64.862314,67.847539],[-63.424934,66.928473],[-61.851981,66.862121],[-62.163177,66.160251],[-63.918444,64.998669],[-65.14886,65.426033],[-66.721219,66.388041],[-68.015016,66.262726],[-68.141287,65.689789],[-67.089646,65.108455],[-65.73208,64.648406],[-65.320168,64.382737],[-64.669406,63.392927],[-65.013804,62.674185],[-66.275045,62.945099],[-68.783186,63.74567],[-67.369681,62.883966],[-66.328297,62.280075],[-66.165568,61.930897],[-68.877367,62.330149],[-71.023437,62.910
5708],[-72.235379,63.397836],[-71.886278,63.679989],[-73.378306,64.193963],[-74.834419,64.679076],[-74.818503,64.389093],[-77.70998,64.229542],[-78.555949,64.572906],[-77.897281,65.309192],[-76.018274,65.326969],[-73.959795,65.454765],[-74.293883,65.811771],[-73.944912,66.310578],[-72.651167,67.284576],[-72.92606,67.726926],[-73.311618,68.069437],[-74.843307,68.554627],[-76.869101,68.894736],[-76.228649,69.147769],[-77.28737,69.76954],[-78.168634,69.826488],[-78.957242,70.16688],[-79.492455,69.871808],[-81.305471,69.743185],[-84.944706,69.966634],[-87.060003,70.260001],[-88.681713,70.410741],[-89.51342,70.762038],[-88.467721,71.218186],[-89.888151,71.222552],[-90.20516,72.235074],[-89.436577,73.129464],[-88.408242,73.537889],[-85.826151,73.803816],[-86.562179,73.157447]]],[[[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389]]],[[[-93.196296,72.771992],[-94.269047,72.024596],[-95.409856,72.061881],[-96.033745,72.940277],[-96.018268,73.43743],[-95.495793,73.862417],[-94.503658,74.134907],[-92.420012,74.100025],[-90.509793,73.856732],[-92.003965,72.966244],[-93.196296,72.771992]]],[[[-120.46,71.383602],[-123.09219,70.90164],[-123.62,71.34],[-125.928949,71.868688],[-125.5,72.292261],[-124.80729,73.02256],[-123.94,73.68],[-124.91775,74.29275],[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.383602]]],[[[-93.612756,74.979997],[-94.156909,74.592347],[-95.608681,74.666864],[-96.820932,74.927623],[-96.288587,75.377828],[-94.85082,75.647218],[-93.977747,75.29649],[-93.612756,74.979997]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-108.21141,76.20168],[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168]]],[[[-94.684086,77.097878],[-93.573921,76.776296],[-91.605023,76.778518],[-90.741846,76.449597],[-90.969661,76.074013],[-89.822238,75.847774],[-89.187083,75.610166],[-87.838276,75.566189],[-86.379192,75.482421],[-84.789625,75.699204],[-82.753445,75.784315],[-81.128531,75.713983],[-80.057511,75.336849],[-79.833933,74.923127],[-80.457771,74.657304],[-81.948843,74.442459],[-83.228894,74.564028],[-86.097452,74.410032],[-88.15035,74.392307],[-89.764722,74.515555],[-92.422441,74.837758],[-92.768285,75.38682],[-92.889906,75.882655],[-93.893824,76.319244],[-95.962457,76.441381],[-97.121379,76.751078],[-96.745123,77.161389],[-94.684086,77.097878]]],[[[-116.198587,77.645287],[-116.335813,76.876962],[-117.106051,76.530032],[-118.040412,76.481172],[-119.899318,76.053213],[-121.499995,75.900019],[-122.854924,76.116543],[-122.854925,76.116543],[-121.157535,76.864508],[-119.103939,77.51222],[-117.570131,77.498319],[-116.198587,77.645287]]],[[[-93.840003,77.519997],[-94.295608,77.491343],[-96.169654,77.555111],[-96.436304,77.834629],[-94.422577,77.820005],[-93.720656,77.634331],[-93.840003,77.519997]]],[[[-110.186938,77.697015],[-112.051191,77.409229],[-113.534279,77.732207],[-112.724587,78.05105],[-111.264443,78.152956],[-109.854452,77.996325],[-110.186938,77.697015]]],[[[-109.663146,78.601973],[-110.881314,78.40692],[-112.542091,78.407902],[-112.525891,78.550555],[-111.50001,78.849994],[-110.963661,78.804441],[-109.663146,78.601973]]],[[[-95.830295,78.056941],[-97.309843,77.850597],[-98.124289,78.082857],[-98.552868,78.458105],[-98.631984,78.87193],[-97.337231,78.831984],[-96.754399,78.765813],[-95.559278,78.418315],[-95.830295,78.056941]]],[[[-100.060192,78.324754],[-99.670939,77.907545],[-101.30394,78.018985],[-102.949809,78.343229],[-105.176133,78.380332],[-104.210429,78.67742],[-105.41958,78.918336],[-105.492289,79.301594],[-103.529282,79.165349],[-100.825158,78.800462],[-100.060192,78.324754]]],[[[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.509322],[-87.81,80.32],[-87.02,79.66]]],[[[-68.5,83.106322],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[
5-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.430162],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.970222],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.408696,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.652273],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.172059],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.169781],[-68.5,83.106322]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Switzerland",SOV_A3:"CHE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Switzerland",ADM0_A3:"CHE",GEOU_DIF:0,GEOUNIT:"Switzerland",GU_A3:"CHE",SU_DIF:0,SUBUNIT:"Switzerland",SU_A3:"CHE",BRK_DIFF:0,NAME:"Switzerland",NAME_LONG:"Switzerland",BRK_A3:"CHE",BRK_NAME:"Switzerland",BRK_GROUP:null,ABBREV:"Switz.",POSTAL:"CH",FORMAL_EN:"Swiss Confederation",FORMAL_FR:null,NAME_CIAWF:"Switzerland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Switzerland",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:2,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:8236303,POP_RANK:13,GDP_MD_EST:496300,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"SZ",ISO_A2:"CH",ISO_A3:"CHE",ISO_A3_EH:"CHE",ISO_N3:"756",UN_A3:"756",WB_A2:"CH",WB_A3:"CHE",WOE_ID:23424957,WOE_ID_EH:23424957,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CHE",ADM0_A3_US:"CHE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[6.022609,45.776948,10.442701,47.830828],geometry:{type:"Polygon",coordinates:[[[9.594226,47.525058],[9.632932,47.347601],[9.47997,47.10281],[9.932448,46.920728],[10.442701,46.893546],[10.363378,46.483571],[9.922837,46.314899],[9.182882,46.440215],[8.966306,46.036932],[8.489952,46.005151],[8.31663,46.163642],[7.755992,45.82449],[7.273851,45.776948],[6.843593,45.991147],[6.5001,46.429673],[6.022609,46.27299],[6.037389,46.725779],[6.768714,47.287708],[6.736571,47.541801],[7.192202,47.449766],[7.466759,47.620582],[8.317301,47.61358],[8.522612,47.830828],[9.594226,47.525058]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Chile",SOV_A3:"CHL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Chile",ADM0_A3:"CHL",GEOU_DIF:0,GEOUNIT:"Chile",GU_A3:"CHL",SU_DIF:0,SUBUNIT:"Chile",SU_A3:"CHL",BRK_DIFF:0,NAME:"Chile",NAME_LONG:"Chile",BRK_A3:"CHL",BRK_NAME:"Chile",BRK_GROUP:null,ABBREV:"Chile",POSTAL:"CL",FORMAL_EN:"Republic of Chile",FORMAL_FR:null,NAME_CIAWF:"Chile",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Chile",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:1,MAPCOLOR9:5,MAPCOLOR13:9,POP_EST:17789267,POP_RANK:14,GDP_MD_EST:436100,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"CI",ISO_A2:"CL",ISO_A3:"CHL",ISO_A3_EH:"CHL",ISO_N3:"152",UN_A3:"152",WB_A2:"CL",WB_A3:"CHL",WOE_ID:23424782,WOE_ID_EH:23424782,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CHL",ADM0_A3_US:"CHL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[-75.644395,-55.61183,-66.95992,-17.580012],geometry:{type:"MultiPolygon",coordinates:[[[[-68.63401,-52.63637],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[
5-67.29103,-55.30124],[-68.14863,-55.61183],[-68.639991,-55.580018],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59178,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401,-52.63637]]],[[[-67.106674,-22.735925],[-66.985234,-22.986349],[-67.328443,-24.025303],[-68.417653,-24.518555],[-68.386001,-26.185016],[-68.5948,-26.506909],[-68.295542,-26.89934],[-69.001235,-27.521214],[-69.65613,-28.459141],[-70.01355,-29.367923],[-69.919008,-30.336339],[-70.535069,-31.36501],[-70.074399,-33.09121],[-69.814777,-33.273886],[-69.817309,-34.193571],[-70.388049,-35.169688],[-70.364769,-36.005089],[-71.121881,-36.658124],[-71.118625,-37.576827],[-70.814664,-38.552995],[-71.413517,-38.916022],[-71.680761,-39.808164],[-71.915734,-40.832339],[-71.746804,-42.051386],[-72.148898,-42.254888],[-71.915424,-43.408565],[-71.464056,-43.787611],[-71.793623,-44.207172],[-71.329801,-44.407522],[-71.222779,-44.784243],[-71.659316,-44.973689],[-71.552009,-45.560733],[-71.917258,-46.884838],[-72.447355,-47.738533],[-72.331161,-48.244238],[-72.648247,-48.878618],[-73.415436,-49.318436],[-73.328051,-50.378785],[-72.975747,-50.74145],[-72.309974,-50.67701],[-72.329404,-51.425956],[-71.914804,-52.009022],[-69.498362,-52.142761],[-68.571545,-52.299444],[-69.461284,-52.291951],[-69.94278,-52.537931],[-70.845102,-52.899201],[-71.006332,-53.833252],[-71.429795,-53.856455],[-72.557943,-53.53141],[-73.702757,-52.835069],[-73.702757,-52.83507],[-74.946763,-52.262754],[-75.260026,-51.629355],[-74.976632,-51.043396],[-75.479754,-50.378372],[-75.608015,-48.673773],[-75.18277,-47.711919],[-74.126581,-46.939253],[-75.644395,-46.647643],[-74.692154,-45.763976],[-74.351709,-44.103044],[-73.240356,-44.454961],[-72.717804,-42.383356],[-73.3889,-42.117532],[-73.701336,-43.365776],[-74.331943,-43.224958],[-74.017957,-41.794813],[-73.677099,-39.942213],[-73.217593,-39.258689],[-73.505559,-38.282883],[-73.588061,-37.156285],[-73.166717,-37.12378],[-72.553137,-35.50884],[-71.861732,-33.909093],[-71.43845,-32.418899],[-71.668721,-30.920645],[-71.370083,-30.095682],[-71.489894,-28.861442],[-70.9
505124,-27.64038],[-70.724954,-25.705924],[-70.403966,-23.628997],[-70.091246,-21.393319],[-70.16442,-19.756468],[-70.372572,-18.347975],[-69.858444,-18.092694],[-69.590424,-17.580012],[-69.100247,-18.260125],[-68.966818,-18.981683],[-68.442225,-19.405068],[-68.757167,-20.372658],[-68.219913,-21.494347],[-67.82818,-22.872919],[-67.106674,-22.735925]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"China",SOV_A3:"CH1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"China",ADM0_A3:"CHN",GEOU_DIF:0,GEOUNIT:"China",GU_A3:"CHN",SU_DIF:0,SUBUNIT:"China",SU_A3:"CHN",BRK_DIFF:0,NAME:"China",NAME_LONG:"China",BRK_A3:"CHN",BRK_NAME:"China",BRK_GROUP:null,ABBREV:"China",POSTAL:"CN",FORMAL_EN:"People's Republic of China",FORMAL_FR:null,NAME_CIAWF:"China",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"China",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:3,POP_EST:1379302771,POP_RANK:18,GDP_MD_EST:2114e4,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"3. Emerging region: BRIC",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"CH",ISO_A2:"CN",ISO_A3:"CHN",ISO_A3_EH:"CHN",ISO_N3:"156",UN_A3:"156",WB_A2:"CN",WB_A3:"CHN",WOE_ID:23424781,WOE_ID_EH:23424781,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CHN",ADM0_A3_US:"CHN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.7},bbox:[73.675379,18.197701,135.026311,53.4588],geometry:{type:"MultiPolygon",coordinates:[[[[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.27939,50.58292],[120.18208,51.64355],[120.7382,51.96411],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.57147,53.4588],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.6574,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.98726,47.79013],[132.50669,47.78896],[133.373596,48.183442],[135.026311,48.47823],[134.50081,47.57845],[134.11235,47.21248],[133.769644,46.116927],[133.09712,45.14409],[131.883454,45.321162],[131.02519,44.96796],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.64,42.395024],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031]]],[[[110.339188,18.678395],[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Ivory Coast",SOV_A3:"CIV",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ivory Coast",ADM0_A3:"CIV",GEOU_DIF:0,GEOUNIT:"Ivory Coast",GU_A3:"CIV",SU_DIF:0,SUBUNIT:"Ivory Coast",SU_A3:"CIV",BRK_DIFF:0,NAME:"Côte d'Ivoire",NAME_LONG:"Côte d'Ivoire",BRK_A3:"CIV",BRK_NAME:"Côte d'Ivoire",BRK_GROUP:null,ABBREV:"I.C.",POSTAL:"CI",FORMAL_EN:"Republic of Ivory Coast",FORMAL_FR:"Republic of Cote D'Ivoire",NAME_CIAWF:"Cote D'ivoire",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Côte d'Ivoire",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:6,MAPCOLOR9:3,MAPCOLOR13:3,POP_EST:24184810,POP_RANK:15,GDP_MD_EST:87120,POP_YEAR:2017,LASTCENSUS:1998,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"IV",ISO_A2:"CI",ISO_A3:"CIV",ISO_A3_EH:"CIV",ISO_N3:"384",UN_A3:"384",WB_A2:"CI",WB_A3:"CIV",WOE_ID:23424854,WOE_ID_EH:23424854,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CIV",ADM0_A3_US:"CIV",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:13,LONG_LEN:13,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-8.60288,4.338288,-2.56219,10.524061],geometry:{type:"Polygon",coordinates:[[[-5.404342,10.370737],[-4.954653,10.152714],[-4.779884,9.821985],[-4.330247,9.610835],[-3.980449,9.862344],[-3.511899,9.900326],[-2.827496,9.642461],[-2.56219,8.219628],[-2.983585,7.379705],[-3.24437,6.250472],[-2.810701,5.389051],[-2.856125,4.994476],[-3.311084,4.984296],[-4.00882,5.179813],[-4.649917,5.168264],[-5.834496,4.993701],[-6.528769,4.705088],[-7.518941,4.338288],[-7.712159,4.364566],[-7.635368,5.188159],[-7.539715,5.313345],[-7.570153,5.707352],[-7.993693,6.12619],[-8.311348,6.193033],[-8.60288,6.467564],[-8.385452,6.911801],[-8.485446,7.395208],[-8.439298,7.686043],[-8.280703,7.68718],[-8.221792,8.123329],[-8.299049,8.316444],[-8.203499,8.455453],[-7.8321,8.575704],[-8.079114,9.376224],[-8.309616,9.789532],[-8.229337,10.12902],[-8.029944,10.206535],[-7.89959,10.297382],[-7.622759,10.147236],[-6.850507,10.138994],[-6.666461,10.430811],[-6.493965,10.411303],[-6.205223,10.524061],[-6.
5050452,10.096361],[-5.816926,10.222555],[-5.404342,10.370737]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Cameroon",SOV_A3:"CMR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Cameroon",ADM0_A3:"CMR",GEOU_DIF:0,GEOUNIT:"Cameroon",GU_A3:"CMR",SU_DIF:0,SUBUNIT:"Cameroon",SU_A3:"CMR",BRK_DIFF:0,NAME:"Cameroon",NAME_LONG:"Cameroon",BRK_A3:"CMR",BRK_NAME:"Cameroon",BRK_GROUP:null,ABBREV:"Cam.",POSTAL:"CM",FORMAL_EN:"Republic of Cameroon",FORMAL_FR:null,NAME_CIAWF:"Cameroon",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Cameroon",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:3,POP_EST:24994885,POP_RANK:15,GDP_MD_EST:77240,POP_YEAR:2017,LASTCENSUS:2005,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"CM",ISO_A2:"CM",ISO_A3:"CMR",ISO_A3_EH:"CMR",ISO_N3:"120",UN_A3:"120",WB_A2:"CM",WB_A3:"CMR",WOE_ID:23424785,WOE_ID_EH:23424785,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CMR",ADM0_A3_US:"CMR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[8.488816,1.727673,16.012852,12.859396],geometry:{type:"Polygon",coordinates:[[[15.27946,7.421925],[14.776545,6.408498],[14.53656,6.226959],[14.459407,5.451761],[14.558936,5.030598],[14.478372,4.732605],[14.950953,4.210389],[15.03622,3.851367],[15.405396,3.335301],[15.862732,3.013537],[15.907381,2.557389],[16.012852,2.26764],[15.940919,1.727673],[15.146342,1.964015],[14.337813,2.227875],[13.075822,2.267097],[12.951334,2.321616],[12.35938,2.192812],[11.751665,2.326758],[11.276449,2.261051],[9.649158,2.283866],[9.795196,3.073404],[9.404367,3.734527],[8.948116,3.904129],[8.744924,4.352215],[8.488816,4.495617],[8.500288,4.771983],[8.757533,5.479666],[9.233163,6.444491],[9.522706,6.453482],[10.118277,7.03877],[10.497375,7.055358],[11.058788,6.644427],[11.745774,6.981383],[11.839309,7.397042],[12.063946,7.799808],[12.218872,8.305824],[12.753672,8.717763],[12.955468,9.417772],[13.1676,9.640626],[13.308676,10.160362],[13.57295,10.798566],[14.415379,11.572369],[14.468192,11.904752],[14.577178,12.085361],[14.181336,12.483657],[14.213531,12.802035],[14.495787,12.859396],[14.89336,12.21905],[14.960152,11.555574],[14.923565,10.891325],[15.467873,9.982337],[14.909354,9.992129],[14.627201,9.920919],[14.171466,10.021378],[13.954218,9.549495],[14.544467,8.965861],[14.979996,8.796104],[15.120866,8.38215],[15.436092,7.692812],[15.27946,7.421925]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Democratic Republic of the Congo",SOV_A3:"COD",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Democratic Republic of the Congo",ADM0_A3:"COD",GEOU_DIF:0,GEOUNIT:"Democratic Republic of the Congo",GU_A3:"COD",SU_DIF:0,SUBUNIT:"Democratic Republic of the Congo",SU_A3:"COD",BRK_DIFF:0,NAME:"Dem. Rep. Congo",NAME_LONG:"Democratic Republic of the Congo",BRK_A3:"COD",BRK_NAME:"Democratic Republic of the Congo",BRK_GROUP:null,ABBREV:"D.R.C.",POSTAL:"DRC",FORMAL_EN:"Democratic Republic of the Congo",FORMAL_FR:null,NAME_CIAWF:"Congo, Democratic Republic of the",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Congo, Dem. Rep.",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:7,POP_EST:83301151,POP_RANK:16,GDP_MD_EST:66010,POP_YEAR:2017,LASTCENSUS:1984,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"CG",ISO_A2:"CD",ISO_A3:"COD",ISO_A3_EH:"COD",ISO_N3:"180",UN_A3:"180",WB_A2:"ZR",WB_A3:"ZAR",WOE_ID:23424780,WOE_ID_EH:23424780,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"COD",ADM0_A3_US:"COD",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:15,LONG_LEN:32,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[12.182337,-13.257227,31.174149,5.256088],geometry:{type:"Polygon",coordinates:[[[23.912215,-10.926826],[23.456791,-10.867863],[22.837345,-11.017622],[22.402798,-10.993075],[22.155268,-11.084801],[22.208753,-9.894796],[21.875182,-9.523708],[21.801801,-8.908707],[21.949131,-8.305901],[21.746456,-7.920085],[21.728111,-7.290872],[20.514748,-7.299606],[20.601823,-6.939318],[20.091622,-6.94309],[20.037723,-7.116361],[19.417502,-7.155429],[19.166613,-7.738184],[19.016752,-7.988246],[18.464176,-7.847014],[18.134222,-7.987678],[17.47297,-8.068551],[17.089996,-7.545689],[16.860191,-7.222298],[16.57318,-6.622645],[16.326528,-5.87747],[13.375597,-5.864241],[13.024869,-5.984389],[12.735171,-5.965682],[12.322432,-6.100092],[12.182337,-5.789931],[12.436688,-5.684304],[12.468004,-5.248362],[12.631612,-4.991271],[12.99551
57,-4.781103],[13.25824,-4.882957],[13.600235,-4.500138],[14.144956,-4.510009],[14.209035,-4.793092],[14.582604,-4.970239],[15.170992,-4.343507],[15.75354,-3.855165],[16.00629,-3.535133],[15.972803,-2.712392],[16.407092,-1.740927],[16.865307,-1.225816],[17.523716,-.74383],[17.638645,-.424832],[17.663553,-.058084],[17.82654,.288923],[17.774192,.855659],[17.898835,1.741832],[18.094276,2.365722],[18.393792,2.900443],[18.453065,3.504386],[18.542982,4.201785],[18.932312,4.709506],[19.467784,5.031528],[20.290679,4.691678],[20.927591,4.322786],[21.659123,4.224342],[22.405124,4.02916],[22.704124,4.633051],[22.84148,4.710126],[23.297214,4.609693],[24.410531,5.108784],[24.805029,4.897247],[25.128833,4.927245],[25.278798,5.170408],[25.650455,5.256088],[26.402761,5.150875],[27.044065,5.127853],[27.374226,5.233944],[27.979977,4.408413],[28.428994,4.287155],[28.696678,4.455077],[29.159078,4.389267],[29.715995,4.600805],[29.9535,4.173699],[30.833852,3.509172],[30.83386,3.509166],[30.773347,2.339883],[31.174149,2.204465],[30.85267,1.849396],[30.468508,1.583805],[30.086154,1.062313],[29.875779,.59738],[29.819503,-.20531],[29.587838,-.587406],[29.579466,-1.341313],[29.291887,-1.620056],[29.254835,-2.21511],[29.117479,-2.292211],[29.024926,-2.839258],[29.276384,-3.293907],[29.339998,-4.499983],[29.519987,-5.419979],[29.419993,-5.939999],[29.620032,-6.520015],[30.199997,-7.079981],[30.740015,-8.340007],[30.74001,-8.340006],[30.346086,-8.238257],[29.002912,-8.407032],[28.734867,-8.526559],[28.449871,-9.164918],[28.673682,-9.605925],[28.49607,-10.789884],[28.372253,-11.793647],[28.642417,-11.971569],[29.341548,-12.360744],[29.616001,-12.178895],[29.699614,-13.257227],[28.934286,-13.248958],[28.523562,-12.698604],[28.155109,-12.272481],[27.388799,-12.132747],[27.16442,-11.608748],[26.553088,-11.92444],[25.75231,-11.784965],[25.418118,-11.330936],[24.78317,-11.238694],[24.314516,-11.262826],[24.257155,-10.951993],[23.912215,-10.926826]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Republic of the Congo",SOV_A3:"COG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Republic of the Congo",ADM0_A3:"COG",GEOU_DIF:0,GEOUNIT:"Republic of the Congo",GU_A3:"COG",SU_DIF:0,SUBUNIT:"Republic of the Congo",SU_A3:"COG",BRK_DIFF:0,NAME:"Congo",NAME_LONG:"Republic of the Congo",BRK_A3:"COG",BRK_NAME:"Republic of the Congo",BRK_GROUP:null,ABBREV:"Rep. Congo",POSTAL:"CG",FORMAL_EN:"Republic of the Congo",FORMAL_FR:null,NAME_CIAWF:"Congo, Republic of the",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Congo, Rep.",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:10,POP_EST:4954674,POP_RANK:12,GDP_MD_EST:30270,POP_YEAR:2017,LASTCENSUS:2007,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"CF",ISO_A2:"CG",ISO_A3:"COG",ISO_A3_EH:"COG",ISO_N3:"178",UN_A3:"178",WB_A2:"CG",WB_A3:"COG",WOE_ID:23424779,WOE_ID_EH:23424779,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"COG",ADM0_A3_US:"COG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:21,ABBREV_LEN:10,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[11.093773,-5.037987,18.453065,3.728197],geometry:{type:"Polygon",coordinates:[[[12.995517,-4.781103],[12.62076,-4.438023],[12.318608,-4.60623],[11.914963,-5.037987],[11.093773,-3.978827],[11.855122,-3.426871],[11.478039,-2.765619],[11.820964,-2.514161],[12.495703,-2.391688],[12.575284,-1.948511],[13.109619,-2.42874],[13.992407,-2.470805],[14.29921,-1.998276],[14.425456,-1.333407],[14.316418,-.552627],[13.843321,.038758],[14.276266,1.19693],[14.026669,1.395677],[13.282631,1.314184],[13.003114,1.830896],[13.075822,2.267097],[14.337813,2.227875],[15.146342,1.964015],[15.940919,1.727673],[16.012852,2.26764],[16.537058,3.198255],[17.133042,3.728197],[17.8099,3.560196],[18.453065,3.504386],[18.393792,2.900443],[18.094276,2.365722],[17.898835,1.741832],[17.774192,.855659],[17.82654,.288923],[17.663553,-.058084],[17.638645,-.424832],[17.523716,-.74383],[16.865307,-1.225816],[16.407092,-1.740927],[15.972803,-2.712392],[16.00629,-3.535133],[15.75354,-3.855165],[15.170992,-4.343507],[14.582604,-4.970239],[14.209035,-4.793092],[14.144956,-4.510009],[13.600235,-4.500138],[13.25824,-4.882957],[12.99551
57,-4.781103]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Colombia",SOV_A3:"COL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Colombia",ADM0_A3:"COL",GEOU_DIF:0,GEOUNIT:"Colombia",GU_A3:"COL",SU_DIF:0,SUBUNIT:"Colombia",SU_A3:"COL",BRK_DIFF:0,NAME:"Colombia",NAME_LONG:"Colombia",BRK_A3:"COL",BRK_NAME:"Colombia",BRK_GROUP:null,ABBREV:"Col.",POSTAL:"CO",FORMAL_EN:"Republic of Colombia",FORMAL_FR:null,NAME_CIAWF:"Colombia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Colombia",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:1,POP_EST:47698524,POP_RANK:15,GDP_MD_EST:688e3,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"CO",ISO_A2:"CO",ISO_A3:"COL",ISO_A3_EH:"COL",ISO_N3:"170",UN_A3:"170",WB_A2:"CO",WB_A3:"COL",WOE_ID:23424787,WOE_ID_EH:23424787,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"COL",ADM0_A3_US:"COL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[-78.990935,-4.298187,-66.876326,12.437303],geometry:{type:"Polygon",coordinates:[[[-66.876326,1.253361],[-67.065048,1.130112],[-67.259998,1.719999],[-67.53781,2.037163],[-67.868565,1.692455],[-69.816973,1.714805],[-69.804597,1.089081],[-69.218638,.985677],[-69.252434,.602651],[-69.452396,.706159],[-70.015566,.541414],[-70.020656,-.185156],[-69.577065,-.549992],[-69.420486,-1.122619],[-69.444102,-1.556287],[-69.893635,-4.298187],[-70.394044,-3.766591],[-70.692682,-3.742872],[-70.047709,-2.725156],[-70.813476,-2.256865],[-71.413646,-2.342802],[-71.774761,-2.16979],[-72.325787,-2.434218],[-73.070392,-2.308954],[-73.659504,-1.260491],[-74.122395,-1.002833],[-74.441601,-.53082],[-75.106625,-.057205],[-75.373223,-.152032],[-75.801466,.084801],[-76.292314,.416047],[-76.57638,.256936],[-77.424984,.395687],[-77.668613,.825893],[-77.855061,.809925],[-78.855259,1.380924],[-78.990935,1.69137],[-78.617831,1.766404],[-78.662118,2.267355],[-78.42761,2.629556],[-77.931543,2.696606],[-77.510431,3.325017],[-77.12769,3.849636],[-77.496272,4.087606],[-77.307601,4.667984],[-77.533221,5.582812],[-77.318815,5.845354],[-77.476661,6.691116],[-77.881571,7.223771],[-77.753414,7.70984],[-77.431108,7.638061],[-77.242566,7.935278],[-77.474723,8.524286],[-77.353361,8.670505],[-76.836674,8.638749],[-76.086384,9.336821],[-75.6746,9.443248],[-75.664704,9.774003],[-75.480426,10.61899],[-74.906895,11.083045],[-74.276753,11.102036],[-74.197223,11.310473],[-73.414764,11.227015],[-72.627835,11.731972],[-72.238195,11.95555],[-71.75409,12.437303],[-71.399822,12.376041],[-71.137461,12.112982],[-71.331584,11.776284],[-71.973922,11.608672],[-72.227575,11.108702],[-72.614658,10.821975],[-72.905286,10.450344],[-73.027604,9.73677],[-73.304952,9.152],[-72.78873,9.085027],[-72.660495,8.625288],[-72.439862,8.405275],[-72.360901,8.002638],[-72.479679,7.632506],[-72.444487,7.423785],[-72.198352,7.340431],[-71.960176,6.991615],[-70.674234,7.087785],[-70.093313,6.9
560376],[-69.38948,6.099861],[-68.985319,6.206805],[-68.265052,6.153268],[-67.695087,6.267318],[-67.34144,6.095468],[-67.521532,5.55687],[-67.744697,5.221129],[-67.823012,4.503937],[-67.621836,3.839482],[-67.337564,3.542342],[-67.303173,3.318454],[-67.809938,2.820655],[-67.447092,2.600281],[-67.181294,2.250638],[-66.876326,1.253361]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Costa Rica",SOV_A3:"CRI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Costa Rica",ADM0_A3:"CRI",GEOU_DIF:0,GEOUNIT:"Costa Rica",GU_A3:"CRI",SU_DIF:0,SUBUNIT:"Costa Rica",SU_A3:"CRI",BRK_DIFF:0,NAME:"Costa Rica",NAME_LONG:"Costa Rica",BRK_A3:"CRI",BRK_NAME:"Costa Rica",BRK_GROUP:null,ABBREV:"C.R.",POSTAL:"CR",FORMAL_EN:"Republic of Costa Rica",FORMAL_FR:null,NAME_CIAWF:"Costa Rica",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Costa Rica",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:4,MAPCOLOR13:2,POP_EST:4930258,POP_RANK:12,GDP_MD_EST:79260,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"CS",ISO_A2:"CR",ISO_A3:"CRI",ISO_A3_EH:"CRI",ISO_N3:"188",UN_A3:"188",WB_A2:"CR",WB_A3:"CRI",WOE_ID:23424791,WOE_ID_EH:23424791,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CRI",ADM0_A3_US:"CRI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-85.941725,8.225028,-82.546196,11.217119],geometry:{type:"Polygon",coordinates:[[[-82.965783,8.225028],[-83.508437,8.446927],[-83.711474,8.656836],[-83.596313,8.830443],[-83.632642,9.051386],[-83.909886,9.290803],[-84.303402,9.487354],[-84.647644,9.615537],[-84.713351,9.908052],[-84.97566,10.086723],[-84.911375,9.795992],[-85.110923,9.55704],[-85.339488,9.834542],[-85.660787,9.933347],[-85.797445,10.134886],[-85.791709,10.439337],[-85.659314,10.754331],[-85.941725,10.895278],[-85.71254,11.088445],[-85.561852,11.217119],[-84.903003,10.952303],[-84.673069,11.082657],[-84.355931,10.999226],[-84.190179,10.79345],[-83.895054,10.726839],[-83.655612,10.938764],[-83.40232,10.395438],[-83.015677,9.992982],[-82.546196,9.566135],[-82.932891,9.476812],[-82.927155,9.07433],[-82.719183,8.925709],[-82.868657,8.807266],[-82.829771,8.626295],[-82.913176,8.423517],[-82.965783,8.225028]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Cuba",SOV_A3:"CUB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Cuba",ADM0_A3:"CUB",GEOU_DIF:0,GEOUNIT:"Cuba",GU_A3:"CUB",SU_DIF:0,SUBUNIT:"Cuba",SU_A3:"CUB",BRK_DIFF:0,NAME:"Cuba",NAME_LONG:"Cuba",BRK_A3:"CUB",BRK_NAME:"Cuba",BRK_GROUP:null,ABBREV:"Cuba",POSTAL:"CU",FORMAL_EN:"Republic of Cuba",FORMAL_FR:null,NAME_CIAWF:"Cuba",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Cuba",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:3,MAPCOLOR13:4,POP_EST:11147407,POP_RANK:14,GDP_MD_EST:132900,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"CU",ISO_A2:"CU",ISO_A3:"CUB",ISO_A3_EH:"CUB",ISO_N3:"192",UN_A3:"192",WB_A2:"CU",WB_A3:"CUB",WOE_ID:23424793,WOE_ID_EH:23424793,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CUB",ADM0_A3_US:"CUB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-84.974911,19.855481,-74.178025,23.188611],geometry:{type:"Polygon",coordinates:[[[-82.268151,23.188611],[-81.404457,23.117271],[-80.618769,23.10598],[-79.679524,22.765303],[-79.281486,22.399202],[-78.347434,22.512166],[-77.993296,22.277194],[-77.146422,21.657851],[-76.523825,21.20682],[-76.19462,21.220565],[-75.598222,21.016624],[-75.67106,20.735091],[-74.933896,20.693905],[-74.178025,20.284628],[-74.296648,20.050379],[-74.961595,19.923435],[-75.63468,19.873774],[-76.323656,19.952891],[-77.755481,19.855481],[-77.085108,20.413354],[-77.492655,20.673105],[-78.137292,20.739949],[-78.482827,21.028613],[-78.719867,21.598114],[-79.285,21.559175],[-80.217475,21.827324],[-80.517535,22.037079],[-81.820943,22.192057],[-82.169992,22.387109],[-81.795002,22.636965],[-82.775898,22.68815],[-83.494459,22.168518],[-83.9088,22.154565],[-84.052151,21.910575],[-84.54703,21.801228],[-84.974911,21.89
56028],[-84.447062,22.20495],[-84.230357,22.565755],[-83.77824,22.788118],[-83.267548,22.983042],[-82.510436,23.078747],[-82.268151,23.188611]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Northern Cyprus",SOV_A3:"CYN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Northern Cyprus",ADM0_A3:"CYN",GEOU_DIF:0,GEOUNIT:"Northern Cyprus",GU_A3:"CYN",SU_DIF:0,SUBUNIT:"Northern Cyprus",SU_A3:"CYN",BRK_DIFF:1,NAME:"N. Cyprus",NAME_LONG:"Northern Cyprus",BRK_A3:"B20",BRK_NAME:"N. Cyprus",BRK_GROUP:null,ABBREV:"N. Cy.",POSTAL:"CN",FORMAL_EN:"Turkish Republic of Northern Cyprus",FORMAL_FR:null,NAME_CIAWF:null,NOTE_ADM0:"Self admin.",NOTE_BRK:"Self admin.; Claimed by Cyprus",NAME_SORT:"Cyprus, Northern",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:4,MAPCOLOR13:8,POP_EST:265100,POP_RANK:10,GDP_MD_EST:3600,POP_YEAR:2013,LASTCENSUS:-99,GDP_YEAR:2013,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"-99",ISO_A3:"-99",ISO_A3_EH:"-99",ISO_N3:"-99",UN_A3:"-099",WB_A2:"-99",WB_A3:"-99",WOE_ID:-90,WOE_ID_EH:23424995,WOE_NOTE:"WOE lists as subunit of united Cyprus",ADM0_A3_IS:"CYP",ADM0_A3_US:"CYP",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:9,LONG_LEN:15,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:6,MAX_LABEL:10},bbox:[32.73178,35.000345,34.576474,35.671596],geometry:{type:"Polygon",coordinates:[[[32.73178,35.140026],[32.802474,35.145504],[32.946961,35.386703],[33.667227,35.373216],[34.576474,35.671596],[33.900804,35.245756],[33.973617,35.058506],[33.86644,35.093595],[33.675392,35.017863],[33.525685,35.038688],[33.475817,35.000345],[33.455922,35.101424],[33.383833,35.162712],[33.190977,35.173125],[32.919572,35.087833],[32.73178,35.140026]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Cyprus",SOV_A3:"CYP",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Cyprus",ADM0_A3:"CYP",GEOU_DIF:0,GEOUNIT:"Cyprus",GU_A3:"CYP",SU_DIF:0,SUBUNIT:"Cyprus",SU_A3:"CYP",BRK_DIFF:0,NAME:"Cyprus",NAME_LONG:"Cyprus",BRK_A3:"CYP",BRK_NAME:"Cyprus",BRK_GROUP:null,ABBREV:"Cyp.",POSTAL:"CY",FORMAL_EN:"Republic of Cyprus",FORMAL_FR:null,NAME_CIAWF:"Cyprus",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Cyprus",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:7,POP_EST:1221549,POP_RANK:12,GDP_MD_EST:29260,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"CY",ISO_A2:"CY",ISO_A3:"CYP",ISO_A3_EH:"CYP",ISO_N3:"196",UN_A3:"196",WB_A2:"CY",WB_A3:"CYP",WOE_ID:-90,WOE_ID_EH:23424994,WOE_NOTE:"WOE lists as subunit of united Cyprus",ADM0_A3_IS:"CYP",ADM0_A3_US:"CYP",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[32.256667,34.571869,34.004881,35.173125],geometry:{type:"Polygon",coordinates:[[[32.73178,35.140026],[32.919572,35.087833],[33.190977,35.173125],[33.383833,35.162712],[33.455922,35.101424],[33.475817,35.000345],[33.525685,35.038688],[33.675392,35.017863],[33.86644,35.093595],[33.973617,35.058506],[34.004881,34.978098],[32.979827,34.571869],[32.490296,34.701655],[32.256667,35.103232],[32.73178,35.140026]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Czechia",SOV_A3:"CZE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Czechia",ADM0_A3:"CZE",GEOU_DIF:0,GEOUNIT:"Czechia",GU_A3:"CZE",SU_DIF:0,SUBUNIT:"Czechia",SU_A3:"CZE",BRK_DIFF:0,NAME:"Czechia",NAME_LONG:"Czech Republic",BRK_A3:"CZE",BRK_NAME:"Czechia",BRK_GROUP:null,ABBREV:"Cz.",POSTAL:"CZ",FORMAL_EN:"Czech Republic",FORMAL_FR:"la République tchèque",NAME_CIAWF:"Czechia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Czechia",NAME_ALT:"Äesko",MAPCOLOR7:1,MAPCOLOR8:1,MAPCOLOR9:2,MAPCOLOR13:6,POP_EST:10674723,POP_RANK:14,GDP_MD_EST:350900,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"EZ",ISO_A2:"CZ",ISO_A3:"CZE",ISO_A3_EH:"CZE",ISO_N3:"203",UN_A3:"203",WB_A2:"CZ",WB_A3:"CZE",WOE_ID:23424810,WOE_ID_EH:23424810,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"CZE",ADM0_A3_US:"CZE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:14,ABBREV_LEN:3,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[12.240111,48.555305,18.853144,51.117268],geometry:{type:"Polygon",coordinates:[[[16.960288,48.596982],[16.499283,48.785808],[16.029647,48.733899],[15.253416,49.039074],[14.901447,48.964402],[14.338898,48.555305],[13.595946,48.877172],[13.031329,49.307068],[12.521024,49.547415],[12.415191,49.969121],[12.240111,50.266338],[12.966837,50.484076],[13.338132,50.733234],[14.056228,50.926918],[14.307013,51.117268],[14.570
5718,51.002339],[15.016996,51.106674],[15.490972,50.78473],[16.238627,50.697733],[16.176253,50.422607],[16.719476,50.215747],[16.868769,50.473974],[17.554567,50.362146],[17.649445,50.049038],[18.392914,49.988629],[18.853144,49.49623],[18.554971,49.495015],[18.399994,49.315001],[18.170498,49.271515],[18.104973,49.043983],[17.913512,48.996493],[17.886485,48.903475],[17.545007,48.800019],[17.101985,48.816969],[16.960288,48.596982]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Germany",SOV_A3:"DEU",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Germany",ADM0_A3:"DEU",GEOU_DIF:0,GEOUNIT:"Germany",GU_A3:"DEU",SU_DIF:0,SUBUNIT:"Germany",SU_A3:"DEU",BRK_DIFF:0,NAME:"Germany",NAME_LONG:"Germany",BRK_A3:"DEU",BRK_NAME:"Germany",BRK_GROUP:null,ABBREV:"Ger.",POSTAL:"D",FORMAL_EN:"Federal Republic of Germany",FORMAL_FR:null,NAME_CIAWF:"Germany",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Germany",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:5,MAPCOLOR9:5,MAPCOLOR13:1,POP_EST:80594017,POP_RANK:16,GDP_MD_EST:3979e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"GM",ISO_A2:"DE",ISO_A3:"DEU",ISO_A3_EH:"DEU",ISO_N3:"276",UN_A3:"276",WB_A2:"DE",WB_A3:"DEU",WOE_ID:23424829,WOE_ID_EH:23424829,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"DEU",ADM0_A3_US:"DEU",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[5.988658,47.302488,15.016996,54.983104],geometry:{type:"Polygon",coordinates:[[[13.595946,48.877172],[13.243357,48.416115],[12.884103,48.289146],[13.025851,47.637584],[12.932627,47.467646],[12.62076,47.672388],[12.141357,47.703083],[11.426414,47.523766],[10.544504,47.566399],[10.402084,47.302488],[9.896068,47.580197],[9.594226,47.525058],[8.522612,47.830828],[8.317301,47.61358],[7.466759,47.620582],[7.593676,48.333019],[8.099279,49.017784],[6.65823,49.201958],[6.18632,49.463803],[6.242751,49.902226],[6.043073,50.128052],[6.156658,50.803721],[5.988658,51.851616],[6.589397,51.852029],[6.84287,52.22844],[7.092053,53.144043],[6.90514,53.482162],[7.100425,53.693932],[7.936239,53.748296],[8.121706,53.527792],[8.800734,54.020786],[8.572118,54.395646],[8.526229,54.962744],[9.282049,54.830865],[9.921906,54.983104],[9.93958,54.596642],[10.950112,54.363607],[10.939467,54.008693],[11.956252,54.196486],[12.51844,54.470371],[13.647467,54.075511],[14.119686,53.757029],[14.353315,53.248171],[14.074521,52.981263],[14.4376,52.62485],[14.685026,52.089947],[14.607098,51.745188],[15.016996,51.106674],[14.570718,51.002339],[14.307013,51.117268],[14.056228,50.926918],[13.338132,50.733234],[12.966837,50.484076],[12.240111,50.266338],[12.415191,49.969121],[12.521024,49.547415],[13.031329,49.307068],[13.595946,48.877172]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Djibouti",SOV_A3:"DJI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Djibouti",ADM0_A3:"DJI",GEOU_DIF:0,GEOUNIT:"Djibouti",GU_A3:"DJI",SU_DIF:0,SUBUNIT:"Djibouti",SU_A3:"DJI",BRK_DIFF:0,NAME:"Djibouti",NAME_LONG:"Djibouti",BRK_A3:"DJI",BRK_NAME:"Djibouti",BRK_GROUP:null,ABBREV:"Dji.",POSTAL:"DJ",FORMAL_EN:"Republic of Djibouti",FORMAL_FR:null,NAME_CIAWF:"Djibouti",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Djibouti",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:4,MAPCOLOR13:8,POP_EST:865267,POP_RANK:11,GDP_MD_EST:3345,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"DJ",ISO_A2:"DJ",ISO_A3:"DJI",ISO_A3_EH:"DJI",ISO_N3:"262",UN_A3:"262",WB_A2:"DJ",WB_A3:"DJI",WOE_ID:23424797,WOE_ID_EH:23424797,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"DJI",ADM0_A3_US:"DJI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[41.66176,10.926879,43.317852,12.699639],geometry:{type:"Polygon",coordinates:[[[43.081226,12.699639],[43.317852,12.390148],[43.286381,11.974928],[42.715874,11.735641],[43.145305,11.46204],[42.776852,10.926879],[42.55493,11.10511],[42.31414,11.0342],[41.75557,11.05091],[41.73959,11.35511],[41.66176,11.6312],[42,12.1],[42.35156,12.54223],[42.779642,12.455416],[43.081226,12.699639]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Denmark",SOV_A3:"DN1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Denmark",ADM0_A3:"DNK",GEOU_DIF:0,GEOUNIT:"Denmark",GU_A3:"DNK",SU_DIF:0,SUBUNIT:"Denmark",SU_A3:"DNK",BRK_DIFF:0,NAME:"Denmark",NAME_LONG:"Denmark",BRK_A3:"DNK",BRK_NAME:"Denmark",BRK_GROUP:null,ABBREV:"Den.",POSTAL:"DK",FORMAL_EN:"Kingdom of Denmark",FORMAL_FR:null,NAME_CIAWF:"Denmark",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Denmark",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:12,POP_EST:5605948,POP_RANK:13,GDP_MD_EST:264800,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"DA",ISO_A2:"DK",ISO_A3:"DNK",ISO_A3_EH:"DNK",ISO_N3:"208",UN_A3:"208",WB_A2:"DK",WB_A3:"DNK",WOE_ID:23424796,WOE_ID_EH:23424796,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"DNK",ADM0_A3_US:"DNK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[8.089977,54.800015,12.690006,57.730017],geometry:{type:"MultiPolygon",coordinates:[[[[9.921906,54.983104],[9.282049,54.830865],[8.526229,54.962744],[8.120311,55.517723],[8.089977,56.540012],[8.256582,56.809969],[8.543438,57.110003],[9.424469,57.172066],[9.775559,57.447941],[10.580006,57.730017],[10.546106,5
57.215733],[10.25,56.890016],[10.369993,56.609982],[10.912182,56.458621],[10.667804,56.081383],[10.369993,56.190007],[9.649985,55.469999],[9.921906,54.983104]]],[[[12.690006,55.609991],[12.089991,54.800015],[11.043543,55.364864],[10.903914,55.779955],[12.370904,56.111407],[12.690006,55.609991]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Dominican Republic",SOV_A3:"DOM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Dominican Republic",ADM0_A3:"DOM",GEOU_DIF:0,GEOUNIT:"Dominican Republic",GU_A3:"DOM",SU_DIF:0,SUBUNIT:"Dominican Republic",SU_A3:"DOM",BRK_DIFF:0,NAME:"Dominican Rep.",NAME_LONG:"Dominican Republic",BRK_A3:"DOM",BRK_NAME:"Dominican Rep.",BRK_GROUP:null,ABBREV:"Dom. Rep.",POSTAL:"DO",FORMAL_EN:"Dominican Republic",FORMAL_FR:null,NAME_CIAWF:"Dominican Republic",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Dominican Republic",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:7,POP_EST:10734247,POP_RANK:14,GDP_MD_EST:161900,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"DR",ISO_A2:"DO",ISO_A3:"DOM",ISO_A3_EH:"DOM",ISO_N3:"214",UN_A3:"214",WB_A2:"DO",WB_A3:"DOM",WOE_ID:23424800,WOE_ID_EH:23424800,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"DOM",ADM0_A3_US:"DOM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:14,LONG_LEN:18,ABBREV_LEN:9,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[-71.945112,17.598564,-68.317943,19.884911],geometry:{type:"Polygon",coordinates:[[[-71.712361,19.714456],[-71.587304,19.884911],[-70.806706,19.880286],[-70.214365,19.622885],[-69.950815,19.648],[-69.76925,19.293267],[-69.222126,19.313214],[-69.254346,19.015196],[
5-68.809412,18.979074],[-68.317943,18.612198],[-68.689316,18.205142],[-69.164946,18.422648],[-69.623988,18.380713],[-69.952934,18.428307],[-70.133233,18.245915],[-70.517137,18.184291],[-70.669298,18.426886],[-70.99995,18.283329],[-71.40021,17.598564],[-71.657662,17.757573],[-71.708305,18.044997],[-71.687738,18.31666],[-71.945112,18.6169],[-71.701303,18.785417],[-71.624873,19.169838],[-71.712361,19.714456]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Algeria",SOV_A3:"DZA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Algeria",ADM0_A3:"DZA",GEOU_DIF:0,GEOUNIT:"Algeria",GU_A3:"DZA",SU_DIF:0,SUBUNIT:"Algeria",SU_A3:"DZA",BRK_DIFF:0,NAME:"Algeria",NAME_LONG:"Algeria",BRK_A3:"DZA",BRK_NAME:"Algeria",BRK_GROUP:null,ABBREV:"Alg.",POSTAL:"DZ",FORMAL_EN:"People's Democratic Republic of Algeria",FORMAL_FR:null,NAME_CIAWF:"Algeria",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Algeria",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:1,MAPCOLOR9:6,MAPCOLOR13:3,POP_EST:40969443,POP_RANK:15,GDP_MD_EST:609400,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"AG",ISO_A2:"DZ",ISO_A3:"DZA",ISO_A3_EH:"DZA",ISO_N3:"012",UN_A3:"012",WB_A2:"DZ",WB_A3:"DZA",WOE_ID:23424740,WOE_ID_EH:23424740,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"DZA",ADM0_A3_US:"DZA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[-8.6844,19.057364,11.999506,37.118381],geometry:{type:"Polygon",coordinates:[[[4.267419,19.155265],[3.158133,19.057364],[3.146661,19.693579],[2.683588,19.85623],[2.060991,20.142233],[1.823228,20.610809],[-1.550055,22.792666],[-4.923337,24.974574],[-8.6844,27.395744],[-8.665124,27.589479],[-8.66559,27.656426],[-8.674116,28.841289],[-7.059228,29.579228],[-6.060632,29.7317],[-5.242129,30.000443],[-4.859646,30.501188],[-3.690441,30.896952],[-3.647498,31.637294],[-3.06898,31.724498],[-2.616605,32.094346],[-1.307899,32.262889],[-1.124551,32.651522],[-1.388049,32.864015],[-1.733455,33.919713],[-1.792986,34.527919],[-2.169914,35.168396],[-1.208603,35.714849],[-.127454,35.888662],[.503877,36.301273],[1.466919,36.605647],[3.161699,36.783905],[4.815758,36.865037],[5.32012,36.716519],[6.26182,37.110655],[7.330385,37.118381],[7.737078,36.885708],[8.420964,36.946427],[8.217824,36.433177],[8.376368,35.479876],[8.140981,34.655146],[7.524482,34.097376],[7.612642,33.344115],[8.430473,32.748337],[8.439103,32.506285],[9.055603,32.102692],[9.48214,30.307556],[9.805634,29.424638],[9.859998,28.95999],[9.683885,28.144174],[9.756128,27.688259],[9.629056,27.140953],[9.716286,26.512206],[9.319411,26.094325],[9.910693,25.365455],[9.948261,24.936954],[10.303847,24.379313],[10.771364,24.562532],[11.560669,24.097909],[11.999506,23.471668],[8.572893,21.565661],[5.677566,19.601207],[4.267419,19.155265]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Ecuador",SOV_A3:"ECU",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ecuador",ADM0_A3:"ECU",GEOU_DIF:0,GEOUNIT:"Ecuador",GU_A3:"ECU",SU_DIF:0,SUBUNIT:"Ecuador",SU_A3:"ECU",BRK_DIFF:0,NAME:"Ecuador",NAME_LONG:"Ecuador",BRK_A3:"ECU",BRK_NAME:"Ecuador",BRK_GROUP:null,ABBREV:"Ecu.",POSTAL:"EC",FORMAL_EN:"Republic of Ecuador",FORMAL_FR:null,NAME_CIAWF:"Ecuador",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Ecuador",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:5,MAPCOLOR9:2,MAPCOLOR13:12,POP_EST:16290913,POP_RANK:14,GDP_MD_EST:182400,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"EC",ISO_A2:"EC",ISO_A3:"ECU",ISO_A3_EH:"ECU",ISO_N3:"218",UN_A3:"218",WB_A2:"EC",WB_A3:"ECU",WOE_ID:23424801,WOE_ID_EH:23424801,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ECU",ADM0_A3_US:"ECU",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8}
5,bbox:[-80.967765,-4.959129,-75.233723,1.380924],geometry:{type:"Polygon",coordinates:[[[-78.855259,1.380924],[-77.855061,.809925],[-77.668613,.825893],[-77.424984,.395687],[-76.57638,.256936],[-76.292314,.416047],[-75.801466,.084801],[-75.373223,-.152032],[-75.233723,-.911417],[-75.544996,-1.56161],[-76.635394,-2.608678],[-77.837905,-3.003021],[-78.450684,-3.873097],[-78.639897,-4.547784],[-79.205289,-4.959129],[-79.624979,-4.454198],[-80.028908,-4.346091],[-80.442242,-4.425724],[-80.469295,-4.059287],[-80.184015,-3.821162],[-80.302561,-3.404856],[-79.770293,-2.657512],[-79.986559,-2.220794],[-80.368784,-2.685159],[-80.967765,-2.246943],[-80.764806,-1.965048],[-80.933659,-1.057455],[-80.58337,-.906663],[-80.399325,-.283703],[-80.020898,.36034],[-80.09061,.768429],[-79.542762,.982938],[-78.855259,1.380924]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Egypt",SOV_A3:"EGY",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Egypt",ADM0_A3:"EGY",GEOU_DIF:0,GEOUNIT:"Egypt",GU_A3:"EGY",SU_DIF:0,SUBUNIT:"Egypt",SU_A3:"EGY",BRK_DIFF:0,NAME:"Egypt",NAME_LONG:"Egypt",BRK_A3:"EGY",BRK_NAME:"Egypt",BRK_GROUP:null,ABBREV:"Egypt",POSTAL:"EG",FORMAL_EN:"Arab Republic of Egypt",FORMAL_FR:null,NAME_CIAWF:"Egypt",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Egypt, Arab Rep.",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:6,MAPCOLOR9:7,MAPCOLOR13:2,POP_EST:97041072,POP_RANK:16,GDP_MD_EST:1105e3,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"EG",ISO_A2:"EG",ISO_A3:"EGY",ISO_A3_EH:"EGY",ISO_N3:"818",UN_A3:"818",WB_A2:"EG",WB_A3:"EGY",WOE_ID:23424802,WOE_ID_EH:23424802,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"EGY",ADM0_A3_US:"EGY",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[24.70007,22,36.86623,31.58568],geometry:{type:"Polygon",coordinates:[[[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.6825],[25,29.238655],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.265435,31.219357],[34.26544,31.21936],[34.823243,29.761081],[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Eritrea",SOV_A3:"ERI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Eritrea",ADM0_A3:"ERI",GEOU_DIF:0,GEOUNIT:"Eritrea",GU_A3:"ERI",SU_DIF:0,SUBUNIT:"Eritrea",SU_A3:"ERI",BRK_DIFF:0,NAME:"Eritrea",NAME_LONG:"Eritrea",BRK_A3:"ERI",BRK_NAME:"Eritrea",BRK_GROUP:null,ABBREV:"Erit.",POSTAL:"ER",FORMAL_EN:"State of Eritrea",FORMAL_FR:null,NAME_CIAWF:"Eritrea",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Eritrea",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:2,MAPCOLOR13:12,POP_EST:5918919,POP_RANK:13,GDP_MD_EST:9169,POP_YEAR:2017,LASTCENSUS:1984,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"ER",ISO_A2:"ER",ISO_A3:"ERI",ISO_A3_EH:"ERI",ISO_N3:"232",UN_A3:"232",WB_A2:"ER",WB_A3:"ERI",WOE_ID:23424806,WOE_ID_EH:23424806,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ERI",ADM0_A3_US:"ERI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[36.32322,12.455416,43.081226,17.998307],geometry:{type:"Polygon",coordinates:[[[43.081226,12.699639],[42.779642,12.455416],[42.35156,12.54223],[42.00975,12.86582],[41.59856,13.45209],[41.1552,13.77333],[40.8966,14.11864],[40.02625,14.51959],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.9
50607,14.95943],[37.59377,14.2131],[36.42951,14.42211],[36.32322,14.82249],[36.75389,16.29186],[36.85253,16.95655],[37.16747,17.26314],[37.904,17.42754],[38.41009,17.998307],[38.990623,16.840626],[39.26611,15.922723],[39.814294,15.435647],[41.179275,14.49108],[41.734952,13.921037],[42.276831,13.343992],[42.589576,13.000421],[43.081226,12.699639]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Spain",SOV_A3:"ESP",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Spain",ADM0_A3:"ESP",GEOU_DIF:0,GEOUNIT:"Spain",GU_A3:"ESP",SU_DIF:0,SUBUNIT:"Spain",SU_A3:"ESP",BRK_DIFF:0,NAME:"Spain",NAME_LONG:"Spain",BRK_A3:"ESP",BRK_NAME:"Spain",BRK_GROUP:null,ABBREV:"Sp.",POSTAL:"E",FORMAL_EN:"Kingdom of Spain",FORMAL_FR:null,NAME_CIAWF:"Spain",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Spain",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:5,MAPCOLOR13:5,POP_EST:48958159,POP_RANK:15,GDP_MD_EST:169e4,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"SP",ISO_A2:"ES",ISO_A3:"ESP",ISO_A3_EH:"ESP",ISO_N3:"724",UN_A3:"724",WB_A2:"ES",WB_A3:"ESP",WOE_ID:23424950,WOE_ID_EH:23424950,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ESP",ADM0_A3_US:"ESP",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:3,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[-9.392884,35.94685,3.039484,43.748338],geometry:{type:"Polygon",coordinates:[[[-9.034818,41.880571],[-8.984433,42.592775],[-9.392884,43.026625],[-7.97819,43.748338],[-6.754492,43.567909],[-5.411886,43.57424],[-4.347843,43.403449],[-3.517532,43.455901],[-1.901351,43.422802],[-1.502771,43.034014],[.338047,42.579546],[.701591,42.795734],[1.826793,42.343385],[2.985999,42.473015],[3.039484,41.89212],[2.091842,41.226089],[.810525,41.014732],[.721331,40.678318],[.106692,40.123934],[-.278711,39.309978],[.111291,38.738514],[-.467124,38.292366],[-.683389,37.642354],[-1.438382,37.443064],[-2.146453,36.674144],[-3.415781,36.6589],[-4.368901,36.677839],[-4.995219,36.324708],[-5.37716,35.94685],[-5.866432,36.029817],[-6.236694,36.367677],[-6.520191,36.942913],[-7.453726,37.097788],[-7.537105,37.428904],[-7.166508,37.803894],[-7.029281,38.075764],[-7.374092,38.373059],[-7.098037,39.030073],[-7.498632,39.629571],[-7.066592,39.711892],[-7.026413,40.184524],[-6.86402,40.330872],[-6.851127,41.111083],[-6.389088,41.381815],[-6.668606,41.883387],[-7.251309,41.918346],[-7.422513,41.792075],[-8.013175,41.790886],[-8.263857,42.280469],[-8.671946,42.134689],[-9.034818,41.880571]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Estonia",SOV_A3:"EST",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Estonia",ADM0_A3:"EST",GEOU_DIF:0,GEOUNIT:"Estonia",GU_A3:"EST",SU_DIF:0,SUBUNIT:"Estonia",SU_A3:"EST",BRK_DIFF:0,NAME:"Estonia",NAME_LONG:"Estonia",BRK_A3:"EST",BRK_NAME:"Estonia",BRK_GROUP:null,ABBREV:"Est.",POSTAL:"EST",FORMAL_EN:"Republic of Estonia",FORMAL_FR:null,NAME_CIAWF:"Estonia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Estonia",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:1,MAPCOLOR13:10,POP_EST:1251581,POP_RANK:12,GDP_MD_EST:38700,POP_YEAR:2017,LASTCENSUS:2e3,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"EN",ISO_A2:"EE",ISO_A3:"EST",ISO_A3_EH:"EST",ISO_N3:"233",UN_A3:"233",WB_A2:"EE",WB_A3:"EST",WOE_ID:23424805,WOE_ID_EH:23424805,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"EST",ADM0_A3_US:"EST",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[23.339795,57.474528,28.131699,59.61109],geometry:{type:"Polygon",coordinates:[[[24.312863,57.793424],[24.428928,58.383413],[24.061198,58.257375],[23.42656,58.612753],[23.339795,59.18724],[24.604214,59.465854],[25.864189,59.61109],[26.949136,59.445803],[27.981114,59.475388],[27.981127,59.475373],[27.98112,59.47537],[28.131699,59.300825],[27.42015,58.72457],[27.716686,57.791899],[27.288185,57.474528],[26.463532,57.476389],[25.60281,57.847529],[25.164594,57.970157],[24.312863,57.793424]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Ethiopia",SOV_A3:"ETH",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ethiopia",ADM0_A3:"ETH",GEOU_DIF:0,GEOUNIT:"Ethiopia",GU_A3:"ETH",SU_DIF:0,SUBUNIT:"Ethiopia",SU_A3:"ETH",BRK_DIFF:0,NAME:"Ethiopia",NAME_LONG:"Ethiopia",BRK_A3:"ETH",BRK_NAME:"Ethiopia",BRK_GROUP:null,ABBREV:"Eth.",POSTAL:"ET",FORMAL_EN:"Federal Democratic Republic of Ethiopia",FORMAL_FR:null,NAME_CIAWF:"Ethiopia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Ethiopia",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:13,POP_EST:105350020,POP_RANK:17,GDP_MD_EST:174700,POP_YEAR:2017,LASTCENSUS:200
57,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"ET",ISO_A2:"ET",ISO_A3:"ETH",ISO_A3_EH:"ETH",ISO_N3:"231",UN_A3:"231",WB_A2:"ET",WB_A3:"ETH",WOE_ID:23424808,WOE_ID_EH:23424808,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ETH",ADM0_A3_US:"ETH",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[32.95418,3.42206,47.78942,14.95943],geometry:{type:"Polygon",coordinates:[[[42.35156,12.54223],[42,12.1],[41.66176,11.6312],[41.73959,11.35511],[41.75557,11.05091],[42.31414,11.0342],[42.55493,11.10511],[42.776852,10.926879],[42.55876,10.57258],[42.92812,10.02194],[43.29699,9.54048],[43.67875,9.18358],[46.94834,7.99688],[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.855083,3.918912],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.559384,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.855093,4.447864],[36.159079,4.447864],[35.817448,4.776966],[35.817448,5.338232],[35.298007,5.506],[34.70702,6.59422],[34.25032,6.82607],[34.0751,7.22595],[33.56829,7.71334],[32.95418,7.78497],[33.2948,8.35458],[33.8255,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115,10.91017],[34.83163,11.31896],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.56333],[36.42951,14.42211],[37.59377,14.2131],[37.90607,14.95943],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625,14.51959],[40.8966,14.11864],[41.1552,13.77333],[41.59856,13.45209],[42.00975,12.86582],[42.35156,12.54223]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Finland",SOV_A3:"FI1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Finland",ADM0_A3:"FIN",GEOU_DIF:0,GEOUNIT:"Finland",GU_A3:"FIN",SU_DIF:0,SUBUNIT:"Finland",SU_A3:"FIN",BRK_DIFF:0,NAME:"Finland",NAME_LONG:"Finland",BRK_A3:"FIN",BRK_NAME:"Finland",BRK_GROUP:null,ABBREV:"Fin.",POSTAL:"FIN",FORMAL_EN:"Republic of Finland",FORMAL_FR:null,NAME_CIAWF:"Finland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Finland",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:4,MAPCOLOR13:6,POP_EST:5491218,POP_RANK:13,GDP_MD_EST:224137,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"FI",ISO_A2:"FI",ISO_A3:"FIN",ISO_A3_EH:"FIN",ISO_N3:"246",UN_A3:"246",WB_A2:"FI",WB_A3:"FIN",WOE_ID:23424812,WOE_ID_EH:23424812,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"FIN",ADM0_A3_US:"FIN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[20.645593,59.846373,31.516092,70.164193],geometry:{type:"Polygon",coordinates:[[[23.903379,66.006927],[23.56588,66.396051],[23.539473,67.936009],[21.978535,68.616846],[20.645593,69.106247],[21.244936,69.370443],[22.356238,68.841741],[23.66205,68.891247],[24.735679,68.649557],[25.689213,69.092114],[26.179622,69.825299],[27.732292,70.164193],[29.015573,69.766491],[28.59193,69.064777],[28.445944,68.364613],[29.977426,67.698297],[29.054589,66.944286],[30.21765,65.80598],[29.54443,64.948672],[30.444685,64.204453],[30.035872,63.552814],[31.516092,62.867687],[31.139991,62.357693],[30.211107,61.780028],[28.07,60.50352],[28.070002,60.503519],[28.069998,60.503517],[26.255173,60.423961],[24.496624,60.057316],[22.869695,59.846373],[22.290764,60.391921],[21.322244,60.72017],[21.544866,61.705329],[21.059211,62.607393],[21.536029,63.189735],[22.442744,63.81781],[24.730512,64.902344],[25.398068,65.111427],[25.294043,65.534346],[23.903379,66.006927]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Fiji",SOV_A3:"FJI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Fiji",ADM0_A3:"FJI",GEOU_DIF:0,GEOUNIT:"Fiji",GU_A3:"FJI",SU_DIF:0,SUBUNIT:"Fiji",SU_A3:"FJI",BRK_DIFF:0,NAME:"Fiji",NAME_LONG:"Fiji",BRK_A3:"FJI",BRK_NAME:"Fiji",BRK_GROUP:null,ABBREV:"Fiji",POSTAL:"FJ",FORMAL_EN:"Republic of Fiji",FORMAL_FR:null,NAME_CIAWF:"Fiji",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Fiji",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:1,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:920938,POP_RANK:11,GDP_MD_EST:8374,POP_YEAR:2017,LASTCENSUS:200
57,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"FJ",ISO_A2:"FJ",ISO_A3:"FJI",ISO_A3_EH:"FJI",ISO_N3:"242",UN_A3:"242",WB_A2:"FJ",WB_A3:"FJI",WOE_ID:23424813,WOE_ID_EH:23424813,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"FJI",ADM0_A3_US:"FJI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Melanesia",REGION_WB:"East Asia & Pacific",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-180,-18.28799,180,-16.020882],geometry:{type:"MultiPolygon",coordinates:[[[[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481],[178.3736,-17.33992]]],[[[179.364143,-16.801354],[178.725059,-17.012042],[178.596839,-16.63915],[179.096609,-16.433984],[179.413509,-16.379054],[180,-16.067133],[180,-16.555217],[179.364143,-16.801354]]],[[[-179.917369,-16.501783],[-180,-16.555217],[-180,-16.067133],[-179.79332,-16.020882],[-179.917369,-16.501783]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"United Kingdom",SOV_A3:"GB1",ADM0_DIF:1,LEVEL:2,TYPE:"Dependency",ADMIN:"Falkland Islands",ADM0_A3:"FLK",GEOU_DIF:0,GEOUNIT:"Falkland Islands",GU_A3:"FLK",SU_DIF:0,SUBUNIT:"Falkland Islands",SU_A3:"FLK",BRK_DIFF:1,NAME:"Falkland Is.",NAME_LONG:"Falkland Islands",BRK_A3:"B12",BRK_NAME:"Falkland Is.",BRK_GROUP:null,ABBREV:"Flk. Is.",POSTAL:"FK",FORMAL_EN:"Falkland Islands",FORMAL_FR:null,NAME_CIAWF:"Falkland Islands (Islas Malvinas)",NOTE_ADM0:"U.K.",NOTE_BRK:"Admin. by U.K.; Claimed by Argentina",NAME_SORT:"Falkland Islands",NAME_ALT:"Islas Malvinas",MAPCOLOR7:6,MAPCOLOR8:6,MAPCOLOR9:6,MAPCOLOR13:3,POP_EST:2931,POP_RANK:4,GDP_MD_EST:281.8,POP_YEAR:2014,LASTCENSUS:-99,GDP_YEAR:2012,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"FK",ISO_A2:"FK",ISO_A3:"FLK",ISO_A3_EH:"FLK",ISO_N3:"238",UN_A3:"238",WB_A2:"-99",WB_A3:"-99",WOE_ID:23424814,WOE_ID_EH:23424814,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"FLK",ADM0_A3_US:"FLK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:12,LONG_LEN:16,ABBREV_LEN:8,TINY:-99,HOMEPART:-99,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9},bbox:[-61.2,-52.3,-57.75,-51.1],geometry:{type:"Polygon",coordinates:[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"France",SOV_A3:"FR1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"France",ADM0_A3:"FRA",GEOU_DIF:0,GEOUNIT:"France",GU_A3:"FRA",SU_DIF:0,SUBUNIT:"France",SU_A3:"FRA",BRK_DIFF:0,NAME:"France",NAME_LONG:"France",BRK_A3:"FRA",BRK_NAME:"France",BRK_GROUP:null,ABBREV:"Fr.",POSTAL:"F",FORMAL_EN:"French Republic",FORMAL_FR:null,NAME_CIAWF:"France",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"France",NAME_ALT:null,MAPCOLOR7:7,MAPCOLOR8:5,MAPCOLOR9:9,MAPCOLOR13:11,POP_EST:67106161,POP_RANK:16,GDP_MD_EST:2699e3,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"FR",ISO_A2:"-99",ISO_A3:"-99",ISO_A3_EH:"-99",ISO_N3:"250",UN_A3:"250",WB_A2:"FR",WB_A3:"FRA",WOE_ID:-90,WOE_ID_EH:23424819,WOE_NOTE:"Includes only Metropolitan France (including Corsica)",ADM0_A3_IS:"FRA",ADM0_A3_US:"FRA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:3,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[-54.524754,2.053389,9.560016,51.148506],geometry:{type:"MultiPolygon",coordinates:[[[[2.513573,51.148506],[2.658422,50.796848],[3.123252,50.780363],[3.588184,50.378992],[4.286023,49.907497],[4.799222,49.985373],[5.674052,49.529484],[5.897759,49.442667],[6.18632,49.463803],[6.65823,49.201958],[8.099279,49.017784],[7.593676,48.333019],[7.466759,47.620582],[7.192202,47.449766],[6.736571,47.541801],[6.768714,47.287708],[6.037389,46.725779],[6.022609,46.27299],[6.5001,46.429673],[6.843593,45.991147],[6.802355,45.70858],[7.096652,45.333099],[6.749955,45.028518],[7.007562,44.254767],[7.549596,44.127901],[7.435185,43.693845],[6.529245,43.128892],[4.556963,43.399651],[3.100411,43.075201],[2.985999,42.473015],[1.826793,42.343385],[.701591,42.795734],[.338047,42.579546],[-1.502771,43.034014],[-1.901351,43.422802],[-1.384225,44.02261],[-1.193798,46.014918],[-2.225724,47.064363],[-2.963276,47.570327],[-4.491555,47.954954],[-4.59235,48.68416],[-3.295814,48.901692],[-1.616511,48.644421],[-1.933494,49.776342],[-.989469,49.347376],[1.338761,50.127173],[1.639001,50.946606],[2.513573,51.148506]]],[[[-51.657797,4.156232],[-52.249338,3.241094],[-52.556425,2.504705],[-52.939657,2.124858],[-53.418465,2.053389],[-53.554839,2.334897
5],[-53.778521,2.376703],[-54.088063,2.105557],[-54.524754,2.311849],[-54.27123,2.738748],[-54.184284,3.194172],[-54.011504,3.62257],[-54.399542,4.212611],[-54.478633,4.896756],[-53.958045,5.756548],[-53.618453,5.646529],[-52.882141,5.409851],[-51.823343,4.565768],[-51.657797,4.156232]]],[[[9.560016,42.152492],[9.229752,41.380007],[8.775723,41.583612],[8.544213,42.256517],[8.746009,42.628122],[9.390001,43.009985],[9.560016,42.152492]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Gabon",SOV_A3:"GAB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Gabon",ADM0_A3:"GAB",GEOU_DIF:0,GEOUNIT:"Gabon",GU_A3:"GAB",SU_DIF:0,SUBUNIT:"Gabon",SU_A3:"GAB",BRK_DIFF:0,NAME:"Gabon",NAME_LONG:"Gabon",BRK_A3:"GAB",BRK_NAME:"Gabon",BRK_GROUP:null,ABBREV:"Gabon",POSTAL:"GA",FORMAL_EN:"Gabonese Republic",FORMAL_FR:null,NAME_CIAWF:"Gabon",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Gabon",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:5,POP_EST:1772255,POP_RANK:12,GDP_MD_EST:35980,POP_YEAR:2017,LASTCENSUS:2003,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"GB",ISO_A2:"GA",ISO_A3:"GAB",ISO_A3_EH:"GAB",ISO_N3:"266",UN_A3:"266",WB_A2:"GA",WB_A3:"GAB",WOE_ID:23424822,WOE_ID_EH:23424822,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GAB",ADM0_A3_US:"GAB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:3,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[8.797996,-3.978827,14.425456,2.326758],geometry:{type:"Polygon",coordinates:[[[11.276449,2.261051],[11.751665,2.326758],[12.35938,2.192812],[12.951334,2.321616],[13.075822,2.267097],[13.003114,1.830896],[13.282631,1.314184],[14.026669,1.395677],[14.276266,1.19693],[13.843321,.038758],[14.316418,-.552627],[14.425456,-1.333407],[14.29921,-1.998276],[13.992407,-2.470805],[13.109619,-2.42874],[12.575284,-1.948511],[12.495703,-2.391688],[11.820964,-2.514161],[11.478039,-2.765619],[11.855122,-3.426871],[11.093773,-3.978827],[10.066135,-2.969483],[9.405245,-2.144313],[8.797996,-1.111301],[8.830087,-.779074],[9.04842,-.459351],[9.291351,.268666],[9.492889,1.01012],[9.830284,1.067894],[11.285079,1.057662],[11.276449,2.261051]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"United Kingdom",SOV_A3:"GB1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"United Kingdom",ADM0_A3:"GBR",GEOU_DIF:0,GEOUNIT:"United Kingdom",GU_A3:"GBR",SU_DIF:0,SUBUNIT:"United Kingdom",SU_A3:"GBR",BRK_DIFF:0,NAME:"United Kingdom",NAME_LONG:"United Kingdom",BRK_A3:"GBR",BRK_NAME:"United Kingdom",BRK_GROUP:null,ABBREV:"U.K.",POSTAL:"GB",FORMAL_EN:"United Kingdom of Great Britain and Northern Ireland",FORMAL_FR:null,NAME_CIAWF:"United Kingdom",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"United Kingdom",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:6,MAPCOLOR9:6,MAPCOLOR13:3,POP_EST:64769452,POP_RANK:16,GDP_MD_EST:2788e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"UK",ISO_A2:"GB",ISO_A3:"GBR",ISO_A3_EH:"GBR",ISO_N3:"826",UN_A3:"826",WB_A2:"GB",WB_A3:"GBR",WOE_ID:-90,WOE_ID_EH:23424975,WOE_NOTE:"Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).",ADM0_A3_IS:"GBR",ADM0_A3_US:"GBR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:14,LONG_LEN:14,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[-7.572168,49.96,1.681531,58.635],geometry:{type:"MultiPolygon",coordinates:[[[[-6.197885,53.867565],[-6.95373,54.073702],[-7.572168,54.059956],[-7.366031,54.595841],[-7.572168,55.131622],[-6.733847,55.17286],[-5.661949,54.554603],[-6.197885,53.867565]]],[[[-3.005005,58.635],[-4.073828,57.553025],[-3.055002,57.690019],[-1.959281,57.6848],[-2.219988,56.870017],[-3.119003,55.973793],[-2.085009,55.909998],[-2.005676,55.804903],[-1.114991,54.624986],[-.430485,54.464376],[.184981,53.325014],[.469977,52.929999],[1.681531,52.73952],[1.559988,52.099998],[1.050562,51.806761],[1.449865,51.289428],[.550334,50.765739],[-.787517,50.774989],[-2.489998,50.500019],[-2.956274,50.69688],[-3.617448,50.228356],[-4.542508,50.341837],[-5.245023,49.96],[-5.776567,50.159678],[-4.30999,51.210001],[-3.414851,51.426009],[-3.422719,51.426848],[-4.984367,51.593466],[-5.267296,51.9914],[-4.222347,52.301356],[-4.770013,52.840005],[-4.579999,53.495004],[-3.093831,53.404547],[-3.09208,53.404441],[
5-2.945009,53.985],[-3.614701,54.600937],[-3.630005,54.615013],[-4.844169,54.790971],[-5.082527,55.061601],[-4.719112,55.508473],[-5.047981,55.783986],[-5.586398,55.311146],[-5.644999,56.275015],[-6.149981,56.78501],[-5.786825,57.818848],[-5.009999,58.630013],[-4.211495,58.550845],[-3.005005,58.635]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Georgia",SOV_A3:"GEO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Georgia",ADM0_A3:"GEO",GEOU_DIF:0,GEOUNIT:"Georgia",GU_A3:"GEO",SU_DIF:0,SUBUNIT:"Georgia",SU_A3:"GEO",BRK_DIFF:0,NAME:"Georgia",NAME_LONG:"Georgia",BRK_A3:"GEO",BRK_NAME:"Georgia",BRK_GROUP:null,ABBREV:"Geo.",POSTAL:"GE",FORMAL_EN:"Georgia",FORMAL_FR:null,NAME_CIAWF:"Georgia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Georgia",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:2,POP_EST:4926330,POP_RANK:12,GDP_MD_EST:37270,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"GG",ISO_A2:"GE",ISO_A3:"GEO",ISO_A3_EH:"GEO",ISO_N3:"268",UN_A3:"268",WB_A2:"GE",WB_A3:"GEO",WOE_ID:23424823,WOE_ID_EH:23424823,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GEO",ADM0_A3_US:"GEO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[39.955009,41.064445,46.637908,43.553104],geometry:{type:"Polygon",coordinates:[[[44.97248,41.248129],[43.582746,41.092143],[42.619549,41.583173],[41.554084,41.535656],[41.703171,41.962943],[41.45347,42.645123],[40.875469,43.013628],[40.321394,43.128634],[39.955009,43.434998],[40.076965,43.553104],[40.92219,43.38215],[42.3944,43.2203],[43.75599,42.74083],[43.93121,42.55496],[44.537623,42.711993],[45.470279,42.502781],[45.7764,42.09244],[46.404951,41.860675],[46.145432,41.722802],[46.637908,41.181673],[46.501637,41.064445],[45.962601,41.123873],[45.217426,41.411452],[44.97248,41.248129]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Ghana",SOV_A3:"GHA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ghana",ADM0_A3:"GHA",GEOU_DIF:0,GEOUNIT:"Ghana",GU_A3:"GHA",SU_DIF:0,SUBUNIT:"Ghana",SU_A3:"GHA",BRK_DIFF:0,NAME:"Ghana",NAME_LONG:"Ghana",BRK_A3:"GHA",BRK_NAME:"Ghana",BRK_GROUP:null,ABBREV:"Ghana",POSTAL:"GH",FORMAL_EN:"Republic of Ghana",FORMAL_FR:null,NAME_CIAWF:"Ghana",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Ghana",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:1,MAPCOLOR13:4,POP_EST:27499924,POP_RANK:15,GDP_MD_EST:120800,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"GH",ISO_A2:"GH",ISO_A3:"GHA",ISO_A3_EH:"GHA",ISO_N3:"288",UN_A3:"288",WB_A2:"GH",WB_A3:"GHA",WOE_ID:23424824,WOE_ID_EH:23424824,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GHA",ADM0_A3_US:"GHA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-3.24437,4.710462,1.060122,11.098341],geometry:{type:"Polygon",coordinates:[[[-2.827496,9.642461],[-2.963896,10.395335],[-2.940409,10.96269],[-1.203358,11.009819],[-.761576,10.93693],[-.438702,11.098341],[.023803,11.018682],[-.049785,10.706918],[.36758,10.191213],[.365901,9.465004],[.461192,8.677223],[.712029,8.312465],[.490957,7.411744],[.570384,6.914359],[.836931,6.279979],[1.060122,5.928837],[-.507638,5.343473],[-1.063625,5.000548],[-1.964707,4.710462],[-2.856125,4.994476],[-2.810701,5.389051],[-3.24437,6.250472],[-2.983585,7.379705],[-2.56219,8.219628],[-2.827496,9.642461]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Guinea",SOV_A3:"GIN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Guinea",ADM0_A3:"GIN",GEOU_DIF:0,GEOUNIT:"Guinea",GU_A3:"GIN",SU_DIF:0,SUBUNIT:"Guinea",SU_A3:"GIN",BRK_DIFF:0,NAME:"Guinea",NAME_LONG:"Guinea",BRK_A3:"GIN",BRK_NAME:"Guinea",BRK_GROUP:null,ABBREV:"Gin.",POSTAL:"GN",FORMAL_EN:"Republic of Guinea",FORMAL_FR:null,NAME_CIAWF:"Guinea",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Guinea",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:7,MAPCOLOR13:2,POP_EST:12413867,POP_RANK:14,GDP_MD_EST:16080,POP_YEAR:2017,LASTCENSUS:1996,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"GV",ISO_A2:"GN",ISO_A3:"GIN",ISO_A3_EH:"GIN",ISO_N3:"324",UN_A3:"324",WB_A2:"GN",WB_A3:"GIN",WOE_ID:23424835,WOE_ID_EH:23424835,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GIN",ADM0_A3_US:"GIN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-15.130311,7.309037,-7.8321,12.586183],geometry:{type:"Polygon",coordinates:[[[-8.029944,10.206535],[-8.229337,10.12902],[-8.309616,9.789532],[-8.079114,9.376224],[-7.8321,8.575704],[-8.203499,8.455453],[-8.299049,8.316444],[-8.221792,8.123329],[-8.280703,7.68718],[-8.439298,7.686043],[-8.722124,7.711674],[-8.926065,7.309037],[-9.208786,7.313921],[-9.403348,7.526905],[-9.33728,7.928534],[-9.755342,8.541055],[-10.016567,8.428504],[-10.230094,8.406206],[-10.505477,8.348896],[-10.494315,8.715541],[-10.65477,8.977178],[-10.622395,9.26791],[-10.839152,9.688246],[
5-11.117481,10.045873],[-11.917277,10.046984],[-12.150338,9.858572],[-12.425929,9.835834],[-12.596719,9.620188],[-12.711958,9.342712],[-13.24655,8.903049],[-13.685154,9.494744],[-14.074045,9.886167],[-14.330076,10.01572],[-14.579699,10.214467],[-14.693232,10.656301],[-14.839554,10.876572],[-15.130311,11.040412],[-14.685687,11.527824],[-14.382192,11.509272],[-14.121406,11.677117],[-13.9008,11.678719],[-13.743161,11.811269],[-13.828272,12.142644],[-13.718744,12.247186],[-13.700476,12.586183],[-13.217818,12.575874],[-12.499051,12.33209],[-12.278599,12.35444],[-12.203565,12.465648],[-11.658301,12.386583],[-11.513943,12.442988],[-11.456169,12.076834],[-11.297574,12.077971],[-11.036556,12.211245],[-10.87083,12.177887],[-10.593224,11.923975],[-10.165214,11.844084],[-9.890993,12.060479],[-9.567912,12.194243],[-9.327616,12.334286],[-9.127474,12.30806],[-8.905265,12.088358],[-8.786099,11.812561],[-8.376305,11.393646],[-8.581305,11.136246],[-8.620321,10.810891],[-8.407311,10.909257],[-8.282357,10.792597],[-8.335377,10.494812],[-8.029944,10.206535]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Gambia",SOV_A3:"GMB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Gambia",ADM0_A3:"GMB",GEOU_DIF:0,GEOUNIT:"Gambia",GU_A3:"GMB",SU_DIF:0,SUBUNIT:"Gambia",SU_A3:"GMB",BRK_DIFF:0,NAME:"Gambia",NAME_LONG:"The Gambia",BRK_A3:"GMB",BRK_NAME:"Gambia",BRK_GROUP:null,ABBREV:"Gambia",POSTAL:"GM",FORMAL_EN:"Republic of the Gambia",FORMAL_FR:null,NAME_CIAWF:"Gambia, The",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Gambia, The",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:8,POP_EST:2051363,POP_RANK:12,GDP_MD_EST:3387,POP_YEAR:2017,LASTCENSUS:2003,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"GA",ISO_A2:"GM",ISO_A3:"GMB",ISO_A3_EH:"GMB",ISO_N3:"270",UN_A3:"270",WB_A2:"GM",WB_A3:"GMB",WOE_ID:23424821,WOE_ID_EH:23424821,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GMB",ADM0_A3_US:"GMB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:10,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[-16.841525,13.130284,-13.844963,13.876492],geometry:{type:"Polygon",coordinates:[[[-16.841525,13.151394],[-16.713729,13.594959],[-15.624596,13.623587],[-15.39877,13.860369],[-15.081735,13.876492],[-14.687031,13.630357],[-14.376714,13.62568],[-14.046992,13.794068],[-13.844963,13.505042],[-14.277702,13.280585],[-14.712197,13.298207],[-15.141163,13.509512],[-15.511813,13.27857],[-15.691001,13.270353],[-15.931296,13.130284],[-16.841525,13.151394]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Guinea-Bissau",SOV_A3:"GNB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Guinea-Bissau",ADM0_A3:"GNB",GEOU_DIF:0,GEOUNIT:"Guinea-Bissau",GU_A3:"GNB",SU_DIF:0,SUBUNIT:"Guinea-Bissau",SU_A3:"GNB",BRK_DIFF:0,NAME:"Guinea-Bissau",NAME_LONG:"Guinea-Bissau",BRK_A3:"GNB",BRK_NAME:"Guinea-Bissau",BRK_GROUP:null,ABBREV:"GnB.",POSTAL:"GW",FORMAL_EN:"Republic of Guinea-Bissau",FORMAL_FR:null,NAME_CIAWF:"Guinea-Bissau",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Guinea-Bissau",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:3,MAPCOLOR13:4,POP_EST:1792338,POP_RANK:12,GDP_MD_EST:2851,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"PU",ISO_A2:"GW",ISO_A3:"GNB",ISO_A3_EH:"GNB",ISO_N3:"624",UN_A3:"624",WB_A2:"GW",WB_A3:"GNB",WOE_ID:23424929,WOE_ID_EH:23424929,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GNB",ADM0_A3_US:"GNB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:13,LONG_LEN:13,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[-16.677452,11.040412,-13.700476,12.62817],geometry:{type:"Polygon",coordinates:[[[-13.700476,12.586183],[-13.718744,12.247186],[-13.828272,12.142644],[-13.743161,11.811269],[-13.9008,11.678719],[-14.121406,11.677117],[-14.382192,11.509272],[-14.685687,11.527824],[-15.130311,11.040412],[-15.66418,11.458474],[-16.085214,11.524594],[-16.314787,11.806515],[-16.308947,11.958702],[-16.613838,12.170911],[-16.677452,12.384852],[-16.147717,12.547762],[-15.816574,12.515567],[-15.548477,12.62817],[-13.700476,12.586183]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Equatorial Guinea",SOV_A3:"GNQ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Equatorial Guinea",ADM0_A3:"GNQ",GEOU_DIF:0,GEOUNIT:"Equatorial Guinea",GU_A3:"GNQ",SU_DIF:0,SUBUNIT:"Equatorial Guinea",SU_A3:"GNQ",BRK_DIFF:0,NAME:"Eq. Guinea",NAME_LONG:"Equatorial Guinea",BRK_A3:"GNQ",BRK_NAME:"Eq. Guinea",BRK_GROUP:null,ABBREV:"Eq. G.",POSTAL:"GQ",FORMAL_EN:"Republic of Equatorial Guinea",FORMAL_FR:null,NAME_CIAWF:"Equatorial Guinea",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Equatorial Guinea",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:4,MAPCOLOR13:8,POP_EST:778358,POP_RANK:11,GDP_MD_EST:31770,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"EK",ISO_A2:"GQ",ISO_A3:"GNQ",ISO_A3_EH:"GNQ",ISO_N3:"226",UN_A3:"226",WB_A2:"GQ",WB_A3:"GNQ",WOE_ID:23424804,WOE_ID_EH:23424804,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GNQ",ADM0_A3_US:"GNQ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:10,LONG_LEN:17,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[9.305613,1.01012,11.285079,2.283866],geometry:{type:"Polygon",coordinates:[[[9.649158,2.283866],[11.276449,2.261051],[11.285079,1.057662],[9.830284,1.067894],[9.492889,1.01012],[9.305613,1.160911],[9.649158,2.283866]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Greece",SOV_A3:"GRC",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Greece",ADM0_A3:"GRC",GEOU_DIF:0,GEOUNIT:"Greece",GU_A3:"GRC",SU_DIF:0,SUBUNIT:"Greece",SU_A3:"GRC",BRK_DIFF:0,NAME:"Greece",NAME_LONG:"Greece",BRK_A3:"GRC",BRK_NAME:"Greece",BRK_GROUP:null,ABBREV:"Greece",POSTAL:"GR",FORMAL_EN:"Hellenic Republic",FORMAL_FR:null,NAME_CIAWF:"Greece",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Greece",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:9,POP_EST:10768477,POP_RANK:14,GDP_MD_EST:290500,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"GR",ISO_A2:"GR",ISO_A3:"GRC",ISO_A3_EH:"GRC",ISO_N3:"300",UN_A3:"300",WB_A2:"GR",WB_A3:"GRC",WOE_ID:23424833,WOE_ID_EH:23424833,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GRC",ADM0_A3_US:"GRC",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[20.150016,34.919988,26.604196,41.826905],geometry:{type:"MultiPolygon",coordinates:[[[[20.150016,39.624998],[20.615,40.110007],[20.674997,40.435],[20.99999,40.580004],[21.02004,40.842727],[21.674161,40.931275],[22.055378,41.149866],[22.597308,41.130487],[22.76177,41.3048],[22.952377,41.337994],[23.692074,41.309081],[24.492645,41.583896],[25.197201,41.234486],[26.106138,41.328899],[26.117042,41.826905],[26.604196,41.562115],[26.294602,40.936261],[26.056942,40.824123],[25.447677,40.852545],[24.925848,40.947062],[23.714811,40.687129],[24.407999,40.124993],[23.899968,39.962006],[23.342999,39.960998],[22.813988,40.476005],[22.626299,40.256561],[22.849748,39.659311],[23.350027,39.190011],[22.973099,38.970903],[23.530016,38.510001],[24.025025,38.219993],[24.040011,37.655015],[23.115003,37.920011],[23.409972,37.409991],[22.774972,37.30501],[23.154225,36.422506],[22.490028,36.41],[21.670026,36.844986],[21.295011,37.644989],[21.120034,38.310323],[20.730032,38.769985],[20.217712,39.340235],[20.150016,39.624998]]],[[[23.69998,35.705004],[24.246665,35.368022],[25.025015,35.424996],[25.769208,35.354018],[25.745023,35.179998],[26.290003,35.29999],[26.164998,35.004995],[24.724982,34.919988],[24.735007,35.084991],[23.514978,35.279992],[23.69998,35.705004]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Denmark",SOV_A3:"DN1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Greenland",ADM0_A3:"GRL",GEOU_DIF:0,GEOUNIT:"Greenland",GU_A3:"GRL",SU_DIF:0,SUBUNIT:"Greenland",SU_A3:"GRL",BRK_DIFF:0,NAME:"Greenland",NAME_LONG:"Greenland",BRK_A3:"GRL",BRK_NAME:"Greenland",BRK_GROUP:null,ABBREV:"Grlnd.",POSTAL:"GL",FORMAL_EN:"Greenland",FORMAL_FR:null,NAME_CIAWF:"Greenland",NOTE_ADM0:"Den.",NOTE_BRK:null,NAME_SORT:"Greenland",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:12,POP_EST:57713,POP_RANK:8,GDP_MD_EST:2173,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2015,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"GL",ISO_A2:"GL",ISO_A3:"GRL",ISO_A3_EH:"GRL",ISO_N3:"304",UN_A3:"304",WB_A2:"GL",WB_A3:"GRL",WOE_ID:23424828,WOE_ID_EH:23424828,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GRL",ADM0_A3_US:"GRL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Northern America",REGION_WB:"Europe & Central Asia",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:6,TINY:-99,HOMEPART:-99,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[-73.297,60.03676,-12.20855,83.64513],geometry:{type:"Polygon",coordinates:[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[
5-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.406537],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12
5003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Guatemala",SOV_A3:"GTM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Guatemala",ADM0_A3:"GTM",GEOU_DIF:0,GEOUNIT:"Guatemala",GU_A3:"GTM",SU_DIF:0,SUBUNIT:"Guatemala",SU_A3:"GTM",BRK_DIFF:0,NAME:"Guatemala",NAME_LONG:"Guatemala",BRK_A3:"GTM",BRK_NAME:"Guatemala",BRK_GROUP:null,ABBREV:"Guat.",POSTAL:"GT",FORMAL_EN:"Republic of Guatemala",FORMAL_FR:null,NAME_CIAWF:"Guatemala",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Guatemala",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:3,MAPCOLOR9:3,MAPCOLOR13:6,POP_EST:15460732,POP_RANK:14,GDP_MD_EST:131800,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"GT",ISO_A2:"GT",ISO_A3:"GTM",ISO_A3_EH:"GTM",ISO_N3:"320",UN_A3:"320",WB_A2:"GT",WB_A3:"GTM",WOE_ID:23424834,WOE_ID_EH:23424834,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GTM",ADM0_A3_US:"GTM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:5,TINY:4,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-92.229249,13.735338,-88.225023,17.819326],geometry:{type:"Polygon",coordinates:[[[-89.14308,17.808319],[-89.150806,17.015577],[-89.229122,15.886938],[-88.930613,15.887273],[-88.604586,15.70638],[-88.518364,15.855389],[-88.225023,15.727722],[-88.68068,15.346247],[-89.154811,15.066419],[-89.22522,14.874286],[-89.145535,14.678019],[-89.353326,14.424133],[-89.587343,14.362586],[-89.534219,14.244816],[-89.721934,14.134228],[-90.064678,13.88197],[-90.095555,13.735338],[-90.608624,13.909771],[-91.23241,13.927832],[-91.689747,14.126218],[-92.22775,14.538829],[-92.20323,14.830103],[-92.087216,15.064585],[-92.229249,15.251447],[-91.74796,16.066565],[-90.464473,16.069562],[-90.438867,16.41011],[-90.600847,16.470778],[-90.711822,16.687483],[-91.08167,16.918477],[-91.453921,17.252177],[-91.002269,17.254658],[-91.00152,17.817595],[-90.067934,17.819326],[-89.14308,17.808319]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Guyana",SOV_A3:"GUY",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Guyana",ADM0_A3:"GUY",GEOU_DIF:0,GEOUNIT:"Guyana",GU_A3:"GUY",SU_DIF:0,SUBUNIT:"Guyana",SU_A3:"GUY",BRK_DIFF:0,NAME:"Guyana",NAME_LONG:"Guyana",BRK_A3:"GUY",BRK_NAME:"Guyana",BRK_GROUP:null,ABBREV:"Guy.",POSTAL:"GY",FORMAL_EN:"Co-operative Republic of Guyana",FORMAL_FR:null,NAME_CIAWF:"Guyana",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Guyana",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:4,MAPCOLOR13:8,POP_EST:737718,POP_RANK:11,GDP_MD_EST:6093,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"GY",ISO_A2:"GY",ISO_A3:"GUY",ISO_A3_EH:"GUY",ISO_N3:"328",UN_A3:"328",WB_A2:"GY",WB_A3:"GUY",WOE_ID:23424836,WOE_ID_EH:23424836,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"GUY",ADM0_A3_US:"GUY",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-61.410303,1.268088,-56.539386,8.367035],geometry:{type:"Polygon",coordinates:[[[-56.539386,1.899523],[-56.782704,1.863711],[-57.335823,1.948538],[-57.660971,1.682585],[-58.11345,1.507195],[-58.429477,1.463942],[-58.540013,1.268088],[-59.030862,1.317698],[-59.646044,1.786894],[-59.718546,2.24963],[-59.974525,2.755233],[-59.815413,3.606499],[-59.53804,3.958803],[-59.767406,4.423503],[-60.111002,4.574967],[-59.980959,5.014061],[-60.213683,5.244486],[-60.733574,5.200277],[-61.410303,5.959068],[-61.139415,6.234297],[-61.159336,6.696077],[
5-60.543999,6.856584],[-60.295668,7.043911],[-60.637973,7.415],[-60.550588,7.779603],[-59.758285,8.367035],[-59.101684,7.999202],[-58.482962,7.347691],[-58.454876,6.832787],[-58.078103,6.809094],[-57.542219,6.321268],[-57.147436,5.97315],[-57.307246,5.073567],[-57.914289,4.812626],[-57.86021,4.576801],[-58.044694,4.060864],[-57.601569,3.334655],[-57.281433,3.333492],[-57.150098,2.768927],[-56.539386,1.899523]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Honduras",SOV_A3:"HND",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Honduras",ADM0_A3:"HND",GEOU_DIF:0,GEOUNIT:"Honduras",GU_A3:"HND",SU_DIF:0,SUBUNIT:"Honduras",SU_A3:"HND",BRK_DIFF:0,NAME:"Honduras",NAME_LONG:"Honduras",BRK_A3:"HND",BRK_NAME:"Honduras",BRK_GROUP:null,ABBREV:"Hond.",POSTAL:"HN",FORMAL_EN:"Republic of Honduras",FORMAL_FR:null,NAME_CIAWF:"Honduras",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Honduras",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:5,MAPCOLOR9:2,MAPCOLOR13:5,POP_EST:9038741,POP_RANK:13,GDP_MD_EST:43190,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"HO",ISO_A2:"HN",ISO_A3:"HND",ISO_A3_EH:"HND",ISO_N3:"340",UN_A3:"340",WB_A2:"HN",WB_A3:"HND",WOE_ID:23424841,WOE_ID_EH:23424841,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"HND",ADM0_A3_US:"HND",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[-89.353326,12.984686,-83.147219,16.005406],geometry:{type:"Polygon",coordinates:[[[-89.353326,14.424133],[-89.145535,14.678019],[-89.22522,14.874286],[-89.154811,15.066419],[-88.68068,15.346247],[-88.225023,15.727722],[-88.121153,15.688655],[-87.901813,15.864458],[-87.61568,15.878799],[-87.522921,15.797279],[-87.367762,15.84694],[-86.903191,15.756713],[-86.440946,15.782835],[-86.119234,15.893449],[-86.001954,16.005406],[-85.683317,15.953652],[-85.444004,15.885749],[-85.182444,15.909158],[-84.983722,15.995923],[-84.52698,15.857224],[-84.368256,15.835158],[-84.063055,15.648244],[-83.773977,15.424072],[-83.410381,15.270903],[-83.147219,14.995829],[-83.489989,15.016267],[-83.628585,14.880074],[-83.975721,14.749436],[-84.228342,14.748764],[-84.449336,14.621614],[-84.649582,14.666805],[-84.820037,14.819587],[-84.924501,14.790493],[-85.052787,14.551541],[-85.148751,14.560197],[-85.165365,14.35437],[-85.514413,14.079012],[-85.698665,13.960078],[-85.801295,13.836055],[-86.096264,14.038187],[-86.312142,13.771356],[-86.520708,13.778487],[-86.755087,13.754845],[-86.733822,13.263093],[-86.880557,13.254204],[-87.005769,13.025794],[-87.3166
554,12.984686],[-87.489409,13.297535],[-87.793111,13.38448],[-87.723503,13.78505],[-87.859515,13.893312],[-88.065343,13.964626],[-88.503998,13.845486],[-88.541231,13.980155],[-88.843073,14.140507],[-89.058512,14.340029],[-89.353326,14.424133]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Croatia",SOV_A3:"HRV",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Croatia",ADM0_A3:"HRV",GEOU_DIF:0,GEOUNIT:"Croatia",GU_A3:"HRV",SU_DIF:0,SUBUNIT:"Croatia",SU_A3:"HRV",BRK_DIFF:0,NAME:"Croatia",NAME_LONG:"Croatia",BRK_A3:"HRV",BRK_NAME:"Croatia",BRK_GROUP:null,ABBREV:"Cro.",POSTAL:"HR",FORMAL_EN:"Republic of Croatia",FORMAL_FR:null,NAME_CIAWF:"Croatia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Croatia",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:4,MAPCOLOR9:5,MAPCOLOR13:1,POP_EST:4292095,POP_RANK:12,GDP_MD_EST:94240,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"HR",ISO_A2:"HR",ISO_A3:"HRV",ISO_A3_EH:"HRV",ISO_N3:"191",UN_A3:"191",WB_A2:"HR",WB_A3:"HRV",WOE_ID:23424843,WOE_ID_EH:23424843,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"HRV",ADM0_A3_US:"HRV",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[13.656976,42.479991,19.390476,46.503751],geometry:{type:"Polygon",coordinates:[[[19.005485,44.860234],[18.553214,45.08159],[17.861783,45.06774],[17.002146,45.233777],[16.534939,45.211608],[16.318157,45.004127],[15.959367,45.233777],[15.750026,44.818712],[16.23966,44.351143],[16.456443,44.04124],[16.916156,43.667722],[17.297373,43.446341],[17.674922,43.028563],[18.56,42.65],[18.450017,42.479992],[18.450016,42.479991],[17.50997,42.849995],[16.930006,43.209998],[16.015385,43.507215],[15.174454,44.243191],[15.37625,44.317915],[14.920309,44.738484],[14.901602,45.07606],[14.258748,45.233777],[13.952255,44.802124],[13.656976,45.136935],[13.679403,45.484149],[13.71506,45.500324],[14.411968,45.466166],[14.595109,45.634941],[14.935244,45.471695],[15.327675,45.452316],[15.323954,45.731783],[15.67153,45.834154],[15.768733,46.238108],[16.564808,46.503751],[16.882515,46.380632],[17.630066,45.951769],[18.456062,45.759481],[18.829825,45.908872],[19.072769,45.521511],[19.390476,45.236516],[19.005485,44.860234]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Haiti",SOV_A3:"HTI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Haiti",ADM0_A3:"HTI",GEOU_DIF:0,GEOUNIT:"Haiti",GU_A3:"HTI",SU_DIF:0,SUBUNIT:"Haiti",SU_A3:"HTI",BRK_DIFF:0,NAME:"Haiti",NAME_LONG:"Haiti",BRK_A3:"HTI",BRK_NAME:"Haiti",BRK_GROUP:null,ABBREV:"Haiti",POSTAL:"HT",FORMAL_EN:"Republic of Haiti",FORMAL_FR:null,NAME_CIAWF:"Haiti",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Haiti",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:1,MAPCOLOR9:7,MAPCOLOR13:2,POP_EST:10646714,POP_RANK:14,GDP_MD_EST:19340,POP_YEAR:2017,LASTCENSUS:2003,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"HA",ISO_A2:"HT",ISO_A3:"HTI",ISO_A3_EH:"HTI",ISO_N3:"332",UN_A3:"332",WB_A2:"HT",WB_A3:"HTI",WOE_ID:23424839,WOE_ID_EH:23424839,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"HTI",ADM0_A3_US:"HTI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-74.458034,18.030993,-71.624873,19.915684],geometry:{type:"Polygon",coordinates:[[[-71.712361,19.714456],[-71.624873,19.169838],[-71.701303,18.785417],[-71.945112,18.6169],[-71.687738,18.31666],[-71.708305,18.044997],[-72.372476,18.214961],[-72.844411,18.145611],[-73.454555,18.217906],[-73.922433,18.030993],[-74.458034,18.34255],[-74.369925,18.664908],[-73.449542,18.526053],[-72.694937,18.445799],[-72.334882,18.668422],[-72.79165,19.101625],[-72.784105,19.483591],[-73.415022,19.639551],[-73.189791,19.915684],[-72.579673,19.871501],[-71.712361,19.714456]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Hungary",SOV_A3:"HUN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Hungary",ADM0_A3:"HUN",GEOU_DIF:0,GEOUNIT:"Hungary",GU_A3:"HUN",SU_DIF:0,SUBUNIT:"Hungary",SU_A3:"HUN",BRK_DIFF:0,NAME:"Hungary",NAME_LONG:"Hungary",BRK_A3:"HUN",BRK_NAME:"Hungary",BRK_GROUP:null,ABBREV:"Hun.",POSTAL:"HU",FORMAL_EN:"Republic of Hungary",FORMAL_FR:null,NAME_CIAWF:"Hungary",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Hungary",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:6,MAPCOLOR9:1,MAPCOLOR13:5,POP_EST:9850845,POP_RANK:13,GDP_MD_EST:267600,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"HU",ISO_A2:"HU",ISO_A3:"HUN",ISO_A3_EH:"HUN",ISO_N3:"348",UN_A3:"348",WB_A2:"HU",WB_A3:"HUN",WOE_ID:23424844,WOE_ID_EH:23424844,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"HUN",ADM0_A3_US:"HUN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[16.202298,45.759481,22.710531,48.623854],geometry:{type:"Polygon",coordinates:[[[16.202298,46.852386],[16.534268,47.496171],[16.340584,47.712902],[16.903754,47.714866],[16.979667,48.123497],[17.488473,47.867466],[17.857133,47.758429],[18.696513,47.880954],[18.777025,48.081768],[19.174365,48.111379],[19.661364,48.266615],[19.769471,48.202691],[20.239054,48.327567],[20.473562,48.56285],[20.801294,48.623854],[21.872236,48.319971],[22.085608,48.422264],[22.64082,48.15024],[22.710531,47.882194],[22.099768,47.672439],[21.626515,46.994238],[21.021952,46.316088],[20.220192,46.127469],[19.596045,46.17173],[18.829838,45.908878],[18.829825,45.908872],[18.456062,45.759481],[17.630066,45.951769],[16.882515,46.380632],[16.564808,46.503751],[16.370505,46.841327],[16.202298,46.852386]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Indonesia",SOV_A3:"IDN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Indonesia",ADM0_A3:"IDN",GEOU_DIF:0,GEOUNIT:"Indonesia",GU_A3:"IDN",SU_DIF:0,SUBUNIT:"Indonesia",SU_A3:"IDN",BRK_DIFF:0,NAME:"Indonesia",NAME_LONG:"Indonesia",BRK_A3:"IDN",BRK_NAME:"Indonesia",BRK_GROUP:null,ABBREV:"Indo.",POSTAL:"INDO",FORMAL_EN:"Republic of Indonesia",FORMAL_FR:null,NAME_CIAWF:"Indonesia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Indonesia",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:6,MAPCOLOR9:6,MAPCOLOR13:11,POP_EST:260580739,POP_RANK:17,GDP_MD_EST:3028e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"4. Emerging region: MIKT",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"ID",ISO_A2:"ID",ISO_A3:"IDN",ISO_A3_EH:"IDN",ISO_N3:"360",UN_A3:"360",WB_A2:"ID",WB_A3:"IDN",WOE_ID:23424846,WOE_ID_EH:23424846,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"IDN",ADM0_A3_US:"IDN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[95.293026,-10.359987,141.033852,5.479821],geometry:{type:"MultiPolygon",coordinates:[[[[120.715609,-10.239581],[120.295014,-10.25865],[118.967808,-9.557969],[119.90031,-9.36134],[120.425756,-9.665921],[120.775502,-9.969675],[120.715609,-10.239581]]],[[[124.968682,-8.89279],[125.07002,-9.089987],[125.08852,-9.393173],[124.43595,-10.140001],[123.579982,-10.359987],[123.459989,-10.239995],[123.550009,-9.900016],[123.980009,-9.290027],[124.968682,-8.89279]]],[[[117.900018,-8.095681],[118.260616,-8.362383],[118.87846,-8.280683],[119.126507,-8.705825],[117.970402,-8.906639],[117.277731,-9.040895],[116.74014
51,-9.032937],[117.083737,-8.457158],[117.632024,-8.449303],[117.900018,-8.095681]]],[[[122.903537,-8.094234],[122.756983,-8.649808],[121.254491,-8.933666],[119.924391,-8.810418],[119.920929,-8.444859],[120.715092,-8.236965],[121.341669,-8.53674],[122.007365,-8.46062],[122.903537,-8.094234]]],[[[108.623479,-6.777674],[110.539227,-6.877358],[110.759576,-6.465186],[112.614811,-6.946036],[112.978768,-7.594213],[114.478935,-7.776528],[115.705527,-8.370807],[114.564511,-8.751817],[113.464734,-8.348947],[112.559672,-8.376181],[111.522061,-8.302129],[110.58615,-8.122605],[109.427667,-7.740664],[108.693655,-7.6416],[108.277763,-7.766657],[106.454102,-7.3549],[106.280624,-6.9249],[105.365486,-6.851416],[106.051646,-5.895919],[107.265009,-5.954985],[108.072091,-6.345762],[108.486846,-6.421985],[108.623479,-6.777674]]],[[[134.724624,-6.214401],[134.210134,-6.895238],[134.112776,-6.142467],[134.290336,-5.783058],[134.499625,-5.445042],[134.727002,-5.737582],[134.724624,-6.214401]]],[[[127.249215,-3.459065],[126.874923,-3.790983],[126.183802,-3.607376],[125.989034,-3.177273],[127.000651,-3.129318],[127.249215,-3.459065]]],[[[130.471344,-3.093764],[130.834836,-3.858472],[129.990547,-3.446301],[129.155249,-3.362637],[128.590684,-3.428679],[127.898891,-3.393436],[128.135879,-2.84365],[129.370998,-2.802154],[130.471344,-3.093764]]],[[[141.00021,-2.600151],[141.017057,-5.859022],[141.033852,-9.117893],[140.143415,-8.297168],[139.127767,-8.096043],[138.881477,-8.380935],[137.614474,-8.411683],[138.039099,-7.597882],[138.668621,-7.320225],[138.407914,-6.232849],[137.92784,-5.393366],[135.98925,-4.546544],[135.164598,-4.462931],[133.66288,-3.538853],[133.367705,-4.024819],[132.983956,-4.112979],[132.756941,-3.746283],[132.753789,-3.311787],[131.989804,-2.820551],[133.066845,-2.460418],[133.780031,-2.479848],[133.696212,-2.214542],[132.232373,-2.212526],[131.836222,-1.617162],[130.94284,-1.432522],[130.519558,-.93772],[131.867538,-.695461],[132.380116,-.369538],[133.985548,-.78021],[134.143368,-1.151867],[134.422627,-2.769185],[135.457603,-3.367753],[136.293314,-2.307042],[137.440738,-1.703513],[138.329727,-1.702686],[139.184921,-2.051296],[139.926684,-2.409052],[141.00021,-2.600151]]],[[[125.240501,1.419836],[124.437035,.427881],[123.685505,.235593],[122.723083,.431137],[121.056725,.381217],[120.183083,.237247],[120.04087,-.519658],[120.935905,-1.408906],[121.475821,-.955962],[123.340565,-.615673],[123.258399,-1.076213],[122.822715,-.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,.154254],[120.035702,.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,.875192],[124.077522,.917102],[125.065989,1.643259],[125.240501,1.419836]]],[[[128.688249,1.132386],[128.635952,.258486],[128.12017,.356413],[127.968034,-.252077],[128.379999,-.780004],[128.100016,-.899996],[127.696475,-.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386]]],[[[109.66326,2.006467],[109.830227,1.338136],[110.514061,.773131],[111.159138,.976478],[111.797548,.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641],[118.996747,.902219],[117.811858,.784242],[117.478339,.102475],[117.521644,-.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-.459507],[108.952658,.415375],[109.069136,1.341934],[109.66326,2.006467]]],[[[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-.650348],[99.26374,.183
5142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,.561361],[103.838396,.104542],[103.437645,-.711946],[104.010789,-1.059212],[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"India",SOV_A3:"IND",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"India",ADM0_A3:"IND",GEOU_DIF:0,GEOUNIT:"India",GU_A3:"IND",SU_DIF:0,SUBUNIT:"India",SU_A3:"IND",BRK_DIFF:0,NAME:"India",NAME_LONG:"India",BRK_A3:"IND",BRK_NAME:"India",BRK_GROUP:null,ABBREV:"India",POSTAL:"IND",FORMAL_EN:"Republic of India",FORMAL_FR:null,NAME_CIAWF:"India",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"India",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:3,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:1281935911,POP_RANK:18,GDP_MD_EST:8721e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"3. Emerging region: BRIC",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"IN",ISO_A2:"IN",ISO_A3:"IND",ISO_A3_EH:"IND",ISO_N3:"356",UN_A3:"356",WB_A2:"IN",WB_A3:"IND",WOE_ID:23424848,WOE_ID_EH:23424848,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"IND",ADM0_A3_US:"IND",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[68.176645,7.965535,97.402561,35.49401],geometry:{type:"Polygon",coordinates:[[[92.672721,22.041239],[92.146035,23.627499],[91.869928,23.624346],[91.706475,22.985264],[91.158963,23.503527],[91.46773,24.072639],[91.915093,24.130414],[92.376202,24.976693],[91.799596,25.147432],[90.872211,25.132601],[89.920693,25.26975],[89.832481,25.965082],[89.355094,26.014407],[88.563049,26.446526],[88.209789,25.768066],[88.931554,25.238692],[88.306373,24.866079],[88.084422,24.501657],[88.69994,24.233715],[88.52977,23.631142],[88.876312,22.879146],[89.031961,22.055708],[88.888766,21.690588],[88.208497,21.703172],[86.975704,21.495562],[87.033169,20.743308],[86.499351,20.151638],[85.060266,19.478579],[83.941006,18.30201],[83.189217,17.671221],[82.192792,17.016636],[82.191242,16.556664],[81.692719,16.310219],[80.791999,15.951972],[80.324896,15.899185],[80.025069,15.136415],[80.233274,13.835771],[80.286294,13.006261],[79.862547,12.056215],[79.857999,10.357275],[79.340512,10.308854],[78.885345,9.546136],[79.18972,9.216544],[78.277941,8.933047],[77.941165,8.252959],[77.539898,7.965535],[76.592979,8.899276],[76.130061,10.29963],[75.746467,11.308251],[75.396101,11.781245],[74.864816,12.741936],[74.616717,13.992583],[74.443859,14.617222],[73.534199,15.990652],[73.119909,17.92857],[72.820909,19.208234],[72.824475,20.419503],[72.630533,21.356009],[71.175273,20.757441],[70.470459,20.877331],[69.16413,22.089298],[69.644928,22.450775],[69.349597,22.84318],[68.176645,23.691965],[68.842599,24.359134],[71.04324,24.356524],[70.844699,25.215102],[70.282873,25.722229],[70.168927,26.491872],[69.514393,26.940966],[70.616496,27.989196],[71.777666,27.91318],[72.823752,28.961592],[73.450638,29.976413],[74.42138,30.979815],[74.405929,31.692639],[75.258642,32.271105],[74.451559,32.7649],[74.104294,33.441473],[73.749948,34.317699],[74.240203,34.748887],[75.757061,34.504923],[76.871722,34.653544],[77.837451,35.49401],[78.912269,34.321936],[78.811086,33.506198],[79.208892,32.994395],[79.176129,32.48378],[78.458446,32.618164],[78.738894,31.515906],[79.721367,30.882715],[81.111256,30.183481],[80.476721,29.729865],[80.088425,28.79447],[81.057203,28.416095],[81.999987,27.925479],[83.304249,27.364506],[84.675018,27.234901],[85.251779,26.726198],[86.024393,26.630985],[87.227472,26.397898],[88.060238,26.414615],[88.174804,26.810405],[88.043133,27.445819],[88.120441,27.876542],[88.730326,28.086865],[88.814248,27.299316],[88.835643,27.098966],[89.744528,26.719403],[90.373275,26.875724],[91.217513,26.808648],[92.033484,26.83831],[92.103712,27.452614],[91.696657,27.771742],[92.503119,27.896876],[93.413348,28.640629],[94.56599,29.277438],[95.404802,29.031717],[96.117679,29.452802],[96.586591,28.83098],[96.248833,28.411031],[97.327114,28.261583],[97.402561,27.882536],[97.051989,27.699059],[97.133999,27.083774],[96.419366,27.264589],[95.124768,26.573572],[95.155153,26.001307],[94.603249,25.162495],[94.552658,24.675238],[94.106742,23.850741],[93.325188,24.078556],[93.286327,23.043658],[93.060294,22.703111],[93.166128,22.27846],[92.672721,22.041239]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Ireland",SOV_A3:"IRL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ireland",ADM0_A3:"IRL",GEOU_DIF:0,GEOUNIT:"Ireland",GU_A3:"IRL",SU_DIF:0,SUBUNIT:"Ireland",SU_A3:"IRL",BRK_DIFF:0,NAME:"Ireland",NAME_LONG:"Ireland",BRK_A3:"IRL",BRK_NAME:"Ireland",BRK_GROUP:null,ABBREV:"Ire.",POSTAL:"IRL",FORMAL_EN:"Ireland",FORMAL_FR:null,NAME_CIAWF:"Ireland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Ireland",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:3,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:5011102,POP_RANK:13,GDP_MD_EST:322e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"EI",ISO_A2:"IE",ISO_A3:"IRL",ISO_A3_EH:"IRL",ISO_N3:"372",UN_A3:"372",WB_A2:"IE",WB_A3:"IRL",WOE_ID:23424803,WOE_ID_EH:23424803,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"IRL",ADM0_A3_US:"IRL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-9.977086,51.669301,-6.032985,55.131622],geometry:{type:"Polygon",coordinates:[[[-7.572168,55.131622],[-7.366031,54.595841],[-7.572168,54.059956],[-6.95373,54.073702],[-6.197885,53.867565],[-6.032985,53.153164],[-6.788857,52.260118],[-8.561617,51.
5669301],[-9.977086,51.820455],[-9.166283,52.864629],[-9.688525,53.881363],[-8.327987,54.664519],[-7.572168,55.131622]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Iran",SOV_A3:"IRN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Iran",ADM0_A3:"IRN",GEOU_DIF:0,GEOUNIT:"Iran",GU_A3:"IRN",SU_DIF:0,SUBUNIT:"Iran",SU_A3:"IRN",BRK_DIFF:0,NAME:"Iran",NAME_LONG:"Iran",BRK_A3:"IRN",BRK_NAME:"Iran",BRK_GROUP:null,ABBREV:"Iran",POSTAL:"IRN",FORMAL_EN:"Islamic Republic of Iran",FORMAL_FR:null,NAME_CIAWF:"Iran",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Iran, Islamic Rep.",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:13,POP_EST:82021564,POP_RANK:16,GDP_MD_EST:1459e3,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"IR",ISO_A2:"IR",ISO_A3:"IRN",ISO_A3_EH:"IRN",ISO_N3:"364",UN_A3:"364",WB_A2:"IR",WB_A3:"IRN",WOE_ID:23424851,WOE_ID_EH:23424851,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"IRN",ADM0_A3_US:"IRN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2.5,MAX_LABEL:6.7},bbox:[44.109225,25.078237,63.316632,39.713003],geometry:{type:"Polygon",coordinates:[[[61.210817,35.650072],[60.803193,34.404102],[60.52843,33.676446],[60.9637,33.528832],[60.536078,32.981269],[60.863655,32.18292],[60.941945,31.548075],[61.699314,31.379506],[61.781222,30.73585],[60.874248,29.829239],[61.369309,29.303276],[61.771868,28.699334],[62.72783,28.259645],[62.755426,27.378923],[63.233898,27.217047],[63.316632,26.756532],[61.874187,26.239975],[61.497363,25.078237],[59.616134,25.380157],[58.525761,25.609962],[57.397251,25.739902],[56.970766,26.966106],[56.492139,27.143305],[55.72371,26.964633],[54.71509,26.480658],[53.493097,26.812369],[52.483598,27.580849],[51.520763,27.86569],[50.852948,28.814521],[50.115009,30.147773],[49.57685,29.985715],[48.941333,30.31709],[48.567971,29.926778],[48.014568,30.452457],[48.004698,30.985137],[47.685286,30.984853],[47.849204,31.709176],[47.334661,32.469155],[46.109362,33.017287],[45.416691,33.967798],[45.64846,34.748138],[46.151788,35.093259],[46.07634,35.677383],[45.420618,35.977546],[44.772677,37.170437],[44.77267,37.17045],[44.225756,37.971584],[44.421403,38.281281],[44.109225,39.428136],[44.79399,39.713003],[44.952688,39.335765],[45.457722,38.874139],[46.143623,38.741201],[46.50572,38.770605],[47.685079,39.508364],[48.060095,39.582235],[48.355529,39.288765],[48.010744,38.794015],[48.634375,38.270378],[48.883249,38.320245],[49.199612,37.582874],[50.147771,37.374567],[50.842354,36.872814],[52.264025,36.700422],[53.82579,36.965031],[53.921598,37.198918],[54.800304,37.392421],[55.511578,37.964117],[56.180375,37.935127],[56.619366,38.121394],[57.330434,38.029229],[58.436154,37.522309],[59.234762,37.412988],[60.377638,36.527383],[61.123071,36.491597],[61.210817,35.650072]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Iraq",SOV_A3:"IRQ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Iraq",ADM0_A3:"IRQ",GEOU_DIF:0,GEOUNIT:"Iraq",GU_A3:"IRQ",SU_DIF:0,SUBUNIT:"Iraq",SU_A3:"IRQ",BRK_DIFF:0,NAME:"Iraq",NAME_LONG:"Iraq",BRK_A3:"IRQ",BRK_NAME:"Iraq",BRK_GROUP:null,ABBREV:"Iraq",POSTAL:"IRQ",FORMAL_EN:"Republic of Iraq",FORMAL_FR:null,NAME_CIAWF:"Iraq",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Iraq",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:3,MAPCOLOR13:1,POP_EST:39192111,POP_RANK:15,GDP_MD_EST:596700,POP_YEAR:2017,LASTCENSUS:1997,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"IZ",ISO_A2:"IQ",ISO_A3:"IRQ",ISO_A3_EH:"IRQ",ISO_N3:"368",UN_A3:"368",WB_A2:"IQ",WB_A3:"IRQ",WOE_ID:23424855,WOE_ID_EH:23424855,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"IRQ",ADM0_A3_US:"IRQ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7.5},bbox:[38.792341,29.099025,48.567971,37.385264],geometry:{type:"Polygon",coordinates:[[[44.772677,37.170437],[45.420618,35.977546],[46.07634,35.677383],[46.151788,35.093259],[45.64846,34.748138],[45.416691,33.967798],[46.109362,33.017287],[47.334661,32.469155],[47.849204,31.709176],[47.685286,30.984853],[48.004698,30.985137],[48.014568,30.452457],[48.567971,29.926778],[47.974519,29.975819],[47.302622,30.05907],[46.568713,29.099025],[44.709499,29.178891],[41.889981,31.190009],[40.399994,31.889992],[39.195468,32.161009],[38.792341,33.378686],[41.006159,34.419372],[41.383965,35.628317],[41.289707,36.358815],[41.837064,36.605854],[42.349591,37.229873],[42.779126,37.385264],[43.942259,37.256228],[44.293452,37.001514],[44.772677,37.170437]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Iceland",SOV_A3:"ISL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Iceland",ADM0_A3:"ISL",GEOU_DIF:0,GEOUNIT:"Iceland",GU_A3:"ISL",SU_DIF:0,SUBUNIT:"Iceland",SU_A3:"ISL",BRK_DIFF:0,NAME:"Iceland",NAME_LONG:"Iceland",BRK_A3:"ISL",BRK_NAME:"Iceland",BRK_GROUP:null,ABBREV:"Iceland",POSTAL:"IS",FORMAL_EN:"Republic of Iceland",FORMAL_FR:null,NAME_CIAWF:"Iceland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Iceland",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:9,POP_EST:339747,POP_RANK:10,GDP_MD_EST:16150,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"IC",ISO_A2:"IS",ISO_A3:"ISL",ISO_A3_EH:"ISL",ISO_N3:"352",UN_A3:"352",WB_A2:"IS",WB_A3:"ISL",WOE_ID:23424845,WOE_ID_EH:23424845,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ISL",ADM0_A3_US:"ISL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[-24.326184,63.496383,-13.609732,66.526792],geometry:{type:"Polygon",coordinates:[[[-14.508695,66.455892],[-14.739637,65.808748],[-13.609732,65.126671],[-14.909834,64.364082],[-17.794438,63.678749],[-18.656246,63.496383],[-19.972755,63.643635],[-22.762972,63.960179],[-21.778484,64.402116],[-23.955044,64.89113],[-22.184403,65.084968],[-22.227423,65.378594],[-24.326184,65.611189],[-23.650515,66.262519],[-22.134922,66.410469],[-20.576284,65.732112],[-19.056842,66.276601],[-17.798624,65.993853],[-16.167819,66.526792],[-14.508695,66.455892]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Israel",SOV_A3:"IS1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Israel",ADM0_A3:"ISR",GEOU_DIF:0,GEOUNIT:"Israel",GU_A3:"ISR",SU_DIF:0,SUBUNIT:"Israel",SU_A3:"ISR",BRK_DIFF:0,NAME:"Israel",NAME_LONG:"Israel",BRK_A3:"ISR",BRK_NAME:"Israel",BRK_GROUP:null,ABBREV:"Isr.",POSTAL:"IS",FORMAL_EN:"State of Israel",FORMAL_FR:null,NAME_CIAWF:"Israel",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Israel",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:9,POP_EST:8299706,POP_RANK:13,GDP_MD_EST:297e3,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"IL",ISO_A3:"ISR",ISO_A3_EH:"ISR",ISO_N3:"376",UN_A3:"376",WB_A2:"IL",WB_A3:"ISR",WOE_ID:23424852,WOE_ID_EH:23424852,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ISR",ADM0_A3_US:"ISR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[34.265433,29.501326,35.836397,33.277426],geometry:{type:"Polygon",coordinates:[[[34.823243,29.761081],[34.26544,31.21936],[34.265435,31.219357],[34.265433,31.219361],[34.556372,31.548824],[34.488107,31.605539],[34.752587,32.072926],[34.955417,32.827376],[35.
5098457,33.080539],[35.126053,33.0909],[35.460709,33.08904],[35.552797,33.264275],[35.821101,33.277426],[35.836397,32.868123],[35.700798,32.716014],[35.719918,32.709192],[35.545665,32.393992],[35.18393,32.532511],[34.974641,31.866582],[35.225892,31.754341],[34.970507,31.616778],[34.927408,31.353435],[35.397561,31.489086],[35.420918,31.100066],[34.922603,29.501326],[34.823243,29.761081]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Italy",SOV_A3:"ITA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Italy",ADM0_A3:"ITA",GEOU_DIF:0,GEOUNIT:"Italy",GU_A3:"ITA",SU_DIF:0,SUBUNIT:"Italy",SU_A3:"ITA",BRK_DIFF:0,NAME:"Italy",NAME_LONG:"Italy",BRK_A3:"ITA",BRK_NAME:"Italy",BRK_GROUP:null,ABBREV:"Italy",POSTAL:"I",FORMAL_EN:"Italian Republic",FORMAL_FR:null,NAME_CIAWF:"Italy",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Italy",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:7,MAPCOLOR9:8,MAPCOLOR13:7,POP_EST:62137802,POP_RANK:16,GDP_MD_EST:2221e3,POP_YEAR:2017,LASTCENSUS:2012,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"IT",ISO_A2:"IT",ISO_A3:"ITA",ISO_A3_EH:"ITA",ISO_N3:"380",UN_A3:"380",WB_A2:"IT",WB_A3:"ITA",WOE_ID:23424853,WOE_ID_EH:23424853,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ITA",ADM0_A3_US:"ITA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[6.749955,36.619987,18.480247,47.115393],geometry:{type:"MultiPolygon",coordinates:[[[[10.442701,46.893546],[11.048556,46.751359],[11.164828,46.941579],[12.153088,47.115393],[12.376485,46.767559],[13.806475,46.509306],[13.69811,46.016778],[13.93763,45.591016],[13.141606,45.736692],[12.328581,45.381778],[12.383875,44.885374],[12.261453,44.600482],[12.589237,44.091366],[13.526906,43.587727],[14.029821,42.761008],[15.14257,41.95514],[15.926191,41.961315],[16.169897,41.740295],[15.889346,41.541082],[16.785002,41.179606],[17.519169,40.877143],[18.376687,40.355625],[18.480247,40.168866],[18.293385,39.810774],[17.73838,40.277671],[16.869596,40.442235],[16.448743,39.795401],[17.17149,39.4247],[17.052841,38.902871],[16.635088,38.843572],[16.100961,37.985899],[15.684087,37.908849],[15.687963,38.214593],[15.891981,38.750942],[16.109332,38.964547],[15.718814,39.544072],[15.413613,40.048357],[14.998496,40.172949],[14.703268,40.60455],[14.060672,40.786348],[13.627985,41.188287],[12.888082,41.25309],[12.106683,41.704535],[11.191906,42.355425],[10.511948,42.931463],[10.200029,43.920007],[9.702488,44.036279],[8.888946,44.366336],[8.428561,44.231228],[7.850767,43.767148],[7.435185,43.693845],[7.549596,44.127901],[7.007562,44.254767],[6.749955,45.028518],[7.096652,45.333099],[6.802355,45.70858],[6.843593,45.991147],[7.273851,45.776948],[7.755992,45.82449],[8.31663,46.163642],[8.489952,46.005151],[8.966306,46.036932],[9.182882,46.440215],[9.922837,46.314899],[10.363378,46.483571],[10.442701,46.893546]]],[[[15.520376,38.231155],[15.160243,37.444046],[15.309898,37.134219],[15.099988,36.619987],[14.335229,36.996631],[13.826733,37.104531],[12.431004,37.61295],[12.570944,38.126381],[13.741156,38.034966],[14.761249,38.143874],[15.520376,38.231155]]],[[[9.210012,41.209991],[9.809975,40.500009],[9.669519,39.177376],[9.214818,39.240473],[8.806936,38.906618],[8.428302,39.171847],[8.388253,40.378311],[8.159998,40.950007],[8.709991,40.899984],[9.210012,41.209991]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Jamaica",SOV_A3:"JAM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Jamaica",ADM0_A3:"JAM",GEOU_DIF:0,GEOUNIT:"Jamaica",GU_A3:"JAM",SU_DIF:0,SUBUNIT:"Jamaica",SU_A3:"JAM",BRK_DIFF:0,NAME:"Jamaica",NAME_LONG:"Jamaica",BRK_A3:"JAM",BRK_NAME:"Jamaica",BRK_GROUP:null,ABBREV:"Jam.",POSTAL:"J",FORMAL_EN:"Jamaica",FORMAL_FR:null,NAME_CIAWF:"Jamaica",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Jamaica",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:4,MAPCOLOR13:10,POP_EST:2990561,POP_RANK:12,GDP_MD_EST:25390,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"JM",ISO_A2:"JM",ISO_A3:"JAM",ISO_A3_EH:"JAM",ISO_N3:"388",UN_A3:"388",WB_A2:"JM",WB_A3:"JAM",WOE_ID:23424858,WOE_ID_EH:23424858,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"JAM",ADM0_A3_US:"JAM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-78.337719,17.701116,-76.199659,18.524218],geometry:{type:"Polygon",coordinates:[[[-77.569601,18.490525],[-76.896619,18.400867],[-76.365359,18.160701],[-76.199659,17.886867],[-76.902561,17.868238],[-77.206341,17.701116],[-77.766023,17.861597],[-78.337719,18.225968],[-78.217727,18.454533],[-77.797365,18.524218],[-77.569601,18.490525]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Jordan",SOV_A3:"JOR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Jordan",ADM0_A3:"JOR",GEOU_DIF:0,GEOUNIT:"Jordan",GU_A3:"JOR",SU_DIF:0,SUBUNIT:"Jordan",SU_A3:"JOR",BRK_DIFF:0,NAME:"Jordan",NAME_LONG:"Jordan",BRK_A3:"JOR",BRK_NAME:"Jordan",BRK_GROUP:null,ABBREV:"Jord.",POSTAL:"J",FORMAL_EN:"Hashemite Kingdom of Jordan",FORMAL_FR:null,NAME_CIAWF:"Jordan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Jordan",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:4,POP_EST:10248069,POP_RANK:14,GDP_MD_EST:86190,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"JO",ISO_A2:"JO",ISO_A3:"JOR",ISO_A3_EH:"JOR",ISO_N3:"400",UN_A3:"400",WB_A2:"JO",WB_A3:"JOR",WOE_ID:23424860,WOE_ID_EH:23424860,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"JOR",ADM0_A3_US:"JOR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[34.922603,29.197495,39.195468,33.378686],geometry:{type:"Polygon",coordinates:[[[38.792341,33.378686],[39.195468,32.161009],[39.004886,32.010217],[37.002166,31.508413],[37.998849,30.5085],[37.66812,30.338665],[37.503582,30.003776],[36.740528,29.865283],[36.501214,29.505254],[36.068941,29.197495],[34.956037,29.356555],[34.922603,29.501326],[35.420918,31.100066],[35.397561,31.489086],[35.545252,31.782505],[35.545665,32.393992],[35.719918,32.709192],[36.834062,32.312938],[38.792341,33.378686]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Japan",SOV_A3:"JPN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Japan",ADM0_A3:"JPN",GEOU_DIF:0,GEOUNIT:"Japan",GU_A3:"JPN",SU_DIF:0,SUBUNIT:"Japan",SU_A3:"JPN",BRK_DIFF:0,NAME:"Japan",NAME_LONG:"Japan",BRK_A3:"JPN",BRK_NAME:"Japan",BRK_GROUP:null,ABBREV:"Japan",POSTAL:"J",FORMAL_EN:"Japan",FORMAL_FR:null,NAME_CIAWF:"Japan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Japan",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:5,MAPCOLOR13:4,POP_EST:126451398,POP_RANK:17,GDP_MD_EST:4932e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"JA",ISO_A2:"JP",ISO_A3:"JPN",ISO_A3_EH:"JPN",ISO_N3:"392",UN_A3:"392",WB_A2:"JP",WB_A3:"JPN",WOE_ID:23424856,WOE_ID_EH:23424856,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"JPN",ADM0_A3_US:"JPN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:7},bbox:[129.408463,31.029579,145.543137,45.551483],geometry:{type:"MultiPolygon",coordinates:[[[[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.2895
57],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234]]],[[[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074]]],[[[143.910162,44.1741],[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Kazakhstan",SOV_A3:"KAZ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Kazakhstan",ADM0_A3:"KAZ",GEOU_DIF:0,GEOUNIT:"Kazakhstan",GU_A3:"KAZ",SU_DIF:0,SUBUNIT:"Kazakhstan",SU_A3:"KAZ",BRK_DIFF:0,NAME:"Kazakhstan",NAME_LONG:"Kazakhstan",BRK_A3:"KAZ",BRK_NAME:"Kazakhstan",BRK_GROUP:null,ABBREV:"Kaz.",POSTAL:"KZ",FORMAL_EN:"Republic of Kazakhstan",FORMAL_FR:null,NAME_CIAWF:"Kazakhstan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Kazakhstan",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:1,MAPCOLOR9:6,MAPCOLOR13:1,POP_EST:18556698,POP_RANK:14,GDP_MD_EST:460700,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"KZ",ISO_A2:"KZ",ISO_A3:"KAZ",ISO_A3_EH:"KAZ",ISO_N3:"398",UN_A3:"398",WB_A2:"KZ",WB_A3:"KAZ",WOE_ID:-90,WOE_ID_EH:23424871,WOE_NOTE:"Includes Baykonur Cosmodrome as an admin-1",ADM0_A3_IS:"KAZ",ADM0_A3_US:"KAZ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Central Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[46.466446,40.662325,87.35997,55.38525],geometry:{type:"Polygon",coordinates:[[[87.35997,49.214981],[86.598776,48.549182],[85.768233,48.455751],[85.720484,47.452969],[85.16429,47.000956],[83.180484,47.330031],[82.458926,45.53965],[81.947071,45.317027],[79.966106,44.917517],[80.866206,43.180362],[80.18015,42.920068],[80.25999,42.349999],[79.643645,42.496683],[79.142177,42.856092],[77.658392,42.960686],[76.000354,42.988022],[75.636965,42.8779],[74.212866,43.298339],[73.645304,43.091272],[73.489758,42.500894],[71.844638,42.845395],[71.186281,42.704293],[70.962315,42.266154],[70.388965,42.081308],[69.070027,41.384244],[68.632483,40.668681],[68.259896,40.662325],[67.985856,41.135991],[66.714047,41.168444],[66.510649,41.987644],[66.023392,41.994646],[66.098012,42.99766],[64.900824,43.728081],[63.185787,43.650075],[62.0133,43.504477],[61.05832,44.405817],[60.239972,44.784037],[58.689989,45.500014],[58.503127,45.586804],[55.928917,44.995858],[55.968191,41.308642],[55.455251,41.259859],[54.755345,42.043971],[54.079418,42.324109],[52.944293,42.116034],[52.50246,41.783316],[52.446339,42.027151],[52.692112,42.443895],[52.501426,42.792298],[51.342427,43.132975],[50.891292,44.031034],[50.339129,44.284016],[50.305643,44.609836],[51.278503,44.514854],[51.316899,45.245998],[52.16739,45.408391],[53.040876,45.259047],[53.220866,46.234646],[53.042737,46.853006],[52.042023,46.804637],[51.191945,47.048705],[50.034083,46.60899],[49.10116,46.39933],[48.59325,46.56104],[48.694734,47.075628],[48.05725,47.74377],[47.31524,47.71585],[46.466446,48.394152],[47.043672,49.152039],[46.751596,49.356006],[47.54948,50.454698],[48.577841,49.87476],[48.702382,50.605128],[50.766648,51.692762],[52.328724,51.718652],[54.532878,51.02624],[55.71694,50.62171],[56.77798,51.04355],[58.36332,51.06364],[59.642282,50.545442],[59.932807,50.842194],[61.337424,50.79907],[61.588003,51.272659],[59.967534,51.96042],[60.927269,52.447548],[60.739993,52.719986],[61.699986,52.979996],[60.978066,53.664993],[61.4366,54.00625],[65.178534,54.354228],[65.66687,54.60125],[68.1691,54.970392],[69.068167,55.38525],[70.865267,55.169734],[71.180131,54.133285],[72.22415,54.376655],[73.508516,54.035617],[73.425679,53.48981],[74.38482,53.54685],[76.8911,54.490524],[76.525179,54.177003],[77.800916,53.404415],[80.03556,50.864751],[80.568447,51.388336],[81.945986,50.812196],[83.383004,51.069183],[83.935115,50.889246],[84.416377,50.3114],[85.11556,50.117303],[85.54127,49.692859],[86.829357,49.826675],[87.35997,49.214981]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Kenya",SOV_A3:"KEN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Kenya",ADM0_A3:"KEN",GEOU_DIF:0,GEOUNIT:"Kenya",GU_A3:"KEN",SU_DIF:0,SUBUNIT:"Kenya",SU_A3:"KEN",BRK_DIFF:0,NAME:"Kenya",NAME_LONG:"Kenya",BRK_A3:"KEN",BRK_NAME:"Kenya",BRK_GROUP:null,ABBREV:"Ken.",POSTAL:"KE",FORMAL_EN:"Republic of Kenya",FORMAL_FR:null,NAME_CIAWF:"Kenya",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Kenya",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:2,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:47615739,POP_RANK:15,GDP_MD_EST:152700,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"KE",ISO_A2:"KE",ISO_A3:"KEN",ISO_A3_EH:"KEN",ISO_N3:"404",UN_A3:"404",WB_A2:"KE",WB_A3:"KEN",WOE_ID:23424863,WOE_ID_EH:23424863,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"KEN",ADM0_A3_US:"KEN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[33.893569,-4.67677,41.855083,5.506],geometry:{type:"Polygon",coordinates:[[[35.29800
57,5.506],[35.817448,5.338232],[35.817448,4.776966],[36.159079,4.447864],[36.855093,4.447864],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.559384,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.855083,3.918912],[40.98105,2.78452],[40.993,-.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.903711,-.95],[33.893569,.109814],[34.18,.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.05374],[34.47913,3.5556],[34.005,4.249885],[34.620196,4.847123],[35.298007,5.506]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Kyrgyzstan",SOV_A3:"KGZ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Kyrgyzstan",ADM0_A3:"KGZ",GEOU_DIF:0,GEOUNIT:"Kyrgyzstan",GU_A3:"KGZ",SU_DIF:0,SUBUNIT:"Kyrgyzstan",SU_A3:"KGZ",BRK_DIFF:0,NAME:"Kyrgyzstan",NAME_LONG:"Kyrgyzstan",BRK_A3:"KGZ",BRK_NAME:"Kyrgyzstan",BRK_GROUP:null,ABBREV:"Kgz.",POSTAL:"KG",FORMAL_EN:"Kyrgyz Republic",FORMAL_FR:null,NAME_CIAWF:"Kyrgyzstan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Kyrgyz Republic",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:7,MAPCOLOR9:7,MAPCOLOR13:6,POP_EST:5789122,POP_RANK:13,GDP_MD_EST:21010,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"KG",ISO_A2:"KG",ISO_A3:"KGZ",ISO_A3_EH:"KGZ",ISO_N3:"417",UN_A3:"417",WB_A2:"KG",WB_A3:"KGZ",WOE_ID:23424864,WOE_ID_EH:23424864,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"KGZ",ADM0_A3_US:"KGZ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Central Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[69.464887,39.279463,80.25999,43.298339],geometry:{type:"Polygon",coordinates:[[[80.25999,42.349999],[80.11943,42.123941],[78.543661,41.582243],[78.187197,41.185316],[76.904484,41.066486],[76.526368,40.427946],[75.467828,40.562072],[74.776862,40.366425],[73.822244,39.893973],[73.960013,39.660008],[73.675379,39.431237],[71.784694,39.279463],[70.549162,39.604198],[69.464887,39.526683],[69.55961,40.103211],[70.648019,39.935754],[71.014198,40.244366],[71.774875,40.145844],[73.055417,40.866033],[71.870115,41.3929],[71.157859,41.143587],[70.420022,41.519998],[71.259248,42.167711],[70.962315,42.266154],[71.186281,42.704293],[71.844638,42.845395],[73.489758,42.500894],[73.645304,43.091272],[74.212866,43.298339],[75.636965,42.8779],[76.000354,42.988022],[77.658392,42.960686],[79.142177,42.856092],[79.643645,42.496683],[80.25999,42.349999]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Cambodia",SOV_A3:"KHM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Cambodia",ADM0_A3:"KHM",GEOU_DIF:0,GEOUNIT:"Cambodia",GU_A3:"KHM",SU_DIF:0,SUBUNIT:"Cambodia",SU_A3:"KHM",BRK_DIFF:0,NAME:"Cambodia",NAME_LONG:"Cambodia",BRK_A3:"KHM",BRK_NAME:"Cambodia",BRK_GROUP:null,ABBREV:"Camb.",POSTAL:"KH",FORMAL_EN:"Kingdom of Cambodia",FORMAL_FR:null,NAME_CIAWF:"Cambodia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Cambodia",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:6,MAPCOLOR13:5,POP_EST:16204486,POP_RANK:14,GDP_MD_EST:58940,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"CB",ISO_A2:"KH",ISO_A3:"KHM",ISO_A3_EH:"KHM",ISO_N3:"116",UN_A3:"116",WB_A2:"KH",WB_A3:"KHM",WOE_ID:23424776,WOE_ID_EH:23424776,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"KHM",ADM0_A3_US:"KHM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[102.348099,10.486544,107.614548,14.570584],geometry:{type:"Polygon",coordinates:[[[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"South Korea",SOV_A3:"KOR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"South Korea",ADM0_A3:"KOR",GEOU_DIF:0,GEOUNIT:"South Korea",GU_A3:"KOR",SU_DIF:0,SUBUNIT:"South Korea",SU_A3:"KOR",BRK_DIFF:0,NAME:"South Korea",NAME_LONG:"Republic of Korea",BRK_A3:"KOR",BRK_NAME:"Republic of Korea",BRK_GROUP:null,ABBREV:"S.K.",POSTAL:"KR",FORMAL_EN:"Republic of Korea",FORMAL_FR:null,NAME_CIAWF:"Korea, South",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Korea, Rep.",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:1,MAPCOLOR13:5,POP_EST:51181299,POP_RANK:16,GDP_MD_EST:1929e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"4. Emerging region: MIKT",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"KS",ISO_A2:"KR",ISO_A3:"KOR",ISO_A3_EH:"KOR",ISO_N3:"410",UN_A3:"410",WB_A2:"KR",WB_A3:"KOR",WOE_ID:23424868,WOE_ID_EH:23424868,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"KOR",ADM0_A3_US:"KOR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:17,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[126.117398,34.390046,129.468304,38.612243],geometry:{type:"Polygon",coordinates:[[[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Kosovo",SOV_A3:"KOS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Kosovo",ADM0_A3:"KOS",GEOU_DIF:0,GEOUNIT:"Kosovo",GU_A3:"KOS",SU_DIF:0,SUBUNIT:"Kosovo",SU_A3:"KOS",BRK_DIFF:0,NAME:"Kosovo",NAME_LONG:"Kosovo",BRK_A3:"KOS",BRK_NAME:"Kosovo",BRK_GROUP:null,ABBREV:"Kos.",POSTAL:"KO",FORMAL_EN:"Republic of Kosovo",FORMAL_FR:null,NAME_CIAWF:"Kosovo",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Kosovo",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:11,POP_EST:1895250,POP_RANK:12,GDP_MD_EST:18490,POP_YEAR:2017,LASTCENSUS:1981,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"KV",ISO_A2:"XK",ISO_A3:"-99",ISO_A3_EH:"-99",ISO_N3:"-99",UN_A3:"-099",WB_A2:"KV",WB_A3:"KSV",WOE_ID:-90,WOE_ID_EH:29389201,WOE_NOTE:"Subunit of Serbia in WOE still; should include 29389201, 29389207, 29389218, 29389209 and 29389214.",ADM0_A3_IS:"KOS",ADM0_A3_US:"KOS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[20.0707,41.84711,21.77505,43.27205],geometry:{type:"Polygon",coordinates:[[[20.590247,41.855409],[20.52295,42.21787],[20.283755,42.32026],[20.0707,42.58863],[20.25758,42.81275],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.068685],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.32025],[21.576636,42.245224],[21.3527,42.2068],[20.76216,42.05186],[20.71731,41.84711],[20.590247,41.855409]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Kuwait",SOV_A3:"KWT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Kuwait",ADM0_A3:"KWT",GEOU_DIF:0,GEOUNIT:"Kuwait",GU_A3:"KWT",SU_DIF:0,SUBUNIT:"Kuwait",SU_A3:"KWT",BRK_DIFF:0,NAME:"Kuwait",NAME_LONG:"Kuwait",BRK_A3:"KWT",BRK_NAME:"Kuwait",BRK_GROUP:null,ABBREV:"Kwt.",POSTAL:"KW",FORMAL_EN:"State of Kuwait",FORMAL_FR:null,NAME_CIAWF:"Kuwait",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Kuwait",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:2875422,POP_RANK:12,GDP_MD_EST:301100,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"KU",ISO_A2:"KW",ISO_A3:"KWT",ISO_A3_EH:"KWT",ISO_N3:"414",UN_A3:"414",WB_A2:"KW",WB_A3:"KWT",WOE_ID:23424870,WOE_ID_EH:23424870,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"KWT",ADM0_A3_US:"KWT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[46.568713,28.526063,48.416094,30.05907],geometry:{type:"Polygon",coordinates:[[[46.568713,29.099025],[47.302622,30.05907],[47.974519,29.975819],[48.183189,29.534477],[48.093943,29.306299],[48.416094,28.552004],[47.708851,28.526063],[47.459822,29.002519],[46.568713,29.099025]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Laos",SOV_A3:"LAO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Laos",ADM0_A3:"LAO",GEOU_DIF:0,GEOUNIT:"Laos",GU_A3:"LAO",SU_DIF:0,SUBUNIT:"Laos",SU_A3:"LAO",BRK_DIFF:0,NAME:"Laos",NAME_LONG:"Lao PDR",BRK_A3:"LAO",BRK_NAME:"Laos",BRK_GROUP:null,ABBREV:"Laos",POSTAL:"LA",FORMAL_EN:"Lao People's Democratic Republic",FORMAL_FR:null,NAME_CIAWF:"Laos",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Lao PDR",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:1,MAPCOLOR9:1,MAPCOLOR13:9,POP_EST:7126706,POP_RANK:13,GDP_MD_EST:40960,POP_YEAR:2017,LASTCENSUS:2005,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"LA",ISO_A2:"LA",ISO_A3:"LAO",ISO_A3_EH:"LAO",ISO_N3:"418",UN_A3:"418",WB_A2:"LA",WB_A3:"LAO",WOE_ID:23424872,WOE_ID_EH:23424872,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LAO",ADM0_A3_US:"LAO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:4,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[100.115988,13.881091,107.564525,22.464753],geometry:{type:"Polygon",coordinates:[[[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316
5],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Lebanon",SOV_A3:"LBN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Lebanon",ADM0_A3:"LBN",GEOU_DIF:0,GEOUNIT:"Lebanon",GU_A3:"LBN",SU_DIF:0,SUBUNIT:"Lebanon",SU_A3:"LBN",BRK_DIFF:0,NAME:"Lebanon",NAME_LONG:"Lebanon",BRK_A3:"LBN",BRK_NAME:"Lebanon",BRK_GROUP:null,ABBREV:"Leb.",POSTAL:"LB",FORMAL_EN:"Lebanese Republic",FORMAL_FR:null,NAME_CIAWF:"Lebanon",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Lebanon",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:12,POP_EST:6229794,POP_RANK:13,GDP_MD_EST:85160,POP_YEAR:2017,LASTCENSUS:1970,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"LE",ISO_A2:"LB",ISO_A3:"LBN",ISO_A3_EH:"LBN",ISO_N3:"422",UN_A3:"422",WB_A2:"LB",WB_A3:"LBN",WOE_ID:23424873,WOE_ID_EH:23424873,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LBN",ADM0_A3_US:"LBN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:4,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[35.126053,33.08904,36.61175,34.644914],geometry:{type:"Polygon",coordinates:[[[35.821101,33.277426],[35.552797,33.264275],[35.460709,33.08904],[35.126053,33.0909],[35.482207,33.90545],[35.979592,34.610058],[35.998403,34.644914],[36.448194,34.593935],[36.61175,34.201789],[36.06646,33.824912],[35.821101,33.277426]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Liberia",SOV_A3:"LBR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Liberia",ADM0_A3:"LBR",GEOU_DIF:0,GEOUNIT:"Liberia",GU_A3:"LBR",SU_DIF:0,SUBUNIT:"Liberia",SU_A3:"LBR",BRK_DIFF:0,NAME:"Liberia",NAME_LONG:"Liberia",BRK_A3:"LBR",BRK_NAME:"Liberia",BRK_GROUP:null,ABBREV:"Liberia",POSTAL:"LR",FORMAL_EN:"Republic of Liberia",FORMAL_FR:null,NAME_CIAWF:"Liberia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Liberia",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:9,POP_EST:4689021,POP_RANK:12,GDP_MD_EST:3881,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"LI",ISO_A2:"LR",ISO_A3:"LBR",ISO_A3_EH:"LBR",ISO_N3:"430",UN_A3:"430",WB_A2:"LR",WB_A3:"LBR",WOE_ID:23424876,WOE_ID_EH:23424876,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LBR",ADM0_A3_US:"LBR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-11.438779,4.355755,-7.539715,8.541055],geometry:{type:"Polygon",coordinates:[[[-8.439298,7.686043],[-8.485446,7.395208],[-8.385452,6.911801],[-8.60288,6.467564],[-8.311348,6.193033],[-7.993693,6.12619],[-7.570153,5.707352],[-7.539715,5.313345],[-7.635368,5.188159],[-7.712159,4.364566],[-7.974107,4.355755],[-9.004794,4.832419],[-9.91342,5.593561],[-10.765384,6.140711],[-11.438779,6.785917],[-11.199802,7.105846],[-11.146704,7.396706],[-10.695595,7.939464],[-10.230094,8.406206],[-10.016567,8.428504],[-9.755342,8.541055],[-9.33728,7.928534],[-9.403348,7.526905],[-9.208786,7.313921],[-8.926065,7.309037],[-8.722124,7.711674],[-8.439298,7.686043]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Libya",SOV_A3:"LBY",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Libya",ADM0_A3:"LBY",GEOU_DIF:0,GEOUNIT:"Libya",GU_A3:"LBY",SU_DIF:0,SUBUNIT:"Libya",SU_A3:"LBY",BRK_DIFF:0,NAME:"Libya",NAME_LONG:"Libya",BRK_A3:"LBY",BRK_NAME:"Libya",BRK_GROUP:null,ABBREV:"Libya",POSTAL:"LY",FORMAL_EN:"Libya",FORMAL_FR:null,NAME_CIAWF:"Libya",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Libya",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:11,POP_EST:6653210,POP_RANK:13,GDP_MD_EST:90890,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"LY",ISO_A2:"LY",ISO_A3:"LBY",ISO_A3_EH:"LBY",ISO_N3:"434",UN_A3:"434",WB_A2:"LY",WB_A3:"LBY",WOE_ID:23424882,WOE_ID_EH:23424882,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LBY",ADM0_A3_US:"LBY",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[9.319411,19.58047,25.16482,33.136996],geometry:{type:"Polygon",coordinates:[[[11.999506,23.471668],[11.560669,24.097909],[10.771364,24.562532],[10.303847,24.379313],[9.948261,24.936954],[9.910693,25.365455],[9.319411,26.094325],[9.716286,26.512206],[9.629056,27.140953],[9.756128,27.688259],[9.683885,28.144174],[9.859998,28.95999],[9.805634,29.424638],[9.48214,30.307556],[9.970017,30.539325],[10.056575,30.961831],[9.950225,31.37607],[10.636901,31.761421],[10.94479,32.081815],[11.432253,32.368903],[11.488787,33.136996],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.75179],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.60913,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.238655],[25,25.6825],[25,22],[25,20.00304],[23.85,20],[23.83766,19.58047],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.86295],[14.143871,22.491289],[13.581425,23.040506],[11.999506,23.471668]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Sri Lanka",SOV_A3:"LKA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Sri Lanka",ADM0_A3:"LKA",GEOU_DIF:0,GEOUNIT:"Sri Lanka",GU_A3:"LKA",SU_DIF:0,SUBUNIT:"Sri Lanka",SU_A3:"LKA",BRK_DIFF:0,NAME:"Sri Lanka",NAME_LONG:"Sri Lanka",BRK_A3:"LKA",BRK_NAME:"Sri Lanka",BRK_GROUP:null,ABBREV:"Sri L.",POSTAL:"LK",FORMAL_EN:"Democratic Socialist Republic of Sri Lanka",FORMAL_FR:null,NAME_CIAWF:"Sri Lanka",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Sri Lanka",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:4,MAPCOLOR13:9,POP_EST:22409381,POP_RANK:15,GDP_MD_EST:236700,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"CE",ISO_A2:"LK",ISO_A3:"LKA",ISO_A3_EH:"LKA",ISO_N3:"144",UN_A3:"144",WB_A2:"LK",WB_A3:"LKA",WOE_ID:23424778,WOE_ID_EH:23424778,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LKA",ADM0_A3_US:"LKA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[79.695167,5.96837,81.787959,9.824078],geometry:{type:"Polygon",coordinates:[[[81.787959,7.523055],[81.637322,6.481775],[81.21802,6.197141],[80.348357,5.96837],[79.872469,6.763463],[79.695167,8.200843],[80.147801,9.824078],[80.838818,9.268427],[81.304319,8.564206],[81.787959,7.523055]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Lesotho",SOV_A3:"LSO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Lesotho",ADM0_A3:"LSO",GEOU_DIF:0,GEOUNIT:"Lesotho",GU_A3:"LSO",SU_DIF:0,SUBUNIT:"Lesotho",SU_A3:"LSO",BRK_DIFF:0,NAME:"Lesotho",NAME_LONG:"Lesotho",BRK_A3:"LSO",BRK_NAME:"Lesotho",BRK_GROUP:null,ABBREV:"Les.",POSTAL:"LS",FORMAL_EN:"Kingdom of Lesotho",FORMAL_FR:null,NAME_CIAWF:"Lesotho",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Lesotho",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:5,MAPCOLOR9:2,MAPCOLOR13:8,POP_EST:1958042,POP_RANK:12,GDP_MD_EST:6019,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"LT",ISO_A2:"LS",ISO_A3:"LSO",ISO_A3_EH:"LSO",ISO_N3:"426",UN_A3:"426",WB_A2:"LS",WB_A3:"LSO",WOE_ID:23424880,WOE_ID_EH:23424880,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LSO",ADM0_A3_US:"LSO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Southern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[26.999262,-30.645106,29.325166,-28.647502],geometry:{type:"Polygon",coordinates:[[[28.978263,-28.955597],[29.325166,-29.257387],[29.018415,-29.743766],[28.8484,-30.070051],[28.291069,-30.226217],[28.107205,-30.545732],[27.749397,-30.645106],[26.999262,-29.875954],[27.532511,-29.242711],[28.074338,-28.851469],[28.5417,-28.647502],[28.978263,-28.955597]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Lithuania",SOV_A3:"LTU",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Lithuania",ADM0_A3:"LTU",GEOU_DIF:0,GEOUNIT:"Lithuania",GU_A3:"LTU",SU_DIF:0,SUBUNIT:"Lithuania",SU_A3:"LTU",BRK_DIFF:0,NAME:"Lithuania",NAME_LONG:"Lithuania",BRK_A3:"LTU",BRK_NAME:"Lithuania",BRK_GROUP:null,ABBREV:"Lith.",POSTAL:"LT",FORMAL_EN:"Republic of Lithuania",FORMAL_FR:null,NAME_CIAWF:"Lithuania",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Lithuania",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:3,MAPCOLOR13:9,POP_EST:2823859,POP_RANK:12,GDP_MD_EST:85620,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"LH",ISO_A2:"LT",ISO_A3:"LTU",ISO_A3_EH:"LTU",ISO_N3:"440",UN_A3:"440",WB_A2:"LT",WB_A3:"LTU",WOE_ID:23424875,WOE_ID_EH:23424875,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LTU",ADM0_A3_US:"LTU",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[21.0558,53.905702,26.588279,56.372528],geometry:{type:"Polygon",coordinates:[[[26.494331,55.615107],[26.588279,55.167176],[25.768433,54.846963],[25.536354,54.282423],[24.450684,53.905702],[23.484128,53.912498],[23.243987,54.220567],[22.731099,54.327537],[22.6510
552,54.582741],[22.757764,54.856574],[22.315724,55.015299],[21.268449,55.190482],[21.0558,56.031076],[22.201157,56.337802],[23.878264,56.273671],[24.860684,56.372528],[25.000934,56.164531],[25.533047,56.100297],[26.494331,55.615107]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Luxembourg",SOV_A3:"LUX",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Luxembourg",ADM0_A3:"LUX",GEOU_DIF:0,GEOUNIT:"Luxembourg",GU_A3:"LUX",SU_DIF:0,SUBUNIT:"Luxembourg",SU_A3:"LUX",BRK_DIFF:0,NAME:"Luxembourg",NAME_LONG:"Luxembourg",BRK_A3:"LUX",BRK_NAME:"Luxembourg",BRK_GROUP:null,ABBREV:"Lux.",POSTAL:"L",FORMAL_EN:"Grand Duchy of Luxembourg",FORMAL_FR:null,NAME_CIAWF:"Luxembourg",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Luxembourg",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:7,MAPCOLOR9:3,MAPCOLOR13:7,POP_EST:594130,POP_RANK:11,GDP_MD_EST:58740,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"LU",ISO_A2:"LU",ISO_A3:"LUX",ISO_A3_EH:"LUX",ISO_N3:"442",UN_A3:"442",WB_A2:"LU",WB_A3:"LUX",WOE_ID:23424881,WOE_ID_EH:23424881,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LUX",ADM0_A3_US:"LUX",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:5,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5.7,MAX_LABEL:10},bbox:[5.674052,49.442667,6.242751,50.128052],geometry:{type:"Polygon",coordinates:[[[5.674052,49.529484],[5.782417,50.090328],[6.043073,50.128052],[6.242751,49.902226],[6.18632,49.463803],[5.897759,49.442667],[5.674052,49.529484]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Latvia",SOV_A3:"LVA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Latvia",ADM0_A3:"LVA",GEOU_DIF:0,GEOUNIT:"Latvia",GU_A3:"LVA",SU_DIF:0,SUBUNIT:"Latvia",SU_A3:"LVA",BRK_DIFF:0,NAME:"Latvia",NAME_LONG:"Latvia",BRK_A3:"LVA",BRK_NAME:"Latvia",BRK_GROUP:null,ABBREV:"Lat.",POSTAL:"LV",FORMAL_EN:"Republic of Latvia",FORMAL_FR:null,NAME_CIAWF:"Latvia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Latvia",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:7,MAPCOLOR9:6,MAPCOLOR13:13,POP_EST:1944643,POP_RANK:12,GDP_MD_EST:50650,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"LG",ISO_A2:"LV",ISO_A3:"LVA",ISO_A3_EH:"LVA",ISO_N3:"428",UN_A3:"428",WB_A2:"LV",WB_A3:"LVA",WOE_ID:23424874,WOE_ID_EH:23424874,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"LVA",ADM0_A3_US:"LVA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[21.0558,55.615107,28.176709,57.970157],geometry:{type:"Polygon",coordinates:[[[28.176709,56.16913],[27.10246,55.783314],[26.494331,55.615107],[25.533047,56.100297],[25.000934,56.164531],[24.860684,56.372528],[23.878264,56.273671],[22.201157,56.337802],[21.0558,56.031076],[21.090424,56.783873],[21.581866,57.411871],[22.524341,57.753374],[23.318453,57.006236],[24.12073,57.025693],[24.312863,57.793424],[25.164594,57.970157],[25.60281,57.847529],[26.463532,57.476389],[27.288185,57.474528],[27.770016,57.244258],[27.855282,56.759326],[28.176709,56.16913]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Morocco",SOV_A3:"MAR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Morocco",ADM0_A3:"MAR",GEOU_DIF:0,GEOUNIT:"Morocco",GU_A3:"MAR",SU_DIF:0,SUBUNIT:"Morocco",SU_A3:"MAR",BRK_DIFF:0,NAME:"Morocco",NAME_LONG:"Morocco",BRK_A3:"MAR",BRK_NAME:"Morocco",BRK_GROUP:null,ABBREV:"Mor.",POSTAL:"MA",FORMAL_EN:"Kingdom of Morocco",FORMAL_FR:null,NAME_CIAWF:"Morocco",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Morocco",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:9,POP_EST:33986655,POP_RANK:15,GDP_MD_EST:282800,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"MO",ISO_A2:"MA",ISO_A3:"MAR",ISO_A3_EH:"MAR",ISO_N3:"504",UN_A3:"504",WB_A2:"MA",WB_A3:"MAR",WOE_ID:23424893,WOE_ID_EH:23424893,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MAR",ADM0_A3_US:"MAR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-17.020428,21.420734,-1.124551,35.759988],geometry:{type:"Polygon",coordinates:[[[-2.169914,35.168396],[-1.792986,34.527919],[-1.733455,33.919713],[-1.388049,32.864015],[-1.124551,32.651522],[-1.307899,32.262889],[-2.616605,32.094346],[-3.06898,31.724498],[-3.647498,31.637294],[-3.690441,30.896952],[-4.859646,30.501188],[-5.242129,30.000443],[-6.060632,29.7317],[-7.059228,29.579228],[-8.674116,28.841289],[-8.66559,27.656426],[-8.817828,27.656426],[-8.794884,27.120696],[
5-9.413037,27.088476],[-9.735343,26.860945],[-10.189424,26.860945],[-10.551263,26.990808],[-11.392555,26.883424],[-11.71822,26.104092],[-12.030759,26.030866],[-12.500963,24.770116],[-13.89111,23.691009],[-14.221168,22.310163],[-14.630833,21.86094],[-14.750955,21.5006],[-17.002962,21.420734],[-17.020428,21.42231],[-16.973248,21.885745],[-16.589137,22.158234],[-16.261922,22.67934],[-16.326414,23.017768],[-15.982611,23.723358],[-15.426004,24.359134],[-15.089332,24.520261],[-14.824645,25.103533],[-14.800926,25.636265],[-14.43994,26.254418],[-13.773805,26.618892],[-13.139942,27.640148],[-13.121613,27.654148],[-12.618837,28.038186],[-11.688919,28.148644],[-10.900957,28.832142],[-10.399592,29.098586],[-9.564811,29.933574],[-9.814718,31.177736],[-9.434793,32.038096],[-9.300693,32.564679],[-8.657476,33.240245],[-7.654178,33.697065],[-6.912544,34.110476],[-6.244342,35.145865],[-5.929994,35.759988],[-5.193863,35.755182],[-4.591006,35.330712],[-3.640057,35.399855],[-2.604306,35.179093],[-2.169914,35.168396]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Moldova",SOV_A3:"MDA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Moldova",ADM0_A3:"MDA",GEOU_DIF:0,GEOUNIT:"Moldova",GU_A3:"MDA",SU_DIF:0,SUBUNIT:"Moldova",SU_A3:"MDA",BRK_DIFF:0,NAME:"Moldova",NAME_LONG:"Moldova",BRK_A3:"MDA",BRK_NAME:"Moldova",BRK_GROUP:null,ABBREV:"Mda.",POSTAL:"MD",FORMAL_EN:"Republic of Moldova",FORMAL_FR:null,NAME_CIAWF:"Moldova",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Moldova",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:4,MAPCOLOR13:12,POP_EST:3474121,POP_RANK:12,GDP_MD_EST:18540,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"MD",ISO_A2:"MD",ISO_A3:"MDA",ISO_A3_EH:"MDA",ISO_N3:"498",UN_A3:"498",WB_A2:"MD",WB_A3:"MDA",WOE_ID:23424885,WOE_ID_EH:23424885,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MDA",ADM0_A3_US:"MDA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[26.619337,45.488283,30.024659,48.467119],geometry:{type:"Polygon",coordinates:[[[26.619337,48.220726],[26.857824,48.368211],[27.522537,48.467119],[28.259547,48.155562],[28.670891,48.118149],[29.122698,47.849095],[29.050868,47.510227],[29.415135,47.346645],[29.559674,46.928583],[29.908852,46.674361],[29.83821,46.525326],[30.024659,46.423937],[29.759972,46.349988],[29.170654,46.379262],[29.072107,46.517678],[28.862972,46.437889],[28.933717,46.25883],[28.659987,45.939987],[28.485269,45.596907],[28.233554,45.488283],[28.054443,45.944586],[28.160018,46.371563],[28.12803,46.810476],[27.551166,47.405117],[27.233873,47.826771],[26.924176,48.123264],[26.619337,48.220726]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Madagascar",SOV_A3:"MDG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Madagascar",ADM0_A3:"MDG",GEOU_DIF:0,GEOUNIT:"Madagascar",GU_A3:"MDG",SU_DIF:0,SUBUNIT:"Madagascar",SU_A3:"MDG",BRK_DIFF:0,NAME:"Madagascar",NAME_LONG:"Madagascar",BRK_A3:"MDG",BRK_NAME:"Madagascar",BRK_GROUP:null,ABBREV:"Mad.",POSTAL:"MG",FORMAL_EN:"Republic of Madagascar",FORMAL_FR:null,NAME_CIAWF:"Madagascar",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Madagascar",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:5,MAPCOLOR9:2,MAPCOLOR13:3,POP_EST:25054161,POP_RANK:15,GDP_MD_EST:36860,POP_YEAR:2017,LASTCENSUS:1993,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"MA",ISO_A2:"MG",ISO_A3:"MDG",ISO_A3_EH:"MDG",ISO_N3:"450",UN_A3:"450",WB_A2:"MG",WB_A3:"MDG",WOE_ID:23424883,WOE_ID_EH:23424883,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MDG",ADM0_A3_US:"MDG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[43.254187,-25.601434,50.476537,-12.040557],geometry:{type:"Polygon",coordinates:[[[49.543519,-12.469833],[49.808981,-12.895285],[50.056511,-13.555761],[50.217431,-14.758789],[50.476537,-15.226512],[50.377111,-15.706069],[50.200275,-16.000263],[49.860606,-15.414253],[49.672607,-15.710204],[49.863344,-16.451037],[49.774564,-16.875042],[49.498612,-17.106036],[49.435619,-17.953064],[49.041792,-19.118781],[48.548541,-20.496888],[47.930749,-22.391501],[47.547723,-23.781959],[47.095761,-24.94163],[46.282478,-25.178463],[45.409508,-25.601434],[44.833574,-25.346101],[44.03972,-24.988345],[43.763768,-24.460677],[43.697778,-23.574116],[43.345654,-22.776904],[43.254187,-22.057413],[43.433298,-21.336475],[43.893683,-21.163307],[43.89637,-20.830459],[44.374325,-20.072366],[44.464397,-19.435454],[44.232422,-18.961995],[44.042976,-18.331387],[43.963084,-17.409945],[44.312469,-16.850496],[44.446517,-16.216219],[44.944937,-16.179374],[45.502732,-15.974373],[45.872994,-15.793454],[46.312243,-15.780018],[46.882183,-15.210182],[47.70513,-14.594303],[48.005215,-14.091233],[47.869047,-13.663869],[48.293828,-13.784068],[48.84506,-13.089175],[48.863509,-12.487868],[49.194651,-12.040557],[49.543519,-12.469833]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Mexico",SOV_A3:"MEX",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Mexico",ADM0_A3:"MEX",GEOU_DIF:0,GEOUNIT:"Mexico",GU_A3:"MEX",SU_DIF:0,SUBUNIT:"Mexico",SU_A3:"MEX",BRK_DIFF:0,NAME:"Mexico",NAME_LONG:"Mexico",BRK_A3:"MEX",BRK_NAME:"Mexico",BRK_GROUP:null,ABBREV:"Mex.",POSTAL:"MX",FORMAL_EN:"United Mexican States",FORMAL_FR:null,NAME_CIAWF:"Mexico",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Mexico",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:1,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:124574795,POP_RANK:17,GDP_MD_EST:2307e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"4. Emerging region: MIKT",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"MX",ISO_A2:"MX",ISO_A3:"MEX",ISO_A3_EH:"MEX",ISO_N3:"484",UN_A3:"484",WB_A2:"MX",WB_A3:"MEX",WOE_ID:23424900,WOE_ID_EH:23424900,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MEX",ADM0_A3_US:"MEX",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:6.7},bbox:[-117.12776,14.538829,-86.811982,32.72083],geometry:{type:"Polygon",coordinates:[[[-88.300031,18.499982],[-88.490123,18.486831],[-88.848344,17.883198],[-89.029857,18.001511],[-89.150909,17.955468],[-89.14308,17.808319],[-90.067934,17.819326],[-91.00152,17.817595],[-91.002269,17.254658],[-91.453921,17.252177],[-91.08167,16.918477],[-90.711822,16.687483],[-90.600847,16.470778],[-90.438867,16.41011],[-90.464473,16.069562],[-91.74796,16.066565],[-92.229249,15.251447],[-92.087216,15.064585],[-92.20323,14.830103],[-92.22775,14.538829],[-93.359464,15.61543],[-93.875169,15.940164],[-94.691656,16.200975],[-95.250227,16.128318],[-96.053382,15.752088],[-96.557434,15.653515],[-97.263592,15.917065],[-98.01303,16.107312],[-98.947676,16.566043],[-99.697397,16.706164],[-100.829499,17.171071],[-101.666089,17.649026],[-101.9
518528,17.91609],[-102.478132,17.975751],[-103.50099,18.292295],[-103.917527,18.748572],[-104.99201,19.316134],[-105.493038,19.946767],[-105.731396,20.434102],[-105.397773,20.531719],[-105.500661,20.816895],[-105.270752,21.076285],[-105.265817,21.422104],[-105.603161,21.871146],[-105.693414,22.26908],[-106.028716,22.773752],[-106.90998,23.767774],[-107.915449,24.548915],[-108.401905,25.172314],[-109.260199,25.580609],[-109.444089,25.824884],[-109.291644,26.442934],[-109.801458,26.676176],[-110.391732,27.162115],[-110.641019,27.859876],[-111.178919,27.941241],[-111.759607,28.467953],[-112.228235,28.954409],[-112.271824,29.266844],[-112.809594,30.021114],[-113.163811,30.786881],[-113.148669,31.170966],[-113.871881,31.567608],[-114.205737,31.524045],[-114.776451,31.799532],[-114.9367,31.393485],[-114.771232,30.913617],[-114.673899,30.162681],[-114.330974,29.750432],[-113.588875,29.061611],[-113.424053,28.826174],[-113.271969,28.754783],[-113.140039,28.411289],[-112.962298,28.42519],[-112.761587,27.780217],[-112.457911,27.525814],[-112.244952,27.171727],[-111.616489,26.662817],[-111.284675,25.73259],[-110.987819,25.294606],[-110.710007,24.826004],[-110.655049,24.298595],[-110.172856,24.265548],[-109.771847,23.811183],[-109.409104,23.364672],[-109.433392,23.185588],[-109.854219,22.818272],[-110.031392,22.823078],[-110.295071,23.430973],[-110.949501,24.000964],[-111.670568,24.484423],[-112.182036,24.738413],[-112.148989,25.470125],[-112.300711,26.012004],[-112.777297,26.32196],[-113.464671,26.768186],[-113.59673,26.63946],[-113.848937,26.900064],[-114.465747,27.14209],[-115.055142,27.722727],[-114.982253,27.7982],[-114.570366,27.741485],[-114.199329,28.115003],[-114.162018,28.566112],[-114.931842,29.279479],[-115.518654,29.556362],[-115.887365,30.180794],[-116.25835,30.836464],[-116.721526,31.635744],[-117.12776,32.53534],[-115.99135,32.61239],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.34194],[-108.24194,31.34222],[-108.24,31.754854],[-106.50759,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.45697,29.57196],[
5-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.38071],[-100.45584,28.69612],[-100.11,28.11],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.140008,25.869997],[-97.528072,24.992144],[-97.702946,24.272343],[-97.776042,22.93258],[-97.872367,22.444212],[-97.699044,21.898689],[-97.38896,21.411019],[-97.189333,20.635433],[-96.525576,19.890931],[-96.292127,19.320371],[-95.900885,18.828024],[-94.839063,18.562717],[-94.42573,18.144371],[-93.548651,18.423837],[-92.786114,18.524839],[-92.037348,18.704569],[-91.407903,18.876083],[-90.77187,19.28412],[-90.53359,19.867418],[-90.451476,20.707522],[-90.278618,20.999855],[-89.601321,21.261726],[-88.543866,21.493675],[-87.658417,21.458846],[-87.05189,21.543543],[-86.811982,21.331515],[-86.845908,20.849865],[-87.383291,20.255405],[-87.621054,19.646553],[-87.43675,19.472403],[-87.58656,19.04013],[-87.837191,18.259816],[-88.090664,18.516648],[-88.300031,18.499982]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Macedonia",SOV_A3:"MKD",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Macedonia",ADM0_A3:"MKD",GEOU_DIF:0,GEOUNIT:"Macedonia",GU_A3:"MKD",SU_DIF:0,SUBUNIT:"Macedonia",SU_A3:"MKD",BRK_DIFF:0,NAME:"Macedonia",NAME_LONG:"Macedonia",BRK_A3:"MKD",BRK_NAME:"Macedonia",BRK_GROUP:null,ABBREV:"Mkd.",POSTAL:"MK",FORMAL_EN:"Former Yugoslav Republic of Macedonia",FORMAL_FR:null,NAME_CIAWF:"Macedonia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Macedonia, FYR",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:2103721,POP_RANK:12,GDP_MD_EST:29520,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"MK",ISO_A2:"MK",ISO_A3:"MKD",ISO_A3_EH:"MKD",ISO_N3:"807",UN_A3:"807",WB_A2:"MK",WB_A3:"MKD",WOE_ID:23424890,WOE_ID_EH:23424890,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MKD",ADM0_A3_US:"MKD",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[20.463175,40.842727,22.952377,42.32026],geometry:{type:"Polygon",coordinates:[[[21.02004,40.842727],[20.605182,41.086226],[20.463175,41.515089],[20.590247,41.855404],[20.590247,41.855409],[20.71731,41.84711],[20.76216,42.05186],[21.3527,42.2068],[21.576636,42.245224],[21.91708,42.30364],[22.380526,42.32026],[22.881374,41.999297],[22.952377,41.337994],[22.76177,41.3048],[22.597308,41.130487],[22.055378,41.149866],[21.674161,40.931275],[21.02004,40.842727]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Mali",SOV_A3:"MLI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Mali",ADM0_A3:"MLI",GEOU_DIF:0,GEOUNIT:"Mali",GU_A3:"MLI",SU_DIF:0,SUBUNIT:"Mali",SU_A3:"MLI",BRK_DIFF:0,NAME:"Mali",NAME_LONG:"Mali",BRK_A3:"MLI",BRK_NAME:"Mali",BRK_GROUP:null,ABBREV:"Mali",POSTAL:"ML",FORMAL_EN:"Republic of Mali",FORMAL_FR:null,NAME_CIAWF:"Mali",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Mali",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:7,POP_EST:17885245,POP_RANK:14,GDP_MD_EST:38090,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"ML",ISO_A2:"ML",ISO_A3:"MLI",ISO_A3_EH:"MLI",ISO_N3:"466",UN_A3:"466",WB_A2:"ML",WB_A3:"MLI",WOE_ID:23424891,WOE_ID_EH:23424891,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MLI",ADM0_A3_US:"MLI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[-12.17075,10.096361,4.27021,24.974574],geometry:{type:"Polygon",coordinates:[[[.374892,14.928908],[-.266257,14.924309],[-.515854,15.116158],[-1.066363,14.973815],[-2.001035,14.559008],[-2.191825,14.246418],[-2.967694,13.79815],[-3.103707,13.541267],[-3.522803,13.337662],[-4.006391,13.472485],[-4.280405,13.228444],[-4.427166,12.542646],[-5.220942,11.713859],[-5.197843,11.375146],[-5.470565,10.95127],[-5.404342,10.370737],[-5.816926,10.222555],[-6.050452,10.096361],[-6.205223,10.524061],[-6.493965,10.411303],[-6.666461,10.430811],[-6.850507,10.138994],[-7.622759,10.147236],[-7.89959,10.297382],[-8.029944,10.206535],[-8.335377,10.494812],[-8.282357,10.792597],[-8.407311,10.909257],[-8.620321,10.810891],[-8.581305,11.136246],[-8.376305,11.393646],[-8.786099,11.812561],[-8.905265,12.088358],[-9.127474,12.30806],[-9.327616,12.334286],[-9.567912,12.194243],[-9.890993,12.060479],[-10.165214,11.844084],[-10.593224,11.923975],[-10.87083,12.177887],[-11.036556,12.211245],[-11.297574,12.077971],[-11.456169,12.076834],[-11.513943,12.442988],[-11.467899,12.754519],[-11.553398,13.141214],[-11.927716,13.422075],[-12.124887,13.994727],[-12.17075,14.616834],[-11.834208,14.799097],[-11.666078,15.388208],[-11.349095,15.411256],[-10.650791,15.132746],[-10.086846,15.330486],[-9.700255,15.264107],[-9.550238,15.486497],[-5.537744,15.50169],[-5.315277,16.201854],[-5.488523,16.325102],[-5.971129,20.640833],[-6.453787,24.956591],[-4.923337,24.974574],[-1.550055,22.792666],[1.823228,20.610809],[2.060991,20.142233],[2.683588,19.85623],[3.146661,19.693579],[3.158133,19.057364],[4.267419,19.155265],[4.27021,16.852227],[3.723422,16.184284],[3.638259,15.56812],[2.749993,15.409525],[1.385528,15.323561],[1.015783,14.968182],[.374892,14.928908]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Myanmar",SOV_A3:"MMR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Myanmar",ADM0_A3:"MMR",GEOU_DIF:0,GEOUNIT:"Myanmar",GU_A3:"MMR",SU_DIF:0,SUBUNIT:"Myanmar",SU_A3:"MMR",BRK_DIFF:0,NAME:"Myanmar",NAME_LONG:"Myanmar",BRK_A3:"MMR",BRK_NAME:"Myanmar",BRK_GROUP:null,ABBREV:"Myan.",POSTAL:"MM",FORMAL_EN:"Republic of the Union of Myanmar",FORMAL_FR:null,NAME_CIAWF:"Burma",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Myanmar",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:13,POP_EST:55123814,POP_RANK:16,GDP_MD_EST:311100,POP_YEAR:2017,LASTCENSUS:1983,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"BM",ISO_A2:"MM",ISO_A3:"MMR",ISO_A3_EH:"MMR",ISO_N3:"104",UN_A3:"104",WB_A2:"MM",WB_A3:"MMR",WOE_ID:23424763,WOE_ID_EH:23424763,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MMR",ADM0_A3_US:"MMR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[92.303234,9.93296,101.180005,28.335945],geometry:{type:"Polygon",coordinates:[[[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785],[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Montenegro",SOV_A3:"MNE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Montenegro",ADM0_A3:"MNE",GEOU_DIF:0,GEOUNIT:"Montenegro",GU_A3:"MNE",SU_DIF:0,SUBUNIT:"Montenegro",SU_A3:"MNE",BRK_DIFF:0,NAME:"Montenegro",NAME_LONG:"Montenegro",BRK_A3:"MNE",BRK_NAME:"Montenegro",BRK_GROUP:null,ABBREV:"Mont.",POSTAL:"ME",FORMAL_EN:"Montenegro",FORMAL_FR:null,NAME_CIAWF:"Montenegro",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Montenegro",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:4,MAPCOLOR13:5,POP_EST:642550,POP_RANK:11,GDP_MD_EST:10610,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"MJ",ISO_A2:"ME",ISO_A3:"MNE",ISO_A3_EH:"MNE",ISO_N3:"499",UN_A3:"499",WB_A2:"ME",WB_A3:"MNE",WOE_ID:20069817,WOE_ID_EH:20069817,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MNE",ADM0_A3_US:"MNE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[18.450017,41.877551,20.3398,43.52384],geometry:{type:"Polygon",coordinates:[[[20.0707,42.58863],[19.801613,42.500093],[19.738051,42.688247],[19.304486,42.195745],[19.371768,41.877551],[19.16246,41.95502],[18.88214,42.28151],[18.450017,42.479992],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21378],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275],[20.0707,42.58863]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Mongolia",SOV_A3:"MNG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Mongolia",ADM0_A3:"MNG",GEOU_DIF:0,GEOUNIT:"Mongolia",GU_A3:"MNG",SU_DIF:0,SUBUNIT:"Mongolia",SU_A3:"MNG",BRK_DIFF:0,NAME:"Mongolia",NAME_LONG:"Mongolia",BRK_A3:"MNG",BRK_NAME:"Mongolia",BRK_GROUP:null,ABBREV:"Mong.",POSTAL:"MN",FORMAL_EN:"Mongolia",FORMAL_FR:null,NAME_CIAWF:"Mongolia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Mongolia",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:5,MAPCOLOR13:6,POP_EST:3068243,POP_RANK:12,GDP_MD_EST:37e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"MG",ISO_A2:"MN",ISO_A3:"MNG",ISO_A3_EH:"MNG",ISO_N3:"496",UN_A3:"496",WB_A2:"MN",WB_A3:"MNG",WOE_ID:23424887,WOE_ID_EH:23424887,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MNG",ADM0_A3_US:"MNG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[87.751264,41.59741,119.772824,52.047366],geometry:{type:"Polygon",coordinates:[[[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.10421,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.81402,49.97746],[97.25976,49.72605],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.06521,51.25991],[102.25589,50.51056],[103.676545,50.089966],[104.62158,50.27532],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Mozambique",SOV_A3:"MOZ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Mozambique",ADM0_A3:"MOZ",GEOU_DIF:0,GEOUNIT:"Mozambique",GU_A3:"MOZ",SU_DIF:0,SUBUNIT:"Mozambique",SU_A3:"MOZ",BRK_DIFF:0,NAME:"Mozambique",NAME_LONG:"Mozambique",BRK_A3:"MOZ",BRK_NAME:"Mozambique",BRK_GROUP:null,ABBREV:"Moz.",POSTAL:"MZ",FORMAL_EN:"Republic of Mozambique",FORMAL_FR:null,NAME_CIAWF:"Mozambique",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Mozambique",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:2,MAPCOLOR9:1,MAPCOLOR13:4,POP_EST:26573706,POP_RANK:15,GDP_MD_EST:35010,POP_YEAR:2017,LASTCENSUS:200
57,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"MZ",ISO_A2:"MZ",ISO_A3:"MOZ",ISO_A3_EH:"MOZ",ISO_N3:"508",UN_A3:"508",WB_A2:"MZ",WB_A3:"MOZ",WOE_ID:23424902,WOE_ID_EH:23424902,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MOZ",ADM0_A3_US:"MOZ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[30.179481,-26.742192,40.775475,-10.317096],geometry:{type:"Polygon",coordinates:[[[34.559989,-11.52002],[35.312398,-11.439146],[36.514082,-11.720938],[36.775151,-11.594537],[37.47129,-11.56876],[37.82764,-11.26879],[38.427557,-11.285202],[39.521,-10.89688],[40.31659,-10.3171],[40.316586,-10.317098],[40.316589,-10.317096],[40.478387,-10.765441],[40.437253,-11.761711],[40.560811,-12.639177],[40.59962,-14.201975],[40.775475,-14.691764],[40.477251,-15.406294],[40.089264,-16.100774],[39.452559,-16.720891],[38.538351,-17.101023],[37.411133,-17.586368],[36.281279,-18.659688],[35.896497,-18.84226],[35.1984,-19.552811],[34.786383,-19.784012],[34.701893,-20.497043],[35.176127,-21.254361],[35.373428,-21.840837],[35.385848,-22.14],[35.562546,-22.09],[35.533935,-23.070788],[35.371774,-23.535359],[35.60747,-23.706563],[35.458746,-24.12261],[35.040735,-24.478351],[34.215824,-24.816314],[33.01321,-25.357573],[32.574632,-25.727318],[32.660363,-26.148584],[32.915955,-26.215867],[32.83012,-26.742192],[32.071665,-26.73382],[31.985779,-26.29178],[31.837778,-25.843332],[31.752408,-25.484284],[31.930589,-24.369417],[31.670398,-23.658969],[31.191409,-22.25151],[32.244988,-21.116489],[32.508693,-20.395292],[32.659743,-20.30429],[32.772708,-19.715592],[32.611994,-19.419383],[32.654886,-18.67209],[32.849861,-17.979057],[32.847639,-16.713398],[32.328239,-16.392074],[31.852041,-16.319417],[31.636498,-16.07199],[31.173064,-15.860944],[30.338955,-15.880839],[30.274256,-15.507787],[30.179481,-14.796099],[33.214025,-13.97186],[33.7897,-14.451831],[34.064825,-14.35995],[34.459633,-14.61301],[34.517666,-15.013709],[34.307291,-15.478641],[34.381292,-16.18356],[35.03381,-16.8013],[35.339063,-16.10744],[35.771905,-15.896859],[35.686845,-14.611046],[35.267956,-13.887834],[34.907151,-13.565425],[34.559989,-13.579998],[34.280006,-12.280025],[34.559989,-11.52002]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Mauritania",SOV_A3:"MRT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Mauritania",ADM0_A3:"MRT",GEOU_DIF:0,GEOUNIT:"Mauritania",GU_A3:"MRT",SU_DIF:0,SUBUNIT:"Mauritania",SU_A3:"MRT",BRK_DIFF:0,NAME:"Mauritania",NAME_LONG:"Mauritania",BRK_A3:"MRT",BRK_NAME:"Mauritania",BRK_GROUP:null,ABBREV:"Mrt.",POSTAL:"MR",FORMAL_EN:"Islamic Republic of Mauritania",FORMAL_FR:null,NAME_CIAWF:"Mauritania",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Mauritania",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:3,MAPCOLOR9:2,MAPCOLOR13:1,POP_EST:3758571,POP_RANK:12,GDP_MD_EST:16710,POP_YEAR:2017,LASTCENSUS:2e3,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"MR",ISO_A2:"MR",ISO_A3:"MRT",ISO_A3_EH:"MRT",ISO_N3:"478",UN_A3:"478",WB_A2:"MR",WB_A3:"MRT",WOE_ID:23424896,WOE_ID_EH:23424896,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MRT",ADM0_A3_US:"MRT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-17.063423,14.616834,-4.923337,27.395744],geometry:{type:"Polygon",coordinates:[[[-8.6844,27.395744],[-4.923337,24.974574],[-6.453787,24.956591],[-5.971129,20.640833],[-5.488523,16.325102],[-5.315277,16.201854],[-5.537744,15.50169],[-9.550238,15.486497],[-9.700255,15.264107],[-10.086846,15.330486],[-10.650791,15.132746],[-11.349095,15.411256],[-11.666078,15.388208],[-11.834208,14.799097],[-12.17075,14.616834],[-12.830658,15.303692],[-13.435738,16.039383],[-14.099521,16.304302],[-14.577348,16.598264],[-15.135737,16.587282],[-15.623666,16.369337],[-16.12069,16.455663],[-16.463098,16.135036],[-16.549708,16.673892],[-16.270552,17.166963],[-16.146347,18.108482],[-16.256883,19.096716],[-16.377651,19.593817],[-16.277838,20.092521],[-16.536324,20.567866],[-17.063423,20.999752],[-16.845194,21.333323],[-12.929102,21.327071],[-13.118754,22.77122],[-12.874222,23.284832],[-11.937224,23.374594],[-11.969419,25.933353],[-8.687294,25.881056],[-8.6844,27.395744]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Malawi",SOV_A3:"MWI",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Malawi",ADM0_A3:"MWI",G
5EOU_DIF:0,GEOUNIT:"Malawi",GU_A3:"MWI",SU_DIF:0,SUBUNIT:"Malawi",SU_A3:"MWI",BRK_DIFF:0,NAME:"Malawi",NAME_LONG:"Malawi",BRK_A3:"MWI",BRK_NAME:"Malawi",BRK_GROUP:null,ABBREV:"Mal.",POSTAL:"MW",FORMAL_EN:"Republic of Malawi",FORMAL_FR:null,NAME_CIAWF:"Malawi",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Malawi",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:5,POP_EST:19196246,POP_RANK:14,GDP_MD_EST:21200,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"MI",ISO_A2:"MW",ISO_A3:"MWI",ISO_A3_EH:"MWI",ISO_N3:"454",UN_A3:"454",WB_A2:"MW",WB_A3:"MWI",WOE_ID:23424889,WOE_ID_EH:23424889,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MWI",ADM0_A3_US:"MWI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[32.688165,-16.8013,35.771905,-9.230599],geometry:{type:"Polygon",coordinates:[[[34.559989,-11.52002],[34.280006,-12.280025],[34.559989,-13.579998],[34.907151,-13.565425],[35.267956,-13.887834],[35.686845,-14.611046],[35.771905,-15.896859],[35.339063,-16.10744],[35.03381,-16.8013],[34.381292,-16.18356],[34.307291,-15.478641],[34.517666,-15.013709],[34.459633,-14.61301],[34.064825,-14.35995],[33.7897,-14.451831],[33.214025,-13.97186],[32.688165,-13.712858],[32.991764,-12.783871],[33.306422,-12.435778],[33.114289,-11.607198],[33.31531,-10.79655],[33.485688,-10.525559],[33.231388,-9.676722],[32.759375,-9.230599],[33.73972,-9.41715],[33.940838,-9.693674],[34.28,-10.16],[34.559989,-11.52002]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Malaysia",SOV_A3:"MYS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Malaysia",ADM0_A3:"MYS",GEOU_DIF:0,GEOUNIT:"Malaysia",GU_A3:"MYS",SU_DIF:0,SUBUNIT:"Malaysia",SU_A3:"MYS",BRK_DIFF:0,NAME:"Malaysia",NAME_LONG:"Malaysia",BRK_A3:"MYS",BRK_NAME:"Malaysia",BRK_GROUP:null,ABBREV:"Malay.",POSTAL:"MY",FORMAL_EN:"Malaysia",FORMAL_FR:null,NAME_CIAWF:"Malaysia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Malaysia",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:4,MAPCOLOR9:3,MAPCOLOR13:6,POP_EST:31381992,POP_RANK:15,GDP_MD_EST:863e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"MY",ISO_A2:"MY",ISO_A3:"MYS",ISO_A3_EH:"MYS",ISO_N3:"458",UN_A3:"458",WB_A2:"MY",WB_A3:"MYS",WOE_ID:23424901,WOE_ID_EH:23424901,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"MYS",ADM0_A3_US:"MYS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[100.085757,.773131,119.181904,6.928053],geometry:{type:"MultiPolygon",coordinates:[[[[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202],[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,.904441],[111.159138,.976478],[110.514061,.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874]]],[[[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Namibia",SOV_A3:"NAM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Namibia",ADM0_A3:"NAM",GEOU_DIF:0,GEOUNIT:"Namibia",GU_A3:"NAM",SU_DIF:0,SUBUNIT:"Namibia",SU_A3:"NAM",BRK_DIFF:0,NAME:"Namibia",NAME_LONG:"Namibia",BRK_A3:"NAM",BRK_NAME:"Namibia",BRK_GROUP:null,ABBREV:"Nam.",POSTAL:"NA",FORMAL_EN:"Republic of Namibia",FORMAL_FR:null,NAME_CIAWF:"Namibia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Namibia",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:1,MAPCOLOR9:1,MAPCOLOR13:7,POP_EST:2484780,POP_RANK:12,GDP_MD_EST:25990,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"WA",ISO_A2:"NA",ISO_A3:"NAM",ISO_A3_EH:"NAM",ISO_N3:"516",UN_A3:"516",WB_A2:"NA",WB_A3:"NAM",WOE_ID:23424987,WOE_ID_EH:23424987,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NAM",ADM0_A3_US:"NAM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Southern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7.5},bbox:[11.734199,-29.045462,25.084443,-16.941343],geometry:{type:"Polygon",coordinates:[[[11.734199,-17.301889],[12.215461,-17.111668],[12.814081,-16.941343],[13.462362,-16.971212],[14.058501,-17.423381],[14.209707,-17.353101],[18.263309,-17.309951],[18.956187,-17.789095],[21.377176,-17.930636],[23.215048,-17.523116],[24.033862,-17.295843],[24.682349,-17.353411],[25.07695,-17.578823],[25.084443,-1
57.661816],[24.520705,-17.887125],[24.217365,-17.889347],[23.579006,-18.281261],[23.196858,-17.869038],[21.65504,-18.219146],[20.910641,-18.252219],[20.881134,-21.814327],[19.895458,-21.849157],[19.895768,-24.76779],[19.894734,-28.461105],[19.002127,-28.972443],[18.464899,-29.045462],[17.836152,-28.856378],[17.387497,-28.783514],[17.218929,-28.355943],[16.824017,-28.082162],[16.344977,-28.576705],[15.601818,-27.821247],[15.210472,-27.090956],[14.989711,-26.117372],[14.743214,-25.39292],[14.408144,-23.853014],[14.385717,-22.656653],[14.257714,-22.111208],[13.868642,-21.699037],[13.352498,-20.872834],[12.826845,-19.673166],[12.608564,-19.045349],[11.794919,-18.069129],[11.734199,-17.301889]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"France",SOV_A3:"FR1",ADM0_DIF:1,LEVEL:2,TYPE:"Dependency",ADMIN:"New Caledonia",ADM0_A3:"NCL",GEOU_DIF:0,GEOUNIT:"New Caledonia",GU_A3:"NCL",SU_DIF:0,SUBUNIT:"New Caledonia",SU_A3:"NCL",BRK_DIFF:0,NAME:"New Caledonia",NAME_LONG:"New Caledonia",BRK_A3:"NCL",BRK_NAME:"New Caledonia",BRK_GROUP:null,ABBREV:"New C.",POSTAL:"NC",FORMAL_EN:"New Caledonia",FORMAL_FR:"Nouvelle-Calédonie",NAME_CIAWF:"New Caledonia",NOTE_ADM0:"Fr.",NOTE_BRK:null,NAME_SORT:"New Caledonia",NAME_ALT:null,MAPCOLOR7:7,MAPCOLOR8:5,MAPCOLOR9:9,MAPCOLOR13:11,POP_EST:279070,POP_RANK:10,GDP_MD_EST:10770,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"NC",ISO_A2:"NC",ISO_A3:"NCL",ISO_A3_EH:"NCL",ISO_N3:"540",UN_A3:"540",WB_A2:"NC",WB_A3:"NCL",WOE_ID:23424903,WOE_ID_EH:23424903,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NCL",ADM0_A3_US:"NCL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Melanesia",REGION_WB:"East Asia & Pacific",NAME_LEN:13,LONG_LEN:13,ABBREV_LEN:6,TINY:-99,HOMEPART:-99,MIN_ZOOM:0,MIN_LABEL:4.6,MAX_LABEL:8},bbox:[164.029606,-22.399976,167.120011,-20.105646],geometry:{type:"Polygon",coordinates:[[[165.77999,-21.080005],[166.599991,-21.700019],[167.120011,-22.159991],[166.740035,-22.399976],[166.189732,-22.129708],[165.474375,-21.679607],[164.829815,-21.14982],[164.167995,-20.444747],[164.029606,-20.105646],[164.459967,-20.120012],[165.020036,-20.459991],[165.460009,-20.800022],[165.77999,-21.080005]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Niger",SOV_A3:"NER",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Niger",ADM0_A3:"NER",GEOU_DIF:0,GEOUNIT:"Niger",GU_A3:"NER",SU_DIF:0,SUBUNIT:"Niger",SU_A3:"NER",BRK_DIFF:0,NAME:"Niger",NAME_LONG:"Niger",BRK_A3:"NER",BRK_NAME:"Niger",BRK_GROUP:null,ABBREV:"Niger",POSTAL:"NE",FORMAL_EN:"Republic of Niger",FORMAL_FR:null,NAME_CIAWF:"Niger",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Niger",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:3,MAPCOLOR13:13,POP_EST:19245344,POP_RANK:14,GDP_MD_EST:20150,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"NG",ISO_A2:"NE",ISO_A3:"NER",ISO_A3_EH:"NER",ISO_N3:"562",UN_A3:"562",WB_A2:"NE",WB_A3:"NER",WOE_ID:23424906,WOE_ID_EH:23424906,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NER",ADM0_A3_US:"NER",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[.295646,11.660167,15.903247,23.471668],geometry:{type:"Polygon",coordinates:[[[3.61118,11.660167],[2.848643,12.235636],[2.490164,12.233052],[2.154474,11.94015],[2.177108,12.625018],[1.024103,12.851826],[.993046,13.33575],[.429928,13.988733],[.295646,14.444235],[.374892,14.928908],[1.015783,14.968182],[1.385528,15.323561],[2.749993,15.409525],[3.638259,15.56812],[3.723422,16.184284],[4.27021,16.852227],[4.267419,19.155265],[5.677566,19.601207],[8.572893,21.565661],[11.999506,23.471668],[13.581425,23.040506],[14.143871,22.491289],[14.8513,22.86295],[15.096888,21.308519],[15.47106,21.04845],[15.487148,20.730415],[15.903247,20.387619],[15.685741,19.95718],[15.300441,17.92795],[15.247731,16.627306],[13.97217,15.68437],[13.540394,14.367134],[13.956699,13.996691],[13.954477,13.353449],[14.595781,13.330427],[14.495787,12.859396],[14.213531,12.802
5035],[14.181336,12.483657],[13.995353,12.461565],[13.318702,13.556356],[13.083987,13.596147],[12.302071,13.037189],[11.527803,13.32898],[10.989593,13.387323],[10.701032,13.246918],[10.114814,13.277252],[9.524928,12.851102],[9.014933,12.826659],[7.804671,13.343527],[7.330747,13.098038],[6.820442,13.115091],[6.445426,13.492768],[5.443058,13.865924],[4.368344,13.747482],[4.107946,13.531216],[3.967283,12.956109],[3.680634,12.552903],[3.61118,11.660167]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Nigeria",SOV_A3:"NGA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Nigeria",ADM0_A3:"NGA",GEOU_DIF:0,GEOUNIT:"Nigeria",GU_A3:"NGA",SU_DIF:0,SUBUNIT:"Nigeria",SU_A3:"NGA",BRK_DIFF:0,NAME:"Nigeria",NAME_LONG:"Nigeria",BRK_A3:"NGA",BRK_NAME:"Nigeria",BRK_GROUP:null,ABBREV:"Nigeria",POSTAL:"NG",FORMAL_EN:"Federal Republic of Nigeria",FORMAL_FR:null,NAME_CIAWF:"Nigeria",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Nigeria",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:2,POP_EST:190632261,POP_RANK:17,GDP_MD_EST:1089e3,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"NI",ISO_A2:"NG",ISO_A3:"NGA",ISO_A3_EH:"NGA",ISO_N3:"566",UN_A3:"566",WB_A2:"NG",WB_A3:"NGA",WOE_ID:23424908,WOE_ID_EH:23424908,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NGA",ADM0_A3_US:"NGA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[2.691702,4.240594,14.577178,13.865924],geometry:{type:"Polygon",coordinates:[[[2.691702,6.258817],[2.749063,7.870734],[2.723793,8.506845],[2.912308,9.137608],[3.220352,9.444153],[3.705438,10.06321],[3.60007,10.332186],[3.797112,10.734746],[3.572216,11.327939],[3.61118,11.660167],[3.680634,12.552903],[3.967283,12.956109],[4.107946,13.531216],[4.368344,13.747482],[5.443058,13.865924],[6.445426,13.492768],[6.820442,13.115091],[7.330747,13.098038],[7.804671,13.343527],[9.014933,12.826659],[9.524928,12.851102],[10.114814,13.277252],[10.701032,13.246918],[10.989593,13.387323],[11.527803,13.32898],[12.302071,13.037189],[13.083987,13.596147],[13.318702,13.556356],[13.995353,12.461565],[14.181336,12.483657],[14.577178,12.085361],[14.468192,11.904752],[14.415379,11.572369],[13.57295,10.798566],[13.308676,10.160362],[13.1676,9.640626],[12.955468,9.417772],[12.753672,8.717763],[12.218872,8.305824],[12.063946,7.799808],[11.839309,7.397042],[11.745774,6.981383],[11.058788,6.644427],[10.497375,7.055358],[10.118277,7.03877],[9.522706,6.453482],[9.233163,6.444491],[8.757533,5.479666],[8.500288,4.771983],[7.462108,4.412108],[7.082596,4.464689],[6.698072,4.240594],[5.898173,4.262453],[5.362805,4.887971],[5.033574,5.611802],[4.325607,6.270651],[3.57418,6.2583],[2.691702,6.258817]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Nicaragua",SOV_A3:"NIC",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Nicaragua",ADM0_A3:"NIC",GEOU_DIF:0,GEOUNIT:"Nicaragua",GU_A3:"NIC",SU_DIF:0,SUBUNIT:"Nicaragua",SU_A3:"NIC",BRK_DIFF:0,NAME:"Nicaragua",NAME_LONG:"Nicaragua",BRK_A3:"NIC",BRK_NAME:"Nicaragua",BRK_GROUP:null,ABBREV:"Nic.",POSTAL:"NI",FORMAL_EN:"Republic of Nicaragua",FORMAL_FR:null,NAME_CIAWF:"Nicaragua",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Nicaragua",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:9,POP_EST:6025951,POP_RANK:13,GDP_MD_EST:33550,POP_YEAR:2017,LASTCENSUS:2005,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"NU",ISO_A2:"NI",ISO_A3:"NIC",ISO_A3_EH:"NIC",ISO_N3:"558",UN_A3:"558",WB_A2:"NI",WB_A3:"NIC",WOE_ID:23424915,WOE_ID_EH:23424915,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NIC",ADM0_A3_US:"NIC",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-87.668493,10.726839,-83.147219,15.016267],geometry:{type:"Polygon",coordinates:[[[-83.655612,10.938764],[-83.895054,10.726839],[-84.190179,10.79345],[-84.355931,10.999226],[-84.673069,11.082657],[-84.903003,10.952303],[-85.561852,11.217119],[-85.71254,11.088445],[-86.058488,11.403439],[-86.52585,11.806877],[-86.745992,12.143962],[-87.167516,12.458258],[-87.668493,12.90991],[-87.557467,13.064552],[-87.392386,12.914018],[-87.3166
554,12.984686],[-87.005769,13.025794],[-86.880557,13.254204],[-86.733822,13.263093],[-86.755087,13.754845],[-86.520708,13.778487],[-86.312142,13.771356],[-86.096264,14.038187],[-85.801295,13.836055],[-85.698665,13.960078],[-85.514413,14.079012],[-85.165365,14.35437],[-85.148751,14.560197],[-85.052787,14.551541],[-84.924501,14.790493],[-84.820037,14.819587],[-84.649582,14.666805],[-84.449336,14.621614],[-84.228342,14.748764],[-83.975721,14.749436],[-83.628585,14.880074],[-83.489989,15.016267],[-83.147219,14.995829],[-83.233234,14.899866],[-83.284162,14.676624],[-83.182126,14.310703],[-83.4125,13.970078],[-83.519832,13.567699],[-83.552207,13.127054],[-83.498515,12.869292],[-83.473323,12.419087],[-83.626104,12.32085],[-83.719613,11.893124],[-83.650858,11.629032],[-83.85547,11.373311],[-83.808936,11.103044],[-83.655612,10.938764]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Netherlands",SOV_A3:"NL1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"Netherlands",ADM0_A3:"NLD",GEOU_DIF:0,GEOUNIT:"Netherlands",GU_A3:"NLD",SU_DIF:0,SUBUNIT:"Netherlands",SU_A3:"NLD",BRK_DIFF:0,NAME:"Netherlands",NAME_LONG:"Netherlands",BRK_A3:"NLD",BRK_NAME:"Netherlands",BRK_GROUP:null,ABBREV:"Neth.",POSTAL:"NL",FORMAL_EN:"Kingdom of the Netherlands",FORMAL_FR:null,NAME_CIAWF:"Netherlands",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Netherlands",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:9,POP_EST:17084719,POP_RANK:14,GDP_MD_EST:870800,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"NL",ISO_A2:"NL",ISO_A3:"NLD",ISO_A3_EH:"NLD",ISO_N3:"528",UN_A3:"528",WB_A2:"NL",WB_A3:"NLD",WOE_ID:-90,WOE_ID_EH:23424909,WOE_NOTE:"Doesn't include new former units of Netherlands Antilles (24549811, 24549808, and 24549809)",ADM0_A3_IS:"NLD",ADM0_A3_US:"NLD",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Western Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[3.314971,50.803721,7.092053,53.510403],geometry:{type:"Polygon",coordinates:[[[6.156658,50.803721],[5.606976,51.037298],[4.973991,51.475024],[4.047071,51.267259],[3.314971,51.345755],[3.315011,51.345777],[3.830289,51.620545],[4.705997,53.091798],[6.074183,53.510403],[6.90514,53.482162],[7.092053,53.144043],[6.84287,52.22844],[6.589397,51.852029],[5.988658,51.851616],[6.156658,50.803721]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Norway",SOV_A3:"NOR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Norway",ADM0_A3:"NOR",GEOU_DIF:0,GEOUNIT:"Norway",GU_A3:"NOR",SU_DIF:0,SUBUNIT:"Norway",SU_A3:"NOR",BRK_DIFF:0,NAME:"Norway",NAME_LONG:"Norway",BRK_A3:"NOR",BRK_NAME:"Norway",BRK_GROUP:null,ABBREV:"Nor.",POSTAL:"N",FORMAL_EN:"Kingdom of Norway",FORMAL_FR:null,NAME_CIAWF:"Norway",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Norway",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:8,MAPCOLOR13:12,POP_EST:5320045,POP_RANK:13,GDP_MD_EST:364700,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"-99",ISO_A3:"-99",ISO_A3_EH:"-99",ISO_N3:"-99",UN_A3:"-99",WB_A2:"-99",WB_A3:"-99",WOE_ID:-90,WOE_ID_EH:23424910,WOE_NOTE:"Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).",ADM0_A3_IS:"NOR",ADM0_A3_US:"NOR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[4.992078,58.078884,31.293418,80.657144],geometry:{type:"MultiPolygon",coordinates:[[[[28.59193,69.064777],[29.015573,69.766491],[27.732292,70.164193],[26.179622,69.825299],[25.689213,69.092114],[24.735679,68.649557],[23.66205,68.891247],[22.356238,68.841741],[21.244936,69.370443],[20.645593,69.106247],[20.025269,69.065139],[19.87856,68.407194],[17.993868,68.567391],[17.729182,68.010552],[16.768879,68.013937],[16.108712,67.302456],[15.108411,66.193867],[13.55569,64.787028],[13.919905,64.445421],[13.571916,64.049114],[12.579935,64.066219],[11.930569,63.128318],[11.992064,61.800362],[12.631147,61.293572],[12.300366,60.117933],[11.468272,59.432393],[11.027369,58.856149],[10.356557,59.469807],[8.382,58.313288],[7.048748,58.078884],[5.665835,58.588155],[5.308234,59.663232],[4.992078,61.970998],[5.9
5129,62.614473],[8.553411,63.454008],[10.527709,64.486038],[12.358347,65.879726],[14.761146,67.810642],[16.435927,68.563205],[19.184028,69.817444],[21.378416,70.255169],[23.023742,70.202072],[24.546543,71.030497],[26.37005,70.986262],[28.165547,71.185474],[31.293418,70.453788],[30.005435,70.186259],[31.101042,69.558101],[29.39955,69.15692],[28.59193,69.064777]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]],[[[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175]]],[[[25.447625,80.40734],[27.407506,80.056406],[25.924651,79.517834],[23.024466,79.400012],[20.075188,79.566823],[19.897266,79.842362],[18.462264,79.85988],[17.368015,80.318896],[20.455992,80.598156],[21.907945,80.357679],[22.919253,80.657144],[25.447625,80.40734]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Nepal",SOV_A3:"NPL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Nepal",ADM0_A3:"NPL",GEOU_DIF:0,GEOUNIT:"Nepal",GU_A3:"NPL",SU_DIF:0,SUBUNIT:"Nepal",SU_A3:"NPL",BRK_DIFF:0,NAME:"Nepal",NAME_LONG:"Nepal",BRK_A3:"NPL",BRK_NAME:"Nepal",BRK_GROUP:null,ABBREV:"Nepal",POSTAL:"NP",FORMAL_EN:"Nepal",FORMAL_FR:null,NAME_CIAWF:"Nepal",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Nepal",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:12,POP_EST:29384297,POP_RANK:15,GDP_MD_EST:71520,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"NP",ISO_A2:"NP",ISO_A3:"NPL",ISO_A3_EH:"NPL",ISO_N3:"524",UN_A3:"524",WB_A2:"NP",WB_A3:"NPL",WOE_ID:23424911,WOE_ID_EH:23424911,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NPL",ADM0_A3_US:"NPL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[80.088425,26.397898,88.174804,30.422717],geometry:{type:"Polygon",coordinates:[[[81.111256,30.183481],[81.525804,30.422717],[82.327513,30.115268],[83.337115,29.463732],[83.898993,29.320226],[84.23458,28.839894],[85.011638,28.642774],[85.82332,28.203576],[86.954517,27.974262],[88.120441,27.876542],[88.043133,27.445819],[88.174804,26.810405],[88.060238,26.414615],[87.227472,26.397898],[86.024393,26.630985],[85.251779,26.726198],[84.675018,27.234901],[83.304249,27.364506],[81.999987,27.925479],[81.057203,28.416095],[80.088425,28.79447],[80.476721,29.729865],[81.111256,30.183481]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"New Zealand",SOV_A3:"NZ1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"New Zealand",ADM0_A3:"NZL",GEOU_DIF:0,GEOUNIT:"New Zealand",GU_A3:"NZL",SU_DIF:0,SUBUNIT:"New Zealand",SU_A3:"NZL",BRK_DIFF:0,NAME:"New Zealand",NAME_LONG:"New Zealand",BRK_A3:"NZL",BRK_NAME:"New Zealand",BRK_GROUP:null,ABBREV:"N.Z.",POSTAL:"NZ",FORMAL_EN:"New Zealand",FORMAL_FR:null,NAME_CIAWF:"New Zealand",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"New Zealand",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:4,POP_EST:4510327,POP_RANK:12,GDP_MD_EST:174800,POP_YEAR:2017,LASTCENSUS:2006,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"NZ",ISO_A2:"NZ",ISO_A3:"NZL",ISO_A3_EH:"NZL",ISO_N3:"554",UN_A3:"554",WB_A2:"NZ",WB_A3:"NZL",WOE_ID:23424916,WOE_ID_EH:23424916,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"NZL",ADM0_A3_US:"NZL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Australia and New Zealand",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:6.7},bbox:[166.509144,-46.641235,178.517094,-34.450662],geometry:{type:"MultiPolygon",coordinates:[[[[173.020375,-40.919052],[173.247234,-41.331999],[173.958405,-40.926701],[174.247587,-41.349155],[174.248517,-41.770008],[173.876447,-42.233184],[173.22274,-42.970038],[172.711246,-43.372288],[173.080113,-43.853344],[172.308584,-43.865694],[171.452925,-44.242519],[171.185138,-44.897104],[170.616697,-45.9
508929],[169.831422,-46.355775],[169.332331,-46.641235],[168.411354,-46.619945],[167.763745,-46.290197],[166.676886,-46.219917],[166.509144,-45.852705],[167.046424,-45.110941],[168.303763,-44.123973],[168.949409,-43.935819],[169.667815,-43.555326],[170.52492,-43.031688],[171.12509,-42.512754],[171.569714,-41.767424],[171.948709,-41.514417],[172.097227,-40.956104],[172.79858,-40.493962],[173.020375,-40.919052]]],[[[174.612009,-36.156397],[175.336616,-37.209098],[175.357596,-36.526194],[175.808887,-36.798942],[175.95849,-37.555382],[176.763195,-37.881253],[177.438813,-37.961248],[178.010354,-37.579825],[178.517094,-37.695373],[178.274731,-38.582813],[177.97046,-39.166343],[177.206993,-39.145776],[176.939981,-39.449736],[177.032946,-39.879943],[176.885824,-40.065978],[176.508017,-40.604808],[176.01244,-41.289624],[175.239567,-41.688308],[175.067898,-41.425895],[174.650973,-41.281821],[175.22763,-40.459236],[174.900157,-39.908933],[173.824047,-39.508854],[173.852262,-39.146602],[174.574802,-38.797683],[174.743474,-38.027808],[174.697017,-37.381129],[174.292028,-36.711092],[174.319004,-36.534824],[173.840997,-36.121981],[173.054171,-35.237125],[172.636005,-34.529107],[173.007042,-34.450662],[173.551298,-35.006183],[174.32939,-35.265496],[174.612009,-36.156397]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Oman",SOV_A3:"OMN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Oman",ADM0_A3:"OMN",GEOU_DIF:0,GEOUNIT:"Oman",GU_A3:"OMN",SU_DIF:0,SUBUNIT:"Oman",SU_A3:"OMN",BRK_DIFF:0,NAME:"Oman",NAME_LONG:"Oman",BRK_A3:"OMN",BRK_NAME:"Oman",BRK_GROUP:null,ABBREV:"Oman",POSTAL:"OM",FORMAL_EN:"Sultanate of Oman",FORMAL_FR:null,NAME_CIAWF:"Oman",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Oman",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:6,POP_EST:3424386,POP_RANK:12,GDP_MD_EST:173100,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"MU",ISO_A2:"OM",ISO_A3:"OMN",ISO_A3_EH:"OMN",ISO_N3:"512",UN_A3:"512",WB_A2:"OM",WB_A3:"OMN",WOE_ID:23424898,WOE_ID_EH:23424898,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"OMN",ADM0_A3_US:"OMN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[52.00001,16.651051,59.80806,26.395934],geometry:{type:"MultiPolygon",coordinates:[[[[56.261042,25.714606],[56.070821,26.055464],[56.362017,26.395934],[56.485679,26.309118],[56.391421,25.895991],[56.261042,25.714606]]],[[[55.208341,22.70833],[55.234489,23.110993],[55.525841,23.524869],[55.528632,23.933604],[55.981214,24.130543],[55.804119,24.269604],[55.886233,24.920831],[56.396847,24.924732],[56.84514,24.241673],[57.403453,23.878594],[58.136948,23.747931],[58.729211,23.565668],[59.180502,22.992395],[59.450098,22.660271],[59.80806,22.533612],[59.806148,22.310525],[59.442191,21.714541],[59.282408,21.433886],[58.861141,21.114035],[58.487986,20.428986],[58.034318,20.481437],[57.826373,20.243002],[57.665762,19.736005],[57.7887,19.06757],[57.694391,18.94471],[57.234264,18.947991],[56.609651,18.574267],[56.512189,18.087113],[56.283521,17.876067],[55.661492,17.884128],[55.269939,17.632309],[55.2749,17.228354],[54.791002,16.950697],[54.239253,17.044981],[53.570508,16.707663],[53.108573,16.651051],[52.782184,17.349742],[52.00001,19.000003],[54.999982,19.999994],[55.666659,22.000001],[55.208341,22.70833]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Pakistan",SOV_A3:"PAK",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Pakistan",ADM0_A3:"PAK",GEOU_DIF:0,GEOUNIT:"Pakistan",GU_A3:"PAK",SU_DIF:0,SUBUNIT:"Pakistan",SU_A3:"PAK",BRK_DIFF:0,NAME:"Pakistan",NAME_LONG:"Pakistan",BRK_A3:"PAK",BRK_NAME:"Pakistan",BRK_GROUP:null,ABBREV:"Pak.",POSTAL:"PK",FORMAL_EN:"Islamic Republic of Pakistan",FORMAL_FR:null,NAME_CIAWF:"Pakistan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Pakistan",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:11,POP_EST:204924861,POP_RANK:17,GDP_MD_EST:988200,POP_YEAR:2017,LASTCENSUS:1998,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"PK",ISO_A2:"PK",ISO_A3:"PAK",ISO_A3_EH:"PAK",ISO_N3:"586",UN_A3:"586",WB_A2:"PK",WB_A3:"PAK",WOE_ID:23424922,WOE_ID_EH:23424922,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PAK",ADM0_A3_US:"PAK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Southern Asia",REGION_WB:"South Asia",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[60.874248,23.691965,77.837451,37.133031],geometry:{type:"Polygon",coordinates:[[[60.874248,29.829239],[62.549857,29.318572],[63.550261,29.468331],[64.148002,29.340819],[64.350419,29.560031],[65.046862,29.472181],[66.346473,29.887943],[66.381458,30.738899],[66.938891,31.304911],[67.683394,31.303154],[67.792689,31.58293],[68.556932,31.71331],[68.926677,31.620189],[69.317764,31.901412],[69.262522,32.501944],[69.687147,33.105499],[70.323594,33.358533],[69.930543,34.02012],[70.881803,33.988856],[71.156773,34.348911],[71.115019,34.733126],[71.613076,35.153203],[71.498768,35.650563],[71.262348,36.074388],[71.846292,36.509942],[72.920025,36.720007],[74.067552,36.836176],[74.575893,37.020841],[75.158028,37.133031],[75.896897,36.666806],[76.192848,35.898403],[77.837451,35.49401],[76.871722,34.653544],[75.757061,34.504923],[74.240203,34.748887],[73.749948,34.317699],[74.104294,33.441473],[74.451559,32.7649],[75.258642,32.271105],[74.405929,31.692639],[74.42138,30.979815],[73.450638,29.976413],[72.823752,28.961592],[71.777666,27.91318],[70.616496,27.989196],[69.514393,26.940966],[70.168927,26.491872],[70.282873,25.722229],[70.844699,25.215102],[71.04324,24.356524],[68.842599,24.359134],[68.176645,23.691965],[67.443667,23.944844],[67.145442,24.663611],[66.372828,25.425141],[64.530408,25.237039],[62.905701,25.218409],[61.497363,25.078237],[61.874187,26.239975],[63.316632,26.756532],[63.233898,27.217047],[62.755426,27.378923],[62.72783,28.259645],[61.771868,28.699334],[61.369309,29.303276],[60.874248,29.829239]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Panama",SOV_A3:"PAN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Panama",ADM0_A3:"PAN",GEOU_DIF:0,GEOUNIT:"Panama",GU_A3:"PAN",SU_DIF:0,SUBUNIT:"Panama",SU_A3:"PAN",BRK_DIFF:0,NAME:"Panama",NAME_LONG:"Panama",BRK_A3:"PAN",BRK_NAME:"Panama",BRK_GROUP:null,ABBREV:"Pan.",POSTAL:"PA",FORMAL_EN:"Republic of Panama",FORMAL_FR:null,NAME_CIAWF:"Panama",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Panama",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:6,MAPCOLOR13:3,POP_EST:3753142,POP_RANK:12,GDP_MD_EST:93120,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"PM",ISO_A2:"PA",ISO_A3:"PAN",ISO_A3_EH:"PAN",ISO_N3:"591",UN_A3:"591",WB_A2:"PA",WB_A3:"PAN",WOE_ID:23424924,WOE_ID_EH:23424924,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PAN",ADM0_A3_US:"PAN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-82.965783,7.220541,-77.242566,9.61161],geometry:{type:"Polygon",coordinates:[[[-77.353361,8.670505],[-77.474723,8.524286],[-77.242566,7.935278],[-77.431108,7.638061],[-77.753414,7.70984],[-77.881571,7.223771],[-78.214936,7.512255],[-78.429161,8.052041],[-78.182096,8.319182],[-78.435465,8.387705],[-78.622121,8.718124],[-79.120307,8.996092],[-79.557877,8.932375],[-79.760578,8.584515],[-80.164481,8.333316],[-80.382659,8.298409],[-80.480689,8.090308],[-80.00369,7.547524],[-80.276671,7.419754],[-80.421158,7.271572],[-80.886401,7.220541],[-81.059543,7.817921],[-81.189716,7.647906],[-81.519515,7.70661],[-81.721311,8.108963],[-82.131441,8.175393],[-82.390934,8.292362],[-82.820081,8.290864],[-82.850958,8.073823],[-82.965783,8.225028],[-82.913176,8.423517],[-82.829771,8.626295],[-82.868657,8.807266],[-82.719183,8.925709],[-82.927155,9.07433],[-82.932891,9.476812],[-82.546196,9.566135],[-82.187123,9.207449],[-82.207586,8.995575],[-81.808567,8.950617],[-81.714154,9.031955],[-81.439287,8.786234],[-80.947302,8.858504],[-80.521901,9.111072],[-79.9146,9.312765],[-79.573303,9.61161],[-79.021192,9.5
552931],[-79.05845,9.454565],[-78.500888,9.420459],[-78.055928,9.24773],[-77.729514,8.946844],[-77.353361,8.670505]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Peru",SOV_A3:"PER",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Peru",ADM0_A3:"PER",GEOU_DIF:0,GEOUNIT:"Peru",GU_A3:"PER",SU_DIF:0,SUBUNIT:"Peru",SU_A3:"PER",BRK_DIFF:0,NAME:"Peru",NAME_LONG:"Peru",BRK_A3:"PER",BRK_NAME:"Peru",BRK_GROUP:null,ABBREV:"Peru",POSTAL:"PE",FORMAL_EN:"Republic of Peru",FORMAL_FR:null,NAME_CIAWF:"Peru",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Peru",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:11,POP_EST:31036656,POP_RANK:15,GDP_MD_EST:410400,POP_YEAR:2017,LASTCENSUS:2007,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"PE",ISO_A2:"PE",ISO_A3:"PER",ISO_A3_EH:"PER",ISO_N3:"604",UN_A3:"604",WB_A2:"PE",WB_A3:"PER",WOE_ID:23424919,WOE_ID_EH:23424919,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PER",ADM0_A3_US:"PER",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[-81.410943,-18.347975,-68.66508,-.057205],geometry:{type:"Polygon",coordinates:[[[-69.529678,-10.951734],[-68.66508,-12.5613],[-68.88008,-12.899729],[-68.929224,-13.602684],[-68.948887,-14.453639],[-69.339535,-14.953195],[-69.160347,-15.323974],[-69.389764,-15.660129],[-68.959635,-16.500698],[-69.590424,-17.580012],[-69.858444,-18.092694],[-70.372572,-18.347975],[-71.37525,-17.773799],[-71.462041,-17.363488],[-73.44453,-16.359363],[-75.237883,-15.265683],[-76.009205,-14.649286],[-76.423469,-13.823187],[-76.259242,-13.535039],[-77.106192,-12.222716],[-78.092153,-10.377712],[-79.036953,-8.386568],[-79.44592,-7.930833],[-79.760578,-7.194341],[-80.537482,-6.541668],[-81.249996,-6.136834],[-80.926347,-5.690557],[-81.410943,-4.736765],[-81.09967,-4.036394],[-80.302561,-3.404856],[-80.184015,-3.821162],[-80.469295,-4.059287],[-80.442242,-4.425724],[-80.028908,-4.346091],[-79.624979,-4.454198],[-79.205289,-4.959129],[-78.639897,-4.547784],[-78.450684,-3.873097],[-77.837905,-3.003021],[-76.635394,-2.608678],[-75.544996,-1.56161],[-75.233723,-.911417],[-75.373223,-.152032],[-75.106625,-.057205],[-74.441601,-.53082],[-74.122395,-1.002833],[-73.659504,-1.260491],[-73.070392,-2.308954],[-72.325787,-2.434218],[-71.774761,-2.16979],[-71.413646,-2.342802],[-70.813476,-2.256865],[-70.047709,-2.725156],[-70.692682,-3.742872],[-70.394044,-3.766591],[-69.893635,-4.298187],[-70.794769,-4.251265],[-70.928843,-4.401591],[-71.748406,-4.593983],[-72.891928,-5.274561],[-72.964507,-5.741251],[-73.219711,-6.089189],[-73.120027,-6.629931],[-73.724487,-6.918595],[-73.723401,-7.340999],[-73.987235,-7.52383],[-73.571059,-8.424447],[-73.015383,-9.032833],[-73.226713,-9.462213],[-72.563033,-9.520194],[-72.184891,-10.053598],[-71.302412,-10.079436],[-70.481894,-9.490118],[-70.548686,-11.009147],[-70.093752,-11.123972],[-69.529678,-10.951734]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Philippines",SOV_A3:"PHL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Philippines",ADM0_A3:"PHL",GEOU_DIF:0,GEOUNIT:"Philippines",GU_A3:"PHL",SU_DIF:0,SUBUNIT:"Philippines",SU_A3:"PHL",BRK_DIFF:0,NAME:"Philippines",NAME_LONG:"Philippines",BRK_A3:"PHL",BRK_NAME:"Philippines",BRK_GROUP:null,ABBREV:"Phil.",POSTAL:"PH",FORMAL_EN:"Republic of the Philippines",FORMAL_FR:null,NAME_CIAWF:"Philippines",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Philippines",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:8,POP_EST:104256076,POP_RANK:17,GDP_MD_EST:801900,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"RP",ISO_A2:"PH",ISO_A3:"PHL",ISO_A3_EH:"PHL",ISO_N3:"608",UN_A3:"608",WB_A2:"PH",WB_A3:"PHL",WOE_ID:23424934,WOE_ID_EH:23424934,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PHL",ADM0_A3_US:"PHL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[117.174275,5.581003,126.537424,18.505227],geometry:{type:"MultiPolygon",coordinates:[[[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]]],[[[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779]]],[[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]]],[[[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841],[121.883548,11.891755]]],[[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]]],[[[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959]]],[[[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Papua New Guinea",SOV_A3:"PNG",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Papua New Guinea",ADM0_A3:"PNG",GEOU_DIF:0,GEOUNIT:"Papua New Guinea",GU_A3:"PNG",SU_DIF:1,SUBUNIT:"Papua New Guinea",SU_A3:"PN1",BRK_DIFF:0,NAME:"Papua New Guinea",NAME_LONG:"Papua New Guinea",BRK_A3:"PN1",BRK_NAME:"Papua New Guinea",BRK_GROUP:null,ABBREV:"P.N.G.",POSTAL:"PG",FORMAL_EN:"Independent State of Papua New Guinea",FORMAL_FR:null,NAME_CIAWF:"Papua New Guinea",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Papua New Guinea",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:1,POP_EST:6909701,POP_RANK:13,GDP_MD_EST:28020,POP_YEAR:2017,LASTCENSUS:2e3,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"PP",ISO_A2:"PG",ISO_A3:"PNG",ISO_A3_EH:"PNG",ISO_N3:"598",UN_A3:"598",WB_A2:"PG",WB_A3:"PNG",WOE_ID:23424926,WOE_ID_EH:23424926,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PNG",ADM0_A3_US:"PNG",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Melanesia",REGION_WB:"East Asia & Pacific",NAME_LEN:16,LONG_LEN:16,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2.5,MAX_LABEL:7.5},bbox:[141.00021,-10.652476,156.019965,-2.500002],geometry:{type:"MultiPolygon",coordinates:[[[[141.033852,-9.117893],[141.017057,-5.859022],[141.00021,-2.600151],[142.735247,-3.289153],[144.583971,-3.861418],[145.27318,-4.373738],[145.829786,-4.876498],[145.981922,-5.465609],[147.648073,-6.083659],[147.891108,-6.614015],[146.970905,-6.721657],[147.191874,-7.388024],[148.084636,-8.044108],[148.734105,-9.104664],[149.306835,-9.071436],[149.266631,-9.514406],[150.038728,-9.684318],[149.738798,-9.872937],[150.801628,-10.293687],[150.690575,-10.582713],[150.028393,-10.652476],[149.78231,-10.393267],[148.923
5138,-10.280923],[147.913018,-10.130441],[147.135443,-9.492444],[146.567881,-8.942555],[146.048481,-8.067414],[144.744168,-7.630128],[143.897088,-7.91533],[143.286376,-8.245491],[143.413913,-8.983069],[142.628431,-9.326821],[142.068259,-9.159596],[141.033852,-9.117893]]],[[[155.880026,-6.819997],[155.599991,-6.919991],[155.166994,-6.535931],[154.729192,-5.900828],[154.514114,-5.139118],[154.652504,-5.042431],[154.759991,-5.339984],[155.062918,-5.566792],[155.547746,-6.200655],[156.019965,-6.540014],[155.880026,-6.819997]]],[[[151.982796,-5.478063],[151.459107,-5.56028],[151.30139,-5.840728],[150.754447,-6.083763],[150.241197,-6.317754],[149.709963,-6.316513],[148.890065,-6.02604],[148.318937,-5.747142],[148.401826,-5.437756],[149.298412,-5.583742],[149.845562,-5.505503],[149.99625,-5.026101],[150.139756,-5.001348],[150.236908,-5.53222],[150.807467,-5.455842],[151.089672,-5.113693],[151.647881,-4.757074],[151.537862,-4.167807],[152.136792,-4.14879],[152.338743,-4.312966],[152.318693,-4.867661],[151.982796,-5.478063]]],[[[153.140038,-4.499983],[152.827292,-4.766427],[152.638673,-4.176127],[152.406026,-3.789743],[151.953237,-3.462062],[151.384279,-3.035422],[150.66205,-2.741486],[150.939965,-2.500002],[151.479984,-2.779985],[151.820015,-2.999972],[152.239989,-3.240009],[152.640017,-3.659983],[153.019994,-3.980015],[153.140038,-4.499983]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Poland",SOV_A3:"POL",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Poland",ADM0_A3:"POL",GEOU_DIF:0,GEOUNIT:"Poland",GU_A3:"POL",SU_DIF:0,SUBUNIT:"Poland",SU_A3:"POL",BRK_DIFF:0,NAME:"Poland",NAME_LONG:"Poland",BRK_A3:"POL",BRK_NAME:"Poland",BRK_GROUP:null,ABBREV:"Pol.",POSTAL:"PL",FORMAL_EN:"Republic of Poland",FORMAL_FR:null,NAME_CIAWF:"Poland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Poland",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:7,MAPCOLOR9:1,MAPCOLOR13:2,POP_EST:38476269,POP_RANK:15,GDP_MD_EST:1052e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"PL",ISO_A2:"PL",ISO_A3:"POL",ISO_A3_EH:"POL",ISO_N3:"616",UN_A3:"616",WB_A2:"PL",WB_A3:"POL",WOE_ID:23424923,WOE_ID_EH:23424923,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"POL",ADM0_A3_US:"POL",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[14.074521,49.027395,24.029986,54.851536],geometry:{type:"Polygon",coordinates:[[[23.484128,53.912498],[23.527536,53.470122],[23.804935,53.089731],[23.799199,52.691099],[23.199494,52.486977],[23.508002,52.023647],[23.527071,51.578454],[24.029986,50.705407],[23.922757,50.424881],[23.426508,50.308506],[22.51845,49.476774],[22.776419,49.027395],[22.558138,49.085738],[21.607808,49.470107],[20.887955,49.328772],[20.415839,49.431453],[19.825023,49.217125],[19.320713,49.571574],[18.909575,49.435846],[18.853144,49.49623],[18.392914,49.988629],[17.649445,50.049038],[17.554567,50.362146],[16.868769,50.473974],[16.719476,50.215747],[16.176253,50.422607],[16.238627,50.697733],[15.490972,50.78473],[15.016996,51.106674],[14.607098,51.745188],[14.685026,52.089947],[14.4376,52.62485],[14.074521,52.981263],[14.353315,53.248171],[14.119686,53.757029],[14.8029,54.050706],[16.363477,54.513159],[17.622832,54.851536],[18.620859,54.682606],[18.696255,54.438719],[19.66064,54.426084],[20.892245,54.312525],[22.731099,54.327537],[23.243987,54.220567],[23.484128,53.912498]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"United States of America",SOV_A3:"US1",ADM0_DIF:1,LEVEL:2,TYPE:"Dependency",ADMIN:"Puerto Rico",ADM0_A3:"PRI",GEOU_DIF:0,GEOUNIT:"Puerto Rico",GU_A3:"PRI",SU_DIF:0,SUBUNIT:"Puerto Rico",SU_A3:"PRI",BRK_DIFF:0,NAME:"Puerto Rico",NAME_LONG:"Puerto Rico",BRK_A3:"PRI",BRK_NAME:"Puerto Rico",BRK_GROUP:null,ABBREV:"P.R.",POSTAL:"PR",FORMAL_EN:"Commonwealth of Puerto Rico",FORMAL_FR:null,NAME_CIAWF:"Puerto Rico",NOTE_ADM0:"Commonwealth of U.S.A.",NOTE_BRK:null,NAME_SORT:"Puerto Rico",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:1,MAPCOLOR13:1,POP_EST:3351827,POP_RANK:12,GDP_MD_EST:131e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"RQ",ISO_A2:"PR",ISO_A3:"PRI",ISO_A3_EH:"PRI",ISO_N3:"630",UN_A3:"630",WB_A2:"PR",WB_A3:"PRI",WOE_ID:23424935,WOE_ID_EH:23424935,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PRI",ADM0_A3_US:"PRI",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:4,TINY:-99,HOMEPART:-99,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-67.242428,17.946553,-65.591004,18.520601],geometry:{type:"Polygon",coordinates:[[[-66.282434,18.514762],[-65.771303,18.426679],[-65.591004,18.228035],[-65.847164,17.975906],[-66.599934,17.981823],[-67.184162,17.946553],[-67.242428,18.37446],[-67.100679,18.520601],[-66.282434,18.514762]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"North Korea",SOV_A3:"PRK",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"North Korea",ADM0_A3:"PRK",GEOU_DIF:0,GEOUNIT:"North Korea",GU_A3:"PRK",SU_DIF:0,SUBUNIT:"North Korea",SU_A3:"PRK",BRK_DIFF:0,NAME:"North Korea",NAME_LONG:"Dem. Rep. Korea",BRK_A3:"PRK",BRK_NAME:"Dem. Rep. Korea",BRK_GROUP:null,ABBREV:"N.K.",POSTAL:"KP",FORMAL_EN:"Democratic People's Republic of Korea",FORMAL_FR:null,NAME_CIAWF:"Korea, North",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Korea, Dem. Rep.",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:5,MAPCOLOR9:3,MAPCOLOR13:9,POP_EST:25248140,POP_RANK:15,GDP_MD_EST:4e4,POP_YEAR:2013,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"KN",ISO_A2:"KP",ISO_A3:"PRK",ISO_A3_EH:"PRK",ISO_N3:"408",UN_A3:"408",WB_A2:"KP",WB_A3:"PRK",WOE_ID:23424865,WOE_ID_EH:23424865,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PRK",ADM0_A3_US:"PRK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:15,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[124.265625,37.669071,130.780007,42.985387],geometry:{type:"MultiPolygon",coordinates:[[[[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.64,42.395024],[130.64,42.395],[130.779992,42.22001],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493]]],[[[130.780005,42.22001],[130.780007,42.220007],[130.780004,42.220008],[130.780005,42.22001]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Portugal",SOV_A3:"PRT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Portugal",ADM0_A3:"PRT",GEOU_DIF:0,GEOUNIT:"Portugal",GU_A3:"PRT",SU_DIF:1,SUBUNIT:"Portugal",SU_A3:"PR1",BRK_DIFF:0,NAME:"Portugal",NAME_LONG:"Portugal",BRK_A3:"PR1",BRK_NAME:"Portugal",BRK_GROUP:null,ABBREV:"Port.",POSTAL:"P",FORMAL_EN:"Portuguese Republic",FORMAL_FR:null,NAME_CIAWF:"Portugal",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Portugal",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:7,MAPCOLOR9:1,MAPCOLOR13:4,POP_EST:10839514,POP_RANK:14,GDP_MD_EST:297100,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"PO",ISO_A2:"PT",ISO_A3:"PRT",ISO_A3_EH:"PRT",ISO_N3:"620",UN_A3:"620",WB_A2:"PT",WB_A3:"PRT",WOE_ID:23424925,WOE_ID_EH:23424925,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PRT",ADM0_A3_US:"PRT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-9.526571,36.838269,-6.389088,42.280469],geometry:{type:"Polygon",coordinates:[[[-9.034818,41.880571],[-8.671946,42.134689],[-8.263857,42.280469],[-8.013175,41.790886],[-7.422513,41.792075],[-7.251309,41.918346],[-6.668606,41.883387],[-6.389088,41.381815],[-6.851127,41.111083],[-6.86402,40.330872],[-7.026413,40.184524],[-7.066592,39.711892],[-7.498632,39.629571],[-7.098037,39.030073],[-7.374092,38.373059],[-7.029281,38.075764],[-7.166
5508,37.803894],[-7.537105,37.428904],[-7.453726,37.097788],[-7.855613,36.838269],[-8.382816,36.97888],[-8.898857,36.868809],[-8.746101,37.651346],[-8.839998,38.266243],[-9.287464,38.358486],[-9.526571,38.737429],[-9.446989,39.392066],[-9.048305,39.755093],[-8.977353,40.159306],[-8.768684,40.760639],[-8.790853,41.184334],[-8.990789,41.543459],[-9.034818,41.880571]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Paraguay",SOV_A3:"PRY",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Paraguay",ADM0_A3:"PRY",GEOU_DIF:0,GEOUNIT:"Paraguay",GU_A3:"PRY",SU_DIF:0,SUBUNIT:"Paraguay",SU_A3:"PRY",BRK_DIFF:0,NAME:"Paraguay",NAME_LONG:"Paraguay",BRK_A3:"PRY",BRK_NAME:"Paraguay",BRK_GROUP:null,ABBREV:"Para.",POSTAL:"PY",FORMAL_EN:"Republic of Paraguay",FORMAL_FR:null,NAME_CIAWF:"Paraguay",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Paraguay",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:6,MAPCOLOR13:2,POP_EST:6943739,POP_RANK:13,GDP_MD_EST:64670,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"PA",ISO_A2:"PY",ISO_A3:"PRY",ISO_A3_EH:"PRY",ISO_N3:"600",UN_A3:"600",WB_A2:"PY",WB_A3:"PRY",WOE_ID:23424917,WOE_ID_EH:23424917,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PRY",ADM0_A3_US:"PRY",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-62.685057,-27.548499,-54.29296,-19.342747],geometry:{type:"Polygon",coordinates:[[[-54.625291,-25.739255],[-54.788795,-26.621786],[-55.695846,-27.387837],[-56.486702,-27.548499],[-57.60976,-27.395899],[-58.618174,-27.123719],[-57.63366,-25.603657],[-57.777217,-25.16234],[-58.807128,-24.771459],[-60.028966,-24.032796],[-60.846565,-23.880713],[-62.685057,-22.249029],[-62.291179,-21.051635],[-62.265961,-20.513735],[-61.786326,-19.633737],[-60.043565,-19.342747],[-59.115042,-19.356906],[-58.183471,-19.868399],[-58.166392,-20.176701],[-57.870674,-20.732688],[-57.937156,-22.090176],[-56.88151,-22.282154],[-56.473317,-22.0863],[-55.797958,-22.35693],[-55.610683,-22.655619],[-55.517639,-23.571998],[-55.400747,-23.956935],[-55.027902,-24.001274],[-54.652834,-23.839578],[-54.29296,-24.021014],[-54.293476,-24.5708],[-54.428946,-25.162185],[-54.625291,-25.739255]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Israel",SOV_A3:"IS1",ADM0_DIF:1,LEVEL:2,TYPE:"Disputed",ADMIN:"Palestine",ADM0_A3:"PSX",GEOU_DIF:0,GEOUNIT:"Palestine",GU_A3:"PSX",SU_DIF:0,SUBUNIT:"Palestine",SU_A3:"PSX",BRK_DIFF:0,NAME:"Palestine",NAME_LONG:"Palestine",BRK_A3:"PSX",BRK_NAME:"Palestine",BRK_GROUP:null,ABBREV:"Pal.",POSTAL:"PAL",FORMAL_EN:"West Bank and Gaza",FORMAL_FR:null,NAME_CIAWF:null,NOTE_ADM0:"Partial self-admin.",NOTE_BRK:"Partial self-admin.",NAME_SORT:"Palestine (West Bank and Gaza)",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:5,MAPCOLOR13:8,POP_EST:4543126,POP_RANK:12,GDP_MD_EST:21220.77,POP_YEAR:2017,LASTCENSUS:2007,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"PS",ISO_A3:"PSE",ISO_A3_EH:"PSE",ISO_N3:"275",UN_A3:"275",WB_A2:"GZ",WB_A3:"WBG",WOE_ID:28289408,WOE_ID_EH:28289408,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"PSE",ADM0_A3_US:"PSX",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:-99,MIN_ZOOM:7,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[34.927408,31.353435,35.545665,32.532511],geometry:{type:"Polygon",coordinates:[[[35.397561,31.489086],[34.927408,31.353435],[34.970507,31.616778],[35.225892,31.754341],[34.974641,31.866582],[35.18393,32.532511],[35.545665,32.393992],[35.545252,31.782505],[35.397561,31.489086]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Qatar",SOV_A3:"QAT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Qatar",ADM0_A3:"QAT",GEOU_DIF:0,GEOUNIT:"Qatar",GU_A3:"QAT",SU_DIF:0,SUBUNIT:"Qatar",SU_A3:"QAT",BRK_DIFF:0,NAME:"Qatar",NAME_LONG:"Qatar",BRK_A3:"QAT",BRK_NAME:"Qatar",BRK_GROUP:null,ABBREV:"Qatar",POSTAL:"QA",FORMAL_EN:"State of Qatar",FORMAL_FR:null,NAME_CIAWF:"Qatar",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Qatar",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:4,POP_EST:2314307,POP_RANK:12,GDP_MD_EST:334500,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"QA",ISO_A2:"QA",ISO_A3:"QAT",ISO_A3_EH:"QAT",ISO_N3:"634",UN_A3:"634",WB_A2:"QA",WB_A3:"QAT",WOE_ID:23424930,WOE_ID_EH:23424930,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"QAT",ADM0_A3_US:"QAT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[50.743911,24.556331,51.6067,26.114582],geometry:{type:"Polygon",coordinates:[[[50.810108,24.754743],[50.743911,25.482424],[51.013352,26.006992],[51.286462,26.114582],[51.589079,25.801113],[51.6067,25.21567],[51.389608,24.627386],[51.112415,24.556331],[50.810108,24.754743]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Romania",SOV_A3:"ROU",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Romania",ADM0_A3:"ROU",GEOU_DIF:0,GEOUNIT:"Romania",GU_A3:"ROU",SU_DIF:0,SUBUNIT:"Romania",SU_A3:"ROU",BRK_DIFF:0,NAME:"Romania",NAME_LONG:"Romania",BRK_A3:"ROU",BRK_NAME:"Romania",BRK_GROUP:null,ABBREV:"Rom.",POSTAL:"RO",FORMAL_EN:"Romania",FORMAL_FR:null,NAME_CIAWF:"Romania",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Romania",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:3,MAPCOLOR13:13,POP_EST:21529967,POP_RANK:15,GDP_MD_EST:441e3,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"RO",ISO_A2:"RO",ISO_A3:"ROU",ISO_A3_EH:"ROU",ISO_N3:"642",UN_A3:"642",WB_A2:"RO",WB_A3:"ROM",WOE_ID:23424933,WOE_ID_EH:23424933,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ROU",ADM0_A3_US:"ROU",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[20.220192,43.688445,29.626543,48.220881],geometry:{type:"Polygon",coordinates:[[[28.558081,43.707462],[27.970107,43.812468],[27.2424,44.175986],[26.065159,43.943494],[25.569272,43.688445],[24.100679,43.741051],[23.332302,43.897011],[22.944832,43.823785],[22.65715,44.234923],[22.474008,44.409228],[22.705726,44.578003],[22.459022,44.702517],[22.145088,44.478422],[21.562023,44.768947],[21.483526,45.18117],[20.874313,45.416375],[20.762175,45.734573],[20.220192,46.127469],[21.021952,46.316088],[21.626515,46.994238],[22.099768,47.672439],[22.710531,47.882194],[23.142236,48.096341],[23.760958,47.985598],[24.402056,47.981878],[24.866317,47.737526],[25.207743,47.891056],[25.945941,47.987149],[26.19745,48.220881],[26.619337,48.220726],[26.924176,48.123264],[27.233873,47.826771],[27.551166,47.405117],[28.12803,46.810476],[28.160018,46.371563],[28.054443,45.944586],[28.233554,45.488283],[28.679779,45.304031],[29.149725,45.464925],[29.603289,45.293308],[29.626543,45.035391],[29.141612,44.82021],[28.837858,44.913874],[28.558081,43.707462]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Russia",SOV_A3:"RUS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Russia",ADM0_A3:"RUS",GEOU_DIF:0,GEOUNIT:"Russia",GU_A3:"RUS",SU_DIF:0,SUBUNIT:"Russia",SU_A3:"RUS",BRK_DIFF:0,NAME:"Russia",NAME_LONG:"Russian Federation",BRK_A3:"RUS",BRK_NAME:"Russia",BRK_GROUP:null,ABBREV:"Rus.",POSTAL:"RUS",FORMAL_EN:"Russian Federation",FORMAL_FR:null,NAME_CIAWF:"Russia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Russian Federation",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:5,MAPCOLOR9:7,MAPCOLOR13:7,POP_EST:142257519,POP_RANK:17,GDP_MD_EST:3745e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"3. Emerging region: BR
5IC",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"RS",ISO_A2:"RU",ISO_A3:"RUS",ISO_A3_EH:"RUS",ISO_N3:"643",UN_A3:"643",WB_A2:"RU",WB_A3:"RUS",WOE_ID:23424936,WOE_ID_EH:23424936,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"RUS",ADM0_A3_US:"RUS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:18,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.2},bbox:[-180,41.151416,180,81.2504],geometry:{type:"MultiPolygon",coordinates:[[[[48.584353,41.808869],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.785992,52.101678],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[27.981127,59.475373],[29.1177,60.02805],[28.070002,60.503519],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.101042,69.558101],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.780005,42.22001],[130.780004,42.220008],[130.78,42.22],[130.779992,42.22001],[130.64,42.395],[130.64,42.395024],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[48.584353,41.808869]]],[[[21.268449,55.190482],[22.315724,55.015299],[22.757764,54.856574],[22.6510
552,54.582741],[22.731099,54.327537],[20.892245,54.312525],[19.66064,54.426084],[19.888481,54.86616],[21.268449,55.190482]]],[[[33.435988,45.971917],[33.699462,46.219573],[34.410402,46.005162],[34.732017,45.965666],[34.861792,45.768182],[35.012659,45.737725],[35.020788,45.651219],[35.510009,45.409993],[36.529998,45.46999],[36.334713,45.113216],[35.239999,44.939996],[33.882511,44.361479],[33.326421,44.564877],[33.546924,45.034771],[32.454174,45.327466],[32.630804,45.519186],[33.588162,45.851569],[33.435988,45.971917]]],[[[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476]]],[[[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.979709],[-180,68.963636],[-177.55,68.2],[-174.92825,67.20589],[-175.01425,66.58435]]],[[[180,70.832199],[178.903425,70.78114],[178.7253,71.0988],[180,71.515714],[180,70.832199]]],[[[-178.69378,70.89302],[-180,70.832199],[-180,71.515714],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244]]],[[[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845],[150.73167,75.08406]]],[[[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625]]],[[[57.535693,70.720464],[56.944979,70.632743],[53.677375,70.762658],[53.412017,71.206662],[51.601895,71.474759],[51.455754,72.014881],[52.478275,72.229442],[52.444169,72.774731],[54.427614,73.627548],[53.50829,73.749814],[55.902459,74.627486],[55.631933,75.081412],[57.868644,75.60939],[61.170044,76.251883],[64.498368,76.439055],[66.210977,76.809782],[68.15706,76.939697],[68.852211,76.544811],[68.180573,76.233642],[64.637326,75.737755],[61.583508,75.260885],[58.477082,74.309056],[56.986786,73.333044],[55.419336,72.371268],[55.622838,71.540595],[57.535693,70.720464]]],[[[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689]]],[[[51.136187,80.54728],[49.793685,80.415428],[48.894411,80.339567],[48.754937,80.175468],[47.586119,80.010181],[46.502826,80.247247],[47.072455,80.559424],[44.846958,80.58981],[46.799139,80.771918],[48.318477,80.78401],[48.522806,80.514569],[49.09719,80.753986],[50.039768,80.918885],[51.522933,80.699726],[51.136187,80.54728]]],[[[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Rwanda",SOV_A3:"RWA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Rwanda",ADM0_A3:"RWA",GEOU_DIF:0,GEOUNIT:"Rwanda",GU_A3:"RWA",SU_DIF:0,SUBUNIT:"Rwanda",SU_A3:"RWA",BRK_DIFF:0,NAME:"Rwanda",NAME_LONG:"Rwanda",BRK_A3:"RWA",BRK_NAME:"Rwanda",BRK_GROUP:null,ABBREV:"Rwa.",POSTAL:"RW",FORMAL_EN:"Republic of Rwanda",FORMAL_FR:null,NAME_CIAWF:"Rwanda",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Rwanda",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:2,MAPCOLOR9:3,MAPCOLOR13:10,POP_EST:11901484,POP_RANK:14,GDP_MD_EST:21970,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"RW",ISO_A2:"RW",ISO_A3:"RWA",ISO_A3_EH:"RWA",ISO_N3:"646",UN_A3:"646",WB_A2:"RW",WB_A3:"RWA",WOE_ID:23424937,WOE_ID_EH:23424937,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"RWA",ADM0_A3_US:"RWA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[29.024926,-2.917858,30.816135,-1.134659],geometry:{type:"Polygon",coordinates:[[[30.469674,-2.413855],[29.938359,-2.348487],[29.632176,-2.917858],[29.024926,-2.839258],[29.117479,-2.292211],[29.254835,-2.21511],[29.291887,-1.620056],[29.579466,-1.341313],[29.821519,-1.443322],[30.419105,-1.134659],[30.816135,-1.698914],[30.758309,-2.28725],[30.46967,-2.41383],[30.469674,-2.413855]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:7,SOVEREIGNT:"Western Sahara",SOV_A3:"SAH",ADM0_DIF:0,LEVEL:2,TYPE:"Indeterminate",ADMIN:"Western Sahara",ADM0_A3:"SAH",GEOU_DIF:0,GEOUNIT:"Western Sahara",GU_A3:"SAH",SU_DIF:0,SUBUNIT:"Western Sahara",SU_A3:"SAH",BRK_DIFF:1,NAME:"W. Sahara",NAME_LONG:"Western Sahara",BRK_A3:"B28",BRK_NAME:"W. Sahara",BRK_GROUP:null,ABBREV:"W. Sah.",POSTAL:"WS",FORMAL_EN:"Sahrawi Arab Democratic Republic",FORMAL_FR:null,NAME_CIAWF:"Western Sahara",NOTE_ADM0:"Self admin.",NOTE_BRK:"Self admin.; Claimed by Morocco",NAME_SORT:"Western Sahara",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:7,MAPCOLOR9:4,MAPCOLOR13:4,POP_EST:603253,POP_RANK:11,GDP_MD_EST:906.5,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2007,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"WI",ISO_A2:"EH",ISO_A3:"ESH",ISO_A3_EH:"ESH",ISO_N3:"732",UN_A3:"732",WB_A2:"-99",WB_A3:"-99",WOE_ID:23424990,WOE_ID_EH:23424990,WOE_
5NOTE:"Exact WOE match as country",ADM0_A3_IS:"MAR",ADM0_A3_US:"SAH",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:9,LONG_LEN:14,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:4.7,MIN_LABEL:6,MAX_LABEL:11},bbox:[-17.063423,20.999752,-8.665124,27.656426],geometry:{type:"Polygon",coordinates:[[[-8.66559,27.656426],[-8.665124,27.589479],[-8.6844,27.395744],[-8.687294,25.881056],[-11.969419,25.933353],[-11.937224,23.374594],[-12.874222,23.284832],[-13.118754,22.77122],[-12.929102,21.327071],[-16.845194,21.333323],[-17.063423,20.999752],[-17.020428,21.42231],[-17.002962,21.420734],[-14.750955,21.5006],[-14.630833,21.86094],[-14.221168,22.310163],[-13.89111,23.691009],[-12.500963,24.770116],[-12.030759,26.030866],[-11.71822,26.104092],[-11.392555,26.883424],[-10.551263,26.990808],[-10.189424,26.860945],[-9.735343,26.860945],[-9.413037,27.088476],[-8.794884,27.120696],[-8.817828,27.656426],[-8.66559,27.656426]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Saudi Arabia",SOV_A3:"SAU",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Saudi Arabia",ADM0_A3:"SAU",GEOU_DIF:0,GEOUNIT:"Saudi Arabia",GU_A3:"SAU",SU_DIF:0,SUBUNIT:"Saudi Arabia",SU_A3:"SAU",BRK_DIFF:0,NAME:"Saudi Arabia",NAME_LONG:"Saudi Arabia",BRK_A3:"SAU",BRK_NAME:"Saudi Arabia",BRK_GROUP:null,ABBREV:"Saud.",POSTAL:"SA",FORMAL_EN:"Kingdom of Saudi Arabia",FORMAL_FR:null,NAME_CIAWF:"Saudi Arabia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Saudi Arabia",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:1,MAPCOLOR9:6,MAPCOLOR13:7,POP_EST:28571770,POP_RANK:15,GDP_MD_EST:1731e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"SA",ISO_A2:"SA",ISO_A3:"SAU",ISO_A3_EH:"SAU",ISO_N3:"682",UN_A3:"682",WB_A2:"SA",WB_A3:"SAU",WOE_ID:23424938,WOE_ID_EH:23424938,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SAU",ADM0_A3_US:"SAU",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:12,LONG_LEN:12,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2.7,MAX_LABEL:7},bbox:[34.632336,16.347891,55.666659,32.161009],geometry:{type:"Polygon",coordinates:[[[51.579519,24.245497],[51.617708,24.014219],[52.000733,23.001154],[55.006803,22.496948],[55.208341,22.70833],[55.666659,22.000001],[54.999982,19.999994],[52.00001,19.000003],[49.116672,18.616668],[48.183344,18.166669],[47.466695,17.116682],[47.000005,16.949999],[46.749994,17.283338],[46.366659,17.233315],[45.399999,17.333335],[45.216651,17.433329],[44.062613,17.410359],[43.791519,17.319977],[43.380794,17.579987],[43.115798,17.08844],[43.218375,16.66689],[42.779332,16.347891],[42.649573,16.774635],[42.347989,17.075806],[42.270888,17.474722],[41.754382,17.833046],[41.221391,18.6716],[40.939341,19.486485],[40.247652,20.174635],[39.801685,20.338862],[39.139399,21.291905],[39.023696,21.986875],[39.066329,22.579656],[38.492772,23.688451],[38.02386,24.078686],[37.483635,24.285495],[37.154818,24.858483],[37.209491,25.084542],[36.931627,25.602959],[36.639604,25.826228],[36.249137,26.570136],[35.640182,27.37652],[35.130187,28.063352],[34.632336,28.058546],[34.787779,28.607427],[34.83222,28.957483],[34.956037,29.356555],[36.068941,29.197495],[36.501214,29.505254],[36.740528,29.865283],[37.503582,30.003776],[37.66812,30.338665],[37.998849,30.5085],[37.002166,31.508413],[39.004886,32.010217],[39.195468,32.161009],[40.399994,31.889992],[41.889981,31.190009],[44.709499,29.178891],[46.568713,29.099025],[47.459822,29.002519],[47.708851,28.526063],[48.416094,28.552004],[48.807595,27.689628],[49.299554,27.461218],[49.470914,27.109999],[50.152422,26.689663],[50.212935,26.277027],[50.113303,25.943972],[50.239859,25.60805],[50.527387,25.327808],[50.660557,24.999896],[50.810108,24.754743],[51.112415,24.556331],[51.389608,24.627386],[51.579519,24.245497]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Sudan",SOV_A3:"SDN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Sudan",ADM0_A3:"SDN",GEOU_DIF:0,GEOUNIT:"Sudan",GU_A3:"SDN",SU_DIF:0,SUBUNIT:"Sudan",SU_A3:"SDN",BRK_DIFF:0,NAME:"Sudan",NAME_LONG:"Sudan",BRK_A3:"SDN",BRK_NAME:"Sudan",BRK_GROUP:null,ABBREV:"Sudan",POSTAL:"SD",FORMAL_EN:"Republic of the Sudan",FORMAL_FR:null,NAME_CIAWF:"Sudan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Sudan",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:6,MAPCOLOR9:4,MAPCOLOR13:1,POP_EST:37345935,POP_RANK:15,GDP_MD_EST:176300,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"SU",ISO_A2:"SD",ISO_A3:"SDN",ISO_A3_EH:"SDN",ISO_N3:"729",UN_A3:"729",WB_A2:"SD",WB_A3:"SDN",WOE_ID:-90,WOE_ID_EH:23424952,WOE_NOTE:"Almost all FLickr photos are in the north.",ADM0_A3_IS:"SDN",ADM0_A3_US:"SDN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[21.93681,8.229188,38.41009,22],geometry:{type:"Polygon",coordinates:[[[24.567369,8.229188],[23.805813,8.666319],[23.459013,8.954286],[23.394779,9.265068],[23.55725,9.681218],[23.554304,10.089255],[22.977544,10.714463],[22.864165,11.142395],[22.87622,11.38461],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.58818],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795,14.94429],[23.02459,15.68072],[23.88689,15.61084],[23.83766,19.58047],[23.85,20],[25,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.18872,21.01885],[36.96941,20.83744],[37.1147,19.80796],[37.48179,18.61409],[37.86276,18.36786],[38.41009,17.998307],[37.904,17.42754],[37.16747,17.26314],[36.85253,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.56333],[35.86363,12.57828],[35.26049,12.08286],[34.83163,11.31896],[34.73115,10.91017],[34.25745,10.63009],[33.96162,9.58358],[33.97498,8.68456],[33.963393,9.464285],[33.824963,9.484061],[33.842131,9.981915],[33.721959,10.325262],[33.206938,10.720112],[33.086766,11.441141],[33.206938,12.179338],[32.743419,12.248008],[32.67475,12.024832],[32.073892,11.97333],[32.314235,11.681484],[32.400072,11.080626],[31.850716,10.531271],[31.352862,9.8
510241],[30.837841,9.707237],[29.996639,10.290927],[29.618957,10.084919],[29.515953,9.793074],[29.000932,9.604232],[28.966597,9.398224],[27.97089,9.398224],[27.833551,9.604232],[27.112521,9.638567],[26.752006,9.466893],[26.477328,9.55273],[25.962307,10.136421],[25.790633,10.411099],[25.069604,10.27376],[24.794926,9.810241],[24.537415,8.917538],[24.194068,8.728696],[23.88698,8.61973],[24.567369,8.229188]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"South Sudan",SOV_A3:"SDS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"South Sudan",ADM0_A3:"SDS",GEOU_DIF:0,GEOUNIT:"South Sudan",GU_A3:"SDS",SU_DIF:0,SUBUNIT:"South Sudan",SU_A3:"SDS",BRK_DIFF:0,NAME:"S. Sudan",NAME_LONG:"South Sudan",BRK_A3:"SDS",BRK_NAME:"S. Sudan",BRK_GROUP:null,ABBREV:"S. Sud.",POSTAL:"SS",FORMAL_EN:"Republic of South Sudan",FORMAL_FR:null,NAME_CIAWF:"South Sudan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"South Sudan",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:3,MAPCOLOR9:3,MAPCOLOR13:5,POP_EST:13026129,POP_RANK:14,GDP_MD_EST:20880,POP_YEAR:2017,LASTCENSUS:2008,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"SS",ISO_A3:"SSD",ISO_A3_EH:"SSD",ISO_N3:"728",UN_A3:"728",WB_A2:"SS",WB_A3:"SSD",WOE_ID:-99,WOE_ID_EH:-99,WOE_NOTE:"Includes states of 20069899, 20069897, 20069898, 20069901, 20069909, and 20069908 but maybe more?",ADM0_A3_IS:"SSD",ADM0_A3_US:"SDS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:11,ABBREV_LEN:7,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[23.88698,3.509172,35.298007,12.248008],geometry:{type:"Polygon",coordinates:[[[27.374226,5.233944],[27.213409,5.550953],[26.465909,5.946717],[26.213418,6.546603],[25.796648,6.979316],[25.124131,7.500085],[25.114932,7.825104],[24.567369,8.229188],[23.88698,8.61973],[24.194068,8.728696],[24.537415,8.917538],[24.794926,9.810241],[25.069604,10.27376],[25.790633,10.411099],[25.962307,10.136421],[26.477328,9.55273],[26.752006,9.466893],[27.112521,9.638567],[27.833551,9.604232],[27.97089,9.398224],[28.966597,9.398224],[29.000932,9.604232],[29.515953,9.793074],[29.618957,10.084919],[29.996639,10.290927],[30.837841,9.707237],[31.352862,9.810241],[31.850716,10.531271],[32.400072,11.080626],[32.314235,11.681484],[32.073892,11.97333],[32.67475,12.024832],[32.743419,12.248008],[33.206938,12.179338],[33.086766,11.441141],[33.206938,10.720112],[33.721959,10.325262],[33.842131,9.981915],[33.824963,9.484061],[33.963393,9.464285],[33.97498,8.68456],[33.8255,8.37916],[33.2948,8.35458],[32.95418,7.78497],[33.56829,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.59422],[35.298007,5.506],[34.620196,4.847123],[34.005,4.249885],[33.39,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.833852,3.509172],[29.9535,4.173699],[29.715995,4.600805],[29.159078,4.389267],[28.696678,4.455077],[28.428994,4.287155],[27.979977,4.408413],[27.374226,5.233944]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Senegal",SOV_A3:"SEN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Senegal",ADM0_A3:"SEN",GEOU_DIF:0,GEOUNIT:"Senegal",GU_A3:"SEN",SU_DIF:0,SUBUNIT:"Senegal",SU_A3:"SEN",BRK_DIFF:0,NAME:"Senegal",NAME_LONG:"Senegal",BRK_A3:"SEN",BRK_NAME:"Senegal",BRK_GROUP:null,ABBREV:"Sen.",POSTAL:"SN",FORMAL_EN:"Republic of Senegal",FORMAL_FR:null,NAME_CIAWF:"Senegal",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Senegal",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:6,MAPCOLOR9:5,MAPCOLOR13:5,POP_EST:14668522,POP_RANK:14,GDP_MD_EST:39720,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"SG",ISO_A2:"SN",ISO_A3:"SEN",ISO_A3_EH:"SEN",ISO_N3:"686",UN_A3:"686",WB_A2:"SN",WB_A3:"SEN",WOE_ID:23424943,WOE_ID_EH:23424943,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SEN",ADM0_A3_US:"SEN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-17.625043,12.33209,-11.467899,16.598264],geometry:{type:"Polygon",coordinates:[[[-11.513943,12.442988],[-11.658301,12.386583],[-12.203565,12.465648],[-12.278599,12.35444],[-12.499051,12.33209],[-13.217818,12.575874],[-13.700476,12.586183],[-15.548477,12.62817],[-15.816574,12.515567],[-16.147717,12.547762],[-16.677452,12.384852],[-16.841525,13.151394],[-15.931296,13.130284],[-15.691001,13.270353],[-15.511813,13.27857],[-15.141163,13.509512],[-14.712197,13.298207],[-14.277702,13.280585],[-13.844963,13.505042],[-14.046992,13.794068],[-14.376714,13.62568],[-14.687031,13.630357],[-15.081735,13.876492],[-15.39877,13.860369],[-15.624596,13.623587],[-16.713729,13.594959],[-17.126107,14.373516],[-17.625043,14.729541],[-17.185173,14.919477],[-16.700706,15.621527],[-16.463098,16.135036],[-16.12069,16.455663],[-15.623666,16.369337],[-15.135737,16.587282],[-14.577348,16.598264],[-14.099521,16.304302],[-13.435738,16.039383],[-12.830658,15.303692],[-12.17075,14.616834],[-12.124887,13.994727],[-11.927716,13.422075],[-11.553398,13.141214],[-11.467899,12.754519],[-11.513943,12.442988]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Solomon Islands",SOV_A3:"SLB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Solomon Islands",ADM0_A3:"SLB",GEOU_DIF:0,GEOUNIT:"Solomon Islands",GU_A3:"SLB",SU_DIF:0,SUBUNIT:"Solomon Islands",SU_A3:"SLB",BRK_DIFF:0,NAME:"Solomon Is.",NAME_LONG:"Solomon Islands",BRK_A3:"SLB",BRK_NAME:"Solomon Is.",BRK_GROUP:null,ABBREV:"S. Is.",POSTAL:"SB",FORMAL_EN:null,FORMAL_FR:null,NAME_CIAWF:"Solomon Islands",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Solomon Islands",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:6,POP_EST:647581,POP_RANK:11,GDP_MD_EST:1198,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"BP",ISO_A2:"S
5B",ISO_A3:"SLB",ISO_A3_EH:"SLB",ISO_N3:"090",UN_A3:"090",WB_A2:"SB",WB_A3:"SLB",WOE_ID:23424766,WOE_ID_EH:23424766,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SLB",ADM0_A3_US:"SLB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Melanesia",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:15,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[156.491358,-10.826367,162.398646,-6.599338],geometry:{type:"MultiPolygon",coordinates:[[[[162.119025,-10.482719],[162.398646,-10.826367],[161.700032,-10.820011],[161.319797,-10.204751],[161.917383,-10.446701],[162.119025,-10.482719]]],[[[160.852229,-9.872937],[160.462588,-9.89521],[159.849447,-9.794027],[159.640003,-9.63998],[159.702945,-9.24295],[160.362956,-9.400304],[160.688518,-9.610162],[160.852229,-9.872937]]],[[[161.679982,-9.599982],[161.529397,-9.784312],[160.788253,-8.917543],[160.579997,-8.320009],[160.920028,-8.320009],[161.280006,-9.120011],[161.679982,-9.599982]]],[[[159.875027,-8.33732],[159.917402,-8.53829],[159.133677,-8.114181],[158.586114,-7.754824],[158.21115,-7.421872],[158.359978,-7.320018],[158.820001,-7.560003],[159.640003,-8.020027],[159.875027,-8.33732]]],[[[157.538426,-7.34782],[157.33942,-7.404767],[156.90203,-7.176874],[156.491358,-6.765943],[156.542828,-6.599338],[157.14,-7.021638],[157.538426,-7.34782]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Sierra Leone",SOV_A3:"SLE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Sierra Leone",ADM0_A3:"SLE",GEOU_DIF:0,GEOUNIT:"Sierra Leone",GU_A3:"SLE",SU_DIF:0,SUBUNIT:"Sierra Leone",SU_A3:"SLE",BRK_DIFF:0,NAME:"Sierra Leone",NAME_LONG:"Sierra Leone",BRK_A3:"SLE",BRK_NAME:"Sierra Leone",BRK_GROUP:null,ABBREV:"S.L.",POSTAL:"SL",FORMAL_EN:"Republic of Sierra Leone",FORMAL_FR:null,NAME_CIAWF:"Sierra Leone",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Sierra Leone",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:1,MAPCOLOR13:7,POP_EST:6163195,POP_RANK:13,GDP_MD_EST:10640,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"SL",ISO_A2:"SL",ISO_A3:"SLE",ISO_A3_EH:"SLE",ISO_N3:"694",UN_A3:"694",WB_A2:"SL",WB_A3:"SLE",WOE_ID:23424946,WOE_ID_EH:23424946,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SLE",ADM0_A3_US:"SLE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:12,LONG_LEN:12,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-13.24655,6.785917,-10.230094,10.046984],geometry:{type:"Polygon",coordinates:[[[-13.24655,8.903049],[-12.711958,9.342712],[-12.596719,9.620188],[-12.425929,9.835834],[-12.150338,9.858572],[-11.917277,10.046984],[-11.117481,10.045873],[-10.839152,9.688246],[-10.622395,9.26791],[-10.65477,8.977178],[-10.494315,8.715541],[-10.505477,8.348896],[-10.230094,8.406206],[-10.695595,7.939464],[-11.146704,7.396706],[-11.199802,7.105846],[-11.438779,6.785917],[-11.708195,6.860098],[-12.428099,7.262942],[-12.949049,7.798646],[-13.124025,8.163946],[-13.24655,8.903049]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"El Salvador",SOV_A3:"SLV",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"El Salvador",ADM0_A3:"SLV",GEOU_DIF:0,GEOUNIT:"El Salvador",GU_A3:"SLV",SU_DIF:0,SUBUNIT:"El Salvador",SU_A3:"SLV",BRK_DIFF:0,NAME:"El Salvador",NAME_LONG:"El Salvador",BRK_A3:"SLV",BRK_NAME:"El Salvador",BRK_GROUP:null,ABBREV:"El. S.",POSTAL:"SV",FORMAL_EN:"Republic of El Salvador",FORMAL_FR:null,NAME_CIAWF:"El Salvador",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"El Salvador",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:6,MAPCOLOR13:8,POP_EST:6172011,POP_RANK:13,GDP_MD_EST:54790,POP_YEAR:2017,LASTCENSUS:2007,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"ES",ISO_A2:"SV",ISO_A3:"SLV",ISO_A3_EH:"SLV",ISO_N3:"222",UN_A3:"222",WB_A2:"SV",WB_A3:"SLV",WOE_ID:23424807,WOE_ID_EH:23424807,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SLV",ADM0_A3_US:"SLV",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Central America",REGION_WB:"Latin America & Caribbean",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[-90.095555,13.149017,-87.723503,14.424133],geometry:{type:"Polygon",coordinates:[[[-90.095555,13.735338],[-90.064678,13.88197],[-89.721934,14.134228],[-89.534219,14.244816],[-89.587343,14.362586],[-89.353326,14.424133],[-89.058512,14.340029],[-88.843073,14.140507],[-88.541231,13.980155],[-88.503998,13.845486],[-88.065343,13.964626],[-87.859515,13.893312],[-87.723503,13.78505],[-87.793111,13.38448],[-87.904112,13.149017],[-88.483302,13.163951],[-88.843228,13.259734],[-89.256743,13.458533],[-89.812394,13.520622],[-90.095555,13.735338]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Somaliland",SOV_A3:"SOL",ADM0_DIF:0,LEVEL:2,TYPE:"Indeterminate",ADMIN:"Somaliland",ADM0_A3:"SOL",GEOU_DIF:0,GEOUNIT:"Somaliland",GU_A3:"SOL",SU_DIF:0,SUBUNIT:"Somaliland",SU_A3:"SOL",BRK_DIFF:1,NAME:"Somaliland",NAME_LONG:"Somaliland",BRK_A3:"B30",BRK_NAME:"Somaliland",BRK_GROUP:null,ABBREV:"Solnd.",POSTAL:"SL",FORMAL_EN:"Republic of Somaliland",FORMAL_FR:null,NAME_CIAWF:null,NOTE_ADM0:"Self admin.",NOTE_BRK:"Self admin.; Claimed by Somalia",NAME_SORT:"Somaliland",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:5,MAPCOLOR13:2,POP_EST:35e5,POP_RANK:12,GDP_MD_EST:12250,POP_YEAR:2013,LASTCENSUS:-99,GDP_YEAR:2013,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"-99",ISO_A2:"-99",ISO_A3:"-99",ISO_A3_EH:"-99",ISO_N3:"-99",UN_A3:"-099",WB_A2:"-99",WB_A3:"-99",WOE_ID:-99,WOE_ID_EH:-99,WOE_NOTE:"Includes old states of 2347021, 2347020, 2347017 and portion of 2347016.",ADM0_A3_IS:"SOM",ADM0_A3_US:"SOM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:4,MIN_LABEL:4.5,MAX_LABEL:9},bbox:[42.55876,7.99688,48.948206,11.46204],geometry:{type:"Polygon",coordinates:[[[42.776852,10.926879],[43.145305,11.46204],[43.47066,11.27771],[43.666668,10.864169],[44.117804,10.445538],[44.614259,10.442205],[45.556941,10.698029],[46.645401,10.816549],[47.525658,11.
5127228],[48.021596,11.193064],[48.378784,11.375482],[48.948206,11.410622],[48.948205,11.410617],[48.948205,11.410617],[48.942005,11.394266],[48.938491,10.982327],[48.938233,9.9735],[48.93813,9.451749],[48.486736,8.837626],[47.78942,8.003],[46.94834,7.99688],[43.67875,9.18358],[43.29699,9.54048],[42.92812,10.02194],[42.55876,10.57258],[42.776852,10.926879]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Somalia",SOV_A3:"SOM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Somalia",ADM0_A3:"SOM",GEOU_DIF:0,GEOUNIT:"Somalia",GU_A3:"SOM",SU_DIF:0,SUBUNIT:"Somalia",SU_A3:"SOM",BRK_DIFF:0,NAME:"Somalia",NAME_LONG:"Somalia",BRK_A3:"SOM",BRK_NAME:"Somalia",BRK_GROUP:null,ABBREV:"Som.",POSTAL:"SO",FORMAL_EN:"Federal Republic of Somalia",FORMAL_FR:null,NAME_CIAWF:"Somalia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Somalia",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:8,MAPCOLOR9:6,MAPCOLOR13:7,POP_EST:7531386,POP_RANK:13,GDP_MD_EST:4719,POP_YEAR:2017,LASTCENSUS:1987,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"SO",ISO_A2:"SO",ISO_A3:"SOM",ISO_A3_EH:"SOM",ISO_N3:"706",UN_A3:"706",WB_A2:"SO",WB_A3:"SOM",WOE_ID:-90,WOE_ID_EH:23424949,WOE_NOTE:"Includes Somaliland (2347021, 2347020, 2347017 and portion of 2347016)",ADM0_A3_IS:"SOM",ADM0_A3_US:"SOM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[40.98105,-1.68325,51.13387,12.02464],geometry:{type:"Polygon",coordinates:[[[41.855083,3.918912],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[48.486736,8.837626],[48.93813,9.451749],[48.938233,9.9735],[48.938491,10.982327],[48.942005,11.394266],[48.948205,11.410617],[48.948205,11.410617],[49.26776,11.43033],[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,.2922],[42.04157,-.91916],[41.81095,-1.44647],[41.58513,-1.68325],[40.993,-.85829],[40.98105,2.78452],[41.855083,3.918912]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Republic of Serbia",SOV_A3:"SRB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Republic of Serbia",ADM0_A3:"SRB",GEOU_DIF:0,GEOUNIT:"Republic of Serbia",GU_A3:"SRB",SU_DIF:0,SUBUNIT:"Republic of Serbia",SU_A3:"SRB",BRK_DIFF:0,NAME:"Serbia",NAME_LONG:"Serbia",BRK_A3:"SRB",BRK_NAME:"Serbia",BRK_GROUP:null,ABBREV:"Serb.",POSTAL:"RS",FORMAL_EN:"Republic of Serbia",FORMAL_FR:null,NAME_CIAWF:"Serbia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Serbia",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:3,MAPCOLOR9:2,MAPCOLOR13:10,POP_EST:7111024,POP_RANK:13,GDP_MD_EST:101800,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"RI",ISO_A2:"RS",ISO_A3:"SRB",ISO_A3_EH:"SRB",ISO_N3:"688",UN_A3:"688",WB_A2:"YF",WB_A3:"SRB",WOE_ID:-90,WOE_ID_EH:20069818,WOE_NOTE:"Expired WOE also contains Kosovo.",ADM0_A3_IS:"SRB",ADM0_A3_US:"SRB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:7},bbox:[18.829825,42.245224,22.986019,46.17173],geometry:{type:"Polygon",coordinates:[[[22.65715,44.234923],[22.410446,44.008063],[22.500157,43.642814],[22.986019,43.211161],[22.604801,42.898519],[22.436595,42.580321],[22.545012,42.461362],[22.380526,42.32026],[21.91708,42.30364],[21.576636,42.245224],[21.54332,42.32025],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.068685],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21378],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.5681],[19.59976,44.03847],[19.11761,44.42307],[19.36803,44.863],[19.00548,44.86023],[19.005485,44.860234],[19.390476,45.236516],[19.072769,45.521511],[18.829825,45.908872],[18.829838,45.908878],[19.596045,46.17173],[20.220192,46.127469],[20.762175,45.734573],[20.874313,45.416375],[21.483526,45.18117],[21.562023,44.768947],[22.145088,44.478422],[22.459022,44.702517],[22.705726,44.578003],[22.474008,44.409228],[22.65715,44.234923]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Suriname",SOV_A3:"SUR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Suriname",ADM0_A3:"SUR",GEOU_DIF:0,GEOUNIT:"Suriname",GU_A3:"SUR",SU_DIF:0,SUBUNIT:"Suriname",SU_A3:"SUR",BRK_DIFF:0,NAME:"Suriname",NAME_LONG:"Suriname",BRK_A3:"SUR",BRK_NAME:"Suriname",BRK_GROUP:null,ABBREV:"Sur.",POSTAL:"SR",FORMAL_EN:"Republic of Suriname",FORMAL_FR:null,NAME_CIAWF:"Suriname",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Suriname",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:7,MAPCOLOR13:6,POP_EST:591919,POP_RANK:11,GDP_MD_EST:8547,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"NS",ISO_A2:"SR",ISO_A3:"SUR",ISO_A3_EH:"SUR",ISO_N3:"740",UN_A3:"740",WB_A2:"SR",WB_A3:"SUR",WOE_ID:23424913,WOE_ID_EH:23424913,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SUR",ADM0_A3_US:"SUR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[-58.044694,1.817667,-53.958045,6.025291],geometry:{type:"Polygon",coordinates:[[[-54.524754,2.311849],[-55.097587,2.523748],[-55.569755,2.421506],[-55.973322,2.510364],[-56.073342,2.220795],[-55.9056,2.021996],[-55.995698,1.817667],[-56.539386,1.899523],[-57.150098,2.768927],[-57.281433,3.333492],[-57.601569,3.334655],[-58.044694,4.060864],[-57.86021,4.576801],[-57.914289,4.812626],[-57.307246,5.073567],[-57.147436,5.97315],[
5-55.949318,5.772878],[-55.84178,5.953125],[-55.03325,6.025291],[-53.958045,5.756548],[-54.478633,4.896756],[-54.399542,4.212611],[-54.011504,3.62257],[-54.184284,3.194172],[-54.27123,2.738748],[-54.524754,2.311849]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Slovakia",SOV_A3:"SVK",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Slovakia",ADM0_A3:"SVK",GEOU_DIF:0,GEOUNIT:"Slovakia",GU_A3:"SVK",SU_DIF:0,SUBUNIT:"Slovakia",SU_A3:"SVK",BRK_DIFF:0,NAME:"Slovakia",NAME_LONG:"Slovakia",BRK_A3:"SVK",BRK_NAME:"Slovakia",BRK_GROUP:null,ABBREV:"Svk.",POSTAL:"SK",FORMAL_EN:"Slovak Republic",FORMAL_FR:null,NAME_CIAWF:"Slovakia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Slovak Republic",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:4,MAPCOLOR9:4,MAPCOLOR13:9,POP_EST:5445829,POP_RANK:13,GDP_MD_EST:168800,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"LO",ISO_A2:"SK",ISO_A3:"SVK",ISO_A3_EH:"SVK",ISO_N3:"703",UN_A3:"703",WB_A2:"SK",WB_A3:"SVK",WOE_ID:23424877,WOE_ID_EH:23424877,WOE_
5NOTE:"Exact WOE match as country",ADM0_A3_IS:"SVK",ADM0_A3_US:"SVK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[16.879983,47.758429,22.558138,49.571574],geometry:{type:"Polygon",coordinates:[[[16.979667,48.123497],[16.879983,48.470013],[16.960288,48.596982],[17.101985,48.816969],[17.545007,48.800019],[17.886485,48.903475],[17.913512,48.996493],[18.104973,49.043983],[18.170498,49.271515],[18.399994,49.315001],[18.554971,49.495015],[18.853144,49.49623],[18.909575,49.435846],[19.320713,49.571574],[19.825023,49.217125],[20.415839,49.431453],[20.887955,49.328772],[21.607808,49.470107],[22.558138,49.085738],[22.280842,48.825392],[22.085608,48.422264],[21.872236,48.319971],[20.801294,48.623854],[20.473562,48.56285],[20.239054,48.327567],[19.769471,48.202691],[19.661364,48.266615],[19.174365,48.111379],[18.777025,48.081768],[18.696513,47.880954],[17.857133,47.758429],[17.488473,47.867466],[16.979667,48.123497]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Slovenia",SOV_A3:"SVN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Slovenia",ADM0_A3:"SVN",GEOU_DIF:0,GEOUNIT:"Slovenia",GU_A3:"SVN",SU_DIF:0,SUBUNIT:"Slovenia",SU_A3:"SVN",BRK_DIFF:0,NAME:"Slovenia",NAME_LONG:"Slovenia",BRK_A3:"SVN",BRK_NAME:"Slovenia",BRK_GROUP:null,ABBREV:"Slo.",POSTAL:"SLO",FORMAL_EN:"Republic of Slovenia",FORMAL_FR:null,NAME_CIAWF:"Slovenia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Slovenia",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:3,MAPCOLOR9:2,MAPCOLOR13:12,POP_EST:1972126,POP_RANK:12,GDP_MD_EST:68350,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"SI",ISO_A2:"SI",ISO_A3:"SVN",ISO_A3_EH:"SVN",ISO_N3:"705",UN_A3:"705",WB_A2:"SI",WB_A3:"SVN",WOE_ID:23424945,WOE_ID_EH:23424945,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SVN",ADM0_A3_US:"SVN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Southern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[13.69811,45.452316,16.564808,46.852386],geometry:{type:"Polygon",coordinates:[[[13.806475,46.509306],[14.632472,46.431817],[15.137092,46.658703],[16.011664,46.683611],[16.202298,46.852386],[16.370505,46.841327],[16.564808,46.503751],[15.768733,46.238108],[15.67153,45.834154],[15.323954,45.731783],[15.327675,45.452316],[14.935244,45.471695],[14.595109,45.634941],[14.411968,45.466166],[13.71506,45.500324],[13.93763,45.591016],[13.69811,46.016778],[13.806475,46.509306]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Sweden",SOV_A3:"SWE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Sweden",ADM0_A3:"SWE",GEOU_DIF:0,GEOUNIT:"Sweden",GU_A3:"SWE",SU_DIF:0,SUBUNIT:"Sweden",SU_A3:"SWE",BRK_DIFF:0,NAME:"Sweden",NAME_LONG:"Sweden",BRK_A3:"SWE",BRK_NAME:"Sweden",BRK_GROUP:null,ABBREV:"Swe.",POSTAL:"S",FORMAL_EN:"Kingdom of Sweden",FORMAL_FR:null,NAME_CIAWF:"Sweden",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Sweden",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:4,MAPCOLOR9:2,MAPCOLOR13:4,POP_EST:9960487,POP_RANK:13,GDP_MD_EST:498100,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:-99,FIPS_10_:"SW",ISO_A2:"SE",ISO_A3:"SWE",ISO_A3_EH:"SWE",ISO_N3:"752",UN_A3:"752",WB_A2:"SE",WB_A3:"SWE",WOE_ID:23424954,WOE_ID_EH:23424954,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SWE",ADM0_A3_US:"SWE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Northern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[11.027369,55.361737,23.903379,69.106247],geometry:{type:"Polygon",coordinates:[[[20.645593,69.106247],[21.978535,68.616846],[23.539473,67.936009],[23.56588,66.396051],[23.903379,66.006927],[22.183
5173,65.723741],[21.213517,65.026005],[21.369631,64.413588],[19.778876,63.609554],[17.847779,62.7494],[17.119555,61.341166],[17.831346,60.636583],[18.787722,60.081914],[17.869225,58.953766],[16.829185,58.719827],[16.44771,57.041118],[15.879786,56.104302],[14.666681,56.200885],[14.100721,55.407781],[12.942911,55.361737],[12.625101,56.30708],[11.787942,57.441817],[11.027369,58.856149],[11.468272,59.432393],[12.300366,60.117933],[12.631147,61.293572],[11.992064,61.800362],[11.930569,63.128318],[12.579935,64.066219],[13.571916,64.049114],[13.919905,64.445421],[13.55569,64.787028],[15.108411,66.193867],[16.108712,67.302456],[16.768879,68.013937],[17.729182,68.010552],[17.993868,68.567391],[19.87856,68.407194],[20.025269,69.065139],[20.645593,69.106247]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Swaziland",SOV_A3:"SWZ",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Swaziland",ADM0_A3:"SWZ",GEOU_DIF:0,GEOUNIT:"Swaziland",GU_A3:"SWZ",SU_DIF:0,SUBUNIT:"Swaziland",SU_A3:"SWZ",BRK_DIFF:0,NAME:"Swaziland",NAME_LONG:"Swaziland",BRK_A3:"SWZ",BRK_NAME:"Swaziland",BRK_GROUP:null,ABBREV:"Swz.",POSTAL:"SW",FORMAL_EN:"Kingdom of Swaziland",FORMAL_FR:null,NAME_CIAWF:"Swaziland",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Swaziland",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:5,POP_EST:1467152,POP_RANK:12,GDP_MD_EST:11060,POP_YEAR:2017,LASTCENSUS:2007,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"WZ",ISO_A2:"SZ",ISO_A3:"SWZ",ISO_A3_EH:"SWZ",ISO_N3:"748",UN_A3:"748",WB_A2:"SZ",WB_A3:"SWZ",WOE_ID:23424993,WOE_ID_EH:23424993,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SWZ",ADM0_A3_US:"SWZ",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Southern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[30.676609,-27.285879,32.071665,-25.660191],geometry:{type:"Polygon",coordinates:[[[31.837778,-25.843332],[31.985779,-26.29178],[32.071665,-26.73382],[31.86806,-27.177927],[31.282773,-27.285879],[30.685962,-26.743845],[30.676609,-26.398078],[30.949667,-26.022649],[31.04408,-25.731452],[31.333158,-25.660191],[31.837778,-25.843332]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Syria",SOV_A3:"SYR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Syria",ADM0_A3:"SYR",GEOU_DIF:0,GEOUNIT:"Syria",GU_A3:"SYR",SU_DIF:0,SUBUNIT:"Syria",SU_A3:"SYR",BRK_DIFF:0,NAME:"Syria",NAME_LONG:"Syria",BRK_A3:"SYR",BRK_NAME:"Syria",BRK_GROUP:null,ABBREV:"Syria",POSTAL:"SYR",FORMAL_EN:"Syrian Arab Republic",FORMAL_FR:null,NAME_CIAWF:"Syria",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Syrian Arab Republic",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:6,POP_EST:18028549,POP_RANK:14,GDP_MD_EST:50280,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2015,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"SY",ISO_A2:"SY",ISO_A3:"SYR",ISO_A3_EH:"SYR",ISO_N3:"760",UN_A3:"760",WB_A2:"SY",WB_A3:"SYR",WOE_ID:23424956,WOE_ID_EH:23424956,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"SYR",ADM0_A3_US:"SYR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[35.700798,32.312938,42.349591,37.229873],geometry:{type:"Polygon",coordinates:[[[42.349591,37.229873],[41.837064,36.605854],[41.289707,36.358815],[41.383965,35.628317],[41.006159,34.419372],[38.792341,33.378686],[36.834062,32.312938],[35.719918,32.709192],[35.700798,32.716014],[35.836397,32.868123],[35.821101,33.277426],[36.06646,33.824912],[36.61175,34.201789],[36.448194,34.593935],[35.998403,34.644914],[35.905023,35.410009],[36.149763,35.821535],[36.41755,36.040617],[36.685389,36.259699],[36.739494,36.81752],[37.066761,36.623036],[38.167727,36.90121],[38.699891,36.712927],[39.52258,36.716054],[40.673259,37.091276],[41.212089,37.074352],[42.349591,37.229873]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Chad",SOV_A3:"TCD",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Chad",ADM0_A3:"TCD",GEOU_DIF:0,GEOUNIT:"Chad",GU_A3:"TCD",SU_DIF:0,SUBUNIT:"Chad",SU_A3:"TCD",BRK_DIFF:0,NAME:"Chad",NAME_LONG:"Chad",BRK_A3:"TCD",BRK_NAME:"Chad",BRK_GROUP:null,ABBREV:"Chad",POSTAL:"TD",FORMAL_EN:"Republic of Chad",FORMAL_FR:null,NAME_CIAWF:"Chad",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Chad",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:1,MAPCOLOR9:8,MAPCOLOR13:6,POP_EST:12075985,POP_RANK:14,GDP_MD_EST:30590,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"CD",ISO_A2:"TD",ISO_A3:"TCD",ISO_A3_EH:"TCD",ISO_N3:"148",UN_A3:"148",WB_A2:"TD",WB_A3:"TCD",WOE_ID:23424777,WOE_ID_EH:23424777,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TCD",ADM0_A3_US:"TCD",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Middle Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[13.540394,7.421925,23.88689,23.40972],geometry:{type:"Polygon",coordinates:[[[22.864165,11.142395],[22.231129,10.971889],[21.723822,10.567056],[21.000868,9.475985],[20.059685,9.012706],[19.094008,9.074847],[18.81201,8.982915],[18.911022,8.630895],[18.389555,8.281304],[17.96493,7.890914],[16.705988,7.508328],[16.456185,7.734774],[16.290562,7.754307],[16.106232,7.497088],[15.27946,7.421925],[15.436092,7.692812],[15.120866,8.38215],[14.979996,8.796104],[14.544467,8.965861],[13.954218,9.549495],[14.171466,10.021378],[14.627201,9.920919],[14.909354,9.992129],[15.467873,9.982337],[14.923565,10.891325],[14.960152,11.555574],[14.89336,12.21905],[14.495787,12.859396],[14.595781,13.330427],[13.954477,13.353449],[13.956699,13.996691],[13.540394,14.367134],[13.97217,15.68437],[15.247731,16.627306],[15.300441,17.92795],[15.685741,19.95718],[15.903247,20.387619],[15.487148,20.730415],[15.47106,21.04845],[15.096888,21.308519],[14.8513,22.86295],[15.86085,23.40972],[19.84926,21.49509],[23.83766,19.58047],[23.88689,15.61084],[23.02459,15.68072],[22.56795,14.94429],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.58818],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.38461],[22.864165,11.142395]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:6,SOVEREIGNT:"Togo",SOV_A3:"TGO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Togo",ADM0_A3:"TGO",GEOU_DIF:0,GEOUNIT:"Togo",GU_A3:"TGO",SU_DIF:0,SUBUNIT:"Togo",SU_A3:"TGO",BRK_DIFF:0,NAME:"Togo",NAME_LONG:"Togo",BRK_A3:"TGO",BRK_NAME:"Togo",BRK_GROUP:null,ABBREV:"Togo",POSTAL:"TG",FORMAL_EN:"Togolese Republic",FORMAL_FR:"République Togolaise",NAME_CIAWF:"Togo",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Togo",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:1,MAPCOLOR9:3,MAPCOLOR13:5,POP_EST:7965055,POP_RANK:13,GDP_MD_EST:11610,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"TO",ISO_A2:"TG",ISO_A3:"TGO",ISO_A3_EH:"TGO",ISO_N3:"768",UN_A3:"768",WB_A2:"TG",WB_A3:"TGO",WOE_ID:23424965,WOE_ID_EH:23424965,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TGO",ADM0_A3_US:"TGO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Western Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:4,LONG_LEN:4,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:5,MAX_LABEL:10},bbox:[-.049785,5.928837,1.865241,11.018682],geometry:{type:"Polygon",coordinates:[[[.899563,10.997339],[.772336,10.470808],[1.077795,
510.175607],[1.425061,9.825395],[1.463043,9.334624],[1.664478,9.12859],[1.618951,6.832038],[1.865241,6.142158],[1.060122,5.928837],[.836931,6.279979],[.570384,6.914359],[.490957,7.411744],[.712029,8.312465],[.461192,8.677223],[.365901,9.465004],[.36758,10.191213],[-.049785,10.706918],[.023803,11.018682],[.899563,10.997339]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Thailand",SOV_A3:"THA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Thailand",ADM0_A3:"THA",GEOU_DIF:0,GEOUNIT:"Thailand",GU_A3:"THA",SU_DIF:0,SUBUNIT:"Thailand",SU_A3:"THA",BRK_DIFF:0,NAME:"Thailand",NAME_LONG:"Thailand",BRK_A3:"THA",BRK_NAME:"Thailand",BRK_GROUP:null,ABBREV:"Thai.",POSTAL:"TH",FORMAL_EN:"Kingdom of Thailand",FORMAL_FR:null,NAME_CIAWF:"Thailand",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Thailand",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:8,MAPCOLOR13:1,POP_EST:68414135,POP_RANK:16,GDP_MD_EST:1161e3,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"TH",ISO_A2:"TH",ISO_A3:"THA",ISO_A3_EH:"THA",ISO_N3:"764",UN_A3:"764",WB_A2:"TH",WB_A3:"THA",WOE_ID:23424960,WOE_ID_EH:23424960,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"THA",ADM0_A3_US:"THA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[97.375896,5.691384,105.589039,20.41785],geometry:{type:"Polygon",coordinates:[[[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Tajikistan",SOV_A3:"TJK",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Tajikistan",ADM0_A3:"TJK",GEOU_DIF:0,GEOUNIT:"Tajikistan",GU_A3:"TJK",SU_DIF:0,SUBUNIT:"Tajikistan",SU_A3:"TJK",BRK_DIFF:0,NAME:"Tajikistan",NAME_LONG:"Tajikistan",BRK_A3:"TJK",BRK_NAME:"Tajikistan",BRK_GROUP:null,ABBREV:"Tjk.",POSTAL:"TJ",FORMAL_EN:"Republic of Tajikistan",FORMAL_FR:null,NAME_CIAWF:"Tajikistan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Tajikistan",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:5,POP_EST:8468555,POP_RANK:13,GDP_MD_EST:25810,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"TI",ISO_A2:"TJ",ISO_A3:"TJK",ISO_A3_EH:"TJK",ISO_N3:"762",UN_A3:"762",WB_A2:"TJ",WB_A3:"TJK",WOE_ID:23424961,WOE_ID_EH:23424961,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TJK",ADM0_A3_US:"TJK",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Central Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[67.44222,36.738171,74.980002,40.960213],geometry:{type:"Polygon",coordinates:[[[74.980002,37.41999],[73.948696,37.421566],[73.260056,37.495257],[72.63689,37.047558],[72.193041,36.948288],[71.844638,36.738171],[71.448693,37.065645],[71.541918,37.905774],[71.239404,37.953265],[71.348131,38.258905],[70.806821,38.486282],[70.376304,38.138396],[70.270574,37.735165],[70.116578,37.588223],[69.518785,37.608997],[69.196273,37.151144],[68.859446,37.344336],[68.135562,37.023115],[67.83,37.144994],[68.392033,38.157025],[68.176025,38.901553],[67.44222,39.140144],[67.701429,39.580478],[68.536416,39.533453],[69.011633,40.086158],[69.329495,40.727824],[70.666622,40.9
560213],[70.45816,40.496495],[70.601407,40.218527],[71.014198,40.244366],[70.648019,39.935754],[69.55961,40.103211],[69.464887,39.526683],[70.549162,39.604198],[71.784694,39.279463],[73.675379,39.431237],[73.928852,38.505815],[74.257514,38.606507],[74.864816,38.378846],[74.829986,37.990007],[74.980002,37.41999]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Turkmenistan",SOV_A3:"TKM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Turkmenistan",ADM0_A3:"TKM",GEOU_DIF:0,GEOUNIT:"Turkmenistan",GU_A3:"TKM",SU_DIF:0,SUBUNIT:"Turkmenistan",SU_A3:"TKM",BRK_DIFF:0,NAME:"Turkmenistan",NAME_LONG:"Turkmenistan",BRK_A3:"TKM",BRK_NAME:"Turkmenistan",BRK_GROUP:null,ABBREV:"Turkm.",POSTAL:"TM",FORMAL_EN:"Turkmenistan",FORMAL_FR:null,NAME_CIAWF:"Turkmenistan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Turkmenistan",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:2,MAPCOLOR9:1,MAPCOLOR13:9,POP_EST:5351277,POP_RANK:13,GDP_MD_EST:94720,POP_YEAR:2017,LASTCENSUS:1995,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"TX",ISO_A2:"TM",ISO_A3:"TKM",ISO_A3_EH:"TKM",ISO_N3:"795",UN_A3:"795",WB_A2:"TM",WB_A3:"TKM",WOE_ID:23424972,WOE_ID_EH:23424972,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TKM",ADM0_A3_US:"TKM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Central Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:12,LONG_LEN:12,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[52.50246,35.270664,66.54615,42.751551],geometry:{type:"Polygon",coordinates:[[[66.518607,37.362784],[66.217385,37.39379],[65.745631,37.661164],[65.588948,37.305217],[64.746105,37.111818],[64.546479,36.312073],[63.982896,36.007957],[63.193538,35.857166],[62.984662,35.404041],[62.230651,35.270664],[61.210817,35.650072],[61.123071,36.491597],[60.377638,36.527383],[59.234762,37.412988],[58.436154,37.522309],[57.330434,38.029229],[56.619366,38.121394],[56.180375,37.935127],[55.511578,37.964117],[54.800304,37.392421],[53.921598,37.198918],[53.735511,37.906136],[53.880929,38.952093],[53.101028,39.290574],[53.357808,39.975286],[52.693973,40.033629],[52.915251,40.876523],[53.858139,40.631034],[54.736845,40.951015],[54.008311,41.551211],[53.721713,42.123191],[52.91675,41.868117],[52.814689,41.135371],[52.50246,41.783316],[52.944293,42.116034],[54.079418,42.324109],[54.755345,42.043971],[55.455251,41.259859],[55.968191,41.308642],[57.096391,41.32231],[56.932215,41.826026],[57.78653,42.170553],[58.629011,42.751551],[59.976422,42.223082],[60.083341,41.425146],[60.465953,41.220327],[61.547179,41.26637],[61.882714,41.084857],[62.37426,40.053886],[63.518015,39.363257],[64.170223,38.892407],[65.215999,38.402695],[66.54615,37.974685],[66.518607,37.362784]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"East Timor",SOV_A3:"TLS",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"East Timor",ADM0_A3:"TLS",GEOU_DIF:0,GEOUNIT:"East Timor",GU_A3:"TLS",SU_DIF:0,SUBUNIT:"East Timor",SU_A3:"TLS",BRK_DIFF:0,NAME:"Timor-Leste",NAME_LONG:"Timor-Leste",BRK_A3:"TLS",BRK_NAME:"Timor-Leste",BRK_GROUP:null,ABBREV:"T.L.",POSTAL:"TL",FORMAL_EN:"Democratic Republic of Timor-Leste",FORMAL_FR:null,NAME_CIAWF:"Timor-Leste",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Timor-Leste",NAME_ALT:"East Timor",MAPCOLOR7:2,MAPCOLOR8:2,MAPCOLOR9:4,MAPCOLOR13:3,POP_EST:1291358,POP_RANK:12,GDP_MD_EST:4975,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"TT",ISO_A2:"TL",ISO_A3:"TLS",ISO_A3_EH:"TLS",ISO_N3:"626",UN_A3:"626",WB_A2:"TP",WB_A3:"TMP",WOE_ID:23424968,WOE_ID_EH:23424968,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TLS",ADM0_A3_US:"TLS",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:11,LONG_LEN:11,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9},bbox:[124.968682,-9.393173,127.335928,-8.273345],geometry:{type:"Polygon",coordinates:[[[125.08852,-9.393173],[125.07002,-9.089987],[124.968682,-8.89279],[125.086246,-8.656887],[125.947072,-8.432095],[126.644704,-8.398247],[126.957243,-8.273345],[127.335928,-8.397317],[126.967992,-8.668256],[125.925885,-9.106007],[125.08852,-9.393173]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:5,SOVEREIGNT:"Trinidad and Tobago",SOV_A3:"TTO",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Trinidad and Tobago",ADM0_A3:"TTO",GEOU_DIF:0,GEOUNIT:"Trinidad and Tobago",GU_A3:"TTO",SU_DIF:0,SUBUNIT:"Trinidad and Tobago",SU_A3:"TTO",BRK_DIFF:0,NAME:"Trinidad and Tobago",NAME_LONG:"Trinidad and Tobago",BRK_A3:"TTO",BRK_NAME:"Trinidad and Tobago",BRK_GROUP:null,ABBREV:"Tr.T.",POSTAL:"TT",FORMAL_EN:"Republic of Trinidad and Tobago",FORMAL_FR:null,NAME_CIAWF:"Trinidad and Tobago",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Trinidad and Tobago",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:5,POP_EST:1218208,POP_RANK:12,GDP_MD_EST:43570,POP_YEAR:2017,LASTCENSUS:2011,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"TD",ISO_A2:"TT",ISO_A3:"TTO",ISO_A3_EH:"TTO",ISO_N3:"780",UN_A3:"780",WB_A2:"TT",WB_A3:"TTO",WOE_ID:23424958,WOE_ID_EH:23424958,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TTO",ADM0_A3_US:"TTO",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Caribbean",REGION_WB:"Latin America & Caribbean",NAME_LEN:19,LONG_LEN:19,ABBREV_LEN:5,TINY:2,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4.5,MAX_LABEL:9.5},bbox:[-61.95,10,-60.895,10.89],geometry:{type:"Polygon",coordinates:[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Tunisia",SOV_A3:"TUN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Tunisia",ADM0_A3:"TUN",GEOU_DIF:0,GEOUNIT:"Tunisia",GU_A3:"TUN",SU_DIF:0,SUBUNIT:"Tunisia",SU_A3:"TUN",BRK_DIFF:0,NAME:"Tunisia",NAME_LONG:"Tunisia",BRK_A3:"TUN",BRK_NAME:"Tunisia",BRK_GROUP:null,ABBREV:"Tun.",POSTAL:"TN",FORMAL_EN:"Republic of Tunisia",FORMAL_FR:null,NAME_CIAWF:"Tunisia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Tunisia",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:3,MAPCOLOR9:3,MAPCOLOR13:2,POP_EST:11403800,POP_RANK:14,GDP_MD_EST:130800,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"TS",ISO_A2:"TN",ISO_A3:"TUN",ISO_A3_EH:"TUN",ISO_N3:"788",UN_A3:"788",WB_A2:"TN",WB_A3:"TUN",WOE_ID:23424967,WOE_ID_EH:23424967,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TUN",ADM0_A3_US:"TUN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Northern Africa",REGION_WB:"Middle East & North Africa",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[7.524482,30.307556,11.488787,37.349994],geometry:{type:"Polygon",coordinates:[[[9.48214,30.307556],[9.055603,32.102692],[8.439103,32.506285],[8.430473,32.748337],[7.612642,33.344115],[7.524482,34.097376],[8.140981,34.655146],[8.376368,35.479876],[8.217824,36.433177],[8.420964,36.946427],[9.509994,37.349994],[10.210002,37.230002],[10.18065,36.724038],[11.028867,37.092103],[11.
5100026,36.899996],[10.600005,36.41],[10.593287,35.947444],[10.939519,35.698984],[10.807847,34.833507],[10.149593,34.330773],[10.339659,33.785742],[10.856836,33.76874],[11.108501,33.293343],[11.488787,33.136996],[11.432253,32.368903],[10.94479,32.081815],[10.636901,31.761421],[9.950225,31.37607],[10.056575,30.961831],[9.970017,30.539325],[9.48214,30.307556]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Turkey",SOV_A3:"TUR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Turkey",ADM0_A3:"TUR",GEOU_DIF:0,GEOUNIT:"Turkey",GU_A3:"TUR",SU_DIF:0,SUBUNIT:"Turkey",SU_A3:"TUR",BRK_DIFF:0,NAME:"Turkey",NAME_LONG:"Turkey",BRK_A3:"TUR",BRK_NAME:"Turkey",BRK_GROUP:null,ABBREV:"Tur.",POSTAL:"TR",FORMAL_EN:"Republic of Turkey",FORMAL_FR:null,NAME_CIAWF:"Turkey",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Turkey",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:8,MAPCOLOR13:4,POP_EST:80845215,POP_RANK:16,GDP_MD_EST:167e4,POP_YEAR:2017,LASTCENSUS:2e3,GDP_YEAR:2016,ECONOMY:"4. Emerging region: MIKT",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"TU",ISO_A2:"TR",ISO_A3:"TUR",ISO_A3_EH:"TUR",ISO_N3:"792",UN_A3:"792",WB_A2:"TR",WB_A3:"TUR",WOE_ID:23424969,WOE_ID_EH:23424969,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TUR",ADM0_A3_US:"TUR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[26.043351,35.821535,44.79399,42.141485],geometry:{type:"MultiPolygon",coordinates:[[[[43.582746,41.092143],[43.752658,40.740201],[43.656436,40.253564],[44.400009,40.005],[44.79399,39.713003],[44.109225,39.428136],[44.421403,38.281281],[44.225756,37.971584],[44.77267,37.17045],[44.772677,37.170437],[44.293452,37.001514],[43.942259,37.256228],[42.779126,37.385264],[42.349591,37.229873],[41.212089,37.074352],[40.673259,37.091276],[39.52258,36.716054],[38.699891,36.712927],[38.167727,36.90121],[37.066761,36.623036],[36.739494,36.81752],[36.685389,36.259699],[36.41755,36.040617],[36.149763,35.821535],[35.782085,36.274995],[36.160822,36.650606],[35.550936,36.565443],[34.714553,36.795532],[34.026895,36.21996],[32.509158,36.107564],[31.699595,36.644275],[30.621625,36.677865],[30.391096,36.262981],[29.699976,36.144357],[28.732903,36.676831],[27.641187,36.658822],[27.048768,37.653361],[26.318218,38.208133],[26.8047,38.98576],[26.170785,39.463612],[27.28002,40.420014],[28.819978,40.460011],[29.240004,41.219991],[31.145934,41.087622],[32.347979,41.736264],[33.513283,42.01896],[35.167704,42.040225],[36.913127,41.335358],[38.347665,40.948586],[39.512607,41.102763],[40.373433,41.013673],[41.554084,41.535656],[42.619549,41.583173],[43.582746,41.092143]]],[[[26.117042,41.826905],[27.135739,42.141485],[27.99672,42.007359],[28.115525,41.622886],[28.988443,41.299934],[28.806438,41.054962],[27.619017,40.999823],[27.192377,40.690566],[26.358009,40.151994],[26.043351,40.617754],[26.056942,40.824123],[26.294602,40.936261],[26.604196,41.562115],[26.117042,41.826905]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Taiwan",SOV_A3:"TWN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Taiwan",ADM0_A3:"TWN",GEOU_DIF:0,GEOUNIT:"Taiwan",GU_A3:"TWN",SU_DIF:0,SUBUNIT:"Taiwan",SU_A3:"TWN",BRK_DIFF:1,NAME:"Taiwan",NAME_LONG:"Taiwan",BRK_A3:"B77",BRK_NAME:"Taiwan",BRK_GROUP:null,ABBREV:"Taiwan",POSTAL:"TW",FORMAL_EN:null,FORMAL_FR:null,NAME_CIAWF:"Taiwan",NOTE_ADM0:null,NOTE_BRK:"Self admin.; Claimed by China",NAME_SORT:"Taiwan",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:5,MAPCOLOR9:7,MAPCOLOR13:2,POP_EST:23508428,POP_RANK:15,GDP_MD_EST:1127e3,POP_YEAR:2017,LASTCENSUS:-99,GDP_YEAR:2016,ECONOMY:"2. Developed region: nonG7",INCOME_GRP:"2. High income: nonOECD",WIKIPEDIA:-99,FIPS_10_:"TW",ISO_A2:"TW",ISO_A3:"TWN",ISO_A3_EH:"TWN",ISO_N3:"158",UN_A3:"-099",WB_A2:"-99",WB_A3:"-99",WOE_ID:23424971,WOE_ID_EH:23424971,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TWN",ADM0_A3_US:"TWN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[120.106189,21.970571,121.951244,25.295459],geometry:{type:"Polygon",coordinates:[[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"United Republic of Tanzania",SOV_A3:"TZA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"United Republic of Tanzania",ADM0_A3:"TZA",GEOU_DIF:0,GEOUNIT:"Tanzania",GU_A3:"TZA",SU_DIF:0,SUBUNIT:"Tanzania",SU_A3:"TZA",BRK_DIFF:0,NAME:"Tanzania",NAME_LONG:"Tanzania",BRK_A3:"TZA",BRK_NAME:"Tanzania",BRK_GROUP:null,ABBREV:"Tanz.",POSTAL:"TZ",FORMAL_EN:"United Republic of Tanzania",FORMAL_FR:null,NAME_CIAWF:"Tanzania",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Tanzania",NAME_ALT:null,MAPCOLOR7:3,MAPCOLOR8:6,MAPCOLOR9:2,MAPCOLOR13:2,POP_EST:53950935,POP_RANK:16,GDP_MD_EST:150600,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"TZ",ISO_A2:"TZ",ISO_A3:"TZA",ISO_A3_EH:"TZA",ISO_N3:"834",UN_A3:"834",WB_A2:"TZ",WB_A3:"TZA",WOE_ID:23424973,WOE_ID_EH:23424973,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"TZA",ADM0_A3_US:"TZA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[29.339998,-11.720938,40.31659,-.95],geometry:{type:"Polygon",coordinates:[[[29.339998,-4.499983],[29.753512,-4.452389],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.469674,-2.413855],[30.46967,-2.41383],[30.758309,-2.28725],[30.816135,-1.698914],[30.419105,-1.134659],[30.76986,-1.01455],[31.86617,-1.02736],[33.903711,-.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.7997
57,-6.47566],[39.44,-6.84],[39.47,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.11237],[39.9496,-10.0984],[40.316586,-10.317098],[40.31659,-10.3171],[39.521,-10.89688],[38.427557,-11.285202],[37.82764,-11.26879],[37.47129,-11.56876],[36.775151,-11.594537],[36.514082,-11.720938],[35.312398,-11.439146],[34.559989,-11.52002],[34.28,-10.16],[33.940838,-9.693674],[33.73972,-9.41715],[32.759375,-9.230599],[32.191865,-8.930359],[31.556348,-8.762049],[31.157751,-8.594579],[30.74001,-8.340006],[30.740015,-8.340007],[30.199997,-7.079981],[29.620032,-6.520015],[29.419993,-5.939999],[29.519987,-5.419979],[29.339998,-4.499983]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Uganda",SOV_A3:"UGA",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Uganda",ADM0_A3:"UGA",GEOU_DIF:0,GEOUNIT:"Uganda",GU_A3:"UGA",SU_DIF:0,SUBUNIT:"Uganda",SU_A3:"UGA",BRK_DIFF:0,NAME:"Uganda",NAME_LONG:"Uganda",BRK_A3:"UGA",BRK_NAME:"Uganda",BRK_GROUP:null,ABBREV:"Uga.",POSTAL:"UG",FORMAL_EN:"Republic of Uganda",FORMAL_FR:null,NAME_CIAWF:"Uganda",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Uganda",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:6,MAPCOLOR13:4,POP_EST:39570125,POP_RANK:15,GDP_MD_EST:84930,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"UG",ISO_A2:"UG",ISO_A3:"UGA",ISO_A3_EH:"UGA",ISO_N3:"800",UN_A3:"800",WB_A2:"UG",WB_A3:"UGA",WOE_ID:23424974,WOE_ID_EH:23424974,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"UGA",ADM0_A3_US:"UGA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[29.579466,-1.443322,35.03599,4.249885],geometry:{type:"Polygon",coordinates:[[[29.579466,-1.341313],[29.587838,-.587406],[29.819503,-.20531],[29.875779,.59738],[30.086154,1.062313],[30.468508,1.583805],[30.85267,1.849396],[31.174149,2.204465],[30.773347,2.339883],[30.83386,3.509166],[30.833852,3.509172],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.39,3.79],[34.005,4.249885],[34.47913,3.5556],[34.59607,3.05374],[35.03599,1.90584],[34.6721,1.17694],[34.18,.515],[33.893569,.109814],[33.903711,-.95],[31.86617,-1.02736],[30.76986,-1.01455],[30.419105,-1.134659],[29.821519,-1.443322],[29.579466,-1.341313]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Ukraine",SOV_A3:"UKR",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Ukraine",ADM0_A3:"UKR",GEOU_DIF:0,GEOUNIT:"Ukraine",GU_A3:"UKR",SU_DIF:0,SUBUNIT:"Ukraine",SU_A3:"UKR",BRK_DIFF:0,NAME:"Ukraine",NAME_LONG:"Ukraine",BRK_A3:"UKR",BRK_NAME:"Ukraine",BRK_GROUP:null,ABBREV:"Ukr.",POSTAL:"UA",FORMAL_EN:"Ukraine",FORMAL_FR:null,NAME_CIAWF:"Ukraine",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Ukraine",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:1,MAPCOLOR9:6,MAPCOLOR13:3,POP_EST:44033874,POP_RANK:15,GDP_MD_EST:352600,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"UP",ISO_A2:"UA",ISO_A3:"UKR",ISO_A3_EH:"UKR",ISO_N3:"804",UN_A3:"804",WB_A2:"UA",WB_A3:"UKR",WOE_ID:23424976,WOE_ID_EH:23424976,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"UKR",ADM0_A3_US:"UKR",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Europe",REGION_UN:"Europe",SUBREGION:"Eastern Europe",REGION_WB:"Europe & Central Asia",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7},bbox:[22.085608,45.293308,40.080789,52.335075],geometry:{type:"Polygon",coordinates:[[[23.527071,51.578454],[24.005078,51.617444],[24.553106,51.888461],[25.327788,51.910656],[26.337959,51.832289],[27.454066,51.592303],[28.241615,51.572227],[28.617613,51.427714],[28.992835,51.602044],[29.254938,51.368234],[30.157364,51.416138],[30.555117,51.319503],[30.619454,51.822806],[30.927549,52.042353],[31.785992,52.101678],[32.15944,52.06125],[32.412058,52.288695],[32.715761,52.238465],[33.7527,52.335075],[34.391731,51.768882],[34.141978,51.566413],[34.224816,51.255993],[35.022183,51.207572],[35.37791,50.77394],[35.356116,50.577197],[36.626168,50.225591],[37.39346,50.383953],[38.010631,49.915662],[38.594988,49.926462],[40.06904,49.60105],[40.080789,49.30743],[39.67465,48.78382],[39.89562,48.23241],[39.738278,47.898937],[38.77057,47.82562],[38.255112,47.5464],[38.223538,47.10219],[37.425137,47.022221],[36.759855,46.6987],[35.823685,46.645964],[34.962342,46.273197],[35.
5012659,45.737725],[34.861792,45.768182],[34.732017,45.965666],[34.410402,46.005162],[33.699462,46.219573],[33.435988,45.971917],[33.298567,46.080598],[31.74414,46.333348],[31.675307,46.706245],[30.748749,46.5831],[30.377609,46.03241],[29.603289,45.293308],[29.149725,45.464925],[28.679779,45.304031],[28.233554,45.488283],[28.485269,45.596907],[28.659987,45.939987],[28.933717,46.25883],[28.862972,46.437889],[29.072107,46.517678],[29.170654,46.379262],[29.759972,46.349988],[30.024659,46.423937],[29.83821,46.525326],[29.908852,46.674361],[29.559674,46.928583],[29.415135,47.346645],[29.050868,47.510227],[29.122698,47.849095],[28.670891,48.118149],[28.259547,48.155562],[27.522537,48.467119],[26.857824,48.368211],[26.619337,48.220726],[26.19745,48.220881],[25.945941,47.987149],[25.207743,47.891056],[24.866317,47.737526],[24.402056,47.981878],[23.760958,47.985598],[23.142236,48.096341],[22.710531,47.882194],[22.64082,48.15024],[22.085608,48.422264],[22.280842,48.825392],[22.558138,49.085738],[22.776419,49.027395],[22.51845,49.476774],[23.426508,50.308506],[23.922757,50.424881],[24.029986,50.705407],[23.527071,51.578454]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Uruguay",SOV_A3:"URY",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Uruguay",ADM0_A3:"URY",GEOU_DIF:0,GEOUNIT:"Uruguay",GU_A3:"URY",SU_DIF:0,SUBUNIT:"Uruguay",SU_A3:"URY",BRK_DIFF:0,NAME:"Uruguay",NAME_LONG:"Uruguay",BRK_A3:"URY",BRK_NAME:"Uruguay",BRK_GROUP:null,ABBREV:"Ury.",POSTAL:"UY",FORMAL_EN:"Oriental Republic of Uruguay",FORMAL_FR:null,NAME_CIAWF:"Uruguay",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Uruguay",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:2,MAPCOLOR9:2,MAPCOLOR13:10,POP_EST:3360148,POP_RANK:12,GDP_MD_EST:73250,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"UY",ISO_A2:"UY",ISO_A3:"URY",ISO_A3_EH:"URY",ISO_N3:"858",UN_A3:"858",WB_A2:"UY",WB_A3:"URY",WOE_ID:23424979,WOE_ID_EH:23424979,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"URY",ADM0_A3_US:"URY",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[-58.427074,-34.952647,-53.209589,-30.109686],geometry:{type:"Polygon",coordinates:[[[-58.427074,-33.909454],[-58.349611,-33.263189],[-58.132648,-33.040567],[-58.14244,-32.044504],[-57.874937,-31.016556],[-57.625133,-30.216295],[-56.976026,-30.109686],[-55.973245,-30.883076],[-55.60151,-30.853879],[-54.572452,-31.494511],[-53.787952,-32.047243],[-53.209589,-32.727666],[-53.650544,-33.202004],[-53.373662,-33.768378],[-53.806426,-34.396815],[-54.935866,-34.952647],[-55.67409,-34.752659],[-56.215297,-34.859836],[-57.139685,-34.430456],[-57.817861,-34.462547],[-58.427074,-33.909454]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"United States of America",SOV_A3:"US1",ADM0_DIF:1,LEVEL:2,TYPE:"Country",ADMIN:"United States of America",ADM0_A3:"USA",GEOU_DIF:0,GEOUNIT:"United States of America",GU_A3:"USA",SU_DIF:0,SUBUNIT:"United States",SU_A3:"USA",BRK_DIFF:0,NAME:"United States of America",NAME_LONG:"United States",BRK_A3:"USA",BRK_NAME:"United States",BRK_GROUP:null,ABBREV:"U.S.A.",POSTAL:"US",FORMAL_EN:"United States of America",FORMAL_FR:null,NAME_CIAWF:"United States",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"United States of America",NAME_ALT:null,MAPCOLOR7:4,MAPCOLOR8:5,MAPCOLOR9:1,MAPCOLOR13:1,POP_EST:326625791,POP_RANK:17,GDP_MD_EST:1856e4,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"1. Developed region: G7",INCOME_GRP:"1. High income: OECD",WIKIPEDIA:0,FIPS_10_:"US",ISO_A2:"US",ISO_A3:"USA",ISO_A3_EH:"USA",ISO_N3:"840",UN_A3:"840",WB_A2:"US",WB_A3:"USA",WOE_ID:23424977,WOE_ID_EH:23424977,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"USA",ADM0_A3_US:"USA",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"North America",REGION_UN:"Americas",SUBREGION:"Northern America",REGION_WB:"North America",NAME_LEN:24,LONG_LEN:13,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:5.7},bbox:[-171.791111,18.91619,-66.96466,71.357764],geometry:{type:"MultiPolygon",coordinates:[[[[-122.84,49],[-120,49],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49],[-97.22872,49.0007],[-95.15907,49],[-95.15609,49.38425],[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.01],[-89.272917,48.019808],[-88.378114,48.302918],[-87.439793,47.94],[-86.461991,47.553338],[-85.652363,47.220219],[-84.87608,46.900083],[-84.779238,46.637102],[-84.543749,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.091851,46.275419],[-83.890765,46.116927],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-82.550925,45.347517],[-82.337763,44.44],[-82.137642,43.571088],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.142,41.975681],[-83.02981,41.832796],[-82.690089,41.675105],[-82.439278,41.675105],[-81.277747,42.209026],[-80.247448,42.3662],[-78.939362,42.863611],[-78.92,42.965],[-79.01,43.27],[-79.171674,43.466339],[-78.72028,43.625089],[-77.737885,43.629056],[-76.820034,43.628784],[-76.5,44.018459],[-76.375,44.09631],[
5-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645476,43.090238],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717],[-70.64,41.475],[-71.12039,41.49445],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.931102],[-72.24126,41.11948],[-71.945,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.24845],[-75.52805,39.4985],[-75.32,38.96],[-75.071835,38.782032],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989998,38.239992],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.86804,36.55125],[-75.72749,35.55074],[-76.36318,34.80854],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55435,33.86133],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.72999],[-81.31371,30.03552],[-80.98,29.18],[-80.535585,28.47213],[-80.53,28.04],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.20126],[-81.33,25.64],[-81.71,25.87],[-82.24,26.73],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.55],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.593831,30.159994],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.48],[-95.60026,28.73863],[-96.59404,28.30748],[-97.14,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.14,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.11],[-100.45584,28.69612],[-100.9576,29.38071],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.45697,29.57196],[
5-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50759,31.75452],[-108.24,31.754854],[-108.24194,31.34222],[-109.035,31.34194],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239],[-117.12776,32.53534],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686],[-121.71457,36.16153],[-122.54747,37.55176],[-122.51201,37.78339],[-122.95319,38.11371],[-123.7272,38.95166],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.14202],[-124.2137,41.99964],[-124.53284,42.76599],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49]]],[[[-140.985988,69.711998],[-140.986,69.712],[-140.9925,66.00003],[-140.99778,60.30639],[-140.013,60.27682],[-139.039,60],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.27056],[-134.27111,58.86111],[-133.35556,58.41028],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.98,55.285],[-130.53611,54.80278],[-130.536109,54.802754],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998],[-140.985988,69.711998]]],[[[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,
519.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348]]],[[[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404],[-156.07926,20.64397]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217]]],[[[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982]]],[[[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842]]],[[[-165.579164,59.909987],[-166.19277,59.754441],[
5-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Uzbekistan",SOV_A3:"UZB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Uzbekistan",ADM0_A3:"UZB",GEOU_DIF:0,GEOUNIT:"Uzbekistan",GU_A3:"UZB",SU_DIF:0,SUBUNIT:"Uzbekistan",SU_A3:"UZB",BRK_DIFF:0,NAME:"Uzbekistan",NAME_LONG:"Uzbekistan",BRK_A3:"UZB",BRK_NAME:"Uzbekistan",BRK_GROUP:null,ABBREV:"Uzb.",POSTAL:"UZ",FORMAL_EN:"Republic of Uzbekistan",FORMAL_FR:null,NAME_CIAWF:"Uzbekistan",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Uzbekistan",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:3,MAPCOLOR9:5,MAPCOLOR13:4,POP_EST:29748859,POP_RANK:15,GDP_MD_EST:202300,POP_YEAR:2017,LASTCENSUS:1989,GDP_YEAR:2016,ECONOMY:"6. Developing region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"UZ",ISO_A2:"UZ",ISO_A3:"UZB",ISO_A3_EH:"UZB",ISO_N3:"860",UN_A3:"860",WB_A2:"UZ",WB_A3:"UZB",WOE_ID:23424980,WOE_ID_EH:23424980,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"UZB",ADM0_A3_US:"UZB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Central Asia",REGION_WB:"Europe & Central Asia",NAME_LEN:10,LONG_LEN:10,ABBREV_LEN:4,TINY:5,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[55.928917,37.144994,73.055417,45.586804],geometry:{type:"Polygon",coordinates:[[[67.83,37.144994],[67.075782,37.356144],[66.518607,37.362784],[66.54615,37.974685],[65.215999,38.402695],[64.170223,38.892407],[63.518015,39.363257],[62.37426,40.053886],[61.882714,41.084857],[61.547179,41.26637],[60.465953,41.220327],[60.083341,41.425146],[59.976422,42.223082],[58.629011,42.751551],[57.78653,42.170553],[56.932215,41.826026],[57.096391,41.32231],[55.968191,41.308642],[55.928917,44.995858],[58.503127,45.586804],[58.689989,45.500014],[60.239972,44.784037],[61.05832,44.405817],[62.0133,43.504477],[63.185787,43.650075],[64.900824,43.728081],[66.098012,42.99766],[66.023392,41.994646],[66.510649,41.987644],[66.714047,41.168444],[67.985856,41.135991],[68.259896,40.662325],[68.632483,40.668681],[69.070027,41.384244],[70.388965,42.081308],[70.962315,42.266154],[71.259248,42.167711],[70.420022,41.519998],[71.157859,41.143587],[71.870115,41.3929],[73.055417,40.866033],[71.774875,40.145844],[71.014198,40.244366],[70.601407,40.218527],[70.45816,40.496495],[70.666622,40.960213],[69.329495,40.727824],[69.011633,40.086158],[68.536416,39.533453],[67.701429,39.580478],[67.44222,39.140144],[68.176025,38.901553],[68.392033,38.157025],[67.83,37.144994]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Venezuela",SOV_A3:"VEN",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Venezuela",ADM0_A3:"VEN",GEOU_DIF:0,GEOUNIT:"Venezuela",GU_A3:"VEN",SU_DIF:0,SUBUNIT:"Venezuela",SU_A3:"VEN",BRK_DIFF:0,NAME:"Venezuela",NAME_LONG:"Venezuela",BRK_A3:"VEN",BRK_NAME:"Venezuela",BRK_GROUP:null,ABBREV:"Ven.",POSTAL:"VE",FORMAL_EN:"Bolivarian Republic of Venezuela",FORMAL_FR:"República Bolivariana de Venezuela",NAME_CIAWF:"Venezuela",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Venezuela, RB",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:3,MAPCOLOR9:1,MAPCOLOR13:4,POP_EST:31304016,POP_RANK:15,GDP_MD_EST:468600,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"VE",ISO_A2:"VE",ISO_A3:"VEN",ISO_A3_EH:"VEN",ISO_N3:"862",UN_A3:"862",WB_A2:"VE",WB_A3:"VEN",WOE_ID:23424982,WOE_ID_EH:23424982,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"VEN",ADM0_A3_US:"VEN",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"South America",REGION_UN:"Americas",SUBREGION:"South America",REGION_WB:"Latin America & Caribbean",NAME_LEN:9,LONG_LEN:9,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:7.5},bbox:[-73.304952,.724452,-59.758285,12.162307],geometry:{type:"Polygon",coordinates:[[[-60.733574,5.200277],[-60.601179,4.918098],[-60.966893,4.536468],[-62.08543,4.162124],[-62.804533,4.006965],[-63.093198,3.770571],[-63.888343,4.02053],[-64.628659,4.148481],[-64.816064,4.056445],[-64.368494,3.79721],[-64.408828,3.126786],[
5-64.269999,2.497006],[-63.422867,2.411068],[-63.368788,2.2009],[-64.083085,1.916369],[-64.199306,1.492855],[-64.611012,1.328731],[-65.354713,1.095282],[-65.548267,.789254],[-66.325765,.724452],[-66.876326,1.253361],[-67.181294,2.250638],[-67.447092,2.600281],[-67.809938,2.820655],[-67.303173,3.318454],[-67.337564,3.542342],[-67.621836,3.839482],[-67.823012,4.503937],[-67.744697,5.221129],[-67.521532,5.55687],[-67.34144,6.095468],[-67.695087,6.267318],[-68.265052,6.153268],[-68.985319,6.206805],[-69.38948,6.099861],[-70.093313,6.960376],[-70.674234,7.087785],[-71.960176,6.991615],[-72.198352,7.340431],[-72.444487,7.423785],[-72.479679,7.632506],[-72.360901,8.002638],[-72.439862,8.405275],[-72.660495,8.625288],[-72.78873,9.085027],[-73.304952,9.152],[-73.027604,9.73677],[-72.905286,10.450344],[-72.614658,10.821975],[-72.227575,11.108702],[-71.973922,11.608672],[-71.331584,11.776284],[-71.360006,11.539994],[-71.94705,11.423282],[-71.620868,10.96946],[-71.633064,10.446494],[-72.074174,9.865651],[-71.695644,9.072263],[-71.264559,9.137195],[-71.039999,9.859993],[-71.350084,10.211935],[-71.400623,10.968969],[-70.155299,11.375482],[-70.293843,11.846822],[-69.943245,12.162307],[-69.5843,11.459611],[-68.882999,11.443385],[-68.233271,10.885744],[-68.194127,10.554653],[-67.296249,10.545868],[-66.227864,10.648627],[-65.655238,10.200799],[-64.890452,10.077215],[-64.329479,10.389599],[-64.318007,10.641418],[-63.079322,10.701724],[-61.880946,10.715625],[-62.730119,10.420269],[-62.388512,9.948204],[-61.588767,9.873067],[-60.830597,9.38134],[-60.671252,8.580174],[-60.150096,8.602757],[-59.758285,8.367035],[-60.550588,7.779603],[-60.637973,7.415],[-60.295668,7.043911],[-60.543999,6.856584],[-61.159336,6.696077],[-61.139415,6.234297],[-61.410303,5.959068],[-60.733574,5.200277]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"Vietnam",SOV_A3:"VNM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Vietnam",ADM0_A3:"VNM",GEOU_DIF:0,GEOUNIT:"Vietnam",GU_A3:"VNM",SU_DIF:0,SUBUNIT:"Vietnam",SU_A3:"VNM",BRK_DIFF:0,NAME:"Vietnam",NAME_LONG:"Vietnam",BRK_A3:"VNM",BRK_NAME:"Vietnam",BRK_GROUP:null,ABBREV:"Viet.",POSTAL:"VN",FORMAL_EN:"Socialist Republic of Vietnam",FORMAL_FR:null,NAME_CIAWF:"Vietnam",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Vietnam",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:6,MAPCOLOR9:5,MAPCOLOR13:4,POP_EST:96160163,POP_RANK:16,GDP_MD_EST:594900,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"VM",ISO_A2:"VN",ISO_A3:"VNM",ISO_A3_EH:"VNM",ISO_N3:"704",UN_A3:"704",WB_A2:"VN",WB_A3:"VNM",WOE_ID:23424984,WOE_ID_EH:23424984,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"VNM",ADM0_A3_US:"VNM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"South-Eastern Asia",REGION_WB:"East Asia & Pacific",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:5,TINY:2,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:2,MAX_LABEL:7},bbox:[102.170436,8.59976,109.33527,23.352063],geometry:{type:"Polygon",coordinates:[[[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:4,SOVEREIGNT:"Vanuatu",SOV_A3:"VUT",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Vanuatu",ADM0_A3:"VUT",GEOU_DIF:0,GEOUNIT:"Vanuatu",GU_A3:"VUT",SU_DIF:0,SUBUNIT:"Vanuatu",SU_A3:"VUT",BRK_DIFF:0,NAME:"Vanuatu",NAME_LONG:"Vanuatu",BRK_A3:"VUT",BRK_NAME:"Vanuatu",BRK_GROUP:null,ABBREV:"Van.",POSTAL:"VU",FORMAL_EN:"Republic of Vanuatu",FORMAL_FR:null,NAME_CIAWF:"Vanuatu",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Vanuatu",NAME_ALT:null,MAPCOLOR7:6,MAPCOLOR8:3,MAPCOLOR9:7,MAPCOLOR13:3,POP_EST:282814,POP_RANK:10,GDP_MD_EST:723,POP_YEAR:2017,LASTCENSUS:2009,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"NH",ISO_A2:"VU",ISO_A3:"VUT",ISO_A3_EH:"VUT",ISO_N3:"548",UN_A3:"548",WB_A2:"VU",WB_A3:"VUT",WOE_ID:23424907,WOE_ID_EH:23424907,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"VUT",ADM0_A3_US:"VUT",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Oceania",REGION_UN:"Oceania",SUBREGION:"Melanesia",REGION_WB:"East Asia & Pacific",NAME_LEN:7,LONG_LEN:7,ABBREV_LEN:4,TINY:2,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:4,MAX_LABEL:9}
5,bbox:[166.629137,-16.59785,167.844877,-14.626497],geometry:{type:"MultiPolygon",coordinates:[[[[167.844877,-16.466333],[167.515181,-16.59785],[167.180008,-16.159995],[167.216801,-15.891846],[167.844877,-16.466333]]],[[[167.107712,-14.93392],[167.270028,-15.740021],[167.001207,-15.614602],[166.793158,-15.668811],[166.649859,-15.392704],[166.629137,-14.626497],[167.107712,-14.93392]]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Yemen",SOV_A3:"YEM",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Yemen",ADM0_A3:"YEM",GEOU_DIF:0,GEOUNIT:"Yemen",GU_A3:"YEM",SU_DIF:0,SUBUNIT:"Yemen",SU_A3:"YEM",BRK_DIFF:0,NAME:"Yemen",NAME_LONG:"Yemen",BRK_A3:"YEM",BRK_NAME:"Yemen",BRK_GROUP:null,ABBREV:"Yem.",POSTAL:"YE",FORMAL_EN:"Republic of Yemen",FORMAL_FR:null,NAME_CIAWF:"Yemen",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Yemen, Rep.",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:3,MAPCOLOR9:3,MAPCOLOR13:11,POP_EST:28036829,POP_RANK:15,GDP_MD_EST:73450,POP_YEAR:2017,LASTCENSUS:2004,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"YM",ISO_A2:"YE",ISO_A3:"YEM",ISO_A3_EH:"YEM",ISO_N3:"887",UN_A3:"887",WB_A2:"RY",WB_A3:"YEM",WOE_ID:23425002,WOE_ID_EH:23425002,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"YEM",ADM0_A3_US:"YEM",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Asia",REGION_UN:"Asia",SUBREGION:"Western Asia",REGION_WB:"Middle East & North Africa",NAME_LEN:5,LONG_LEN:5,ABBREV_LEN:4,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[42.604873,12.58595,53.108573,19.000003],geometry:{type:"Polygon",coordinates:[[[52.00001,19.000003],[52.782184,17.349742],[53.108573,16.651051],[52.385206,16.382411],[52.191729,15.938433],[52.168165,15.59742],[51.172515,15.17525],[49.574576,14.708767],[48.679231,14.003202],[48.238947,13.94809],[47.938914,14.007233],[47.354454,13.59222],[46.717076,13.399699],[45.877593,13.347764],[45.62505,13.290946],[45.406459,13.026905],[45.144356,12.953938],[44.989533,12.699587],[44.494576,12.721653],[44.175113,12.58595],[43.482959,12.6368],[43.222871,13.22095],[43.251448,13.767584],[43.087944,14.06263],[42.892245,14.802249],[42.604873,15.213335],[42.805015,15.261963],[42.702438,15.718886],[42.823671,15.911742],[42.779332,16.347891],[43.218375,16.66689],[43.115798,17.08844],[43.380794,17.579987],[43.791519,17.319977],[44.062613,17.410359],[45.216651,17.433329],[45.399999,17.333335],[46.366659,17.233315],[46.749994,17.283338],[47.000005,16.949999],[47.466695,17.116682],[48.183344,18.166669],[49.116672,18.616668],[52.00001,19.000003]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:2,SOVEREIGNT:"South Africa",SOV_A3:"ZAF",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"South Africa",ADM0_A3:"ZAF",GEOU_DIF:0,GEOUNIT:"South Africa",GU_A3:"ZAF",SU_DIF:0,SUBUNIT:"South Africa",SU_A3:"ZAF",BRK_DIFF:0,NAME:"South Africa",NAME_LONG:"South Africa",BRK_A3:"ZAF",BRK_NAME:"South Africa",BRK_GROUP:null,ABBREV:"S.Af.",POSTAL:"ZA",FORMAL_EN:"Republic of South Africa",FORMAL_FR:null,NAME_CIAWF:"South Africa",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"South Africa",NAME_ALT:null,MAPCOLOR7:2,MAPCOLOR8:3,MAPCOLOR9:4,MAPCOLOR13:2,POP_EST:54841552,POP_RANK:16,GDP_MD_EST:739100,POP_YEAR:2017,LASTCENSUS:2001,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"3. Upper middle income",WIKIPEDIA:-99,FIPS_10_:"SF",ISO_A2:"ZA",ISO_A3:"ZAF",ISO_A3_EH:"ZAF",ISO_N3:"710",UN_A3:"710",WB_A2:"ZA",WB_A3:"ZAF",WOE_ID:23424942,WOE_ID_EH:23424942,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ZAF",ADM0_A3_US:"ZAF",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Southern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:12,LONG_LEN:12,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:1.7,MAX_LABEL:6.7},bbox:[16.344977,-34.819166,32.83012,-22.091313],geometry:{type:"Polygon",coordinates:[[[19.895768,-24.76779],[20.165726,-24.917962],[20.758609,-25.868136],[20.66647,-26.477453],[20.889609,-26.828543],[21.605896,-26.726534],[22.105969,-26.280256],[22.579532,-25.979448],[22.824271,-25.500459],[23.312097,-25.26869],[23.73357,-25.390129],[24.211267,-25.670216],[25.025171,-25.71967],[25.664666,-25.486816],[25.765849,-25.174845],[25.941652,-24.696373],[26.485753,-24.616327],[26.786407,-24.240691],[27.11941,-23.574323],[28.017236,-22.827754],[29.432188,-22.091313],[29.839037,-22.102216],[30.322883,-22.271612],[30.659865,-22.151567],[31.191409,-22.25151],[31.670398,-23.658969],[31.930589,-24.369417],[31.752408,-25.484284],[31.837778,-25.843332],[31.333158,-25.660191],[31.04408,-25.731452],[30.949667,-26.022649],[30.676609,-26.398078],[30.685962,-26.743845],[31.282773,-27.285879],[31.86806,-27.177927],[32.071665,-26.73382],[32.83012,-26.742192],[32.580265,-27.470158],[32.462133,-28.301011],[32.203389,-28.752405],[31.521001,-29.257387],[31.325561,-29.401978],[30.901763,-29.909957],[30.622813,-30.423776],[30.055716,-31.140269],[28.925553,-32.172041],[28.219756,-32.771953],[27.464608,-33.226964],[26.419452,-33.61495],[25.909664,-33.66704],[25.780628,-33.944646],[25.172862,-33.796851],[24.677853,-33.987176],[23.594043,-33.794474],[22.988189,-33.916431],[22.574157,-33.864083],[21.542799,-34.258839],[20.689053,-34.417175],[20.071261,-34.795137],[19.616405,-34.819166],[19.193278,-34.462599],[18.855315,-34.444306],[18.424643,-33.997873],[18.377411,-34.136521],[18.244499,-33.867752],[18.25008,-33.281431],[17.92519,-32.611291],[18.24791,-32.429131],[18.221762,-31.661633],[17.566918,-30.725721],[17.064416,-29.878641],[17.062918,-29.875954],[16.344977,-28.576705],[16.824017,-28.082162],[17.218929,-28.355943],[17.387497,-28.783514],[17.836152,-28.856378],[18.464899,-29.045462],[19.002127,-28.972443],[19.894734,-28.461105],[19.895768,-24.76779]],[[28.978263,-28.955597],[28.5417,-28.647502],[28.074338,-28.851469],[27.532511,-29.242711],[26.999262,-29.875954],[27.749397,-30.645106],[28.107205,-30.545732],[28.291069,-30.226217],[28.8484,-30.070051],[29.018415,-29.743766],[29.325166,-29.257387],[28.978263,-28.955597]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Zambia",SOV_A3:"ZMB",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Zambia",ADM0_A3:"ZMB",GEOU_DIF:0,GEOUNIT:"Zambia",GU_A3:"ZMB",SU_DIF:0,SUBUNIT:"Zambia",SU_A3:"ZMB",BRK_DIFF:0,NAME:"Zambia",NAME_LONG:"Zambia",BRK_A3:"ZMB",BRK_NAME:"Zambia",BRK_GROUP:null,ABBREV:"Zambia",POSTAL:"ZM",FORMAL_EN:"Republic of Zambia",FORMAL_FR:null,NAME_CIAWF:"Zambia",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Zambia",NAME_ALT:null,MAPCOLOR7:5,MAPCOLOR8:8,MAPCOLOR9:5,MAPCOLOR13:13,POP_EST:15972e3,POP_RANK:14,GDP_MD_EST:65170,POP_YEAR:2017,LASTCENSUS:2010,GDP_YEAR:2016,ECONOMY:"7. Least developed region",INCOME_GRP:"4. Lower middle income",WIKIPEDIA:-99,FIPS_10_:"ZA",ISO_A2:"ZM",ISO_A3:"ZMB",ISO_A3_EH:"ZMB",ISO_N3:"894",UN_A3:"894",WB_A2:"ZM",WB_A3:"ZMB",WOE_ID:23425003,WOE_ID_EH:23425003,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ZMB",ADM0_A3_US:"ZMB",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:6,LONG_LEN:6,ABBREV_LEN:6,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[21.887843,-17.961229,33.485688,-8.238257],geometry:{type:"Polygon",coordinates:[[[23.215048,-17.523116],[22.562478,-16.898451],[21.887843,-16.08031],[21.933886,-12.898437],[24.016137,-12.911046],[23.930922,-12.565848],[24.079905,-12.191297],[23.904154,-11.722282],[24.017894,-11.237298],[23.912215,-10.926826],[24.257155,-10.951993],[24.314516,-11.262826],[24.78317,-11.238694],[25.418118,-11.330936],[25.75231,-11.784965],[26.553088,-11.92444],[27.16442,-11.608748],[27.388799,-12.132747],[28.155109,-12.272481],[28.523562,-12.698604],[28.934286,-13.248958],[29.699614,-13.257227],[29.616001,-12.178895],[29.341548,-12.360744],[28.642417,-11.971569],[28.372253,-11.793647],[28.49607,-10.789884],[28.673682,-9.605925],[28.449871,-9.164918],[28.734867,-8.526559],[29.002912,-8.407032],[3
50.346086,-8.238257],[30.74001,-8.340006],[31.157751,-8.594579],[31.556348,-8.762049],[32.191865,-8.930359],[32.759375,-9.230599],[33.231388,-9.676722],[33.485688,-10.525559],[33.31531,-10.79655],[33.114289,-11.607198],[33.306422,-12.435778],[32.991764,-12.783871],[32.688165,-13.712858],[33.214025,-13.97186],[30.179481,-14.796099],[30.274256,-15.507787],[29.516834,-15.644678],[28.947463,-16.043051],[28.825869,-16.389749],[28.467906,-16.4684],[27.598243,-17.290831],[27.044427,-17.938026],[26.706773,-17.961229],[26.381935,-17.846042],[25.264226,-17.73654],[25.084443,-17.661816],[25.07695,-17.578823],[24.682349,-17.353411],[24.033862,-17.295843],[23.215048,-17.523116]]]}},{type:"Feature",properties:{scalerank:1,featurecla:"Admin-0 country",LABELRANK:3,SOVEREIGNT:"Zimbabwe",SOV_A3:"ZWE",ADM0_DIF:0,LEVEL:2,TYPE:"Sovereign country",ADMIN:"Zimbabwe",ADM0_A3:"ZWE",GEOU_DIF:0,GEOUNIT:"Zimbabwe",GU_A3:"ZWE",SU_DIF:0,SUBUNIT:"Zimbabwe",SU_A3:"ZWE",BRK_DIFF:0,NAME:"Zimbabwe",NAME_LONG:"Zimbabwe",BRK_A3:"ZWE",BRK_NAME:"Zimbabwe",BRK_GROUP:null,ABBREV:"Zimb.",POSTAL:"ZW",FORMAL_EN:"Republic of Zimbabwe",FORMAL_FR:null,NAME_CIAWF:"Zimbabwe",NOTE_ADM0:null,NOTE_BRK:null,NAME_SORT:"Zimbabwe",NAME_ALT:null,MAPCOLOR7:1,MAPCOLOR8:5,MAPCOLOR9:3,MAPCOLOR13:9,POP_EST:13805084,POP_RANK:14,GDP_MD_EST:28330,POP_YEAR:2017,LASTCENSUS:2002,GDP_YEAR:2016,ECONOMY:"5. Emerging region: G20",INCOME_GRP:"5. Low income",WIKIPEDIA:-99,FIPS_10_:"ZI",ISO_A2:"ZW",ISO_A3:"ZWE",ISO_A3_EH:"ZWE",ISO_N3:"716",UN_A3:"716",WB_A2:"ZW",WB_A3:"ZWE",WOE_ID:23425004,WOE_ID_EH:23425004,WOE_NOTE:"Exact WOE match as country",ADM0_A3_IS:"ZWE",ADM0_A3_US:"ZWE",ADM0_A3_UN:-99,ADM0_A3_WB:-99,CONTINENT:"Africa",REGION_UN:"Africa",SUBREGION:"Eastern Africa",REGION_WB:"Sub-Saharan Africa",NAME_LEN:8,LONG_LEN:8,ABBREV_LEN:5,TINY:-99,HOMEPART:1,MIN_ZOOM:0,MIN_LABEL:3,MAX_LABEL:8},bbox:[25.264226,-22.271612,32.849861,-15.507787],geometry:{type:"Polygon",coordinates:[[[29.432188,-22.091313],[28.794656,-21.639454],[28.02137,-21.485975],[27.727228,-20.851802],[27.724747,-20.499059],[27.296505,-20.39152],[26.164791,-19.293086],[25.850391,-18.714413],[25.649163,-18.536026],[25.264226,-17.73654],[26.381935,-17.846042],[26.706773,-17.961229],[27.044427,-17.938026],[27.598243,-17.290831],[28.467906,-16.4684],[28.825869,-16.389749],[28.947463,-16.043051],[29.516834,-15.644678],[30.274256,-15.507787],[30.338955,-15.880839],[31.173064,-15.860944],[31.636498,-16.07199],[31.852041,-16.319417],[32.328239,-16.392074],[32.847639,-16.713398],[32.849861,-17.979057],[32.654886,-18.67209],[32.611994,-19.419383],[32.772708,-19.715592],[32.659743,-20.30429],[32.508693,-20.395292],[32.244988,-21.116489],[31.191409,-22.25151],[30.659865,-22.151567],[30.322883,-22.271612],[29.839037,-22.102216],[29.432188,-22.091313]]]}}],WC=[-180,-90,180,83.64513],HC={type:kC,features:zC,bbox:WC};function KC(){const n=VC.map(t=>({countryName:t.name,iso_a2:t.cca2,lat:t.latlng[0],lng:t.latlng[1],flag:t.flag,languages:t.languages||{},population:t.population||0,trends:[]})),e=new Map;return n.forEach(t=>{e.set(t.iso_a2,t)}),{allCountriesData:n,countriesLookup:e}}function YC(){return HC}async function $C(){try{const n=await fetch("https://storage.googleapis.com/urbandictionaryworld-87a6e80c/000000000000.json"),e=n.headers.get("Last-Modified")?new Date(n.headers.get("Last-Modified")):null;return{urbanDictionaryTerms:(await n.text()).split(` 6`).filter(r=>r.trim()!=="").map(JSON.parse),lastModifiedDate:e}}catch(n){return console.error("Error fetching Urban Dictionary data:",n),{urbanDictionaryTerms:[],lastModifiedDate:null}}}function jC(n,e){if(n.length===0)return{combinedTrendingData:[],pulsingCountries:[]};const t=n.map(r=>({...r,trends:[],pulse:!1})),i=[];return e.forEach(r=>{const s=t.find(a=>a.iso_a2===r.country);s&&(s.trends=r.terms.slice(0,3).map(a=>({term:a,definition:""})),s.pulse=r.pulse||!1,r.pulse===!0&&i.push({lat:s.lat,lng:s.lng,countryName:s.countryName,iso_a2:s.iso_a2}))}),{combinedTrendingData:t,pulsingCountries:i}}async function XC(n){try{const t=await(await fetch(`https://api.urbandictionary.com/v0/define?term=${encodeURIComponent(n)}`)).json();if(t.list&&t.list.length>0){const i=t.list.sort((a,o)=>o.thumbs_up-a.thumbs_up)[0];let r=i.definition.replace(/\[([^\]]+)\]/g,"$1").trim(),s=i.example.replace(/\[([^\]]+)\]/g,"$1").trim();return r=r+` 7`+s,r}return"No definition found"}catch{return"Unable to fetch definition"}}function ZC(n){if(!n)return"loading...";const t=new Date().getTime()-n.getTime(),i=Math.floor(t/(1e3*60));if(i<1)return"last updated less than a minute ago";if(i===1)return"last updated 1 minute ago";if(i<60)return`last updated ${i} minutes ago`;if(i<1440){const r=Math.floor(i/60);return r===1?"last updated 1 hour ago":`last updated ${r} hours ago`}else{const r=Math.floor(i/1440);return r===1?"last updated 1 day ago":`last updated ${r} days ago`}}function QC(n,e=30){if(!n)return!0;const i=new Date().getTime()-n.getTime();return Math.floor(i/(1e3*60))>=e}function JC(n){const i=Math.min(Math.max(n,1e5),1e9);return .25+(Math.log10(i)-Math.log10(1e5))/(Math.log10(1e9)-Math.log10(1e5))*.9}function ew(n){if(!n)return"";const e=r=>r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),t=n.split(` 8`);let i="";return t.length>0&&t[0].trim()!==""&&(i+='<div class="mb-4">'+e(t[0])+"</div>"),t.length>1&&t[1].trim()!==""&&(i+='<div class="italic text-gray-300 pt-2">'+e(t[1])+"</div>"),i}/** 9 * @license 10 * Copyright 2010-2025 Three.js Authors 11 * SPDX-License-Identifier: MIT 12 */const v4="177",A0={ROTATE:0,DOLLY:1,PAN:2},ho={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},XS=0,Mh=1,ZS=2,tw=0,Md=1,nw=2,Ur=3,Mr=0,Q1=1,Qn=2,xr=0,or=1,wo=2,Bo=3,Uo=4,No=5,Gi=100,xd=101,Sd=102,QS=103,JS=104,U2=200,yd=201,Nd=202,vd=203,e8=204,t8=205,Od=206,Td=207,Rd=208,bd=209,Id=210,iw=211,rw=212,sw=213,aw=214,n8=0,i8=1,r8=2,Y3=3,s8=4,a8=5,o8=6,l8=7,$8=0,ey=1,ty=2,Sr=0,ny=1,iy=2,ry=3,sy=4,ow=5,ay=6,oy=7,Pd=300,p2=301,_2=302,Fo=303,Go=304,oa=306,la=1e3,s2=1001,ua=1002,hn=1003,Ld=1004,H2=1005,li=1006,vo=1007,qr=1008,lw=1008,Ln=1009,Xs=1010,Zs=1011,R0=1012,mi=1013,cn=1014,Wn=1015,Jn=1016,G9=1017,V9=1018,Wr=1020,k9=35902,Dd=1021,j8=1022,Vn=1023,Hr=1026,Kr=1027,X8=1028,O4=1029,K2=1030,T4=1031,uw=1032,R4=1033,Qs=33776,F3=33777,G3=33778,V3=33779,u8=35840,c8=35841,A8=35842,h8=35843,f8=36196,Vo=37492,ko=37496,zo=37808,Wo=37809,Ho=37810,Ko=37811,Yo=37812,$o=37813,jo=37814,Xo=37815,Zo=37816,Qo=37817,Jo=37818,e4=37819,t4=37820,n4=37821,Js=36492,x
vendor: 6,143 bytes, line 12
12h=36494,Sh=36495,Cd=36283,d8=36284,q8=36285,p8=36286,cw=0,Aw=1,rm=2,hw=3200,fw=3201,Q2=0,ly=1,ir="",vi="srgb",L0="srgb-linear",i4="linear",Et="srgb",dw=0,Rs=7680,qw=7681,pw=7682,_w=7683,mw=34055,gw=34056,Ew=5386,Mw=512,xw=513,Sw=514,yw=515,Nw=516,vw=517,Ow=518,yh=519,wd=512,z9=513,Bd=514,W9=515,Ud=516,Fd=517,Gd=518,Vd=519,R7=35044,fo=35048,sm="300 es",sr=2e3,m2=2001;class O2{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){const i=this._listeners;return i===void 0?!1:i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){const i=this._listeners;if(i===void 0)return;const r=i[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const i=t[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,a=r.length;s<a;s++)r[s].call(this,e);e.target=null}}}const wi=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let am=1234567;const F6=Math.PI/180,ca=180/Math.PI;function u2(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(wi[n&255]+wi[n>>8&255]+wi[n>>16&255]+wi[n>>24&255]+"-"+wi[e&255]+wi[e>>8&255]+"-"+wi[e>>16&15|64]+wi[e>>24&255]+"-"+wi[t&63|128]+wi[t>>8&255]+"-"+wi[t>>16&255]+wi[t>>24&255]+wi[i&255]+wi[i>>8&255]+wi[i>>16&255]+wi[i>>24&255]).toLowerCase()}function E1(n,e,t){return Math.max(e,Math.min(t,n))}function kd(n,e){return(n%e+e)%e}function Tw(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function Rw(n,e,t){return n!==e?(t-n)/(e-n):0}function G6(n,e,t){return(1-t)*n+t*e}function bw(n,e,t,i){return G6(n,e,1-Math.exp(-t*i))}function Iw(n,e=1){return e-Math.abs(kd(n,e*2)-e)}function Pw(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function Lw(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function Dw(n,e){return n+Math.floor(Math.random()*(e-n+1))}function Cw(n,e){return n+Math.random()*(e-n)}function ww(n){return n*(.5-Math.random())}function Bw(n){n!==void 0&&(am=n);let e=am+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Uw(n){return n*F6}function Fw(n){return n*ca}function Gw(n){return(n&n-1)===0&&n!==0}function Vw(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function kw(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function zw(n,e,t,i,r){const s=Math.cos,a=Math.sin,o=s(t/2),l=a(t/2),u=s((e+i)/2),d=a((e+i)/2),q=s((e-i)/2),_=a((e-i)/2),g=s((i-e)/2),M=a((i-e)/2);switch(r){case"XYX":n.set(o*d,l*q,l*_,o*u);break;case"YZY":n.set(l*_,o*d,l*q,o*u);break;case"ZXZ":n.set(l*q,l*_,o*d,o*u);break;case"XZX":n.set(o*d,l*M,l*g,o*u);break;case"YXY":n.set(l*g,o*d,l*M,o*u);break;case"ZYZ":n.set(l*M,l*g,o*d,o*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function rr(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function M1(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const r4={DEG2RAD:F6,RAD2DEG:ca,generateUUID:u2,clamp:E1,euclideanModulo:kd,mapLinear:Tw,inverseLerp:Rw,lerp:G6,damp:bw,pingpong:Iw,smoothstep:Pw,smootherstep:Lw,randInt:Dw,randFloat:Cw,randFloatSpread:ww,seededRandom:Bw,degToRad:Uw,radToDeg:Fw,isPowerOfTwo:Gw,ceilPowerOfTwo:Vw,floorPowerOfTwo:kw,setQuaternionFromProperEuler:zw,normalize:M1,denormalize:rr};class Ce{constructor(e=0,t=0){Ce.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}
vendor: 5,568 bytes, line 12
12sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=E1(this.x,e.x,t.x),this.y=E1(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=E1(this.x,e,t),this.y=E1(this.y,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(E1(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(E1(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,a=this.y-e.y;return this.x=s*i-a*r+e.x,this.y=s*r+a*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class B0{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,s,a,o){let l=i[r+0],u=i[r+1],d=i[r+2],q=i[r+3];const _=s[a+0],g=s[a+1],M=s[a+2],N=s[a+3];if(o===0){e[t+0]=l,e[t+1]=u,e[t+2]=d,e[t+3]=q;return}if(o===1){e[t+0]=_,e[t+1]=g,e[t+2]=M,e[t+3]=N;return}if(q!==N||l!==_||u!==g||d!==M){let y=1-o;const S=l*_+u*g+d*M+q*N,R=S>=0?1:-1,O=1-S*S;if(O>Number.EPSILON){const D=Math.sqrt(O),B=Math.atan2(D,S*R);y=Math.sin(y*B)/D,o=Math.sin(o*B)/D}const b=o*R;if(l=l*y+_*b,u=u*y+g*b,d=d*y+M*b,q=q*y+N*b,y===1-o){const D=1/Math.sqrt(l*l+u*u+d*d+q*q);l*=D,u*=D,d*=D,q*=D}}e[t]=l,e[t+1]=u,e[t+2]=d,e[t+3]=q}static multiplyQuaternionsFlat(e,t,i,r,s,a){const o=i[r],l=i[r+1],u=i[r+2],d=i[r+3],q=s[a],_=s[a+1],g=s[a+2],M=s[a+3];return e[t]=o*M+d*q+l*g-u*_,e[t+1]=l*M+d*_+u*q-o*g,e[t+2]=u*M+d*g+o*_-l*q,e[t+3]=d*M-o*q-l*_-u*g,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,a=e._order,o=Math.cos,l=Math.sin,u=o(i/2),d=o(r/2),q=o(s/2),_=l(i/2),g=l(r/2),M=l(s/2);switch(a){case"XYZ":this._x=_*d*q+u*g*M,this._y=u*g*q-_*d*M,this._z=u*d*M+_*g*q,this._w=u*d*q-_*g*M;break;case"YXZ":this._x=_*d*q+u*g*M,this._y=u*g*q-_*d*M,this._z=u*d*M-_*g*q,this._w=u*d*q+_*g*M;break;case"ZXY":this._x=_*d*q-u*g*M,this._y=u*g*q+_*d*M,this._z=u*d*M+_*g*q,this._w=u*d*q-_*g*M;break;case"ZYX":this._x=_*d*q-u*g*M,this._y=u*g*q+_*d*M,this._z=u*d*M-_*g*q,this._w=u*d*q+_*g*M;break;case"YZX":this._x=_*d*q+u*g*M,this._y=u*g*q+_*d*M,this._z=u*d*M-_*g*q,this._w=u*d*q-_*g*M;break;case"XZY":this._x=_*d*q-u*g*M,this._y=u*g*q-_*d*M,this._z=u*d*M+_*g*q,this._w=u*d*q+_*g*M;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],a=t[1],o=t[5],l=t[9],u=t[2],d=t[6],q=t[10],_=i+o+q;if(_>0){const g=.5/Math.sqrt(_+1);this._w=.25/g,this._x=(d-l)*g,this._y=(s-u)*g,this._z=(a-r)*g}else if(i>o&&i>q){const g=2*Math.sqrt(1+i-o-q);this._w=(d-l)/g,this._x=.25*g,this._y=(r+a)/g,this._z=(s+u)/g}else if(o>q){const g=2*Math.sqrt(1+o-i-q);this._w=(s-u)/g,this._x=(r+a)/g,this._y=.25*g,this._z=(l+d)/g}else{const g=2*Math.sqrt(1+q-i-o);this._w=(a-r)/g,this._x=(s+u)/g,this._y=(l+d)/g,this._z=.25*g}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return i<Number.EPSILON?(i=0,Math.abs(e.x)>
vendor: 4,716 bytes, line 12
12Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(E1(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,a=e._w,o=t._x,l=t._y,u=t._z,d=t._w;return this._x=i*d+a*o+r*u-s*l,this._y=r*d+a*l+s*o-i*u,this._z=s*d+a*u+i*l-r*o,this._w=a*d-i*o-r*l-s*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,a=this._w;let o=a*e._w+i*e._x+r*e._y+s*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=a,this._x=i,this._y=r,this._z=s,this;const l=1-o*o;if(l<=Number.EPSILON){const g=1-t;return this._w=g*a+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const u=Math.sqrt(l),d=Math.atan2(u,o),q=Math.sin((1-t)*d)/u,_=Math.sin(t*d)/u;return this._w=a*q+this._w*_,this._x=i*q+this._x*_,this._y=r*q+this._y*_,this._z=s*q+this._z*_,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),i=Math.random(),r=Math.sqrt(1-i),s=Math.sqrt(i);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Z{constructor(e=0,t=0,i=0){Z.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(om.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(om.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,a=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*a,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*a,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*a,this}
vendor: 13,555 bytes, line 12
12applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,a=e.y,o=e.z,l=e.w,u=2*(a*r-o*i),d=2*(o*t-s*r),q=2*(s*i-a*t);return this.x=t+l*u+a*q-o*d,this.y=i+l*d+o*u-s*q,this.z=r+l*q+s*d-a*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=E1(this.x,e.x,t.x),this.y=E1(this.y,e.y,t.y),this.z=E1(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=E1(this.x,e,t),this.y=E1(this.y,e,t),this.z=E1(this.z,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(E1(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,a=t.x,o=t.y,l=t.z;return this.x=r*l-s*o,this.y=s*a-i*l,this.z=i*o-r*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return qc.copy(this).projectOnVector(e),this.sub(qc)}reflect(e){return this.sub(qc.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(E1(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,i=Math.sqrt(1-t*t);return this.x=i*Math.cos(e),this.y=t,this.z=i*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const qc=new Z,om=new B0;class o1{constructor(e,t,i,r,s,a,o,l,u){o1.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,a,o,l,u)}set(e,t,i,r,s,a,o,l,u){const d=this.elements;return d[0]=e,d[1]=r,d[2]=o,d[3]=t,d[4]=s,d[5]=l,d[6]=i,d[7]=a,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,a=i[0],o=i[3],l=i[6],u=i[1],d=i[4],q=i[7],_=i[2],g=i[5],M=i[8],N=r[0],y=r[3],S=r[6],R=r[1],O=r[4],b=r[7],D=r[2],B=r[5],C=r[8];return s[0]=a*N+o*R+l*D,s[3]=a*y+o*O+l*B,s[6]=a*S+o*b+l*C,s[1]=u*N+d*R+q*D,s[4]=u*y+d*O+q*B,s[7]=u*S+d*b+q*C,s[2]=_*N+g*R+M*D,s[5]=_*y+g*O+M*B,s[8]=_*S+g*b+M*C,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],d=e[8];return t*a*d-t*o*u-i*s*d+i*o*l+r*s*u-r*a*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],d=e[8],q=d*a-o*u,_=o*l-d*s,g=u*s-a*l,M=t*q+i*_+r*g;if(M===0)return this.set(0,0,0,0,0,0,0,0,0);const N=1/M;return e[0]=q*N,e[1]=(r*u-d*i)*N,e[2]=(o*i-r*a)*N,e[3]=_*N,e[4]=(d*t-r*l)*N,e[5]=(r*s-o*t)*N,e[6]=g*N,e[7]=(i*l-u*t)*N,e[8]=(a*t-i*s)*N,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return 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],this}setUvTransform(e,t,i,r,s,a,o){const l=Math.cos(s),u=Math.sin(s);return this.set(i*l,i*u,-i*(l*a+u*o)+a+e,-r*u,r*l,-r*(-u*a+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(pc.makeScale(e,t)),this}rotate(e){return this.premultiply(pc.makeRotation(-e)),this}translate(e,t){return this.premultiply(pc.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const pc=new o1;function zd(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function _8(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function uy(){const n=_8("canvas");return n.style.display="block",n}const lm={};function Yr(n){n in lm||(lm[n]=!0,console.warn(n))}function Ww(n,e,t){return new Promise(function(i,r){function s(){switch(n.clientWaitSync(e,n.SYNC_FLUSH_COMMANDS_BIT,0)){case n.WAIT_FAILED:r();break;case n.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:i()}}setTimeout(s,t)})}function Hw(n){const e=n.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function Kw(n){const e=n.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const um=new o1().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),cm=new o1().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Yw(){const n={enabled:!0,workingColorSpace:L0,spaces:{},convert:function(r,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===Et&&(r.r=Y2(r.r),r.g=Y2(r.g),r.b=Y2(r.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(r.applyMatrix3(this.spaces[s].toXYZ),r.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===Et&&(r.r=Oo(r.r),r.g=Oo(r.g),r.b=Oo(r.b))),r},workingToColorSpace:function(r,s){return this.convert(r,this.workingColorSpace,s)},colorSpaceToWorking:function(r,s){return this.convert(r,s,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===ir?i4:this.spaces[r].transfer},getLuminanceCoefficients:function(r,s=this.workingColorSpace){return r.fromArray(this.spaces[s].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,s,a){return r.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.spaces[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(r,s){return Yr("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),n.workingToColorSpace(r,s)},toWorkingColorSpace:function(r,s){return Yr("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),n.colorSpaceToWorking(r,s)}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],i=[.3127,.329];return n.define({[L0]:{primaries:e,whitePoint:i,transfer:i4,toXYZ:um,fromXYZ:cm,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:vi},outputColorSpaceConfig:{drawingBufferColorSpace:vi}},[vi]:{primaries:e,whitePoint:i,transfer:Et,toXYZ:um,fromXYZ:cm,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:vi}}}),n}const Zt=Yw();function Y2(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function Oo(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let La;class $w{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let i;if(e instanceof HTMLCanvasElement)i=e;else{La===void 0&&(La=_8("canvas")),La.width=e.width,La.height=e.height;const r=La.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),i=La}return i.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=_8("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let a=0;a<s.length;a++)s[a]=Y2(s[a]/255)*255;return i.putImageData(r,0,0),t}else if(e.data){const t=e.data.slice(0);for(let i=0;i<t.length;i++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[i]=Math.floor(Y2(t[i]/255)*255):t[i]=Y2(t[i]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let jw=0;class Wd{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:jw++}),this.uuid=u2(),this.data=e,this.dataReady=!0,this.version=0}getSize(e){const t=this.data;return t instanceof HTMLVideoElement?e.set(t.videoWidth,t.videoHeight):t!==null?e.set(t.width,t.height,t.depth||0):e.set(0,0,0),e}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const i={uuid:this.uuid,url:""},r=this.data;if(r!==null){let s;if(Array.isArray(r)){s=[];for(let a=0,o=r.length;a<o;a++)r[a].isDataTexture?s.push(_c(r[a].image)):s.push(_c(r[a]))}else s=_c(r);i.url=s}return t||(e.images[this.uuid]=i),i}}function _c(n){return typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&n instanceof ImageBitmap?$w.getDataURL(n):n.data?{data:Array.from(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let Xw=0;const mc=new Z;class ei extends O2{constructor(e=ei.DEFAULT_IMAGE,t=ei.DEFAULT_MAPPING,i=s2,r=s2,s=li,a=qr,o=Vn,l=Ln,u=ei.DEFAULT_ANISOTROPY,d=ir){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:Xw++}),this.uuid=u2(),this.name="",this.source=new Wd(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=i,this.wrapT=r,this.magFilter=s,this.minFilter=a,this.anisotropy=u,this.format=o,this.internalFormat=null,this.type=l,this.offset=new Ce(0,0),this.repeat=new Ce(1,1),this.center=new Ce(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new o1,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace
vendor: 23,750 bytes, line 12
12=d,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(e&&e.depth&&e.depth>1),this.pmremVersion=0}get width(){return this.source.getSize(mc).x}get height(){return this.source.getSize(mc).y}get depth(){return this.source.getSize(mc).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Texture.setValues(): parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Texture.setValues(): property '${t}' does not exist.`);continue}r&&i&&r.isVector2&&i.isVector2||r&&i&&r.isVector3&&i.isVector3||r&&i&&r.isMatrix3&&i.isMatrix3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const i={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Pd)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case la:e.x=e.x-Math.floor(e.x);break;case s2:e.x=e.x<0?0:1;break;case ua:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case la:e.y=e.y-Math.floor(e.y);break;case s2:e.y=e.y<0?0:1;break;case ua:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}ei.DEFAULT_IMAGE=null;ei.DEFAULT_MAPPING=Pd;ei.DEFAULT_ANISOTROPY=1;class wt{constructor(e=0,t=0,i=0,r=1){wt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,a=e.elements;return this.x=a[0]*t+a[4]*i+a[8]*r+a[12]*s,this.y=a[1]*t+a[5]*i+a[9]*r+a[13]*s,this.z=a[2]*t+a[6]*i+a[10]*r+a[14]*s,this.w=a[3]*t+a[7]*i+a[11]*r+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,u=l[0],d=l[4],q=l[8],_=l[1],g=l[5],M=l[9],N=l[2],y=l[6],S=l[10];if(Math.abs(d-_)<.01&&Math.abs(q-N)<.01&&Math.abs(M-y)<.01){if(Math.abs(d+_)<.1&&Math.abs(q+N)<.1&&Math.abs(M+y)<.1&&Math.abs(u+g+S-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const O=(u+1)/2,b=(g+1)/2,D=(S+1)/2,B=(d+_)/4,C=(q+N)/4,G=(M+y)/4;return O>b&&O>D?O<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(O),r=B/i,s=C/i):b>D?b<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(b),i=B/r,s=G/r):D<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(D),i=C/s,r=G/s),this.set(i,r,s,t),this}let R=Math.sqrt((y-M)*(y-M)+(q-N)*(q-N)+(_-d)*(_-d));return Math.abs(R)<.001&&(R=1),this.x=(y-M)/R,this.y=(q-N)/R,this.z=(_-d)/R,this.w=Math.acos((u+g+S-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=E1(this.x,e.x,t.x),this.y=E1(this.y,e.y,t.y),this.z=E1(this.z,e.z,t.z),this.w=E1(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=E1(this.x,e,t),this.y=E1(this.y,e,t),this.z=E1(this.z,e,t),this.w=E1(this.w,e,t),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(E1(i,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class o3 extends O2{constructor(e=1,t=1,i={}){super(),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:li,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},i),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=i.depth,this.scissor=new wt(0,0,e,t),this.scissorTest=!1,this.viewport=new wt(0,0,e,t);const r={width:e,height:t,depth:i.depth},s=new ei(r);this.textures=[];const a=i.count;for(let o=0;o<a;o++)this.textures[o]=s.clone(),this.textures[o].isRenderTargetTexture=!0,this.textures[o].renderTarget=this;this._setTextureOptions(i),this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.resolveDepthBuffer=i.resolveDepthBuffer,this.resolveStencilBuffer=i.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=i.depthTexture,this.samples=i.samples,this.multiview=i.multiview}_setTextureOptions(e={}){const t={minFilter:li,generateMipmaps:!1,flipY:!1,internalFormat:null};e.mapping!==void 0&&(t.mapping=e.mapping),e.wrapS!==void 0&&(t.wrapS=e.wrapS),e.wrapT!==void 0&&(t.wrapT=e.wrapT),e.wrapR!==void 0&&(t.wrapR=e.wrapR),e.magFilter!==void 0&&(t.magFilter=e.magFilter),e.minFilter!==void 0&&(t.minFilter=e.minFilter),e.format!==void 0&&(t.format=e.format),e.type!==void 0&&(t.type=e.type),e.anisotropy!==void 0&&(t.anisotropy=e.anisotropy),e.colorSpace!==void 0&&(t.colorSpace=e.colorSpace),e.flipY!==void 0&&(t.flipY=e.flipY),e.generateMipmaps!==void 0&&(t.generateMipmaps=e.generateMipmaps),e.internalFormat!==void 0&&(t.internalFormat=e.internalFormat);for(let i=0;i<this.textures.length;i++)this.textures[i].setValues(t)}get texture(){return this.textures[0]}set texture(e){this.textures[0]=e}set depthTexture(e){this._depthTexture!==null&&(this._depthTexture.renderTarget=null),e!==null&&(e.renderTarget=this),this._depthTexture=e}get depthTexture(){return this._depthTexture}setSize(e,t,i=1){if(this.width!==e||this.height!==t||this.depth!==i){this.width=e,this.height=t,this.depth=i;for(let r=0,s=this.textures.length;r<s;r++)this.textures[r].image.width=e,this.textures[r].image.height=t,this.textures[r].image.depth=i,this.textures[r].isArrayTexture=this.textures[r].image.depth>1;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,i=e.textures.length;t<i;t++){this.textures[t]=e.textures[t].clone(),this.textures[t].isRenderTargetTexture=!0,this.textures[t].renderTarget=this;const r=Object.assign({},e.textures[t].image);this.textures[t].source=new Wd(r)}return this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.resolveDepthBuffer=e.resolveDepthBuffer,this.resolveStencilBuffer=e.resolveStencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class $3 extends o3{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Hd extends ei{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=hn,this.minFilter=hn,this.wrapR=s2,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class Zw extends ei{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=hn,this.minFilter=hn,this.wrapR=s2,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class l3{constructor(e=new Z(1/0,1/0,1/0),t=new Z(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t+=3)this.expandByPoint(m0.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,i=e.count;t<i;t++)this.expandByPoint(m0.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=m0.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const i=e.geometry;if(i!==void 0){const s=i.getAttribute("position");if(t===!0&&s!==void 0&&e.isInstancedMesh!==!0)for(let a=0,o=s.count;a<o;a++)e.isMesh===!0?e.getVertexPosition(a,m0):m0.fromBufferAttribute(s,a),m0.applyMatrix4(e.matrixWorld),this.expandByPoint(m0);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),C5.copy(e.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),C5.copy(i.boundingBox)),C5.applyMatrix4(e.matrixWorld),this.union(C5)}const r=e.children;for(let s=0,a=r.length;s<a;s++)this.expandByObject(r[s],t);return this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,m0),m0.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(j4),w5.subVectors(this.max,j4),Da.subVectors(e.a,j4),Ca.subVectors(e.b,j4),wa.subVectors(e.c,j4),g3.subVectors(Ca,Da),E3.subVectors(wa,Ca),As.subVectors(Da,wa);let t=[0,-g3.z,g3.y,0,-E3.z,E3.y,0,-As.z,As.y,g3.z,0,-g3.x,E3.z,0,-E3.x,As.z,0,-As.x,-g3.y,g3.x,0,-E3.y,E3.x,0,-As.y,As.x,0];return!gc(t,Da,Ca,wa,w5)||(t=[1,0,0,0,1,0,0,0,1],!gc(t,Da,Ca,wa,w5))?!1:(B5.crossVectors(g3,E3),t=[B5.x,B5.y,B5.z],gc(t,Da,Ca,wa,w5))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,m0).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(m0).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(P2[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),P2[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),P2[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),P2[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),P2[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),P2[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),P2[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),P2[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(P2),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}const P2=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z],m0=new Z,C5=new l3,Da=new Z,Ca=new Z,wa=new Z,g3=new Z,E3=new Z,As=new Z,j4=new Z,w5=new Z,B5=new Z,hs=new Z;function gc(n,e,t,i,r){for(let s=0,a=n.length-3;s<=a;s+=3){hs.fromArray(n,s);const o=r.x*Math.abs(hs.x)+r.y*Math.abs(hs.y)+r.z*Math.abs(hs.z),l=e.dot(hs),u=t.dot(hs),d=i.dot(hs);if(Math.max(-Math.max(l,u,d),Math.min(l,u,d))>o)return!1}return!0}const Qw=new l3,X4=new Z,Ec=new Z;class Q3{constructor(e=new Z,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):Qw.setFromPoints(e).getCenter(i);let r=0;for(let s=0,a=e.length;s<a;s++)r=Math.max(r,i.distanceToSquared(e[s]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;X4.subVectors(e,this.center);const t=X4.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(X4,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Ec.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(X4.copy(e.center).add(Ec)),this.expandByPoint(X4.copy(e.center).sub(Ec))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}const L2=new Z,Mc=new Z,U5=new Z,M3=new Z,xc=new Z,F5=new Z,Sc=new Z;class Z8{constructor(e=new Z,t=new Z(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,L2)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=L2.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(L2.copy(this.origin).addScaledVector(this.direction,t),L2.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Mc.copy(e).add(t).multiplyScalar(.5),U5.copy(t).sub(e).normalize(),M3.copy(this.origin).sub(Mc);const s=e.distanceTo(t)*.5,a=-this.direction.dot(U5),o=M3.dot(this.direction),l=-M3.dot(U5),u=M3.lengthSq(),d=Math.abs(1-a*a);let q,_,g,M;if(d>0)if(q=a*l-o,_=a*o-l,M=s*d,q>=0)if(_>=-M)if(_<=M){const N=1/d;q*=N,_*=N,g=q*(q+a*_+2*o)+_*(a*q+_+2*l)+u}else _=s,q=Math.max(0,-(a*_+o)),g=-q*q+_*(_+2*l)+u;else _=-s,q=Math.max(0,-(a*_+o)),g=-q*q+_*(_+2*l)+u;else _<=-M?(q=Math.max(0,-(-a*s+o)),_=q>0?-s:Math.min(Math.max(-s,-l),s),g=-q*q+_*(_+2*l)+u):_<=M?(q=0,_=Math.min(Math.max(-s,-l),s),g=_*(_+2*l)+u):(q=Math.max(0,-(a*s+o)),_=q>0?s:Math.min(Math.max(-s,-l),s),g=-q*q+_*(_+2*l)+u);else _=a>0?-s:s,q=Math.max(0,-(a*_+o)),g=-q*q+_*(_+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,q),r&&r.copy(Mc).addScaledVector(U5,_),g}intersectSphere(e,t){L2.subVectors(e.center,this.origin);const i=L2.dot(this.direction),r=L2.dot(L2)-i*i,s=e.radius*e.radius;if(r>s)return null;const a=Math.sqrt(s-r),o=i-a,l=i+a;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,a,o,l;const u=1/this.direction.x,d=1/this.direction.y,q=1/this.direction.z,_=this.origin;return u>=0?(i=(e.min.x-_.x)*u,r=(e.max.x-_.x)*u):(i=(e.max.x-_.x)*u,r=(e.min.x-_.x)*u),d>=0?(s=(e.min.y-_.y)*d,a=(e.max.y-_.y)*d):(s=(e.max.y-_.y)*d,a=(e.min.y-_.y)*d),i>a||s>r||((s>i||isNaN(i))&&(i=s),(a<r||isNaN(r))&&(r=a),q>=0?(o=(e.min.z-_.z)*q,l=(e.max.z-_.z)*q):(o=(e.max.z-_.z)*q,l=(e.min.z-_.z)*q),i>l||o>r)||((o>i||i!==i)&&(i=o),(l<r||r!==r)&&(r=l),r<0)?null:this.at(i>=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,L2)!==null}intersectTriangle(e,t,i,r,s){xc.subVectors(t,e),F5.subVectors(i,e),Sc.crossVectors(xc,F5);let a=this.direction.dot(Sc),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;M3.subVectors(this.origin,e);const l=o*this.direction.dot(F5.crossVectors(M3,F5));if(l<0)return null;const u=o*this.direction.dot(xc.cross(M3));if(u<0||l+u>a)return null;const d=-o*M3.dot(Sc);return d<0?null:this.at(d/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}
vendor: 11,741 bytes, line 12
12class Yt{constructor(e,t,i,r,s,a,o,l,u,d,q,_,g,M,N,y){Yt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,a,o,l,u,d,q,_,g,M,N,y)}set(e,t,i,r,s,a,o,l,u,d,q,_,g,M,N,y){const S=this.elements;return S[0]=e,S[4]=t,S[8]=i,S[12]=r,S[1]=s,S[5]=a,S[9]=o,S[13]=l,S[2]=u,S[6]=d,S[10]=q,S[14]=_,S[3]=g,S[7]=M,S[11]=N,S[15]=y,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Yt().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/Ba.setFromMatrixColumn(e,0).length(),s=1/Ba.setFromMatrixColumn(e,1).length(),a=1/Ba.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*a,t[9]=i[9]*a,t[10]=i[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,a=Math.cos(i),o=Math.sin(i),l=Math.cos(r),u=Math.sin(r),d=Math.cos(s),q=Math.sin(s);if(e.order==="XYZ"){const _=a*d,g=a*q,M=o*d,N=o*q;t[0]=l*d,t[4]=-l*q,t[8]=u,t[1]=g+M*u,t[5]=_-N*u,t[9]=-o*l,t[2]=N-_*u,t[6]=M+g*u,t[10]=a*l}else if(e.order==="YXZ"){const _=l*d,g=l*q,M=u*d,N=u*q;t[0]=_+N*o,t[4]=M*o-g,t[8]=a*u,t[1]=a*q,t[5]=a*d,t[9]=-o,t[2]=g*o-M,t[6]=N+_*o,t[10]=a*l}else if(e.order==="ZXY"){const _=l*d,g=l*q,M=u*d,N=u*q;t[0]=_-N*o,t[4]=-a*q,t[8]=M+g*o,t[1]=g+M*o,t[5]=a*d,t[9]=N-_*o,t[2]=-a*u,t[6]=o,t[10]=a*l}else if(e.order==="ZYX"){const _=a*d,g=a*q,M=o*d,N=o*q;t[0]=l*d,t[4]=M*u-g,t[8]=_*u+N,t[1]=l*q,t[5]=N*u+_,t[9]=g*u-M,t[2]=-u,t[6]=o*l,t[10]=a*l}else if(e.order==="YZX"){const _=a*l,g=a*u,M=o*l,N=o*u;t[0]=l*d,t[4]=N-_*q,t[8]=M*q+g,t[1]=q,t[5]=a*d,t[9]=-o*d,t[2]=-u*d,t[6]=g*q+M,t[10]=_-N*q}else if(e.order==="XZY"){const _=a*l,g=a*u,M=o*l,N=o*u;t[0]=l*d,t[4]=-q,t[8]=u*d,t[1]=_*q+N,t[5]=a*d,t[9]=g*q-M,t[2]=M*q-g,t[6]=o*d,t[10]=N*q+_}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Jw,e,eB)}lookAt(e,t,i){const r=this.elements;return Lr.subVectors(e,t),Lr.lengthSq()===0&&(Lr.z=1),Lr.normalize(),x3.crossVectors(i,Lr),x3.lengthSq()===0&&(Math.abs(i.z)===1?Lr.x+=1e-4:Lr.z+=1e-4,Lr.normalize(),x3.crossVectors(i,Lr)),x3.normalize(),G5.crossVectors(Lr,x3),r[0]=x3.x,r[4]=G5.x,r[8]=Lr.x,r[1]=x3.y,r[5]=G5.y,r[9]=Lr.y,r[2]=x3.z,r[6]=G5.z,r[10]=Lr.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,a=i[0],o=i[4],l=i[8],u=i[12],d=i[1],q=i[5],_=i[9],g=i[13],M=i[2],N=i[6],y=i[10],S=i[14],R=i[3],O=i[7],b=i[11],D=i[15],B=r[0],C=r[4],G=r[8],L=r[12],P=r[1],w=r[5],z=r[9],H=r[13],j=r[2],Y=r[6],Q=r[10],oe=r[14],ae=r[3],fe=r[7],xe=r[11],Te=r[15];return s[0]=a*B+o*P+l*j+u*ae,s[4]=a*C+o*w+l*Y+u*fe,s[8]=a*G+o*z+l*Q+u*xe,s[12]=a*L+o*H+l*oe+u*Te,s[1]=d*B+q*P+_*j+g*ae,s[5]=d*C+q*w+_*Y+g*fe,s[9]=d*G+q*z+_*Q+g*xe,s[13]=d*L+q*H+_*oe+g*Te,s[2]=M*B+N*P+y*j+S*ae,s[6]=M*C+N*w+y*Y+S*fe,s[10]=M*G+N*z+y*Q+S*xe,s[14]=M*L+N*H+y*oe+S*Te,s[3]=R*B+O*P+b*j+D*ae,s[7]=R*C+O*w+b*Y+D*fe,s[11]=R*G+O*z+b*Q+D*xe,s[15]=R*L+O*H+b*oe+D*Te,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],a=e[1],o=e[5],l=e[9],u=e[13],d=e[2],q=e[6],_=e[10],g=e[14],M=e[3],N=e[7],y=e[11],S=e[15];return M*(+s*l*q-r*u*q-s*o*_+i*u*_+r*o*g-i*l*g)+N*(+t*l*g-t*u*_+s*a*_-r*a*g+r*u*d-s*l*d)+y*(+t*u*q-t*o*g-s*a*q+i*a*g+s*o*d-i*u*d)+S*(-r*o*d-t*l*q+t*o*_+r*a*q-i*a*_+i*l*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],d=e[8],q=e[9],_=e[10],g=e[11],M=e[12],N=e[13],y=e[14],S=e[15],R=q*y*u-N*_*u+N*l*g-o*y*g-q*l*S+o*_*S,O=M*_*u-d*y*u-M*l*g+a*y*g+d*l*S-a*_*S,b=d*N*u-M*q*u+M*o*g-a*N*g-d*o*S+a*q*S,D=M*q*l-d*N*l-M*o*_+a*N*_+d*o*y-a*q*y,B=t*R+i*O+r*b+s*D;if(B===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const C=1/B;return e[0]=R*C,e[1]=(N*_*s-q*y*s-N*r*g+i*y*g+q*r*S-i*_*S)*C,e[2]=(o*y*s-N*l*s+N*r*u-i*y*u-o*r*S+i*l*S)*C,e[3]=(q*l*s-o*_*s-q*r*u+i*_*u+o*r*g-i*l*g)*C,e[4]=O*C,e[5]=(d*y*s-M*_*s+M*r*g-t*y*g-d*r*S+t*_*S)*C,e[6]=(M*l*s-a*y*s-M*r*u+t*y*u+a*r*S-t*l*S)*C,e[7]=(a*_*s-d*l*s+d*r*u-t*_*u-a*r*g+t*l*g)*C,e[8]=b*C,e[9]=(M*q*s-d*N*s-M*i*g+t*N*g+d*i*S-t*q*S)*C,e[10]=(a*N*s-M*o*s+M*i*u-t*N*u-a*i*S+t*o*S)*C,e[11]=(d*o*s-a*q*s-d*i*u+t*q*u+a*i*g-t*o*g)*C,e[12]=D*C,e[13]=(d*N*r-M*q*r+M*i*_-t*N*_-d*i*y+t*q*y)*C,e[14]=(M*o*r-a*N*r-M*i*l+t*N*l+a*i*y-t*o*y)*C,e[15]=(a*q*r-d*o*r+d*i*l-t*q*l-a*i*_+t*o*_)*C,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,a=e.x,o=e.y,l=e.z,u=s*a,d=s*o;return this.set(u*a+i,u*o-r*l,u*l+r*o,0,u*o+r*l,d*o+i,d*l-r*a,0,u*l-r*o,d*l+r*a,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,a){return this.set(1,i,s,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,a=t._y,o=t._z,l=t._w,u=s+s,d=a+a,q=o+o,_=s*u,g=s*d,M=s*q,N=a*d,y=a*q,S=o*q,R=l*u,O=l*d,b=l*q,D=i.x,B=i.y,C=i.z;return r[0]=(1-(N+S))*D,r[1]=(g+b)*D,r[2]=(M-O)*D,r[3]=0,r[4]=(g-b)*B,r[5]=(1-(_+S))*B,r[6]=(y+R)*B,r[7]=0,r[8]=(M+O)*C,r[9]=(y-R)*C,r[10]=(1-(_+N))*C,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=Ba.set(r[0],r[1],r[2]).length();const a=Ba.set(r[4],r[5],r[6]).length(),o=Ba.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],g0.copy(this);const u=1/s,d=1/a,q=1/o;return g0.elements[0]*=u,g0.elements[1]*=u,g0.elements[2]*=u,g0.elements[4]*=d,g0.elements[5]*=d,g0.elements[6]*=d,g0.elements[8]*=q,g0.elements[9]*=q,g0.elements[10]*=q,t.setFromRotationMatrix(g0),i.x=s,i.y=a,i.z=o,this}makePerspective(e,t,i,r,s,a,o=sr){const l=this.elements,u=2*s/(t-e),d=2*s/(i-r),q=(t+e)/(t-e),_=(i+r)/(i-r);let g,M;if(o===sr)g=-(a+s)/(a-s),M=-2*a*s/(a-s);else if(o===m2)g=-a/(a-s),M=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return l[0]=u,l[4]=0,l[8]=q,l[12]=0,l[1]=0,l[5]=d,l[9]=_,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=M,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,a,o=sr){const l=this.elements,u=1/(t-e),d=1/(i-r),q=1/(a-s),_=(t+e)*u,g=(i+r)*d;let M,N;if(o===sr)M=(a+s)*q,N=-2*q;else if(o===m2)M=s*q,N=-1*q;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return l[0]=2*u,l[4]=0,l[8]=0,l[12]=-_,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=N,l[14]=-M,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const Ba=new Z,g0=new Yt,Jw=new Z(0,0,0),eB=new Z(1,1,1),x3=new Z,G5=new Z,Lr=new Z,Am=new Yt,hm=new B0;class Oi{constructor(e=0,t=0,i=0,r=Oi.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],a=r[4],o=r[8],l=r[1],u=r[5],d=r[9],q=r[2],_=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(E1(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-d,g),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(_,u),this._z=0);break;case"YXZ":this._x=Math.asin(-E1(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(o,g),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-q,s),this._z=0);break;case"ZXY":this._x=Math.asin(E1(_,-1,1)),Math.abs(_)<.9999999?(this._y=Math.atan2(-q,g),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-E1(q,-1,1)),Math.abs(q)<.9999999?(this._x=Math.atan2(_,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-a,u));break;case"YZX":this._z=Math.asin(E1(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-q,s)):(this._x=0,this._y=Math.atan2(o,g));break;case"XZY":this._z=Math.asin(-E1(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(_,u),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-d,g),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return Am.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Am,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return hm.setFromEuler(this),this.setFromQuaternion(hm,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Oi.DEFAULT_ORDER="XYZ";class Kd{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}
vendor: 5,642 bytes, line 12
12isEnabled(e){return(this.mask&(1<<e|0))!==0}}let tB=0;const fm=new Z,Ua=new B0,D2=new Yt,V5=new Z,Z4=new Z,nB=new Z,iB=new B0,dm=new Z(1,0,0),qm=new Z(0,1,0),pm=new Z(0,0,1),_m={type:"added"},rB={type:"removed"},Fa={type:"childadded",child:null},yc={type:"childremoved",child:null};class En extends O2{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:tB++}),this.uuid=u2(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=En.DEFAULT_UP.clone();const e=new Z,t=new Oi,i=new B0,r=new Z(1,1,1);function s(){i.setFromEuler(t,!1)}function a(){t.setFromQuaternion(i,void 0,!1)}t._onChange(s),i._onChange(a),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new Yt},normalMatrix:{value:new o1}}),this.matrix=new Yt,this.matrixWorld=new Yt,this.matrixAutoUpdate=En.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=En.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Kd,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.customDepthMaterial=void 0,this.customDistanceMaterial=void 0,this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Ua.setFromAxisAngle(e,t),this.quaternion.multiply(Ua),this}rotateOnWorldAxis(e,t){return Ua.setFromAxisAngle(e,t),this.quaternion.premultiply(Ua),this}rotateX(e){return this.rotateOnAxis(dm,e)}rotateY(e){return this.rotateOnAxis(qm,e)}rotateZ(e){return this.rotateOnAxis(pm,e)}translateOnAxis(e,t){return fm.copy(e).applyQuaternion(this.quaternion),this.position.add(fm.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(dm,e)}translateY(e){return this.translateOnAxis(qm,e)}translateZ(e){return this.translateOnAxis(pm,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(D2.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?V5.copy(e):V5.set(e,t,i);const r=this.parent;this.updateWorldMatrix(!0,!1),Z4.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?D2.lookAt(Z4,V5,this.up):D2.lookAt(V5,Z4,this.up),this.quaternion.setFromRotationMatrix(D2),r&&(D2.extractRotation(r.matrixWorld),Ua.setFromRotationMatrix(D2),this.quaternion.premultiply(Ua.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.removeFromParent(),e.parent=this,this.children.push(e),e.dispatchEvent(_m),Fa.child=e,this.dispatchEvent(Fa),Fa.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(rB),yc.child=e,this.dispatchEvent(yc),yc.child=null),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),D2.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),D2.multiply(e.parent.matrixWorld)),e.applyMatrix4(D2),e.removeFromParent(),e.parent=this,this.children.push(e),e.updateWorldMatrix(!1,!0),e.dispatchEvent(_m),Fa.child=e,this.dispatchEvent(Fa),Fa.child=null,this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,r=this.children.length;i<r;i++){const a=this.children[i].getObjectByProperty(e,t);if(a!==void 0)return a}}getObjectsByProperty(e,t,i=[]){this[e]===t&&i.push(this);const r=this.children;for(let s=0,a=r.length;s<a;s++)r[s].getObjectsByProperty(e,t,i);return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Z4,e,nB),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Z4,iB,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix
vendor: 7,541 bytes, line 12
12):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].updateMatrixWorld(e)}updateWorldMatrix(e,t){const i=this.parent;if(e===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),t===!0){const r=this.children;for(let s=0,a=r.length;s<a;s++)r[s].updateWorldMatrix(!1,!0)}}toJSON(e){const t=e===void 0||typeof e=="string",i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.7,type:"Object",generator:"Object3D.toJSON"});const r={};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.castShadow===!0&&(r.castShadow=!0),this.receiveShadow===!0&&(r.receiveShadow=!0),this.visible===!1&&(r.visible=!1),this.frustumCulled===!1&&(r.frustumCulled=!1),this.renderOrder!==0&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(o=>({...o})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function s(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let u=0,d=l.length;u<d;u++){const q=l[u];s(e.shapes,q)}else s(e.shapes,l)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const o=[];for(let l=0,u=this.material.length;l<u;l++)o.push(s(e.materials,this.material[l]));r.material=o}else r.material=s(e.materials,this.material);if(this.children.length>0){r.children=[];for(let o=0;o<this.children.length;o++)r.children.push(this.children[o].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let o=0;o<this.animations.length;o++){const l=this.animations[o];r.animations.push(s(e.animations,l))}}if(t){const o=a(e.geometries),l=a(e.materials),u=a(e.textures),d=a(e.images),q=a(e.shapes),_=a(e.skeletons),g=a(e.animations),M=a(e.nodes);o.length>0&&(i.geometries=o),l.length>0&&(i.materials=l),u.length>0&&(i.textures=u),d.length>0&&(i.images=d),q.length>0&&(i.shapes=q),_.length>0&&(i.skeletons=_),g.length>0&&(i.animations=g),M.length>0&&(i.nodes=M)}return i.object=r,i;function a(o){const l=[];for(const u in o){const d=o[u];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i<e.children.length;i++){const r=e.children[i];this.add(r.clone())}return this}}En.DEFAULT_UP=new Z(0,1,0);En.DEFAULT_MATRIX_AUTO_UPDATE=!0;En.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const E0=new Z,C2=new Z,Nc=new Z,w2=new Z,Ga=new Z,Va=new Z,mm=new Z,vc=new Z,Oc=new Z,Tc=new Z,Rc=new wt,bc=new wt,Ic=new wt;class O0{constructor(e=new Z,t=new Z,i=new Z){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,r){r.subVectors(i,t),E0.subVectors(e,t),r.cross(E0);const s=r.lengthSq();return s>0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){E0.subVectors(r,t),C2.subVectors(i,t),Nc.subVectors(e,t);const a=E0.dot(E0),o=E0.dot(C2),l=E0.dot(Nc),u=C2.dot(C2),d=C2.dot(Nc),q=a*u-o*o;if(q===0)return s.set(0,0,0),null;const _=1/q,g=(u*l-o*d)*_,M=(a*d-o*l)*_;return s.set(1-g-M,M,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,w2)===null?!1:w2.x>=0&&w2.y>=0&&w2.x+w2.y<=1}static getInterpolation(e,t,i,r,s,a,o,l){return this.getBarycoord(e,t,i,r,w2)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,w2.x),l.addScaledVector(a,w2.y),l.addScaledVector(o,w2.z),l)}static getInterpolatedAttribute(e,t,i,r,s,a){return Rc.setScalar(0),bc.setScalar(0),Ic.setScalar(0),Rc.fromBufferAttribute(e,t),bc.fromBufferAttribute(e,i),Ic.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(Rc,s.x),a.addScaledVector(bc,s.y),a.addScaledVector(Ic,s.z),a}static isFrontFacing(e,t,i,r){return E0.subVectors(i,t),C2.subVectors(e,t),E0.cross(C2).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return E0.subVectors(this.c,this.b),C2.subVectors(this.a,this.b),E0.cross(C2).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return O0.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return O0.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return O0.getInterpolation(e,this.a,this.b,this.c,t,i,r,s
vendor: 36,178 bytes, line 12
12)}containsPoint(e){return O0.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return O0.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let a,o;Ga.subVectors(r,i),Va.subVectors(s,i),vc.subVectors(e,i);const l=Ga.dot(vc),u=Va.dot(vc);if(l<=0&&u<=0)return t.copy(i);Oc.subVectors(e,r);const d=Ga.dot(Oc),q=Va.dot(Oc);if(d>=0&&q<=d)return t.copy(r);const _=l*q-d*u;if(_<=0&&l>=0&&d<=0)return a=l/(l-d),t.copy(i).addScaledVector(Ga,a);Tc.subVectors(e,s);const g=Ga.dot(Tc),M=Va.dot(Tc);if(M>=0&&g<=M)return t.copy(s);const N=g*u-l*M;if(N<=0&&u>=0&&M<=0)return o=u/(u-M),t.copy(i).addScaledVector(Va,o);const y=d*M-g*q;if(y<=0&&q-d>=0&&g-M>=0)return mm.subVectors(s,r),o=(q-d)/(q-d+(g-M)),t.copy(r).addScaledVector(mm,o);const S=1/(y+N+_);return a=N*S,o=_*S,t.copy(i).addScaledVector(Ga,a).addScaledVector(Va,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const cy={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},S3={h:0,s:0,l:0},k5={h:0,s:0,l:0};function Pc(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}let Nt=class{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=vi){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Zt.colorSpaceToWorking(this,t),this}setRGB(e,t,i,r=Zt.workingColorSpace){return this.r=e,this.g=t,this.b=i,Zt.colorSpaceToWorking(this,r),this}setHSL(e,t,i,r=Zt.workingColorSpace){if(e=kd(e,1),t=E1(t,0,1),i=E1(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,a=2*i-s;this.r=Pc(a,s,e+1/3),this.g=Pc(a,s,e),this.b=Pc(a,s,e-1/3)}return Zt.colorSpaceToWorking(this,r),this}setStyle(e,t=vi){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=r[1],o=r[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(a===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=vi){const i=cy[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Y2(e.r),this.g=Y2(e.g),this.b=Y2(e.b),this}copyLinearToSRGB(e){return this.r=Oo(e.r),this.g=Oo(e.g),this.b=Oo(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=vi){return Zt.workingToColorSpace(Bi.copy(this),e),Math.round(E1(Bi.r*255,0,255))*65536+Math.round(E1(Bi.g*255,0,255))*256+Math.round(E1(Bi.b*255,0,255))}getHexString(e=vi){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Zt.workingColorSpace){Zt.workingToColorSpace(Bi.copy(this),t);const i=Bi.r,r=Bi.g,s=Bi.b,a=Math.max(i,r,s),o=Math.min(i,r,s);let l,u;const d=(o+a)/2;if(o===a)l=0,u=0;else{const q=a-o;switch(u=d<=.5?q/(a+o):q/(2-a-o),a){case i:l=(r-s)/q+(r<s?6:0);break;case r:l=(s-i)/q+2;break;case s:l=(i-r)/q+4;break}l/=6}return e.h=l,e.s=u,e.l=d,e}getRGB(e,t=Zt.workingColorSpace){return Zt.workingToColorSpace(Bi.copy(this),t),e.r=Bi.r,e.g=Bi.g,e.b=Bi.b,e}getStyle(e=vi){Zt.workingToColorSpace(Bi.copy(this),e);const t=Bi.r,i=Bi.g,r=Bi.b;return e!==vi?`color(${e} ${t.toFixed(3)} ${i.toFixed(3)} ${r.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(i*255)},${Math.round(r*255)})`}offsetHSL(e,t,i){return this.getHSL(S3),this.setHSL(S3.h+e,S3.s+t,S3.l+i)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(S3),e.getHSL(k5);const i=G6(S3.h,k5.h,t),r=G6(S3.s,k5.s,t),s=G6(S3.l,k5.l,t);return this.setHSL(i,r,s),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,i=this.g,r=this.b,s=e.elements;return this.r=s[0]*t+s[3]*i+s[6]*r,this.g=s[1]*t+s[4]*i+s[7]*r,this.b=s[2]*t+s[5]*i+s[8]*r,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}};const Bi=new Nt;Nt.NAMES=cy;let sB=0;class Wi extends O2{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:sB++}),this.uuid=u2(),this.name="",this.type="Material",this.blending=or,this.side=Mr,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=e8,this.blendDst=t8,this.blendEquation=Gi,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new Nt(0,0,0),this.blendAlpha=0,this.depthFunc=Y3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=yh,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Rs,this.stencilZFail=Rs,this.stencilZPass=Rs,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.allowOverride=!0,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==or&&(i.blending=this.blending),this.side!==Mr&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==e8&&(i.blendSrc=this.blendSrc),this.blendDst!==t8&&(i.blendDst=this.blendDst),this.blendEquation!==Gi&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Y3&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==yh&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Rs&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Rs&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Rs&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const a=[];for(const o in s){const l=s[o];delete l.metadata,a.push(l)}return a}if(t){const s=r(e.textures),a=r(e.images);s.length>0&&(i.textures=s),a.length>0&&(i.images=a)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class a0 extends Wi{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Nt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Oi,this.combine=$8,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const k2=aB();function aB(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const u=l-127;u<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):u<-14?(i[l]=1024>>-u-14,i[l|256]=1024>>-u-14|32768,r[l]=-u-1,r[l|256]=-u-1):u<=15?(i[l]=u+15<<10,i[l|256]=u+15<<10|32768,r[l]=13,r[l|256]=13):u<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let u=l<<13,d=0;for(;!(u&8388608);)u<<=1,d-=8388608;u&=-8388609,d+=947912704,s[l]=u|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)a[l]=l<<23;a[31]=1199570944,a[32]=2147483648;for(let l=33;l<63;++l)a[l]=2147483648+(l-32<<23);a[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(o[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function Dr(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=E1(n,-65504,65504),k2.floatView[0]=n;const e=k2.uint32View[0],t=e>>23&511;return k2.baseTable[t]+((e&8388607)>>k2.shiftTable[t])}function z5(n){const e=n>>10;return k2.uint32View[0]=k2.mantissaTable[k2.offsetTable[e]+(n&1023)]+k2.exponentTable[e],k2.floatView[0]}const jn=new Z,W5=new Ce;let oB=0;class vn{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:oB++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=R7,this.updateRanges=[],this.gpuType=Wn,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r<s;r++)this.array[e+r]=t.array[i+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,i=this.count;t<i;t++)W5.fromBufferAttribute(this,t),W5.applyMatrix3(e),this.setXY(t,W5.x,W5.y);else if(this.itemSize===3)for(let t=0,i=this.count;t<i;t++)jn.fromBufferAttribute(this,t),jn.applyMatrix3(e),this.setXYZ(t,jn.x,jn.y,jn.z);return this}applyMatrix4(e){for(let t=0,i=this.count;t<i;t++)jn.fromBufferAttribute(this,t),jn.applyMatrix4(e),this.setXYZ(t,jn.x,jn.y,jn.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)jn.fromBufferAttribute(this,t),jn.applyNormalMatrix(e),this.setXYZ(t,jn.x,jn.y,jn.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)jn.fromBufferAttribute(this,t),jn.transformDirection(e),this.setXYZ(t,jn.x,jn.y,jn.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let i=this.array[e*this.itemSize+t];return this.normalized&&(i=rr(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=M1(i,this.array)),this.array[e*this.itemSize+t]=i,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=rr(t,this.array)),t}setX(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=rr(t,this.array)),t}setY(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=rr(t,this.array)),t}setZ(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=rr(t,this.array)),t}setW(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array)),this.array[e+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array),s=M1(s,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this.array[e+3]=s,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==R7&&(e.usage=this.usage),e}}class Yd extends vn{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class $d extends vn{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class Ay extends vn{constructor(e,t,i){super(new Uint16Array(e),t,i),this.isFloat16BufferAttribute=!0}getX(e){let t=z5(this.array[e*this.itemSize]);return this.normalized&&(t=rr(t,this.array)),t}setX(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize]=Dr(t),this}getY(e){let t=z5(this.array[e*this.itemSize+1]);return this.normalized&&(t=rr(t,this.array)),t}setY(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+1]=Dr(t),this}getZ(e){let t=z5(this.array[e*this.itemSize+2]);return this.normalized&&(t=rr(t,this.array)),t}setZ(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+2]=Dr(t),this}getW(e){let t=z5(this.array[e*this.itemSize+3]);return this.normalized&&(t=rr(t,this.array)),t}setW(e,t){return this.normalized&&(t=M1(t,this.array)),this.array[e*this.itemSize+3]=Dr(t),this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array)),this.array[e+0]=Dr(t),this.array[e+1]=Dr(i),this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array)),this.array[e+0]=Dr(t),this.array[e+1]=Dr(i),this.array[e+2]=Dr(r),this}setXYZW(e,t,i,r,s){return e*=this.itemSize,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array),s=M1(s,this.array)),this.array[e+0]=Dr(t),this.array[e+1]=Dr(i),this.array[e+2]=Dr(r),this.array[e+3]=Dr(s),this}}class C1 extends vn{constructor(e,t,i){super(new Float32Array(e),t,i)}}let lB=0;const t0=new Yt,Lc=new En,ka=new Z,Cr=new l3,Q4=new l3,di=new Z;class en extends O2{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:lB++}),this.uuid=u2(),this.name="",this.type="BufferGeometry",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(zd(e)?$d:Yd)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(i!==void 0){const s=new o1().getNormalMatrix(e);i.applyNormalMatrix(s),i.needsUpdate=!0}const r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return t0.makeRotationFromQuaternion(e),this.applyMatrix4(t0),this}rotateX(e){return t0.makeRotationX(e),this.applyMatrix4(t0),this}rotateY(e){return t0.makeRotationY(e),this.applyMatrix4(t0),this}rotateZ(e){return t0.makeRotationZ(e),this.applyMatrix4(t0),this}translate(e,t,i){return t0.makeTranslation(e,t,i),this.applyMatrix4(t0),this}scale(e,t,i){return t0.makeScale(e,t,i),this.applyMatrix4(t0),this}lookAt(e){return Lc.lookAt(e),Lc.updateMatrix(),this.applyMatrix4(Lc.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(ka).negate(),this.translate(ka.x,ka.y,ka.z),this}setFromPoints(e){const t=this.getAttribute("position");if(t===void 0){const i=[];for(let r=0,s=e.length;r<s;r++){const a=e[r];i.push(a.x,a.y,a.z||0)}this.setAttribute("position",new C1(i,3))}else{const i=Math.min(e.length,t.count);for(let r=0;r<i;r++){const s=e[r];t.setXYZ(r,s.x,s.y,s.z||0)}e.length>t.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new l3);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Z(-1/0,-1/0,-1/0),new Z(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let i=0,r=t.length;i<r;i++){const s=t[i];Cr.setFromBufferAttribute(s),this.morphTargetsRelative?(di.addVectors(this.boundingBox.min,Cr.min),this.boundingBox.expandByPoint(di),di.addVectors(this.boundingBox.max,Cr.max),this.boundingBox.expandByPoint(di)):(this.boundingBox.expandByPoint(Cr.min),this.boundingBox.expandByPoint(Cr.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Q3);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.",this),this.boundingSphere.set(new Z,1/0);return}if(e){const i=this.boundingSphere.center;if(Cr.setFromBufferAttribute(e),t)for(let s=0,a=t.length;s<a;s++){const o=t[s];Q4.setFromBufferAttribute(o),this.morphTargetsRelative?(di.addVectors(Cr.min,Q4.min),Cr.expandByPoint(di),di.addVectors(Cr.max,Q4.max),Cr.expandByPoint(di)):(Cr.expandByPoint(Q4.min),Cr.expandByPoint(Q4.max))}Cr.getCenter(i);let r=0;for(let s=0,a=e.count;s<a;s++)di.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(di));if(t)for(let s=0,a=t.length;s<a;s++){const o=t[s],l=this.morphTargetsRelative;for(let u=0,d=o.count;u<d;u++)di.fromBufferAttribute(o,u),l&&(ka.fromBufferAttribute(e,u),di.add(ka)),r=Math.max(r,i.distanceToSquared(di))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const i=t.position,r=t.normal,s=t.uv;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new vn(new Float32Array(4*i.count),4));const a=this.getAttribute("tangent"),o=[],l=[];for(let G=0;G<i.count;G++)o[G]=new Z,l[G]=new Z;const u=new Z,d=new Z,q=new Z,_=new Ce,g=new Ce,M=new Ce,N=new Z,y=new Z;function S(G,L,P){u.fromBufferAttribute(i,G),d.fromBufferAttribute(i,L),q.fromBufferAttribute(i,P),_.fromBufferAttribute(s,G),g.fromBufferAttribute(s,L),M.fromBufferAttribute(s,P),d.sub(u),q.sub(u),g.sub(_),M.sub(_);const w=1/(g.x*M.y-M.x*g.y);isFinite(w)&&(N.copy(d).multiplyScalar(M.y).addScaledVector(q,-g.y).multiplyScalar(w),y.copy(q).multiplyScalar(g.x).addScaledVector(d,-M.x).multiplyScalar(w),o[G].add(N),o[L].add(N),o[P].add(N),l[G].add(y),l[L].add(y),l[P].add(y))}let R=this.groups;R.length===0&&(R=[{start:0,count:e.count}]);for(let G=0,L=R.length;G<L;++G){const P=R[G],w=P.start,z=P.count;for(let H=w,j=w+z;H<j;H+=3)S(e.getX(H+0),e.getX(H+1),e.getX(H+2))}const O=new Z,b=new Z,D=new Z,B=new Z;function C(G){D.fromBufferAttribute(r,G),B.copy(D);const L=o[G];O.copy(L),O.sub(D.multiplyScalar(D.dot(L))).normalize(),b.crossVectors(B,L);const w=b.dot(l[G])<0?-1:1;a.setXYZW(G,O.x,O.y,O.z,w)}for(let G=0,L=R.length;G<L;++G){const P=R[G],w=P.start,z=P.count;for(let H=w,j=w+z;H<j;H+=3)C(e.getX(H+0)),C(e.getX(H+1)),C(e.getX(H+2))}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let i=this.getAttribute("normal");if(i===void 0)i=new vn(new Float32Array(t.count*3),3),this.setAttribute("normal",i);else for(let _=0,g=i.count;_<g;_++)i.setXYZ(_,0,0,0);const r=new Z,s=new Z,a=new Z,o=new Z,l=new Z,u=new Z,d=new Z,q=new Z;if(e)for(let _=0,g=e.count;_<g;_+=3){const M=e.getX(_+0),N=e.getX(_+1),y=e.getX(_+2);r.fromBufferAttribute(t,M),s.fromBufferAttribute(t,N),a.fromBufferAttribute(t,y),d.subVectors(a,s),q.subVectors(r,s),d.cross(q),o.fromBufferAttribute(i,M),l.fromBufferAttribute(i,N),u.fromBufferAttribute(i,y),o.add(d),l.add(d),u.add(d),i.setXYZ(M,o.x,o.y,o.z),i.setXYZ(N,l.x,l.y,l.z),i.setXYZ(y,u.x,u.y,u.z)}else for(let _=0,g=t.count;_<g;_+=3)r.fromBufferAttribute(t,_+0),s.fromBufferAttribute(t,_+1),a.fromBufferAttribute(t,_+2),d.subVectors(a,s),q.subVectors(r,s),d.cross(q),i.setXYZ(_+0,d.x,d.y,d.z),i.setXYZ(_+1,d.x,d.y,d.z),i.setXYZ(_+2,d.x,d.y,d.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;t<i;t++)di.fromBufferAttribute(e,t),di.normalize(),e.setXYZ(t,di.x,di.y,di.z)}toNonIndexed(){function e(o,l){const u=o.array,d=o.itemSize,q=o.normalized,_=new u.constructor(l.length*d);let g=0,M=0;for(let N=0,y=l.length;N<y;N++){o.isInterleavedBufferAttribute?g=l[N]*o.data.stride+o.offset:g=l[N]*d;for(let S=0;S<d;S++)_[M++]=u[g++]}return new vn(_,d,q)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new en,i=this.index.array,r=this.attributes;for(const o in r){const l=r[o],u=e(l,i);t.setAttribute(o,u)}const s=this.morphAttributes;for(const o in s){const l=[],u=s[o];for(let d=0,q=u.length;d<q;d++){const _=u[d],g=e(_,i);l.push(g)}t.morphAttributes[o]=l}t.morphTargetsRelative=this.morphTargetsRelative;const a=this.groups;for(let o=0,l=a.length;o<l;o++){const u=a[o];t.addGroup(u.start,u.count,u.materialIndex)}return t}toJSON(){const e={metadata:{version:4.7,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
vendor: 1,946 bytes, line 12
12if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const u in l)l[u]!==void 0&&(e[u]=l[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const u=i[l];e.data.attributes[l]=u.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const u=this.morphAttributes[l],d=[];for(let q=0,_=u.length;q<_;q++){const g=u[q];d.push(g.toJSON(e.data))}d.length>0&&(r[l]=d,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone());const r=e.attributes;for(const u in r){const d=r[u];this.setAttribute(u,d.clone(t))}const s=e.morphAttributes;for(const u in s){const d=[],q=s[u];for(let _=0,g=q.length;_<g;_++)d.push(q[_].clone(t));this.morphAttributes[u]=d}this.morphTargetsRelative=e.morphTargetsRelative;const a=e.groups;for(let u=0,d=a.length;u<d;u++){const q=a[u];this.addGroup(q.start,q.count,q.materialIndex)}const o=e.boundingBox;o!==null&&(this.boundingBox=o.clone());const l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const gm=new Yt,fs=new Z8,H5=new Q3,Em=new Z,K5=new Z,Y5=new Z,$5=new Z,Dc=new Z,j5=new Z,Mm=new Z,X5=new Z;
vendor: 4,234 bytes, line 12
12class F1 extends En{constructor(e=new en,t=new a0){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.count=1,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;s<a;s++){const o=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=s}}}}getVertexPosition(e,t){const i=this.geometry,r=i.attributes.position,s=i.morphAttributes.position,a=i.morphTargetsRelative;t.fromBufferAttribute(r,e);const o=this.morphTargetInfluences;if(s&&o){j5.set(0,0,0);for(let l=0,u=s.length;l<u;l++){const d=o[l],q=s[l];d!==0&&(Dc.fromBufferAttribute(q,e),a?j5.addScaledVector(Dc,d):j5.addScaledVector(Dc.sub(t),d))}t.add(j5)}return t}raycast(e,t){const i=this.geometry,r=this.material,s=this.matrixWorld;r!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),H5.copy(i.boundingSphere),H5.applyMatrix4(s),fs.copy(e.ray).recast(e.near),!(H5.containsPoint(fs.origin)===!1&&(fs.intersectSphere(H5,Em)===null||fs.origin.distanceToSquared(Em)>(e.far-e.near)**2))&&(gm.copy(s).invert(),fs.copy(e.ray).applyMatrix4(gm),!(i.boundingBox!==null&&fs.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,fs)))}_computeIntersections(e,t,i){let r;const s=this.geometry,a=this.material,o=s.index,l=s.attributes.position,u=s.attributes.uv,d=s.attributes.uv1,q=s.attributes.normal,_=s.groups,g=s.drawRange;if(o!==null)if(Array.isArray(a))for(let M=0,N=_.length;M<N;M++){const y=_[M],S=a[y.materialIndex],R=Math.max(y.start,g.start),O=Math.min(o.count,Math.min(y.start+y.count,g.start+g.count));for(let b=R,D=O;b<D;b+=3){const B=o.getX(b),C=o.getX(b+1),G=o.getX(b+2);r=Z5(this,S,e,i,u,d,q,B,C,G),r&&(r.faceIndex=Math.floor(b/3),r.face.materialIndex=y.materialIndex,t.push(r))}}else{const M=Math.max(0,g.start),N=Math.min(o.count,g.start+g.count);for(let y=M,S=N;y<S;y+=3){const R=o.getX(y),O=o.getX(y+1),b=o.getX(y+2);r=Z5(this,a,e,i,u,d,q,R,O,b),r&&(r.faceIndex=Math.floor(y/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(a))for(let M=0,N=_.length;M<N;M++){const y=_[M],S=a[y.materialIndex],R=Math.max(y.start,g.start),O=Math.min(l.count,Math.min(y.start+y.count,g.start+g.count));for(let b=R,D=O;b<D;b+=3){const B=b,C=b+1,G=b+2;r=Z5(this,S,e,i,u,d,q,B,C,G),r&&(r.faceIndex=Math.floor(b/3),r.face.materialIndex=y.materialIndex,t.push(r))}}else{const M=Math.max(0,g.start),N=Math.min(l.count,g.start+g.count);for(let y=M,S=N;y<S;y+=3){const R=y,O=y+1,b=y+2;r=Z5(this,a,e,i,u,d,q,R,O,b),r&&(r.faceIndex=Math.floor(y/3),t.push(r))}}}}function uB(n,e,t,i,r,s,a,o){let l;if(e.side===Q1?l=i.intersectTriangle(a,s,r,!0,o):l=i.intersectTriangle(r,s,a,e.side===Mr,o),l===null)return null;X5.copy(o),X5.applyMatrix4(n.matrixWorld);const u=t.ray.origin.distanceTo(X5);return u<t.near||u>t.far?null:{distance:u,point:X5.clone(),object:n}}function Z5(n,e,t,i,r,s,a,o,l,u){n.getVertexPosition(o,K5),n.getVertexPosition(l,Y5),n.getVertexPosition(u,$5);const d=uB(n,e,t,i,K5,Y5,$5,Mm);if(d){const q=new Z;O0.getBarycoord(Mm,K5,Y5,$5,q),r&&(d.uv=O0.getInterpolatedAttribute(r,o,l,u,q,new Ce)),s&&(d.uv1=O0.getInterpolatedAttribute(s,o,l,u,q,new Ce)),a&&(d.normal=O0.getInterpolatedAttribute(a,o,l,u,q,new Z),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const _={a:o,b:l,c:u,normal:new Z,materialIndex:0};O0.getNormal(K5,Y5,$5,_.normal),d.face=_,d.barycoord=q}return d}class J3 extends en{constructor(e=1,t=1,i=1,r=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:a};const o=this;r=Math.floor(r),s=Math.floor(s),a=Math.floor(a);const l=[],u=[],d=[],q=[];let _=0,g=0;M("z","y","x",-1,-1,i,t,e,a,s,0),M("z","y","x",1,-1,i,t,-e,a,s,1
vendor: 5,310 bytes, lines 12-16
12),M("x","z","y",1,1,e,i,t,r,a,2),M("x","z","y",1,-1,e,i,-t,r,a,3),M("x","y","z",1,-1,e,t,i,r,s,4),M("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new C1(u,3)),this.setAttribute("normal",new C1(d,3)),this.setAttribute("uv",new C1(q,2));function M(N,y,S,R,O,b,D,B,C,G,L){const P=b/C,w=D/G,z=b/2,H=D/2,j=B/2,Y=C+1,Q=G+1;let oe=0,ae=0;const fe=new Z;for(let xe=0;xe<Q;xe++){const Te=xe*w-H;for(let He=0;He<Y;He++){const Je=He*P-z;fe[N]=Je*R,fe[y]=Te*O,fe[S]=j,u.push(fe.x,fe.y,fe.z),fe[N]=0,fe[y]=0,fe[S]=B>0?1:-1,d.push(fe.x,fe.y,fe.z),q.push(He/C),q.push(1-xe/G),oe+=1}}for(let xe=0;xe<G;xe++)for(let Te=0;Te<C;Te++){const He=_+Te+Y*xe,Je=_+Te+Y*(xe+1),Se=_+(Te+1)+Y*(xe+1),we=_+(Te+1)+Y*xe;l.push(He,Je,we),l.push(Je,Se,we),ae+=6}o.addGroup(g,ae,L),g+=ae,_+=oe}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new J3(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function s4(n){const e={};for(const t in n){e[t]={};for(const i in n[t]){const r=n[t][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][i]=null):e[t][i]=r.clone():Array.isArray(r)?e[t][i]=r.slice():e[t][i]=r}}return e}function Qi(n){const e={};for(let t=0;t<n.length;t++){const i=s4(n[t]);for(const r in i)e[r]=i[r]}return e}function cB(n){const e=[];for(let t=0;t<n.length;t++)e.push(n[t].clone());return e}function hy(n){const e=n.getRenderTarget();return e===null?n.outputColorSpace:e.isXRRenderTarget===!0?e.texture.colorSpace:Zt.workingColorSpace}const H9={clone:s4,merge:Qi};var AB=`void main() { 13 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 14}`,hB=`void main() { 15 gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); 16}`;class yr extends Wi{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=AB,this.fragmentShader=hB,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=s4(e.uniforms),this.uniformsGroups=cB(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const a=this.uniforms[r].value;a&&a.isTexture?t.uniforms[r]={type:"t",value:a.toJSON(e).uuid}:a&&a.isColor?t.uniforms[r]={type:"c",value:a.getHex()}:a&&a.isVector2?t.uniforms[r]={type:"v2",value:a.toArray()}:a&&a.isVector3?t.uniforms[r]={type:"v3",value:a.toArray()}:a&&a.isVector4?t.uniforms[r]={type:"v4",value:a.toArray()}:a&&a.isMatrix3?t.uniforms[r]={type:"m3",value:a.toArray()}:a&&a.isMatrix4?t.uniforms[r]={type:"m4",value:a.toArray()}:t.uniforms[r]={value:a}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Q8 extends En{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Yt,this.projectionMatrix=new Yt,this.projectionMatrixInverse=new Yt,this.coordinateSystem=sr}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const y3=new Z,xm=new Ce,Sm=new Ce;class gi extends Q8{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=ca*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(F6*.5*this.fov);return .5*this.getFilmHeight()/e}
vendor: 8,839 bytes, lines 16-51
16getEffectiveFOV(){return ca*2*Math.atan(Math.tan(F6*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){y3.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(y3.x,y3.y).multiplyScalar(-e/y3.z),y3.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(y3.x,y3.y).multiplyScalar(-e/y3.z)}getViewSize(e,t){return this.getViewBounds(e,xm,Sm),t.subVectors(Sm,xm)}setViewOffset(e,t,i,r,s,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(F6*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const a=this.view;if(this.view!==null&&this.view.enabled){const l=a.fullWidth,u=a.fullHeight;s+=a.offsetX*r/l,t-=a.offsetY*i/u,r*=a.width/l,i*=a.height/u}const o=this.filmOffset;o!==0&&(s+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const za=-90,Wa=1;class fy extends En{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new gi(za,Wa,e,t);r.layers=this.layers,this.add(r);const s=new gi(za,Wa,e,t);s.layers=this.layers,this.add(s);const a=new gi(za,Wa,e,t);a.layers=this.layers,this.add(a);const o=new gi(za,Wa,e,t);o.layers=this.layers,this.add(o);const l=new gi(za,Wa,e,t);l.layers=this.layers,this.add(l);const u=new gi(za,Wa,e,t);u.layers=this.layers,this.add(u)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,a,o,l]=t;for(const u of t)this.remove(u);if(e===sr)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===m2)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const u of t)this.add(u),u.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,a,o,l,u,d]=this.children,q=e.getRenderTarget(),_=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),M=e.xr.enabled;e.xr.enabled=!1;const N=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,a),e.setRenderTarget(i,2,r),e.render(t,o),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,u),i.texture.generateMipmaps=N,e.setRenderTarget(i,5,r),e.render(t,d),e.setRenderTarget(q,_,g),e.xr.enabled=M,i.texture.needsPMREMUpdate=!0}}class J8 extends ei{constructor(e=[],t=p2,i,r,s,a,o,l,u,d){super(e,t,i,r,s,a,o,l,u,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class dy extends $3{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];this.texture=new J8(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` 17 18 varying vec3 vWorldDirection; 19 20 vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 21 22 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 23 24 } 25 26 void main() { 27 28 vWorldDirection = transformDirection( position, modelMatrix ); 29 30 #include <begin_vertex> 31 #include <project_vertex> 32 33 } 34 `,fragmentShader:` 35 36 uniform sampler2D tEquirect; 37 38 varying vec3 vWorldDirection; 39 40 #include <common> 41 42 void main() { 43 44 vec3 direction = normalize( vWorldDirection ); 45 46 vec2 sampleUV = equirectUv( direction ); 47 48 gl_FragColor = texture2D( tEquirect, sampleUV ); 49 50 } 51 `},r=new J3(5,5,5),s=new yr({name:"CubemapFromEquirect",uniforms:s4(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Q1,blending:xr});s.uniforms.tEquirect.value=t;const a=new F1(r,s),o=t.minFilter;return t.minFilter===qr&&(t.minFilter=li),new fy(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,i=!0,r=!0){const s=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,i,r);e.setRenderTarget(s)}}let pr=class extends En{constructor(){super(),this.isGroup=!0,this.type="Group"}};const fB={type:"move"};class a7{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new pr,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new pr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Z,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Z),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new pr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Z,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Z),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,a=null;const o=this._targetRay,l=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){a=!0;for(const N of e.hand.values()){const y=t.getJointPose(N,i),S=this._getHandJoint(u,N);y!==null&&(S.matrix.fromArray(y.transform.matrix),S.matrix.decompose(S.position,S.rotation,S.scale),S.matrixWorldNeedsUpdate=!0,S.jointRadius=y.radius),S.visible=y!==null}const d=u.joints["index-finger-tip"],q=u.joints["thumb-tip"],_=d.position.distanceTo(q.position),g=.02,M=.005;u.inputState.pinching&&_>g+M?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&_<=g-M&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(fB)))}return o!==null&&(o.visible=r!==null),l!==null&&(l.visible=s!==null),u!==null&&(u.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new pr;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}
vendor: 13,424 bytes, line 51
51class K9 extends En{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Oi,this.environmentIntensity=1,this.environmentRotation=new Oi,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class jd{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=R7,this.updateRanges=[],this.version=0,this.uuid=u2()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;r<s;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=u2()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=u2()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Xi=new Z;class a2{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)Xi.fromBufferAttribute(this,t),Xi.applyMatrix4(e),this.setXYZ(t,Xi.x,Xi.y,Xi.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Xi.fromBufferAttribute(this,t),Xi.applyNormalMatrix(e),this.setXYZ(t,Xi.x,Xi.y,Xi.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Xi.fromBufferAttribute(this,t),Xi.transformDirection(e),this.setXYZ(t,Xi.x,Xi.y,Xi.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=rr(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=M1(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=M1(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=M1(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=M1(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=M1(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=rr(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=rr(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=rr(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=rr(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=M1(t,this.array),i=M1(i,this.array),r=M1(r,this.array),s=M1(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return new vn(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new a2(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class dB extends Wi{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Nt(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}class qB extends ei{constructor(e=null,t=1,i=1,r,s,a,o,l,u=hn,d=hn,q,_){super(null,a,o,l,u,d,r,s,q,_),this.isDataTexture=!0,this.image={data:e,width:t,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class k3 extends vn{constructor(e,t,i,r=1){super(e,t,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const Cc=new Z,pB=new Z,_B=new o1;class e2{constructor(e=new Z(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=Cc.subVectors(i,t).cross(pB.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(Cc),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||_B.getNormalMatrix(e),r=this.coplanarPoint(Cc).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const ds=new Q3,Q5=new Z;class b4{constructor(e=new e2,t=new e2,i=new e2,r=new e2,s=new e2,a=new e2){this.planes=[e,t,i,r,s,a]}set(e,t,i,r,s,a){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(i),o[3].copy(r),o[4].copy(s),o[5].copy(a),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=sr){const i=this.planes,r=e.elements,s=r[0],a=r[1],o=r[2],l=r[3],u=r[4],d=r[5],q=r[6],_=r[7],g=r[8],M=r[9],N=r[10],y=r[11],S=r[12],R=r[13],O=r[14],b=r[15];if(i[0].setComponents(l-s,_-u,y-g,b-S).normalize(),i[1].setComponents(l+s,_+u,y+g,b+S).normalize(),i[2].setComponents(l+a,_+d,y+M,b+R).normalize(),i[3].setComponents(l-a,_-d,y-M,b-R).normalize(),i[4].setComponents(l-o,_-q,y-N,b-O).normalize(),t===sr)i[5].setComponents(l+o,_+q,y+N,b+O).normalize();else if(t===m2)i[5].setComponents(o,q,N,O).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),ds.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),ds.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ds)}intersectsSprite(e){return ds.center.set(0,0,0),ds.radius=.7071067811865476,ds.applyMatrix4(e.matrixWorld),this.intersectsSphere(ds)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)<r)return!1;return!0}intersectsBox(e){const t=this.planes;for(let i=0;i<6;i++){const r=t[i];if(Q5.x=r.normal.x>0?e.max.x:e.min.x,Q5.y=r.normal.y>0?e.max.y:e.min.y,Q5.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Q5)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const K0=new Yt,Y0=new b4;class Xd{constructor(){this.coordinateSystem=sr}intersectsObject(e,t){if(!t.isArrayCamera||t.cameras.length===0)return!1;for(let i=0;i<t.cameras.length;i++){const r=t.cameras[i];if(K0.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),Y0.setFromProjectionMatrix(K0,this.coordinateSystem),Y0.intersectsObject(e))return!0}return!1}intersectsSprite(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let i=0;i<t.cameras.length;i++){const r=t.cameras[i];if(K0.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),Y0.setFromProjectionMatrix(K0,this.coordinateSystem),Y0.intersectsSprite(e))return!0}return!1}intersectsSphere(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let i=0;i<t.cameras.length;i++){const r=t.cameras[i];if(K0.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),Y0.setFromProjectionMatrix(K0,this.coordinateSystem),Y0.intersectsSphere(e))return!0}return!1}intersectsBox(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let i=0;i<t.cameras.length;i++){const r=t.cameras[i];if(K0.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),Y0.setFromProjectionMatrix(K0,this.coordinateSystem),Y0.intersectsBox(e))return!0}return!1}containsPoint(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let i=0;i<t.cameras.length;i++){const r=t.cameras[i];if(K0.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse),Y0.setFromProjectionMatrix(K0,this.coordinateSystem),Y0.containsPoint(e))return!0}return!1}clone(){return new Xd}}class I4 extends Wi{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Nt(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const b7=new Z,I7=new Z,ym=new Yt,J4=new Z8,J5=new Q3,wc=new Z,Nm=new Z;
vendor: 4,767 bytes, line 51
51class Y9 extends En{constructor(e=new en,t=new I4){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[0];for(let r=1,s=t.count;r<s;r++)b7.fromBufferAttribute(t,r-1),I7.fromBufferAttribute(t,r),i[r]=i[r-1],i[r]+=b7.distanceTo(I7);e.setAttribute("lineDistance",new C1(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Line.threshold,a=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),J5.copy(i.boundingSphere),J5.applyMatrix4(r),J5.radius+=s,e.ray.intersectsSphere(J5)===!1)return;ym.copy(r).invert(),J4.copy(e.ray).applyMatrix4(ym);const o=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=o*o,u=this.isLineSegments?2:1,d=i.index,_=i.attributes.position;if(d!==null){const g=Math.max(0,a.start),M=Math.min(d.count,a.start+a.count);for(let N=g,y=M-1;N<y;N+=u){const S=d.getX(N),R=d.getX(N+1),O=el(this,e,J4,l,S,R,N);O&&t.push(O)}if(this.isLineLoop){const N=d.getX(M-1),y=d.getX(g),S=el(this,e,J4,l,N,y,M-1);S&&t.push(S)}}else{const g=Math.max(0,a.start),M=Math.min(_.count,a.start+a.count);for(let N=g,y=M-1;N<y;N+=u){const S=el(this,e,J4,l,N,N+1,N);S&&t.push(S)}if(this.isLineLoop){const N=el(this,e,J4,l,M-1,g,M-1);N&&t.push(N)}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;s<a;s++){const o=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=s}}}}}function el(n,e,t,i,r,s,a){const o=n.geometry.attributes.position;if(b7.fromBufferAttribute(o,r),I7.fromBufferAttribute(o,s),t.distanceSqToSegment(b7,I7,wc,Nm)>i)return;wc.applyMatrix4(n.matrixWorld);const u=e.ray.origin.distanceTo(wc);if(!(u<e.near||u>e.far))return{distance:u,point:Nm.clone().applyMatrix4(n.matrixWorld),index:a,face:null,faceIndex:null,barycoord:null,object:n}}const vm=new Z,Om=new Z;class qy extends Y9{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,s=t.count;r<s;r+=2)vm.fromBufferAttribute(t,r),Om.fromBufferAttribute(t,r+1),i[r]=r===0?0:i[r-1],i[r+1]=i[r]+vm.distanceTo(Om);e.setAttribute("lineDistance",new C1(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Zd extends Wi{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Nt(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const Tm=new Yt,Nh=new Z8,tl=new Q3,nl=new Z;class mB extends En{constructor(e=new en,t=new Zd){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,s=e.params.Points.threshold,a=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),tl.copy(i.boundingSphere),tl.applyMatrix4(r),tl.radius+=s,e.ray.intersectsSphere(tl)===!1)return;Tm.copy(r).invert(),Nh.copy(e.ray).applyMatrix4(Tm);const o=s/((this.scale.x+this.scale.y+this.scale.z)/3),l=o*o,u=i.index,q=i.attributes.position;if(u!==null){const _=Math.max(0,a.start),g=Math.min(u.count,a.start+a.count);for(let M=_,N=g;M<N;M++){const y=u.getX(M);nl.fromBufferAttribute(q,y),Rm(nl,y,l,r,e,t,this)}}else{const _=Math.max(0,a.start),g=Math.min(q.count,a.start+a.count);for(let M=_,N=g;M<N;M++)nl.fromBufferAttribute(q,M),Rm(nl,M,l,r,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;s<a;s++){const o=r[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=s}}}}}function Rm(n,e,t,i,r,s,a){const o=Nh.distanceSqToPoint(n);if(o<t){const l=new Z;
51Nh.closestPointToPoint(n,l),l.applyMatrix4(i);const u=r.ray.origin.distanceTo(l);if(u<r.near||u>r.far)return;s.push({distance:u,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}class py extends ei{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=hn,this.minFilter=hn,this.generateMipmaps=!1,this.needsUpdate=!0}}class $r extends ei{constructor(e,t,i=cn,r,s,a,o=hn,l=hn,u,d=Hr,q=1){if(d!==Hr&&d!==Kr)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const _={width:e,height:t,depth:q};super(_,r,s,a,o,l,d,i,u),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Wd(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class $9 extends en{constructor(e=1,t=32,i=0,r=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:i,thetaLength:r},t=Math.max(3,t);const s=[],a=[],o=[],l=[],u=new Z,d=new Ce;a.push(0,0,0),o.push(0,0,1),l.push(.5,.5);for(let q=0,_=3;q<=t;q++,_+=3){const g=i+q/t*r;u.x=e*Math.cos(g),u.y=e*Math.sin(g),a.push(u.x,u.y,u.z),o.push(0,0,1),d.x=(a[_]/e+1)/2,d.y=(a[_+1]/e+1)/2,l.push(d.x,d.y)}for(let q=1;q<=t;q++)s.push(q,q+1,0);this.setIndex(s),this.setAttribute("position",new C1(a,3)),this.setAttribute("normal",new C1(o,3)),this.setAttribute("uv",new C1(l,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}
vendor: 4,332 bytes, line 51
51static fromJSON(e){return new $9(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class j9 extends en{constructor(e=1,t=1,i=1,r=32,s=1,a=!1,o=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:i,radialSegments:r,heightSegments:s,openEnded:a,thetaStart:o,thetaLength:l};const u=this;r=Math.floor(r),s=Math.floor(s);const d=[],q=[],_=[],g=[];let M=0;const N=[],y=i/2;let S=0;R(),a===!1&&(e>0&&O(!0),t>0&&O(!1)),this.setIndex(d),this.setAttribute("position",new C1(q,3)),this.setAttribute("normal",new C1(_,3)),this.setAttribute("uv",new C1(g,2));function R(){const b=new Z,D=new Z;let B=0;const C=(t-e)/i;for(let G=0;G<=s;G++){const L=[],P=G/s,w=P*(t-e)+e;for(let z=0;z<=r;z++){const H=z/r,j=H*l+o,Y=Math.sin(j),Q=Math.cos(j);D.x=w*Y,D.y=-P*i+y,D.z=w*Q,q.push(D.x,D.y,D.z),b.set(Y,C,Q).normalize(),_.push(b.x,b.y,b.z),g.push(H,1-P),L.push(M++)}N.push(L)}for(let G=0;G<r;G++)for(let L=0;L<s;L++){const P=N[L][G],w=N[L+1][G],z=N[L+1][G+1],H=N[L][G+1];(e>0||L!==0)&&(d.push(P,w,H),B+=3),(t>0||L!==s-1)&&(d.push(w,z,H),B+=3)}u.addGroup(S,B,0),S+=B}function O(b){const D=M,B=new Ce,C=new Z;let G=0;const L=b===!0?e:t,P=b===!0?1:-1;for(let z=1;z<=r;z++)q.push(0,y*P,0),_.push(0,P,0),g.push(.5,.5),M++;const w=M;for(let z=0;z<=r;z++){const j=z/r*l+o,Y=Math.cos(j),Q=Math.sin(j);C.x=L*Q,C.y=y*P,C.z=L*Y,q.push(C.x,C.y,C.z),_.push(0,P,0),B.x=Y*.5+.5,B.y=Q*.5*P+.5,g.push(B.x,B.y),M++}for(let z=0;z<r;z++){const H=D+z,j=w+z;b===!0?d.push(j,j+1,H):d.push(j+1,j,H),G+=3}u.addGroup(S,G,b===!0?1:2),S+=G}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new j9(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class V0{constructor(){this.type="Curve",this.arcLengthDivisions=200,this.needsUpdate=!1,this.cacheArcLengths=null}getPoint(){console.warn("THREE.Curve: .getPoint() not implemented.")}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),s=0;t.push(0);for(let a=1;a<=e;a++)i=this.getPoint(a/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t=null){const i=this.getLengths();let r=0;const s=i.length;let a;t?a=t:a=e*i[s-1];let o=0,l=s-1,u;for(;o<=l;)if(r=Math.floor(o+(l-o)/2),u=i[r]-a,u<0)o=r+1;else if(u>0)l=r-1;else{l=r;break}if(r=l,i[r]===a)return r/(s-1);const d=i[r],_=i[r+1]-d,g=(a-d)/_;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const a=this.getPoint(r),o=this.getPoint(s),l=t||(a.isVector2?new Ce:new Z);return l.copy(o).sub(a).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t=!1){const i=new Z,r=[],s=[],a=[],o=new Z,l=new Yt;for(let g=0;g<=e;g++){const M=g/e;r[g]=this.getTangentAt(M,new Z)}s[0]=new Z,a[0]=new Z;let u=Number.MAX_VALUE;const d=Math.abs(r[0].x),q=Math.abs(r[0].y),_=Math.abs(r[0].z);d<=u&&(u=d,i.set(1,0,0)),q<=u&&(u=q,i.set(0,1,0)),_<=u&&i.set(0,0,1),o.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],o),a[0].crossVectors(r[0],s[0]);for(let g=1;g<=e;g++){if(s[g]=s[g-1].clone(),a[g]=a[g-1].clone(),o.crossVectors(r[g-1],r[g]),o.length()>Number.EPSILON){o.normalize();const M=Math.acos(E1(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(o,M))}a[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(E1(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(o.crossVectors(s[0],s[e]))>0&&(g=-g);for(let M=1;M<=e;M++)s[M].applyMatrix4(l.makeRotationAxis(r[M],g*M)),a[M].crossVectors(r[M],s[M])}return{tangents:r,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.t
vendor: 6,024 bytes, line 51
51ype,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Qd extends V0{constructor(e=0,t=0,i=1,r=1,s=0,a=Math.PI*2,o=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=o,this.aRotation=l}getPoint(e,t=new Ce){const i=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)<Number.EPSILON;for(;s<0;)s+=r;for(;s>r;)s-=r;s<Number.EPSILON&&(a?s=0:s=r),this.aClockwise===!0&&!a&&(s===r?s=-r:s=s-r);const o=this.aStartAngle+e*s;let l=this.aX+this.xRadius*Math.cos(o),u=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){const d=Math.cos(this.aRotation),q=Math.sin(this.aRotation),_=l-this.aX,g=u-this.aY;l=_*d-g*q+this.aX,u=_*q+g*d+this.aY}return i.set(l,u)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}}class gB extends Qd{constructor(e,t,i,r,s,a){super(e,t,i,i,r,s,a),this.isArcCurve=!0,this.type="ArcCurve"}}function Jd(){let n=0,e=0,t=0,i=0;function r(s,a,o,l){n=s,e=o,t=-3*s+3*a-2*o-l,i=2*s-2*a+o+l}return{initCatmullRom:function(s,a,o,l,u){r(a,o,u*(o-s),u*(l-a))},initNonuniformCatmullRom:function(s,a,o,l,u,d,q){let _=(a-s)/u-(o-s)/(u+d)+(o-a)/d,g=(o-a)/d-(l-a)/(d+q)+(l-o)/q;_*=d,g*=d,r(a,o,_,g)},calc:function(s){const a=s*s,o=a*s;return n+e*s+t*a+i*o}}}const il=new Z,Bc=new Jd,Uc=new Jd,Fc=new Jd;class EB extends V0{constructor(e=[],t=!1,i="centripetal",r=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=i,this.tension=r}getPoint(e,t=new Z){const i=t,r=this.points,s=r.length,a=(s-(this.closed?0:1))*e;let o=Math.floor(a),l=a-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/s)+1)*s:l===0&&o===s-1&&(o=s-2,l=1);let u,d;this.closed||o>0?u=r[(o-1)%s]:(il.subVectors(r[0],r[1]).add(r[0]),u=il);const q=r[o%s],_=r[(o+1)%s];if(this.closed||o+2<s?d=r[(o+2)%s]:(il.subVectors(r[s-1],r[s-2]).add(r[s-1]),d=il),this.curveType==="centripetal"||this.curveType==="chordal"){const g=this.curveType==="chordal"?.5:.25;let M=Math.pow(u.distanceToSquared(q),g),N=Math.pow(q.distanceToSquared(_),g),y=Math.pow(_.distanceToSquared(d),g);N<1e-4&&(N=1),M<1e-4&&(M=N),y<1e-4&&(y=N),Bc.initNonuniformCatmullRom(u.x,q.x,_.x,d.x,M,N,y),Uc.initNonuniformCatmullRom(u.y,q.y,_.y,d.y,M,N,y),Fc.initNonuniformCatmullRom(u.z,q.z,_.z,d.z,M,N,y)}else this.curveType==="catmullrom"&&(Bc.initCatmullRom(u.x,q.x,_.x,d.x,this.tension),Uc.initCatmullRom(u.y,q.y,_.y,d.y,this.tension),Fc.initCatmullRom(u.z,q.z,_.z,d.z,this.tension));return i.set(Bc.calc(l),Uc.calc(l),Fc.calc(l)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new Z().fromArray(r))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function bm(n,e,t,i,r){const s=(i-e)*.5,a=(r-t)*.5,o=n*n,l=n*o;return(2*t-2*i+s+a)*l+(-3*t+3*i-2*s-a)*o+s*n+t}function MB(n,e){const t=1-n;return t*t*e}function xB(n,e){return 2*(1-n)*n*e}function SB(n,e){return n*n*e}function V6(n,e,t,i){return MB(n,e)+xB(n,t)+SB(n,i)}function yB(n,e){const t=1-n;return t*t*t*e}function NB(n,e){const t=1-n;return 3*t*t*n*e}function vB(n,e){return 3*(1-n)*n*n*e}function OB(n,e){return n*n*n*e}function k6(n,e,t,i,r){return yB(n,e)+NB(n,t)+vB(n,i)+OB(n,r)}class _y extends V0{constructor(e=new Ce,t=new Ce,i=new Ce,r=new Ce){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new Ce){const i=t,r=this.v0,s=this.v1,a=this.v2,o=this.v3;return i.set(k6(e,r.x,s.x,a.x,o.x),k6(e,r.y,s.y,a.y,o.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class my extends V0{constructor(e=new Z,t=new Z,i=new Z,r=new Z){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new Z){const i=t,r=this.v0,s=this.v1,a=this.v2,o=this.v3;return i.set(k6(e,r.x,s.x,a.x,o.x),k6(e,r.y,s.y,a.y,o.y),k6(e,r.z,s.z,a.z,o.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class gy extends V0{constructor(e=new Ce,t=new Ce){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new Ce){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}
vendor: 13,961 bytes, line 51
51getTangent(e,t=new Ce){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class TB extends V0{constructor(e=new Z,t=new Z){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new Z){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new Z){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class Ey extends V0{constructor(e=new Ce,t=new Ce,i=new Ce){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Ce){const i=t,r=this.v0,s=this.v1,a=this.v2;return i.set(V6(e,r.x,s.x,a.x),V6(e,r.y,s.y,a.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class My extends V0{constructor(e=new Z,t=new Z,i=new Z){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Z){const i=t,r=this.v0,s=this.v1,a=this.v2;return i.set(V6(e,r.x,s.x,a.x),V6(e,r.y,s.y,a.y),V6(e,r.z,s.z,a.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class xy extends V0{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new Ce){const i=t,r=this.points,s=(r.length-1)*e,a=Math.floor(s),o=s-a,l=r[a===0?a:a-1],u=r[a],d=r[a>r.length-2?r.length-1:a+1],q=r[a>r.length-3?r.length-1:a+2];return i.set(bm(o,l.x,u.x,d.x,q.x),bm(o,l.y,u.y,d.y,q.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new Ce().fromArray(r))}return this}}var P7=Object.freeze({__proto__:null,ArcCurve:gB,CatmullRomCurve3:EB,CubicBezierCurve:_y,CubicBezierCurve3:my,EllipseCurve:Qd,LineCurve:gy,LineCurve3:TB,QuadraticBezierCurve:Ey,QuadraticBezierCurve3:My,SplineCurve:xy});class RB extends V0{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){const i=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new P7[i](t,e))}return this}getPoint(e,t){const i=e*this.getLength(),r=this.getCurveLengths();let s=0;for(;s<r.length;){if(r[s]>=i){const a=r[s]-i,o=this.curves[s],l=o.getLength(),u=l===0?0:1-a/l;return o.getPointAt(u,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i<r;i++)t+=this.curves[i].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let i;for(let r=0,s=this.curves;r<s.length;r++){const a=s[r],o=a.isEllipseCurve?e*2:a.isLineCurve||a.isLineCurve3?1:a.isSplineCurve?e*a.points.length:e,l=a.getPoints(o);for(let u=0;u<l.length;u++){const d=l[u];i&&i.equals(d)||(t.push(d),i=d)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(r.clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,i=this.curves.length;t<i;t++){const r=this.curves[t];e.curves.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(new P7[r.type]().fromJSON(r))}return this}}let vh=class extends RB{constructor(e){super(),this.type="Path",this.currentPoint=new Ce,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;t<i;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){const i=new gy(this.currentPoint.clone(),new Ce(e,t));return this.curves.push(i),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,i,r){const s=new Ey(this.currentPoint.clone(),new Ce(e,t),new Ce(i,r));return this.curves.push(s),this.currentPoint.set(i,r),this}bezierCurveTo(e,t,i,r,s,a){const o=new _y(this.currentPoint.clone(),new Ce(e,t),new Ce(i,r),new Ce(s,a));return this.curves.push(o),this.currentPoint.set(s,a),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),i=new xy(t);return this.curves.push(i),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,i,r,s,a){const o=this.currentPoint.x,l=this.currentPoint.y;return this.absarc(e+o,t+l,i,r,s,a),this}absarc(e,t,i,r,s,a){return this.absellipse(e,t,i,i,r,s,a),this}ellipse(e,t,i,r,s,a,o,l){const u=this.currentPoint.x,d=this.currentPoint.y;return this.absellipse(e+u,t+d,i,r,s,a,o,l),this}absellipse(e,t,i,r,s,a,o,l){const u=new Qd(e,t,i,r,s,a,o,l);if(this.curves.length>0){const q=u.getPoint(0);q.equals(this.currentPoint)||this.lineTo(q.x,q.y)}this.curves.push(u);const d=u.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class o7 extends vh{constructor(e){super(e),this.uuid=u2(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let i=0,r=this.holes.length;i<r;i++)t[i]=this.holes[i].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,i=this.holes.length;t<i;t++){const r=this.holes[t];e.holes.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(new vh().fromJSON(r))}return this}}function bB(n,e,t=2){const i=e&&e.length,r=i?e[0]*t:n.length;let s=Sy(n,0,r,t,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,u;if(i&&(s=CB(n,e,s,t)),n.length>80*t){o=1/0,l=1/0;let d=-1/0,q=-1/0;for(let _=t;_<r;_+=t){const g=n[_],M=n[_+1];g<o&&(o=g),M<l&&(l=M),g>d&&(d=g),M>q&&(q=M)}u=Math.max(d-o,q-l),u=u!==0?32767/u:0}return m8(s,a,t,o,l,u,0),a}function Sy(n,e,t,i,r){let s;if(r===KB(n,e,t,i)>0)for(let a=e;a<t;a+=i)s=Im(a/i|0,n[a],n[a+1],s);else for(let a=t-i;a>=e;a-=i)s=Im(a/i|0,n[a],n[a+1],s);return s&&a4(s,s.next)&&(E8(s),s=s.next),s}function Aa(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(a4(t,t.next)||bn(t.prev,t,t.next)===0)){if(E8(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function m8(n,e,t,i,r,s,a){if(!n)return;!a&&s&&GB(n,i,r,s);let o=n;for(;n.prev!==n.next;){const l=n.prev,u=n.next;if(s?PB(n,i,r,s):IB(n)){e.push(l.i,n.i,u.i),E8(n),n=u.next,o=u.next;continue}if(n=u,n===o){a?a===1?(n=LB(Aa(n),e),m8(n,e,t,i,r,s,2)):a===2&&DB(n,e,t,i,r,s):m8(Aa(n),e,t,i,r,s,1);break}}}function IB(n){const e=n.prev,t=n,i=n.next;if(bn(e,t,i)>=0)return!1;const r=e.x,s=t.x,a=i.x,o=e.y,l=t.y,u=i.y,d=Math.min(r,s,a),q=Math.min(o,l,u),_=Math.max(r,s,a),g=Math.max(o,l,u);let M=i.next;for(;M!==e;){if(M.x>=d&&M.x<=_&&M.y>=q&&M.y<=g&&v6(r,o,s,l,a,u,M.x,M.y)&&bn(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function PB(n,e,t,i){const r=n.prev,s=n,a=n.next;if(bn(r,s,a)>=0)return!1;const o=r.x,l=s.x,u=a.x,d=r.y,q=s.y,_=a.y,g=Math.min(o,l,u),M=Math.min(d,q,_),N=Math.max(o,l,u),y=Math.max(d,q,_),S=Oh(g,M,e,t,i),R=Oh(N,y,e,t,i);let O=n.prevZ,b=n.nextZ;for(;O&&O.z>=S&&b&&b.z<=R;){if(O.x>=g&&O.x<=N&&O.y>=M&&O.y<=y&&O!==r&&O!==a&&v6(o,d,l,q,u,_,O.x,O.y)&&bn(O.prev,O,O.next)>=0||(O=O.prevZ,b.x>=g&&b.x<=N&&b.y>=M&&b.y<=y&&b!==r&&b!==a&&v6(o,d,l,q,u,_,b.x,b.y)&&bn(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;O&&O.z>=S;){if(O.x>=g&&O.x<=N&&O.y>=M&&O.y<=y&&O!==r&&O!==a&&v6(o,d,l,q,u,_,O.x,O.y)&&bn(O.prev,O,O.next)>=0)return!1;O=O.prevZ}for(;b&&b.z<=R;){if(b.x>=g&&b.x<=N&&b.y>=M&&b.y<=y&&b!==r&&b!==a&&v6(o,d,l,q,u,_,b.x,b.y)&&bn(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function LB(n,e){let t=n;do{const i=t.prev,r=t.next.next;!a4(i,r)&&Ny(i,t,t.next,r)&&g8(i,r)&&g8(r,i)&&(e.push(i.i,t.i,r.i),E8(t),E8(t.next),t=n=r),t=t.next}while(t!==n);return Aa(t)}function DB(n,e,t,i,r,s){let a=n;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&zB(a,o)){let l=vy(a,o);a=Aa(a,a.next),l=Aa(l,l.next),m8(a,e,t,i,r,s,0),m8(l,e,t,i,r,s,0);return}o=o.next}a=a.next}while(a!==n)}function CB(n,e,t,i){const r=[];for(let s=0,a=e.length;s<a;s++){const o=e[s]*i,l=s<a-1?e[s+1]*i:n.length,u=Sy(n,o,l,i,!1);u===u.next&&(u.steiner=!0),r.push(kB(u))}r.sort(wB);for(let s=0;s<r.length;s++)t=BB(r[s],t);return t}function wB(n,e){let t=n.x-e.x;if(t===0&&(t=n.y-e.y,t===0)){const i=(n.next.y-n.y)/(n.next.x-n.x),r=(e.next.y-e.y)/(e.next.x-e.x);t=i-r}return t}function BB(n,e){const t=UB(n,e);if(!t)return e;const i=vy(t,n);return Aa(i,i.next),Aa(t,t.next)}function UB(n,e){let t=e;const i=n.x,r=n.y;let s=-1/0,a;if(a4(n,t))return t;do{if(a4(n,t.next))return t.next;if(r<=t.y&&r>=t.next.y&&t.next.y!==t.y){const q=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(q<=i&&q>s&&(s=q,a=t.x<t.next.x?t:t.next,q===i))return a}t=t.next}while(t!==e);if(!a)return null;const o=a,l=a.x,u=a.y;let d=1/0;t=a;do{if(i>=t.x&&t.x>=l&&i!==t.x&&yy(r<u?i:s,r,l,u,r<u?s:i,r,t.x,t.y)){const q=Math.abs(r-t.y)/(i-t.x);g8(t,n)&&(q<d||q===d&&(t.x>a.x||t.x===a.x&&FB(a,t)))&&(a=t,d=q)}t=t.next}while(t!==o);return a}function FB(n,e){return bn(n.prev,n,e.prev)<0&&bn(e.next,n,n.next)<0}function GB(n,e,t,i){let r=n;do r.z===0&&(r.z=Oh(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,VB(r)}function VB(n){let e,t=1;do{let i=n,r;n=null;let s=null;for(e=0;i;){e++;let a=i,o=0;for(let u=0;u<t&&(o++,a=a.nextZ,!!a);u++);let l=t;for(;o>0||l>0&&a;)o!==0&&(l===0||!a||i.z<=a.z)?(r=i,i=i.nextZ,o--):(r=a,a=a.nextZ,l--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;i=a}s.nextZ=null,t*=2}while(e>1);return n}function Oh(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function kB(n){let e=n,t=n;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==n);return t}function yy(n,e,t,i,r,s,a,o){return(r-a)*(e-o)>=(n-a)*(s-o)&&(n-a)*(i-o)>=(t-a)*(e-o)&&(t-a)*(s-o)>=(r-a)*(i-o)}function v6(n,e,t,i,r,s,a,o){return!(n===a&&e===o)&&yy(n,e,t,i,r,s,a,o)}function zB(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!WB(n,e)&&(g8(n,e)&&g8(e,n)&&HB(n,e)&&(bn(n.prev,n,e.prev)||bn(n,e.prev,e))||a4(n,e)&&bn(n.prev,n,n.next)>0&&bn(e.prev,e,e.next)>0)}function bn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function a4(n,e){return n.x===e.x&&n.y===e.y}function Ny(n,e,t,i){const r=sl(bn(n,e,t)),s=sl(bn(n,e,i)),a=sl(bn(t,i,n)),o=sl(bn(t,i,e));return!!(r!==s&&a!==o||r===0&&rl(n,t,e)||s===0&&rl(n,i,e)||a===0&&rl(t,n,i)||o===0&&rl(t,e,i))}function rl(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function sl(n){return n>0?1:n<0?-1:0}function WB(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&Ny(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function g8(n,e){return bn(n.prev,n,n.next)<0?bn(n,e,n.next)>=0&&bn(n,n.prev,e)>=0:bn(n,e,n.prev)<0||bn(n,n.next,e)<0}function HB(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function vy(n,e){const t=Th(n.i,n.x,n.y),i=Th(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Im(n,e,t,i){const r=Th(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function E8(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Th(n,e,t){return{i:n,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function KB(n,e,t,i){let r=0;for(let s=e,a=t-i;s<t;s+=i)r+=(n[a]-n[s])*(n[s+1]+n[a+1]),a=s;return r}class YB{static triangulate(e,t,i=2){return bB(e,t,i)}}class Vs{static area(e){const t=e.length;let i=0;for(let r=t-1,s=0;s<t;r=s++)i+=e[r].x*e[s].y-e[s].x*e[r].y;return i*.5}static isClockWise(e){return Vs.area(e)<0}
vendor: 27,009 bytes, line 51
51static triangulateShape(e,t){const i=[],r=[],s=[];Pm(e),Lm(i,e);let a=e.length;t.forEach(Pm);for(let l=0;l<t.length;l++)r.push(a),a+=t[l].length,Lm(i,t[l]);const o=YB.triangulate(i,r);for(let l=0;l<o.length;l+=3)s.push(o.slice(l,l+3));return s}}function Pm(n){const e=n.length;e>2&&n[e-1].equals(n[0])&&n.pop()}function Lm(n,e){for(let t=0;t<e.length;t++)n.push(e[t].x),n.push(e[t].y)}class eq extends en{constructor(e=new o7([new Ce(.5,.5),new Ce(-.5,.5),new Ce(-.5,-.5),new Ce(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const i=this,r=[],s=[];for(let o=0,l=e.length;o<l;o++){const u=e[o];a(u)}this.setAttribute("position",new C1(r,3)),this.setAttribute("uv",new C1(s,2)),this.computeVertexNormals();function a(o){const l=[],u=t.curveSegments!==void 0?t.curveSegments:12,d=t.steps!==void 0?t.steps:1,q=t.depth!==void 0?t.depth:1;let _=t.bevelEnabled!==void 0?t.bevelEnabled:!0,g=t.bevelThickness!==void 0?t.bevelThickness:.2,M=t.bevelSize!==void 0?t.bevelSize:g-.1,N=t.bevelOffset!==void 0?t.bevelOffset:0,y=t.bevelSegments!==void 0?t.bevelSegments:3;const S=t.extrudePath,R=t.UVGenerator!==void 0?t.UVGenerator:$B;let O,b=!1,D,B,C,G;S&&(O=S.getSpacedPoints(d),b=!0,_=!1,D=S.computeFrenetFrames(d,!1),B=new Z,C=new Z,G=new Z),_||(y=0,g=0,M=0,N=0);const L=o.extractPoints(u);let P=L.shape;const w=L.holes;if(!Vs.isClockWise(P)){P=P.reverse();for(let J=0,st=w.length;J<st;J++){const Ye=w[J];Vs.isClockWise(Ye)&&(w[J]=Ye.reverse())}}function H(J){const Ye=10000000000000001e-36;let ot=J[0];for(let Be=1;Be<=J.length;Be++){const St=Be%J.length,tt=J[St],pt=tt.x-ot.x,Jt=tt.y-ot.y,se=pt*pt+Jt*Jt,K=Math.max(Math.abs(tt.x),Math.abs(tt.y),Math.abs(ot.x),Math.abs(ot.y)),Me=Ye*K*K;if(se<=Me){J.splice(St,1),Be--;continue}ot=tt}}H(P),w.forEach(H);const j=w.length,Y=P;for(let J=0;J<j;J++){const st=w[J];P=P.concat(st)}function Q(J,st,Ye){return st||console.error("THREE.ExtrudeGeometry: vec does not exist"),J.clone().addScaledVector(st,Ye)}const oe=P.length;function ae(J,st,Ye){let ot,Be,St;const tt=J.x-st.x,pt=J.y-st.y,Jt=Ye.x-J.x,se=Ye.y-J.y,K=tt*tt+pt*pt,Me=tt*se-pt*Jt;if(Math.abs(Me)>Number.EPSILON){const Pe=Math.sqrt(K),Ke=Math.sqrt(Jt*Jt+se*se),Le=st.x-pt/Pe,Lt=st.y+tt/Pe,dt=Ye.x-se/Ke,Tt=Ye.y+Jt/Ke,Dt=((dt-Le)*se-(Tt-Lt)*Jt)/(tt*se-pt*Jt);ot=Le+tt*Dt-J.x,Be=Lt+pt*Dt-J.y;const $e=ot*ot+Be*Be;if($e<=2)return new Ce(ot,Be);St=Math.sqrt($e/2)}else{let Pe=!1;tt>Number.EPSILON?Jt>Number.EPSILON&&(Pe=!0):tt<-Number.EPSILON?Jt<-Number.EPSILON&&(Pe=!0):Math.sign(pt)===Math.sign(se)&&(Pe=!0),Pe?(ot=-pt,Be=tt,St=Math.sqrt(K)):(ot=tt,Be=pt,St=Math.sqrt(K/2))}return new Ce(ot/St,Be/St)}const fe=[];for(let J=0,st=Y.length,Ye=st-1,ot=J+1;J<st;J++,Ye++,ot++)Ye===st&&(Ye=0),ot===st&&(ot=0),fe[J]=ae(Y[J],Y[Ye],Y[ot]);const xe=[];let Te,He=fe.concat();for(let J=0,st=j;J<st;J++){const Ye=w[J];Te=[];for(let ot=0,Be=Ye.length,St=Be-1,tt=ot+1;ot<Be;ot++,St++,tt++)St===Be&&(St=0),tt===Be&&(tt=0),Te[ot]=ae(Ye[ot],Ye[St],Ye[tt]);xe.push(Te),He=He.concat(Te)}let Je;if(y===0)Je=Vs.triangulateShape(Y,w);else{const J=[],st=[];for(let Ye=0;Ye<y;Ye++){const ot=Ye/y,Be=g*Math.cos(ot*Math.PI/2),St=M*Math.sin(ot*Math.PI/2)+N;for(let tt=0,pt=Y.length;tt<pt;tt++){const Jt=Q(Y[tt],fe[tt],St);mt(Jt.x,Jt.y,-Be),ot===0&&J.push(Jt)}for(let tt=0,pt=j;tt<pt;tt++){const Jt=w[tt];Te=xe[tt];const se=[];for(let K=0,Me=Jt.length;K<Me;K++){const Pe=Q(Jt[K],Te[K],St);mt(Pe.x,Pe.y,-Be),ot===0&&se.push(Pe)}ot===0&&st.push(se)}}Je=Vs.triangulateShape(J,st)}const Se=Je.length,we=M+N;for(let J=0;J<oe;J++){const st=_?Q(P[J],He[J],we):P[J];b?(C.copy(D.normals[0]).multiplyScalar(st.x),B.copy(D.binormals[0]).multiplyScalar(st.y),G.copy(O[0]).add(C).add(B),mt(G.x,G.y,G.z)):mt(st.x,st.y,0)}for(let J=1;J<=d;J++)for(let st=0;st<oe;st++){const Ye=_?Q(P[st],He[st],we):P[st];b?(C.copy(D.normals[J]).multiplyScalar(Ye.x),B.copy(D.binormals[J]).multiplyScalar(Ye.y),G.copy(O[J]).add(C).add(B),mt(G.x,G.y,G.z)):mt(Ye.x,Ye.y,q/d*J)}for(let J=y-1;J>=0;J--){const st=J/y,Ye=g*Math.cos(st*Math.PI/2),ot=M*Math.sin(st*Math.PI/2)+N;for(let Be=0,St=Y.length;Be<St;Be++){const tt=Q(Y[Be],fe[Be],ot);mt(tt.x,tt.y,q+Ye)}for(let Be=0,St=w.length;Be<St;Be++){const tt=w[Be];Te=xe[Be];for(let pt=0,Jt=tt.length;pt<Jt;pt++){const se=Q(tt[pt],Te[pt],ot);b?mt(se.x,se.y+O[d-1].y,O[d-1].x+Ye):mt(se.x,se.y,q+Ye)}}}lt(),rt();function lt(){const J=r.length/3;if(_){let st=0,Ye=oe*st;for(let ot=0;ot<Se;ot++){const Be=Je[ot];ut(Be[2]+Ye,Be[1]+Ye,Be[0]+Ye)}st=d+y*2,Ye=oe*st;for(let ot=0;ot<Se;ot++){const Be=Je[ot];ut(Be[0]+Ye,Be[1]+Ye,Be[2]+Ye)}}else{for(let st=0;st<Se;st++){const Ye=Je[st];ut(Ye[2],Ye[1],Ye[0])}for(let st=0;st<Se;st++){const Ye=Je[st];ut(Ye[0]+oe*d,Ye[1]+oe*d,Ye[2]+oe*d)}}i.addGroup(J,r.length/3-J,0)}function rt(){const J=r.length/3;let st=0;_t(Y,st),st+=Y.length;for(let Ye=0,ot=w.length;Ye<ot;Ye++){const Be=w[Ye];_t(Be,st),st+=Be.length}i.addGroup(J,r.length/3-J,1)}function _t(J,st){let Ye=J.length;for(;--Ye>=0;){const ot=Ye;let Be=Ye-1;Be<0&&(Be=J.length-1);for(let St=0,tt=d+y*2;St<tt;St++){const pt=oe*St,Jt=oe*(St+1),se=st+ot+pt,K=st+Be+pt,Me=st+Be+Jt,Pe=st+ot+Jt;$t(se,K,Me,Pe)}}}function mt(J,st,Ye){l.push(J),l.push(st),l.push(Ye)}function ut(J,st,Ye){A1(J),A1(st),A1(Ye);const ot=r.length/3,Be=R.generateTopUV(i,r,ot-3,ot-2,ot-1);Wt(Be[0]),Wt(Be[1]),Wt(Be[2])}function $t(J,st,Ye,ot){A1(J),A1(st),A1(ot),A1(st),A1(Ye),A1(ot);const Be=r.length/3,St=R.generateSideWallUV(i,r,Be-6,Be-3,Be-2,Be-1);Wt(St[0]),Wt(St[1]),Wt(St[3]),Wt(St[1]),Wt(St[2]),Wt(St[3])}function A1(J){r.push(l[J*3+0]),r.push(l[J*3+1]),r.push(l[J*3+2])}function Wt(J){s.push(J.x),s.push(J.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,i=this.parameters.options;return jB(t,i,e)}static fromJSON(e,t){const i=[];for(let s=0,a=e.shapes.length;s<a;s++){const o=t[e.shapes[s]];i.push(o)}const r=e.options.extrudePath;return r!==void 0&&(e.options.extrudePath=new P7[r.type]().fromJSON(r)),new eq(i,e.options)}}const $B={generateTopUV:function(n,e,t,i,r){const s=e[t*3],a=e[t*3+1],o=e[i*3],l=e[i*3+1],u=e[r*3],d=e[r*3+1];return[new Ce(s,a),new Ce(o,l),new Ce(u,d)]},generateSideWallUV:function(n,e,t,i,r,s){const a=e[t*3],o=e[t*3+1],l=e[t*3+2],u=e[i*3],d=e[i*3+1],q=e[i*3+2],_=e[r*3],g=e[r*3+1],M=e[r*3+2],N=e[s*3],y=e[s*3+1],S=e[s*3+2];return Math.abs(o-d)<Math.abs(a-u)?[new Ce(a,1-l),new Ce(u,1-q),new Ce(_,1-M),new Ce(N,1-S)]:[new Ce(o,1-l),new Ce(d,1-q),new Ce(g,1-M),new Ce(y,1-S)]}};function jB(n,e,t){if(t.shapes=[],Array.isArray(n))for(let i=0,r=n.length;i<r;i++){const s=n[i];t.shapes.push(s.uuid)}else t.shapes.push(n.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}class e5 extends en{constructor(e=1,t=1,i=1,r=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:r};const s=e/2,a=t/2,o=Math.floor(i),l=Math.floor(r),u=o+1,d=l+1,q=e/o,_=t/l,g=[],M=[],N=[],y=[];for(let S=0;S<d;S++){const R=S*_-a;for(let O=0;O<u;O++){const b=O*q-s;M.push(b,-R,0),N.push(0,0,1),y.push(O/o),y.push(1-S/l)}}for(let S=0;S<l;S++)for(let R=0;R<o;R++){const O=R+u*S,b=R+u*(S+1),D=R+1+u*(S+1),B=R+1+u*S;g.push(O,b,B),g.push(b,D,B)}this.setIndex(g),this.setAttribute("position",new C1(M,3)),this.setAttribute("normal",new C1(N,3)),this.setAttribute("uv",new C1(y,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new e5(e.width,e.height,e.widthSegments,e.heightSegments)}}class T2 extends en{constructor(e=1,t=32,i=16,r=0,s=Math.PI*2,a=0,o=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:i,phiStart:r,phiLength:s,thetaStart:a,thetaLength:o},t=Math.max(3,Math.floor(t)),i=Math.max(2,Math.floor(i));const l=Math.min(a+o,Math.PI);let u=0;const d=[],q=new Z,_=new Z,g=[],M=[],N=[],y=[];for(let S=0;S<=i;S++){const R=[],O=S/i;let b=0;S===0&&a===0?b=.5/t:S===i&&l===Math.PI&&(b=-.5/t);for(let D=0;D<=t;D++){const B=D/t;q.x=-e*Math.cos(r+B*s)*Math.sin(a+O*o),q.y=e*Math.cos(a+O*o),q.z=e*Math.sin(r+B*s)*Math.sin(a+O*o),M.push(q.x,q.y,q.z),_.copy(q).normalize(),N.push(_.x,_.y,_.z),y.push(B+b,1-O),R.push(u++)}d.push(R)}for(let S=0;S<i;S++)for(let R=0;R<t;R++){const O=d[S][R+1],b=d[S][R],D=d[S+1][R],B=d[S+1][R+1];(S!==0||a>0)&&g.push(O,b,B),(S!==i-1||l<Math.PI)&&g.push(b,D,B)}this.setIndex(g),this.setAttribute("position",new C1(M,3)),this.setAttribute("normal",new C1(N,3)),this.setAttribute("uv",new C1(y,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new T2(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class tq extends en{constructor(e=new My(new Z(-1,-1,0),new Z(-1,1,0),new Z(1,1,0)),t=64,i=1,r=8,s=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:i,radialSegments:r,closed:s};const a=e.computeFrenetFrames(t,s);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals;const o=new Z,l=new Z,u=new Ce;let d=new Z;const q=[],_=[],g=[],M=[];N(),this.setIndex(M),this.setAttribute("position",new C1(q,3)),this.setAttribute("normal",new C1(_,3)),this.setAttribute("uv",new C1(g,2));function N(){for(let O=0;O<t;O++)y(O);y(s===!1?t:0),R(),S()}function y(O){d=e.getPointAt(O/t,d);const b=a.normals[O],D=a.binormals[O];for(let B=0;B<=r;B++){const C=B/r*Math.PI*2,G=Math.sin(C),L=-Math.cos(C);l.x=L*b.x+G*D.x,l.y=L*b.y+G*D.y,l.z=L*b.z+G*D.z,l.normalize(),_.push(l.x,l.y,l.z),o.x=d.x+i*l.x,o.y=d.y+i*l.y,o.z=d.z+i*l.z,q.push(o.x,o.y,o.z)}}function S(){for(let O=1;O<=t;O++)for(let b=1;b<=r;b++){const D=(r+1)*(O-1)+(b-1),B=(r+1)*O+(b-1),C=(r+1)*O+b,G=(r+1)*(O-1)+b;M.push(D,B,G),M.push(B,C,G)}}function R(){for(let O=0;O<=t;O++)for(let b=0;b<=r;b++)u.x=O/t,u.y=b/r,g.push(u.x,u.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new tq(new P7[e.path.type]().fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class XB extends en{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],i=new Set,r=new Z,s=new Z;if(e.index!==null){const a=e.attributes.position,o=e.index;let l=e.groups;l.length===0&&(l=[{start:0,count:o.count,materialIndex:0}]);for(let u=0,d=l.length;u<d;++u){const q=l[u],_=q.start,g=q.count;for(let M=_,N=_+g;M<N;M+=3)for(let y=0;y<3;y++){const S=o.getX(M+y),R=o.getX(M+(y+1)%3);r.fromBufferAttribute(a,S),s.fromBufferAttribute(a,R),Dm(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}}else{const a=e.attributes.position;for(let o=0,l=a.count/3;o<l;o++)for(let u=0;u<3;u++){const d=3*o+u,q=3*o+(u+1)%3;r.fromBufferAttribute(a,d),s.fromBufferAttribute(a,q),Dm(r,s,i)===!0&&(t.push(r.x,r.y,r.z),t.push(s.x,s.y,s.z))}}this.setAttribute("position",new C1(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function Dm(n,e,t){const i=`${n.x},${n.y},${n.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${n.x},${n.y},${n.z}`;return t.has(i)===!0||t.has(r)===!0?!1:(t.add(i),t.add(r),!0)}class ZB extends Wi{constructor(e){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new Nt(0),this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.fog=e.fog,this}}class Oy extends Wi{constructor(e){super(),this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new Nt(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Nt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Oi,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class QB extends Oy{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Ce(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return E1(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Nt(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Nt(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Nt(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class Ty extends Wi{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Nt(16777215),this.specular=new Nt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Nt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Oi,this.combine=$8,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class JB extends Wi{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Nt(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Nt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class eU extends Wi{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class u3 extends Wi{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Nt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Nt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Oi,this.combine=$8,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class tU extends Wi{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=hw,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class nU extends Wi{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class iU extends Wi{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Nt(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Q2,this.normalScale=new Ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class rU extends I4{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}const Cm={enabled:!1,files:{},add:function(n,e){this.enabled!==!1&&(this.files[n]=e)},get:function(n){if(this.enabled!==!1)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}};class sU{constructor(e,t,i){const r=this;let s=!1,a=0,o=0,l;const u=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(d){o++,s===!1&&r.onStart!==void 0&&r.onStart(d,a,o),s=!0},this.itemEnd=function(d){a++,r.onProgress!==void 0&&r.onProgress(d,a,o),a===o&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(d){r.onError!==void 0&&r.onError(d)},this.resolveURL=function(d){return l?l(d):d},this.setURLModifier=function(d){return l=d,this},this.addHandler=function(d,q){return u.push(d,q),this},this.removeHandler=function(d){const q=u.indexOf(d);return q!==-1&&u.splice(q,2),this},this.getHandler=function(d){for(let q=0,_=u.length;q<_;q+=2){const g=u[q],M=u[q+1];if(g.global&&(g.lastIndex=0),g.test(d))return M}return null}}}const aU=new sU;class nq{constructor(e){this.manager=e!==void 0?e:aU,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise(function(r,s){i.load(e,r,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}nq.DEFAULT_MATERIAL_NAME="__DEFAULT";class oU extends nq{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,a=Cm.get(e);if(a!==void 0)return s.manager.itemStart(e),setTimeout(function(){t&&t(a),s.manager.itemEnd(e)},0),a;const o=_8("img");function l(){d(),Cm.add(e,this),t&&t(this),s.manager.itemEnd(e)}function u(q){d(),r&&r(q),s.manager.itemError(e),s.manager.itemEnd(e)}function d(){o.removeEventListener("load",l,!1),o.removeEventListener("error",u,!1)}return o.addEventListener("load",l,!1),o.addEventListener("error",u,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),s.manager.itemStart(e),o.src=e,o}}class iq extends nq{constructor(e){super(e)}load(e,t,i,r){const s=new ei,a=new oU(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(o){s.image=o,s.needsUpdate=!0,t!==void 0&&t(s)},i,r),s}}
vendor: 5,077 bytes, line 51
51class ma extends En{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new Nt(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}}class lU extends ma{constructor(e,t,i){super(e,i),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(En.DEFAULT_UP),this.updateMatrix(),this.groundColor=new Nt(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}}const Gc=new Yt,wm=new Z,Bm=new Z;class rq{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Ce(512,512),this.mapType=Ln,this.map=null,this.mapPass=null,this.matrix=new Yt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new b4,this._frameExtents=new Ce(1,1),this._viewportCount=1,this._viewports=[new wt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;wm.setFromMatrixPosition(e.matrixWorld),t.position.copy(wm),Bm.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Bm),t.updateMatrixWorld(),Gc.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Gc),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(Gc)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class uU extends rq{constructor(){super(new gi(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){const t=this.camera,i=ca*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height*this.aspect,s=e.distance||t.far;(i!==t.fov||r!==t.aspect||s!==t.far)&&(t.fov=i,t.aspect=r,t.far=s,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class sq extends ma{constructor(e,t,i=0,r=Math.PI/3,s=0,a=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(En.DEFAULT_UP),this.updateMatrix(),this.target=new En,this.distance=i,this.angle=r,this.penumbra=s,this.decay=a,this.map=null,this.shadow=new uU}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const Um=new Yt,e6=new Z,Vc=new Z;class cU extends rq{constructor(){super(new gi(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Ce(4,2),this._viewportCount=6,this._viewports=[new wt(2,1,1,1),new wt(0,1,1,1),new wt(3,1,1,1),new wt(1,1,1,1),new wt(3,0,1,1),new wt(1,0,1,1)],this._cubeDirections=[new Z(1,0,0),new Z(-1,0,0),new Z(0,0,1),new Z(0,0,-1),new Z(0,1,0),new Z(0,-1,0)],this._cubeUps=[new Z(0,1,0),new Z(0,1,0),new Z(0,1,0),new Z(0,1,0),new Z(0,0,1),new Z(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,s=e.distance||i.far;s!==i.far&&(i.far=s,i.updateProjectionMatrix()),e6.setFromMatrixPosition(e.matrixWorld),i.position.copy(e6),Vc.copy(i.position),Vc.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(Vc),i.updateMatrixWorld(),r.makeTranslation(-e6.x,-e6.y,-e6.z),Um.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Um)}}class AU extends ma{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new cU}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class t5 extends Q8{constructor(e=-1,t=1,i=1,r=-1,s=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="Orthogra
51phicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,a=i+e,o=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=u*this.view.offsetX,a=s+u*this.view.width,o-=d*this.view.offsetY,l=o-d*this.view.height}this.projectionMatrix.makeOrthographic(s,a,o,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}class hU extends rq{constructor(){super(new t5(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Ry extends ma{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(En.DEFAULT_UP),this.updateMatrix(),this.target=new En,this.shadow=new hU}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class by extends ma{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class fU extends ma{constructor(e,t,i=10,r=10){super(e,t),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=i,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){const t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}}class dU{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new Z)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const i=e.x,r=e.y,s=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.282095),t.addScaledVector(a[1],.488603*r),t.addScaledVector(a[2],.488603*s),t.addScaledVector(a[3],.488603*i),t.addScaledVector(a[4],1.092548*(i*r)),t.addScaledVector(a[5],1.092548*(r*s)),t.addScaledVector(a[6],.315392*(3*s*s-1)),t.addScaledVector(a[7],1.092548*(i*s)),t.addScaledVector(a[8],.546274*(i*i-r*r)),t}getIrradianceAt(e,t){const i=e.x,r=e.y,s=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.886227),t.addScaledVector(a[1],2*.511664*r),t.addScaledVector(a[2],2*.511664*s),t.addScaledVector(a[3],2*.511664*i),t.addScaledVector(a[4],2*.429043*i*r),t.addScaledVector(a[5],2*.429043*r*s),t.addScaledVector(a[6],.743125*s*s-.247708),t.addScaledVector(a[7],2*.429043*i*s),t.addScaledVector(a[8],.429043*(i*i-r*r)),t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let i=0;i<9;i++)this.coefficients[i].addScaledVector(e.coefficients[i],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let i=0;i<9;i++)this.coefficients[i].lerp(e.coefficients[i],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){const i=this.coefficients;for(let r=0;r<9;r++)i[r].fromArray(e,t+r*3);return this}toArray(e=[],t=0){const i=this.coefficients;for(let r=0;r<9;r++)i[r].toArray(e,t+r*3);return e}static getBasisAt(e,t){const i=e.x,r=e.y,s=e.z;t[0]=.282095,t[1]=.488603*r,t[2]=.488603*s,t[3]=.488603*i,t[4]=1.092548*i*r,t[5]=1.092548*r*s,t[6]=.315392*(3*s*s-1),t[7]=1.092548*i*s,t[8]=.546274*(i*i-r*r)}}class qU extends ma{constructor(e=new dU,t=1){super(void 0,t),this.isLightProbe=!0,this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){const t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}}class pU extends en{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class Iy extends gi{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}}class Py{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Fm(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Fm();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Fm(){return performance.now()}class L7 extends jd{constructor(e,t,i=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}const Gm=new Yt;class _U{constructor(e,t,i=0,r=1/0){this.ray=new Z8(e,t),this.near=i,this.far=r,this.camera=null,this.layers=new Kd,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster:
51Unsupported camera type: "+t.type)}setFromXRController(e){return Gm.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(Gm),this}intersectObject(e,t=!0,i=[]){return Rh(e,this,i,t),i.sort(Vm),i}intersectObjects(e,t=!0,i=[]){for(let r=0,s=e.length;r<s;r++)Rh(e[r],this,i,t);return i.sort(Vm),i}}function Vm(n,e){return n.distance-e.distance}function Rh(n,e,t,i){let r=!0;if(n.layers.test(e.layers)&&n.raycast(e,t)===!1&&(r=!1),r===!0&&i===!0){const s=n.children;for(let a=0,o=s.length;a<o;a++)Rh(s[a],e,t,!0)}}class km{constructor(e=1,t=0,i=0){this.radius=e,this.phi=t,this.theta=i}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=E1(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(E1(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}class X9{constructor(e,t,i,r){X9.prototype.isMatrix2=!0,this.elements=[1,0,0,1],e!==void 0&&this.set(e,t,i,r)}identity(){return this.set(1,0,0,1),this}fromArray(e,t=0){for(let i=0;i<4;i++)this.elements[i]=e[i+t];return this}set(e,t,i,r){const s=this.elements;return s[0]=e,s[2]=t,s[1]=i,s[3]=r,this}}const zm=new Z,al=new Z;class mU{constructor(e=new Z,t=new Z){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){zm.subVectors(e,this.start),al.subVectors(this.end,this.start);const i=al.dot(al);let s=al.dot(zm)/i;return t&&(s=E1(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}class gU{constructor(){this.type="ShapePath",this.color=new Nt,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new vh,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,r){return this.currentPath.quadraticCurveTo(e,t,i,r),this}bezierCurveTo(e,t,i,r,s,a){return this.currentPath.bezierCurveTo(e,t,i,r,s,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(S){const R=[];for(let O=0,b=S.length;O<b;O++){const D=S[O],B=new o7;B.curves=D.curves,R.push(B)}return R}function i(S,R){const O=R.length;let b=!1;for(let D=O-1,B=0;B<O;D=B++){let C=R[D],G=R[B],L=G.x-C.x,P=G.y-C.y;if(Math.abs(P)>Number.EPSILON){if(P<0&&(C=R[B],L=-L,G=R[D],P=-P),S.y<C.y||S.y>G.y)continue;if(S.y===C.y){if(S.x===C.x)return!0}else{const w=P*(S.x-C.x)-L*(S.y-C.y);if(w===0)return!0;if(w<0)continue;b=!b}}else{if(S.y!==C.y)continue;if(G.x<=S.x&&S.x<=C.x||C.x<=S.x&&S.x<=G.x)return!0}}return b}const r=Vs.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,o,l;const u=[];if(s.length===1)return o=s[0],l=new o7,l.curves=o.curves,u.push(l),u;let d=!r(s[0].getPoints());d=e?!d:d;const q=[],_=[];let g=[],M=0,N;_[M]=void 0,g[M]=[];for(let S=0,R=s.length;S<R;S++)o=s[S],N=o.getPoints(),a=r(N),a=e?!a:a,a?(!d&&_[M]&&M++,_[M]={s:new o7,p:N},_[M].s.curves=o.curves,d&&M++,g[M]=[]):g[M].push({h:o,p:N[0]});if(!_[0])return t(s);if(_.length>1){let S=!1,R=0;for(let O=0,b=_.length;O<b;O++)q[O]=[];for(let O=0,b=_.length;O<b;O++){const D=g[O];for(let B=0;B<D.length;B++){const C=D[B];let G=!0;for(let L=0;L<_.length;L++)i(C.p,_[L].p)&&(O!==L&&R++,G?(G=!1,q[L].push(C)):S=!0);G&&q[O].push(C)}}R>0&&S===!1&&(g=q)}let y;for(let S=0,R=_.length;S<R;S++){l=_[S].s,u.push(l),y=g[S];for(let O=0,b=y.length;O<b;O++)l.holes.push(y[O].h)}return u}}class aq extends O2{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(e){if(e===void 0){console.warn("THREE.Controls: connect() now requires an element.");return}this.domElement!==null&&this.disconnect(),this.domElement=e}disconnect(){}dispose(){}update(){}}function Wm(n,e,t,i){const r=EU(i);switch(t){case Dd:return n*e;case X8:return n*e/r.components*r.byteLength;case O4:return n*e/r.components*r.byteLength;case K2:return n*e*2/r.components*r.byteLength;case T4:return n*e*2/r.components*r.byteLength;case j8:return n*e*3/r.components*r.byteLength;case Vn:return n*e*4/r.components*r.byteLength;case R4:return n*e*4/r.components*r.byteLength;
vendor: 8,505 bytes, lines 51-168
51case Qs:case F3:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case G3:case V3:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case c8:case h8:return Math.max(n,16)*Math.max(e,8)/4;case u8:case A8:return Math.max(n,8)*Math.max(e,8)/2;case f8:case Vo:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*8;case ko:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case zo:return Math.floor((n+3)/4)*Math.floor((e+3)/4)*16;case Wo:return Math.floor((n+4)/5)*Math.floor((e+3)/4)*16;case Ho:return Math.floor((n+4)/5)*Math.floor((e+4)/5)*16;case Ko:return Math.floor((n+5)/6)*Math.floor((e+4)/5)*16;case Yo:return Math.floor((n+5)/6)*Math.floor((e+5)/6)*16;case $o:return Math.floor((n+7)/8)*Math.floor((e+4)/5)*16;case jo:return Math.floor((n+7)/8)*Math.floor((e+5)/6)*16;case Xo:return Math.floor((n+7)/8)*Math.floor((e+7)/8)*16;case Zo:return Math.floor((n+9)/10)*Math.floor((e+4)/5)*16;case Qo:return Math.floor((n+9)/10)*Math.floor((e+5)/6)*16;case Jo:return Math.floor((n+9)/10)*Math.floor((e+7)/8)*16;case e4:return Math.floor((n+9)/10)*Math.floor((e+9)/10)*16;case t4:return Math.floor((n+11)/12)*Math.floor((e+9)/10)*16;case n4:return Math.floor((n+11)/12)*Math.floor((e+11)/12)*16;case Js:case xh:case Sh:return Math.ceil(n/4)*Math.ceil(e/4)*16;case Cd:case d8:return Math.ceil(n/4)*Math.ceil(e/4)*8;case q8:case p8:return Math.ceil(n/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function EU(n){switch(n){case Ln:case Xs:return{byteLength:1,components:1};case R0:case Zs:case Jn:return{byteLength:2,components:1};case G9:case V9:return{byteLength:2,components:4};case cn:case mi:case Wn:return{byteLength:4,components:1};case k9:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${n}.`)}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:v4}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=v4);/** 52 * @license 53 * Copyright 2010-2025 Three.js Authors 54 * SPDX-License-Identifier: MIT 55 */function Ly(){let n=null,e=!1,t=null,i=null;function r(s,a){t(s,a),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function MU(n){const e=new WeakMap;function t(o,l){const u=o.array,d=o.usage,q=u.byteLength,_=n.createBuffer();n.bindBuffer(l,_),n.bufferData(l,u,d),o.onUploadCallback();let g;if(u instanceof Float32Array)g=n.FLOAT;else if(u instanceof Uint16Array)o.isFloat16BufferAttribute?g=n.HALF_FLOAT:g=n.UNSIGNED_SHORT;else if(u instanceof Int16Array)g=n.SHORT;else if(u instanceof Uint32Array)g=n.UNSIGNED_INT;else if(u instanceof Int32Array)g=n.INT;else if(u instanceof Int8Array)g=n.BYTE;else if(u instanceof Uint8Array)g=n.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)g=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:_,type:g,bytesPerElement:u.BYTES_PER_ELEMENT,version:o.version,size:q}}function i(o,l,u){const d=l.array,q=l.updateRanges;if(n.bindBuffer(u,o),q.length===0)n.bufferSubData(u,0,d);else{q.sort((g,M)=>g.start-M.start);let _=0;for(let g=1;g<q.length;g++){const M=q[_],N=q[g];N.start<=M.start+M.count+1?M.count=Math.max(M.count,N.start+N.count-M.start):(++_,q[_]=N)}q.length=_+1;for(let g=0,M=q.length;g<M;g++){const N=q[g];n.bufferSubData(u,N.start*d.BYTES_PER_ELEMENT,d,N.start,N.count)}l.clearUpdateRanges()}l.onUploadCallback()}function r(o){return o.isInterleavedBufferAttribute&&(o=o.data),e.get(o)}function s(o){o.isInterleavedBufferAttribute&&(o=o.data);const l=e.get(o);l&&(n.deleteBuffer(l.buffer),e.delete(o))}function a(o,l){if(o.isInterleavedBufferAttribute&&(o=o.data),o.isGLBufferAttribute){const d=e.get(o);(!d||d.version<o.version)&&e.set(o,{buffer:o.buffer,type:o.type,bytesPerElement:o.elementSize,version:o.version});return}const u=e.get(o);if(u===void 0)e.set(o,t(o,l));else if(u.version<o.version){if(u.size!==o.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");i(u.buffer,o,l),u.version=o.version}}return{get:r,remove:s,update:a}}var xU=`#ifdef USE_ALPHAHASH 56 if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; 57#endif`,SU=`#ifdef USE_ALPHAHASH 58 const float ALPHA_HASH_SCALE = 0.05; 59 float hash2D( vec2 value ) { 60 return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); 61 } 62 float hash3D( vec3 value ) { 63 return hash2D( vec2( hash2D( value.xy ), value.z ) ); 64 } 65 float getAlphaHashThreshold( vec3 position ) { 66 float maxDeriv = max( 67 length( dFdx( position.xyz ) ), 68 length( dFdy( position.xyz ) ) 69 ); 70 float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv ); 71 vec2 pixScales = vec2( 72 exp2( floor( log2( pixScale ) ) ), 73 exp2( ceil( log2( pixScale ) ) ) 74 ); 75 vec2 alpha = vec2( 76 hash3D( floor( pixScales.x * position.xyz ) ), 77 hash3D( floor( pixScales.y * position.xyz ) ) 78 ); 79 float lerpFactor = fract( log2( pixScale ) ); 80 float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y; 81 float a = min( lerpFactor, 1.0 - lerpFactor ); 82 vec3 cases = vec3( 83 x * x / ( 2.0 * a * ( 1.0 - a ) ), 84 ( x - 0.5 * a ) / ( 1.0 - a ), 85 1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) ) 86 ); 87 float threshold = ( x < ( 1.0 - a ) ) 88 ? ( ( x < a ) ? cases.x : cases.y ) 89 : cases.z; 90 return clamp( threshold , 1.0e-6, 1.0 ); 91 } 92#endif`,yU=`#ifdef USE_ALPHAMAP 93 diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; 94#endif`,NU=`#ifdef USE_ALPHAMAP 95 uniform sampler2D alphaMap; 96#endif`,vU=`#ifdef USE_ALPHATEST 97 #ifdef ALPHA_TO_COVERAGE 98 diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); 99 if ( diffuseColor.a == 0.0 ) discard; 100 #else 101 if ( diffuseColor.a < alphaTest ) discard; 102 #endif 103#endif`,OU=`#ifdef USE_ALPHATEST 104 uniform float alphaTest; 105#endif`,TU=`#ifdef USE_AOMAP 106 float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; 107 reflectedLight.indirectDiffuse *= ambientOcclusion; 108 #if defined( USE_CLEARCOAT ) 109 clearcoatSpecularIndirect *= ambientOcclusion; 110 #endif 111 #if defined( USE_SHEEN ) 112 sheenSpecularIndirect *= ambientOcclusion; 113 #endif 114 #if defined( USE_ENVMAP ) && defined( STANDARD ) 115 float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); 116 reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); 117 #endif 118#endif`,RU=`#ifdef USE_AOMAP 119 uniform sampler2D aoMap; 120 uniform float aoMapIntensity; 121#endif`,bU=`#ifdef USE_BATCHING 122 #if ! defined( GL_ANGLE_multi_draw ) 123 #define gl_DrawID _gl_DrawID 124 uniform int _gl_DrawID; 125 #endif 126 uniform highp sampler2D batchingTexture; 127 uniform highp usampler2D batchingIdTexture; 128 mat4 getBatchingMatrix( const in float i ) { 129 int size = textureSize( batchingTexture, 0 ).x; 130 int j = int( i ) * 4; 131 int x = j % size; 132 int y = j / size; 133 vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 ); 134 vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 ); 135 vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 ); 136 vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 ); 137 return mat4( v1, v2, v3, v4 ); 138 } 139 float getIndirectIndex( const in int i ) { 140 int size = textureSize( batchingIdTexture, 0 ).x; 141 int x = i % size; 142 int y = i / size; 143 return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r ); 144 } 145#endif 146#ifdef USE_BATCHING_COLOR 147 uniform sampler2D batchingColorTexture; 148 vec3 getBatchingColor( const in float i ) { 149 int size = textureSize( batchingColorTexture, 0 ).x; 150 int j = int( i ); 151 int x = j % size; 152 int y = j / size; 153 return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb; 154 } 155#endif`,IU=`#ifdef USE_BATCHING 156 mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) ); 157#endif`,PU=`vec3 transformed = vec3( position ); 158#ifdef USE_ALPHAHASH 159 vPosition = vec3( position ); 160#endif`,LU=`vec3 objectNormal = vec3( normal ); 161#ifdef USE_TANGENT 162 vec3 objectTangent = vec3( tangent.xyz ); 163#endif`,DU=`float G_BlinnPhong_Implicit( ) { 164 return 0.25; 165} 166float D_BlinnPhong( const in float shininess, const in float dotNH ) { 167 return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); 168}
169vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { 170 vec3 halfDir = normalize( lightDir + viewDir ); 171 float dotNH = saturate( dot( normal, halfDir ) ); 172 float dotVH = saturate( dot( viewDir, halfDir ) ); 173 vec3 F = F_Schlick( specularColor, 1.0, dotVH ); 174 float G = G_BlinnPhong_Implicit( ); 175 float D = D_BlinnPhong( shininess, dotNH ); 176 return F * ( G * D ); 177} // validated`,CU=`#ifdef USE_IRIDESCENCE 178 const mat3 XYZ_TO_REC709 = mat3( 179 3.2404542, -0.9692660, 0.0556434, 180 -1.5371385, 1.8760108, -0.2040259, 181 -0.4985314, 0.0415560, 1.0572252 182 ); 183 vec3 Fresnel0ToIor( vec3 fresnel0 ) { 184 vec3 sqrtF0 = sqrt( fresnel0 ); 185 return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); 186 } 187 vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { 188 return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); 189 } 190 float IorToFresnel0( float transmittedIor, float incidentIor ) { 191 return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); 192 } 193 vec3 evalSensitivity( float OPD, vec3 shift ) { 194 float phase = 2.0 * PI * OPD * 1.0e-9; 195 vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); 196 vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); 197 vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); 198 vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); 199 xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); 200 xyz /= 1.0685e-7; 201 vec3 rgb = XYZ_TO_REC709 * xyz; 202 return rgb; 203 } 204 vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { 205 vec3 I; 206 float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); 207 float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); 208 float cosTheta2Sq = 1.0 - sinTheta2Sq; 209 if ( cosTheta2Sq < 0.0 ) { 210 return vec3( 1.0 ); 211 } 212 float cosTheta2 = sqrt( cosTheta2Sq ); 213 float R0 = IorToFresnel0( iridescenceIOR, outsideIOR ); 214 float R12 = F_Schlick( R0, 1.0, cosTheta1 );
215 float T121 = 1.0 - R12; 216 float phi12 = 0.0; 217 if ( iridescenceIOR < outsideIOR ) phi12 = PI; 218 float phi21 = PI - phi12; 219 vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); 220 vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); 221 vec3 phi23 = vec3( 0.0 ); 222 if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; 223 if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; 224 if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; 225 float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; 226 vec3 phi = vec3( phi21 ) + phi23; 227 vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); 228 vec3 r123 = sqrt( R123 ); 229 vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); 230 vec3 C0 = R12 + Rs; 231 I = C0; 232 vec3 Cm = Rs - T121; 233 for ( int m = 1; m <= 2; ++ m ) { 234 Cm *= r123; 235 vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); 236 I += Cm * Sm; 237 } 238 return max( I, vec3( 0.0 ) ); 239 } 240#endif`,wU=`#ifdef USE_BUMPMAP 241 uniform sampler2D bumpMap; 242 uniform float bumpScale; 243 vec2 dHdxy_fwd() { 244 vec2 dSTdx = dFdx( vBumpMapUv ); 245 vec2 dSTdy = dFdy( vBumpMapUv ); 246 float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x; 247 float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll; 248 float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll; 249 return vec2( dBx, dBy ); 250 } 251 vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { 252 vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) ); 253 vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) ); 254 vec3 vN = surf_norm; 255 vec3 R1 = cross( vSigmaY, vN ); 256 vec3 R2 = cross( vN, vSigmaX ); 257 float fDet = dot( vSigmaX, R1 ) * faceDirection; 258 vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); 259 return normalize( abs( fDet ) * surf_norm - vGrad ); 260 } 261#endif`,BU=`#if NUM_CLIPPING_PLANES > 0 262 vec4 plane; 263 #ifdef ALPHA_TO_COVERAGE 264 float distanceToPlane, distanceGradient; 265 float clipOpacity = 1.0; 266 #pragma unroll_loop_start 267 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 268 plane = clippingPlanes[ i ]; 269 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 270 distanceGradient = fwidth( distanceToPlane ) / 2.0; 271 clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 272 if ( clipOpacity == 0.0 ) discard; 273 } 274 #pragma unroll_loop_end 275 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 276 float unionClipOpacity = 1.0; 277 #pragma unroll_loop_start 278 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 279 plane = clippingPlanes[ i ]; 280 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 281 distanceGradient = fwidth( distanceToPlane ) / 2.0; 282 unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 283 } 284 #pragma unroll_loop_end 285 clipOpacity *= 1.0 - unionClipOpacity; 286 #endif 287 diffuseColor.a *= clipOpacity; 288 if ( diffuseColor.a == 0.0 ) discard; 289 #else 290 #pragma unroll_loop_start 291 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 292 plane = clippingPlanes[ i ]; 293 if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; 294 } 295 #pragma unroll_loop_end 296 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 297 bool clipped = true; 298 #pragma unroll_loop_start 299 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 300 plane = clippingPlanes[ i ]; 301 clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; 302 } 303 #pragma unroll_loop_end 304 if ( clipped ) discard; 305 #endif 306 #endif 307#endif`,UU=`#if NUM_CLIPPING_PLANES > 0 308 varying vec3 vClipPosition; 309 uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; 310#endif`,FU=`#if NUM_CLIPPING_PLANES > 0 311 varying vec3 vClipPosition; 312#endif`,GU=`#if NUM_CLIPPING_PLANES > 0 313 vClipPosition = - mvPosition.xyz; 314#endif`,VU=`#if defined( USE_COLOR_ALPHA ) 315 diffuseColor *= vColor; 316#elif defined( USE_COLOR ) 317 diffuseColor.rgb *= vColor; 318#endif`,kU=`#if defined( USE_COLOR_ALPHA ) 319 varying vec4 vColor; 320#elif defined( USE_COLOR ) 321 varying vec3 vColor; 322#endif`,zU=`#if defined( USE_COLOR_ALPHA ) 323 varying vec4 vColor; 324#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 325 varying vec3 vColor; 326#endif`,WU=`#if defined( USE_COLOR_ALPHA ) 327 vColor = vec4( 1.0 ); 328#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 329 vColor = vec3( 1.0 ); 330#endif 331#ifdef USE_COLOR 332 vColor *= color; 333#endif 334#ifdef USE_INSTANCING_COLOR 335 vColor.xyz *= instanceColor.xyz; 336#endif 337#ifdef USE_BATCHING_COLOR 338 vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); 339 vColor.xyz *= batchingColor.xyz; 340#endif`,HU=`#define PI 3.141592653589793 341#define PI2 6.283185307179586 342#define PI_HALF 1.5707963267948966 343#define RECIPROCAL_PI 0.3183098861837907 344#define RECIPROCAL_PI2 0.15915494309189535 345#define EPSILON 1e-6 346#ifndef saturate 347#define saturate( a ) clamp( a, 0.0, 1.0 ) 348#endif 349#define whiteComplement( a ) ( 1.0 - saturate( a ) ) 350float pow2( const in float x ) { return x*x; } 351vec3 pow2( const in vec3 x ) { return x*x; } 352float pow3( const in float x ) { return x*x*x; } 353float pow4( const in float x ) { float x2 = x*x; return x2*x2; } 354float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } 355float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } 356highp float rand( const in vec2 uv ) { 357 const highp float a = 12.9898, b = 78.233, c = 43758.5453; 358 highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); 359 return fract( sin( sn ) * c ); 360} 361#ifdef HIGH_PRECISION 362 float precisionSafeLength( vec3 v ) { return length( v ); } 363#else 364 float precisionSafeLength( vec3 v ) { 365 float maxComponent = max3( abs( v ) ); 366 return length( v / maxComponent ) * maxComponent; 367 } 368#endif 369struct IncidentLight { 370 vec3 color; 371 vec3 direction; 372 bool visible; 373}; 374struct ReflectedLight { 375 vec3 directDiffuse; 376 vec3 directSpecular; 377 vec3 indirectDiffuse; 378 vec3 indirectSpecular; 379}; 380#ifdef USE_ALPHAHASH 381 varying vec3 vPosition; 382#endif 383vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 384 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 385} 386vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { 387 return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); 388} 389mat3 transposeMat3( const in mat3 m ) { 390 mat3 tmp; 391 tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); 392 tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); 393 tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); 394 return tmp; 395} 396bool isPerspectiveMatrix( mat4 m ) { 397 return m[ 2 ][ 3 ] == - 1.0; 398} 399vec2 equirectUv( in vec3 dir ) { 400 float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; 401 float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; 402 return vec2( u, v ); 403}
404vec3 BRDF_Lambert( const in vec3 diffuseColor ) { 405 return RECIPROCAL_PI * diffuseColor; 406} 407vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 408 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 409 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 410} 411float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { 412 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 413 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 414} // validated`,KU=`#ifdef ENVMAP_TYPE_CUBE_UV 415 #define cubeUV_minMipLevel 4.0 416 #define cubeUV_minTileSize 16.0 417 float getFace( vec3 direction ) { 418 vec3 absDirection = abs( direction ); 419 float face = - 1.0; 420 if ( absDirection.x > absDirection.z ) { 421 if ( absDirection.x > absDirection.y ) 422 face = direction.x > 0.0 ? 0.0 : 3.0; 423 else 424 face = direction.y > 0.0 ? 1.0 : 4.0; 425 } else { 426 if ( absDirection.z > absDirection.y ) 427 face = direction.z > 0.0 ? 2.0 : 5.0; 428 else 429 face = direction.y > 0.0 ? 1.0 : 4.0; 430 } 431 return face; 432 } 433 vec2 getUV( vec3 direction, float face ) { 434 vec2 uv; 435 if ( face == 0.0 ) { 436 uv = vec2( direction.z, direction.y ) / abs( direction.x ); 437 } else if ( face == 1.0 ) { 438 uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); 439 } else if ( face == 2.0 ) { 440 uv = vec2( - direction.x, direction.y ) / abs( direction.z ); 441 } else if ( face == 3.0 ) { 442 uv = vec2( - direction.z, direction.y ) / abs( direction.x ); 443 } else if ( face == 4.0 ) { 444 uv = vec2( - direction.x, direction.z ) / abs( direction.y ); 445 } else { 446 uv = vec2( direction.x, direction.y ) / abs( direction.z ); 447 } 448 return 0.5 * ( uv + 1.0 ); 449 } 450 vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { 451 float face = getFace( direction ); 452 float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); 453 mipInt = max( mipInt, cubeUV_minMipLevel ); 454 float faceSize = exp2( mipInt ); 455 highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; 456 if ( face > 2.0 ) { 457 uv.y += faceSize; 458 face -= 3.0; 459 } 460 uv.x += face * faceSize; 461 uv.x += filterInt * 3.0 * cubeUV_minTileSize; 462 uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); 463 uv.x *= CUBEUV_TEXEL_WIDTH; 464 uv.y *= CUBEUV_TEXEL_HEIGHT; 465 #ifdef texture2DGradEXT 466 return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; 467 #else 468 return texture2D( envMap, uv ).rgb; 469 #endif 470 } 471 #define cubeUV_r0 1.0 472 #define cubeUV_m0 - 2.0 473 #define cubeUV_r1 0.8 474 #define cubeUV_m1 - 1.0 475 #define cubeUV_r4 0.4 476 #define cubeUV_m4 2.0 477 #define cubeUV_r5 0.305 478 #define cubeUV_m5 3.0 479 #define cubeUV_r6 0.21 480 #define cubeUV_m6 4.0 481 float roughnessToMip( float roughness ) { 482 float mip = 0.0; 483 if ( roughness >= cubeUV_r1 ) { 484 mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; 485 } else if ( roughness >= cubeUV_r4 ) { 486 mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; 487 } else if ( roughness >= cubeUV_r5 ) { 488 mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; 489 } else if ( roughness >= cubeUV_r6 ) { 490 mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; 491 } else { 492 mip = - 2.0 * log2( 1.16 * roughness ); } 493 return mip; 494 } 495 vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { 496 float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); 497 float mipF = fract( mip ); 498 float mipInt = floor( mip ); 499 vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); 500 if ( mipF == 0.0 ) { 501 return vec4( color0, 1.0 ); 502 } else { 503 vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); 504 return vec4( mix( color0, color1, mipF ), 1.0 ); 505 } 506 } 507#endif`,YU=`vec3 transformedNormal = objectNormal; 508#ifdef USE_TANGENT 509 vec3 transformedTangent = objectTangent; 510#endif 511#ifdef USE_BATCHING 512 mat3 bm = mat3( batchingMatrix ); 513 transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); 514 transformedNormal = bm * transformedNormal; 515 #ifdef USE_TANGENT 516 transformedTangent = bm * transformedTangent; 517 #endif 518#endif 519#ifdef USE_INSTANCING 520 mat3 im = mat3( instanceMatrix ); 521 transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); 522 transformedNormal = im * transformedNormal; 523 #ifdef USE_TANGENT 524 transformedTangent = im * transformedTangent; 525 #endif 526#endif 527transformedNormal = normalMatrix * transformedNormal; 528#ifdef FLIP_SIDED 529 transformedNormal = - transformedNormal; 530#endif 531#ifdef USE_TANGENT 532 transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; 533 #ifdef FLIP_SIDED 534 transformedTangent = - transformedTangent; 535 #endif 536#endif`,$U=`#ifdef USE_DISPLACEMENTMAP 537 uniform sampler2D displacementMap; 538 uniform float displacementScale; 539 uniform float displacementBias; 540#endif`,jU=`#ifdef USE_DISPLACEMENTMAP 541 transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
541placementBias ); 542#endif`,XU=`#ifdef USE_EMISSIVEMAP 543 vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); 544 #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE 545 emissiveColor = sRGBTransferEOTF( emissiveColor ); 546 #endif 547 totalEmissiveRadiance *= emissiveColor.rgb; 548#endif`,ZU=`#ifdef USE_EMISSIVEMAP 549 uniform sampler2D emissiveMap; 550#endif`,QU="gl_FragColor = linearToOutputTexel( gl_FragColor );",JU=`vec4 LinearTransferOETF( in vec4 value ) { 551 return value; 552} 553vec4 sRGBTransferEOTF( in vec4 value ) { 554 return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a ); 555} 556vec4 sRGBTransferOETF( in vec4 value ) { 557 return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); 558}`,eF=`#ifdef USE_ENVMAP 559 #ifdef ENV_WORLDPOS 560 vec3 cameraToFrag; 561 if ( isOrthographic ) { 562 cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 563 } else { 564 cameraToFrag = normalize( vWorldPosition - cameraPosition ); 565 } 566 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 567 #ifdef ENVMAP_MODE_REFLECTION 568 vec3 reflectVec = reflect( cameraToFrag, worldNormal ); 569 #else 570 vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); 571 #endif 572 #else 573 vec3 reflectVec = vReflect; 574 #endif 575 #ifdef ENVMAP_TYPE_CUBE 576 vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); 577 #else 578 vec4 envColor = vec4( 0.0 ); 579 #endif 580 #ifdef ENVMAP_BLENDING_MULTIPLY 581 outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); 582 #elif defined( ENVMAP_BLENDING_MIX ) 583 outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); 584 #elif defined( ENVMAP_BLENDING_ADD ) 585 outgoingLight += envColor.xyz * specularStrength * reflectivity; 586 #endif 587#endif`,tF=`#ifdef USE_ENVMAP 588 uniform float envMapIntensity; 589 uniform float flipEnvMap; 590 uniform mat3 envMapRotation; 591 #ifdef ENVMAP_TYPE_CUBE 592 uniform samplerCube envMap; 593 #else 594 uniform sampler2D envMap; 595 #endif 596 597#endif`,nF=`#ifdef USE_ENVMAP 598 uniform float reflectivity; 599 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 600 #define ENV_WORLDPOS 601 #endif 602 #ifdef ENV_WORLDPOS 603 varying vec3 vWorldPosition; 604 uniform float refractionRatio; 605 #else 606 varying vec3 vReflect; 607 #endif 608#endif`,iF=`#ifdef USE_ENVMAP 609 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 610 #define ENV_WORLDPOS 611 #endif 612 #ifdef ENV_WORLDPOS 613 614 varying vec3 vWorldPosition; 615 #else 616 varying vec3 vReflect; 617 uniform float refractionRatio; 618 #endif 619#endif`,rF=`#ifdef USE_ENVMAP 620 #ifdef ENV_WORLDPOS 621 vWorldPosition = worldPosition.xyz; 622 #else 623 vec3 cameraToVertex; 624 if ( isOrthographic ) { 625 cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 626 } else {
627 cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); 628 } 629 vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 630 #ifdef ENVMAP_MODE_REFLECTION 631 vReflect = reflect( cameraToVertex, worldNormal ); 632 #else 633 vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); 634 #endif 635 #endif 636#endif`,sF=`#ifdef USE_FOG 637 vFogDepth = - mvPosition.z; 638#endif`,aF=`#ifdef USE_FOG 639 varying float vFogDepth; 640#endif`,oF=`#ifdef USE_FOG 641 #ifdef FOG_EXP2 642 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); 643 #else 644 float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); 645 #endif 646 gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); 647#endif`,lF=`#ifdef USE_FOG 648 uniform vec3 fogColor; 649 varying float vFogDepth; 650 #ifdef FOG_EXP2 651 uniform float fogDensity; 652 #else 653 uniform float fogNear; 654 uniform float fogFar; 655 #endif 656#endif`,uF=`#ifdef USE_GRADIENTMAP 657 uniform sampler2D gradientMap; 658#endif 659vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 660 float dotNL = dot( normal, lightDirection ); 661 vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); 662 #ifdef USE_GRADIENTMAP 663 return vec3( texture2D( gradientMap, coord ).r ); 664 #else 665 vec2 fw = fwidth( coord ) * 0.5; 666 return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); 667 #endif 668}`,cF=`#ifdef USE_LIGHTMAP 669 uniform sampler2D lightMap; 670 uniform float lightMapIntensity; 671#endif`,AF=`LambertMaterial material; 672material.diffuseColor = diffuseColor.rgb; 673material.specularStrength = specularStrength;`,hF=`varying vec3 vViewPosition; 674struct LambertMaterial { 675 vec3 diffuseColor; 676 float specularStrength; 677}; 678void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 679 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 680 vec3 irradiance = dotNL * directLight.color; 681 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 682} 683void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 684 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 685} 686#define RE_Direct RE_Direct_Lambert 687#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,fF=`uniform bool receiveShadow; 688uniform vec3 ambientLightColor; 689#if defined( USE_LIGHT_PROBES ) 690 uniform vec3 lightProbe[ 9 ]; 691#endif 692vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { 693 float x = normal.x, y = normal.y, z = normal.z; 694 vec3 result = shCoefficients[ 0 ] * 0.886227; 695 result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; 696 result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; 697 result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; 698 result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; 699 result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; 700 result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); 701 result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; 702 result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); 703 return result; 704} 705vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { 706 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 707 vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); 708 return irradiance; 709} 710vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { 711 vec3 irradiance = ambientLightColor; 712 return irradiance; 713} 714float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { 715 float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); 716 if ( cutoffDistance > 0.0 ) { 717 distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); 718 } 719 return distanceFalloff; 720} 721float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { 722 return smoothstep( coneCosine, penumbraCosine, angleCosine ); 723} 724#if NUM_DIR_LIGHTS > 0 725 struct DirectionalLight { 726 vec3 direction; 727 vec3 color; 728 }; 729 uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; 730 void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { 731 light.color = directionalLight.color; 732 light.direction = directionalLight.direction; 733 light.visible = true; 734 } 735#endif 736#if NUM_POINT_LIGHTS > 0 737 struct PointLight { 738 vec3 position; 739 vec3 color; 740 float distance; 741 float decay; 742 }; 743 uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; 744 void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { 745 vec3 lVector = pointLight.position - geometryPosition; 746 light.direction = normalize( lVector ); 747 float lightDistance = length( lVector ); 748 light.color = pointLight.color; 749 light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); 750 light.visible = ( light.color != vec3( 0.0 ) ); 751 } 752#endif
753#if NUM_SPOT_LIGHTS > 0 754 struct SpotLight { 755 vec3 position; 756 vec3 direction; 757 vec3 color; 758 float distance; 759 float decay; 760 float coneCos; 761 float penumbraCos; 762 }; 763 uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; 764 void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { 765 vec3 lVector = spotLight.position - geometryPosition; 766 light.direction = normalize( lVector ); 767 float angleCos = dot( light.direction, spotLight.direction ); 768 float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); 769 if ( spotAttenuation > 0.0 ) { 770 float lightDistance = length( lVector ); 771 light.color = spotLight.color * spotAttenuation; 772 light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); 773 light.visible = ( light.color != vec3( 0.0 ) ); 774 } else { 775 light.color = vec3( 0.0 ); 776 light.visible = false; 777 } 778 } 779#endif 780#if NUM_RECT_AREA_LIGHTS > 0 781 struct RectAreaLight { 782 vec3 color; 783 vec3 position; 784 vec3 halfWidth; 785 vec3 halfHeight; 786 }; 787 uniform sampler2D ltc_1; uniform sampler2D ltc_2; 788 uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; 789#endif 790#if NUM_HEMI_LIGHTS > 0 791 struct HemisphereLight { 792 vec3 direction; 793 vec3 skyColor; 794 vec3 groundColor; 795 }; 796 uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; 797 vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { 798 float dotNL = dot( normal, hemiLight.direction ); 799 float hemiDiffuseWeight = 0.5 * dotNL + 0.5; 800 vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); 801 return irradiance; 802 } 803#endif`,dF=`#ifdef USE_ENVMAP 804 vec3 getIBLIrradiance( const in vec3 normal ) { 805 #ifdef ENVMAP_TYPE_CUBE_UV 806 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 807 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); 808 return PI * envMapColor.rgb * envMapIntensity; 809 #else 810 return vec3( 0.0 ); 811 #endif 812 } 813 vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { 814 #ifdef ENVMAP_TYPE_CUBE_UV 815 vec3 reflectVec = reflect( - viewDir, normal ); 816 reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); 817 reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); 818 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); 819 return envMapColor.rgb * envMapIntensity; 820 #else 821 return vec3( 0.0 ); 822 #endif 823 } 824 #ifdef USE_ANISOTROPY 825 vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { 826 #ifdef ENVMAP_TYPE_CUBE_UV 827 vec3 bentNormal = cross( bitangent, viewDir ); 828 bentNormal = normalize( cross( bentNormal, bitangent ) ); 829 bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); 830 return getIBLRadiance( viewDir, bentNormal, roughness ); 831 #else 832 return vec3( 0.0 ); 833 #endif 834 } 835 #endif 836#endif`,qF=`ToonMaterial material; 837material.diffuseColor = diffuseColor.rgb;`,pF=`varying vec3 vViewPosition; 838struct ToonMaterial { 839 vec3 diffuseColor; 840}; 841void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 842 vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; 843 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 844} 845void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 846 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 847} 848#define RE_Direct RE_Direct_Toon 849#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,_F=`BlinnPhongMaterial material; 850material.diffuseColor = diffuseColor.rgb; 851material.specularColor = specular; 852material.specularShininess = shininess; 853material.specularStrength = specularStrength;`,mF=`varying vec3 vViewPosition; 854struct BlinnPhongMaterial { 855 vec3 diffuseColor; 856 vec3 specularColor; 857 float specularShininess; 858 float specularStrength; 859}; 860void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
861 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 862 vec3 irradiance = dotNL * directLight.color; 863 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 864 reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; 865} 866void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { 867 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 868} 869#define RE_Direct RE_Direct_BlinnPhong 870#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,gF=`PhysicalMaterial material; 871material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); 872vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); 873float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); 874material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; 875material.roughness = min( material.roughness, 1.0 ); 876#ifdef IOR 877 material.ior = ior; 878 #ifdef USE_SPECULAR 879 float specularIntensityFactor = specularIntensity; 880 vec3 specularColorFactor = specularColor; 881 #ifdef USE_SPECULAR_COLORMAP 882 specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; 883 #endif 884 #ifdef USE_SPECULAR_INTENSITYMAP 885 specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; 886 #endif 887 material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); 888 #else 889 float specularIntensityFactor = 1.0; 890 vec3 specularColorFactor = vec3( 1.0 ); 891 material.specularF90 = 1.0; 892 #endif 893 material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); 894#else 895 material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); 896 material.specularF90 = 1.0; 897#endif 898#ifdef USE_CLEARCOAT 899 material.clearcoat = clearcoat; 900 material.clearcoatRoughness = clearcoatRoughness; 901 material.clearcoatF0 = vec3( 0.04 ); 902 material.clearcoatF90 = 1.0; 903 #ifdef USE_CLEARCOATMAP 904 material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; 905 #endif 906 #ifdef USE_CLEARCOAT_ROUGHNESSMAP 907 material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; 908 #endif 909 material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); 910 material.clearcoatRoughness += geometryRoughness; 911 material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); 912#endif 913#ifdef USE_DISPERSION 914 material.dispersion = dispersion; 915#endif 916#ifdef USE_IRIDESCENCE 917 material.iridescence = iridescence; 918 material.iridescenceIOR = iridescenceIOR; 919 #ifdef USE_IRIDESCENCEMAP 920 material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; 921 #endif 922 #ifdef USE_IRIDESCENCE_THICKNESSMAP 923 material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; 924 #else 925 material.iridescenceThickness = iridescenceThicknessMaximum; 926 #endif 927#endif 928#ifdef USE_SHEEN 929 material.sheenColor = sheenColor; 930 #ifdef USE_SHEEN_COLORMAP 931 material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; 932 #endif 933 material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); 934 #ifdef USE_SHEEN_ROUGHNESSMAP 935 material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; 936 #endif 937#endif 938#ifdef USE_ANISOTROPY 939 #ifdef USE_ANISOTROPYMAP 940 mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); 941 vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; 942 vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; 943 #else 944 vec2 anisotropyV = anisotropyVector; 945 #endif 946 material.anisotropy = length( anisotropyV ); 947 if( material.anisotropy == 0.0 ) { 948 anisotropyV = vec2( 1.0, 0.0 ); 949 } else { 950 anisotropyV /= material.anisotropy; 951 material.anisotropy = saturate( material.anisotropy ); 952 } 953 material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
954 material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; 955 material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; 956#endif`,EF
vendor: 14,687 bytes, lines 956-1257
956=`struct PhysicalMaterial { 957 vec3 diffuseColor; 958 float roughness; 959 vec3 specularColor; 960 float specularF90; 961 float dispersion; 962 #ifdef USE_CLEARCOAT 963 float clearcoat; 964 float clearcoatRoughness; 965 vec3 clearcoatF0; 966 float clearcoatF90; 967 #endif 968 #ifdef USE_IRIDESCENCE 969 float iridescence; 970 float iridescenceIOR; 971 float iridescenceThickness; 972 vec3 iridescenceFresnel; 973 vec3 iridescenceF0; 974 #endif 975 #ifdef USE_SHEEN 976 vec3 sheenColor; 977 float sheenRoughness; 978 #endif 979 #ifdef IOR 980 float ior; 981 #endif 982 #ifdef USE_TRANSMISSION 983 float transmission; 984 float transmissionAlpha; 985 float thickness; 986 float attenuationDistance; 987 vec3 attenuationColor; 988 #endif 989 #ifdef USE_ANISOTROPY 990 float anisotropy; 991 float alphaT; 992 vec3 anisotropyT; 993 vec3 anisotropyB; 994 #endif 995}; 996vec3 clearcoatSpecularDirect = vec3( 0.0 ); 997vec3 clearcoatSpecularIndirect = vec3( 0.0 ); 998vec3 sheenSpecularDirect = vec3( 0.0 ); 999vec3 sheenSpecularIndirect = vec3(0.0 ); 1000vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { 1001 float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); 1002 float x2 = x * x; 1003 float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); 1004 return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); 1005} 1006float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { 1007 float a2 = pow2( alpha ); 1008 float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); 1009 float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); 1010 return 0.5 / max( gv + gl, EPSILON ); 1011} 1012float D_GGX( const in float alpha, const in float dotNH ) { 1013 float a2 = pow2( alpha ); 1014 float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; 1015 return RECIPROCAL_PI * a2 / pow2( denom ); 1016} 1017#ifdef USE_ANISOTROPY 1018 float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { 1019 float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); 1020 float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); 1021 float v = 0.5 / ( gv + gl ); 1022 return saturate(v); 1023 } 1024 float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { 1025 float a2 = alphaT * alphaB; 1026 highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); 1027 highp float v2 = dot( v, v ); 1028 float w2 = a2 / v2; 1029 return RECIPROCAL_PI * a2 * pow2 ( w2 ); 1030 } 1031#endif 1032#ifdef USE_CLEARCOAT 1033 vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { 1034 vec3 f0 = material.clearcoatF0; 1035 float f90 = material.clearcoatF90; 1036 float roughness = material.clearcoatRoughness; 1037 float alpha = pow2( roughness ); 1038 vec3 halfDir = normalize( lightDir + viewDir ); 1039 float dotNL = saturate( dot( normal, lightDir ) ); 1040 float dotNV = saturate( dot( normal, viewDir ) ); 1041 float dotNH = saturate( dot( normal, halfDir ) ); 1042 float dotVH = saturate( dot( viewDir, halfDir ) ); 1043 vec3 F = F_Schlick( f0, f90, dotVH ); 1044 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1045 float D = D_GGX( alpha, dotNH ); 1046 return F * ( V * D ); 1047 } 1048#endif 1049vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { 1050 vec3 f0 = material.specularColor; 1051 float f90 = material.specularF90; 1052 float roughness = material.roughness; 1053 float alpha = pow2( roughness ); 1054 vec3 halfDir = normalize( lightDir + viewDir ); 1055 float dotNL = saturate( dot( normal, lightDir ) ); 1056 float dotNV = saturate( dot( normal, viewDir ) ); 1057 float dotNH = saturate( dot( normal, halfDir ) ); 1058 float dotVH = saturate( dot( viewDir, halfDir ) ); 1059 vec3 F = F_Schlick( f0, f90, dotVH ); 1060 #ifdef USE_IRIDESCENCE 1061 F = mix( F, material.iridescenceFresnel, material.iridescence ); 1062 #endif 1063 #ifdef USE_ANISOTROPY 1064 float dotTL = dot( material.anisotropyT, lightDir ); 1065 float dotTV = dot( material.anisotropyT, viewDir ); 1066 float dotTH = dot( material.anisotropyT, halfDir ); 1067 float dotBL = dot( material.anisotropyB, lightDir ); 1068 float dotBV = dot( material.anisotropyB, viewDir ); 1069 float dotBH = dot( material.anisotropyB, halfDir ); 1070 float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); 1071 float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); 1072 #else 1073 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1074 float D = D_GGX( alpha, dotNH ); 1075 #endif 1076 return F * ( V * D ); 1077} 1078vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { 1079 const float LUT_SIZE = 64.0; 1080 const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; 1081 const float LUT_BIAS = 0.5 / LUT_SIZE; 1082 float dotNV = saturate( dot( N, V ) ); 1083 vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); 1084 uv = uv * LUT_SCALE + LUT_BIAS; 1085 return uv; 1086} 1087float LTC_ClippedSphereFormFactor( const in vec3 f ) { 1088 float l = length( f ); 1089 return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); 1090} 1091vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { 1092 float x = dot( v1, v2 ); 1093 float y = abs( x ); 1094 float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; 1095 float b = 3.4175940 + ( 4.1616724 + y ) * y; 1096 float v = a / b; 1097 float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; 1098 return cross( v1, v2 ) * theta_sintheta; 1099} 1100vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { 1101 vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; 1102 vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; 1103 vec3 lightNormal = cross( v1, v2 ); 1104 if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); 1105 vec3 T1, T2; 1106 T1 = normalize( V - N * dot( V, N ) ); 1107 T2 = - cross( N, T1 ); 1108 mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); 1109 vec3 coords[ 4 ]; 1110 coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); 1111 coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); 1112 coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); 1113 coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); 1114 coords[ 0 ] = normalize( coords[ 0 ] ); 1115 coords[ 1 ] = normalize( coords[ 1 ] ); 1116 coords[ 2 ] = normalize( coords[ 2 ] ); 1117 coords[ 3 ] = normalize( coords[ 3 ] ); 1118 vec3 vectorFormFactor = vec3( 0.0 ); 1119 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); 1120 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); 1121 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); 1122 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); 1123 float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); 1124 return vec3( result ); 1125} 1126#if defined( USE_SHEEN ) 1127float D_Charlie( float roughness, float dotNH ) { 1128 float alpha = pow2( roughness ); 1129 float invAlpha = 1.0 / alpha; 1130 float cos2h = dotNH * dotNH; 1131 float sin2h = max( 1.0 - cos2h, 0.0078125 ); 1132 return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); 1133} 1134float V_Neubelt( float dotNV, float dotNL ) { 1135 return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); 1136} 1137vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { 1138 vec3 halfDir = normalize( lightDir + viewDir ); 1139 float dotNL = saturate( dot( normal, lightDir ) ); 1140 float dotNV = saturate( dot( normal, viewDir ) ); 1141 float dotNH = saturate( dot( normal, halfDir ) ); 1142 float D = D_Charlie( sheenRoughness, dotNH ); 1143 float V = V_Neubelt( dotNV, dotNL ); 1144 return sheenColor * ( D * V ); 1145} 1146#endif 1147float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1148 float dotNV = saturate( dot( normal, viewDir ) ); 1149 float r2 = roughness * roughness; 1150 float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; 1151 float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; 1152 float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); 1153 return saturate( DG * RECIPROCAL_PI ); 1154} 1155vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1156 float dotNV = saturate( dot( normal, viewDir ) ); 1157 const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); 1158 const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); 1159 vec4 r = roughness * c0 + c1; 1160 float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; 1161 vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; 1162 return fab; 1163} 1164vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { 1165 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1166 return specularColor * fab.x + specularF90 * fab.y; 1167} 1168#ifdef USE_IRIDESCENCE 1169void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { 1170#else 1171void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { 1172#endif 1173 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1174 #ifdef USE_IRIDESCENCE 1175 vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); 1176 #else 1177 vec3 Fr = specularColor; 1178 #endif 1179 vec3 FssEss = Fr * fab.x + specularF90 * fab.y; 1180 float Ess = fab.x + fab.y; 1181 float Ems = 1.0 - Ess; 1182 vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); 1183 singleScatter += FssEss; 1184 multiScatter += Fms * Ems; 1185} 1186#if NUM_RECT_AREA_LIGHTS > 0 1187 void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1188 vec3 normal = geometryNormal; 1189 vec3 viewDir = geometryViewDir; 1190 vec3 position = geometryPosition; 1191 vec3 lightPos = rectAreaLight.position; 1192 vec3 halfWidth = rectAreaLight.halfWidth; 1193 vec3 halfHeight = rectAreaLight.halfHeight; 1194 vec3 lightColor = rectAreaLight.color; 1195 float roughness = material.roughness; 1196 vec3 rectCoords[ 4 ]; 1197 rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; 1198 rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; 1199 rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; 1200 vec2 uv = LTC_Uv( normal, viewDir, roughness ); 1201 vec4 t1 = texture2D( ltc_1, uv ); 1202 vec4 t2 = texture2D( ltc_2, uv ); 1203 mat3 mInv = mat3( 1204 vec3( t1.x, 0, t1.y ), 1205 vec3( 0, 1, 0 ), 1206 vec3( t1.z, 0, t1.w ) 1207 ); 1208 vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); 1209 reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); 1210 reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); 1211 } 1212#endif 1213void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1214 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 1215 vec3 irradiance = dotNL * directLight.color; 1216 #ifdef USE_CLEARCOAT 1217 float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); 1218 vec3 ccIrradiance = dotNLcc * directLight.color; 1219 clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); 1220 #endif 1221 #ifdef USE_SHEEN 1222 sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); 1223 #endif 1224 reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); 1225 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1226} 1227void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1228 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1229} 1230void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { 1231 #ifdef USE_CLEARCOAT 1232 clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); 1233 #endif 1234 #ifdef USE_SHEEN 1235 sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); 1236 #endif 1237 vec3 singleScattering = vec3( 0.0 ); 1238 vec3 multiScattering = vec3( 0.0 ); 1239 vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; 1240 #ifdef USE_IRIDESCENCE 1241 computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); 1242 #else 1243 computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); 1244 #endif 1245 vec3 totalScattering = singleScattering + multiScattering; 1246 vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); 1247 reflectedLight.indirectSpecular += radiance * singleScattering; 1248 reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; 1249 reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; 1250} 1251#define RE_Direct RE_Direct_Physical 1252#define RE_Direct_RectArea RE_Direct_RectArea_Physical 1253#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical 1254#define RE_IndirectSpecular RE_IndirectSpecular_Physical 1255float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { 1256 return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); 1257}`,
1257MF=` 1258vec3 geometryPosition = - vViewPosition; 1259vec3 geometryNormal = normal; 1260vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); 1261vec3 geometryClearcoatNormal = vec3( 0.0 ); 1262#ifdef USE_CLEARCOAT 1263 geometryClearcoatNormal = clearcoatNormal; 1264#endif 1265#ifdef USE_IRIDESCENCE 1266 float dotNVi = saturate( dot( normal, geometryViewDir ) ); 1267 if ( material.iridescenceThickness == 0.0 ) { 1268 material.iridescence = 0.0; 1269 } else { 1270 material.iridescence = saturate( material.iridescence ); 1271 } 1272 if ( material.iridescence > 0.0 ) { 1273 material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); 1274 material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); 1275 } 1276#endif 1277IncidentLight directLight; 1278#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) 1279 PointLight pointLight; 1280 #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 1281 PointLightShadow pointLightShadow; 1282 #endif 1283 #pragma unroll_loop_start 1284 for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { 1285 pointLight = pointLights[ i ]; 1286 getPointLightInfo( pointLight, geometryPosition, directLight ); 1287 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) 1288 pointLightShadow = pointLightShadows[ i ]; 1289 directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; 1290 #endif 1291 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1292 } 1293 #pragma unroll_loop_end 1294#endif 1295#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) 1296 SpotLight spotLight; 1297 vec4 spotColor; 1298 vec3 spotLightCoord; 1299 bool inSpotLightMap; 1300 #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 1301 SpotLightShadow spotLightShadow; 1302 #endif 1303 #pragma unroll_loop_start 1304 for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { 1305 spotLight = spotLights[ i ]; 1306 getSpotLightInfo( spotLight, geometryPosition, directLight ); 1307 #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1308 #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX 1309 #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1310 #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS 1311 #else 1312 #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1313 #endif 1314 #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) 1315 spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; 1316 inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); 1317 spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); 1318 directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; 1319 #endif 1320 #undef SPOT_LIGHT_MAP_INDEX 1321 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1322 spotLightShadow = spotLightShadows[ i ]; 1323 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 1324 #endif 1325 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1326 } 1327 #pragma unroll_loop_end 1328#endif 1329#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) 1330 DirectionalLight directionalLight; 1331 #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 1332 DirectionalLightShadow directionalLightShadow; 1333 #endif 1334 #pragma unroll_loop_start 1335 for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { 1336 directionalLight = directionalLights[ i ]; 1337 getDirectionalLightInfo( directionalLight, directLight ); 1338 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) 1339 directionalLightShadow = directionalLightShadows[ i ]; 1340 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 1341 #endif 1342 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1343 } 1344 #pragma unroll_loop_end 1345#endif 1346#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) 1347 RectAreaLight rectAreaLight; 1348 #pragma unroll_loop_start 1349 for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { 1350 rectAreaLight = rectAreaLights[ i ]; 1351 RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1352 } 1353 #pragma unroll_loop_end 1354#endif 1355#if defined( RE_IndirectDiffuse ) 1356 vec3 iblIrradiance = vec3( 0.0 ); 1357 vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); 1358 #if defined( USE_LIGHT_PROBES ) 1359 irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); 1360 #endif 1361 #if ( NUM_HEMI_LIGHTS > 0 ) 1362 #pragma unroll_loop_start 1363 for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { 1364 irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); 1365 } 1366 #pragma unroll_loop_end 1367 #endif 1368#endif 1369#if defined( RE_IndirectSpecular ) 1370 vec3 radiance = vec3( 0.0 ); 1371 vec3 clearcoatRadiance = vec3( 0.0 ); 1372#endif`,xF=`#if defined( RE_IndirectDiffuse ) 1373 #ifdef USE_LIGHTMAP 1374 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 1375 vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; 1376 irradiance += lightMapIrradiance; 1377 #endif 1378 #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) 1379 iblIrradiance += getIBLIrradiance( geometryNormal ); 1380 #endif 1381#endif 1382#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) 1383 #ifdef USE_ANISOTROPY 1384 radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); 1385 #else 1386 radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); 1387 #endif 1388 #ifdef USE_CLEARCOAT 1389 clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); 1390 #endif 1391#endif`,SF=`#if defined( RE_IndirectDiffuse ) 1392 RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1393#endif 1394#if defined( RE_IndirectSpecular ) 1395 RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1396#endif`,yF=`#if defined( USE_LOGDEPTHBUF ) 1397 gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; 1398#endif`,NF=`#if defined( USE_LOGDEPTHBUF ) 1399 uniform float logDepthBufFC; 1400 varying float vFragDepth; 1401 varying float vIsPerspective; 1402#endif`,vF=`#ifdef USE_LOGDEPTHBUF 1403 varying float vFragDepth; 1404 varying float vIsPerspective; 1405#endif`,OF=`#ifdef USE_LOGDEPTHBUF 1406 vFragDepth = 1.0 + gl_Position.w; 1407 vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); 1408#endif`,TF=`#ifdef USE_MAP 1409 vec4 sampledDiffuseColor = texture2D( map, vMapUv ); 1410 #ifdef DECODE_VIDEO_TEXTURE 1411 sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); 1412 #endif 1413 diffuseColor *= sampledDiffuseColor; 1414#endif`,RF=`#ifdef USE_MAP 1415 uniform sampler2D map; 1416#endif`,bF=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1417 #if defined( USE_POINTS_UV ) 1418 vec2 uv = vUv; 1419 #else 1420 vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; 1421 #endif 1422#endif 1423#ifdef USE_MAP 1424 diffuseColor *= texture2D( map, uv ); 1425#endif 1426#ifdef USE_ALPHAMAP 1427 diffuseColor.a *= texture2D( alphaMap, uv ).g; 1428#endif`,IF=`#if defined( USE_POINTS_UV ) 1429 varying vec2 vUv; 1430#else 1431 #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1432 uniform mat3 uvTransform; 1433 #endif 1434#endif 1435#ifdef USE_MAP 1436 uniform sampler2D map; 1437#endif 1438#ifdef USE_ALPHAMAP 1439 uniform sampler2D alphaMap; 1440#endif`,PF=`float metalnessFactor = metalness; 1441#ifdef USE_METALNESSMAP 1442 vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); 1443 metalnessFactor *= texelMetalness.b; 1444#endif`,LF=`#ifdef USE_METALNESSMAP 1445 uniform sampler2D metalnessMap; 1446#endif`,DF=`#ifdef USE_INSTANCING_MORPH 1447 float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1448 float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; 1449 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1450 morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; 1451 } 1452#endif`,CF=`#if defined( USE_MORPHCOLORS ) 1453 vColor *= morphTargetBaseInfluence; 1454 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1455 #if defined( USE_COLOR_ALPHA ) 1456 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; 1457 #elif defined( USE_COLOR ) 1458 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; 1459 #endif 1460 } 1461#endif`,wF=`#ifdef USE_MORPHNORMALS 1462 objectNormal *= morphTargetBaseInfluence; 1463 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1464 if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; 1465 } 1466#endif`,BF=`#ifdef USE_MORPHTARGETS 1467 #ifndef USE_INSTANCING_MORPH 1468 uniform float morphTargetBaseInfluence; 1469 uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1470 #endif 1471 uniform sampler2DArray morphTargetsTexture; 1472 uniform ivec2 morphTargetsTextureSize; 1473 vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { 1474 int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; 1475 int y = texelIndex / morphTargetsTextureSize.x; 1476 int x = texelIndex - y * morphTargetsTextureSize.x; 1477 ivec3 morphUV = ivec3( x, y, morphTargetIndex ); 1478 return texelFetch( morphTargetsTexture, morphUV, 0 ); 1479 } 1480#endif`,UF=`#ifdef USE_MORPHTARGETS 1481 transformed *= morphTargetBaseInfluence; 1482 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1483 if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; 1484 } 1485#endif`,FF=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; 1486#ifdef FLAT_SHADED 1487 vec3 fdx = dFdx( vViewPosition ); 1488 vec3 fdy = dFdy( vViewPosition ); 1489 vec3 normal = normalize( cross( fdx, fdy ) ); 1490#else 1491 vec3 normal = normalize( vNormal ); 1492 #ifdef DOUBLE_SIDED 1493 normal *= faceDirection; 1494 #endif 1495#endif 1496#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) 1497 #ifdef USE_TANGENT 1498 mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1499 #else 1500 mat3 tbn = getTangentFrame( - vViewPosition, normal, 1501 #if defined( USE_NORMALMAP ) 1502 vNormalMapUv 1503 #elif defined( USE_CLEARCOAT_NORMALMAP ) 1504 vClearcoatNormalMapUv 1505 #else 1506 vUv 1507 #endif 1508 ); 1509 #endif 1510 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1511 tbn[0] *= faceDirection; 1512 tbn[1] *= faceDirection; 1513 #endif 1514#endif 1515#ifdef USE_CLEARCOAT_NORMALMAP 1516 #ifdef USE_TANGENT 1517 mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1518 #else 1519 mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); 1520 #endif 1521 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1522 tbn2[0] *= faceDirection; 1523 tbn2[1] *= faceDirection; 1524 #endif 1525#endif 1526vec3 nonPerturbedNormal = normal;`,GF=`#ifdef USE_NORMALMAP_OBJECTSPACE 1527 normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1528 #ifdef FLIP_SIDED 1529 normal = - normal; 1530 #endif 1531 #ifdef DOUBLE_SIDED 1532 normal = normal * faceDirection; 1533 #endif 1534 normal = normalize( normalMatrix * normal ); 1535#elif defined( USE_NORMALMAP_TANGENTSPACE ) 1536 vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1537 mapN.xy *= normalScale; 1538 normal = normalize( tbn * mapN ); 1539#elif defined( USE_BUMPMAP )
1540 normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); 1541#endif`,VF=`#ifndef FLAT_SHADED 1542 varying vec3 vNormal; 1543 #ifdef USE_TANGENT 1544 varying vec3 vTangent; 1545 varying vec3 vBitangent; 1546 #endif 1547#endif`,kF=`#ifndef FLAT_SHADED 1548 varying vec3 vNormal; 1549 #ifdef USE_TANGENT 1550 varying vec3 vTangent; 1551 varying vec3 vBitangent; 1552 #endif 1553#endif`,zF=`#ifndef FLAT_SHADED 1554 vNormal = normalize( transformedNormal ); 1555 #ifdef USE_TANGENT 1556 vTangent = normalize( transformedTangent ); 1557 vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); 1558 #endif 1559#endif`,WF=`#ifdef USE_NORMALMAP 1560 uniform sampler2D normalMap; 1561 uniform vec2 normalScale; 1562#endif 1563#ifdef USE_NORMALMAP_OBJECTSPACE 1564 uniform mat3 normalMatrix; 1565#endif 1566#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) 1567 mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { 1568 vec3 q0 = dFdx( eye_pos.xyz ); 1569 vec3 q1 = dFdy( eye_pos.xyz ); 1570 vec2 st0 = dFdx( uv.st ); 1571 vec2 st1 = dFdy( uv.st ); 1572 vec3 N = surf_norm; 1573 vec3 q1perp = cross( q1, N ); 1574 vec3 q0perp = cross( N, q0 ); 1575 vec3 T = q1perp * st0.x + q0perp * st1.x; 1576 vec3 B = q1perp * st0.y + q0perp * st1.y; 1577 float det = max( dot( T, T ), dot( B, B ) ); 1578 float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); 1579 return mat3( T * scale, B * scale, N ); 1580 } 1581#endif`,HF=`#ifdef USE_CLEARCOAT 1582 vec3 clearcoatNormal = nonPerturbedNormal; 1583#endif`,KF=`#ifdef USE_CLEARCOAT_NORMALMAP 1584 vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; 1585 clearcoatMapN.xy *= clearcoatNormalScale; 1586 clearcoatNormal = normalize( tbn2 * clearcoatMapN ); 1587#endif`,YF=`#ifdef USE_CLEARCOATMAP 1588 uniform sampler2D clearcoatMap; 1589#endif 1590#ifdef USE_CLEARCOAT_NORMALMAP 1591 uniform sampler2D clearcoatNormalMap; 1592 uniform vec2 clearcoatNormalScale; 1593#endif 1594#ifdef USE_CLEARCOAT_ROUGHNESSMAP 1595 uniform sampler2D clearcoatRoughnessMap; 1596#endif`,$F=`#ifdef USE_IRIDESCENCEMAP 1597 uniform sampler2D iridescenceMap; 1598#endif 1599#ifdef USE_IRIDESCENCE_THICKNESSMAP 1600 uniform sampler2D iridescenceThicknessMap; 1601#endif`,jF=`#ifdef OPAQUE 1602diffuseColor.a = 1.0; 1603#endif 1604#ifdef USE_TRANSMISSION 1605diffuseColor.a *= material.transmissionAlpha; 1606#endif 1607gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,XF=`vec3 packNormalToRGB( const in vec3 normal ) { 1608 return normalize( normal ) * 0.5 + 0.5; 1609} 1610vec3 unpackRGBToNormal( const in vec3 rgb ) { 1611 return 2.0 * rgb.xyz - 1.0; 1612} 1613const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; 1614const float Inv255 = 1. / 255.; 1615const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); 1616const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); 1617const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); 1618const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); 1619vec4 packDepthToRGBA( const in float v ) { 1620 if( v <= 0.0 ) 1621 return vec4( 0., 0., 0., 0. ); 1622 if( v >= 1.0 ) 1623 return vec4( 1., 1., 1., 1. ); 1624 float vuf; 1625 float af = modf( v * PackFactors.a, vuf ); 1626 float bf = modf( vuf * ShiftRight8, vuf ); 1627 float gf = modf( vuf * ShiftRight8, vuf ); 1628 return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); 1629} 1630vec3 packDepthToRGB( const in float v ) { 1631 if( v <= 0.0 ) 1632 return vec3( 0., 0., 0. ); 1633 if( v >= 1.0 ) 1634 return vec3( 1., 1., 1. ); 1635 float vuf; 1636 float bf = modf( v * PackFactors.b, vuf ); 1637 float gf = modf( vuf * ShiftRight8, vuf ); 1638 return vec3( vuf * Inv255, gf * PackUpscale, bf ); 1639} 1640vec2 packDepthToRG( const in float v ) { 1641 if( v <= 0.0 ) 1642 return vec2( 0., 0. ); 1643 if( v >= 1.0 ) 1644 return vec2( 1., 1. ); 1645 float vuf; 1646 float gf = modf( v * 256., vuf ); 1647 return vec2( vuf * Inv255, gf ); 1648} 1649float unpackRGBAToDepth( const in vec4 v ) { 1650 return dot( v, UnpackFactors4 ); 1651} 1652float unpackRGBToDepth( const in vec3 v ) { 1653 return dot( v, UnpackFactors3 ); 1654} 1655float unpackRGToDepth( const in vec2 v ) { 1656 return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; 1657} 1658vec4 pack2HalfToRGBA( const in vec2 v ) {
1659 vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); 1660 return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); 1661} 1662vec2 unpackRGBATo2Half( const in vec4 v ) { 1663 return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); 1664} 1665float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { 1666 return ( viewZ + near ) / ( near - far ); 1667} 1668float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { 1669 return depth * ( near - far ) - near; 1670} 1671float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { 1672 return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); 1673} 1674float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { 1675 return ( near * far ) / ( ( far - near ) * depth - far ); 1676}`,ZF=`#ifdef PREMULTIPLIED_ALPHA 1677 gl_FragColor.rgb *= gl_FragColor.a; 1678#endif`,QF=`vec4 mvPosition = vec4( transformed, 1.0 ); 1679#ifdef USE_BATCHING 1680 mvPosition = batchingMatrix * mvPosition; 1681#endif 1682#ifdef USE_INSTANCING 1683 mvPosition = instanceMatrix * mvPosition; 1684#endif 1685mvPosition = modelViewMatrix * mvPosition; 1686gl_Position = projectionMatrix * mvPosition;`,JF=`#ifdef DITHERING 1687 gl_FragColor.rgb = dithering( gl_FragColor.rgb ); 1688#endif`,eG=`#ifdef DITHERING 1689 vec3 dithering( vec3 color ) { 1690 float grid_position = rand( gl_FragCoord.xy ); 1691 vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); 1692 dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); 1693 return color + dither_shift_RGB; 1694 } 1695#endif`,tG=`float roughnessFactor = roughness; 1696#ifdef USE_ROUGHNESSMAP 1697 vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); 1698 roughnessFactor *= texelRoughness.g; 1699#endif`,nG=`#ifdef USE_ROUGHNESSMAP 1700 uniform sampler2D roughnessMap; 1701#endif`,iG=
vendor: 8,887 bytes, lines 1701-1887
1701`#if NUM_SPOT_LIGHT_COORDS > 0 1702 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1703#endif 1704#if NUM_SPOT_LIGHT_MAPS > 0 1705 uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; 1706#endif 1707#ifdef USE_SHADOWMAP 1708 #if NUM_DIR_LIGHT_SHADOWS > 0 1709 uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; 1710 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1711 struct DirectionalLightShadow { 1712 float shadowIntensity; 1713 float shadowBias; 1714 float shadowNormalBias; 1715 float shadowRadius; 1716 vec2 shadowMapSize; 1717 }; 1718 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1719 #endif 1720 #if NUM_SPOT_LIGHT_SHADOWS > 0 1721 uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; 1722 struct SpotLightShadow { 1723 float shadowIntensity; 1724 float shadowBias; 1725 float shadowNormalBias; 1726 float shadowRadius; 1727 vec2 shadowMapSize; 1728 }; 1729 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1730 #endif 1731 #if NUM_POINT_LIGHT_SHADOWS > 0 1732 uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; 1733 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1734 struct PointLightShadow { 1735 float shadowIntensity; 1736 float shadowBias; 1737 float shadowNormalBias; 1738 float shadowRadius; 1739 vec2 shadowMapSize; 1740 float shadowCameraNear; 1741 float shadowCameraFar; 1742 }; 1743 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1744 #endif 1745 float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { 1746 return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); 1747 } 1748 vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { 1749 return unpackRGBATo2Half( texture2D( shadow, uv ) ); 1750 } 1751 float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ 1752 float occlusion = 1.0; 1753 vec2 distribution = texture2DDistribution( shadow, uv ); 1754 float hard_shadow = step( compare , distribution.x ); 1755 if (hard_shadow != 1.0 ) { 1756 float distance = compare - distribution.x ; 1757 float variance = max( 0.00000, distribution.y * distribution.y ); 1758 float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); 1759 } 1760 return occlusion; 1761 } 1762 float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { 1763 float shadow = 1.0; 1764 shadowCoord.xyz /= shadowCoord.w; 1765 shadowCoord.z += shadowBias; 1766 bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; 1767 bool frustumTest = inFrustum && shadowCoord.z <= 1.0; 1768 if ( frustumTest ) { 1769 #if defined( SHADOWMAP_TYPE_PCF ) 1770 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1771 float dx0 = - texelSize.x * shadowRadius; 1772 float dy0 = - texelSize.y * shadowRadius; 1773 float dx1 = + texelSize.x * shadowRadius; 1774 float dy1 = + texelSize.y * shadowRadius; 1775 float dx2 = dx0 / 2.0; 1776 float dy2 = dy0 / 2.0; 1777 float dx3 = dx1 / 2.0; 1778 float dy3 = dy1 / 2.0; 1779 shadow = ( 1780 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + 1781 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + 1782 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + 1783 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + 1784 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + 1785 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + 1786 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + 1787 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + 1788 texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + 1789 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + 1790 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + 1791 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + 1792 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + 1793 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + 1794 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + 1795 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + 1796 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) 1797 ) * ( 1.0 / 17.0 ); 1798 #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) 1799 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1800 float dx = texelSize.x; 1801 float dy = texelSize.y; 1802 vec2 uv = shadowCoord.xy; 1803 vec2 f = fract( uv * shadowMapSize + 0.5 ); 1804 uv -= f * texelSize; 1805 shadow = ( 1806 texture2DCompare( shadowMap, uv, shadowCoord.z ) + 1807 texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + 1808 texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + 1809 texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + 1810 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), 1811 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), 1812 f.x ) + 1813 mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), 1814 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), 1815 f.x ) + 1816 mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), 1817 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), 1818 f.y ) + 1819 mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), 1820 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), 1821 f.y ) + 1822 mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), 1823 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), 1824 f.x ), 1825 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), 1826 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), 1827 f.x ), 1828 f.y ) 1829 ) * ( 1.0 / 9.0 ); 1830 #elif defined( SHADOWMAP_TYPE_VSM ) 1831 shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); 1832 #else 1833 shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); 1834 #endif 1835 } 1836 return mix( 1.0, shadow, shadowIntensity ); 1837 } 1838 vec2 cubeToUV( vec3 v, float texelSizeY ) { 1839 vec3 absV = abs( v ); 1840 float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); 1841 absV *= scaleToCube; 1842 v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); 1843 vec2 planar = v.xy; 1844 float almostATexel = 1.5 * texelSizeY; 1845 float almostOne = 1.0 - almostATexel; 1846 if ( absV.z >= almostOne ) { 1847 if ( v.z > 0.0 ) 1848 planar.x = 4.0 - v.x; 1849 } else if ( absV.x >= almostOne ) { 1850 float signX = sign( v.x ); 1851 planar.x = v.z * signX + 2.0 * signX; 1852 } else if ( absV.y >= almostOne ) { 1853 float signY = sign( v.y ); 1854 planar.x = v.x + 2.0 * signY + 2.0; 1855 planar.y = v.z * signY - 2.0; 1856 } 1857 return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); 1858 } 1859 float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { 1860 float shadow = 1.0; 1861 vec3 lightToPosition = shadowCoord.xyz; 1862 1863 float lightToPositionLength = length( lightToPosition ); 1864 if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { 1865 float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; 1866 vec3 bd3D = normalize( lightToPosition ); 1867 vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); 1868 #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) 1869 vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; 1870 shadow = ( 1871 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + 1872 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + 1873 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + 1874 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + 1875 texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + 1876 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + 1877 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + 1878 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + 1879 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) 1880 ) * ( 1.0 / 9.0 ); 1881 #else 1882 shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); 1883 #endif 1884 } 1885 return mix( 1.0, shadow, shadowIntensity ); 1886 } 1887#endif`,
1887rG=`#if NUM_SPOT_LIGHT_COORDS > 0 1888 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; 1889 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1890#endif 1891#ifdef USE_SHADOWMAP 1892 #if NUM_DIR_LIGHT_SHADOWS > 0 1893 uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; 1894 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1895 struct DirectionalLightShadow { 1896 float shadowIntensity; 1897 float shadowBias; 1898 float shadowNormalBias; 1899 float shadowRadius; 1900 vec2 shadowMapSize; 1901 }; 1902 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1903 #endif 1904 #if NUM_SPOT_LIGHT_SHADOWS > 0 1905 struct SpotLightShadow { 1906 float shadowIntensity; 1907 float shadowBias; 1908 float shadowNormalBias; 1909 float shadowRadius; 1910 vec2 shadowMapSize; 1911 }; 1912 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1913 #endif 1914 #if NUM_POINT_LIGHT_SHADOWS > 0 1915 uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; 1916 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1917 struct PointLightShadow { 1918 float shadowIntensity; 1919 float shadowBias; 1920 float shadowNormalBias; 1921 float shadowRadius; 1922 vec2 shadowMapSize; 1923 float shadowCameraNear; 1924 float shadowCameraFar; 1925 }; 1926 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1927 #endif 1928#endif`,sG=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) 1929 vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 1930 vec4 shadowWorldPosition; 1931#endif 1932#if defined( USE_SHADOWMAP ) 1933 #if NUM_DIR_LIGHT_SHADOWS > 0 1934 #pragma unroll_loop_start 1935 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 1936 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); 1937 vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; 1938 } 1939 #pragma unroll_loop_end 1940 #endif 1941 #if NUM_POINT_LIGHT_SHADOWS > 0 1942 #pragma unroll_loop_start 1943 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 1944 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); 1945 vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; 1946 } 1947 #pragma unroll_loop_end 1948 #endif 1949#endif 1950#if NUM_SPOT_LIGHT_COORDS > 0 1951 #pragma unroll_loop_start 1952 for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { 1953 shadowWorldPosition = worldPosition; 1954 #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1955 shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; 1956 #endif 1957 vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; 1958 } 1959 #pragma unroll_loop_end 1960#endif`,aG=`float getShadowMask() { 1961 float shadow = 1.0; 1962 #ifdef USE_SHADOWMAP 1963 #if NUM_DIR_LIGHT_SHADOWS > 0 1964 DirectionalLightShadow directionalLight; 1965 #pragma unroll_loop_start 1966 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 1967 directionalLight = directionalLightShadows[ i ]; 1968 shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 1969 } 1970 #pragma unroll_loop_end 1971 #endif 1972 #if NUM_SPOT_LIGHT_SHADOWS > 0 1973 SpotLightShadow spotLight; 1974 #pragma unroll_loop_start 1975 for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { 1976 spotLight = spotLightShadows[ i ]; 1977 shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 1978 } 1979 #pragma unroll_loop_end 1980 #endif 1981 #if NUM_POINT_LIGHT_SHADOWS > 0 1982 PointLightShadow pointLight; 1983 #pragma unroll_loop_start 1984 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 1985 pointLight = pointLightShadows[ i ]; 1986 shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; 1987 } 1988 #pragma unroll_loop_end 1989 #endif 1990 #endif 1991 return shadow; 1992}`,oG=`#ifdef USE_SKINNING 1993 mat4 boneMatX = getBoneMatrix( skinIndex.x ); 1994 mat4 boneMatY = getBoneMatrix( skinIndex.y ); 1995 mat4 boneMatZ = getBoneMatrix( skinIndex.z ); 1996 mat4 boneMatW = getBoneMatrix( skinIndex.w ); 1997#endif`,lG=`#ifdef USE_SKINNING 1998 uniform mat4 bindMatrix; 1999 uniform mat4 bindMatrixInverse; 2000 uniform highp sampler2D boneTexture; 2001 mat4 getBoneMatrix( const in float i ) { 2002 int size = textureSize( boneTexture, 0 ).x; 2003 int j = int( i ) * 4; 2004 int x = j % size; 2005 int y = j / size; 2006 vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); 2007 vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); 2008 vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); 2009 vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); 2010 return mat4( v1, v2, v3, v4 ); 2011 } 2012#endif`,uG=`#ifdef USE_SKINNING 2013 vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); 2014 vec4 skinned = vec4( 0.0 ); 2015 skinned += boneMatX * skinVertex * skinWeight.x; 2016 skinned += boneMatY * skinVertex * skinWeight.y; 2017 skinned += boneMatZ * skinVertex * skinWeight.z; 2018 skinned += boneMatW * skinVertex * skinWeight.w; 2019 transformed = ( bindMatrixInverse * skinned ).xyz; 2020#endif`,cG=`#ifdef USE_SKINNING 2021 mat4 skinMatrix = mat4( 0.0 ); 2022 skinMatrix += skinWeight.x * boneMatX; 2023 skinMatrix += skinWeight.y * boneMatY; 2024 skinMatrix += skinWeight.z * boneMatZ; 2025 skinMatrix += skinWeight.w * boneMatW; 2026 skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; 2027 objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; 2028 #ifdef USE_TANGENT 2029 objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; 2030 #endif 2031#endif`,AG=`float specularStrength; 2032#ifdef USE_SPECULARMAP 2033 vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); 2034 specularStrength = texelSpecular.r; 2035#else 2036 specularStrength = 1.0; 2037#endif`,hG=`#ifdef USE_SPECULARMAP 2038 uniform sampler2D specularMap; 2039#endif`,fG=`#if defined( TONE_MAPPING ) 2040 gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); 2041#endif`,dG=`#ifndef saturate 2042#define saturate( a ) clamp( a, 0.0, 1.0 ) 2043#endif 2044uniform float toneMappingExposure; 2045vec3 LinearToneMapping( vec3 color ) { 2046 return saturate( toneMappingExposure * color ); 2047} 2048vec3 ReinhardToneMapping( vec3 color ) { 2049 color *= toneMappingExposure; 2050 return saturate( color / ( vec3( 1.0 ) + color ) ); 2051} 2052vec3 CineonToneMapping( vec3 color ) { 2053 color *= toneMappingExposure; 2054 color = max( vec3( 0.0 ), color - 0.004 ); 2055 return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); 2056} 2057vec3 RRTAndODTFit( vec3 v ) { 2058 vec3 a = v * ( v + 0.0245786 ) - 0.000090537; 2059 vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; 2060 return a / b; 2061} 2062vec3 ACESFilmicToneMapping( vec3 color ) { 2063 const mat3 ACESInputMat = mat3( 2064 vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), 2065 vec3( 0.04823, 0.01566, 0.83777 ) 2066 ); 2067 const mat3 ACESOutputMat = mat3( 2068 vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), 2069 vec3( -0.07367, -0.00605, 1.07602 ) 2070 ); 2071 color *= toneMappingExposure / 0.6; 2072 color = ACESInputMat * color; 2073 color = RRTAndODTFit( color ); 2074 color = ACESOutputMat * color; 2075 return saturate( color ); 2076} 2077const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( 2078 vec3( 1.6605, - 0.1246, - 0.0182 ), 2079 vec3( - 0.5876, 1.1329, - 0.1006 ), 2080 vec3( - 0.0728, - 0.0083, 1.1187 ) 2081); 2082const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( 2083 vec3( 0.6274, 0.0691, 0.0164 ), 2084 vec3( 0.3293, 0.9195, 0.0880 ), 2085 vec3( 0.0433, 0.0113, 0.8956 ) 2086); 2087vec3 agxDefaultContrastApprox( vec3 x ) { 2088 vec3 x2 = x * x; 2089 vec3 x4 = x2 * x2; 2090 return + 15.5 * x4 * x2 2091 - 40.14 * x4 * x 2092 + 31.96 * x4 2093 - 6.868 * x2 * x 2094 + 0.4298 * x2 2095 + 0.1191 * x 2096 - 0.00232; 2097} 2098vec3 AgXToneMapping( vec3 color ) { 2099 const mat3 AgXInsetMatrix = mat3( 2100 vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), 2101 vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), 2102 vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) 2103 );
2104 const mat3 AgXOutsetMatrix = mat3( 2105 vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), 2106 vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), 2107 vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) 2108 ); 2109 const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; 2110 color *= toneMappingExposure; 2111 color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; 2112 color = AgXInsetMatrix * color; 2113 color = max( color, 1e-10 ); color = log2( color ); 2114 color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); 2115 color = clamp( color, 0.0, 1.0 ); 2116 color = agxDefaultContrastApprox( color ); 2117 color = AgXOutsetMatrix * color; 2118 color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); 2119 color = LINEAR_REC2020_TO_LINEAR_SRGB * color; 2120 color = clamp( color, 0.0, 1.0 ); 2121 return color; 2122} 2123vec3 NeutralToneMapping( vec3 color ) { 2124 const float StartCompression = 0.8 - 0.04; 2125 const float Desaturation = 0.15; 2126 color *= toneMappingExposure; 2127 float x = min( color.r, min( color.g, color.b ) ); 2128 float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; 2129 color -= offset; 2130 float peak = max( color.r, max( color.g, color.b ) ); 2131 if ( peak < StartCompression ) return color; 2132 float d = 1. - StartCompression; 2133 float newPeak = 1. - d * d / ( peak + d - StartCompression ); 2134 color *= newPeak / peak; 2135 float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); 2136 return mix( color, vec3( newPeak ), g ); 2137} 2138vec3 CustomToneMapping( vec3 color ) { return color; }`,qG=`#ifdef USE_TRANSMISSION 2139 material.transmission = transmission; 2140 material.transmissionAlpha = 1.0; 2141 material.thickness = thickness; 2142 material.attenuationDistance = attenuationDistance; 2143 material.attenuationColor = attenuationColor; 2144 #ifdef USE_TRANSMISSIONMAP 2145 material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; 2146 #endif 2147 #ifdef USE_THICKNESSMAP 2148 material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; 2149 #endif 2150 vec3 pos = vWorldPosition; 2151 vec3 v = normalize( cameraPosition - pos ); 2152 vec3 n = inverseTransformDirection( normal, viewMatrix ); 2153 vec4 transmitted = getIBLVolumeRefraction( 2154 n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, 2155 pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, 2156 material.attenuationColor, material.attenuationDistance ); 2157 material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); 2158 totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); 2159#endif`,pG=`#ifdef USE_TRANSMISSION 2160 uniform float transmission; 2161 uniform float thickness; 2162 uniform float attenuationDistance; 2163 uniform vec3 attenuationColor; 2164 #ifdef USE_TRANSMISSIONMAP 2165 uniform sampler2D transmissionMap; 2166 #endif 2167 #ifdef USE_THICKNESSMAP 2168 uniform sampler2D thicknessMap; 2169 #endif 2170 uniform vec2 transmissionSamplerSize; 2171 uniform sampler2D transmissionSamplerMap; 2172 uniform mat4 modelMatrix; 2173 uniform mat4 projectionMatrix; 2174 varying vec3 vWorldPosition; 2175 float w0( float a ) { 2176 return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); 2177 } 2178 float w1( float a ) { 2179 return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); 2180 } 2181 float w2( float a ){ 2182 return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); 2183 } 2184 float w3( float a ) { 2185 return ( 1.0 / 6.0 ) * ( a * a * a ); 2186 } 2187 float g0( float a ) { 2188 return w0( a ) + w1( a ); 2189 } 2190 float g1( float a ) { 2191 return w2( a ) + w3( a ); 2192 } 2193 float h0( float a ) { 2194 return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); 2195 } 2196 float h1( float a ) { 2197 return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); 2198 } 2199 vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { 2200 uv = uv * texelSize.zw + 0.5; 2201 vec2 iuv = floor( uv ); 2202 vec2 fuv = fract( uv ); 2203 float g0x = g0( fuv.x ); 2204 float g1x = g1( fuv.x ); 2205 float h0x = h0( fuv.x ); 2206 float h1x = h1( fuv.x ); 2207 float h0y = h0( fuv.y ); 2208 float h1y = h1( fuv.y ); 2209 vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2210 vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2211 vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2212 vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2213 return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + 2214 g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); 2215 } 2216 vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { 2217 vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); 2218 vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); 2219 vec2 fLodSizeInv = 1.0 / fLodSize; 2220 vec2 cLodSizeInv = 1.0 / cLodSize; 2221 vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); 2222 vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); 2223 return mix( fSample, cSample, fract( lod ) ); 2224 } 2225 vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { 2226 vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); 2227 vec3 modelScale; 2228 modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); 2229 modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); 2230 modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); 2231 return normalize( refractionVector ) * thickness * modelScale; 2232 } 2233 float applyIorToRoughness( const in float roughness, const in float ior ) { 2234 return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); 2235 } 2236 vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { 2237 float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); 2238 return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); 2239 } 2240 vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { 2241 if ( isinf( attenuationDistance ) ) { 2242 return vec3( 1.0 ); 2243 } else { 2244 vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; 2245 vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; 2246 } 2247 } 2248 vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, 2249 const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, 2250 const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, 2251 const in vec3 attenuationColor, const in float attenuationDistance ) { 2252 vec4 transmittedLight; 2253 vec3 transmittance; 2254 #ifdef USE_DISPERSION 2255 float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; 2256 vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); 2257 for ( int i = 0; i < 3; i ++ ) { 2258 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); 2259 vec3 refractedRayExit = position + transmissionRay; 2260 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2261 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2262 refractionCoords += 1.0; 2263 refractionCoords /= 2.0; 2264 vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); 2265 transmittedLight[ i ] = transmissionSample[ i ]; 2266 transmittedLight.a += transmissionSample.a; 2267 transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; 2268 } 2269 transmittedLight.a /= 3.0; 2270 #else 2271 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); 2272 vec3 refractedRayExit = position + transmissionRay; 2273 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2274 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2275 refractionCoords += 1.0; 2276 refractionCoords /= 2.0; 2277 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); 2278 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); 2279 #endif 2280 vec3 attenuatedColor = transmittance * transmittedLight.rgb; 2281 vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); 2282 float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; 2283 return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); 2284 } 2285#endif`,_G=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2286 varying vec2 vUv; 2287#endif 2288#ifdef USE_MAP 2289 varying vec2 vMapUv; 2290#endif 2291#ifdef USE_ALPHAMAP
2292 varying vec2 vAlphaMapUv; 2293#endif 2294#ifdef USE_LIGHTMAP 2295 varying vec2 vLightMapUv; 2296#endif 2297#ifdef USE_AOMAP 2298 varying vec2 vAoMapUv; 2299#endif 2300#ifdef USE_BUMPMAP 2301 varying vec2 vBumpMapUv; 2302#endif 2303#ifdef USE_NORMALMAP 2304 varying vec2 vNormalMapUv; 2305#endif 2306#ifdef USE_EMISSIVEMAP 2307 varying vec2 vEmissiveMapUv; 2308#endif 2309#ifdef USE_METALNESSMAP 2310 varying vec2 vMetalnessMapUv; 2311#endif 2312#ifdef USE_ROUGHNESSMAP 2313 varying vec2 vRoughnessMapUv; 2314#endif 2315#ifdef USE_ANISOTROPYMAP 2316 varying vec2 vAnisotropyMapUv; 2317#endif 2318#ifdef USE_CLEARCOATMAP 2319 varying vec2 vClearcoatMapUv; 2320#endif 2321#ifdef USE_CLEARCOAT_NORMALMAP 2322 varying vec2 vClearcoatNormalMapUv; 2323#endif 2324#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2325 varying vec2 vClearcoatRoughnessMapUv; 2326#endif 2327#ifdef USE_IRIDESCENCEMAP 2328 varying vec2 vIridescenceMapUv; 2329#endif 2330#ifdef USE_IRIDESCENCE_THICKNESSMAP 2331 varying vec2 vIridescenceThicknessMapUv; 2332#endif 2333#ifdef USE_SHEEN_COLORMAP 2334 varying vec2 vSheenColorMapUv; 2335#endif 2336#ifdef USE_SHEEN_ROUGHNESSMAP 2337 varying vec2 vSheenRoughnessMapUv; 2338#endif 2339#ifdef USE_SPECULARMAP 2340 varying vec2 vSpecularMapUv; 2341#endif 2342#ifdef USE_SPECULAR_COLORMAP 2343 varying vec2 vSpecularColorMapUv; 2344#endif 2345#ifdef USE_SPECULAR_INTENSITYMAP 2346 varying vec2 vSpecularIntensityMapUv; 2347#endif 2348#ifdef USE_TRANSMISSIONMAP 2349 uniform mat3 transmissionMapTransform; 2350 varying vec2 vTransmissionMapUv; 2351#endif 2352#ifdef USE_THICKNESSMAP 2353 uniform mat3 thicknessMapTransform; 2354 varying vec2 vThicknessMapUv; 2355#endif`,mG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2356 varying vec2 vUv; 2357#endif 2358#ifdef USE_MAP 2359 uniform mat3 mapTransform; 2360 varying vec2 vMapUv; 2361#endif 2362#ifdef USE_ALPHAMAP 2363 uniform mat3 alphaMapTransform; 2364 varying vec2 vAlphaMapUv; 2365#endif 2366#ifdef USE_LIGHTMAP 2367 uniform mat3 lightMapTransform; 2368 varying vec2 vLightMapUv; 2369#endif 2370#ifdef USE_AOMAP 2371 uniform mat3 aoMapTransform; 2372 varying vec2 vAoMapUv; 2373#endif 2374#ifdef USE_BUMPMAP 2375 uniform mat3 bumpMapTransform; 2376 varying vec2 vBumpMapUv; 2377#endif 2378#ifdef USE_NORMALMAP 2379 uniform mat3 normalMapTransform; 2380 varying vec2 vNormalMapUv; 2381#endif 2382#ifdef USE_DISPLACEMENTMAP 2383 uniform mat3 displacementMapTransform; 2384 varying vec2 vDisplacementMapUv; 2385#endif 2386#ifdef USE_EMISSIVEMAP 2387 uniform mat3 emissiveMapTransform; 2388 varying vec2 vEmissiveMapUv; 2389#endif 2390#ifdef USE_METALNESSMAP 2391 uniform mat3 metalnessMapTransform; 2392 varying vec2 vMetalnessMapUv; 2393#endif 2394#ifdef USE_ROUGHNESSMAP 2395 uniform mat3 roughnessMapTransform; 2396 varying vec2 vRoughnessMapUv; 2397#endif 2398#ifdef USE_ANISOTROPYMAP 2399 uniform mat3 anisotropyMapTransform; 2400 varying vec2 vAnisotropyMapUv; 2401#endif 2402#ifdef USE_CLEARCOATMAP 2403 uniform mat3 clearcoatMapTransform; 2404 varying vec2 vClearcoatMapUv; 2405#endif 2406#ifdef USE_CLEARCOAT_NORMALMAP 2407 uniform mat3 clearcoatNormalMapTransform; 2408 varying vec2 vClearcoatNormalMapUv; 2409#endif 2410#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2411 uniform mat3 clearcoatRoughnessMapTransform; 2412 varying vec2 vClearcoatRoughnessMapUv; 2413#endif 2414#ifdef USE_SHEEN_COLORMAP 2415 uniform mat3 sheenColorMapTransform; 2416 varying vec2 vSheenColorMapUv; 2417#endif 2418#ifdef USE_SHEEN_ROUGHNESSMAP 2419 uniform mat3 sheenRoughnessMapTransform; 2420 varying vec2 vSheenRoughnessMapUv; 2421#endif 2422#ifdef USE_IRIDESCENCEMAP 2423 uniform mat3 iridescenceMapTransform; 2424 varying vec2 vIridescenceMapUv; 2425#endif 2426#ifdef USE_IRIDESCENCE_THICKNESSMAP 2427 uniform mat3 iridescenceThicknessMapTransform; 2428 varying vec2 vIridescenceThicknessMapUv; 2429#endif 2430#ifdef USE_SPECULARMAP 2431 uniform mat3 specularMapTransform; 2432 varying vec2 vSpecularMapUv; 2433#endif 2434#ifdef USE_SPECULAR_COLORMAP 2435 uniform mat3 specularColorMapTransform; 2436 varying vec2 vSpecularColorMapUv; 2437#endif 2438#ifdef USE_SPECULAR_INTENSITYMAP 2439 uniform mat3 specularIntensityMapTransform; 2440 varying vec2 vSpecularIntensityMapUv; 2441#endif 2442#ifdef USE_TRANSMISSIONMAP 2443 uniform mat3 transmissionMapTransform; 2444 varying vec2 vTransmissionMapUv; 2445#endif 2446#ifdef USE_THICKNESSMAP 2447 uniform mat3 thicknessMapTransform; 2448 varying vec2 vThicknessMapUv; 2449#endif`,gG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2450 vUv = vec3( uv, 1 ).xy; 2451#endif 2452#ifdef USE_MAP 2453 vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; 2454#endif 2455#ifdef USE_ALPHAMAP 2456 vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; 2457#endif 2458#ifdef USE_LIGHTMAP 2459 vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; 2460#endif 2461#ifdef USE_AOMAP 2462 vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; 2463#endif 2464#ifdef USE_BUMPMAP 2465 vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; 2466#endif 2467#ifdef USE_NORMALMAP 2468 vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; 2469#endif 2470#ifdef USE_DISPLACEMENTMAP 2471 vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; 2472#endif 2473#ifdef USE_EMISSIVEMAP 2474 vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; 2475#endif 2476#ifdef USE_METALNESSMAP 2477 vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; 2478#endif 2479#ifdef USE_ROUGHNESSMAP 2480 vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; 2481#endif 2482#ifdef USE_ANISOTROPYMAP 2483 vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; 2484#endif 2485#ifdef USE_CLEARCOATMAP 2486 vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; 2487#endif 2488#ifdef USE_CLEARCOAT_NORMALMAP 2489 vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; 2490#endif 2491#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2492 vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; 2493#endif
2494#ifdef USE_IRIDESCENCEMAP 2495 vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; 2496#endif 2497#ifdef USE_IRIDESCENCE_THICKNESSMAP 2498 vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; 2499#endif 2500#ifdef USE_SHEEN_COLORMAP 2501 vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; 2502#endif 2503#ifdef USE_SHEEN_ROUGHNESSMAP 2504 vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; 2505#endif 2506#ifdef USE_SPECULARMAP 2507 vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; 2508#endif 2509#ifdef USE_SPECULAR_COLORMAP 2510 vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; 2511#endif 2512#ifdef USE_SPECULAR_INTENSITYMAP 2513 vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; 2514#endif 2515#ifdef USE_TRANSMISSIONMAP 2516 vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; 2517#endif 2518#ifdef USE_THICKNESSMAP 2519 vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; 2520#endif`,EG=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 2521 vec4 worldPosition = vec4( transformed, 1.0 ); 2522 #ifdef USE_BATCHING 2523 worldPosition = batchingMatrix * worldPosition; 2524 #endif 2525 #ifdef USE_INSTANCING 2526 worldPosition = instanceMatrix * worldPosition; 2527 #endif 2528 worldPosition = modelMatrix * worldPosition; 2529#endif`;const MG=`varying vec2 vUv; 2530uniform mat3 uvTransform; 2531void main() { 2532 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 2533 gl_Position = vec4( position.xy, 1.0, 1.0 ); 2534}`,xG=`uniform sampler2D t2D; 2535uniform float backgroundIntensity; 2536varying vec2 vUv; 2537void main() { 2538 vec4 texColor = texture2D( t2D, vUv ); 2539 #ifdef DECODE_VIDEO_TEXTURE 2540 texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); 2541 #endif 2542 texColor.rgb *= backgroundIntensity; 2543 gl_FragColor = texColor; 2544 #include <tonemapping_fragment> 2545 #include <colorspace_fragment> 2546}`,SG=`varying vec3 vWorldDirection; 2547#include <common> 2548void main() { 2549 vWorldDirection = transformDirection( position, modelMatrix ); 2550 #include <begin_vertex> 2551 #include <project_vertex> 2552 gl_Position.z = gl_Position.w; 2553}`,yG=`#ifdef ENVMAP_TYPE_CUBE 2554 uniform samplerCube envMap; 2555#elif defined( ENVMAP_TYPE_CUBE_UV ) 2556 uniform sampler2D envMap; 2557#endif 2558uniform float flipEnvMap; 2559uniform float backgroundBlurriness; 2560uniform float backgroundIntensity; 2561uniform mat3 backgroundRotation; 2562varying vec3 vWorldDirection; 2563#include <cube_uv_reflection_fragment> 2564void main() { 2565 #ifdef ENVMAP_TYPE_CUBE 2566 vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); 2567 #elif defined( ENVMAP_TYPE_CUBE_UV ) 2568 vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); 2569 #else 2570 vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 2571 #endif 2572 texColor.rgb *= backgroundIntensity; 2573 gl_FragColor = texColor; 2574 #include <tonemapping_fragment> 2575 #include <colorspace_fragment> 2576}`,NG=`varying vec3 vWorldDirection; 2577#include <common> 2578void main() { 2579 vWorldDirection = transformDirection( position, modelMatrix ); 2580 #include <begin_vertex> 2581 #include <project_vertex> 2582 gl_Position.z = gl_Position.w; 2583}`,vG=`uniform samplerCube tCube; 2584uniform float tFlip; 2585uniform float opacity; 2586varying vec3 vWorldDirection; 2587void main() { 2588 vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); 2589 gl_FragColor = texColor; 2590 gl_FragColor.a *= opacity; 2591 #include <tonemapping_fragment> 2592 #include <colorspace_fragment> 2593}`,OG=`#include <common> 2594#include <batching_pars_vertex> 2595#include <uv_pars_vertex> 2596#include <displacementmap_pars_vertex> 2597#include <morphtarget_pars_vertex> 2598#include <skinning_pars_vertex> 2599#include <logdepthbuf_pars_vertex> 2600#include <clipping_planes_pars_vertex> 2601varying vec2 vHighPrecisionZW; 2602void main() { 2603 #include <uv_vertex> 2604 #include <batching_vertex> 2605 #include <skinbase_vertex> 2606 #include <morphinstance_vertex> 2607 #ifdef USE_DISPLACEMENTMAP 2608 #include <beginnormal_vertex> 2609 #include <morphnormal_vertex> 2610 #include <skinnormal_vertex> 2611 #endif 2612 #include <begin_vertex> 2613 #include <morphtarget_vertex> 2614 #include <skinning_vertex> 2615 #include <displacementmap_vertex> 2616 #include <project_vertex> 2617 #include <logdepthbuf_vertex> 2618 #include <clipping_planes_vertex> 2619 vHighPrecisionZW = gl_Position.zw; 2620}`,TG=`#if DEPTH_PACKING == 3200 2621 uniform float opacity; 2622#endif 2623#include <common> 2624#include <packing> 2625#include <uv_pars_fragment> 2626#include <map_pars_fragment> 2627#include <alphamap_pars_fragment> 2628#include <alphatest_pars_fragment> 2629#include <alphahash_pars_fragment> 2630#include <logdepthbuf_pars_fragment> 2631#include <clipping_planes_pars_fragment> 2632varying vec2 vHighPrecisionZW; 2633void main() { 2634 vec4 diffuseColor = vec4( 1.0 ); 2635 #include <clipping_planes_fragment> 2636 #if DEPTH_PACKING == 3200 2637 diffuseColor.a = opacity; 2638 #endif 2639 #include <map_fragment> 2640 #include <alphamap_fragment> 2641 #include <alphatest_fragment> 2642 #include <alphahash_fragment> 2643 #include <logdepthbuf_fragment> 2644 float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; 2645 #if DEPTH_PACKING == 3200 2646 gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); 2647 #elif DEPTH_PACKING == 3201 2648 gl_FragColor = packDepthToRGBA( fragCoordZ ); 2649 #elif DEPTH_PACKING == 3202 2650 gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); 2651 #elif DEPTH_PACKING == 3203 2652 gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); 2653 #endif 2654}`,RG=`#define DISTANCE 2655varying vec3 vWorldPosition; 2656#include <common> 2657#include <batching_pars_vertex> 2658#include <uv_pars_vertex> 2659#include <displacementmap_pars_vertex> 2660#include <morphtarget_pars_vertex> 2661#include <skinning_pars_vertex> 2662#include <clipping_planes_pars_vertex> 2663void main() { 2664 #include <uv_vertex> 2665 #include <batching_vertex> 2666 #include <skinbase_vertex> 2667 #include <morphinstance_vertex> 2668 #ifdef USE_DISPLACEMENTMAP 2669 #include <beginnormal_vertex> 2670 #include <morphnormal_vertex> 2671 #include <skinnormal_vertex> 2672 #endif 2673 #include <begin_vertex> 2674 #include <morphtarget_vertex> 2675 #include <skinning_vertex> 2676 #include <displacementmap_vertex> 2677 #include <project_vertex> 2678 #include <worldpos_vertex> 2679 #include <clipping_planes_vertex> 2680 vWorldPosition = worldPosition.xyz; 2681}`,bG=`#define DISTANCE 2682uniform vec3 referencePosition; 2683uniform float nearDistance; 2684uniform float farDistance; 2685varying vec3 vWorldPosition; 2686#include <common> 2687#include <packing> 2688#include <uv_pars_fragment> 2689#include <map_pars_fragment> 2690#include <alphamap_pars_fragment> 2691#include <alphatest_pars_fragment> 2692#include <alphahash_pars_fragment> 2693#include <clipping_planes_pars_fragment> 2694void main () { 2695 vec4 diffuseColor = vec4( 1.0 ); 2696 #include <clipping_planes_fragment> 2697 #include <map_fragment> 2698 #include <alphamap_fragment> 2699 #include <alphatest_fragment> 2700 #include <alphahash_fragment> 2701 float dist = length( vWorldPosition - referencePosition ); 2702 dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); 2703 dist = saturate( dist ); 2704 gl_FragColor = packDepthToRGBA( dist ); 2705}`,IG=`varying vec3 vWorldDirection; 2706#include <common> 2707void main() { 2708 vWorldDirection = transformDirection( position, modelMatrix ); 2709 #include <begin_vertex> 2710 #include <project_vertex> 2711}`,PG=`uniform sampler2D tEquirect; 2712varying vec3 vWorldDirection; 2713#include <common> 2714void main() { 2715 vec3 direction = normalize( vWorldDirection ); 2716 vec2 sampleUV = equirectUv( direction ); 2717 gl_FragColor = texture2D( tEquirect, sampleUV ); 2718 #include <tonemapping_fragment> 2719 #include <colorspace_fragment> 2720}`,LG=`uniform float scale; 2721attribute float lineDistance; 2722varying float vLineDistance; 2723#include <common> 2724#include <uv_pars_vertex> 2725#include <color_pars_vertex> 2726#include <fog_pars_vertex> 2727#include <morphtarget_pars_vertex> 2728#include <logdepthbuf_pars_vertex> 2729#include <clipping_planes_pars_vertex> 2730void main() { 2731 vLineDistance = scale * lineDistance; 2732 #include <uv_vertex> 2733 #include <color_vertex> 2734 #include <morphinstance_vertex> 2735 #include <morphcolor_vertex> 2736 #include <begin_vertex> 2737 #include <morphtarget_vertex> 2738 #include <project_vertex> 2739 #include <logdepthbuf_vertex> 2740 #include <clipping_planes_vertex> 2741 #include <fog_vertex> 2742}`,DG=`uniform vec3 diffuse; 2743uniform float opacity; 2744uniform float dashSize; 2745uniform float totalSize; 2746varying float vLineDistance; 2747#include <common> 2748#include <color_pars_fragment> 2749#include <uv_pars_fragment> 2750#include <map_pars_fragment> 2751#include <fog_pars_fragment> 2752#include <logdepthbuf_pars_fragment> 2753#include <clipping_planes_pars_fragment> 2754void main() { 2755 vec4 diffuseColor = vec4( diffuse, opacity ); 2756 #include <clipping_planes_fragment> 2757 if ( mod( vLineDistance, totalSize ) > dashSize ) { 2758 discard; 2759 } 2760 vec3 outgoingLight = vec3( 0.0 ); 2761 #include <logdepthbuf_fragment> 2762 #include <map_fragment> 2763 #include <color_fragment> 2764 outgoingLight = diffuseColor.rgb; 2765 #include <opaque_fragment> 2766 #include <tonemapping_fragment> 2767 #include <colorspace_fragment> 2768 #include <fog_fragment> 2769 #include <premultiplied_alpha_fragment> 2770}`,CG=`#include <common> 2771#include <batching_pars_vertex> 2772#include <uv_pars_vertex> 2773#include <envmap_pars_vertex> 2774#include <color_pars_vertex> 2775#include <fog_pars_vertex> 2776#include <morphtarget_pars_vertex> 2777#include <skinning_pars_vertex> 2778#include <logdepthbuf_pars_vertex> 2779#include <clipping_planes_pars_vertex> 2780void main() { 2781 #include <uv_vertex> 2782 #include <color_vertex> 2783 #include <morphinstance_vertex> 2784 #include <morphcolor_vertex> 2785 #include <batching_vertex> 2786 #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) 2787 #include <beginnormal_vertex> 2788 #include <morphnormal_vertex> 2789 #include <skinbase_vertex> 2790 #include <skinnormal_vertex> 2791 #include <defaultnormal_vertex> 2792 #endif 2793 #include <begin_vertex> 2794 #include <morphtarget_vertex> 2795 #include <skinning_vertex> 2796 #include <project_vertex> 2797 #include <logdepthbuf_vertex> 2798 #include <clipping_planes_vertex> 2799 #include <worldpos_vertex> 2800 #include <envmap_vertex> 2801 #include <fog_vertex> 2802}`,wG=`uniform vec3 diffuse; 2803uniform float opacity; 2804#ifndef FLAT_SHADED 2805 varying vec3 vNormal; 2806#endif 2807#include <common> 2808#include <dithering_pars_fragment> 2809#include <color_pars_fragment> 2810#include <uv_pars_fragment> 2811#include <map_pars_fragment> 2812#include <alphamap_pars_fragment> 2813#include <alphatest_pars_fragment> 2814#include <alphahash_pars_fragment> 2815#include <aomap_pars_fragment> 2816#include <lightmap_pars_fragment> 2817#include <envmap_common_pars_fragment> 2818#include <envmap_pars_fragment> 2819#include <fog_pars_fragment> 2820#include <specularmap_pars_fragment> 2821#include <logdepthbuf_pars_fragment> 2822#include <clipping_planes_pars_fragment> 2823void main() { 2824 vec4 diffuseColor = vec4( diffuse, opacity ); 2825 #include <clipping_planes_fragment> 2826 #include <logdepthbuf_fragment> 2827 #include <map_fragment> 2828 #include <color_fragment> 2829 #include <alphamap_fragment> 2830 #include <alphatest_fragment> 2831 #include <alphahash_fragment> 2832 #include <specularmap_fragment> 2833 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2834 #ifdef USE_LIGHTMAP 2835 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 2836 reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; 2837 #else 2838 reflectedLight.indirectDiffuse += vec3( 1.0 ); 2839 #endif 2840 #include <aomap_fragment> 2841 reflectedLight.indirectDiffuse *= diffuseColor.rgb; 2842 vec3 outgoingLight = reflectedLight.indirectDiffuse; 2843 #include <envmap_fragment> 2844 #include <opaque_fragment> 2845 #include <tonemapping_fragment> 2846 #include <colorspace_fragment> 2847 #include <fog_fragment> 2848 #include <premultiplied_alpha_fragment> 2849 #include <dithering_fragment> 2850}`,BG=`#define LAMBERT 2851varying vec3 vViewPosition; 2852#include <common> 2853#include <batching_pars_vertex> 2854#include <uv_pars_vertex> 2855#include <displacementmap_pars_vertex> 2856#include <envmap_pars_vertex> 2857#include <color_pars_vertex> 2858#include <fog_pars_vertex> 2859#include <normal_pars_vertex> 2860#include <morphtarget_pars_vertex> 2861#include <skinning_pars_vertex> 2862#include <shadowmap_pars_vertex> 2863#include <logdepthbuf_pars_vertex> 2864#include <clipping_planes_pars_vertex> 2865void main() { 2866 #include <uv_vertex> 2867 #include <color_vertex> 2868 #include <morphinstance_vertex> 2869 #include <morphcolor_vertex> 2870 #include <batching_vertex> 2871 #include <beginnormal_vertex> 2872 #include <morphnormal_vertex> 2873 #include <skinbase_vertex> 2874 #include <skinnormal_vertex> 2875 #include <defaultnormal_vertex> 2876 #include <normal_vertex> 2877 #include <begin_vertex> 2878 #include <morphtarget_vertex> 2879 #include <skinning_vertex> 2880 #include <displacementmap_vertex> 2881 #include <project_vertex> 2882 #include <logdepthbuf_vertex> 2883 #include <clipping_planes_vertex> 2884 vViewPosition = - mvPosition.xyz; 2885 #include <worldpos_vertex> 2886 #include <envmap_vertex> 2887 #include <shadowmap_vertex> 2888 #include <fog_vertex> 2889}`,UG=`#define LAMBERT 2890uniform vec3 diffuse; 2891uniform vec3 emissive; 2892uniform float opacity; 2893#include <common> 2894#include <packing> 2895#include <dithering_pars_fragment> 2896#include <color_pars_fragment> 2897#include <uv_pars_fragment> 2898#include <map_pars_fragment> 2899#include <alphamap_pars_fragment> 2900#include <alphatest_pars_fragment> 2901#include <alphahash_pars_fragment> 2902#include <aomap_pars_fragment> 2903#include <lightmap_pars_fragment> 2904#include <emissivemap_pars_fragment> 2905#include <envmap_common_pars_fragment> 2906#include <envmap_pars_fragment> 2907#include <fog_pars_fragment> 2908#include <bsdfs> 2909#include <lights_pars_begin> 2910#include <normal_pars_fragment> 2911#include <lights_lambert_pars_fragment> 2912#include <shadowmap_pars_fragment> 2913#include <bumpmap_pars_fragment> 2914#include <normalmap_pars_fragment> 2915#include <specularmap_pars_fragment> 2916#include <logdepthbuf_pars_fragment> 2917#include <clipping_planes_pars_fragment> 2918void main() { 2919 vec4 diffuseColor = vec4( diffuse, opacity ); 2920 #include <clipping_planes_fragment> 2921 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2922 vec3 totalEmissiveRadiance = emissive; 2923 #include <logdepthbuf_fragment> 2924 #include <map_fragment> 2925 #include <color_fragment> 2926 #include <alphamap_fragment> 2927 #include <alphatest_fragment> 2928 #include <alphahash_fragment> 2929 #include <specularmap_fragment> 2930 #include <normal_fragment_begin> 2931 #include <normal_fragment_maps> 2932 #include <emissivemap_fragment> 2933 #include <lights_lambert_fragment> 2934 #include <lights_fragment_begin> 2935 #include <lights_fragment_maps> 2936 #include <lights_fragment_end> 2937 #include <aomap_fragment> 2938 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 2939 #include <envmap_fragment> 2940 #include <opaque_fragment> 2941 #include <tonemapping_fragment> 2942 #include <colorspace_fragment> 2943 #include <fog_fragment> 2944 #include <premultiplied_alpha_fragment> 2945 #include <dithering_fragment> 2946}`,FG=`#define MATCAP 2947varying vec3 vViewPosition; 2948#include <common> 2949#include <batching_pars_vertex> 2950#include <uv_pars_vertex> 2951#include <color_pars_vertex> 2952#include <displacementmap_pars_vertex> 2953#include <fog_pars_vertex> 2954#include <normal_pars_vertex> 2955#include <morphtarget_pars_vertex> 2956#include <skinning_pars_vertex> 2957#include <logdepthbuf_pars_vertex> 2958#include <clipping_planes_pars_vertex> 2959void main() { 2960 #include <uv_vertex> 2961 #include <color_vertex> 2962 #include <morphinstance_vertex> 2963 #include <morphcolor_vertex> 2964 #include <batching_vertex> 2965 #include <beginnormal_vertex> 2966 #include <morphnormal_vertex> 2967 #include <skinbase_vertex> 2968 #include <skinnormal_vertex> 2969 #include <defaultnormal_vertex> 2970 #include <normal_vertex> 2971 #include <begin_vertex> 2972 #include <morphtarget_vertex> 2973 #include <skinning_vertex> 2974 #include <displacementmap_vertex> 2975 #include <project_vertex> 2976 #include <logdepthbuf_vertex> 2977 #include <clipping_planes_vertex> 2978 #include <fog_vertex> 2979 vViewPosition = - mvPosition.xyz; 2980}`,GG=`#define MATCAP 2981uniform vec3 diffuse; 2982uniform float opacity; 2983uniform sampler2D matcap; 2984varying vec3 vViewPosition; 2985#include <common> 2986#include <dithering_pars_fragment> 2987#include <color_pars_fragment> 2988#include <uv_pars_fragment> 2989#include <map_pars_fragment> 2990#include <alphamap_pars_fragment> 2991#include <alphatest_pars_fragment> 2992#include <alphahash_pars_fragment> 2993#include <fog_pars_fragment> 2994#include <normal_pars_fragment> 2995#include <bumpmap_pars_fragment> 2996#include <normalmap_pars_fragment> 2997#include <logdepthbuf_pars_fragment> 2998#include <clipping_planes_pars_fragment> 2999void main() { 3000 ve
3000c4 diffuseColor = vec4( diffuse, opacity ); 3001 #include <clipping_planes_fragment> 3002 #include <logdepthbuf_fragment> 3003 #include <map_fragment> 3004 #include <color_fragment> 3005 #include <alphamap_fragment> 3006 #include <alphatest_fragment> 3007 #include <alphahash_fragment> 3008 #include <normal_fragment_begin> 3009 #include <normal_fragment_maps> 3010 vec3 viewDir = normalize( vViewPosition ); 3011 vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); 3012 vec3 y = cross( viewDir, x ); 3013 vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; 3014 #ifdef USE_MATCAP 3015 vec4 matcapColor = texture2D( matcap, uv ); 3016 #else 3017 vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); 3018 #endif 3019 vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; 3020 #include <opaque_fragment> 3021 #include <tonemapping_fragment> 3022 #include <colorspace_fragment> 3023 #include <fog_fragment> 3024 #include <premultiplied_alpha_fragment> 3025 #include <dithering_fragment> 3026}`,VG=`#define NORMAL 3027#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3028 varying vec3 vViewPosition; 3029#endif 3030#include <common> 3031#include <batching_pars_vertex> 3032#include <uv_pars_vertex> 3033#include <displacementmap_pars_vertex> 3034#include <normal_pars_vertex> 3035#include <morphtarget_pars_vertex> 3036#include <skinning_pars_vertex> 3037#include <logdepthbuf_pars_vertex> 3038#include <clipping_planes_pars_vertex> 3039void main() { 3040 #include <uv_vertex> 3041 #include <batching_vertex> 3042 #include <beginnormal_vertex> 3043 #include <morphinstance_vertex> 3044 #include <morphnormal_vertex> 3045 #include <skinbase_vertex> 3046 #include <skinnormal_vertex> 3047 #include <defaultnormal_vertex> 3048 #include <normal_vertex> 3049 #include <begin_vertex> 3050 #include <morphtarget_vertex> 3051 #include <skinning_vertex> 3052 #include <displacementmap_vertex> 3053 #include <project_vertex> 3054 #include <logdepthbuf_vertex> 3055 #include <clipping_planes_vertex> 3056#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3057 vViewPosition = - mvPosition.xyz; 3058#endif 3059}`,kG=`#define NORMAL 3060uniform float opacity; 3061#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3062 varying vec3 vViewPosition; 3063#endif 3064#include <packing> 3065#include <uv_pars_fragment> 3066#include <normal_pars_fragment> 3067#include <bumpmap_pars_fragment> 3068#include <normalmap_pars_fragment> 3069#include <logdepthbuf_pars_fragment> 3070#include <clipping_planes_pars_fragment> 3071void main() { 3072 vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); 3073 #include <clipping_planes_fragment> 3074 #include <logdepthbuf_fragment> 3075 #include <normal_fragment_begin> 3076 #include <normal_fragment_maps> 3077 gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); 3078 #ifdef OPAQUE 3079 gl_FragColor.a = 1.0; 3080 #endif 3081}`,zG=`#define PHONG 3082varying vec3 vViewPosition; 3083#include <common> 3084#include <batching_pars_vertex> 3085#include <uv_pars_vertex> 3086#include <displacementmap_pars_vertex> 3087#include <envmap_pars_vertex> 3088#include <color_pars_vertex> 3089#include <fog_pars_vertex> 3090#include <normal_pars_vertex> 3091#include <morphtarget_pars_vertex> 3092#include <skinning_pars_vertex> 3093#include <shadowmap_pars_vertex> 3094#include <logdepthbuf_pars_vertex> 3095#include <clipping_planes_pars_vertex> 3096void main() { 3097 #include <uv_vertex> 3098 #include <color_vertex> 3099 #include <morphcolor_vertex> 3100 #include <batching_vertex> 3101 #include <beginnormal_vertex> 3102 #include <morphinstance_vertex> 3103 #include <morphnormal_vertex> 3104 #include <skinbase_vertex> 3105 #include <skinnormal_vertex> 3106 #include <defaultnormal_vertex> 3107 #include <normal_vertex> 3108 #include <begin_vertex> 3109 #include <morphtarget_vertex> 3110 #include <skinning_vertex> 3111 #include <displacementmap_vertex> 3112 #include <project_vertex> 3113 #include <logdepthbuf_vertex> 3114 #include <clipping_planes_vertex> 3115 vViewPosition = - mvPosition.xyz; 3116 #include <worldpos_vertex> 3117 #include <envmap_vertex> 3118 #include <shadowmap_vertex> 3119 #include <fog_vertex> 3120}`,WG=`#define PHONG 3121uniform vec3 diffuse; 3122uniform vec3 emissive; 3123uniform vec3 specular; 3124uniform float shininess; 3125uniform float opacity; 3126#include <common> 3127#include <packing> 3128#include <dithering_pars_fragment> 3129#include <color_pars_fragment> 3130#include <uv_pars_fragment> 3131#include <map_pars_fragment> 3132#include <alphamap_pars_fragment> 3133#include <alphatest_pars_fragment> 3134#include <alphahash_pars_fragment> 3135#include <aomap_pars_fragment> 3136#include <lightmap_pars_fragment> 3137#include <emissivemap_pars_fragment> 3138#include <envmap_common_pars_fragment> 3139#include <envmap_pars_fragment> 3140#include <fog_pars_fragment> 3141#include <bsdfs> 3142#include <lights_pars_begin> 3143#include <normal_pars_fragment> 3144#include <lights_phong_pars_fragment> 3145#include <shadowmap_pars_fragment> 3146#include <bumpmap_pars_fragment> 3147#include <normalmap_pars_fragment> 3148#include <specularmap_pars_fragment> 3149#include <logdepthbuf_pars_fragment> 3150#include <clipping_planes_pars_fragment> 3151void main() { 3152 vec4 diffuseColor = vec4( diffuse, opacity ); 3153 #include <clipping_planes_fragment> 3154 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3155 vec3 totalEmissiveRadiance = emissive; 3156 #include <logdepthbuf_fragment> 3157 #include <map_fragment> 3158 #include <color_fragment> 3159 #include <alphamap_fragment> 3160 #include <alphatest_fragment> 3161 #include <alphahash_fragment> 3162 #include <specularmap_fragment> 3163 #include <normal_fragment_begin> 3164 #include <normal_fragment_maps> 3165 #include <emissivemap_fragment> 3166 #include <lights_phong_fragment> 3167 #include <lights_fragment_begin> 3168 #include <lights_fragment_maps> 3169 #include <lights_fragment_end> 3170 #include <aomap_fragment> 3171 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; 3172 #include <envmap_fragment> 3173 #include <opaque_fragment> 3174 #include <tonemapping_fragment> 3175 #include <colorspace_fragment> 3176 #include <fog_fragment> 3177 #include <premultiplied_alpha_fragment> 3178 #include <dithering_fragment> 3179}`,HG=`#define STANDARD 3180varying vec3 vViewPosition; 3181#ifdef USE_TRANSMISSION 3182 varying vec3 vWorldPosition; 3183#endif 3184#include <common> 3185#include <batching_pars_vertex> 3186#include <uv_pars_vertex> 3187#include <displacementmap_pars_vertex> 3188#include <color_pars_vertex> 3189#include <fog_pars_vertex> 3190#include <normal_pars_vertex> 3191#include <morphtarget_pars_vertex> 3192#include <skinning_pars_vertex> 3193#include <shadowmap_pars_vertex> 3194#include <logdepthbuf_pars_vertex> 3195#include <clipping_planes_pars_vertex> 3196void main() { 3197 #include <uv_vertex> 3198 #include <color_vertex> 3199 #include <morphinstance_vertex> 3200 #include <morphcolor_vertex> 3201 #include <batching_vertex> 3202 #include <beginnormal_vertex> 3203 #include <morphnormal_vertex> 3204 #include <skinbase_vertex> 3205 #include <skinnormal_vertex> 3206 #include <defaultnormal_vertex> 3207 #include <normal_vertex> 3208 #include <begin_vertex> 3209 #include <morphtarget_vertex> 3210 #include <skinning_vertex> 3211 #include <displacementmap_vertex> 3212 #include <project_vertex> 3213 #include <logdepthbuf_vertex> 3214 #include <clipping_planes_vertex> 3215 vViewPosition = - mvPosition.xyz; 3216 #include <worldpos_vertex> 3217 #include <shadowmap_vertex> 3218 #include <fog_vertex> 3219#ifdef USE_TRANSMISSION 3220 vWorldPosition = worldPosition.xyz; 3221#endif 3222}`,KG=`#define STANDARD 3223#ifdef PHYSICAL 3224 #define IOR 3225 #define USE_SPECULAR 3226#endif 3227uniform vec3 diffuse; 3228uniform vec3 emissive; 3229uniform float roughness; 3230uniform float metalness; 3231uniform float opacity; 3232#ifdef IOR 3233 uniform float ior; 3234#endif 3235#ifdef USE_SPECULAR 3236 uniform float specularIntensity; 3237 uniform vec3 specularColor; 3238 #ifdef USE_SPECULAR_COLORMAP 3239 uniform sampler2D specularColorMap; 3240 #endif 3241 #ifdef USE_SPECULAR_INTENSITYMAP 3242 uniform sampler2D specularIntensityMap; 3243 #endif 3244#endif 3245#ifdef USE_CLEARCOAT 3246 uniform float clearcoat; 3247 uniform float clearcoatRoughness; 3248#endif 3249#ifdef USE_DISPERSION 3250 uniform float dispersion; 3251#endif
3252#ifdef USE_IRIDESCENCE 3253 uniform float iridescence; 3254 uniform float iridescenceIOR; 3255 uniform float iridescenceThicknessMinimum; 3256 uniform float iridescenceThicknessMaximum; 3257#endif 3258#ifdef USE_SHEEN 3259 uniform vec3 sheenColor; 3260 uniform float sheenRoughness; 3261 #ifdef USE_SHEEN_COLORMAP 3262 uniform sampler2D sheenColorMap; 3263 #endif 3264 #ifdef USE_SHEEN_ROUGHNESSMAP 3265 uniform sampler2D sheenRoughnessMap; 3266 #endif 3267#endif 3268#ifdef USE_ANISOTROPY 3269 uniform vec2 anisotropyVector; 3270 #ifdef USE_ANISOTROPYMAP 3271 uniform sampler2D anisotropyMap; 3272 #endif 3273#endif 3274varying vec3 vViewPosition; 3275#include <common> 3276#include <packing> 3277#include <dithering_pars_fragment> 3278#include <color_pars_fragment> 3279#include <uv_pars_fragment> 3280#include <map_pars_fragment> 3281#include <alphamap_pars_fragment> 3282#include <alphatest_pars_fragment> 3283#include <alphahash_pars_fragment> 3284#include <aomap_pars_fragment> 3285#include <lightmap_pars_fragment> 3286#include <emissivemap_pars_fragment> 3287#include <iridescence_fragment> 3288#include <cube_uv_reflection_fragment> 3289#include <envmap_common_pars_fragment> 3290#include <envmap_physical_pars_fragment> 3291#include <fog_pars_fragment> 3292#include <lights_pars_begin> 3293#include <normal_pars_fragment> 3294#include <lights_physical_pars_fragment> 3295#include <transmission_pars_fragment> 3296#include <shadowmap_pars_fragment> 3297#include <bumpmap_pars_fragment> 3298#include <normalmap_pars_fragment> 3299#include <clearcoat_pars_fragment> 3300#include <iridescence_pars_fragment> 3301#include <roughnessmap_pars_fragment> 3302#include <metalnessmap_pars_fragment> 3303#include <logdepthbuf_pars_fragment> 3304#include <clipping_planes_pars_fragment> 3305void main() { 3306 vec4 diffuseColor = vec4( diffuse, opacity ); 3307 #include <clipping_planes_fragment> 3308 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3309 vec3 totalEmissiveRadiance = emissive; 3310 #include <logdepthbuf_fragment> 3311 #include <map_fragment> 3312 #include <color_fragment> 3313 #include <alphamap_fragment> 3314 #include <alphatest_fragment> 3315 #include <alphahash_fragment> 3316 #include <roughnessmap_fragment> 3317 #include <metalnessmap_fragment> 3318 #include <normal_fragment_begin> 3319 #include <normal_fragment_maps> 3320 #include <clearcoat_normal_fragment_begin> 3321 #include <clearcoat_normal_fragment_maps> 3322 #include <emissivemap_fragment> 3323 #include <lights_physical_fragment> 3324 #include <lights_fragment_begin> 3325 #include <lights_fragment_maps> 3326 #include <lights_fragment_end> 3327 #include <aomap_fragment> 3328 vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; 3329 vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; 3330 #include <transmission_fragment> 3331 vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; 3332 #ifdef USE_SHEEN 3333 float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); 3334 outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; 3335 #endif 3336 #ifdef USE_CLEARCOAT 3337 float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); 3338 vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); 3339 outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; 3340 #endif 3341 #include <opaque_fragment> 3342 #include <tonemapping_fragment> 3343 #include <colorspace_fragment> 3344 #include <fog_fragment> 3345 #include <premultiplied_alpha_fragment> 3346 #include <dithering_fragment> 3347}`,YG=`#define TOON 3348varying vec3 vViewPosition; 3349#include <common> 3350#include <batching_pars_vertex> 3351#include <uv_pars_vertex> 3352#include <displacementmap_pars_vertex> 3353#include <color_pars_vertex> 3354#include <fog_pars_vertex> 3355#include <normal_pars_vertex> 3356#include <morphtarget_pars_vertex> 3357#include <skinning_pars_vertex> 3358#include <shadowmap_pars_vertex> 3359#include <logdepthbuf_pars_vertex> 3360#include <clipping_planes_pars_vertex> 3361void main() { 3362 #include <uv_vertex> 3363 #include <color_vertex> 3364 #include <morphinstance_vertex> 3365 #include <morphcolor_vertex> 3366 #include <batching_vertex> 3367 #include <beginnormal_vertex> 3368 #include <morphnormal_vertex> 3369 #include <skinbase_vertex> 3370 #include <skinnormal_vertex> 3371 #include <defaultnormal_vertex> 3372 #include <normal_vertex> 3373 #include <begin_vertex> 3374 #include <morphtarget_vertex> 3375 #include <skinning_vertex> 3376 #include <displacementmap_vertex> 3377 #include <project_vertex> 3378 #include <logdepthbuf_vertex> 3379 #include <clipping_planes_vertex> 3380 vViewPosition = - mvPosition.xyz; 3381 #include <worldpos_vertex> 3382 #include <shadowmap_vertex> 3383 #include <fog_vertex> 3384}`,$G=`#define TOON 3385uniform vec3 diffuse; 3386uniform vec3 emissive; 3387uniform float opacity; 3388#include <common> 3389#include <packing> 3390#include <dithering_pars_fragment> 3391#include <color_pars_fragment> 3392#include <uv_pars_fragment> 3393#include <map_pars_fragment> 3394#include <alphamap_pars_fragment> 3395#include <alphatest_pars_fragment> 3396#include <alphahash_pars_fragment> 3397#include <aomap_pars_fragment> 3398#include <lightmap_pars_fragment> 3399#include <emissivemap_pars_fragment> 3400#include <gradientmap_pars_fragment> 3401#include <fog_pars_fragment> 3402#include <bsdfs> 3403#include <lights_pars_begin> 3404#include <normal_pars_fragment> 3405#include <lights_toon_pars_fragment> 3406#include <shadowmap_pars_fragment> 3407#include <bumpmap_pars_fragment> 3408#include <normalmap_pars_fragment> 3409#include <logdepthbuf_pars_fragment> 3410#include <clipping_planes_pars_fragment> 3411void main() { 3412 vec4 diffuseColor = vec4( diffuse, opacity ); 3413 #include <clipping_planes_fragment> 3414 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3415 vec3 totalEmissiveRadiance = emissive; 3416 #include <logdepthbuf_fragment> 3417 #include <map_fragment> 3418 #include <color_fragment> 3419 #include <alphamap_fragment> 3420 #include <alphatest_fragment> 3421 #include <alphahash_fragment> 3422 #include <normal_fragment_begin> 3423 #include <normal_fragment_maps> 3424 #include <emissivemap_fragment> 3425 #include <lights_toon_fragment> 3426 #include <lights_fragment_begin> 3427 #include <lights_fragment_maps> 3428 #include <lights_fragment_end> 3429 #include <aomap_fragment> 3430 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 3431 #include <opaque_fragment> 3432 #include <tonemapping_fragment> 3433 #include <colorspace_fragment> 3434 #include <fog_fragment> 3435 #include <premultiplied_alpha_fragment> 3436 #include <dithering_fragment> 3437}`,jG=`uniform float size; 3438uniform float scale; 3439#include <common> 3440#include <color_pars_vertex> 3441#include <fog_pars_vertex> 3442#include <morphtarget_pars_vertex> 3443#include <logdepthbuf_pars_vertex> 3444#include <clipping_planes_pars_vertex> 3445#ifdef USE_POINTS_UV 3446 varying vec2 vUv; 3447 uniform mat3 uvTransform; 3448#endif 3449void main() { 3450 #ifdef USE_POINTS_UV 3451 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 3452 #endif 3453 #include <color_vertex> 3454 #include <morphinstance_vertex> 3455 #include <morphcolor_vertex> 3456 #include <begin_vertex> 3457 #include <morphtarget_vertex> 3458 #include <project_vertex> 3459 gl_PointSize = size; 3460 #ifdef USE_SIZEATTENUATION 3461 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3462 if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); 3463 #endif 3464 #include <logdepthbuf_vertex> 3465 #include <clipping_planes_vertex> 3466 #include <worldpos_vertex> 3467 #include <fog_vertex> 3468}`,XG=`uniform vec3 diffuse; 3469uniform float opacity; 3470#include <common> 3471#include <color_pars_fragment> 3472#include <map_particle_pars_fragment> 3473#include <alphatest_pars_fragment> 3474#include <alphahash_pars_fragment> 3475#include <fog_pars_fragment> 3476#include <logdepthbuf_pars_fragment> 3477#include <clipping_planes_pars_fragment> 3478void main() { 3479 vec4 diffuseColor = vec4( diffuse, opacity ); 3480 #include <clipping_planes_fragment> 3481 vec3 outgoingLight = vec3( 0.0 ); 3482 #include <logdepthbuf_fragment> 3483 #include <map_particle_fragment> 3484 #include <color_fragment> 3485 #include <alphatest_fragment> 3486 #include <alphahash_fragment> 3487 outgoingLight = diffuseColor.rgb; 3488 #include <opaque_fragment> 3489 #include <tonemapping_fragment> 3490 #include <colorspace_fragment> 3491 #include <fog_fragment> 3492 #include <premultiplied_alpha_fragment> 3493}`,ZG=`#include <common> 3494#include <batching_pars_vertex> 3495#include <fog_pars_vertex> 3496#include <morphtarget_pars_vertex> 3497#include <skinning_pars_vertex> 3498#include <logdepthbuf_pars_vertex> 3499#include <shadowmap_pars_vertex> 3500void main() { 3501 #include <batching_vertex> 3502 #include <beginnormal_vertex> 3503 #include <morphinstance_vertex> 3504 #include <morphnormal_vertex> 3505 #include <skinbase_vertex> 3506 #include <skinnormal_vertex> 3507 #include <defaultnormal_vertex> 3508 #include <begin_vertex> 3509 #include <morphtarget_vertex> 3510 #include <skinning_vertex> 3511 #include <project_vertex> 3512 #include <logdepthbuf_vertex> 3513 #include <worldpos_vertex> 3514 #include <shadowmap_vertex> 3515 #include <fog_vertex> 3516}`,QG=`uniform vec3 color; 3517uniform float opacity; 3518#include <common> 3519#include <packing> 3520#include <fog_pars_fragment> 3521#include <bsdfs> 3522#include <lights_pars_begin> 3523#include <logdepthbuf_pars_fragment> 3524#include <shadowmap_pars_fragment> 3525#include <shadowmask_pars_fragment> 3526void main() { 3527 #include <logdepthbuf_fragment> 3528 gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); 3529 #include <tonemapping_fragment> 3530 #include <colorspace_fragment> 3531 #include <fog_fragment> 3532}`,JG=`uniform float rotation; 3533uniform vec2 center; 3534#include <common> 3535#include <uv_pars_vertex> 3536#include <fog_pars_vertex> 3537#include <logdepthbuf_pars_vertex> 3538#include <clipping_planes_pars_vertex> 3539void main() { 3540 #include <uv_vertex> 3541 vec4 mvPosition = modelViewMatrix[ 3 ]; 3542 vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); 3543 #ifndef USE_SIZEATTENUATION 3544 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3545 if ( isPerspective ) scale *= - mvPosition.z; 3546 #endif 3547 vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; 3548 vec2 rotatedPosition; 3549 rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; 3550 rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; 3551 mvPosition.xy += rotatedPosition; 3552 gl_Position = projectionMatrix * mvPosition; 3553 #include <logdepthbuf_vertex> 3554 #include <clipping_planes_vertex> 3555 #include <fog_vertex> 3556}`,eV=`uniform vec3 diffuse; 3557uniform float opacity; 3558#include <common> 3559#include <uv_pars_fragment> 3560#include <map_pars_fragment> 3561#include <alphamap_pars_fragment> 3562#include <alphatest_pars_fragment> 3563#include <alphahash_pars_fragment> 3564#include <fog_pars_fragment> 3565#include <logdepthbuf_pars_fragment> 3566#include <clipping_planes_pars_fragment> 3567void main() { 3568 vec4 diffuseColor = vec4( diffuse, opacity ); 3569 #include <clipping_planes_fragment> 3570 vec3 outgoingLight = vec3( 0.0 ); 3571 #include <logdepthbuf_fragment> 3572 #include <map_fragment> 3573 #include <alphamap_fragment> 3574 #include <alphatest_fragment> 3575 #include <alphahash_fragment> 3576 outgoingLight = diffuseColor.rgb; 3577 #include <opaque_fragment> 3578 #include <tonemapping_fragment> 3579 #include <colorspace_fragment> 3580 #include <fog_fragment> 3581}`,q1={alphahash_fragment:xU,alphahash_pars_fragment:SU,alphamap_fragment:yU,alphamap_pars_fragment:NU,alphatest_fragment:vU,alphatest_pars_fragment:OU,aomap_fragment:TU,aomap_pars_fragment:RU,batching_pars_vertex:bU,batching_vertex:IU,begin_vertex:PU,beginnormal_vertex:LU,bsdfs:DU,iridescence_fragment:CU,bumpmap_pars_fragment:wU,clipping_planes_fragment:BU,
vendor: 7,046 bytes, line 3581
3581clipping_planes_pars_fragment:UU,clipping_planes_pars_vertex:FU,clipping_planes_vertex:GU,color_fragment:VU,color_pars_fragment:kU,color_pars_vertex:zU,color_vertex:WU,common:HU,cube_uv_reflection_fragment:KU,defaultnormal_vertex:YU,displacementmap_pars_vertex:$U,displacementmap_vertex:jU,emissivemap_fragment:XU,emissivemap_pars_fragment:ZU,colorspace_fragment:QU,colorspace_pars_fragment:JU,envmap_fragment:eF,envmap_common_pars_fragment:tF,envmap_pars_fragment:nF,envmap_pars_vertex:iF,envmap_physical_pars_fragment:dF,envmap_vertex:rF,fog_vertex:sF,fog_pars_vertex:aF,fog_fragment:oF,fog_pars_fragment:lF,gradientmap_pars_fragment:uF,lightmap_pars_fragment:cF,lights_lambert_fragment:AF,lights_lambert_pars_fragment:hF,lights_pars_begin:fF,lights_toon_fragment:qF,lights_toon_pars_fragment:pF,lights_phong_fragment:_F,lights_phong_pars_fragment:mF,lights_physical_fragment:gF,lights_physical_pars_fragment:EF,lights_fragment_begin:MF,lights_fragment_maps:xF,lights_fragment_end:SF,logdepthbuf_fragment:yF,logdepthbuf_pars_fragment:NF,logdepthbuf_pars_vertex:vF,logdepthbuf_vertex:OF,map_fragment:TF,map_pars_fragment:RF,map_particle_fragment:bF,map_particle_pars_fragment:IF,metalnessmap_fragment:PF,metalnessmap_pars_fragment:LF,morphinstance_vertex:DF,morphcolor_vertex:CF,morphnormal_vertex:wF,morphtarget_pars_vertex:BF,morphtarget_vertex:UF,normal_fragment_begin:FF,normal_fragment_maps:GF,normal_pars_fragment:VF,normal_pars_vertex:kF,normal_vertex:zF,normalmap_pars_fragment:WF,clearcoat_normal_fragment_begin:HF,clearcoat_normal_fragment_maps:KF,clearcoat_pars_fragment:YF,iridescence_pars_fragment:$F,opaque_fragment:jF,packing:XF,premultiplied_alpha_fragment:ZF,project_vertex:QF,dithering_fragment:JF,dithering_pars_fragment:eG,roughnessmap_fragment:tG,roughnessmap_pars_fragment:nG,shadowmap_pars_fragment:iG,shadowmap_pars_vertex:rG,shadowmap_vertex:sG,shadowmask_pars_fragment:aG,skinbase_vertex:oG,skinning_pars_vertex:lG,skinning_vertex:uG,skinnormal_vertex:cG,specularmap_fragment:AG,specularmap_pars_fragment:hG,tonemapping_fragment:fG,tonemapping_pars_fragment:dG,transmission_fragment:qG,transmission_pars_fragment:pG,uv_pars_fragment:_G,uv_pars_vertex:mG,uv_vertex:gG,worldpos_vertex:EG,background_vert:MG,background_frag:xG,backgroundCube_vert:SG,backgroundCube_frag:yG,cube_vert:NG,cube_frag:vG,depth_vert:OG,depth_frag:TG,distanceRGBA_vert:RG,distanceRGBA_frag:bG,equirect_vert:IG,equirect_frag:PG,linedashed_vert:LG,linedashed_frag:DG,meshbasic_vert:CG,meshbasic_frag:wG,meshlambert_vert:BG,meshlambert_frag:UG,meshmatcap_vert:FG,meshmatcap_frag:GG,meshnormal_vert:VG,meshnormal_frag:kG,meshphong_vert:zG,meshphong_frag:WG,meshphysical_vert:HG,meshphysical_frag:KG,meshtoon_vert:YG,meshtoon_frag:$G,points_vert:jG,points_frag:XG,shadow_vert:ZG,shadow_frag:QG,sprite_vert:JG,sprite_frag:eV},ht={common:{diffuse:{value:new Nt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new o1},alphaMap:{value:null},alphaMapTransform:{value:new o1},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new o1}},envmap:{envMap:{value:null},envMapRotation:{value:new o1},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new o1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new o1}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new o1},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new o1},normalScale:{value:new Ce(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new o1},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new o1}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new o1}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new o1}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Nt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Nt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new o1},alphaTest:{value:0},uvTransform:{value:new o1}},sprite:{diffuse:{value:new Nt(16777215)},opacity:{value:1},center:{value:new Ce(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new o1},alphaMap:{value:null},alphaMapTransform:{value:new o1},alphaTest:{value:0}}},fr={basic:{uniforms:Qi([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.fog]),vertexShader:q1.meshbasic_vert,fragmentShader:q1.meshbasic_frag},lambert:{uniforms:Qi([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)}}]),vertexShader:q1.meshlambert_vert,fragmentShader:q1.meshlambert_frag},phong:{uniforms:Qi([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)},specular:{value:new Nt(1118481)},shininess:{value:30}}]),vertexShader:q1.meshphong_vert,fragmentShader:q1.meshphong_frag},standard:{uniforms:Qi([ht.common,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.roughnessmap,ht.metalnessmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:q1.meshphysical_vert,fragmentShader:q1.meshphysical_frag},toon:{uniforms:Qi([ht.common,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.gradientmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)}}]),vertexShader:q1.meshtoon_vert,fragmentShader:q1.meshtoon_frag},matcap:{uniforms:Qi([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,{matc
vendor: 4,491 bytes, line 3581
3581ap:{value:null}}]),vertexShader:q1.meshmatcap_vert,fragmentShader:q1.meshmatcap_frag},points:{uniforms:Qi([ht.points,ht.fog]),vertexShader:q1.points_vert,fragmentShader:q1.points_frag},dashed:{uniforms:Qi([ht.common,ht.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:q1.linedashed_vert,fragmentShader:q1.linedashed_frag},depth:{uniforms:Qi([ht.common,ht.displacementmap]),vertexShader:q1.depth_vert,fragmentShader:q1.depth_frag},normal:{uniforms:Qi([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,{opacity:{value:1}}]),vertexShader:q1.meshnormal_vert,fragmentShader:q1.meshnormal_frag},sprite:{uniforms:Qi([ht.sprite,ht.fog]),vertexShader:q1.sprite_vert,fragmentShader:q1.sprite_frag},background:{uniforms:{uvTransform:{value:new o1},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:q1.background_vert,fragmentShader:q1.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new o1}},vertexShader:q1.backgroundCube_vert,fragmentShader:q1.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:q1.cube_vert,fragmentShader:q1.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:q1.equirect_vert,fragmentShader:q1.equirect_frag},distanceRGBA:{uniforms:Qi([ht.common,ht.displacementmap,{referencePosition:{value:new Z},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:q1.distanceRGBA_vert,fragmentShader:q1.distanceRGBA_frag},shadow:{uniforms:Qi([ht.lights,ht.fog,{color:{value:new Nt(0)},opacity:{value:1}}]),vertexShader:q1.shadow_vert,fragmentShader:q1.shadow_frag}};fr.physical={uniforms:Qi([fr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new o1},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new o1},clearcoatNormalScale:{value:new Ce(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new o1},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new o1},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new o1},sheen:{value:0},sheenColor:{value:new Nt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new o1},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new o1},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new o1},transmissionSamplerSize:{value:new Ce},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new o1},attenuationDistance:{value:0},attenuationColor:{value:new Nt(0)},specularColor:{value:new Nt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new o1},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new o1},anisotropyVector:{value:new Ce},anisotropyMap:{value:null},anisotropyMapTransform:{value:new o1}}]),vertexShader:q1.meshphysical_vert,fragmentShader:q1.meshphysical_frag};const ol={r:0,b:0,g:0},qs=new Oi,tV=new Yt;function nV(n,e,t,i,r,s,a){const o=new Nt(0);let l=s===!0?0:1,u,d,q=null,_=0,g=null;function M(O){let b=O.isScene===!0?O.background:null;return b&&b.isTexture&&(b=(O.backgroundBlurriness>0?t:e).get(b)),b}function N(O){let b=!1;const D=M(O);D===null?S(o,l):D&&D.isColor&&(S(D,1),b=!0);const B=n.xr.getEnvironmentBlendMode();B==="additive"?i.buffers.color.setClear(0,0,0,1,a):B==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,a),(n.autoClear||b)&&(i.buffers.depth.setTest(!0),i.buffers.depth.setMask(!0),i.buffers.color.setMask(!0),n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil))}function y(O,b){const D=M(b);D&&(D.isCubeTexture||D.mapping===oa)?(d===void 0&&(d=new F1(new J3(1,1,1),new yr({name:"BackgroundCubeMaterial",uniforms:s4(fr.backgroundCube.uniforms),vertexShader:fr.backgroundCube.vertexShader,fragmentShader:fr.backgroundCube.fragmentShader,side:Q1,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(B,C,G){this.matrixWorld.copyPosition(G.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}
vendor: 4,125 bytes, line 3581
3581),r.update(d)),qs.copy(b.backgroundRotation),qs.x*=-1,qs.y*=-1,qs.z*=-1,D.isCubeTexture&&D.isRenderTargetTexture===!1&&(qs.y*=-1,qs.z*=-1),d.material.uniforms.envMap.value=D,d.material.uniforms.flipEnvMap.value=D.isCubeTexture&&D.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=b.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,d.material.uniforms.backgroundRotation.value.setFromMatrix4(tV.makeRotationFromEuler(qs)),d.material.toneMapped=Zt.getTransfer(D.colorSpace)!==Et,(q!==D||_!==D.version||g!==n.toneMapping)&&(d.material.needsUpdate=!0,q=D,_=D.version,g=n.toneMapping),d.layers.enableAll(),O.unshift(d,d.geometry,d.material,0,0,null)):D&&D.isTexture&&(u===void 0&&(u=new F1(new e5(2,2),new yr({name:"BackgroundMaterial",uniforms:s4(fr.background.uniforms),vertexShader:fr.background.vertexShader,fragmentShader:fr.background.fragmentShader,side:Mr,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(u)),u.material.uniforms.t2D.value=D,u.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,u.material.toneMapped=Zt.getTransfer(D.colorSpace)!==Et,D.matrixAutoUpdate===!0&&D.updateMatrix(),u.material.uniforms.uvTransform.value.copy(D.matrix),(q!==D||_!==D.version||g!==n.toneMapping)&&(u.material.needsUpdate=!0,q=D,_=D.version,g=n.toneMapping),u.layers.enableAll(),O.unshift(u,u.geometry,u.material,0,0,null))}function S(O,b){O.getRGB(ol,hy(n)),i.buffers.color.setClear(ol.r,ol.g,ol.b,b,a)}function R(){d!==void 0&&(d.geometry.dispose(),d.material.dispose(),d=void 0),u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0)}return{getClearColor:function(){return o},setClearColor:function(O,b=1){o.set(O),l=b,S(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(O){l=O,S(o,l)},render:N,addToRenderList:y,dispose:R}}function iV(n,e){const t=n.getParameter(n.MAX_VERTEX_ATTRIBS),i={},r=_(null);let s=r,a=!1;function o(P,w,z,H,j){let Y=!1;const Q=q(H,z,w);s!==Q&&(s=Q,u(s.object)),Y=g(P,H,z,j),Y&&M(P,H,z,j),j!==null&&e.update(j,n.ELEMENT_ARRAY_BUFFER),(Y||a)&&(a=!1,b(P,w,z,H),j!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.get(j).buffer))}function l(){return n.createVertexArray()}function u(P){return n.bindVertexArray(P)}function d(P){return n.deleteVertexArray(P)}function q(P,w,z){const H=z.wireframe===!0;let j=i[P.id];j===void 0&&(j={},i[P.id]=j);let Y=j[w.id];Y===void 0&&(Y={},j[w.id]=Y);let Q=Y[H];return Q===void 0&&(Q=_(l()),Y[H]=Q),Q}function _(P){const w=[],z=[],H=[];for(let j=0;j<t;j++)w[j]=0,z[j]=0,H[j]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:w,enabledAttributes:z,attributeDivisors:H,object:P,attributes:{},index:null}}function g(P,w,z,H){const j=s.attributes,Y=w.attributes;let Q=0;const oe=z.getAttributes();for(const ae in oe)if(oe[ae].location>=0){const xe=j[ae];let Te=Y[ae];if(Te===void 0&&(ae==="instanceMatrix"&&P.instanceMatrix&&(Te=P.instanceMatrix),ae==="instanceColor"&&P.instanceColor&&(Te=P.instanceColor)),xe===void 0||xe.attribute!==Te||Te&&xe.data!==Te.data)return!0;Q++}return s.attributesNum!==Q||s.index!==H}function M(P,w,z,H){const j={},Y=w.attributes;let Q=0;const oe=z.getAttributes();for(const ae in oe)if(oe[ae].location>=0){let xe=Y[ae];xe===void 0&&(ae==="instanceMatrix"&&P.instanceMatrix&&(xe=P.instanceMatrix),ae==="instanceColor"&&P.instanceColor&&(xe=P.instanceColor));const Te={};Te.attribute=xe,xe&&xe.data&&(Te.data=xe.data),j[ae]=Te,Q++}s.attributes=j,s.attributesNum=Q,s.index=H}function N(){const P=s.newAttributes;for(let w=0,z=P.length;w<z;w++)P[w]=0}function y(P){S(P,0)}function S(P,w){const z=s.newAttributes,H=s.enabledAttributes,j=s.attributeDivisors;z[P]=1,H[P]===0&&(n.enableVertexAttribArray(P),H[P]=1),j[P]!==w&&(n.vertexAttribDivisor(P,w),j[P]=w)}function R(){const P=s.newAttributes,w=s.enabledAttributes;for(let z=0,H=w.length;z<H;z++)w[z]!==P[z]&&(n.disableVertexAttribArray(z),w[z]=0)}function O(P,w,z,H,j,Y,Q){Q===!0?n.vertexAttribIPointer(P,w,z,j,Y):n.vertexAttribPointer(P,
vendor: 2,863 bytes, line 3581
3581w,z,H,j,Y)}function b(P,w,z,H){N();const j=H.attributes,Y=z.getAttributes(),Q=w.defaultAttributeValues;for(const oe in Y){const ae=Y[oe];if(ae.location>=0){let fe=j[oe];if(fe===void 0&&(oe==="instanceMatrix"&&P.instanceMatrix&&(fe=P.instanceMatrix),oe==="instanceColor"&&P.instanceColor&&(fe=P.instanceColor)),fe!==void 0){const xe=fe.normalized,Te=fe.itemSize,He=e.get(fe);if(He===void 0)continue;const Je=He.buffer,Se=He.type,we=He.bytesPerElement,lt=Se===n.INT||Se===n.UNSIGNED_INT||fe.gpuType===mi;if(fe.isInterleavedBufferAttribute){const rt=fe.data,_t=rt.stride,mt=fe.offset;if(rt.isInstancedInterleavedBuffer){for(let ut=0;ut<ae.locationSize;ut++)S(ae.location+ut,rt.meshPerAttribute);P.isInstancedMesh!==!0&&H._maxInstanceCount===void 0&&(H._maxInstanceCount=rt.meshPerAttribute*rt.count)}else for(let ut=0;ut<ae.locationSize;ut++)y(ae.location+ut);n.bindBuffer(n.ARRAY_BUFFER,Je);for(let ut=0;ut<ae.locationSize;ut++)O(ae.location+ut,Te/ae.locationSize,Se,xe,_t*we,(mt+Te/ae.locationSize*ut)*we,lt)}else{if(fe.isInstancedBufferAttribute){for(let rt=0;rt<ae.locationSize;rt++)S(ae.location+rt,fe.meshPerAttribute);P.isInstancedMesh!==!0&&H._maxInstanceCount===void 0&&(H._maxInstanceCount=fe.meshPerAttribute*fe.count)}else for(let rt=0;rt<ae.locationSize;rt++)y(ae.location+rt);n.bindBuffer(n.ARRAY_BUFFER,Je);for(let rt=0;rt<ae.locationSize;rt++)O(ae.location+rt,Te/ae.locationSize,Se,xe,Te*we,Te/ae.locationSize*rt*we,lt)}}else if(Q!==void 0){const xe=Q[oe];if(xe!==void 0)switch(xe.length){case 2:n.vertexAttrib2fv(ae.location,xe);break;case 3:n.vertexAttrib3fv(ae.location,xe);break;case 4:n.vertexAttrib4fv(ae.location,xe);break;default:n.vertexAttrib1fv(ae.location,xe)}}}}R()}function D(){G();for(const P in i){const w=i[P];for(const z in w){const H=w[z];for(const j in H)d(H[j].object),delete H[j];delete w[z]}delete i[P]}}function B(P){if(i[P.id]===void 0)return;const w=i[P.id];for(const z in w){const H=w[z];for(const j in H)d(H[j].object),delete H[j];delete w[z]}delete i[P.id]}function C(P){for(const w in i){const z=i[w];if(z[P.id]===void 0)continue;const H=z[P.id];for(const j in H)d(H[j].object),delete H[j];delete z[P.id]}}function G(){L(),a=!0,s!==r&&(s=r,u(s.object))}function L(){r.geometry=null,r.program=null,r.wireframe=!1}return{setup:o,reset:G,resetDefaultState:L,dispose:D,releaseStatesOfGeometry:B,releaseStatesOfProgram:C,initAttributes:N,enableAttribute:y,disableUnusedAttributes:R}}function rV(n,e,t){let i;function r(u){i=u}function s(u,d){n.drawArrays(i,u,d),t.update(d,i,1)}function a(u,d,q){q!==0&&(n.drawArraysInstanced(i,u,d,q),t.update(d,i,q))}function o(u,d,q){if(q===0)return;e.get("WEBGL_multi_draw").multiDrawArraysWEBGL(i,u,0,d,0,q);let g=0;for(let M=0;M<q;M++)g+=d[M];t.update(g,i,1)}function l(u,d,q,_){if(q===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let M=0;M<u.length;M++)a(u[M],d[M],_[M]);
vendor: 12,572 bytes, lines 3581-3656
3581else{g.multiDrawArraysInstancedWEBGL(i,u,0,d,0,_,0,q);let M=0;for(let N=0;N<q;N++)M+=d[N]*_[N];t.update(M,i,1)}}this.setMode=r,this.render=s,this.renderInstances=a,this.renderMultiDraw=o,this.renderMultiDrawInstances=l}function sV(n,e,t,i){let r;function s(){if(r!==void 0)return r;if(e.has("EXT_texture_filter_anisotropic")===!0){const C=e.get("EXT_texture_filter_anisotropic");r=n.getParameter(C.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function a(C){return!(C!==Vn&&i.convert(C)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_FORMAT))}function o(C){const G=C===Jn&&(e.has("EXT_color_buffer_half_float")||e.has("EXT_color_buffer_float"));return!(C!==Ln&&i.convert(C)!==n.getParameter(n.IMPLEMENTATION_COLOR_READ_TYPE)&&C!==Wn&&!G)}function l(C){if(C==="highp"){if(n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.HIGH_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";C="mediump"}return C==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let u=t.precision!==void 0?t.precision:"highp";const d=l(u);d!==u&&(console.warn("THREE.WebGLRenderer:",u,"not supported, using",d,"instead."),u=d);const q=t.logarithmicDepthBuffer===!0,_=t.reverseDepthBuffer===!0&&e.has("EXT_clip_control"),g=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),M=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),N=n.getParameter(n.MAX_TEXTURE_SIZE),y=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),S=n.getParameter(n.MAX_VERTEX_ATTRIBS),R=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),O=n.getParameter(n.MAX_VARYING_VECTORS),b=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),D=M>0,B=n.getParameter(n.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:a,textureTypeReadable:o,precision:u,logarithmicDepthBuffer:q,reverseDepthBuffer:_,maxTextures:g,maxVertexTextures:M,maxTextureSize:N,maxCubemapSize:y,maxAttributes:S,maxVertexUniforms:R,maxVaryings:O,maxFragmentUniforms:b,vertexTextures:D,maxSamples:B}}function aV(n){const e=this;let t=null,i=0,r=!1,s=!1;const a=new e2,o=new o1,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(q,_){const g=q.length!==0||_||i!==0||r;return r=_,i=q.length,g},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(q,_){t=d(q,_,0)},this.setState=function(q,_,g){const M=q.clippingPlanes,N=q.clipIntersection,y=q.clipShadows,S=n.get(q);if(!r||M===null||M.length===0||s&&!y)s?d(null):u();else{const R=s?0:i,O=R*4;let b=S.clippingState||null;l.value=b,b=d(M,_,O,g);for(let D=0;D!==O;++D)b[D]=t[D];S.clippingState=b,this.numIntersection=N?this.numPlanes:0,this.numPlanes+=R}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function d(q,_,g,M){const N=q!==null?q.length:0;let y=null;if(N!==0){if(y=l.value,M!==!0||y===null){const S=g+N*4,R=_.matrixWorldInverse;o.getNormalMatrix(R),(y===null||y.length<S)&&(y=new Float32Array(S));for(let O=0,b=g;O!==N;++O,b+=4)a.copy(q[O]).applyMatrix4(R,o),a.normal.toArray(y,b),y[b+3]=a.constant}l.value=y,l.needsUpdate=!0}return e.numPlanes=N,e.numIntersection=0,y}}function oV(n){let e=new WeakMap;function t(a,o){return o===Fo?a.mapping=p2:o===Go&&(a.mapping=_2),a}function i(a){if(a&&a.isTexture){const o=a.mapping;if(o===Fo||o===Go)if(e.has(a)){const l=e.get(a).texture;return t(l,a.mapping)}else{const l=a.image;if(l&&l.height>0){const u=new dy(l.height);return u.fromEquirectangularTexture(n,a),e.set(a,u),a.addEventListener("dispose",r),t(u.texture,a.mapping)}else return null}}return a}function r(a){const o=a.target;o.removeEventListener("dispose",r);const l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}const qo=4,Hm=[.125,.215,.35,.446,.526,.582],Ds=20,kc=new t5,Km=new Nt;let zc=null,Wc=0,Hc=0,Kc=!1;const bs=(1+Math.sqrt(5))/2,Ha=1/bs,Ym=[new Z(-bs,Ha,0),new Z(bs,Ha,0),new Z(-Ha,0,bs),new Z(Ha,0,bs),new Z(0,bs,-Ha),new Z(0,bs,Ha),new Z(-1,1,-1),new Z(1,1,-1),new Z(-1,1,1),new Z(1,1,1)],lV=new Z;let $m=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100,s={}){const{size:a=256,position:o=lV}=s;zc=this._renderer.getRenderTarget(),Wc=this._renderer.getActiveCubeFace(),Hc=this._renderer.getActiveMipmapLevel(),Kc=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);const l=this._allocateTargets();return l.depthBuffer=!0,this._sceneToCubeUV(e,i,r,l,o),t>0&&this._blur(l,0,0,t),this._applyPMREM(l),this._cleanup(l),l}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Zm(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Xm(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(zc,Wc,Hc),this._renderer.xr.enabled=Kc,e.scissorTest=!1,ll(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===p2||e.mapping===_2?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),zc=this._renderer.getRenderTarget(),Wc=this._renderer.getActiveCubeFace(),Hc=this._renderer.getActiveMipmapLevel(),Kc=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const i=t||this._allocateTargets();return this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:li,minFilter:li,generateMipmaps:!1,type:Jn,format:Vn,colorSpace:L0,depthBuffer:!1},r=jm(e,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=jm(e,t,i);const{_lodMax:s}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=uV(s)),this._blurMaterial=cV(s,e,t)}return r}_compileMaterial(e){const t=new F1(this._lodPlanes[0],e);this._renderer.compile(t,kc)}_sceneToCubeUV(e,t,i,r,s){const l=new gi(90,1,t,i),u=[1,-1,1,1,1,1],d=[1,1,1,-1,-1,-1],q=this._renderer,_=q.autoClear,g=q.toneMapping;q.getClearColor(Km),q.toneMapping=Sr,q.autoClear=!1;const M=new a0({name:"PMREM.Background",side:Q1,depthWrite:!1,depthTest:!1}),N=new F1(new J3,M);let y=!1;const S=e.background;S?S.isColor&&(M.color.copy(S),e.background=null,y=!0):(M.color.copy(Km),y=!0);for(let R=0;R<6;R++){const O=R%3;O===0?(l.up.set(0,u[R],0),l.position.set(s.x,s.y,s.z),l.lookAt(s.x+d[R],s.y,s.z)):O===1?(l.up.set(0,0,u[R]),l.position.set(s.x,s.y,s.z),l.lookAt(s.x,s.y+d[R],s.z)):(l.up.set(0,u[R],0),l.position.set(s.x,s.y,s.z),l.lookAt(s.x,s.y,s.z+d[R]));const b=this._cubeSize;ll(r,O*b,R>2?b:0,b,b),q.setRenderTarget(r),y&&q.render(N,l),q.render(e,l)}N.geometry.dispose(),N.material.dispose(),q.toneMapping=g,q.autoClear=_,e.background=S}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===p2||e.mapping===_2;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Zm()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Xm());const s=r?this._cubemapMaterial:this._equirectMaterial,a=new F1(this._lodPlanes[0],s),o=s.uniforms;o.envMap.value=e;const l=this._cubeSize;ll(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(a,kc)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;s<r;s++){const a=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),o=Ym[(r-s-1)%Ym.length];this._blur(e,s-1,s,a,o)}t.autoClear=i}_blur(e,t,i,r,s){const a=this._pingPongRenderTarget;this._halfBlur(e,a,t,i,r,"latitudinal",s),this._halfBlur(a,e,i,i,r,"longitudinal",s)}_halfBlur(e,t,i,r,s,a,o){const l=this._renderer,u=this._blurMaterial;a!=="latitudinal"&&a!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const d=3,q=new F1(this._lodPlanes[r],u),_=u.uniforms,g=this._sizeLods[i]-1,M=isFinite(s)?Math.PI/(2*g):2*Math.PI/(2*Ds-1),N=s/M,y=isFinite(s)?1+Math.floor(d*N):Ds;y>Ds&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${Ds}`);const S=[];let R=0;for(let C=0;C<Ds;++C){const G=C/N,L=Math.exp(-G*G/2);S.push(L),C===0?R+=L:C<y&&(R+=2*L)}for(let C=0;C<S.length;C++)S[C]=S[C]/R;_.envMap.value=e.texture,_.samples.value=y,_.weights.value=S,_.latitudinal.value=a==="latitudinal",o&&(_.poleAxis.value=o);const{_lodMax:O}=this;_.dTheta.value=M,_.mipInt.value=O-i;const b=this._sizeLods[r],D=3*b*(r>O-qo?r-O+qo:0),B=4*(this._cubeSize-b);ll(t,D,B,3*b,2*b),l.setRenderTarget(t),l.render(q,kc)}};function uV(n){const e=[],t=[],i=[];let r=n;const s=n-qo+1+Hm.length;for(let a=0;a<s;a++){const o=Math.pow(2,r);t.push(o);let l=1/o;a>n-qo?l=Hm[a-n+qo-1]:a===0&&(l=0),i.push(l);const u=1/(o-2),d=-u,q=1+u,_=[d,d,q,d,q,q,d,d,q,q,d,q],g=6,M=6,N=3,y=2,S=1,R=new Float32Array(N*M*g),O=new Float32Array(y*M*g),b=new Float32Array(S*M*g);for(let B=0;B<g;B++){const C=B%3*2/3-1,G=B>2?0:-1,L=[C,G,0,C+2/3,G,0,C+2/3,G+1,0,C,G,0,C+2/3,G+1,0,C,G+1,0];R.set(L,N*M*B),O.set(_,y*M*B);const P=[B,B,B,B,B,B];b.set(P,S*M*B)}const D=new en;D.setAttribute("position",new vn(R,N)),D.setAttribute("uv",new vn(O,y)),D.setAttribute("faceIndex",new vn(b,S)),e.push(D),r>qo&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function jm(n,e,t){const i=new $3(n,e,t);return i.texture.mapping=oa,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function ll(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function cV(n,e,t){const i=new Float32Array(Ds),r=new Z(0,1,0);return new yr({name:"SphericalGaussianBlur",defines:{n:Ds,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:oq(),fragmentShader:` 3582 3583 precision mediump float; 3584 precision mediump int; 3585 3586 varying vec3 vOutputDirection; 3587 3588 uniform sampler2D envMap; 3589 uniform int samples; 3590 uniform float weights[ n ]; 3591 uniform bool latitudinal; 3592 uniform float dTheta; 3593 uniform float mipInt; 3594 uniform vec3 poleAxis; 3595 3596 #define ENVMAP_TYPE_CUBE_UV 3597 #include <cube_uv_reflection_fragment> 3598 3599 vec3 getSample( float theta, vec3 axis ) { 3600 3601 float cosTheta = cos( theta ); 3602 // Rodrigues' axis-angle rotation 3603 vec3 sampleDirection = vOutputDirection * cosTheta 3604 + cross( axis, vOutputDirection ) * sin( theta ) 3605 + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); 3606 3607 return bilinearCubeUV( envMap, sampleDirection, mipInt ); 3608 3609 } 3610 3611 void main() { 3612 3613 vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); 3614 3615 if ( all( equal( axis, vec3( 0.0 ) ) ) ) { 3616 3617 axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); 3618 3619 } 3620 3621 axis = normalize( axis ); 3622 3623 gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 3624 gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); 3625 3626 for ( int i = 1; i < n; i++ ) { 3627 3628 if ( i >= samples ) { 3629 3630 break; 3631 3632 } 3633 3634 float theta = dTheta * float( i ); 3635 gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); 3636 gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); 3637 3638 } 3639 3640 } 3641 `,blending:xr,depthTest:!1,depthWrite:!1})}function Xm(){return new yr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:oq(),fragmentShader:` 3642 3643 precision mediump float; 3644 precision mediump int; 3645 3646 varying vec3 vOutputDirection; 3647 3648 uniform sampler2D envMap; 3649 3650 #include <common> 3651 3652 void main() { 3653 3654 vec3 outputDirection = normalize( vOutputDirection ); 3655 vec2 uv = equirectUv( outputDirection ); 3656
3657 gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); 3658 3659 } 3660 `,blending:xr,depthTest:!1,depthWrite:!1})}function Zm(){return new yr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:oq(),fragmentShader:` 3661 3662 precision mediump float; 3663 precision mediump int; 3664 3665 uniform float flipEnvMap; 3666 3667 varying vec3 vOutputDirection; 3668 3669 uniform samplerCube envMap; 3670 3671 void main() { 3672 3673 gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); 3674 3675 } 3676 `,blending:xr,depthTest:!1,depthWrite:!1})}function oq(){return` 3677 3678 precision mediump float; 3679 precision mediump int; 3680 3681 attribute float faceIndex; 3682 3683 varying vec3 vOutputDirection; 3684 3685 // RH coordinate system; PMREM face-indexing convention 3686 vec3 getDirection( vec2 uv, float face ) { 3687 3688 uv = 2.0 * uv - 1.0; 3689 3690 vec3 direction = vec3( uv, 1.0 ); 3691 3692 if ( face == 0.0 ) { 3693 3694 direction = direction.zyx; // ( 1, v, u ) pos x 3695 3696 } else if ( face == 1.0 ) { 3697 3698 direction = direction.xzy; 3699 direction.xz *= -1.0; // ( -u, 1, -v ) pos y 3700 3701 } else if ( face == 2.0 ) { 3702 3703 direction.x *= -1.0; // ( -u, v, 1 ) pos z 3704 3705 } else if ( face == 3.0 ) { 3706 3707 direction = direction.zyx; 3708 direction.xz *= -1.0; // ( -1, v, -u ) neg x 3709 3710 } else if ( face == 4.0 ) { 3711 3712 direction = direction.xzy; 3713 direction.xy *= -1.0; // ( -u, -1, v ) neg y 3714 3715 } else if ( face == 5.0 ) { 3716 3717 direction.z *= -1.0; // ( u, v, -1 ) neg z 3718 3719 } 3720 3721 return direction; 3722 3723 } 3724 3725 void main() { 3726 3727 vOutputDirection = getDirection( uv, faceIndex ); 3728 gl_Position = vec4( position, 1.0 ); 3729 3730 } 3731 `}function AV(n){let e=new WeakMap,t=null;function i(o){if(o&&o.isTexture){const l=o.mapping,u=l===Fo||l===Go,d=l===p2||l===_2;if(u||d){let q=e.get(o);const _=q!==void 0?q.texture.pmremVersion:0;if(o.isRenderTargetTexture&&o.pmremVersion!==_)return t===null&&(t=new $m(n)),q=u?t.fromEquirectangular(o,q):t.fromCubemap(o,q),q.texture.pmremVersion=o.pmremVersion,e.set(o,q),q.texture;if(q!==void 0)return q.texture;{const g=o.image;return u&&g&&g.height>0||d&&g&&r(g)?(t===null&&(t=new $m(n)),q=u?t.fromEquirectangular(o):t.fromCubemap(o),q.texture.pmremVersion=o.pmremVersion,e.set(o,q),o.addEventListener("dispose",s),q.texture):null}}}return o}function r(o){let l=0;const u=6;for(let d=0;d<u;d++)o[d]!==void 0&&l++;return l===u}function s(o){const l=o.target;l.removeEventListener("dispose",s);const u=e.get(l);u!==void 0&&(e.delete(l),u.dispose())}function a(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:i,dispose:a}}function hV(n){const e={};function t(i){if(e[i]!==void 0)return e[i];let r;switch(i){case"WEBGL_depth_texture":r=n.getExtension("WEBGL_depth_texture")||n.getExtension("MOZ_WEBGL_depth_texture")||n.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=n.getExtension("WEBGL_compressed_texture_s3tc")||n.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=n.getExtension("WEBGL_compressed_texture_pvrtc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=n.getExtension(i)}return e[i]=r,r}return{has:function(i){return t(i)!==null},init:function(){t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance"),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture"),t("WEBGL_render_shared_exponent")},get:function(i){const r=t(i);return r===null&&Yr("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function fV(n,e,t,i){const r={},s=new WeakMap;function a(q){const _=q.target;_.index!==null&&e.remove(_.index);for(const M in _.attributes)e.remove(_.attributes[M]);_.removeEventListener("dispose",a),delete r[_.id];const g=s.get(_);g&&(e.remove(g),s.delete(_)),i.releaseStatesOfGeometry(_),_.isInstancedBufferGeometry===!0&&delete _._maxInstanceCount,t.memory.geometries--}function o(q,_){return r[_.id]===!0||(_.addEventListener("dispose",a),r[_.id]=!0,t.memory.geometries++),_}function l(q){const _=q.attributes;for(const g in _)e.update(_[g],n.ARRAY_BUFFER)}function u(q){const _=[],g=q.index,M=q.attributes.position;let N=0;if(g!==null){const R=g.array;N=g.version;for(let O=0,b=R.length;O<b;O+=3){const D=R[O+0],B=R[O+1],C=R[O+2];_.push(D,B,B,C,C,D)}}else if(M!==void 0){const R=M.array;N=M.version;for(let O=0,b=R.length/3-1;O<b;O+=3){const D=O+0,B=O+1,C=O+2;_.push(D,B,B,C,C,D)}}else return;const y=new(zd(_)?$d:Yd)(_,1);y.version=N;const S=s.get(q);S&&e.remove(S),s.set(q,y)}function d(q){const _=s.get(q);if(_){const g=q.index;g!==null&&_.version<g.version&&u(q)}else u(q);return s.get(q)}return{get:o,update:l,getWireframeAttribute:d}}function dV(n,e,t){let i;function r(_){i=_}let s,a;function o(_){s=_.type,a=_.bytesPerElement}function l(_,g){n.drawElements(i,g,s,_*a),t.update(g,i,1)}function u(_,g,M){M!==0&&(n.drawElementsInstanced(i,g,s,_*a,M),t.update(g,i,M))}function d(_,g,M){if(M===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(i,g,0,s,_,0,M);let y=0;for(let S=0;S<M;S++)y+=g[S];t.update(y,i,1)}function q(_,g,M,N){if(M===0)return;const y=e.get("WEBGL_multi_draw");if(y===null)for(let S=0;S<_.length;S++)u(_[S]/a,g[S],N[S]);
vendor: 17,436 bytes, lines 3731-3766
3731else{y.multiDrawElementsInstancedWEBGL(i,g,0,s,_,0,N,0,M);let S=0;for(let R=0;R<M;R++)S+=g[R]*N[R];t.update(S,i,1)}}this.setMode=r,this.setIndex=o,this.render=l,this.renderInstances=u,this.renderMultiDraw=d,this.renderMultiDrawInstances=q}function qV(n){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(s,a,o){switch(t.calls++,a){case n.TRIANGLES:t.triangles+=o*(s/3);break;case n.LINES:t.lines+=o*(s/2);break;case n.LINE_STRIP:t.lines+=o*(s-1);break;case n.LINE_LOOP:t.lines+=o*s;break;case n.POINTS:t.points+=o*s;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",a);break}}function r(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:r,update:i}}function pV(n,e,t){const i=new WeakMap,r=new wt;function s(a,o,l){const u=a.morphTargetInfluences,d=o.morphAttributes.position||o.morphAttributes.normal||o.morphAttributes.color,q=d!==void 0?d.length:0;let _=i.get(o);if(_===void 0||_.count!==q){let P=function(){G.dispose(),i.delete(o),o.removeEventListener("dispose",P)};var g=P;_!==void 0&&_.texture.dispose();const M=o.morphAttributes.position!==void 0,N=o.morphAttributes.normal!==void 0,y=o.morphAttributes.color!==void 0,S=o.morphAttributes.position||[],R=o.morphAttributes.normal||[],O=o.morphAttributes.color||[];let b=0;M===!0&&(b=1),N===!0&&(b=2),y===!0&&(b=3);let D=o.attributes.position.count*b,B=1;D>e.maxTextureSize&&(B=Math.ceil(D/e.maxTextureSize),D=e.maxTextureSize);const C=new Float32Array(D*B*4*q),G=new Hd(C,D,B,q);G.type=Wn,G.needsUpdate=!0;const L=b*4;for(let w=0;w<q;w++){const z=S[w],H=R[w],j=O[w],Y=D*B*4*w;for(let Q=0;Q<z.count;Q++){const oe=Q*L;M===!0&&(r.fromBufferAttribute(z,Q),C[Y+oe+0]=r.x,C[Y+oe+1]=r.y,C[Y+oe+2]=r.z,C[Y+oe+3]=0),N===!0&&(r.fromBufferAttribute(H,Q),C[Y+oe+4]=r.x,C[Y+oe+5]=r.y,C[Y+oe+6]=r.z,C[Y+oe+7]=0),y===!0&&(r.fromBufferAttribute(j,Q),C[Y+oe+8]=r.x,C[Y+oe+9]=r.y,C[Y+oe+10]=r.z,C[Y+oe+11]=j.itemSize===4?r.w:1)}}_={count:q,texture:G,size:new Ce(D,B)},i.set(o,_),o.addEventListener("dispose",P)}if(a.isInstancedMesh===!0&&a.morphTexture!==null)l.getUniforms().setValue(n,"morphTexture",a.morphTexture,t);else{let M=0;for(let y=0;y<u.length;y++)M+=u[y];const N=o.morphTargetsRelative?1:1-M;l.getUniforms().setValue(n,"morphTargetBaseInfluence",N),l.getUniforms().setValue(n,"morphTargetInfluences",u)}l.getUniforms().setValue(n,"morphTargetsTexture",_.texture,t),l.getUniforms().setValue(n,"morphTargetsTextureSize",_.size)}return{update:s}}function _V(n,e,t,i){let r=new WeakMap;function s(l){const u=i.render.frame,d=l.geometry,q=e.get(l,d);if(r.get(q)!==u&&(e.update(q),r.set(q,u)),l.isInstancedMesh&&(l.hasEventListener("dispose",o)===!1&&l.addEventListener("dispose",o),r.get(l)!==u&&(t.update(l.instanceMatrix,n.ARRAY_BUFFER),l.instanceColor!==null&&t.update(l.instanceColor,n.ARRAY_BUFFER),r.set(l,u))),l.isSkinnedMesh){const _=l.skeleton;r.get(_)!==u&&(_.update(),r.set(_,u))}return q}function a(){r=new WeakMap}function o(l){const u=l.target;u.removeEventListener("dispose",o),t.remove(u.instanceMatrix),u.instanceColor!==null&&t.remove(u.instanceColor)}return{update:s,dispose:a}}const Dy=new ei,Qm=new $r(1,1),Cy=new Hd,wy=new Zw,By=new J8,Jm=[],eg=[],tg=new Float32Array(16),ng=new Float32Array(9),ig=new Float32Array(4);function P4(n,e,t){const i=n[0];if(i<=0||i>0)return n;const r=e*t;let s=Jm[r];if(s===void 0&&(s=new Float32Array(r),Jm[r]=s),e!==0){i.toArray(s,0);for(let a=1,o=0;a!==e;++a)o+=t,n[a].toArray(s,o)}return s}function ci(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0}function Ai(n,e){for(let t=0,i=e.length;t<i;t++)n[t]=e[t]}function Z9(n,e){let t=eg[e];t===void 0&&(t=new Int32Array(e),eg[e]=t);for(let i=0;i!==e;++i)t[i]=n.allocateTextureUnit();return t}function mV(n,e){const t=this.cache;t[0]!==e&&(n.uniform1f(this.addr,e),t[0]=e)}function gV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(ci(t,e))return;n.uniform2fv(this.addr,e),Ai(t,e)}}function EV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(n.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(ci(t,e))return;n.uniform3fv(this.addr,e),Ai(t,e)}}function MV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(ci(t,e))return;n.uniform4fv(this.addr,e),Ai(t,e)}}function xV(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(ci(t,e))return;n.uniformMatrix2fv(this.addr,!1,e),Ai(t,e)}else{if(ci(t,i))return;ig.set(i),n.uniformMatrix2fv(this.addr,!1,ig),Ai(t,i)}}function SV(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(ci(t,e))return;n.uniformMatrix3fv(this.addr,!1,e),Ai(t,e)}else{if(ci(t,i))return;ng.set(i),n.uniformMatrix3fv(this.addr,!1,ng),Ai(t,i)}}function yV(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(ci(t,e))return;n.uniformMatrix4fv(this.addr,!1,e),Ai(t,e)}else{if(ci(t,i))return;tg.set(i),n.uniformMatrix4fv(this.addr,!1,tg),Ai(t,i)}}function NV(n,e){const t=this.cache;t[0]!==e&&(n.uniform1i(this.addr,e),t[0]=e)}function vV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(ci(t,e))return;n.uniform2iv(this.addr,e),Ai(t,e)}}function OV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(ci(t,e))return;n.uniform3iv(this.addr,e),Ai(t,e)}}function TV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(ci(t,e))return;n.uniform4iv(this.addr,e),Ai(t,e)}}function RV(n,e){const t=this.cache;t[0]!==e&&(n.uniform1ui(this.addr,e),t[0]=e)}function bV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(ci(t,e))return;n.uniform2uiv(this.addr,e),Ai(t,e)}}function IV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(ci(t,e))return;n.uniform3uiv(this.addr,e),Ai(t,e)}}function PV(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(ci(t,e))return;n.uniform4uiv(this.addr,e),Ai(t,e)}}function LV(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r);let s;this.type===n.SAMPLER_2D_SHADOW?(Qm.compareFunction=W9,s=Qm):s=Dy,t.setTexture2D(e||s,r)}function DV(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture3D(e||wy,r)}function CV(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTextureCube(e||By,r)}function wV(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture2DArray(e||Cy,r)}function BV(n){switch(n){case 5126:return mV;case 35664:return gV;case 35665:return EV;case 35666:return MV;case 35674:return xV;case 35675:return SV;case 35676:return yV;case 5124:case 35670:return NV;case 35667:case 35671:return vV;case 35668:case 35672:return OV;case 35669:case 35673:return TV;case 5125:return RV;case 36294:return bV;case 36295:return IV;case 36296:return PV;case 35678:case 36198:case 36298:case 36306:case 35682:return LV;case 35679:case 36299:case 36307:return DV;case 35680:case 36300:case 36308:case 36293:return CV;case 36289:case 36303:case 36311:case 36292:return wV}}function UV(n,e){n.uniform1fv(this.addr,e)}function FV(n,e){const t=P4(e,this.size,2);n.uniform2fv(this.addr,t)}function GV(n,e){const t=P4(e,this.size,3);n.uniform3fv(this.addr,t)}function VV(n,e){const t=P4(e,this.size,4);n.uniform4fv(this.addr,t)}function kV(n,e){const t=P4(e,this.size,4);n.uniformMatrix2fv(this.addr,!1,t)}function zV(n,e){const t=P4(e,this.size,9);n.uniformMatrix3fv(this.addr,!1,t)}function WV(n,e){const t=P4(e,this.size,16);n.uniformMatrix4fv(this.addr,!1,t)}function HV(n,e){n.uniform1iv(this.addr,e)}function KV(n,e){n.uniform2iv(this.addr,e)}function YV(n,e){n.uniform3iv(this.addr,e)}function $V(n,e){n.uniform4iv(this.addr,e)}function jV(n,e){n.uniform1uiv(this.addr,e)}function XV(n,e){n.uniform2uiv(this.addr,e)}function ZV(n,e){n.uniform3uiv(this.addr,e)}function QV(n,e){n.uniform4uiv(this.addr,e)}function JV(n,e,t){const i=this.cache,r=e.length,s=Z9(t,r);ci(i,s)||(n.uniform1iv(this.addr,s),Ai(i,s));for(let a=0;a!==r;++a)t.setTexture2D(e[a]||Dy,s[a])}function ek(n,e,t){const i=this.cache,r=e.length,s=Z9(t,r);ci(i,s)||(n.uniform1iv(this.addr,s),Ai(i,s));for(let a=0;a!==r;++a)t.setTexture3D(e[a]||wy,s[a])}function tk(n,e,t){const i=this.cache,r=e.length,s=Z9(t,r);ci(i,s)||(n.uniform1iv(this.addr,s),Ai(i,s));for(let a=0;a!==r;++a)t.setTextureCube(e[a]||By,s[a])}function nk(n,e,t){const i=this.cache,r=e.length,s=Z9(t,r);ci(i,s)||(n.uniform1iv(this.addr,s),Ai(i,s));for(let a=0;a!==r;++a)t.setTexture2DArray(e[a]||Cy,s[a])}function ik(n){switch(n){case 5126:return UV;case 35664:return FV;case 35665:return GV;case 35666:return VV;case 35674:return kV;case 35675:return zV;case 35676:return WV;case 5124:case 35670:return HV;case 35667:case 35671:return KV;case 35668:case 35672:return YV;case 35669:case 35673:return $V;case 5125:return jV;case 36294:return XV;case 36295:return ZV;case 36296:return QV;case 35678:case 36198:case 36298:case 36306:case 35682:return JV;case 35679:case 36299:case 36307:return ek;case 35680:case 36300:case 36308:case 36293:return tk;case 36289:case 36303:case 36311:case 36292:return nk}}class rk{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.setValue=BV(t.type)}}class sk{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=ik(t.type)}}class ak{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,i){const r=this.seq;for(let s=0,a=r.length;s!==a;++s){const o=r[s];o.setValue(e,t[o.id],i)}}}const Yc=/(\w+)(\])?(\[|\.)?/g;function rg(n,e){n.seq.push(e),n.map[e.id]=e}function ok(n,e,t){const i=n.name,r=i.length;for(Yc.lastIndex=0;;){const s=Yc.exec(i),a=Yc.lastIndex;let o=s[1];const l=s[2]==="]",u=s[3];if(l&&(o=o|0),u===void 0||u==="["&&a+2===r){rg(t,u===void 0?new rk(o,n,e):new sk(o,n,e));break}else{let q=t.map[o];q===void 0&&(q=new ak(o),rg(t,q)),t=q}}}class l7{constructor(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let r=0;r<i;++r){const s=e.getActiveUniform(t,r),a=e.getUniformLocation(t,s.name);ok(s,a,this)}}setValue(e,t,i,r){const s=this.map[t];s!==void 0&&s.setValue(e,i,r)}setOptional(e,t,i){const r=t[i];r!==void 0&&this.setValue(e,i,r)}static upload(e,t,i,r){for(let s=0,a=t.length;s!==a;++s){const o=t[s],l=i[o.id];l.needsUpdate!==!1&&o.setValue(e,l.value,r)}}static seqWithValue(e,t){const i=[];for(let r=0,s=e.length;r!==s;++r){const a=e[r];a.id in t&&i.push(a)}return i}}function sg(n,e,t){const i=n.createShader(e);return n.shaderSource(i,t),n.compileShader(i),i}const lk=37297;let uk=0;function ck(n,e){const t=n.split(` 3732`),i=[],r=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let a=r;a<s;a++){const o=a+1;i.push(`${o===e?">":" "} ${o}: ${t[a]}`)}return i.join(` 3733`)}const ag=new o1;function Ak(n){Zt._getMatrix(ag,Zt.workingColorSpace,n);const e=`mat3( ${ag.elements.map(t=>t.toFixed(4))} )`;switch(Zt.getTransfer(n)){case i4:return[e,"LinearTransferOETF"];case Et:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",n),[e,"LinearTransferOETF"]}}function og(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const a=parseInt(s[1]);return t.toUpperCase()+` 3734 3735`+r+` 3736 3737`+ck(n.getShaderSource(e),a)}else return r}function hk(n,e){const t=Ak(e);return[`vec4 ${n}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` 3738`)}function fk(n,e){let t;switch(e){case ny:t="Linear";break;case iy:t="Reinhard";break;case ry:t="Cineon";break;case sy:t="ACESFilmic";break;case ay:t="AgX";break;case oy:t="Neutral";break;case ow:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const ul=new Z;function dk(){Zt.getLuminanceCoefficients(ul);const n=ul.x.toFixed(4),e=ul.y.toFixed(4),t=ul.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${n}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` 3739`)}function qk(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(O6).join(` 3740`)}function pk(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` 3741`)}function _k(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const s=n.getActiveAttrib(e,r),a=s.name;let o=1;s.type===n.FLOAT_MAT2&&(o=2),s.type===n.FLOAT_MAT3&&(o=3),s.type===n.FLOAT_MAT4&&(o=4),t[a]={type:s.type,location:n.getAttribLocation(e,a),locationSize:o}}return t}function O6(n){return n!==""}function lg(n,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return n.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function ug(n,e){return n.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const mk=/^[ \t]*#include +<([\w\d./]+)>/gm;function bh(n){return n.replace(mk,Ek)}const gk=new Map;function Ek(n,e){let t=q1[e];if(t===void 0){const i=gk.get(e);if(i!==void 0)t=q1[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return bh(t)}const Mk=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function cg(n){return n.replace(Mk,xk)}function xk(n,e,t,i){let r="";for(let s=parseInt(e);s<parseInt(t);s++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return r}function Ag(n){let e=`precision ${n.precision} float; 3742 precision ${n.precision} int; 3743 precision ${n.precision} sampler2D; 3744 precision ${n.precision} samplerCube; 3745 precision ${n.precision} sampler3D; 3746 precision ${n.precision} sampler2DArray; 3747 precision ${n.precision} sampler2DShadow; 3748 precision ${n.precision} samplerCubeShadow; 3749 precision ${n.precision} sampler2DArrayShadow; 3750 precision ${n.precision} isampler2D; 3751 precision ${n.precision} isampler3D; 3752 precision ${n.precision} isamplerCube; 3753 precision ${n.precision} isampler2DArray; 3754 precision ${n.precision} usampler2D; 3755 precision ${n.precision} usampler3D; 3756 precision ${n.precision} usamplerCube; 3757 precision ${n.precision} usampler2DArray; 3758 `;return n.precision==="highp"?e+=` 3759#define HIGH_PRECISION`:n.precision==="mediump"?e+=` 3760#define MEDIUM_PRECISION`:n.precision==="lowp"&&(e+=` 3761#define LOW_PRECISION`),e}function Sk(n){let e="SHADOWMAP_TYPE_BASIC";return n.shadowMapType===Md?e="SHADOWMAP_TYPE_PCF":n.shadowMapType===nw?e="SHADOWMAP_TYPE_PCF_SOFT":n.shadowMapType===Ur&&(e="SHADOWMAP_TYPE_VSM"),e}function yk(n){let e="ENVMAP_TYPE_CUBE";if(n.envMap)switch(n.envMapMode){case p2:case _2:e="ENVMAP_TYPE_CUBE";break;case oa:e="ENVMAP_TYPE_CUBE_UV";break}return e}function Nk(n){let e="ENVMAP_MODE_REFLECTION";if(n.envMap)switch(n.envMapMode){case _2:e="ENVMAP_MODE_REFRACTION";break}return e}function vk(n){let e="ENVMAP_BLENDING_NONE";if(n.envMap)switch(n.combine){case $8:e="ENVMAP_BLENDING_MULTIPLY";break;case ey:e="ENVMAP_BLENDING_MIX";break;case ty:e="ENVMAP_BLENDING_ADD";break}return e}function Ok(n){const e=n.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:i,maxMip:t}}function Tk(n,e,t,i){const r=n.getContext(),s=t.defines;let a=t.vertexShader,o=t.fragmentShader;const l=Sk(t),u=yk(t),d=Nk(t),q=vk(t),_=Ok(t),g=qk(t),M=pk(s),N=r.createProgram();let y,S,R=t.glslVersion?"#version "+t.glslVersion+` 3762`:"";t.isRawShaderMaterial?(y=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,M].filter(O6).join(` 3763`),y.length>0&&(y+=` 3764`),S=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,M].filter(O6).join(` 3765`),S.length>0&&(S+=` 3766`)):(y=[Ag(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,M,t.extensionCl
vendor: 6,454 bytes, lines 3766-3768
3766ipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` 3767`].filter(O6).join(` 3768`),S=[Ag(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,M,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+d:"",t.envMap?"#define "+q:"",_?"#define CUBEUV_TEXEL_WIDTH "+_.texelWidth:"",_?"#define CUBEUV_TEXEL_HEIGHT "+_.texelHeight:"",_?"#define CUBEUV_MAX_MIP "+_.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IR
3768IDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Sr?"#define TONE_MAPPING":"",t.toneMapping!==Sr?q1.tonemapping_pars_fragment:"",t.toneMapping!==Sr?fk("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",q1.colorspace_pars_fragment,hk("linearToOutputTexel",t.outputColorSpace),dk(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` 3769`].filter(O6).join(` 3770`)),a=bh(a),a=lg(a,t),a=ug(a,t),o=bh(o),o=lg(o,t),o=ug(o,t),a=cg(a),o=cg(o),t.isRawShaderMaterial!==!0&&(R=`#version 300 es 3771`,y=[g,"#define attribute in","#define varying out","#define texture2D texture"].join(` 3772`)+` 3773`+y,S=["#define varying in",t.glslVersion===sm?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===sm?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` 3774`)+` 3775`+S);const O=R+y+a,b=R+S+o,D=sg(r,r.VERTEX_SHADER,O),B=sg(r,r.FRAGMENT_SHADER,b);r.attachShader(N,D),r.attachShader(N,B),t.index0AttributeName!==void 0?r.bindAttribLocation(N,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(N,0,"position"),r.linkProgram(N);function C(w){if(n.debug.checkShaderErrors){const z=r.getProgramInfoLog(N).trim(),H=r.getShaderInfoLog(D).trim(),j=r.getShaderInfoLog(B).trim();let Y=!0,Q=!0;if(r.getProgramParameter(N,r.LINK_STATUS)===!1)if(Y=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,N,D,B);else{const oe=og(r,D,"vertex"),ae=og(r,B,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(N,r.VALIDATE_STATUS)+` 3776 3777Material Name: `+w.name+` 3778Material Type: `+w.type+` 3779 3780Program Info Log: `+z+` 3781`+oe+` 3782`+ae)}else z!==""?console.warn("THREE.WebGLProgram: Program Info Log:",z):(H===""||j==="")&&(Q=!1);Q&&(w.diagnostics={runnable:Y,programLog:z,vertexShader:{log:H,prefix:y},fragmentShader:{log:j,prefix:S}})}r.deleteShader(D),r.deleteShader(B),G=new l7(r,N),L=_k(r,N)}let G;this.getUniforms=function(){return G===void 0&&C(this),G};let L;this.getAttributes=function(){return L===void 0&&C(this),L};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(N,lk)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(N),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=uk++,this.cacheKey=e,this.usedTimes=1,this.program=N,this.vertexShader=D,this.fragmentShader=B,this}let Rk=0;class bk{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(s)===!1&&(a.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new Ik(e),t.set(e,i)),i}}class Ik{constructor(e){this.id=Rk++,this.code=e,this.usedTimes=0}}function Pk(n,e,t,i,r,s,a){const o=new Kd,l=new bk,u=new Set,d=[],q=r.logarithmicDepthBuffer,_=r.vertexTextures;let g=r.precision;const M={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function N(L){return u.add(L),L===0?"uv":`uv${L}`}function y(L,P,w,z,H){const j=z.fog,Y=H.geometry,Q=L.isMeshStandardMaterial?z.environment:null,oe=(L.isMeshStandardMaterial?t:e).get(L.envMap||Q),ae=oe&&oe.mapping===oa?oe.image.height:null,fe=M[L.type];L.precision!==null&&(g=r.getMaxPrecision(L.precision),g!==L.precision&&console.warn("THREE.WebGLProgram.getParameters:",L.precision,"not supported, using",g,"instead."));const xe=Y.morphAttributes.position||Y.morphAttributes.normal||Y.morphAttributes.color,Te=xe!==void 0?xe.length:0;let He=0;Y.morphAttributes.position!==void 0&&(He=1),Y.morphAttributes.normal!==void 0&&(He=2),Y.morphAttributes.color!==void 0&&(He=3);let Je,Se,we,lt;if(fe){const P1=fr[fe];Je=P1.vertexShader,Se=P1.fragmentShader}else Je=L.vertexShader,Se=L.fragmentShader,l.update(L),we=l.getVertexShaderID(L),lt=l.getFragmentShaderID(L);const rt=n.getRenderTarget(),_t=n.state.buffers.depth.getReversed(),mt=H.isInstancedMesh===!0,ut=H.isBatchedMesh===!0,$t
vendor: 10,054 bytes, line 3782
3782=!!L.map,A1=!!L.matcap,Wt=!!oe,J=!!L.aoMap,st=!!L.lightMap,Ye=!!L.bumpMap,ot=!!L.normalMap,Be=!!L.displacementMap,St=!!L.emissiveMap,tt=!!L.metalnessMap,pt=!!L.roughnessMap,Jt=L.anisotropy>0,se=L.clearcoat>0,K=L.dispersion>0,Me=L.iridescence>0,Pe=L.sheen>0,Ke=L.transmission>0,Le=Jt&&!!L.anisotropyMap,Lt=se&&!!L.clearcoatMap,dt=se&&!!L.clearcoatNormalMap,Tt=se&&!!L.clearcoatRoughnessMap,Dt=Me&&!!L.iridescenceMap,$e=Me&&!!L.iridescenceThicknessMap,yt=Pe&&!!L.sheenColorMap,jt=Pe&&!!L.sheenRoughnessMap,Vt=!!L.specularMap,qt=!!L.specularColorMap,r1=!!L.specularIntensityMap,ee=Ke&&!!L.transmissionMap,gt=Ke&&!!L.thicknessMap,Xe=!!L.gradientMap,vt=!!L.alphaMap,nt=L.alphaTest>0,Ge=!!L.alphaHash,Ot=!!L.extensions;let s1=Sr;L.toneMapped&&(rt===null||rt.isXRRenderTarget===!0)&&(s1=n.toneMapping);const tn={shaderID:fe,shaderType:L.type,shaderName:L.name,vertexShader:Je,fragmentShader:Se,defines:L.defines,customVertexShaderID:we,customFragmentShaderID:lt,isRawShaderMaterial:L.isRawShaderMaterial===!0,glslVersion:L.glslVersion,precision:g,batching:ut,batchingColor:ut&&H._colorsTexture!==null,instancing:mt,instancingColor:mt&&H.instanceColor!==null,instancingMorph:mt&&H.morphTexture!==null,supportsVertexTextures:_,outputColorSpace:rt===null?n.outputColorSpace:rt.isXRRenderTarget===!0?rt.texture.colorSpace:L0,alphaToCoverage:!!L.alphaToCoverage,map:$t,matcap:A1,envMap:Wt,envMapMode:Wt&&oe.mapping,envMapCubeUVHeight:ae,aoMap:J,lightMap:st,bumpMap:Ye,normalMap:ot,displacementMap:_&&Be,emissiveMap:St,normalMapObjectSpace:ot&&L.normalMapType===ly,normalMapTangentSpace:ot&&L.normalMapType===Q2,metalnessMap:tt,roughnessMap:pt,anisotropy:Jt,anisotropyMap:Le,clearcoat:se,clearcoatMap:Lt,clearcoatNormalMap:dt,clearcoatRoughnessMap:Tt,dispersion:K,iridescence:Me,iridescenceMap:Dt,iridescenceThicknessMap:$e,sheen:Pe,sheenColorMap:yt,sheenRoughnessMap:jt,specularMap:Vt,specularColorMap:qt,specularIntensityMap:r1,transmission:Ke,transmissionMap:ee,thicknessMap:gt,gradientMap:Xe,opaque:L.transparent===!1&&L.blending===or&&L.alphaToCoverage===!1,alphaMap:vt,alphaTest:nt,alphaHash:Ge,combine:L.combine,mapUv:$t&&N(L.map.channel),aoMapUv:J&&N(L.aoMap.channel),lightMapUv:st&&N(L.lightMap.channel),bumpMapUv:Ye&&N(L.bumpMap.channel),normalMapUv:ot&&N(L.normalMap.channel),displacementMapUv:Be&&N(L.displacementMap.channel),emissiveMapUv:St&&N(L.emissiveMap.channel),metalnessMapUv:tt&&N(L.metalnessMap.channel),roughnessMapUv:pt&&N(L.roughnessMap.channel),anisotropyMapUv:Le&&N(L.anisotropyMap.channel),clearcoatMapUv:Lt&&N(L.clearcoatMap.channel),clearcoatNormalMapUv:dt&&N(L.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Tt&&N(L.clearcoatRoughnessMap.channel),iridescenceMapUv:Dt&&N(L.iridescenceMap.channel),iridescenceThicknessMapUv:$e&&N(L.iridescenceThicknessMap.channel),sheenColorMapUv:yt&&N(L.sheenColorMap.channel),sheenRoughnessMapUv:jt&&N(L.sheenRoughnessMap.channel),specularMapUv:Vt&&N(L.specularMap.channel),specularColorMapUv:qt&&N(L.specularColorMap.channel),specularIntensityMapUv:r1&&N(L.specularIntensityMap.channel),transmissionMapUv:ee&&N(L.transmissionMap.channel),thicknessMapUv:gt&&N(L.thicknessMap.channel),alphaMapUv:vt&&N(L.alphaMap.channel),vertexTangents:!!Y.attributes.tangent&&(ot||Jt),vertexColors:L.vertexColors,vertexAlphas:L.vertexColors===!0&&!!Y.attributes.color&&Y.attributes.color.itemSize===4,pointsUvs:H.isPoints===!0&&!!Y.attributes.uv&&($t||vt),fog:!!j,useFog:L.fog===!0,fogExp2:!!j&&j.isFogExp2,flatShading:L.flatShading===!0,sizeAttenuation:L.sizeAttenuation===!0,logarithmicDepthBuffer:q,reverseDepthBuffer:_t,skinning:H.isSkinnedMesh===!0,morphTargets:Y.morphAttributes.position!==void 0,morphNormals:Y.morphAttributes.normal!==void 0,morphColors:Y.morphAttributes.color!==void 0,morphTargetsCount:Te,morphTextureStride:He,numDirLights:P.directional.length,numPointLights:P.point.length,numSpotLights:P.spot.length,numSpotLightMaps:P.spotLightMap.length,numRectAreaLights:P.rectArea.length,numHemiLights:P.hemi.length,numDirLightShadows:P.directionalShadowMap.length,numPointLightShadows:P.pointShadowMap.length,numSpotLightShadows:P.spotShadowMap.length,numSpotLightShadowsWithMaps:P.numSpotLightShadowsWithMaps,numLightProbes:P.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:L.dithering,shadowMapEnabled:n.shadowMap.enabled&&w.length>0,shadowMapType:n.shadowMap.type,toneMapping:s1,decodeVideoTexture:$t&&L.map.isVideoTexture===!0&&Zt.getTransfer(L.map.colorSpace)===Et,decodeVideoTextureEmissive:St&&L.emissiveMap.isVideoTexture===!0&&Zt.getTransfer(L.emissiveMap.colorSpace)===Et,premultipliedAlpha:L.premultipliedAlpha,doubleSided:L.side===Qn,flipSided:L.side===Q1,useDepthPacking:L.depthPacking>=0,depthPacking:L.depthPacking||0,index0AttributeName:L.index0AttributeName,extensionClipCullDistance:Ot&&L.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(Ot&&L.extensions.multiDraw===!0||ut)&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:L.customProgramCacheKey()};return tn.vertexUv1s=u.has(1),tn.vertexUv2s=u.has(2),tn.vertexUv3s=u.has(3),u.clear(),tn}function S(L){const P=[];if(L.shaderID?P.push(L.shaderID):(P.push(L.customVertexShaderID),P.push(L.customFragmentShaderID)),L.defines!==void 0)for(const w in L.defines)P.push(w),P.push(L.defines[w]);return L.isRawShaderMaterial===!1&&(R(P,L),O(P,L),P.push(n.outputColorSpace)),P.push(L.customProgramCacheKey),P.join()}function R(L,P){L.push(P.precision),L.push(P.outputColorSpace),L.push(P.envMapMode),L.push(P.envMapCubeUVHeight),L.push(P.mapUv),L.push(P.alphaMapUv),L.push(P.lightMapUv),L.push(P.aoMapUv),L.push(P.bumpMapUv),L.push(P.normalMapUv),L.push(P.displacementMapUv),L.push(P.emissiveMapUv),L.push(P.metalnessMapUv),L.push(P.roughnessMapUv),L.push(P.anisotropyMapUv),L.push(P.clearcoatMapUv),L.push(P.clearcoatNormalMapUv),L.push(P.clearcoatRoughnessMapUv),L.push(P.iridescenceMapUv),L.push(P.iridescenceThicknessMapUv),L.push(P.sheenColorMapUv),L.push(P.sheenRoughnessMapUv),L.push(P.specularMapUv),L.push(P.specularColorMapUv),L.push(P.specularIntensityMapUv),L.push(P.transmissionMapUv),L.push(P.thicknessMapUv),L.push(P.combine),L.push(P.fogExp2),L.push(P.sizeAttenuation),L.push(P.morphTargetsCount),L.push(P.morphAttributeCount),L.push(P.numDirLights),L.push(P.numPointLights),L.push(P.numSpotLights),L.push(P.numSpotLightMaps),L.push(P.numHemiLights),L.push(P.numRectAreaLights),L.push(P.numDirLightShadows),L.push(P.numPointLightShadows),L.push(P.numSpotLightShadows),L.push(P.numSpotLightShadowsWithMaps),L.push(P.numLightProbes),L.push(P.shadowMapType),L.push(P.toneMapping),L.push(P.numClippingPlanes),L.push(P.numClipIntersection),L.push(P.depthPacking)}function O(L,P){o.disableAll(),P.supportsVertexTextures&&o.enable(0),P.instancing&&o.enable(1),P.instancingColor&&o.enable(2),P.instancingMorph&&o.enable(3),P.matcap&&o.enable(4),P.envMap&&o.enable(5),P.normalMapObjectSpace&&o.enable(6),P.normalMapTangentSpace&&o.enable(7),P.clearcoat&&o.enable(8),P.iridescence&&o.enable(9),P.alphaTest&&o.enable(10),P.vertexColors&&o.enable(11),P.vertexAlphas&&o.enable(12),P.vertexUv1s&&o.enable(13),P.vertexUv2s&&o.enable(14),P.vertexUv3s&&o.enable(15),P.vertexTangents&&o.enable(16),P.anisotropy&&o.enable(17),P.alphaHash&&o.enable(18),P.batching&&o.enable(19),P.dispersion&&o.enable(20),P.batchingColor&&o.enable(21),L.push(o.mask),o.disableAll(),P.fog&&o.enable(0),P.useFog&&o.enable(1),P.flatShading&&o.enable(2),P.logarithmicDepthBuffer&&o.enable(3),P.reverseDepthBuffer&&o.enable(4),P.skinning&&o.enable(5),P.morphTargets&&o.enable(6),P.morphNormals&&o.enable(7),P.morphColors&&o.enable(8),P.premultipliedAlpha&&o.enable(9),P.shadowMapEnabled&&o.enable(10),P.doubleSided&&o.enable(11),P.flipSided&&o.enable(12),P.useDepthPacking&&o.enable(13),P.dithering&&o.enable(14),P.transmission&&o.enable(15),P.sheen&&o.enable(16),P.opaque&&o.enable(17),P.pointsUvs&&o.enable(18),P.decodeVideoTexture&&o.enable(19),P.decodeVideoTextureEmissive&&o.enable(20),P.alphaToCoverage&&o.enable(21),L.push(o.mask)}function b(L){const P=M[L.type];let w;if(P){const z=fr[P];w=H9.clone(z.uniforms)}else w=L.uniforms;return w}function D(L,P){let w;for(let z=0,H=d.length;z<H;z++){const j=d[z];if(j.cacheKey===P){w=j,++w.usedTimes;break}}return w===void 0&&(w=new Tk(n,P,L,s),d.push(w)),w}function B(L){if(--L.usedTimes===0){const P=d.indexOf(L);d[P]=d[d.length-1],d.pop(),L.destroy()}}function C(L){l.remove(L)}function G(){l.dispose()}return{getParameters:y,getProgramCacheKey:S,getUniforms:b,acquireProgram:D,releaseProgram:B,releaseShaderCache:C,programs:d,dispose:G}}function Lk(){let n=new WeakMap;function e(a){return n.has(a)}function t(a){let o=n.get(a);return o===void 0&&(o={},n.set(a,o)),o}function i(a){n.delete(a)}function r(a,o,l){n.get(a)[o]=l}function s(){n=new WeakMap}return{has:e,get:t,remove:i,update:r,dispose:s}}function Dk(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.material.id!==e.material.id?n.material.id-e.material.id:n.z!==e.z?n.z-e.z:n.id-e.id}function hg(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function fg(){const n=[];let e=0;const t=[],i=[],r=[];function s(){e=0,t.length=0,i.length=0,r.length=0}function a(q,_,g,M,N,y){let S=n[e];return S===void 0?(S={id:q.id,object:q,geometry:_,material:g,groupOrder:M,renderOrder:q.renderOrder,z:N,group:y},n[e]=S):(S.id=q.id,S.object=q,S.geometry=_,S.material=g,S.groupOrder=M,S.renderOrder=q.renderOrder,S.z=N,S.group=y),e++,S}function o(q,_,g,M,N,y){const S=a(q,_,g,M,N,y);g.transmission>0?i.push(S):g.transparent===!0?r.push(S):t.push(S)}function l(q,_,g,M,N,y){const S=a(q,_,g,M,N,y);g.transmission>0?i.unshift(S):g.transparent===!0?r.unshift(S):t.unshift(S)}function u(q,_){t.length>1&&t.sort(q||Dk),i.length>1&&i.sort(_||hg),r.length>1&&r.sort(_||hg)}function d(){for(let q=e,_=n.length;q<_;q++){const g=n[q];
vendor: 1,448 bytes, line 3782
3782if(g.id===null)break;g.id=null,g.object=null,g.geometry=null,g.material=null,g.group=null}}return{opaque:t,transmissive:i,transparent:r,init:s,push:o,unshift:l,finish:d,sort:u}}function Ck(){let n=new WeakMap;function e(i,r){const s=n.get(i);let a;return s===void 0?(a=new fg,n.set(i,[a])):r>=s.length?(a=new fg,s.push(a)):a=s[r],a}function t(){n=new WeakMap}return{get:e,dispose:t}}function wk(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new Z,color:new Nt};break;case"SpotLight":t={position:new Z,direction:new Z,color:new Nt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new Z,color:new Nt,distance:0,decay:0};break;case"HemisphereLight":t={direction:new Z,skyColor:new Nt,groundColor:new Nt};break;case"RectAreaLight":t={color:new Nt,position:new Z,halfWidth:new Z,halfHeight:new Z};break}return n[e.id]=t,t}}}function Bk(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ce,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Uk=0;
vendor: 8,895 bytes, lines 3782-3810
3782function Fk(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function Gk(n){const e=new wk,t=Bk(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new Z);const r=new Z,s=new Yt,a=new Yt;function o(u){let d=0,q=0,_=0;for(let L=0;L<9;L++)i.probe[L].set(0,0,0);let g=0,M=0,N=0,y=0,S=0,R=0,O=0,b=0,D=0,B=0,C=0;u.sort(Fk);for(let L=0,P=u.length;L<P;L++){const w=u[L],z=w.color,H=w.intensity,j=w.distance,Y=w.shadow&&w.shadow.map?w.shadow.map.texture:null;if(w.isAmbientLight)d+=z.r*H,q+=z.g*H,_+=z.b*H;else if(w.isLightProbe){for(let Q=0;Q<9;Q++)i.probe[Q].addScaledVector(w.sh.coefficients[Q],H);C++}else if(w.isDirectionalLight){const Q=e.get(w);if(Q.color.copy(w.color).multiplyScalar(w.intensity),w.castShadow){const oe=w.shadow,ae=t.get(w);ae.shadowIntensity=oe.intensity,ae.shadowBias=oe.bias,ae.shadowNormalBias=oe.normalBias,ae.shadowRadius=oe.radius,ae.shadowMapSize=oe.mapSize,i.directionalShadow[g]=ae,i.directionalShadowMap[g]=Y,i.directionalShadowMatrix[g]=w.shadow.matrix,R++}i.directional[g]=Q,g++}else if(w.isSpotLight){const Q=e.get(w);Q.position.setFromMatrixPosition(w.matrixWorld),Q.color.copy(z).multiplyScalar(H),Q.distance=j,Q.coneCos=Math.cos(w.angle),Q.penumbraCos=Math.cos(w.angle*(1-w.penumbra)),Q.decay=w.decay,i.spot[N]=Q;const oe=w.shadow;if(w.map&&(i.spotLightMap[D]=w.map,D++,oe.updateMatrices(w),w.castShadow&&B++),i.spotLightMatrix[N]=oe.matrix,w.castShadow){const ae=t.get(w);ae.shadowIntensity=oe.intensity,ae.shadowBias=oe.bias,ae.shadowNormalBias=oe.normalBias,ae.shadowRadius=oe.radius,ae.shadowMapSize=oe.mapSize,i.spotShadow[N]=ae,i.spotShadowMap[N]=Y,b++}N++}else if(w.isRectAreaLight){const Q=e.get(w);Q.color.copy(z).multiplyScalar(H),Q.halfWidth.set(w.width*.5,0,0),Q.halfHeight.set(0,w.height*.5,0),i.rectArea[y]=Q,y++}else if(w.isPointLight){const Q=e.get(w);if(Q.color.copy(w.color).multiplyScalar(w.intensity),Q.distance=w.distance,Q.decay=w.decay,w.castShadow){const oe=w.shadow,ae=t.get(w);ae.shadowIntensity=oe.intensity,ae.shadowBias=oe.bias,ae.shadowNormalBias=oe.normalBias,ae.shadowRadius=oe.radius,ae.shadowMapSize=oe.mapSize,ae.shadowCameraNear=oe.camera.near,ae.shadowCameraFar=oe.camera.far,i.pointShadow[M]=ae,i.pointShadowMap[M]=Y,i.pointShadowMatrix[M]=w.shadow.matrix,O++}i.point[M]=Q,M++}else if(w.isHemisphereLight){const Q=e.get(w);Q.skyColor.copy(w.color).multiplyScalar(H),Q.groundColor.copy(w.groundColor).multiplyScalar(H),i.hemi[S]=Q,S++}}y>0&&(n.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_FLOAT_1,i.rectAreaLTC2=ht.LTC_FLOAT_2):(i.rectAreaLTC1=ht.LTC_HALF_1,i.rectAreaLTC2=ht.LTC_HALF_2)),i.ambient[0]=d,i.ambient[1]=q,i.ambient[2]=_;const G=i.hash;(G.directionalLength!==g||G.pointLength!==M||G.spotLength!==N||G.rectAreaLength!==y||G.hemiLength!==S||G.numDirectionalShadows!==R||G.numPointShadows!==O||G.numSpotShadows!==b||G.numSpotMaps!==D||G.numLightProbes!==C)&&(i.directional.length=g,i.spot.length=N,i.rectArea.length=y,i.point.length=M,i.hemi.length=S,i.directionalShadow.length=R,i.directionalShadowMap.length=R,i.pointShadow.length=O,i.pointShadowMap.length=O,i.spotShadow.length=b,i.spotShadowMap.length=b,i.directionalShadowMatrix.length=R,i.pointShadowMatrix.length=O,i.spotLightMatrix.length=b+D-B,i.spotLightMap.length=D,i.numSpotLightShadowsWithMaps=B,i.numLightProbes=C,G.directionalLength=g,G.pointLength=M,G.spotLength=N,G.rectAreaLength=y,G.hemiLength=S,G.numDirectionalShadows=R,G.numPointShadows=O,G.numSpotShadows=b,G.numSpotMaps=D,G.numLightProbes=C,i.version=Uk++)}function l(u,d){let q=0,_=0,g=0,M=0,N=0;const y=d.matrixWorldInverse;for(let S=0,R=u.length;S<R;S++){const O=u[S];if(O.isDirectionalLight){const b=i.directional[q];b.direction.setFromMatrixPosition(O.matrixWorld),r.setFromMatrixPosition(O.target.matrixWorld),b.direction.sub(r),b.direction.transformDirection(y),q++}else if(O.isSpotLight){const b=i.spot[g];b.position.setFromMatrixPosition(O.matrixWorld),b.position.applyMatrix4(y),b.direction.setFromMatrixPosition(O.matrixWorld),r.setFromMatrixPosition(O.target.matrixWorld),b.direction.sub(r),b.direction.transformDirection(y),g++}else if(O.isRectAreaLight){const b=i.rectArea[M];b.position.setFromMatrixPosition(O.matrixWorld),b.position.applyMatrix4(y),a.identity(),s.copy(O.matrixWorld),s.premultiply(y),a.extractRotation(s),b.halfWidth.set(O.width*.5,0,0),b.halfHeight.set(0,O.height*.5,0),b.halfWidth.applyMatrix4(a),b.halfHeight.applyMatrix4(a),M++}else if(O.isPointLight){const b=i.point[_];b.position.setFromMatrixPosition(O.matrixWorld),b.position.applyMatrix4(y),_++}else if(O.isHemisphereLight){const b=i.hemi[N];b.direction.setFromMatrixPosition(O.matrixWorld),b.direction.transformDirection(y),N++}}}return{setup:o,setupView:l,state:i}}function dg(n){const e=new Gk(n),t=[],i=[];function r(d){u.camera=d,t.length=0,i.length=0}function s(d){t.push(d)}function a(d){i.push(d)}function o(){e.setup(t)}function l(d){e.setupView(t,d)}const u={lightsArray:t,shadowsArray:i,camera:null,lights:e,transmissionRenderTarget:{}};return{init:r,state:u,setupLights:o,setupLightsView:l,pushLight:s,pushShadow:a}}function Vk(n){let e=new WeakMap;function t(r,s=0){const a=e.get(r);let o;return a===void 0?(o=new dg(n),e.set(r,[o])):s>=a.length?(o=new dg(n),a.push(o)):o=a[s],o}function i(){e=new WeakMap}return{get:t,dispose:i}}const kk=`void main() { 3783 gl_Position = vec4( position, 1.0 ); 3784}`,zk=`uniform sampler2D shadow_pass; 3785uniform vec2 resolution; 3786uniform float radius; 3787#include <packing> 3788void main() { 3789 const float samples = float( VSM_SAMPLES ); 3790 float mean = 0.0; 3791 float squared_mean = 0.0; 3792 float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); 3793 float uvStart = samples <= 1.0 ? 0.0 : - 1.0; 3794 for ( float i = 0.0; i < samples; i ++ ) { 3795 float uvOffset = uvStart + i * uvStride; 3796 #ifdef HORIZONTAL_PASS 3797 vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); 3798 mean += distribution.x; 3799 squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; 3800 #else 3801 float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); 3802 mean += depth; 3803 squared_mean += depth * depth; 3804 #endif 3805 } 3806 mean = mean / samples; 3807 squared_mean = squared_mean / samples; 3808 float std_dev = sqrt( squared_mean - mean * mean ); 3809 gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); 3810}`;function Wk(n,e,t){let i=new b4;const r=new Ce,s=new Ce,a=new wt,o=new tU({depthPacking:fw}),l=new nU,u={},d=t.maxTextureSize,q={[Mr]:Q1,[Q1]:Mr,[Qn]:Qn},_=new yr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ce},radius:{value:4}},vertexShader:kk,fragmentShader:zk}),g=_.clone();g.defines.HORIZONTAL_PASS=1;const M=new en;M.setAttribute("position",new vn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const N=new F1(M,_),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Md;let S=this.type;this.render=function(B,C,G){if(y.enabled===!1||y.autoUpdate===!1&&y.needsUpdate===!1||B.length===0)return;const L=n.getRenderTarget(),P=n.getActiveCubeFace(),w=n.getActiveMipmapLevel(),z=n.state;z.setBlending(xr),z.buffers.color.setClear(1,1,1,1),z.buffers.depth.setTest(!0),z.setScissorTest(!1);const H=S!==Ur&&this.type===Ur,j=S===Ur&&this.type!==Ur;for(let Y=0,Q=B.length;Y<Q;Y++){const oe=B[Y],ae=oe.shadow;if(ae===void 0){console.warn("THREE.WebGLShadowMap:",oe,"has no shadow.");continue}if(ae.autoUpdate===!1&&ae.needsUpdate===!1)continue;r.copy(ae.mapSize);const fe=ae.getFrameExtents();if(r.multiply(fe),s.copy(ae.mapSize),(r.x>d||r.y>d)&&(r.x>d&&(s.x=Math.floor(d/fe.x),r.x=s.x*fe.x,ae.mapSize.x=s.x),r.y>d&&(s.y=Math.floor(d/fe.y),r.y=s.y*fe.y,ae.mapSize.y=s.y)),ae.map===null||H===!0||j===!0){const Te=this.type!==Ur?{minFilter:hn,magFilter:hn}:{};ae.map!==null&&ae.map.dispose(),ae.map=new $3(r.x,r.y,Te),ae.map.texture.name=oe.name+".shadowMap",ae.camera.updateProjectionMatrix()}n.setRenderTarget(ae.map),n.clear();const xe=ae.getViewportCount();for(let Te=0;Te<xe;Te++){const He=ae.getViewport(Te);a.set(s.x*He.x,s.y*He.y,s.x*He.z,s.y*He.w),z.viewport(a),ae.updateMatrices(oe,Te),i=ae.getFrustum(),b(C,G,ae.camera,oe,this.type)}ae.isPointLightShadow!==!0&&this.type===Ur&&R(ae,G),ae.needsUpdate=!1}S=this.type,y.needsUpdate=!1,n.setRenderTarget(L,P,w)};function R(B,C){const G=e.update(N);
vendor: 4,253 bytes, line 3810
3810_.defines.VSM_SAMPLES!==B.blurSamples&&(_.defines.VSM_SAMPLES=B.blurSamples,g.defines.VSM_SAMPLES=B.blurSamples,_.needsUpdate=!0,g.needsUpdate=!0),B.mapPass===null&&(B.mapPass=new $3(r.x,r.y)),_.uniforms.shadow_pass.value=B.map.texture,_.uniforms.resolution.value=B.mapSize,_.uniforms.radius.value=B.radius,n.setRenderTarget(B.mapPass),n.clear(),n.renderBufferDirect(C,null,G,_,N,null),g.uniforms.shadow_pass.value=B.mapPass.texture,g.uniforms.resolution.value=B.mapSize,g.uniforms.radius.value=B.radius,n.setRenderTarget(B.map),n.clear(),n.renderBufferDirect(C,null,G,g,N,null)}function O(B,C,G,L){let P=null;const w=G.isPointLight===!0?B.customDistanceMaterial:B.customDepthMaterial;if(w!==void 0)P=w;else if(P=G.isPointLight===!0?l:o,n.localClippingEnabled&&C.clipShadows===!0&&Array.isArray(C.clippingPlanes)&&C.clippingPlanes.length!==0||C.displacementMap&&C.displacementScale!==0||C.alphaMap&&C.alphaTest>0||C.map&&C.alphaTest>0||C.alphaToCoverage===!0){const z=P.uuid,H=C.uuid;let j=u[z];j===void 0&&(j={},u[z]=j);let Y=j[H];Y===void 0&&(Y=P.clone(),j[H]=Y,C.addEventListener("dispose",D)),P=Y}if(P.visible=C.visible,P.wireframe=C.wireframe,L===Ur?P.side=C.shadowSide!==null?C.shadowSide:C.side:P.side=C.shadowSide!==null?C.shadowSide:q[C.side],P.alphaMap=C.alphaMap,P.alphaTest=C.alphaToCoverage===!0?.5:C.alphaTest,P.map=C.map,P.clipShadows=C.clipShadows,P.clippingPlanes=C.clippingPlanes,P.clipIntersection=C.clipIntersection,P.displacementMap=C.displacementMap,P.displacementScale=C.displacementScale,P.displacementBias=C.displacementBias,P.wireframeLinewidth=C.wireframeLinewidth,P.linewidth=C.linewidth,G.isPointLight===!0&&P.isMeshDistanceMaterial===!0){const z=n.properties.get(P);z.light=G}return P}function b(B,C,G,L,P){if(B.visible===!1)return;if(B.layers.test(C.layers)&&(B.isMesh||B.isLine||B.isPoints)&&(B.castShadow||B.receiveShadow&&P===Ur)&&(!B.frustumCulled||i.intersectsObject(B))){B.modelViewMatrix.multiplyMatrices(G.matrixWorldInverse,B.matrixWorld);const H=e.update(B),j=B.material;if(Array.isArray(j)){const Y=H.groups;for(let Q=0,oe=Y.length;Q<oe;Q++){const ae=Y[Q],fe=j[ae.materialIndex];if(fe&&fe.visible){const xe=O(B,fe,L,P);B.onBeforeShadow(n,B,C,G,H,xe,ae),n.renderBufferDirect(G,null,H,xe,B,ae),B.onAfterShadow(n,B,C,G,H,xe,ae)}}}else if(j.visible){const Y=O(B,j,L,P);B.onBeforeShadow(n,B,C,G,H,Y,null),n.renderBufferDirect(G,null,H,Y,B,null),B.onAfterShadow(n,B,C,G,H,Y,null)}}const z=B.children;for(let H=0,j=z.length;H<j;H++)b(z[H],C,G,L,P)}function D(B){B.target.removeEventListener("dispose",D);for(const G in u){const L=u[G],P=B.target.uuid;P in L&&(L[P].dispose(),delete L[P])}}}const Hk={[n8]:i8,[r8]:o8,[s8]:l8,[Y3]:a8,[i8]:n8,[o8]:r8,[l8]:s8,[a8]:Y3};function Kk(n,e){function t(){let ee=!1;const gt=new wt;let Xe=null;const vt=new wt(0,0,0,0);return{setMask:function(nt){Xe!==nt&&!ee&&(n.colorMask(nt,nt,nt,nt),Xe=nt)},setLocked:function(nt){ee=nt},setClear:function(nt,Ge,Ot,s1,tn){tn===!0&&(nt*=s1,Ge*=s1,Ot*=s1),gt.set(nt,Ge,Ot,s1),vt.equals(gt)===!1&&(n.clearColor(nt,Ge,Ot,s1),vt.copy(gt))},reset:function(){ee=!1,Xe=null,vt.set(-1,0,0,0)}}}function i(){let ee=!1,gt=!1,Xe=null,vt=null,nt=null;return{setReversed:function(Ge){if(gt!==Ge){const Ot=e.get("EXT_clip_control");Ge?Ot.clipControlEXT(Ot.LOWER_LEFT_EXT,Ot.ZERO_TO_ONE_EXT):Ot.clipControlEXT(Ot.LOWER_LEFT_EXT,Ot.NEGATIVE_ONE_TO_ONE_EXT),gt=Ge;const s1=nt;nt=null,this.setClear(s1)}},getReversed:function(){return gt},setTest:function(Ge){Ge?rt(n.DEPTH_TEST):_t(n.DEPTH_TEST)},setMask:function(Ge){Xe!==Ge&&!ee&&(n.depthMask(Ge),Xe=Ge)},setFunc:function(Ge){if(gt&&(Ge=Hk[Ge]),vt!==Ge){switch(Ge){case n8:n.depthFunc(n.NEVER);break;case i8:n.depthFunc(n.ALWAYS);break;case r8:n.depthFunc(n.LESS);break;case Y3:n.depthFunc(n.LEQUAL);break;case s8:n.depthFunc(n.EQUAL);break;case a8:n.depthFunc(n.GEQUAL);break;case o8:n.depthFunc(n.GREATER);break;case l8:n.depthFunc(n.NOTEQUAL);break;default:n.depthFunc(n.LEQUAL)}vt=Ge}},setLocked:function(Ge){ee=Ge},setClear:function(Ge){nt!==Ge&&(gt&&(Ge=1-Ge),n.clearDepth(Ge),nt=Ge)},reset:function(){ee=!1,Xe=null,vt=null,nt=null,gt=!1}}}function r(){let ee=!1,gt=null,Xe=null,vt=null,nt=null,Ge=null,Ot=null,s1=null,tn=null;return{setTest:function(P1){ee||(P1?rt(n.STENCIL_TEST):_t(n.STENCIL_TEST))}
vendor: 4,167 bytes, line 3810
3810,setMask:function(P1){gt!==P1&&!ee&&(n.stencilMask(P1),gt=P1)},setFunc:function(P1,Yi,Ii){(Xe!==P1||vt!==Yi||nt!==Ii)&&(n.stencilFunc(P1,Yi,Ii),Xe=P1,vt=Yi,nt=Ii)},setOp:function(P1,Yi,Ii){(Ge!==P1||Ot!==Yi||s1!==Ii)&&(n.stencilOp(P1,Yi,Ii),Ge=P1,Ot=Yi,s1=Ii)},setLocked:function(P1){ee=P1},setClear:function(P1){tn!==P1&&(n.clearStencil(P1),tn=P1)},reset:function(){ee=!1,gt=null,Xe=null,vt=null,nt=null,Ge=null,Ot=null,s1=null,tn=null}}}const s=new t,a=new i,o=new r,l=new WeakMap,u=new WeakMap;let d={},q={},_=new WeakMap,g=[],M=null,N=!1,y=null,S=null,R=null,O=null,b=null,D=null,B=null,C=new Nt(0,0,0),G=0,L=!1,P=null,w=null,z=null,H=null,j=null;const Y=n.getParameter(n.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let Q=!1,oe=0;const ae=n.getParameter(n.VERSION);ae.indexOf("WebGL")!==-1?(oe=parseFloat(/^WebGL (\d)/.exec(ae)[1]),Q=oe>=1):ae.indexOf("OpenGL ES")!==-1&&(oe=parseFloat(/^OpenGL ES (\d)/.exec(ae)[1]),Q=oe>=2);let fe=null,xe={};const Te=n.getParameter(n.SCISSOR_BOX),He=n.getParameter(n.VIEWPORT),Je=new wt().fromArray(Te),Se=new wt().fromArray(He);function we(ee,gt,Xe,vt){const nt=new Uint8Array(4),Ge=n.createTexture();n.bindTexture(ee,Ge),n.texParameteri(ee,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(ee,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Ot=0;Ot<Xe;Ot++)ee===n.TEXTURE_3D||ee===n.TEXTURE_2D_ARRAY?n.texImage3D(gt,0,n.RGBA,1,1,vt,0,n.RGBA,n.UNSIGNED_BYTE,nt):n.texImage2D(gt+Ot,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,nt);return Ge}const lt={};lt[n.TEXTURE_2D]=we(n.TEXTURE_2D,n.TEXTURE_2D,1),lt[n.TEXTURE_CUBE_MAP]=we(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),lt[n.TEXTURE_2D_ARRAY]=we(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),lt[n.TEXTURE_3D]=we(n.TEXTURE_3D,n.TEXTURE_3D,1,1),s.setClear(0,0,0,1),a.setClear(1),o.setClear(0),rt(n.DEPTH_TEST),a.setFunc(Y3),Ye(!1),ot(Mh),rt(n.CULL_FACE),J(xr);function rt(ee){d[ee]!==!0&&(n.enable(ee),d[ee]=!0)}function _t(ee){d[ee]!==!1&&(n.disable(ee),d[ee]=!1)}function mt(ee,gt){return q[ee]!==gt?(n.bindFramebuffer(ee,gt),q[ee]=gt,ee===n.DRAW_FRAMEBUFFER&&(q[n.FRAMEBUFFER]=gt),ee===n.FRAMEBUFFER&&(q[n.DRAW_FRAMEBUFFER]=gt),!0):!1}function ut(ee,gt){let Xe=g,vt=!1;if(ee){Xe=_.get(gt),Xe===void 0&&(Xe=[],_.set(gt,Xe));const nt=ee.textures;if(Xe.length!==nt.length||Xe[0]!==n.COLOR_ATTACHMENT0){for(let Ge=0,Ot=nt.length;Ge<Ot;Ge++)Xe[Ge]=n.COLOR_ATTACHMENT0+Ge;Xe.length=nt.length,vt=!0}}else Xe[0]!==n.BACK&&(Xe[0]=n.BACK,vt=!0);vt&&n.drawBuffers(Xe)}function $t(ee){return M!==ee?(n.useProgram(ee),M=ee,!0):!1}const A1={[Gi]:n.FUNC_ADD,[xd]:n.FUNC_SUBTRACT,[Sd]:n.FUNC_REVERSE_SUBTRACT};A1[QS]=n.MIN,A1[JS]=n.MAX;const Wt={[U2]:n.ZERO,[yd]:n.ONE,[Nd]:n.SRC_COLOR,[e8]:n.SRC_ALPHA,[Id]:n.SRC_ALPHA_SATURATE,[Rd]:n.DST_COLOR,[Od]:n.DST_ALPHA,[vd]:n.ONE_MINUS_SRC_COLOR,[t8]:n.ONE_MINUS_SRC_ALPHA,[bd]:n.ONE_MINUS_DST_COLOR,[Td]:n.ONE_MINUS_DST_ALPHA,[iw]:n.CONSTANT_COLOR,[rw]:n.ONE_MINUS_CONSTANT_COLOR,[sw]:n.CONSTANT_ALPHA,[aw]:n.ONE_MINUS_CONSTANT_ALPHA};function J(ee,gt,Xe,vt,nt,Ge,Ot,s1,tn,P1){if(ee===xr){N===!0&&(_t(n.BLEND),N=!1);return}if(N===!1&&(rt(n.BLEND),N=!0),ee!==No){if(ee!==y||P1!==L){if((S!==Gi||b!==Gi)&&(n.blendEquation(n.FUNC_ADD),S=Gi,b=Gi),P1)switch(ee){case or:n.blendFuncSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case wo:n.blendFunc(n.ONE,n.ONE);break;case Bo:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case Uo:n.blendFuncSeparate(n.ZERO,n.SRC_COLOR,n.ZERO,n.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",ee);break}else switch(ee){case or:n.blendFuncSeparate(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case wo:n.blendFunc(n.SRC_ALPHA,n.ONE);break;case Bo:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case Uo:n.blendFunc(n.ZERO,n.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",ee);break}R=null,O=null,D=null,B=null,C.set(0,0,0),G=0,y=ee,L=P1}return}nt=nt||gt,Ge=Ge||Xe,Ot=Ot||vt,(gt!==S||nt!==b)&&(n.blendEquationSeparate(A1[gt],A1[nt]),S=gt,b=nt),(Xe!==R||vt!==O||Ge!==D||Ot!==B)&&(n.blendFuncSeparate(Wt[Xe],Wt[vt],Wt[Ge],Wt[Ot]),R=Xe,O=vt,D=Ge,B=Ot),(s1.equals(C)===!1||tn!==G)&&(n.blendColor
vendor: 3,510 bytes, line 3810
3810(s1.r,s1.g,s1.b,tn),C.copy(s1),G=tn),y=ee,L=!1}function st(ee,gt){ee.side===Qn?_t(n.CULL_FACE):rt(n.CULL_FACE);let Xe=ee.side===Q1;gt&&(Xe=!Xe),Ye(Xe),ee.blending===or&&ee.transparent===!1?J(xr):J(ee.blending,ee.blendEquation,ee.blendSrc,ee.blendDst,ee.blendEquationAlpha,ee.blendSrcAlpha,ee.blendDstAlpha,ee.blendColor,ee.blendAlpha,ee.premultipliedAlpha),a.setFunc(ee.depthFunc),a.setTest(ee.depthTest),a.setMask(ee.depthWrite),s.setMask(ee.colorWrite);const vt=ee.stencilWrite;o.setTest(vt),vt&&(o.setMask(ee.stencilWriteMask),o.setFunc(ee.stencilFunc,ee.stencilRef,ee.stencilFuncMask),o.setOp(ee.stencilFail,ee.stencilZFail,ee.stencilZPass)),St(ee.polygonOffset,ee.polygonOffsetFactor,ee.polygonOffsetUnits),ee.alphaToCoverage===!0?rt(n.SAMPLE_ALPHA_TO_COVERAGE):_t(n.SAMPLE_ALPHA_TO_COVERAGE)}function Ye(ee){P!==ee&&(ee?n.frontFace(n.CW):n.frontFace(n.CCW),P=ee)}function ot(ee){ee!==XS?(rt(n.CULL_FACE),ee!==w&&(ee===Mh?n.cullFace(n.BACK):ee===ZS?n.cullFace(n.FRONT):n.cullFace(n.FRONT_AND_BACK))):_t(n.CULL_FACE),w=ee}function Be(ee){ee!==z&&(Q&&n.lineWidth(ee),z=ee)}function St(ee,gt,Xe){ee?(rt(n.POLYGON_OFFSET_FILL),(H!==gt||j!==Xe)&&(n.polygonOffset(gt,Xe),H=gt,j=Xe)):_t(n.POLYGON_OFFSET_FILL)}function tt(ee){ee?rt(n.SCISSOR_TEST):_t(n.SCISSOR_TEST)}function pt(ee){ee===void 0&&(ee=n.TEXTURE0+Y-1),fe!==ee&&(n.activeTexture(ee),fe=ee)}function Jt(ee,gt,Xe){Xe===void 0&&(fe===null?Xe=n.TEXTURE0+Y-1:Xe=fe);let vt=xe[Xe];vt===void 0&&(vt={type:void 0,texture:void 0},xe[Xe]=vt),(vt.type!==ee||vt.texture!==gt)&&(fe!==Xe&&(n.activeTexture(Xe),fe=Xe),n.bindTexture(ee,gt||lt[ee]),vt.type=ee,vt.texture=gt)}function se(){const ee=xe[fe];ee!==void 0&&ee.type!==void 0&&(n.bindTexture(ee.type,null),ee.type=void 0,ee.texture=void 0)}function K(){try{n.compressedTexImage2D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Me(){try{n.compressedTexImage3D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Pe(){try{n.texSubImage2D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Ke(){try{n.texSubImage3D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Le(){try{n.compressedTexSubImage2D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Lt(){try{n.compressedTexSubImage3D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function dt(){try{n.texStorage2D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Tt(){try{n.texStorage3D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function Dt(){try{n.texImage2D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function $e(){try{n.texImage3D(...arguments)}catch(ee){console.error("THREE.WebGLState:",ee)}}function yt(ee){Je.equals(ee)===!1&&(n.scissor(ee.x,ee.y,ee.z,ee.w),Je.copy(ee))}function jt(ee){Se.equals(ee)===!1&&(n.viewport(ee.x,ee.y,ee.z,ee.w),Se.copy(ee))}function Vt(ee,gt){let Xe=u.get(gt);Xe===void 0&&(Xe=new WeakMap,u.set(gt,Xe));let vt=Xe.get(ee);vt===void 0&&(vt=n.getUniformBlockIndex(gt,ee.name),Xe.set(ee,vt))}function qt(ee,gt){const vt=u.get(gt).get(ee);l.get(gt)!==vt&&(n.uniformBlockBinding(gt,vt,ee.__bindingPointIndex),l.set(gt,vt))}function r1(){n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SCISSOR_TEST),n.disable(n.STENCIL_TEST),n.disable(n.SAMPLE_ALPHA_TO_COVERAGE),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.blendFuncSeparate(n.ONE,n.ZERO,n.ONE,n.ZERO),n.blendColor
vendor: 5,448 bytes, line 3810
3810(0,0,0,0),n.colorMask(!0,!0,!0,!0),n.clearColor(0,0,0,0),n.depthMask(!0),n.depthFunc(n.LESS),a.setReversed(!1),n.clearDepth(1),n.stencilMask(4294967295),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.clearStencil(0),n.cullFace(n.BACK),n.frontFace(n.CCW),n.polygonOffset(0,0),n.activeTexture(n.TEXTURE0),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.useProgram(null),n.lineWidth(1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.viewport(0,0,n.canvas.width,n.canvas.height),d={},fe=null,xe={},q={},_=new WeakMap,g=[],M=null,N=!1,y=null,S=null,R=null,O=null,b=null,D=null,B=null,C=new Nt(0,0,0),G=0,L=!1,P=null,w=null,z=null,H=null,j=null,Je.set(0,0,n.canvas.width,n.canvas.height),Se.set(0,0,n.canvas.width,n.canvas.height),s.reset(),a.reset(),o.reset()}return{buffers:{color:s,depth:a,stencil:o},enable:rt,disable:_t,bindFramebuffer:mt,drawBuffers:ut,useProgram:$t,setBlending:J,setMaterial:st,setFlipSided:Ye,setCullFace:ot,setLineWidth:Be,setPolygonOffset:St,setScissorTest:tt,activeTexture:pt,bindTexture:Jt,unbindTexture:se,compressedTexImage2D:K,compressedTexImage3D:Me,texImage2D:Dt,texImage3D:$e,updateUBOMapping:Vt,uniformBlockBinding:qt,texStorage2D:dt,texStorage3D:Tt,texSubImage2D:Pe,texSubImage3D:Ke,compressedTexSubImage2D:Le,compressedTexSubImage3D:Lt,scissor:yt,viewport:jt,reset:r1}}function Yk(n,e,t,i,r,s,a){const o=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,l=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),u=new Ce,d=new WeakMap;let q;const _=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function M(se,K){return g?new OffscreenCanvas(se,K):_8("canvas")}function N(se,K,Me){let Pe=1;const Ke=Jt(se);if((Ke.width>Me||Ke.height>Me)&&(Pe=Me/Math.max(Ke.width,Ke.height)),Pe<1)if(typeof HTMLImageElement<"u"&&se instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&se instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&se instanceof ImageBitmap||typeof VideoFrame<"u"&&se instanceof VideoFrame){const Le=Math.floor(Pe*Ke.width),Lt=Math.floor(Pe*Ke.height);q===void 0&&(q=M(Le,Lt));const dt=K?M(Le,Lt):q;return dt.width=Le,dt.height=Lt,dt.getContext("2d").drawImage(se,0,0,Le,Lt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ke.width+"x"+Ke.height+") to ("+Le+"x"+Lt+")."),dt}else return"data"in se&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ke.width+"x"+Ke.height+")."),se;return se}function y(se){return se.generateMipmaps}function S(se){n.generateMipmap(se)}function R(se){return se.isWebGLCubeRenderTarget?n.TEXTURE_CUBE_MAP:se.isWebGL3DRenderTarget?n.TEXTURE_3D:se.isWebGLArrayRenderTarget||se.isCompressedArrayTexture?n.TEXTURE_2D_ARRAY:n.TEXTURE_2D}function O(se,K,Me,Pe,Ke=!1){if(se!==null){if(n[se]!==void 0)return n[se];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+se+"'")}let Le=K;if(K===n.RED&&(Me===n.FLOAT&&(Le=n.R32F),Me===n.HALF_FLOAT&&(Le=n.R16F),Me===n.UNSIGNED_BYTE&&(Le=n.R8)),K===n.RED_INTEGER&&(Me===n.UNSIGNED_BYTE&&(Le=n.R8UI),Me===n.UNSIGNED_SHORT&&(Le=n.R16UI),Me===n.UNSIGNED_INT&&(Le=n.R32UI),Me===n.BYTE&&(Le=n.R8I),Me===n.SHORT&&(Le=n.R16I),Me===n.INT&&(Le=n.R32I)),K===n.RG&&(Me===n.FLOAT&&(Le=n.RG32F),Me===n.HALF_FLOAT&&(Le=n.RG16F),Me===n.UNSIGNED_BYTE&&(Le=n.RG8)),K===n.RG_INTEGER&&(Me===n.UNSIGNED_BYTE&&(Le=n.RG8UI),Me===n.UNSIGNED_SHORT&&(Le=n.RG16UI),Me===n.UNSIGNED_INT&&(Le=n.RG32UI),Me===n.BYTE&&(Le=n.RG8I),Me===n.SHORT&&(Le=n.RG16I),Me===n.INT&&(Le=n.RG32I)),K===n.RGB_INTEGER&&(Me===n.UNSIGNED_BYTE&&(Le=n.RGB8UI),Me===n.UNSIGNED_SHORT&&(Le=n.RGB16UI),Me===n.UNSIGNED_INT&&(Le=n.RGB32UI),Me===n.BYTE&&(Le=n.RGB8I),Me===n.SHORT&&(Le=n.RGB16I),Me===n.INT&&(Le=n.RGB32I)),K===n.RGBA_INTEGER&&(Me===n.UNSIGNED_BYTE&&(Le=n.RGBA8UI),Me===n.UNSIGNED_SHORT&&(Le=n.RGBA16UI),Me===n.UNSIGNED_INT&&(Le=n.RGBA32UI),Me===n.BYTE&&(Le=n.RGBA8I),Me===n.SHORT&&(Le=n.RGBA16I),Me===n.INT&&(Le=n.RGBA32I)),K===n.RGB&&Me===n.UNSIGNED_INT_5_9_9_9_REV&&(Le=n.RGB9_E5),K===n.RGBA){const Lt=Ke?i4:Zt.getTransfer(Pe);Me===n.FLOAT&&(Le=n.RGBA32F),Me===n.HALF_FLOAT&&(Le=n.RGBA16F),Me===n.UNSIGNED_BYTE&&(Le=Lt===Et?n.SRGB8_ALPHA8:n.RGBA8),Me===n.UNSIGNED_SHORT_4_4_4_4&&(Le=n.RGBA4),Me===n.UNSIGNED_SHORT_5_5_5_1&&(Le=n.RGB5_A1)}return(Le===n.R16F||Le===n.R32F||Le===n.RG16F||Le===n.RG32F||Le===n.RGBA16F||Le===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Le}function b(se,K){let Me;return se?K===null||K===cn||K===Wr?Me=n.DEPTH24_STENCIL8:K===Wn?Me=n.DEPTH32F_STENCIL8:K===R0&&(Me=n.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):K===null||K===cn||K===Wr?Me=n.DEPTH_COMPONENT24:K===Wn?Me=n.DEPTH_COMPONENT32F:K===R0&&(Me=n.DEPTH_COMPONENT16),Me}function D(se,K){return y(se)===!0||se.isFramebufferTexture&&se.minFilter!==hn&&se.minFilter!==li?Math.log2(Math.max(K.width,K.height))+1:se.mipmaps!==void 0&&se.mipmaps.length>0?se.mipmaps.length:se.isCompressedTexture&&Array.isArray(se.image)?K.mipmaps.length:1}function B(se){const K=se.target;K.removeEventListener("dispose",B),G(K),K.isVideoTexture&&d.delete(K)}function C(se){const K=se.target;K.removeEventListener("dispose",C),P(K)}function G(se){const K=i.get(se);if(K.__webglInit===void 0)return;const Me=se.source,Pe=_.get(Me);
vendor: 6,431 bytes, line 3810
3810if(Pe){const Ke=Pe[K.__cacheKey];Ke.usedTimes--,Ke.usedTimes===0&&L(se),Object.keys(Pe).length===0&&_.delete(Me)}i.remove(se)}function L(se){const K=i.get(se);n.deleteTexture(K.__webglTexture);const Me=se.source,Pe=_.get(Me);delete Pe[K.__cacheKey],a.memory.textures--}function P(se){const K=i.get(se);if(se.depthTexture&&(se.depthTexture.dispose(),i.remove(se.depthTexture)),se.isWebGLCubeRenderTarget)for(let Pe=0;Pe<6;Pe++){if(Array.isArray(K.__webglFramebuffer[Pe]))for(let Ke=0;Ke<K.__webglFramebuffer[Pe].length;Ke++)n.deleteFramebuffer(K.__webglFramebuffer[Pe][Ke]);else n.deleteFramebuffer(K.__webglFramebuffer[Pe]);K.__webglDepthbuffer&&n.deleteRenderbuffer(K.__webglDepthbuffer[Pe])}else{if(Array.isArray(K.__webglFramebuffer))for(let Pe=0;Pe<K.__webglFramebuffer.length;Pe++)n.deleteFramebuffer(K.__webglFramebuffer[Pe]);else n.deleteFramebuffer(K.__webglFramebuffer);if(K.__webglDepthbuffer&&n.deleteRenderbuffer(K.__webglDepthbuffer),K.__webglMultisampledFramebuffer&&n.deleteFramebuffer(K.__webglMultisampledFramebuffer),K.__webglColorRenderbuffer)for(let Pe=0;Pe<K.__webglColorRenderbuffer.length;Pe++)K.__webglColorRenderbuffer[Pe]&&n.deleteRenderbuffer(K.__webglColorRenderbuffer[Pe]);K.__webglDepthRenderbuffer&&n.deleteRenderbuffer(K.__webglDepthRenderbuffer)}const Me=se.textures;for(let Pe=0,Ke=Me.length;Pe<Ke;Pe++){const Le=i.get(Me[Pe]);Le.__webglTexture&&(n.deleteTexture(Le.__webglTexture),a.memory.textures--),i.remove(Me[Pe])}i.remove(se)}let w=0;function z(){w=0}function H(){const se=w;return se>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+se+" texture units while this GPU supports only "+r.maxTextures),w+=1,se}function j(se){const K=[];return K.push(se.wrapS),K.push(se.wrapT),K.push(se.wrapR||0),K.push(se.magFilter),K.push(se.minFilter),K.push(se.anisotropy),K.push(se.internalFormat),K.push(se.format),K.push(se.type),K.push(se.generateMipmaps),K.push(se.premultiplyAlpha),K.push(se.flipY),K.push(se.unpackAlignment),K.push(se.colorSpace),K.join()}function Y(se,K){const Me=i.get(se);if(se.isVideoTexture&&tt(se),se.isRenderTargetTexture===!1&&se.version>0&&Me.__version!==se.version){const Pe=se.image;if(Pe===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Pe.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{lt(Me,se,K);return}}t.bindTexture(n.TEXTURE_2D,Me.__webglTexture,n.TEXTURE0+K)}function Q(se,K){const Me=i.get(se);if(se.version>0&&Me.__version!==se.version){lt(Me,se,K);return}t.bindTexture(n.TEXTURE_2D_ARRAY,Me.__webglTexture,n.TEXTURE0+K)}function oe(se,K){const Me=i.get(se);if(se.version>0&&Me.__version!==se.version){lt(Me,se,K);return}t.bindTexture(n.TEXTURE_3D,Me.__webglTexture,n.TEXTURE0+K)}function ae(se,K){const Me=i.get(se);if(se.version>0&&Me.__version!==se.version){rt(Me,se,K);return}t.bindTexture(n.TEXTURE_CUBE_MAP,Me.__webglTexture,n.TEXTURE0+K)}const fe={[la]:n.REPEAT,[s2]:n.CLAMP_TO_EDGE,[ua]:n.MIRRORED_REPEAT},xe={[hn]:n.NEAREST,[Ld]:n.NEAREST_MIPMAP_NEAREST,[H2]:n.NEAREST_MIPMAP_LINEAR,[li]:n.LINEAR,[vo]:n.LINEAR_MIPMAP_NEAREST,[qr]:n.LINEAR_MIPMAP_LINEAR},Te={[wd]:n.NEVER,[Vd]:n.ALWAYS,[z9]:n.LESS,[W9]:n.LEQUAL,[Bd]:n.EQUAL,[Gd]:n.GEQUAL,[Ud]:n.GREATER,[Fd]:n.NOTEQUAL};function He(se,K){if(K.type===Wn&&e.has("OES_texture_float_linear")===!1&&(K.magFilter===li||K.magFilter===vo||K.magFilter===H2||K.magFilter===qr||K.minFilter===li||K.minFilter===vo||K.minFilter===H2||K.minFilter===qr)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),n.texParameteri(se,n.TEXTURE_WRAP_S,fe[K.wrapS]),n.texParameteri(se,n.TEXTURE_WRAP_T,fe[K.wrapT]),(se===n.TEXTURE_3D||se===n.TEXTURE_2D_ARRAY)&&n.texParameteri(se,n.TEXTURE_WRAP_R,fe[K.wrapR]),n.texParameteri(se,n.TEXTURE_MAG_FILTER,xe[K.magFilter]),n.texParameteri(se,n.TEXTURE_MIN_FILTER,xe[K.minFilter]),K.compareFunction&&(n.texParameteri(se,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(se,n.TEXTURE_COMPARE_FUNC,Te[K.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(K.magFilter===hn||K.minFilter!==H2&&K.minFilter!==qr||K.type===Wn&&e.has("OES_texture_float_linear")===!1)return;if(K.anisotropy>1||i.get(K).__currentAnisotropy){const Me=e.get("EXT_texture_filter_anisotropic");n.texParameterf(se,Me.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(K.anisotropy,r.getMaxAnisotropy())),i.get(K).__currentAnisotropy=K.anisotropy}}}function Je(se,K){let Me=!1;se.__webglInit===void 0&&(se.__webglInit=!0,K.addEventListener("dispose",B));const Pe=K.source;let Ke=_.get(Pe);Ke===void 0&&(Ke={},_.set(Pe,Ke));const Le=j(K);if(Le!==se.__cacheKey){Ke[Le]===void 0&&(Ke[Le]={texture:n.createTexture(),usedTimes:0},a.memory.textures++,Me=!0),Ke[Le].usedTimes++;const Lt=Ke[se.__cacheKey];Lt!==void 0&&(Ke[se.__cacheKey].usedTimes--,Lt.usedTimes===0&&L(K)),se.__cacheKey=Le,se.__webglTexture=Ke[Le].texture}return Me}function Se(se,K,Me){return Math.floor(Math.floor(se/Me)/K)}function we(se,K,Me,Pe){const Le=se.updateRanges;if(Le.length===0)t.texSubImage2D(n.TEXTURE_2D,0,0,0,K.width,K.height,Me,Pe,K.data);else{Le.sort(($e,yt)=>$e.start-yt.start);let Lt=0;for(let $e=1;$e<Le.length;$e++){const yt=Le[Lt],jt=Le[$e],Vt=yt.start+yt.count,qt=Se(jt.start,K.width,4),r1=Se(yt.start,K.width,4);jt.start<=Vt+1&&qt===r1&&Se(jt.start+jt.count-1,K.width,4)===qt?yt.count=Math.max(yt.count,jt.start+jt.count-yt.start):(++Lt,Le[Lt]=jt)}Le.length=Lt+1;const dt=n.getParameter(n.UNPACK_ROW_LENGTH),Tt=n.getParameter(n.UNPACK_SKIP_PIXELS),Dt=n.getParameter(n.UNPACK_SKIP_ROWS);n.pixelStorei(n.UNPACK_ROW_LENGTH,K.width);for(let $e=0,yt=Le.length;$e<yt;$e++){const jt=Le[$e],Vt=Math.floor(jt.start/4),qt=Math.ceil(jt.count/4),r1=Vt%K.width,ee=Math.floor(Vt/K.width),gt=qt,Xe=1;n.pixelStorei(n.UNPACK_SKIP_PIXELS,r1),n.pixelStorei(n.UNPACK_SKIP_ROWS,ee),t.texSubImage2D(n.TEXTURE_2D,0,r1,ee,gt,Xe,Me,Pe,K.data)}se.clearUpdateRanges(),n.pixelStorei(n.UNPACK_ROW_LENGTH,dt),n.pixelStorei(n.UNPACK_SKIP_PIXELS,Tt),n.pixelStorei(n.UNPACK_SKIP_ROWS,Dt)}}function lt(se,K,Me){let Pe=n.TEXTURE_2D;(K.isDataArrayTexture||K.isCompressedArrayTexture)&&(Pe=n.TEXTURE_2D_ARRAY),K.isData3DTexture&&(Pe=n.TEXTURE_3D);const Ke=Je(se,K),Le=K.source;t.bindTexture(Pe,se.__webglTexture,n.TEXTURE0+Me);const Lt=i.get(Le);if(Le.version!==Lt.__version||Ke===!0){t.activeTexture(n.TEXTURE0+Me);
vendor: 4,441 bytes, line 3810
3810const dt=Zt.getPrimaries(Zt.workingColorSpace),Tt=K.colorSpace===ir?null:Zt.getPrimaries(K.colorSpace),Dt=K.colorSpace===ir||dt===Tt?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,K.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,K.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,K.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Dt);let $e=N(K.image,!1,r.maxTextureSize);$e=pt(K,$e);const yt=s.convert(K.format,K.colorSpace),jt=s.convert(K.type);let Vt=O(K.internalFormat,yt,jt,K.colorSpace,K.isVideoTexture);He(Pe,K);let qt;const r1=K.mipmaps,ee=K.isVideoTexture!==!0,gt=Lt.__version===void 0||Ke===!0,Xe=Le.dataReady,vt=D(K,$e);if(K.isDepthTexture)Vt=b(K.format===Kr,K.type),gt&&(ee?t.texStorage2D(n.TEXTURE_2D,1,Vt,$e.width,$e.height):t.texImage2D(n.TEXTURE_2D,0,Vt,$e.width,$e.height,0,yt,jt,null));else if(K.isDataTexture)if(r1.length>0){ee&>&&t.texStorage2D(n.TEXTURE_2D,vt,Vt,r1[0].width,r1[0].height);for(let nt=0,Ge=r1.length;nt<Ge;nt++)qt=r1[nt],ee?Xe&&t.texSubImage2D(n.TEXTURE_2D,nt,0,0,qt.width,qt.height,yt,jt,qt.data):t.texImage2D(n.TEXTURE_2D,nt,Vt,qt.width,qt.height,0,yt,jt,qt.data);K.generateMipmaps=!1}else ee?(gt&&t.texStorage2D(n.TEXTURE_2D,vt,Vt,$e.width,$e.height),Xe&&we(K,$e,yt,jt)):t.texImage2D(n.TEXTURE_2D,0,Vt,$e.width,$e.height,0,yt,jt,$e.data);else if(K.isCompressedTexture)if(K.isCompressedArrayTexture){ee&>&&t.texStorage3D(n.TEXTURE_2D_ARRAY,vt,Vt,r1[0].width,r1[0].height,$e.depth);for(let nt=0,Ge=r1.length;nt<Ge;nt++)if(qt=r1[nt],K.format!==Vn)if(yt!==null)if(ee){if(Xe)if(K.layerUpdates.size>0){const Ot=Wm(qt.width,qt.height,K.format,K.type);for(const s1 of K.layerUpdates){const tn=qt.data.subarray(s1*Ot/qt.data.BYTES_PER_ELEMENT,(s1+1)*Ot/qt.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,nt,0,0,s1,qt.width,qt.height,1,yt,tn)}K.clearLayerUpdates()}else t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,nt,0,0,0,qt.width,qt.height,$e.depth,yt,qt.data)}else t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,nt,Vt,qt.width,qt.height,$e.depth,0,qt.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else ee?Xe&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,nt,0,0,0,qt.width,qt.height,$e.depth,yt,jt,qt.data):t.texImage3D(n.TEXTURE_2D_ARRAY,nt,Vt,qt.width,qt.height,$e.depth,0,yt,jt,qt.data)}else{ee&>&&t.texStorage2D(n.TEXTURE_2D,vt,Vt,r1[0].width,r1[0].height);for(let nt=0,Ge=r1.length;nt<Ge;nt++)qt=r1[nt],K.format!==Vn?yt!==null?ee?Xe&&t.compressedTexSubImage2D(n.TEXTURE_2D,nt,0,0,qt.width,qt.height,yt,qt.data):t.compressedTexImage2D(n.TEXTURE_2D,nt,Vt,qt.width,qt.height,0,qt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):ee?Xe&&t.texSubImage2D(n.TEXTURE_2D,nt,0,0,qt.width,qt.height,yt,jt,qt.data):t.texImage2D(n.TEXTURE_2D,nt,Vt,qt.width,qt.height,0,yt,jt,qt.data)}else if(K.isDataArrayTexture)if(ee){if(gt&&t.texStorage3D(n.TEXTURE_2D_ARRAY,vt,Vt,$e.width,$e.height,$e.depth),Xe)if(K.layerUpdates.size>0){const nt=Wm($e.width,$e.height,K.format,K.type);for(const Ge of K.layerUpdates){const Ot=$e.data.subarray(Ge*nt/$e.data.BYTES_PER_ELEMENT,(Ge+1)*nt/$e.data.BYTES_PER_ELEMENT);t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,Ge,$e.width,$e.height,1,yt,jt,Ot)}K.clearLayerUpdates()}else t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,$e.width,$e.height,$e.depth,yt,jt,$e.data)}else t.texImage3D(n.TEXTURE_2D_ARRAY,0,Vt,$e.width,$e.height,$e.depth,0,yt,jt,$e.data);else if(K.isData3DTexture)ee?(gt&&t.texStorage3D(n.TEXTURE_3D,vt,Vt,$e.width,$e.height,$e.depth),Xe&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,$e.width,$e.height,$e.depth,yt,jt,$e.data)):t.texImage3D(n.TEXTURE_3D,0,Vt,$e.width,$e.height,$e.depth,0,yt,jt,$e.data);else if(K.isFramebufferTexture){if(gt)if(ee)t.texStorage2D(n.TEXTURE_2D,vt,Vt,$e.width,$e.height);else{let nt=$e.width,Ge=$e.height;for(let Ot=0;Ot<vt;Ot++)t.texImage2D(n.TEXTURE_2D,Ot,Vt,nt,Ge,0,yt,jt,null),nt>>=1,Ge>>=1}}else if(r1.length>0){if(ee&>){const nt=Jt(r1[0]);t.texStorage2D(n.TEXTURE_2D,vt,Vt,nt.width,nt.height)}for(let nt=0,Ge=r1.length;nt<Ge;nt++)qt=r1[nt],ee?Xe&&t.texSubImage2D(n.TEXTURE_2D,nt,0,0,yt,jt,qt):t.texImage2D(n.TEXTURE_2D,nt,Vt,yt,jt,qt);K.generateMipmaps=!1}else if(ee){if(gt){const nt=Jt($e);t.texStorage2D(n.TEXTURE_2D,vt,Vt,nt.width,nt.height)}Xe&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,yt,jt,$e)}else t.texImage2D(n.TEXTURE_2D,0,Vt,yt,jt,$e);
vendor: 2,908 bytes, line 3810
3810y(K)&&S(Pe),Lt.__version=Le.version,K.onUpdate&&K.onUpdate(K)}se.__version=K.version}function rt(se,K,Me){if(K.image.length!==6)return;const Pe=Je(se,K),Ke=K.source;t.bindTexture(n.TEXTURE_CUBE_MAP,se.__webglTexture,n.TEXTURE0+Me);const Le=i.get(Ke);if(Ke.version!==Le.__version||Pe===!0){t.activeTexture(n.TEXTURE0+Me);const Lt=Zt.getPrimaries(Zt.workingColorSpace),dt=K.colorSpace===ir?null:Zt.getPrimaries(K.colorSpace),Tt=K.colorSpace===ir||Lt===dt?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,K.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,K.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,K.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Tt);const Dt=K.isCompressedTexture||K.image[0].isCompressedTexture,$e=K.image[0]&&K.image[0].isDataTexture,yt=[];for(let Ge=0;Ge<6;Ge++)!Dt&&!$e?yt[Ge]=N(K.image[Ge],!0,r.maxCubemapSize):yt[Ge]=$e?K.image[Ge].image:K.image[Ge],yt[Ge]=pt(K,yt[Ge]);const jt=yt[0],Vt=s.convert(K.format,K.colorSpace),qt=s.convert(K.type),r1=O(K.internalFormat,Vt,qt,K.colorSpace),ee=K.isVideoTexture!==!0,gt=Le.__version===void 0||Pe===!0,Xe=Ke.dataReady;let vt=D(K,jt);He(n.TEXTURE_CUBE_MAP,K);let nt;if(Dt){ee&>&&t.texStorage2D(n.TEXTURE_CUBE_MAP,vt,r1,jt.width,jt.height);for(let Ge=0;Ge<6;Ge++){nt=yt[Ge].mipmaps;for(let Ot=0;Ot<nt.length;Ot++){const s1=nt[Ot];K.format!==Vn?Vt!==null?ee?Xe&&t.compressedTexSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot,0,0,s1.width,s1.height,Vt,s1.data):t.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot,r1,s1.width,s1.height,0,s1.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):ee?Xe&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot,0,0,s1.width,s1.height,Vt,qt,s1.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot,r1,s1.width,s1.height,0,Vt,qt,s1.data)}}}else{if(nt=K.mipmaps,ee&>){nt.length>0&&vt++;const Ge=Jt(yt[0]);t.texStorage2D(n.TEXTURE_CUBE_MAP,vt,r1,Ge.width,Ge.height)}for(let Ge=0;Ge<6;Ge++)if($e){ee?Xe&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,0,0,0,yt[Ge].width,yt[Ge].height,Vt,qt,yt[Ge].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,0,r1,yt[Ge].width,yt[Ge].height,0,Vt,qt,yt[Ge].data);for(let Ot=0;Ot<nt.length;Ot++){const tn=nt[Ot].image[Ge].image;ee?Xe&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot+1,0,0,tn.width,tn.height,Vt,qt,tn.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot+1,r1,tn.width,tn.height,0,Vt,qt,tn.data)}}else{ee?Xe&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,0,0,0,Vt,qt,yt[Ge]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,0,r1,Vt,qt,yt[Ge]);for(let Ot=0;Ot<nt.length;Ot++){const s1=nt[Ot];ee?Xe&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot+1,0,0,Vt,qt,s1.image[Ge]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Ge,Ot+1,r1,Vt,qt,s1.image[Ge])}}}y(K)&&S(n.TEXTURE_CUBE_MAP),Le.__version=Ke.version,K.onUpdate&&K.onUp
vendor: 7,652 bytes, line 3810
3810date(K)}se.__version=K.version}function _t(se,K,Me,Pe,Ke,Le){const Lt=s.convert(Me.format,Me.colorSpace),dt=s.convert(Me.type),Tt=O(Me.internalFormat,Lt,dt,Me.colorSpace),Dt=i.get(K),$e=i.get(Me);if($e.__renderTarget=K,!Dt.__hasExternalTextures){const yt=Math.max(1,K.width>>Le),jt=Math.max(1,K.height>>Le);Ke===n.TEXTURE_3D||Ke===n.TEXTURE_2D_ARRAY?t.texImage3D(Ke,Le,Tt,yt,jt,K.depth,0,Lt,dt,null):t.texImage2D(Ke,Le,Tt,yt,jt,0,Lt,dt,null)}t.bindFramebuffer(n.FRAMEBUFFER,se),St(K)?o.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Pe,Ke,$e.__webglTexture,0,Be(K)):(Ke===n.TEXTURE_2D||Ke>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Ke<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Pe,Ke,$e.__webglTexture,Le),t.bindFramebuffer(n.FRAMEBUFFER,null)}function mt(se,K,Me){if(n.bindRenderbuffer(n.RENDERBUFFER,se),K.depthBuffer){const Pe=K.depthTexture,Ke=Pe&&Pe.isDepthTexture?Pe.type:null,Le=b(K.stencilBuffer,Ke),Lt=K.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,dt=Be(K);St(K)?o.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,dt,Le,K.width,K.height):Me?n.renderbufferStorageMultisample(n.RENDERBUFFER,dt,Le,K.width,K.height):n.renderbufferStorage(n.RENDERBUFFER,Le,K.width,K.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,Lt,n.RENDERBUFFER,se)}else{const Pe=K.textures;for(let Ke=0;Ke<Pe.length;Ke++){const Le=Pe[Ke],Lt=s.convert(Le.format,Le.colorSpace),dt=s.convert(Le.type),Tt=O(Le.internalFormat,Lt,dt,Le.colorSpace),Dt=Be(K);Me&&St(K)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Dt,Tt,K.width,K.height):St(K)?o.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Dt,Tt,K.width,K.height):n.renderbufferStorage(n.RENDERBUFFER,Tt,K.width,K.height)}}n.bindRenderbuffer(n.RENDERBUFFER,null)}function ut(se,K){if(K&&K.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(n.FRAMEBUFFER,se),!(K.depthTexture&&K.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const Pe=i.get(K.depthTexture);Pe.__renderTarget=K,(!Pe.__webglTexture||K.depthTexture.image.width!==K.width||K.depthTexture.image.height!==K.height)&&(K.depthTexture.image.width=K.width,K.depthTexture.image.height=K.height,K.depthTexture.needsUpdate=!0),Y(K.depthTexture,0);const Ke=Pe.__webglTexture,Le=Be(K);if(K.depthTexture.format===Hr)St(K)?o.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,Ke,0,Le):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,Ke,0);else if(K.depthTexture.format===Kr)St(K)?o.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,Ke,0,Le):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,Ke,0);else throw new Error("Unknown depthTexture format")}function $t(se){const K=i.get(se),Me=se.isWebGLCubeRenderTarget===!0;if(K.__boundDepthTexture!==se.depthTexture){const Pe=se.depthTexture;if(K.__depthDisposeCallback&&K.__depthDisposeCallback(),Pe){const Ke=()=>{delete K.__boundDepthTexture,delete K.__depthDisposeCallback,Pe.removeEventListener("dispose",Ke)};Pe.addEventListener("dispose",Ke),K.__depthDisposeCallback=Ke}K.__boundDepthTexture=Pe}if(se.depthTexture&&!K.__autoAllocateDepthBuffer){if(Me)throw new Error("target.depthTexture not supported in Cube render targets");const Pe=se.texture.mipmaps;Pe&&Pe.length>0?ut(K.__webglFramebuffer[0],se):ut(K.__webglFramebuffer,se)}else if(Me){K.__webglDepthbuffer=[];for(let Pe=0;Pe<6;Pe++)if(t.bindFramebuffer(n.FRAMEBUFFER,K.__webglFramebuffer[Pe]),K.__webglDepthbuffer[Pe]===void 0)K.__webglDepthbuffer[Pe]=n.createRenderbuffer(),mt(K.__webglDepthbuffer[Pe],se,!1);else{const Ke=se.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Le=K.__webglDepthbuffer[Pe];n.bindRenderbuffer(n.RENDERBUFFER,Le),n.framebufferRenderbuffer(n.FRAMEBUFFER,Ke,n.RENDERBUFFER,Le)}}else{const Pe=se.texture.mipmaps;if(Pe&&Pe.length>0?t.bindFramebuffer(n.FRAMEBUFFER,K.__webglFramebuffer[0]):t.bindFramebuffer(n.FRAMEBUFFER,K.__webglFramebuffer),K.__webglDepthbuffer===void 0)K.__webglDepthbuffer=n.createRenderbuffer(),mt(K.__webglDepthbuffer,se,!1);else{const Ke=se.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Le=K.__webglDepthbuffer;n.bindRenderbuffer(n.RENDERBUFFER,Le),n.framebufferRenderbuffer(n.FRAMEBUFFER,Ke,n.RENDERBUFFER,Le)}}t.bindFramebuffer(n.FRAMEBUFFER,null)}function A1(se,K,Me){const Pe=i.get(se);K!==void 0&&_t(Pe.__webglFramebuffer,se,se.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,0),Me!==void 0&&$t(se)}function Wt(se){const K=se.texture,Me=i.get(se),Pe=i.get(K);se.addEventListener("dispose",C);const Ke=se.textures,Le=se.isWebGLCubeRenderTarget===!0,Lt=Ke.length>1;if(Lt||(Pe.__webglTexture===void 0&&(Pe.__webglTexture=n.createTexture()),Pe.__version=K.version,a.memory.textures++),Le){Me.__webglFramebuffer=[];for(let dt=0;dt<6;dt++)if(K.mipmaps&&K.mipmaps.length>0){Me.__webglFramebuffer[dt]=[];for(let Tt=0;Tt<K.mipmaps.length;Tt++)Me.__webglFramebuffer[dt][Tt]=n.createFramebuffer()}else Me.__webglFramebuffer[dt]=n.createFramebuffer()}else{if(K.mipmaps&&K.mipmaps.length>0){Me.__webglFramebuffer=[];for(let dt=0;dt<K.mipmaps.length;dt++)Me.__webglFramebuffer[dt]=n.createFramebuffer()}else Me.__webglFramebuffer=n.createFramebuffer();if(Lt)for(let dt=0,Tt=Ke.length;dt<Tt;dt++){const Dt=i.get(Ke[dt]);Dt.__webglTexture===void 0&&(Dt.__webglTexture=n.createTexture(),a.memory.textures++)}if(se.samples>0&&St(se)===!1){Me.__webglMultisampledFramebuffer=n.createFramebuffer(),Me.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,Me.__webglMultisampledFramebuffer);for(let dt=0;dt<Ke.length;dt++){const Tt=Ke[dt];Me.__webglColorRenderbuffer[dt]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,Me.__webglColorRenderbuffer[dt]);const Dt=s.convert(Tt.format,Tt.colorSpace),$e=s.convert(Tt.type),yt=O(Tt.internalFormat,Dt,$e,Tt.colorSpace,se.isXRRenderTarget===!0),jt=Be(se);n.renderbufferStorageMultisample(n.RENDERBUFFER,jt,yt,se.width,se.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+dt,n.RENDERBUFFER,Me.__webglColorRenderbuffer[dt])}n.bindRenderbuffer(n.RENDERBUFFER,null),se.depthBuffer&&(Me.__webglDepthRenderbuffer=n.createRenderbuffer(),mt(Me.__webglDepthRenderbuffer,se,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(Le){t.bindTexture(n.TEXTURE_CUBE_MAP,Pe.__webglTexture),He(n.TEXTURE_CUBE_MAP,K);for(let dt=0;dt<6;dt++)if(K.mipmaps&&K.mipmaps.length>0)for(let Tt=0;Tt<K.mipmaps.length;Tt++)_t(Me.__webglFramebuffer[dt][Tt],se,K,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+dt,Tt);else _t(Me.__webglFramebuffer[dt],se,K,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+dt,0);y(K)&&S(n.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Lt){for(let dt=0,Tt=Ke.length;dt<Tt;dt++){const Dt=Ke[dt],$e=i.get(Dt);t.bindTexture(n.TEXTURE_2D,$e.__webglTexture),He(n.TEXTURE_2D,Dt),_t(Me.__webglFramebuffer,se,Dt,n.COLOR_ATTACHMENT0+dt,n.TEXTURE_2D,0),y(Dt)&&S(n.TEXTURE_2D)}t.unbindTexture()}else{let dt=n.TEXTURE_2D;if((se.isWebGL3DRenderTarget||se.isWebGLArrayRenderTarget)&&(dt=se.isWebGL3DRenderTarget?n.TEXTURE_3D:n.TEXTURE_2D_ARRAY),t.bindTexture(dt,Pe.__webglTexture),He(dt,K),K.mipmaps&&K.mipmaps.length>0)for(let Tt=0;Tt<K.mipmaps.length;Tt++)_t(Me.__webglFramebuffer[Tt],se,K,n.COLOR_ATTACHMENT0,dt,Tt);else _t(Me.__webglFramebuffer,se,K,n.COLOR_ATTACHMENT0,dt,0);y(K)&&S(dt),t.unbindTexture()}se.depthBuffer&&$t(se)}function J(se){const K=se.textures;for(let Me=0,Pe=K.length;Me<Pe;Me++){const Ke=K[Me];if(y(Ke)){const Le=R(se),Lt=i.get(Ke).__webglTexture;t.bindTexture(Le,Lt),S(Le),t.unbindTexture()}}}const st=[],Ye=[];function ot(se){if(se.samples>
vendor: 7,283 bytes, line 3810
38100){if(St(se)===!1){const K=se.textures,Me=se.width,Pe=se.height;let Ke=n.COLOR_BUFFER_BIT;const Le=se.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Lt=i.get(se),dt=K.length>1;if(dt)for(let Dt=0;Dt<K.length;Dt++)t.bindFramebuffer(n.FRAMEBUFFER,Lt.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Dt,n.RENDERBUFFER,null),t.bindFramebuffer(n.FRAMEBUFFER,Lt.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Dt,n.TEXTURE_2D,null,0);t.bindFramebuffer(n.READ_FRAMEBUFFER,Lt.__webglMultisampledFramebuffer);const Tt=se.texture.mipmaps;Tt&&Tt.length>0?t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Lt.__webglFramebuffer[0]):t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Lt.__webglFramebuffer);for(let Dt=0;Dt<K.length;Dt++){if(se.resolveDepthBuffer&&(se.depthBuffer&&(Ke|=n.DEPTH_BUFFER_BIT),se.stencilBuffer&&se.resolveStencilBuffer&&(Ke|=n.STENCIL_BUFFER_BIT)),dt){n.framebufferRenderbuffer(n.READ_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,Lt.__webglColorRenderbuffer[Dt]);const $e=i.get(K[Dt]).__webglTexture;n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,$e,0)}n.blitFramebuffer(0,0,Me,Pe,0,0,Me,Pe,Ke,n.NEAREST),l===!0&&(st.length=0,Ye.length=0,st.push(n.COLOR_ATTACHMENT0+Dt),se.depthBuffer&&se.resolveDepthBuffer===!1&&(st.push(Le),Ye.push(Le),n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,Ye)),n.invalidateFramebuffer(n.READ_FRAMEBUFFER,st))}if(t.bindFramebuffer(n.READ_FRAMEBUFFER,null),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),dt)for(let Dt=0;Dt<K.length;Dt++){t.bindFramebuffer(n.FRAMEBUFFER,Lt.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Dt,n.RENDERBUFFER,Lt.__webglColorRenderbuffer[Dt]);const $e=i.get(K[Dt]).__webglTexture;t.bindFramebuffer(n.FRAMEBUFFER,Lt.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Dt,n.TEXTURE_2D,$e,0)}t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Lt.__webglMultisampledFramebuffer)}else if(se.depthBuffer&&se.resolveDepthBuffer===!1&&l){const K=se.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT;n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,[K])}}}function Be(se){return Math.min(r.maxSamples,se.samples)}function St(se){const K=i.get(se);return se.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&K.__useRenderToTexture!==!1}function tt(se){const K=a.render.frame;d.get(se)!==K&&(d.set(se,K),se.update())}function pt(se,K){const Me=se.colorSpace,Pe=se.format,Ke=se.type;return se.isCompressedTexture===!0||se.isVideoTexture===!0||Me!==L0&&Me!==ir&&(Zt.getTransfer(Me)===Et?(Pe!==Vn||Ke!==Ln)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Me)),K}function Jt(se){return typeof HTMLImageElement<"u"&&se instanceof HTMLImageElement?(u.width=se.naturalWidth||se.width,u.height=se.naturalHeight||se.height):typeof VideoFrame<"u"&&se instanceof VideoFrame?(u.width=se.displayWidth,u.height=se.displayHeight):(u.width=se.width,u.height=se.height),u}this.allocateTextureUnit=H,this.resetTextureUnits=z,this.setTexture2D=Y,this.setTexture2DArray=Q,this.setTexture3D=oe,this.setTextureCube=ae,this.rebindTextures=A1,this.setupRenderTarget=Wt,this.updateRenderTargetMipmap=J,this.updateMultisampleRenderTarget=ot,this.setupDepthRenderbuffer=$t,this.setupFrameBufferTexture=_t,this.useMultisampledRTT=St}function $k(n,e){function t(i,r=ir){let s;const a=Zt.getTransfer(r);if(i===Ln)return n.UNSIGNED_BYTE;if(i===G9)return n.UNSIGNED_SHORT_4_4_4_4;if(i===V9)return n.UNSIGNED_SHORT_5_5_5_1;if(i===k9)return n.UNSIGNED_INT_5_9_9_9_REV;if(i===Xs)return n.BYTE;if(i===Zs)return n.SHORT;if(i===R0)return n.UNSIGNED_SHORT;if(i===mi)return n.INT;if(i===cn)return n.UNSIGNED_INT;if(i===Wn)return n.FLOAT;if(i===Jn)return n.HALF_FLOAT;if(i===Dd)return n.ALPHA;if(i===j8)return n.RGB;if(i===Vn)return n.RGBA;if(i===Hr)return n.DEPTH_COMPONENT;if(i===Kr)return n.DEPTH_STENCIL;if(i===X8)return n.RED;if(i===O4)return n.RED_INTEGER;if(i===K2)return n.RG;if(i===T4)return n.RG_INTEGER;if(i===R4)return n.RGBA_INTEGER;if(i===Qs||i===F3||i===G3||i===V3)if(a===Et)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===Qs)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===F3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===G3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===V3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===Qs)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===F3)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===G3)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===V3)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===u8||i===c8||i===A8||i===h8)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===u8)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===c8)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===A8)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===h8)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===f8||i===Vo||i===ko)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===f8||i===Vo)return a===Et?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===ko)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===zo||i===Wo||i===Ho||i===Ko||i===Yo||i===$o||i===jo||i===Xo||i===Zo||i===Qo||i===Jo||i===e4||i===t4||i===n4)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===zo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===Wo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===Ho)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===Ko)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Yo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===$o)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===jo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===Xo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===Zo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Qo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===Jo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===e4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===t4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===n4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===Js||i===xh||i===Sh)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===Js)return a===Et?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===xh)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===Sh)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===Cd||i===d8||i===q8||i===p8)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===Js)return s.COMPRESSED_RED_RGT
vendor: 9,760 bytes, lines 3810-3834
3810C1_EXT;if(i===d8)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===q8)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===p8)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Wr?n.UNSIGNED_INT_24_8:n[i]!==void 0?n[i]:null}return{convert:t}}const jk=` 3811void main() { 3812 3813 gl_Position = vec4( position, 1.0 ); 3814 3815}`,Xk=` 3816uniform sampler2DArray depthColor; 3817uniform float depthWidth; 3818uniform float depthHeight; 3819 3820void main() { 3821 3822 vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); 3823 3824 if ( coord.x >= 1.0 ) { 3825 3826 gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; 3827 3828 } else { 3829 3830 gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; 3831 3832 } 3833 3834}`;class Zk{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new ei,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!==i.depthNear||t.depthFar!==i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,i=new yr({vertexShader:jk,fragmentShader:Xk,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new F1(new e5(20,20),i)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Qk extends O2{constructor(e,t){super();const i=this;let r=null,s=1,a=null,o="local-floor",l=1,u=null,d=null,q=null,_=null,g=null,M=null;const N=new Zk,y=t.getContextAttributes();let S=null,R=null;const O=[],b=[],D=new Ce;let B=null;const C=new gi;C.viewport=new wt;const G=new gi;G.viewport=new wt;const L=[C,G],P=new Iy;let w=null,z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Se){let we=O[Se];return we===void 0&&(we=new a7,O[Se]=we),we.getTargetRaySpace()},this.getControllerGrip=function(Se){let we=O[Se];return we===void 0&&(we=new a7,O[Se]=we),we.getGripSpace()},this.getHand=function(Se){let we=O[Se];return we===void 0&&(we=new a7,O[Se]=we),we.getHandSpace()};function H(Se){const we=b.indexOf(Se.inputSource);if(we===-1)return;const lt=O[we];lt!==void 0&&(lt.update(Se.inputSource,Se.frame,u||a),lt.dispatchEvent({type:Se.type,data:Se.inputSource}))}function j(){r.removeEventListener("select",H),r.removeEventListener("selectstart",H),r.removeEventListener("selectend",H),r.removeEventListener("squeeze",H),r.removeEventListener("squeezestart",H),r.removeEventListener("squeezeend",H),r.removeEventListener("end",j),r.removeEventListener("inputsourceschange",Y);for(let Se=0;Se<O.length;Se++){const we=b[Se];we!==null&&(b[Se]=null,O[Se].disconnect(we))}w=null,z=null,N.reset(),e.setRenderTarget(S),g=null,_=null,q=null,r=null,R=null,Je.stop(),i.isPresenting=!1,e.setPixelRatio(B),e.setSize(D.width,D.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(Se){s=Se,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(Se){o=Se,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return u||a},this.setReferenceSpace=function(Se){u=Se},this.getBaseLayer=function(){return _!==null?_:g},this.getBinding=function(){return q},this.getFrame=function(){return M},this.getSession=function(){return r},this.setSession=async function(Se){if(r=Se,r!==null){if(S=e.getRenderTarget(),r.addEventListener("select",H),r.addEventListener("selectstart",H),r.addEventListener("selectend",H),r.addEventListener("squeeze",H),r.addEventListener("squeezestart",H),r.addEventListener("squeezeend",H),r.addEventListener("end",j),r.addEventListener("inputsourceschange",Y),y.xrCompatible!==!0&&await t.makeXRCompatible(),B=e.getPixelRatio(),e.getSize(D),typeof XRWebGLBinding<"u"&&"createProjectionLayer"in XRWebGLBinding.prototype){let lt=null,rt=null,_t=null;y.depth&&(_t=y.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,lt=y.stencil?Kr:Hr,rt=y.stencil?Wr:cn);const mt={colorFormat:t.RGBA8,depthFormat:_t,scaleFactor:s};q=new XRWebGLBinding(r,t),_=q.createProjectionLayer(mt),r.updateRenderState({layers:[_]}),e.setPixelRatio(1),e.setSize(_.textureWidth,_.textureHeight,!1),R=new $3(_.textureWidth,_.textureHeight,{format:Vn,type:Ln,depthTexture:new $r(_.textureWidth,_.textureHeight,rt,void 0,void 0,void 0,void 0,void 0,void 0,lt),stencilBuffer:y.stencil,colorSpace:e.outputColorSpace,samples:y.antialias?4:0,resolveDepthBuffer:_.ignoreDepthValues===!1,resolveStencilBuffer:_.ignoreDepthValues===!1})}else{const lt={antialias:y.antialias,alpha:!0,depth:y.depth,stencil:y.stencil,framebufferScaleFactor:s};g=new XRWebGLLayer(r,t,lt),r.updateRenderState({baseLayer:g}),e.setPixelRatio(1),e.setSize(g.framebufferWidth,g.framebufferHeight,!1),R=new $3(g.framebufferWidth,g.framebufferHeight,{format:Vn,type:Ln,colorSpace:e.outputColorSpace,stencilBuffer:y.stencil,resolveDepthBuffer:g.ignoreDepthValues===!1,resolveStencilBuffer:g.ignoreDepthValues===!1})}R.isXRRenderTarget=!0,this.setFoveation(l),u=null,a=await r.requestReferenceSpace(o),Je.setContext(r),Je.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return N.getDepthTexture()};function Y(Se){for(let we=0;we<Se.removed.length;we++){const lt=Se.removed[we],rt=b.indexOf(lt);rt>=0&&(b[rt]=null,O[rt].disconnect(lt))}for(let we=0;we<Se.added.length;we++){const lt=Se.added[we];let rt=b.indexOf(lt);if(rt===-1){for(let mt=0;mt<O.length;mt++)if(mt>=b.length){b.push(lt),rt=mt;break}else if(b[mt]===null){b[mt]=lt,rt=mt;break}if(rt===-1)break}const _t=O[rt];_t&&_t.connect(lt)}}const Q=new Z,oe=new Z;function ae(Se,we,lt){Q.setFromMatrixPosition(we.matrixWorld),oe.setFromMatrixPosition(lt.matrixWorld);const rt=Q.distanceTo(oe),_t=we.projectionMatrix.elements,mt=lt.projectionMatrix.elements,ut=_t[14]/(_t[10]-1),$t=_t[14]/(_t[10]+1),A1=(_t[9]+1)/_t[5],Wt=(_t[9]-1)/_t[5],J=(_t[8]-1)/_t[0],st=(mt[8]+1)/mt[0],Ye=ut*J,ot=ut*st,Be=rt/(-J+st),St=Be*-J;if(we.matrixWorld.decompose(Se.position,Se.quaternion,Se.scale),Se.translateX(St),Se.translateZ(Be),Se.matrixWorld.compose(Se.position,Se.quaternion,Se.scale),Se.matrixWorldInverse.copy(Se.matrixWorld).invert(),_t[10]===-1)Se.projectionMatrix.copy(we.projectionMatrix),Se.projectionMatrixInverse.copy(we.projectionMatrixInverse);else{const tt=ut+Be,pt=$t+Be,Jt=Ye-St,se=ot+(rt-St),K=A1*$t/pt*tt,Me=Wt*$t/pt*tt;Se.projectionMatrix.makePerspective(Jt,se,K,Me,tt,pt),Se.projectionMatrixInverse.copy(Se.projectionMatrix).invert()}}function fe(Se,we){we===null?Se.matrixWorld.copy(Se.matrix):Se.matrixWorld.multiplyMatrices(we.matrixWorld,Se.matrix),Se.matrixWorldInverse.copy(Se.matrixWorld).invert()}this.updateCamera=function(Se){if(r===null)return;let we=Se.near,lt=Se.far;N.texture!==null&&(N.depthNear>0&&(we=N.depthNear),N.depthFar>0&&(lt=N.depthFar)),P.near=G.near=C.near=we,P.far=G.far=C.far=lt,(w!==P.near||z!==P.far)&&(r.updateRenderState({depthNear:P.near,depthFar:P.far}),w=P.near,z=P.far),C.layers.mask=Se.layers.mask|2,G.layers.mask=Se.layers.mask|4,P.layers.mask=C.layers.mask|G.layers.mask;const rt=Se.parent,_t=P.cameras;fe(P,rt);for(let mt=0;mt<_t.length;mt++)fe(_t[mt],rt);_t.length===2?ae(P,C,G):P.projectionMatrix.copy(C.projectionMatrix),xe(Se,P,rt)};function xe(Se,we,lt){lt===null?Se.matrix.copy(we.matrixWorld):(Se.matrix.copy(lt.matrixWorld),Se.matrix.invert(),Se.matrix.multiply(we.matrixWorld)),Se.matrix.decompose(Se.position,Se.quaternion,Se.scale),Se.updateMatrixWorld(!0),Se.projectionMatrix.copy(we.projectionMatrix),Se.projectionMatrixInverse.copy(we.projectionMatrixInverse),Se.isPerspectiveCamera&&(Se.fov=ca*2*Math.atan(1/Se.projectionMatrix.elements[5]),Se.zoom=1)}this.getCamera=function(){return P},this.getFoveation=function(){if(!(_===null&&g===null))return l},this.setFoveation=function(Se){l=Se,_!==null&&(_.fixedFoveation=Se),g!==null&&g.fixedFoveation!==void 0&&(g.fixedFoveation=Se)},this.hasDepthSensing=function(){return N.texture!==null},this.getDepthSensingMesh=function(){return N.getMesh(P)};let Te=null;function He(Se,we){if(d=we.getViewerPose(u||a),M=we,d!==null){const lt=d.views;g!==null&&(e.setRenderTargetFramebuffer(R,g.framebuffer),e.setRenderTarget(R));let rt=!1;lt.length!==P.cameras.length&&(P.cameras.length=0,rt=!0);for(let ut=0;ut<lt.length;ut++){const $t=lt[ut];let A1=null;if(g!==null)A1=g.getViewport($t);else{const J=q.getViewSubImage(_,$t);A1=J.viewport,ut===0&&(e.setRenderTargetTextures(R,J.colorTexture,J.depthStencilTexture),e.setRenderTarget(R))}let Wt=L[ut];Wt===void 0&&(Wt=new gi,Wt.layers.enable(ut),Wt.viewport=new wt,L[ut]=Wt),Wt.matrix.fromArray($t.transform.matrix),Wt.matrix.decompose(Wt.position,Wt.quaternion,Wt.scale),Wt.projectionMatrix.fromArray($t.projectionMatrix),Wt.projectionMatrixInverse.copy(Wt.projectionMatrix).invert(),Wt.viewport.set(A1.x,A1.y,A1.width,A1.height),ut===0&&(P.matrix.copy(Wt.matrix),P.matrix.decompose(P.position,P.quaternion,P.scale)),rt===!0&&P.cameras.push(Wt)}const _t=r.enabledFeatures;if(_t&&_t.includes("depth-sensing")&&r.depthUsage=="gpu-optimized"&&q){const ut=q.getDepthInformation(lt[0]);ut&&ut.isValid&&ut.texture&&N.init(e,ut,r.renderState)}}for(let lt=0;lt<O.length;lt++){const rt=b[lt],_t=O[lt];rt!==null&&_t!==void 0&&_t.update(rt,we,u||a)}Te&&Te(Se,we),we.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:we}),M=null}const Je=new Ly;Je.setAnimationLoop(He),this.setAnimationLoop=function(Se){Te=Se},this.dispose=function(){}}}const ps=new Oi,Jk=new Yt;function ez(n,e){function t(y,S){y.matrixAutoUpdate===!0&&y.updateMatrix(),S.value.copy(y.matrix
vendor: 13,441 bytes, line 3834
3834)}function i(y,S){S.color.getRGB(y.fogColor.value,hy(n)),S.isFog?(y.fogNear.value=S.near,y.fogFar.value=S.far):S.isFogExp2&&(y.fogDensity.value=S.density)}function r(y,S,R,O,b){S.isMeshBasicMaterial||S.isMeshLambertMaterial?s(y,S):S.isMeshToonMaterial?(s(y,S),q(y,S)):S.isMeshPhongMaterial?(s(y,S),d(y,S)):S.isMeshStandardMaterial?(s(y,S),_(y,S),S.isMeshPhysicalMaterial&&g(y,S,b)):S.isMeshMatcapMaterial?(s(y,S),M(y,S)):S.isMeshDepthMaterial?s(y,S):S.isMeshDistanceMaterial?(s(y,S),N(y,S)):S.isMeshNormalMaterial?s(y,S):S.isLineBasicMaterial?(a(y,S),S.isLineDashedMaterial&&o(y,S)):S.isPointsMaterial?l(y,S,R,O):S.isSpriteMaterial?u(y,S):S.isShadowMaterial?(y.color.value.copy(S.color),y.opacity.value=S.opacity):S.isShaderMaterial&&(S.uniformsNeedUpdate=!1)}function s(y,S){y.opacity.value=S.opacity,S.color&&y.diffuse.value.copy(S.color),S.emissive&&y.emissive.value.copy(S.emissive).multiplyScalar(S.emissiveIntensity),S.map&&(y.map.value=S.map,t(S.map,y.mapTransform)),S.alphaMap&&(y.alphaMap.value=S.alphaMap,t(S.alphaMap,y.alphaMapTransform)),S.bumpMap&&(y.bumpMap.value=S.bumpMap,t(S.bumpMap,y.bumpMapTransform),y.bumpScale.value=S.bumpScale,S.side===Q1&&(y.bumpScale.value*=-1)),S.normalMap&&(y.normalMap.value=S.normalMap,t(S.normalMap,y.normalMapTransform),y.normalScale.value.copy(S.normalScale),S.side===Q1&&y.normalScale.value.negate()),S.displacementMap&&(y.displacementMap.value=S.displacementMap,t(S.displacementMap,y.displacementMapTransform),y.displacementScale.value=S.displacementScale,y.displacementBias.value=S.displacementBias),S.emissiveMap&&(y.emissiveMap.value=S.emissiveMap,t(S.emissiveMap,y.emissiveMapTransform)),S.specularMap&&(y.specularMap.value=S.specularMap,t(S.specularMap,y.specularMapTransform)),S.alphaTest>0&&(y.alphaTest.value=S.alphaTest);const R=e.get(S),O=R.envMap,b=R.envMapRotation;O&&(y.envMap.value=O,ps.copy(b),ps.x*=-1,ps.y*=-1,ps.z*=-1,O.isCubeTexture&&O.isRenderTargetTexture===!1&&(ps.y*=-1,ps.z*=-1),y.envMapRotation.value.setFromMatrix4(Jk.makeRotationFromEuler(ps)),y.flipEnvMap.value=O.isCubeTexture&&O.isRenderTargetTexture===!1?-1:1,y.reflectivity.value=S.reflectivity,y.ior.value=S.ior,y.refractionRatio.value=S.refractionRatio),S.lightMap&&(y.lightMap.value=S.lightMap,y.lightMapIntensity.value=S.lightMapIntensity,t(S.lightMap,y.lightMapTransform)),S.aoMap&&(y.aoMap.value=S.aoMap,y.aoMapIntensity.value=S.aoMapIntensity,t(S.aoMap,y.aoMapTransform))}function a(y,S){y.diffuse.value.copy(S.color),y.opacity.value=S.opacity,S.map&&(y.map.value=S.map,t(S.map,y.mapTransform))}function o(y,S){y.dashSize.value=S.dashSize,y.totalSize.value=S.dashSize+S.gapSize,y.scale.value=S.scale}function l(y,S,R,O){y.diffuse.value.copy(S.color),y.opacity.value=S.opacity,y.size.value=S.size*R,y.scale.value=O*.5,S.map&&(y.map.value=S.map,t(S.map,y.uvTransform)),S.alphaMap&&(y.alphaMap.value=S.alphaMap,t(S.alphaMap,y.alphaMapTransform)),S.alphaTest>0&&(y.alphaTest.value=S.alphaTest)}function u(y,S){y.diffuse.value.copy(S.color),y.opacity.value=S.opacity,y.rotation.value=S.rotation,S.map&&(y.map.value=S.map,t(S.map,y.mapTransform)),S.alphaMap&&(y.alphaMap.value=S.alphaMap,t(S.alphaMap,y.alphaMapTransform)),S.alphaTest>0&&(y.alphaTest.value=S.alphaTest)}function d(y,S){y.specular.value.copy(S.specular),y.shininess.value=Math.max(S.shininess,1e-4)}function q(y,S){S.gradientMap&&(y.gradientMap.value=S.gradientMap)}function _(y,S){y.metalness.value=S.metalness,S.metalnessMap&&(y.metalnessMap.value=S.metalnessMap,t(S.metalnessMap,y.metalnessMapTransform)),y.roughness.value=S.roughness,S.roughnessMap&&(y.roughnessMap.value=S.roughnessMap,t(S.roughnessMap,y.roughnessMapTransform)),S.envMap&&(y.envMapIntensity.value=S.envMapIntensity)}function g(y,S,R){y.ior.value=S.ior,S.sheen>0&&(y.sheenColor.value.copy(S.sheenColor).multiplyScalar(S.sheen),y.sheenRoughness.value=S.sheenRoughness,S.sheenColorMap&&(y.sheenColorMap.value=S.sheenColorMap,t(S.sheenColorMap,y.sheenColorMapTransform)),S.sheenRoughnessMap&&(y.sheenRoughnessMap.value=S.sheenRoughnessMap,t(S.sheenRoughnessMap,y.sheenRoughnessMapTransform))),S.clearcoat>0&&(y.clearcoat.value=S.clearcoat,y.clearcoatRoughness.value=S.clearcoatRoughness,S.clearcoatMap&&(y.clearcoatMap.value=S.clearcoatMap,t(S.clearcoatMap,y.clearcoatMapTransform)),S.clearcoatRoughnessMap&&(y.clearcoatRoughnessMap.value=S.clearcoatRoughnessMap,t(S.clearcoatRoughnessMap,y.clearcoatRoughnessMapTransform)),S.clearcoatNormalMap&&(y.clearcoatNormalMap.value=S.clearcoatNormalMap,t(S.clearcoatNormalMap,y.clearcoatNormalMapTransform),y.clearcoatNormalScale.value.copy(S.clearcoatNormalScale),S.side===Q1&&y.clearcoatNormalScale.value.negate())),S.dispersion>0&&(y.dispersion.value=S.dispersion),S.iridescence>0&&(y.iridescence.value=S.iridescence,y.iridescenceIOR.value=S.iridescenceIOR,y.iridescenceThicknessMinimum.value=S.iridescenceThicknessRange[0],y.iridescenceThicknessMaximum.value=S.iridescenceThicknessRange[1],S.iridescenceMap&&(y.iridescenceMap.value=S.iridescenceMap,t(S.iridescenceMap,y.iridescenceMapTransform)),S.iridescenceThicknessMap&&(y.iridescenceThicknessMap.value=S.iridescenceThicknessMap,t(S.iridescenceThicknessMap,y.iridescenceThicknessMapTransform))),S.transmission>0&&(y.transmission.value=S.transmission,y.transmissionSamplerMap.value=R.texture,y.transmissionSamplerSize.value.set(R.width,R.height),S.transmissionMap&&(y.transmissionMap.value=S.transmissionMap,t(S.transmissionMap,y.transmissionMapTransform)),y.thickness.value=S.thickness,S.thicknessMap&&(y.thicknessMap.value=S.thicknessMap,t(S.thicknessMap,y.thicknessMapTransform)),y.attenuationDistance.value=S.attenuationDistance,y.attenuationColor.value.copy(S.attenuationColor)),S.anisotropy>0&&(y.anisotropyVector.value.set(S.anisotropy*Math.cos(S.anisotropyRotation),S.anisotropy*Math.sin(S.anisotropyRotation)),S.anisotropyMap&&(y.anisotropyMap.value=S.anisotropyMap,t(S.anisotropyMap,y.anisotropyMapTransform))),y.specularIntensity.value=S.specularIntensity,y.specularColor.value.copy(S.specularColor),S.specularColorMap&&(y.specularColorMap.value=S.specularColorMap,t(S.specularColorMap,y.specularColorMapTransform)),S.specularIntensityMap&&(y.specularIntensityMap.value=S.specularIntensityMap,t(S.specularIntensityMap,y.specularIntensityMapTransform))}function M(y,S){S.matcap&&(y.matcap.value=S.matcap)}function N(y,S){const R=e.get(S).light;y.referencePosition.value.setFromMatrixPosition(R.matrixWorld),y.nearDistance.value=R.shadow.camera.near,y.farDistance.value=R.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function tz(n,e,t,i){let r={},s={},a=[];const o=n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS);function l(R,O){const b=O.program;i.uniformBlockBinding(R,b)}function u(R,O){let b=r[R.id];b===void 0&&(M(R),b=d(R),r[R.id]=b,R.addEventListener("dispose",y));const D=O.program;i.updateUBOMapping(R,D);const B=e.render.frame;s[R.id]!==B&&(_(R),s[R.id]=B)}function d(R){const O=q();R.__bindingPointIndex=O;const b=n.createBuffer(),D=R.__size,B=R.usage;return n.bindBuffer(n.UNIFORM_BUFFER,b),n.bufferData(n.UNIFORM_BUFFER,D,B),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,O,b),b}function q(){for(let R=0;R<o;R++)if(a.indexOf(R)===-1)return a.push(R),R;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function _(R){const O=r[R.id],b=R.uniforms,D=R.__cache;n.bindBuffer(n.UNIFORM_BUFFER,O);for(let B=0,C=b.length;B<C;B++){const G=Array.isArray(b[B])?b[B]:[b[B]];for(let L=0,P=G.length;L<P;L++){const w=G[L];if(g(w,B,L,D)===!0){const z=w.__offset,H=Array.isArray(w.value)?w.value:[w.value];let j=0;for(let Y=0;Y<H.length;Y++){const Q=H[Y],oe=N(Q);typeof Q=="number"||typeof Q=="boolean"?(w.__data[0]=Q,n.bufferSubData(n.UNIFORM_BUFFER,z+j,w.__data)):Q.isMatrix3?(w.__data[0]=Q.elements[0],w.__data[1]=Q.elements[1],w.__data[2]=Q.elements[2],w.__data[3]=0,w.__data[4]=Q.elements[3],w.__data[5]=Q.elements[4],w.__data[6]=Q.elements[5],w.__data[7]=0,w.__data[8]=Q.elements[6],w.__data[9]=Q.elements[7],w.__data[10]=Q.elements[8],w.__data[11]=0):(Q.toArray(w.__data,j),j+=oe.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,z,w.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function g(R,O,b,D){const B=R.value,C=O+"_"+b;if(D[C]===void 0)return typeof B=="number"||typeof B=="boolean"?D[C]=B:D[C]=B.clone(),!0;{const G=D[C];if(typeof B=="number"||typeof B=="boolean"){if(G!==B)return D[C]=B,!0}else if(G.equals(B)===!1)return G.copy(B),!0}return!1}function M(R){const O=R.uniforms;let b=0;const D=16;for(let C=0,G=O.length;C<G;C++){const L=Array.isArray(O[C])?O[C]:[O[C]];for(let P=0,w=L.length;P<w;P++){const z=L[P],H=Array.isArray(z.value)?z.value:[z.value];for(let j=0,Y=H.length;j<Y;j++){const Q=H[j],oe=N(Q),ae=b%D,fe=ae%oe.boundary,xe=ae+fe;b+=fe,xe!==0&&D-xe<oe.storage&&(b+=D-xe),z.__data=new Float32Array(oe.storage/Float32Array.BYTES_PER_ELEMENT),z.__offset=b,b+=oe.storage}}}const B=b%D;return B>0&&(b+=D-B),R.__size=b,R.__cache={},this}function N(R){const O={boundary:0,storage:0};return typeof R=="number"||typeof R=="boolean"?(O.boundary=4,O.storage=4):R.isVector2?(O.boundary=8,O.storage=8):R.isVector3||R.isColor?(O.boundary=16,O.storage=12):R.isVector4?(O.boundary=16,O.storage=16):R.isMatrix3?(O.boundary=48,O.storage=48):R.isMatrix4?(O.boundary=64,O.storage=64):R.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",R),O}function y(R){const O=R.target;O.removeEventListener("dispose",y);const b=a.indexOf(O.__bindingPointIndex);a.splice(b,1),n.deleteBuffer(r[O.id]),delete r[O.id],delete s[O.id]}function S(){for(const R in r)n.deleteBuffer(r[R]);a=[],r={},s={}}return{bind:l,update:u,dispose:S}}class nz{constructor(e={}){const{canvas:t=uy(),context:i=null,depth:r=!0,stencil:s=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:q=!1,reverseDepthBuffer:_=!1}=e;this.isWebGLRenderer=!0;let g;if(i!==null){if(typeof WebGLRenderingContext<"u"&&i instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");g=i.getContextAttributes().alpha}else g=a;const M=new Uint32Array(4),N=new Int32Array(4);let y=null,S=null;const R=[],O=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=Sr,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const b=this;let D=!1;this._outputColorSpace=vi;let B=0,C=0,G=null,L=-1,P=null;const w=new wt,z=new wt;let H=null;const j=new Nt(0);let Y=0,Q=t.width,oe=t.height,ae=1,fe=null,xe=null;const Te=new wt(0,0,Q,oe),He=new wt(0,0,Q,oe);let Je=!1;const Se=new b4;let we=!1,lt=!1;const rt=new Yt,_t=new Yt,mt=new Z,ut=new wt,$t={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let A1=!1;function Wt(){return G===null?ae:1}let J=i;function st(X,pe){return t.getContext(X,pe)}try{const X={alpha:!0,depth:r,stencil:s,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:u,powerPreference:d,failIfMajorPerformanceCaveat:q};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${v4}`),t.addEventListener("webglcontextlost",vt,!1),t.addEventListener("webglcontextrestored",nt,!1),t.addEventListener("webglcontextcreationerror",Ge,!1),J===null){const pe="webgl2";if(J=st(pe,X),J===null)throw st(pe)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(X){throw console.error("THREE.WebGLRenderer: "+X.message),X}let Ye,ot,Be,St,tt,pt,Jt,se,K,Me,Pe,Ke,Le,Lt,dt,Tt,Dt,$e,yt,jt,Vt,qt,r1,ee;function gt(){Ye=new hV(J),Ye.init(),qt=new $k(J,Ye),ot=new sV(J,Ye,e,qt),Be=new Kk(J,Ye),ot.reverseDepthBuffer&&_&&Be.buffers.depth.setReversed(!0),St=new qV(J),tt=new Lk,pt=new Yk(J,Ye,Be,tt,ot,qt,St),Jt=new oV(b),se=new AV(b),K=new MU(J),r1=new iV(J,K),Me=new fV(J,K,St,r1),Pe=new _V(J,Me,K,St),yt=new pV(J,ot,pt),Tt=new aV(tt),Ke=new Pk(b,Jt,se,Ye,ot,r1,Tt),Le=new ez(b,tt),Lt=new Ck,dt=new Vk(Ye),$e=new nV(b,Jt,se,Be,Pe,g,l),Dt=new Wk(b,Pe,ot),ee=new tz(J,St,ot,Be),jt=new rV(J,Ye,St),Vt=new dV(J,Ye,St),St.programs=Ke.programs,b.capabilities=ot,b.extensions=Ye,b.properties=tt,b.renderLists=Lt,b.shadowMap=Dt,b.state=Be,b.info=St}gt();const Xe=new Qk(b,J);this.xr=Xe,this.getContext=function(){return J},this.getContextAttributes=function(){return J.getContextAttributes()},this.forceContextLoss=function(){const X=Ye.get("WEBGL_lose_context");X&&X.loseContext()},this.forceContextRestore=function(){const X=Ye.get("WEBGL_lose_context");X&&X.restoreContext()},this.getPixelRatio=function(){return ae},this.setPixelRatio=function(X){X!==void 0&&(ae=X,this.setSize(Q,oe,!1))},this.getSize=function(X){return X.set(Q,oe)},this.setSize=function(X,pe,Oe=!0){if(Xe.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}Q=X,oe=pe,t.width=Math.floor(X*ae),t.height=Math.floor(pe*ae),Oe===!0&&(t.style.width=X+"px",t.style.height=pe+"px"),this.setViewport(0,0,X,pe)},this.getDrawingBufferSize=function(X){return X.set(Q*ae,oe*ae).floor()},this.setDrawingBufferSize=function(X,pe,Oe){Q=X,oe=pe,ae=Oe,t.width=Math.floor(X*Oe),t.height=Math.floor(pe*Oe),this.setViewport(0,0,X,pe)}
vendor: 8,638 bytes, line 3834
3834,this.getCurrentViewport=function(X){return X.copy(w)},this.getViewport=function(X){return X.copy(Te)},this.setViewport=function(X,pe,Oe,Ne){X.isVector4?Te.set(X.x,X.y,X.z,X.w):Te.set(X,pe,Oe,Ne),Be.viewport(w.copy(Te).multiplyScalar(ae).round())},this.getScissor=function(X){return X.copy(He)},this.setScissor=function(X,pe,Oe,Ne){X.isVector4?He.set(X.x,X.y,X.z,X.w):He.set(X,pe,Oe,Ne),Be.scissor(z.copy(He).multiplyScalar(ae).round())},this.getScissorTest=function(){return Je},this.setScissorTest=function(X){Be.setScissorTest(Je=X)},this.setOpaqueSort=function(X){fe=X},this.setTransparentSort=function(X){xe=X},this.getClearColor=function(X){return X.copy($e.getClearColor())},this.setClearColor=function(){$e.setClearColor(...arguments)},this.getClearAlpha=function(){return $e.getClearAlpha()},this.setClearAlpha=function(){$e.setClearAlpha(...arguments)},this.clear=function(X=!0,pe=!0,Oe=!0){let Ne=0;if(X){let ge=!1;if(G!==null){const it=G.texture.format;ge=it===R4||it===T4||it===O4}if(ge){const it=G.texture.type,At=it===Ln||it===cn||it===R0||it===Wr||it===G9||it===V9,ke=$e.getClearColor(),W=$e.getClearAlpha(),Ze=ke.r,Xt=ke.g,Ft=ke.b;At?(M[0]=Ze,M[1]=Xt,M[2]=Ft,M[3]=W,J.clearBufferuiv(J.COLOR,0,M)):(N[0]=Ze,N[1]=Xt,N[2]=Ft,N[3]=W,J.clearBufferiv(J.COLOR,0,N))}else Ne|=J.COLOR_BUFFER_BIT}pe&&(Ne|=J.DEPTH_BUFFER_BIT),Oe&&(Ne|=J.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),J.clear(Ne)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",vt,!1),t.removeEventListener("webglcontextrestored",nt,!1),t.removeEventListener("webglcontextcreationerror",Ge,!1),$e.dispose(),Lt.dispose(),dt.dispose(),tt.dispose(),Jt.dispose(),se.dispose(),Pe.dispose(),r1.dispose(),ee.dispose(),Ke.dispose(),Xe.dispose(),Xe.removeEventListener("sessionstart",ve),Xe.removeEventListener("sessionend",Fe),ct.stop()};function vt(X){X.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),D=!0}function nt(){console.log("THREE.WebGLRenderer: Context Restored."),D=!1;const X=St.autoReset,pe=Dt.enabled,Oe=Dt.autoUpdate,Ne=Dt.needsUpdate,ge=Dt.type;gt(),St.autoReset=X,Dt.enabled=pe,Dt.autoUpdate=Oe,Dt.needsUpdate=Ne,Dt.type=ge}function Ge(X){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",X.statusMessage)}function Ot(X){const pe=X.target;pe.removeEventListener("dispose",Ot),s1(pe)}function s1(X){tn(X),tt.remove(X)}function tn(X){const pe=tt.get(X).programs;pe!==void 0&&(pe.forEach(function(Oe){Ke.releaseProgram(Oe)}),X.isShaderMaterial&&Ke.releaseShaderCache(X))}this.renderBufferDirect=function(X,pe,Oe,Ne,ge,it){pe===null&&(pe=$t);const At=ge.isMesh&&ge.matrixWorld.determinant()<0,ke=z0(X,pe,Oe,Ne,ge);Be.setMaterial(Ne,At);let W=Oe.index,Ze=1;if(Ne.wireframe===!0){if(W=Me.getWireframeAttribute(Oe),W===void 0)return;Ze=2}const Xt=Oe.drawRange,Ft=Oe.attributes.position;let R1=Xt.start*Ze,V1=(Xt.start+Xt.count)*Ze;it!==null&&(R1=Math.max(R1,it.start*Ze),V1=Math.min(V1,(it.start+it.count)*Ze)),W!==null?(R1=Math.max(R1,0),V1=Math.min(V1,W.count)):Ft!=null&&(R1=Math.max(R1,0),V1=Math.min(V1,Ft.count));const dn=V1-R1;if(dn<0||dn===1/0)return;r1.setup(ge,Ne,ke,Oe,W);let V,D1=jt;if(W!==null&&(V=K.get(W),D1=Vt,D1.setIndex(V)),ge.isMesh)Ne.wireframe===!0?(Be.setLineWidth(Ne.wireframeLinewidth*Wt()),D1.setMode(J.LINES)):D1.setMode(J.TRIANGLES);else if(ge.isLine){let kt=Ne.linewidth;kt===void 0&&(kt=1),Be.setLineWidth(kt*Wt()),ge.isLineSegments?D1.setMode(J.LINES):ge.isLineLoop?D1.setMode(J.LINE_LOOP):D1.setMode(J.LINE_STRIP)}else ge.isPoints?D1.setMode(J.POINTS):ge.isSprite&&D1.setMode(J.TRIANGLES);if(ge.isBatchedMesh)if(ge._multiDrawInstances!==null)Yr("THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),D1.renderMultiDrawInstances(ge._multiDrawStarts,ge._multiDrawCounts,ge._multiDrawCount,ge._multiDrawInstances);else if(Ye.get("WEBGL_multi_draw"))D1.renderMultiDraw(ge._multiDrawStarts,ge._multiDrawCounts,ge._multiDrawCount);else{const kt=ge._multiDrawStarts,ri=ge._multiDrawCounts,G1=ge._multiDrawCount,Ir=W?K.get(W).bytesPerElement:1,A3=tt.get(Ne).currentProgram.getUniforms();for(let Pi=0;Pi<G1;Pi++)A3.setValue(J,"_gl_DrawID",Pi),D1.render(kt[Pi]/Ir,ri[Pi])}else if(ge.isInstancedMesh)D1.renderInstances(R1,dn,ge.count);else if(Oe.isInstancedBufferGeometry){const kt=Oe._maxInstanceCount!==void 0?Oe._maxInstanceCount:1/0,ri=Math.min(Oe.instanceCount,kt);D1.renderInstances(R1,dn,ri)}else D1.render(R1,dn)};function P1(X,pe,Oe){X.transparent===!0&&X.side===Qn&&X.forceSinglePass===!1?(X.side=Q1,X.needsUpdate=!0,Tn(X,pe,Oe),X.side=Mr,X.needsUpdate=!0,Tn(X,pe,Oe),X.side=Qn):Tn(X,pe,Oe)}this.compile=function(X,pe,Oe=null){Oe===null&&(Oe=X),S=dt.get(Oe),S.init(pe),O.push(S),Oe.traverseVisible(function(ge){ge.isLight&&ge.layers.test(pe.layers)&&(S.pushLight(ge),ge.castShadow&&S.pushShadow(ge))}),X!==Oe&&X.traverseVisible(function(ge){ge.isLight&&ge.layers.test(pe.layers)&&(S.pushLight(ge),ge.castShadow&&S.pushShadow(ge))}),S.setupLights();const Ne=new Set;return X.traverse(function(ge){if(!(ge.isMesh||ge.isPoints||ge.isLine||ge.isSprite))return;const it=ge.material;if(it)if(Array.isArray(it))for(let At=0;At<it.length;At++){const ke=it[At];P1(ke,Oe,ge),Ne.add(ke)}else P1(it,Oe,ge),Ne.add(it)}),S=O.pop(),Ne},this.compileAsync=function(X,pe,Oe=null){const Ne=this.compile(X,pe,Oe);return new Promise(ge=>{function it(){if(Ne.forEach(function(At){tt.get(At).currentProgram.isReady()&&Ne.delete(At)}),Ne.size===0){ge(X);return}setTimeout(it,10)}Ye.get("KHR_parallel_shader_compile")!==null?it():setTimeout(it,10)})};let Yi=null;function Ii(X){Yi&&Yi(X)}function ve(){ct.stop()}function Fe(){ct.start()}const ct=new Ly;ct.setAnimationLoop(Ii),typeof self<"u"&&ct.setContext(self),this.setAnimationLoop=function(X){Yi=X,Xe.setAnimationLoop(X),X===null?ct.stop():ct.start()},Xe.addEventListener("sessionstart",ve),Xe.addEventListener("sessionend",Fe),this.render=function(X,pe){if(pe!==void 0&&pe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(D===!0)return;if(X.matrixWorldAutoUpdate===!0&&X.updateMatrixWorld(),pe.parent===null&&pe.matrixWorldAutoUpdate===!0&&pe.updateMatrixWorld(),Xe.enabled===!0&&Xe.isPresenting===!0&&(Xe.cameraAutoUpdate===!0&&Xe.updateCamera(pe),pe=Xe.getCamera()),X.isScene===!0&&X.onBeforeRender(b,X,pe,G),S=dt.get(X,O.length),S.init(pe),O.push(S),_t.multiplyMatrices(pe.projectionMatrix,pe.matrixWorldInverse),Se.setFromProjectionMatrix(_t),lt=this.localClippingEnabled,we=Tt.init(this.clippingPlanes,lt),y=Lt.get(X,R.length),y.init(),R.push(y),Xe.enabled===!0&&Xe.isPresenting===!0){const it=b.xr.getDepthSensingMesh();it!==null&&Ve(it,pe,-1/0,b.sortObjects)}Ve(X,pe,0,b.sortObjects),y.finish(),b.sortObjects===!0&&y.sort(fe,xe),A1=Xe.enabled===!1||Xe.isPresenting===!1||Xe.hasDepthSensing()===!1,A1&&$e.addToRenderList(y,X),this.info.render.frame++,we===!0&&Tt.beginShadows();const Oe=S.state.shadowsArray;Dt.render(Oe,X,pe),we===!0&&Tt.endShadows(),this.info.autoReset===!0&&this.info.reset();const Ne=y.opaque,ge=y.transmissive;if(S.setupLights(),pe.isArrayCamera){const it=pe.cameras;if(ge.length>0)for(let At=0,ke=it.length;At<ke;At++){const W=it[At];k(Ne,ge,X,W)}A1&&$e.render(X);for(let At=0,ke=it.length;At<ke;At++){const W=it[At];A(y,X,W,W.viewport)}}else ge.length>0&&k(Ne,ge,X,pe),A1&&$e.render(X),A(y,X,pe);G!==null&&C===0&&(pt.updateMultisampleRenderTarget(G),pt.updateRenderTargetMipmap(G)),X.isScene===!0&&X.onAfterRender(b,X,pe),r1.resetDefaultState(),L=-1,P=null,O.pop(),O.length>0?(S=O[O.length-1],we===!0&&Tt.setGlobalState(b.clippingPlanes,S.state.camera)):S=null,R.pop(),R.length>0?y=R[R.length-1]:y=null};function Ve(X,pe,Oe,Ne){if(X.visible===!1)return;if(X.layers.test(pe.layers)){if(X.isGroup)Oe=X.renderOrder;else if(X.isLOD)X.autoUpdate===!0&&X.update(pe);else if(X.isLight)S.pushLight(X),X.castShadow&&S.pushShadow(X);else if(X.isSprite){if(!X.frustumCulled||Se.intersectsSprite(X)){Ne&&ut.setFromMatrixPosition(X.matrixWorld).applyMatrix4(_t);const At=Pe.update(X),ke=X.material;ke.visible&&y.push(X,At,ke,Oe,ut.z,null)}}else if((X.isMesh||X.isLine||X.isPoints)&&(!X.frustumCulled||Se.intersectsObject(X))){const At=Pe.update(X),ke=X.material;if(Ne&&(X.boundingSphere!==void 0?(X.boundingSphere===null&&X.computeBoundingSphere(),ut.copy(X.boundingSphere.center)):(At.boundingSphere===null&&At.computeBoundingSphere(),ut.copy(At.boundingSphere.center)),ut.applyM
vendor: 11,278 bytes, line 3834
3834atrix4(X.matrixWorld).applyMatrix4(_t)),Array.isArray(ke)){const W=At.groups;for(let Ze=0,Xt=W.length;Ze<Xt;Ze++){const Ft=W[Ze],R1=ke[Ft.materialIndex];R1&&R1.visible&&y.push(X,At,R1,Oe,ut.z,Ft)}}else ke.visible&&y.push(X,At,ke,Oe,ut.z,null)}}const it=X.children;for(let At=0,ke=it.length;At<ke;At++)Ve(it[At],pe,Oe,Ne)}function A(X,pe,Oe,Ne){const ge=X.opaque,it=X.transmissive,At=X.transparent;S.setupLightsView(Oe),we===!0&&Tt.setGlobalState(b.clippingPlanes,Oe),Ne&&Be.viewport(w.copy(Ne)),ge.length>0&&y1(ge,pe,Oe),it.length>0&&y1(it,pe,Oe),At.length>0&&y1(At,pe,Oe),Be.buffers.depth.setTest(!0),Be.buffers.depth.setMask(!0),Be.buffers.color.setMask(!0),Be.setPolygonOffset(!1)}function k(X,pe,Oe,Ne){if((Oe.isScene===!0?Oe.overrideMaterial:null)!==null)return;S.state.transmissionRenderTarget[Ne.id]===void 0&&(S.state.transmissionRenderTarget[Ne.id]=new $3(1,1,{generateMipmaps:!0,type:Ye.has("EXT_color_buffer_half_float")||Ye.has("EXT_color_buffer_float")?Jn:Ln,minFilter:qr,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Zt.workingColorSpace}));const it=S.state.transmissionRenderTarget[Ne.id],At=Ne.viewport||w;it.setSize(At.z*b.transmissionResolutionScale,At.w*b.transmissionResolutionScale);const ke=b.getRenderTarget();b.setRenderTarget(it),b.getClearColor(j),Y=b.getClearAlpha(),Y<1&&b.setClearColor(16777215,.5),b.clear(),A1&&$e.render(Oe);const W=b.toneMapping;b.toneMapping=Sr;const Ze=Ne.viewport;if(Ne.viewport!==void 0&&(Ne.viewport=void 0),S.setupLightsView(Ne),we===!0&&Tt.setGlobalState(b.clippingPlanes,Ne),y1(X,Oe,Ne),pt.updateMultisampleRenderTarget(it),pt.updateRenderTargetMipmap(it),Ye.has("WEBGL_multisampled_render_to_texture")===!1){let Xt=!1;for(let Ft=0,R1=pe.length;Ft<R1;Ft++){const V1=pe[Ft],dn=V1.object,V=V1.geometry,D1=V1.material,kt=V1.group;if(D1.side===Qn&&dn.layers.test(Ne.layers)){const ri=D1.side;D1.side=Q1,D1.needsUpdate=!0,w1(dn,Oe,Ne,V,D1,kt),D1.side=ri,D1.needsUpdate=!0,Xt=!0}}Xt===!0&&(pt.updateMultisampleRenderTarget(it),pt.updateRenderTargetMipmap(it))}b.setRenderTarget(ke),b.setClearColor(j,Y),Ze!==void 0&&(Ne.viewport=Ze),b.toneMapping=W}function y1(X,pe,Oe){const Ne=pe.isScene===!0?pe.overrideMaterial:null;for(let ge=0,it=X.length;ge<it;ge++){const At=X[ge],ke=At.object,W=At.geometry,Ze=At.group;let Xt=At.material;Xt.allowOverride===!0&&Ne!==null&&(Xt=Ne),ke.layers.test(Oe.layers)&&w1(ke,pe,Oe,W,Xt,Ze)}}function w1(X,pe,Oe,Ne,ge,it){X.onBeforeRender(b,pe,Oe,Ne,ge,it),X.modelViewMatrix.multiplyMatrices(Oe.matrixWorldInverse,X.matrixWorld),X.normalMatrix.getNormalMatrix(X.modelViewMatrix),ge.onBeforeRender(b,pe,Oe,Ne,X,it),ge.transparent===!0&&ge.side===Qn&&ge.forceSinglePass===!1?(ge.side=Q1,ge.needsUpdate=!0,b.renderBufferDirect(Oe,pe,Ne,ge,X,it),ge.side=Mr,ge.needsUpdate=!0,b.renderBufferDirect(Oe,pe,Ne,ge,X,it),ge.side=Qn):b.renderBufferDirect(Oe,pe,Ne,ge,X,it),X.onAfterRender(b,pe,Oe,Ne,ge,it)}function Tn(X,pe,Oe){pe.isScene!==!0&&(pe=$t);const Ne=tt.get(X),ge=S.state.lights,it=S.state.shadowsArray,At=ge.state.version,ke=Ke.getParameters(X,ge.state,it,pe,Oe),W=Ke.getProgramCacheKey(ke);let Ze=Ne.programs;Ne.environment=X.isMeshStandardMaterial?pe.environment:null,Ne.fog=pe.fog,Ne.envMap=(X.isMeshStandardMaterial?se:Jt).get(X.envMap||Ne.environment),Ne.envMapRotation=Ne.environment!==null&&X.envMap===null?pe.environmentRotation:X.envMapRotation,Ze===void 0&&(X.addEventListener("dispose",Ot),Ze=new Map,Ne.programs=Ze);let Xt=Ze.get(W);if(Xt!==void 0){if(Ne.currentProgram===Xt&&Ne.lightsStateVersion===At)return T1(X,ke),Xt}else ke.uniforms=Ke.getUniforms(X),X.onBeforeCompile(ke,b),Xt=Ke.acquireProgram(ke,W),Ze.set(W,Xt),Ne.uniforms=ke.uniforms;const Ft=Ne.uniforms;return(!X.isShaderMaterial&&!X.isRawShaderMaterial||X.clipping===!0)&&(Ft.clippingPlanes=Tt.uniform),T1(X,ke),Ne.needsLights=_1(X),Ne.lightsStateVersion=At,Ne.needsLights&&(Ft.ambientLightColor.value=ge.state.ambient,Ft.lightProbe.value=ge.state.probe,Ft.directionalLights.value=ge.state.directional,Ft.directionalLightShadows.value=ge.state.directionalShadow,Ft.spotLights.value=ge.state.spot,Ft.spotLightShadows.value=ge.state.spotShadow,Ft.rectAreaLights.value=ge.state.rectArea,Ft.ltc_1.value=ge.state.rectAreaLTC1,Ft.ltc_2.value=ge.state.rectAreaLTC2,Ft.pointLights.value=ge.state.point,Ft.pointLightShadows.value=ge.state.pointShadow,Ft.hemisphereLights.value=ge.state.hemi,Ft.directionalShadowMap.value=ge.state.directionalShadowMap,Ft.directionalShadowMatrix.value=ge.state.directionalShadowMatrix,Ft.spotShadowMap.value=ge.state.spotShadowMap,Ft.spotLightMatrix.value=ge.state.spotLightMatrix,Ft.spotLightMap.value=ge.state.spotLightMap,Ft.pointShadowMap.value=ge.state.pointShadowMap,Ft.pointShadowMatrix.value=ge.state.pointShadowMatrix),Ne.currentProgram=Xt,Ne.uniformsList=null,Xt}function h1(X){if(X.uniformsList===null){const pe=X.currentProgram.getUniforms();X.uniformsList=l7.seqWithValue(pe.seq,X.uniforms)}return X.uniformsList}function T1(X,pe){const Oe=tt.get(X);Oe.outputColorSpace=pe.outputColorSpace,Oe.batching=pe.batching,Oe.batchingColor=pe.batchingColor,Oe.instancing=pe.instancing,Oe.instancingColor=pe.instancingColor,Oe.instancingMorph=pe.instancingMorph,Oe.skinning=pe.skinning,Oe.morphTargets=pe.morphTargets,Oe.morphNormals=pe.morphNormals,Oe.morphColors=pe.morphColors,Oe.morphTargetsCount=pe.morphTargetsCount,Oe.numClippingPlanes=pe.numClippingPlanes,Oe.numIntersection=pe.numClipIntersection,Oe.vertexAlphas=pe.vertexAlphas,Oe.vertexTangents=pe.vertexTangents,Oe.toneMapping=pe.toneMapping}function z0(X,pe,Oe,Ne,ge){pe.isScene!==!0&&(pe=$t),pt.resetTextureUnits();const it=pe.fog,At=Ne.isMeshStandardMaterial?pe.environment:null,ke=G===null?b.outputColorSpace:G.isXRRenderTarget===!0?G.texture.colorSpace:L0,W=(Ne.isMeshStandardMaterial?se:Jt).get(Ne.envMap||At),Ze=Ne.vertexColors===!0&&!!Oe.attributes.color&&Oe.attributes.color.itemSize===4,Xt=!!Oe.attributes.tangent&&(!!Ne.normalMap||Ne.anisotropy>0),Ft=!!Oe.morphAttributes.position,R1=!!Oe.morphAttributes.normal,V1=!!Oe.morphAttributes.color;let dn=Sr;Ne.toneMapped&&(G===null||G.isXRRenderTarget===!0)&&(dn=b.toneMapping);const V=Oe.morphAttributes.position||Oe.morphAttributes.normal||Oe.morphAttributes.color,D1=V!==void 0?V.length:0,kt=tt.get(Ne),ri=S.state.lights;if(we===!0&&(lt===!0||X!==P)){const si=X===P&&Ne.id===L;Tt.setState(Ne,X,si)}let G1=!1;Ne.version===kt.__version?(kt.needsLights&&kt.lightsStateVersion!==ri.state.version||kt.outputColorSpace!==ke||ge.isBatchedMesh&&kt.batching===!1||!ge.isBatchedMesh&&kt.batching===!0||ge.isBatchedMesh&&kt.batchingColor===!0&&ge.colorTexture===null||ge.isBatchedMesh&&kt.batchingColor===!1&&ge.colorTexture!==null||ge.isInstancedMesh&&kt.instancing===!1||!ge.isInstancedMesh&&kt.instancing===!0||ge.isSkinnedMesh&&kt.skinning===!1||!ge.isSkinnedMesh&&kt.skinning===!0||ge.isInstancedMesh&&kt.instancingColor===!0&&ge.instanceColor===null||ge.isInstancedMesh&&kt.instancingColor===!1&&ge.instanceColor!==null||ge.isInstancedMesh&&kt.instancingMorph===!0&&ge.morphTexture===null||ge.isInstancedMesh&&kt.instancingMorph===!1&&ge.morphTexture!==null||kt.envMap!==W||Ne.fog===!0&&kt.fog!==it||kt.numClippingPlanes!==void 0&&(kt.numClippingPlanes!==Tt.numPlanes||kt.numIntersection!==Tt.numIntersection)||kt.vertexAlphas!==Ze||kt.vertexTangents!==Xt||kt.morphTargets!==Ft||kt.morphNormals!==R1||kt.morphColors!==V1||kt.toneMapping!==dn||kt.morphTargetsCount!==D1)&&(G1=!0):(G1=!0,kt.__version=Ne.version);let Ir=kt.currentProgram;G1===!0&&(Ir=Tn(Ne,pe,ge));let A3=!1,Pi=!1,h3=!1;const ln=Ir.getUniforms(),Cn=kt.uniforms;if(Be.useProgram(Ir.program)&&(A3=!0,Pi=!0,h3=!0),Ne.id!==L&&(L=Ne.id,Pi=!0),A3||P!==X){Be.buffers.depth.getReversed()?(rt.copy(X.projectionMatrix),Hw(rt),Kw(rt),ln.setValue(J,"projectionMatrix",rt)):ln.setValue(J,"projectionMatrix",X.projectionMatrix),ln.setValue(J,"viewMatrix",X.matrixWorldInverse);const Li=ln.map.cameraPosition;Li!==void 0&&Li.setValue(J,mt.setFromMatrixPosition(X.matrixWorld)),ot.logarithmicDepthBuffer&&ln.setValue(J,"logDepthBufFC",2/(Math.log(X.far+1)/Math.LN2)),(Ne.isMeshPhongMaterial||Ne.isMeshToonMaterial||Ne.isMeshLambertMaterial||Ne.isMeshBasicMaterial||Ne.isMeshStandardMaterial||Ne.isShaderMaterial)&&ln.setValue(J,"isOrthographic",X.isOrthographicCamera===!0),P!==X&&(P=X,Pi=!0,h3=!0)}if(ge.isSkinnedMesh){ln.setOptional(J,ge,"bindMatrix"),ln.setOptional(J,ge,"bindMatrixInverse");const si=ge.skeleton;si&&(si.boneTexture===null&&si.computeBoneTexture(),ln.setValue(J,"boneTexture",si.boneTexture,pt))}ge.isBatchedMesh&&(ln.setOptional(J,ge,"batchingTexture"),ln.setValue(J,"batchingTexture",ge._matricesTexture,pt),ln.setOptional(J,ge,"batchingIdTexture"),ln.setValue(J,"batchingIdTexture",ge._indirectTexture,pt),ln.setOptional(J,ge,"batchingColorTexture"),ge._colorsTexture!==null&&ln.setValue(J,"batchingColorTexture",ge._colorsTexture,pt));const k1=Oe.morphAttributes;if((k1.position!==void 0||k1.normal!==void 0||k1.color!==void 0)&&yt.update(ge,Oe,Ir),(Pi||kt.receiveShadow!==ge.receiveShadow)&&(kt.receiveShadow=ge.receiveShadow,ln.setValue(J,"receiveShadow",ge.receiveShadow)),Ne.isMeshGouraudMaterial&&Ne.envMap!==null&&(Cn.envMap.value=W,Cn.flipEnvMap.value=W.isCubeTexture&&W.isRenderTargetTexture===!1?-1:1),Ne.isMeshStandardMaterial&&Ne.envMap===null&&pe.environment!==null&&(Cn.envMapIntensity.value=pe.environmentIntensity),Pi&&(ln.setValue(J,"toneMappingExposure",b.toneMappingExposure),kt.needsLights&&L1(Cn,h3),it&&Ne.fog===!0&&Le.refreshFogUniforms(Cn,it),Le.refreshMaterialUniforms(Cn,Ne,ae,oe,S.state.transmissionRenderTarget[X.id]),l7.upload(J,h1(kt),Cn,pt)),Ne.isShaderMaterial&&Ne.uniformsNeedUpdate===!0&&(l7.upload(J,h1(kt),Cn,pt),Ne.uniformsNeedUpdate=!1),Ne.isSpriteMaterial&&ln.setValue(J,"center",ge.center),ln.setValue(J,"modelViewMatrix",ge.modelViewMatrix),ln.setValue(J,"normalMatrix",ge.normalMatrix),ln.setValue(J,"modelMatrix",ge.matrixWorld),Ne.isShaderMaterial||Ne.isRawShaderMaterial){const si=Ne.uniformsGroups;for(let Li=0,U4=si.length;Li<U4;Li++){const W0=si[Li];ee.update(W0,Ir),ee.bind(W0,Ir)}}return Ir}function L1(X,pe){X.ambientLightColor.needsUpdate=pe,X.lightProbe.needsUpdate=pe,X.directionalLights.needsUpdate=pe,X.directionalLightShadows.needsUpdate=pe,X.pointLights.needsUpdate=pe,X.pointLightShadows.needsUpdate=pe,X.spotLights.needsUpdate=pe,X.spotLightShadows.needsUpdate=pe,X.rectAreaLights.needsUpdate=pe,X.hemisphereLights.needsUpdate=pe}function _1(X){return X.isMeshLambertMaterial||X.isMeshToonMaterial||X.isMeshPhongMaterial||X.isMeshStandardMaterial||X.isShadowMaterial||X.isShaderMaterial&&X.lights===!0}this.getActiveCubeFace=function(){return B},this.getActiveMipmapLevel=function(){return C},this.getRenderTarget=function(){return G},this.setRenderTargetTextures=function(X,pe,Oe){const Ne=tt.get(X);Ne.__autoAllocateDepthBuffer=X.resolveDepthBuffer===!1,Ne.__autoAllocateDepthBuffer===!1&&(Ne.__useRenderToTexture=!1),tt.get(X.texture).__webglTexture=pe,tt.get(X.depthTexture).__webglTexture=Ne.__autoAllocateDepthBuffer?void 0:Oe,Ne.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(X,pe){const Oe=tt.get(X);Oe.__webglFramebuffer=pe,Oe.__useDefaultFramebuffer=pe===void 0};const ur=J.createFramebuffer();this.setRenderTarget=function(X,pe=0,Oe=0){G=X,B=pe,C=Oe;let Ne=!0,ge=null,it=!1,At=!1;
vendor: 4,792 bytes, line 3834
3834if(X){const W=tt.get(X);if(W.__useDefaultFramebuffer!==void 0)Be.bindFramebuffer(J.FRAMEBUFFER,null),Ne=!1;else if(W.__webglFramebuffer===void 0)pt.setupRenderTarget(X);else if(W.__hasExternalTextures)pt.rebindTextures(X,tt.get(X.texture).__webglTexture,tt.get(X.depthTexture).__webglTexture);else if(X.depthBuffer){const Ft=X.depthTexture;if(W.__boundDepthTexture!==Ft){if(Ft!==null&&tt.has(Ft)&&(X.width!==Ft.image.width||X.height!==Ft.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");pt.setupDepthRenderbuffer(X)}}const Ze=X.texture;(Ze.isData3DTexture||Ze.isDataArrayTexture||Ze.isCompressedArrayTexture)&&(At=!0);const Xt=tt.get(X).__webglFramebuffer;X.isWebGLCubeRenderTarget?(Array.isArray(Xt[pe])?ge=Xt[pe][Oe]:ge=Xt[pe],it=!0):X.samples>0&&pt.useMultisampledRTT(X)===!1?ge=tt.get(X).__webglMultisampledFramebuffer:Array.isArray(Xt)?ge=Xt[Oe]:ge=Xt,w.copy(X.viewport),z.copy(X.scissor),H=X.scissorTest}else w.copy(Te).multiplyScalar(ae).floor(),z.copy(He).multiplyScalar(ae).floor(),H=Je;if(Oe!==0&&(ge=ur),Be.bindFramebuffer(J.FRAMEBUFFER,ge)&&Ne&&Be.drawBuffers(X,ge),Be.viewport(w),Be.scissor(z),Be.setScissorTest(H),it){const W=tt.get(X.texture);J.framebufferTexture2D(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_CUBE_MAP_POSITIVE_X+pe,W.__webglTexture,Oe)}else if(At){const W=tt.get(X.texture),Ze=pe;J.framebufferTextureLayer(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,W.__webglTexture,Oe,Ze)}else if(X!==null&&Oe!==0){const W=tt.get(X.texture);J.framebufferTexture2D(J.FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_2D,W.__webglTexture,Oe)}L=-1},this.readRenderTargetPixels=function(X,pe,Oe,Ne,ge,it,At,ke=0){if(!(X&&X.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let W=tt.get(X).__webglFramebuffer;if(X.isWebGLCubeRenderTarget&&At!==void 0&&(W=W[At]),W){Be.bindFramebuffer(J.FRAMEBUFFER,W);try{const Ze=X.textures[ke],Xt=Ze.format,Ft=Ze.type;if(!ot.textureFormatReadable(Xt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!ot.textureTypeReadable(Ft)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}pe>=0&&pe<=X.width-Ne&&Oe>=0&&Oe<=X.height-ge&&(X.textures.length>1&&J.readBuffer(J.COLOR_ATTACHMENT0+ke),J.readPixels(pe,Oe,Ne,ge,qt.convert(Xt),qt.convert(Ft),it))}finally{const Ze=G!==null?tt.get(G).__webglFramebuffer:null;Be.bindFramebuffer(J.FRAMEBUFFER,Ze)}}},this.readRenderTargetPixelsAsync=async function(X,pe,Oe,Ne,ge,it,At,ke=0){if(!(X&&X.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let W=tt.get(X).__webglFramebuffer;if(X.isWebGLCubeRenderTarget&&At!==void 0&&(W=W[At]),W)if(pe>=0&&pe<=X.width-Ne&&Oe>=0&&Oe<=X.height-ge){Be.bindFramebuffer(J.FRAMEBUFFER,W);const Ze=X.textures[ke],Xt=Ze.format,Ft=Ze.type;if(!ot.textureFormatReadable(Xt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!ot.textureTypeReadable(Ft))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const R1=J.createBuffer();J.bindBuffer(J.PIXEL_PACK_BUFFER,R1),J.bufferData(J.PIXEL_PACK_BUFFER,it.byteLength,J.STREAM_READ),X.textures.length>1&&J.readBuffer(J.COLOR_ATTACHMENT0+ke),J.readPixels(pe,Oe,Ne,ge,qt.convert(Xt),qt.convert(Ft),0);const V1=G!==null?tt.get(G).__webglFramebuffer:null;Be.bindFramebuffer(J.FRAMEBUFFER,V1);const dn=J.fenceSync(J.SYNC_GPU_COMMANDS_COMPLETE,0);return J.flush(),await Ww(J,dn,4),J.bindBuffer(J.PIXEL_PACK_BUFFER,R1),J.getBufferSubData(J.PIXEL_PACK_BUFFER,0,it),J.deleteBuffer(R1),J.deleteSync(dn),it}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")},this.copyFramebufferToTexture=function(X,pe=null,Oe=0){const Ne=Math.pow(2,-Oe),ge=Math.floor(X.image.width*Ne),it=Math.floor(X.image.height*Ne),At=pe!==null?pe.x:0,ke=pe!==null?pe.y:0;pt.setTexture2D(X,0),J.copyTexSubImage2D(J.TEXTURE_2D,Oe,0,0,At,ke,ge,it),Be.unbindTexture()};const Na=J.createFramebuffer(),Uu=J.createFramebuffer();this.copyTextureToTexture=function(X,pe,Oe=null,Ne=null,ge=0,it=null){it===null&&(ge!==0?(Yr("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),it=ge,ge=0):it=0);let At,ke,W,Ze,Xt,Ft,R1,V1,dn;const V=X.isCompressedTexture?X.mipmaps[it]:X.image;if(Oe!==null)At=Oe.max.x-Oe.min.x,ke=Oe.max.y-Oe.min.y,W=Oe.isBox3?Oe.max.z-Oe.min.z:1,Ze=Oe.min.x,Xt=Oe.min.y,Ft=Oe.isBox3?Oe.min.z:0;
vendor: 4,148 bytes, line 3834
3834else{const k1=Math.pow(2,-ge);At=Math.floor(V.width*k1),ke=Math.floor(V.height*k1),X.isDataArrayTexture?W=V.depth:X.isData3DTexture?W=Math.floor(V.depth*k1):W=1,Ze=0,Xt=0,Ft=0}Ne!==null?(R1=Ne.x,V1=Ne.y,dn=Ne.z):(R1=0,V1=0,dn=0);const D1=qt.convert(pe.format),kt=qt.convert(pe.type);let ri;pe.isData3DTexture?(pt.setTexture3D(pe,0),ri=J.TEXTURE_3D):pe.isDataArrayTexture||pe.isCompressedArrayTexture?(pt.setTexture2DArray(pe,0),ri=J.TEXTURE_2D_ARRAY):(pt.setTexture2D(pe,0),ri=J.TEXTURE_2D),J.pixelStorei(J.UNPACK_FLIP_Y_WEBGL,pe.flipY),J.pixelStorei(J.UNPACK_PREMULTIPLY_ALPHA_WEBGL,pe.premultiplyAlpha),J.pixelStorei(J.UNPACK_ALIGNMENT,pe.unpackAlignment);const G1=J.getParameter(J.UNPACK_ROW_LENGTH),Ir=J.getParameter(J.UNPACK_IMAGE_HEIGHT),A3=J.getParameter(J.UNPACK_SKIP_PIXELS),Pi=J.getParameter(J.UNPACK_SKIP_ROWS),h3=J.getParameter(J.UNPACK_SKIP_IMAGES);J.pixelStorei(J.UNPACK_ROW_LENGTH,V.width),J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,V.height),J.pixelStorei(J.UNPACK_SKIP_PIXELS,Ze),J.pixelStorei(J.UNPACK_SKIP_ROWS,Xt),J.pixelStorei(J.UNPACK_SKIP_IMAGES,Ft);const ln=X.isDataArrayTexture||X.isData3DTexture,Cn=pe.isDataArrayTexture||pe.isData3DTexture;if(X.isDepthTexture){const k1=tt.get(X),si=tt.get(pe),Li=tt.get(k1.__renderTarget),U4=tt.get(si.__renderTarget);Be.bindFramebuffer(J.READ_FRAMEBUFFER,Li.__webglFramebuffer),Be.bindFramebuffer(J.DRAW_FRAMEBUFFER,U4.__webglFramebuffer);for(let W0=0;W0<W;W0++)ln&&(J.framebufferTextureLayer(J.READ_FRAMEBUFFER,J.COLOR_ATTACHMENT0,tt.get(X).__webglTexture,ge,Ft+W0),J.framebufferTextureLayer(J.DRAW_FRAMEBUFFER,J.COLOR_ATTACHMENT0,tt.get(pe).__webglTexture,it,dn+W0)),J.blitFramebuffer(Ze,Xt,At,ke,R1,V1,At,ke,J.DEPTH_BUFFER_BIT,J.NEAREST);Be.bindFramebuffer(J.READ_FRAMEBUFFER,null),Be.bindFramebuffer(J.DRAW_FRAMEBUFFER,null)}else if(ge!==0||X.isRenderTargetTexture||tt.has(X)){const k1=tt.get(X),si=tt.get(pe);Be.bindFramebuffer(J.READ_FRAMEBUFFER,Na),Be.bindFramebuffer(J.DRAW_FRAMEBUFFER,Uu);for(let Li=0;Li<W;Li++)ln?J.framebufferTextureLayer(J.READ_FRAMEBUFFER,J.COLOR_ATTACHMENT0,k1.__webglTexture,ge,Ft+Li):J.framebufferTexture2D(J.READ_FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_2D,k1.__webglTexture,ge),Cn?J.framebufferTextureLayer(J.DRAW_FRAMEBUFFER,J.COLOR_ATTACHMENT0,si.__webglTexture,it,dn+Li):J.framebufferTexture2D(J.DRAW_FRAMEBUFFER,J.COLOR_ATTACHMENT0,J.TEXTURE_2D,si.__webglTexture,it),ge!==0?J.blitFramebuffer(Ze,Xt,At,ke,R1,V1,At,ke,J.COLOR_BUFFER_BIT,J.NEAREST):Cn?J.copyTexSubImage3D(ri,it,R1,V1,dn+Li,Ze,Xt,At,ke):J.copyTexSubImage2D(ri,it,R1,V1,Ze,Xt,At,ke);Be.bindFramebuffer(J.READ_FRAMEBUFFER,null),Be.bindFramebuffer(J.DRAW_FRAMEBUFFER,null)}else Cn?X.isDataTexture||X.isData3DTexture?J.texSubImage3D(ri,it,R1,V1,dn,At,ke,W,D1,kt,V.data):pe.isCompressedArrayTexture?J.compressedTexSubImage3D(ri,it,R1,V1,dn,At,ke,W,D1,V.data):J.texSubImage3D(ri,it,R1,V1,dn,At,ke,W,D1,kt,V):X.isDataTexture?J.texSubImage2D(J.TEXTURE_2D,it,R1,V1,At,ke,D1,kt,V.data):X.isCompressedTexture?J.compressedTexSubImage2D(J.TEXTURE_2D,it,R1,V1,V.width,V.height,D1,V.data):J.texSubImage2D(J.TEXTURE_2D,it,R1,V1,At,ke,D1,kt,V);J.pixelStorei(J.UNPACK_ROW_LENGTH,G1),J.pixelStorei(J.UNPACK_IMAGE_HEIGHT,Ir),J.pixelStorei(J.UNPACK_SKIP_PIXELS,A3),J.pixelStorei(J.UNPACK_SKIP_ROWS,Pi),J.pixelStorei(J.UNPACK_SKIP_IMAGES,h3),it===0&&pe.generateMipmaps&&J.generateMipmap(ri),Be.unbindTexture()},this.copyTextureToTexture3D=function(X,pe,Oe=null,Ne=null,ge=0){return Yr('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'),this.copyTextureToTexture(X,pe,Oe,Ne,ge)},this.initRenderTarget=function(X){tt.get(X).__webglFramebuffer===void 0&&pt.setupRenderTarget(X)},this.initTexture=function(X){X.isCubeTexture?pt.setTextureCube(X,0):X.isData3DTexture?pt.setTexture3D(X,0):X.isDataArrayTexture||X.isCompressedArrayTexture?pt.setTexture2DArray(X,0):pt.setTexture2D(X,0),Be.unbindTexture()},this.resetState=function(){B=0,C=0,G=null,Be.reset(),r1.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return sr}get outputColorSpace(){return this._outputColorSpace}
3834set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=Zt._getDrawingBufferColorSpace(e),t.unpackColorSpace=Zt._getUnpackColorSpace()}}class iz extends En{constructor(e=document.createElement("div")){super(),this.isCSS2DObject=!0,this.element=e,this.element.style.position="absolute",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.center=new Ce(.5,.5),this.addEventListener("removed",function(){this.traverse(function(t){t.element instanceof t.element.ownerDocument.defaultView.Element&&t.element.parentNode!==null&&t.element.remove()})})}copy(e,t){return super.copy(e,t),this.element=e.element.cloneNode(!0),this.center=e.center,this}}const Ka=new Z,qg=new Yt,pg=new Yt,_g=new Z,mg=new Z;class rz{constructor(e={}){const t=this;let i,r,s,a;const o={objects:new WeakMap},l=e.element!==void 0?e.element:document.createElement("div");l.style.overflow="hidden",this.domElement=l,this.getSize=function(){return{width:i,height:r}},this.render=function(M,N){M.matrixWorldAutoUpdate===!0&&M.updateMatrixWorld(),N.parent===null&&N.matrixWorldAutoUpdate===!0&&N.updateMatrixWorld(),qg.copy(N.matrixWorldInverse),pg.multiplyMatrices(N.projectionMatrix,qg),d(M,M,N),g(M)},this.setSize=function(M,N){i=M,r=N,s=i/2,a=r/2,l.style.width=M+"px",l.style.height=N+"px"};function u(M){M.isCSS2DObject&&(M.element.style.display="none");for(let N=0,y=M.children.length;N<y;N++)u(M.children[N])}function d(M,N,y){if(M.visible===!1){u(M);return}if(M.isCSS2DObject){Ka.setFromMatrixPosition(M.matrixWorld),Ka.applyMatrix4(pg);const S=Ka.z>=-1&&Ka.z<=1&&M.layers.test(y.layers)===!0,R=M.element;R.style.display=S===!0?"":"none",S===!0&&(M.onBeforeRender(t,N,y),R.style.transform="translate("+-100*M.center.x+"%,"+-100*M.center.y+"%)translate("+(Ka.x*s+s)+"px,"+(-Ka.y*a+a)+"px)",R.parentNode!==l&&l.appendChild(R),M.onAfterRender(t,N,y));const O={distanceToCameraSquared:q(y,M)};o.objects.set(M,O)}for(let S=0,R=M.children.length;S<R;S++)d(M.children[S],N,y)}function q(M,N){return _g.setFromMatrixPosition(M.matrixWorld),mg.setFromMatrixPosition(N.matrixWorld),_g.distanceToSquared(mg)}function _(M){const N=[];return M.traverseVisible(function(y){y.isCSS2DObject&&N.push(y)}),N}function g(M){const N=_(M).sort(function(S,R){if(S.renderOrder!==R.renderOrder)return R.renderOrder-S.renderOrder;const O=o.objects.get(S).distanceToCameraSquared,b=o.objects.get(R).distanceToCameraSquared;return O-b}),y=N.length;for(let S=0,R=N.length;S<R;S++)N[S].element.style.zIndex=y-S}}}function Ih(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}var sz=typeof global=="object"&&global&&global.Object===Object&&global,az=typeof self=="object"&&self&&self.Object===Object&&self,Uy=sz||az||Function("return this")(),$c=function(){return Uy.Date.now()},oz=/\s/;function lz(n){for(var e=n.length;e--&&oz.test(n.charAt(e)););return e}var uz=/^\s+/;function cz(n){return n&&n.slice(0,lz(n)+1).replace(uz,"")}var D7=Uy.Symbol,Fy=Object.prototype,Az=Fy.hasOwnProperty,hz=Fy.toString,t6=D7?D7.toStringTag:void 0;function fz(n){var e=Az.call(n,t6),t=n[t6];try{n[t6]=void 0;var i=!0}catch{}var r=hz.call(n);return i&&(e?n[t6]=t:delete n[t6]),r}var dz=Object.prototype,qz=dz.toString;function pz(n){return qz.call(n)}var _z="[object Null]",mz="[object Undefined]",gg=D7?D7.toStringTag:void 0;function gz(n){return n==null?n===void 0?mz:_z:gg&&gg in Object(n)?fz(n):pz(n)}function Ez(n){return n!=null&&typeof n=="object"}var Mz="[object Symbol]";function xz(n){return typeof n=="symbol"||Ez(n)&&gz(n)==Mz}var Eg=NaN,Sz=/^[-+]0x[0-9a-f]+$/i,yz=/^0b[01]+$/i,Nz=/^0o[0-7]+$/i,vz=parseInt;function Mg(n){if(typeof n=="number")return n;if(xz(n))return Eg;if(Ih(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Ih(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=cz(n);var t=yz.test(n);return t||Nz.test(n)?vz(n.slice(2),t?2:8):Sz.test(n)?Eg:+n}var Oz="Expected a function",Tz=Math.max,Rz=Math.min;function bz(n,e,t){var i,r,s,a,o,l,u=0,d=!1,q=!1,_=!0;if(typeof n!="function")throw new TypeError(Oz);e=Mg(e)||0,Ih(t)&&(d=!!t.leading,q="maxWait"in t,s=q?Tz(Mg(t.maxWait)||0,e):s,_="trailing"in t?!!t.trailing:_);function g(B){var C=i,G=r;return i=r=void 0,u=B,a=n.apply(G,C),a}function M(B){return u=B,o=setTimeout(S,e),d?g(B):a}function N(B){var C=B-l,G=B-u,L=e-C;return q?Rz(L,s-G):L}function y(B){var C=B-l,G=B-u;return l===void 0||C>=e||C<0||q&&G>=s}function S(){var B=$c();if(y(B))return R(B);o=setTimeout(S,N(B))}function R(B){return o=void 0,_&&i?g(B):(i=r=void 0,a)}function O(){o!==void 0&&clearTimeout(o),u=0,i=l=r=o=void 0}function b(){return o===void 0?a:R($c())}function D(){var B=$c(),C=y(B);if(i=arguments,r=this,l=B,C){if(o===void 0)return M(l);if(q)return clearTimeout(o),o=setTimeout(S,e),g(l)}return o===void 0&&(o=setTimeout(S,e)),a}return D.cancel=O,D.flush=b,D}function xg(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function Iz(n){if(Array.isArray(n))return n}function Pz(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Lz(n,e,t){return Object.defineProperty(n,"prototype",{writable:!1}),n}function Dz(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}
3834finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function Cz(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3835In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wz(n,e){return Iz(n)||Dz(n,e)||Bz(n,e)||Cz()}function Bz(n,e){if(n){if(typeof n=="string")return xg(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?xg(n,e):void 0}}var Uz=Lz(function n(e,t){var i=t.default,r=i===void 0?null:i,s=t.triggerUpdate,a=s===void 0?!0:s,o=t.onChange,l=o===void 0?function(u,d){}:o;Pz(this,n),this.name=e,this.defaultVal=r,this.triggerUpdate=a,this.onChange=l});function hi(n){var e=n.stateInit,t=e===void 0?function(){return{}}:e,i=n.props,r=i===void 0?{}:i,s=n.methods,a=s===void 0?{}:s,o=n.aliases,l=o===void 0?{}:o,u=n.init,d=u===void 0?function(){}:u,q=n.update,_=q===void 0?function(){}:q,g=Object.keys(r).map(function(M){return new Uz(M,r[M])});return function M(){for(var N=arguments.length,y=new Array(N),S=0;S<N;S++)y[S]=arguments[S];var R=!!(this instanceof M&&this.constructor),O=R?y.shift():void 0,b=y[0],D=b===void 0?{}:b,B=Object.assign({},t instanceof Function?t(D):t,{initialised:!1}),C={};function G(w){return L(w,D),P(),G}var L=function(z,H){d.call(G,z,B,H),B.initialised=!0},P=bz(function(){B.initialised&&(_.call(G,B,C),C={})},1);return g.forEach(function(w){G[w.name]=z(w);function z(H){var j=H.name,Y=H.triggerUpdate,Q=Y===void 0?!1:Y,oe=H.onChange,ae=oe===void 0?function(Te,He){}:oe,fe=H.defaultVal,xe=fe===void 0?null:fe;return function(Te){var He=B[j];if(!arguments.length)return He;var Je=Te===void 0?xe:Te;return B[j]=Je,ae.call(G,Je,B,He),!C.hasOwnProperty(j)&&(C[j]=He),Q&&P(),G}}}),Object.keys(a).forEach(function(w){G[w]=function(){for(var z,H=arguments.length,j=new Array(H),Y=0;Y<H;Y++)j[Y]=arguments[Y];return(z=a[w]).call.apply(z,[G,B].concat(j))}}),Object.entries(l).forEach(function(w){var z=wz(w,2),H=z[0],j=z[1];return G[H]=G[j]}),G.resetProps=function(){return g.forEach(function(w){G[w.name](w.defaultVal)}),G},G.resetProps(),B._rerender=P,R&&O&&G(O),G}}var ti=Object.freeze({Linear:Object.freeze({None:function(n){return n},In:function(n){return n},Out:function(n){return n},InOut:function(n){return n}}),Quadratic:Object.freeze({In:function(n){return n*n},Out:function(n){return n*(2-n)},InOut:function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)}}),Cubic:Object.freeze({In:function(n){return n*n*n},Out:function(n){return--n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)}}),Quartic:Object.freeze({In:function(n){return n*n*n*n},Out:function(n){return 1- --n*n*n*n},InOut:function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)}}),Quintic:Object.freeze({In:function(n){return n*n*n*n*n},Out:function(n){return--n*n*n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)}}),Sinusoidal:Object.freeze({In:function(n){return 1-Math.sin((1-n)*Math.PI/2)},Out:function(n){return Math.sin(n*Math.PI/2)},InOut:function(n){return .5*(1-Math.sin(Math.PI*(.5-n)))}}),Exponential:Object.freeze({In:function(n){return n===0?0:Math.pow(1024,n-1)},Out:function(n){return n===1?1:1-Math.pow(2,-10*n)},InOut:function(n){return n===0?0:n===1?1:(n*=2)<1?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)}}),Circular:Object.freeze({In:function(n){return 1-Math.sqrt(1-n*n)},Out:function(n){return Math.sqrt(1- --n*n)},InOut:function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)}}),Elastic:Object.freeze({In:function(n){return n===0?0:n===1?1:-Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI)},Out:function(n){return n===0?0:n===1?1:Math.pow(2,-10*n)*Math.sin((n-.1)*5*Math.PI)+1},InOut:function(n){return n===0?0:n===1?1:(n*=2,n<1?-.5*Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI):.5*Math.pow(2,-10*(n-1))*Math.sin((n-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(n){var e=1.70158;return n===1?1:n*n*((e+1)*n-e)},Out:function(n){var e=1.70158;return n===0?0:--n*n*((e+1)*n+e)+1},InOut:function(n){var e=2.5949095;return(n*=2)<1?.5*(n*n*((e+1)*n-e)):.5*((n-=2)*n*((e+1)*n+e)+2)}}),Bounce:Object.freeze({In:function(n){return 1-ti.Bounce.Out(1-n)},Out:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},InOut:function(n){return n<.5?ti.Bounce.In(n*2)*.5:ti.Bounce.Out(n*2-1)*.5+.5}}),generatePow:function(n){return n===void 0&&(n=4),n=n<Number.EPSILON?Number.EPSILON:n,n=n>1e4?1e4:n,{In:function(e){return Math.pow(e,n)},Out:function(e){return 1-Math.pow(1-e,n)},InOut:function(e){return e<.5?Math.pow(e*2,n)/2:(1-Math.pow(2-e*2,
3835n))/2+.5}}}}),T6=function(){return performance.now()},Q9=function(){function n(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,e)}return n.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(t){return e._tweens[t]})},n.prototype.removeAll=function(){this._tweens={}},n.prototype.add=function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var r=0,s=t;r<s.length;r++){var a=s[r];(e=a._group)===null||e===void 0||e.remove(a),a._group=this,this._tweens[a.getId()]=a,this._tweensAddedDuringUpdate[a.getId()]=a}},n.prototype.remove=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var i=0,r=e;i<r.length;i++){var s=r[i];s._group=void 0,delete this._tweens[s.getId()],delete this._tweensAddedDuringUpdate[s.getId()]}},n.prototype.allStopped=function(){return this.getAll().every(function(e){return!e.isPlaying()})},n.prototype.update=function(e,t){e===void 0&&(e=T6()),t===void 0&&(t=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r<i.length;r++){var s=this._tweens[i[r]],a=!t;s&&s.update(e,a)===!1&&!t&&this.remove(s)}i=Object.keys(this._tweensAddedDuringUpdate)}},n}(),Ph={Linear:function(n,e){var t=n.length-1,i=t*e,r=Math.floor(i),s=Ph.Utils.Linear;return e<0?s(n[0],n[1],i):e>1?s(n[t],n[t-1],t-i):s(n[r],n[r+1>t?t:r+1],i-r)},Utils:{Linear:function(n,e,t){return(e-n)*t+n}}},Gy=function(){function n(){}return n.nextId=function(){return n._nextId++},n._nextId=0,n}(),Lh=new Q9,Hi=function(){function n(e,t){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=ti.Linear.None,this._interpolationFunction=Ph.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=Gy.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=e,typeof t=="object"?(this._group=t,t.add(this)):t===!0&&(this._group=Lh,Lh.add(this))}return n.prototype.getId=function(){return this._id},n.prototype.isPlaying=function(){return this._isPlaying},n.prototype.isPaused=function(){return this._isPaused},n.prototype.getDuration=function(){return this._duration},n.prototype.to=function(e,t){if(t===void 0&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=t<0?0:t,this},n.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e<0?0:e,this},n.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},n.prototype.start=function(e,t){if(e===void 0&&(e=T6()),t===void 0&&(t=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var r={};for(var s in this._valuesEnd)r[s]=this._valuesEnd[s];this._valuesEnd=r}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},n.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},n.prototype._setupProperties=function(e,t,i,r,s){for(var a in i){var o=e[a],l=Array.isArray(o),u=l?"array":typeof o,d=!l&&Array.isArray(i[a]);if(!(u==="undefined"||u==="function")){if(d){var q=i[a];if(q.length===0)continue;for(var _=[o],g=0,M=q.length;g<M;g+=1){var N=this._handleRelativeValue(o,q[g]);if(isNaN(N)){d=!1,console.warn("Found invalid interpolation list. Skipping.");break}_.push(N)}d&&(i[a]=_)}if((u==="object"||l)&&o&&!d){t[a]=l?[]:{};var y=o;for(var S in y)t[a][S]=y[S];r[a]=l?[]:{};var q=i[a];if(!this._isDynamic){var R={};for(var S in q)R[S]=q[S];i[a]=q=R}this._setupProperties(y,t[a],q,r[a],s)}else(typeof t[a]>"u"||s)&&(t[a]=o),l||(t[a]*=1),d?r[a]=i[a].slice().reverse():r[a]=t[a]||0}}},n.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},n.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},n.prototype.pause=function(e){return e===void 0&&(e=T6()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this)},n.prototype.resume=function(e){return e===void 0&&(e=T6()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this)},n.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},n.prototype.group=function(e){return e?(e.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},n.prototype.remove=function(){var e;return(e=this._group)===null||e===void 0||e.remove(this),this},n.prototype.delay=function(e){return e===void 0&&(e=0),this._delayTime=e,this},n.prototype.repeat=function(e){return e===void 0&&(e=0),this._initialRepeat=e,this._repeat=e,this},n.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},n.prototype.yoyo=function(e){return e===void 0&&(e=!1),this._yoyo=e,this},n.prototype.easing=function(e){return e===void 0&&(e=ti.Linear.None),this._easingFunction=e,this},n.prototype.interpolation=function(e){return e===void 0&&(e=Ph.Linear),this._interpolationFunction=e,this},n.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},n.prototype.onStart=function(e){return this._onStartCallback=e,this},n.prototype.onEveryStart=function(e){return this._onEveryStartCallback=e,this},n.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},n.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},n.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},n.prototype.onStop=function(e){return this._onStopCallback=e,this},n.prototype.update=function(e,t){var i=this,r;if(e===void 0&&(e=T6()),t===void 0&&(t=n.autoStartOnUpdate),this._isPaused)return!0;var s;if(!this._goToEnd&&!this._isPlaying)if(t)this.start(e,!0);else return!1;if(this._goToEnd=!1,e<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var a=e-this._startTime,o=this._duration+((r=this._repeatDelayTime)!==null&&r!==void 0?r:this._delayTime),l=this._duration+this._repeat*o,u=function(){if(i._duration===0||a>l)return 1;var N=Math.trunc(a/o),y=a-N*o,S=Math.min(y/i._duration,1);return S===0&&a===i._duration?1:S},d=u(),q=this._easingFunction(d);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,q),this._onUpdateCallback&&this._onUpdateCallback(this._object,d),this._duration===0||a>=this._duration)if(this._repeat>0){var _=Math.min(Math.trunc((a-this._duration)/o)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=_);for(s in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[s]=="string"&&(this._valuesStartRepeat[s]=this._valuesStartRepeat[s]+parseFloat(this._valuesEnd[s])
3835),this._yoyo&&this._swapEndStartRepeatValues(s),this._valuesStart[s]=this._valuesStartRepeat[s];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=o*_,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,M=this._chainedTweens.length;g<M;g++)this._chainedTweens[g].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},n.prototype._updateProperties=function(e,t,i,r){for(var s in i)if(t[s]!==void 0){var a=t[s]||0,o=i[s],l=Array.isArray(e[s]),u=Array.isArray(o),d=!l&&u;d?e[s]=this._interpolationFunction(o,r):typeof o=="object"&&o?this._updateProperties(e[s],a,o,r):(o=this._handleRelativeValue(a,o),typeof o=="number"&&(e[s]=a+(o-a)*r))}},n.prototype._handleRelativeValue=function(e,t){return typeof t!="string"?t:t.charAt(0)==="+"||t.charAt(0)==="-"?e+parseFloat(t):parseFloat(t)},n.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],i=this._valuesEnd[e];typeof i=="string"?this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(i):this._valuesStartRepeat[e]=this._valuesEnd[e],this._valuesEnd[e]=t},n.autoStartOnUpdate=!1,n}();Gy.nextId;var g2=Lh;g2.getAll.bind(g2);g2.removeAll.bind(g2);g2.add.bind(g2);g2.remove.bind(g2);g2.update.bind(g2);function Fz(n){const e=+this._x.call(null,n),t=+this._y.call(null,n),i=+this._z.call(null,n);return Vy(this.cover(e,t,i),e,t,i,n)}function Vy(n,e,t,i,r){if(isNaN(e)||isNaN(t)||isNaN(i))return n;var s,a=n._root,o={data:r},l=n._x0,u=n._y0,d=n._z0,q=n._x1,_=n._y1,g=n._z1,M,N,y,S,R,O,b,D,B,C,G;if(!a)return n._root=o,n;for(;a.length;)if((b=e>=(M=(l+q)/2))?l=M:q=M,(D=t>=(N=(u+_)/2))?u=N:_=N,(B=i>=(y=(d+g)/2))?d=y:g=y,s=a,!(a=a[C=B<<2|D<<1|b]))return s[C]=o,n;if(S=+n._x.call(null,a.data),R=+n._y.call(null,a.data),O=+n._z.call(null,a.data),e===S&&t===R&&i===O)return o.next=a,s?s[C]=o:n._root=o,n;do s=s?s[C]=new Array(8):n._root=new Array(8),(b=e>=(M=(l+q)/2))?l=M:q=M,(D=t>=(N=(u+_)/2))?u=N:_=N,(B=i>=(y=(d+g)/2))?d=y:g=y;while((C=B<<2|D<<1|b)===(G=(O>=y)<<2|(R>=N)<<1|S>=M));return s[G]=a,s[C]=o,n}function Gz(n){Array.isArray(n)||(n=Array.from(n));const e=n.length,t=new Float64Array(e),i=new Float64Array(e),r=new Float64Array(e);let s=1/0,a=1/0,o=1/0,l=-1/0,u=-1/0,d=-1/0;for(let q=0,_,g,M,N;q<e;++q)isNaN(g=+this._x.call(null,_=n[q]))||isNaN(M=+this._y.call(null,_))||isNaN(N=+this._z.call(null,_))||(t[q]=g,i[q]=M,r[q]=N,g<s&&(s=g),g>l&&(l=g),M<a&&(a=M),M>u&&(u=M),N<o&&(o=N),N>d&&(d=N));if(s>l||a>u||o>d)return this;this.cover(s,a,o).cover(l,u,d);for(let q=0;q<e;++q)Vy(this,t[q],i[q],r[q],n[q]);return this}function Vz(n,e,t){if(isNaN(n=+n)||isNaN(e=+e)||isNaN(t=+t))return this;var i=this._x0,r=this._y0,s=this._z0,a=this._x1,o=this._y1,l=this._z1;if(isNaN(i))a=(i=Math.floor(n))+1,o=(r=Math.floor(e))+1,l=(s=Math.floor(t))+1;else{for(var u=a-i||1,d=this._root,q,_;i>n||n>=a||r>e||e>=o||s>t||t>=l;)switch(_=(t<s)<<2|(e<r)<<1|n<i,q=new Array(8),q[_]=d,d=q,u*=2,_){case 0:a=i+u,o=r+u,l=s+u;break;case 1:i=a-u,o=r+u,l=s+u;break;case 2:a=i+u,r=o-u,l=s+u;break;case 3:i=a-u,r=o-u,l=s+u;break;case 4:a=i+u,o=r+u,s=l-u;break;case 5:i=a-u,o=r+u,s=l-u;break;case 6:a=i+u,r=o-u,s=l-u;break;case 7:i=a-u,r=o-u,s=l-u;break}this._root&&this._root.length&&(this._root=d)}return this._x0=i,this._y0=r,this._z0=s,this._x1=a,this._y1=o,this._z1=l,this}function kz(){var n=[];return this.visit(function(e){if(!e.length)do n.push(e.data);while(e=e.next)}),n}function zz(n){return arguments.length?this.cover(+n[0][0],+n[0][1],+n[0][2]).cover(+n[1][0],+n[1][1],+n[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function un(n,e,t,i,r,s,a){this.node=n,this.x0=e,this.y0=t,this.z0=i,this.x1=r,this.y1=s,this.z1=a}function Wz(n,e,t,i){var r,s=this._x0,a=this._y0,o=this._z0,l,u,d,q,_,g,M=this._x1,N=this._y1,y=this._z1,S=[],R=this._root,O,b;for(R&&S.push(new un(R,s,a,o,M,N,y)),i==null?i=1/0:(s=n-i,a=e-i,o=t-i,M=n+i,N=e+i,y=t+i,i*=i);O=S.pop();)if(!(!(R=O.node)||(l=O.x0)>M||(u=O.y0)>N||(d=O.z0)>y||(q=O.x1)<s||(_=O.y1)<a||(g=O.z1)<o))if(R.length){var D=(l+q)/2,B=(u+_)/2,C=(d+g)/2;S.push(new un(R[7],D,B,C,q,_,g),new un(R[6],l,B,C,D,_,g),new un(R[5],D,u,C,q,B,g),new un(R[4],l,u,C,D,B,g),new un(R[3],D,B,d,q,_,C),new un(R[2],l,B,d,D,_,C),new un(R[1],D,u,d,q,B,C),new un(R[0],l,u,d,D,B,C)),(b=(t>=C)<<2|(e>=B)<<1|n>=D)&&(O=S[S.length-1],S[S.length-1]=S[S.length-1-b],S[S.length-1-b]=O)}else{var G=n-+this._x.call(null,R.data),L=e-+this._y.call(null,R.data),P=t-+this._z.call(null,R.data),w=G*G+L*L+P*P;if(w<i){var z=Math.sqrt(i=w);s=n-z,a=e-z,o=t-z,M=n+z,N=e+z,y=t+z,r=R.data}}return r}const Hz=(n,e,t,i,r,s)=>Math.sqrt((n-i)**2+(e-r)**2+(t-s)**2);function Kz(n,e,t,i){const r=[],s=n-i,a=e-i,o=t-i,l=n+i,u=e+i,d=t+i;return this.visit((q,_,g,M,N,y,S)=>{if(!q.length)do{const R=q.data;Hz(n,e,t,this._x(R),this._y(R),this._z(R))<=i&&r.push(R)}while(q=q.next);return _>l||g>u||M>d||N<s||y<a||S<o}),r}function Yz(n){if(isNaN(_=+this._x.call(null,n))||isNaN(g=+this._y.call(null,n))||isNaN(M=+this._z.call(null,n)))return this;var e,t=this._root,i,r,s,a=this._x0,o=this._y0,l=this._z0,u=this._x1,d=this._y1,q=this._z1,_,g,M,N,y,S,R,O,b,D,B;if(!t)return this;if(t.length)for(;;){if((R=_>=(N=(a+u)/2))?a=N:u=N,(O=g>=(y=(o+d)/2))?o=y:d=y,(b=M>=(S=(l+q)/2))?l=S:q=S,e=t,!(t=t[D=b<<2|O<<1|R]))return this;if(!t.length)break;(e[D+1&7]||e[D+2&7]||e[D+3&7]||e[D+4&7]||e[D+5&7]||e[D+6&7]||e[D+7&7])&&(i=e,B=D)}for(;t.data!==n;)if(r=t,!(t=t.next))return this;return(s=t.next)&&delete t.next,r?(s?r.next=s:delete r.next,this):e?(s?e[D]=s:delete e[D],(t=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&t===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!t.length&&(i?i[B]=t:this._root=t),this):(this._root=s,this)}function $z(n){for(var e=0,t=n.length;e<t;++e)this.remove(n[e]);return this}function jz(){return this._root}function Xz(){var n=0;return this.visit(function(e){if(!e.length)do++n;while(e=e.next)}),n}function Zz(n){var e=[],t,i=this._root,r,s,a,o,l,u,d;for(i&&e.push(new un(i,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=e.pop();)if(!n(i=t.node,s=t.x0,a=t.y0,o=t.z0,l=t.x1,u=t.y1,d=t.z1)&&i.length){var q=(s+l)/2,_=(a+u)/2,g=(o+d)/2;(r=i[7])&&e.push(new un(r,q,_,g,l,u,d)),(r=i[6])&&e.push(new un(r,s,_,g,q,u,d)),(r=i[5])&&e.push(new un(r,q,a,g,l,_,d)),(r=i[4])&&e.push(new un(r,s,a,g,q,_,d)),(r=i[3])&&e.push(new un(r,q,_,o,l,u,g)),(r=i[2])&&e.push(new un(r,s,_,o,q,u,g)),(r=i[1])&&e.push(new un(r,q,a,o,l,_,g)),(r=i[0])&&e.push(new un(r,s,a,o,q,_,g))}return this}function Qz(n){var e=[],t=[],i;for(this._root&&e.push(new un(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));i=e.pop();){var r=i.node;if(r.length){var s,a=i.x0,o=i.y0,l=i.z0,u=i.x1,d=i.y1,q=i.z1,_=(a+u)/2,g=(o+d)/2,M=(l+q)/2;(s=r[0])&&e.push(new un(s,a,o,l,_,g,M)),(s=r[1])&&e.push(new un(s,_,o,l,u,g,M)),(s=r[2])&&e.push(new un(s,a,g,l,_,d,M)),(s=r[3])&&e.push(new un(s,_,g,l,u,d,M)),(s=r[4])&&e.push(new un(s,a,o,M,_,g,q)),(s=r[5])&&e.push(new un(s,_,o,M,u,g,q)),(s=r[6])&&e.push(new un(s,a,g,M,_,d,q)),(s=r[7])&&e.push(new un(s,_,g,M,u,d,q))}t.push(i)}for(;i=t.pop();)n(i.node,i.x0,i.y0,i.z0,i.x1,i.y1,i.z1);return this}function Jz(n){return n[0]}function eW(n){return arguments.length?(this._x=n,this):this._x}function tW(n){return n[1]}function nW(n){return arguments.length?(this._y=n,this):this._y}function iW(n){return n[2]}function rW(n){return arguments.length?(this._z=n,this):this._z}function ky(n,e,t,i){var r=new lq(e??Jz,t??tW,i??iW,NaN,NaN,NaN,NaN,NaN,NaN);return n==null?r:r.addAll(n)}function lq(n,e,t,i,r,s,a,o,l){this._x=n,this._y=e,this._z=t,this._x0=i,this._y0=r,this._z0=s,this._x1=a,this._y1=o,this._z1=l,this._root=void 0}function Sg(n){for(var e={data:n.data},t=e;n=n.next;)t=t.next={data:n.data};return e}var Ti=ky.prototype=lq.prototype;Ti.copy=function(){var n=new lq(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),e=this._root,t,i;if(!e)return n;if(!e.length)return n._root=Sg(e),n;for(t=[{source:e,target:n._root=new Array(8)}];e=t.pop();)for(var r=0;r<8;++r)(i=e.source[r])&&(i.length?t.push({source:i,target:e.target[r]=new Array(8)}):e.target[r]=Sg(i));return n};Ti.add=Fz;Ti.addAll=Gz;Ti.cover=Vz;Ti.data=kz;Ti.extent=zz;Ti.find=Wz;Ti.findAllWithinRadius=Kz;Ti.remove=Yz;Ti.removeAll=$z;Ti.root=jz;Ti.size=Xz;Ti.visit=Zz;Ti.visitAfter=Qz;Ti.x=eW;Ti.y=nW;Ti.z=rW;function u7(n,e){return n==null||e==null?NaN:n<e?-1:n>e?1:n>=e?0:NaN}function sW(n,e){return n==null||e==null?NaN:e<n?-1:e>n?1:e>=n?0:NaN}function zy(n){let e,t,i;n.length!==2?(e=u7,t=(o,l)=>u7(n(o),l),i=(o,l)=>n(o)-l):(e=n===u7||n===sW?n:aW,t=n,i=n);function r(o,l,u=0,d=o.length){if(u<d){if(e(l,l)!==0)return d;do{const q=u+d>>>1;t(o[q],l)<0?u=q+1:d=q}while(u<d)}return u}function s(o,l,u=0,d=o.length){if(u<d){if(e(l,l)!==0)return d;do{const q=u+d>>>1;t(o[q],l)<=0?u=q+1:d=q}while(u<d)}return u}function a(o,l,u=0,d=o.length){const q=r(o,l,u,d-1);return q>u&&i(o[q-1],l)>-i(o[q],l)?q-1:q}return{left:r,center:a,right:s}}function aW(){return 0}function oW(n){return n===null?NaN:+n}const lW=zy(u7),Wy=lW.right;zy(oW).center;function C7(n,e){let t,i;if(e===void 0)for(const r of n)r!=null&&(t===void 0?r>=r&&(t=i=r):(t>r&&(t=r),i<r&&(i=r)));else{let r=-1;for(let s of n)(s=e(s,++r,n))!=null&&(t===void 0?s>=s&&(t=i=s):(t>s&&(t=s),i<s&&(i=s)))}return[t,i]}class $2{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let i=0;for(let r=0;r<this._n&&r<32;r++){const s=t[r],a=e+s,o=Math.abs(e)<Math.abs(s)?e-(a-s):s-(a-e);o&&(t[i++]=o),e=a}return t[i]=e,this._n=i+1,this}valueOf(){const e=this._partials;let t=this._n,i,r,s,a=0;if(t>0){for(a=e[--t];t>0&&(i=a,r=e[--t],a=i+r,s=r-(a-i),!s););t>0&&(s<0&&e[t-1]<0||s>0&&e[t-1]>0)&&(r=s*2,i=a+r,r==i-a&&(a=i))}return a}}const uW=Math.sqrt(50),cW=Math.sqrt(10),AW=Math.sqrt(2);function w7(n,e,t){const i=(e-n)/Math.max(0,t),r=Math.floor(Math.log10(i)),s=i/Math.pow(10,r),a=s>=uW?10:s>=cW?5:s>=AW?2:1;let o,l,u;return r<0?(u=Math.pow(10,-r)/a,o=Math.round(n*u),l=Math.round(e*u),o/u<n&&++o,l/u>e&&--l,u=-u):(u=Math.pow(10,r)*a,o=Math.round(n/u),l=Math.round(e/u),o*u<n&&++o,l*u>
3835e&&--l),l<o&&.5<=t&&t<2?w7(n,e,t*2):[o,l,u]}function hW(n,e,t){if(e=+e,n=+n,t=+t,!(t>0))return[];if(n===e)return[n];const i=e<n,[r,s,a]=i?w7(e,n,t):w7(n,e,t);if(!(s>=r))return[];const o=s-r+1,l=new Array(o);if(i)if(a<0)for(let u=0;u<o;++u)l[u]=(s-u)/-a;else for(let u=0;u<o;++u)l[u]=(s-u)*a;else if(a<0)for(let u=0;u<o;++u)l[u]=(r+u)/-a;else for(let u=0;u<o;++u)l[u]=(r+u)*a;return l}function Dh(n,e,t){return e=+e,n=+n,t=+t,w7(n,e,t)[2]}function fW(n,e,t){e=+e,n=+n,t=+t;const i=e<n,r=i?Dh(e,n,t):Dh(n,e,t);return(i?-1:1)*(r<0?1/-r:r)}function dW(n,e){let t;for(const i of n)i!=null&&(t<i||t===void 0&&i>=i)&&(t=i);return t}function qW(n,e){let t=0,i=0;if(e===void 0)for(let r of n)r!=null&&(r=+r)>=r&&(++t,i+=r);else{let r=-1;for(let s of n)(s=e(s,++r,n))!=null&&(s=+s)>=s&&(++t,i+=s)}if(t)return i/t}function*pW(n){for(const e of n)yield*e}function M8(n){return Array.from(pW(n))}function po(n,e,t){n=+n,e=+e,t=(r=arguments.length)<2?(e=n,n=0,1):r<3?1:+t;for(var i=-1,r=Math.max(0,Math.ceil((e-n)/t))|0,s=new Array(r);++i<r;)s[i]=n+i*t;return s}function _W(n,e){let t=0;for(let i of n)(i=+i)&&(t+=i);return t}function Hy(n,e){switch(arguments.length){case 0:break;case 1:this.range(n);break;default:this.range(e).domain(n);break}return this}function uq(n,e,t){n.prototype=e.prototype=t,t.constructor=n}function Ky(n,e){var t=Object.create(n.prototype);for(var i in e)t[i]=e[i];return t}function n5(){}var x8=.7,B7=1/x8,To="\\s*([+-]?\\d+)\\s*",S8="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",c2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mW=/^#([0-9a-f]{3,8})$/,gW=new RegExp(`^rgb\\(${To},${To},${To}\\)$`),EW=new RegExp(`^rgb\\(${c2},${c2},${c2}\\)$`),MW=new RegExp(`^rgba\\(${To},${To},${To},${S8}\\)$`),xW=new RegExp(`^rgba\\(${c2},${c2},${c2},${S8}\\)$`),SW=new RegExp(`^hsl\\(${S8},${c2},${c2}\\)$`),yW=new RegExp(`^hsla\\(${S8},${c2},${c2},${S8}\\)$`),yg={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};uq(n5,ha,{copy(n){return Object.assign(new this.constructor,this,n)},displayable(){return this.rgb().displayable()},hex:Ng,formatHex:Ng,formatHex8:NW,formatHsl:vW,formatRgb:vg,toString:vg});function Ng(){return this.rgb().formatHex()}function NW(){return this.rgb().formatHex8()}function vW(){return Yy(this).formatHsl()}function vg(){return this.rgb().formatRgb()}function ha(n){var e,t;return n=(n+"").trim().toLowerCase(),(e=mW.exec(n))?(t=e[1].length,e=parseInt(e[1],16),t===6?Og(e):t===3?new _r(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?cl(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?cl(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=gW.exec(n))?new _r(e[1],e[2],e[3],1):(e=EW.exec(n))?new _r(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=MW.exec(n))?cl(e[1],e[2],e[3],e[4]):(e=xW.exec(n))?cl(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=SW.exec(n))?bg(e[1],e[2]/100,e[3]/100,1):(e=yW.exec(n))?bg(e[1],e[2]/100,e[3]/100,e[4]):yg.hasOwnProperty(n)?Og(yg[n]):n==="transparent"?new _r(NaN,NaN,NaN,0):null}function Og(n){return new _r(n>>16&255,n>>8&255,n&255,1)}function cl(n,e,t,i){return i<=0&&(n=e=t=NaN),new _r(n,e,t,i)}function OW(n){return n instanceof n5||(n=ha(n)),n?(n=n.rgb(),new _r(n.r,n.g,n.b,n.opacity)):new _r}function Ch(n,e,t,i){return arguments.length===1?OW(n):new _r(n,e,t,i??1)}function _r(n,e,t,i){this.r=+n,this.g=+e,this.b=+t,this.opacity=+i}uq(_r,Ch,Ky(n5,{brighter(n){return n=n==null?B7:Math.pow(B7,n),new _r(this.r*n,this.g*n,this.b*n,this.opacity)}
vendor: 6,394 bytes, line 3835
3835,darker(n){return n=n==null?x8:Math.pow(x8,n),new _r(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new _r(ea(this.r),ea(this.g),ea(this.b),U7(this.opacity))},displayable(){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:Tg,formatHex:Tg,formatHex8:TW,formatRgb:Rg,toString:Rg}));function Tg(){return`#${ks(this.r)}${ks(this.g)}${ks(this.b)}`}function TW(){return`#${ks(this.r)}${ks(this.g)}${ks(this.b)}${ks((isNaN(this.opacity)?1:this.opacity)*255)}`}function Rg(){const n=U7(this.opacity);return`${n===1?"rgb(":"rgba("}${ea(this.r)}, ${ea(this.g)}, ${ea(this.b)}${n===1?")":`, ${n})`}`}function U7(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function ea(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function ks(n){return n=ea(n),(n<16?"0":"")+n.toString(16)}function bg(n,e,t,i){return i<=0?n=e=t=NaN:t<=0||t>=1?n=e=NaN:e<=0&&(n=NaN),new T0(n,e,t,i)}function Yy(n){if(n instanceof T0)return new T0(n.h,n.s,n.l,n.opacity);if(n instanceof n5||(n=ha(n)),!n)return new T0;if(n instanceof T0)return n;n=n.rgb();var e=n.r/255,t=n.g/255,i=n.b/255,r=Math.min(e,t,i),s=Math.max(e,t,i),a=NaN,o=s-r,l=(s+r)/2;return o?(e===s?a=(t-i)/o+(t<i)*6:t===s?a=(i-e)/o+2:a=(e-t)/o+4,o/=l<.5?s+r:2-s-r,a*=60):o=l>0&&l<1?0:a,new T0(a,o,l,n.opacity)}function RW(n,e,t,i){return arguments.length===1?Yy(n):new T0(n,e,t,i??1)}function T0(n,e,t,i){this.h=+n,this.s=+e,this.l=+t,this.opacity=+i}uq(T0,RW,Ky(n5,{brighter(n){return n=n==null?B7:Math.pow(B7,n),new T0(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?x8:Math.pow(x8,n),new T0(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,e=isNaN(n)||isNaN(this.s)?0:this.s,t=this.l,i=t+(t<.5?t:1-t)*e,r=2*t-i;return new _r(jc(n>=240?n-240:n+120,r,i),jc(n,r,i),jc(n<120?n+240:n-120,r,i),this.opacity)},clamp(){return new T0(Ig(this.h),Al(this.s),Al(this.l),U7(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const n=U7(this.opacity);return`${n===1?"hsl(":"hsla("}${Ig(this.h)}, ${Al(this.s)*100}%, ${Al(this.l)*100}%${n===1?")":`, ${n})`}`}}));function Ig(n){return n=(n||0)%360,n<0?n+360:n}function Al(n){return Math.max(0,Math.min(1,n||0))}function jc(n,e,t){return(n<60?e+(t-e)*n/60:n<180?t:n<240?e+(t-e)*(240-n)/60:e)*255}const cq=n=>()=>n;function bW(n,e){return function(t){return n+t*e}}function IW(n,e,t){return n=Math.pow(n,t),e=Math.pow(e,t)-n,t=1/t,function(i){return Math.pow(n+i*e,t)}}function PW(n){return(n=+n)==1?$y:function(e,t){return t-e?IW(e,t,n):cq(isNaN(e)?t:e)}}function $y(n,e){var t=e-n;return t?bW(n,t):cq(isNaN(n)?e:n)}const Pg=function n(e){var t=PW(e);function i(r,s){var a=t((r=Ch(r)).r,(s=Ch(s)).r),o=t(r.g,s.g),l=t(r.b,s.b),u=$y(r.opacity,s.opacity);return function(d){return r.r=a(d),r.g=o(d),r.b=l(d),r.opacity=u(d),r+""}}return i.gamma=n,i}(1);function jy(n,e){e||(e=[]);var t=n?Math.min(e.length,n.length):0,i=e.slice(),r;return function(s){for(r=0;r<t;++r)i[r]=n[r]*(1-s)+e[r]*s;return i}}function Xy(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function LW(n,e){return(Xy(e)?jy:Zy)(n,e)}function Zy(n,e){var t=e?e.length:0,i=n?Math.min(t,n.length):0,r=new Array(i),s=new Array(t),a;for(a=0;a<i;++a)r[a]=Aq(n[a],e[a]);for(;a<t;++a)s[a]=e[a];return function(o){for(a=0;a<i;++a)s[a]=r[a](o);return s}}function DW(n,e){var t=new Date;return n=+n,e=+e,function(i){return t.setTime(n*(1-i)+e*i),t}}function y8(n,e){return n=+n,e=+e,function(t){return n*(1-t)+e*t}}function CW(n,e){var t={},i={},r;(n===null||typeof n!="object")&&(n={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in n?t[r]=Aq(n[r],e[r]):i[r]=e[r];return function(s){for(r in t)i[r]=t[r](s);return i}}var wh=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xc=new RegExp(wh.source,"g");function wW(n){return function(){return n}}function BW(n){return function(e){return n(e)+""}}function UW(n,e){var t=wh.lastIndex=Xc.lastIndex=0,i,r,s,a=-1,o=[],l=[];for(n=n+"",e=e+"";(i=wh.exec(n))&&(r=Xc.exec(e));)(s=r.index)>t&&(s=e.slice(t,s),o[a]?o[a]+=s:o[++a]=s),(i=i[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,l.push({i:a,x:y8(i,r)})),t=Xc.lastIndex;return t<e.length&&(s=e.slice(t),o[a]?o[a]+=s:o[++a]=s),o.length<2?l[0]?BW(l[0].x):wW(e):(e=l.length,function(u){for(var d=0,q;d<e;++d)o[(q=l[d]).i]=q.x(u);return o.join("")})}function Aq(n,e){var t=typeof e,i;return e==null||t==="boolean"?cq(e):(t==="number"?y8:t==="string"?(i=ha(e))?(e=i,Pg):UW:e instanceof ha?Pg:e instanceof Date?DW:Xy(e)?jy:Array.isArray(e)?Zy:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?CW:y8)(n,e)}function FW(n,e){return n=+n,e=+e,function(t){return Math.round(n*(1-t)+e*t)}}function GW(n){return function(){return n}}function VW(n){return+n}var Lg=[0,1];function _o(n){return n}function Bh(n,e){return(e-=n=+n)?function(t){return(t-n)/e}:GW(isNaN(e)?NaN:.5)}function kW(n,e){var t;return n>e&&(t=n,n=e,e=t),function(i){return Math.max(n,Math.min(e,i))}}function zW(n,e,t){var i=n[0],r=n[1],s=e[0],a=e[1];return r<i?(i=Bh(r,i),s=t(a,s)):(i=Bh(i,r),s=t(s,a)),function(o){return s(i(o))}}function WW(n,e,t){var i=Math.min(n.length,e.length)-1,r=new Array(i),s=new Array(i),a=-1;for(n[i]<n[0]&&(n=n.slice().reverse(),e=e.slice().reverse());++a<i;)r[a]=Bh(n[a],n[a+1]),s[a]=t(e[a],e[a+1]);return function(o){var l=Wy(n,o,1,i)-1;return s[l](r[l](o))}}function HW(n,e){return e.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function KW(){var n=Lg,e=Lg,t=Aq,i,r,s,a=_o,o,l,u;function d(){var _=Math.min(n.length,e.length);return a!==_o&&(a=kW(n[0],n[_-1])),o=_>2?WW:zW,l=u=null,q}function q(_){return _==null||isNaN(_=+_)?s:(l||(l=o(n.map(i),e,t)))(i(a(_)))}return q.invert=function(_){return a(r((u||(u=o(e,n.map(i),y8)))(_)))},q.domain=function(_){return arguments.length?(n=Array.from(_,VW),d()):n.slice()},q.range=function(_){return arguments.length?(e=Array.from(_),d()):e.slice()},q.rangeRound=function(_){return e=Array.from(_),t=FW,d()},q.clamp=function(_){return arguments.length?(a=_?!0:_o,d()):a!==_o},q.interpolate=function(_){return arguments.length?(t=_,d()):t},q.unknown=function(_){return arguments.length?(s=_,q):s},function(_,g){return i=_,r=g,d()}}function YW(){return KW()(_o,_o)}function $W(n){return Math.abs(n=Math.round(n))>
vendor: 4,098 bytes, line 3835
3835=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function F7(n,e){if((t=(n=e?n.toExponential(e-1):n.toExponential()).indexOf("e"))<0)return null;var t,i=n.slice(0,t);return[i.length>1?i[0]+i.slice(2):i,+n.slice(t+1)]}function o4(n){return n=F7(Math.abs(n)),n?n[1]:NaN}function jW(n,e){return function(t,i){for(var r=t.length,s=[],a=0,o=n[0],l=0;r>0&&o>0&&(l+o+1>i&&(o=Math.max(1,i-l)),s.push(t.substring(r-=o,r+o)),!((l+=o+1)>i));)o=n[a=(a+1)%n.length];return s.reverse().join(e)}}function XW(n){return function(e){return e.replace(/[0-9]/g,function(t){return n[+t]})}}var ZW=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function G7(n){if(!(e=ZW.exec(n)))throw new Error("invalid format: "+n);var e;return new hq({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}G7.prototype=hq.prototype;function hq(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}hq.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function QW(n){e:for(var e=n.length,t=1,i=-1,r;t<e;++t)switch(n[t]){case".":i=r=t;break;case"0":i===0&&(i=t),r=t;break;default:if(!+n[t])break e;i>0&&(i=0);break}return i>0?n.slice(0,i)+n.slice(r+1):n}var Qy;function JW(n,e){var t=F7(n,e);if(!t)return n+"";var i=t[0],r=t[1],s=r-(Qy=Math.max(-8,Math.min(8,Math.floor(r/3)))*3)+1,a=i.length;return s===a?i:s>a?i+new Array(s-a+1).join("0"):s>0?i.slice(0,s)+"."+i.slice(s):"0."+new Array(1-s).join("0")+F7(n,Math.max(0,e+s-1))[0]}function Dg(n,e){var t=F7(n,e);if(!t)return n+"";var i=t[0],r=t[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}const Cg={"%":(n,e)=>(n*100).toFixed(e),b:n=>Math.round(n).toString(2),c:n=>n+"",d:$W,e:(n,e)=>n.toExponential(e),f:(n,e)=>n.toFixed(e),g:(n,e)=>n.toPrecision(e),o:n=>Math.round(n).toString(8),p:(n,e)=>Dg(n*100,e),r:Dg,s:JW,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function wg(n){return n}var Bg=Array.prototype.map,Ug=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function eH(n){var e=n.grouping===void 0||n.thousands===void 0?wg:jW(Bg.call(n.grouping,Number),n.thousands+""),t=n.currency===void 0?"":n.currency[0]+"",i=n.currency===void 0?"":n.currency[1]+"",r=n.decimal===void 0?".":n.decimal+"",s=n.numerals===void 0?wg:XW(Bg.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",o=n.minus===void 0?"â":n.minus+"",l=n.nan===void 0?"NaN":n.nan+"";function u(q){q=G7(q);var _=q.fill,g=q.align,M=q.sign,N=q.symbol,y=q.zero,S=q.width,R=q.comma,O=q.precision,b=q.trim,D=q.type;D==="n"?(R=!0,D="g"):Cg[D]||(O===void 0&&(O=12),b=!0,D="g"),(y||_==="0"&&g==="=")&&(y=!0,_="0",g="=");var B=N==="$"?t:N==="#"&&/[boxX]/.test(D)?"0"+D.toLowerCase():"",C=N==="$"?i:/[%p]/.test(D)?a:"",G=Cg[D],L=/[defgprs%]/.test(D);O=O===void 0?6:/[gprs]/.test(D)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function P(w){var z=B,H=C,j,Y,Q;if(D==="c")H=G(w)+H,w="";else{w=+w;var oe=w<0||1/w<0;if(w=isNaN(w)?l:G(Math.abs(w),O),b&&(w=QW(w)),oe&&+w==0&&M!=="+"&&(oe=!1),z=(oe?M==="("?M:o:M==="-"||M==="("?"":M)+z,H=(D==="s"?Ug[8+Qy/3]:"")+H+(oe&&M==="("?")":""),L){for(j=-1,Y=w.length;++j<Y;)if(Q=w.charCodeAt(j),48>Q||Q>57){H=(Q===46?r+w.slice(j+1):w.slice(j))+H,w=w.slice(0,j);break}}}R&&!y&&(w=e(w,1/0));var ae=z.length+w.length+H.length,fe=ae<S?new Array(S-ae+1).join(_):"";switch(R&&y&&(w=e(fe+w,fe.length?S-H.length:1/0),fe=""),g){case"<":w=z+w+H+fe;break;case"=":w=z+fe+w+H;break;case"^":w=fe.slice(0,ae=fe.length>>
38351)+z+w+H+fe.slice(ae);break;default:w=fe+z+w+H;break}return s(w)}return P.toString=function(){return q+""},P}function d(q,_){var g=u((q=G7(q),q.type="f",q)),M=Math.max(-8,Math.min(8,Math.floor(o4(_)/3)))*3,N=Math.pow(10,-M),y=Ug[8+M/3];return function(S){return g(N*S)+y}}return{format:u,formatPrefix:d}}var hl,Jy,eN;tH({thousands:",",grouping:[3],currency:["$",""]});function tH(n){return hl=eH(n),Jy=hl.format,eN=hl.formatPrefix,hl}function nH(n){return Math.max(0,-o4(Math.abs(n)))}function iH(n,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(o4(e)/3)))*3-o4(Math.abs(n)))}function rH(n,e){return n=Math.abs(n),e=Math.abs(e)-n,Math.max(0,o4(e)-o4(n))+1}function sH(n,e,t,i){var r=fW(n,e,t),s;switch(i=G7(i??",f"),i.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(e));return i.precision==null&&!isNaN(s=iH(r,a))&&(i.precision=s),eN(i,a)}case"":case"e":case"g":case"p":case"r":{i.precision==null&&!isNaN(s=rH(r,Math.max(Math.abs(n),Math.abs(e))))&&(i.precision=s-(i.type==="e"));break}case"f":case"%":{i.precision==null&&!isNaN(s=nH(r))&&(i.precision=s-(i.type==="%")*2);break}}return Jy(i)}function tN(n){var e=n.domain;return n.ticks=function(t){var i=e();return hW(i[0],i[i.length-1],t??10)},n.tickFormat=function(t,i){var r=e();return sH(r[0],r[r.length-1],t??10,i)},n.nice=function(t){t==null&&(t=10);var i=e(),r=0,s=i.length-1,a=i[r],o=i[s],l,u,d=10;for(o<a&&(u=a,a=o,o=u,u=r,r=s,s=u);d-- >0;){if(u=Dh(a,o,t),u===l)return i[r]=a,i[s]=o,e(i);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u<0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;l=u}return n},n}function J2(){var n=YW();return n.copy=function(){return HW(n,J2())},Hy.apply(n,arguments),tN(n)}function nN(){var n=0,e=1,t=1,i=[.5],r=[0,1],s;function a(l){return l!=null&&l<=l?r[Wy(i,l,0,t)]:s}function o(){var l=-1;for(i=new Array(t);++l<t;)i[l]=((l+1)*e-(l-t)*n)/(t+1);return a}return a.domain=function(l){return arguments.length?([n,e]=l,n=+n,e=+e,o()):[n,e]},a.range=function(l){return arguments.length?(t=(r=Array.from(l)).length-1,o()):r.slice()},a.invertExtent=function(l){var u=r.indexOf(l);return u<0?[NaN,NaN]:u<1?[n,i[0]]:u>=t?[i[t-1],e]:[i[u-1],i[u]]},a.unknown=function(l){return arguments.length&&(s=l),a},a.thresholds=function(){return i.slice()},a.copy=function(){return nN().domain([n,e]).range(r).unknown(s)},Hy.apply(tN(a),arguments)}var O1=1e-6,V7=1e-12,B1=Math.PI,mr=B1/2,k7=B1/4,jr=B1*2,Un=180/B1,l1=B1/180,on=Math.abs,fq=Math.atan,f0=Math.atan2,m1=Math.cos,fl=Math.ceil,aH=Math.exp,Uh=Math.hypot,oH=Math.log,Qt=Math.sin,lH=Math.sign||function(n){return n>0?1:n<0?-1:0},e3=Math.sqrt,uH=Math.tan;function cH(n){return n>1?0:n<-1?B1:Math.acos(n)}function t3(n){return n>1?mr:n<-1?-mr:Math.asin(n)}function Fg(n){return(n=Qt(n/2))*n}function Vi(){}function z7(n,e){n&&Vg.hasOwnProperty(n.type)&&Vg[n.type](n,e)}var Gg={Feature:function(n,e){z7(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++i<r;)z7(t[i].geometry,e)}},Vg={Sphere:function(n,e){e.sphere()},Point:function(n,e){n=n.coordinates,e.point(n[0],n[1],n[2])},MultiPoint:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)n=t[i],e.point(n[0],n[1],n[2])},LineString:function(n,e){Fh(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)Fh(t[i],e,0)},Polygon:function(n,e){kg(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)kg(t[i],e)},GeometryCollection:function(n,e){for(var t=n.geometries,i=-1,r=t.length;++i<r;)z7(t[i],e)}};function Fh(n,e,t){var i=-1,r=n.length-t,s;for(e.lineStart();++i<r;)s=n[i],e.point(s[0],s[1],s[2]);e.lineEnd()}function kg(n,e){var t=-1,i=n.length;for(e.polygonStart();++t<i;)Fh(n[t],e,1);e.polygonEnd()}function J9(n,e){n&&Gg.hasOwnProperty(n.type)?Gg[n.type](n,e):z7(n,e)}var W7=new $2,zg=new $2,iN,rN,Gh,Vh,kh,n3={point:Vi,lineStart:Vi,lineEnd:Vi,polygonStart:function(){W7=new $2,n3.lineStart=AH,n3.lineEnd=hH}
vendor: 10,886 bytes, line 3835
3835,polygonEnd:function(){var n=+W7;zg.add(n<0?jr+n:n),this.lineStart=this.lineEnd=this.point=Vi},sphere:function(){zg.add(jr)}};function AH(){n3.point=fH}function hH(){sN(iN,rN)}function fH(n,e){n3.point=sN,iN=n,rN=e,n*=l1,e*=l1,Gh=n,Vh=m1(e=e/2+k7),kh=Qt(e)}function sN(n,e){n*=l1,e*=l1,e=e/2+k7;var t=n-Gh,i=t>=0?1:-1,r=i*t,s=m1(e),a=Qt(e),o=kh*a,l=Vh*s+o*m1(r),u=o*i*Qt(r);W7.add(f0(u,l)),Gh=n,Vh=s,kh=a}function H7(n){return[f0(n[1],n[0]),t3(n[2])]}function fa(n){var e=n[0],t=n[1],i=m1(t);return[i*m1(e),i*Qt(e),Qt(t)]}function dl(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function l4(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function Zc(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function ql(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function K7(n){var e=e3(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}var Rn,dr,wn,kr,Is,aN,oN,Ro,z6,P3,i3,F2={point:zh,lineStart:Wg,lineEnd:Hg,polygonStart:function(){F2.point=uN,F2.lineStart=dH,F2.lineEnd=qH,z6=new $2,n3.polygonStart()},polygonEnd:function(){n3.polygonEnd(),F2.point=zh,F2.lineStart=Wg,F2.lineEnd=Hg,W7<0?(Rn=-(wn=180),dr=-(kr=90)):z6>O1?kr=90:z6<-O1&&(dr=-90),i3[0]=Rn,i3[1]=wn},sphere:function(){Rn=-(wn=180),dr=-(kr=90)}};function zh(n,e){P3.push(i3=[Rn=n,wn=n]),e<dr&&(dr=e),e>kr&&(kr=e)}function lN(n,e){var t=fa([n*l1,e*l1]);if(Ro){var i=l4(Ro,t),r=[i[1],-i[0],0],s=l4(r,i);K7(s),s=H7(s);var a=n-Is,o=a>0?1:-1,l=s[0]*Un*o,u,d=on(a)>180;d^(o*Is<l&&l<o*n)?(u=s[1]*Un,u>kr&&(kr=u)):(l=(l+360)%360-180,d^(o*Is<l&&l<o*n)?(u=-s[1]*Un,u<dr&&(dr=u)):(e<dr&&(dr=e),e>kr&&(kr=e))),d?n<Is?Fr(Rn,n)>Fr(Rn,wn)&&(wn=n):Fr(n,wn)>Fr(Rn,wn)&&(Rn=n):wn>=Rn?(n<Rn&&(Rn=n),n>wn&&(wn=n)):n>Is?Fr(Rn,n)>Fr(Rn,wn)&&(wn=n):Fr(n,wn)>Fr(Rn,wn)&&(Rn=n)}else P3.push(i3=[Rn=n,wn=n]);e<dr&&(dr=e),e>kr&&(kr=e),Ro=t,Is=n}function Wg(){F2.point=lN}function Hg(){i3[0]=Rn,i3[1]=wn,F2.point=zh,Ro=null}function uN(n,e){if(Ro){var t=n-Is;z6.add(on(t)>180?t+(t>0?360:-360):t)}else aN=n,oN=e;n3.point(n,e),lN(n,e)}function dH(){n3.lineStart()}function qH(){uN(aN,oN),n3.lineEnd(),on(z6)>O1&&(Rn=-(wn=180)),i3[0]=Rn,i3[1]=wn,Ro=null}function Fr(n,e){return(e-=n)<0?e+360:e}function pH(n,e){return n[0]-e[0]}function Kg(n,e){return n[0]<=n[1]?n[0]<=e&&e<=n[1]:e<n[0]||n[1]<e}function cN(n){var e,t,i,r,s,a,o;if(kr=wn=-(Rn=dr=1/0),P3=[],J9(n,F2),t=P3.length){for(P3.sort(pH),e=1,i=P3[0],s=[i];e<t;++e)r=P3[e],Kg(i,r[0])||Kg(i,r[1])?(Fr(i[0],r[1])>Fr(i[0],i[1])&&(i[1]=r[1]),Fr(r[0],i[1])>Fr(i[0],i[1])&&(i[0]=r[0])):s.push(i=r);for(a=-1/0,t=s.length-1,e=0,i=s[t];e<=t;i=r,++e)r=s[e],(o=Fr(i[1],r[0]))>a&&(a=o,Rn=r[0],wn=i[1])}return P3=i3=null,Rn===1/0||dr===1/0?[[NaN,NaN],[NaN,NaN]]:[[Rn,dr],[wn,kr]]}var R6,Y7,$7,j7,X7,Z7,Q7,J7,Wh,Hh,Kh,AN,hN,er,tr,nr,b0={sphere:Vi,point:dq,lineStart:Yg,lineEnd:$g,polygonStart:function(){b0.lineStart=gH,b0.lineEnd=EH},polygonEnd:function(){b0.lineStart=Yg,b0.lineEnd=$g}};function dq(n,e){n*=l1,e*=l1;var t=m1(e);i5(t*m1(n),t*Qt(n),Qt(e))}function i5(n,e,t){++R6,$7+=(n-$7)/R6,j7+=(e-j7)/R6,X7+=(t-X7)/R6}function Yg(){b0.point=_H}function _H(n,e){n*=l1,e*=l1;var t=m1(e);er=t*m1(n),tr=t*Qt(n),nr=Qt(e),b0.point=mH,i5(er,tr,nr)}function mH(n,e){n*=l1,e*=l1;var t=m1(e),i=t*m1(n),r=t*Qt(n),s=Qt(e),a=f0(e3((a=tr*s-nr*r)*a+(a=nr*i-er*s)*a+(a=er*r-tr*i)*a),er*i+tr*r+nr*s);Y7+=a,Z7+=a*(er+(er=i)),Q7+=a*(tr+(tr=r)),J7+=a*(nr+(nr=s)),i5(er,tr,nr)}function $g(){b0.point=dq}function gH(){b0.point=MH}function EH(){fN(AN,hN),b0.point=dq}function MH(n,e){AN=n,hN=e,n*=l1,e*=l1,b0.point=fN;var t=m1(e);er=t*m1(n),tr=t*Qt(n),nr=Qt(e),i5(er,tr,nr)}function fN(n,e){n*=l1,e*=l1;var t=m1(e),i=t*m1(n),r=t*Qt(n),s=Qt(e),a=tr*s-nr*r,o=nr*i-er*s,l=er*r-tr*i,u=Uh(a,o,l),d=t3(u),q=u&&-d/u;Wh.add(q*a),Hh.add(q*o),Kh.add(q*l),Y7+=d,Z7+=d*(er+(er=i)),Q7+=d*(tr+(tr=r)),J7+=d*(nr+(nr=s)),i5(er,tr,nr)}function jg(n){R6=Y7=$7=j7=X7=Z7=Q7=J7=0,Wh=new $2,Hh=new $2,Kh=new $2,J9(n,b0);var e=+Wh,t=+Hh,i=+Kh,r=Uh(e,t,i);return r<V7&&(e=Z7,t=Q7,i=J7,Y7<O1&&(e=$7,t=j7,i=X7),r=Uh(e,t,i),r<V7)?[NaN,NaN]:[f0(t,e)*Un,t3(i/r)*Un]}function Yh(n,e){function t(i,r){return i=n(i,r),e(i[0],i[1])}return n.invert&&e.invert&&(t.invert=function(i,r){return i=e.invert(i,r),i&&n.invert(i[0],i[1])}),t}function $h(n,e){return on(n)>B1&&(n-=Math.round(n/jr)*jr),[n,e]}$h.invert=$h;function dN(n,e,t){return(n%=jr)?e||t?Yh(Zg(n),Qg(e,t)):Zg(n):e||t?Qg(e,t):$h}function Xg(n){return function(e,t){return e+=n,on(e)>B1&&(e-=Math.round(e/jr)*jr),[e,t]}}function Zg(n){var e=Xg(n);return e.invert=Xg(-n),e}function Qg(n,e){var t=m1(n),i=Qt(n),r=m1(e),s=Qt(e);function a(o,l){var u=m1(l),d=m1(o)*u,q=Qt(o)*u,_=Qt(l),g=_*t+d*i;return[f0(q*r-g*s,d*t-_*i),t3(g*r+q*s)]}return a.invert=function(o,l){var u=m1(l),d=m1(o)*u,q=Qt(o)*u,_=Qt(l),g=_*r-q*s;return[f0(q*r+_*s,d*t+g*i),t3(g*t-d*i)]},a}function xH(n){n=dN(n[0]*l1,n[1]*l1,n.length>2?n[2]*l1:0);function e(t){return t=n(t[0]*l1,t[1]*l1),t[0]*=Un,t[1]*=Un,t}return e.invert=function(t){return t=n.invert(t[0]*l1,t[1]*l1),t[0]*=Un,t[1]*=Un,t},e}function SH(n,e,t,i,r,s){if(t){var a=m1(e),o=Qt(e),l=i*t;r==null?(r=e+i*jr,s=e-l/2):(r=Jg(a,r),s=Jg(a,s),(i>0?r<s:r>s)&&(r+=i*jr));for(var u,d=r;i>0?d>s:d<s;d-=l)u=H7([a,-o*m1(d),-o*Qt(d)]),n.point(u[0],u[1])}}function Jg(n,e){e=fa(e),e[0]-=n,K7(e);var t=cH(-e[1]);return((-e[2]<0?-t:t)+jr-O1)%jr}function qN(){var n=[],e;return{point:function(t,i,r){e.push([t,i,r])},lineStart:function(){n.push(e=[])},lineEnd:Vi,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function c7(n,e){return on(n[0]-e[0])<O1&&on(n[1]-e[1])<O1}function pl(n,e,t,i){this.x=n,this.z=e,this.o=t,this.e=i,this.v=!1,this.n=this.p=null}function pN(n,e,t,i,r){var s=[],a=[],o,l;if(n.forEach(function(M){if(!((N=M.length-1)<=0)){var N,y=M[0],S=M[N],R;if(c7(y,S)){if(!y[2]&&!S[2]){for(r.lineStart(),o=0;o<N;++o)r.point((y=M[o])[0],y[1]);r.lineEnd();return}S[0]+=2*O1}s.push(R=new pl(y,M,null,!0)),a.push(R.o=new pl(y,null,R,!1)),s.push(R=new pl(S,M,null,!1)),a.push(R.o=new pl(S,null,R,!0))}}),!!s.length){for(a.sort(e),eE(s),eE(a),o=0,l=a.length;o<l;++o)a[o].e=t=!t;for(var u=s[0],d,q;;){for(var _=u,g=!0;_.v;)if((_=_.n)===u)return;d=_.z,r.lineStart();do{if(_.v=_.o.v=!0,_.e){if(g)for(o=0,l=d.length;o<l;++o)r.point((q=d[o])[0],q[1]);else i(_.x,_.n.x,1,r);_=_.n}else{if(g)for(d=_.p.z,o=d.length-1;o>=0;--o)r.point((q=d[o])[0],q[1]);else i(_.x,_.p.x,-1,r);_=_.p}_=_.o,d=_.z,g=!g}while(!_.v);r.lineEnd()}}}function eE(n){if(e=n.length){for(var e,t=0,i=n[0],r;++t<e;)i.n=r=n[t],r.p=i,i=r;i.n=r=n[0],r.p=i}}function Qc(n){return on(n[0])<=B1?n[0]:lH(n[0])*((on(n[0])+B1)%jr-B1)}function _N(n,e){var t=Qc(e),i=e[1],r=Qt(i),s=[Qt(t),-m1(t),0],a=0,o=0,l=new $2;r===1?i=mr+O1:r===-1&&(i=-mr-O1);for(var u=0,d=n.length;u<d;++u)if(_=(q=n[u]).length)for(var q,_,g=q[_-1],M=Qc(g),N=g[1]/2+k7,y=Qt(N),S=m1(N),R=0;R<_;++R,M=b,y=B,S=C,g=O){var O=q[R],b=Qc(O),D=O[1]/2+k7,B=Qt(D),C=m1(D),G=b-M,L=G>=0?1:-1,P=L*G,w=P>B1,z=y*B;if(l.add(f0(z*L*Qt(P),S*C+z*m1(P))),a+=w?G+L*jr:G,w^M>=t^b>=t){var H=l4(fa(g),fa(O));K7(H);var j=l4(s,H);K7(j);var Y=(w^G>=0?-1:1)*t3(j[2]);(i>Y||i===Y&&(H[0]||H[1]))&&(o+=w^G>=0?1:-1)}}return(a<-O1||a<O1&&l<-V7)^o&1}function mN(n,e,t,i){return function(r){var s=e(r),a=qN(),o=e(a),l=!1,u,d,q,_={point:g,lineStart:N,lineEnd:y,polygonStart:function(){_.point=S,_.lineStart=R,_.lineEnd=O,d=[],u=[]},polygonEnd:function(){_.point=g,_.lineStart=N,_.lineEnd=y,d=M8(d);var b=_N(u,i);d.length?(l||(r.polygonStart(),l=!0),pN(d,NH,b,t,r)):b&&(l||(r.polygonStart(),l=!0),r.lineStart(),t(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),d=u=null},sphere:function(){r.polygonStart(),r.lineStart(),t(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function g(b,D){n(b,D)&&r.point(b,D)}function M(b,D){s.point(b,D)}function N(){_.point=M,s.lineStart()}function y(){_.point=g,s.lineEnd()}function S(b,D){q.push([b,D]),o.point(b,D)}function R(){o.lineStart(),q=[]}function O(){S(q[0][0],q[0][1]),o.lineEnd();var b=o.clean(),D=a.result(),B,C=D.length,G,L,P;if(q.pop(),u.push(q),q=null,!!C){if(b&1){if(L=D[0],(G=L.length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),B=0;B<G;++B)r.point((P=L[B])[0],P[1]);r.lineEnd()}return}C>1&&b&2&&D.push(D.pop().concat(D.shift())),d.push(D.filter(yH))}}return _}}function yH(n){return n.length>1}function NH(n,e){return((n=n.x)[0]<0?n[1]-mr-O1:mr-n[1])-((e=e.x)[0]<0?e[1]-mr-O1:mr-e[1])}const tE=mN(function(){return!0},vH,TH,[-B1,-mr]);function vH(n){var e=NaN,t=NaN,i=NaN,r;return{lineStart:function(){n.lineStart(),r=1},point:function(s,a){var o=s>0?B1:-B1,l=on(s-e);on(l-B1)<O1?(n.point(e,t=(t+a)/2>0?mr:-mr),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(o,t),n.point(s,t),r=0):i!==o&&l>=B1&&(on(e-i)<O1&&(e-=i*O1),on(s-o)<O1&&(s-=o*O1),t=OH(e,t,s,a),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(o,t),r=0),n.point(e=s,t=a),i=o},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-r}}}function OH(n,e,t,i){var r,s,a=Qt(n-t);return on(a)>O1?fq((Qt(e)*(s=m1(i))*Qt(t)-Qt(i)*(r=m1(e))*Qt(n))/(r*s*a)):(e+i)/2}function TH(n,e,t,i){var r;if(n==null)r=t*mr,i.point(-B1,r),i.point(0,r),i.point(B1,r),i.point(B1,0),i.point(B1,-r),i.point(0,-r),i.point(-B1,-r),i.point(-B1,0),i.point(-B1,r);else if(on(n[0]-e[0])>O1){var s=n[0]<e[0]?B1:-B1;r=t*s/2,i.point(-s,r),i.point(0,r),i.point(s,r)}else i.point(e[0],e[1])}function RH(n){var e=m1(n),t=2*l1,i=e>0,r=on(e)>O1;function s(d,q,_,g){SH(g,n,t,_,d,q)}function a(d,q){return m1(d)*m1(q)>e}function o(d){var q,_,g,M,N;return{lineStart:function(){M=g=!1,N=1},point:function(y,S){var R=[y,S],O,b=a(y,S),D=i?b?0:u(y,S):b?u(y+(y<0?B1:-B1),S):0;if(!q&&(M=g=b)&&d.lineStart(),b!==g&&(O=l(q,R),(!O||c7(q,O)||c7(R,O))&&(R[2]=1)),b!==g)N=0,b?(d.lineStart(),O=l(R,q),d.point(O[0],O[1])):(O=l(q,R),d.point(O[0],O[1],2),d.lineEnd()),q=O;else if(r&&q&&i^b){var B;!(D&_)&&(B=l(R,q,!0))&&(N=0,i?(d.lineStart(),d.point(B[0][0],B[0][1]),d.point(B[1][0],B[1][1]),d.lineEnd()):(d.point(B[1][0],B[1][1]),d.lineEnd(),d.lineStart(),d.point(B[0][0],B[0][1],3)))}b&&(!q||!c7(q,R))&&d.point(R[0],R[1]),q=R,g=b,_=D},lineEnd:function(){g&&d.lineEnd(),q=null},clean:function(){return N|(M&&g)<<1}}}function l(d,q,_){var g=fa(d),M=fa(q),N=[1,0,0],y=l4(g,M),S=dl(y,y),R=y[0],O=S-R*R;if(!O)return!_&&d;var b=e*S/O,D=-e*R/O,B=l4(N,y),C=ql(N,b),G=ql(y,D);Zc(C,G);var L=B,P=dl(C,L),w=dl(L,L),z=P*P-w*(dl(C,C)-1);if(!(z<0)){var H=e3(z),j=ql(L,(-P-H)/w);if(Zc(j,C),j=H7(j),!_)return j;var Y=d[0],Q=q[0],oe=d[1],ae=q[1],fe;Q<Y&&(fe=Y,Y=Q,Q=fe);var xe=Q-Y,Te=on(xe-B1)<O1,He=Te||xe<O1;if(!Te&&ae<oe&&(fe=oe,oe=ae,ae=fe),He?Te?oe+ae>0^j[1]<(on(j[0]-Y)<O1?oe:ae):oe<=j[1]&&j[1]<=ae:xe>B1^(Y<=j[0]&&j[0]<=Q)){var Je=ql(L,(-P+H)/w);return Zc(Je,C),[j,H7(Je)]}}}function u(d,q){var _=i?n:B1-n,g=0;return d<-_?g|=1:d>_&&(g|=2),q<-_?g|=4:q>_&&(g|=8),g}return mN(a,o,s,i?[0,-n]:[-B1,n-B1])}function bH(n,e,t,i,r,s){var a=n[0],o=n[1],l=e[0],u=e[1],d=0,q=1,_=l-a,g=u-o,M;if(M=t-a,!(!_&&M>0)){if(M/=_,_<0){if(M<d)return;M<q&&(q=M)}else if(_>0){if(M>q)return;M>d&&(d=M)}
vendor: 7,555 bytes, line 3835
3835if(M=r-a,!(!_&&M<0)){if(M/=_,_<0){if(M>q)return;M>d&&(d=M)}else if(_>0){if(M<d)return;M<q&&(q=M)}if(M=i-o,!(!g&&M>0)){if(M/=g,g<0){if(M<d)return;M<q&&(q=M)}else if(g>0){if(M>q)return;M>d&&(d=M)}if(M=s-o,!(!g&&M<0)){if(M/=g,g<0){if(M>q)return;M>d&&(d=M)}else if(g>0){if(M<d)return;M<q&&(q=M)}return d>0&&(n[0]=a+d*_,n[1]=o+d*g),q<1&&(e[0]=a+q*_,e[1]=o+q*g),!0}}}}}var b6=1e9,_l=-b6;function IH(n,e,t,i){function r(u,d){return n<=u&&u<=t&&e<=d&&d<=i}function s(u,d,q,_){var g=0,M=0;if(u==null||(g=a(u,q))!==(M=a(d,q))||l(u,d)<0^q>0)do _.point(g===0||g===3?n:t,g>1?i:e);while((g=(g+q+4)%4)!==M);else _.point(d[0],d[1])}function a(u,d){return on(u[0]-n)<O1?d>0?0:3:on(u[0]-t)<O1?d>0?2:1:on(u[1]-e)<O1?d>0?1:0:d>0?3:2}function o(u,d){return l(u.x,d.x)}function l(u,d){var q=a(u,1),_=a(d,1);return q!==_?q-_:q===0?d[1]-u[1]:q===1?u[0]-d[0]:q===2?u[1]-d[1]:d[0]-u[0]}return function(u){var d=u,q=qN(),_,g,M,N,y,S,R,O,b,D,B,C={point:G,lineStart:z,lineEnd:H,polygonStart:P,polygonEnd:w};function G(Y,Q){r(Y,Q)&&d.point(Y,Q)}function L(){for(var Y=0,Q=0,oe=g.length;Q<oe;++Q)for(var ae=g[Q],fe=1,xe=ae.length,Te=ae[0],He,Je,Se=Te[0],we=Te[1];fe<xe;++fe)He=Se,Je=we,Te=ae[fe],Se=Te[0],we=Te[1],Je<=i?we>i&&(Se-He)*(i-Je)>(we-Je)*(n-He)&&++Y:we<=i&&(Se-He)*(i-Je)<(we-Je)*(n-He)&&--Y;return Y}function P(){d=q,_=[],g=[],B=!0}function w(){var Y=L(),Q=B&&Y,oe=(_=M8(_)).length;(Q||oe)&&(u.polygonStart(),Q&&(u.lineStart(),s(null,null,1,u),u.lineEnd()),oe&&pN(_,o,Y,s,u),u.polygonEnd()),d=u,_=g=M=null}function z(){C.point=j,g&&g.push(M=[]),D=!0,b=!1,R=O=NaN}function H(){_&&(j(N,y),S&&b&&q.rejoin(),_.push(q.result())),C.point=G,b&&d.lineEnd()}function j(Y,Q){var oe=r(Y,Q);if(g&&M.push([Y,Q]),D)N=Y,y=Q,S=oe,D=!1,oe&&(d.lineStart(),d.point(Y,Q));else if(oe&&b)d.point(Y,Q);else{var ae=[R=Math.max(_l,Math.min(b6,R)),O=Math.max(_l,Math.min(b6,O))],fe=[Y=Math.max(_l,Math.min(b6,Y)),Q=Math.max(_l,Math.min(b6,Q))];bH(ae,fe,n,e,t,i)?(b||(d.lineStart(),d.point(ae[0],ae[1])),d.point(fe[0],fe[1]),oe||d.lineEnd(),B=!1):oe&&(d.lineStart(),d.point(Y,Q),B=!1)}R=Y,O=Q,b=oe}return C}}var jh,Xh,A7,h7,u4={sphere:Vi,point:Vi,lineStart:PH,lineEnd:Vi,polygonStart:Vi,polygonEnd:Vi};function PH(){u4.point=DH,u4.lineEnd=LH}function LH(){u4.point=u4.lineEnd=Vi}function DH(n,e){n*=l1,e*=l1,Xh=n,A7=Qt(e),h7=m1(e),u4.point=CH}function CH(n,e){n*=l1,e*=l1;var t=Qt(e),i=m1(e),r=on(n-Xh),s=m1(r),a=Qt(r),o=i*a,l=h7*t-A7*i*s,u=A7*t+h7*i*s;jh.add(f0(e3(o*o+l*l),u)),Xh=n,A7=t,h7=i}function wH(n){return jh=new $2,J9(n,u4),+jh}var Zh=[null,null],BH={type:"LineString",coordinates:Zh};function j3(n,e){return Zh[0]=n,Zh[1]=e,wH(BH)}var nE={Feature:function(n,e){return e9(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++i<r;)if(e9(t[i].geometry,e))return!0;return!1}},iE={Sphere:function(){return!0},Point:function(n,e){return rE(n.coordinates,e)},MultiPoint:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)if(rE(t[i],e))return!0;return!1},LineString:function(n,e){return sE(n.coordinates,e)},MultiLineString:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)if(sE(t[i],e))return!0;return!1},Polygon:function(n,e){return aE(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)if(aE(t[i],e))return!0;return!1},GeometryCollection:function(n,e){for(var t=n.geometries,i=-1,r=t.length;++i<r;)if(e9(t[i],e))return!0;return!1}};function e9(n,e){return n&&iE.hasOwnProperty(n.type)?iE[n.type](n,e):!1}function rE(n,e){return j3(n,e)===0}function sE(n,e){for(var t,i,r,s=0,a=n.length;s<a;s++){if(i=j3(n[s],e),i===0||s>0&&(r=j3(n[s],n[s-1]),r>0&&t<=r&&i<=r&&(t+i-r)*(1-Math.pow((t-i)/r,2))<V7*r))return!0;t=i}return!1}function aE(n,e){return!!_N(n.map(UH),gN(e))}function UH(n){return n=n.map(gN),n.pop(),n}function gN(n){return[n[0]*l1,n[1]*l1]}function FH(n,e){return(n&&nE.hasOwnProperty(n.type)?nE[n.type]:e9)(n,e)}function oE(n,e,t){var i=po(n,e-O1,t).concat(e);return function(r){return i.map(function(s){return[r,s]})}}function lE(n,e,t){var i=po(n,e-O1,t).concat(e);return function(r){return i.map(function(s){return[s,r]})}}function GH(){var n,e,t,i,r,s,a,o,l=10,u=l,d=90,q=360,_,g,M,N,y=2.5;function S(){return{type:"MultiLineString",coordinates:R()}}function R(){return po(fl(i/d)*d,t,d).map(M).concat(po(fl(o/q)*q,a,q).map(N)).concat(po(fl(e/l)*l,n,l).filter(function(O){return on(O%d)>O1}).map(_)).concat(po(fl(s/u)*u,r,u).filter(function(O){return on(O%q)>O1}).map(g))}return S.lines=function(){return R().map(function(O){return{type:"LineString",coordinates:O}})},S.outline=function(){return{type:"Polygon",coordinates:[M(i).concat(N(a).slice(1),M(t).reverse().slice(1),N(o).reverse().slice(1))]}},S.extent=function(O){return arguments.length?S.extentMajor(O).extentMinor(O):S.extentMinor()},S.extentMajor=function(O){return arguments.length?(i=+O[0][0],t=+O[1][0],o=+O[0][1],a=+O[1][1],i>t&&(O=i,i=t,t=O),o>a&&(O=o,o=a,a=O),S.precision(y)):[[i,o],[t,a]]},S.extentMinor=function(O){return arguments.length?(e=+O[0][0],n=+O[1][0],s=+O[0][1],r=+O[1][1],e>n&&(O=e,e=n,n=O),s>r&&(O=s,s=r,r=O),S.precision(y)):[[e,s],[n,r]]},S.step=function(O){return arguments.length?S.stepMajor(O).stepMinor(O):S.stepMinor()},S.stepMajor=function(O){return arguments.length?(d=+O[0],q=+O[1],S):[d,q]},S.stepMinor=function(O){return arguments.length?(l=+O[0],u=+O[1],S):[l,u]},S.precision=function(O){return arguments.length?(y=+O,_=oE(s,r,90),g=lE(e,n,y),M=oE(o,a,90),N=lE(i,t,y),S):y},S.extentMajor([[-180,-90+O1],[180,90-O1]]).extentMinor([[-180,-80-O1],[180,80+O1]])}function VH(){return GH()()}function qq(n,e){var t=n[0]*l1,i=n[1]*l1,r=e[0]*l1,s=e[1]*l1,a=m1(i),o=Qt(i),l=m1(s),u=Qt(s),d=a*m1(t),q=a*Qt(t),_=l*m1(r),g=l*Qt(r),M=2*t3(e3(Fg(s-i)+a*l*Fg(r-t))),N=Qt(M),y=M?function(S){var R=Qt(S*=M)/N,O=Qt(M-S)/N,b=O*d+R*_,D=O*q+R*g,B=O*o+R*u;return[f0(D,b)*Un,f0(B,e3(b*b+D*D))*Un]}:function(){return[t*Un,i*Un]};return y.distance=M,y}const uE=n=>n;var c4=1/0,t9=c4,N8=-c4,n9=N8,cE={point:kH,lineStart:Vi,lineEnd:Vi,polygonStart:Vi,polygonEnd:Vi,result:function(){var n=[[c4,t9],[N8,n9]];return N8=n9=-(t9=c4=1/0),n}};function kH(n,e){n<c4&&(c4=n),n>N8&&(N8=n),e<t9&&(t9=e),e>n9&&(n9=e)}function pq(n){return function(e){var t=new Qh;for(var i in n)t[i]=n[i];return t.stream=e,t}}function Qh(){}Qh.prototype={constructor:Qh,point:function(n,e){this.stream.point(n,e)},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()}};function _q(n,e,t){var i=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),i!=null&&n.clipExtent(null),J9(t,n.stream(cE)),e(cE.result()),i!=null&&n.clipExtent(i),n}function EN(n,e,t){return _q(n,function(i){var r=e[1][0]-e[0][0],s=e[1][1]-e[0][1],a=Math.min(r/(i[1][0]-i[0][0]),s/(i[1][1]-i[0][1])),o=+e[0][0]+(r-a*(i[1][0]+i[0][0]))/2,l=+e[0][1]+(s-a*(i[1][1]+i[0][1]))/2;n.scale(150*a).translate([o,l])},t)}function zH(n,e,t){return EN(n,[[0,0],e],t)}function WH(n,e,t){return _q(n,function(i){var r=+e,s=r/(i[1][0]-i[0][0]),a=(r-s*(i[1][0]+i[0][0]))/2,o=-s*i[0][1];n.scale(150*s).translate([a,o])},t)}function HH(n,e,t){return _q(n,function(i){var r=+e,s=r/(i[1][1]-i[0][1]),a=-s*i[0][0],o=(r-s*(i[1][1]+i[0][1]))/2;n.scale(150*s).translate([a,o])},t)}var AE=16,KH=m1(30*l1);function hE(n,e){return+e?$H(n,e):YH(n)}function YH(n){return pq({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function $H(n,e){function t(i,r,s,a,o,l,u,d,q,_,g,M,N,y){var S=u-i,R=d-r,O=S*S+R
3835*R;if(O>4*e&&N--){var b=a+_,D=o+g,B=l+M,C=e3(b*b+D*D+B*B),G=t3(B/=C),L=on(on(B)-1)<O1||on(s-q)<O1?(s+q)/2:f0(D,b),P=n(L,G),w=P[0],z=P[1],H=w-i,j=z-r,Y=R*H-S*j;(Y*Y/O>e||on((S*H+R*j)/O-.5)>.3||a*_+o*g+l*M<KH)&&(t(i,r,s,a,o,l,w,z,L,b/=C,D/=C,B,N,y),y.point(w,z),t(w,z,L,b,D,B,u,d,q,_,g,M,N,y))}}return function(i){var r,s,a,o,l,u,d,q,_,g,M,N,y={point:S,lineStart:R,lineEnd:b,polygonStart:function(){i.polygonStart(),y.lineStart=D},polygonEnd:function(){i.polygonEnd(),y.lineStart=R}};function S(G,L){G=n(G,L),i.point(G[0],G[1])}function R(){q=NaN,y.point=O,i.lineStart()}function O(G,L){var P=fa([G,L]),w=n(G,L);t(q,_,d,g,M,N,q=w[0],_=w[1],d=G,g=P[0],M=P[1],N=P[2],AE,i),i.point(q,_)}function b(){y.point=S,i.lineEnd()}function D(){R(),y.point=B,y.lineEnd=C}function B(G,L){O(r=G,L),s=q,a=_,o=g,l=M,u=N,y.point=O}function C(){t(q,_,d,g,M,N,s,a,r,o,l,u,AE,i),y.lineEnd=b,b()}return y}}var jH=pq({point:function(n,e){this.stream.point(n*l1,e*l1)}});function XH(n){return pq({point:function(e,t){var i=n(e,t);return this.stream.point(i[0],i[1])}})}function ZH(n,e,t,i,r){function s(a,o){return a*=i,o*=r,[e+n*a,t-n*o]}return s.invert=function(a,o){return[(a-e)/n*i,(t-o)/n*r]},s}function fE(n,e,t,i,r,s){if(!s)return ZH(n,e,t,i,r);var a=m1(s),o=Qt(s),l=a*n,u=o*n,d=a/n,q=o/n,_=(o*t-a*e)/n,g=(o*e+a*t)/n;function M(N,y){return N*=i,y*=r,[l*N-u*y+e,t-u*N-l*y]}return M.invert=function(N,y){return[i*(d*N-q*y+_),r*(g-q*N-d*y)]},M}function QH(n){return JH(function(){return n})()}function JH(n){var e,t=150,i=480,r=250,s=0,a=0,o=0,l=0,u=0,d,q=0,_=1,g=1,M=null,N=tE,y=null,S,R,O,b=uE,D=.5,B,C,G,L,P;function w(Y){return G(Y[0]*l1,Y[1]*l1)}function z(Y){return Y=G.invert(Y[0],Y[1]),Y&&[Y[0]*Un,Y[1]*Un]}w.stream=function(Y){return L&&P===Y?L:L=jH(XH(d)(N(B(b(P=Y)))))},w.preclip=function(Y){return arguments.length?(N=Y,M=void 0,j()):N},w.postclip=function(Y){return arguments.length?(b=Y,y=S=R=O=null,j()):b},w.clipAngle=function(Y){return arguments.length?(N=+Y?RH(M=Y*l1):(M=null,tE),j()):M*Un},w.clipExtent=function(Y){return arguments.length?(b=Y==null?(y=S=R=O=null,uE):IH(y=+Y[0][0],S=+Y[0][1],R=+Y[1][0],O=+Y[1][1]),j()):y==null?null:[[y,S],[R,O]]},w.scale=function(Y){return arguments.length?(t=+Y,H()):t},w.translate=function(Y){return arguments.length?(i=+Y[0],r=+Y[1],H()):[i,r]},w.center=function(Y){return arguments.length?(s=Y[0]%360*l1,a=Y[1]%360*l1,H()):[s*Un,a*Un]},w.rotate=function(Y){return arguments.length?(o=Y[0]%360*l1,l=Y[1]%360*l1,u=Y.length>2?Y[2]%360*l1:0,H()):[o*Un,l*Un,u*Un]},w.angle=function(Y){return arguments.length?(q=Y%360*l1,H()):q*Un},w.reflectX=function(Y){return arguments.length?(_=Y?-1:1,H()):_<0},w.reflectY=function(Y){return arguments.length?(g=Y?-1:1,H()):g<0},w.precision=function(Y){return arguments.length?(B=hE(C,D=Y*Y),j()):e3(D)},w.fitExtent=function(Y,Q){return EN(w,Y,Q)},w.fitSize=function(Y,Q){return zH(w,Y,Q)},w.fitWidth=function(Y,Q){return WH(w,Y,Q)},w.fitHeight=function(Y,Q){return HH(w,Y,Q)};function H(){var Y=fE(t,0,0,_,g,q).apply(null,e(s,a)),Q=fE(t,i-Y[0],r-Y[1],_,g,q);return d=dN(o,l,u),C=Yh(e,Q),G=Yh(d,C),B=hE(C,D),j()}function j(){return L=P=null,w}return function(){return e=n.apply(this,arguments),w.invert=e.invert&&z,H()}}function eK(n){return function(e,t){var i=e3(e*e+t*t),r=n(i),s=Qt(r),a=m1(r);return[f0(e*s,i*a),t3(i&&t*s/i)]}}function mq(n,e){return[n,oH(uH((mr+e)/2))]}mq.invert=function(n,e){return[n,2*fq(aH(e))-mr]};function MN(n,e){var t=m1(e),i=1+m1(n)*t;return[t*Qt(n)/i,Qt(e)/i]}MN.invert=eK(function(n){return 2*fq(n)});function tK(){return QH(MN).scale(250).clipAngle(142)}function Jh(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function nK(n){if(Array.isArray(n))return n}function iK(n){if(Array.isArray(n))return Jh(n)}function W6(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function rK(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function sK(n,e,t){return e=i9(e),qK(n,SN()?Reflect.construct(e,[],i9(n).constructor):e.apply(n,t))}function xN(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function aK(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function N1(n,e){return n.get(W6(n,e))}function N3(n,e,t){xN(n,e),e.set(n,t)}function v3(n,e,t){return n.set(W6(n,e),t),t}function oK(n,e){xN(n,e),e.add(n)}function lK(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,NN(i.key),i)}}function uK(n,e,t){return lK(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function Ya(n,e,t){return(e=NN(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function i9(n){return i9=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i9(n)}function cK(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&ef(n,e)}function SN(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(SN=function(){return!!n})()}function AK(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function hK(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}
3835finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function fK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3836In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dK(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3837In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qK(n,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return rK(n)}function ef(n,e){return ef=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},ef(n,e)}function f7(n,e){return nK(n)||hK(n,e)||vN(n,e)||fK()}function yN(n){return iK(n)||AK(n)||vN(n)||dK()}function pK(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function NN(n){var e=pK(n,"string");return typeof e=="symbol"?e:e+""}function vN(n,e){if(n){if(typeof n=="string")return Jh(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Jh(n,e):void 0}}var ON=function(e){e instanceof Array?e.forEach(ON):(e.map&&e.map.dispose(),e.dispose())},TN=function(e){e.geometry&&e.geometry.dispose(),e.material&&ON(e.material),e.texture&&e.texture.dispose(),e.children&&e.children.forEach(TN)},dE=function(e){if(e&&e.children)for(;e.children.length;){var t=e.children[0];e.remove(t),TN(t)}};function RN(n,e,t){var i=(90-n)*Math.PI/180,r=(90-e)*Math.PI/180;return{x:t*Math.sin(i)*Math.cos(r),y:t*Math.cos(i),z:t*Math.sin(i)*Math.sin(r)}}function _K(n){var e=n.x,t=n.y,i=n.z,r=Math.sqrt(e*e+t*t+i*i),s=Math.acos(t/r),a=Math.atan2(i,e);return{lat:90-s*180/Math.PI,lng:90-a*180/Math.PI-(a<-Math.PI/2?360:0),r}}function _s(n){return n*Math.PI/180}var bN=function(e){return 1-(mq(0,(.5-e)*Math.PI)[1]/Math.PI+1)/2},Jc=function(e){return Math.max(0,Math.min(1,bN(e)))},qE=function(e){return .5-mq.invert(0,(2*(1-e)-1)*Math.PI)[1]/Math.PI},mK=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=J2().domain([1,0]).range([t,i]).clamp(!0),s=J2().domain([Jc(t),Jc(i)]).range([1,0]).clamp(!0),a=function(q){return s(Jc(r(q)))},o=e.array,l=0,u=o.length;l<u;l+=2)o[l+1]=a(o[l+1]);e.needsUpdate=!0},pE=function(e,t,i,r){var s=Math.pow(2,e),a=Math.max(0,Math.min(s-1,Math.floor((i+180)*s/360))),o=(90-r)/180;t&&(o=Math.max(0,Math.min(1,bN(o))));var l=Math.floor(o*s);return[a,l]},tf=function(e,t){for(var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,o=[],l=Math.pow(2,e),u=360/l,d=180/l,q=s===void 0?l-1:s,_=a===void 0?l-1:a,g=i,M=Math.min(l-1,q);g<=M;g++)for(var N=r,y=Math.min(l-1,_);N<=y;N++){var S=N,R=d;if(t){S=N===0?N:qE(N/l)*l;var O=N+1===l?N+1:qE((N+1)/l)*l;R=(O-S)*180/l}var b=-180+(g+.5)*u,D=90-(S*180/l+R/2),B=R;o.push({x:g,y:N,lng:b,lat:D,latLen:B})}return o},gK=6,EK=7,MK=3,xK=90,t2=new WeakMap,D3=new WeakMap,eA=new WeakMap,ml=new WeakMap,n0=new WeakMap,r9=new WeakMap,bo=new WeakMap,ms=new WeakMap,gl=new WeakSet,SK=function(n){function e(t){var i,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.tileUrl,a=r.minLevel,o=a===void 0?0:a,l=r.maxLevel,u=l===void 0?17:l,d=r.mercatorProjection,q=d===void 0?!0:d;return aK(this,e),i=sK(this,e),oK(i,gl),N3(i,t2,void 0),N3(i,D3,void 0),N3(i,eA,void 0),N3(i,ml,void 0),N3(i,n0,{}),N3(i,r9,void 0),N3(i,bo,void 0),N3(i,ms,void 0),Ya(i,"minLevel",void 0),Ya(i,"maxLevel",void 0),Ya(i,"thresholds",yN(new Array(30)).map(function(_,g){return 8/Math.pow(2,g)})),Ya(i,"curvatureResolution",5),Ya(i,"tileMargin",0),Ya(i,"clearTiles",function(){Object.values(N1(n0,i)).forEac
3837h(function(_){_.forEach(function(g){g.obj&&(i.remove(g.obj),dE(g.obj),delete g.obj)})}),v3(n0,i,{})}),v3(t2,i,t),i.tileUrl=s,v3(D3,i,q),i.minLevel=o,i.maxLevel=u,i.level=0,i.add(v3(ms,i,new F1(new T2(N1(t2,i)*.99,180,90),new a0({color:0})))),N1(ms,i).visible=!1,N1(ms,i).material.polygonOffset=!0,N1(ms,i).material.polygonOffsetUnits=3,N1(ms,i).material.polygonOffsetFactor=1,i}return cK(e,n),uK(e,[{key:"tileUrl",get:function(){return N1(eA,this)},set:function(i){v3(eA,this,i),this.updatePov(N1(bo,this))}},{key:"level",get:function(){return N1(ml,this)},set:function(i){var r=this;N1(n0,this)[i]||W6(gl,this,yK).call(this,i);var s=N1(ml,this);if(v3(ml,this,i),!(i===s||s===void 0)){if(N1(ms,this).visible=i>0,N1(n0,this)[i].forEach(function(o){return o.obj&&(o.obj.material.depthWrite=!0)}),s<i&&N1(n0,this)[s].forEach(function(o){return o.obj&&(o.obj.material.depthWrite=!1)}),s>i)for(var a=i+1;a<=s;a++)N1(n0,this)[a]&&N1(n0,this)[a].forEach(function(o){o.obj&&(r.remove(o.obj),dE(o.obj),delete o.obj)});W6(gl,this,_E).call(this)}}},{key:"updatePov",value:function(i){var r=this;if(!(!i||!(i instanceof Q8))){v3(bo,this,i);var s;if(v3(r9,this,function(d){if(!d.hullPnts){var q=360/Math.pow(2,r.level),_=d.lng,g=d.lat,M=d.latLen,N=_-q/2,y=_+q/2,S=g-M/2,R=g+M/2;d.hullPnts=[[g,_],[S,N],[R,N],[S,y],[R,y]].map(function(O){var b=f7(O,2),D=b[0],B=b[1];return RN(D,B,N1(t2,r))}).map(function(O){var b=O.x,D=O.y,B=O.z;return new Z(b,D,B)})}return s||(s=new b4,i.updateMatrix(),i.updateMatrixWorld(),s.setFromProjectionMatrix(new Yt().multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse))),d.hullPnts.some(function(O){return s.containsPoint(O.clone().applyMatrix4(r.matrixWorld))})}),this.tileUrl){var a=i.position.clone(),o=a.distanceTo(this.getWorldPosition(new Z)),l=(o-N1(t2,this))/N1(t2,this),u=this.thresholds.findIndex(function(d){return d&&d<=l});this.level=Math.min(this.maxLevel,Math.max(this.minLevel,u<0?this.thresholds.length:u)),W6(gl,this,_E).call(this)}}}}])}(pr);function yK(n){var e=this;if(n>EK){N1(n0,this)[n]=[];return}var t=N1(n0,this)[n]=tf(n,N1(D3,this));t.forEach(function(i){return i.centroid=RN(i.lat,i.lng,N1(t2,e))}),t.octree=ky().x(function(i){return i.centroid.x}).y(function(i){return i.centroid.y}).z(function(i){return i.centroid.z}).addAll(t)}function _E(){var n=this;if(!(!this.tileUrl||this.level===void 0||!N1(n0,this).hasOwnProperty(this.level))&&!(!N1(r9,this)&&this.level>gK)){var e=N1(n0,this)[this.level];if(N1(bo,this)){var t=this.worldToLocal(N1(bo,this).position.clone());if(e.octree){var i,r=this.worldToLocal(N1(bo,this).position.clone()),s=(r.length()-N1(t2,this))*MK;e=(i=e.octree).findAllWithinRadius.apply(i,yN(r).concat([s]))}else{var a=_K(t),o=(a.r/N1(t2,this)-1)*xK,l=o/Math.cos(_s(a.lat)),u=[a.lng-l,a.lng+l],d=[a.lat+o,a.lat-o],q=pE(this.level,N1(D3,this),u[0],d[0]),_=f7(q,2),g=_[0],M=_[1],N=pE(this.level,N1(D3,this),u[1],d[1]),y=f7(N,2),S=y[0],R=y[1];!e.record&&(e.record={});var O=e.record;if(!O.hasOwnProperty("".concat(Math.round((g+S)/2),"_").concat(Math.round((M+R)/2))))e=tf(this.level,N1(D3,this),g,M,S,R).map(function(G){var L="".concat(G.x,"_").concat(G.y);return O.hasOwnProperty(L)?O[L]:(O[L]=G,e.push(G),G)});else{for(var b=[],D=g;D<=S;D++)for(var B=M;B<=R;B++){var C="".concat(D,"_").concat(B);O.hasOwnProperty(C)||(O[C]=tf(this.level,N1(D3,this),D,B,D,B)[0],e.push(O[C])),b.push(O[C])}e=b}}}e.filter(function(G){return!G.obj}).filter(N1(r9,this)||function(){return!0}).forEach(function(G){var L=G.x,P=G.y,w=G.lng,z=G.lat,H=G.latLen,j=360/Math.pow(2,n.level);if(!G.obj){var Y=j*(1-n.tileMargin),Q=H*(1-n.tileMargin),oe=_s(w),ae=_s(-z),fe=new F1(new T2(N1(t2,n),Math.ceil(Y/n.curvatureResolution),Math.ceil(Q/n.curvatureResolution),_s(90-Y/2)+oe,_s(Y),_s(90-Q/2)+ae,_s(Q)),new u3);if(N1(D3,n)){var xe=[z+H/2,z-H/2].map(function(Se){return .5-Se/180}),Te=f7(xe,2),He=Te[0],Je=Te[1];mK(fe.geometry.attributes.uv,He,Je)}G.obj=fe}G.loading||(G.loading=!0,new iq().load(n.tileUrl(L,P,n.level),function(Se){var we=G.obj;we&&(Se.colorSpace=vi,we.material.map=Se,we.material.color=null,we.material.needsUpdate=!0,n.add(we)),G.loading=!1}))})}}function NK(n,e,t=2){const i=e&&e.length,r=i?e[0]*t:n.length;let s=IN(n,0,r,t,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,u;if(i&&(s=bK(n,e,s,t)),n.length>80*t){o=1/0,l=1/0;let d=-1/0,q=-1/0;for(let _=t;_<r;_+=t){const g=n[_],M=n[_+1];g<o&&(o=g),M<l&&(l=M),g>d&&(d=g),M>q&&(q=M)}u=Math.max(d-o,q-l),u=u!==0?32767/u:0}return v8(s,a,t,o,l,u,0),a}function IN(n,e,t,i,r){let s;if(r===VK(n,e,t,i)>0)for(let a=e;a<t;
vendor: 4,892 bytes, line 3837
3837a+=i)s=mE(a/i|0,n[a],n[a+1],s);else for(let a=t-i;a>=e;a-=i)s=mE(a/i|0,n[a],n[a+1],s);return s&&A4(s,s.next)&&(T8(s),s=s.next),s}function da(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(A4(t,t.next)||In(t.prev,t,t.next)===0)){if(T8(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function v8(n,e,t,i,r,s,a){if(!n)return;!a&&s&&CK(n,i,r,s);let o=n;for(;n.prev!==n.next;){const l=n.prev,u=n.next;if(s?OK(n,i,r,s):vK(n)){e.push(l.i,n.i,u.i),T8(n),n=u.next,o=u.next;continue}if(n=u,n===o){a?a===1?(n=TK(da(n),e),v8(n,e,t,i,r,s,2)):a===2&&RK(n,e,t,i,r,s):v8(da(n),e,t,i,r,s,1);break}}}function vK(n){const e=n.prev,t=n,i=n.next;if(In(e,t,i)>=0)return!1;const r=e.x,s=t.x,a=i.x,o=e.y,l=t.y,u=i.y,d=Math.min(r,s,a),q=Math.min(o,l,u),_=Math.max(r,s,a),g=Math.max(o,l,u);let M=i.next;for(;M!==e;){if(M.x>=d&&M.x<=_&&M.y>=q&&M.y<=g&&I6(r,o,s,l,a,u,M.x,M.y)&&In(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function OK(n,e,t,i){const r=n.prev,s=n,a=n.next;if(In(r,s,a)>=0)return!1;const o=r.x,l=s.x,u=a.x,d=r.y,q=s.y,_=a.y,g=Math.min(o,l,u),M=Math.min(d,q,_),N=Math.max(o,l,u),y=Math.max(d,q,_),S=nf(g,M,e,t,i),R=nf(N,y,e,t,i);let O=n.prevZ,b=n.nextZ;for(;O&&O.z>=S&&b&&b.z<=R;){if(O.x>=g&&O.x<=N&&O.y>=M&&O.y<=y&&O!==r&&O!==a&&I6(o,d,l,q,u,_,O.x,O.y)&&In(O.prev,O,O.next)>=0||(O=O.prevZ,b.x>=g&&b.x<=N&&b.y>=M&&b.y<=y&&b!==r&&b!==a&&I6(o,d,l,q,u,_,b.x,b.y)&&In(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;O&&O.z>=S;){if(O.x>=g&&O.x<=N&&O.y>=M&&O.y<=y&&O!==r&&O!==a&&I6(o,d,l,q,u,_,O.x,O.y)&&In(O.prev,O,O.next)>=0)return!1;O=O.prevZ}for(;b&&b.z<=R;){if(b.x>=g&&b.x<=N&&b.y>=M&&b.y<=y&&b!==r&&b!==a&&I6(o,d,l,q,u,_,b.x,b.y)&&In(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function TK(n,e){let t=n;do{const i=t.prev,r=t.next.next;!A4(i,r)&&LN(i,t,t.next,r)&&O8(i,r)&&O8(r,i)&&(e.push(i.i,t.i,r.i),T8(t),T8(t.next),t=n=r),t=t.next}while(t!==n);return da(t)}function RK(n,e,t,i,r,s){let a=n;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&UK(a,o)){let l=DN(a,o);a=da(a,a.next),l=da(l,l.next),v8(a,e,t,i,r,s,0),v8(l,e,t,i,r,s,0);return}o=o.next}a=a.next}while(a!==n)}function bK(n,e,t,i){const r=[];for(let s=0,a=e.length;s<a;s++){const o=e[s]*i,l=s<a-1?e[s+1]*i:n.length,u=IN(n,o,l,i,!1);u===u.next&&(u.steiner=!0),r.push(BK(u))}r.sort(IK);for(let s=0;s<r.length;s++)t=PK(r[s],t);return t}function IK(n,e){let t=n.x-e.x;if(t===0&&(t=n.y-e.y,t===0)){const i=(n.next.y-n.y)/(n.next.x-n.x),r=(e.next.y-e.y)/(e.next.x-e.x);t=i-r}return t}function PK(n,e){const t=LK(n,e);if(!t)return e;const i=DN(t,n);return da(i,i.next),da(t,t.next)}function LK(n,e){let t=e;const i=n.x,r=n.y;let s=-1/0,a;if(A4(n,t))return t;do{if(A4(n,t.next))return t.next;if(r<=t.y&&r>=t.next.y&&t.next.y!==t.y){const q=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(q<=i&&q>s&&(s=q,a=t.x<t.next.x?t:t.next,q===i))return a}t=t.next}while(t!==e);if(!a)return null;const o=a,l=a.x,u=a.y;let d=1/0;t=a;do{if(i>=t.x&&t.x>=l&&i!==t.x&&PN(r<u?i:s,r,l,u,r<u?s:i,r,t.x,t.y)){const q=Math.abs(r-t.y)/(i-t.x);O8(t,n)&&(q<d||q===d&&(t.x>a.x||t.x===a.x&&DK(a,t)))&&(a=t,d=q)}t=t.next}while(t!==o);return a}function DK(n,e){return In(n.prev,n,e.prev)<0&&In(e.next,n,n.next)<0}function CK(n,e,t,i){let r=n;do r.z===0&&(r.z=nf(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,wK(r)}function wK(n){let e,t=1;do{let i=n,r;n=null;let s=null;for(e=0;i;){e++;let a=i,o=0;for(let u=0;u<t&&(o++,a=a.nextZ,!!a);u++);let l=t;for(;o>0||l>0&&a;)o!==0&&(l===0||!a||i.z<=a.z)?(r=i,i=i.nextZ,o--):(r=a,a=a.nextZ,l--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;i=a}s.nextZ=null,t*=2}while(e>1);return n}function nf(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function BK(n){let e=n,t=n;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==n);return t}function PN(n,e,t,i,r,s,a,o){return(r-a)*(e-o)>=(n-a)*(s-o)&&(n-a)*(i-o)>=(t-a)*(e-o)&&(t-a)*(s-o)>=(r-a)*(i-o)}function I6(n,e,t,i,r,s,a,o){return!(n===a&&e===o)&&PN(n,e,t,i,r,s,a,o)}function UK(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!FK(n,e)&&(O8(n,e)&&O8(e,n)&&GK(n,e)&&(In(n.prev,n,e.prev)||In(n,e.prev,e))||A4(n,e)&&In(n.prev,n,n.next)>0&&In(e.prev,e,e.next)>0)}function In(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function A4(n,e){return n.x===e.x&&n.y===e.y}function LN(n,e,t,i){const r=Ml(In(n,e,t)),s=Ml(In(n,e,i)),a=Ml(In(t,i,n)),o=Ml(In(t,i,e));return!!(r!==s&&a!==o||r===0&&El(n,t,e)||s===0&&El(n,i,e)||a===0&&El(t,n,i)||o===0&&El(t,e,i))}function El(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function Ml(n){return n>0?1:n<0?-1:0}function FK(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&LN(t,t.next,n,e))return!0;t=t.next}
3837while(t!==n);return!1}function O8(n,e){return In(n.prev,n,n.next)<0?In(n,e,n.next)>=0&&In(n,n.prev,e)>=0:In(n,e,n.prev)<0||In(n,n.next,e)<0}function GK(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function DN(n,e){const t=rf(n.i,n.x,n.y),i=rf(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function mE(n,e,t,i){const r=rf(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function T8(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function rf(n,e,t){return{i:n,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function VK(n,e,t,i){let r=0;for(let s=e,a=t-i;s<t;s+=i)r+=(n[a]-n[s])*(n[s+1]+n[a+1]),a=s;return r}function s9(n){const e=[],t=[],i=n[0][0].length;let r=0,s=0;for(const a of n){for(const o of a)for(let l=0;l<i;l++)e.push(o[l]);s&&(r+=s,t.push(r)),s=a.length}return{vertices:e,holes:t,dimensions:i}}function sf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function kK(n){if(Array.isArray(n))return n}function zK(n){if(Array.isArray(n))return sf(n)}function WK(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function HK(n,e,t){return e=a9(e),eY(n,CN()?Reflect.construct(e,[],a9(n).constructor):e.apply(n,t))}function KK(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function YK(n,e,t){return Object.defineProperty(n,"prototype",{writable:!1}),n}function $K(n,e){var t=typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=gq(n))||e){t&&(n=t);var i=0,r=function(){};return{s:r,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. 3838In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,a=!0,o=!1;return{s:function(){t=t.call(n)},n:function(){var l=t.next();return a=l.done,l},e:function(l){o=!0,s=l},f:function(){try{a||t.return==null||t.return()}finally{if(o)throw s}}}}function a9(n){return a9=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a9(n)}function jK(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&af(n,e)}function CN(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(CN=function(){return!!n})()}function XK(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function ZK(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function QK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3839In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JK(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3840In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eY(n,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return WK(n)}function af(n,e){return af=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},af(n,e)}function n6(n,e){return kK(n)||ZK(n,e)||gq(n,e)||QK()}function tY(n){return zK(n)||XK(n)||gq(n)||JK()}function gq(n,e){if(n){if(typeof n=="string")return sf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?sf(n,e):void 0}}var gE=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=[],r=null;return e.forEach(function(s){if(r){var a=j3(s,r)*180/Math.PI;if(a>t)for(var o=qq(r,s),l=r.length>2||s.length>2?y8(r[2]||0,s[2]||0):null,u=l?function(_){return[].concat(tY(o(_)),[l(_)])}:o,d=1/Math.ceil(a/t),q=d;q<1;)i.push(u(q)),q+=d}i.push(r=s)}),i},of=typeof window<"u"&&window.THREE?window.THREE:{BufferGeometry:en,Float32BufferAttribute:C1},nY=new of.BufferGeometry().setAttribute?"setAttribute":"addAttribute",wN=function(n){function e(t){var i,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5;KK(this,e),i=HK(this,e),i.type="GeoJsonGeometry",i.parameters={geoJson:t,radius:r,resolution:s};var a=({Point:d,MultiPoint:q,LineString:_,MultiLineString:g,Polygon:M,MultiPolygon:N}[t.type]||function(){return[]})(t.coordinates,r),o=[],l=[],u=0;a.forEach(function(y){var S=o.length;i6({indices:o,vertices:l},y),i.addGroup(S,o.length-S,u++)}),o.length&&i.setIndex(o),l.length&&i[nY]("position",new of.Float32BufferAttribute(l,3));function d(y,S){var R=tA(y[1],y[0],S+(y[2]||0)),O=[];return[{vertices:R,indices:O}]}function q(y,S){var R={vertices:[],indices:[]};return y.map(function(O){return d(O,S)}
3840).forEach(function(O){var b=n6(O,1),D=b[0];i6(R,D)}),[R]}function _(y,S){for(var R=gE(y,s).map(function(G){var L=n6(G,3),P=L[0],w=L[1],z=L[2],H=z===void 0?0:z;return tA(w,P,S+H)}),O=s9([R]),b=O.vertices,D=Math.round(b.length/3),B=[],C=1;C<D;C++)B.push(C-1,C);return[{vertices:b,indices:B}]}function g(y,S){var R={vertices:[],indices:[]};return y.map(function(O){return _(O,S)}).forEach(function(O){var b=n6(O,1),D=b[0];i6(R,D)}),[R]}function M(y,S){for(var R=y.map(function(Y){return gE(Y,s).map(function(Q){var oe=n6(Q,3),ae=oe[0],fe=oe[1],xe=oe[2],Te=xe===void 0?0:xe;return tA(fe,ae,S+Te)})}),O=s9(R),b=O.vertices,D=O.holes,B=D[0]||1/0,C=b.slice(0,B*3),G=b.slice(B*3),L=new Set(D),P=Math.round(b.length/3),w=[],z=[],H=1;H<P;H++)L.has(H)||(H<B?w.push(H-1,H):z.push(H-1-B,H-B));var j=[{indices:w,vertices:C}];return D.length&&j.push({indices:z,vertices:G}),j}function N(y,S){var R={vertices:[],indices:[]},O={vertices:[],indices:[]};y.map(function(D){return M(D,S)}).forEach(function(D){var B=n6(D,2),C=B[0],G=B[1];i6(R,C),G&&i6(O,G)});var b=[R];return O.vertices.length&&b.push(O),b}return i}return jK(e,n),YK(e)}(of.BufferGeometry);function i6(n,e){var t=Math.round(n.vertices.length/3);EE(n.vertices,e.vertices),EE(n.indices,e.indices.map(function(i){return i+t}))}function EE(n,e){var t=$K(e),i;try{for(t.s();!(i=t.n()).done;){var r=i.value;n.push(r)}}catch(s){t.e(s)}finally{t.f()}}function tA(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=(90-n)*Math.PI/180,r=(90-e)*Math.PI/180;return[t*Math.sin(i)*Math.cos(r),t*Math.cos(i),t*Math.sin(i)*Math.sin(r)]}function iY(n,e,t=!0){if(!e||!e.isReady)throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required.");if(!n.hasAttribute("position")||!n.hasAttribute("normal")||!n.hasAttribute("uv"))throw new Error('BufferGeometryUtils: Tangents require "position", "normal", and "uv" attributes.');function i(a){if(a.normalized||a.isInterleavedBufferAttribute){const o=new Float32Array(a.count*a.itemSize);for(let l=0,u=0;l<a.count;l++)o[u++]=a.getX(l),o[u++]=a.getY(l),a.itemSize>2&&(o[u++]=a.getZ(l));return o}return a.array instanceof Float32Array?a.array:new Float32Array(a.array)}const r=n.index?n.toNonIndexed():n,s=e.generateTangents(i(r.attributes.position),i(r.attributes.normal),i(r.attributes.uv));if(t)for(let a=3;a<s.length;a+=4)s[a]*=-1;return r.setAttribute("tangent",new vn(s,4)),n!==r&&n.copy(r),n}function rY(n,e=!1){const t=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),r=new Set(Object.keys(n[0].morphAttributes)),s={},a={},o=n[0].morphTargetsRelative,l=new en;let u=0;for(let d=0;d<n.length;++d){const q=n[d];let _=0;if(t!==(q.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const g in q.attributes){if(!i.has(g))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+'. All geometries must have compatible attributes; make sure "'+g+'" attribute exists among all geometries, or in none of them.'),null;s[g]===void 0&&(s[g]=[]),s[g].push(q.attributes[g]),_++}if(_!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". Make sure all geometries have the same number of attributes."),null;if(o!==q.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const g in q.morphAttributes){if(!r.has(g))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". .morphAttributes must be consistent throughout all geometries."),null;a[g]===void 0&&(a[g]=[]),a[g].push(q.morphAttributes[g])}if(e){let g;if(t)g=q.index.count;else if(q.attributes.position!==void 0)g=q.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". The geometry must have either an index or a position attribute"),null;l.addGroup(u,g,d),u+=g}}if(t){let d=0;const q=[];for(let _=0;_<n.length;++_){const g=n[_].index;for(let M=0;M<g.count;++M)q.push(g.getX(M)+d);d+=n[_].attributes.position.count}l.setIndex(q)}for(const d in s){const q=lf(s[d]);if(!q)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+d+" attribute."),null;l.setAttribute(d,q)}for(const d in a){const q=a[d][0].length;if(q===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[d]=[];for(let _=0;_<q;++_){const g=[];for(let N=0;N<a[d].length;++N)g.push(a[d][N][_]);const M=lf(g);if(!M)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+d+" morphAttribute."),null;l.morphAttributes[d].push(M)}}return l}function lf(n){let e,t,i,r=-1,s=0;for(let u=0;u<n.length;++u){const d=n[u];
3840if(e===void 0&&(e=d.array.constructor),e!==d.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(t===void 0&&(t=d.itemSize),t!==d.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=d.normalized),i!==d.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(r===-1&&(r=d.gpuType),r!==d.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;s+=d.count*t}const a=new e(s),o=new vn(a,t,i);let l=0;for(let u=0;u<n.length;++u){const d=n[u];if(d.isInterleavedBufferAttribute){const q=l/t;for(let _=0,g=d.count;_<g;_++)for(let M=0;M<t;M++){const N=d.getComponent(_,M);o.setComponent(_+q,M,N)}}else a.set(d.array,l);l+=d.count*t}return r!==void 0&&(o.gpuType=r),o}function sY(n){return n.isInstancedInterleavedBufferAttribute||n.isInterleavedBufferAttribute?o9(n):n.isInstancedBufferAttribute?new k3().copy(n):new vn().copy(n)}function aY(n){let e,t=0,i=0;for(let u=0,d=n.length;u<d;++u){const q=n[u];if(e===void 0&&(e=q.array.constructor),e!==q.array.constructor)return console.error("AttributeBuffers of different types cannot be interleaved"),null;t+=q.array.length,i+=q.itemSize}const r=new jd(new e(t),i);let s=0;const a=[],o=["getX","getY","getZ","getW"],l=["setX","setY","setZ","setW"];for(let u=0,d=n.length;u<d;u++){const q=n[u],_=q.itemSize,g=q.count,M=new a2(r,_,s,q.normalized);a.push(M),s+=_;for(let N=0;N<g;N++)for(let y=0;y<_;y++)M[l[y]](N,q[o[y]](N))}return a}function o9(n){const e=n.data.array.constructor,t=n.count,i=n.itemSize,r=n.normalized,s=new e(t*i);let a;n.isInstancedInterleavedBufferAttribute?a=new k3(s,i,r,n.meshPerAttribute):a=new vn(s,i,r);for(let o=0;o<t;o++)a.setX(o,n.getX(o)),i>=2&&a.setY(o,n.getY(o)),i>=3&&a.setZ(o,n.getZ(o)),i>=4&&a.setW(o,n.getW(o));return a}function oY(n){const e=n.attributes,t=n.morphTargets,i=new Map;for(const r in e){const s=e[r];s.isInterleavedBufferAttribute&&(i.has(s)||i.set(s,o9(s)),e[r]=i.get(s))}for(const r in t){const s=t[r];s.isInterleavedBufferAttribute&&(i.has(s)||i.set(s,o9(s)),t[r]=i.get(s))}}function lY(n){let e=0;for(const i in n.attributes){const r=n.getAttribute(i);e+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}const t=n.getIndex();return e+=t?t.count*t.itemSize*t.array.BYTES_PER_ELEMENT:0,e}function uY(n,e=1e-4){e=Math.max(e,Number.EPSILON);const t={},i=n.getIndex(),r=n.getAttribute("position"),s=i?i.count:r.count;let a=0;const o=Object.keys(n.attributes),l={},u={},d=[],q=["getX","getY","getZ","getW"],_=["setX","setY","setZ","setW"];for(let R=0,O=o.length;R<O;R++){const b=o[R],D=n.attributes[b];l[b]=new D.constructor(new D.array.constructor(D.count*D.itemSize),D.itemSize,D.normalized);const B=n.morphAttributes[b];B&&(u[b]||(u[b]=[]),B.forEach((C,G)=>{const L=new C.array.constructor(C.count*C.itemSize);u[b][G]=new C.constructor(L,C.itemSize,C.normalized)}))}const g=e*.5,M=Math.log10(1/e),N=Math.pow(10,M),y=g*N;for(let R=0;R<s;R++){const O=i?i.getX(R):R;let b="";for(let D=0,B=o.length;D<B;D++){const C=o[D],G=n.getAttribute(C),L=G.itemSize;for(let P=0;P<L;P++)b+=`${~~(G[q[P]](O)*N+y)},`}if(b in t)d.push(t[b]);else{for(let D=0,B=o.length;D<B;D++){const C=o[D],G=n.getAttribute(C),L=n.morphAttributes[C],P=G.itemSize,w=l[C],z=u[C];for(let H=0;H<P;H++){const j=q[H],Y=_[H];if(w[Y](a,G[j](O)),L)for(let Q=0,oe=L.length;Q<oe;Q++)z[Q][Y](a,L[Q][j](O))}}t[b]=a,d.push(a),a++}}const S=n.clone();for(const R in n.attributes){const O=l[R];if(S.setAttribute(R,new O.constructor(O.array.slice(0,a*O.itemSize),O.itemSize,O.normalized)),R in u)for(let b=0;b<u[R].length;b++){const D=u[R][b];S.morphAttributes[R][b]=new D.constructor(D.array.slice(0,a*D.itemSize),D.itemSize,D.normalized)}}return S.setIndex(d),S}function cY(n,e){if(e===cw)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===rm||e===Aw){let t=n.getIndex();if(t===null){const a=[],o=n.getAttribute("position");if(o!==void 0){for(let l=0;l<o.count;l++)a.push(l);n.setIndex(a),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const i=t.count-2,r=[];if(e===rm)for(let a=1;a<=i;a++)r.push(t.getX(0)),r.push(t.getX(a)),r.push(t.getX(a+1));else for(let a=0;a<i;a++)a%2===0?(r.push(t.getX(a)),r.push(t.getX(a+1)),r.push(t.getX(a+2))):(r.push(t.getX(a+2)),r.push(t.getX(a+1)),r.push(t.getX(a)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=n.clone();return s.setIndex(r),s.clearGroups(),s}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}function AY(n){const e=new Z,t=new Z,i=new Z,r=new Z,s=new Z,a=new Z,o=new Z,l=new Z,u=new Z;function d(fe,xe,Te,He,Je,Se,we,lt){e.fromBufferAttribute(xe,Je),t.fromBufferAttribute(xe,Se),i.fromBufferAttribute(xe,we);const rt=fe.morphTargetInfluences;if(Te&&rt){o.set(0,0,0),l.set(0,0,0),u.set(0,0,0);for(let _t=0,mt=Te.length;_t<mt;_t++){const ut=rt[_t],$t=Te[_t];ut!==0&&(r.fromBufferAttribute($t,Je),s.fromBufferAttribute($t,Se),a.fromBufferAttribute($t,we),He?(o.addScaledVector(r,ut),l.addScaledVector(s,ut),u.addScaledVector(a,ut)):(o.addScaledVector(r.sub(e),ut),l.addScaledVector(s.sub(t),ut),u.addScaledVector(a.sub(i),ut)))}e.add(o),t.add(l),i.add(u)}fe.isSkinnedMesh&&(fe.applyBoneTransform(Je,e),fe.applyBoneTransform(Se,t),fe.applyBoneTransform(we,i)),lt[Je*3+0]=e.x,lt[Je*3+1]=e.y,lt[Je*3+2]=e.z,lt[Se*3+0]=t.x,lt[Se*3+1]=t.y,lt[Se*3+2]=t.z,lt[we*3+0]=i.x,lt[we*3+1]=i.y,lt[we*3+2]=i.z}const q=n.geometry,_=n.material;let g,M,N;const y=q.index,S=q.attributes.position,R=q.morphAttributes.position,O=q.morphTargetsRelative,b=q.attributes.normal,D=q.morphAttributes.position,B=q.groups,C=q.drawRange;let G,L,P,w,z,H,j;const Y=new Float32Array(S.count*S.itemSize),Q=new Float32Array(b.count*b.itemSize);if(y!==null)if(Array.isArray(_))for(G=0,P=B.length;G<P;G++)for(z=B[G],H=Math.max(z.start,C.start),j=Math.min(z.start+z.count,C.start+C.count),L=H,w=j;L<w;L+=3)g=y.getX(L),M=y.getX(L+1),N=y.getX(L+2),d(n,S,R,O,g,M,N,Y),d(n,b,D,O,g,M,N,Q);else for(H=Math.max(0,C.start),j=Math.min(y.count,C.start+C.count),G=H,P=j;G<P;G+=3)g=y.getX(G),M=y.getX(G+1),N=y.getX(G+2),d(n,S,R,O,g,M,N,Y),d(n,b,D,O,g,M,N,Q);else if(Array.isArray(_))for(G=0,P=B.length;G<P;G++)for(z=B[G],H=Math.max(z.start,C.start),j=Math.min(z.start+z.count,C.start+C.count),L=H,w=j;L<w;L+=3)g=L,M=L+1,N=L+2,d(n,S,R,O,g,M,N,Y),d(n,b,D,O,g,M,N,Q);else for(H=Math.max(0,C.start),j=Math.min(S.count,C.start+C.count),G=H,P=j;G<P;G+=3)g=G,M=G+1,N=G+2,d(n,S,R,O,g,M,N,Y),d(n,b,D,O,g,M,N,Q);const oe=new C1(Y,3),ae=new C1(Q,3);return{positionAttribute:S,normalAttribute:b,morphedPositionAttribute:oe,morphedNormalAttribute:ae}}function hY(n){if(n.groups.length===0)return console.warn("THREE.BufferGeometryUtils.mergeGroups(): No groups are defined. Nothing to merge."),n;let e=n.groups;if(e=e.sort((a,o)=>a.materialIndex!==o.materialIndex?a.materialIndex-o.materialIndex:a.start-o.start),n.getIndex()===null){const a=n.getAttribute("position"),o=[];for(let l=0;l<a.count;l+=3)o.push(l,l+1,l+2);n.setIndex(o)}const t=n.getIndex(),i=[];for(let a=0;a<e.length;a++){const o=e[a],l=o.start,u=l+o.count;for(let d=l;d<u;d++)i.push(t.getX(d))}n.dispose(),n.setIndex(i);let r=0;for(let a=0;a<e.length;a++){const o=e[a];o.start=r,r+=o.count}let s=e[0];n.groups=[s];for(let a=1;a<e.length;a++){const o=e[a];s.materialIndex===o.materialIndex?s.count+=o.count:(s=o,n.groups.push(s))}return n}function fY(n,e=Math.PI/3){const t=Math.cos(e),i=(1+1e-10)*100,r=[new Z,new Z,new Z],s=new Z,a=new Z,o=new Z,l=new Z;function u(N){const y=~~(N.x*i),S=~~(N.y*i),R=~~(N.z*i);return`${y},${S},${R}`}const d=n.index?n.toNonIndexed():n,q=d.attributes.position,_={};for(let N=0,y=q.count/3;N<y;N++){const S=3*N,R=r[0].fromBufferAttribute(q,S+0),O=r[1].fromBufferAttribute(q,S+1),b=r[2].fromBufferAttribute(q,S+2);s.subVectors(b,O),a.subVectors(R,O);const D=new Z().crossVectors(s,a).normalize();for(let B=0;B<3;B++){const C=r[B],G=u(C);G in _||(_[G]=[]),_[G].push(D)}}const g=new Float32Array(q.count*3),M=new vn(g,3,!1);for(let N=0,y=q.count/3;N<y;N++){const S=3*N,R=r[0].fromBufferAttribute(q,S+0),O=r[1].fromBufferAttribute(q,S+1),b=r[2].fromBufferAttribute(q,S+2);s.subVectors(b,O),a.subVectors(R,O),o.crossVectors(s,a).normalize();for(let D=0;D<3;D++){const B=r[D],C=u(B),G=_[C];l.set(0,0,0);for(let L=0,P=G.length;L<P;L++){const w=G[L];o.dot(w)>t&&l.add(w)}l.normalize(),M.setXYZ(S+D,l.x,l.y,l.z)}}return d.setAttribute("normal",M),d}const Eq=Object.freeze(Object.defineProperty({__proto__:null,computeMikkTSpaceTangents:iY,computeMorphedAttributes:AY,deepCloneAttribute:sY,deinterleaveAttribute:o9,deinterleaveGeometry:oY,estimateBytesUsed:lY,interleaveAttributes:aY,mergeAttributes:lf,mergeGeometries:rY,mergeGroups:hY,mergeVertices:uY,toCreasedNormals:fY,toTrianglesDrawMode:cY},Symbol.toStringTag,{value:"Module"}));var We=function(n){return typeof n=="function"?n:typeof n=="string"?function(e){return e[n]}:function(e){return n}};function l9(n){"@babel/helpers - typeof";return l9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l9(n)}var dY=/^\s+/,qY=/\s+$/;function Bt(n,e){if(n=n||"",e=e||{},n instanceof Bt)return n;if(!(this instanceof Bt))return new Bt(n,e);var t=pY(n);this._originalInput=n,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}Bt.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(e.r*299+e.g*587+e.b*114)/1e3},getLuminance:function(){var e=this.toRgb(),t,i,r,s,a,o;return t=e.r/255,i=e.g/255,r=e.b/255,t<=.03928?s=t/12.92:s=Math.pow((t+.055)/1.055,2.4),i<=.03928?a=i/12.92:a=Math.pow((i+.055)/1.055,2.4),r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),.2126*s+.7152*a+.0722*o},setAlpha:function(e){return this._a=BN(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=xE(this._r,this._g,this._b);return{h:e.h*360,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=xE(this._r,this._g,this._b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.v*100);return this._a==1?"hsv("+t+", "+i+"%, "+r+"%)":"hsva("+t+", "+i+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var e=ME(this._r,this._g,this._b);return{h:e.h*360,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=ME(this._r,this._g,this._b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.l*100);return this._a==1?"hsl("+t+", "+i+"%, "+r+"%)":"hsla("+t+", "+i+"%, "+r+"%, "+this._roundA+")"},toHex:function(e){return SE(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return EY(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(yn(this._r,255)*100)+"%",g:Math.round(yn(this._g,255)*100)+"%",b:Math.round(yn(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(yn(this._r,255)*100)+"%, "+Math.round(yn(this._g,255)*100)+"%, "+Math.round(yn(this._b,255)*100)+"%)":"rgba("+Math.round(yn(this._r,255)*100)+"%, "+Math.round(yn(this._g,255)*100)+"%, "+Math.round(yn(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:PY[SE(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var t="#"+yE(this._r,this._g,this._b,this._a),i=t,r=this._gradientType?"GradientType = 1, ":"";if(e){var s=Bt(e);i="#"+yE(s._r,s._g,s._b,s._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+t+",endColorstr="+i+")"},toString:function(e){var t=!!e;e=e||this._format;var i=!1,r=this._a<1&&this._a>=0,s=!t&&r&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return s?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return Bt(this.toString())},_applyModification:function(e,t){var i=e.apply(null,[this].concat([].slice.call(t)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(yY,arguments)},brighten:function(){return this._applyModification(NY,arguments)},darken:function(){return this._applyModification(vY,arguments)},desaturate:function(){return this._applyModification(MY,arguments)},saturate:function(){return this._applyModification(xY,arguments)},greyscale:function(){return this._applyModification(SY,arguments)},spin:function(){return this._applyModification(OY,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(bY,arguments)},complement:function(){return this._applyCombination(TY,arguments)},monochromatic:function(){return this._applyCombination(IY,arguments)},splitcomplement:function(){return this._applyCombination(RY,arguments)},triad:function(){return this._applyCombination(NE,[3])},tetrad:function(){return this._applyCombination(NE,[4])}};Bt.fromRatio=function(n,e){if(l9(n)=="object"){var t={};for(var i in n)n.hasOwnProperty(i)&&(i==="a"?t[i]=n[i]:t[i]=P6(n[i]));n=t}return Bt(n,e)};function pY(n){var e={r:0,g:0,b:0},t=1,i=null,r=null,s=null,a=!1,o=!1;return typeof n=="string"&&(n=wY(n)),l9(n)=="object"&&(B2(n.r)&&B2(n.g)&&B2(n.b)?(e=_Y(n.r,n.g,n.b),a=!0,o=String(n.r).substr(-1)==="%"?"prgb":"rgb"):B2(n.h)&&B2(n.s)&&B2(n.v)?(i=P6(n.s),r=P6(n.v),e=gY(n.h,i,r),a=!0,o="hsv"):B2(n.h)&&B2(n.s)&&B2(n.l)&&(i=P6(n.s),s=P6(n.l),e=mY(n.h,i,s),a=!0,o="hsl"),n.hasOwnProperty("a")&&(t=n.a)),t=BN(t),{ok:a,format:n.format||o,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}function _Y(n,e,t){return{r:yn(n,255)*255,g:yn(e,255)*255,b:yn(t,255)*255}}function ME(n,e,t){n=yn(n,255),e=yn(e,255),t=yn(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),s,a,o=(i+r)/2;if(i==r)s=a=0;else{var l=i-r;switch(a=o>.5?l/(2-i-r):l/(i+r),i){case n:s=(e-t)/l+(e<t?6:0);break;case e:s=(t-n)/l+2;break;case t:s=(n-e)/l+4;break}s/=6}return{h:s,s:a,l:o}}function mY(n,e,t){var i,r,s;n=yn(n,360),e=yn(e,100),t=yn(t,100);function a(u,d,q){return q<0&&(q+=1),q>1&&(q-=1),q<1/6?u+(d-u)*6*q:q<1/2?d:q<2/3?u+(d-u)*(2/3-q)*6:u}if(e===0)i=r=s=t;else{var o=t<.5?t*(1+e):t+e-t*e,l=2*t-o;i=a(l,o,n+1/3),r=a(l,o,n),s=a(l,o,n-1/3)}return{r:i*255,g:r*255,b:s*255}}function xE(n,e,t){n=yn(n,255),e=yn(e,255),t=yn(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),s,a,o=i,l=i-r;if(a=i===0?0:l/i,i==r)s=0;else{switch(i){case n:s=(e-t)/l+(e<t?6:0);break;case e:s=(t-n)/l+2;break;case t:s=(n-e)/l+4;break}s/=6}return{h:s,s:a,v:o}}function gY(n,e,t){n=yn(n,360)*6,e=yn(e,100),t=yn(t,100);var i=Math.floor(n),r=n-i,s=t*(1-e),a=t*(1-r*e),o=t*(1-(1-r)*e),l=i%6,u=[t,a,s,s,o,t][l],d=[o,t,t,a,s,s][l],q=[s,s,o,
vendor: 4,608 bytes, line 3840
3840t,t,a][l];return{r:u*255,g:d*255,b:q*255}}function SE(n,e,t,i){var r=[I0(Math.round(n).toString(16)),I0(Math.round(e).toString(16)),I0(Math.round(t).toString(16))];return i&&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 EY(n,e,t,i,r){var s=[I0(Math.round(n).toString(16)),I0(Math.round(e).toString(16)),I0(Math.round(t).toString(16)),I0(UN(i))];return r&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1)?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}function yE(n,e,t,i){var r=[I0(UN(i)),I0(Math.round(n).toString(16)),I0(Math.round(e).toString(16)),I0(Math.round(t).toString(16))];return r.join("")}Bt.equals=function(n,e){return!n||!e?!1:Bt(n).toRgbString()==Bt(e).toRgbString()};Bt.random=function(){return Bt.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function MY(n,e){e=e===0?0:e||10;var t=Bt(n).toHsl();return t.s-=e/100,t.s=eu(t.s),Bt(t)}function xY(n,e){e=e===0?0:e||10;var t=Bt(n).toHsl();return t.s+=e/100,t.s=eu(t.s),Bt(t)}function SY(n){return Bt(n).desaturate(100)}function yY(n,e){e=e===0?0:e||10;var t=Bt(n).toHsl();return t.l+=e/100,t.l=eu(t.l),Bt(t)}function NY(n,e){e=e===0?0:e||10;var t=Bt(n).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(e/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(e/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(e/100)))),Bt(t)}function vY(n,e){e=e===0?0:e||10;var t=Bt(n).toHsl();return t.l-=e/100,t.l=eu(t.l),Bt(t)}function OY(n,e){var t=Bt(n).toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,Bt(t)}function TY(n){var e=Bt(n).toHsl();return e.h=(e.h+180)%360,Bt(e)}function NE(n,e){if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");for(var t=Bt(n).toHsl(),i=[Bt(n)],r=360/e,s=1;s<e;s++)i.push(Bt({h:(t.h+s*r)%360,s:t.s,l:t.l}));return i}function RY(n){var e=Bt(n).toHsl(),t=e.h;return[Bt(n),Bt({h:(t+72)%360,s:e.s,l:e.l}),Bt({h:(t+216)%360,s:e.s,l:e.l})]}function bY(n,e,t){e=e||6,t=t||30;var i=Bt(n).toHsl(),r=360/t,s=[Bt(n)];for(i.h=(i.h-(r*e>>1)+720)%360;--e;)i.h=(i.h+r)%360,s.push(Bt(i));return s}function IY(n,e){e=e||6;for(var t=Bt(n).toHsv(),i=t.h,r=t.s,s=t.v,a=[],o=1/e;e--;)a.push(Bt({h:i,s:r,v:s})),s=(s+o)%1;return a}Bt.mix=function(n,e,t){t=t===0?0:t||50;var i=Bt(n).toRgb(),r=Bt(e).toRgb(),s=t/100,a={r:(r.r-i.r)*s+i.r,g:(r.g-i.g)*s+i.g,b:(r.b-i.b)*s+i.b,a:(r.a-i.a)*s+i.a};return Bt(a)};Bt.readability=function(n,e){var t=Bt(n),i=Bt(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)};Bt.isReadable=function(n,e,t){var i=Bt.readability(n,e),r,s;switch(s=!1,r=BY(t),r.level+r.size){case"AAsmall":case"AAAlarge":s=i>=4.5;break;case"AAlarge":s=i>=3;break;case"AAAsmall":s=i>=7;break}return s};Bt.mostReadable=function(n,e,t){var i=null,r=0,s,a,o,l;t=t||{},a=t.includeFallbackColors,o=t.level,l=t.size;for(var u=0;u<e.length;u++)s=Bt.readability(n,e[u]),s>r&&(r=s,i=Bt(e[u]));return Bt.isReadable(n,i,{level:o,size:l})||!a?i:(t.includeFallbackColors=!1,Bt.mostReadable(n,["#fff","#000"],t))};var uf=Bt.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:"90ee9
38400",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"},PY=Bt.hexNames=LY(uf);function LY(n){var e={};for(var t in n)n.hasOwnProperty(t)&&(e[n[t]]=t);return e}function BN(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function yn(n,e){DY(n)&&(n="100%");var t=CY(n);return n=Math.min(e,Math.max(0,parseFloat(n))),t&&(n=parseInt(n*e,10)/100),Math.abs(n-e)<1e-6?1:n%e/parseFloat(e)}function eu(n){return Math.min(1,Math.max(0,n))}function Br(n){return parseInt(n,16)}function DY(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1}function CY(n){return typeof n=="string"&&n.indexOf("%")!=-1}function I0(n){return n.length==1?"0"+n:""+n}function P6(n){return n<=1&&(n=n*100+"%"),n}function UN(n){return Math.round(parseFloat(n)*255).toString(16)}function vE(n){return Br(n)/255}var N0=function(){var n="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",t="(?:"+e+")|(?:"+n+")",i="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",r="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"
3840+r),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 B2(n){return!!N0.CSS_UNIT.exec(n)}function wY(n){n=n.replace(dY,"").replace(qY,"").toLowerCase();var e=!1;if(uf[n])n=uf[n],e=!0;else if(n=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=N0.rgb.exec(n))?{r:t[1],g:t[2],b:t[3]}:(t=N0.rgba.exec(n))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=N0.hsl.exec(n))?{h:t[1],s:t[2],l:t[3]}:(t=N0.hsla.exec(n))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=N0.hsv.exec(n))?{h:t[1],s:t[2],v:t[3]}:(t=N0.hsva.exec(n))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=N0.hex8.exec(n))?{r:Br(t[1]),g:Br(t[2]),b:Br(t[3]),a:vE(t[4]),format:e?"name":"hex8"}:(t=N0.hex6.exec(n))?{r:Br(t[1]),g:Br(t[2]),b:Br(t[3]),format:e?"name":"hex"}:(t=N0.hex4.exec(n))?{r:Br(t[1]+""+t[1]),g:Br(t[2]+""+t[2]),b:Br(t[3]+""+t[3]),a:vE(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=N0.hex3.exec(n))?{r:Br(t[1]+""+t[1]),g:Br(t[2]+""+t[2]),b:Br(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function BY(n){var e,t;return n=n||{level:"AA",size:"small"},e=(n.level||"AA").toUpperCase(),t=(n.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),t!=="small"&&t!=="large"&&(t="small"),{level:e,size:t}}function cf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function UY(n){if(Array.isArray(n))return n}function FY(n){if(Array.isArray(n))return cf(n)}function FN(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function GY(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function VY(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Ui(n,e){return n.get(FN(n,e))}function $a(n,e,t){GY(n,e),e.set(n,t)}function xl(n,e,t){return n.set(FN(n,e),t),t}function kY(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,ZY(i.key),i)}}function zY(n,e,t){return e&&kY(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function WY(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function HY(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function KY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3841In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YY(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3842In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $Y(n,e){return UY(n)||HY(n,e)||GN(n,e)||KY()}function jY(n){return FY(n)||WY(n)||GN(n)||YY()}function XY(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function ZY(n){var e=XY(n,"string");return typeof e=="symbol"?e:e+""}function GN(n,e){if(n){if(typeof n=="string")return cf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?cf(n,e):void 0}}var ja=new WeakMap,r6=new WeakMap,Xa=new WeakMap,nA=new WeakMap,iA=new WeakMap,rA=new WeakMap,QY=function(){function n(){VY(this,n),$a(this,ja,new Map),$a(this,r6,new Map),$a(this,Xa,function(e){return e}),$a(this,nA,function(){return{}}),$a(this,iA,function(){}),$a(this,rA,function(){})}return zY(n,[{key:"getObj",value:function(t){return Ui(ja,this).get(Ui(Xa,this).call(this,t))}},{key:"getData",value:function(t){return Ui(r6,this).get(t)}},{key:"entries",value:function(){return jY(Ui(r6,this).entries()).map(function(t){var i=$Y(t,2),r=i[0],s=i[1];return[s,r]})}},{key:"id",value:function(t){return xl(Xa,this,We(t)),this}},{key:"onCreateObj",value:function(t){return xl(nA,this,t),this}}
3842,{key:"onUpdateObj",value:function(t){return xl(iA,this,t),this}},{key:"onRemoveObj",value:function(t){return xl(rA,this,t),this}},{key:"digest",value:function(t){var i=this;t.filter(function(s){return!Ui(ja,i).has(Ui(Xa,i).call(i,s))}).forEach(function(s){var a=Ui(nA,i).call(i,s);Ui(ja,i).set(Ui(Xa,i).call(i,s),a),Ui(r6,i).set(a,s)});var r=new Map(t.map(function(s){return[Ui(Xa,i).call(i,s),s]}));return Ui(ja,this).forEach(function(s,a){r.has(a)?Ui(iA,i).call(i,s,r.get(a)):(Ui(rA,i).call(i,s,a),Ui(ja,i).delete(a),Ui(r6,i).delete(s))}),this}},{key:"clear",value:function(){return this.digest([]),this}}])}(),JY=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e$(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var VN={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(JY,function(){return function(t){function i(s){if(r[s])return r[s].exports;var a=r[s]={exports:{},id:s,loaded:!1};return t[s].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}var r={};return i.m=t,i.c=r,i.p="",i(0)}([function(t,i,r){var s=r(1),a=function(){function o(l,u,d){l===void 0&&(l=NaN),u===void 0&&(u=NaN),d===void 0&&(d=!1),this._minFPS=u,this._maxFPS=l,this._timeScale=1,this._currentTick=0,this._currentTime=0,this._tickDeltaTime=0,this._isRunning=!1,this._maxInterval=isNaN(this._minFPS)?NaN:1e3/this._minFPS,this._minInterval=isNaN(this._maxFPS)?NaN:1e3/this._maxFPS,this._onResume=new s.default,this._onPause=new s.default,this._onTick=new s.default,this._onTickOncePerFrame=new s.default,d||this.resume()}return o.prototype.updateOnce=function(l){l(this.currentTimeSeconds,this.tickDeltaTimeSeconds,this.currentTick)},o.prototype.resume=function(){this._isRunning||(this._isRunning=!0,this._lastTimeUpdated=this.getTimer(),this._onResume.dispatch(),this.animateOnce())},o.prototype.pause=function(){this._isRunning&&(this._isRunning=!1,this._onPause.dispatch(),window.cancelAnimationFrame(this._animationFrameHandle))},o.prototype.dispose=function(){this.pause(),this._onResume.removeAll(),this._onPause.removeAll(),this._onTick.removeAll()},Object.defineProperty(o.prototype,"currentTick",{get:function(){return this._currentTick},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"currentTimeSeconds",{get:function(){return this._currentTime/1e3},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"tickDeltaTimeSeconds",{get:function(){return this._tickDeltaTime/1e3},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"timeScale",{get:function(){return this._timeScale},set:function(l){this._timeScale!==l&&(this._timeScale=l)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"onResume",{get:function(){return this._onResume},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"onPause",{get:function(){return this._onPause},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"onTick",{get:function(){return this._onTick},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"onTickOncePerFrame",{get:function(){return this._onTickOncePerFrame},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"isRunning",{get:function(){return this._isRunning},enumerable:!0,configurable:!0}),o.prototype.animateOnce=function(){var l=this;this._animationFrameHandle=window.requestAnimationFrame(function(){return l.onFrame()})},o.prototype.onFrame=function(){if(this._now=this.getTimer(),this._frameDeltaTime=this._now-this._lastTimeUpdated,isNaN(this._minInterval)||this._frameDeltaTime>=this._minInterval)if(isNaN(this._maxInterval))this.update(this._frameDeltaTime*this._timeScale,!0),this._lastTimeUpdated=this._now;else for(this._interval=Math.min(this._frameDeltaTime,this._maxInterval);this._now>=this._lastTimeUpdated+this._interval;)this.update(this._interval*this._timeScale,this._now<=this._lastTimeUpdated+2*this._maxInterval),this._lastTimeUpdated+=this._interval;this._isRunning&&this.animateOnce()},o.prototype.update=function(l,u){u===void 0&&(u=!0),this._currentTick++,this._currentTime+=l,this._tickDeltaTime=l,this._onTick.dispatch(this.currentTimeSeconds,this.tickDeltaTimeSeconds,this.currentTick),u&&this._onTickOncePerFrame.dispatch(this.currentTimeSeconds,this.tickDeltaTimeSeconds,this.currentTick)},o.prototype.getTimer=function(){return Date.now()},o}();Object.defineProperty(i,"__esModule",{value:!0}),i.default=a},function(t,i,r){(function(s,a){t.exports=a()})(this,function(){return function(s){function a(l){if(o[l])return o[l].exports;var u=o[l]={exports:{},id:l,loaded:!1};return s[l].call(u.exports,u,u.exports,a),u.loaded=!0,u.exports}var o={};return a.m=s,a.c=o,a.p="",a(0)}([function(s,a){var o=function(){function l(){this.functions=[]}return l.prototype.add=function(u){return this.functions.indexOf(u)===-1&&(this.functions.push(u),!0)},l.prototype.remove=function(u){var d=this.functions.indexOf(u);return d>-1&&(this.functions.splice(d,1),!0)},l.prototype.removeAll=function(){return this.functions.length>0&&(this.functions.length=0,!0)},l.prototype.dispatch=function(){for(var u=[],d=0;d<arguments.length;d++)u[d]=arguments[d];var q=this.functions.concat();q.forEach(function(_){_.apply(void 0,u)})},Object.defineProperty(l.prototype,"numItems",{get:function(){return this.functions.length},enumerable:!0,configurable:!0}),l}();Object.defineProperty(a,"__esModule",{value:!0}),a.default=o}])})}])})})(VN);var t$=VN.exports;const h4=e$(t$),j2=11102230246251565e-32,Fi=134217729,n$=(3+8*j2)*j2;function sA(n,e,t,i,r){let s,a,o,l,u=e[0],d=i[0],q=0,_=0;d>u==d>-u?(s=u,u=e[++q]):(s=d,d=i[++_]);let g=0;if(q<n&&_<t)for(d>u==d>-u?(a=u+s,o=s-(a-u),u=e[++q]):(a=d+s,o=s-(a-d),d=i[++_]),s=a,o!==0&&(r[g++]=o);q<n&&_<t;)d>u==d>-u?(a=s+u,l=a-s,o=s-(a-l)+(u-l),u=e[++q]):(a=s+d,l=a-s,o=s-(a-l)+(d-l),d=i[++_]),s=a,o!==0&&(r[g++]=o);for(;q<n;)a=s+u,l=a-s,o=s-(a-l)+(u-l),u=e[++q],s=a,o!==0&&(r[g++]=o);for(;_<t;)a=s+d,l=a-s,o=s-(a-l)+(d-l),d=i[++_],s=a,o!==0&&(r[g++]=o);return(s!==0||g===0)&&(r[g++]=s),g}function i$(n,e){let t=e[0];for(let i=1;i<n;i++)t+=e[i];return t}function r5(n){return new Float64Array(n)}const r$=(3+16*j2)*j2,s$=(2+12*j2)*j2,a$=(9+64*j2)*j2*j2,Za=r5(4),OE=r5(8),TE=r5(12),RE=r5(16),Zi=r5(4);function o$(n,e,t,i,r,s,a){let o,l,u,d,q,_,g,M,N,y,S,R,O,b,D,B,C,G;const L=n-r,P=t-r,w=e-s,z=i-s;b=L*z,_=Fi*L,g=_-(_-L),M=L-g,_=Fi*z,N=_-(_-z),y=z-N,D=M*y-(b-g*N-M*N-g*y),B=w*P,_=Fi*w,g=_
vendor: 4,970 bytes, line 3842
3842-(_-w),M=w-g,_=Fi*P,N=_-(_-P),y=P-N,C=M*y-(B-g*N-M*N-g*y),S=D-C,q=D-S,Za[0]=D-(S+q)+(q-C),R=b+S,q=R-b,O=b-(R-q)+(S-q),S=O-B,q=O-S,Za[1]=O-(S+q)+(q-B),G=R+S,q=G-R,Za[2]=R-(G-q)+(S-q),Za[3]=G;let H=i$(4,Za),j=s$*a;if(H>=j||-H>=j||(q=n-L,o=n-(L+q)+(q-r),q=t-P,u=t-(P+q)+(q-r),q=e-w,l=e-(w+q)+(q-s),q=i-z,d=i-(z+q)+(q-s),o===0&&l===0&&u===0&&d===0)||(j=a$*a+n$*Math.abs(H),H+=L*d+z*o-(w*u+P*l),H>=j||-H>=j))return H;b=o*z,_=Fi*o,g=_-(_-o),M=o-g,_=Fi*z,N=_-(_-z),y=z-N,D=M*y-(b-g*N-M*N-g*y),B=l*P,_=Fi*l,g=_-(_-l),M=l-g,_=Fi*P,N=_-(_-P),y=P-N,C=M*y-(B-g*N-M*N-g*y),S=D-C,q=D-S,Zi[0]=D-(S+q)+(q-C),R=b+S,q=R-b,O=b-(R-q)+(S-q),S=O-B,q=O-S,Zi[1]=O-(S+q)+(q-B),G=R+S,q=G-R,Zi[2]=R-(G-q)+(S-q),Zi[3]=G;const Y=sA(4,Za,4,Zi,OE);b=L*d,_=Fi*L,g=_-(_-L),M=L-g,_=Fi*d,N=_-(_-d),y=d-N,D=M*y-(b-g*N-M*N-g*y),B=w*u,_=Fi*w,g=_-(_-w),M=w-g,_=Fi*u,N=_-(_-u),y=u-N,C=M*y-(B-g*N-M*N-g*y),S=D-C,q=D-S,Zi[0]=D-(S+q)+(q-C),R=b+S,q=R-b,O=b-(R-q)+(S-q),S=O-B,q=O-S,Zi[1]=O-(S+q)+(q-B),G=R+S,q=G-R,Zi[2]=R-(G-q)+(S-q),Zi[3]=G;const Q=sA(Y,OE,4,Zi,TE);b=o*d,_=Fi*o,g=_-(_-o),M=o-g,_=Fi*d,N=_-(_-d),y=d-N,D=M*y-(b-g*N-M*N-g*y),B=l*u,_=Fi*l,g=_-(_-l),M=l-g,_=Fi*u,N=_-(_-u),y=u-N,C=M*y-(B-g*N-M*N-g*y),S=D-C,q=D-S,Zi[0]=D-(S+q)+(q-C),R=b+S,q=R-b,O=b-(R-q)+(S-q),S=O-B,q=O-S,Zi[1]=O-(S+q)+(q-B),G=R+S,q=G-R,Zi[2]=R-(G-q)+(S-q),Zi[3]=G;const oe=sA(Q,TE,4,Zi,RE);return RE[oe-1]}function L6(n,e,t,i,r,s){const a=(e-s)*(t-r),o=(n-r)*(i-s),l=a-o,u=Math.abs(a+o);return Math.abs(l)>=r$*u?l:-o$(n,e,t,i,r,s,u)}const bE=Math.pow(2,-52),Sl=new Uint32Array(512);class R8{static from(e,t=h$,i=f$){const r=e.length,s=new Float64Array(r*2);for(let a=0;a<r;a++){const o=e[a];s[2*a]=t(o),s[2*a+1]=i(o)}return new R8(s)}constructor(e){const t=e.length>>1;if(t>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const i=Math.max(2*t-5,0);this._triangles=new Uint32Array(i*3),this._halfedges=new Int32Array(i*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.update()}update(){const{coords:e,_hullPrev:t,_hullNext:i,_hullTri:r,_hullHash:s}=this,a=e.length>>1;let o=1/0,l=1/0,u=-1/0,d=-1/0;for(let L=0;L<a;L++){const P=e[2*L],w=e[2*L+1];P<o&&(o=P),w<l&&(l=w),P>u&&(u=P),w>d&&(d=w),this._ids[L]=L}const q=(o+u)/2,_=(l+d)/2;let g,M,N;for(let L=0,P=1/0;L<a;L++){const w=aA(q,_,e[2*L],e[2*L+1]);w<P&&(g=L,P=w)}const y=e[2*g],S=e[2*g+1];for(let L=0,P=1/0;L<a;L++){if(L===g)continue;const w=aA(y,S,e[2*L],e[2*L+1]);w<P&&w>0&&(M=L,P=w)}let R=e[2*M],O=e[2*M+1],b=1/0;for(let L=0;L<a;L++){if(L===g||L===M)continue;const P=c$(y,S,R,O,e[2*L],e[2*L+1]);P<b&&(N=L,b=P)}let D=e[2*N],B=e[2*N+1];if(b===1/0){for(let w=0;w<a;w++)this._dists[w]=e[2*w]-e[0]||e[2*w+1]-e[1];mo(this._ids,this._dists,0,a-1);const L=new Uint32Array(a);let P=0;for(let w=0,z=-1/0;w<a;w++){const H=this._ids[w],j=this._dists[H];j>z&&(L[P++]=H,z=j)}this.hull=L.subarray(0,P),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(L6(y,S,R,O,D,B)<0){const L=M,P=R,w=O;M=N,R=D,O=B,N=L,D=P,B=w}const C=A$(y,S,R,O,D,B);this._cx=C.x,this._cy=C.y;for(let L=0;L<a;L++)this._dists[L]=aA(e[2*L],e[2*L+1],C.x,C.y);mo(this._ids,this._dists,0,a-1),this._hullStart=g;let G=3;i[g]=t[N]=M,i[M]=t[g]=N,i[N]=t[M]=g,r[g]=0,r[M]=1,r[N]=2,s.fill(-1),s[this._hashKey(y,S)]=g,s[this._hashKey(R,O)]=M,s[this._hashKey(D,B)]=N,this.trianglesLen=0,this._addTriangle(g,M,N,-1,-1,-1);for(let L=0,P,w;L<this._ids.length;L++){const z=this._ids[L],H=e[2*z],j=e[2*z+1];if(L>0&&Math.abs(H-P)<=bE&&Math.abs(j-w)<=bE||(P=H,w=j,z===g||z===M||z===N))continue;let Y=0;for(let xe=0,Te=this._hashKey(H,j);xe<this._hashSize&&(Y=s[(Te+xe)%this._hashSize],!(Y!==-1&&Y!==i[Y]));xe++);Y=t[Y];let Q=Y,oe;for(;oe=i[Q],L6(H,j,e[2*Q],e[2*Q+1],e[2*oe],e[2*oe+1])>=0;)if(Q=oe,Q===Y){Q=-1;break}if(Q===-1)continue;let ae=this._addTriangle(Q,z,i[Q],-1,-1,r[Q]);r[z]=this._legalize(ae+2),r[Q]=ae,G++;let fe=i[Q];for(;oe=i[fe],L6(H,j,e[2*fe],e[2*fe+1],e[2*oe],e[2*oe+1])<0;)ae=this._addTriangle(fe,z,oe,r[z],-1,r[fe]),r[z]=this._legalize(ae+2),i[fe]=fe,G--,fe=oe;if(Q===Y)for(;oe=t[Q],L6(H,j,e[2*oe],e[2*oe+1],e[2*Q],e[2*Q+1])<0;)ae=this._addTriangle(oe,z,Q,-1,r[Q],r[oe]),this._legalize(ae+2),r[oe]=ae,i[Q]=Q,G--,Q=oe;this._hullStart=t[z]=Q,i[Q]=t[fe]=z,i[z]=fe,s[this._hashKey(H,j)]=z,s[this._hashKey(e[2*Q],e[2*Q+1])]=Q}this.hull=new Uint32Array(G);for(let L=0,P=this._hullStart;L<G;L++)this.hull[L]=P,P=i[P];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(l$(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:t,_halfedges:i,coords:r}=this;let s=0,a=0;for(;;){const o=i[e],l=e-e%3;if(a=l+(e+2)%3,o===-1){if(s===0)break;e=Sl[--s];continue}const u=o-o%3,d=l+(e+1)%3,q=u+(o+2)%3,_=t[a],g=t[e],M=t[d],N=t[q];
3842if(u$(r[2*_],r[2*_+1],r[2*g],r[2*g+1],r[2*M],r[2*M+1],r[2*N],r[2*N+1])){t[e]=N,t[o]=_;const S=i[q];if(S===-1){let O=this._hullStart;do{if(this._hullTri[O]===q){this._hullTri[O]=e;break}O=this._hullPrev[O]}while(O!==this._hullStart)}this._link(e,S),this._link(o,i[a]),this._link(a,q);const R=u+(o+1)%3;s<Sl.length&&(Sl[s++]=R)}else{if(s===0)break;e=Sl[--s]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,i,r,s,a){const o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=i,this._link(o,r),this._link(o+1,s),this._link(o+2,a),this.trianglesLen+=3,o}}function l$(n,e){const t=n/(Math.abs(n)+Math.abs(e));return(e>0?3-t:1+t)/4}function aA(n,e,t,i){const r=n-t,s=e-i;return r*r+s*s}function u$(n,e,t,i,r,s,a,o){const l=n-a,u=e-o,d=t-a,q=i-o,_=r-a,g=s-o,M=l*l+u*u,N=d*d+q*q,y=_*_+g*g;return l*(q*y-N*g)-u*(d*y-N*_)+M*(d*g-q*_)<0}function c$(n,e,t,i,r,s){const a=t-n,o=i-e,l=r-n,u=s-e,d=a*a+o*o,q=l*l+u*u,_=.5/(a*u-o*l),g=(u*d-o*q)*_,M=(a*q-l*d)*_;return g*g+M*M}function A$(n,e,t,i,r,s){const a=t-n,o=i-e,l=r-n,u=s-e,d=a*a+o*o,q=l*l+u*u,_=.5/(a*u-o*l),g=n+(u*d-o*q)*_,M=e+(a*q-l*d)*_;return{x:g,y:M}}function mo(n,e,t,i){if(i-t<=20)for(let r=t+1;r<=i;r++){const s=n[r],a=e[s];let o=r-1;for(;o>=t&&e[n[o]]>a;)n[o+1]=n[o--];n[o+1]=s}else{const r=t+i>>1;let s=t+1,a=i;s6(n,r,s),e[n[t]]>e[n[i]]&&s6(n,t,i),e[n[s]]>e[n[i]]&&s6(n,s,i),e[n[t]]>e[n[s]]&&s6(n,t,s);const o=n[s],l=e[o];for(;;){do s++;while(e[n[s]]<l);do a--;while(e[n[a]]>l);if(a<s)break;s6(n,s,a)}n[t+1]=n[a],n[a]=o,i-s+1>=a-t?(mo(n,e,s,i),mo(n,e,t,a-1)):(mo(n,e,t,a-1),mo(n,e,s,i))}}function s6(n,e,t){const i=n[e];n[e]=n[t],n[t]=i}function h$(n){return n[0]}function f$(n){return n[1]}function d$(n,e){var t,i,r=0,s,a,o,l,u,d,q,_=n[0],g=n[1],M=e.length;for(t=0;t<M;t++){i=0;var N=e[t],y=N.length-1;if(d=N[0],d[0]!==N[y][0]&&d[1]!==N[y][1])throw new Error("First and last coordinates in a ring must be the same");for(a=d[0]-_,o=d[1]-g,i;i<y;i++){if(q=N[i+1],l=q[0]-_,u=q[1]-g,o===0&&u===0){if(l<=0&&a>=0||a<=0&&l>=0)return 0}else if(u>=0&&o<=0||u<=0&&o>=0){if(s=L6(a,l,o,u,0,0),s===0)return 0;(s>0&&u>0&&o<=0||s<0&&u<=0&&o>0)&&r++}d=q,o=u,a=l}}return r%2!==0}
vendor: 11,126 bytes, line 3842
3842function q$(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return[...n.geometry.coordinates];if(n.type==="Point")return[...n.coordinates]}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return[...n];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function p$(n){return n.type==="Feature"?n.geometry:n}function _$(n,e,t={}){if(!n)throw new Error("point is required");if(!e)throw new Error("polygon is required");const i=q$(n),r=p$(e),s=r.type,a=e.bbox;let o=r.coordinates;if(a&&m$(i,a)===!1)return!1;s==="Polygon"&&(o=[o]);let l=!1;for(var u=0;u<o.length;++u){const d=d$(i,o[u]);if(d===0)return!t.ignoreBoundary;d&&(l=!0)}return l}function m$(n,e){return e[0]<=n[0]&&e[1]<=n[1]&&e[2]>=n[0]&&e[3]>=n[1]}var g$=_$;const IE=1e-6;class zs{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,i){e=+e,t=+t,i=+i;const r=e+i,s=t;if(i<0)throw new Error("negative radius");this._x1===null?this._+=`M${r},${s}`:(Math.abs(this._x1-r)>IE||Math.abs(this._y1-s)>IE)&&(this._+="L"+r+","+s),i&&(this._+=`A${i},${i},0,1,1,${e-i},${t}A${i},${i},0,1,1,${this._x1=r},${this._y1=s}`)}rect(e,t,i,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+i}v${+r}h${-i}Z`}value(){return this._||null}}class Af{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}}class E${constructor(e,[t,i,r,s]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((s=+s)>=(i=+i)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=s,this.ymin=i,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:t,triangles:i},vectors:r}=this;let s,a;const o=this.circumcenters=this._circumcenters.subarray(0,i.length/3*2);for(let N=0,y=0,S=i.length,R,O;N<S;N+=3,y+=2){const b=i[N]*2,D=i[N+1]*2,B=i[N+2]*2,C=e[b],G=e[b+1],L=e[D],P=e[D+1],w=e[B],z=e[B+1],H=L-C,j=P-G,Y=w-C,Q=z-G,oe=(H*Q-j*Y)*2;if(Math.abs(oe)<1e-9){if(s===void 0){s=a=0;for(const fe of t)s+=e[fe*2],a+=e[fe*2+1];s/=t.length,a/=t.length}const ae=1e9*Math.sign((s-C)*Q-(a-G)*Y);R=(C+w)/2-ae*Q,O=(G+z)/2+ae*Y}else{const ae=1/oe,fe=H*H+j*j,xe=Y*Y+Q*Q;R=C+(Q*fe-j*xe)*ae,O=G+(H*xe-Y*fe)*ae}o[y]=R,o[y+1]=O}let l=t[t.length-1],u,d=l*4,q,_=e[2*l],g,M=e[2*l+1];r.fill(0);for(let N=0;N<t.length;++N)l=t[N],u=d,q=_,g=M,d=l*4,_=e[2*l],M=e[2*l+1],r[u+2]=r[d]=g-M,r[u+3]=r[d+1]=_-q}render(e){const t=e==null?e=new zs:void 0,{delaunay:{halfedges:i,inedges:r,hull:s},circumcenters:a,vectors:o}=this;if(s.length<=1)return null;for(let d=0,q=i.length;d<q;++d){const _=i[d];if(_<d)continue;const g=Math.floor(d/3)*2,M=Math.floor(_/3)*2,N=a[g],y=a[g+1],S=a[M],R=a[M+1];this._renderSegment(N,y,S,R,e)}let l,u=s[s.length-1];for(let d=0;d<s.length;++d){l=u,u=s[d];const q=Math.floor(r[u]/3)*2,_=a[q],g=a[q+1],M=l*4,N=this._project(_,g,o[M+2],o[M+3]);N&&this._renderSegment(_,g,N[0],N[1],e)}return t&&t.value()}renderBounds(e){const t=e==null?e=new zs:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){const i=t==null?t=new zs:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let s=r.length;for(;r[0]===r[s-2]&&r[1]===r[s-1]&&s>1;)s-=2;for(let a=2;a<s;a+=2)(r[a]!==r[a-2]||r[a+1]!==r[a-1])&&t.lineTo(r[a],r[a+1]);return t.closePath(),i&&i.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let t=0,i=e.length/2;t<i;++t){const r=this.cellPolygon(t);r&&(r.index=t,yield r)}}cellPolygon(e){const t=new Af;return this.renderCell(e,t),t.value()}_renderSegment(e,t,i,r,s){let a;const o=this._regioncode(e,t),l=this._regioncode(i,r);o===0&&l===0?(s.moveTo(e,t),s.lineTo(i,r)):(a=this._clipSegment(e,t,i,r,o,l))&&(s.moveTo(a[0],a[1]),s.lineTo(a[2],a[3]))}contains(e,t,i){return t=+t,t!==t||(i=+i,i!==i)?!1:this.delaunay._step(e,t,i)===e}*neighbors(e){const t=this._clip(e);if(t)for(const i of this.delaunay.neighbors(e)){const r=this._clip(i);if(r){e:for(let s=0,a=t.length;s<a;s+=2)for(let o=0,l=r.length;o<l;o+=2)if(t[s]===r[o]&&t[s+1]===r[o+1]&&t[(s+2)%a]===r[(o+l-2)%l]&&t[(s+3)%a]===r[(o+l-1)%l]){yield i;break e}}}}_cell(e){const{circumcenters:t,delaunay:{inedges:i,halfedges:r,triangles:s}}=this,a=i[e];if(a===-1)return null;const o=[];let l=a;do{const u=Math.floor(l/3);if(o.push(t[u*2],t[u*2+1]),l=l%3===2?l-2:l+1,s[l]!==e)break;l=r[l]}while(l!==a&&l!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const t=this._cell(e);if(t===null)return null;const{vectors:i}=this,r=e*4;return this._simplify(i[r]||i[r+1]?this._clipInfinite(e,t,i[r],i[r+1],i[r+2],i[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){const i=t.length;let r=null,s,a,o=t[i-2],l=t[i-1],u,d=this._regioncode(o,l),q,_=0;for(let g=0;g<i;g+=2)if(s=o,a=l,o=t[g],l=t[g+1],u=d,d=this._regioncode(o,l),u===0&&d===0)q=_,_=0,r?r.push(o,l):r=[o,l];else{let M,N,y,S,R;if(u===0){if((M=this._clipSegment(s,a,o,l,u,d))===null)continue;[N,y,S,R]=M}else{if((M=this._clipSegment(o,l,s,a,d,u))===null)continue;[S,R,N,y]=M,q=_,_=this._edgecode(N,y),q&&_&&this._edge(e,q,_,r,r.length),r?r.push(N,y):r=[N,y]}q=_,_=this._edgecode(S,R),q&&_&&this._edge(e,q,_,r,r.length),r?r.push(S,R):r=[S,R]}if(r)q=_,_=this._edgecode(r[0],r[1]),q&&_&&this._edge(e,q,_,r,r.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 r}_clipSegment(e,t,i,r,s,a){const o=s<a;for(o&&([e,t,i,r,s,a]=[i,r,e,t,a,s]);;){if(s===0&&a===0)return o?[i,r,e,t]:[e,t,i,r];if(s&a)return null;let l,u,d=s||a;d&8?(l=e+(i-e)*(this.ymax-t)/(r-t),u=this.ymax):d&4?(l=e+(i-e)*(this.ymin-t)/(r-t),u=this.ymin):d&2?(u=t+(r-t)*(this.xmax-e)/(i-e),l=this.xmax):(u=t+(r-t)*(this.xmin-e)/(i-e),l=this.xmin),s?(e=l,t=u,s=this._regioncode(e,t)):(i=l,r=u,a=this._regioncode(i,r))}}_clipInfinite(e,t,i,r,s,a){let o=Array.from(t),l;if((l=this._project(o[0],o[1],i,r))&&o.unshift(l[0],l[1]),(l=this._project(o[o.length-2],o[o.length-1],s,a))&&o.push(l[0],l[1]),o=this._clipFinite(e,o))for(let u=0,d=o.length,q,_=this._edgecode(o[d-2],o[d-1]);u<d;u+=2)q=_,_=this._edgecode(o[u],o[u+1]),q&&_&&(u=this._edge(e,q,_,o,u),d=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,i,r,s){for(;t!==i;){let a,o;switch(t){case 5:t=4;continue;case 4:t=6,a=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,a=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,a=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,a=this.xmin,o=this.ymin;break}(r[s]!==a||r[s+1]!==o)&&this.contains(e,a,o)&&(r.splice(s,0,a,o),s+=2)}return s}_project(e,t,i,r){let s=1/0,a,o,l;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<s&&(l=this.ymin,o=e+(s=a)*i)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<s&&(l=this.ymax,o=e+(s=a)*i)}if(i>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/i)<s&&(o=this.xmax,l=t+(s=a)*r)}else if(i<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/i)<s&&(o=this.xmin,l=t+(s=a)*r)}return[o,l]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){const i=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[i]&&e[i]===e[r]||e[t+1]===e[i+1]&&e[i+1]===e[r+1])&&(e.splice(i,2),t-=2)}e.length||(e=null)}return e}}const M$=2*Math.PI,Qa=Math.pow;function x$(n){return n[0]}function S$(n){return n[1]}function y$(n){const{triangles:e,coords:t}=n;for(let i=0;i<e.length;i+=3){const r=2*e[i],s=2*e[i+1],a=2*e[i+2];if((t[a]-t[r])*(t[s+1]-t[r+1])-(t[s]-t[r])*(t[a+1]-t[r+1])>1e-10)return!1}return!0}function N$(n,e,t){return[n+Math.sin(n+e)*t,e+Math.cos(n-e)*t]}class Mq{static from(e,t=x$,i=S$,r){return new Mq("length"in e?v$(e,t,i,r):Float64Array.from(O$(e,t,i,r)))}constructor(e){this._delaunator=new R8(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&y$(e)){this.collinear=Int32Array.from({length:t.length/2},(_,g)=>g).sort((_,g)=>t[2*_]-t[2*g]||t[2*_+1]-t[2*g+1]);const l=this.collinear[0],u=this.collinear[this.collinear.length-1],d=[t[2*l],t[2*l+1],t[2*u],t[2*u+1]],q=1e-8*Math.hypot(d[3]-d[1],d[2]-d[0]);for(let _=0,g=t.length/2;_<g;++_){const M=N$(t[2*_],t[2*_+1],q);t[2*_]=M[0],t[2*_+1]=M[1]}this._delaunator=new R8(t)}else delete this.collinear;const i=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,s=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let l=0,u=i.length;l<u;++l){const d=s[l%3===2?l-2:l+1];(i[l]===-1||a[d]===-1)&&(a[d]=l)}for(let l=0,u=r.length;l<u;++l)o[r[l]]=l;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new E$(this,e)}*neighbors(e){const{inedges:t,hull:i,_hullIndex:r,halfedges:s,triangles:a,collinear:o}=this;if(o){const q=o.indexOf(e);q>0&&(yield o[q-1]),q<o.length-1&&(yield o[q+1]);return}const l=t[e];if(l===-1)return;let u=l,d=-1;do{if(yield d=a[u],u=u%3===2?u-2:u+1,a[u]!==e)return;if(u=s[u],u===-1){const q=i[(r[e]+1)%i.length];q!==d&&(yield q);return}}while(u!==l)}find(e,t,i=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;const r=i;let s;for(;(s=this._step(i,e,t))>=0&&s!==i&&s!==r;)i=s;return s}_step(e,t,i){const{inedges:r,hull:s,_hullIndex:a,halfedges:o,triangles:l,points:u}=this;if(r[e]===-1||!u.length)return(e+1)%(u.length>>1);let d=e,q=Qa(t-u[e*2],2)+Qa(i-u[e*2+1],2);const _=r[e];let g=_;do{let M=l[g];const N=Qa(t-u[M*2],2)+Qa(i-u[M*2+1],2);if(N<q&&(q=N,d=M),g=g%3===2?g-2:g+1,l[g]!==e)break;if(g=o[g],g===-1){if(g=s[(a[e]+1)%s.length],g!==M&&Qa(t-u[g*2],2)+Qa(i-u[g*2+1],2)<q)return g;break}}while(g!==_);return d}render(e){const t=e==null?e=new zs:void 0,{points:i,halfedges:r,triangles:s}=this;for(let a=0,o=r.length;a<o;++a){const l=r[a];if(l<a)continue;const u=s[a]*2,d=s[l]*2;e.moveTo(i[u],i[u+1]),e.lineTo(i[d],i[d+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!="function")&&(t=e,e=null),t=t==null?2:+t;const i=e==null?e=new zs:void 0,{points:r}=this;for(let s=0,a=r.length;s<a;s+=2){const o=r[s],l=r[s+1];e.moveTo(o+t,l),e.arc(o,l,t,0,M$)}
3842return i&&i.value()}renderHull(e){const t=e==null?e=new zs:void 0,{hull:i,points:r}=this,s=i[0]*2,a=i.length;e.moveTo(r[s],r[s+1]);for(let o=1;o<a;++o){const l=2*i[o];e.lineTo(r[l],r[l+1])}return e.closePath(),t&&t.value()}hullPolygon(){const e=new Af;return this.renderHull(e),e.value()}renderTriangle(e,t){const i=t==null?t=new zs:void 0,{points:r,triangles:s}=this,a=s[e*=3]*2,o=s[e+1]*2,l=s[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[l],r[l+1]),t.closePath(),i&&i.value()}*trianglePolygons(){const{triangles:e}=this;for(let t=0,i=e.length/3;t<i;++t)yield this.trianglePolygon(t)}trianglePolygon(e){const t=new Af;return this.renderTriangle(e,t),t.value()}}function v$(n,e,t,i){const r=n.length,s=new Float64Array(r*2);for(let a=0;a<r;++a){const o=n[a];s[a*2]=e.call(i,o,a,n),s[a*2+1]=t.call(i,o,a,n)}return s}function*O$(n,e,t,i){let r=0;for(const s of n)yield e.call(i,s,r,n),yield t.call(i,s,r,n),++r}const xq=Math.PI,PE=xq/2,LE=180/xq,DE=xq/180,T$=Math.atan2,CE=Math.cos,R$=Math.max,b$=Math.min,wE=Math.sin,I$=Math.sign||function(n){return n>0?1:n<0?-1:0},kN=Math.sqrt;function P$(n){return n>1?PE:n<-1?-PE:Math.asin(n)}function zN(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function Gr(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function u9(n,e){return[n[0]+e[0],n[1]+e[1],n[2]+e[2]]}function c9(n){var e=kN(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);return[n[0]/e,n[1]/e,n[2]/e]}function Sq(n){return[T$(n[1],n[0])*LE,P$(R$(-1,b$(1,n[2])))*LE]}function A2(n){const e=n[0]*DE,t=n[1]*DE,i=CE(t);return[i*CE(e),i*wE(e),wE(t)]}function yq(n){return n=n.map(e=>A2(e)),zN(n[0],Gr(n[2],n[1]))}function L$(n){const e=C$(n),t=B$(e),i=w$(t,n),r=F$(t,n.length),s=D$(r,n),a=U$(t,n),{polygons:o,centers:l}=G$(a,t,n),u=V$(o),d=z$(t,n),q=k$(i,t);return{delaunay:e,edges:i,triangles:t,centers:l,neighbors:r,polygons:o,mesh:u,hull:d,urquhart:q,find:s}}function D$(n,e){function t(i,r){let s=i[0]-r[0],a=i[1]-r[1],o=i[2]-r[2];return s*s+a*a+o*o}return function(r,s,a){a===void 0&&(a=0);let o,l,u=a;const d=A2([r,s]);do o=a,a=null,l=t(d,A2(e[o])),n[o].forEach(q=>{let _=t(d,A2(e[q]));if(_<l){l=_,a=q,u=q;return}});while(a!==null);return u}}function C$(n){if(n.length<2)return{};let e=0;for(;isNaN(n[e][0]+n[e][1])&&e++<n.length;);const t=xH(n[e]),i=tK().translate([0,0]).scale(1).rotate(t.invert([180,0]));n=n.map(i);const r=[];let s=1;for(let q=0,_=n.length;q<_;q++){let g=n[q][0]**2+n[q][1]**2;!isFinite(g)||g>1e32?r.push(q):g>s&&(s=g)}const a=1e6*kN(s);r.forEach(q=>n[q]=[a,0]),n.push([0,a]),n.push([-a,0]),n.push([0,-a]);const o=Mq.from(n);o.projection=i;const{triangles:l,halfedges:u,inedges:d}=o;for(let q=0,_=u.length;q<_;q++)if(u[q]<0){const g=q%3==2?q-2:q+1,M=q%3==0?q+2:q-1,N=u[g],y=u[M];u[N]=y,u[y]=N,u[g]=u[M]=-1,l[q]=l[g]=l[M]=e,d[l[N]]=N%3==0?N+2:N-1,d[l[y]]=y%3==0?y+2:y-1,q+=2-q%3}else l[q]>n.length-3-1&&(l[q]=e);return o}function w$(n,e){const t=new Set;return e.length===2?[[0,1]]:(n.forEach(i=>{if(i[0]!==i[1]&&!(yq(i.map(r=>e[r]))<0))for(let r=0,s;r<3;r++)s=(r+1)%3,t.add(C7([i[r],i[s]]).join("-"))}),Array.from(t,i=>i.split("-").map(Number)))}function B$(n){const{triangles:e}=n;if(!e)return[];const t=[];for(let i=0,r=e.length/3;i<r;i++){const s=e[3*i],a=e[3*i+1],o=e[3*i+2];s!==a&&a!==o&&t.push([s,o,a])}return t}function U$(n,e){return n.map(t=>{const i=t.map(s=>e[s]).map(A2),r=u9(u9(Gr(i[1],i[0]),Gr(i[2],i[1])),Gr(i[0],i[2]));return Sq(c9(r))})}function F$(n,e){const t=[];return n.forEach(i=>{for(let r=0;r<3;r++){const s=i[r],a=i[(r+1)%3];t[s]=t[s]||[],t[s].push(a)}}),n.length===0&&(e===2?(t[0]=[1],t[1]=[0]):e===1&&(t[0]=[])),t}function G$(n,e,t){const i=[],r=n.slice();if(e.length===0){if(t.length<2)return{polygons:i,centers:r};if(t.length===2){const o=A2(t[0]),l=A2(t[1]),u=c9(u9(o,l)),d=c9(Gr(o,l)),q=Gr(u,d),_=[u,Gr(u,q),Gr(Gr(u,q),q),Gr(Gr(Gr(u,q),q),q)].map(Sq).map(a);return i.push(_),i.push(_.slice().reverse()),{polygons:i,centers:r}}}e.forEach((o,l)=>{for(let u=0;u<3;u++){const d=o[u],q=o[(u+1)%3],_=o[(u+2)%3];i[d]=i[d]||[],i[d].push([q,_,l,[d,q,_]])}});const s=i.map(o=>{const l=[o[0][2]];let u=o[0][1];for(let d=1;d<o.length;d++)for(let q=0;q<o.length;q++)if(o[q][0]==u){u=o[q][1],l.push(o[q][2]);break}if(l.length>2)return l;if(l.length==2){const d=BE(t[o[0][3][0]],t[o[0][3][1]],r[l[0]]),q=BE(t[o[0][3][2]],t[o[0][3][0]],r[l[0]]),_=a(d),g=a(q);return[l[0],g,l[1],_]}});function a(o){let l=-1;
3842return r.slice(e.length,1/0).forEach((u,d)=>{u[0]===o[0]&&u[1]===o[1]&&(l=d+e.length)}),l<0&&(l=r.length,r.push(o)),l}return{polygons:s,centers:r}}function BE(n,e,t){n=A2(n),e=A2(e),t=A2(t);const i=I$(zN(Gr(e,n),t));return Sq(c9(u9(n,e)).map(r=>i*r))}function V$(n){const e=[];return n.forEach(t=>{if(!t)return;let i=t[t.length-1];for(let r of t)r>i&&e.push([i,r]),i=r}),e}function k$(n,e){return function(t){const i=new Map,r=new Map;return n.forEach((s,a)=>{const o=s.join("-");i.set(o,t[a]),r.set(o,!0)}),e.forEach(s=>{let a=0,o=-1;for(let l=0;l<3;l++){let u=C7([s[l],s[(l+1)%3]]).join("-");i.get(u)>a&&(a=i.get(u),o=u)}r.set(o,!1)}),n.map(s=>r.get(s.join("-")))}}function z$(n,e){const t=new Set,i=[];n.map(o=>{if(!(yq(o.map(l=>e[l>e.length?0:l]))>1e-12))for(let l=0;l<3;l++){let u=[o[l],o[(l+1)%3]],d=`${u[0]}-${u[1]}`;t.has(d)?t.delete(d):t.add(`${u[1]}-${u[0]}`)}});const r=new Map;let s;if(t.forEach(o=>{o=o.split("-").map(Number),r.set(o[0],o[1]),s=o[0]}),s===void 0)return i;let a=s;do{i.push(a);let o=r.get(a);r.set(a,-1),a=o}while(a>-1&&a!==s);return i}function W$(n){const e=function(t){if(e.delaunay=null,e._data=t,typeof e._data=="object"&&e._data.type==="FeatureCollection"&&(e._data=e._data.features),typeof e._data=="object"){const i=e._data.map(r=>[e._vx(r),e._vy(r),r]).filter(r=>isFinite(r[0]+r[1]));e.points=i.map(r=>[r[0],r[1]]),e.valid=i.map(r=>r[2]),e.delaunay=L$(e.points)}return e};return e._vx=function(t){if(typeof t=="object"&&"type"in t)return jg(t)[0];if(0 in t)return t[0]},e._vy=function(t){if(typeof t=="object"&&"type"in t)return jg(t)[1];if(1 in t)return t[1]},e.x=function(t){return t?(e._vx=t,e):e._vx},e.y=function(t){return t?(e._vy=t,e):e._vy},e.polygons=function(t){if(t!==void 0&&e(t),!e.delaunay)return!1;const i={type:"FeatureCollection",features:[]};return e.valid.length===0||(e.delaunay.polygons.forEach((r,s)=>i.features.push({type:"Feature",geometry:r?{type:"Polygon",coordinates:[[...r,r[0]].map(a=>e.delaunay.centers[a])]}:null,properties:{site:e.valid[s],sitecoordinates:e.points[s],neighbours:e.delaunay.neighbors[s]}})),e.valid.length===1&&i.features.push({type:"Feature",geometry:{type:"Sphere"},properties:{site:e.valid[0],sitecoordinates:e.points[0],neighbours:[]}})),i},e.triangles=function(t){return t!==void 0&&e(t),e.delaunay?{type:"FeatureCollection",features:e.delaunay.triangles.map((i,r)=>(i=i.map(s=>e.points[s]),i.center=e.delaunay.centers[r],i)).filter(i=>yq(i)>0).map(i=>({type:"Feature",properties:{circumcenter:i.center},geometry:{type:"Polygon",coordinates:[[...i,i[0]]]}}))}:!1},e.links=function(t){if(t!==void 0&&e(t),!e.delaunay)return!1;const i=e.delaunay.edges.map(s=>j3(e.points[s[0]],e.points[s[1]])),r=e.delaunay.urquhart(i);return{type:"FeatureCollection",features:e.delaunay.edges.map((s,a)=>({type:"Feature",properties:{source:e.valid[s[0]],target:e.valid[s[1]],length:i[a],urquhart:!!r[a]},geometry:{type:"LineString",coordinates:[e.points[s[0]],e.points[s[1]]]}}))}},e.mesh=function(t){return t!==void 0&&e(t),e.delaunay?{type:"MultiLineString",coordinates:e.delaunay.edges.map(i=>[e.points[i[0]],e.points[i[1]]])}:!1},e.cellMesh=function(t){if(t!==void 0&&e(t),!e.delaunay)return!1;const{centers:i,polygons:r}=e.delaunay,s=[];for(const a of r)if(a)for(let o=a.length,l=a[o-1],u=a[0],d=0;d<o;l=u,u=a[++d])u>l&&s.push([i[l],i[u]]);return{type:"MultiLineString",coordinates:s}},e._found=void 0,e.find=function(t,i,r){if(e._found=e.delaunay.find(t,i,e._found),!r||j3([t,i],e.points[e._found])<r)return e._found},e.hull=function(t){t!==void 0&&e(t);const i=e.delaunay.hull,r=e.points;return i.length===0?null:{type:"Polygon",coordinates:[[...i.map(s=>r[s]),r[i[0]]]]}},n?e(n):e}function hf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function H$(n){if(Array.isArray(n))return n}function K$(n){if(Array.isArray(n))return hf(n)}function Y$(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function $$(n,e,t){return e=A9(e),nj(n,WN()?Reflect.construct(e,[],A9(n).constructor):e.apply(n,t))}function j$(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}
3842function X$(n,e,t){return Object.defineProperty(n,"prototype",{writable:!1}),n}function A9(n){return A9=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A9(n)}function Z$(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&ff(n,e)}function WN(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(WN=function(){return!!n})()}function Q$(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function J$(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function ej(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3843In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tj(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3844In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nj(n,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Y$(n)}function ff(n,e){return ff=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},ff(n,e)}function n2(n,e){return H$(n)||J$(n,e)||HN(n,e)||ej()}function oA(n){return K$(n)||Q$(n)||HN(n)||tj()}function HN(n,e){if(n){if(typeof n=="string")return hf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?hf(n,e):void 0}}function ij(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.resolution,i=t===void 0?1/0:t,r=rj(n,i),s=M8(r),a=sj(n,i),o=[].concat(oA(s),oA(a)),l={type:"Polygon",coordinates:n},u=cN(l),d=n2(u,2),q=n2(d[0],2),_=q[0],g=q[1],M=n2(d[1],2),N=M[0],y=M[1],S=_>N||y>=89||g<=-89,R=[];if(S){var O=W$(o).triangles(),b=new Map(o.map(function(oe,ae){var fe=n2(oe,2),xe=fe[0],Te=fe[1];return["".concat(xe,"-").concat(Te),ae]}));O.features.forEach(function(oe){var ae,fe=oe.geometry.coordinates[0].slice(0,3).reverse(),xe=[];if(fe.forEach(function(He){var Je=n2(He,2),Se=Je[0],we=Je[1],lt="".concat(Se,"-").concat(we);b.has(lt)&&xe.push(b.get(lt))}),xe.length===3){if(xe.some(function(He){return He<s.length})){var Te=oe.properties.circumcenter;if(!df(Te,l,S))return}(ae=R).push.apply(ae,xe)}})}else if(a.length)for(var L=R8.from(o),P=function(ae){var fe,xe=[2,1,0].map(function(Je){return L.triangles[ae+Je]}),Te=xe.map(function(Je){return o[Je]});if(xe.some(function(Je){return Je<s.length})){var He=[0,1].map(function(Je){return qW(Te,function(Se){return Se[Je]})});if(!df(He,l,S))return 1}(fe=R).push.apply(fe,oA(xe))}
3844,w=0,z=L.triangles.length;w<z;w+=3)P(w);else{var D=s9(r),B=D.vertices,C=D.holes,G=C===void 0?[]:C;R=NK(B,G,2)}var H=J2(C7(o,function(oe){return oe[0]}),[0,1]),j=J2(C7(o,function(oe){return oe[1]}),[0,1]),Y=o.map(function(oe){var ae=n2(oe,2),fe=ae[0],xe=ae[1];return[H(fe),j(xe)]}),Q={points:o,indices:R,uvs:Y};return{contour:r,triangles:Q}}function rj(n,e){return n.map(function(t){var i=[],r;return t.forEach(function(s){if(r){var a=j3(s,r)*180/Math.PI;if(a>e)for(var o=qq(r,s),l=1/Math.ceil(a/e),u=l;u<1;)i.push(o(u)),u+=l}i.push(r=s)}),i})}function sj(n,e){var t={type:"Polygon",coordinates:n},i=cN(t),r=n2(i,2),s=n2(r[0],2),a=s[0],o=s[1],l=n2(r[1],2),u=l[0],d=l[1];if(Math.min(Math.abs(u-a),Math.abs(d-o))<e)return[];var q=a>u||d>=89||o<=-89;return aj(e,{minLng:a,maxLng:u,minLat:o,maxLat:d}).filter(function(_){return df(_,t,q)})}function aj(n){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.minLng,i=e.maxLng,r=e.minLat,s=e.maxLat,a=Math.round(Math.pow(360/n,2)/Math.PI),o=(1+Math.sqrt(5))/2,l=function(S){return S/o*360%360-180},u=function(S){return Math.acos(2*S/a-1)/Math.PI*180-90},d=function(S){return a*(Math.cos((S+90)*Math.PI/180)+1)/2},q=[s!==void 0?Math.ceil(d(s)):0,r!==void 0?Math.floor(d(r)):a-1],_=t===void 0&&i===void 0?function(){return!0}:t===void 0?function(y){return y<=i}:i===void 0?function(y){return y>=t}:i>=t?function(y){return y>=t&&y<=i}:function(y){return y>=t||y<=i},g=[],M=q[0];M<=q[1];M++){var N=l(M);_(N)&&g.push([N,u(M)])}return g}function df(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?FH(e,n):g$(n,e)}var d7=window.THREE?window.THREE:{BufferGeometry:en,Float32BufferAttribute:C1},UE=new d7.BufferGeometry().setAttribute?"setAttribute":"addAttribute",Nq=function(n){function e(t,i,r,s,a,o,l){var u;j$(this,e),u=$$(this,e),u.type="ConicPolygonGeometry",u.parameters={polygonGeoJson:t,bottomHeight:i,topHeight:r,closedBottom:s,closedTop:a,includeSides:o,curvatureResolution:l},i=i||0,r=r||1,s=s!==void 0?s:!0,a=a!==void 0?a:!0,o=o!==void 0?o:!0,l=l||5;var d=ij(t,{resolution:l}),q=d.contour,_=d.triangles,g=M8(_.uvs),M=[],N=[],y=[],S=0,R=function(C){var G=Math.round(M.length/3),L=y.length;M=M.concat(C.vertices),N=N.concat(C.uvs),y=y.concat(G?C.indices.map(function(P){return P+G}):C.indices),u.addGroup(L,y.length-L,S++)};o&&R(b()),s&&R(D(i,!1)),a&&R(D(r,!0)),u.setIndex(y),u[UE]("position",new d7.Float32BufferAttribute(M,3)),u[UE]("uv",new d7.Float32BufferAttribute(N,2)),u.computeVertexNormals();function O(B,C){var G=typeof C=="function"?C:function(){return C},L=B.map(function(P){return P.map(function(w){var z=n2(w,2),H=z[0],j=z[1];return oj(j,H,G(H,j))})});return s9(L)}function b(){for(var B=O(q,i),C=B.vertices,G=B.holes,L=O(q,r),P=L.vertices,w=M8([P,C]),z=Math.round(P.length/3),H=new Set(G),j=0,Y=[],Q=0;Q<z;Q++){var oe=Q+1;if(oe===z)oe=j;else if(H.has(oe)){var ae=oe;oe=j,j=ae}Y.push(Q,Q+z,oe+z),Y.push(oe+z,oe,Q)}for(var fe=[],xe=1;xe>=0;xe--)for(var Te=0;Te<z;Te+=1)fe.push(Te/(z-1),xe);return{indices:Y,vertices:w,uvs:fe}}function D(B){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return{indices:C?_.indices:_.indices.slice().reverse(),vertices:O([_.points],B).vertices,uvs:g}}return u}return Z$(e,n),X$(e)}(d7.BufferGeometry);function oj(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=(90-n)*Math.PI/180,r=(90-e)*Math.PI/180;return[t*Math.sin(i)*Math.cos(r),t*Math.cos(i),t*Math.sin(i)*Math.sin(r)]}function qf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function lj(n){if(Array.isArray(n))return n}function uj(n){if(Array.isArray(n))return qf(n)}function cj(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Aj(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}
3844function hj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3845In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fj(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3846In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dj(n,e){if(n==null)return{};var t,i,r=qj(n,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)t=s[i],e.includes(t)||{}.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}function qj(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.includes(i))continue;t[i]=n[i]}return t}function pj(n,e){return lj(n)||Aj(n,e)||KN(n,e)||hj()}function _j(n){return uj(n)||cj(n)||KN(n)||fj()}function mj(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function gj(n){var e=mj(n,"string");return typeof e=="symbol"?e:e+""}function KN(n,e){if(n){if(typeof n=="string")return qf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?qf(n,e):void 0}}var Ej=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(o){return{keyAccessor:o,isProp:!(o instanceof Function)}}),s=n.reduce(function(o,l){var u=o,d=l;return r.forEach(function(q,_){var g=q.keyAccessor,M=q.isProp,N;if(M){var y=d,S=y[g],R=dj(y,[g].map(gj));N=S,d=R}else N=g(d,_);_+1<r.length?(u.hasOwnProperty(N)||(u[N]={}),u=u[N]):t?(u.hasOwnProperty(N)||(u[N]=[]),u[N].push(d)):u[N]=d}),o},{});t instanceof Function&&function o(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;u===r.length?Object.keys(l).forEach(function(d){return l[d]=t(l[d])}):Object.values(l).forEach(function(d){return o(d,u+1)})}(s);var a=s;return i&&(a=[],function o(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];u.length===r.length?a.push({keys:u,vals:l}):Object.entries(l).forEach(function(d){var q=pj(d,2),_=q[0],g=q[1];return o(g,[].concat(_j(u),[_]))})}(s),e instanceof Array&&e.length===0&&a.length===1&&(a[0].keys=[])),a},I1=function(n){n=n||{};var e=typeof n<"u"?n:{},t={},i;for(i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);var r="";function s(ve){return e.locateFile?e.locateFile(ve,r):r+ve}var a;typeof document<"u"&&document.currentScript&&(r=document.currentScript.src),r.indexOf("blob:")!==0?r=r.substr(0,r.lastIndexOf("/")+1):r="",a=function(Fe,ct,Ve){var A=new XMLHttpRequest;A.open("GET",Fe,!0),A.responseType="arraybuffer",A.onload=function(){if(A.status==200||A.status==0&&A.response){ct(A.response);return}var y1=Vt(Fe);if(y1){ct(y1.buffer);return}Ve()},A.onerror=Ve,A.send(null)};var o=e.print||console.log.bind(console),l=e.printErr||console.warn.bind(console);for(i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);t=null,e.arguments&&e.arguments;var u=0,d=function(ve){u=ve},q=function(){return u},_=8;function g(ve,Fe,ct,Ve){switch(ct=ct||"i8",ct.charAt(ct.length-1)==="*"&&(ct="i32"),ct){case"i1":z[ve>>0]=Fe;break;case"i8":z[ve>>0]=Fe;break;case"i16":j[ve>>1]=Fe;break;case"i32":Y[ve>>2]=Fe;break;case"i64":Me=[Fe>>>0,(K=Fe,+Wt(K)>=1?K>0?(Ye(+st(K/4294967296),4294967295)|0)>>>0:~~+J((K-+(~~K>>>0))/4294967296)>>>0:0)],Y[ve>>2]=Me[0],Y[ve+4>>2]=Me[1];break;case"float":Q[ve>>2]=Fe;break;case"double":oe[ve>>3]=Fe;break;default:Ii("invalid type for setValue: "+ct)}}function M(ve,Fe,ct){switch(Fe=Fe||"i8",Fe.charAt(Fe.length-1)==="*"&&(Fe="i32"),Fe){case"i1":return z[ve>>0];case"i8":return z[ve>>0];case"i16":return j[ve>>1];case"i32":return Y[ve>>2];case"i64":return Y[ve>>2];case"float":return Q[ve>>2];case"double":return oe[ve>>3];default:Ii("invalid type for getValue: "+Fe)}return null}var N=!1;function y(ve,Fe){ve||Ii("Assertion failed: "+Fe)}function S(ve){var Fe=e["_"+ve];return y(Fe,"Cannot call unknown function "+ve+", make sure it is exported"),Fe}function R(ve,Fe,ct,Ve,A){var k={string:function(_1){var ur=0;if(_1!=null&&_1!==0){var Na=(_1.length<<2)+1;ur=Xe(Na),G(_1,ur,Na)}return ur},array:function(_1){var ur=Xe(_1.length);return L(_1,ur),ur}};function y1(_1){return Fe==="string"?B(_1):Fe==="boolean"?!!_1:_1}var w1=S(ve),Tn=[],h1=0;if(Ve)for(var T1=0;T1<Ve.length;T1++){var z0=k[ct[T1]];z0?(h1===0&&(h1=nt()),Tn[T1]=z0(Ve[T1])):Tn[T1]=Ve[T1]}var L1=w1.apply(null,Tn);return L1=y1(L1),h1!==0&&vt(h1),L1}function O(ve,Fe,ct,Ve){ct=ct||[];var A=ct.every(function(y1){return y1==="number"}),k=Fe!=="string";return k&&A&&!Ve?S(ve):function(){return R(ve,Fe,ct,arguments)}}var b=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function D(ve,Fe,ct){for(var Ve=Fe+ct,A=Fe;ve[A]&&!(A>=Ve);)++A;if(A-Fe>16&&ve.subarray&&b)return b.decode(ve.subarray(Fe,A));for(var k="";Fe<A;){var y1=ve[Fe++];if(!(y1&128)){k+=String.fromCharCode(y1);continue}var w1=ve[Fe++]&63;if((y1&224)==192){k+=String.fromCharCode((y1&31)<<6|w1);continue}var Tn=ve[Fe++]&63;if((y1&240)==224?y1=(y1&15)<<12|w1<<6|Tn:y1=(y1&7)<<18|w1<<12|Tn<<6|ve[Fe++]&63,y1<65536)k+=String.fromCharCode(y1);else{var h1=y1-65536;k+=String.fromCharCode(55296|h1>>10,56320|h1&1023)}}return k}function B(ve,Fe){return ve?D(H,ve,Fe):""}function C(ve,Fe,ct,Ve){if(!(Ve>0))return 0;for(var A=ct,k=ct+Ve-1,y1=0;y1<ve.length;++y1){var w1=ve.charCodeAt(y1);if(w1>=55296&&w1<=57343){var Tn=ve.charCodeAt(++y1);w1=65536+((w1&1023)<<10)|Tn&1023}if(w1<=127){if(ct>=k)break;Fe[ct++]=w1}else if(w1<=2047){if(ct+1>=k)break;Fe[ct++]=192|w1>>6,Fe[ct++]=128|w1&63}else if(w1<=65535){if(ct+2>=k)break;Fe[ct++]=224|w1>>12,Fe[ct++]=128|w1>>6&63,Fe[ct++]=128|w1&63}else{if(ct+3>=k)break;Fe[ct++]=240|w1>>18,Fe[ct++]=128|w1>>12&63,Fe[ct++]=128|w1>>6&63,Fe[ct++]=128|w1&63}}return Fe[ct]=0,ct-A}function G(ve,Fe,ct){return C(ve,H,Fe,ct)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function L(ve,Fe){z.set(ve,Fe)}function P(ve,Fe){return ve%Fe>0&&(ve+=Fe-ve%Fe),ve}var w,z,H,j,Y,Q,oe;function ae(ve){w=ve,e.HEAP8=z=new Int8Array(ve),e.HEAP16=j=new Int16Array(ve),e.HEAP32=Y=new Int32Array(ve),e.HEAPU8=H=new Uint8Array(ve),e.HEAPU16=new Uint16Array(ve),e.HEAPU32
3846=new Uint32Array(ve),e.HEAPF32=Q=new Float32Array(ve),e.HEAPF64=oe=new Float64Array(ve)}var fe=5271520,xe=28608,Te=e.TOTAL_MEMORY||33554432;e.buffer?w=e.buffer:w=new ArrayBuffer(Te),Te=w.byteLength,ae(w),Y[xe>>2]=fe;function He(ve){for(;ve.length>0;){var Fe=ve.shift();if(typeof Fe=="function"){Fe();continue}var ct=Fe.func;typeof ct=="number"?Fe.arg===void 0?e.dynCall_v(ct):e.dynCall_vi(ct,Fe.arg):ct(Fe.arg===void 0?null:Fe.arg)}}var Je=[],Se=[],we=[],lt=[];function rt(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)$t(e.preRun.shift());He(Je)}function _t(){He(Se)}function mt(){He(we)}function ut(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)A1(e.postRun.shift());He(lt)}function $t(ve){Je.unshift(ve)}function A1(ve){lt.unshift(ve)}var Wt=Math.abs,J=Math.ceil,st=Math.floor,Ye=Math.min,ot=0,Be=null;function St(ve){ot++,e.monitorRunDependencies&&e.monitorRunDependencies(ot)}function tt(ve){if(ot--,e.monitorRunDependencies&&e.monitorRunDependencies(ot),ot==0&&Be){var Fe=Be;Be=null,Fe()}}e.preloadedImages={},e.preloadedAudios={};var pt=null,Jt="data:application/octet-stream;base64,";function se(ve){return String.prototype.startsWith?ve.startsWith(Jt):ve.indexOf(Jt)===0}var K,Me;pt
vendor: 19,357 bytes, line 3846
3846="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAABgAAAAoAAAALAAAAAAAAAAEAAAAFAAAAAwAAAA0AAAABAAAABwAAAAQAAAAMAAAAAAAAAAQAAAB/AAAADwAAAAgAAAADAAAAAAAAAAwAAAAFAAAAAgAAABIAAAAKAAAACAAAAAAAAAAQAAAABgAAAA4AAAALAAAAEQAAAAEAAAAJAAAAAgAAAAcAAAAVAAAACQAAABMAAAADAAAADQAAAAEAAAAIAAAABQAAABYAAAAQAAAABAAAAAAAAAAPAAAACQAAABMAAAAOAAAAFAAAAAEAAAAHAAAABgAAAAoAAAALAAAAGAAAABcAAAAFAAAAAgAAABIAAAALAAAAEQAAABcAAAAZAAAAAgAAAAYAAAAKAAAADAAAABwAAAANAAAAGgAAAAQAAAAPAAAAAwAAAA0AAAAaAAAAFQAAAB0AAAADAAAADAAAAAcAAAAOAAAAfwAAABEAAAAbAAAACQAAABQAAAAGAAAADwAAABYAAAAcAAAAHwAAAAQAAAAIAAAADAAAABAAAAASAAAAIQAAAB4AAAAIAAAABQAAABYAAAARAAAACwAAAA4AAAAGAAAAIwAAABkAAAAbAAAAEgAAABgAAAAeAAAAIAAAAAUAAAAKAAAAEAAAABMAAAAiAAAAFAAAACQAAAAHAAAAFQAAAAkAAAAUAAAADgAAABMAAAAJAAAAKAAAABsAAAAkAAAAFQAAACYAAAATAAAAIgAAAA0AAAAdAAAABwAAABYAAAAQAAAAKQAAACEAAAAPAAAACAAAAB8AAAAXAAAAGAAAAAsAAAAKAAAAJwAAACUAAAAZAAAAGAAAAH8AAAAgAAAAJQAAAAoAAAAXAAAAEgAAABkAAAAXAAAAEQAAAAsAAAAtAAAAJwAAACMAAAAaAAAAKgAAAB0AAAArAAAADAAAABwAAAANAAAAGwAAACgAAAAjAAAALgAAAA4AAAAUAAAAEQAAABwAAAAfAAAAKgAAACwAAAAMAAAADwAAABoAAAAdAAAAKwAAACYAAAAvAAAADQAAABoAAAAVAAAAHgAAACAAAAAwAAAAMgAAABAAAAASAAAAIQAAAB8AAAApAAAALAAAADUAAAAPAAAAFgAAABwAAAAgAAAAHgAAABgAAAASAAAANAAAADIAAAAlAAAAIQAAAB4AAAAxAAAAMAAAABYAAAAQAAAAKQAAACIAAAATAAAAJgAAABUAAAA2AAAAJAAAADMAAAAjAAAALgAAAC0AAAA4AAAAEQAAABsAAAAZAAAAJAAAABQAAAAiAAAAEwAAADcAAAAoAAAANgAAACUAAAAnAAAANAAAADkAAAAYAAAAFwAAACAAAAAmAAAAfwAAACIAAAAzAAAAHQAAAC8AAAAVAAAAJwAAACUAAAAZAAAAFwAAADsAAAA5AAAALQAAACgAAAAbAAAAJAAAABQAAAA8AAAALgAAADcAAAApAAAAMQAAADUAAAA9AAAAFgAAACEAAAAfAAAAKgAAADoAAAArAAAAPgAAABwAAAAsAAAAGgAAACsAAAA+AAAALwAAAEAAAAAaAAAAKgAAAB0AAAAsAAAANQAAADoAAABBAAAAHAAAAB8AAAAqAAAALQAAACcAAAAjAAAAGQAAAD8AAAA7AAAAOAAAAC4AAAA8AAAAOAAAAEQAAAAbAAAAKAAAACMAAAAvAAAAJgAAACsAAAAdAAAARQAAADMAAABAAAAAMAAAADEAAAAeAAAAIQAAAEMAAABCAAAAMgAAADEAAAB/AAAAPQAAAEIAAAAhAAAAMAAAACkAAAAyAAAAMAAAACAAAAAeAAAARgAAAEMAAAA0AAAAMwAAAEUAAAA2AAAARwAAACYAAAAvAAAAIgAAADQAAAA5AAAARgAAAEoAAAAgAAAAJQAAADIAAAA1AAAAPQAAAEEAAABLAAAAHwAAACkAAAAsAAAANgAAAEcAAAA3AAAASQAAACIAAAAzAAAAJAAAADcAAAAoAAAANgAAACQAAABIAAAAPAAAAEkAAAA4AAAARAAAAD8AAABNAAAAIwAAAC4AAAAtAAAAOQAAADsAAABKAAAATgAAACUAAAAnAAAANAAAADoAAAB/AAAAPgAAAEwAAAAsAAAAQQAAACoAAAA7AAAAPwAAAE4AAABPAAAAJwAAAC0AAAA5AAAAPAAAAEgAAABEAAAAUAAAACgAAAA3AAAALgAAAD0AAAA1AAAAMQAAACkAAABRAAAASwAAAEIAAAA+AAAAKwAAADoAAAAqAAAAUgAAAEAAAABMAAAAPwAAAH8AAAA4AAAALQAAAE8AAAA7AAAATQAAAEAAAAAvAAAAPgAAACsAAABUAAAARQAAAFIAAABBAAAAOgAAADUAAAAsAAAAVgAAAEwAAABLAAAAQgAAAEMAAABRAAAAVQAAADEAAAAwAAAAPQAAAEMAAABCAAAAMgAAADAAAABXAAAAVQAAAEYAAABEAAAAOAAAADwAAAAuAAAAWgAAAE0AAABQAAAARQAAADMAAABAAAAALwAAAFkAAABHAAAAVAAAAEYAAABDAAAANAAAADIAAABTAAAAVwAAAEoAAABHAAAAWQAAAEkAAABbAAAAMwAAAEUAAAA2AAAASAAAAH8AAABJAAAANwAAAFAAAAA8AAAAWAAAAEkAAABbAAAASAAAAFgAAAA2AAAARwAAADcAAABKAAAATgAAAFMAAABcAAAANAAAADkAAABGAAAASwAAAEEAAAA9AAAANQAAAF4AAABWAAAAUQAAAEwAAABWAAAAUgAAAGAAAAA6AAAAQQAAAD4AAABNAAAAPwAAAEQAAAA4AAAAXQAAAE8AAABaAAAATgAAAEoAAAA7AAAAOQAAAF8AAABcAAAATwAAAE8AAABOAAAAPwAAADsAAABdAAAAXwAAAE0AAABQAAAARAAAAEgAAAA8AAAAYwAAAFoAAABYAAAAUQAAAFUAAABeAAAAZQAAAD0AAABCAAAASwAAAFIAAABgAAAAVAAAAGIAAAA+AAAATAAAAEAAAABTAAAAfwAAAEoAAABGAAAAZAAAAFcAAABcAAAAVAAAAEUAAABSAAAAQAAAAGEAAABZAAAAYgAAAFUAAABXAAAAZQAAAGYAAABCAAAAQwAAAFEAAABWAAAATAAAAEsAAABBAAAAaAAAAGAAAABeAAAAVwAAAFMAAABmAAAAZAAAAEMAAABGAAAAVQAAAFgAAABIAAAAWwAAAEkAAABjAAAAUAAAAGkAAABZAAAAYQAAAFsAAABnAAAARQAAAFQAAABHAAAAWgAAAE0AAABQAAAARAAAAGoAAABdAAAAYwAAAFsAAABJAAAAWQAAAEcAAABpAAAAWAAAAGcAAABcAAAAUwAAAE4AAABKAAAAbAAAAGQAAABfAAAAXQAAAE8AAABaAAAATQAAAG0AAABfAAAAagAAAF4AAABWAAAAUQAAAEsAAABrAAAAaAAAAGUAAABfAAAAXAAAAE8AAABOAAAAbQAAAGwAAABdAAAAYAAAAGgAAABiAAAAbgAAAEwAAABWAAAAUgAAAGEAAAB/AAAAYgAAAFQAAABnAAAAWQAAAG8AAABiAAAAbgAAAGEAAABvAAAAUgAAAGAAAABUAAAAYwAAAFAAAABpAAAAWAAAAGoAAABaAAAAcQAAAGQAAABmAAAAUwAAAFcAAABsAAAAcgAAAFwAAABlAAAAZgAAAGsAAABwAAAAUQAAAFUAAABeAAAAZgAAAGUAAABXAAAAVQAAAHIAAABwAAAAZAAAAGcAAABbAAAAYQAAAFkAAAB0AAAAaQAAAG8AAABoAAAAawAAAG4AAABzAAAAVgAAAF4AAABgAAAAaQAAAFgAAABnAAAAWwAAAHEAAABjAAAAdAAAAGoAAABdAAAAYwAAAFoAAAB1AAAAbQAAAHEAAABrAAAAfwAAAGUAAABeAAAAcwAAAGgAAABwAAAAbAAAAGQAAABfAAAAXAAAAHYAAAByAAAAbQAAAG0AAABsAAAAXQAAAF8AAAB1AAAAdgAAAGoAAABuAAAAYgAAAGgAAABgAAAAdwAAAG8AAABzAAAAbwAAAGEAAABuAAAAYgAAAHQAAABnAAAAdwAAAHAAAABrAAAAZgAAAGUAAAB4AAAAcwAAAHIAAABxAAAAYwAAAHQAAABpAAAAdQAAAGoAAAB5AAAAcgAAAHAAAABkAAAAZgAAAHYAAAB4AAAAbAAAAHMAAABuAAAAawAAAGgAAAB4AAAAdwAAAHAAAAB0AAAAZwAAAHcAAABvAAAAcQAAAGkAAAB5AAAAdQAAAH8AAABtAAAAdgAAAHEAAAB5AAAAagAAAHYAAAB4AAAAbAAAAHIAAAB1AAAAeQAAAG0AAAB3AAAAbwAAAHMAAABuAAAAeQAAAHQAAAB4AAAAeAAAAHMAAAByAAAAcAAAAHkAAAB3AAAAdgAAAHkAAAB0AAAAeAAAAHcAAAB1AAAAcQAAAHYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAACAAAABQAAAAEAAAAAAAAA/////wEAAAAAAAAAAwAAAAQAAAACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE
vendor: 4,160 bytes, line 3846
38464AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA//////
vendor: 13,586 bytes, line 3846
3846///////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAA6B6FaUp9QQTPXMuL4myJBraiDfBwx9UBYJseitzTIQOL5if9jqZtAnXX+Z+ycb0C3pucbhRBCQG8wJBYqpRRAlWbDCzCY5z/eFWBUEve6P/+qo4Q50Y4/D9YM3iCcYT8fcA2QJSA0P4ADxu0qAAc/BNcGolVJ2j5d9FACqwquPh9z7MthtI9CSUSYJke/YUJQ/64OyjU0Qpi0+HCmFQdCm3GfIVdh2kHsJ11kAyauQYC3UDFJOoFBSJsFV1OwU0FK5fcxX4AmQWhy/zZIt/lACqaCPsBjzUDbdUNIScugQMYQlVJ4MXNANiuq8GTvRUDxTXnulxEZQFZ8QX5kpuw/qmG/JwYFlEAluh3Q6DB+QKn4vyNq0GZAKOXekas+UUB8xabXXhI6QG63C2pLtSNAdDBtyNfLDUDyOcu67ID2P0rCMvRXAeE/Ki2TSVyzyT9Dk+8Sz2uzP5J+w5ARWp0/NQAoOiMuhj9YnP+RyMJwPxgW7TvQVFk/KgsLYF0kQz9g5dAC6IwzQcgHPVvDex1B1XjppodHBkHJq3OMM9fwQNvcmJ7wddlAInGPpQs/w0BRobq5EBmtQJZ2ai7n+ZVAtv2G5E+bgECG+gIfKBlpQK5f8jdI91JAL39sL/WpPEB8rGxhDqklQK6yUf43XhBAxL9y/tK8+D86XyZpgrHiPwAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA/////wAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8FAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAQABAAABAQAAAAAAAQAAAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAquJYWJZl+D9jaeZNtj/zPwwdI9KqaeO/qGefXwdHdz+q4lhYlmX4P+OrlPMN3PI/DB0j0qpp47+7SQLV4VIEQKriWFiWZfg/r2kma3tz8T82eQmLqNIGwMRIWXMqSvo/fcCszPux9j+jara6ozTwP6hnn18HR3c/MSoKLequ8r+SabgA2nj0P7jBLbDOHO8/1Ym/ICfH4T+6lxjvlFXHv73m373LRPU/0vXyDVxo7T+ToKRHJXMAQF/33578aPE/pAyy64tD9T8+U/hCvyruPwxv8Y7YYwLAuXYr8NAiCEB4+LDK0Sn0P1Qeuy4j+eo/OMx50n7K7L+TrGB/nyf8v5ehC2fbYPM/aXMKexiT6z8mFRIMjg/zP7yUVwGGBNw/E6opHERf8z/z0wR2g9DqPw4pBpcOhvu/NbA29uWAA8DMaTExyXzyP02biiQ+Ruk/S8jz2/FKBEB1pzZnpbb9P7pQU4wLfPI//7ZcQXeG6D9CqEQvAYoIwDB2VB6sSgRAVyv8H5We8T+EHWF8XNPmPzB2wT8Nrrg/SEi+cX+w4L8of+GtdSDxP1sjk5AdouU/6ZjOVru13r8K0obqI6bxvwVbdNXyhfA/w5GG024n5z+rwmtMzP8BwLw9pSX49QXABe/2uQxP8D+b6wCzCvXkP7uGT87fK+Q/pz/JWw4coj+qoBf2J0nwP/yE3PUo0+I/vFJeHcaC+D96luSIqvntP/bf8sHUYu8/gZNN41mL4z9bhOqVOF4FwO6lmAh1hQhAbCVxbdhk7z+1C8NdDcfiPwG36x/0OQBAx0WJ76c2+D9nlSHXANfuP2HlfZ3gqOE/EwnVlVPg9r96+oHzEH//v5bXzdT1Auw/DM3GwLsA4D9p/8uoKcr+v+U9x5DQVAPAehjSdghb7D9sc1IetODgP8MVwwB1pu6/azPk6OGe978W8t/TUc3rP+0QMvYfP+A/RsG/QpSE8D+l3uwScxzgPwQaifgujuw/k1Vti1I43z8MAwLnSh0GQH5nYnwwZgJAiGUzWC5s6j8WyyI/BbLgPw4iUapGeQJAB3W+imnp/j9BLWR4ssrpP2t+gG5Pstk/cpBsfm6DCMCOpU9dOZsFQEv8nFypHeo/ehJ6i+6S2D9jqlGEmarLv7STC5TRiOa/bC+x8WZD6D9H3yUkWpDZP8gZvmCMuQLAreY19/eRBsCoPOc8UzzpP6KI/QV+y9g/t/MoboyWzT+Hv5q3Zu3Mvy2xROCT4uY/9gQitMMg1T9abAqhWMDkv1oLTavoUfG/PMUJP9CD5j+fHRX3t6fSPz7W2gk6bvs/WRnuHwqN9D8YFturGCTmP1EZczv0b9I/5t4exabB5D/1ESLh5fTEP9X2z6SYweQ/6lv3I2zT0D9zkRGNUNMAQKoSvc4EIfs/Xggt8wQI5T+mJHHg/w/SP4lhT/9t8vQ/DrZ/DbwH7D+XlhbYZrjkP34LIpFt6c4/lwfp8fLX9L+j96CTTf76v3WdNhEv9uM/d8c3o4lV0D/vFdCHVcsFwAHeDq0F1QhApbYqcZiN5D9KoilqByXLPwX0/diA0vq/0fo0GxnxAMBbaTkvlCzjP/RrFrWXrMs/UYTrky7jA0DB9f4FiZYAQEGAk/3QzeE/r/TeqE8t0D/OqjlsnPbvvz8RKU8JOfW/smSEbK/O4T8MzuyPm3DDP/rFtctq9gZAfb1EVEaSA0Dts5dVInnhP18SFMc79MM/7y34cw6LAMDFrRJsZO0DwC2KLvLSYuA/hx5wcUHewz+49SnK/4ruPyeS0PX9a+E/ZxaaLvvZ3z8WPu5T2QS8Pygo4RIvMqa/BJ0Kqsd0279cKW4ay8jdP3b05bmZ364/10/qtdxk2r+Bcz6CDMvpv54qOw+Amdw/qLV71pW7sT/YKc80nIPUP8OfIaBJ77G/LyTuD1un2z+diYu8efWzP1wU7ACkfwjAZroyPL1yBkAmv3lKJJbbPysKSE4W+p0/dIgqY79TA8ATLTOQ3tsGwJ2zweD/Xdg/XO/jXeFUaL8VW2qLFKfov1cA9Aa6XfK/tIa7YGgI2T+f3hu/sxqPv2nXdPpf3Pc/jkw8Jbda8j+tT/z8tGPVP1yBHpJd35k/KYvYOy1s8j/yz+kCQjPrP9+agH7x59g/PZfJ9aBhpr/rDKzvYBb+PwtkiaGCt/c/vb1mVr+f1T/JIHwHc8Govw7aeF6+9vG/Xv7kD6fp979isYioQYHVP7AIQZuSFrG/3z1AdUTnAUDN3XY9O7f9P0AdQ9ljYNQ/dJANJPTOrb8kLECUiiPlP4yF7UgmStA/9xGmXxCG1T9qZzix4W2zv2SGJRJVrPe/Fh9a2M/B/b8IexzFCoPSP9y1QFD2bLe/Q86cWLJe/b+mOOfYm78BwOTjkPAGE9E/8aPCUKu/ub9pPZyLCiUGwBA7Mev/BQlALOmrlRi+0j+AMJ/dKULBv7iLtL6a6QRAEMDV/yajAUDa62dE3crJP1P70RgBUbq/38hVnR6esT/s1tG10Z/Ov/zLwalHPss/dTS9NKTXx78nMcRzCIEHQAabxDsAmQRA0tyLK3gSyT+Aui7nOhDGv5Gs58z3WgHATN3forJuBMCAui7nOhDGP9Lciyt4Esm/WAJyHQ4c7z8UP5HFIs3iP3U0vTSk18c//MvBqUc+y7+cvv8HLg/Kvy1I/mHsI+K/U/vRGAFRuj/a62dE3crJv8p+WV8KlQjAuQ/nOP43B0CAMJ/dKULBPyzpq5UYvtK/ZoU+VoLh4L9etLlRUfvtv/GjwlCrv7k/5OOQ8AYT0b9DfT9FhufXPwUX8hJp+4u/3LVAUPZstz8IexzFCoPSv9+L609E5fQ/q9Fz7X2J7T9qZzix4W2zP/cRpl8QhtW/vtNilqGX+j8MOy7QJoL0P3SQDST0zq0/QB1D2WNg1L8IIjSvGNkDwGB8Jou2GAfAsAhBm5IWsT9isYioQYHVvyS9D3zb6uy/gnwRa7uM9L/JIHwHc8GoP729Zla/n9W/CsAHJZwmAEDEW6OYT1r6Pz2XyfWgYaY/35qAfvHn2L83Tdy4lS30vxf2/gZ0jPq/XIEekl3fmb+tT/z8tGPVvybPr2zJ1/+/K7mJ0ypVAsCf3hu/sxqPPwCGu2BoCNm/5oITrpZn+r+UDUyDP+n/v1zv413hVGg/nbPB4P9d2L9MlmkxNvgCQMtZlKE85v8/KwpIThb6nb8mv3lKJJbbv8+SZsTvOOc/pQCIIOYw0j+diYu8efWzvy8k7g9bp9u/kxYDa+pKtD9XlYvA8HnVv6i1e9aVu7G/nio7D4CZ3L/WR6rNh5EGwCkgQweBkghAdvTluZnfrr9cKW4ay8jdvxbjhr1f1QVAR5C0MzivAkAWPu5T2QS8v2cWmi772d+/cKj4lzLJCEBx2QJfYrMFQIcecHFB3sO/LYou8tJi4L+jr7lhO38BwIcI0Nb7xgTAXxIUxzv0w7/ts5dVInnhv0T+l8DZLfE/MP3FoFvS5D8MzuyPm3DDv7JkhGyvzuG/tzhzRIRc0b9Ovv3/0z7mv6/03qhPLdC/m4CT/dDN4b9dwjU5VCQBQBBJX1ntCv0/9GsWtZesy79baTkvlCzjv1mjYgEz++S/oW6KnOQW8b9KoilqByXLv6W2KnGYjeS/SmaKz3Vx9z+BZB5yxGHwP3fHN6OJVdC/dZ02ES/2478PuaBjLrXaP4/JU81pPaO/fgsikW3pzr+XlhbYZrjkv4tSn7YDbP0/f2LnFKlF9z+mJHHg/w/Sv14ILfMECOW/mfg4qYhR/b+OP+RQDCACwOpb9yNs09C/1fbPpJjB5L9pN2WOVZ3wv3hHy9nxIve/URlzO/Rv0r8YFturGCTmv1d1/KKR8QPA8gsy9qzSB8CfHRX3t6fSvzzFCT/Qg+a/EYStnrzV9r/2QJqI7Lb9v/YEIrTDINW/LbFE4JPi5r/7kQEs5fEDQHunnf4GeQBAooj9BX7L2L+oPOc8Uzzpv+ydYY2SSAfAL4HK6CRTB0BH3yUkWpDZv2wvsfFmQ+i/Ik0Yzruh6T8fM3LoGoDUP3oSeovukti/S/ycXKkd6r9rEv+7UWcHQCRIQe/GfwNAa36Abk+y2b9BLWR4ssrpv9KT87qa0bM/FTyktw823L8WyyI/BbLgv4hlM1gubOq/DizMp9Ki6r8b5ckdjVrzv5NVbYtSON+/BBqJ+C6O7L/dUBFqgyXYv00Wh18r7+q/7RAy9h8/4L8W8t/TUc3rv4RM5DKx3wDAfvWIj94aBcBsc1IetODgv3oY0nYIW+y/oGcTFF54AUDkJqS/FKX6PwzNxsC7AOC/ltfN1PUC7L+5Wrz/zHnzP6688w2rNOc/YeV9neCo4b9nlSHXANfuvw9RsxKjY/s/1V8GteXE8j+1C8NdDcfiv2wlcW3YZO+/IOywaA7Q8b9bFP+4Tg36v4GTTeNZi+O/9t/ywdRi77+tRc3yFR7eP2bkcHXJkLO//ITc9SjT4r+qoBf2J0nwv2YHKoswwfm/iQcLspCjAcCb6wCzCvXkvwXv9rkMT/C/YkuwYAMXBMApCNUai9kIwMORhtNuJ+e/BVt01fKF8L+ZqWEfvIjsP6h693QZYNk/WyOTkB2i5b8of+GtdSDxvwpaaulDSwVADMQAX+lOAECEHWF8XNPmv1cr/B+VnvG/XyFG6opcCMD/mtR32/UEQP+2XEF3hui/ulBTjAt88r/imfCfRP+yP9zbvtc8XeO/TZuKJD5G6b/MaTExyXzyvxiTQeElXOO/rbJRQVGN9L/z0wR2g9DqvxOqKRxEX/O/FDGCEei99j9x8zV4VYTmP2lzCnsYk+u/l6ELZ9tg878pRXacaDT/v3k6GZRqoQXAVB67LiP56r94+LDK0Sn0vwO6pZ9b7wFAvK0nKVcc9j8+U/hCvyruv6QMsuuLQ/W/FPhKFYv46j8MyxaDTOW/v9L18g1caO2/vebfvctE9b/7GD8ZrF3xv3gx1AR9bQDAuMEtsM4c77+SabgA2nj0v5xKFIwxsATArKNSBaKsB0Cjara6ozTwv33ArMz7sfa/dF2U0FcWCcDxL357DJX/P69pJmt7c/G/quJYWJZl+L/YntVJlnrSP4sRLzXM+fe/46uU8w3c8r+q4lhYlmX4v85lu5+QRwRAsI0H/WU8479jaeZNtj/zv6riWFiWZfi/sI0H/WU847/OZbufkEcEQHAoPUBrnss/9exKzDtFtT88wM8kax+gP9OqeKeAYog/MW0ItiZvcj+ph+smvt5bP2lCaV5dEUU/StaUmQDaLz+kK9y22BMYP0O3whZuMwI/IIbgZGWE6z7UkjYaEM3UPuezxwa9cr8+LybxRMnFpz6E1N8DbPiRPsYjySMvK3s+//////8fAAj//////zMQCP////9/MiAI/////28yMAj/////YzJACP///z9iMlAI////N2IyYAj///8zYjJwCP//vzNiMoAI//+rM2IykAj/f6szYjKgCP8PqzNiMrAI/wOrM2IywAi/A6szYjLQCJ8DqzNiMuAImQOrM2Iy8Aj//////z8PCP//////Kx8I/////38pLwj/////Pyk/CP////85KU8I////PzgpXwj///8POClvCP///w44KX8I//8fDjgpjwj//w8OOCmfCP9/DQ44Ka8I/w8NDjgpvwj/DQ0OOCnPCP8MDQ44Kd8IxwwNDjgp7wjEDA0OOCn/CAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAABgtRFT7Ifk/GC1EVPsh+b8YLURU+yEJQBgtRFT7IQnAYWxnb3MuYwBoM05laWdoYm9yUm90YXRpb25zAGNvb3JkaWprLmMAX3VwQXA3Q2hlY2tlZABfdXBBcDdyQ2hlY2tlZABkaXJlY3RlZEVkZ2UuYwBkaXJlY3RlZEVkZ2VUb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMA
3846Y2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var Pe=28624;function Ke(ve,Fe,ct,Ve){Ii("Assertion failed: "+B(ve)+", at: "+[Fe?B(Fe):"unknown filename",ct,Ve?B(Ve):"unknown function"])}function Le(){return z.length}function Lt(ve,Fe,ct){H.set(H.subarray(Fe,Fe+ct),ve)}function dt(ve){return e.___errno_location&&(Y[e.___errno_location()>>2]=ve),ve}function Tt(ve){Ii("OOM")}function Dt(ve){try{var Fe=new ArrayBuffer(ve);return Fe.byteLength!=ve?void 0:(new Int8Array(Fe).set(z),gt(Fe),ae(Fe),1)}catch{}}function $e(ve){var Fe=Le(),ct=16777216,Ve=2147483648-ct;if(ve>Ve)return!1;for(var A=16777216,k=Math.max(Fe,A);k<ve;)k<=536870912?k=P(2*k,ct):k=Math.min(P((3*k+2147483648)/4,ct),Ve);var y1=Dt(k);return!!y1}var yt=typeof atob=="function"?atob:function(ve){var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ct="",Ve,A,k,y1,w1,Tn,h1,T1=0;ve=ve.replace(/[^A-Za-z0-9\+\/\=]/g,"");do y1=Fe.indexOf(ve.charAt(T1++)),w1=Fe.indexOf(ve.charAt(T1++)),Tn=Fe.indexOf(ve.charAt(T1++)),h1=Fe.indexOf(ve.charAt(T1++)),Ve=y1<<2|w1>>4,A=(w1&15)<<4|Tn>>2,k=(Tn&3)<<6|h1,ct=ct+String.fromCharCode(Ve),Tn!==64&&(ct=ct+String.fromCharCode(A)),h1!==64&&(ct=ct+String.fromCharCode(k));while(T1<ve.length);return ct};function jt(ve){try{for(var Fe=yt(ve),ct=new Uint8Array(Fe.length),Ve=0;Ve<Fe.length;++Ve)ct[Ve]=Fe.charCodeAt(Ve);return ct}catch{throw new Error("Converting base64 string to bytes failed.")}}function Vt(ve){if(se(ve))return jt(ve.slice(Jt.length))}var qt={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},r1={b:d,c:q,d:Ke,e:dt,f:Le,g:Lt,h:$e,i:Tt,o:Pe,p:xe},ee=function(ve,Fe,ct){"almost asm";var Ve=new ve.Int8Array(ct),A=new ve.Int32Array(ct);new ve.Uint8Array(ct),new ve.Float32Array(ct);var k=new ve.Float64Array(ct),y1=Fe.o|0,w1=Fe.p|0,Tn=ve.Math.floor,h1=ve.Math.abs,T1=ve.Math.sqrt,z0=ve.Math.pow,L1=ve.Math.cos,_1=ve.Math.sin,ur=ve.Math.tan,Na=ve.Math.acos,Uu=ve.Math.asin,X=ve.Math.atan,pe=ve.Math.atan2,Oe=ve.Math.ceil,Ne=ve.Math.imul,ge=ve.Math.min,it=ve.Math.max,At=ve.Math.clz32,ke=Fe.b,W=Fe.c,Ze=Fe.d,Xt=Fe.e,Ft=Fe.f,R1=Fe.g,V1=Fe.h,dn=Fe.i,V=28640;function D1(c){return Ve=new Int8Array(c),A=new Int32Array(c),k=new Float64Array(c),ct=c,!0}function kt(c){c=c|0;var h=0;return h=V,V=V+c|0,V=V+15&-16,h|0}function ri(){return V|0}function G1(c){c=c|0,V=c}function Ir(c,h){c=c|0,V=c}function A3(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;return(c|0)<0?(h=2,h|0):(c|0)>13780509?(h=rc(15,h)|0,h|0):(f=((c|0)<0)<<31>>31,m=Ci(c|0,f|0,3,0)|0,p=W()|0,f=Gt(c|0,f|0,1,0)|0,f=Ci(m|0,p|0,f|0,W()|0)|0,f=Gt(f|0,W()|0,1,0)|0,c=W()|0,A[h>>2]=f,A[h+4>>2]=c,h=0,h|0)}function Pi(c,h,f,p){return c=c|0,h=h|0,f=f|0,p=p|0,h3(c,h,f,p,0)|0}function h3(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0;if(T=V,V=V+16|0,x=T,!(ln(c,h,f,p,m)|0))return p=0,V=T,p|0;do if((f|0)>=0){if((f|0)>13780509){if(E=rc(15,x)|0,E|0)break;v=x,x=A[v>>2]|0,v=A[v+4>>2]|0}else E=((f|0)<0)<<31>>31,I=Ci(f|0,E|0,3,0)|0,v=W()|0,E=Gt(f|0,E|0,1,0)|0,E=Ci(I|0,v|0,E|0,W()|0)|0,E=Gt(E|0,W()|0,1,0)|0,v=W()|0,A[x>>2]=E,A[x+4>>2]=v,x=E;if(cs(p|0,0,x<<3|0)|0,m|0){cs(m|0,0,x<<2|0)|0,E=Cn(c,h,f,p,m,x,v,0)|0;break}E=e0(x,4)|0,E?(I=Cn(c,h,f,p,E,x,v,0)|0,zt(E),E=I):E=13}else E=2;while(!1);return I=E,V=T,I|0}function ln(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0;if(ue=V,V=V+16|0,ne=ue,ie=ue+8|0,re=ne,A[re>>2]=c,A[re+4>>2]=h,(f|0)<0)return ie=2,V=ue,ie|0;if(E=p,A[E>>2]=c,A[E+4>>2]=h,E=(m|0)!=0,E&&(A[m>>2]=0),nn(c,h)|0)return ie=9,V=ue,ie|0;A[ie>>2]=0;e:do if((f|0)>=1)if(E)for(F=1,I=0,$=0,re=1,E=c;;){if(!(I|$)){if(E=k1(E,h,4,ie,ne)|0,E|0)break e;if(h=ne,E=A[h>>2]|0,h=A[h+4>>2]|0,nn(E,h)|0){E=9;break e}}if(E=k1(E,h,A[26800+($<<2)>>2]|0,ie,ne)|0,E|0)break e;if(h=ne,E=A[h>>2]|0,h=A[h+4>>2]|0,c=p+(F<<3)|0,A[c>>2]=E,A[c+4>>2]=h,A[m+(F<<2)>>2]=re,c=I+1|0,x=(c|0)==(re|0),v=$+1|0,T=(v|0)==6,nn(E,h)|0){E=9;break e}if(re=re+(T&x&1)|0,(re|0)>(f|0)){E=0;break}else F=F+1|0,I=x?0:c,$=x?T?0:v:$}else for(F=1,I=0,$=0,re=1,E=c;;){if(!(I|$)){if(E=k1(E,h,4,ie,ne)|0,E|0)break e;if(h=ne,E=A[h>>2]|0,h=A[h+4>>2]|0,nn(E,h)|0){E=9;break e}}if(E=k1(E,h,A[26800+($<<2)>>2]|0,ie,ne)|0,E|0)break e;if(h=ne,E=A[h>>2]|0,h=A[h+4>>2]|0,c=p+(F<<3)|0,A[c>>2]=E,A[c+4>>2]=h,c=I+1|0,x=(c|0)==(re|0),v=$+1|0,T=(v|0)==6,nn(E,h)|0){E=9;break e}
3846if(re=re+(T&x&1)|0,(re|0)>(f|0)){E=0;break}else F=F+1|0,I=x?0:c,$=x?T?0:v:$}else E=0;while(!1);return ie=E,V=ue,ie|0}function Cn(c,h,f,p,m,E,x,v){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0,x=x|0,v=v|0;var T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0;if(ue=V,V=V+16|0,ne=ue+8|0,ie=ue,T=Ia(c|0,h|0,E|0,x|0)|0,F=W()|0,$=p+(T<<3)|0,de=$,ye=A[de>>2]|0,de=A[de+4>>2]|0,I=(ye|0)==(c|0)&(de|0)==(h|0),!((ye|0)==0&(de|0)==0|I))do T=Gt(T|0,F|0,1,0)|0,T=ba(T|0,W()|0,E|0,x|0)|0,F=W()|0,$=p+(T<<3)|0,ye=$,de=A[ye>>2]|0,ye=A[ye+4>>2]|0,I=(de|0)==(c|0)&(ye|0)==(h|0);while(!((de|0)==0&(ye|0)==0|I));if(T=m+(T<<2)|0,I&&(A[T>>2]|0)<=(v|0)||(ye=$,A[ye>>2]=c,A[ye+4>>2]=h,A[T>>2]=v,(v|0)>=(f|0)))return ye=0,V=ue,ye|0;switch(I=v+1|0,A[ne>>2]=0,T=k1(c,h,2,ne,ie)|0,T|0){case 9:{re=9;break}case 0:{T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T||(re=9);break}}e:do if((re|0)==9){switch(A[ne>>2]=0,T=k1(c,h,3,ne,ie)|0,T|0){case 9:break;case 0:{if(T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T|0)break e;break}default:break e}switch(A[ne>>2]=0,T=k1(c,h,1,ne,ie)|0,T|0){case 9:break;case 0:{if(T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T|0)break e;break}default:break e}switch(A[ne>>2]=0,T=k1(c,h,5,ne,ie)|0,T|0){case 9:break;case 0:{if(T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T|0)break e;break}default:break e}switch(A[ne>>2]=0,T=k1(c,h,4,ne,ie)|0,T|0){case 9:break;case 0:{if(T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T|0)break e;break}default:break e}switch(A[ne>>2]=0,T=k1(c,h,6,ne,ie)|0,T|0){case 9:break;case 0:{if(T=ie,T=Cn(A[T>>2]|0,A[T+4>>2]|0,f,p,m,E,x,I)|0,T|0)break e;break}default:break e}return ye=0,V=ue,ye|0}while(!1);return ye=T,V=ue,ye|0}function k1(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0;if(f>>>0>6)return m=1,m|0;if($=(A[p>>2]|0)%6|0,A[p>>2]=$,($|0)>0){E=0;do f=os(f)|0,E=E+1|0;while((E|0)<(A[p>>2]|0))}if($=ze(c|0,h|0,45)|0,W()|0,F=$&127,F>>>0>121)return m=5,m|0;T=cr(c,h)|0,E=ze(c|0,h|0,52)|0,W()|0,E=E&15;e:do if(!E)I=8;else{for(;;){if(x=(15-E|0)*3|0,v=ze(c|0,h|0,x|0)|0,W()|0,v=v&7,(v|0)==7){h=5;break}if(ie=(Qr(E)|0)==0,E=E+-1|0,re=et(7,0,x|0)|0,h=h&~(W()|0),ne=et(A[(ie?432:16)+(v*28|0)+(f<<2)>>2]|0,0,x|0)|0,x=W()|0,f=A[(ie?640:224)+(v*28|0)+(f<<2)>>2]|0,c=ne|c&~re,h=x|h,!f){f=0;break e}if(!E){I=8;break e}}return h|0}while(!1);(I|0)==8&&(ie=A[848+(F*28|0)+(f<<2)>>2]|0,ne=et(ie|0,0,45)|0,c=ne|c,h=W()|0|h&-1040385,f=A[4272+(F*28|0)+(f<<2)>>2]|0,(ie&127|0)==127&&(ie=et(A[848+(F*28|0)+20>>2]|0,0,45)|0,h=W()|0|h&-1040385,f=A[4272+(F*28|0)+20>>2]|0,c=ls(ie|c,h)|0,h=W()|0,A[p>>2]=(A[p>>2]|0)+1)),v=ze(c|0,h|0,45)|0,W()|0,v=v&127;e:do if(qn(v)|0){t:do if((cr(c,h)|0)==1){if((F|0)!=(v|0))if(r_(v,A[7696+(F*28|0)>>2]|0)|0){c=Qu(c,h)|0,x=1,h=W()|0;break}else Ze(27795,26864,436,26872);switch(T|0){case 3:{c=ls(c,h)|0,h=W()|0,A[p>>2]=(A[p>>2]|0)+1,x=0;break t}case 5:{c=Qu(c,h)|0,h=W()|0,A[p>>2]=(A[p>>2]|0)+5,x=0;break t}case 0:return ie=9,ie|0;default:return ie=1,ie|0}}else x=0;while(!1);if((f|0)>0){E=0;do c=Zu(c,h)|0,h=W()|0,E=E+1|0;while((E|0)!=(f|0))}if((F|0)!=(v|0)){if(!(Fu(v)|0)){if((x|0)!=0|(cr(c,h)|0)!=5)break;A[p>>2]=(A[p>>2]|0)+1;break}switch($&127){case 8:case 118:break e}(cr(c,h)|0)!=3&&(A[p>>2]=(A[p>>2]|0)+1)}}else if((f|0)>0){E=0;do c=ls(c,h)|0,h=W()|0,E=E+1|0;while((E|0)!=(f|0))}while(!1);return A[p>>2]=((A[p>>2]|0)+f|0)%6|0,ie=m,A[ie>>2]=c,A[ie+4>>2]=h,ie=0,ie|0}function si(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0;for(v=V,V=V+16|0,E=v,x=v+8|0,m=(nn(c,h)|0)==0,m=m?1:2;;){if(A[x>>2]=0,I=(k1(c,h,m,x,E)|0)==0,T=E,I&((A[T>>2]|0)==(f|0)?(A[T+4>>2]|0)==(p|0):0)){c=4;break}if(m=m+1|0,m>>>0>=7){m=7,c=4;break}}return(c|0)==4?(V=v,m|0):0}function Li(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0;if(ie=V,V=V+16|0,re=ie,ne=ie+8|0,$=re,A[$>>2]=c,A[$+4>>2]=h,!f)return ne=p,A[ne>>2]=c,A[ne+4>>2]=h,ne=0,V=ie,ne|0;A[ne>>2]=0;e:do if(nn(c,h)|0)c=9;else{if(E=(f|0)>0,E){m=0,$=c;do{if(c=k1($,h,4,ne,re)|0,c|0)break e;if(h=re,$=A[h>>2]|0,h=A[h+4>>2]|0,m=m+1|0,nn($,h)|0){c=9;break e}}while((m|0)<(f|0));if(F=p,A[F>>2]=$,A[F+4>>2]=h,F=f+-1|0,E){I=0,c=1;do{if(m=26800+(I<<2)|0,(I|0)==5)for(x=A[m>>2]|0,E=0,m=c;;){if(c=re,c=k1(A[c>>2]|0,A[c+4>>2]|0,x,ne,re)|0,c|0)break e;if((E|0)!=(F|0))if(T=re,v=A[T>>2]|0,T=A[T+4>>2]|0,c=p+(m<<3)|0,A[c>>2]=v,A[c+4>>2]=T,!(nn(v,T)|0))c=m+1|0;else{c=9;break e}else c=m;if(E=E+1|0,(E|0)>=(f|0))break;m=c}else for(x=re,T=A[m>>2]|0,v=0,m=c,E=A[x>>2]|0,x=A[x+4>>2]|0;;){if(c=k1(E,x,T,ne,re)|0,c|0)break e;if(x=re,E=A[x>>2]|0,x=A[x+4>>2]|0,c=p+(m<<3)|0,A[c>>2]=E,A[c+4>>2]=x,c=m+1|0,nn(E,x)|0){c=9;break e}if(v=v+1|0,(v|0)>=(f|0))break;m=c}I=I+1|0}while(I>>>0<6);c=re,x=$,m=A[c>>2]|0,E=h,c=A[c+4>>2]|0}else x=$,m=$,E=h,c=h}else x=p,A[x>>2]=c,A[x+4>>2]=h,x=c,m=c,E=h,c=h;c=(x|0)==(m|0)&(E|0)==(c|0)?0:9}while(!1);return ne=c,V=ie,ne|0}function U4(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0;if(v=V,V=V+48|0,m=v+16|0,E=v+8|0,x=v,f=W4(f)|0,f|0)return x=f,V=v,x|0;if(I=c,T=A[I+4>>2]|0,f=E,A[f>>2]=A[I>>2],A[f+4>>2]=T,R_(E,m),f=l_(m,h,x)|0,!f){if(h=A[E>>2]|0,E=A[c+8>>2]|0,(E|0)>0){m=A[c+12>>2]|0,f=0;do h=(A[m+(f<<3)>>2]|0)+h|0,f=f+1|0;while((f|0)<(E|0))}f=x,m=A[f>>2]|0,f=A[f+4>>2]|0,E=((h|0)<0)<<31>>31,(f|0)<(E|0)|(f|0)==(E|0)&m>>>0<h>>>0?(f=x,A[f>>2]=h,A[f+4>>2]=E,f=E):h=m,T=Gt(h|0,f|0,12,0)|0,I=W()|0,f=x,A[f>>2]=T,A[f+4>>2]=I,f=p,A[f>>2]=T,A[f+4>>2]=I,f=0}return I=f,V=v,I|0}function W0(c,h,f,p,m,E,x){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0,x=x|0;var v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0,bt=0,je=0,g1=0,X1=0,f1=0,Z1=0,ji=0,z_=0;
3846if(X1=V,V=V+64|0,Ht=X1+48|0,bt=X1+32|0,je=X1+24|0,Qe=X1+8|0,Rt=X1,T=A[c>>2]|0,(T|0)<=0)return g1=0,V=X1,g1|0;for(Mt=c+4|0,e1=Ht+8|0,a1=bt+8|0,x1=Qe+8|0,v=0,_e=0;;){I=A[Mt>>2]|0,Ee=I+(_e<<4)|0,A[Ht>>2]=A[Ee>>2],A[Ht+4>>2]=A[Ee+4>>2],A[Ht+8>>2]=A[Ee+8>>2],A[Ht+12>>2]=A[Ee+12>>2],(_e|0)==(T+-1|0)?(A[bt>>2]=A[I>>2],A[bt+4>>2]=A[I+4>>2],A[bt+8>>2]=A[I+8>>2],A[bt+12>>2]=A[I+12>>2]):(Ee=I+(_e+1<<4)|0,A[bt>>2]=A[Ee>>2],A[bt+4>>2]=A[Ee+4>>2],A[bt+8>>2]=A[Ee+8>>2],A[bt+12>>2]=A[Ee+12>>2]),T=cP(Ht,bt,p,je)|0;e:do if(T)I=0,v=T;else if(T=je,I=A[T>>2]|0,T=A[T+4>>2]|0,(T|0)>0|(T|0)==0&I>>>0>0){ye=0,Ee=0;t:for(;;){if(Z1=1/(+(I>>>0)+4294967296*+(T|0)),z_=+k[Ht>>3],T=Mi(I|0,T|0,ye|0,Ee|0)|0,ji=+(T>>>0)+4294967296*+(W()|0),f1=+(ye>>>0)+4294967296*+(Ee|0),k[Qe>>3]=Z1*(z_*ji)+Z1*(+k[bt>>3]*f1),k[x1>>3]=Z1*(+k[e1>>3]*ji)+Z1*(+k[a1>>3]*f1),T=Ju(Qe,p,Rt)|0,T|0){v=T;break}de=Rt,ue=A[de>>2]|0,de=A[de+4>>2]|0,re=Ia(ue|0,de|0,h|0,f|0)|0,F=W()|0,T=x+(re<<3)|0,$=T,I=A[$>>2]|0,$=A[$+4>>2]|0;n:do if((I|0)==0&($|0)==0)ce=T,g1=16;else for(ne=0,ie=0;;){if((ne|0)>(f|0)|(ne|0)==(f|0)&ie>>>0>h>>>0){v=1;break t}if((I|0)==(ue|0)&($|0)==(de|0))break n;if(T=Gt(re|0,F|0,1,0)|0,re=ba(T|0,W()|0,h|0,f|0)|0,F=W()|0,ie=Gt(ie|0,ne|0,1,0)|0,ne=W()|0,T=x+(re<<3)|0,$=T,I=A[$>>2]|0,$=A[$+4>>2]|0,(I|0)==0&($|0)==0){ce=T,g1=16;break}}while(!1);if((g1|0)==16&&(g1=0,!((ue|0)==0&(de|0)==0))&&(ie=ce,A[ie>>2]=ue,A[ie+4>>2]=de,ie=E+(A[m>>2]<<3)|0,A[ie>>2]=ue,A[ie+4>>2]=de,ie=m,ie=Gt(A[ie>>2]|0,A[ie+4>>2]|0,1,0)|0,ue=W()|0,de=m,A[de>>2]=ie,A[de+4>>2]=ue),ye=Gt(ye|0,Ee|0,1,0)|0,Ee=W()|0,T=je,I=A[T>>2]|0,T=A[T+4>>2]|0,!((T|0)>(Ee|0)|(T|0)==(Ee|0)&I>>>0>ye>>>0)){I=1;break e}}I=0}else I=1;while(!1);if(_e=_e+1|0,!I){g1=21;break}if(T=A[c>>2]|0,(_e|0)>=(T|0)){v=0,g1=21;break}}return(g1|0)==21?(V=X1,v|0):0}function JI(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0,bt=0,je=0,g1=0,X1=0,f1=0,Z1=0,ji=0;if(ji=V,V=V+112|0,g1=ji+80|0,T=ji+72|0,X1=ji,f1=ji+56|0,m=W4(f)|0,m|0)return Z1=m,V=ji,Z1|0;if(I=c+8|0,Z1=H0((A[I>>2]<<5)+32|0)|0,!Z1)return Z1=13,V=ji,Z1|0;if(oc(c,Z1),m=W4(f)|0,!m){if(bt=c,je=A[bt+4>>2]|0,m=T,A[m>>2]=A[bt>>2],A[m+4>>2]=je,R_(T,g1),m=l_(g1,h,X1)|0,m)bt=0,je=0;else{if(m=A[T>>2]|0,E=A[I>>2]|0,(E|0)>0){x=A[c+12>>2]|0,f=0;do m=(A[x+(f<<3)>>2]|0)+m|0,f=f+1|0;while((f|0)!=(E|0));f=m}else f=m;m=X1,E=A[m>>2]|0,m=A[m+4>>2]|0,x=((f|0)<0)<<31>>31,(m|0)<(x|0)|(m|0)==(x|0)&E>>>0<f>>>0?(m=X1,A[m>>2]=f,A[m+4>>2]=x,m=x):f=E,bt=Gt(f|0,m|0,12,0)|0,je=W()|0,m=X1,A[m>>2]=bt,A[m+4>>2]=je,m=0}if(!m){if(f=e0(bt,8)|0,!f)return zt(Z1),Z1=13,V=ji,Z1|0;if(v=e0(bt,8)|0,!v)return zt(Z1),zt(f),Z1=13,V=ji,Z1|0;x1=g1,A[x1>>2]=0,A[x1+4>>2]=0,x1=c,Ht=A[x1+4>>2]|0,m=T,A[m>>2]=A[x1>>2],A[m+4>>2]=Ht,m=W0(T,bt,je,h,g1,f,v)|0;e:do if(m)zt(f),zt(v),zt(Z1);else{t:do if((A[I>>2]|0)>0){for(x=c+12|0,E=0;m=W0((A[x>>2]|0)+(E<<3)|0,bt,je,h,g1,f,v)|0,E=E+1|0,!(m|0);)if((E|0)>=(A[I>>2]|0))break t;zt(f),zt(v),zt(Z1);break e}while(!1);(je|0)>0|(je|0)==0&bt>>>0>0&&cs(v|0,0,bt<<3|0)|0,Ht=g1,x1=A[Ht+4>>2]|0;t:do if((x1|0)>0|(x1|0)==0&(A[Ht>>2]|0)>>>0>0){Mt=f,e1=v,a1=f,x1=v,Ht=f,m=f,ce=f,Qe=v,Rt=v,f=v;n:for(;;){for(de=0,ye=0,Ee=0,_e=0,E=0,x=0;;){v=X1,T=v+56|0;do A[v>>2]=0,v=v+4|0;while((v|0)<(T|0));if(h=Mt+(de<<3)|0,I=A[h>>2]|0,h=A[h+4>>2]|0,ln(I,h,1,X1,0)|0){v=X1,T=v+56|0;do A[v>>2]=0,v=v+4|0;while((v|0)<(T|0));v=e0(7,4)|0,v|0&&(Cn(I,h,1,X1,v,7,0,0)|0,zt(v))}for(ue=0;;){ie=X1+(ue<<3)|0,ne=A[ie>>2]|0,ie=A[ie+4>>2]|0;i:do if((ne|0)==0&(ie|0)==0)v=E,T=x;else{if(F=Ia(ne|0,ie|0,bt|0,je|0)|0,I=W()|0,v=p+(F<<3)|0,h=v,T=A[h>>2]|0,h=A[h+4>>2]|0,!((T|0)==0&(h|0)==0)){$=0,re=0;do{if(($|0)>(je|0)|($|0)==(je|0)&re>>>0>bt>>>0)break n;if((T|0)==(ne|0)&(h|0)==(ie|0)){v=E,T=x;break i}v=Gt(F|0,I|0,1,0)|0,F=ba(v|0,W()|0,bt|0,je|0)|0,I=W()|0,re=Gt(re|0,$|0,1,0)|0,$=W()|0,v=p+(F<<3)|0,h=v,T=A[h>>2]|0,h=A[h+4>>2]|0}while(!((T|0)==0&(h|0)==0))}if((ne|0)==0&(ie|0)==0){v=E,T=x;break}us(ne,ie,f1)|0,lc(c,Z1,f1)|0&&(re=Gt(E|0,x|0,1,0)|0,x=W()|0,$=v,A[$>>2]=ne,A[$+4>>2]=ie,E=e1+(E<<3)|0,A[E>>2]=ne,A[E+4>>2]=ie,E=re),v=E,T=x}while(!1);if(ue=ue+1|0,ue>>>0>=7)break;E=v,x=T}if(de=Gt(de|0,ye|0,1,0)|0,ye=W()|0,Ee=Gt(Ee|0,_e|0,1,0)|0,_e=W()|0,x=g1,E=A[x>>2]|0,x=A[x+4>>2]|0,(_e|0)<(x|0)|(_e|0)==(x|0)&Ee>>>0<E>>>0)E=v,x=T;else break}if((x|0)>0|(x|0)==0&E>>>0>0){E=0,x=0;do _e=Mt+(E<<3)|0,A[_e>>2]=0,A[_e+4>>2]=0,E=Gt(E|0,x|0,1,0)|0,x=W()|0,_e=g1,Ee=A[_e+4>>2]|0;while((x|0)<(Ee|0)|((x|0)==(Ee|0)?E>>>0<(A[_e>>2]|0)>>>0:0))}if(_e=g1,A[_e>>2]=v,A[_e+4>>2]=T,(T|0)>0|(T|0)==0&v>>>0>0)ue=f,de=Rt,ye=Ht,Ee=Qe,_e=e1,f=ce,Rt=m,Qe=a1,ce=ue,m=de,Ht=x1,x1=ye,a1=Ee,e1=Mt,Mt=_e;else break t}zt(a1),zt(x1),zt(Z1),m=1;break e}else m=v;while(!1);zt(Z1),zt(f),zt(m),m=0}while(!1);return Z1=m,V=ji,Z1|0}}return zt(Z1),Z1=m,V=ji,Z1|0}function eP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(F=V,V=V+176|0,T=F,(h|0)<1)return D_(f,0,0),I=0,V=F,I|0;for(v=c,v=ze(A[v>>2]|0,A[v+4>>2]|0,52)|0,W()|0,D_(f,(h|0)>6?h:6,v&15),v=0;p=c+(v<<3)|0,p=Ta(A[p>>2]|0,A[p+4>>2]|0,T)|0,!(p|0);){if(p=A[T>>2]|0,(p|0)>0){x=0;do E=T+8+(x<<4)|0,x=x+1|0,p=T+8+(((x|0)%(p|0)|0)<<4)|0,m=TL(f,p,E)|0,m?B_(f,m)|0:OL(f,E,p)|0,p=A[T>>2]|0;while((x|0)<(p|0))}if(v=v+1|0,(v|0)>=(h|0)){p=0,I=13;break}}return(I|0)==13?(V=F,p|0):(C_(f),I=p,V=F,I|0)}function tP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;if(E=V,V=V+32|0,p=E,m=E+16|0,c=eP(c,h,m)|0,c|0)return f=c,V=E,f|0;if(A[f>>2]=0,A[f+4>>2]=0,A[f+8>>2]=0,c=w_(m)|0,c|0)do{h=nL(f)|0;do iL(h,c)|0,x=c+16|0,A[p>>2]=A[x>>2],A[p+4>>2]=A[x+4>>2],A[p+8>>2]=A[x+8>>2],A[p+12>>2]=A[x+12>>2],B_(m,c)|0,c=RL(m,p)|0;while(c|0);c=w_(m)|0}while(c|0);return C_(m),c=rL(f)|0,c?(N_(f),x=c,V=E,x|0):(x=0,V=E,x|0)}function qn(c){return c=c|0,c>>>0>121?(c=0,c|0):(c=A[7696+(c*28|0)+16>>2]|0,c|0)}function Fu(c){return c=c|0,(c|0)==4|(c|0)==117|0}function i_(c){return c=c|0,A[11120+((A[c>>2]|0)*216|0)+((A[c+4>>2]|0)*72|0)+((A[c+8>>2]|0)*24|0)+(A[c+12>>
38462]<<3)>>2]|0}function nP(c){return c=c|0,A[11120+((A[c>>2]|0)*216|0)+((A[c+4>>2]|0)*72|0)+((A[c+8>>2]|0)*24|0)+(A[c+12>>2]<<3)+4>>2]|0}function iP(c,h){c=c|0,h=h|0,c=7696+(c*28|0)|0,A[h>>2]=A[c>>2],A[h+4>>2]=A[c+4>>2],A[h+8>>2]=A[c+8>>2],A[h+12>>2]=A[c+12>>2]}function rP(c,h){c=c|0,h=h|0;var f=0,p=0;if(h>>>0>20)return h=-1,h|0;do if((A[11120+(h*216|0)>>2]|0)!=(c|0))if((A[11120+(h*216|0)+8>>2]|0)!=(c|0))if((A[11120+(h*216|0)+16>>2]|0)!=(c|0))if((A[11120+(h*216|0)+24>>2]|0)!=(c|0))if((A[11120+(h*216|0)+32>>2]|0)!=(c|0))if((A[11120+(h*216|0)+40>>2]|0)!=(c|0))if((A[11120+(h*216|0)+48>>2]|0)!=(c|0))if((A[11120+(h*216|0)+56>>2]|0)!=(c|0))if((A[11120+(h*216|0)+64>>2]|0)!=(c|0))if((A[11120+(h*216|0)+72>>2]|0)!=(c|0))if((A[11120+(h*216|0)+80>>2]|0)!=(c|0))if((A[11120+(h*216|0)+88>>2]|0)!=(c|0))if((A[11120+(h*216|0)+96>>2]|0)!=(c|0))if((A[11120+(h*216|0)+104>>2]|0)!=(c|0))if((A[11120+(h*216|0)+112>>2]|0)!=(c|0))if((A[11120+(h*216|0)+120>>2]|0)!=(c|0))if((A[11120+(h*216|0)+128>>2]|0)!=(c|0))if((A[11120+(h*216|0)+136>>2]|0)==(c|0))c=2,f=1,p=2;else{if((A[11120+(h*216|0)+144>>2]|0)==(c|0)){c=0,f=2,p=0;break}if((A[11120+(h*216|0)+152>>2]|0)==(c|0)){c=0,f=2,p=1;break}if((A[11120+(h*216|0)+160>>2]|0)==(c|0)){c=0,f=2,p=2;break}if((A[11120+(h*216|0)+168>>2]|0)==(c|0)){c=1,f=2,p=0;break}if((A[11120+(h*216|0)+176>>2]|0)==(c|0)){c=1,f=2,p=1;break}if((A[11120+(h*216|0)+184>>2]|0)==(c|0)){c=1,f=2,p=2;break}if((A[11120+(h*216|0)+192>>2]|0)==(c|0)){c=2,f=2,p=0;break}if((A[11120+(h*216|0)+200>>2]|0)==(c|0)){c=2,f=2,p=1;break}if((A[11120+(h*216|0)+208>>2]|0)==(c|0)){c=2,f=2,p=2;break}else c=-1;return c|0}else c=2,f=1,p=1;else c=2,f=1,p=0;else c=1,f=1,p=2;else c=1,f=1,p=1;else c=1,f=1,p=0;else c=0,f=1,p=2;else c=0,f=1,p=1;else c=0,f=1,p=0;else c=2,f=0,p=2;else c=2,f=0,p=1;else c=2,f=0,p=0;else c=1,f=0,p=2;else c=1,f=0,p=1;else c=1,f=0,p=0;else c=0,f=0,p=2;else c=0,f=0,p=1;else c=0,f=0,p=0;while(!1);return h=A[11120+(h*216|0)+(f*72|0)+(c*24|0)+(p<<3)+4>>2]|0,h|0}function r_(c,h){return c=c|0,h=h|0,(A[7696+(c*28|0)+20>>2]|0)==(h|0)?(h=1,h|0):(h=(A[7696+(c*28|0)+24>>2]|0)==(h|0),h|0)}function Gu(c,h){return c=c|0,h=h|0,A[848+(c*28|0)+(h<<2)>>2]|0}function Vu(c,h){return c=c|0,h=h|0,(A[848+(c*28|0)>>2]|0)==(h|0)?(h=0,h|0):(A[848+(c*28|0)+4>>2]|0)==(h|0)?(h=1,h|0):(A[848+(c*28|0)+8>>2]|0)==(h|0)?(h=2,h|0):(A[848+(c*28|0)+12>>2]|0)==(h|0)?(h=3,h|0):(A[848+(c*28|0)+16>>2]|0)==(h|0)?(h=4,h|0):(A[848+(c*28|0)+20>>2]|0)==(h|0)?(h=5,h|0):((A[848+(c*28|0)+24>>2]|0)==(h|0)?6:7)|0}function sP(){return 122}function aP(c){c=c|0;var h=0,f=0,p=0;h=0;do et(h|0,0,45)|0,p=W()|0|134225919,f=c+(h<<3)|0,A[f>>2]=-1,A[f+4>>2]=p,h=h+1|0;while((h|0)!=122);return 0}function oP(c){c=c|0;var h=0,f=0,p=0;return p=+k[c+16>>3],f=+k[c+24>>3],h=p-f,+(p<f?h+6.283185307179586:h)}function s_(c){return c=c|0,+k[c+16>>3]<+k[c+24>>3]|0}function lP(c){return c=c|0,+(+k[c>>3]-+k[c+8>>3])}function ku(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;return f=+k[h>>3],!(f>=+k[c+8>>3])||!(f<=+k[c>>3])?(h=0,h|0):(p=+k[c+16>>3],f=+k[c+24>>3],m=+k[h+8>>3],h=m>=f,c=m<=p&1,p<f?h&&(c=1):h||(c=0),h=(c|0)!=0,h|0)}function zu(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;return+k[c>>3]<+k[h+8>>3]||+k[c+8>>3]>+k[h>>3]?(p=0,p|0):(E=+k[c+16>>3],f=c+24|0,F=+k[f>>3],x=E<F,p=h+16|0,I=+k[p>>3],m=h+24|0,T=+k[m>>3],v=I<T,h=F-I<T-E,c=x?v|h?1:2:0,h=v?x?1:h?2:1:0,E=+Pr(E,c),E<+Pr(+k[m>>3],h)||(F=+Pr(+k[f>>3],c),F>+Pr(+k[p>>3],h))?(v=0,v|0):(v=1,v|0))}function uP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0;E=+k[c+16>>3],T=+k[c+24>>3],c=E<T,v=+k[h+16>>3],x=+k[h+24>>3],m=v<x,h=T-v<x-E,A[f>>2]=c?m|h?1:2:0,A[p>>2]=m?c?1:h?2:1:0}function a_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;return+k[c>>3]<+k[h>>3]||+k[c+8>>3]>+k[h+8>>3]?(p=0,p|0):(p=c+16|0,T=+k[p>>3],E=+k[c+24>>3],x=T<E,f=h+16|0,F=+k[f>>3],m=h+24|0,I=+k[m>>3],v=F<I,h=E-F<I-T,c=x?v|h?1:2:0,h=v?x?1:h?2:1:0,E=+Pr(E,c),E<=+Pr(+k[m>>3],h)?(F=+Pr(+k[p>>3],c),v=F>=+Pr(+k[f>>3],h),v|0):(v=0,v|0))}function o_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0;m=V,V=V+176|0,p=m,A[p>>2]=4,v=+k[h>>3],k[p+8>>3]=v,E=+k[h+16>>3],k[p+16>>3]=E,k[p+24>>3]=v,v=+k[h+24>>3],k[p+32>>3]=v,x=+k[h+8>>3],k[p+40>>3]=x,k[p+48>>3]=v,k[p+56>>3]=x,k[p+64>>3]=E,h=p+72|0,f=h+96|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(f|0));Pa(c|0,p|0,168)|0,V=m}function l_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0;ie=V,V=V+288|0,F=ie+264|0,$=ie+96|0,I=ie,v=I,T=v+96|0;do A[v>>2]=0,v=v+4|0;while((v|0)<(T|0));return h=tc(h,I)|0,h|0?(ne=h,V=ie,ne|0):(T=I,I=A[T>>2]|0,T=A[T+4>>2]|0,us(I,T,F)|0,Ta(I,T,$)|0,x=+k4(F,$+8|0),k[F>>3]=+k[c>>3],T=F+8|0,k[T>>3]=+k[c+16>>3],k[$>>3]=+k[c+8>>3],I=$+8|0,k[I>>3]=+k[c+24>>3],m=+k4(F,$),de=+k[T>>3]-+k[I>>3],E=+h1(+de),ue=+k[F>>3]-+k[$>>3],p=+h1(+ue),!(de==0|ue==0)&&(de=+V_(+E,+p),de=+Oe(+(m*m/+T5(+(de/+T5(+E,+p)),3)/(x*(x*2.59807621135)*.8))),k[y1>>3]=de,re=~~de>>>0,ne=+h1(de)>=1?de>0?~~+ge(+Tn(de/4294967296),4294967295)>>>0:~~+Oe((de-+(~~de>>>0))/4294967296)>>>0:0,(A[y1+4>>2]&2146435072|0)!=2146435072)?($=(re|0)==0&(ne|0)==0,h=f,A[h>>2]=$?1:re,A[h+4>>2]=$?0:ne,h=0):h=1,ne=h,V=ie,ne|0)}function cP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0;I=V,V=V+288|0,x=I+264|0,v=I+96|0,T=I,m=T,E=m+96|0;do A[m>>2]=0,m=m+4|0;while((m|0)<(E|0));return f=tc(f,T)|0,f|0?(p=f,V=I,p|0):(f=T,m=A[f>>2]|0,f=A[f+4>>2]|0,us(m,f,x)|0,Ta(m,f,v)|0,F=+k4(x,v+8|0),F=+Oe(+(+k4(c,h)/(F*2))),k[y1>>3]=F,f=~~F>>>0,m=+h1(F)>=1?F>0?~~+ge(+Tn(F/4294967296),4294967295)>>>0:~~+Oe((F-+(~~F>>>0))/4294967296)>>>0:0,(A[y1+4>>2]&2146435072|0)==2146435072?(p=1,V=I,p|0):(T=(f|0)==0&(m|0)==0,A[p>>2]=T?1:f,A[p+4>>2]=T?0:m,p=0,V=I,p|0))}function AP(c,h){c=c|0,h=+h;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;E=c+16|0,x=+k[E>>3],f=c+24|0,m=+k[f>>3],p=x-m,p=x<m?p+6.283185307179586:p,I=+k[c>>3],v=c+8|0,T=+k[v>>3],F=I-T,p=(p*h-p)*.5,h=(F*h-F)*.5,I=I+h,k[c>>3]=I>1.5707963267948966?1.5707963267948966:I,h=T-h,k[v>>
38463]=h<-1.5707963267948966?-1.5707963267948966:h,h=x+p,h=h>3.141592653589793?h+-6.283185307179586:h,k[E>>3]=h<-3.141592653589793?h+6.283185307179586:h,h=m-p,h=h>3.141592653589793?h+-6.283185307179586:h,k[f>>3]=h<-3.141592653589793?h+6.283185307179586:h}function hP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0,A[c>>2]=h,A[c+4>>2]=f,A[c+8>>2]=p}function fP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0;$=h+8|0,A[$>>2]=0,T=+k[c>>3],x=+h1(+T),I=+k[c+8>>3],v=+h1(+I)*1.1547005383792515,x=x+v*.5,f=~~x,c=~~v,x=x-+(f|0),v=v-+(c|0);do if(x<.5)if(x<.3333333333333333)if(A[h>>2]=f,v<(x+1)*.5){A[h+4>>2]=c;break}else{c=c+1|0,A[h+4>>2]=c;break}else if(re=1-x,c=(!(v<re)&1)+c|0,A[h+4>>2]=c,re<=v&v<x*2){f=f+1|0,A[h>>2]=f;break}else{A[h>>2]=f;break}else{if(!(x<.6666666666666666))if(f=f+1|0,A[h>>2]=f,v<x*.5){A[h+4>>2]=c;break}else{c=c+1|0,A[h+4>>2]=c;break}if(v<1-x){if(A[h+4>>2]=c,x*2+-1<v){A[h>>2]=f;break}}else c=c+1|0,A[h+4>>2]=c;f=f+1|0,A[h>>2]=f}while(!1);do if(T<0)if(c&1){F=(c+1|0)/2|0,F=Mi(f|0,((f|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0,f=~~(+(f|0)-((+(F>>>0)+4294967296*+(W()|0))*2+1)),A[h>>2]=f;break}else{F=(c|0)/2|0,F=Mi(f|0,((f|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0,f=~~(+(f|0)-(+(F>>>0)+4294967296*+(W()|0))*2),A[h>>2]=f;break}while(!1);F=h+4|0,I<0&&(f=f-((c<<1|1|0)/2|0)|0,A[h>>2]=f,c=0-c|0,A[F>>2]=c),p=c-f|0,(f|0)<0?(m=0-f|0,A[F>>2]=p,A[$>>2]=m,A[h>>2]=0,c=p,f=0):m=0,(c|0)<0&&(f=f-c|0,A[h>>2]=f,m=m-c|0,A[$>>2]=m,A[F>>2]=0,c=0),E=f-m|0,p=c-m|0,(m|0)<0&&(A[h>>2]=E,A[F>>2]=p,A[$>>2]=0,c=p,f=E,m=0),p=(c|0)<(f|0)?c:f,p=(m|0)<(p|0)?m:p,!((p|0)<=0)&&(A[h>>2]=f-p,A[F>>2]=c-p,A[$>>2]=m-p)}function Di(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0;h=A[c>>2]|0,x=c+4|0,f=A[x>>2]|0,(h|0)<0&&(f=f-h|0,A[x>>2]=f,E=c+8|0,A[E>>2]=(A[E>>2]|0)-h,A[c>>2]=0,h=0),(f|0)<0?(h=h-f|0,A[c>>2]=h,E=c+8|0,m=(A[E>>2]|0)-f|0,A[E>>2]=m,A[x>>2]=0,f=0):(m=c+8|0,E=m,m=A[m>>2]|0),(m|0)<0&&(h=h-m|0,A[c>>2]=h,f=f-m|0,A[x>>2]=f,A[E>>2]=0,m=0),p=(f|0)<(h|0)?f:h,p=(m|0)<(p|0)?m:p,!((p|0)<=0)&&(A[c>>2]=h-p,A[x>>2]=f-p,A[E>>2]=m-p)}function ss(c,h){c=c|0,h=h|0;var f=0,p=0;p=A[c+8>>2]|0,f=+((A[c+4>>2]|0)-p|0),k[h>>3]=+((A[c>>2]|0)-p|0)-f*.5,k[h+8>>3]=f*.8660254037844386}function $i(c,h,f){c=c|0,h=h|0,f=f|0,A[f>>2]=(A[h>>2]|0)+(A[c>>2]|0),A[f+4>>2]=(A[h+4>>2]|0)+(A[c+4>>2]|0),A[f+8>>2]=(A[h+8>>2]|0)+(A[c+8>>2]|0)}function Wu(c,h,f){c=c|0,h=h|0,f=f|0,A[f>>2]=(A[c>>2]|0)-(A[h>>2]|0),A[f+4>>2]=(A[c+4>>2]|0)-(A[h+4>>2]|0),A[f+8>>2]=(A[c+8>>2]|0)-(A[h+8>>2]|0)}function u_(c,h){c=c|0,h=h|0;var f=0,p=0;f=Ne(A[c>>2]|0,h)|0,A[c>>2]=f,f=c+4|0,p=Ne(A[f>>2]|0,h)|0,A[f>>2]=p,c=c+8|0,h=Ne(A[c>>2]|0,h)|0,A[c>>2]=h}function x5(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;x=A[c>>2]|0,v=(x|0)<0,p=(A[c+4>>2]|0)-(v?x:0)|0,E=(p|0)<0,m=(E?0-p|0:0)+((A[c+8>>2]|0)-(v?x:0))|0,f=(m|0)<0,c=f?0:m,h=(E?0:p)-(f?m:0)|0,m=(v?0:x)-(E?p:0)-(f?m:0)|0,f=(h|0)<(m|0)?h:m,f=(c|0)<(f|0)?c:f,p=(f|0)>0,c=c-(p?f:0)|0,h=h-(p?f:0)|0;e:do switch(m-(p?f:0)|0){case 0:switch(h|0){case 0:return v=c|0?(c|0)==1?1:7:0,v|0;case 1:return v=c|0?(c|0)==1?3:7:2,v|0;default:break e}case 1:switch(h|0){case 0:return v=c|0?(c|0)==1?5:7:4,v|0;case 1:{if(!c)c=6;else break e;return c|0}default:break e}}while(!1);return v=7,v|0}function dP(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0;if(T=c+8|0,x=A[T>>2]|0,v=(A[c>>2]|0)-x|0,I=c+4|0,x=(A[I>>2]|0)-x|0,v>>>0>715827881|x>>>0>715827881){if(p=(v|0)>0,m=2147483647-v|0,E=-2147483648-v|0,(p?(m|0)<(v|0):(E|0)>(v|0))||(f=v<<1,p?(2147483647-f|0)<(v|0):(-2147483648-f|0)>(v|0))||((x|0)>0?(2147483647-x|0)<(x|0):(-2147483648-x|0)>(x|0))||(h=v*3|0,f=x<<1,(p?(m|0)<(f|0):(E|0)>(f|0))||((v|0)>-1?(h|-2147483648|0)>=(x|0):(h^-2147483648|0)<(x|0))))return I=1,I|0}else f=x<<1,h=v*3|0;return p=q3(+(h-x|0)*.14285714285714285)|0,A[c>>2]=p,m=q3(+(f+v|0)*.14285714285714285)|0,A[I>>2]=m,A[T>>2]=0,f=(m|0)<(p|0),h=f?p:m,f=f?m:p,(f|0)<0&&(((f|0)==-2147483648||((h|0)>0?(2147483647-h|0)<(f|0):(-2147483648-h|0)>(f|0)))&&Ze(27795,26892,354,26903),((h|0)>-1?(h|-2147483648|0)>=(f|0):(h^-2147483648|0)<(f|0))&&Ze(27795,26892,354,26903)),h=m-p|0,(p|0)<0?(f=0-p|0,A[I>>2]=h,A[T>>2]=f,A[c>>2]=0,p=0):(h=m,f=0),(h|0)<0&&(p=p-h|0,A[c>>2]=p,f=f-h|0,A[T>>2]=f,A[I>>2]=0,h=0),E=p-f|0,m=h-f|0,(f|0)<0?(A[c>>2]=E,A[I>>2]=m,A[T>>2]=0,h=m,m=E,f=0):m=p,p=(h|0)<(m|0)?h:m,p=(f|0)<(p|0)?f:p,(p|0)<=0?(I=0,I|0):(A[c>>2]=m-p,A[I>>2]=h-p,A[T>>2]=f-p,I=0,I|0)}function qP(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0;if(x=c+8|0,m=A[x>>2]|0,E=(A[c>>2]|0)-m|0,v=c+4|0,m=(A[v>>2]|0)-m|0,E>>>0>715827881|m>>>0>715827881){if(f=(E|0)>0,(f?(2147483647-E|0)<(E|0):(-2147483648-E|0)>
3846(E|0))||(h=E<<1,p=(m|0)>0,p?(2147483647-m|0)<(m|0):(-2147483648-m|0)>(m|0)))return v=1,v|0;if(T=m<<1,(p?(2147483647-T|0)<(m|0):(-2147483648-T|0)>(m|0))||(f?(2147483647-h|0)<(m|0):(-2147483648-h|0)>(m|0))||(f=m*3|0,(m|0)>-1?(f|-2147483648|0)>=(E|0):(f^-2147483648|0)<(E|0)))return T=1,T|0}else f=m*3|0,h=E<<1;return p=q3(+(h+m|0)*.14285714285714285)|0,A[c>>2]=p,m=q3(+(f-E|0)*.14285714285714285)|0,A[v>>2]=m,A[x>>2]=0,f=(m|0)<(p|0),h=f?p:m,f=f?m:p,(f|0)<0&&(((f|0)==-2147483648||((h|0)>0?(2147483647-h|0)<(f|0):(-2147483648-h|0)>(f|0)))&&Ze(27795,26892,402,26917),((h|0)>-1?(h|-2147483648|0)>=(f|0):(h^-2147483648|0)<(f|0))&&Ze(27795,26892,402,26917)),h=m-p|0,(p|0)<0?(f=0-p|0,A[v>>2]=h,A[x>>2]=f,A[c>>2]=0,p=0):(h=m,f=0),(h|0)<0&&(p=p-h|0,A[c>>2]=p,f=f-h|0,A[x>>2]=f,A[v>>2]=0,h=0),E=p-f|0,m=h-f|0,(f|0)<0?(A[c>>2]=E,A[v>>2]=m,A[x>>2]=0,h=m,m=E,f=0):m=p,p=(h|0)<(m|0)?h:m,p=(f|0)<(p|0)?f:p,(p|0)<=0?(T=0,T|0):(A[c>>2]=m-p,A[v>>2]=h-p,A[x>>2]=f-p,T=0,T|0)}function pP(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;x=c+8|0,f=A[x>>2]|0,h=(A[c>>2]|0)-f|0,v=c+4|0,f=(A[v>>2]|0)-f|0,p=q3(+((h*3|0)-f|0)*.14285714285714285)|0,A[c>>2]=p,h=q3(+((f<<1)+h|0)*.14285714285714285)|0,A[v>>2]=h,A[x>>2]=0,f=h-p|0,(p|0)<0?(E=0-p|0,A[v>>2]=f,A[x>>2]=E,A[c>>2]=0,h=f,p=0,f=E):f=0,(h|0)<0&&(p=p-h|0,A[c>>2]=p,f=f-h|0,A[x>>2]=f,A[v>>2]=0,h=0),E=p-f|0,m=h-f|0,(f|0)<0?(A[c>>2]=E,A[v>>2]=m,A[x>>2]=0,h=m,m=E,f=0):m=p,p=(h|0)<(m|0)?h:m,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(A[c>>2]=m-p,A[v>>2]=h-p,A[x>>2]=f-p)}function c_(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;x=c+8|0,f=A[x>>2]|0,h=(A[c>>2]|0)-f|0,v=c+4|0,f=(A[v>>2]|0)-f|0,p=q3(+((h<<1)+f|0)*.14285714285714285)|0,A[c>>2]=p,h=q3(+((f*3|0)-h|0)*.14285714285714285)|0,A[v>>2]=h,A[x>>2]=0,f=h-p|0,(p|0)<0?(E=0-p|0,A[v>>2]=f,A[x>>2]=E,A[c>>2]=0,h=f,p=0,f=E):f=0,(h|0)<0&&(p=p-h|0,A[c>>2]=p,f=f-h|0,A[x>>2]=f,A[v>>2]=0,h=0),E=p-f|0,m=h-f|0,(f|0)<0?(A[c>>2]=E,A[v>>2]=m,A[x>>2]=0,h=m,m=E,f=0):m=p,p=(h|0)<(m|0)?h:m,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(A[c>>2]=m-p,A[v>>2]=h-p,A[x>>2]=f-p)}function S5(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;h=A[c>>2]|0,x=c+4|0,f=A[x>>2]|0,v=c+8|0,p=A[v>>2]|0,m=f+(h*3|0)|0,A[c>>2]=m,f=p+(f*3|0)|0,A[x>>2]=f,h=(p*3|0)+h|0,A[v>>2]=h,p=f-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=p,A[v>>2]=h,A[c>>2]=0,f=p,p=0):p=m,(f|0)<0&&(p=p-f|0,A[c>>2]=p,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=p-h|0,m=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=m,A[v>>2]=0,p=E,h=0):m=f,f=(m|0)<(p|0)?m:p,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=p-f,A[x>>2]=m-f,A[v>>2]=h-f)}function as(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;m=A[c>>2]|0,x=c+4|0,h=A[x>>2]|0,v=c+8|0,f=A[v>>2]|0,p=(h*3|0)+m|0,m=f+(m*3|0)|0,A[c>>2]=m,A[x>>2]=p,h=(f*3|0)+h|0,A[v>>2]=h,f=p-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=f,A[v>>2]=h,A[c>>2]=0,m=0):f=p,(f|0)<0&&(m=m-f|0,A[c>>2]=m,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=m-h|0,p=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=p,A[v>>2]=0,m=E,h=0):p=f,f=(p|0)<(m|0)?p:m,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=m-f,A[x>>2]=p-f,A[v>>2]=h-f)}function A_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0;(h+-1|0)>>>0>=6||(m=(A[15440+(h*12|0)>>2]|0)+(A[c>>2]|0)|0,A[c>>2]=m,v=c+4|0,p=(A[15440+(h*12|0)+4>>2]|0)+(A[v>>2]|0)|0,A[v>>2]=p,x=c+8|0,h=(A[15440+(h*12|0)+8>>2]|0)+(A[x>>2]|0)|0,A[x>>2]=h,f=p-m|0,(m|0)<0?(h=h-m|0,A[v>>2]=f,A[x>>2]=h,A[c>>2]=0,p=0):(f=p,p=m),(f|0)<0&&(p=p-f|0,A[c>>2]=p,h=h-f|0,A[x>>2]=h,A[v>>2]=0,f=0),E=p-h|0,m=f-h|0,(h|0)<0?(A[c>>2]=E,A[v>>2]=m,A[x>>2]=0,p=E,h=0):m=f,f=(m|0)<(p|0)?m:p,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=p-f,A[v>>2]=m-f,A[x>>2]=h-f))}function h_(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;m=A[c>>2]|0,x=c+4|0,h=A[x>>2]|0,v=c+8|0,f=A[v>>2]|0,p=h+m|0,m=f+m|0,A[c>>2]=m,A[x>>2]=p,h=f+h|0,A[v>>2]=h,f=p-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=f,A[v>>2]=h,A[c>>2]=0,p=0):(f=p,p=m),(f|0)<0&&(p=p-f|0,A[c>>2]=p,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=p-h|0,m=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=m,A[v>>2]=0,p=E,h=0):m=f,f=(m|0)<(p|0)?m:p,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=p-f,A[x>>2]=m-f,A[v>>2]=h-f)}function y5(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;h=A[c>>2]|0,x=c+4|0,p=A[x>>2]|0,v=c+8|0,f=A[v>>2]|0,m=p+h|0,A[c>>2]=m,p=f+p|0,A[x>>2]=p,h=f+h|0,A[v>>2]=h,f=p-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=f,A[v>>2]=h,A[c>>2]=0,p=0):(f=p,p=m),(f|0)<0&&(p=p-f|0,A[c>>2]=p,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=p-h|0,m=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=m,A[v>>2]=0,p=E,h=0):m=f,f=(m|0)<(p|0)?m:p,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=p-f,A[x>>2]=m-f,A[v>>2]=h-f)}function os(c){switch(c=c|0,c|0){case 1:{c=5;break}case 5:{c=4;break}case 4:{c=6;break}case 6:{c=2;break}case 2:{c=3;break}case 3:{c=1;break}}return c|0}function f3(c){switch(c=c|0,c|0){case 1:{c=3;break}case 3:{c=2;break}case 2:{c=6;break}case 6:{c=4;break}case 4:{c=5;break}case 5:{c=1;break}}return c|0}function f_(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;h=A[c>>2]|0,x=c+4|0,f=A[x>>2]|0,v=c+8|0,p=A[v>>2]|0,m=f+(h<<1)|0,A[c>>2]=m,f=p+(f<<1)|0,A[x>>2]=f,h=(p<<1)+h|0,A[v>>2]=h,p=f-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=p,A[v>>2]=h,A[c>>2]=0,f=p,p=0):p=m,(f|0)<0&&(p=p-f|0,A[c>>2]=p,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=p-h|0,m=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=m,A[v>>2]=0,p=E,h=0):m=f,f=(m|0)<(p|0)?m:p,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=p-f,A[x>>2]=m-f,A[v>>2]=h-f)}function d_(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;m=A[c>>2]|0,x=c+4|0,h=A[x>>2]|0,v=c+8|0,f=A[v>>2]|0,p=(h<<1)+m|0,m=f+(m<<1)|0,A[c>>2]=m,A[x>>2]=p,h=(f<<1)+h|0,A[v>>2]=h,f=p-m|0,(m|0)<0?(h=h-m|0,A[x>>2]=f,A[v>>2]=h,A[c>>2]=0,m=0):f=p,(f|0)<0&&(m=m-f|0,A[c>>2]=m,h=h-f|0,A[v>>2]=h,A[x>>2]=0,f=0),E=m-h|0,p=f-h|0,(h|0)<0?(A[c>>2]=E,A[x>>2]=p,A[v>>2]=0,m=E,h=0):p=f,f=(p|0)<(m|0)?p:m,f=(h|0)<(f|0)?h:f,!((f|0)<=0)&&(A[c>>2]=m-f,A[x>>2]=p-f,A[v>>2]=h-f)}function Hu(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0;return x=(A[c>>2]|0)-(A[h>>2]|0)|0,v=(x|0)<0,p=(A[c+4>>2]|0)-(A[h+4>>2]|0)-(v?x:0)|0,E=(p|0)<0,m=(v?0-x|0:0)+(A[c+8>>2]|0)-(A[h+8>>2]|0)+(E?0-p|0:0)|0,c=(m|0)<0,h=c?0:m,f=(E?0:p)-(c?m:0)|0,m=(v?0:x)-(E?p:0)-(c?m:0)|0,c=(f|0)<(m|0)?f:m,c=(h|0)<(c|0)?h:c,p=(c|0)>0,h=h-(p?c:0)|0,f=f-(p?c:0)|0,c=m-(p?c:0)|0,c=(c|0)>-1?c:0-c|0,f=(f|0)>-1?f:0-f|0,h=(h|0)>-1?h:0-h|0,h=(f|0)>(h|0)?f:h,((c|0)>(h|0)?c:h)|0}function _P(c,h){c=c|0,h=h|0;var f=0;f=A[c+8>>2]|0,A[h>>2]=(A[c>>2]|0)-f,A[h+4>>2]=(A[c+4>>2]|0)-f}function mP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0;return p=A[c>>2]|0,A[h>>2]=p,m=A[c+4>>2]|0,x=h+4|0,A[x>>2]=m,v=h+8|0,A[v>>2]=0,f=(m|0)<(p|0),c=f?p:m,f=f?m:p,(f|0)<0&&((f|0)==-2147483648||((c|0)>0?(2147483647-c|0)<(f|0):(-2147483648-c|0)>(f|0))||((c|0)>-1?(c|-2147483648|0)>=(f|0):(c^-2147483648|0)<(f|0)))?(h=1,h|0):(c=m-p|0,(p|0)<0?(f=0-p|0,A[x>>2]=c,A[v>>2]=f,A[h>>2]=0,p=0):(c=m,f=0),(c|0)<0&&(p=p-c|0,A[h>>2]=p,f=f-c|0,A[v>>2]=f,A[x>>2]=0,c=0),E=p-f|0,m=c-f|0,(f|0)<0?(A[h>>2]=E,A[x>>2]=m,A[v>>2]=0,c=m,m=E,f=0):m=p,p=(c|0)<(m|0)?c:m,p=(f|0)<(p|0)?f:p,(p|0)<=0?(h=0,h|0):(A[h>>2]=m-p,A[x>>2]=c-p,A[v>>2]=f-p,h=0,h|0))}function q_(c){c=c|0;var h=0,f=0,p=0,m=0;h=c+8|0,m=A[h>>2]|0,f=m-(A[c>>2]|0)|0,A[c>>2]=f,p=c+4|0,c=(A[p>>2]|0)-m|0,A[p>>2]=c,A[h>>2]=0-(c+f)}function gP(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;f=A[c>>2]|0,h=0-f|0,A[c>>2]=h,x=c+8|0,A[x>>2]=0,v=c+4|0,p=A[v>>2]|0,m=p+f|0,(f|0)>0?(A[v>>2]=m,A[x>>2]=f,A[c>>2]=0,h=0,p=m):f=0,(p|0)<0?(E=h-p|0,A[c>>2]=E,f=f-p|0,A[x>>2]=f,A[v>>2]=0,m=E-f|0,h=0-f|0,(f|0)<0?(A[c>>2]=m,A[v>>2]=h,A[x>>2]=0,p=h,f=0):(p=0,m=E)):m=h,h=(p|0)<(m|0)?p:m,h=(f|0)<(h|0)?f:h,!((h|0)<=0)&&(A[c>>2]=m-h,A[v>>2]=p-h,A[x>>2]=f-h)}function EP(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0;if($=V,V=V+64|0,F=$,v=$+56|0,!(!0&(h&2013265920|0)==134217728&(!0&(p&2013265920|0)==134217728)))return m=5,V=$,m|0;if((c|0)==(f|0)&(h|0)==(p|0))return A[m>>2]=0,m=0,V=$,m|0;if(x=ze(c|0,h|0,52)|0,W()|0,x=x&15,I=ze(f|0,p|0,52)|0,W()|0,(x|0)!=(I&15|0))return m=12,V=$,m|0;if(E=x+-1|0,x>>>0>1){Xu(c,h,E,F)|0,Xu(f,p,E,v)|0,I=F,T=A[I>>2]|0,I=A[I+4>>2]|0;e:do if((T|0)==(A[v>>2]|0)&&(I|0)==(A[v+4>>2]|0)){x=(x^15)*3|0,E=ze(c|0,h|0,x|0)|0,W()|0,E=E&7,x=ze(f|0,p|0,x|0)|0,W()|0,x=x&7;
3846do if((E|0)==0|(x|0)==0)A[m>>2]=1,E=0;else if((E|0)==7)E=5;else{if((E|0)==1|(x|0)==1&&nn(T,I)|0){E=5;break}if((A[15536+(E<<2)>>2]|0)!=(x|0)&&(A[15568+(E<<2)>>2]|0)!=(x|0))break e;A[m>>2]=1,E=0}while(!1);return m=E,V=$,m|0}while(!1)}E=F,x=E+56|0;do A[E>>2]=0,E=E+4|0;while((E|0)<(x|0));return Pi(c,h,1,F)|0,h=F,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0))&&(h=F+8|0,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0)))&&(h=F+16|0,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0)))&&(h=F+24|0,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0)))&&(h=F+32|0,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0)))&&(h=F+40|0,!((A[h>>2]|0)==(f|0)&&(A[h+4>>2]|0)==(p|0)))?(E=F+48|0,E=((A[E>>2]|0)==(f|0)?(A[E+4>>2]|0)==(p|0):0)&1):E=1,A[m>>2]=E,m=0,V=$,m|0}function MP(c,h,f,p,m){return c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,f=si(c,h,f,p)|0,(f|0)==7?(m=11,m|0):(p=et(f|0,0,56)|0,h=h&-2130706433|(W()|0)|268435456,A[m>>2]=c|p,A[m+4>>2]=h,m=0,m|0)}function xP(c,h,f){return c=c|0,h=h|0,f=f|0,!0&(h&2013265920|0)==268435456?(A[f>>2]=c,A[f+4>>2]=h&-2130706433|134217728,f=0,f|0):(f=6,f|0)}function SP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;return m=V,V=V+16|0,p=m,A[p>>2]=0,!0&(h&2013265920|0)==268435456?(E=ze(c|0,h|0,56)|0,W()|0,p=k1(c,h&-2130706433|134217728,E&7,p,f)|0,V=m,p|0):(p=6,V=m,p|0)}function yP(c,h){c=c|0,h=h|0;var f=0;switch(f=ze(c|0,h|0,56)|0,W()|0,f&7){case 0:case 7:return f=0,f|0}return f=h&-2130706433|134217728,!(!0&(h&2013265920|0)==268435456)||!0&(h&117440512|0)==16777216&(nn(c,f)|0)!=0?(f=0,f|0):(f=$u(c,f)|0,f|0)}function NP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;return m=V,V=V+16|0,p=m,!0&(h&2013265920|0)==268435456?(E=h&-2130706433|134217728,x=f,A[x>>2]=c,A[x+4>>2]=E,A[p>>2]=0,h=ze(c|0,h|0,56)|0,W()|0,p=k1(c,E,h&7,p,f+8|0)|0,V=m,p|0):(p=6,V=m,p|0)}function vP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0;return m=(nn(c,h)|0)==0,h=h&-2130706433,p=f,A[p>>2]=m?c:0,A[p+4>>2]=m?h|285212672:0,p=f+8|0,A[p>>2]=c,A[p+4>>2]=h|301989888,p=f+16|0,A[p>>2]=c,A[p+4>>2]=h|318767104,p=f+24|0,A[p>>2]=c,A[p+4>>2]=h|335544320,p=f+32|0,A[p>>2]=c,A[p+4>>2]=h|352321536,f=f+40|0,A[f>>2]=c,A[f+4>>2]=h|369098752,0}function N5(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;return x=V,V=V+16|0,m=x,E=h&-2130706433|134217728,!0&(h&2013265920|0)==268435456?(p=ze(c|0,h|0,56)|0,W()|0,p=SL(c,E,p&7)|0,(p|0)==-1?(A[f>>2]=0,E=6,V=x,E|0):(Oa(c,E,m)|0&&Ze(27795,26932,282,26947),h=ze(c|0,h|0,52)|0,W()|0,h=h&15,nn(c,E)|0?Ku(m,h,p,2,f):Yu(m,h,p,2,f),E=0,V=x,E|0)):(E=6,V=x,E|0)}function OP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0;p=V,V=V+16|0,m=p,TP(c,h,f,m),fP(m,f+4|0),V=p}function TP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0;if(v=V,V=V+16|0,T=v,RP(c,f,T),E=+Na(+(1-+k[T>>3]*.5)),E<1e-16){A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,A[p+12>>2]=0,V=v;return}if(T=A[f>>2]|0,m=+k[15920+(T*24|0)>>3],m=+V4(m-+V4(+KP(15600+(T<<4)|0,c))),Qr(h)|0?x=+V4(m+-.3334731722518321):x=m,m=+ur(+E)*2.618033988749896,(h|0)>0){c=0;do m=m*2.6457513110645907,c=c+1|0;while((c|0)!=(h|0))}E=+L1(+x)*m,k[p>>3]=E,x=+_1(+x)*m,k[p+8>>3]=x,V=v}function RP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;if(E=V,V=V+32|0,m=E,xL(c,m),A[h>>2]=0,k[f>>3]=5,p=+$n(16400,m),p<+k[f>>3]&&(A[h>>2]=0,k[f>>3]=p),p=+$n(16424,m),p<+k[f>>3]&&(A[h>>2]=1,k[f>>3]=p),p=+$n(16448,m),p<+k[f>>3]&&(A[h>>2]=2,k[f>>3]=p),p=+$n(16472,m),p<+k[f>>3]&&(A[h>>2]=3,k[f>>3]=p),p=+$n(16496,m),p<+k[f>>3]&&(A[h>>2]=4,k[f>>3]=p),p=+$n(16520,m),p<+k[f>>3]&&(A[h>>2]=5,k[f>>3]=p),p=+$n(16544,m),p<+k[f>>3]&&(A[h>>2]=6,k[f>>3]=p),p=+$n(16568,m),p<+k[f>>3]&&(A[h>>2]=7,k[f>>3]=p),p=+$n(16592,m),p<+k[f>>3]&&(A[h>>2]=8,k[f>>3]=p),p=+$n(16616,m),p<+k[f>>3]&&(A[h>>2]=9,k[f>>3]=p),p=+$n(16640,m),p<+k[f>>3]&&(A[h>>2]=10,k[f>>3]=p),p=+$n(16664,m),p<+k[f>>3]&&(A[h>>2]=11,k[f>>3]=p),p=+$n(16688,m),p<+k[f>>3]&&(A[h>>2]=12,k[f>>3]=p),p=+$n(16712,m),p<+k[f>>3]&&(A[h>>2]=13,k[f>>3]=p),p=+$n(16736,m),p<+k[f>>3]&&(A[h>>2]=14,k[f>>3]=p),p=+$n(16760,m),p<+k[f>>3]&&(A[h>>2]=15,k[f>>3]=p),p=+$n(16784,m),p<+k[f>>3]&&(A[h>>2]=16,k[f>>3]=p),p=+$n(16808,m),p<+k[f>>3]&&(A[h>>2]=17,k[f>>3]=p),p=+$n(16832,m),p<+k[f>>3]&&(A[h>>2]=18,k[f>>3]=p),p=+$n(16856,m),!(p<+k[f>>3])){V=E;return}A[h>>2]=19,k[f>>3]=p,V=E}function F4(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0;if(E=+ML(c),E<1e-16){h=15600+(h<<4)|0,A[m>>2]=A[h>>2],A[m+4>>2]=A[h+4>>2],A[m+8>>2]=A[h+8>>2],A[m+12>>2]=A[h+12>>2];return}if(x=+pe(+ +k[c+8>>3],+ +k[c>>3]),(f|0)>0){c=0;do E=E*.37796447300922725,c=c+1|0;while((c|0)!=(f|0))}v=E*.3333333333333333,p?(f=(Qr(f)|0)==0,E=+X(+((f?v:v*.37796447300922725)*.381966011250105))):(E=+X(+(E*.381966011250105)),Qr(f)|0&&(x=+V4(x+.3334731722518321))),YP(15600+(h<<4)|0,+V4(+k[15920+(h*24|0)>>3]-x),E,m)}function bP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0;p=V,V=V+16|0,m=p,ss(c+4|0,m),F4(m,A[c>>2]|0,h,0,f),V=p}function Ku(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0,bt=0,je=0,g1=0,X1=0,f1=0;if(g1=V,V=V+272|0,E=g1+256|0,Ee=g1+240|0,Ht=g1,bt=g1+224|0,je=g1+208|0,_e=g1+176|0,ce=g1+160|0,Qe=g1+192|0,Rt=g1+144|0,Mt=g1+128|0,e1=g1+112|0,a1=g1+96|0,x1=g1+80|0,A[E>>2]=h,A[Ee>>2]=A[c>>2],A[Ee+4>>2]=A[c+4>>2],A[Ee+8>>2]=A[c+8>>2],A[Ee+12>>2]=A[c+12>>
38462],p_(Ee,E,Ht),A[m>>2]=0,Ee=p+f+((p|0)==5&1)|0,(Ee|0)<=(f|0)){V=g1;return}T=A[E>>2]|0,I=bt+4|0,F=_e+4|0,$=f+5|0,re=16880+(T<<2)|0,ne=16960+(T<<2)|0,ie=Mt+8|0,ue=e1+8|0,de=a1+8|0,ye=je+4|0,v=f;e:for(;;){x=Ht+(((v|0)%5|0)<<4)|0,A[je>>2]=A[x>>2],A[je+4>>2]=A[x+4>>2],A[je+8>>2]=A[x+8>>2],A[je+12>>2]=A[x+12>>2];do;while((va(je,T,0,1)|0)==2);if((v|0)>(f|0)&(Qr(h)|0)!=0){if(A[_e>>2]=A[je>>2],A[_e+4>>2]=A[je+4>>2],A[_e+8>>2]=A[je+8>>2],A[_e+12>>2]=A[je+12>>2],ss(I,ce),p=A[_e>>2]|0,E=A[17040+(p*80|0)+(A[bt>>2]<<2)>>2]|0,A[_e>>2]=A[18640+(p*80|0)+(E*20|0)>>2],x=A[18640+(p*80|0)+(E*20|0)+16>>2]|0,(x|0)>0){c=0;do h_(F),c=c+1|0;while((c|0)<(x|0))}switch(x=18640+(p*80|0)+(E*20|0)+4|0,A[Qe>>2]=A[x>>2],A[Qe+4>>2]=A[x+4>>2],A[Qe+8>>2]=A[x+8>>2],u_(Qe,(A[re>>2]|0)*3|0),$i(F,Qe,F),Di(F),ss(F,Rt),X1=+(A[ne>>2]|0),k[Mt>>3]=X1*3,k[ie>>3]=0,f1=X1*-1.5,k[e1>>3]=f1,k[ue>>3]=X1*2.598076211353316,k[a1>>3]=f1,k[de>>3]=X1*-2.598076211353316,A[17040+((A[_e>>2]|0)*80|0)+(A[je>>2]<<2)>>2]|0){case 1:{c=e1,p=Mt;break}case 3:{c=a1,p=e1;break}case 2:{c=Mt,p=a1;break}default:{c=12;break e}}P_(ce,Rt,p,c,x1),F4(x1,A[_e>>2]|0,T,1,m+8+(A[m>>2]<<4)|0),A[m>>2]=(A[m>>2]|0)+1}if((v|0)<($|0)&&(ss(ye,_e),F4(_e,A[je>>2]|0,T,1,m+8+(A[m>>2]<<4)|0),A[m>>2]=(A[m>>2]|0)+1),A[bt>>2]=A[je>>2],A[bt+4>>2]=A[je+4>>2],A[bt+8>>2]=A[je+8>>2],A[bt+12>>2]=A[je+12>>2],v=v+1|0,(v|0)>=(Ee|0)){c=3;break}}if((c|0)==3){V=g1;return}else(c|0)==12&&Ze(26970,27017,572,27027)}function p_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0;T=V,V=V+128|0,p=T+64|0,m=T,E=p,x=20240,v=E+60|0;do A[E>>2]=A[x>>2],E=E+4|0,x=x+4|0;while((E|0)<(v|0));E=m,x=20304,v=E+60|0;do A[E>>2]=A[x>>2],E=E+4|0,x=x+4|0;while((E|0)<(v|0));v=(Qr(A[h>>2]|0)|0)==0,p=v?p:m,m=c+4|0,f_(m),d_(m),Qr(A[h>>2]|0)|0&&(as(m),A[h>>2]=(A[h>>2]|0)+1),A[f>>2]=A[c>>2],h=f+4|0,$i(m,p,h),Di(h),A[f+16>>2]=A[c>>2],h=f+20|0,$i(m,p+12|0,h),Di(h),A[f+32>>2]=A[c>>2],h=f+36|0,$i(m,p+24|0,h),Di(h),A[f+48>>2]=A[c>>2],h=f+52|0,$i(m,p+36|0,h),Di(h),A[f+64>>2]=A[c>>2],f=f+68|0,$i(m,p+48|0,f),Di(f),V=T}function va(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0;if(ie=V,V=V+32|0,re=ie+12|0,v=ie,ne=c+4|0,$=A[16960+(h<<2)>>
38462]|0,F=(p|0)!=0,$=F?$*3|0:$,m=A[ne>>2]|0,I=c+8|0,x=A[I>>2]|0,F){if(E=c+12|0,p=A[E>>2]|0,m=x+m+p|0,(m|0)==($|0))return ne=1,V=ie,ne|0;T=E}else T=c+12|0,p=A[T>>2]|0,m=x+m+p|0;if((m|0)<=($|0))return ne=0,V=ie,ne|0;do if((p|0)>0){if(p=A[c>>2]|0,(x|0)>0){E=18640+(p*80|0)+60|0,p=c;break}p=18640+(p*80|0)+40|0,f?(hP(re,$,0,0),Wu(ne,re,v),y5(v),$i(v,re,ne),E=p,p=c):(E=p,p=c)}else E=18640+((A[c>>2]|0)*80|0)+20|0,p=c;while(!1);if(A[p>>2]=A[E>>2],m=E+16|0,(A[m>>2]|0)>0){p=0;do h_(ne),p=p+1|0;while((p|0)<(A[m>>2]|0))}return c=E+4|0,A[re>>2]=A[c>>2],A[re+4>>2]=A[c+4>>2],A[re+8>>2]=A[c+8>>2],h=A[16880+(h<<2)>>2]|0,u_(re,F?h*3|0:h),$i(ne,re,ne),Di(ne),F?p=((A[I>>2]|0)+(A[ne>>2]|0)+(A[T>>2]|0)|0)==($|0)?1:2:p=2,ne=p,V=ie,ne|0}function IP(c,h){c=c|0,h=h|0;var f=0;do f=va(c,h,0,1)|0;while((f|0)==2);return f|0}function Yu(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0;if(a1=V,V=V+240|0,E=a1+224|0,Qe=a1+208|0,Rt=a1,Mt=a1+192|0,e1=a1+176|0,de=a1+160|0,ye=a1+144|0,Ee=a1+128|0,_e=a1+112|0,ce=a1+96|0,A[E>>2]=h,A[Qe>>2]=A[c>>2],A[Qe+4>>2]=A[c+4>>2],A[Qe+8>>2]=A[c+8>>2],A[Qe+12>>2]=A[c+12>>2],__(Qe,E,Rt),A[m>>2]=0,ue=p+f+((p|0)==6&1)|0,(ue|0)<=(f|0)){V=a1;return}T=A[E>>2]|0,I=f+6|0,F=16960+(T<<2)|0,$=ye+8|0,re=Ee+8|0,ne=_e+8|0,ie=Mt+4|0,x=0,v=f,p=-1;e:for(;;){if(E=(v|0)%6|0,c=Rt+(E<<4)|0,A[Mt>>2]=A[c>>2],A[Mt+4>>2]=A[c+4>>2],A[Mt+8>>2]=A[c+8>>2],A[Mt+12>>2]=A[c+12>>2],c=x,x=va(Mt,T,0,1)|0,(v|0)>(f|0)&(Qr(h)|0)!=0&&(c|0)!=1&&(A[Mt>>2]|0)!=(p|0)){switch(ss(Rt+(((E+5|0)%6|0)<<4)+4|0,e1),ss(Rt+(E<<4)+4|0,de),x1=+(A[F>>2]|0),k[ye>>3]=x1*3,k[$>>3]=0,Ht=x1*-1.5,k[Ee>>3]=Ht,k[re>>3]=x1*2.598076211353316,k[_e>>3]=Ht,k[ne>>3]=x1*-2.598076211353316,E=A[Qe>>2]|0,A[17040+(E*80|0)+(((p|0)==(E|0)?A[Mt>>2]|0:p)<<2)>>2]|0){case 1:{c=Ee,p=ye;break}case 3:{c=_e,p=Ee;break}case 2:{c=ye,p=_e;break}default:{c=8;break e}}P_(e1,de,p,c,ce),!(L_(e1,ce)|0)&&!(L_(de,ce)|0)&&(F4(ce,A[Qe>>2]|0,T,1,m+8+(A[m>>2]<<4)|0),A[m>>2]=(A[m>>2]|0)+1)}if((v|0)<(I|0)&&(ss(ie,e1),F4(e1,A[Mt>>2]|0,T,1,m+8+(A[m>>2]<<4)|0),A[m>>2]=(A[m>>2]|0)+1),v=v+1|0,(v|0)>=(ue|0)){c=3;break}else p=A[Mt>>2]|0}if((c|0)==3){V=a1;return}else(c|0)==8&&Ze(27054,27017,737,27099)}function __(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0;T=V,V=V+160|0,p=T+80|0,m=T,E=p,x=20368,v=E+72|0;do A[E>>2]=A[x>>2],E=E+4|0,x=x+4|0;while((E|0)<(v|0));E=m,x=20448,v=E+72|0;do A[E>>2]=A[x>>2],E=E+4|0,x=x+4|0;while((E|0)<(v|0));v=(Qr(A[h>>2]|0)|0)==0,p=v?p:m,m=c+4|0,f_(m),d_(m),Qr(A[h>>2]|0)|0&&(as(m),A[h>>2]=(A[h>>2]|0)+1),A[f>>2]=A[c>>2],h=f+4|0,$i(m,p,h),Di(h),A[f+16>>2]=A[c>>2],h=f+20|0,$i(m,p+12|0,h),Di(h),A[f+32>>2]=A[c>>2],h=f+36|0,$i(m,p+24|0,h),Di(h),A[f+48>>2]=A[c>>2],h=f+52|0,$i(m,p+36|0,h),Di(h),A[f+64>>2]=A[c>>2],h=f+68|0,$i(m,p+48|0,h),Di(h),A[f+80>>2]=A[c>>2],f=f+84|0,$i(m,p+60|0,f),Di(f),V=T}function PP(c,h){return c=c|0,h=h|0,h=ze(c|0,h|0,52)|0,W()|0,h&15|0}function m_(c,h){return c=c|0,h=h|0,h=ze(c|0,h|0,45)|0,W()|0,h&127|0}function $u(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0;return!(!0&(h&-16777216|0)==134217728)||(p=ze(c|0,h|0,52)|0,W()|0,p=p&15,f=ze(c|0,h|0,45)|0,W()|0,f=f&127,f>>>0>121)?(c=0,c|0):(x=(p^15)*3|0,m=ze(c|0,h|0,x|0)|0,x=et(m|0,W()|0,x|0)|0,m=W()|0,E=Mi(-1227133514,-1171,x|0,m|0)|0,!((x&613566756&E|0)==0&(m&4681&(W()|0)|0)==0)||(x=(p*3|0)+19|0,E=et(~c|0,~h|0,x|0)|0,x=ze(E|0,W()|0,x|0)|0,!((p|0)==15|(x|0)==0&(W()|0)==0))?(x=0,x|0):!(Ve[20528+f>>0]|0)||(h=h&8191,(c|0)==0&(h|0)==0)?(x=1,x|0):(x=G_(c|0,h|0)|0,W()|0,((63-x|0)%3|0|0)!=0|0))}function ju(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0;if(m=et(h|0,0,52)|0,E=W()|0,f=et(f|0,0,45)|0,f=E|(W()|0)|134225919,(h|0)<1){E=-1,p=f,h=c,A[h>>2]=E,c=c+4|0,A[c>>2]=p;return}for(E=1,m=-1;x=(15-E|0)*3|0,v=et(7,0,x|0)|0,f=f&~(W()|0),x=et(p|0,0,x|0)|0,m=m&~v|x,f=f|(W()|0),(E|0)!=(h|0);)E=E+1|0;v=c,x=v,A[x>>2]=m,v=v+4|0,A[v>>2]=f}function Xu(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0;if(E=ze(c|0,h|0,52)|0,W()|0,E=E&15,f>>>0>15)return p=4,p|0;if((E|0)<(f|0))return p=12,p|0;if((E|0)==(f|0))return A[p>>2]=c,A[p+4>>2]=h,p=0,p|0;if(m=et(f|0,0,52)|0,m=m|c,c=W()|0|h&-15728641,(E|0)>(f|0))do h=et(7,0,(14-f|0)*3|0)|0,f=f+1|0,m=h|m,c=W()|0|c;while((f|0)<(E|0));return A[p>>2]=m,A[p+4>>2]=c,p=0,p|0}function G4(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0;if(E=ze(c|0,h|0,52)|0,W()|0,E=E&15,!((f|0)<16&(E|0)<=(f|0)))return p=4,p|0;m=f-E|0,f=ze(c|0,h|0,45)|0,W()|0;e:do if(!(qn(f&127)|0))f=d3(7,0,m,((m|0)<0)<<31>>31)|0,m=W()|0;else{t:do if(E|0){for(f=1;x=et(7,0,(15-f|0)*3|0)|0,!!((x&c|0)==0&((W()|0)&h|0)==0);)if(f>>>0<E>>>0)f=f+1|0;else break t;f=d3(7,0,m,((m|0)<0)<<31>>31)|0,m=W()|0;break e}while(!1);f=d3(7,0,m,((m|0)<0)<<31>>31)|0,f=Ci(f|0,W()|0,5,0)|0,f=Gt(f|0,W()|0,-5,-1)|0,f=p3(f|0,W()|0,6,0)|0,f=Gt(f|0,W()|0,1,0)|0,m=W()|0}while(!1);return x=p,A[x>>2]=f,A[x+4>>2]=m,x=0,x|0}function nn(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;if(m=ze(c|0,h|0,45)|0,W()|0,!(qn(m&127)|0))return m=0,m|0;m=ze(c|0,h|0,52)|0,W()|0,m=m&15;e:do if(!m)f=0;else for(p=1;;){if(f=ze(c|0,h|0,(15-p|0)*3|0)|0,W()|0,f=f&7,f|0)break e;if(p>>>0<m>>>0)p=p+1|0;else{f=0;break}}while(!1);return m=(f|0)==0&1,m|0}function LP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0;if(x=V,V=V+16|0,E=x,nc(E,c,h,f),h=E,c=A[h>>2]|0,h=A[h+4>>2]|0,(c|0)==0&(h|0)==0)return V=x,0;m=0,f=0;do v=p+(m<<3)|0,A[v>>2]=c,A[v+4>>2]=h,m=Gt(m|0,f|0,1,0)|0,f=W()|0,ic(E),v=E,c=A[v>>2]|0,h=A[v+4>>2]|0;while(!((c|0)==0&(h|0)==0));return V=x,0}function g_(c,h,f,p){return c=c|0,h=h|0,f=f|0,p=p|0,(p|0)<(f|0)?(f=h,p=c,ke(f|0),p|0):(f=et(-1,-1,((p-f|0)*3|0)+3|0)|0,p=et(~f|0,~(W()|0)|0,(15-p|0)*3|0)|0,f=~(W()|0)&h,p=~p&c,ke(f|0),p|0)}function E_(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0;return m=ze(c|0,h|0,52)|0,W()|0,m=m&15,(f|0)<16&(m|0)<=(f|0)?((m|0)<(f|0)&&(m=et(-1,-1,((f+-1-m|0)*3|0)+3|0)|0,m=et(~m|0,~(W()|0)|0,(15-f|0)*3|0)|0,h=~(W()|0)&h,c=~m&c),m=et(f|0,0,52)|0,f=h&-15728641|(W()|0),A[p>>2]=c|m,A[p+4>>2]=f,p=0,p|0):(p=4,p|0)}function DP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0,bt=0,je=0;if((f|0)==0&(p|0)==0)return je=0,je|0;if(m=c,E=A[m>>2]|0,m=A[m+4>>2]|0,!0&(m&15728640|0)==0){if(!((p|0)>0|(p|0)==0&f>>>0>0)||(je=h,A[je>>2]=E,A[je+4>>2]=m,(f|0)==1&(p|0)==0))return je=0,je|0;m=1,E=0;
3846do Ht=c+(m<<3)|0,bt=A[Ht+4>>2]|0,je=h+(m<<3)|0,A[je>>2]=A[Ht>>2],A[je+4>>2]=bt,m=Gt(m|0,E|0,1,0)|0,E=W()|0;while((E|0)<(p|0)|(E|0)==(p|0)&m>>>0<f>>>0);return m=0,m|0}if(x1=f<<3,bt=H0(x1)|0,!bt)return je=13,je|0;if(Pa(bt|0,c|0,x1|0)|0,Ht=e0(f,8)|0,!Ht)return zt(bt),je=13,je|0;e:for(;;){m=bt,I=A[m>>2]|0,m=A[m+4>>2]|0,e1=ze(I|0,m|0,52)|0,W()|0,e1=e1&15,a1=e1+-1|0,Mt=(e1|0)!=0,Rt=(p|0)>0|(p|0)==0&f>>>0>0;t:do if(Mt&Rt){if(Ee=et(a1|0,0,52)|0,_e=W()|0,a1>>>0>15){if(!((I|0)==0&(m|0)==0)){je=16;break e}for(E=0,c=0;;){if(E=Gt(E|0,c|0,1,0)|0,c=W()|0,!((c|0)<(p|0)|(c|0)==(p|0)&E>>>0<f>>>0))break t;if(x=bt+(E<<3)|0,Qe=A[x>>2]|0,x=A[x+4>>2]|0,!((Qe|0)==0&(x|0)==0)){m=x,je=16;break e}}}for(v=I,c=m,E=0,x=0;;){if(!((v|0)==0&(c|0)==0)){if(!(!0&(c&117440512|0)==0)){je=21;break e}if(F=ze(v|0,c|0,52)|0,W()|0,F=F&15,(F|0)<(a1|0)){m=12,je=27;break e}if((F|0)!=(a1|0)&&(v=v|Ee,c=c&-15728641|_e,F>>>0>=e1>>>0)){T=a1;do Qe=et(7,0,(14-T|0)*3|0)|0,T=T+1|0,v=Qe|v,c=W()|0|c;while(T>>>0<F>>>0)}if(re=Ia(v|0,c|0,f|0,p|0)|0,ne=W()|0,T=Ht+(re<<3)|0,F=T,$=A[F>>2]|0,F=A[F+4>>2]|0,!(($|0)==0&(F|0)==0)){de=0,ye=0;do{if((de|0)>(p|0)|(de|0)==(p|0)&ye>>>0>f>>>0){je=31;break e}if(($|0)==(v|0)&(F&-117440513|0)==(c|0)){ie=ze($|0,F|0,56)|0,W()|0,ie=ie&7,ue=ie+1|0,Qe=ze($|0,F|0,45)|0,W()|0;n:do if(!(qn(Qe&127)|0))F=7;else{if($=ze($|0,F|0,52)|0,W()|0,$=$&15,!$){F=6;break}for(F=1;;){if(Qe=et(7,0,(15-F|0)*3|0)|0,!((Qe&v|0)==0&((W()|0)&c|0)==0)){F=7;break n}if(F>>>0<$>>>0)F=F+1|0;else{F=6;break}}}while(!1);if((ie+2|0)>>>0>F>>>0){je=41;break e}Qe=et(ue|0,0,56)|0,c=W()|0|c&-117440513,ce=T,A[ce>>2]=0,A[ce+4>>2]=0,v=Qe|v}else re=Gt(re|0,ne|0,1,0)|0,re=ba(re|0,W()|0,f|0,p|0)|0,ne=W()|0;ye=Gt(ye|0,de|0,1,0)|0,de=W()|0,T=Ht+(re<<3)|0,F=T,$=A[F>>2]|0,F=A[F+4>>2]|0}while(!(($|0)==0&(F|0)==0))}Qe=T,A[Qe>>2]=v,A[Qe+4>>2]=c}if(E=Gt(E|0,x|0,1,0)|0,x=W()|0,!((x|0)<(p|0)|(x|0)==(p|0)&E>>>0<f>>>0))break t;c=bt+(E<<3)|0,v=A[c>>2]|0,c=A[c+4>>2]|0}}while(!1);if(Qe=Gt(f|0,p|0,5,0)|0,ce=W()|0,ce>>>0<0|(ce|0)==0&Qe>>>0<11){je=85;break}if(Qe=p3(f|0,p|0,6,0)|0,W()|0,Qe=e0(Qe,8)|0,!Qe){je=48;break}do if(Rt){for(ue=0,c=0,ie=0,de=0;;){if(F=Ht+(ue<<3)|0,x=F,E=A[x>>2]|0,x=A[x+4>>2]|0,(E|0)==0&(x|0)==0)ce=ie;else{$=ze(E|0,x|0,56)|0,W()|0,$=$&7,v=$+1|0,re=x&-117440513,ce=ze(E|0,x|0,45)|0,W()|0;t:do if(qn(ce&127)|0){if(ne=ze(E|0,x|0,52)|0,W()|0,ne=ne&15,ne|0)for(T=1;;){if(ce=et(7,0,(15-T|0)*3|0)|0,!((E&ce|0)==0&(re&(W()|0)|0)==0))break t;if(T>>>0<ne>>>0)T=T+1|0;else break}x=et(v|0,0,56)|0,E=x|E,x=W()|0|re,v=F,A[v>>2]=E,A[v+4>>2]=x,v=$+2|0}while(!1);(v|0)==7?(ce=Qe+(c<<3)|0,A[ce>>2]=E,A[ce+4>>2]=x&-117440513,c=Gt(c|0,ie|0,1,0)|0,ce=W()|0):ce=ie}if(ue=Gt(ue|0,de|0,1,0)|0,de=W()|0,(de|0)<(p|0)|(de|0)==(p|0)&ue>>>0<f>>>0)ie=ce;else break}if(Rt){if(ye=a1>>>0>15,Ee=et(a1|0,0,52)|0,_e=W()|0,!Mt){for(E=0,T=0,v=0,x=0;(I|0)==0&(m|0)==0||(a1=h+(E<<3)|0,A[a1>>2]=I,A[a1+4>>2]=m,E=Gt(E|0,T|0,1,0)|0,T=W()|0),v=Gt(v|0,x|0,1,0)|0,x=W()|0,!!((x|0)<(p|0)|(x|0)==(p|0)&v>>>0<f>>>0);)m=bt+(v<<3)|0,I=A[m>>2]|0,m=A[m+4>>2]|0;m=ce;break}for(E=0,T=0,x=0,v=0;;){do if(!((I|0)==0&(m|0)==0)){if(ne=ze(I|0,m|0,52)|0,W()|0,ne=ne&15,ye|(ne|0)<(a1|0)){je=80;break e}if((ne|0)!=(a1|0)){if(F=I|Ee,$=m&-15728641|_e,ne>>>0>=e1>>>0){re=a1;do Mt=et(7,0,(14-re|0)*3|0)|0,re=re+1|0,F=Mt|F,$=W()|0|$;while(re>>>0<ne>>>0)}}else F=I,$=m;ie=Ia(F|0,$|0,f|0,p|0)|0,re=0,ne=0,de=W()|0;do{if((re|0)>(p|0)|(re|0)==(p|0)&ne>>>0>f>>>0){je=81;break e}if(Mt=Ht+(ie<<3)|0,ue=A[Mt+4>>2]|0,(ue&-117440513|0)==($|0)&&(A[Mt>>2]|0)==(F|0)){je=65;break}Mt=Gt(ie|0,de|0,1,0)|0,ie=ba(Mt|0,W()|0,f|0,p|0)|0,de=W()|0,ne=Gt(ne|0,re|0,1,0)|0,re=W()|0,Mt=Ht+(ie<<3)|0}while(!((A[Mt>>2]|0)==(F|0)&&(A[Mt+4>>2]|0)==($|0)));if((je|0)==65&&(je=0,!0&(ue&117440512|0)==100663296))break;Mt=h+(E<<3)|0,A[Mt>>2]=I,A[Mt+4>>2]=m,E=Gt(E|0,T|0,1,0)|0,T=W()|0}while(!1);if(x=Gt(x|0,v|0,1,0)|0,v=W()|0,!((v|0)<(p|0)|(v|0)==(p|0)&x>>>0<f>>>0))break;m=bt+(x<<3)|0,I=A[m>>2]|0,m=A[m+4>>2]|0}m=ce}else E=0,m=ce}else E=0,c=0,m=0;while(!1);if(cs(Ht|0,0,x1|0)|0,Pa(bt|0,Qe|0,c<<3|0)|0,zt(Qe),(c|0)==0&(m|0)==0){je=89;break}else h=h+(E<<3)|0,p=m,f=c}if((je|0)==16)!0&(m&117440512|0)==0?(m=4,je=27):je=21;else if((je|0)==31)Ze(27795,27122,529,27132);else{if((je|0)==41)return zt(bt),zt(Ht),je=10,je|0;if((je|0)==48)return zt(bt),zt(Ht),je=13,je|0;(je|0)==80?Ze(27795,27122,620,27132):(je|0)==81?Ze(27795,27122,632,27132):(je|0)==85&&(Pa(h|0,bt|0,f<<3|0)|0,je=89)}return(je|0)==21?(zt(bt),zt(Ht),je=5,je|0):(je|0)==27?(zt(bt),zt(Ht),je=m,je|0):(je|0)==89?(zt(bt),zt(Ht),je=0,je|0):0}function CP(c,h,f,p,m,E,x){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0,x=x|0;var v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0;if(ue=V,V=V+16|0,ie=ue,!((f|0)>0|(f|0)==0&h>>>0>0))return ie=0,V=ue,ie|0;if((x|0)>=16)return ie=12,V=ue,ie|0;re=0,ne=0,$=0,v=0;e:for(;;){if(I=c+(re<<3)|0,T=A[I>>2]|0,I=A[I+4>>2]|0,F=ze(T|0,I|0,52)|0,W()|0,(F&15|0)>(x|0)){v=12,T=11;break}if(nc(ie,T,I,x),F=ie,I=A[F>>2]|0,F=A[F+4>>2]|0,(I|0)==0&(F|0)==0)T=$;else{T=$;do{if(!((v|0)<(E|0)|(v|0)==(E|0)&T>>>0<m>>>0)){T=10;break e}$=p+(T<<3)|0,A[$>>2]=I,A[$+4>>2]=F,T=Gt(T|0,v|0,1,0)|0,v=W()|0,ic(ie),$=ie,I=A[$>>2]|0,F=A[$+4>>2]|0}while(!((I|0)==0&(F|0)==0))}if(re=Gt(re|0,ne|0,1,0)|0,ne=W()|0,(ne|0)<(f|0)|(ne|0)==(f|0)&re>>>0<h>>>0)$=T;else{v=0,T=11;break}}return(T|0)==10?(ie=14,V=ue,ie|0):(T|0)==11?(V=ue,v|0):0}function wP(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0;re=V,V=V+16|0,$=re;e:do if((f|0)>0|(f|0)==0&h>>>0>0){for(I=0,x=0,E=0,F=0;;){if(T=c+(I<<3)|0,v=A[T>>2]|0,T=A[T+4>>2]|0,!((v|0)==0&(T|0)==0)&&(T=(G4(v,T,p,$)|0)==0,v=$,x=Gt(A[v>>2]|0,A[v+4>>2]|0,x|0,E|0)|0,E=W()|0,!T)){E=12;break}if(I=Gt(I|0,F|0,1,0)|0,F=W()|0,!((F|0)<(f|0)|(F|0)==(f|0)&I>>>0<h>>>0))break e}return V=re,E|0}else x=0,E=0;while(!1);return A[m>>2]=x,A[m+4>>2]=E,m=0,V=re,m|0}function BP(c,h){return c=c|0,h=h|0,h=ze(c|0,h|0,52)|0,W()|0,h&1|0}function cr(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;if(m=ze(c|0,h|0,52)|0,W()|0,m=m&15,!m)return m=0,m|0;for(p=1;;){if(f=ze(c|0,h|0,(15-p|0)*3|0)|0,W()|0,f=f&7,f|0){p=5;break}if(p>>>0<m>>>0)p=p+1|0;else{f=0,p=5;break}}return(p|0)==5?f|0:0}function Zu(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0;if(T=ze(c|0,h|0,52)|0,W()|0,T=T&15,!T)return v=h,T=c,ke(v|0),T|0;for(v=1,f=0;;){E=(15-v|0)*3|0,p=et(7,0,E|0)|0,m=W()|0,x=ze(c|0,h|0,E|0)|0,W()|0,E=et(os(x&7)|0,0,E|0)|0,x=W()|0,c=E|c&~p,h=x|h&~m;e:do if(!f)if((E&p|0)==0&(x&m|0)==0)f=0;else if(p=ze(c|0,h|0,52)|0,W()|0,p=p&15,!p)f=1;else{f=1;t:for(;;){switch(x=ze(c|0,h|0,(15-f|0)*3|0)|0,W()|0,x&7){case 1:break t;case 0:break;default:{f=1;break e}}if(f>>>0<p>>>0)f=f+1|0;else{f=1;break e}}for(f=1;;)if(x=(15-f|0)*3|0,m=ze(c|0,h|0,x|0)|0,W()|0,E=et(7,0,x|0)|0,h=h&~(W()|0),x=et(os(m&7)|0,0,x|0)|0,c=c&~E|x,h=h|(W()|0),f>>>0<p>>>0)f=f+1|0;else{f=1;break}}while(!1);if(v>>>0<T>>>0)v=v+1|0;else break}return ke(h|0),c|0}function ls(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0;if(p=ze(c|0,h|0,52)|0,W()|0,p=p&15,!p)return f=h,p=c,ke(f|0),p|0;for(f=1;E=(15-f|0)*3|0,x=ze(c|0,h|0,E|0)|0,W()|0,m=et(7,0,E|0)|0,h=h&~(W()|0),E=et(os(x&7)|0,0,E|0)|0,c=E|c&~m,h=W()|0|h,f>>>0<p>>>0;)f=f+1|0;return ke(h|0),c|0}function UP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0;if(T=ze(c|0,h|0,52)|0,W()|0,T=T&15,!T)return v=h,T=c,ke(v|0),T|0;for(v=1,f=0;;){E=(15-v|0)*3|0,p=et(7,0,E|0)|0,m=W()|0,x=ze(c|0,h|0,E|0)|0,W()|0,E=et(f3(x&7)|0,0,E|0)|0,x=W()|0,c=E|c&~p,h=x|h&~m;e:do if(!f)if((E&p|0)==0&(x&m|0)==0)f=0;else if(p=ze(c|0,h|0,52)|0,W()|0,p=p&15,!p)f=1;else{f=1;t:for(;;){switch(x=ze(c|0,h|0,(15-f|0)*3|0)|0,W()|0,x&7){case 1:break t;case 0:break;default:{f=1;break e}}if(f>>>0<p>>>0)f=f+1|0;else{f=1;break e}}for(f=1;;)if(m=(15-f|0)*3|0,E=et(7,0,m|0)|0,x=h&~(W()|0),h=ze(c|0,h|0,m|0)|0,W()|0,h=et(f3(h&7)|0,0,m|0)|0,c=c&~E|h,h=x|(W()|0),f>>>0<p>>>0)f=f+1|0;else{f=1;break}}while(!1);if(v>>>0<T>>>0)v=v+1|0;else break}return ke(h|0),c|0}function Qu(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0;if(p=ze(c|0,h|0,52)|0,W()|0,p=p&15,!p)return f=h,p=c,ke(f|0),p|0;for(f=1;x=(15-f|0)*3|0,E=et(7,0,x|0)|0,m=h&~(W()|0),h=ze(c|0,h|0,x|0)|0,W()|0,h=et(f3(h&7)|0,0,x|0)|0,c=h|c&~E,h=W()|0|m,f>>>0<p>>>0;)f=f+1|0;return ke(h|0),c|0}function FP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(T=V,V=V+64|0,v=T+40|0,p=T+24|0,m=T+12|0,E=T,et(h|0,0,52)|0,f=W()|0|134225919,!h)return(A[c+4>>2]|0)>2||(A[c+8>>2]|0)>2||(A[c+12>>2]|0)>2?(x=0,v=0,ke(x|0),V=T,v|0):(et(i_(c)|0,0,45)|0,x=W()|0|f,v=-1,ke(x|0),V=T,v|0);if(A[v>>2]=A[c>>2],A[v+4>>2]=A[c+4>>2],A[v+8>>2]=A[c+8>>2],A[v+12>>2]=A[c+12>>
38462],x=v+4|0,(h|0)>0)for(c=-1;A[p>>2]=A[x>>2],A[p+4>>2]=A[x+4>>2],A[p+8>>2]=A[x+8>>2],h&1?(pP(x),A[m>>2]=A[x>>2],A[m+4>>2]=A[x+4>>2],A[m+8>>2]=A[x+8>>2],S5(m)):(c_(x),A[m>>2]=A[x>>2],A[m+4>>2]=A[x+4>>2],A[m+8>>2]=A[x+8>>2],as(m)),Wu(p,m,E),Di(E),F=(15-h|0)*3|0,I=et(7,0,F|0)|0,f=f&~(W()|0),F=et(x5(E)|0,0,F|0)|0,c=F|c&~I,f=W()|0|f,(h|0)>1;)h=h+-1|0;else c=-1;e:do if((A[x>>2]|0)<=2&&(A[v+8>>2]|0)<=2&&(A[v+12>>2]|0)<=2){if(p=i_(v)|0,h=et(p|0,0,45)|0,h=h|c,c=W()|0|f&-1040385,E=nP(v)|0,!(qn(p)|0)){if((E|0)<=0)break;for(m=0;;){if(p=ze(h|0,c|0,52)|0,W()|0,p=p&15,p)for(f=1;F=(15-f|0)*3|0,v=ze(h|0,c|0,F|0)|0,W()|0,I=et(7,0,F|0)|0,c=c&~(W()|0),F=et(os(v&7)|0,0,F|0)|0,h=h&~I|F,c=c|(W()|0),f>>>0<p>>>0;)f=f+1|0;if(m=m+1|0,(m|0)==(E|0))break e}}m=ze(h|0,c|0,52)|0,W()|0,m=m&15;t:do if(m){f=1;n:for(;;){switch(F=ze(h|0,c|0,(15-f|0)*3|0)|0,W()|0,F&7){case 1:break n;case 0:break;default:break t}if(f>>>0<m>>>0)f=f+1|0;else break t}if(r_(p,A[v>>2]|0)|0)for(f=1;v=(15-f|0)*3|0,I=et(7,0,v|0)|0,F=c&~(W()|0),c=ze(h|0,c|0,v|0)|0,W()|0,c=et(f3(c&7)|0,0,v|0)|0,h=h&~I|c,c=F|(W()|0),f>>>0<m>>>0;)f=f+1|0;else for(f=1;F=(15-f|0)*3|0,v=ze(h|0,c|0,F|0)|0,W()|0,I=et(7,0,F|0)|0,c=c&~(W()|0),F=et(os(v&7)|0,0,F|0)|0,h=h&~I|F,c=c|(W()|0),f>>>0<m>>>0;)f=f+1|0}while(!1);if((E|0)>0){f=0;do h=Zu(h,c)|0,c=W()|0,f=f+1|0;while((f|0)!=(E|0))}}else h=0,c=0;while(!1);return I=c,F=h,ke(I|0),V=T,F|0}function Qr(c){return c=c|0,(c|0)%2|0|0}function Ju(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0;return m=V,V=V+16|0,p=m,h>>>0>15?(p=4,V=m,p|0):(A[c+4>>2]&2146435072|0)==2146435072||(A[c+8+4>>2]&2146435072|0)==2146435072?(p=3,V=m,p|0):(OP(c,h,p),h=FP(p,h)|0,p=W()|0,A[f>>2]=h,A[f+4>>2]=p,(h|0)==0&(p|0)==0&&Ze(27795,27122,959,27145),p=0,V=m,p|0)}function ec(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;if(m=f+4|0,E=ze(c|0,h|0,52)|0,W()|0,E=E&15,x=ze(c|0,h|0,45)|0,W()|0,p=(E|0)==0,qn(x&127)|0){if(p)return x=1,x|0;p=1}else{if(p)return x=0,x|0;!(A[m>>2]|0)&&!(A[f+8>>2]|0)?p=(A[f+12>>2]|0)!=0&1:p=1}for(f=1;f&1?S5(m):as(m),x=ze(c|0,h|0,(15-f|0)*3|0)|0,W()|0,A_(m,x&7),f>>>0<E>>>0;)f=f+1|0;return p|0}function Oa(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(F=V,V=V+16|0,T=F,I=ze(c|0,h|0,45)|0,W()|0,I=I&127,I>>>0>121)return A[f>>2]=0,A[f+4>>2]=0,A[f+8>>2]=0,A[f+12>>2]=0,I=5,V=F,I|0;e:do if(qn(I)|0&&(E=ze(c|0,h|0,52)|0,W()|0,E=E&15,(E|0)!=0)){p=1;t:for(;;){switch(v=ze(c|0,h|0,(15-p|0)*3|0)|0,W()|0,v&7){case 5:break t;case 0:break;default:{p=h;break e}}if(p>>>0<E>>>0)p=p+1|0;else{p=h;break e}}for(m=1,p=h;h=(15-m|0)*3|0,x=et(7,0,h|0)|0,v=p&~(W()|0),p=ze(c|0,p|0,h|0)|0,W()|0,p=et(f3(p&7)|0,0,h|0)|0,c=c&~x|p,p=v|(W()|0),m>>>0<E>>>0;)m=m+1|0}else p=h;while(!1);if(v=7696+(I*28|0)|0,A[f>>2]=A[v>>2],A[f+4>>2]=A[v+4>>2],A[f+8>>2]=A[v+8>>2],A[f+12>>2]=A[v+12>>2],!(ec(c,p,f)|0))return I=0,V=F,I|0;if(x=f+4|0,A[T>>2]=A[x>>2],A[T+4>>2]=A[x+4>>2],A[T+8>>2]=A[x+8>>2],E=ze(c|0,p|0,52)|0,W()|0,v=E&15,E&1?(as(x),E=v+1|0):E=v,!(qn(I)|0))p=0;else{e:do if(!v)p=0;else for(h=1;;){if(m=ze(c|0,p|0,(15-h|0)*3|0)|0,W()|0,m=m&7,m|0){p=m;break e}if(h>>>0<v>>>0)h=h+1|0;else{p=0;break}}while(!1);p=(p|0)==4&1}if(!(va(f,E,p,0)|0))(E|0)!=(v|0)&&(A[x>>2]=A[T>>2],A[x+4>>2]=A[T+4>>2],A[x+8>>2]=A[T+8>>2]);else{if(qn(I)|0)do;while(va(f,E,0,0)|0);(E|0)!=(v|0)&&c_(x)}return I=0,V=F,I|0}function us(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;return E=V,V=V+16|0,p=E,m=Oa(c,h,p)|0,m|0?(V=E,m|0):(m=ze(c|0,h|0,52)|0,W()|0,bP(p,m&15,f),m=0,V=E,m|0)}function Ta(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0;if(x=V,V=V+16|0,E=x,p=Oa(c,h,E)|0,p|0)return E=p,V=x,E|0;p=ze(c|0,h|0,45)|0,W()|0,p=(qn(p&127)|0)==0,m=ze(c|0,h|0,52)|0,W()|0,m=m&15;e:do if(!p){if(m|0)for(p=1;;){if(v=et(7,0,(15-p|0)*3|0)|0,!((v&c|0)==0&((W()|0)&h|0)==0))break e;if(p>>>0<m>>>0)p=p+1|0;else break}return Ku(E,m,0,5,f),v=0,V=x,v|0}while(!1);return Yu(E,m,0,6,f),v=0,V=x,v|0}function GP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;if(m=ze(c|0,h|0,45)|0,W()|0,!(qn(m&127)|0))return m=2,A[f>>2]=m,0;if(m=ze(c|0,h|0,52)|0,W()|0,m=m&15,!m)return m=5,A[f>>2]=m,0;for(p=1;;){if(E=et(7,0,(15-p|0)*3|0)|0,!((E&c|0)==0&((W()|0)&h|0)==0)){p=2,c=6;break}if(p>>>0<m>>>0)p=p+1|0;else{p=5,c=6;break}}return(c|0)==6&&(A[f>>2]=p),0}function M_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0;$=V,V=V+128|0,I=$+112|0,E=$+96|0,F=$,m=ze(c|0,h|0,52)|0,W()|0,v=m&15,A[I>>2]=v,x=ze(c|0,h|0,45)|0,W()|0,x=x&127;e:do if(qn(x)|0){if(v|0)for(p=1;;){if(T=et(7,0,(15-p|0)*3|0)|0,!((T&c|0)==0&((W()|0)&h|0)==0)){m=0;break e}if(p>>>0<v>>>0)p=p+1|0;else break}if(m&1)m=1;else return T=et(v+1|0,0,52)|0,F=W()|0|h&-15728641,I=et(7,0,(14-v|0)*3|0)|0,F=M_((T|c)&~I,F&~(W()|0),f)|0,V=$,F|0}else m=0;while(!1);if(p=Oa(c,h,E)|0,!p){m?(p_(E,I,F),T=5):(__(E,I,F),T=6);e:do if(qn(x)|0)if(!v)c=5;else for(p=1;;){if(x=et(7,0,(15-p|0)*3|0)|0,!((x&c|0)==0&((W()|0)&h|0)==0)){c=2;break e}if(p>>>0<v>>>0)p=p+1|0;else{c=5;break}}else c=2;while(!1);cs(f|0,-1,c<<2|0)|0;e:do if(m)for(E=0;;){if(x=F+(E<<4)|0,IP(x,A[I>>2]|0)|0,x=A[x>>2]|0,v=A[f>>2]|0,(v|0)==-1|(v|0)==(x|0))p=f;else{m=0;do{if(m=m+1|0,m>>>0>=c>>>0){p=1;break e}p=f+(m<<2)|0,v=A[p>>2]|0}while(!((v|0)==-1|(v|0)==(x|0)))}if(A[p>>2]=x,E=E+1|0,E>>>0>=T>>>0){p=0;break}}else for(E=0;;){if(x=F+(E<<4)|0,va(x,A[I>>2]|0,0,1)|0,x=A[x>>2]|0,v=A[f>>2]|0,(v|0)==-1|(v|0)==(x|0))p=f;else{m=0;do{if(m=m+1|0,m>>>0>=c>>>0){p=1;break e}p=f+(m<<2)|0,v=A[p>>2]|0}while(!((v|0)==-1|(v|0)==(x|0)))}if(A[p>>2]=x,E=E+1|0,E>>>0>=T>>>0){p=0;break}}while(!1)}return F=p,V=$,F|0}function VP(){return 12}function tc(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0;if(c>>>0>15)return v=4,v|0;if(et(c|0,0,52)|0,v=W()|0|134225919,!c){f=0,p=0;do qn(p)|0&&(et(p|0,0,45)|0,x=v|(W()|0),c=h+(f<<3)|0,A[c>>2]=-1,A[c+4>>2]=x,f=f+1|0),p=p+1|0;while((p|0)!=122);return f=0,f|0}f=0,x=0;do{if(qn(x)|0){for(et(x|0,0,45)|0,p=1,m=-1,E=v|(W()|0);T=et(7,0,(15-p|0)*3|0)|0,m=m&~T,E=E&~(W()|0),(p|0)!=(c|0);)p=p+1|0;T=h+(f<<3)|0,A[T>>2]=m,A[T+4>>2]=E,f=f+1|0}x=x+1|0}while((x|0)!=122);return f=0,f|0}function kP(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0;if(Ee=V,V=V+16|0,de=Ee,ye=ze(c|0,h|0,52)|0,W()|0,ye=ye&15,f>>>0>15)return ye=4,V=Ee,ye|0;if((ye|0)<(f|0))return ye=12,V=Ee,ye|0;if((ye|0)!=(f|0))if(E=et(f|0,0,52)|0,E=E|c,v=W()|0|h&-15728641,(ye|0)>(f|0)){T=f;do ue=et(7,0,(14-T|0)*3|0)|0,T=T+1|0,E=ue|E,v=W()|0|v;while((T|0)<(ye|0));ue=E}else ue=E;else ue=c,v=h;ie=ze(ue|0,v|0,45)|0,W()|0;
3846e:do if(qn(ie&127)|0){if(T=ze(ue|0,v|0,52)|0,W()|0,T=T&15,T|0)for(E=1;;){if(ie=et(7,0,(15-E|0)*3|0)|0,!((ie&ue|0)==0&((W()|0)&v|0)==0)){I=33;break e}if(E>>>0<T>>>0)E=E+1|0;else break}if(ie=p,A[ie>>2]=0,A[ie+4>>2]=0,(ye|0)>(f|0)){for(ie=h&-15728641,ne=ye;;){if(re=ne,ne=ne+-1|0,ne>>>0>15|(ye|0)<(ne|0)){I=19;break}if((ye|0)!=(ne|0))if(E=et(ne|0,0,52)|0,E=E|c,T=W()|0|ie,(ye|0)<(re|0))$=E;else{I=ne;do $=et(7,0,(14-I|0)*3|0)|0,I=I+1|0,E=$|E,T=W()|0|T;while((I|0)<(ye|0));$=E}else $=c,T=h;if(F=ze($|0,T|0,45)|0,W()|0,!(qn(F&127)|0))E=0;else{F=ze($|0,T|0,52)|0,W()|0,F=F&15;t:do if(!F)E=0;else for(I=1;;){if(E=ze($|0,T|0,(15-I|0)*3|0)|0,W()|0,E=E&7,E|0)break t;if(I>>>0<F>>>0)I=I+1|0;else{E=0;break}}while(!1);E=(E|0)==0&1}if(T=ze(c|0,h|0,(15-re|0)*3|0)|0,W()|0,T=T&7,(T|0)==7){m=5,I=42;break}if(E=(E|0)!=0,(T|0)==1&E){m=5,I=42;break}if($=T+(((T|0)!=0&E)<<31>>31)|0,$|0&&(I=ye-re|0,I=d3(7,0,I,((I|0)<0)<<31>>31)|0,F=W()|0,E?(E=Ci(I|0,F|0,5,0)|0,E=Gt(E|0,W()|0,-5,-1)|0,E=p3(E|0,W()|0,6,0)|0,E=Gt(E|0,W()|0,1,0)|0,T=W()|0):(E=I,T=F),re=$+-1|0,re=Ci(I|0,F|0,re|0,((re|0)<0)<<31>>31|0)|0,re=Gt(E|0,T|0,re|0,W()|0)|0,$=W()|0,F=p,F=Gt(re|0,$|0,A[F>>2]|0,A[F+4>>2]|0)|0,$=W()|0,re=p,A[re>>2]=F,A[re+4>>2]=$),(ne|0)<=(f|0)){I=37;break}}if((I|0)==19)Ze(27795,27122,1276,27158);else if((I|0)==37){x=p,m=A[x+4>>2]|0,x=A[x>>2]|0;break}else if((I|0)==42)return V=Ee,m|0}else m=0,x=0}else I=33;while(!1);e:do if((I|0)==33)if(ie=p,A[ie>>2]=0,A[ie+4>>2]=0,(ye|0)>(f|0)){for(E=ye;;){if(m=ze(c|0,h|0,(15-E|0)*3|0)|0,W()|0,m=m&7,(m|0)==7){m=5;break}if(x=ye-E|0,x=d3(7,0,x,((x|0)<0)<<31>>31)|0,m=Ci(x|0,W()|0,m|0,0)|0,x=W()|0,ie=p,x=Gt(A[ie>>2]|0,A[ie+4>>2]|0,m|0,x|0)|0,m=W()|0,ie=p,A[ie>>2]=x,A[ie+4>>2]=m,E=E+-1|0,(E|0)<=(f|0))break e}return V=Ee,m|0}else m=0,x=0;while(!1);return G4(ue,v,ye,de)|0&&Ze(27795,27122,1236,27173),ye=de,de=A[ye+4>>2]|0,((m|0)>-1|(m|0)==-1&x>>>0>4294967295)&((de|0)>(m|0)|((de|0)==(m|0)?(A[ye>>2]|0)>>>0>x>>>0:0))?(ye=0,V=Ee,ye|0):(Ze(27795,27122,1316,27158),0)}function zP(c,h,f,p,m,E){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0;var x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0;if($=V,V=V+16|0,x=$,m>>>0>15)return E=4,V=$,E|0;if(v=ze(f|0,p|0,52)|0,W()|0,v=v&15,(v|0)>(m|0))return E=12,V=$,E|0;if(G4(f,p,m,x)|0&&Ze(27795,27122,1236,27173),F=x,I=A[F+4>>2]|0,!(((h|0)>-1|(h|0)==-1&c>>>0>4294967295)&((I|0)>(h|0)|((I|0)==(h|0)?(A[F>>2]|0)>>>0>c>>>0:0))))return E=2,V=$,E|0;F=m-v|0,m=et(m|0,0,52)|0,T=W()|0|p&-15728641,I=E,A[I>>2]=m|f,A[I+4>>2]=T,I=ze(f|0,p|0,45)|0,W()|0;e:do if(qn(I&127)|0){if(v|0)for(x=1;;){if(I=et(7,0,(15-x|0)*3|0)|0,!((I&f|0)==0&((W()|0)&p|0)==0))break e;if(x>>>0<v>>>0)x=x+1|0;else break}if((F|0)<1)return E=0,V=$,E|0;for(I=v^15,p=-1,T=1,x=1;;){v=F-T|0,v=d3(7,0,v,((v|0)<0)<<31>>31)|0,f=W()|0;do if(x)if(x=Ci(v|0,f|0,5,0)|0,x=Gt(x|0,W()|0,-5,-1)|0,x=p3(x|0,W()|0,6,0)|0,m=W()|0,(h|0)>(m|0)|(h|0)==(m|0)&c>>>0>x>>>0){h=Gt(c|0,h|0,-1,-1)|0,h=Mi(h|0,W()|0,x|0,m|0)|0,x=W()|0,re=E,ie=A[re>>2]|0,re=A[re+4>>2]|0,ue=(I+p|0)*3|0,ne=et(7,0,ue|0)|0,re=re&~(W()|0),p=p3(h|0,x|0,v|0,f|0)|0,c=W()|0,m=Gt(p|0,c|0,2,0)|0,ue=et(m|0,W()|0,ue|0)|0,re=W()|0|re,m=E,A[m>>2]=ue|ie&~ne,A[m+4>>2]=re,c=Ci(p|0,c|0,v|0,f|0)|0,c=Mi(h|0,x|0,c|0,W()|0)|0,x=0,h=W()|0;break}else{ue=E,ne=A[ue>>2]|0,ue=A[ue+4>>2]|0,ie=et(7,0,(I+p|0)*3|0)|0,ue=ue&~(W()|0),x=E,A[x>>2]=ne&~ie,A[x+4>>2]=ue,x=1;break}else ne=E,m=A[ne>>2]|0,ne=A[ne+4>>2]|0,p=(I+p|0)*3|0,re=et(7,0,p|0)|0,ne=ne&~(W()|0),ue=p3(c|0,h|0,v|0,f|0)|0,x=W()|0,p=et(ue|0,x|0,p|0)|0,ne=W()|0|ne,ie=E,A[ie>>2]=p|m&~re,A[ie+4>>2]=ne,x=Ci(ue|0,x|0,v|0,f|0)|0,c=Mi(c|0,h|0,x|0,W()|0)|0,x=0,h=W()|0;while(!1);if((F|0)>(T|0))p=~T,T=T+1|0;else{h=0;break}}return V=$,h|0}while(!1);if((F|0)<1)return ue=0,V=$,ue|0;for(m=v^15,x=1;;)if(ie=F-x|0,ie=d3(7,0,ie,((ie|0)<0)<<31>>31)|0,ue=W()|0,T=E,f=A[T>>2]|0,T=A[T+4>>2]|0,v=(m-x|0)*3|0,p=et(7,0,v|0)|0,T=T&~(W()|0),re=p3(c|0,h|0,ie|0,ue|0)|0,ne=W()|0,v=et(re|0,ne|0,v|0)|0,T=W()|0|T,I=E,A[I>>2]=v|f&~p,A[I+4>>2]=T,ue=Ci(re|0,ne|0,ie|0,ue|0)|0,c=Mi(c|0,h|0,ue|0,W()|0)|0,h=W()|0,(F|0)<=(x|0)){h=0;break}else x=x+1|0;return V=$,h|0}function nc(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0;m=ze(h|0,f|0,52)|0,W()|0,m=m&15,(h|0)==0&(f|0)==0|((p|0)>15|(m|0)>(p|0))?(E=-1,h=-1,f=0,m=0):(h=g_(h,f,m+1|0,p)|0,x=(W()|0)&-15728641,f=et(p|0,0,52)|0,f=h|f,x=x|(W()|0),h=(nn(f,x)|0)==0,E=m,h=h?-1:p,m=x),x=c,A[x>>2]=f,A[x+4>>2]=m,A[c+8>>2]=E,A[c+12>>2]=h}function x_(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0;if(m=ze(c|0,h|0,52)|0,W()|0,m=m&15,E=p+8|0,A[E>>2]=m,(c|0)==0&(h|0)==0|((f|0)>15|(m|0)>(f|0))){f=p,A[f>>2]=0,A[f+4>>2]=0,A[E>>2]=-1,A[p+12>>2]=-1;return}if(c=g_(c,h,m+1|0,f)|0,E=(W()|0)&-15728641,m=et(f|0,0,52)|0,m=c|m,
3846E=E|(W()|0),c=p,A[c>>2]=m,A[c+4>>2]=E,c=p+12|0,nn(m,E)|0){A[c>>2]=f;return}else{A[c>>2]=-1;return}}function ic(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0;if(f=c,h=A[f>>2]|0,f=A[f+4>>2]|0,!((h|0)==0&(f|0)==0)&&(p=ze(h|0,f|0,52)|0,W()|0,p=p&15,v=et(1,0,(p^15)*3|0)|0,h=Gt(v|0,W()|0,h|0,f|0)|0,f=W()|0,v=c,A[v>>2]=h,A[v+4>>2]=f,v=c+8|0,x=A[v>>2]|0,!((p|0)<(x|0)))){for(T=c+12|0,E=p;;){if((E|0)==(x|0)){p=5;break}if(I=(E|0)==(A[T>>2]|0),m=(15-E|0)*3|0,p=ze(h|0,f|0,m|0)|0,W()|0,p=p&7,I&((p|0)==1&!0)){p=7;break}if(!((p|0)==7&!0)){p=10;break}if(I=et(1,0,m|0)|0,h=Gt(h|0,f|0,I|0,W()|0)|0,f=W()|0,I=c,A[I>>2]=h,A[I+4>>2]=f,(E|0)>(x|0))E=E+-1|0;else{p=10;break}}if((p|0)==5){I=c,A[I>>2]=0,A[I+4>>2]=0,A[v>>2]=-1,A[T>>2]=-1;return}else if((p|0)==7){x=et(1,0,m|0)|0,x=Gt(h|0,f|0,x|0,W()|0)|0,v=W()|0,I=c,A[I>>2]=x,A[I+4>>2]=v,A[T>>2]=E+-1;return}else if((p|0)==10)return}}function V4(c){c=+c;var h=0;return h=c<0?c+6.283185307179586:c,+(c>=6.283185307179586?h+-6.283185307179586:h)}function Ra(c,h){return c=c|0,h=h|0,+h1(+(+k[c>>3]-+k[h>>3]))<17453292519943298e-27?(h=+h1(+(+k[c+8>>3]-+k[h+8>>3]))<17453292519943298e-27,h|0):(h=0,h|0)}function Pr(c,h){switch(c=+c,h=h|0,h|0){case 1:{c=c<0?c+6.283185307179586:c;break}case 2:{c=c>0?c+-6.283185307179586:c;break}}return+c}function WP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;return m=+k[h>>3],p=+k[c>>3],E=+_1(+((m-p)*.5)),f=+_1(+((+k[h+8>>3]-+k[c+8>>3])*.5)),f=E*E+f*(+L1(+m)*+L1(+p)*f),+(+pe(+ +T1(+f),+ +T1(+(1-f)))*2)}function k4(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;return m=+k[h>>3],p=+k[c>>3],E=+_1(+((m-p)*.5)),f=+_1(+((+k[h+8>>3]-+k[c+8>>3])*.5)),f=E*E+f*(+L1(+m)*+L1(+p)*f),+(+pe(+ +T1(+f),+ +T1(+(1-f)))*2*6371.007180918475)}function HP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;return m=+k[h>>3],p=+k[c>>3],E=+_1(+((m-p)*.5)),f=+_1(+((+k[h+8>>3]-+k[c+8>>3])*.5)),f=E*E+f*(+L1(+m)*+L1(+p)*f),+(+pe(+ +T1(+f),+ +T1(+(1-f)))*2*6371.007180918475*1e3)}function KP(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0;return E=+k[h>>3],p=+L1(+E),m=+k[h+8>>3]-+k[c+8>>3],x=p*+_1(+m),f=+k[c>>3],+ +pe(+x,+(+_1(+E)*+L1(+f)-+L1(+m)*(p*+_1(+f))))}function YP(c,h,f,p){c=c|0,h=+h,f=+f,p=p|0;var m=0,E=0,x=0,v=0;if(f<1e-16){A[p>>2]=A[c>>2],A[p+4>>2]=A[c+4>>2],A[p+8>>2]=A[c+8>>2],A[p+12>>2]=A[c+12>>2];return}E=h<0?h+6.283185307179586:h,E=h>=6.283185307179586?E+-6.283185307179586:E;do if(E<1e-16)h=+k[c>>3]+f,k[p>>3]=h,m=p;else{if(m=+h1(+(E+-3.141592653589793))<1e-16,h=+k[c>>3],m){h=h-f,k[p>>3]=h,m=p;break}if(x=+L1(+f),f=+_1(+f),h=x*+_1(+h)+ +L1(+E)*(f*+L1(+h)),h=h>1?1:h,h=+Uu(+(h<-1?-1:h)),k[p>>3]=h,+h1(+(h+-1.5707963267948966))<1e-16){k[p>>3]=1.5707963267948966,k[p+8>>3]=0;return}if(+h1(+(h+1.5707963267948966))<1e-16){k[p>>3]=-1.5707963267948966,k[p+8>>3]=0;return}if(v=1/+L1(+h),E=f*+_1(+E)*v,f=+k[c>>3],h=v*((x-+_1(+h)*+_1(+f))/+L1(+f)),x=E>1?1:E,h=h>1?1:h,h=+k[c+8>>3]+ +pe(+(x<-1?-1:x),+(h<-1?-1:h)),h>3.141592653589793)do h=h+-6.283185307179586;while(h>3.141592653589793);if(h<-3.141592653589793)do h=h+6.283185307179586;while(h<-3.141592653589793);k[p+8>>3]=h;return}while(!1);if(+h1(+(h+-1.5707963267948966))<1e-16){k[m>>3]=1.5707963267948966,k[p+8>>3]=0;return}if(+h1(+(h+1.5707963267948966))<1e-16){k[m>>3]=-1.5707963267948966,k[p+8>>3]=0;return}if(h=+k[c+8>>3],h>3.141592653589793)do h=h+-6.283185307179586;while(h>3.141592653589793);if(h<-3.141592653589793)do h=h+6.283185307179586;while(h<-3.141592653589793);k[p+8>>3]=h}function S_(c,h){return c=c|0,h=h|0,c>>>0>15?(h=4,h|0):(k[h>>3]=+k[20656+(c<<3)>>3],h=0,h|0)}function $P(c,h){return c=c|0,h=h|0,c>>>0>15?(h=4,h|0):(k[h>>3]=+k[20784+(c<<3)>>3],h=0,h|0)}function jP(c,h){return c=c|0,h=h|0,c>>>0>15?(h=4,h|0):(k[h>>3]=+k[20912+(c<<3)>>3],h=0,h|0)}function XP(c,h){return c=c|0,h=h|0,c>>>0>15?(h=4,h|0):(k[h>>3]=+k[21040+(c<<3)>>3],h=0,h|0)}function rc(c,h){c=c|0,h=h|0;var f=0;return c>>>0>15?(h=4,h|0):(f=d3(7,0,c,((c|0)<0)<<31>>31)|0,f=Ci(f|0,W()|0,120,0)|0,c=W()|0,A[h>>2]=f|2,A[h+4>>2]=c,h=0,h|0)}function y_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0;return re=+k[h>>3],F=+k[c>>3],T=+_1(+((re-F)*.5)),E=+k[h+8>>3],I=+k[c+8>>3],x=+_1(+((E-I)*.5)),v=+L1(+F),$=+L1(+re),x=T*T+x*($*v*x),x=+pe(+ +T1(+x),+ +T1(+(1-x)))*2,T=+k[f>>3],re=+_1(+((T-re)*.5)),p=+k[f+8>>3],E=+_1(+((p-E)*.5)),m=+L1(+T),E=re*re+E*($*m*E),E=+pe(+ +T1(+E),+ +T1(+(1-E)))*2,T=+_1(+((F-T)*.5)),p=+_1(+((I-p)*.5)),p=T*T+p*(v*m*p),p=+pe(+ +T1(+p),+ +T1(+(1-p)))*2,m=(x+E+p)*.5,+(+X(+ +T1(+(+ur(+(m*.5))*+ur(+((m-x)*.5))*+ur(+((m-E)*.5))*+ur(+((m-p)*.5)))))*4)}function sc(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0;if(v=V,V=V+192|0,E=v+168|0,x=v,m=us(c,h,E)|0,m|0)return f=m,V=v,f|0;if(Ta(c,h,x)|0&&Ze(27795,27190,415,27199),h=A[x>>2]|0,(h|0)>0){if(p=+y_(x+8|0,x+8+(((h|0)!=1&1)<<4)|0,E)+0,(h|0)!=1){c=1;do m=c,c=c+1|0,p=p+ +y_(x+8+(m<<4)|0,x+8+(((c|0)%(h|0)|0)<<4)|0,E);while((c|0)<(h|0))}}else p=0;return k[f>>3]=p,f=0,V=v,f|0}function ZP(c,h,f){return c=c|0,h=h|0,f=f|0,c=sc(c,h,f)|0,c|0||(k[f>>3]=+k[f>>3]*6371.007180918475*6371.007180918475),c|0}function QP(c,h,f){return c=c|0,h=h|0,f=f|0,c=sc(c,h,f)|0,c|0||(k[f>>3]=+k[f>>3]*6371.007180918475*6371.007180918475*1e3*1e3),c|0}function JP(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(v=V,V=V+176|0,x=v,c=N5(c,h,x)|0,c|0)return x=c,V=v,x|0;if(k[f>>3]=0,c=A[x>>2]|0,(c|0)<=1)return x=0,V=v,x|0;h=c+-1|0,c=0,p=+k[x+8>>3],m=+k[x+16>>3],E=0;do c=c+1|0,I=p,p=+k[x+8+(c<<4)>>3],F=+_1(+((p-I)*.5)),T=m,m=+k[x+8+(c<<4)+8>>3],T=+_1(+((m-T)*.5)),T=F*F+T*(+L1(+p)*+L1(+I)*T),E=E+ +pe(+ +T1(+T),+ +T1(+(1-T)))*2;while((c|0)<(h|0));return k[f>>3]=E,x=0,V=v,x|0}function eL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(v=V,V=V+176|0,x=v,c=N5(c,h,x)|0,c|0)return x=c,E=+k[f>>3],E=E*6371.007180918475,k[f>>3]=E,V=v,x|0;if(k[f>>3]=0,c=A[x>>2]|0,(c|0)<=1)return x=0,E=0,E=E*6371.007180918475,k[f>>3]=E,V=v,x|0;h=c+-1|0,c=0,p=+k[x+8>>3],m=+k[x+16>>3],E=0;do c=c+1|0,I=p,p=+k[x+8+(c<<4)>>3],F=+_1(+((p-I)*.5)),T=m,m=+k[x+8+(c<<4)+8>>3],T=+_1(+((m-T)*.5)),T=F*F+T*(+L1(+I)*+L1(+p)*T),E=E+ +pe(+ +T1(+T),+ +T1(+(1-T)))*2;while((c|0)!=(h|0));return k[f>>3]=E,x=0,F=E,F=F*6371.007180918475,k[f>>3]=F,V=v,x|0}function tL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(v=V,V=V+176|0,x=v,c=N5(c,h,x)|0,c|0)return x=c,E=+k[f>>3],E=E*6371.007180918475,E=E*1e3,k[f>>3]=E,V=v,x|0;if(k[f>>3]=0,c=A[x>>2]|0,(c|0)<=1)return x=0,E=0,E=E*6371.007180918475,E=E*1e3,k[f>>3]=E,V=v,x|0;h=c+-1|0,c=0,p=+k[x+8>>3],m=+k[x+16>>3],E=0;do c=c+1|0,I=p,p=+k[x+8+(c<<4)>>3],F=+_1(+((p-I)*.5)),T=m,m=+k[x+8+(c<<4)+8>>3],T=+_1(+((m-T)*.5)),T=F*F+T*(+L1(+I)*+L1(+p)*T),E=E+ +pe(+ +T1(+T),+ +T1(+(1-T)))*2;while((c|0)!=(h|0));return k[f>>3]=E,x=0,F=E,F=F*6371.007180918475,F=F*1e3,k[f>>3]=F,V=v,x|0}function nL(c){c=c|0;var h=0,f=0,p=0;return h=e0(1,12)|0,h||Ze(27280,27235,49,27293),f=c+4|0,p=A[f>>2]|0,p|0?(p=p+8|0,A[p>>2]=h,A[f>>2]=h,h|0):(A[c>>2]|0&&Ze(27310,27235,61,27333),p=c,A[p>>2]=h,A[f>>2]=h,h|0)}function iL(c,h){c=c|0,h=h|0;var f=0,p=0;return p=H0(24)|0,p||Ze(27347,27235,78,27361),A[p>>2]=A[h>>2],A[p+4>>2]=A[h+4>>2],A[p+8>>2]=A[h+8>>2],A[p+12>>2]=A[h+12>>2],A[p+16>>2]=0,h=c+4|0,f=A[h>>2]|0,f|0?(A[f+16>>2]=p,A[h>>2]=p,p|0):(A[c>>2]|0&&Ze(27376,27235,82,27361),A[c>>2]=p,A[h>>2]=p,p|0)}function N_(c){c=c|0;var h=0,f=0,p=0,m=0;if(c)for(p=1;;){if(h=A[c>>2]|0,h|0)do{if(f=A[h>>2]|0,f|0)do m=f,f=A[f+16>>2]|0,zt(m);while(f|0);m=h,h=A[h+8>>2]|0,zt(m)}while(h|0);if(h=c,c=A[c+8>>2]|0,p||zt(h),c)p=0;else break}}function rL(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0,a1=0,x1=0,Ht=0,bt=0,je=0,g1=0,X1=0,f1=0;if(m=c+8|0,A[m>>2]|0)return f1=1,f1|0;if(p=A[c>>2]|0,!p)return f1=0,f1|0;h=p,f=0;do f=f+1|0,h=A[h+8>>2]|0;while(h|0);if(f>>>0<2)return f1=0,f1|0;g1=H0(f<<2)|0,g1||Ze(27396,27235,317,27415),je=H0(f<<5)|0,je||Ze(27437,27235,321,27415),A[c>>2]=0,Rt=c+4|0,A[Rt>>2]=0,A[m>>
38462]=0,f=0,bt=0,Qe=0,$=0;e:for(;;){if(F=A[p>>2]|0,F){E=0,x=F;do{if(T=+k[x+8>>3],h=x,x=A[x+16>>2]|0,I=(x|0)==0,m=I?F:x,v=+k[m+8>>3],+h1(+(T-v))>3.141592653589793){f1=14;break}E=E+(v-T)*(+k[h>>3]+ +k[m>>3])}while(!I);if((f1|0)==14){f1=0,E=0,h=F;do ce=+k[h+8>>3],Ht=h+16|0,x1=A[Ht>>2]|0,x1=x1|0?x1:F,_e=+k[x1+8>>3],E=E+(+k[h>>3]+ +k[x1>>3])*((_e<0?_e+6.283185307179586:_e)-(ce<0?ce+6.283185307179586:ce)),h=A[(h|0?Ht:p)>>2]|0;while(h|0)}E>0?(A[g1+(bt<<2)>>2]=p,bt=bt+1|0,m=Qe,h=$):f1=19}else f1=19;if((f1|0)==19){f1=0;do if(f){if(h=f+8|0,A[h>>2]|0){f1=21;break e}if(f=e0(1,12)|0,!f){f1=23;break e}A[h>>2]=f,m=f+4|0,x=f,h=$}else if($){m=Rt,x=$+8|0,h=p,f=c;break}else if(A[c>>2]|0){f1=27;break e}else{m=Rt,x=c,h=p,f=c;break}while(!1);if(A[x>>2]=p,A[m>>2]=p,x=je+(Qe<<5)|0,I=A[p>>2]|0,I){for(F=je+(Qe<<5)+8|0,k[F>>3]=17976931348623157e292,$=je+(Qe<<5)+24|0,k[$>>3]=17976931348623157e292,k[x>>3]=-17976931348623157e292,re=je+(Qe<<5)+16|0,k[re>>3]=-17976931348623157e292,ye=17976931348623157e292,Ee=-17976931348623157e292,m=0,ne=I,T=17976931348623157e292,ue=17976931348623157e292,de=-17976931348623157e292,v=-17976931348623157e292;E=+k[ne>>3],ce=+k[ne+8>>3],ne=A[ne+16>>2]|0,ie=(ne|0)==0,_e=+k[(ie?I:ne)+8>>3],E<T&&(k[F>>3]=E,T=E),ce<ue&&(k[$>>3]=ce,ue=ce),E>de?k[x>>3]=E:E=de,ce>v&&(k[re>>3]=ce,v=ce),ye=ce>0&ce<ye?ce:ye,Ee=ce<0&ce>Ee?ce:Ee,m=m|+h1(+(ce-_e))>3.141592653589793,!ie;)de=E;m&&(k[re>>3]=Ee,k[$>>3]=ye)}else A[x>>2]=0,A[x+4>>2]=0,A[x+8>>2]=0,A[x+12>>2]=0,A[x+16>>2]=0,A[x+20>>2]=0,A[x+24>>2]=0,A[x+28>>2]=0;m=Qe+1|0}if(Ht=p+8|0,p=A[Ht>>2]|0,A[Ht>>2]=0,p)Qe=m,$=h;else{f1=45;break}}if((f1|0)==21)Ze(27213,27235,35,27247);else if((f1|0)==23)Ze(27267,27235,37,27247);else if((f1|0)==27)Ze(27310,27235,61,27333);else if((f1|0)==45){e:do if((bt|0)>0){for(Ht=(m|0)==0,a1=m<<2,x1=(c|0)==0,e1=0,h=0;;){if(Mt=A[g1+(e1<<2)>>2]|0,Ht)f1=73;else{if(Qe=H0(a1)|0,!Qe){f1=50;break}if(Rt=H0(a1)|0,!Rt){f1=52;break}t:do if(x1)f=0;else{for(m=0,f=0,x=c;p=je+(m<<5)|0,v_(A[x>>2]|0,p,A[Mt>>2]|0)|0?(A[Qe+(f<<2)>>2]=x,A[Rt+(f<<2)>>2]=p,ie=f+1|0):ie=f,x=A[x+8>>2]|0,x;)m=m+1|0,f=ie;if((ie|0)>0)if(p=A[Qe>>2]|0,(ie|0)==1)f=p;else for(re=0,ne=-1,f=p,$=p;;){for(I=A[$>>2]|0,p=0,x=0;m=A[A[Qe+(x<<2)>>2]>>2]|0,(m|0)==(I|0)?F=p:F=p+((v_(m,A[Rt+(x<<2)>>2]|0,A[I>>2]|0)|0)&1)|0,x=x+1|0,(x|0)!=(ie|0);)p=F;if(m=(F|0)>(ne|0),f=m?$:f,p=re+1|0,(p|0)==(ie|0))break t;re=p,ne=m?F:ne,$=A[Qe+(p<<2)>>2]|0}else f=0}while(!1);if(zt(Qe),zt(Rt),f){if(m=f+4|0,p=A[m>>2]|0,p)f=p+8|0;else if(A[f>>2]|0){f1=70;break}A[f>>2]=Mt,A[m>>2]=Mt}else f1=73}if((f1|0)==73){if(f1=0,h=A[Mt>>2]|0,h|0)do Rt=h,h=A[h+16>>2]|0,zt(Rt);while(h|0);zt(Mt),h=1}if(e1=e1+1|0,(e1|0)>=(bt|0)){X1=h;break e}}(f1|0)==50?Ze(27452,27235,249,27471):(f1|0)==52?Ze(27490,27235,252,27471):(f1|0)==70&&Ze(27310,27235,61,27333)}else X1=0;while(!1);return zt(g1),zt(je),f1=X1,f1|0}return 0}function v_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(!(ku(h,f)|0)||(h=s_(h)|0,p=+k[f>>3],m=+k[f+8>>3],m=h&m<0?m+6.283185307179586:m,c=A[c>>2]|0,!c))return c=0,c|0;if(h){h=0,I=m,f=c;e:for(;;){for(;x=+k[f>>3],m=+k[f+8>>3],f=f+16|0,F=A[f>>2]|0,F=F|0?F:c,E=+k[F>>3],v=+k[F+8>>3],x>E?(T=x,x=v):(T=E,E=x,x=m,m=v),p=p==E|p==T?p+2220446049250313e-31:p,!!(p<E|p>T);)if(f=A[f>>2]|0,!f){f=22;break e}if(v=x<0?x+6.283185307179586:x,x=m<0?m+6.283185307179586:m,I=v==I|x==I?I+-2220446049250313e-31:I,T=v+(x-v)*((p-E)/(T-E)),(T<0?T+6.283185307179586:T)>I&&(h=h^1),f=A[f>>2]|0,!f){f=22;break}}if((f|0)==22)return h|0}else{h=0,I=m,f=c;e:for(;;){for(;x=+k[f>>3],m=+k[f+8>>3],f=f+16|0,F=A[f>>2]|0,F=F|0?F:c,E=+k[F>>3],v=+k[F+8>>3],x>E?(T=x,x=v):(T=E,E=x,x=m,m=v),p=p==E|p==T?p+2220446049250313e-31:p,!!(p<E|p>T);)if(f=A[f>>2]|0,!f){f=22;break e}if(I=x==I|m==I?I+-2220446049250313e-31:I,x+(m-x)*((p-E)/(T-E))>I&&(h=h^1),f=A[f>>2]|0,!f){f=22;break}}if((f|0)==22)return h|0}return 0}function I2(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0;if(Ee=V,V=V+32|0,ye=Ee+16|0,de=Ee,E=ze(c|0,h|0,52)|0,W()|0,E=E&15,ne=ze(f|0,p|0,52)|0,W()|0,(E|0)!=(ne&15|0))return ye=12,V=Ee,ye|0;if(I=ze(c|0,h|0,45)|0,W()|0,I=I&127,F=ze(f|0,p|0,45)|0,W()|0,F=F&127,I>>>0>121|F>>>0>121)return ye=5,V=Ee,ye|0;if(ne=(I|0)!=(F|0),ne){if(v=Vu(I,F)|0,(v|0)==7)return ye=1,V=Ee,ye|0;T=Vu(F,I)|0,(T|0)==7?Ze(27514,27538,161,27548):(ie=v,x=T)}else ie=0,x=0;
3846$=qn(I)|0,re=qn(F)|0,A[ye>>2]=0,A[ye+4>>2]=0,A[ye+8>>2]=0,A[ye+12>>2]=0;do if(ie){if(F=A[4272+(I*28|0)+(ie<<2)>>2]|0,v=(F|0)>0,re)if(v){I=0,T=f,v=p;do T=UP(T,v)|0,v=W()|0,x=f3(x)|0,(x|0)==1&&(x=f3(1)|0),I=I+1|0;while((I|0)!=(F|0));F=x,I=T,T=v}else F=x,I=f,T=p;else if(v){I=0,T=f,v=p;do T=Qu(T,v)|0,v=W()|0,x=f3(x)|0,I=I+1|0;while((I|0)!=(F|0));F=x,I=T,T=v}else F=x,I=f,T=p;if(ec(I,T,ye)|0,ne||Ze(27563,27538,191,27548),v=($|0)!=0,x=(re|0)!=0,v&x&&Ze(27590,27538,192,27548),v){if(x=cr(c,h)|0,(x|0)==7){E=5;break}if(Ve[22e3+(x*7|0)+ie>>0]|0){E=1;break}T=A[21168+(x*28|0)+(ie<<2)>>2]|0,I=T}else if(x){if(x=cr(I,T)|0,(x|0)==7){E=5;break}if(Ve[22e3+(x*7|0)+F>>0]|0){E=1;break}I=0,T=A[21168+(F*28|0)+(x<<2)>>2]|0}else I=0,T=0;if((I|T|0)<0)E=5;else{if((T|0)>0){v=ye+4|0,x=0;do y5(v),x=x+1|0;while((x|0)!=(T|0))}if(A[de>>2]=0,A[de+4>>2]=0,A[de+8>>2]=0,A_(de,ie),E|0)for(;Qr(E)|0?S5(de):as(de),(E|0)>1;)E=E+-1|0;if((I|0)>0){E=0;do y5(de),E=E+1|0;while((E|0)!=(I|0))}ue=ye+4|0,$i(ue,de,ue),Di(ue),ue=51}}else if(ec(f,p,ye)|0,($|0)!=0&(re|0)!=0)if((F|0)!=(I|0)&&Ze(27621,27538,261,27548),x=cr(c,h)|0,E=cr(f,p)|0,(x|0)==7|(E|0)==7)E=5;else if(Ve[22e3+(x*7|0)+E>>0]|0)E=1;else if(x=A[21168+(x*28|0)+(E<<2)>>2]|0,(x|0)>0){v=ye+4|0,E=0;do y5(v),E=E+1|0;while((E|0)!=(x|0));ue=51}else ue=51;else ue=51;while(!1);return(ue|0)==51&&(E=ye+4|0,A[m>>2]=A[E>>2],A[m+4>>2]=A[E+4>>2],A[m+8>>2]=A[E+8>>2],E=0),ye=E,V=Ee,ye|0}function O_(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0;if(ue=V,V=V+48|0,I=ue+36|0,x=ue+24|0,v=ue+12|0,T=ue,m=ze(c|0,h|0,52)|0,W()|0,m=m&15,re=ze(c|0,h|0,45)|0,W()|0,re=re&127,re>>>0>121)return p=5,V=ue,p|0;if(F=qn(re)|0,et(m|0,0,52)|0,de=W()|0|134225919,E=p,A[E>>2]=-1,A[E+4>>2]=de,!m)return m=x5(f)|0,(m|0)==7||(m=Gu(re,m)|0,(m|0)==127)?(de=1,V=ue,de|0):(ne=et(m|0,0,45)|0,ie=W()|0,re=p,ie=A[re+4>>2]&-1040385|ie,de=p,A[de>>2]=A[re>>2]|ne,A[de+4>>2]=ie,de=0,V=ue,de|0);for(A[I>>2]=A[f>>2],A[I+4>>2]=A[f+4>>2],A[I+8>>2]=A[f+8>>2],f=m;;){if(E=f,f=f+-1|0,A[x>>2]=A[I>>2],A[x+4>>2]=A[I+4>>2],A[x+8>>2]=A[I+8>>2],Qr(E)|0){if(m=dP(I)|0,m|0){f=13;break}A[v>>2]=A[I>>2],A[v+4>>2]=A[I+4>>2],A[v+8>>2]=A[I+8>>2],S5(v)}else{if(m=qP(I)|0,m|0){f=13;break}A[v>>2]=A[I>>2],A[v+4>>2]=A[I+4>>2],A[v+8>>2]=A[I+8>>2],as(v)}if(Wu(x,v,T),Di(T),m=p,Ee=A[m>>2]|0,m=A[m+4>>2]|0,_e=(15-E|0)*3|0,ye=et(7,0,_e|0)|0,m=m&~(W()|0),_e=et(x5(T)|0,0,_e|0)|0,m=W()|0|m,de=p,A[de>>2]=_e|Ee&~ye,A[de+4>>2]=m,(E|0)<=1){f=14;break}}e:do if((f|0)!=13&&(f|0)==14)if((A[I>>2]|0)<=1&&(A[I+4>>2]|0)<=1&&(A[I+8>>2]|0)<=1){f=x5(I)|0,m=Gu(re,f)|0,(m|0)==127?T=0:T=qn(m)|0;t:do if(f){if(F){if(m=cr(c,h)|0,(m|0)==7){m=5;break e}if(E=A[21376+(m*28|0)+(f<<2)>>2]|0,(E|0)>0){m=f,f=0;do m=os(m)|0,f=f+1|0;while((f|0)!=(E|0))}else m=f;if((m|0)==1){m=9;break e}f=Gu(re,m)|0,(f|0)==127&&Ze(27648,27538,411,27678),qn(f)|0?Ze(27693,27538,412,27678):(ie=f,ne=E,$=m)}else ie=m,ne=0,$=f;if(v=A[4272+(re*28|0)+($<<2)>>2]|0,(v|0)<=-1&&Ze(27724,27538,419,27678),!T){if((ne|0)<0){m=5;break e}if(ne|0){E=p,m=0,f=A[E>>2]|0,E=A[E+4>>2]|0;do f=ls(f,E)|0,E=W()|0,_e=p,A[_e>>2]=f,A[_e+4>>2]=E,m=m+1|0;while((m|0)<(ne|0))}if((v|0)<=0){m=ie,f=58;break}for(E=p,m=0,f=A[E>>2]|0,E=A[E+4>>2]|0;;)if(f=ls(f,E)|0,E=W()|0,_e=p,A[_e>>2]=f,A[_e+4>>2]=E,m=m+1|0,(m|0)==(v|0)){m=ie,f=58;break t}}if(x=Vu(ie,re)|0,(x|0)==7&&Ze(27514,27538,428,27678),m=p,f=A[m>>2]|0,m=A[m+4>>2]|0,(v|0)>0){E=0;do f=ls(f,m)|0,m=W()|0,_e=p,A[_e>>2]=f,A[_e+4>>2]=m,E=E+1|0;while((E|0)!=(v|0))}if(m=cr(f,m)|0,(m|0)==7&&Ze(27795,27538,440,27678),f=Fu(ie)|0,f=A[(f?21792:21584)+(x*28|0)+(m<<2)>>2]|0,(f|0)<0&&Ze(27795,27538,454,27678),!f)m=ie,f=58;else{x=p,m=0,E=A[x>>2]|0,x=A[x+4>>2]|0;do E=Zu(E,x)|0,x=W()|0,_e=p,A[_e>>2]=E,A[_e+4>>2]=x,m=m+1|0;while((m|0)<(f|0));m=ie,f=58}}else if((F|0)!=0&(T|0)!=0){if(f=cr(c,h)|0,E=p,E=cr(A[E>>2]|0,A[E+4>>2]|0)|0,(f|0)==7|(E|0)==7){m=5;break e}if(E=A[21376+(f*28|0)+(E<<2)>>2]|0,(E|0)<0){m=5;break e}if(!E)f=59;else{v=p,f=0,x=A[v>>2]|0,v=A[v+4>>2]|0;do x=ls(x,v)|0,v=W()|0,_e=p,A[_e>>2]=x,A[_e+4>>2]=v,f=f+1|0;while((f|0)<(E|0));f=58}}else f=58;while(!1);if((f|0)==58&&T&&(f=59),(f|0)==59&&(_e=p,(cr(A[_e>>2]|0,A[_e+4>>2]|0)|0)==1)){m=9;break}_e=p,ye=A[_e>>2]|0,_e=A[_e+4>>2]&-1040385,Ee=et(m|0,0,45)|0,_e=_e|(W()|0),m=p,A[m>>2]=ye|Ee,A[m+4>>2]=_e,m=0}else m=1;while(!1);return _e=m,V=ue,_e|0}function sL(c,h,f,p,m,E){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0;var x=0,v=0;return v=V,V=V+16|0,x=v,m?c=15:(c=I2(c,h,f,p,x)|0,c||(_P(x,E),c=0)),V=v,c|0}function aL(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0;return x=V,V=V+16|0,E=x,p?f=15:(f=mP(f,E)|0,f||(f=O_(c,h,E,m)|0)),V=x,f|0}function oL(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0;return T=V,V=V+32|0,x=T+12|0,v=T,E=I2(c,h,c,h,x)|0,E|0?(v=E,V=T,v|0):(c=I2(c,h,f,p,v)|0,c|0?(v=c,V=T,v|0):(x=Hu(x,v)|0,v=m,A[v>>2]=x,A[v+4>>2]=((x|0)<0)<<31>>31,v=0,V=T,v|0))}function lL(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0;return T=V,V=V+32|0,x=T+12|0,v=T,E=I2(c,h,c,h,x)|0,!E&&(E=I2(c,h,f,p,v)|0,!E)?(p=Hu(x,v)|0,p=Gt(p|0,((p|0)<0)<<31>>31|0,1,0)|0,x=W()|0,v=m,A[v>>2]=p,A[v+4>>2]=x,v=0,V=T,v|0):(v=E,V=T,v|0)}function uL(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0;if(Mt=V,V=V+48|0,Qe=Mt+24|0,x=Mt+12|0,Rt=Mt,E=I2(c,h,c,h,Qe)|0,!E&&(E=I2(c,h,f,p,x)|0,!E)){_e=Hu(Qe,x)|0,ce=((_e|0)<0)<<31>>31,A[Qe>>2]=0,A[Qe+4>>2]=0,A[Qe+8>>2]=0,A[x>>2]=0,A[x+4>>2]=0,A[x+8>>2]=0,I2(c,h,c,h,Qe)|0&&Ze(27795,27538,692,27747),I2(c,h,f,p,x)|0&&Ze(27795,27538,697,27747),q_(Qe),q_(x),F=_e|0?1/+(_e|0):0,f=A[Qe>>2]|0,ue=F*+((A[x>>2]|0)-f|0),de=Qe+4|0,p=A[de>>2]|0,ye=F*+((A[x+4>>2]|0)-p|0),Ee=Qe+8|0,E=A[Ee>>2]|0,F=F*+((A[x+8>>2]|0)-E|0),A[Rt>>2]=f,$=Rt+4|0,A[$>>2]=p,re=Rt+8|0,A[re>>2]=E;e:do if((_e|0)<0)E=0;else for(ne=0,ie=0;;){T=+(ie>>>0)+4294967296*+(ne|0),e1=ue*T+ +(f|0),v=ye*T+ +(p|0),T=F*T+ +(E|0),f=~~+R5(+e1),x=~~+R5(+v),E=~~+R5(+T),e1=+h1(+(+(f|0)-e1)),v=+h1(+(+(x|0)-v)),T=+h1(+(+(E|0)-T));do if(e1>v&e1>T)f=0-(x+E)|0,p=x;else if(I=0-f|0,v>T){p=I-E|0;break}else{p=x,E=I-x|0;break}while(!1);if(A[Rt>>2]=f,A[$>>2]=p,A[re>>2]=E,gP(Rt),E=O_(c,h,Rt,m+(ie<<3)|0)|0,E|0)break e;if(!((ne|0)<(ce|0)|(ne|0)==(ce|0)&ie>>>0<_e>>>0)){E=0;break e}f=Gt(ie|0,ne|0,1,0)|0,p=W()|0,ne=p,ie=f,f=A[Qe>>2]|0,p=A[de>>2]|0,E=A[Ee>>2]|0}while(!1);return Rt=E,V=Mt,Rt|0}return Rt=E,V=Mt,Rt|0}function d3(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0;if((f|0)==0&(p|0)==0)return m=0,E=1,ke(m|0),E|0;E=c,m=h,c=1,h=0;do x=(f&1|0)==0&!0,c=Ci((x?1:E)|0,(x?0:m)|0,c|0,h|0)|0,h=W()|0,f=F_(f|0,p|0,1)|0,p=W()|0,E=Ci(E|0,m|0,E|0,m|0)|0,m=W()|0;while(!((f|0)==0&(p|0)==0));return ke(h|0),c|0}function ac(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0;v=V,V=V+16|0,E=v,x=ze(c|0,h|0,52)|0,W()|0,x=x&15;do if(x){if(m=us(c,h,E)|0,!m){I=+k[E>>3],T=1/+L1(+I),F=+k[25968+(x<<3)>>3],k[f>>3]=I+F,k[f+8>>3]=I-F,I=+k[E+8>>3],T=F*T,k[f+16>>3]=T+I,k[f+24>>3]=I-T;break}return x=m,V=v,x|0}else{if(m=ze(c|0,h|0,45)|0,W()|0,m=m&127,m>>>0>121)return x=5,V=v,x|0;E=22064+(m<<5)|0,A[f>>2]=A[E>>2],A[f+4>>2]=A[E+4>>2],A[f+8>>2]=A[E+8>>2],A[f+12>>2]=A[E+12>>2],A[f+16>>2]=A[E+16>>2],A[f+20>>2]=A[E+20>>2],A[f+24>>2]=A[E+24>>2],A[f+28>>2]=A[E+28>>2];break}while(!1);return AP(f,p?1.4:1.1),p=26096+(x<<3)|0,(A[p>>2]|0)==(c|0)&&(A[p+4>>2]|0)==(h|0)&&(k[f>>3]=1.5707963267948966),x=26224+(x<<3)|0,(A[x>>2]|0)==(c|0)&&(A[x+4>>2]|0)==(h|0)&&(k[f+8>>3]=-1.5707963267948966),+k[f>>3]!=1.5707963267948966&&+k[f+8>>3]!=-1.5707963267948966?(x=0,V=v,x|0):(k[f+16>>3]=3.141592653589793,k[f+24>>3]=-3.141592653589793,x=0,V=v,x|0)}function cL(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0;I=V,V=V+48|0,x=I+32|0,E=I+40|0,v=I,ju(x,0,0,0),T=A[x>>2]|0,x=A[x+4>>2]|0;do if(f>>>0<=15){if(m=W4(p)|0,m|0){p=v,A[p>>2]=0,A[p+4>>2]=0,A[v+8>>2]=m,A[v+12>>2]=-1,p=v+16|0,T=v+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,Ve[p+12>>0]=0,Ve[T>>0]=Ve[E>>0]|0,Ve[T+1>
3846>0]=Ve[E+1>>0]|0,Ve[T+2>>0]=Ve[E+2>>0]|0;break}if(m=e0((A[h+8>>2]|0)+1|0,32)|0,m){oc(h,m),F=v,A[F>>2]=T,A[F+4>>2]=x,A[v+8>>2]=0,A[v+12>>2]=f,A[v+16>>2]=p,A[v+20>>2]=h,A[v+24>>2]=m,Ve[v+28>>0]=0,T=v+29|0,Ve[T>>0]=Ve[E>>0]|0,Ve[T+1>>0]=Ve[E+1>>0]|0,Ve[T+2>>0]=Ve[E+2>>0]|0;break}else{p=v,A[p>>2]=0,A[p+4>>2]=0,A[v+8>>2]=13,A[v+12>>2]=-1,p=v+16|0,T=v+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,Ve[p+12>>0]=0,Ve[T>>0]=Ve[E>>0]|0,Ve[T+1>>0]=Ve[E+1>>0]|0,Ve[T+2>>0]=Ve[E+2>>0]|0;break}}else T=v,A[T>>2]=0,A[T+4>>2]=0,A[v+8>>2]=4,A[v+12>>2]=-1,T=v+16|0,F=v+29|0,A[T>>2]=0,A[T+4>>2]=0,A[T+8>>2]=0,Ve[T+12>>0]=0,Ve[F>>0]=Ve[E>>0]|0,Ve[F+1>>0]=Ve[E+1>>0]|0,Ve[F+2>>0]=Ve[E+2>>0]|0;while(!1);v5(v),A[c>>2]=A[v>>2],A[c+4>>2]=A[v+4>>2],A[c+8>>2]=A[v+8>>2],A[c+12>>2]=A[v+12>>2],A[c+16>>2]=A[v+16>>2],A[c+20>>2]=A[v+20>>2],A[c+24>>2]=A[v+24>>2],A[c+28>>2]=A[v+28>>2],V=I}function v5(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0;if(ce=V,V=V+336|0,ne=ce+168|0,ie=ce,p=c,f=A[p>>2]|0,p=A[p+4>>2]|0,(f|0)==0&(p|0)==0){V=ce;return}if(h=c+28|0,Ve[h>>0]|0?(f=T_(f,p)|0,p=W()|0):Ve[h>>0]=1,_e=c+20|0,!(A[A[_e>>2]>>2]|0)){h=c+24|0,f=A[h>>2]|0,f|0&&zt(f),Ee=c,A[Ee>>2]=0,A[Ee+4>>2]=0,A[c+8>>2]=0,A[_e>>2]=0,A[c+12>>2]=-1,A[c+16>>2]=0,A[h>>2]=0,V=ce;return}Ee=c+16|0,h=A[Ee>>2]|0,m=h&15;e:do if((f|0)==0&(p|0)==0)ye=c+24|0;else{ue=c+12|0,$=(m|0)==3,F=h&255,T=(m|1|0)==3,re=c+24|0,I=(m+-1|0)>>>0<3,x=(m|2|0)==3,v=ie+8|0;t:for(;;){if(E=ze(f|0,p|0,52)|0,W()|0,E=E&15,(E|0)==(A[ue>>2]|0)){switch(F&15){case 0:case 2:case 3:{if(m=us(f,p,ne)|0,m|0){de=15;break t}if(lc(A[_e>>2]|0,A[re>>2]|0,ne)|0){de=19;break t}break}}if(T&&(m=A[(A[_e>>2]|0)+4>>2]|0,A[ne>>2]=A[m>>2],A[ne+4>>2]=A[m+4>>2],A[ne+8>>2]=A[m+8>>2],A[ne+12>>2]=A[m+12>>2],ku(26832,ne)|0)){if(Ju(A[(A[_e>>2]|0)+4>>2]|0,E,ie)|0){de=25;break}if(m=ie,(A[m>>2]|0)==(f|0)&&(A[m+4>>2]|0)==(p|0)){de=29;break}}if(I){if(m=Ta(f,p,ne)|0,m|0){de=32;break}if(ac(f,p,ie,0)|0){de=36;break}if(x&&b_(A[_e>>2]|0,A[re>>2]|0,ne,ie)|0){de=42;break}if(T&&I_(A[_e>>2]|0,A[re>>2]|0,ne,ie)|0){de=42;break}}if($){if(h=ac(f,p,ne,1)|0,m=A[re>>2]|0,h|0){de=45;break}if(zu(m,ne)|0){if(o_(ie,ne),a_(ne,A[re>>2]|0)|0){de=53;break}if(lc(A[_e>>2]|0,A[re>>2]|0,v)|0){de=53;break}if(I_(A[_e>>2]|0,A[re>>2]|0,ie,ne)|0){de=53;break}}}}do if((E|0)<(A[ue>>2]|0)){if(h=ac(f,p,ne,1)|0,m=A[re>>2]|0,h|0){de=58;break t}if(!(zu(m,ne)|0)){de=73;break}if(a_(A[re>>2]|0,ne)|0&&(o_(ie,ne),b_(A[_e>>2]|0,A[re>>2]|0,ie,ne)|0)){de=65;break t}if(f=E_(f,p,E+1|0,ie)|0,f|0){de=67;break t}p=ie,f=A[p>>2]|0,p=A[p+4>>2]|0}else de=73;while(!1);if((de|0)==73&&(de=0,f=T_(f,p)|0,p=W()|0),(f|0)==0&(p|0)==0){ye=re;break e}}switch(de|0){case 15:{h=A[re>>2]|0,h|0&&zt(h),de=c,A[de>>2]=0,A[de+4>>2]=0,A[_e>>2]=0,A[ue>>2]=-1,A[Ee>>2]=0,A[re>>2]=0,A[c+8>>2]=m,de=20;break}case 19:{A[c>>2]=f,A[c+4>>2]=p,de=20;break}case 25:{Ze(27795,27761,470,27772);break}case 29:{A[c>>2]=f,A[c+4>>2]=p,V=ce;return}case 32:{h=A[re>>2]|0,h|0&&zt(h),ye=c,A[ye>>2]=0,A[ye+4>>2]=0,A[_e>>2]=0,A[ue>>2]=-1,A[Ee>>2]=0,A[re>>2]=0,A[c+8>>2]=m,V=ce;return}case 36:{Ze(27795,27761,493,27772);break}case 42:{A[c>>2]=f,A[c+4>>2]=p,V=ce;return}case 45:{m|0&&zt(m),de=c,A[de>>2]=0,A[de+4>>2]=0,A[_e>>2]=0,A[ue>>2]=-1,A[Ee>>2]=0,A[re>>2]=0,A[c+8>>2]=h,de=55;break}case 53:{A[c>>2]=f,A[c+4>>2]=p,de=55;break}case 58:{m|0&&zt(m),de=c,A[de>>2]=0,A[de+4>>2]=0,A[_e>>2]=0,A[ue>>2]=-1,A[Ee>>2]=0,A[re>>2]=0,A[c+8>>2]=h,de=71;break}case 65:{A[c>>2]=f,A[c+4>>2]=p,de=71;break}case 67:{h=A[re>>2]|0,h|0&&zt(h),ye=c,A[ye>>2]=0,A[ye+4>>2]=0,A[_e>>2]=0,A[ue>>2]=-1,A[Ee>>2]=0,A[re>>2]=0,A[c+8>>2]=f,V=ce;return}}if((de|0)==20){V=ce;return}else if((de|0)==55){V=ce;return}else if((de|0)==71){V=ce;return}}while(!1);h=A[ye>>2]|0,h|0&&zt(h),de=c,A[de>>2]=0,A[de+4>>2]=0,A[c+8>>2]=0,A[_e>>2]=0,A[c+12>>2]=-1,A[Ee>>2]=0,A[ye>>2]=0,V=ce}function T_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0;$=V,V=V+16|0,F=$,p=ze(c|0,h|0,52)|0,W()|0,p=p&15,f=ze(c|0,h|0,45)|0,W()|0;do if(p){for(;f=et(p+4095|0,0,52)|0,m=W()|0|h&-15728641,E=(15-p|0)*3|0,x=et(7,0,E|0)|0,v=W()|0,f=f|c|x,m=m|v,T=ze(c|0,h|0,E|0)|0,W()|0,T=T&7,p=p+-1|0,!(T>>>0<6);)if(p)h=m,c=f;else{I=4;break}if((I|0)==4){f=ze(f|0,m|0,45)|0,W()|0;break}return F=(T|0)==0&(nn(f,m)|0)!=0,F=et((F?2:1)+T|0,0,E|0)|0,I=W()|0|h&~v,F=F|c&~x,ke(I|0),V=$,F|0}while(!1);return f=f&127,f>>>0>120?(I=0,F=0,ke(I|0),V=$,F|0):(ju(F,0,f+1|0,0),I=A[F+4>>2]|0,F=A[F>>2]|0,ke(I|0),V=$,F|0)}function AL(c,h,f,p,m,E){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0,E=E|0;var x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0;de=V,V=V+160|0,$=de+80|0,v=de+64|0,re=de+112|0,ue=de,cL($,c,h,f),I=$,nc(v,A[I>>2]|0,A[I+4>>2]|0,h),I=v,T=A[I>>2]|0,I=A[I+4>>2]|0,x=A[$+8>>2]|0,ne=re+4|0,A[ne>>2]=A[$>>2],A[ne+4>>2]=A[$+4>>2],A[ne+8>>2]=A[$+8>>2],A[ne+12>>2]=A[$+12>>2],A[ne+16>>2]=A[$+16>>2],A[ne+20>>2]=A[$+20>>2],A[ne+24>>2]=A[$+24>>2],A[ne+28>>2]=A[$+28>>2],ne=ue,A[ne>>2]=T,A[ne+4>>2]=I,ne=ue+8|0,A[ne>>2]=x,c=ue+12|0,h=re,f=c+36|0;do A[c>>2]=A[h>>2],c=c+4|0,h=h+4|0;while((c|0)<(f|0));if(re=ue+48|0,A[re>>2]=A[v>>2],A[re+4>>2]=A[v+4>>2],A[re+8>>2]=A[v+8>>2],A[re+12>>2]=A[v+12>>2],(T|0)==0&(I|0)==0)return ue=x,V=de,ue|0;f=ue+16|0,F=ue+24|0,$=ue+28|0,x=0,v=0,h=T,c=I;do{if(!((x|0)<(m|0)|(x|0)==(m|0)&v>>>0<p>>>0)){ie=4;break}if(I=v,v=Gt(v|0,x|0,1,0)|0,x=W()|0,I=E+(I<<3)|0,A[I>>2]=h,A[I+4>>2]=c,ic(re),c=re,h=A[c>>2]|0,c=A[c+4>>2]|0,(h|0)==0&(c|0)==0){if(v5(f),h=f,c=A[h>>2]|0,h=A[h+4>>2]|0,(c|0)==0&(h|0)==0){ie=10;break}x_(c,h,A[$>>2]|0,re),c=re,h=A[c>>2]|0,c=A[c+4>>2]|0}I=ue,A[I>>2]=h,A[I+4>>2]=c}while(!((h|0)==0&(c|0)==0));return(ie|0)==4?(c=ue+40|0,h=A[c>>2]|0,h|0&&zt(h),ie=ue+16|0,A[ie>>2]=0,A[ie+4>>2]=0,A[F>>2]=0,A[ue+36>>2]=0,A[$>>2]=-1,A[ue+32>>2]=0,A[c>>2]=0,x_(0,0,0,re),A[ue>>2]=0,A[ue+4>>2]=0,A[ne>>2]=0,ue=14,V=de,ue|0):((ie|0)==10&&(A[ue>>2]=0,A[ue+4>>2]=0,A[ne>>2]=A[F>>2]),ue=A[ne>>2]|0,V=de,ue|0)}function hL(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0;if($=V,V=V+48|0,T=$+32|0,v=$+40|0,I=$,!(A[c>>2]|0))return F=p,A[F>>2]=0,A[F+4>>2]=0,F=0,V=$,F|0;ju(T,0,0,0),x=T,m=A[x>>2]|0,x=A[x+4>>2]|0;do if(h>>>0>15)F=I,A[F>>2]=0,A[F+4>>2]=0,A[I+8>>2]=4,A[I+12>>2]=-1,F=I+16|0,f=I+29|0,A[F>>2]=0,A[F+4>>2]=0,A[F+8>>2]=0,Ve[F+12>>0]=0,Ve[f>>0]=Ve[v>>0]|0,Ve[f+1>>0]=Ve[v+1>>0]|0,Ve[f+2>>0]=Ve[v+2>>0]|0,f=4,F=9;else{if(f=W4(f)|0,f|0){T=I,A[T>>2]=0,A[T+4>>2]=0,A[I+8>>2]=f,A[I+12>>2]=-1,T=I+16|0,F=I+29|0,A[T>>2]=0,A[T+4>>2]=0,A[T+8>>2]=0,Ve[T+12>>0]=0,Ve[F>>0]=Ve[v>>0]|0,Ve[F+1>>0]=Ve[v+1>>0]|0,Ve[F+2>>0]=Ve[v+2>>0]|0,F=9;break}if(f=e0((A[c+8>>2]|0)+1|0,32)|0,!f){F=I,A[F>>2]=0,A[F+4>>2]=0,A[I+8>>2]=13,A[I+12>>2]=-1,F=I+16|0,f=I+29|0,A[F>>2]=0,A[F+4>>2]=0,A[F+8>>2]=0,Ve[F+12>>0]=0,Ve[f>>0]=Ve[v>>0]|0,Ve[f+1>>0]=Ve[v+1>>0]|0,Ve[f+2>>0]=Ve[v+2>>0]|0,f=13,F=9;break}oc(c,f),ne=I,A[ne>>2]=m,A[ne+4>>2]=x,x=I+8|0,A[x>>2]=0,A[I+12>>2]=h,A[I+20>>2]=c,A[I+24>>2]=f,Ve[I+28>>0]=0,m=I+29|0,Ve[m>>0]=Ve[v>>0]|0,Ve[m+1>>0]=Ve[v+1>>0]|0,Ve[m+2>>0]=Ve[v+2>>0]|0,A[I+16>>2]=3,re=+lP(f),re=re*+oP(f),E=+h1(+ +k[f>>3]),E=re/+L1(+ +T5(+E,+ +h1(+ +k[f+8>>3])))*6371.007180918475*6371.007180918475,m=I+12|0,f=A[m>>2]|0;e:do if((f|0)>0)do{if(S_(f+-1|0,T)|0,!(E/+k[T>>3]>10))break e;ne=A[m>>2]|0,f=ne+-1|0,A[m>>2]=f}while((ne|0)>1);while(!1);if(v5(I),m=p,A[m>>2]=0,A[m+4>>2]=0,m=I,f=A[m>>2]|0,m=A[m+4>>2]|0,!((f|0)==0&(m|0)==0))do G4(f,m,h,T)|0,v=T,c=p,v=Gt(A[c>>2]|0,A[c+4>>2]|0,A[v>>2]|0,A[v+4>>2]|0)|0,c=W()|0,ne=p,A[ne>>2]=v,A[ne+4>>2]=c,v5(I),ne=I,f=A[ne>>2]|0,m=A[ne+4>>2]|0;while(!((f|0)==0&(m|0)==0));f=A[x>>2]|0}while(!1);return ne=f,V=$,ne|0}function z4(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0;if(!(ku(h,f)|0)||(h=s_(h)|0,p=+k[f>>3],m=+k[f+8>>3],m=h&m<0?m+6.283185307179586:m,re=A[c>>2]|0,(re|0)<=0))return re=0,re|0;if($=A[c+4>>2]|0,h){h=0,F=m,f=-1,c=0;e:for(;;){for(I=c;x=+k[$+(I<<4)>>3],m=+k[$+(I<<4)+8>>3],c=(f+2|0)%(re|0)|0,E=+k[$+(c<<4)>>3],v=+k[$+(c<<4)+8>>3],x>E?(T=x,x=v):(T=E,E=x,x=m,m=v),p=p==E|p==T?p+2220446049250313e-31:p,!!(p<E|p>T);)if(f=I+1|0,(f|0)>=(re|0)){f=22;break e}else c=I,I=f,f=c;if(v=x<0?x+6.283185307179586:x,x=m<0?m+6.283185307179586:m,F=v==F|x==F?F+-2220446049250313e-31:F,T=v+(x-v)*((p-E)/(T-E)),(T<0?T+6.283185307179586:T)>F&&(h=h^1),c=I+1|0,(c|0)>=(re|0)){f=22;break}else f=I}if((f|0)==22)return h|0}else{h=0,F=m,f=-1,c=0;e:for(;;){for(I=c;x=+k[$+(I<<4)>>3],m=+k[$+(I<<4)+8>>3],c=(f+2|0)%(re|0)|0,E=+k[$+(c<<4)>>3],v=+k[$+(c<<4)+8>>3],x>E?(T=x,x=v):(T=E,E=x,x=m,m=v),p=p==E|p==T?p+2220446049250313e-31:p,!!(p<E|p>T);)if(f=I+1|0,(f|0)>=(re|0)){f=22;break e}else c=I,I=f,f=c;if(F=x==F|m==F?F+-2220446049250313e-31:F,x+(m-x)*((p-E)/(T-E))>F&&(h=h^1),c=I+1|0,(c|0)>=(re|0)){f=22;break}else f=I}if((f|0)==22)return h|0}return 0}function R_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0;if(ie=A[c>>2]|0,!ie){A[h>>2]=0,A[h+4>>2]=0,A[h+8>>2]=0,A[h+12>>2]=0,A[h+16>>2]=0,A[h+20>>2]=0,A[h+24>>2]=0,A[h+28>>2]=0;return}if(ue=h+8|0,k[ue>>3]=17976931348623157e292,de=h+24|0,k[de>>3]=17976931348623157e292,k[h>>
38463]=-17976931348623157e292,ye=h+16|0,k[ye>>3]=-17976931348623157e292,!((ie|0)<=0)){for(re=A[c+4>>2]|0,I=17976931348623157e292,F=-17976931348623157e292,$=0,c=-1,E=17976931348623157e292,x=17976931348623157e292,T=-17976931348623157e292,p=-17976931348623157e292,ne=0;f=+k[re+(ne<<4)>>3],v=+k[re+(ne<<4)+8>>3],c=c+2|0,m=+k[re+(((c|0)==(ie|0)?0:c)<<4)+8>>3],f<E&&(k[ue>>3]=f,E=f),v<x&&(k[de>>3]=v,x=v),f>T?k[h>>3]=f:f=T,v>p&&(k[ye>>3]=v,p=v),I=v>0&v<I?v:I,F=v<0&v>F?v:F,$=$|+h1(+(v-m))>3.141592653589793,c=ne+1|0,(c|0)!=(ie|0);)Ee=ne,T=f,ne=c,c=Ee;$&&(k[ye>>3]=F,k[de>>3]=I)}}function W4(c){return c=c|0,(c>>>0<4?0:15)|0}function oc(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0;if(ie=A[c>>2]|0,ie){if(ue=h+8|0,k[ue>>3]=17976931348623157e292,de=h+24|0,k[de>>3]=17976931348623157e292,k[h>>3]=-17976931348623157e292,ye=h+16|0,k[ye>>3]=-17976931348623157e292,(ie|0)>0){for(m=A[c+4>>2]|0,re=17976931348623157e292,ne=-17976931348623157e292,p=0,f=-1,T=17976931348623157e292,I=17976931348623157e292,$=-17976931348623157e292,x=-17976931348623157e292,Ee=0;E=+k[m+(Ee<<4)>>3],F=+k[m+(Ee<<4)+8>>3],Rt=f+2|0,v=+k[m+(((Rt|0)==(ie|0)?0:Rt)<<4)+8>>3],E<T&&(k[ue>>3]=E,T=E),F<I&&(k[de>>3]=F,I=F),E>$?k[h>>3]=E:E=$,F>x&&(k[ye>>3]=F,x=F),re=F>0&F<re?F:re,ne=F<0&F>ne?F:ne,p=p|+h1(+(F-v))>3.141592653589793,f=Ee+1|0,(f|0)!=(ie|0);)Rt=Ee,$=E,Ee=f,f=Rt;p&&(k[ye>>3]=ne,k[de>>3]=re)}}else A[h>>2]=0,A[h+4>>2]=0,A[h+8>>2]=0,A[h+12>>2]=0,A[h+16>>2]=0,A[h+20>>2]=0,A[h+24>>2]=0,A[h+28>>2]=0;if(Rt=c+8|0,f=A[Rt>>2]|0,!((f|0)<=0)){Qe=c+12|0,ce=0;do if(m=A[Qe>>2]|0,p=ce,ce=ce+1|0,de=h+(ce<<5)|0,ye=A[m+(p<<3)>>2]|0,ye){if(Ee=h+(ce<<5)+8|0,k[Ee>>3]=17976931348623157e292,c=h+(ce<<5)+24|0,k[c>>3]=17976931348623157e292,k[de>>3]=-17976931348623157e292,_e=h+(ce<<5)+16|0,k[_e>>3]=-17976931348623157e292,(ye|0)>0){for(ie=A[m+(p<<3)+4>>2]|0,re=17976931348623157e292,ne=-17976931348623157e292,m=0,p=-1,ue=0,T=17976931348623157e292,I=17976931348623157e292,F=-17976931348623157e292,x=-17976931348623157e292;E=+k[ie+(ue<<4)>>3],$=+k[ie+(ue<<4)+8>>3],p=p+2|0,v=+k[ie+(((p|0)==(ye|0)?0:p)<<4)+8>>3],E<T&&(k[Ee>>3]=E,T=E),$<I&&(k[c>>3]=$,I=$),E>F?k[de>>3]=E:E=F,$>x&&(k[_e>>3]=$,x=$),re=$>0&$<re?$:re,ne=$<0&$>ne?$:ne,m=m|+h1(+($-v))>3.141592653589793,p=ue+1|0,(p|0)!=(ye|0);)Mt=ue,ue=p,F=E,p=Mt;m&&(k[_e>>3]=ne,k[c>>3]=re)}}else A[de>>2]=0,A[de+4>>2]=0,A[de+8>>2]=0,A[de+12>>2]=0,A[de+16>>2]=0,A[de+20>>2]=0,A[de+24>>2]=0,A[de+28>>2]=0,f=A[Rt>>2]|0;while((ce|0)<(f|0))}}function lc(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;if(!(z4(c,h,f)|0))return m=0,m|0;if(m=c+8|0,(A[m>>2]|0)<=0)return m=1,m|0;for(p=c+12|0,c=0;;){if(E=c,c=c+1|0,z4((A[p>>2]|0)+(E<<3)|0,h+(c<<5)|0,f)|0){c=0,p=6;break}if((c|0)>=(A[m>>2]|0)){c=1,p=6;break}}return(p|0)==6?c|0:0}function b_(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0;if(I=V,V=V+16|0,v=I,x=f+8|0,!(z4(c,h,x)|0))return T=0,V=I,T|0;T=c+8|0;e:do if((A[T>>2]|0)>0){for(E=c+12|0,m=0;;){if(F=m,m=m+1|0,z4((A[E>>2]|0)+(F<<3)|0,h+(m<<5)|0,x)|0){m=0;break}if((m|0)>=(A[T>>2]|0))break e}return V=I,m|0}while(!1);if(O5(c,h,f,p)|0)return F=0,V=I,F|0;A[v>>2]=A[f>>2],A[v+4>>2]=x,m=A[T>>2]|0;e:do if((m|0)>0)for(c=c+12|0,x=0,E=m;;){if(m=A[c>>2]|0,(A[m+(x<<3)>>2]|0)>0){if(z4(v,p,A[m+(x<<3)+4>>2]|0)|0){m=0;break e}if(m=x+1|0,O5((A[c>>2]|0)+(x<<3)|0,h+(m<<5)|0,f,p)|0){m=0;break e}E=A[T>>2]|0}else m=x+1|0;if((m|0)<(E|0))x=m;else{m=1;break}}else m=1;while(!1);return F=m,V=I,F|0}function O5(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0,Rt=0,Mt=0,e1=0;if(Rt=V,V=V+176|0,Ee=Rt+172|0,m=Rt+168|0,_e=Rt,!(zu(h,p)|0))return c=0,V=Rt,c|0;if(uP(h,p,Ee,m),Pa(_e|0,f|0,168)|0,(A[f>>2]|0)>0){h=0;do Mt=_e+8+(h<<4)+8|0,ye=+Pr(+k[Mt>>3],A[m>>2]|0),k[Mt>>3]=ye,h=h+1|0;while((h|0)<(A[f>>2]|0))}ue=+k[p>>3],de=+k[p+8>>3],ye=+Pr(+k[p+16>>3],A[m>>2]|0),ne=+Pr(+k[p+24>>3],A[m>>2]|0);e:do if((A[c>>2]|0)>0){if(p=c+4|0,m=A[_e>>2]|0,(m|0)<=0){for(h=0;;)if(h=h+1|0,(h|0)>=(A[c>>2]|0)){h=0;break e}}for(f=0;;){if(h=A[p>>2]|0,re=+k[h+(f<<4)>>3],ie=+Pr(+k[h+(f<<4)+8>>3],A[Ee>>2]|0),h=A[p>>2]|0,f=f+1|0,Mt=(f|0)%(A[c>>2]|0)|0,E=+k[h+(Mt<<4)>>3],x=+Pr(+k[h+(Mt<<4)+8>>3],A[Ee>>2]|0),!(re>=ue)|!(E>=ue)&&!(re<=de)|!(E<=de)&&!(ie<=ne)|!(x<=ne)&&!(ie>=ye)|!(x>=ye)){$=E-re,I=x-ie,h=0;do if(e1=h,h=h+1|0,Mt=(h|0)==(m|0)?0:h,E=+k[_e+8+(e1<<4)+8>>3],x=+k[_e+8+(Mt<<4)+8>>3]-E,v=+k[_e+8+(e1<<4)>>3],T=+k[_e+8+(Mt<<4)>>3]-v,F=$*x-I*T,F!=0&&(ce=ie-E,Qe=re-v,T=(ce*T-x*Qe)/F,!(T<0|T>1))&&(F=($*ce-I*Qe)/F,F>=0&F<=1)){h=1;break e}while((h|0)<(m|0))}if((f|0)>=(A[c>>2]|0)){h=0;break}}}else h=0;while(!1);return e1=h,V=Rt,e1|0}function I_(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0;if(O5(c,h,f,p)|0)return E=1,E|0;if(E=c+8|0,(A[E>>2]|0)<=0)return E=0,E|0;for(m=c+12|0,c=0;;){if(x=c,c=c+1|0,O5((A[m>>2]|0)+(x<<3)|0,h+(c<<5)|0,f,p)|0){c=1,m=6;break}if((c|0)>=(A[E>>2]|0)){c=0,m=6;break}}return(m|0)==6?c|0:0}
3846function fL(){return 8}function dL(){return 16}function qL(){return 168}function pL(){return 8}function _L(){return 16}function mL(){return 12}function gL(){return 8}function EL(c){return c=c|0,+(+((A[c>>2]|0)>>>0)+4294967296*+(A[c+4>>2]|0))}function ML(c){c=c|0;var h=0,f=0;return f=+k[c>>3],h=+k[c+8>>3],+ +T1(+(f*f+h*h))}function P_(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0;I=+k[c>>3],T=+k[h>>3]-I,v=+k[c+8>>3],x=+k[h+8>>3]-v,$=+k[f>>3],E=+k[p>>3]-$,re=+k[f+8>>3],F=+k[p+8>>3]-re,E=(E*(v-re)-(I-$)*F)/(T*F-x*E),k[m>>3]=I+T*E,k[m+8>>3]=v+x*E}function L_(c,h){return c=c|0,h=h|0,+h1(+(+k[c>>3]-+k[h>>3]))<11920928955078125e-23?(h=+h1(+(+k[c+8>>3]-+k[h+8>>3]))<11920928955078125e-23,h|0):(h=0,h|0)}function $n(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;return m=+k[c>>3]-+k[h>>3],p=+k[c+8>>3]-+k[h+8>>3],f=+k[c+16>>3]-+k[h+16>>3],+(m*m+p*p+f*f)}function xL(c,h){c=c|0,h=h|0;var f=0,p=0,m=0;f=+k[c>>3],p=+L1(+f),f=+_1(+f),k[h+16>>3]=f,f=+k[c+8>>3],m=p*+L1(+f),k[h>>3]=m,f=p*+_1(+f),k[h+8>>3]=f}function SL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;if(E=V,V=V+16|0,m=E,p=nn(c,h)|0,(f+-1|0)>>>0>5||(p=(p|0)!=0,(f|0)==1&p))return m=-1,V=E,m|0;do if(H4(c,h,m)|0)p=-1;else if(p){p=((A[26352+(f<<2)>>2]|0)+5-(A[m>>2]|0)|0)%5|0;break}else{p=((A[26384+(f<<2)>>2]|0)+6-(A[m>>2]|0)|0)%6|0;break}while(!1);return m=p,V=E,m|0}function H4(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0,I=0;if(I=V,V=V+32|0,x=I+16|0,v=I,p=Oa(c,h,x)|0,p|0)return f=p,V=I,f|0;E=m_(c,h)|0,T=cr(c,h)|0,iP(E,v),p=rP(E,A[x>>2]|0)|0;e:do if(qn(E)|0){do switch(E|0){case 4:{c=0;break}case 14:{c=1;break}case 24:{c=2;break}case 38:{c=3;break}case 49:{c=4;break}case 58:{c=5;break}case 63:{c=6;break}case 72:{c=7;break}case 83:{c=8;break}case 97:{c=9;break}case 107:{c=10;break}case 117:{c=11;break}default:{p=1;break e}}while(!1);if(m=A[26416+(c*24|0)+8>>2]|0,h=A[26416+(c*24|0)+16>>2]|0,c=A[x>>2]|0,(c|0)!=(A[v>>2]|0)&&(v=Fu(E)|0,c=A[x>>2]|0,v|(c|0)==(h|0)&&(p=(p+1|0)%6|0)),(T|0)==3&(c|0)==(h|0)){p=(p+5|0)%6|0,m=22;break}(T|0)==5&(c|0)==(m|0)&&(p=(p+1|0)%6|0),m=22}else m=22;while(!1);return(m|0)==22&&(A[f>>2]=p,p=0),f=p,V=I,f|0}function Jr(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0;if(_e=V,V=V+32|0,Ee=_e+24|0,de=_e+20|0,ie=_e+8|0,ne=_e+16|0,re=_e,T=(nn(c,h)|0)==0,T=T?6:5,F=ze(c|0,h|0,52)|0,W()|0,F=F&15,T>>>0<=f>>>0)return p=2,V=_e,p|0;$=(F|0)==0,!$&&(ue=et(7,0,(F^15)*3|0)|0,(ue&c|0)==0&((W()|0)&h|0)==0)?m=f:E=4;e:do if((E|0)==4){if(m=(nn(c,h)|0)!=0,((m?4:5)|0)<(f|0)||H4(c,h,Ee)|0||(E=(A[Ee>>2]|0)+f|0,m?m=26704+(((E|0)%5|0)<<2)|0:m=26736+(((E|0)%6|0)<<2)|0,ue=A[m>>2]|0,(ue|0)==7))return p=1,V=_e,p|0;A[de>>2]=0,m=k1(c,h,ue,de,ie)|0;do if(!m){if(v=ie,I=A[v>>2]|0,v=A[v+4>>2]|0,x=v>>>0<h>>>0|(v|0)==(h|0)&I>>>0<c>>>0,E=x?I:c,x=x?v:h,!$&&($=et(7,0,(F^15)*3|0)|0,(I&$|0)==0&(v&(W()|0)|0)==0))m=f;else{if(v=(f+-1+T|0)%(T|0)|0,m=nn(c,h)|0,(v|0)<0&&Ze(27795,27797,246,27806),T=(m|0)!=0,((T?4:5)|0)<(v|0)&&Ze(27795,27797,246,27806),H4(c,h,Ee)|0&&Ze(27795,27797,246,27806),m=(A[Ee>>2]|0)+v|0,T?m=26704+(((m|0)%5|0)<<2)|0:m=26736+(((m|0)%6|0)<<2)|0,v=A[m>>2]|0,(v|0)==7&&Ze(27795,27797,246,27806),A[ne>>2]=0,m=k1(c,h,v,ne,re)|0,m|0)break;I=re,T=A[I>>2]|0,I=A[I+4>>2]|0;do if(I>>>0<x>>>0|(I|0)==(x|0)&T>>>0<E>>>0){if(nn(T,I)|0?E=si(T,I,c,h)|0:E=A[26800+((((A[ne>>2]|0)+(A[26768+(v<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,m=nn(T,I)|0,(E+-1|0)>>>0>5){m=-1,E=T,x=I;break}if(m=(m|0)!=0,(E|0)==1&m){m=-1,E=T,x=I;break}do if(H4(T,I,Ee)|0)m=-1;else if(m){m=((A[26352+(E<<2)>>2]|0)+5-(A[Ee>>2]|0)|0)%5|0;break}else{m=((A[26384+(E<<2)>>2]|0)+6-(A[Ee>>2]|0)|0)%6|0;break}while(!1);E=T,x=I}else m=f;while(!1);v=ie,I=A[v>>2]|0,v=A[v+4>>2]|0}if((E|0)==(I|0)&(x|0)==(v|0)){if(T=(nn(I,v)|0)!=0,T?c=si(I,v,c,h)|0:c=A[26800+((((A[de>>2]|0)+(A[26768+(ue<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,m=nn(I,v)|0,(c+-1|0)>>>0<=5&&(ye=(m|0)!=0,!((c|0)==1&ye)))do if(H4(I,v,Ee)|0)m=-1;else if(ye){m=((A[26352+(c<<2)>>2]|0)+5-(A[Ee>>2]|0)|0)%5|0;break}else{m=((A[26384+(c<<2)>>2]|0)+6-(A[Ee>>2]|0)|0)%6|0;break}while(!1);else m=-1;m=m+1|0,m=(m|0)==6|T&(m|0)==5?0:m}h=x,c=E;break e}while(!1);return p=m,V=_e,p|0}while(!1);return ye=et(m|0,0,56)|0,Ee=W()|0|h&-2130706433|536870912,A[p>>2]=ye|c,A[p+4>>2]=Ee,p=0,V=_e,p|0}function yL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;return E=(nn(c,h)|0)==0,p=Jr(c,h,0,f)|0,m=(p|0)==0,E?!m||(p=Jr(c,h,1,f+8|0)|0,p|0)||(p=Jr(c,h,2,f+16|0)|0,p|0)||(p=Jr(c,h,3,f+24|0)|0,p|0)||(p=Jr(c,h,4,f+32|0)|0,p)?(E=p,E|0):Jr(c,h,5,f+40|0)|0:!m||(p=Jr(c,h,1,f+8|0)|0,p|0)||(p=Jr(c,h,2,f+16|0)|0,p|0)||(p=Jr(c,h,3,f+24|0)|0,p|0)||(p=Jr(c,h,4,f+32|0)|0,p|0)?(E=p,E|0):(E=f+40|0,A[E>>2]=0,A[E+4>>2]=0,E=0,E|0)}function NL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0,v=0,T=0;return T=V,V=V+192|0,m=T,E=T+168|0,x=ze(c|0,h|0,56)|0,W()|0,x=x&7,v=h&-2130706433|134217728,p=Oa(c,v,E)|0,p|0?(v=p,V=T,v|0):(h=ze(c|0,h|0,52)|0,W()|0,h=h&15,nn(c,v)|0?Ku(E,h,x,1,m):Yu(E,h,x,1,m),v=m+8|0,A[f>>2]=A[v>>2],A[f+4>>2]=A[v+4>>2],A[f+8>>2]=A[v+8>>2],A[f+12>>2]=A[v+12>>2],v=0,V=T,v|0)}function vL(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;return m=V,V=V+16|0,f=m,!(!0&(h&2013265920|0)==536870912)||(p=h&-2130706433|134217728,!($u(c,p)|0))?(p=0,V=m,p|0):(E=ze(c|0,h|0,56)|0,W()|0,E=(Jr(c,p,E&7,f)|0)==0,p=f,p=E&((A[p>>2]|0)==(c|0)?(A[p+4>>2]|0)==(h|0):0)&1,V=m,p|0)}function D_(c,h,f){c=c|0,h=h|0,f=f|0;var p=0;(h|0)>0?(p=e0(h,4)|0,A[c>>2]=p,p||Ze(27819,27842,40,27856)):A[c>>2]=0,A[c+4>>2]=h,A[c+8>>2]=0,A[c+12>>2]=f}function C_(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0;m=c+4|0,E=c+12|0,x=c+8|0;e:for(;;){for(f=A[m>>2]|0,h=0;;){if((h|0)>=(f|0))break e;if(p=A[c>>2]|0,v=A[p+(h<<2)>>2]|0,!v)h=h+1|0;else break}h=p+(~~(+h1(+(+z0(10,+ +(15-(A[E>>2]|0)|0))*(+k[v>>3]+ +k[v+8>>3])))%+(f|0))>>>0<<2)|0,f=A[h>>2]|0;t:do if(f|0){if(p=v+32|0,(f|0)==(v|0))A[h>>2]=A[p>>2];else{if(f=f+32|0,h=A[f>>2]|0,!h)break;for(;(h|0)!=(v|0);)if(f=h+32|0,h=A[f>>2]|0,!h)break t;A[f>>2]=A[p>>2]}zt(v),A[x>>2]=(A[x>>2]|0)+-1}while(!1)}zt(A[c>>2]|0)}function w_(c){c=c|0;var h=0,f=0,p=0;for(p=A[c+4>>2]|0,f=0;;){if((f|0)>=(p|0)){h=0,f=4;break}if(h=A[(A[c>>2]|0)+(f<<2)>>2]|0,!h)f=f+1|0;else{f=4;break}}return(f|0)==4?h|0:0}function B_(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;if(f=~~(+h1(+(+z0(10,+ +(15-(A[c+12>>
38462]|0)|0))*(+k[h>>3]+ +k[h+8>>3])))%+(A[c+4>>2]|0))>>>0,f=(A[c>>2]|0)+(f<<2)|0,p=A[f>>2]|0,!p)return E=1,E|0;E=h+32|0;do if((p|0)!=(h|0)){if(f=A[p+32>>2]|0,!f)return E=1,E|0;for(m=f;;){if((m|0)==(h|0)){m=8;break}if(f=A[m+32>>2]|0,f)p=m,m=f;else{f=1,m=10;break}}if((m|0)==8){A[p+32>>2]=A[E>>2];break}else if((m|0)==10)return f|0}else A[f>>2]=A[E>>2];while(!1);return zt(h),E=c+8|0,A[E>>2]=(A[E>>2]|0)+-1,E=0,E|0}function OL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;E=H0(40)|0,E||Ze(27872,27842,98,27885),A[E>>2]=A[h>>2],A[E+4>>2]=A[h+4>>2],A[E+8>>2]=A[h+8>>2],A[E+12>>2]=A[h+12>>2],m=E+16|0,A[m>>2]=A[f>>2],A[m+4>>2]=A[f+4>>2],A[m+8>>2]=A[f+8>>2],A[m+12>>2]=A[f+12>>2],A[E+32>>2]=0,m=~~(+h1(+(+z0(10,+ +(15-(A[c+12>>2]|0)|0))*(+k[h>>3]+ +k[h+8>>3])))%+(A[c+4>>2]|0))>>>0,m=(A[c>>2]|0)+(m<<2)|0,p=A[m>>2]|0;do if(!p)A[m>>2]=E;else{for(;!(Ra(p,h)|0&&Ra(p+16|0,f)|0);)if(m=A[p+32>>2]|0,p=m|0?m:p,!(A[p+32>>2]|0)){x=10;break}if((x|0)==10){A[p+32>>2]=E;break}return zt(E),x=p,x|0}while(!1);return x=c+8|0,A[x>>2]=(A[x>>2]|0)+1,x=E,x|0}function TL(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0;if(m=~~(+h1(+(+z0(10,+ +(15-(A[c+12>>2]|0)|0))*(+k[h>>3]+ +k[h+8>>3])))%+(A[c+4>>2]|0))>>>0,m=A[(A[c>>2]|0)+(m<<2)>>2]|0,!m)return f=0,f|0;if(!f){for(c=m;;){if(Ra(c,h)|0){p=10;break}if(c=A[c+32>>2]|0,!c){c=0,p=10;break}}if((p|0)==10)return c|0}for(c=m;;){if(Ra(c,h)|0&&Ra(c+16|0,f)|0){p=10;break}if(c=A[c+32>>2]|0,!c){c=0,p=10;break}}return(p|0)==10?c|0:0}function RL(c,h){c=c|0,h=h|0;var f=0;if(f=~~(+h1(+(+z0(10,+ +(15-(A[c+12>>2]|0)|0))*(+k[h>>3]+ +k[h+8>>3])))%+(A[c+4>>2]|0))>>>0,c=A[(A[c>>2]|0)+(f<<2)>>2]|0,!c)return f=0,f|0;for(;;){if(Ra(c,h)|0){h=5;break}if(c=A[c+32>>2]|0,!c){c=0,h=5;break}}return(h|0)==5?c|0:0}function bL(){return 27904}function q3(c){return c=+c,~~+k_(+c)|0}function H0(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0,ue=0,de=0,ye=0,Ee=0,_e=0,ce=0,Qe=0;Qe=V,V=V+16|0,re=Qe;do if(c>>>0<245){if(I=c>>>0<11?16:c+11&-8,c=I>>>3,$=A[6977]|0,f=$>>>c,f&3|0)return h=(f&1^1)+c|0,c=27948+(h<<1<<2)|0,f=c+8|0,p=A[f>>2]|0,m=p+8|0,E=A[m>>2]|0,(E|0)==(c|0)?A[6977]=$&~(1<<h):(A[E+12>>2]=c,A[f>>2]=E),ce=h<<3,A[p+4>>2]=ce|3,ce=p+ce+4|0,A[ce>>2]=A[ce>>2]|1,ce=m,V=Qe,ce|0;if(F=A[6979]|0,I>>>0>F>>>0){if(f|0)return h=2<<c,h=f<<c&(h|0-h),h=(h&0-h)+-1|0,v=h>>>12&16,h=h>>>v,f=h>>>5&8,h=h>>>f,E=h>>>2&4,h=h>>>E,c=h>>>1&2,h=h>>>c,p=h>>>1&1,p=(f|v|E|c|p)+(h>>>p)|0,h=27948+(p<<1<<2)|0,c=h+8|0,E=A[c>>2]|0,v=E+8|0,f=A[v>>2]|0,(f|0)==(h|0)?(c=$&~(1<<p),A[6977]=c):(A[f+12>>2]=h,A[c>>2]=f,c=$),ce=p<<3,x=ce-I|0,A[E+4>>2]=I|3,m=E+I|0,A[m+4>>2]=x|1,A[E+ce>>2]=x,F|0&&(p=A[6982]|0,h=F>>>3,f=27948+(h<<1<<2)|0,h=1<<h,c&h?(c=f+8|0,h=A[c>>2]|0):(A[6977]=c|h,h=f,c=f+8|0),A[c>>2]=p,A[h+12>>2]=p,A[p+8>>2]=h,A[p+12>>2]=f),A[6979]=x,A[6982]=m,ce=v,V=Qe,ce|0;if(E=A[6978]|0,E){for(f=(E&0-E)+-1|0,m=f>>>12&16,f=f>>>m,p=f>>>5&8,f=f>>>p,x=f>>>2&4,f=f>>>x,v=f>>>1&2,f=f>>>v,T=f>>>1&1,T=A[28212+((p|m|x|v|T)+(f>>>T)<<2)>>2]|0,f=T,v=T,T=(A[T+4>>2]&-8)-I|0;c=A[f+16>>2]|0,!(!c&&(c=A[f+20>>2]|0,!c));)x=(A[c+4>>2]&-8)-I|0,m=x>>>0<T>>>0,f=c,v=m?c:v,T=m?x:T;if(x=v+I|0,x>>>0>v>>>0){m=A[v+24>>2]|0,h=A[v+12>>2]|0;do if((h|0)==(v|0)){if(c=v+20|0,h=A[c>>2]|0,!h&&(c=v+16|0,h=A[c>>2]|0,!h)){f=0;break}for(;;)if(p=h+20|0,f=A[p>>2]|0,f)h=f,c=p;else if(p=h+16|0,f=A[p>>2]|0,f)h=f,c=p;else break;A[c>>2]=0,f=h}else f=A[v+8>>2]|0,A[f+12>>2]=h,A[h+8>>2]=f,f=h;while(!1);do if(m|0){if(h=A[v+28>>2]|0,c=28212+(h<<2)|0,(v|0)==(A[c>>2]|0)){if(A[c>>2]=f,!f){A[6978]=E&~(1<<h);break}}else if(ce=m+16|0,A[((A[ce>>2]|0)==(v|0)?ce:m+20|0)>>2]=f,!f)break;A[f+24>>2]=m,h=A[v+16>>2]|0,h|0&&(A[f+16>>2]=h,A[h+24>>2]=f),h=A[v+20>>2]|0,h|0&&(A[f+20>>2]=h,A[h+24>>2]=f)}while(!1);return T>>>0<16?(ce=T+I|0,A[v+4>>2]=ce|3,ce=v+ce+4|0,A[ce>>2]=A[ce>>2]|1):(A[v+4>>2]=I|3,A[x+4>>2]=T|1,A[x+T>>2]=T,F|0&&(p=A[6982]|0,h=F>>>3,f=27948+(h<<1<<2)|0,h=1<<h,h&$?(c=f+8|0,h=A[c>>2]|0):(A[6977]=h|$,h=f,c=f+8|0),A[c>>2]=p,A[h+12>>2]=p,A[p+8>>2]=h,A[p+12>>2]=f),A[6979]=T,A[6982]=x),ce=v+8|0,V=Qe,ce|0}else $=I}else $=I}else $=I}else if(c>>>0<=4294967231)if(c=c+11|0,I=c&-8,p=A[6978]|0,p){m=0-I|0,c=c>>>8,c?I>>>0>16777215?T=31:($=(c+1048320|0)>>>16&8,ue=c<<$,v=(ue+520192|0)>>>16&4,ue=ue<<v,T=(ue+245760|0)>>>16&2,T=14-(v|$|T)+(ue<<T>>>15)|0,T=I>>>(T+7|0)&1|T<<1):T=0,f=A[28212+(T<<2)>>2]|0;e:do if(!f)f=0,c=0,ue=61;else for(c=0,v=I<<((T|0)==31?0:25-(T>>>1)|0),E=0;;){if(x=(A[f+4>>2]&-8)-I|0,x>>>0<m>>>0)if(x)c=f,m=x;else{c=f,m=0,ue=65;break e}if(ue=A[f+20>>2]|0,f=A[f+16+(v>>>31<<2)>>2]|0,E=(ue|0)==0|(ue|0)==(f|0)?E:ue,f)v=v<<1;else{f=E,ue=61;break}}while(!1);if((ue|0)==61){if((f|0)==0&(c|0)==0){if(c=2<<T,c=(c|0-c)&p,!c){$=I;break}$=(c&0-c)+-1|0,x=$>>>12&16,$=$>>>x,E=$>>>5&8,$=$>>>E,v=$>>>2&4,$=$>>>v,T=$>>>1&2,$=$>>>T,f=$>>>1&1,c=0,f=A[28212+((E|x|v|T|f)+($>>>f)<<2)>>2]|0}f?ue=65:(v=c,x=m)}if((ue|0)==65)for(E=f;;)if($=(A[E+4>>2]&-8)-I|0,f=$>>>0<m>>>0,m=f?$:m,c=f?E:c,f=A[E+16>>2]|0,f||(f=A[E+20>>2]|0),f)E=f;else{v=c,x=m;break}if(v|0&&x>>>0<((A[6979]|0)-I|0)>>>0&&(F=v+I|0,F>>>0>v>>>0)){E=A[v+24>>2]|0,h=A[v+12>>2]|0;do if((h|0)==(v|0)){if(c=v+20|0,h=A[c>>2]|0,!h&&(c=v+16|0,h=A[c>>2]|0,!h)){h=0;break}for(;;)if(m=h+20|0,f=A[m>>2]|0,f)h=f,c=m;else if(m=h+16|0,f=A[m>>2]|0,f)h=f,c=m;else break;A[c>>2]=0}else ce=A[v+8>>2]|0,A[ce+12>>2]=h,A[h+8>>2]=ce;while(!1);do if(E){if(c=A[v+28>>2]|0,f=28212+(c<<2)|0,(v|0)==(A[f>>2]|0)){if(A[f>>2]=h,!h){p=p&~(1<<c),A[6978]=p;break}}else if(ce=E+16|0,A[((A[ce>>2]|0)==(v|0)?ce:E+20|0)>>2]=h,!h)break;A[h+24>>2]=E,c=A[v+16>>2]|0,c|0&&(A[h+16>>2]=c,A[c+24>>2]=h),c=A[v+20>>2]|0,c&&(A[h+20>>2]=c,A[c+24>>2]=h)}while(!1);e:do if(x>>>0<16)ce=x+I|0,A[v+4>>2]=ce|3,ce=v+ce+4|0,A[ce>>2]=A[ce>>2]|1;else{if(A[v+4>>2]=I|3,A[F+4>>2]=x|1,A[F+x>>2]=x,h=x>>>3,x>>>0<256){f=27948+(h<<1<<2)|0,c=A[6977]|0,h=1<<h,c&h?(c=f+8|0,h=A[c>>2]|0):(A[6977]=c|h,h=f,c=f+8|0),A[c>>2]=F,A[h+12>>2]=F,A[F+8>>2]=h,A[F+12>>2]=f;break}if(h=x>>>8,h?x>>>0>16777215?f=31:(_e=(h+1048320|0)>>>16&8,ce=h<<_e,Ee=(ce+520192|0)>>>16&4,ce=ce<<Ee,f=(ce+245760|0)>>>16&2,f=14-(Ee|_e|f)+(ce<<f>>>15)|0,f=x>>>(f+7|0)&1|f<<1):f=0,h=28212+(f<<2)|0,A[F+28>>2]=f,c=F+16|0,A[c+4>>2]=0,A[c>>2]=0,c=1<<f,!(p&c)){A[6978]=p|c,A[h>>2]=F,A[F+24>>2]=h,A[F+12>>2]=F,A[F+8>>2]=F;break}h=A[h>>2]|0;t:do if((A[h+4>>2]&-8|0)!=(x|0)){for(p=x<<((f|0)==31?0:25-(f>>>1)|0);f=h+16+(p>>>31<<2)|0,c=A[f>>2]|0,!!c;)if((A[c+4>>2]&-8|0)==(x|0)){h=c;break t}else p=p<<1,h=c;A[f>>2]=F,A[F+24>>2]=h,A[F+12>>2]=F,A[F+8>>2]=F;break e}while(!1);_e=h+8|0,ce=A[_e>>2]|0,A[ce+12>>2]=F,A[_e>>2]=F,A[F+8>>2]=ce,A[F+12>>2]=h,A[F+24>>2]=0}while(!1);return ce=v+8|0,V=Qe,ce|0}else $=I}else $=I;else $=-1;while(!1);if(f=A[6979]|0,f>>>0>=$>>>0)return h=f-$|0,c=A[6982]|0,h>>>0>15?(ce=c+$|0,A[6982]=ce,A[6979]=h,A[ce+4>>2]=h|1,A[c+f>>2]=h,A[c+4>>2]=$|3):(A[6979]=0,A[6982]=0,A[c+4>>2]=f|3,ce=c+f+4|0,A[ce>>2]=A[ce>>2]|1),ce=c+8|0,V=Qe,ce|0;if(x=A[6980]|0,x>>>0>$>>>0)return Ee=x-$|0,A[6980]=Ee,ce=A[6983]|0,_e=ce+$|0,A[6983]=_e,A[_e+4>>2]=Ee|1,A[ce+4>>2]=$|3,ce=ce+8|0,V=Qe,ce|0;if(A[7095]|0?c=A[7097]|0:(A[7097]=4096,A[7096]=4096,A[7098]=-1,A[7099]=-1,A[7100]=0,A[7088]=0,A[7095]=re&-16^1431655768,c=4096),v=$+48|0,T=$+47|0,E=c+T|0,m=0-c|0,I=E&m,I>>>0<=$>>>0||(c=A[7087]|0,c|0&&(F=A[7085]|0,re=F+I|0,re>>>0<=F>>>0|re>>>0>c>>>0)))return ce=0,V=Qe,ce|0;e:do if(A[7088]&4)h=0,ue=143;else{f=A[6983]|0;t:do if(f){for(p=28356;re=A[p>>2]|0,!(re>>>0<=f>>>0&&(re+(A[p+4>>2]|0)|0)>>>0>f>>>0);)if(c=A[p+8>>2]|0,c)p=c;else{ue=128;break t}if(h=E-x&m,h>>>0<2147483647)if(c=_3(h|0)|0,(c|0)==((A[p>>2]|0)+(A[p+4>>2]|0)|0)){if((c|0)!=-1){x=h,E=c,ue=145;break e}}else p=c,ue=136;else h=0}else ue=128;while(!1);do if((ue|0)==128)if(f=_3(0)|0,(f|0)!=-1&&(h=f,ne=A[7096]|0,ie=ne+-1|0,h=(ie&h|0?(ie+h&0-ne)-h|0:0)+I|0,ne=A[7085]|0,ie=h+ne|0,h>>>0>$>>>0&h>>>0<2147483647)){if(re=A[7087]|0,re|0&&ie>>>0<=ne>>>0|ie>>>0>re>>>0){h=0;break}if(c=_3(h|0)|0,(c|0)==(f|0)){x=h,E=f,ue=145;break e}else p=c,ue=136}else h=0;while(!1);do if((ue|0)==136){if(f=0-h|0,!(v>>>0>h>>>0&(h>>>0<2147483647&(p|0)!=-1)))if((p|0)==-1){h=0;break}else{x=h,E=p,ue=145;break e}if(c=A[7097]|0,c=T-h+c&0-c,c>>>0>=2147483647){x=h,E=p,ue=145;break e}if((_3(c|0)|0)==-1){_3(f|0)|0,h=0;break}else{x=c+h|0,E=p,ue=145;break e}}while(!1);A[7088]=A[7088]|4,ue=143}while(!1);if((ue|0)==143&&I>>>0<2147483647&&(Ee=_3(I|0)|0,ie=_3(0)|0,de=ie-Ee|0,ye=de>>>0>($+40|0)>>>0,!((Ee|0)==-1|ye^1|Ee>>>0<ie>>>0&((Ee|0)!=-1&(ie|0)!=-1)^1))&&(x=ye?de:h,E=Ee,ue=145),(ue|0)==145){h=(A[7085]|0)+x|0,A[7085]=h,h>>>0>(A[7086]|0)>>>0&&(A[7086]=h),T=A[6983]|0;e:do if(T){for(h=28356;;){if(c=A[h>>2]|0,f=A[h+4>>2]|0,(E|0)==(c+f|0)){ue=154;break}if(p=A[h+8>>2]|0,p)h=p;else break}if((ue|0)==154&&(_e=h+4|0,(A[h+12>>2]&8|0)==0)&&E>>>0>T>>>0&c>>>0<=T>>>0){A[_e>>2]=f+x,ce=(A[6980]|0)+x|0,Ee=T+8|0,Ee=Ee&7|0?0-Ee&7:0,_e=T+Ee|0,Ee=ce-Ee|
38460,A[6983]=_e,A[6980]=Ee,A[_e+4>>2]=Ee|1,A[T+ce+4>>2]=40,A[6984]=A[7099];break}for(E>>>0<(A[6981]|0)>>>0&&(A[6981]=E),f=E+x|0,h=28356;;){if((A[h>>2]|0)==(f|0)){ue=162;break}if(c=A[h+8>>2]|0,c)h=c;else break}if((ue|0)==162&&!(A[h+12>>2]&8|0)){A[h>>2]=E,F=h+4|0,A[F>>2]=(A[F>>2]|0)+x,F=E+8|0,F=E+(F&7|0?0-F&7:0)|0,h=f+8|0,h=f+(h&7|0?0-h&7:0)|0,I=F+$|0,v=h-F-$|0,A[F+4>>2]=$|3;t:do if((T|0)==(h|0))ce=(A[6980]|0)+v|0,A[6980]=ce,A[6983]=I,A[I+4>>2]=ce|1;else{if((A[6982]|0)==(h|0)){ce=(A[6979]|0)+v|0,A[6979]=ce,A[6982]=I,A[I+4>>2]=ce|1,A[I+ce>>2]=ce;break}if(c=A[h+4>>2]|0,(c&3|0)==1){x=c&-8,p=c>>>3;n:do if(c>>>0<256)if(c=A[h+8>>2]|0,f=A[h+12>>2]|0,(f|0)==(c|0)){A[6977]=A[6977]&~(1<<p);break}else{A[c+12>>2]=f,A[f+8>>2]=c;break}else{E=A[h+24>>2]|0,c=A[h+12>>2]|0;do if((c|0)==(h|0)){if(f=h+16|0,p=f+4|0,c=A[p>>2]|0,c)f=p;else if(c=A[f>>2]|0,!c){c=0;break}for(;;)if(m=c+20|0,p=A[m>>2]|0,p)c=p,f=m;else if(m=c+16|0,p=A[m>>2]|0,p)c=p,f=m;else break;A[f>>2]=0}else ce=A[h+8>>2]|0,A[ce+12>>2]=c,A[c+8>>2]=ce;while(!1);if(!E)break;f=A[h+28>>2]|0,p=28212+(f<<2)|0;do if((A[p>>2]|0)!=(h|0)){if(ce=E+16|0,A[((A[ce>>2]|0)==(h|0)?ce:E+20|0)>>2]=c,!c)break n}else{if(A[p>>2]=c,c|0)break;A[6978]=A[6978]&~(1<<f);break n}while(!1);if(A[c+24>>2]=E,f=h+16|0,p=A[f>>2]|0,p|0&&(A[c+16>>2]=p,A[p+24>>2]=c),f=A[f+4>>2]|0,!f)break;A[c+20>>2]=f,A[f+24>>2]=c}while(!1);h=h+x|0,m=x+v|0}else m=v;if(h=h+4|0,A[h>>2]=A[h>>2]&-2,A[I+4>>2]=m|1,A[I+m>>2]=m,h=m>>>3,m>>>0<256){f=27948+(h<<1<<2)|0,c=A[6977]|0,h=1<<h,c&h?(c=f+8|0,h=A[c>>2]|0):(A[6977]=c|h,h=f,c=f+8|0),A[c>>2]=I,A[h+12>>2]=I,A[I+8>>2]=h,A[I+12>>2]=f;break}h=m>>>8;do if(!h)p=0;else{if(m>>>0>16777215){p=31;break}_e=(h+1048320|0)>>>16&8,ce=h<<_e,Ee=(ce+520192|0)>>>16&4,ce=ce<<Ee,p=(ce+245760|0)>>>16&2,p=14-(Ee|_e|p)+(ce<<p>>>15)|0,p=m>>>(p+7|0)&1|p<<1}while(!1);if(h=28212+(p<<2)|0,A[I+28>>2]=p,c=I+16|0,A[c+4>>2]=0,A[c>>2]=0,c=A[6978]|0,f=1<<p,!(c&f)){A[6978]=c|f,A[h>>2]=I,A[I+24>>2]=h,A[I+12>>2]=I,A[I+8>>2]=I;break}h=A[h>>2]|0;n:do if((A[h+4>>2]&-8|0)!=(m|0)){for(p=m<<((p|0)==31?0:25-(p>>>1)|0);f=h+16+(p>>>31<<2)|0,c=A[f>>2]|0,!!c;)if((A[c+4>>2]&-8|0)==(m|0)){h=c;break n}else p=p<<1,h=c;A[f>>2]=I,A[I+24>>2]=h,A[I+12>>2]=I,A[I+8>>2]=I;break t}while(!1);_e=h+8|0,ce=A[_e>>2]|0,A[ce+12>>2]=I,A[_e>>2]=I,A[I+8>>2]=ce,A[I+12>>2]=h,A[I+24>>2]=0}while(!1);return ce=F+8|0,V=Qe,ce|0}for(h=28356;c=A[h>>2]|0,!(c>>>0<=T>>>0&&(ce=c+(A[h+4>>2]|0)|0,ce>>>0>T>>>0));)h=A[h+8>>2]|0;m=ce+-47|0,c=m+8|0,c=m+(c&7|0?0-c&7:0)|0,m=T+16|0,c=c>>>0<m>>>0?T:c,h=c+8|0,f=x+-40|0,Ee=E+8|0,Ee=Ee&7|0?0-Ee&7:0,_e=E+Ee|0,Ee=f-Ee|0,A[6983]=_e,A[6980]=Ee,A[_e+4>>2]=Ee|1,A[E+f+4>>2]=40,A[6984]=A[7099],f=c+4|0,A[f>>2]=27,A[h>>2]=A[7089],A[h+4>>2]=A[7090],A[h+8>>2]=A[7091],A[h+12>>2]=A[7092],A[7089]=E,A[7090]=x,A[7092]=0,A[7091]=h,h=c+24|0;do _e=h,h=h+4|0,A[h>>2]=7;while((_e+8|0)>>>0<ce>>>0);if((c|0)!=(T|0)){if(E=c-T|0,A[f>>2]=A[f>>2]&-2,A[T+4>>2]=E|1,A[c>>2]=E,h=E>>>3,E>>>0<256){f=27948+(h<<1<<2)|0,c=A[6977]|0,h=1<<h,c&h?(c=f+8|0,h=A[c>>2]|0):(A[6977]=c|h,h=f,c=f+8|0),A[c>>2]=T,A[h+12>>2]=T,A[T+8>>2]=h,A[T+12>>2]=f;break}if(h=E>>>8,h?E>>>0>16777215?p=31:(_e=(h+1048320|0)>>>16&8,ce=h<<_e,Ee=(ce+520192|0)>>>16&4,ce=ce<<Ee,p=(ce+245760|0)>>>16&2,p=14-(Ee|_e|p)+(ce<<p>>>15)|0,p=E>>>(p+7|0)&1|p<<1):p=0,f=28212+(p<<2)|0,A[T+28>>2]=p,A[T+20>>2]=0,A[m>>2]=0,h=A[6978]|0,c=1<<p,!(h&c)){A[6978]=h|c,A[f>>2]=T,A[T+24>>2]=f,A[T+12>>2]=T,A[T+8>>2]=T;break}h=A[f>>2]|0;t:do if((A[h+4>>2]&-8|0)!=(E|0)){for(p=E<<((p|0)==31?0:25-(p>>>1)|0);f=h+16+(p>>>31<<2)|0,c=A[f>>2]|0,!!c;)if((A[c+4>>2]&-8|0)==(E|0)){h=c;break t}else p=p<<1,h=c;A[f>>2]=T,A[T+24>>2]=h,A[T+12>>2]=T,A[T+8>>2]=T;break e}while(!1);_e=h+8|0,ce=A[_e>>2]|0,A[ce+12>>2]=T,A[_e>>2]=T,A[T+8>>2]=ce,A[T+12>>2]=h,A[T+24>>2]=0}}else ce=A[6981]|0,(ce|0)==0|E>>>0<ce>>>0&&(A[6981]=E),A[7089]=E,A[7090]=x,A[7092]=0,A[6986]=A[7095],A[6985]=-1,A[6990]=27948,A[6989]=27948,A[6992]=27956,A[6991]=27956,A[6994]=27964,A[6993]=27964,A[6996]=27972,A[6995]=27972,A[6998]=27980,A[6997]=27980,A[7e3]=27988,A[6999]=27988,A[7002]=27996,A[7001]=27996,A[7004]=28004,A[7003]=28004,A[7006]=28012,A[7005]=28012,A[7008]=28020,A[7007]=28020,A[7010]=28028,A[7009]=28028,A[7012]=28036,A[7011]=28036,A[7014]=28044,A[7013]=28044,A[7016]=28052,A[7015]=28052,A[7018]=28060,A[7017]=28060,A[7020]=28068,A[7019]=28068,A[7022]=28076,A[7021]=28076,A[7024]=28084,A[7023]=28084,A[7026]=28092,A[7025]=28092,A[7028]=28100,A[7027]=28100,A[7030]=28108,A[7029]=28108,A[7032]=28116,A[7031]=28116,A[7034]=28124,A[7033]=28124,A[7036]=28132,A[7035]=28132,A[7038]=28140,A[7037]=28140,A[7040]=28148,A[7039]=28148,A[7042]=28156,A[7041]=28156,A[7044]=28164,A[7043]=28164,A[7046]=28172,A[7045]=28172,A[7048]=28180,A[7047]=28180,A[7050]=28188,A[7049]=28188,A[7052]=28196,A[7051]=28196,ce=x+-40|0,Ee=E+8|0,Ee=Ee&7|0?0-Ee&7:0,_e=E+Ee|0,Ee=ce-Ee|
38460,A[6983]=_e,A[6980]=Ee,A[_e+4>>2]=Ee|1,A[E+ce+4>>2]=40,A[6984]=A[7099];while(!1);if(h=A[6980]|0,h>>>0>$>>>0)return Ee=h-$|0,A[6980]=Ee,ce=A[6983]|0,_e=ce+$|0,A[6983]=_e,A[_e+4>>2]=Ee|1,A[ce+4>>2]=$|3,ce=ce+8|0,V=Qe,ce|0}return ce=bL()|0,A[ce>>2]=12,ce=0,V=Qe,ce|0}function zt(c){c=c|0;var h=0,f=0,p=0,m=0,E=0,x=0,v=0,T=0;if(c){f=c+-8|0,m=A[6981]|0,c=A[c+-4>>2]|0,h=c&-8,T=f+h|0;do if(c&1)v=f,x=f;else{if(p=A[f>>2]|0,!(c&3)||(x=f+(0-p)|0,E=p+h|0,x>>>0<m>>>0))return;if((A[6982]|0)==(x|0)){if(c=T+4|0,h=A[c>>2]|0,(h&3|0)!=3){v=x,h=E;break}A[6979]=E,A[c>>2]=h&-2,A[x+4>>2]=E|1,A[x+E>>2]=E;return}if(f=p>>>3,p>>>0<256)if(c=A[x+8>>2]|0,h=A[x+12>>2]|0,(h|0)==(c|0)){A[6977]=A[6977]&~(1<<f),v=x,h=E;break}else{A[c+12>>2]=h,A[h+8>>2]=c,v=x,h=E;break}m=A[x+24>>2]|0,c=A[x+12>>2]|0;do if((c|0)==(x|0)){if(h=x+16|0,f=h+4|0,c=A[f>>2]|0,c)h=f;else if(c=A[h>>2]|0,!c){c=0;break}for(;;)if(p=c+20|0,f=A[p>>2]|0,f)c=f,h=p;else if(p=c+16|0,f=A[p>>2]|0,f)c=f,h=p;else break;A[h>>2]=0}else v=A[x+8>>2]|0,A[v+12>>2]=c,A[c+8>>2]=v;while(!1);if(m){if(h=A[x+28>>2]|0,f=28212+(h<<2)|0,(A[f>>2]|0)==(x|0)){if(A[f>>2]=c,!c){A[6978]=A[6978]&~(1<<h),v=x,h=E;break}}else if(v=m+16|0,A[((A[v>>2]|0)==(x|0)?v:m+20|0)>>2]=c,!c){v=x,h=E;break}A[c+24>>2]=m,h=x+16|0,f=A[h>>2]|0,f|0&&(A[c+16>>2]=f,A[f+24>>2]=c),h=A[h+4>>2]|0,h?(A[c+20>>2]=h,A[h+24>>2]=c,v=x,h=E):(v=x,h=E)}else v=x,h=E}while(!1);if(!(x>>>0>=T>>>0)&&(c=T+4|0,p=A[c>>2]|0,!!(p&1))){if(p&2)A[c>>2]=p&-2,A[v+4>>2]=h|1,A[x+h>>2]=h,m=h;else{if((A[6983]|0)==(T|0)){if(T=(A[6980]|0)+h|0,A[6980]=T,A[6983]=v,A[v+4>>2]=T|1,(v|0)!=(A[6982]|0))return;A[6982]=0,A[6979]=0;return}if((A[6982]|0)==(T|0)){T=(A[6979]|0)+h|0,A[6979]=T,A[6982]=x,A[v+4>>2]=T|1,A[x+T>>2]=T;return}m=(p&-8)+h|0,f=p>>>3;do if(p>>>0<256)if(h=A[T+8>>2]|0,c=A[T+12>>2]|0,(c|0)==(h|0)){A[6977]=A[6977]&~(1<<f);break}else{A[h+12>>2]=c,A[c+8>>2]=h;break}else{E=A[T+24>>2]|0,c=A[T+12>>2]|0;do if((c|0)==(T|0)){if(h=T+16|0,f=h+4|0,c=A[f>>2]|0,c)h=f;else if(c=A[h>>2]|0,!c){f=0;break}for(;;)if(p=c+20|0,f=A[p>>2]|0,f)c=f,h=p;else if(p=c+16|0,f=A[p>>2]|0,f)c=f,h=p;else break;A[h>>2]=0,f=c}else f=A[T+8>>2]|0,A[f+12>>2]=c,A[c+8>>2]=f,f=c;while(!1);if(E|0){if(c=A[T+28>>2]|0,h=28212+(c<<2)|0,(A[h>>2]|0)==(T|0)){if(A[h>>2]=f,!f){A[6978]=A[6978]&~(1<<c);break}}else if(p=E+16|0,A[((A[p>>2]|0)==(T|0)?p:E+20|0)>>2]=f,!f)break;A[f+24>>2]=E,c=T+16|0,h=A[c>>2]|0,h|0&&(A[f+16>>2]=h,A[h+24>>2]=f),c=A[c+4>>2]|0,c|0&&(A[f+20>>2]=c,A[c+24>>2]=f)}}while(!1);if(A[v+4>>2]=m|1,A[x+m>>2]=m,(v|0)==(A[6982]|0)){A[6979]=m;return}}if(c=m>>>3,m>>>0<256){f=27948+(c<<1<<2)|0,h=A[6977]|0,c=1<<c,h&c?(h=f+8|0,c=A[h>>2]|0):(A[6977]=h|c,c=f,h=f+8|0),A[h>>2]=v,A[c+12>>2]=v,A[v+8>>2]=c,A[v+12>>2]=f;return}c=m>>>8,c?m>>>0>16777215?p=31:(x=(c+1048320|0)>>>16&8,T=c<<x,E=(T+520192|0)>>>16&4,T=T<<E,p=(T+245760|0)>>>16&2,p=14-(E|x|p)+(T<<p>>>15)|0,p=m>>>(p+7|0)&1|p<<1):p=0,c=28212+(p<<2)|0,A[v+28>>2]=p,A[v+20>>2]=0,A[v+16>>2]=0,h=A[6978]|0,f=1<<p;e:do if(!(h&f))A[6978]=h|f,A[c>>2]=v,A[v+24>>2]=c,A[v+12>>2]=v,A[v+8>>2]=v;else{c=A[c>>2]|0;t:do if((A[c+4>>2]&-8|0)!=(m|0)){for(p=m<<((p|0)==31?0:25-(p>>>1)|0);f=c+16+(p>>>31<<2)|0,h=A[f>>2]|0,!!h;)if((A[h+4>>2]&-8|0)==(m|0)){c=h;break t}else p=p<<1,c=h;A[f>>2]=v,A[v+24>>2]=c,A[v+12>>2]=v,A[v+8>>2]=v;break e}while(!1);x=c+8|0,T=A[x>>2]|0,A[T+12>>2]=v,A[x>>2]=v,A[v+8>>2]=T,A[v+12>>2]=c,A[v+24>>2]=0}while(!1);if(T=(A[6985]|0)+-1|0,A[6985]=T,!(T|0)){for(c=28364;c=A[c>>2]|0,c;)c=c+8|0;A[6985]=-1}}}}function e0(c,h){c=c|0,h=h|0;var f=0;return c?(f=Ne(h,c)|0,(h|c)>>>0>65535&&(f=((f>>>0)/(c>>>0)|0|0)==(h|0)?f:-1)):f=0,c=H0(f)|0,!c||!(A[c+-4>>2]&3)||cs(c|0,0,f|0)|0,c|0}function Gt(c,h,f,p){return c=c|0,h=h|0,f=f|0,p=p|0,f=c+f>>>0,ke(h+p+(f>>>0<c>>>0|0)>>>0|0),f|0|0}function Mi(c,h,f,p){return c=c|0,h=h|0,f=f|0,p=p|0,p=h-p-(f>>>0>c>>>0|0)>>>0,ke(p|0),c-f>>>0|0|0}function U_(c){return c=c|0,(c?31-(At(c^c-1)|0)|0:32)|0}function uc(c,h,f,p,m){c=c|0,h=h|0,f=f|0,p=p|0,m=m|0;var E=0,x=0,v=0,T=0,I=0,F=0,$=0,re=0,ne=0,ie=0;if(F=c,T=h,I=T,x=f,re=p,v=re,!I)return E=(m|0)!=0,v?E?(A[m>>2]=c|0,A[m+4>>2]=h&0,re=0,m=0,ke(re|0),m|0):(re=0,m=0,ke(re|0),m|0):(E&&(A[m>>2]=(F>>>0)%(x>>>0),A[m+4>>2]=0),re=0,m=(F>>>0)/(x>>>0)>>>0,ke(re|0),m|0);E=(v|0)==0;do if(x){if(!E){if(E=(At(v|0)|0)-(At(I|0)|0)|0,E>>>0<=31){$=E+1|0,v=31-E|0,h=E-31>>31,x=$,c=F>>>($>>>0)&h|I<<v,h=I>>>($>>>0)&h,E=0,v=F<<v;break}return m?(A[m>>2]=c|0,A[m+4>>2]=T|h&0,re=0,m=0,ke(re|0),m|0):(re=0,m=0,ke(re|0),m|0)}if(E=x-1|0,E&x|0){v=(At(x|0)|0)+33-(At(I|0)|0)|0,ie=64-v|0,$=32-v|0,T=$>>31,ne=v-32|0,h=ne>>31,x=v,c=$-1>>31&I>>>(ne>>>0)|(I<<$|F>>>(v>>>0))&h,h=h&I>>>(v>>>0),E=F<<ie&T,v=(I<<ie|F>>>(ne>>>0))&T|F<<$&v-33>>31;break}return m|0&&(A[m>>2]=E&F,A[m+4>>2]=0),(x|0)==1?(ne=T|h&0,ie=c|0|0,ke(ne|0),ie|0):(ie=U_(x|0)|0,ne=I>>>(ie>>>0)|0,ie=I<<32-ie|F>>>(ie>>>0)|0,ke(ne|0),ie|0)}else{if(E)return m|0&&(A[m>>2]=(I>>>0)%(x>>>0),A[m+4>>2]=0),ne=0,ie=(I>>>0)/(x>>>0)>>>0,ke(ne|0),ie|0;if(!F)return m|0&&(A[m>>2]=0,A[m+4>>2]=(I>>>0)%(v>>>0)),ne=0,ie=(I>>>0)/(v>>>0)>>>0,ke(ne|0),ie|0;if(E=v-1|0,!(E&v))return m|0&&(A[m>>2]=c|0,A[m+4>>2]=E&I|h&0),ne=0,ie=I>>>((U_(v|0)|0)>>>0),ke(ne|0),ie|0;if(E=(At(v|0)|0)-(At(I|0)|0)|0,E>>>0<=30){h=E+1|0,v=31-E|0,x=h,c=I<<v|F>>>(h>>>0),h=I>>>(h>>>0),E=0,v=F<<v;break}return m?(A[m>>2]=c|0,A[m+4>>2]=T|h&0,ne=0,ie=0,ke(ne|0),ie|0):(ne=0,ie=0,ke(ne|0),ie|0)}while(!1);if(!x)I=v,T=0,v=0;else{$=f|0|0,F=re|p&0,I=Gt($|0,F|0,-1,-1)|0,f=W()|0,T=v,v=0;do p=T,T=E>>>31|T<<1,E=v|E<<1,p=c<<1|p>>>31|0,re=c>>>31|h<<1|0,Mi(I|0,f|0,p|0,re|0)|0,ie=W()|0,ne=ie>>31|((ie|0)<0?-1:0)<<1,v=ne&1,c=Mi(p|0,re|0,ne&$|0,(((ie|0)<0?-1:0)>>31|((ie|0)<0?-1:0)<<1)&F|0)|0,h=W()|0,x=x-1|0;while(x|0);I=T,T=0}return x=0,m|0&&(A[m>>2]=c,A[m+4>>2]=h),ne=(E|0)>>>31|(I|x)<<1|(x<<1|E>>>31)&0|T,ie=(E<<1|0)&-2|v,ke(ne|0),ie|0}function p3(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0;return I=h>>31|((h|0)<0?-1:0)<<1,T=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,E=p>>31|((p|0)<0?-1:0)<<1,m=((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1,v=Mi(I^c|0,T^h|0,I|0,T|0)|0,x=W()|0,c=E^I,h=m^T,Mi((uc(v,x,Mi(E^f|0,m^p|0,E|0,m|0)|0,W()|0,0)|0)^c|0,(W()|0)^h|0,c|0,h|0)|0}function IL(c,h){c=c|0,h=h|0;var f=0,p=0,m=0,E=0;return E=c&65535,m=h&65535,f=Ne(m,E)|0,p=c>>>16,c=(f>>>16)+(Ne(m,p)|0)|0,m=h>>>16,h=Ne(m,E)|0,ke((c>>>16)+(Ne(m,p)|0)+(((c&65535)+h|0)>>>16)|0),c+h<<16|f&65535|0|0}function Ci(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0;return m=c,E=f,f=IL(m,E)|0,c=W()|0,ke((Ne(h,E)|0)+(Ne(p,m)|0)+c|c&0|0),f|0|0|0}function ba(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0,x=0,v=0,T=0,I=0;return m=V,V=V+16|0,v=m|0,x=h>>31|((h|0)<0?-1:0)<<1,E=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,I=p>>31|((p|0)<0?-1:0)<<1,T=((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1,c=Mi(x^c|0,E^h|0,x|0,E|0)|0,h=W()|0,uc(c,h,Mi(I^f|0,T^p|0,I|0,T|0)|0,W()|0,v)|0,p=Mi(A[v>>2]^x|0,A[v+4>>2]^E|0,x|0,E|0)|0,f=W()|0,V=m,ke(f|0),p|0}function Ia(c,h,f,p){c=c|0,h=h|0,f=f|0,p=p|0;var m=0,E=0;return E=V,V=V+16|0,m=E|0,uc(c,h,f,p,m)|0,V=E,ke(A[m+4>>2]|0),A[m>>2]|0|0}function F_(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(ke(h>>f|0),c>>>f|(h&(1<<f)-1)<<32-f):(ke(((h|0)<0?-1:0)|0),h>>f-32|0)}function ze(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(ke(h>>>f|0),c>>>f|(h&(1<<f)-1)<<32-f):(ke(0),h>
3846>>f-32|0)}function et(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(ke(h<<f|(c&(1<<f)-1<<32-f)>>>32-f|0),c<<f):(ke(c<<f-32|0),0)}function G_(c,h,f){return c=c|0,h=h|0,h=At(h)|0,(h|0)==32&&(h=h+(At(c)|0)|0),ke(0),h|0}function V_(c,h){return c=+c,h=+h,c!=c?+h:h!=h?+c:+it(+c,+h)}function T5(c,h){return c=+c,h=+h,c!=c?+h:h!=h?+c:+ge(+c,+h)}function R5(c){return c=+c,c>=0?+Tn(c+.5):+Oe(c-.5)}function Pa(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0;if((f|0)>=8192)return R1(c|0,h|0,f|0)|0,c|0;if(E=c|0,m=c+f|0,(c&3)==(h&3)){for(;c&3;){if(!f)return E|0;Ve[c>>0]=Ve[h>>0]|0,c=c+1|0,h=h+1|0,f=f-1|0}for(f=m&-4|0,p=f-64|0;(c|0)<=(p|0);)A[c>>2]=A[h>>2],A[c+4>>2]=A[h+4>>2],A[c+8>>2]=A[h+8>>2],A[c+12>>2]=A[h+12>>2],A[c+16>>2]=A[h+16>>2],A[c+20>>2]=A[h+20>>2],A[c+24>>2]=A[h+24>>2],A[c+28>>2]=A[h+28>>2],A[c+32>>2]=A[h+32>>2],A[c+36>>2]=A[h+36>>2],A[c+40>>2]=A[h+40>>2],A[c+44>>2]=A[h+44>>2],A[c+48>>2]=A[h+48>>2],A[c+52>>2]=A[h+52>>2],A[c+56>>2]=A[h+56>>2],A[c+60>>2]=A[h+60>>2],c=c+64|0,h=h+64|0;for(;(c|0)<(f|0);)A[c>>2]=A[h>>2],c=c+4|0,h=h+4|0}else for(f=m-4|0;(c|0)<(f|0);)Ve[c>>0]=Ve[h>>0]|0,Ve[c+1>>0]=Ve[h+1>>0]|0,Ve[c+2>>0]=Ve[h+2>>0]|0,Ve[c+3>>0]=Ve[h+3>>0]|0,c=c+4|0,h=h+4|0;for(;(c|0)<(m|0);)Ve[c>>0]=Ve[h>>0]|0,c=c+1|0,h=h+1|0;return E|0}function cs(c,h,f){c=c|0,h=h|0,f=f|0;var p=0,m=0,E=0,x=0;if(E=c+f|0,h=h&255,(f|0)>=67){for(;c&3;)Ve[c>>0]=h,c=c+1|0;for(p=E&-4|0,x=h|h<<8|h<<16|h<<24,m=p-64|0;(c|0)<=(m|0);)A[c>>2]=x,A[c+4>>2]=x,A[c+8>>2]=x,A[c+12>>2]=x,A[c+16>>2]=x,A[c+20>>2]=x,A[c+24>>2]=x,A[c+28>>2]=x,A[c+32>>2]=x,A[c+36>>2]=x,A[c+40>>2]=x,A[c+44>>2]=x,A[c+48>>2]=x,A[c+52>>2]=x,A[c+56>>2]=x,A[c+60>>2]=x,c=c+64|0;for(;(c|0)<(p|0);)A[c>>2]=x,c=c+4|0}for(;(c|0)<(E|0);)Ve[c>>0]=h,c=c+1|0;return E-f|0}function k_(c){return c=+c,c>=0?+Tn(c+.5):+Oe(c-.5)}function _3(c){c=c|0;var h=0,f=0,p=0;return p=Ft()|0,f=A[w1>>2]|0,h=f+c|0,(c|0)>0&(h|0)<(f|0)|(h|0)<0?(dn(h|0)|0,Xt(12),-1):(h|0)>(p|0)&&!(V1(h|0)|0)?(Xt(12),-1):(A[w1>>2]=h,f|0)}return{___divdi3:p3,___muldi3:Ci,___remdi3:ba,___uremdi3:Ia,_areNeighborCells:EP,_bitshift64Ashr:F_,_bitshift64Lshr:ze,_bitshift64Shl:et,_calloc:e0,_cellAreaKm2:ZP,_cellAreaM2:QP,_cellAreaRads2:sc,_cellToBoundary:Ta,_cellToCenterChild:E_,_cellToChildPos:kP,_cellToChildren:LP,_cellToChildrenSize:G4,_cellToLatLng:us,_cellToLocalIj:sL,_cellToParent:Xu,_cellToVertex:Jr,_cellToVertexes:yL,_cellsToDirectedEdge:MP,_cellsToLinkedMultiPolygon:tP,_childPosToCell:zP,_compactCells:DP,_destroyLinkedMultiPolygon:N_,_directedEdgeToBoundary:N5,_directedEdgeToCells:NP,_edgeLengthKm:eL,_edgeLengthM:tL,_edgeLengthRads:JP,_emscripten_replace_memory:D1,_free:zt,_getBaseCellNumber:m_,_getDirectedEdgeDestination:SP,_getDirectedEdgeOrigin:xP,_getHexagonAreaAvgKm2:S_,_getHexagonAreaAvgM2:$P,_getHexagonEdgeLengthAvgKm:jP,_getHexagonEdgeLengthAvgM:XP,_getIcosahedronFaces:M_,_getNumCells:rc,_getPentagons:tc,_getRes0Cells:aP,_getResolution:PP,_greatCircleDistanceKm:k4,_greatCircleDistanceM:HP,_greatCircleDistanceRads:WP,_gridDisk:Pi,_gridDiskDistances:h3,_gridDistance:oL,_gridPathCells:uL,_gridPathCellsSize:lL,_gridRingUnsafe:Li,_i64Add:Gt,_i64Subtract:Mi,_isPentagon:nn,_isResClassIII:BP,_isValidCell:$u,_isValidDirectedEdge:yP,_isValidVertex:vL,_latLngToCell:Ju,_llvm_ctlz_i64:G_,_llvm_maxnum_f64:V_,_llvm_minnum_f64:T5,_llvm_round_f64:R5,_localIjToCell:aL,_malloc:H0,_maxFaceCount:GP,_maxGridDiskSize:A3,_maxPolygonToCellsSize:U4,_maxPolygonToCellsSizeExperimental:hL,_memcpy:Pa,_memset:cs,_originToDirectedEdges:vP,_pentagonCount:VP,_polygonToCells:JI,_polygonToCellsExperimental:AL,_readInt64AsDoubleFromPointer:EL,_res0CellCount:sP,_round:k_,_sbrk:_3,_sizeOfCellBoundary:qL,_sizeOfCoordIJ:gL,_sizeOfGeoLoop:pL,_sizeOfGeoPolygon:_L,_sizeOfH3Index:fL,_sizeOfLatLng:dL,_sizeOfLinkedGeoPolygon:mL,_uncompactCells:CP,_uncompactCellsSize:wP,_vertexToLatLng:NL,establishStackSpace:Ir,stackAlloc:kt,stackRestore:G1,stackSave:ri}}(qt,r1,w);e.___divdi3=ee.___divdi3,e.___muldi3=ee.___muldi3,e.___remdi3=ee.___remdi3,e.___uremdi3=ee.___uremdi3,e._areNeighborCells=ee._areNeighborCells,e._bitshift64Ashr=ee._bitshift64Ashr,e._bitshift64Lshr=ee._bitshift64Lshr,e._bitshift64Shl=ee._bitshift64Shl,e._calloc=ee._calloc,e._cellAreaKm2=ee._cellAreaKm2,e._cellAreaM2=ee._cellAreaM2,e._cellAreaRads2=ee._cellAreaRads2,e._cellToBoundary=ee._cellToBoundary,e._cellToCenterChild=ee._cellToCenterChild,e._cellToChildPos=ee._cellToChildPos,e._cellToChildren=ee._cellToChildren,e._cellToChildrenSize=ee._cellToChildrenSize,e._cellToLatLng=ee._cellToLatLng,e._cellToLocalIj=ee._cellToLocalIj,e._cellToParent=ee._cellToParent,e._cellToVertex=ee._cellToVertex,e._cellToVertexes=ee._cellToVertexes,e._cellsToDirectedEdge=ee._cellsToDirectedEdge,e._cellsToLinkedMultiPolygon=ee._cellsToLinkedMultiPolygon,e._childPosToCell=ee._childPosToCell,e._compactCells=ee._compactCells,e._destroyLinkedMultiPolygon=ee._destroyLinkedMultiPolygon,e._directedEdgeToBoundary=ee._directedEdgeToBoundary,e._directedEdgeToCells=ee._directedEdgeToCells,e._edgeLengthKm=ee._edgeLengthKm,e._edgeLengthM=ee._edgeLengthM,e._edgeLengthRads=ee._edgeLengthRads;var gt=e._emscripten_replace_memory=ee._emscripten_replace_memory;e._free=ee._free,e._getBaseCellNumber=ee._getBaseCellNumber,e._getDirectedEdgeDestination=ee._getDirectedEdgeDestination,e._getDirectedEdgeOrigin=ee._getDirectedEdgeOrigin,e._getHexagonAreaAvgKm2=ee._getHexagonAreaAvgKm2,e._getHexagonAreaAvgM2=ee._getHexagonAreaAvgM2,e._getHexagonEdgeLengthAvgKm=ee._getHexagonEdgeLengthAvgKm,e._getHexagonEdgeLengthAvgM=ee._getHexagonEdgeLengthAvgM,e._getIcosahedronFaces=ee._getIcosahedronFaces,e._getNumCells=ee._getNumCells,e._getPentagons=ee._getPentagons,e._getRes0Cells=ee._getRes0Cells,e._getResolution=ee._getResolution,e._greatCircleDistanceKm=ee._greatCircleDistanceKm,e._greatCircleDistanceM=ee._greatCircleDistanceM,e._greatCircleDistanceRads=ee._greatCircleDistanceRads,e._gridDisk=ee._gridDisk,e._gridDiskDistances=ee._gridDiskDistances,e._gridDistance=ee._gridDistance,e._gridPathCells=ee._gridPathCells,e._gridPathCellsSize=ee._gridPathCellsSize,e._gridRingUnsafe=ee._gridRingUnsafe,e._i64Add=ee._i64Add,e._i64Subtract=ee._i64Subtract,e._isPentagon=ee._isPentagon,e._isResClassIII=ee._isResClassIII,e._isValidCell=ee._isValidCell,e._isValidDirectedEdge=ee._isValidDirectedEdge,e._isValidVertex=ee._isValidVertex,e._latLngToCell=ee._latLngToCell,e._llvm_ctlz_i64=ee._llvm_ctlz_i64,e._llvm_maxnum_f64=ee._llvm_maxnum_f64,e._llvm_minnum_f64=ee._llvm_minnum_f64,e._llvm_round_f64=ee._llvm_round_f64,e._localIjToCell=ee._localIjToCell,e._malloc=ee._malloc,e._maxFaceCount=ee._maxFaceCount,e._maxGridDiskSize=ee._maxGridDiskSize,e._maxPolygonToCellsSize=ee._maxPolygonToCellsSize,e._maxPolygonToCellsSizeExperimental=ee._maxPolygonToCellsSizeExperimental,e._memcpy=ee._memcpy,e._memset=ee._memset,e._originToDirectedEdges=ee._originToDirectedEdges,e._pentagonCount=ee._pentagonCount,e._polygonToCells=ee._polygonToCells,e._polygonToCellsExperimental=ee._polygonToCellsExperimental,e._readInt64AsDoubleFromPointer=ee._readInt64AsDoubleFromPointer,e._res0CellCount=ee._res0CellCount,e._round=ee._round,e._sbrk=ee._sbrk,e._sizeOfCellBoundary=ee._sizeOfCellBoundary,e._sizeOfCoordIJ=ee._sizeOfCoordIJ,e._sizeOfGeoLoop=ee._sizeOfGeoLoop,e._sizeOfGeoPolygon=ee._sizeOfGeoPolygon,e._sizeOfH3Index=ee._sizeOfH3Index,e._sizeOfLatLng=ee._sizeOfLatLng,e._sizeOfLinkedGeoPolygon=ee._sizeOfLinkedGeoPolygon,e._uncompactCells=ee._uncompactCells,e._uncompactCellsSize=ee._uncompactCellsSize,e._vertexToLatLng=ee._vertexToLatLng,e.establishStackSpace=ee.establishStackSpace;var Xe=e.stackAlloc=ee.stackAlloc,vt=e.stackRestore=ee.stackRestore,nt=e.stackSave=ee.stackSave;
3846if(e.asm=ee,e.cwrap=O,e.setValue=g,e.getValue=M,pt){se(pt)||(pt=s(pt));{St();var Ge=function(ve){ve.byteLength&&(ve=new Uint8Array(ve)),H.set(ve,_),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,tt()},Ot=function(){a(pt,Ge,function(){throw"could not load memory initializer "+pt})},s1=Vt(pt);if(s1)Ge(s1.buffer);else if(e.memoryInitializerRequest){var tn=function(){var ve=e.memoryInitializerRequest,Fe=ve.response;if(ve.status!==200&&ve.status!==0){var ct=Vt(e.memoryInitializerRequestURL);if(ct)Fe=ct.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+ve.status+", retrying "+pt),Ot();return}}Ge(Fe)};e.memoryInitializerRequest.response?setTimeout(tn,0):e.memoryInitializerRequest.addEventListener("load",tn)}else Ot()}}var P1;Be=function ve(){P1||Yi(),P1||(Be=ve)};function Yi(ve){if(ot>0||(rt(),ot>0))return;function Fe(){P1||(P1=!0,!N&&(_t(),mt(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),ut()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),Fe()},1)):Fe()}e.run=Yi;function Ii(ve){throw e.onAbort&&e.onAbort(ve),ve+="",o(ve),l(ve),N=!0,"abort("+ve+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ii,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return Yi(),n}(typeof I1=="object"?I1:{}),i1="number",Kt=i1,a6=i1,t1=i1,n1=i1,qi=i1,xt=i1,Mj=[["sizeOfH3Index",i1],["sizeOfLatLng",i1],["sizeOfCellBoundary",i1],["sizeOfGeoLoop",i1],["sizeOfGeoPolygon",i1],["sizeOfLinkedGeoPolygon",i1],["sizeOfCoordIJ",i1],["readInt64AsDoubleFromPointer",i1],["isValidCell",a6,[t1,n1]],["latLngToCell",Kt,[i1,i1,qi,xt]],["cellToLatLng",Kt,[t1,n1,xt]],["cellToBoundary",Kt,[t1,n1,xt]],["maxGridDiskSize",Kt,[i1,xt]],["gridDisk",Kt,[t1,n1,i1,xt]],["gridDiskDistances",Kt,[t1,n1,i1,xt,xt]],["gridRingUnsafe",Kt,[t1,n1,i1,xt]],["maxPolygonToCellsSize",Kt,[xt,qi,i1,xt]],["polygonToCells",Kt,[xt,qi,i1,xt]],["maxPolygonToCellsSizeExperimental",Kt,[xt,qi,i1,xt]],["polygonToCellsExperimental",Kt,[xt,qi,i1,i1,i1,xt]],["cellsToLinkedMultiPolygon",Kt,[xt,i1,xt]],["destroyLinkedMultiPolygon",null,[xt]],["compactCells",Kt,[xt,xt,i1,i1]],["uncompactCells",Kt,[xt,i1,i1,xt,i1,qi]],["uncompactCellsSize",Kt,[xt,i1,i1,qi,xt]],["isPentagon",a6,[t1,n1]],["isResClassIII",a6,[t1,n1]],["getBaseCellNumber",i1,[t1,n1]],["getResolution",i1,[t1,n1]],["maxFaceCount",Kt,[t1,n1,xt]],["getIcosahedronFaces",Kt,[t1,n1,xt]],["cellToParent",Kt,[t1,n1,qi,xt]],["cellToChildren",Kt,[t1,n1,qi,xt]],["cellToCenterChild",Kt,[t1,n1,qi,xt]],["cellToChildrenSize",Kt,[t1,n1,qi,xt]],["cellToChildPos",Kt,[t1,n1,qi,xt]],["childPosToCell",Kt,[i1,i1,t1,n1,qi,xt]],["areNeighborCells",Kt,[t1,n1,t1,n1,xt]],["cellsToDirectedEdge",Kt,[t1,n1,t1,n1,xt]],["getDirectedEdgeOrigin",Kt,[t1,n1,xt]],["getDirectedEdgeDestination",Kt,[t1,n1,xt]],["isValidDirectedEdge",a6,[t1,n1]],["directedEdgeToCells",Kt,[t1,n1,xt]],["originToDirectedEdges",Kt,[t1,n1,xt]],["directedEdgeToBoundary",Kt,[t1,n1,xt]],["gridDistance",Kt,[t1,n1,t1,n1,xt]],["gridPathCells",Kt,[t1,n1,t1,n1,xt]],["gridPathCellsSize",Kt,[t1,n1,t1,n1,xt]],["cellToLocalIj",Kt,[t1,n1,t1,n1,i1,xt]],["localIjToCell",Kt,[t1,n1,xt,i1,xt]],["getHexagonAreaAvgM2",Kt,[qi,xt]],["getHexagonAreaAvgKm2",Kt,[qi,xt]],["getHexagonEdgeLengthAvgM",Kt,[qi,xt]],["getHexagonEdgeLengthAvgKm",Kt,[qi,xt]],["greatCircleDistanceM",i1,[xt,xt]],["greatCircleDistanceKm",i1,[xt,xt]],["greatCircleDistanceRads",i1,[xt,xt]],["cellAreaM2",Kt,[t1,n1,xt]],["cellAreaKm2",Kt,[t1,n1,xt]],["cellAreaRads2",Kt,[t1,n1,xt]],["edgeLengthM",Kt,[t1,n1,xt]],["edgeLengthKm",Kt,[t1,n1,xt]],["edgeLengthRads",Kt,[t1,n1,xt]],["getNumCells",Kt,[qi,xt]],["getRes0Cells",Kt,[xt]],["res0CellCount",i1],["getPentagons",Kt,[i1,xt]],["pentagonCount",i1],["cellToVertex",Kt,[t1,n1,i1,xt]],["cellToVertexes",Kt,[t1,n1,xt]],["vertexToLatLng",Kt,[t1,n1,xt]],["isValidVertex",a6,[t1,n1]]],xj=0,Sj=1,yj=2,Nj=3,YN=4,vj=5,Oj=6,Tj=7,Rj=8,bj=9,Ij=10,Pj=11,Lj=12,Dj=13,Cj=14,wj=15,Ri={};Ri[xj]="Success";Ri[Sj]="The operation failed but a more specific error is not available";Ri[yj]="Argument was outside of acceptable range";Ri[Nj]="Latitude or longitude arguments were outside of acceptable range";Ri[YN]="Resolution argument was outside of acceptable range";
3846Ri[vj]="Cell argument was not valid";Ri[Oj]="Directed edge argument was not valid";Ri[Tj]="Undirected edge argument was not valid";Ri[Rj]="Vertex argument was not valid";Ri[bj]="Pentagon distortion was encountered";Ri[Ij]="Duplicate input";Ri[Pj]="Cell arguments were not neighbors";Ri[Lj]="Cell arguments had incompatible resolutions";Ri[Dj]="Memory allocation failed";Ri[Cj]="Bounds of provided memory were insufficient";Ri[wj]="Mode or flags argument was not valid";var Bj=1e3,$N=1001,jN=1002,tu={};tu[Bj]="Unknown unit";tu[$N]="Array length out of bounds";tu[jN]="Got unexpected null value for H3 index";var Uj="Unknown error";function XN(n,e,t){var i=t&&"value"in t,r=new Error((n[e]||Uj)+" (code: "+e+(i?", value: "+t.value:"")+")");return r.code=e,r}function ZN(n,e){var t=arguments.length===2?{value:e}:{};return XN(Ri,n,t)}function QN(n,e){var t=arguments.length===2?{value:e}:{};return XN(tu,n,t)}function b8(n){if(n!==0)throw ZN(n)}var Nr={};Mj.forEach(function(e){Nr[e[0]]=I1.cwrap.apply(I1,e)});var go=16,I8=4,f4=8,Fj=8,h9=Nr.sizeOfH3Index(),vq=Nr.sizeOfLatLng(),Gj=Nr.sizeOfCellBoundary(),Vj=Nr.sizeOfGeoPolygon(),H6=Nr.sizeOfGeoLoop();Nr.sizeOfLinkedGeoPolygon();Nr.sizeOfCoordIJ();function kj(n){if(typeof n!="number"||n<0||n>15||Math.floor(n)!==n)throw ZN(YN,n);return n}function zj(n){if(!n)throw QN(jN);return n}var Wj=Math.pow(2,32)-1;function Hj(n){if(n>Wj)throw QN($N,n);return n}var Kj=/[^0-9a-fA-F]/;function JN(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||Kj.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),go),t=parseInt(n.substring(n.length-8),go);return[t,e]}function FE(n){if(n>=0)return n.toString(go);n=n&2147483647;var e=ev(8,n.toString(go)),t=(parseInt(e[0],go)+8).toString(go);return e=t+e.substring(1),e}function Yj(n,e){return FE(e)+ev(8,FE(n))}function ev(n,e){for(var t=n-e.length,i="",r=0;r<t;r++)i+="0";return i=i+e,i}function GE(n,e,t){for(var i=n.length,r=I1._calloc(i,vq),s=t?1:0,a=t?0:1,o=0;o<i*2;o+=2)I1.HEAPF64.set([n[o/2][s],n[o/2][a]].map(rv),r/f4+o);return I1.HEAPU32.set([i,r],e/I8),e}function $j(n,e){var t=n.length-1,i=I1._calloc(Vj),r=0,s=r+H6,a=s+I8;GE(n[0],i+r,e);var o;if(t>0){o=I1._calloc(t,H6);for(var l=0;l<t;l++)GE(n[l+1],o+H6*l,e)}return I1.setValue(i+s,t,"i32"),I1.setValue(i+a,o,"i32"),i}function jj(n){var e=0,t=e+H6,i=t+I8,r=I8;I1._free(I1.getValue(n+e+r,"i8*"));var s=I1.getValue(n+t,"i32");if(s>0){for(var a=I1.getValue(n+i,"i32"),o=0;o<s;o++)I1._free(I1.getValue(a+H6*o+r,"i8*"));I1._free(a)}I1._free(n)}function tv(n,e){e===void 0&&(e=0);var t=I1.getValue(n+h9*e,"i32"),i=I1.getValue(n+h9*e+I8,"i32");return i?Yj(t,i):null}function Xj(n){return Nr.readInt64AsDoubleFromPointer(n)}function Zj(n,e){for(var t=[],i=0;i<e;i++){var r=tv(n,i);r!==null&&t.push(r)}return t}function f9(n){return nX(I1.getValue(n,"double"))}function Qj(n){return[f9(n),f9(n+f4)]}function Jj(n){return[f9(n+f4),f9(n)]}function eX(n,e,t){for(var i=I1.getValue(n,"i32"),r=n+f4,s=[],a=Jj,o=0;o<i*2;o+=2)s.push(a(r+f4*o));return s.push(s[0]),s}function tX(n,e,t){var i=I1._malloc(vq);I1.HEAPF64.set([n,e].map(rv),i/f4);var r=I1._malloc(h9);try{return b8(Nr.latLngToCell(i,t,r)),zj(tv(r))}finally{I1._free(r),I1._free(i)}}function nv(n){var e=I1._malloc(vq),t=JN(n),i=t[0],r=t[1];try{return b8(Nr.cellToLatLng(i,r,e)),Qj(e)}finally{I1._free(e)}}function iv(n,e){var t=I1._malloc(Gj),i=JN(n),r=i[0],s=i[1];try{return b8(Nr.cellToBoundary(r,s,t)),eX(t,e,e)}finally{I1._free(t)}}function VE(n,e,t){if(kj(e),t=!!t,n.length===0||n[0].length===0)return[];var i=typeof n[0][0]=="number"?[n]:n,r=$j(i,t),s=I1._malloc(Fj);try{b8(Nr.maxPolygonToCellsSize(r,e,0,s));var a=Hj(Xj(s)),o=I1._calloc(a,h9);try{return b8(Nr.polygonToCells(r,e,0,o)),Zj(o,a)}finally{I1._free(o)}}finally{I1._free(s),jj(r)}}function rv(n){return n*Math.PI/180}function nX(n){return n*180/Math.PI}function iX(n){return n=Math.max(0,Math.min(1,n)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+n*(1172.33-n*(10793.56-n*(33300.12-n*(38394.49-n*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+n*(557.33+n*(1225.33-n*(3574.96-n*(1073.77+n*707.56)))))))+", "+
3846Math.max(0,Math.min(255,Math.round(27.2+n*(3211.1-n*(15327.97-n*(27814-n*(22569.18-n*6838.66)))))))+")"}/** 3847 * @license 3848 * Copyright 2010-2025 Three.js Authors 3849 * SPDX-License-Identifier: MIT 3850 */const rX=["alphaMap","alphaTest","anisotropy","anisotropyMap","anisotropyRotation","aoMap","aoMapIntensity","attenuationColor","attenuationDistance","bumpMap","clearcoat","clearcoatMap","clearcoatNormalMap","clearcoatNormalScale","clearcoatRoughness","color","dispersion","displacementMap","emissive","emissiveIntensity","emissiveMap","envMap","envMapIntensity","gradientMap","ior","iridescence","iridescenceIOR","iridescenceMap","iridescenceThicknessMap","lightMap","lightMapIntensity","map","matcap","metalness","metalnessMap","normalMap","normalScale","opacity","roughness","roughnessMap","sheen","sheenColor","sheenColorMap","sheenRoughnessMap","shininess","specular","specularColor","specularColorMap","specularIntensity","specularIntensityMap","specularMap","thickness","transmission","transmissionMap"];class sX{constructor(e){this.renderObjects=new WeakMap,this.hasNode=this.containsNode(e),this.hasAnimation=e.object.isSkinnedMesh===!0,this.refreshUniforms=rX,this.renderId=0}firstInitialization(e){return this.renderObjects.has(e)===!1?(this.getRenderObjectData(e),!0):!1}needsVelocity(e){const t=e.getMRT();return t!==null&&t.has("velocity")}getRenderObjectData(e){let t=this.renderObjects.get(e);if(t===void 0){const{geometry:i,material:r,object:s}=e;if(t={material:this.getMaterialData(r),geometry:{id:i.id,attributes:this.getAttributesData(i.attributes),indexVersion:i.index?i.index.version:null,drawRange:{start:i.drawRange.start,count:i.drawRange.count}},worldMatrix:s.matrixWorld.clone()},s.center&&(t.center=s.center.clone()),s.morphTargetInfluences&&(t.morphTargetInfluences=s.morphTargetInfluences.slice()),e.bundle!==null&&(t.version=e.bundle.version),t.material.transmission>0){const{width:a,height:o}=e.context;t.bufferWidth=a,t.bufferHeight=o}this.renderObjects.set(e,t)}return t}getAttributesData(e){const t={};for(const i in e){const r=e[i];t[i]={version:r.version}}return t}containsNode(e){const t=e.material;for(const i in t)if(t[i]&&t[i].isNode)return!0;return e.renderer.overrideNodes.modelViewMatrix!==null||e.renderer.overrideNodes.modelNormalViewMatrix!==null}getMaterialData(e){const t={};for(const i of this.refreshUniforms){const r=e[i];r!=null&&(typeof r=="object"&&r.clone!==void 0?r.isTexture===!0?t[i]={id:r.id,version:r.version}:t[i]=r.clone():t[i]=r)}return t}equals(e){const{object:t,material:i,geometry:r}=e,s=this.getRenderObjectData(e);if(s.worldMatrix.equals(t.matrixWorld)!==!0)return s.worldMatrix.copy(t.matrixWorld),!1;const a=s.material;for(const N in a){const y=a[N],S=i[N];if(y.equals!==void 0){if(y.equals(S)===!1)return y.copy(S),!1}else if(S.isTexture===!0){if(y.id!==S.id||y.version!==S.version)return y.id=S.id,y.version=S.version,!1}else if(y!==S)return a[N]=S,!1}if(a.transmission>0){const{width:N,height:y}=e.context;if(s.bufferWidth!==N||s.bufferHeight!==y)return s.bufferWidth=N,s.bufferHeight=y,!1}const o=s.geometry,l=r.attributes,u=o.attributes,d=Object.keys(u),q=Object.keys(l);if(o.id!==r.id)return o.id=r.id,!1;if(d.length!==q.length)return s.geometry.attributes=this.getAttributesData(l),!1;for(const N of d){const y=u[N],S=l[N];if(S===void 0)return delete u[N],!1;if(y.version!==S.version)return y.version=S.version,!1}const _=r.index,g=o.indexVersion,M=_?_.version:null;if(g!==M)return o.indexVersion=M,!1;if(o.drawRange.start!==r.drawRange.start||o.drawRange.count!==r.drawRange.count)return o.drawRange.start=r.drawRange.start,o.drawRange.count=r.drawRange.count,!1;if(s.morphTargetInfluences){let N=!1;for(let y=0;y<s.morphTargetInfluences.length;y++)s.morphTargetInfluences[y]!==t.morphTargetInfluences[y]&&(N=!0);if(N)return!0}return s.center&&s.center.equals(t.center)===!1?(s.center.copy(t.center),!0):(e.bundle!==null&&(s.version=e.bundle.version),!0)}needsRefresh(e,t){if(this.hasNode||this.hasAnimation||this.firstInitialization(e)||this.needsVelocity(t.renderer))return!0;const{renderId:i}=t;if(this.renderId!==i)return this.renderId=i,!0;const r=e.object.static===!0,s=e.bundle!==null&&e.bundle.static===!0&&this.getRenderObjectData(e).version===e.bundle.version;return r||s?!1:this.equals(e)!==!0}}function P8(n,e=0){let t=3735928559^e,i=1103547991^e;if(n instanceof Array)for(let r=0,s;r<n.length;r++)s=n[r],t=Math.imul(t^s,2654435761),i=Math.imul(i^s,1597334677);else for(let r=0,s;r<n.length;r++)s=n.charCodeAt(r),t=Math.imul(t^s,2654435761),i=Math.imul(i^s,1597334677);return t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(i^i>>>13,3266489909),i=Math.imul(i^i>>>16,2246822507),i^=Math.imul(t^t>>>13,3266489909),4294967296*(2097151&i)+(t>>>0)}const sv=n=>P8(n),nu=n=>P8(n),d9=(...n)=>P8(n);function av(n,e=!1){const t=[];n.isNode===!0&&(t.push(n.id),n=n.getSelf());for(const{property:i,childNode:r}of q9(n))t.push(P8(i.slice(0,-4)),r.getCacheKey(e));return P8(t)}function*q9(n,e=!1){for(const t in n){if(t.startsWith("_")===!0)continue;const i=n[t];if(Array.isArray(i)===!0)for(let r=0;r<i.length;r++){const s=i[r];s&&(s.isNode===!0||e&&typeof s.toJSON=="function")&&(yield{property:t,index:r,childNode:s})}else if(i&&i.isNode===!0)yield{property:t,childNode:i};else if(typeof i=="object")for(const r in i){const s=i[r];s&&(s.isNode===!0||e&&typeof s.toJSON=="function")&&(yield{property:t,index:r,childNode:s})}}}const aX=new Map([[1,"float"],[2,"vec2"],[3,"vec3"],[4,"vec4"],[9,"mat3"],[16,"mat4"]]),kE=new WeakMap;function ov(n){return aX.get(n)}
3850function p9(n){if(/[iu]?vec\d/.test(n))return n.startsWith("ivec")?Int32Array:n.startsWith("uvec")?Uint32Array:Float32Array;if(/mat\d/.test(n)||/float/.test(n))return Float32Array;if(/uint/.test(n))return Uint32Array;if(/int/.test(n))return Int32Array;throw new Error(`THREE.NodeUtils: Unsupported type: ${n}`)}function lv(n){if(/float|int|uint/.test(n))return 1;if(/vec2/.test(n))return 2;if(/vec3/.test(n))return 3;if(/vec4/.test(n)||/mat2/.test(n))return 4;if(/mat3/.test(n))return 9;if(/mat4/.test(n))return 16;console.error("THREE.TSL: Unsupported type:",n)}function oX(n){if(/float|int|uint/.test(n))return 1;if(/vec2/.test(n))return 2;if(/vec3/.test(n))return 3;if(/vec4/.test(n)||/mat2/.test(n))return 4;if(/mat3/.test(n))return 12;if(/mat4/.test(n))return 16;console.error("THREE.TSL: Unsupported type:",n)}function lX(n){if(/float|int|uint/.test(n))return 4;if(/vec2/.test(n))return 8;if(/vec3/.test(n)||/vec4/.test(n))return 16;if(/mat2/.test(n))return 8;if(/mat3/.test(n))return 48;if(/mat4/.test(n))return 64;console.error("THREE.TSL: Unsupported type:",n)}function U3(n){if(n==null)return null;const e=typeof n;return n.isNode===!0?"node":e==="number"?"float":e==="boolean"?"bool":e==="string"?"string":e==="function"?"shader":n.isVector2===!0?"vec2":n.isVector3===!0?"vec3":n.isVector4===!0?"vec4":n.isMatrix2===!0?"mat2":n.isMatrix3===!0?"mat3":n.isMatrix4===!0?"mat4":n.isColor===!0?"color":n instanceof ArrayBuffer?"ArrayBuffer":null}function uv(n,...e){const t=n?n.slice(-4):void 0;return e.length===1&&(t==="vec2"?e=[e[0],e[0]]:t==="vec3"?e=[e[0],e[0],e[0]]:t==="vec4"&&(e=[e[0],e[0],e[0],e[0]])),n==="color"?new Nt(...e):t==="vec2"?new Ce(...e):t==="vec3"?new Z(...e):t==="vec4"?new wt(...e):t==="mat2"?new X9(...e):t==="mat3"?new o1(...e):t==="mat4"?new Yt(...e):n==="bool"?e[0]||!1:n==="float"||n==="int"||n==="uint"?e[0]||0:n==="string"?e[0]||"":n==="ArrayBuffer"?hv(e[0]):null}function cv(n){let e=kE.get(n);return e===void 0&&(e={},kE.set(n,e)),e}function Av(n){let e="";const t=new Uint8Array(n);for(let i=0;i<t.length;i++)e+=String.fromCharCode(t[i]);return btoa(e)}function hv(n){return Uint8Array.from(atob(n),e=>e.charCodeAt(0)).buffer}const D6={VERTEX:"vertex",FRAGMENT:"fragment"},p1={NONE:"none",FRAME:"frame",RENDER:"render",OBJECT:"object"},uX={BOOLEAN:"bool",INTEGER:"int",FLOAT:"float",VECTOR2:"vec2",VECTOR3:"vec3",VECTOR4:"vec4",MATRIX2:"mat2",MATRIX3:"mat3",MATRIX4:"mat4"},ki={READ_ONLY:"readOnly",WRITE_ONLY:"writeOnly",READ_WRITE:"readWrite"},fv=["fragment","vertex"],pf=["setup","analyze","generate"],_f=[...fv,"compute"],ga=["x","y","z","w"],cX={analyze:"setup",generate:"analyze"};let AX=0;class Ut extends O2{static get type(){return"Node"}constructor(e=null){super(),this.nodeType=e,this.updateType=p1.NONE,this.updateBeforeType=p1.NONE,this.updateAfterType=p1.NONE,this.uuid=r4.generateUUID(),this.version=0,this.global=!1,this.parents=!1,this.isNode=!0,this._cacheKey=null,this._cacheKeyVersion=0,Object.defineProperty(this,"id",{value:AX++})}set needsUpdate(e){e===!0&&this.version++}get type(){return this.constructor.type}onUpdate(e,t){return this.updateType=t,this.update=e.bind(this.getSelf()),this}onFrameUpdate(e){return this.onUpdate(e,p1.FRAME)}onRenderUpdate(e){return this.onUpdate(e,p1.RENDER)}onObjectUpdate(e){return this.onUpdate(e,p1.OBJECT)}onReference(e){return this.updateReference=e.bind(this.getSelf()),this}getSelf(){return this.self||this}updateReference(){return this}isGlobal(){return this.global}*getChildren(){for(const{childNode:e}of q9(this))yield e}dispose(){this.dispatchEvent({type:"dispose"})}traverse(e){e(this);for(const t of this.getChildren())t.traverse(e)}getCacheKey(e=!1){return e=e||this.version!==this._cacheKeyVersion,(e===!0||this._cacheKey===null)&&(this._cacheKey=d9(av(this,e),this.customCacheKey()),this._cacheKeyVersion=this.version),this._cacheKey}customCacheKey(){return 0}getScope(){return this}getHash(){return this.uuid}getUpdateType(){return this.updateType}getUpdateBeforeType(){return this.updateBeforeType}getUpdateAfterType(){return this.updateAfterType}getElementType(e){const t=this.getNodeType(e);return e.getElementType(t)}getMemberType(){return"void"}getNodeType(e){const t=e.getNodeProperties(this);return t.outputNode?t.outputNode.getNodeType(e):this.nodeType}getShared(e){const t=this.getHash(e);return e.getNodeFromHash(t)||this}setup(e){const t=e.getNodeProperties(this);let i=0;for(const r of this.getChildren())t["node"+i++]=r;return t.outputNode||null}analyze(e,t=null){const i=e.increaseUsage(this);if(this.parents===!0){const r=e.getDataFromNode(this,"any");r.stages=r.stages||{},r.stages[e.shaderStage]=r.stages[e.shaderStage]||[],r.stages[e.shaderStage].push(t)}if(i===1){const r=e.getNodeProperties(this);for(const s of Object.values(r))s&&s.isNode===!0&&s.build(e,this)}}generate(e,t){const{outputNode:i}
3850=e.getNodeProperties(this);if(i&&i.isNode===!0)return i.build(e,t)}updateBefore(){console.warn("Abstract function.")}updateAfter(){console.warn("Abstract function.")}update(){console.warn("Abstract function.")}build(e,t=null){const i=this.getShared(e);if(this!==i)return i.build(e,t);const r=e.getDataFromNode(this);r.buildStages=r.buildStages||{},r.buildStages[e.buildStage]=!0;const s=cX[e.buildStage];if(s&&r.buildStages[s]!==!0){const l=e.getBuildStage();e.setBuildStage(s),this.build(e),e.setBuildStage(l)}e.addNode(this),e.addChain(this);let a=null;const o=e.getBuildStage();if(o==="setup"){this.updateReference(e);const l=e.getNodeProperties(this);if(l.initialized!==!0){l.initialized=!0,l.outputNode=this.setup(e)||l.outputNode||null;for(const u of Object.values(l))if(u&&u.isNode===!0){if(u.parents===!0){const d=e.getNodeProperties(u);d.parents=d.parents||[],d.parents.push(this)}u.build(e)}}a=l.outputNode}else if(o==="analyze")this.analyze(e,t);else if(o==="generate")if(this.generate.length===1){const u=this.getNodeType(e),d=e.getDataFromNode(this);a=d.snippet,a===void 0?d.generated===void 0?(d.generated=!0,a=this.generate(e)||"",d.snippet=a):(console.warn("THREE.Node: Recursion detected.",this),a=""):d.flowCodes!==void 0&&e.context.nodeBlock!==void 0&&e.addFlowCodeHierarchy(this,e.context.nodeBlock),a=e.format(a,u,t)}else a=this.generate(e,t)||"";return e.removeChain(this),e.addSequentialNode(this),a}getSerializeChildren(){return q9(this)}serialize(e){const t=this.getSerializeChildren(),i={};for(const{property:r,index:s,childNode:a}of t)s!==void 0?(i[r]===void 0&&(i[r]=Number.isInteger(s)?[]:{}),i[r][s]=a.toJSON(e.meta).uuid):i[r]=a.toJSON(e.meta).uuid;Object.keys(i).length>0&&(e.inputNodes=i)}deserialize(e){if(e.inputNodes!==void 0){const t=e.meta.nodes;for(const i in e.inputNodes)if(Array.isArray(e.inputNodes[i])){const r=[];for(const s of e.inputNodes[i])r.push(t[s]);this[i]=r}else if(typeof e.inputNodes[i]=="object"){const r={};for(const s in e.inputNodes[i]){const a=e.inputNodes[i][s];r[s]=t[a]}this[i]=r}else{const r=e.inputNodes[i];this[i]=t[r]}}}toJSON(e){const{uuid:t,type:i}=this,r=e===void 0||typeof e=="string";r&&(e={textures:{},images:{},nodes:{}});let s=e.nodes[t];s===void 0&&(s={uuid:t,type:i,meta:e,metadata:{version:4.7,type:"Node",generator:"Node.toJSON"}},r!==!0&&(e.nodes[s.uuid]=s),this.serialize(s),delete s.meta);function a(o){const l=[];for(const u in o){const d=o[u];delete d.metadata,l.push(d)}return l}if(r){const o=a(e.textures),l=a(e.images),u=a(e.nodes);o.length>0&&(s.textures=o),l.length>0&&(s.images=l),u.length>0&&(s.nodes=u)}return s}}class Ea extends Ut{static get type(){return"ArrayElementNode"}constructor(e,t){super(),this.node=e,this.indexNode=t,this.isArrayElementNode=!0}getNodeType(e){return this.node.getElementType(e)}generate(e){const t=this.indexNode.getNodeType(e),i=this.node.build(e),r=this.indexNode.build(e,!e.isVector(t)&&e.isInteger(t)?t:"uint");return`${i}[ ${r} ]`}}class dv extends Ut{static get type(){return"ConvertNode"}constructor(e,t){super(),this.node=e,this.convertTo=t}getNodeType(e){const t=this.node.getNodeType(e);let i=null;for(const r of this.convertTo.split("|"))(i===null||e.getTypeLength(t)===e.getTypeLength(r))&&(i=r);return i}serialize(e){super.serialize(e),e.convertTo=this.convertTo}deserialize(e){super.deserialize(e),this.convertTo=e.convertTo}generate(e,t){const i=this.node,r=this.getNodeType(e),s=i.build(e,r);return e.format(s,r,t)}}class zn extends Ut{static get type(){return"TempNode"}constructor(e=null){super(e),this.isTempNode=!0}hasDependencies(e){return e.getDataFromNode(this).usageCount>1}build(e,t){if(e.getBuildStage()==="generate"){const r=e.getVectorType(this.getNodeType(e,t)),s=e.getDataFromNode(this);if(s.propertyName!==void 0)return e.format(s.propertyName,r,t);if(r!=="void"&&t!=="void"&&this.hasDependencies(e)){const a=super.build(e,r),o=e.getVarFromNode(this,null,r),l=e.getPropertyName(o);return e.addLineFlowCode(`${l} = ${a}`,this),s.snippet=a,s.propertyName=l,e.format(s.propertyName,r,t)}}return super.build(e,t)}}class hX extends zn{static get type(){return"JoinNode"}constructor(e=[],t=null){super(t),this.nodes=e}
3850getNodeType(e){return this.nodeType!==null?e.getVectorType(this.nodeType):e.getTypeFromLength(this.nodes.reduce((t,i)=>t+e.getTypeLength(i.getNodeType(e)),0))}generate(e,t){const i=this.getNodeType(e),r=e.getTypeLength(i),s=this.nodes,a=e.getComponentType(i),o=[];let l=0;for(const d of s){if(l>=r){console.error(`THREE.TSL: Length of parameters exceeds maximum length of function '${i}()' type.`);break}let q=d.getNodeType(e),_=e.getTypeLength(q),g;l+_>r&&(console.error(`THREE.TSL: Length of '${i}()' data exceeds maximum length of output type.`),_=r-l,q=e.getTypeFromLength(_)),l+=_,g=d.build(e,q);const M=e.getComponentType(q);M!==a&&(g=e.format(g,M,a)),o.push(g)}const u=`${e.getType(i)}( ${o.join(", ")} )`;return e.format(u,i,t)}}const fX=ga.join("");class mf extends Ut{static get type(){return"SplitNode"}constructor(e,t="x"){super(),this.node=e,this.components=t,this.isSplitNode=!0}getVectorLength(){let e=this.components.length;for(const t of this.components)e=Math.max(ga.indexOf(t)+1,e);return e}getComponentType(e){return e.getComponentType(this.node.getNodeType(e))}getNodeType(e){return e.getTypeFromLength(this.components.length,this.getComponentType(e))}generate(e,t){const i=this.node,r=e.getTypeLength(i.getNodeType(e));let s=null;if(r>1){let a=null;this.getVectorLength()>=r&&(a=e.getTypeFromLength(this.getVectorLength(),this.getComponentType(e)));const l=i.build(e,a);this.components.length===r&&this.components===fX.slice(0,this.components.length)?s=e.format(l,a,t):s=e.format(`${l}.${this.components}`,this.getNodeType(e),t)}else s=i.build(e,t);return s}serialize(e){super.serialize(e),e.components=this.components}deserialize(e){super.deserialize(e),this.components=e.components}}class dX extends zn{static get type(){return"SetNode"}constructor(e,t,i){super(),this.sourceNode=e,this.components=t,this.targetNode=i}getNodeType(e){return this.sourceNode.getNodeType(e)}generate(e){const{sourceNode:t,components:i,targetNode:r}=this,s=this.getNodeType(e),a=e.getComponentType(r.getNodeType(e)),o=e.getTypeFromLength(i.length,a),l=r.build(e,o),u=t.build(e,s),d=e.getTypeLength(s),q=[];for(let _=0;_<d;_++){const g=ga[_];g===i[0]?(q.push(l),_+=i.length-1):q.push(u+"."+g)}return`${e.getType(s)}( ${q.join(", ")} )`}}class qX extends zn{static get type(){return"FlipNode"}constructor(e,t){super(),this.sourceNode=e,this.components=t}getNodeType(e){return this.sourceNode.getNodeType(e)}generate(e){const{components:t,sourceNode:i}=this,r=this.getNodeType(e),s=i.build(e),a=e.getVarFromNode(this),o=e.getPropertyName(a);e.addLineFlowCode(o+" = "+s,this);const l=e.getTypeLength(r),u=[];let d=0;for(let q=0;q<l;q++){const _=ga[q];_===t[d]?(u.push("1.0 - "+(o+"."+_)),d++):u.push(o+"."+_)}return`${e.getType(r)}( ${u.join(", ")} )`}}class Oq extends Ut{static get type(){return"InputNode"}constructor(e,t=null){super(t),this.isInputNode=!0,this.value=e,this.precision=null}getNodeType(){return this.nodeType===null?U3(this.value):this.nodeType}getInputType(e){return this.getNodeType(e)}setPrecision(e){return this.precision=e,this}serialize(e){super.serialize(e),e.value=this.value,this.value&&this.value.toArray&&(e.value=this.value.toArray()),e.valueType=U3(this.value),e.nodeType=this.nodeType,e.valueType==="ArrayBuffer"&&(e.value=Av(e.value)),e.precision=this.precision}deserialize(e){super.deserialize(e),this.nodeType=e.nodeType,this.value=Array.isArray(e.value)?uv(e.valueType,...e.value):e.value,this.precision=e.precision||null,this.value&&this.value.fromArray&&(this.value=this.value.fromArray(e.value))}generate(){console.warn("Abstract function.")}}const zE=/float|u?int/;class k0 extends Oq{static get type(){return"ConstNode"}constructor(e,t=null){super(e,t),this.isConstNode=!0}generateConst(e){return e.generateConst(this.getNodeType(e),this.value)}generate(e,t){const i=this.getNodeType(e);return zE.test(i)&&zE.test(t)?e.generateConst(t,this.value):e.format(this.generateConst(e),i,t)}}class pX extends Ut{static get type(){return"MemberNode"}constructor(e,t){super(),this.node=e,this.property=t,this.isMemberNode=!0}getNodeType(e){return this.node.getMemberType(e,this.property)}generate(e){return this.node.build(e)+"."+this.property}}let qa=null;const Eo=new Map;function be(n,e){if(Eo.has(n)){console.warn(`THREE.TSL: Redefinition of method chaining '${n}'.`);return}if(typeof e!="function")throw new Error(`THREE.TSL: Node element ${n} is not a function`);Eo.set(n,e)}const qv=n=>n.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),WE=n=>qv(n).split("").sort().join(""),pv={setup(n,e){const t=e.shift();return n(s5(t),...e)},get(n,e,t){if(typeof e=="string"&&n[e]===void 0){if(n.isStackNode!==!0&&e==="assign")return(...i)=>(qa.assign(t,...i),t);if(Eo.has(e)){const i=Eo.get(e);return n.isStackNode?(...r)=>t.add(i(...r)):(...r)=>i(t,...r)}else{if(e==="self")return n;if(e.endsWith("Assign")&&Eo.has(e.slice(0,e.length-6))){const i=Eo.get(e.slice(0,e.length-6));return n.isStackNode?(...r)=>t.assign(r[0],i(...r)):(...r)=>t.assign(i(t,...r))}else{if(/^[xyzwrgbastpq]{1,4}$/.test(e)===!0)return e=qv(e),Ie(new mf(t,e));if(/^set[XYZWRGBASTPQ]{1,4}$/.test(e)===!0)return e=WE(e.slice(3).toLowerCase()),i=>
3850Ie(new dX(n,e,Ie(i)));if(/^flip[XYZWRGBASTPQ]{1,4}$/.test(e)===!0)return e=WE(e.slice(4).toLowerCase()),()=>Ie(new qX(Ie(n),e));if(e==="width"||e==="height"||e==="depth")return e==="width"?e="x":e==="height"?e="y":e==="depth"&&(e="z"),Ie(new mf(n,e));if(/^\d+$/.test(e)===!0)return Ie(new Ea(t,new k0(Number(e),"uint")));if(/^get$/.test(e)===!0)return i=>Ie(new pX(t,i))}}}return Reflect.get(n,e,t)},set(n,e,t,i){return typeof e=="string"&&n[e]===void 0&&(/^[xyzwrgbastpq]{1,4}$/.test(e)===!0||e==="width"||e==="height"||e==="depth"||/^\d+$/.test(e)===!0)?(i[e].assign(t),!0):Reflect.set(n,e,t,i)}},lA=new WeakMap,HE=new WeakMap,_X=function(n,e=null){const t=U3(n);if(t==="node"){let i=lA.get(n);return i===void 0&&(i=new Proxy(n,pv),lA.set(n,i),lA.set(i,i)),i}else{if(e===null&&(t==="float"||t==="boolean")||t&&t!=="shader"&&t!=="string")return Ie(gf(n,e));if(t==="shader")return qe(n)}return n},mX=function(n,e=null){for(const t in n)n[t]=Ie(n[t],e);return n},gX=function(n,e=null){const t=n.length;for(let i=0;i<t;i++)n[i]=Ie(n[i],e);return n},EX=function(n,e=null,t=null,i=null){const r=d=>Ie(i!==null?Object.assign(d,i):d);let s,a=e,o,l;function u(d){let q;return a?q=/[a-z]/i.test(a)?a+"()":a:q=n.type,o!==void 0&&d.length<o?(console.error(`THREE.TSL: "${q}" parameter length is less than minimum required.`),d.concat(new Array(o-d.length).fill(0))):l!==void 0&&d.length>l?(console.error(`THREE.TSL: "${q}" parameter length exceeds limit.`),d.slice(0,l)):d}return e===null?s=(...d)=>r(new n(...ta(u(d)))):t!==null?(t=Ie(t),s=(...d)=>r(new n(e,...ta(u(d)),t))):s=(...d)=>r(new n(e,...ta(u(d)))),s.setParameterLength=(...d)=>(d.length===1?o=l=d[0]:d.length===2&&([o,l]=d),s),s.setName=d=>(a=d,s),s},MX=function(n,...e){return Ie(new n(...ta(e)))};class xX extends Ut{constructor(e,t){super(),this.shaderNode=e,this.inputNodes=t,this.isShaderCallNodeInternal=!0}getNodeType(e){return this.shaderNode.nodeType||this.getOutputNode(e).getNodeType(e)}getMemberType(e,t){return this.getOutputNode(e).getMemberType(e,t)}call(e){const{shaderNode:t,inputNodes:i}=this,r=e.getNodeProperties(t),s=t.namespace&&t.namespace===e.namespace?e.getNamespace("once"):"once";if(r[s])return r[s];let a=null;if(t.layout){let o=HE.get(e.constructor);o===void 0&&(o=new WeakMap,HE.set(e.constructor,o));let l=o.get(t);l===void 0&&(l=Ie(e.buildFunctionNode(t)),o.set(t,l)),e.addInclude(l),a=Ie(l.call(i))}else{const o=t.jsFunc,l=i!==null||o.length>1?o(i||[],e):o(e);a=Ie(l)}return t.once&&(r[s]=a),a}setupOutput(e){return e.addStack(),e.stack.outputNode=this.call(e),e.removeStack()}getOutputNode(e){const t=e.getNodeProperties(this),i=e.getOutputNamespace();return t[i]=t[i]||this.setupOutput(e),t[i]}build(e,t=null){let i=null;const r=e.getBuildStage(),s=e.getNodeProperties(this),a=e.getOutputNamespace(),o=this.getOutputNode(e);if(r==="setup"){const l=e.getNamespace("initialized");s[l]!==!0&&(s[l]=!0,s[a]=this.getOutputNode(e),s[a].build(e)),i=s[a]}else r==="analyze"?o.build(e,t):r==="generate"&&(i=o.build(e,t)||"");return i}}class SX extends Ut{constructor(e,t){super(t),this.jsFunc=e,this.layout=null,this.global=!0,this.once=!1,this.namespace=null}setLayout(e){return this.layout=e,this}call(e=null){return s5(e),Ie(new xX(this,e))}setup(){return this.call()}}const yX=[!1,!0],NX=[0,1,2,3],vX=[-1,-2],_v=[.5,1.5,1/3,1e-6,1e6,Math.PI,Math.PI*2,1/Math.PI,2/Math.PI,1/(Math.PI*2),Math.PI/2],Tq=new Map;for(const n of yX)Tq.set(n,new k0(n));const Rq=new Map;for(const n of NX)Rq.set(n,new k0(n,"uint"));const bq=new Map([...Rq].map(n=>new k0(n.value,"int")));for(const n of vX)bq.set(n,new k0(n,"int"));const iu=new Map([...bq].map(n=>new k0(n.value)));for(const n of _v)iu.set(n,new k0(n));for(const n of _v)iu.set(-n,new k0(-n));const ru={bool:Tq,uint:Rq,ints:bq,float:iu},KE=new Map([...Tq,...iu]),gf=(n,e)=>KE.has(n)?KE.get(n):n.isNode===!0?n:new k0(n,e),OX=n=>{try{return n.getNodeType()}catch{return}},ii=function(n,e=null){return(...t)=>{if((t.length===0||!["bool","float","int","uint"].includes(n)&&t.every(r=>typeof r!="object"))&&(t=[uv(n,...t)]),t.length===1&&e!==null&&e.has(t[0]))return Ie(e.get(t[0]));if(t.length===1){const r=gf(t[0],n);return OX(r)===n?Ie(r):Ie(new dv(r,n))}const i=t.map(r=>gf(r));return Ie(new hX(i,n))}},L8=n=>typeof n=="object"&&n!==null?n.value:n,mv=n=>n!=null?n.nodeType||n.convertTo||(typeof n=="string"?n:null):null;function Mo(n,e){return new Proxy(new SX(n,e),pv)}const Ie=(n,e=null)=>_X(n,e),s5=(n,e=null)=>new mX(n,e),ta=(n,e=null)=>new gX(n,e),De=(...n)=>new EX(...n),at=(...n)=>new MX(...n);let TX=0;const qe=(n,e=null)=>{let t=null;e!==null&&(typeof e=="object"?t=e.return:(typeof e=="string"?t=e:console.error("THREE.TSL: Invalid layout type."),e=null));const i=new Mo(n,t),r=(...s)=>{let a;s5(s),s[0]&&(s[0].isNode||Object.getPrototypeOf(s[0])!==Object.prototype)?a=[...s]:a=s[0];const l=i.call(a);return t==="void"&&l.toStack(),l};
3850if(r.shaderNode=i,r.id=i.id,r.getNodeType=(...s)=>i.getNodeType(...s),r.getCacheKey=(...s)=>i.getCacheKey(...s),r.setLayout=s=>(i.setLayout(s),r),r.once=(s=null)=>(i.once=!0,i.namespace=s,r),e!==null){if(typeof e.inputs!="object"){const s={name:"fn"+TX++,type:t,inputs:[]};for(const a in e)a!=="return"&&s.inputs.push({name:a,type:e[a]});e=s}r.setLayout(e)}return r},D8=n=>{qa=n},Iq=()=>qa,c1=(...n)=>qa.If(...n),RX=(...n)=>qa.Switch(...n);function su(n){return qa&&qa.add(n),n}be("toStack",su);const gv=new ii("color"),te=new ii("float",ru.float),le=new ii("int",ru.ints),ft=new ii("uint",ru.uint),E2=new ii("bool",ru.bool),Ue=new ii("vec2"),oi=new ii("ivec2"),Ev=new ii("uvec2"),Mv=new ii("bvec2"),he=new ii("vec3"),xv=new ii("ivec3"),L4=new ii("uvec3"),Pq=new ii("bvec3"),It=new ii("vec4"),Sv=new ii("ivec4"),yv=new ii("uvec4"),Nv=new ii("bvec4"),au=new ii("mat2"),Ki=new ii("mat3"),na=new ii("mat4"),bX=(n="")=>Ie(new k0(n,"string")),IX=n=>Ie(new k0(n,"ArrayBuffer"));be("toColor",gv);be("toFloat",te);be("toInt",le);be("toUint",ft);be("toBool",E2);be("toVec2",Ue);be("toIVec2",oi);be("toUVec2",Ev);be("toBVec2",Mv);be("toVec3",he);be("toIVec3",xv);be("toUVec3",L4);be("toBVec3",Pq);be("toVec4",It);be("toIVec4",Sv);be("toUVec4",yv);be("toBVec4",Nv);be("toMat2",au);be("toMat3",Ki);be("toMat4",na);const vv=De(Ea).setParameterLength(2),Ov=(n,e)=>Ie(new dv(Ie(n),e)),PX=(n,e)=>Ie(new mf(Ie(n),e));be("element",vv);be("convert",Ov);const LX=n=>(console.warn("THREE.TSL: append() has been renamed to Stack()."),su(n));be("append",n=>(console.warn("THREE.TSL: .append() has been renamed to .toStack()."),su(n)));const DX=(...n)=>(console.warn("THREE.TSL: tslFn() has been renamed to Fn()."),qe(...n));class Y1 extends Ut{static get type(){return"PropertyNode"}constructor(e,t=null,i=!1){super(e),this.name=t,this.varying=i,this.isPropertyNode=!0,this.global=!0}getHash(e){return this.name||super.getHash(e)}generate(e){let t;return this.varying===!0?(t=e.getVaryingFromNode(this,this.name),t.needsInterpolation=!0):t=e.getVarFromNode(this,this.name),e.getPropertyName(t)}}const D4=(n,e)=>Ie(new Y1(n,e)),C8=(n,e)=>Ie(new Y1(n,e,!0)),U1=at(Y1,"vec4","DiffuseColor"),Ef=at(Y1,"vec3","EmissiveColor"),i2=at(Y1,"float","Roughness"),w8=at(Y1,"float","Metalness"),_9=at(Y1,"float","Clearcoat"),B8=at(Y1,"float","ClearcoatRoughness"),Ws=at(Y1,"vec3","Sheen"),ou=at(Y1,"float","SheenRoughness"),lu=at(Y1,"float","Iridescence"),Lq=at(Y1,"float","IridescenceIOR"),Dq=at(Y1,"float","IridescenceThickness"),m9=at(Y1,"float","AlphaT"),L3=at(Y1,"float","Anisotropy"),K6=at(Y1,"vec3","AnisotropyT"),ia=at(Y1,"vec3","AnisotropyB"),hr=at(Y1,"color","SpecularColor"),U8=at(Y1,"float","SpecularF90"),g9=at(Y1,"float","Shininess"),Io=at(Y1,"vec4","Output"),q7=at(Y1,"float","dashSize"),Mf=at(Y1,"float","gapSize"),CX=at(Y1,"float","pointWidth"),Y6=at(Y1,"float","IOR"),E9=at(Y1,"float","Transmission"),Cq=at(Y1,"float","Thickness"),wq=at(Y1,"float","AttenuationDistance"),Bq=at(Y1,"color","AttenuationColor"),Uq=at(Y1,"float","Dispersion");class Tv extends Ut{static get type(){return"UniformGroupNode"}constructor(e,t=!1,i=1){super("string"),this.name=e,this.shared=t,this.order=i,this.isUniformGroup=!0}serialize(e){super.serialize(e),e.name=this.name,e.version=this.version,e.shared=this.shared}deserialize(e){super.deserialize(e),this.name=e.name,this.version=e.version,this.shared=e.shared}}const Rv=n=>new Tv(n),uu=(n,e=0)=>new Tv(n,!0,e),bv=uu("frame"),Ct=uu("render"),Fq=Rv("object");class a5 extends Oq{static get type(){return"UniformNode"}constructor(e,t=null){super(e,t),this.isUniformNode=!0,this.name="",this.groupNode=Fq}label(e){return this.name=e,this}setGroup(e){return this.groupNode=e,this}getGroup(){return this.groupNode}getUniformHash(e){return this.getHash(e)}
3850onUpdate(e,t){const i=this.getSelf();return e=e.bind(i),super.onUpdate(r=>{const s=e(r,i);s!==void 0&&(this.value=s)},t)}generate(e,t){const i=this.getNodeType(e),r=this.getUniformHash(e);let s=e.getNodeFromHash(r);s===void 0&&(e.setHashNode(this,r),s=this);const a=s.getInputType(e),o=e.getUniformFromNode(s,a,e.shaderStage,this.name||e.context.label),l=e.getPropertyName(o);return e.context.label!==void 0&&delete e.context.label,e.format(l,i,t)}}const Pt=(n,e)=>{const t=mv(e||n),i=n&&n.isNode===!0?n.node&&n.node.value||n.value:n;return Ie(new a5(i,t))};class YE extends zn{static get type(){return"ArrayNode"}constructor(e,t,i=null){super(e),this.count=t,this.values=i,this.isArrayNode=!0}getNodeType(e){return this.nodeType===null&&(this.nodeType=this.values[0].getNodeType(e)),this.nodeType}getElementType(e){return this.getNodeType(e)}generate(e){const t=this.getNodeType(e);return e.generateArray(t,this.count,this.values)}}const Iv=(...n)=>{let e;if(n.length===1){const t=n[0];e=new YE(null,t.length,t)}else{const t=n[0],i=n[1];e=new YE(t,i)}return Ie(e)};be("toArray",(n,e)=>Iv(Array(e).fill(n)));class wX extends zn{static get type(){return"AssignNode"}constructor(e,t){super(),this.targetNode=e,this.sourceNode=t,this.isAssignNode=!0}hasDependencies(){return!1}getNodeType(e,t){return t!=="void"?this.targetNode.getNodeType(e):"void"}needsSplitAssign(e){const{targetNode:t}=this;if(e.isAvailable("swizzleAssign")===!1&&t.isSplitNode&&t.components.length>1){const i=e.getTypeLength(t.node.getNodeType(e));return ga.join("").slice(0,i)!==t.components}return!1}setup(e){const{targetNode:t,sourceNode:i}=this,r=e.getNodeProperties(this);r.sourceNode=i,r.targetNode=t.context({assign:!0})}generate(e,t){const{targetNode:i,sourceNode:r}=e.getNodeProperties(this),s=this.needsSplitAssign(e),a=i.getNodeType(e),o=i.build(e),l=r.build(e,a),u=r.getNodeType(e),d=e.getDataFromNode(this);let q;if(d.initialized===!0)t!=="void"&&(q=o);else if(s){const _=e.getVarFromNode(this,null,a),g=e.getPropertyName(_);e.addLineFlowCode(`${g} = ${l}`,this);const M=i.node,y=M.node.context({assign:!0}).build(e);for(let S=0;S<M.components.length;
3850S++){const R=M.components[S];e.addLineFlowCode(`${y}.${R} = ${g}[ ${S} ]`,this)}t!=="void"&&(q=o)}else q=`${o} = ${l}`,(t==="void"||u==="void")&&(e.addLineFlowCode(q,this),t!=="void"&&(q=o));return d.initialized=!0,e.format(q,a,t)}}const Pv=De(wX).setParameterLength(2);be("assign",Pv);class BX extends zn{static get type(){return"FunctionCallNode"}constructor(e=null,t={}){super(),this.functionNode=e,this.parameters=t}setParameters(e){return this.parameters=e,this}getParameters(){return this.parameters}getNodeType(e){return this.functionNode.getNodeType(e)}generate(e){const t=[],i=this.functionNode,r=i.getInputs(e),s=this.parameters,a=(l,u)=>{const d=u.type,q=d==="pointer";let _;return q?_="&"+l.build(e):_=l.build(e,d),_};if(Array.isArray(s)){if(s.length>r.length)console.error("THREE.TSL: The number of provided parameters exceeds the expected number of inputs in 'Fn()'."),s.length=r.length;else if(s.length<r.length)for(console.error("THREE.TSL: The number of provided parameters is less than the expected number of inputs in 'Fn()'.");s.length<r.length;)s.push(te(0));for(let l=0;l<s.length;l++)t.push(a(s[l],r[l]))}else for(const l of r){const u=s[l.name];u!==void 0?t.push(a(u,l)):(console.error(`THREE.TSL: Input '${l.name}' not found in 'Fn()'.`),t.push(a(te(0),l)))}return`${i.build(e,"property")}( ${t.join(", ")} )`}}const Lv=(n,...e)=>(e=e.length>1||e[0]&&e[0].isNode===!0?ta(e):s5(e[0]),Ie(new BX(Ie(n),e)));be("call",Lv);const UX={"==":"equal","!=":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEqual",">=":"greaterThanEqual","%":"mod"};class On extends zn{static get type(){return"OperatorNode"}constructor(e,t,i,...r){if(super(),r.length>0){let s=new On(e,t,i);for(let a=0;a<r.length-1;a++)s=new On(e,s,r[a]);t=s,i=r[r.length-1]}this.op=e,this.aNode=t,this.bNode=i,this.isOperatorNode=!0}getOperatorMethod(e,t){return e.getMethod(UX[this.op],t)}getNodeType(e){const t=this.op,i=this.aNode,r=this.bNode,s=i.getNodeType(e),a=r?r.getNodeType(e):null;if(s==="void"||a==="void")return"void";if(t==="%")return s;if(t==="~"||t==="&"||t==="|"||t==="^"||t===">>"||t==="<<")return e.getIntegerType(s);if(t==="!"||t==="&&"||t==="||"||t==="^^")return"bool";if(t==="=="||t==="!="||t==="<"||t===">"||t==="<="||t===">="){const o=Math.max(e.getTypeLength(s),e.getTypeLength(a));return o>1?`bvec${o}`:"bool"}else{if(e.isMatrix(s)){if(a==="float")return s;if(e.isVector(a))return e.getVectorFromMatrix(s);if(e.isMatrix(a))return s}else if(e.isMatrix(a)){if(s==="float")return a;
3850if(e.isVector(s))return e.getVectorFromMatrix(a)}return e.getTypeLength(a)>e.getTypeLength(s)?a:s}}generate(e,t){const i=this.op,{aNode:r,bNode:s}=this,a=this.getNodeType(e);let o=null,l=null;a!=="void"?(o=r.getNodeType(e),l=s?s.getNodeType(e):null,i==="<"||i===">"||i==="<="||i===">="||i==="=="||i==="!="?e.isVector(o)?l=o:e.isVector(l)?o=l:o!==l&&(o=l="float"):i===">>"||i==="<<"?(o=a,l=e.changeComponentType(l,"uint")):i==="%"?(o=a,l=e.isInteger(o)&&e.isInteger(l)?l:o):e.isMatrix(o)?l==="float"?l="float":e.isVector(l)?l=e.getVectorFromMatrix(o):e.isMatrix(l)||(o=l=a):e.isMatrix(l)?o==="float"?o="float":e.isVector(o)?o=e.getVectorFromMatrix(l):o=l=a:o=l=a):o=l=a;const u=r.build(e,o),d=s?s.build(e,l):null,q=e.getFunctionOperator(i);if(t!=="void"){const _=e.renderer.coordinateSystem===sr;if(i==="=="||i==="!="||i==="<"||i===">"||i==="<="||i===">=")return _?e.isVector(o)?e.format(`${this.getOperatorMethod(e,t)}( ${u}, ${d} )`,a,t):e.format(`( ${u} ${i} ${d} )`,a,t):e.format(`( ${u} ${i} ${d} )`,a,t);if(i==="%")return e.isInteger(l)?e.format(`( ${u} % ${d} )`,a,t):e.format(`${this.getOperatorMethod(e,a)}( ${u}, ${d} )`,a,t);if(i==="!"||i==="~")return e.format(`(${i}${u})`,o,t);if(q)return e.format(`${q}( ${u}, ${d} )`,a,t);if(e.isMatrix(o)&&l==="float")return e.format(`( ${d} ${i} ${u} )`,a,t);if(o==="float"&&e.isMatrix(l))return e.format(`${u} ${i} ${d}`,a,t);{let g=`( ${u} ${i} ${d} )`;return!_&&a==="bool"&&e.isVector(o)&&e.isVector(l)&&(g=`all${g}`),e.format(g,a,t)}}else if(o!=="void")return q?e.format(`${q}( ${u}, ${d} )`,a,t):e.isMatrix(o)&&l==="float"?e.format(`${d} ${i} ${u}`,a,t):e.format(`${u} ${i} ${d}`,a,t)}serialize(e){super.serialize(e),e.op=this.op}deserialize(e){super.deserialize(e),this.op=e.op}}const Yn=De(On,"+").setParameterLength(2,1/0).setName("add"),b1=De(On,"-").setParameterLength(2,1/0).setName("sub"),u1=De(On,"*").setParameterLength(2,1/0).setName("mul"),d0=De(On,"/").setParameterLength(2,1/0).setName("div"),o5=De(On,"%").setParameterLength(2).setName("mod"),Gq=De(On,"==").setParameterLength(2).setName("equal"),Dv=De(On,"!=").setParameterLength(2).setName("notEqual"),Cv=De(On,"<").setParameterLength(2).setName("lessThan"),Vq=De(On,">").setParameterLength(2).setName("greaterThan"),wv=De(On,"<=").setParameterLength(2).setName("lessThanEqual"),Bv=De(On,">=").setParameterLength(2).setName("greaterThanEqual"),Uv=De(On,"&&").setParameterLength(2,1/0).setName("and"),Fv=De(On,"||").setParameterLength(2,1/0).setName("or"),Gv=De(On,"!").setParameterLength(1).setName("not"),Vv=De(On,"^^").setParameterLength(2).setName("xor"),kv=De(On,"&").setParameterLength(2).setName("bitAnd"),zv=De(On,"~").setParameterLength(2).setName("bitNot"),Wv=De(On,"|").setParameterLength(2).setName("bitOr"),Hv=De(On,"^").setParameterLength(2).setName("bitXor"),Kv=De(On,"<<").setParameterLength(2).setName("shiftLeft"),Yv=De(On,">>").setParameterLength(2).setName("shiftRight"),$v=qe(([n])=>(n.addAssign(1),n)),jv=qe(([n])=>(n.subAssign(1),n)),Xv=qe(([n])=>{const e=le(n).toConst();return n.addAssign(1),e}),Zv=qe(([n])=>{const e=le(n).toConst();return n.subAssign(1),e});be("add",Yn);be("sub",b1);be("mul",u1);be("div",d0);be("mod",o5);be("equal",Gq);be("notEqual",Dv);be("lessThan",Cv);be("greaterThan",Vq);be("lessThanEqual",wv);be("greaterThanEqual",Bv);be("and",Uv);be("or",Fv);be("not",Gv);be("xor",Vv);be("bitAnd",kv);be("bitNot",zv);be("bitOr",Wv);be("bitXor",Hv);be("shiftLeft",Kv);be("shiftRight",Yv);be("incrementBefore",$v);be("decrementBefore",jv);be("increment",Xv);be("decrement",Zv);const Qv=(n,e)=>(console.warn('THREE.TSL: "remainder()" is deprecated. Use "mod( int( ... ) )" instead.'),o5(n,e)),Jv=(n,e)=>(console.warn('THREE.TSL: "modInt()" is deprecated. Use "mod( int( ... ) )" instead.'),o5(le(n),le(e)));be("remainder",Qv);be("modInt",Jv);class me extends zn{static get type(){return"MathNode"}constructor(e,t,i=null,r=null){if(super(),(e===me.MAX||e===me.MIN)&&arguments.length>3){let s=new me(e,t,i);for(let a=2;a<arguments.length-1;a++)s=new me(e,s,arguments[a]);t=s,i=arguments[arguments.length-1],r=null}this.method=e,this.aNode=t,this.bNode=i,this.cNode=r,this.isMathNode=!0}getInputType(e){const t=this.aNode.getNodeType(e),i=this.bNode?this.bNode.getNodeType(e):null,r=this.cNode?this.cNode.getNodeType(e):null,s=e.isMatrix(t)?0:e.getTypeLength(t),a=e.isMatrix(i)?0:e.getTypeLength(i),o=e.isMatrix(r)?0:e.getTypeLength(r);return s>a&&s>o?t:a>o?i:o>s?r:t}getNodeType(e){const t=this.method;return t===me.LENGTH||t===me.DISTANCE||t===me.DOT?"float":t===me.CROSS?"vec3":t===me.ALL||t===me.ANY?"bool":t===me.EQUALS?e.changeComponentType(this.aNode.getNodeType(e),"bool"):this.getInputType(e)}setup(e){const{aNode:t,bNode:i,method:r}=this;let s=null;if(r===me.ONE_MINUS)s=b1(1,t);else if(r===me.RECIPROCAL)s=d0(1,t);else if(r===me.DIFFERENCE)s=An(b1(t,i));else if(r===me.TRANSFORM_DIRECTION){let a=t,o=i;e.isMatrix(a.getNodeType(e))?o=It(he(o),0):a=It(he(a),0);const l=u1(a,o).xyz;s=r3(l)}return s!==null?s:super.setup(e)}generate(e,t){if(e.getNodeProperties(this).outputNode)return super.generate(e,t);let r=this.method;const s=this.getNodeType(e),a=this.getInputType(e),o=this.aNode,l=this.bNode,u=this.cNode,d=e.renderer.coordinateSystem;if(r===me.NEGATE)return e.format("( - "+o.build(e,a)+" )",s,t);{const q=[];return r===me.CROSS?q.push(o.build(e,s),l.build(e,s)):d===sr&&r===me.STEP?q.push(o.build(e,e.getTypeLength(o.getNodeType(e))===1?"float":a),l.build(e,a)):d===sr&&(r===me.MIN||r===me.MAX)?q.push(o.build(e,a),l.build(e,e.getTypeLength(l.getNodeType(e))===1?"float":a)):r===me.REFRACT?q.push(o.build(e,a),l.build(e,a),u.build(e,"float")):r===me.MIX?q.push(o.build(e,a),l.build(e,a),u.build(e,e.getTypeLength(u.getNodeType(e))===1?"float":a)):(d===m2&&r===me.ATAN&&l!==null&&(r="atan2"),e.shaderStage!=="fragment"&&(r===me.DFDX||r===me.DFDY)&&(console.warn(`THREE.TSL: '${r}' is not supported in the ${e.shaderStage} stage.`),r="/*"+r+"*/"),q.push(o.build(e,a)),l!==null&&q.push(l.build(e,a)),u!==null&&q.push(u.build(e,a))),e.format(`${e.getMethod(r,s)}( ${q.join(", ")} )`,s,t)}}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}me.ALL="all";me.ANY="any";me.RADIANS="radians";me.DEGREES="degrees";me.EXP="exp";me.EXP2="exp2";me.LOG="log";me.LOG2="log2";me.SQRT="sqrt";me.INVERSE_SQRT="inversesqrt";me.FLOOR="floor";me.CEIL="ceil";me.NORMALIZE="normalize";me.FRACT="fract";me.SIN="sin";me.COS="cos";me.TAN="tan";me.ASIN="asin";me.ACOS="acos";me.ATAN="atan";me.ABS="abs";me.SIGN="sign";me.LENGTH="length";me.NEGATE="negate";me.ONE_MINUS="oneMinus";me.DFDX="dFdx";me.DFDY="dFdy";me.ROUND="round";me.RECIPROCAL="reciprocal";me.TRUNC="trunc";me.FWIDTH="fwidth";me.TRANSPOSE="transpose";me.BITCAST="bitcast";me.EQUALS="equals";me.MIN="min";me.MAX="max";me.STEP="step";me.REFLECT="reflect";me.DISTANCE="distance";me.DIFFERENCE="difference";me.DOT="dot";me.CROSS="cross";me.POW="pow";me.TRANSFORM_DIRECTION="transformDirection";me.MIX="mix";me.CLAMP="clamp";me.REFRACT="refract";me.SMOOTHSTEP="smoothstep";me.FACEFORWARD="faceforward";
3850const eO=te(1e-6),FX=te(1e6),M9=te(Math.PI),GX=te(Math.PI*2),tO=De(me,me.ALL).setParameterLength(1),nO=De(me,me.ANY).setParameterLength(1),iO=De(me,me.RADIANS).setParameterLength(1),rO=De(me,me.DEGREES).setParameterLength(1),kq=De(me,me.EXP).setParameterLength(1),d4=De(me,me.EXP2).setParameterLength(1),cu=De(me,me.LOG).setParameterLength(1),h2=De(me,me.LOG2).setParameterLength(1),R2=De(me,me.SQRT).setParameterLength(1),zq=De(me,me.INVERSE_SQRT).setParameterLength(1),f2=De(me,me.FLOOR).setParameterLength(1),Au=De(me,me.CEIL).setParameterLength(1),r3=De(me,me.NORMALIZE).setParameterLength(1),c3=De(me,me.FRACT).setParameterLength(1),zr=De(me,me.SIN).setParameterLength(1),G2=De(me,me.COS).setParameterLength(1),sO=De(me,me.TAN).setParameterLength(1),aO=De(me,me.ASIN).setParameterLength(1),Wq=De(me,me.ACOS).setParameterLength(1),Hq=De(me,me.ATAN).setParameterLength(1,2),An=De(me,me.ABS).setParameterLength(1),F8=De(me,me.SIGN).setParameterLength(1),d2=De(me,me.LENGTH).setParameterLength(1),oO=De(me,me.NEGATE).setParameterLength(1),lO=De(me,me.ONE_MINUS).setParameterLength(1),Kq=De(me,me.DFDX).setParameterLength(1),Yq=De(me,me.DFDY).setParameterLength(1),uO=De(me,me.ROUND).setParameterLength(1),cO=De(me,me.RECIPROCAL).setParameterLength(1),$q=De(me,me.TRUNC).setParameterLength(1),AO=De(me,me.FWIDTH).setParameterLength(1),hO=De(me,me.TRANSPOSE).setParameterLength(1),VX=De(me,me.BITCAST).setParameterLength(2),fO=(n,e)=>(console.warn('THREE.TSL: "equals" is deprecated. Use "equal" inside a vector instead, like: "bvec*( equal( ... ) )"'),Gq(n,e)),vr=De(me,me.MIN).setParameterLength(2,1/0),Dn=De(me,me.MAX).setParameterLength(2,1/0),hu=De(me,me.STEP).setParameterLength(2),dO=De(me,me.REFLECT).setParameterLength(2),qO=De(me,me.DISTANCE).setParameterLength(2),pO=De(me,me.DIFFERENCE).setParameterLength(2),es=De(me,me.DOT).setParameterLength(2),fu=De(me,me.CROSS).setParameterLength(2),P0=De(me,me.POW).setParameterLength(2),jq=De(me,me.POW,2).setParameterLength(1),_O=De(me,me.POW,3).setParameterLength(1),mO=De(me,me.POW,4).setParameterLength(1),gO=De(me,me.TRANSFORM_DIRECTION).setParameterLength(2),EO=n=>u1(F8(n),P0(An(n),1/3)),Xq=n=>es(n,n),H1=De(me,me.MIX).setParameterLength(3),M2=(n,e=0,t=1)=>Ie(new me(me.CLAMP,Ie(n),Ie(e),Ie(t))),Zq=n=>M2(n),Qq=De(me,me.REFRACT).setParameterLength(3),x2=De(me,me.SMOOTHSTEP).setParameterLength(3),Jq=De(me,me.FACEFORWARD).setParameterLength(3),MO=qe(([n])=>{const i=43758.5453,r=es(n.xy,Ue(12.9898,78.233)),s=o5(r,M9);return c3(zr(s).mul(i))}),xO=(n,e,t)=>H1(e,t,n),SO=(n,e,t)=>x2(e,t,n),yO=(n,e)=>(console.warn('THREE.TSL: "atan2" is overloaded. Use "atan" instead.'),Hq(n,e)),kX=Jq,zX=zq;be("all",tO);be("any",nO);be("equals",fO);be("radians",iO);be("degrees",rO);be("exp",kq);be("exp2",d4);be("log",cu);be("log2",h2);be("sqrt",R2);be("inverseSqrt",zq);be("floor",f2);be("ceil",Au);be("normalize",r3);be("fract",c3);be("sin",zr);be("cos",G2);be("tan",sO);be("asin",aO);be("acos",Wq);be("atan",Hq);be("abs",An);be("sign",F8);be("length",d2);be("lengthSq",Xq);be("negate",oO);be("oneMinus",lO);be("dFdx",Kq);be("dFdy",Yq);be("round",uO);be("reciprocal",cO);be("trunc",$q);be("fwidth",AO);be("atan2",yO);be("min",vr);be("max",Dn);be("step",hu);be("reflect",dO);be("distance",qO);be("dot",es);be("cross",fu);be("pow",P0);be("pow2",jq);be("pow3",_O);be("pow4",mO);be("transformDirection",gO);be("mix",xO);be("clamp",M2);be("refract",Qq);be("smoothstep",SO);be("faceForward",Jq);be("difference",pO);be("saturate",Zq);be("cbrt",EO);be("transpose",hO);be("rand",MO);class WX extends Ut{static get type(){return"ConditionalNode"}constructor(e,t,i=null){super(),this.condNode=e,this.ifNode=t,this.elseNode=i}getNodeType(e){const{ifNode:t,elseNode:i}=e.getNodeProperties(this);if(t===void 0)return this.setup(e),this.getNodeType(e);const r=t.getNodeType(e);if(i!==null){const s=i.getNodeType(e);if(e.getTypeLength(s)>e.getTypeLength(r))return s}return r}setup(e){const t=this.condNode.cache(),i=this.ifNode.cache(),r=this.elseNode?this.elseNode.cache():null,s=e.context.nodeBlock;e.getDataFromNode(i).parentNodeBlock=s,r!==null&&(e.getDataFromNode(r).parentNodeBlock=s);const a=e.getNodeProperties(this);a.condNode=t,a.ifNode=i.context({nodeBlock:i}),a.elseNode=r?r.context({nodeBlock:r}):null}generate(e,t){const i=this.getNodeType(e),r=e.getDataFromNode(this);if(r.nodeProperty!==void 0)return r.nodeProperty;const{condNode:s,ifNode:a,elseNode:o}=e.getNodeProperties(this),l=e.currentFunctionNode,u=t!=="void",d=u?D4(i).build(e):"";r.nodeProperty=d;const q=s.build(e,"bool");e.addFlowCode(` 3851${e.tab}if ( ${q} ) { 3852 3853`).addFlowTab();let _=a.build(e,i);if(_&&(u?_=d+" = "+_+";":(_="return "+_+";",l===null&&(console.warn("THREE.TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),_="// "+_))),e.removeFlowTab().addFlowCode(e.tab+" "+_+` 3854 3855`+e.tab+"}"),o!==null){e.addFlowCode(` else { 3856 3857`).addFlowTab();let g=o.build(e,i);g&&(u?g=d+" = "+g+";":(g="return "+g+";",l===null&&(console.warn("THREE.TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),g="// "+g))),e.removeFlowTab().addFlowCode(e.tab+" "+g+` 3858 3859`+e.tab+`} 3860 3861`)}else e.addFlowCode(` 3862 3863`);return e.format(d,i,t)}}const ui=De(WX).setParameterLength(2,3);be("select",ui);const NO=(...n)=>(console.warn("THREE.TSL: cond() has been renamed to select()."),ui(...n));be("cond",NO);class vO extends Ut{static get type(){return"ContextNode"}constructor(e,t={}){super(),this.isContextNode=!0,this.node=e,this.value=t}getScope(){return this.node.getScope()}getNodeType(e){return this.node.getNodeType(e)}analyze(e){const t=e.getContext();e.setContext({...e.context,...this.value}),this.node.build(e),e.setContext(t)}
3863setup(e){const t=e.getContext();e.setContext({...e.context,...this.value}),this.node.build(e),e.setContext(t)}generate(e,t){const i=e.getContext();e.setContext({...e.context,...this.value});const r=this.node.build(e,t);return e.setContext(i),r}}const du=De(vO).setParameterLength(1,2),OO=(n,e)=>du(n,{label:e});be("context",du);be("label",OO);class p7 extends Ut{static get type(){return"VarNode"}constructor(e,t=null,i=!1){super(),this.node=e,this.name=t,this.global=!0,this.isVarNode=!0,this.readOnly=i,this.parents=!0}getMemberType(e,t){return this.node.getMemberType(e,t)}getElementType(e){return this.node.getElementType(e)}getNodeType(e){return this.node.getNodeType(e)}generate(e){const{node:t,name:i,readOnly:r}=this,{renderer:s}=e,a=s.backend.isWebGPUBackend===!0;let o=!1,l=!1;r&&(o=e.isDeterministic(t),l=a?r:o);const u=e.getVectorType(this.getNodeType(e)),d=t.build(e,u),q=e.getVarFromNode(this,i,u,void 0,l),_=e.getPropertyName(q);let g=_;if(l)if(a)g=o?`const ${_}`:`let ${_}`;else{const M=e.getArrayCount(t);g=`const ${e.getVar(q.type,_,M)}`}return e.addLineFlowCode(`${g} = ${d}`,this),_}}const ep=De(p7),TO=(n,e=null)=>ep(n,e).toStack(),RO=(n,e=null)=>ep(n,e,!0).toStack();be("toVar",TO);be("toConst",RO);const bO=n=>(console.warn('TSL: "temp( node )" is deprecated. Use "Var( node )" or "node.toVar()" instead.'),ep(n));be("temp",bO);class HX extends Ut{static get type(){return"VaryingNode"}constructor(e,t=null){super(),this.node=e,this.name=t,this.isVaryingNode=!0,this.interpolationType=null,this.interpolationSampling=null,this.global=!0}setInterpolation(e,t=null){return this.interpolationType=e,this.interpolationSampling=t,this}getHash(e){return this.name||super.getHash(e)}getNodeType(e){return this.node.getNodeType(e)}setupVarying(e){const t=e.getNodeProperties(this);let i=t.varying;if(i===void 0){const r=this.name,s=this.getNodeType(e),a=this.interpolationType,o=this.interpolationSampling;t.varying=i=e.getVaryingFromNode(this,r,s,a,o),t.node=this.node}return i.needsInterpolation||(i.needsInterpolation=e.shaderStage==="fragment"),i}setup(e){this.setupVarying(e),e.flowNodeFromShaderStage(D6.VERTEX,this.node)}analyze(e){this.setupVarying(e),e.flowNodeFromShaderStage(D6.VERTEX,this.node)}generate(e){const t=e.getNodeProperties(this),i=this.setupVarying(e);if(t.propertyName===void 0){const r=this.getNodeType(e),s=e.getPropertyName(i,D6.VERTEX);e.flowNodeFromShaderStage(D6.VERTEX,this.node,r,s),t.propertyName=s}return e.getPropertyName(i)}}const Xr=De(HX).setParameterLength(1,2),IO=n=>Xr(n);be("toVarying",Xr);be("toVertexStage",IO);be("varying",(...n)=>(console.warn("THREE.TSL: .varying() has been renamed to .toVarying()."),Xr(...n)));be("vertexStage",(...n)=>(console.warn("THREE.TSL: .vertexStage() has been renamed to .toVertexStage()."),Xr(...n)));const PO=qe(([n])=>{const e=n.mul(.9478672986).add(.0521327014).pow(2.4),t=n.mul(.0773993808),i=n.lessThanEqual(.04045);return H1(e,t,i)}).setLayout({name:"sRGBTransferEOTF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),LO=qe(([n])=>{const e=n.pow(.41666).mul(1.055).sub(.055),t=n.mul(12.92),i=n.lessThanEqual(.0031308);return H1(e,t,i)}).setLayout({name:"sRGBTransferOETF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),tp="WorkingColorSpace",KX="OutputColorSpace";class np extends zn{static get type(){return"ColorSpaceNode"}constructor(e,t,i){super("vec4"),this.colorNode=e,this.source=t,this.target=i}resolveColorSpace(e,t){return t===tp?Zt.workingColorSpace:t===KX?e.context.outputColorSpace||e.renderer.outputColorSpace:t}setup(e){const{colorNode:t}=this,i=this.resolveColorSpace(e,this.source),r=this.resolveColorSpace(e,this.target);let s=t;return Zt.enabled===!1||i===r||!i||!r||(Zt.getTransfer(i)===Et&&(s=It(PO(s.rgb),s.a)),Zt.getPrimaries(i)!==Zt.getPrimaries(r)&&(s=It(Ki(Zt._getMatrix(new o1,i,r)).mul(s.rgb),s.a)),Zt.getTransfer(r)===Et&&(s=It(LO(s.rgb),s.a))),s}}const DO=(n,e)=>Ie(new np(Ie(n),tp,e)),qu=(n,e)=>Ie(new np(Ie(n),e,tp)),YX=(n,e,t)=>Ie(new np(Ie(n),e,t));be("workingToColorSpace",DO);be("colorSpaceToWorking",qu);let $X=class extends Ea{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),i=this.referenceNode.getNodeType(),r=this.getNodeType();return e.format(t,i,r)}};class CO extends Ut{static get type(){return"ReferenceBaseNode"}constructor(e,t,i=null,r=null){super(),this.property=e,this.uniformType=t,this.object=i,this.count=r,this.properties=e.split("."),this.reference=i,this.node=null,this.group=null,this.updateType=p1.OBJECT}setGroup(e){return this.group=e,this}element(e){return Ie(new $X(this,Ie(e)))}setNodeType(e){const t=Pt(null,e).getSelf();this.group!==null&&t.setGroup(this.group),this.node=t}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateV
3863alue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let i=e[t[0]];for(let r=1;r<t.length;r++)i=i[t[r]];return i}updateReference(e){return this.reference=this.object!==null?this.object:e.object,this.reference}setup(){return this.updateValue(),this.node}update(){this.updateValue()}updateValue(){this.node===null&&this.setNodeType(this.uniformType);const e=this.getValueFromReference();Array.isArray(e)?this.node.array=e:this.node.value=e}}const jX=(n,e,t)=>Ie(new CO(n,e,t));class XX extends CO{static get type(){return"RendererReferenceNode"}constructor(e,t,i=null){super(e,t,i),this.renderer=i,this.setGroup(Ct)}updateReference(e){return this.reference=this.renderer!==null?this.renderer:e.renderer,this.reference}}const wO=(n,e,t=null)=>Ie(new XX(n,e,t));class ZX extends zn{static get type(){return"ToneMappingNode"}constructor(e,t=UO,i=null){super("vec3"),this.toneMapping=e,this.exposureNode=t,this.colorNode=i}customCacheKey(){return d9(this.toneMapping)}setup(e){const t=this.colorNode||e.context.color,i=this.toneMapping;if(i===Sr)return t;let r=null;const s=e.renderer.library.getToneMappingFunction(i);return s!==null?r=It(s(t.rgb,this.exposureNode),t.a):(console.error("ToneMappingNode: Unsupported Tone Mapping configuration.",i),r=t),r}}const BO=(n,e,t)=>Ie(new ZX(n,Ie(e),Ie(t))),UO=wO("toneMappingExposure","float");be("toneMapping",(n,e,t)=>BO(e,t,n));class QX extends Oq{static get type(){return"BufferAttributeNode"}constructor(e,t=null,i=0,r=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferStride=i,this.bufferOffset=r,this.usage=R7,this.instanced=!1,this.attribute=null,this.global=!0,e&&e.isBufferAttribute===!0&&(this.attribute=e,this.usage=e.usage,this.instanced=e.isInstancedBufferAttribute)}getHash(e){if(this.bufferStride===0&&this.bufferOffset===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getNodeType(e){return this.bufferType===null&&(this.bufferType=e.getTypeFromAttribute(this.attribute)),this.bufferType}setup(e){if(this.attribute!==null)return;const t=this.getNodeType(e),i=this.value,r=e.getTypeLength(t),s=this.bufferStride||r,a=this.bufferOffset,o=i.isInterleavedBuffer===!0?i:new jd(i,s),l=new a2(o,r,a);o.setUsage(this.usage),this.attribute=l,this.attribute.isInstancedBufferAttribute=this.instanced}generate(e){const t=this.getNodeType(e),i=e.getBufferAttributeFromNode(this,t),r=e.getPropertyName(i);let s=null;return e.shaderStage==="vertex"||e.shaderStage==="compute"?(this.name=r,s=r):s=Xr(this).build(e,t),s}getInputType(){return"bufferAttribute"}setUsage(e){return this.usage=e,this.attribute&&this.attribute.isBufferAttribute===!0&&(this.attribute.usage=e),this}setInstanced(e){return this.instanced=e,this}}const l5=(n,e=null,t=0,i=0)=>
3863Ie(new QX(n,e,t,i)),FO=(n,e=null,t=0,i=0)=>l5(n,e,t,i).setUsage(fo),x9=(n,e=null,t=0,i=0)=>l5(n,e,t,i).setInstanced(!0),xf=(n,e=null,t=0,i=0)=>FO(n,e,t,i).setInstanced(!0);be("toAttribute",n=>l5(n.value));class JX extends Ut{static get type(){return"ComputeNode"}constructor(e,t,i=[64]){super("void"),this.isComputeNode=!0,this.computeNode=e,this.count=t,this.workgroupSize=i,this.dispatchCount=0,this.version=1,this.name="",this.updateBeforeType=p1.OBJECT,this.onInitFunction=null,this.updateDispatchCount()}dispose(){this.dispatchEvent({type:"dispose"})}label(e){return this.name=e,this}updateDispatchCount(){const{count:e,workgroupSize:t}=this;let i=t[0];for(let r=1;r<t.length;r++)i*=t[r];this.dispatchCount=Math.ceil(e/i)}onInit(e){return this.onInitFunction=e,this}updateBefore({renderer:e}){e.compute(this)}setup(e){const t=this.computeNode.build(e);if(t){const i=e.getNodeProperties(this);i.outputComputeNode=t.outputNode,t.outputNode=null}return t}generate(e,t){const{shaderStage:i}=e;if(i==="compute"){const r=this.computeNode.build(e,"void");r!==""&&e.addLineFlowCode(r,this)}else{const s=e.getNodeProperties(this).outputComputeNode;if(s)return s.build(e,t)}}}const GO=(n,e,t)=>Ie(new JX(Ie(n),e,t));be("compute",GO);class eZ extends Ut{static get type(){return"CacheNode"}constructor(e,t=!0){super(),this.node=e,this.parent=t,this.isCacheNode=!0}getNodeType(e){const t=e.getCache(),i=e.getCacheFromNode(this,this.parent);e.setCache(i);const r=this.node.getNodeType(e);return e.setCache(t),r}build(e,...t){const i=e.getCache(),r=e.getCacheFromNode(this,this.parent);e.setCache(r);const s=this.node.build(e,...t);return e.setCache(i),s}}const $6=(n,e)=>Ie(new eZ(Ie(n),e)),VO=(n,e)=>n.context({namespace:e});be("cache",$6);class tZ extends Ut{static get type(){return"BypassNode"}constructor(e,t){super(),this.isBypassNode=!0,this.outputNode=e,this.callNode=t}getNodeType(e){return this.outputNode.getNodeType(e)}generate(e){const t=this.callNode.build(e,"void");return t!==""&&e.addLineFlowCode(t,this),this.outputNode.build(e)}}const kO=De(tZ).setParameterLength(2);be("bypass",kO);class zO extends Ut{static get type(){return"RemapNode"}constructor(e,t,i,r=te(0),s=te(1)){super(),this.node=e,this.inLowNode=t,this.inHighNode=i,this.outLowNode=r,this.outHighNode=s,this.doClamp=!0}setup(){const{node:e,inLowNode:t,inHighNode:i,outLowNode:r,outHighNode:s,doClamp:a}=this;let o=e.sub(t).div(i.sub(t));return a===!0&&(o=o.clamp()),o.mul(s.sub(r)).add(r)}}const WO=De(zO,null,null,{doClamp:!1}).setParameterLength(3,5),HO=De(zO).setParameterLength(3,5);be("remap",WO);be("remapClamp",HO);class _7 extends Ut{static get type(){return"ExpressionNode"}constructor(e="",t="void"){super(t),this.snippet=e}generate(e,t){const i=this.getNodeType(e),r=this.snippet;if(i==="void")e.addLineFlowCode(r,this);else return e.format(r,i,t)}}const s3=De(_7).setParameterLength(1,2),KO=n=>(n?ui(n,s3("discard")):s3("discard")).toStack(),nZ=()=>s3("return").toStack();be("discard",KO);class iZ extends zn{static get type(){return"RenderOutputNode"}constructor(e,t,i){super("vec4"),this.colorNode=e,this.toneMapping=t,this.outputColorSpace=i,this.isRenderOutputNode=!0}setup({context:e}){let t=this.colorNode||e.color;const i=(this.toneMapping!==null?this.toneMapping:e.toneMapping)||Sr,r=(this.outputColorSpace!==null?this.outputColorSpace:e.outputColorSpace)||ir;return i!==Sr&&(t=t.toneMapping(i)),r!==ir&&r!==Zt.workingColorSpace&&(t=t.workingToColorSpace(r)),t}}const YO=(n,e=null,t=null)=>Ie(new iZ(Ie(n),e,t));be("renderOutput",YO);class rZ extends zn{static get type(){return"DebugNode"}constructor(e,t=null){super(),this.node=e,this.callback=t}getNodeType(e){return this.node.getNodeType(e)}setup(e){return this.node.build(e)}analyze(e){return this.node.build(e)}generate(e){const t=this.callback,i=this.node.build(e),r="--- TSL debug - "+e.shaderStage+" shader ---",s="-".repeat(r.length);let a="";return a+="// #"+r+`# 3864`,a+=e.flow.code.replace(/^\t/mg,"")+` 3865`,a+="/* ... */ "+i+` /* ... */ 3866`,a+="// #"+s+`# 3867`,t!==null?t(e,a):console.log(a),i}}const $O=(n,e=null)=>Ie(new rZ(Ie(n),e));be("debug",$O);function sZ(n){console.warn("THREE.TSL: AddNodeElement has been removed in favor of tree-shaking. Trying add",n)}class jO extends Ut{static get type(){return"AttributeNode"}constructor(e,t=null){super(t),this.global=!0,this._attributeName=e}getHash(e){return this.getAttributeName(e)}getNodeType(e){let t=this.nodeType;if(t===null){const i=this.getAttributeName(e);
3867if(e.hasGeometryAttribute(i)){const r=e.geometry.getAttribute(i);t=e.getTypeFromAttribute(r)}else t="float"}return t}setAttributeName(e){return this._attributeName=e,this}getAttributeName(){return this._attributeName}generate(e){const t=this.getAttributeName(e),i=this.getNodeType(e);if(e.hasGeometryAttribute(t)===!0){const s=e.geometry.getAttribute(t),a=e.getTypeFromAttribute(s),o=e.getAttribute(t,a);return e.shaderStage==="vertex"?e.format(o.name,a,i):Xr(this).build(e,i)}else return console.warn(`AttributeNode: Vertex attribute "${t}" not found on geometry.`),e.generateConst(i)}serialize(e){super.serialize(e),e.global=this.global,e._attributeName=this._attributeName}deserialize(e){super.deserialize(e),this.global=e.global,this._attributeName=e._attributeName}}const a3=(n,e=null)=>Ie(new jO(n,e)),xn=(n=0)=>a3("uv"+(n>0?n:""),"vec2");class aZ extends Ut{static get type(){return"TextureSizeNode"}constructor(e,t=null){super("uvec2"),this.isTextureSizeNode=!0,this.textureNode=e,this.levelNode=t}generate(e,t){const i=this.textureNode.build(e,"property"),r=this.levelNode===null?"0":this.levelNode.build(e,"int");return e.format(`${e.getMethod("textureDimensions")}( ${i}, ${r} )`,this.getNodeType(e),t)}}const z3=De(aZ).setParameterLength(1,2);class oZ extends a5{static get type(){return"MaxMipLevelNode"}constructor(e){super(0),this._textureNode=e,this.updateType=p1.FRAME}get textureNode(){return this._textureNode}get texture(){return this._textureNode.value}update(){const e=this.texture,t=e.images,i=t&&t.length>0?t[0]&&t[0].image||t[0]:e.image;if(i&&i.width!==void 0){const{width:r,height:s}=i;this.value=Math.log2(Math.max(r,s))}}}const XO=De(oZ).setParameterLength(1),ip=new ei;class S2 extends a5{static get type(){return"TextureNode"}constructor(e=ip,t=null,i=null,r=null){super(e),this.isTextureNode=!0,this.uvNode=t,this.levelNode=i,this.biasNode=r,this.compareNode=null,this.depthNode=null,this.gradNode=null,this.sampler=!0,this.updateMatrix=!1,this.updateType=p1.NONE,this.referenceNode=null,this._value=e,this._matrixUniform=null,this.setUpdateMatrix(t===null)}set value(e){this.referenceNode?this.referenceNode.value=e:this._value=e}get value(){return this.referenceNode?this.referenceNode.value:this._value}getUniformHash(){return this.value.uuid}getNodeType(){return this.value.isDepthTexture===!0?"float":this.value.type===cn?"uvec4":this.value.type===mi?"ivec4":"vec4"}getInputType(){return"texture"}getDefaultUV(){return xn(this.value.channel)}updateReference(){return this.value}getTransformedUV(e){return this._matrixUniform===null&&(this._matrixUniform=Pt(this.value.matrix)),this._matrixUniform.mul(he(e,1)).xy}setUpdateMatrix(e){return this.updateMatrix=e,this.updateType=e?p1.OBJECT:p1.NONE,this}setupUV(e,t){const i=this.value;return e.isFlipY()&&(i.image instanceof ImageBitmap&&i.flipY===!0||i.isRenderTargetTexture===!0||i.isFramebufferTexture===!0||i.isDepthTexture===!0)&&(this.sampler?t=t.flipY():t=t.setY(le(z3(this,this.levelNode).y).sub(t.y).sub(1))),t}setup(e){const t=e.getNodeProperties(this);t.referenceNode=this.referenceNode;const i=this.value;if(!i||i.isTexture!==!0)throw new Error("THREE.TSL: `texture( value )` function expects a valid instance of THREE.Texture().");let r=this.uvNode;(r===null||e.context.forceUVContext===!0)&&e.context.getUV&&(r=e.context.getUV(this,e)),r||(r=this.getDefaultUV()),this.updateMatrix===!0&&(r=this.getTransformedUV(r)),r=this.setupUV(e,r);let s=this.levelNode;s===null&&e.context.getTextureLevel&&(s=e.context.getTextureLevel(this)),t.uvNode=r,t.levelNode=s,t.biasNode=this.biasNode,t.compareNode=this.compareNode,t.gradNode=this.gradNode,t.depthNode=this.depthNode}generateUV(e,t){return t.build(e,this.sampler===!0?"vec2":"ivec2")}generateSnippet(e,t,i,r,s,a,o,l){const u=this.value;let d;return r?d=e.generateTextureLevel(u,t,i,r,a):s?d=e.generateTextureBias(u,t,i,s,a):l?d=e.generateTextureGrad(u,t,i,l,a):o?d=e.generateTextureCompare(u,t,i,o,a):this.sampler===!1?d=e.generateTextureLoad(u,t,i,a):d=e.generateTexture(u,t,i,a),d}generate(e,t){const i=this.value,r=e.getNodeProperties(this),s=super.generate(e,"property");if(/^sampler/.test(t))return s+"_sampler";if(e.isReference(t))return s;{const a=e.getDataFromNode(this);let o=a.propertyName;if(o===void 0){const{uvNode:d,levelNode:q,biasNode:_,compareNode:g,depthNode:M,gradNode:N}=r,y=this.generateUV(e,d),S=q?q.build(e,"float"):null,R=_?_.build(e,"float"):null,O=M?M.build(e,"int"):null,b=g?g.build(e,"float"):null,D=N?[N[0].build(e,"vec2"),N[1].build(e,"vec2")]:null,B=e.getVarFromNode(this);o=e.getPropertyName(B);const C=this.generateSnippet(e,s,y,S,R,O,b,D);e.addLineFlowCode(`${o} = ${C}`,this),a.snippet=C,a.propertyName=o}let l=o;const u=this.getNodeType(e);return e.needsToWorkingColorSpace(i)&&(l=qu(s3(l,u),i.colorSpace).setup(e).build(e,u)),e.format(l,u,t)}}setSampler(e){return this.sampler=e,this}getSampler(){return this.sampler}uv(e){return console.warn("THREE.TextureNode: .uv() has been renamed. Use .sample() instead."),this.sample(e)}sample(e){const t=this.clone();return t.uvNode=Ie(e),t.referenceNode=this.getSelf(),Ie(t)}blur(e){const t=this.clone();t.biasNode=Ie(e).mul(XO(t)),t.referenceNode=this.getSelf();const i=t.value;return t.generateMipmaps===!1&&(i&&i.generateMipmaps===!1||i.minFilter===hn||i.magFilter===hn)&&(console.warn("THREE.TSL: texture().blur() requires mipmaps and sampling. Use .generateMipmaps=true and .minFilter/.magFilter=THREE.LinearFilter in the Texture."),t.biasNode=null),Ie(t)}level(e){const t=this.clone();return t.levelNode=Ie(e),t.referenceNode=this.getSelf(),Ie(t)}size(e){return z3(this,e)}bias(e){const t=this.clone();return t.biasNode=Ie(e),t.referenceNode=this.getSelf(),Ie(t)}compare(e){const t=this.clone();return t.compareNode=Ie(e),t.referenceNode=this.getSelf(),Ie(t)}grad(e,t){const i=this.clone();return i.gradNode=[Ie(e),Ie(t)],i.referenceNode=this.getSelf(),Ie(i)}depth(e){const t=this.clone();return t.depthNode=Ie(e),t.referenceNode=this.getSelf(),Ie(t)}serialize(e){super.serialize(e),e.value=this.value.toJSON(e.meta).uuid,e.sampler=this.sampler,e.updateMatrix=this.updateMatrix,e.updateType=this.updateType}deserialize(e){super.deserialize(e),this.value=e.meta.textures[e.value],this.sampler=e.sampler,this.updateMatrix=e.updateMatrix,this.updateType=e.updateType}update(){const e=this.value,t=this._matrixUniform;t!==null&&(t.value=e.matrix),e.matrixAutoUpdate===!0&&e.updateMatrix()}clone(){const e=new this.constructor(this.value,this.uvNode,this.levelNode,this.biasNode);return e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e}}const lZ=De(S2).setParameterLength(1,4).setName("texture"),S1=(n=ip,e=null,t=null,i=null)=>{let r;return n&&n.isTextureNode===!0?(r=Ie(n.clone()),r.referenceNode=n.getSelf(),e!==null&&(r.uvNode=Ie(e)),t!==null&&(r.levelNode=Ie(t)),i!==null&&(r.biasNode=Ie(i))):r=lZ(n,e,t,i),r},uZ=(n=ip)=>S1(n),Bn=(...n)=>S1(...n).setSampler(!1),cZ=n=>(n.isNode===!0?n:S1(n)).convert("sampler"),AZ=n=>(n.isNode===!0?n:S1(n)).convert("samplerComparison");class rp extends a5{static get type(){return"BufferNode"}constructor(e,t,i=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferCount=i}getElementType(e){return this.getNodeType(e)}getInputType(){return"buffer"}}const u5=(n,e,t)=>Ie(new rp(n,e,t));
3867class hZ extends Ea{static get type(){return"UniformArrayElementNode"}constructor(e,t){super(e,t),this.isArrayBufferElementNode=!0}generate(e){const t=super.generate(e),i=this.getNodeType(),r=this.node.getPaddedType();return e.format(t,r,i)}}class ZO extends rp{static get type(){return"UniformArrayNode"}constructor(e,t=null){super(null),this.array=e,this.elementType=t===null?U3(e[0]):t,this.paddedType=this.getPaddedType(),this.updateType=p1.RENDER,this.isArrayBufferNode=!0}getNodeType(){return this.paddedType}getElementType(){return this.elementType}getPaddedType(){const e=this.elementType;let t="vec4";return e==="mat2"?t="mat2":/mat/.test(e)===!0?t="mat4":e.charAt(0)==="i"?t="ivec4":e.charAt(0)==="u"&&(t="uvec4"),t}update(){const{array:e,value:t}=this,i=this.elementType;if(i==="float"||i==="int"||i==="uint")for(let r=0;r<e.length;r++){const s=r*4;t[s]=e[r]}else if(i==="color")for(let r=0;r<e.length;r++){const s=r*4,a=e[r];t[s]=a.r,t[s+1]=a.g,t[s+2]=a.b||0}else if(i==="mat2")for(let r=0;r<e.length;r++){const s=r*4,a=e[r];t[s]=a.elements[0],t[s+1]=a.elements[1],t[s+2]=a.elements[2],t[s+3]=a.elements[3]}else if(i==="mat3")for(let r=0;r<e.length;r++){const s=r*16,a=e[r];t[s]=a.elements[0],t[s+1]=a.elements[1],t[s+2]=a.elements[2],t[s+4]=a.elements[3],t[s+5]=a.elements[4],t[s+6]=a.elements[5],t[s+8]=a.elements[6],t[s+9]=a.elements[7],t[s+10]=a.elements[8],t[s+15]=1}else if(i==="mat4")for(let r=0;r<e.length;r++){const s=r*16,a=e[r];for(let o=0;o<a.elements.length;o++)t[s+o]=a.elements[o]}else for(let r=0;r<e.length;r++){const s=r*4,a=e[r];t[s]=a.x,t[s+1]=a.y,t[s+2]=a.z||0,t[s+3]=a.w||0}}setup(e){const t=this.array.length,i=this.elementType;let r=Float32Array;const s=this.paddedType,a=e.getTypeLength(s);return i.charAt(0)==="i"&&(r=Int32Array),i.charAt(0)==="u"&&(r=Uint32Array),this.value=new r(t*a),this.bufferCount=t,this.bufferType=s,super.setup(e)}element(e){return Ie(new hZ(this,Ie(e)))}}const o0=(n,e)=>Ie(new ZO(n,e)),fZ=(n,e)=>(console.warn("THREE.TSL: uniforms() has been renamed to uniformArray()."),Ie(new ZO(n,e)));class dZ extends Ut{constructor(e){super("float"),this.name=e,this.isBuiltinNode=!0}generate(){return this.name}}const c5=De(dZ).setParameterLength(1),pu=Pt(0,"uint").label("u_cameraIndex").setGroup(uu("cameraIndex")).toVarying("v_cameraIndex"),C3=Pt("float").label("cameraNear").setGroup(Ct).onRenderUpdate(({camera:n})=>n.near),w3=Pt("float").label("cameraFar").setGroup(Ct).onRenderUpdate(({camera:n})=>n.far),Ma=qe(({camera:n})=>{let e;if(n.isArrayCamera&&n.cameras.length>0){const t=[];for(const r of n.cameras)t.push(r.projectionMatrix);e=o0(t).setGroup(Ct).label("cameraProjectionMatrices").element(n.isMultiViewCamera?c5("gl_ViewID_OVR"):pu).toVar("cameraProjectionMatrix")}else e=Pt("mat4").label("cameraProjectionMatrix").setGroup(Ct).onRenderUpdate(({camera:t})=>t.projectionMatrix);return e}).once()(),qZ=qe(({camera:n})=>{let e;if(n.isArrayCamera&&n.cameras.length>0){const t=[];for(const r of n.cameras)t.push(r.projectionMatrixInverse);e=o0(t).setGroup(Ct).label("cameraProjectionMatricesInverse").element(n.isMultiViewCamera?c5("gl_ViewID_OVR"):pu).toVar("cameraProjectionMatrixInverse")}else e=Pt("mat4").label("cameraProjectionMatrixInverse").setGroup(Ct).onRenderUpdate(({camera:t})=>t.projectionMatrixInverse);return e}).once()(),Rr=qe(({camera:n})=>{let e;if(n.isArrayCamera&&n.cameras.length>0){const t=[];for(const r of n.cameras)t.push(r.matrixWorldInverse);e=o0(t).setGroup(Ct).label("cameraViewMatrices").element(n.isMultiViewCamera?c5("gl_ViewID_OVR"):pu).toVar("cameraViewMatrix")}else e=Pt("mat4").label("cameraViewMatrix").setGroup(Ct).onRenderUpdate(({camera:t})=>t.matrixWorldInverse);return e}).once()(),pZ=Pt("mat4").label("cameraWorldMatrix").setGroup(Ct).onRenderUpdate(({camera:n})=>n.matrixWorld),_Z=Pt("mat3").label("cameraNormalMatrix").setGroup(Ct).onRenderUpdate(({camera:n})=>n.normalMatrix),QO=Pt(new Z).label("cameraPosition").setGroup(Ct).onRenderUpdate(({camera:n},e)=>e.value.setFromMatrixPosition(n.matrixWorld)),$E=new Q3;class v1 extends Ut{static get type(){return"Object3DNode"}constructor(e,t=null){super(),this.scope=e,this.object3d=t,this.updateType=p1.OBJECT,this.uniformNode=new a5(null)}getNodeType(){const e=this.scope;if(e===v1.WORLD_MATRIX)return"mat4";if(e===v1.POSITION||e===v1.VIEW_POSITION||e===v1.DIRECTION||e===v1.SCALE)return"vec3";if(e===v1.RADIUS)return"float"}update(e){const t=this.object3d,i=this.uniformNode,r=this.scope;if(r===v1.WORLD_MATRIX)i.value=t.matrixWorld;else if(r===v1.POSITION)i.value=i.value||new Z,i.value.setFromMatrixPosition(t.matrixWorld);else if(r===v1.SCALE)i.value=i.value||new Z,i.value.setFromMatrixScale(t.matrixWorld);else if(r===v1.DIRECTION)i.value=i.value||new Z,t.getWorldDirection(i.value);else if(r===v1.VIEW_POSITION){const s=e.camera;i.value=i.value||new Z,i.value.setFromMatrixPosition(t.matrixWorld),i.value.applyMatrix4(s.matrixWorldInverse)}else if(r===v1.RADIUS){const s=e.object.geometry;s.boundingSphere===null&&s.computeBoundingSphere(),$E.copy(s.boundingSphere).applyMatrix4(t.matrixWorld),i.value=$E.radius}}generate(e){const t=this.scope;return t===v1.WORLD_MATRIX?this.uniformNode.nodeType="mat4":t===v1.POSITION||t===v1.VIEW_POSITION||t===v1.DIRECTION||t===v1.SCALE?this.uniformNode.nodeType="vec3":t===v1.RADIUS&&(this.uniformNode.nodeType="float"),this.uniformNode.build(e)}serialize(e){super.serialize(e),e.scope=this.scope}deserialize(e){super.deserialize(e),this.scope=e.scope}}v1.WORLD_MATRIX="worldMatrix";v1.POSITION="position";v1.SCALE="scale";v1.VIEW_POSITION="viewPosition";v1.DIRECTION="direction";v1.RADIUS="radius";const mZ=De(v1,v1.DIRECTION).setParameterLength(1),gZ=De(v1,v1.WORLD_MATRIX).setParameterLength(1),JO=De(v1,v1.POSITION).setParameterLength(1),EZ=De(v1,v1.SCALE).setParameterLength(1),MZ=De(v1,v1.VIEW_POSITION).setParameterLength(1),xZ=De(v1,v1.RADIUS).setParameterLength(1);
3867class q0 extends v1{static get type(){return"ModelNode"}constructor(e){super(e)}update(e){this.object3d=e.object,super.update(e)}}const SZ=at(q0,q0.DIRECTION),u0=at(q0,q0.WORLD_MATRIX),yZ=at(q0,q0.POSITION),NZ=at(q0,q0.SCALE),vZ=at(q0,q0.VIEW_POSITION),OZ=at(q0,q0.RADIUS),eT=Pt(new o1).onObjectUpdate(({object:n},e)=>e.value.getNormalMatrix(n.matrixWorld)),TZ=Pt(new Yt).onObjectUpdate(({object:n},e)=>e.value.copy(n.matrixWorld).invert()),xa=qe(n=>n.renderer.overrideNodes.modelViewMatrix||tT).once()().toVar("modelViewMatrix"),tT=Rr.mul(u0),Sf=qe(n=>(n.context.isHighPrecisionModelViewMatrix=!0,Pt("mat4").onObjectUpdate(({object:e,camera:t})=>e.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,e.matrixWorld)))).once()().toVar("highpModelViewMatrix"),yf=qe(n=>{const e=n.context.isHighPrecisionModelViewMatrix;return Pt("mat3").onObjectUpdate(({object:t,camera:i})=>(e!==!0&&t.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix)))}).once()().toVar("highpModelNormalViewMatrix"),A5=a3("position","vec3"),Gn=A5.toVarying("positionLocal"),S9=A5.toVarying("positionPrevious"),X2=qe(n=>u0.mul(Gn).xyz.toVarying(n.getNamespace("v_positionWorld")),"vec3").once("POSITION")(),sp=qe(n=>Gn.transformDirection(u0).toVarying(n.getNamespace("v_positionWorldDirection")).normalize().toVar("positionWorldDirection"),"vec3").once("POSITION")(),Hn=qe(n=>n.context.setupPositionView().toVarying(n.getNamespace("v_positionView")),"vec3").once("POSITION")(),pn=Hn.negate().toVarying("v_positionViewDirection").normalize().toVar("positionViewDirection");class RZ extends Ut{static get type(){return"FrontFacingNode"}constructor(){super("bool"),this.isFrontFacingNode=!0}generate(e){const{renderer:t,material:i}=e;return t.coordinateSystem===sr&&i.side===Q1?"false":e.getFrontFacing()}}const nT=at(RZ),h5=te(nT).mul(2).sub(1),_u=a3("normal","vec3"),Or=qe(n=>n.geometry.hasAttribute("normal")===!1?(console.warn('THREE.TSL: Vertex attribute "normal" not found on geometry.'),he(0,1,0)):_u,"vec3").once()().toVar("normalLocal"),iT=Hn.dFdx().cross(Hn.dFdy()).normalize().toVar("normalFlat"),U0=qe(n=>{let e;return n.material.flatShading===!0?e=iT:e=Xr(ap(Or),"v_normalView").normalize(),e},"vec3").once()().toVar("normalView"),f5=qe(n=>{let e=U0.transformDirection(Rr);return n.material.flatShading!==!0&&(e=Xr(e,"v_normalWorld")),e},"vec3").once()().normalize().toVar("normalWorld"),Fn=qe(n=>{let e=n.context.setupNormal().context({getUV:null});return n.material.flatShading!==!0&&(e=e.mul(h5)),e},"vec3").once()().toVar("transformedNormalView"),mu=Fn.transformDirection(Rr).toVar("transformedNormalWorld"),xo=qe(n=>{let e=n.context.setupClearcoatNormal().context({getUV:null});return n.material.flatShading!==!0&&(e=e.mul(h5)),e},"vec3").once()().toVar("transformedClearcoatNormalView"),rT=qe(([n,e=u0])=>{const t=Ki(e),i=n.div(he(t[0].dot(t[0]),t[1].dot(t[1]),t[2].dot(t[2])));return t.mul(i).xyz}),ap=qe(([n],e)=>{const t=e.renderer.overrideNodes.modelNormalViewMatrix;if(t!==null)return t.transformDirection(n);const i=eT.mul(n);return Rr.transformDirection(i)}),jE=new Oi,uA=new Yt,sT=Pt(0).onReference(({material:n})=>n).onObjectUpdate(({material:n})=>n.refractionRatio),m7=Pt(1).onReference(({material:n})=>n).onObjectUpdate(function({material:n,scene:e}){return n.envMap?n.envMapIntensity:e.environmentIntensity}),op=Pt(new Yt).onReference(function(n){return n.material}).onObjectUpdate(function({material:n,scene:e}){const t=e.environment!==null&&n.envMap===null?e.environmentRotation:n.envMapRotation;return t?(jE.copy(t),uA.makeRotationFromEuler(jE)):uA.identity(),uA}),aT=pn.negate().reflect(Fn),oT=pn.negate().refract(Fn,sT),lT=aT.transformDirection(Rr).toVar("reflectVector"),uT=oT.transformDirection(Rr).toVar("reflectVector"),cT=new J8;class bZ extends S2{static get type(){return"CubeTextureNode"}constructor(e,t=null,i=null,r=null){super(e,t,i,r),this.isCubeTextureNode=!0}getInputType(){return"cubeTexture"}getDefaultUV(){const e=this.value;return e.mapping===p2?lT:e.mapping===_2?uT:(console.error('THREE.CubeTextureNode: Mapping "%s" not supported.',e.mapping),he(0,0,0))}setUpdateMatrix(){}setupUV(e,t){const i=this.value;return(e.renderer.coordinateSystem===m2||!i.isRenderTargetTexture)&&(t=he(t.x.negate(),t.yz)),op.mul(t)}
3867generateUV(e,t){return t.build(e,"vec3")}}const lp=De(bZ).setParameterLength(1,4).setName("cubeTexture"),q4=(n=cT,e=null,t=null,i=null)=>{let r;return n&&n.isCubeTextureNode===!0?(r=Ie(n.clone()),r.referenceNode=n.getSelf(),e!==null&&(r.uvNode=Ie(e)),t!==null&&(r.levelNode=Ie(t)),i!==null&&(r.biasNode=Ie(i))):r=lp(n,e,t,i),r},IZ=(n=cT)=>lp(n);class PZ extends Ea{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),i=this.referenceNode.getNodeType(),r=this.getNodeType();return e.format(t,i,r)}}class gu extends Ut{static get type(){return"ReferenceNode"}constructor(e,t,i=null,r=null){super(),this.property=e,this.uniformType=t,this.object=i,this.count=r,this.properties=e.split("."),this.reference=i,this.node=null,this.group=null,this.name=null,this.updateType=p1.OBJECT}element(e){return Ie(new PZ(this,Ie(e)))}setGroup(e){return this.group=e,this}label(e){return this.name=e,this}setNodeType(e){let t=null;this.count!==null?t=u5(null,e,this.count):Array.isArray(this.getValueFromReference())?t=o0(null,e):e==="texture"?t=S1(null):e==="cubeTexture"?t=q4(null):t=Pt(null,e),this.group!==null&&t.setGroup(this.group),this.name!==null&&t.label(this.name),this.node=t.getSelf()}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateValue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let i=e[t[0]];for(let r=1;r<t.length;r++)i=i[t[r]];return i}updateReference(e){return this.reference=this.object!==null?this.object:e.object,this.reference}setup(){return this.updateValue(),this.node}update(){this.updateValue()}updateValue(){this.node===null&&this.setNodeType(this.uniformType);const e=this.getValueFromReference();Array.isArray(e)?this.node.array=e:this.node.value=e}}const rn=(n,e,t)=>Ie(new gu(n,e,t)),Nf=(n,e,t,i)=>Ie(new gu(n,e,i,t));class LZ extends gu{static get type(){return"MaterialReferenceNode"}constructor(e,t,i=null){super(e,t,i),this.material=i,this.isMaterialReferenceNode=!0}updateReference(e){return this.reference=this.material!==null?this.material:e.material,this.reference}}const z2=(n,e,t=null)=>Ie(new LZ(n,e,t)),Eu=qe(n=>(n.geometry.hasAttribute("tangent")===!1&&n.geometry.computeTangents(),a3("tangent","vec4")))(),d5=Eu.xyz.toVar("tangentLocal"),q5=xa.mul(It(d5,0)).xyz.toVarying("v_tangentView").normalize().toVar("tangentView"),AT=q5.transformDirection(Rr).toVarying("v_tangentWorld").normalize().toVar("tangentWorld"),up=q5.toVar("transformedTangentView"),DZ=up.transformDirection(Rr).normalize().toVar("transformedTangentWorld"),p5=qe(([n,e],t)=>{let i=n.mul(Eu.w).xyz;return t.material.flatShading!==!0&&(i=Xr(i,e)),i}).once(),CZ=p5(_u.cross(Eu),"v_bitangentGeometry").normalize().toVar("bitangentGeometry"),wZ=p5(Or.cross(d5),"v_bitangentLocal").normalize().toVar("bitangentLocal"),hT=p5(U0.cross(q5),"v_bitangentView").normalize().toVar("bitangentView"),BZ=p5(f5.cross(AT),"v_bitangentWorld").normalize().toVar("bitangentWorld"),fT=p5(Fn.cross(up),"v_transformedBitangentView").normalize().toVar("transformedBitangentView"),UZ=fT.transformDirection(Rr).normalize().toVar("transformedBitangentWorld"),Hs=Ki(q5,hT,U0),dT=pn.mul(Hs),FZ=(n,e)=>n.sub(dT.mul(e)),qT=(()=>{let n=ia.cross(pn);return n=n.cross(ia).normalize(),n=H1(n,Fn,L3.mul(i2.oneMinus()).oneMinus().pow2().pow2()).normalize(),n})(),GZ=qe(n=>{const{eye_pos:e,surf_norm:t,mapN:i,uv:r}=n,s=e.dFdx(),a=e.dFdy(),o=r.dFdx(),l=r.dFdy(),u=t,d=a.cross(u),q=u.cross(s),_=d.mul(o.x).add(q.mul(l.x)),g=d.mul(o.y).add(q.mul(l.y)),M=_.dot(_).max(g.dot(g)),N=h5.mul(M.inverseSqrt());return Yn(_.mul(i.x,N),g.mul(i.y,N),u.mul(i.z)).normalize()});class VZ extends zn{static get type(){return"NormalMapNode"}constructor(e,t=null){super("vec3"),this.node=e,this.scaleNode=t,this.normalMapType=Q2}setup(e){const{normalMapType:t,scaleNode:i}=this;let r=this.node.mul(2).sub(1);i!==null&&(r=he(r.xy.mul(i),r.z));let s=null;return t===ly?s=ap(r):t===Q2&&(e.hasGeometryAttribute("tangent")===!0?s=Hs.mul(r).normalize():s=GZ({eye_pos:Hn,surf_norm:U0,mapN:r,uv:xn()})),s}}const vf=De(VZ).setParameterLength(1,2),kZ=qe(({textureNode:n,bumpScale:e})=>{const t=r=>n.cache().context({getUV:s=>r(s.uvNode||xn()),forceUVContext:!0}),i=te(t(r=>r));return Ue(te(t(r=>r.add(r.dFdx()))).sub(i),te(t(r=>r.add(r.dFdy()))).sub(i)).mul(e)}
3867),zZ=qe(n=>{const{surf_pos:e,surf_norm:t,dHdxy:i}=n,r=e.dFdx().normalize(),s=e.dFdy().normalize(),a=t,o=s.cross(a),l=a.cross(r),u=r.dot(o).mul(h5),d=u.sign().mul(i.x.mul(o).add(i.y.mul(l)));return u.abs().mul(t).sub(d).normalize()});class WZ extends zn{static get type(){return"BumpMapNode"}constructor(e,t=null){super("vec3"),this.textureNode=e,this.scaleNode=t}setup(){const e=this.scaleNode!==null?this.scaleNode:1,t=kZ({textureNode:this.textureNode,bumpScale:e});return zZ({surf_pos:Hn,surf_norm:U0,dHdxy:t})}}const pT=De(WZ).setParameterLength(1,2),XE=new Map;class Re extends Ut{static get type(){return"MaterialNode"}constructor(e){super(),this.scope=e}getCache(e,t){let i=XE.get(e);return i===void 0&&(i=z2(e,t),XE.set(e,i)),i}getFloat(e){return this.getCache(e,"float")}getColor(e){return this.getCache(e,"color")}getTexture(e){return this.getCache(e==="map"?"map":e+"Map","texture")}setup(e){const t=e.context.material,i=this.scope;let r=null;if(i===Re.COLOR){const s=t.color!==void 0?this.getColor(i):he();t.map&&t.map.isTexture===!0?r=s.mul(this.getTexture("map")):r=s}else if(i===Re.OPACITY){const s=this.getFloat(i);t.alphaMap&&t.alphaMap.isTexture===!0?r=s.mul(this.getTexture("alpha")):r=s}else if(i===Re.SPECULAR_STRENGTH)t.specularMap&&t.specularMap.isTexture===!0?r=this.getTexture("specular").r:r=te(1);else if(i===Re.SPECULAR_INTENSITY){const s=this.getFloat(i);t.specularIntensityMap&&t.specularIntensityMap.isTexture===!0?r=s.mul(this.getTexture(i).a):r=s}else if(i===Re.SPECULAR_COLOR){const s=this.getColor(i);t.specularColorMap&&t.specularColorMap.isTexture===!0?r=s.mul(this.getTexture(i).rgb):r=s}else if(i===Re.ROUGHNESS){const s=this.getFloat(i);t.roughnessMap&&t.roughnessMap.isTexture===!0?r=s.mul(this.getTexture(i).g):r=s}else if(i===Re.METALNESS){const s=this.getFloat(i);t.metalnessMap&&t.metalnessMap.isTexture===!0?r=s.mul(this.getTexture(i).b):r=s}else if(i===Re.EMISSIVE){const s=this.getFloat("emissiveIntensity"),a=this.getColor(i).mul(s);t.emissiveMap&&t.emissiveMap.isTexture===!0?r=a.mul(this.getTexture(i)):r=a}else if(i===Re.NORMAL)t.normalMap?(r=vf(this.getTexture("normal"),this.getCache("normalScale","vec2")),r.normalMapType=t.normalMapType):t.bumpMap?r=pT(this.getTexture("bump").r,this.getFloat("bumpScale")):r=U0;else if(i===Re.CLEARCOAT){const s=this.getFloat(i);t.clearcoatMap&&t.clearcoatMap.isTexture===!0?r=s.mul(this.getTexture(i).r):r=s}else if(i===Re.CLEARCOAT_ROUGHNESS){const s=this.getFloat(i);t.clearcoatRoughnessMap&&t.clearcoatRoughnessMap.isTexture===!0?r=s.mul(this.getTexture(i).r):r=s}else if(i===Re.CLEARCOAT_NORMAL)t.clearcoatNormalMap?r=vf(this.getTexture(i),this.getCache(i+"Scale","vec2")):r=U0;else if(i===Re.SHEEN){const s=this.getColor("sheenColor").mul(this.getFloat("sheen"));t.sheenColorMap&&t.sheenColorMap.isTexture===!0?r=s.mul(this.getTexture("sheenColor").rgb):r=s}else if(i===Re.SHEEN_ROUGHNESS){const s=this.getFloat(i);t.sheenRoughnessMap&&t.sheenRoughnessMap.isTexture===!0?r=s.mul(this.getTexture(i).a):r=s,r=r.clamp(.07,1)}else if(i===Re.ANISOTROPY)if(t.anisotropyMap&&t.anisotropyMap.isTexture===!0){const s=this.getTexture(i);r=au(co.x,co.y,co.y.negate(),co.x).mul(s.rg.mul(2).sub(Ue(1)).normalize().mul(s.b))}else r=co;else if(i===Re.IRIDESCENCE_THICKNESS){const s=rn("1","float",t.iridescenceThicknessRange);if(t.iridescenceThicknessMap){const a=rn("0","float",t.iridescenceThicknessRange);r=s.sub(a).mul(this.getTexture(i).g).add(a)}else r=s}else if(i===Re.TRANSMISSION){const s=this.getFloat(i);t.transmissionMap?r=s.mul(this.getTexture(i).r):r=s}else if(i===Re.THICKNESS){const s=this.getFloat(i);t.thicknessMap?r=s.mul(this.getTexture(i).g):r=s}else if(i===Re.IOR)r=this.getFloat(i);else if(i===Re.LIGHT_MAP)r=this.getTexture(i).rgb.mul(this.getFloat("lightMapIntensity"));else if(i===Re.AO)r=this.getTexture(i).r.sub(1).mul(this.getFloat("aoMapIntensity")).add(1);else if(i===Re.LINE_DASH_OFFSET)r=t.dashOffset?this.getFloat(i):te(0);else{const s=this.getNodeType(e);r=this.getCache(i,s)}return r}}Re.ALPHA_TEST="alphaTest";Re.COLOR="color";Re.OPACITY="opacity";Re.SHININESS="shininess";Re.SPECULAR="specular";Re.SPECULAR_STRENGTH="specularStrength";Re.SPECULAR_INTENSITY="specularIntensity";Re.SPECULAR_COLOR="specularColor";Re.REFLECTIVITY="reflectivity";Re.ROUGHNESS="roughness";Re.METALNESS="metalness";Re.NORMAL="normal";Re.CLEARCOAT="clearcoat";Re.CLEARCOAT_ROUGHNESS="clearcoatRoughness";Re.CLEARCOAT_NORMAL="clearcoatNormal";Re.EMISSIVE="emissive";Re.ROTATION="rotation";Re.SHEEN="sheen";Re.SHEEN_ROUGHNESS="sheenRoughness";Re.ANISOTROPY="anisotropy";Re.IRIDESCENCE="iridescence";Re.IRIDESCENCE_IOR="iridescenceIOR";Re.IRIDESCENCE_THICKNESS="iridescenceThickness";Re.IOR="ior";Re.TRANSMISSION="transmission";Re.THICKNESS="thickness";Re.ATTENUATION_DISTANCE="attenuationDistance";Re.ATTENUATION_COLOR="attenuationColor";Re.LINE_SCALE="scale";Re.LINE_DASH_SIZE="dashSize";Re.LINE_GAP_SIZE="gapSize";Re.LINE_WIDTH="linewidth";Re.LINE_DASH_OFFSET="dashOffset";Re.POINT_SIZE="size";Re.DISPERSION="dispersion";Re.LIGHT_MAP="light";Re.AO="ao";const _T=at(Re,Re.ALPHA_TEST),mT=at(Re,Re.COLOR),gT=at(Re,Re.SHININESS),ET=at(Re,Re.EMISSIVE),cp=at(Re,Re.OPACITY),MT=at(Re,Re.SPECULAR),Of=at(Re,Re.SPECULAR_INTENSITY),xT=at(Re,Re.SPECULAR_COLOR),j6=at(Re,Re.SPECULAR_STRENGTH),g7=at
3867(Re,Re.REFLECTIVITY),ST=at(Re,Re.ROUGHNESS),yT=at(Re,Re.METALNESS),NT=at(Re,Re.NORMAL),vT=at(Re,Re.CLEARCOAT),OT=at(Re,Re.CLEARCOAT_ROUGHNESS),TT=at(Re,Re.CLEARCOAT_NORMAL),RT=at(Re,Re.ROTATION),bT=at(Re,Re.SHEEN),IT=at(Re,Re.SHEEN_ROUGHNESS),PT=at(Re,Re.ANISOTROPY),LT=at(Re,Re.IRIDESCENCE),DT=at(Re,Re.IRIDESCENCE_IOR),CT=at(Re,Re.IRIDESCENCE_THICKNESS),wT=at(Re,Re.TRANSMISSION),BT=at(Re,Re.THICKNESS),UT=at(Re,Re.IOR),FT=at(Re,Re.ATTENUATION_DISTANCE),GT=at(Re,Re.ATTENUATION_COLOR),VT=at(Re,Re.LINE_SCALE),kT=at(Re,Re.LINE_DASH_SIZE),zT=at(Re,Re.LINE_GAP_SIZE),HZ=at(Re,Re.LINE_WIDTH),WT=at(Re,Re.LINE_DASH_OFFSET),HT=at(Re,Re.POINT_SIZE),KT=at(Re,Re.DISPERSION),Ap=at(Re,Re.LIGHT_MAP),YT=at(Re,Re.AO),co=Pt(new Ce).onReference(function(n){return n.material}).onRenderUpdate(function({material:n}){this.value.set(n.anisotropy*Math.cos(n.anisotropyRotation),n.anisotropy*Math.sin(n.anisotropyRotation))}),hp=qe(n=>n.context.setupModelViewProjection(),"vec4").once()().toVarying("v_modelViewProjection");class _n extends Ut{static get type(){return"IndexNode"}constructor(e){super("uint"),this.scope=e,this.isIndexNode=!0}generate(e){const t=this.getNodeType(e),i=this.scope;let r;if(i===_n.VERTEX)r=e.getVertexIndex();else if(i===_n.INSTANCE)r=e.getInstanceIndex();else if(i===_n.DRAW)r=e.getDrawIndex();else if(i===_n.INVOCATION_LOCAL)r=e.getInvocationLocalIndex();else if(i===_n.INVOCATION_SUBGROUP)r=e.getInvocationSubgroupIndex();else if(i===_n.SUBGROUP)r=e.getSubgroupIndex();else throw new Error("THREE.IndexNode: Unknown scope: "+i);let s;return e.shaderStage==="vertex"||e.shaderStage==="compute"?s=r:s=Xr(this).build(e,t),s}}_n.VERTEX="vertex";_n.INSTANCE="instance";_n.SUBGROUP="subgroup";_n.INVOCATION_LOCAL="invocationLocal";_n.INVOCATION_SUBGROUP="invocationSubgroup";_n.DRAW="draw";const $T=at(_n,_n.VERTEX),W3=at(_n,_n.INSTANCE),KZ=at(_n,_n.SUBGROUP),YZ=at(_n,_n.INVOCATION_SUBGROUP),$Z=at
3867(_n,_n.INVOCATION_LOCAL),jT=at(_n,_n.DRAW);class XT extends Ut{static get type(){return"InstanceNode"}constructor(e,t,i=null){super("void"),this.count=e,this.instanceMatrix=t,this.instanceColor=i,this.instanceMatrixNode=null,this.instanceColorNode=null,this.updateType=p1.FRAME,this.buffer=null,this.bufferColor=null}setup(e){const{count:t,instanceMatrix:i,instanceColor:r}=this;let{instanceMatrixNode:s,instanceColorNode:a}=this;if(s===null){if(t<=1e3)s=u5(i.array,"mat4",Math.max(t,1)).element(W3);else{const l=new L7(i.array,16,1);this.buffer=l;const u=i.usage===fo?xf:x9,d=[u(l,"vec4",16,0),u(l,"vec4",16,4),u(l,"vec4",16,8),u(l,"vec4",16,12)];s=na(...d)}this.instanceMatrixNode=s}if(r&&a===null){const l=new k3(r.array,3),u=r.usage===fo?xf:x9;this.bufferColor=l,a=he(u(l,"vec3",3,0)),this.instanceColorNode=a}const o=s.mul(Gn).xyz;if(Gn.assign(o),e.hasGeometryAttribute("normal")){const l=rT(Or,s);Or.assign(l)}this.instanceColorNode!==null&&C8("vec3","vInstanceColor").assign(this.instanceColorNode)}update(){this.instanceMatrix.usage!==fo&&this.buffer!==null&&this.instanceMatrix.version!==this.buffer.version&&(this.buffer.version=this.instanceMatrix.version),this.instanceColor&&this.instanceColor.usage!==fo&&this.bufferColor!==null&&this.instanceColor.version!==this.bufferColor.version&&(this.bufferColor.version=this.instanceColor.version)}}const jZ=De(XT).setParameterLength(2,3);class XZ extends XT{static get type(){return"InstancedMeshNode"}constructor(e){const{count:t,instanceMatrix:i,instanceColor:r}=e;super(t,i,r),this.instancedMesh=e}}const ZT=De(XZ).setParameterLength(1);class ZZ extends Ut{static get type(){return"BatchNode"}constructor(e){super("void"),this.batchMesh=e,this.batchingIdNode=null}setup(e){this.batchingIdNode===null&&(e.getDrawIndex()===null?this.batchingIdNode=W3:this.batchingIdNode=jT);const i=qe(([M])=>{const N=le(z3(Bn(this.batchMesh._indirectTexture),0).x),y=le(M).mod(N),S=le(M).div(N);return Bn(this.batchMesh._indirectTexture,oi(y,S)).x}).setLayout({name:"getIndirectIndex",type:"uint",inputs:[{name:"id",type:"int"}]})(le(this.batchingIdNode)),r=this.batchMesh._matricesTexture,s=le(z3(Bn(r),0).x),a=te(i).mul(4).toInt().toVar(),o=a.mod(s),l=a.div(s),u=na(Bn(r,oi(o,l)),Bn(r,oi(o.add(1),l)),Bn(r,oi(o.add(2),l)),Bn(r,oi(o.add(3),l))),d=this.batchMesh._colorsTexture;if(d!==null){const N=qe(([y])=>{const S=le(z3(Bn(d),0).x),R=y,O=R.mod(S),b=R.div(S);return Bn(d,oi(O,b)).rgb}).setLayout({name:"getBatchingColor",type:"vec3",inputs:[{name:"id",type:"int"}]})(i);C8("vec3","vBatchColor").assign(N)}const q=Ki(u);Gn.assign(u.mul(Gn));const _=Or.div(he(q[0].dot(q[0]),q[1].dot(q[1]),q[2].dot(q[2]))),g=q.mul(_).xyz;Or.assign(g),e.hasGeometryAttribute("tangent")&&d5.mulAssign(q)}}const QT=De(ZZ).setParameterLength(1);class QZ extends Ea{static get type(){return"StorageArrayElementNode"}constructor(e,t){super(e,t),this.isStorageArrayElementNode=!0}set storageBufferNode(e){this.node=e}get storageBufferNode(){return this.node}getMemberType(e,t){const i=this.storageBufferNode.structTypeNode;return i?i.getMemberType(e,t):"void"}setup(e){return e.isAvailable("storageBuffer")===!1&&this.node.isPBO===!0&&e.setupPBO(this.node),super.setup(e)}generate(e,t){let i;const r=e.context.assign;if(e.isAvailable("storageBuffer")===!1?this.node.isPBO===!0&&r!==!0&&(this.node.value.isInstancedBufferAttribute||e.shaderStage!=="compute")?i=e.generatePBO(this):i=this.node.build(e):i=super.generate(e),r!==!0){const s=this.getNodeType(e);i=e.format(i,s,t)}return i}}const JZ=De(QZ).setParameterLength(2);class eQ extends rp{static get type(){return"StorageBufferNode"}constructor(e,t=null,i=0){let r,s=null;t&&t.isStruct?(r="struct",s=t.layout,(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)&&(i=e.count)):t===null&&(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)?(r=ov(e.itemSize),i=e.count):r=t,super(e,r,i),this.isStorageBufferNode=!0,this.structTypeNode=s,this.access=ki.READ_WRITE,this.isAtomic=!1,this.isPBO=!1,this._attribute=null,this._varying=null,this.global=!0,e.isStorageBufferAttribute!==!0&&e.isStorageInstancedBufferAttribute!==!0&&(e.isInstancedBufferAttribute?e.isStorageInstancedBufferAttribute=!0:e.isStorageBufferAttribute=!0)}getHash(e){if(this.bufferCount===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getInputType(){return this.value.isIndirectStorageBufferAttribute?"indirectStorageBuffer":"storageBuffer"}element(e){return JZ(this,e)}setPBO(e){return this.isPBO=e,this}getPBO(){return this.isPBO}setAccess(e){return this.access=e,this}toReadOnly(){return this.setAccess(ki.READ_ONLY)}setAtomic(e){return this.isAtomic=e,this}toAtomic(){return this.setAtomic(!0)}getAttributeData(){return this._attribute===null&&(this._attribute=l5(this.value),this._varying=Xr(this._attribute)),{attribute:this._attribute,varying:this._varying}}getNodeType(e){if(this.structTypeNode!==null)return this.structTypeNode.getNodeType(e);if(e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.getNodeType(e);const{attribute:t}=this.getAttributeData();return t.getNodeType(e)}getMemberType(e,t){return this.structTypeNode!==null?this.structTypeNode.getMemberType(e,t):"void"}generate(e){if(this.structTypeNode!==null&&this.structTypeNode.build(e),e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.generate(e);const{attribute:t,varying:i}=this.getAttributeData(),r=i.build(e);return e.registerTransform(r,t),r}}const ra=(n,e=null,t=0)=>
3867Ie(new eQ(n,e,t)),tQ=(n,e,t)=>(console.warn('THREE.TSL: "storageObject()" is deprecated. Use "storage().setPBO( true )" instead.'),ra(n,e,t).setPBO(!0)),ZE=new WeakMap;class JT extends Ut{static get type(){return"SkinningNode"}constructor(e){super("void"),this.skinnedMesh=e,this.updateType=p1.OBJECT,this.skinIndexNode=a3("skinIndex","uvec4"),this.skinWeightNode=a3("skinWeight","vec4"),this.bindMatrixNode=rn("bindMatrix","mat4"),this.bindMatrixInverseNode=rn("bindMatrixInverse","mat4"),this.boneMatricesNode=Nf("skeleton.boneMatrices","mat4",e.skeleton.bones.length),this.positionNode=Gn,this.toPositionNode=Gn,this.previousBoneMatricesNode=null}getSkinnedPosition(e=this.boneMatricesNode,t=this.positionNode){const{skinIndexNode:i,skinWeightNode:r,bindMatrixNode:s,bindMatrixInverseNode:a}=this,o=e.element(i.x),l=e.element(i.y),u=e.element(i.z),d=e.element(i.w),q=s.mul(t),_=Yn(o.mul(r.x).mul(q),l.mul(r.y).mul(q),u.mul(r.z).mul(q),d.mul(r.w).mul(q));return a.mul(_).xyz}getSkinnedNormal(e=this.boneMatricesNode,t=Or){const{skinIndexNode:i,skinWeightNode:r,bindMatrixNode:s,bindMatrixInverseNode:a}=this,o=e.element(i.x),l=e.element(i.y),u=e.element(i.z),d=e.element(i.w);let q=Yn(r.x.mul(o),r.y.mul(l),r.z.mul(u),r.w.mul(d));return q=a.mul(q).mul(s),q.transformDirection(t).xyz}getPreviousSkinnedPosition(e){const t=e.object;return this.previousBoneMatricesNode===null&&(t.skeleton.previousBoneMatrices=new Float32Array(t.skeleton.boneMatrices),this.previousBoneMatricesNode=Nf("skeleton.previousBoneMatrices","mat4",t.skeleton.bones.length)),this.getSkinnedPosition(this.previousBoneMatricesNode,S9)}needsPreviousBoneMatrices(e){const t=e.renderer.getMRT();return t&&t.has("velocity")||cv(e.object).useVelocity===!0}setup(e){this.needsPreviousBoneMatrices(e)&&S9.assign(this.getPreviousSkinnedPosition(e));const t=this.getSkinnedPosition();if(this.toPositionNode&&this.toPositionNode.assign(t),e.hasGeometryAttribute("normal")){const i=this.getSkinnedNormal();Or.assign(i),e.hasGeometryAttribute("tangent")&&d5.assign(i)}return t}generate(e,t){if(t!=="void")return super.generate(e,t)}update(e){const t=e.object&&e.object.skeleton?e.object.skeleton:this.skinnedMesh.skeleton;ZE.get(t)!==e.frameId&&(ZE.set(t,e.frameId),this.previousBoneMatricesNode!==null&&t.previousBoneMatrices.set(t.boneMatrices),t.update())}}const eR=n=>Ie(new JT(n)),nQ=(n,e=null)=>{const t=new JT(n);return t.positionNode=ra(new k3(n.geometry.getAttribute("position").array,3),"vec3").setPBO(!0).toReadOnly().element(W3).toVar(),t.skinIndexNode=ra(new k3(new Uint32Array(n.geometry.getAttribute("skinIndex").array),4),"uvec4").setPBO(!0).toReadOnly().element(W3).toVar(),t.skinWeightNode=ra(new k3(n.geometry.getAttribute("skinWeight").array,4),"vec4").setPBO(!0).toReadOnly().element(W3).toVar(),t.bindMatrixNode=Pt(n.bindMatrix,"mat4"),t.bindMatrixInverseNode=Pt(n.bindMatrixInverse,"mat4"),t.boneMatricesNode=u5(n.skeleton.boneMatrices,"mat4",n.skeleton.bones.length),t.toPositionNode=e,Ie(t)};class iQ extends Ut{static get type(){return"LoopNode"}constructor(e=[]){super(),this.params=e}getVarName(e){return String.fromCharCode(105+e)}getProperties(e){const t=e.getNodeProperties(this);if(t.stackNode!==void 0)return t;const i={};for(let a=0,o=this.params.length-1;a<o;a++){const l=this.params[a],u=l.isNode!==!0&&l.name||this.getVarName(a),d=l.isNode!==!0&&l.type||"int";i[u]=s3(u,d)}const r=e.addStack();t.returnsNode=this.params[this.params.length-1](i,e),t.stackNode=r;const s=this.params[0];return s.isNode!==!0&&typeof s.update=="function"&&(t.updateNode=qe(this.params[0].update)(i)),e.removeStack(),t}getNodeType(e){const{returnsNode:t}=this.getProperties(e);return t?t.getNodeType(e):"void"}setup(e){this.getProperties(e)}generate(e){const t=this.getProperties(e),i=this.params,r=t.stackNode;for(let o=0,l=i.length-1;o<l;o++){const u=i[o];let d=!1,q=null,_=null,g=null,M=null,N=null,y=null;u.isNode?u.getNodeType(e)==="bool"?(d=!0,M="bool",_=u.build(e,M)):(M="int",g=this.getVarName(o),q="0",_=u.build(e,M),N="<"):(M=u.type||"int",g=u.name||this.getVarName(o),q=u.start,_=u.end,N=u.condition,y=u.update,typeof q=="number"?q=e.generateConst(M,q):q&&q.isNode&&(q=q.build(e,M)),typeof _=="number"?_=e.generateConst(M,_):_&&_.isNode&&(_=_.build(e,M)),q!==void 0&&_===void 0?(q=q+" - 1",_="0",N=">="):_!==void 0&&q===void 0&&(q="0",N="<"),N===void 0&&(Number(q)>Number(_)?N=">=":N="<"));let S;if(d)S=`while ( ${_} )`;else{const R={start:q,end:_},O=R.start,b=R.end;let D;const B=()=>N.includes("<")?"+=":"-=";if(y!=null)switch(typeof y){case"function":D=e.flowStagesNode(t.updateNode,"void").code.replace(/\t|;/g,"");break;case"number":D=g+" "+B()+" "+e.generateConst(M,y);break;case"string":D=g+" "+y;break;default:y.isNode?D=g+" "+B()+" "+y.build(e):(console.error("THREE.TSL: 'Loop( { update: ... } )' is not a function, string or number."),D="break /* invalid update */")}else M==="int"||M==="uint"?y=N.includes("<")?"++":"--":y=B()+" 1.",D=g+" "+y;const C=e.getVar(M,g)+" = "+O,G=g+" "+N+" "+b;S=`for ( ${C}; ${G}; ${D} )`}e.addFlowCode((o===0?` 3868`:"")+e.tab+S+` { 3869 3870`).addFlowTab()}const s=r.build(e,"void"),a=t.returnsNode?t.returnsNode.build(e):"";e.removeFlowTab().addFlowCode(` 3871`+e.tab+s);for(let o=0,l=this.params.length-1;o<l;o++)e.addFlowCode((o===0?"":e.tab)+`} 3872 3873`).removeFlowTab();return e.addFlowTab(),a}}const K1=(...n)=>
3873Ie(new iQ(ta(n,"int"))).toStack(),rQ=()=>s3("continue").toStack(),tR=()=>s3("break").toStack(),sQ=(...n)=>(console.warn("THREE.TSL: loop() has been renamed to Loop()."),K1(...n)),cA=new WeakMap,wr=new wt,QE=qe(({bufferMap:n,influence:e,stride:t,width:i,depth:r,offset:s})=>{const a=le($T).mul(t).add(s),o=a.div(i),l=a.sub(o.mul(i));return Bn(n,oi(l,o)).depth(r).xyz.mul(e)});function aQ(n){const e=n.morphAttributes.position!==void 0,t=n.morphAttributes.normal!==void 0,i=n.morphAttributes.color!==void 0,r=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,s=r!==void 0?r.length:0;let a=cA.get(n);if(a===void 0||a.count!==s){let R=function(){y.dispose(),cA.delete(n),n.removeEventListener("dispose",R)};var o=R;a!==void 0&&a.texture.dispose();const l=n.morphAttributes.position||[],u=n.morphAttributes.normal||[],d=n.morphAttributes.color||[];let q=0;e===!0&&(q=1),t===!0&&(q=2),i===!0&&(q=3);let _=n.attributes.position.count*q,g=1;const M=4096;_>M&&(g=Math.ceil(_/M),_=M);const N=new Float32Array(_*g*4*s),y=new Hd(N,_,g,s
3873);y.type=Wn,y.needsUpdate=!0;const S=q*4;for(let O=0;O<s;O++){const b=l[O],D=u[O],B=d[O],C=_*g*4*O;for(let G=0;G<b.count;G++){const L=G*S;e===!0&&(wr.fromBufferAttribute(b,G),N[C+L+0]=wr.x,N[C+L+1]=wr.y,N[C+L+2]=wr.z,N[C+L+3]=0),t===!0&&(wr.fromBufferAttribute(D,G),N[C+L+4]=wr.x,N[C+L+5]=wr.y,N[C+L+6]=wr.z,N[C+L+7]=0),i===!0&&(wr.fromBufferAttribute(B,G),N[C+L+8]=wr.x,N[C+L+9]=wr.y,N[C+L+10]=wr.z,N[C+L+11]=B.itemSize===4?wr.w:1)}}a={count:s,texture:y,stride:q,size:new Ce(_,g)},cA.set(n,a),n.addEventListener("dispose",R)}return a}class oQ extends Ut{static get type(){return"MorphNode"}constructor(e){super("void"),this.mesh=e,this.morphBaseInfluence=Pt(1),this.updateType=p1.OBJECT}setup(e){const{geometry:t}=e,i=t.morphAttributes.position!==void 0,r=t.hasAttribute("normal")&&t.morphAttributes.normal!==void 0,s=t.morphAttributes.position||t.morphAttributes.normal||t.morphAttributes.color,a=s!==void 0?s.length:0,{texture:o,stride:l,size:u}=aQ(t);i===!0&&Gn.mulAssign(this.morphBaseInfluence),r===!0&&Or.mulAssign(this.morphBaseInfluence);const d=le(u.width);K1(a,({i:q})=>{const _=te(0).toVar();this.mesh.count>1&&this.mesh.morphTexture!==null&&this.mesh.morphTexture!==void 0?_.assign(Bn(this.mesh.morphTexture,oi(le(q).add(1),le(W3))).r):_.assign(rn("morphTargetInfluences","float").element(q).toVar()),c1(_.notEqual(0),()=>{i===!0&&Gn.addAssign(QE({bufferMap:o,influence:_,stride:l,width:d,depth:q,offset:le(0)})),r===!0&&Or.addAssign(QE({bufferMap:o,influence:_,stride:l,width:d,depth:q,offset:le(1)}))})})}update(){const e=this.morphBaseInfluence;this.mesh.geometry.morphTargetsRelative?e.value=1:e.value=1-this.mesh.morphTargetInfluences.reduce((t,i)=>t+i,0)}}const nR=De(oQ).setParameterLength(1);class C4 extends Ut{static get type(){return"LightingNode"}constructor(){super("vec3"),this.isLightingNode=!0}}class lQ extends C4{static get type(){return"AONode"}constructor(e=null){super(),this.aoNode=e}setup(e){e.context.ambientOcclusion.mulAssign(this.aoNode)}}class uQ extends vO{static get type(){return"LightingContextNode"}constructor(e,t=null,i=null,r=null){super(e),this.lightingModel=t,this.backdropNode=i,this.backdropAlphaNode=r,this._value=null}getContext(){const{backdropNode:e,backdropAlphaNode:t}=this,i=he().toVar("directDiffuse"),r=he().toVar("directSpecular"),s=he().toVar("indirectDiffuse"),a=he().toVar("indirectSpecular"),o={directDiffuse:i,directSpecular:r,indirectDiffuse:s,indirectSpecular:a};return{radiance:he().toVar("radiance"),irradiance:he().toVar("irradiance"),iblIrradiance:he().toVar("iblIrradiance"),ambientOcclusion:te(1).toVar("ambientOcclusion"),reflectedLight:o,backdrop:e,backdropAlpha:t}}setup(e){return this.value=this._value||(this._value=this.getContext()),this.value.lightingModel=this.lightingModel||e.context.lightingModel,super.setup(e)}}const iR=De(uQ);class cQ extends C4{static get type(){return"IrradianceNode"}constructor(e){super(),this.node=e}setup(e){e.context.irradiance.addAssign(this.node)}}let o6,l6;class Zn extends Ut{static get type(){return"ScreenNode"}constructor(e){super(),this.scope=e,this.isViewportNode=!0}getNodeType(){return this.scope===Zn.VIEWPORT?"vec4":"vec2"}getUpdateType(){let e=p1.NONE;return(this.scope===Zn.SIZE||this.scope===Zn.VIEWPORT)&&(e=p1.RENDER),this.updateType=e,e}update({renderer:e}){const t=e.getRenderTarget();this.scope===Zn.VIEWPORT?t!==null?l6.copy(t.viewport):(e.getViewport(l6),l6.multiplyScalar(e.getPixelRatio())):t!==null?(o6.width=t.width,o6.height=t.height):e.getDrawingBufferSize(o6)}setup(){const e=this.scope;let t=null;return e===Zn.SIZE?t=Pt(o6||(o6=new Ce)):e===Zn.VIEWPORT?t=Pt(l6||(l6=new wt)):t=Ue(_5.div(G8)),t}generate(e){if(this.scope===Zn.COORDINATE){let t=e.getFragCoord();if(e.isFlipY()){const i=e.getNodeProperties(G8).outputNode.build(e);t=`${e.getType("vec2")}( ${t}.x, ${i}.y - ${t}.y )`}return t}return super.generate(e)}}Zn.COORDINATE="coordinate";Zn.VIEWPORT="viewport";Zn.SIZE="size";Zn.UV="uv";const D0=at(Zn,Zn.UV),G8=at(Zn,Zn.SIZE),_5=at(Zn,Zn.COORDINATE),Po=at(Zn,Zn.VIEWPORT),rR=Po.zw,sR=_5.sub(Po.xy),AQ=sR.div(rR),hQ=qe(()=>(console.warn('THREE.TSL: "viewportResolution" is deprecated. Use "screenSize" instead.'),G8),"vec2").once()(),fQ=qe(()=>(console.warn('THREE.TSL: "viewportTopLeft" is deprecated. Use "screenUV" instead.'),D0),"vec2").once()(),dQ=qe(()=>(console.warn('THREE.TSL: "viewportBottomLeft" is deprecated. Use "screenUV.flipY()" instead.'),D0.flipY()),"vec2").once()(),u6=new Ce;class Mu extends S2{static get type(){return"ViewportTextureNode"}constructor(e=D0,t=null,i=null){i===null&&(i=new py,i.minFilter=qr),super(i,e,t),this.generateMipmaps=!1,this.isOutputTextureNode=!0,this.updateBeforeType=p1.FRAME}updateBefore(e){const t=e.renderer;t.getDrawingBufferSize(u6);const i=this.value;(i.image.width!==u6.width||i.image.height!==u6.height)&&(i.image.width=u6.width,i.image.height=u6.height,i.needsUpdate=!0);const r=i.generateMipmaps;i.generateMipmaps=this.generateMipmaps,t.copyFramebufferToTexture(i),i.generateMipmaps=r}clone(){const e=new this.constructor(this.uvNode,this.levelNode,this.value);return e.generateMipmaps=this.generateMipmaps,e}}const qQ=De(Mu).setParameterLength(0,3),fp=De(Mu,null,null,{generateMipmaps:!0}).setParameterLength(0,3);let AA=null;class pQ extends Mu{static get type(){return"ViewportDepthTextureNode"}constructor(e=D0,t=null){AA===null&&(AA=new $r),super(e,t,AA)}}const dp=De(pQ).setParameterLength(0,2);class gr extends Ut{static get type(){return"ViewportDepthNode"}constructor(e,t=null){super("float"),this.scope=e,this.valueNode=t,this.isViewportDepthNode=!0}generate(e){const{scope:t}=this;return t===gr.DEPTH_BASE?e.getFragDepth():super.generate(e)}setup({camera:e}){const{scope:t}=this,i=this.valueNode;let r=null;if(t===gr.DEPTH_BASE)i!==null&&(r=oR().assign(i));else if(t===gr.DEPTH)e.isPerspectiveCamera?r=aR(Hn.z,C3,w3):r=Lo(Hn.z,C3,w3);else if(t===gr.LINEAR_DEPTH)if(i!==null)if(e.isPerspectiveCamera){const s=qp(i,C3,w3);r=Lo(s,C3,w3)}else r=i;else r=Lo(Hn.z,C3,w3);return r}}gr.DEPTH_BASE="depthBase";gr.DEPTH="depth";gr.LINEAR_DEPTH="linearDepth";const Lo=(n,e,t)=>n.add(e).div(e.sub(t)),_Q=(n,e,t)=>e.sub(t).mul(n).sub(e),aR=(n,e,t)=>e.add(n).mul(t).div(t.sub(e).mul(n)),qp=(n,e,t)=>e.mul(t).div(t.sub(e).mul(n).sub(t)),pp=(n,e,t)=>{e=e.max(1e-6).toVar();const i=h2(n.negate().div(e)),r=h2(t.div(e));return i.div(r)},mQ=(n,e,t)=>{const i=n.mul(cu(t.div(e)));return te(Math.E).pow(i).mul(e).negate()},oR=De(gr,gr.DEPTH_BASE),_p=at(gr,gr.DEPTH),y9=De(gr,gr.LINEAR_DEPTH).setParameterLength(0,1),gQ=y9(dp());_p.assign=n=>oR(n);class h0 extends Ut{static get type(){return"ClippingNode"}constructor(e=h0.DEFAULT){super(),this.scope=e}setup(e){super.setup(e);const t=e.clippingContext,{intersectionPlanes:i,unionPlanes:r}=t;return this.hardwareClipping=e.material.hardwareClipping,this.scope===h0.ALPHA_TO_COVERAGE?this.setupAlphaToCoverage(i,r):this.scope===h0.HARDWARE?this.setupHardwareClipping(r,e):this.setupDefault(i,r)}setupAlphaToCoverage(e,t){return qe(()=>{const i=te().toVar("distanceToPlane"),r=te().toVar("distanceToGradient"),s=te(1).toVar("clipOpacity"),a=t.length;if(this.hardwareClipping===!1&&a>0){const l=o0(t);K1(a,({i:u})=>{const d=l.element(u);i.assign(Hn.dot(d.xyz).negate().add(d.w)),r.assign(i.fwidth().div(2)),s.mulAssign(x2(r.negate(),r,i))})}const o=e.length;if(o>0){const l=o0(e),u=te(1).toVar("intersectionClipOpacity");K1(o,({i:d})=>{const q=l.element(d);i.assign(Hn.dot(q.xyz).negate().add(q.w)),r.assign(i.fwidth().div(2)),u.mulAssign(x2(r.negate(),r,i).oneMinus())}),s.mulAssign(u.oneMinus())}U1.a.mulAssign(s),U1.a.equal(0).discard()})()}setupDefault(e,t){return qe(()=>{const i=t.length;if(this.hardwareClipping===!1&&i>0){const s=o0(t);K1(i,({i:a})=>
3873{const o=s.element(a);Hn.dot(o.xyz).greaterThan(o.w).discard()})}const r=e.length;if(r>0){const s=o0(e),a=E2(!0).toVar("clipped");K1(r,({i:o})=>{const l=s.element(o);a.assign(Hn.dot(l.xyz).greaterThan(l.w).and(a))}),a.discard()}})()}setupHardwareClipping(e,t){const i=e.length;return t.enableHardwareClipping(i),qe(()=>{const r=o0(e),s=c5(t.getClipDistance());K1(i,({i:a})=>{const o=r.element(a),l=Hn.dot(o.xyz).sub(o.w).negate();s.element(a).assign(l)})})()}}h0.ALPHA_TO_COVERAGE="alphaToCoverage";h0.DEFAULT="default";h0.HARDWARE="hardware";const EQ=()=>Ie(new h0),MQ=()=>Ie(new h0(h0.ALPHA_TO_COVERAGE)),xQ=()=>Ie(new h0(h0.HARDWARE)),SQ=.05,JE=qe(([n])=>c3(u1(1e4,zr(u1(17,n.x).add(u1(.1,n.y)))).mul(Yn(.1,An(zr(u1(13,n.y).add(n.x))))))),eM=qe(([n])=>JE(Ue(JE(n.xy),n.z))),yQ=qe(([n])=>{const e=Dn(d2(Kq(n.xyz)),d2(Yq(n.xyz))),t=te(1).div(te(SQ).mul(e)).toVar("pixScale"),i=Ue(d4(f2(h2(t))),d4(Au(h2(t)))),r=Ue(eM(f2(i.x.mul(n.xyz))),eM(f2(i.y.mul(n.xyz)))),s=c3(h2(t)),a=Yn(u1(s.oneMinus(),r.x),u1(s,r.y)),o=vr(s,s.oneMinus()),l=he(a.mul(a).div(u1(2,o).mul(b1(1,o))),a.sub(u1(.5,o)).div(b1(1,o)),b1(1,b1(1,a).mul(b1(1,a)).div(u1(2,o).mul(b1(1,o))))),u=a.lessThan(o.oneMinus()).select(a.lessThan(o).select(l.x,l.y),l.z);return M2(u,1e-6,1)}).setLayout({name:"getAlphaHashThreshold",type:"float",inputs:[{name:"position",type:"vec3"}]});class NQ extends jO{static get type(){return"VertexColorNode"}constructor(e){super(null,"vec4"),this.isVertexColorNode=!0,this.index=e}getAttributeName(){const e=this.index;return"color"+(e>0?e:"")}generate(e){const t=this.getAttributeName(e),i=e.hasGeometryAttribute(t);let r;return i===!0?r=super.generate(e):r=e.generateConst(this.nodeType,new wt(1,1,1,1)),r}serialize(e){super.serialize(e),e.index=this.index}deserialize(e){super.deserialize(e),this.index=e.index}}const lR=(n=0)=>Ie(new NQ(n));class kn extends Wi{static get type(){return"NodeMaterial"}get type(){return this.constructor.type}set type(e){}constructor(){super(),this.isNodeMaterial=!0,this.fog=!0,this.lights=!1,this.hardwareClipping=!1,this.lightsNode=null,this.envNode=null,this.aoNode=null,this.colorNode=null,this.normalNode=null,this.opacityNode=null,this.backdropNode=null,this.backdropAlphaNode=null,this.alphaTestNode=null,this.maskNode=null,this.positionNode=null,this.geometryNode=null,this.depthNode=null,this.receivedShadowPositionNode=null,this.castShadowPositionNode=null,this.receivedShadowNode=null,this.castShadowNode=null,this.outputNode=null,this.mrtNode=null,this.fragmentNode=null,this.vertexNode=null,Object.defineProperty(this,"shadowPositionNode",{get:()=>this.receivedShadowPositionNode,set:e=>{console.warn('THREE.NodeMaterial: ".shadowPositionNode" was renamed to ".receivedShadowPositionNode".'),this.receivedShadowPositionNode=e}})}customProgramCacheKey(){return this.type+av(this)}build(e){this.setup(e)}setupObserver(e){return new sX(e)}setup(e){e.context.setupNormal=()=>this.setupNormal(e),e.context.setupPositionView=()=>this.setupPositionView(e),e.context.setupModelViewProjection=()=>this.setupModelViewProjection(e);const t=e.renderer,i=t.getRenderTarget();e.addStack();const r=this.setupVertex(e),s=this.vertexNode||r;e.stack.outputNode=s,this.setupHardwareClipping(e),this.geometryNode!==null&&(e.stack.outputNode=e.stack.outputNode.bypass(this.geometryNode)),e.addFlow("vertex",e.removeStack()),e.addStack();let a;const o=this.setupClipping(e);if((this.depthWrite===!0||this.depthTest===!0)&&(i!==null?i.depthBuffer===!0&&this.setupDepth(e):t.depth===!0&&this.setupDepth(e)),this.fragmentNode===null){this.setupDiffuseColor(e),this.setupVariants(e);const l=this.setupLighting(e);o!==null&&e.stack.add(o);const u=It(l,U1.a).max(0);a=this.setupOutput(e,u),Io.assign(a);const d=this.outputNode!==null;if(d&&(a=this.outputNode),i!==null){const q=t.getMRT(),_=this.mrtNode;q!==null?(d&&Io.assign(a),a=q,_!==null&&(a=q.merge(_))):_!==null&&(a=_)}}else{let l=this.fragmentNode;l.isOutputStructNode!==!0&&(l=It(l)),a=this.setupOutput(e,l)}e.stack.outputNode=a,e.addFlow("fragment",e.removeStack()),e.observer=this.setupObserver(e)}setupClipping(e){if(e.clippingContext===null)return null;const{unionPlanes:t,intersectionPlanes:i}=e.clippingContext;let r=null;if(t.length>0||i.length>0){const s=e.renderer.samples;this.alphaToCoverage&&s>1?r=MQ():e.stack.add(EQ())}return r}setupHardwareClipping(e){if(this.hardwareClipping=!1,e.clippingContext===null)return;const t=e.clippingContext.unionPlanes.length;t>0&&t<=8&&e.isAvailable("clipDistance")&&(e.stack.add(xQ()),this.hardwareClipping=!0)}setupDepth(e){const{renderer:t,camera:i}=e;let r=this.depthNode;if(r===null){const s=t.getMRT();s&&s.has("depth")?r=s.get("depth"):t.logarithmicDepthBuffer===!0&&(i.isPerspectiveCamera?r=pp(Hn.z,C3,w3):r=Lo(Hn.z,C3,w3))}r!==null&&_p.assign(r).toStack()}setupPositionView(){return xa.mul(Gn).xyz}setupModelViewProjection(){return Ma.mul(Hn)}setupVertex(e){return e.addStack(),this.setupPosition(e),e.context.vertex=e.removeStack(),hp}setupPosition(e){const{object:t,geometry:i}=e;if((i.morphAttributes.position||i.morphAttributes.normal||i.morphAttributes.color)&&nR(t).toStack(),t.isSkinnedMesh===!0&&eR(t).toStack(),this.displacementMap){const r=z2("displacementMap","texture"),s=z2("displacementScale","float"),a=z2("displacementBias","float");Gn.addAssign(Or.normalize().mul(r.x.mul(s).add(a)))}return t.isBatchedMesh&&QT(t).toStack(),t.isInstancedMesh&&t.instanceMatrix&&t.instanceMatrix.isInstancedBufferAttribute===!0&&ZT(t).toStack(),this.positionNode!==null&&Gn.assign(VO(this.positionNode,"POSITION")),Gn}setupDiffuseColor({object:e,geometry:t}){this.maskNode!==null&&E2(this.maskNode).not().discard();let i=this.colorNode?It(this.colorNode):mT;this.vertexColors===!0&&t.hasAttribute("color")&&(i=i.mul(lR())),e.instanceColor&&(i=C8("vec3","vInstanceColor").mul(i)),e.isBatchedMesh&&e._colorsTexture&&(i=C8("vec3","vBatchColor").mul(i)),U1.assign(i);const r=this.opacityNode?te(this.opacityNode):cp;U1.a.assign(U1.a.mul(r));let s=null;(this.alphaTestNode!==null||this.alphaTest>0)&&(s=this.alphaTestNode!==null?te(this.alphaTestNode):_T,U1.a.lessThanEqual(s).discard()),this.alphaHash===!0&&U1.a.lessThan(yQ(Gn)).discard(),this.transparent===!1&&this.blending===or&&this.alphaToCoverage===!1?U1.a.assign(1):s===null&&U1.a.lessThanEqual(0).discard()}setupVariants(){}setupOutgoingLight(){return this.lights===!0?he(0):U1.rgb}setupNormal(){return this.normalNode?he(this.normalNode):NT}setupEnvironment(){let e=null;return this.envNode?e=this.envNode:this.envMap&&(e=this.envMap.isCubeTexture?z2("envMap","cubeTexture"):z2("envMap","texture")),e}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new cQ(Ap)),t}setupLights(e){const t=[],i=this.setupEnvironment(e);i&&i.isLightingNode&&t.push(i);const r=this.setupLightMap(e);if(r&&r.isLightingNode&&t.push(r),this.aoNode!==null||e.material.aoMap){const a=this.aoNode!==null?this.aoNode:YT;t.push(new lQ(a))}let s=this.lightsNode||e.lightsNode;return t.length>0&&(s=e.renderer.lighting.createNode([...s.getLights(),...t])),s}setupLightingModel(){}setupLighting(e){const{material:t}=e,{backdropNode:i,backdropAlphaNode:r,emissiveNode:s}=this,o=this.lights===!0||this.lightsNode!==null?this.setupLights(e):null;let l=this.setupOutgoingLight(e);if(o&&o.getScope().hasLights){const u=this.setupLightingModel(e)||null;l=iR(o,u,i,r)}else i!==null&&(l=he(r!==null?H1(l,i,r):i));return(s&&s.isNode===!0||t.emissive&&t.emissive.isColor===!0)&&(Ef.assign(he(s||ET)),l=l.add(Ef)),l}setupFog(e,t){const i=e.fogNode;return i&&(Io.assign(t),t=It(i)),t}setupOutput(e,t){return this.fog===!0&&(t=this.setupFog(e,t)),t}setDefaultValues(e){for(const i in e){const r=e[i];this[i]===void 0&&(this[i]=r,r&&r.clone&&(this[i]=r.clone()))}const t=Object.getOwnPropertyDescriptors(e.constructor.prototype);for(const i in t)Object.getOwnPropertyDescriptor(this.constructor.prototype,i
3873)===void 0&&t[i].get!==void 0&&Object.defineProperty(this.constructor.prototype,i,t[i])}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{},nodes:{}});const i=Wi.prototype.toJSON.call(this,e),r=q9(this);i.inputNodes={};for(const{property:a,childNode:o}of r)i.inputNodes[a]=o.toJSON(e).uuid;function s(a){const o=[];for(const l in a){const u=a[l];delete u.metadata,o.push(u)}return o}if(t){const a=s(e.textures),o=s(e.images),l=s(e.nodes);a.length>0&&(i.textures=a),o.length>0&&(i.images=o),l.length>0&&(i.nodes=l)}return i}copy(e){return this.lightsNode=e.lightsNode,this.envNode=e.envNode,this.colorNode=e.colorNode,this.normalNode=e.normalNode,this.opacityNode=e.opacityNode,this.backdropNode=e.backdropNode,this.backdropAlphaNode=e.backdropAlphaNode,this.alphaTestNode=e.alphaTestNode,this.maskNode=e.maskNode,this.positionNode=e.positionNode,this.geometryNode=e.geometryNode,this.depthNode=e.depthNode,this.receivedShadowPositionNode=e.receivedShadowPositionNode,this.castShadowPositionNode=e.castShadowPositionNode,this.receivedShadowNode=e.receivedShadowNode,this.castShadowNode=e.castShadowNode,this.outputNode=e.outputNode,this.mrtNode=e.mrtNode,this.fragmentNode=e.fragmentNode,this.vertexNode=e.vertexNode,super.copy(e)}}const vQ=new I4;class OQ extends kn{static get type(){return"LineBasicNodeMaterial"}constructor(e){super(),this.isLineBasicNodeMaterial=!0,this.setDefaultValues(vQ),this.setValues(e)}}const TQ=new rU;class RQ extends kn{static get type(){return"LineDashedNodeMaterial"}constructor(e){super(),this.isLineDashedNodeMaterial=!0,this.setDefaultValues(TQ),this.dashOffset=0,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.setValues(e)}setupVariants(){const e=this.offsetNode?te(this.offsetNode):WT,t=this.dashScaleNode?te(this.dashScaleNode):VT,i=this.dashSizeNode?te(this.dashSizeNode):kT,r=this.gapSizeNode?te(this.gapSizeNode):zT;q7.assign(i),Mf.assign(r);const s=Xr(a3("lineDistance").mul(t));(e?s.add(e):s).mod(q7.add(Mf)).greaterThan(q7).discard()}}let hA=null;class bQ extends Mu{static get type(){return"ViewportSharedTextureNode"}constructor(e=D0,t=null){hA===null&&(hA=new py),super(e,t,hA)}updateReference(){return this}}const IQ=De(bQ).setParameterLength(0,2),uR=n=>Ie(n).mul(.5).add(.5),PQ=n=>Ie(n).mul(2).sub(1),LQ=new eU;class DQ extends kn{static get type(){return"MeshNormalNodeMaterial"}constructor(e){super(),this.isMeshNormalNodeMaterial=!0,this.setDefaultValues(LQ),this.setValues(e)}setupDiffuseColor(){const e=this.opacityNode?te(this.opacityNode):cp;U1.assign(qu(It(uR(Fn),e),vi))}}class CQ extends zn{static get type(){return"EquirectUVNode"}constructor(e=sp){super("vec2"),this.dirNode=e}setup(){const e=this.dirNode,t=e.z.atan(e.x).mul(1/(Math.PI*2)).add(.5),i=e.y.clamp(-1,1).asin().mul(1/Math.PI).add(.5);return Ue(t,i)}}const mp=De(CQ).setParameterLength(0,1);class cR extends dy{constructor(e=1,t={}){super(e,t),this.isCubeRenderTarget=!0}fromEquirectangularTexture(e,t){const i=t.minFilter,r=t.generateMipmaps;t.generateMipmaps=!0,this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const s=new J3(5,5,5),a=mp(sp),o=new kn;o.colorNode=S1(t,a,0),o.side=Q1,o.blending=xr;const l=new F1(s,o),u=new K9;u.add(l),t.minFilter===qr&&(t.minFilter=li);const d=new fy(1,10,this),q=e.getMRT();return e.setMRT(null),d.update(e,u),e.setMRT(q),t.minFilter=i,t.currentGenerateMipmaps=r,l.geometry.dispose(),l.material.dispose(),this}}const X6=new WeakMap;class wQ extends zn{static get type(){return"CubeMapNode"}constructor(e){super("vec3"),this.envNode=e,this._cubeTexture=null,this._cubeTextureNode=q4(null);const t=new J8;t.isRenderTargetTexture=!0,this._defaultTexture=t,this.updateBeforeType=p1.RENDER}updateBefore(e){const{renderer:t,material:i}=e,r=this.envNode;if(r.isTextureNode||r.isMaterialReferenceNode){const s=r.isTextureNode?r.value:i[r.property];if(s&&s.isTexture){const a=s.mapping;if(a===Fo||a===Go){if(X6.has(s)){const o=X6.get(s);tM(o,s.mapping),this._cubeTexture=o}else{const o=s.image;if(BQ(o)){const l=new cR(o.height);l.fromEquirectangularTexture(t,s),tM(l.texture,s.mapping),this._cubeTexture=l.texture,X6.set(s,l.texture),s.addEventListener("dispose",AR)}else this._cubeTexture=this._defaultTexture}this._cubeTextureNode.value=this._cubeTexture}else this._cubeTextureNode=this.envNode}}}setup(e){return this.updateBefore(e),this._cubeTextureNode}}function BQ(n){return n==null?!1:n.height>0}function AR(n){const e=n.target;e.removeEventListener("dispose",AR);const t=X6.get(e);t!==void 0&&(X6.delete(e),t.dispose())}function tM(n,e){e===Fo?n.mapping=p2:e===Go&&(n.mapping=_2)}const hR=De(wQ).setParameterLength(1);class gp extends C4{static get type(){return"BasicEnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){e.context.environment=hR(this.envNode)}}class UQ extends C4{static get type(){return"BasicLightMapNode"}constructor(e=null){super(),this.lightMapNode=e}setup(e){const t=te(1/Math.PI);
3873e.context.irradianceLightMap=this.lightMapNode.mul(t)}}class xu{start(e){e.lightsNode.setupLights(e,e.lightsNode.getLightNodes(e)),this.indirect(e)}finish(){}direct(){}directRectArea(){}indirect(){}ambientOcclusion(){}}class fR extends xu{constructor(){super()}indirect({context:e}){const t=e.ambientOcclusion,i=e.reflectedLight,r=e.irradianceLightMap;i.indirectDiffuse.assign(It(0)),r?i.indirectDiffuse.addAssign(r):i.indirectDiffuse.addAssign(It(1,1,1,0)),i.indirectDiffuse.mulAssign(t),i.indirectDiffuse.mulAssign(U1.rgb)}finish(e){const{material:t,context:i}=e,r=i.outgoingLight,s=e.context.environment;if(s)switch(t.combine){case $8:r.rgb.assign(H1(r.rgb,r.rgb.mul(s.rgb),j6.mul(g7)));break;case ey:r.rgb.assign(H1(r.rgb,s.rgb,j6.mul(g7)));break;case ty:r.rgb.addAssign(s.rgb.mul(j6.mul(g7)));break;default:console.warn("THREE.BasicLightingModel: Unsupported .combine value:",t.combine);break}}}const FQ=new a0;class GQ extends kn{static get type(){return"MeshBasicNodeMaterial"}constructor(e){super(),this.isMeshBasicNodeMaterial=!0,this.lights=!0,this.setDefaultValues(FQ),this.setValues(e)}setupNormal(){return U0}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new gp(t):null}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new UQ(Ap)),t}setupOutgoingLight(){return U1.rgb}setupLightingModel(){return new fR}}const p4=qe(({f0:n,f90:e,dotVH:t})=>{const i=t.mul(-5.55473).sub(6.98316).mul(t).exp2();return n.mul(i.oneMinus()).add(e.mul(i))}),pa=qe(n=>n.diffuseColor.mul(1/Math.PI)),VQ=()=>te(.25),kQ=qe(({dotNH:n})=>g9.mul(te(.5)).add(1).mul(te(1/Math.PI)).mul(n.pow(g9))),zQ=qe(({lightDirection:n})=>{const e=n.add(pn).normalize(),t=Fn.dot(e).clamp(),i=pn.dot(e).clamp(),r=p4({f0:hr,f90:1,dotVH:i}),s=VQ(),a=kQ({dotNH:t});return r.mul(s).mul(a)});class dR extends fR{constructor(e=!0){super(),this.specular=e}direct({lightDirection:e,lightColor:t,reflectedLight:i}){const s=Fn.dot(e).clamp().mul(t);i.directDiffuse.addAssign(s.mul(pa({diffuseColor:U1.rgb}))),this.specular===!0&&i.directSpecular.addAssign(s.mul(zQ({lightDirection:e})).mul(j6))}indirect(e){const{ambientOcclusion:t,irradiance:i,reflectedLight:r}=e.context;r.indirectDiffuse.addAssign(i.mul(pa({diffuseColor:U1}))),r.indirectDiffuse.mulAssign(t)}}const WQ=new u3;class HQ extends kn{static get type(){return"MeshLambertNodeMaterial"}constructor(e){super(),this.isMeshLambertNodeMaterial=!0,this.lights=!0,this.setDefaultValues(WQ),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new gp(t):null}setupLightingModel(){return new dR(!1)}}const KQ=new Ty;class YQ extends kn{static get type(){return"MeshPhongNodeMaterial"}constructor(e){super(),this.isMeshPhongNodeMaterial=!0,this.lights=!0,this.shininessNode=null,this.specularNode=null,this.setDefaultValues(KQ),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new gp(t):null}setupLightingModel(){return new dR}setupVariants(){const e=(this.shininessNode?te(this.shininessNode):gT).max(1e-4);g9.assign(e);const t=this.specularNode||MT;hr.assign(t)}copy(e){return this.shininessNode=e.shininessNode,this.specularNode=e.specularNode,super.copy(e)}}const qR=qe(n=>{if(n.geometry.hasAttribute("normal")===!1)return te(0);const e=U0.dFdx().abs().max(U0.dFdy().abs());return e.x.max(e.y).max(e.z)}),Ep=qe(n=>{const{roughness:e}=n,t=qR();let i=e.max(.0525);return i=i.add(t),i=i.min(1),i}),pR=qe(({alpha:n,dotNL:e,dotNV:t})=>{const i=n.pow2(),r=e.mul(i.add(i.oneMinus().mul(t.pow2())).sqrt()),s=t.mul(i.add(i.oneMinus().mul(e.pow2())).sqrt());return d0(.5,r.add(s).max(eO))}).setLayout({name:"V_GGX_SmithCorrelated",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNL",type:"float"},{name:"dotNV",type:"float"}]}),$Q=qe(({alphaT:n,alphaB:e,dotTV:t,dotBV:i,dotTL:r,dotBL:s,dotNV:a,dotNL:o})=>{const l=o.mul(he(n.mul(t),e.mul(i),a).length()),u=a.mul(he(n.mul(r),e.mul(s),o).length());return d0(.5,l.add(u)).saturate()}).setLayout({name:"V_GGX_SmithCorrelated_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotTV",type:"float",qualifier:"in"},{name:"dotBV",type:"float",qualifier:"in"},{name:"dotTL",type:"float",qualifier:"in"},{name:"dotBL",type:"float",qualifier:"in"},{name:"dotNV",type:"float",qualifier:"in"},{name:"dotNL",type:"float",qualifier:"in"}]}),_R=qe(({alpha:n,dotNH:e})=>{const t=n.pow2(),i=e.pow2().mul(t.oneMinus()).oneMinus();return t.div(i.pow2()).mul(1/Math.PI)}
3873).setLayout({name:"D_GGX",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNH",type:"float"}]}),jQ=te(1/Math.PI),XQ=qe(({alphaT:n,alphaB:e,dotNH:t,dotTH:i,dotBH:r})=>{const s=n.mul(e),a=he(e.mul(i),n.mul(r),s.mul(t)),o=a.dot(a),l=s.div(o);return jQ.mul(s.mul(l.pow2()))}).setLayout({name:"D_GGX_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotNH",type:"float",qualifier:"in"},{name:"dotTH",type:"float",qualifier:"in"},{name:"dotBH",type:"float",qualifier:"in"}]}),Tf=qe(n=>{const{lightDirection:e,f0:t,f90:i,roughness:r,f:s,USE_IRIDESCENCE:a,USE_ANISOTROPY:o}=n,l=n.normalView||Fn,u=r.pow2(),d=e.add(pn).normalize(),q=l.dot(e).clamp(),_=l.dot(pn).clamp(),g=l.dot(d).clamp(),M=pn.dot(d).clamp();let N=p4({f0:t,f90:i,dotVH:M}),y,S;if(L8(a)&&(N=lu.mix(N,s)),L8(o)){const R=K6.dot(e),O=K6.dot(pn),b=K6.dot(d),D=ia.dot(e),B=ia.dot(pn),C=ia.dot(d);y=$Q({alphaT:m9,alphaB:u,dotTV:O,dotBV:B,dotTL:R,dotBL:D,dotNV:_,dotNL:q}),S=XQ({alphaT:m9,alphaB:u,dotNH:g,dotTH:b,dotBH:C})}else y=pR({alpha:u,dotNL:q,dotNV:_}),S=_R({alpha:u,dotNH:g});return N.mul(y).mul(S)}),Mp=qe(({roughness:n,dotNV:e})=>{const t=It(-1,-.0275,-.572,.022),i=It(1,.0425,1.04,-.04),r=n.mul(t).add(i),s=r.x.mul(r.x).min(e.mul(-9.28).exp2()).mul(r.x).add(r.y);return Ue(-1.04,1.04).mul(s).add(r.zw)}).setLayout({name:"DFGApprox",type:"vec2",inputs:[{name:"roughness",type:"float"},{name:"dotNV",type:"vec3"}]}),mR=qe(n=>{const{dotNV:e,specularColor:t,specularF90:i,roughness:r}=n,s=Mp({dotNV:e,roughness:r});return t.mul(s.x).add(i.mul(s.y))}),gR=qe(({f:n,f90:e,dotVH:t})=>{const i=t.oneMinus().saturate(),r=i.mul(i),s=i.mul(r,r).clamp(0,.9999);return n.sub(he(e).mul(s)).div(s.oneMinus())}).setLayout({name:"Schlick_to_F0",type:"vec3",inputs:[{name:"f",type:"vec3"},{name:"f90",type:"float"},{name:"dotVH",type:"float"}]}),ZQ=qe(({roughness:n,dotNH:e})=>{const t=n.pow2(),i=te(1).div(t),s=e.pow2().oneMinus().max(.0078125);return te(2).add(i).mul(s.pow(i.mul(.5))).div(2*Math.PI)}
vendor: 4,232 bytes, line 3873
3873).setLayout({name:"D_Charlie",type:"float",inputs:[{name:"roughness",type:"float"},{name:"dotNH",type:"float"}]}),QQ=qe(({dotNV:n,dotNL:e})=>te(1).div(te(4).mul(e.add(n).sub(e.mul(n))))).setLayout({name:"V_Neubelt",type:"float",inputs:[{name:"dotNV",type:"float"},{name:"dotNL",type:"float"}]}),JQ=qe(({lightDirection:n})=>{const e=n.add(pn).normalize(),t=Fn.dot(n).clamp(),i=Fn.dot(pn).clamp(),r=Fn.dot(e).clamp(),s=ZQ({roughness:ou,dotNH:r}),a=QQ({dotNV:i,dotNL:t});return Ws.mul(s).mul(a)}),eJ=qe(({N:n,V:e,roughness:t})=>{const s=.0078125,a=n.dot(e).saturate(),o=Ue(t,a.oneMinus().sqrt());return o.assign(o.mul(.984375).add(s)),o}).setLayout({name:"LTC_Uv",type:"vec2",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"roughness",type:"float"}]}),tJ=qe(({f:n})=>{const e=n.length();return Dn(e.mul(e).add(n.z).div(e.add(1)),0)}).setLayout({name:"LTC_ClippedSphereFormFactor",type:"float",inputs:[{name:"f",type:"vec3"}]}),yl=qe(({v1:n,v2:e})=>{const t=n.dot(e),i=t.abs().toVar(),r=i.mul(.0145206).add(.4965155).mul(i).add(.8543985).toVar(),s=i.add(4.1616724).mul(i).add(3.417594).toVar(),a=r.div(s),o=t.greaterThan(0).select(a,Dn(t.mul(t).oneMinus(),1e-7).inverseSqrt().mul(.5).sub(a));return n.cross(e).mul(o)}).setLayout({name:"LTC_EdgeVectorFormFactor",type:"vec3",inputs:[{name:"v1",type:"vec3"},{name:"v2",type:"vec3"}]}),nM=qe(({N:n,V:e,P:t,mInv:i,p0:r,p1:s,p2:a,p3:o})=>{const l=s.sub(r).toVar(),u=o.sub(r).toVar(),d=l.cross(u),q=he().toVar();return c1(d.dot(t.sub(r)).greaterThanEqual(0),()=>{const _=e.sub(n.mul(e.dot(n))).normalize(),g=n.cross(_).negate(),M=i.mul(Ki(_,g,n).transpose()).toVar(),N=M.mul(r.sub(t)).normalize().toVar(),y=M.mul(s.sub(t)).normalize().toVar(),S=M.mul(a.sub(t)).normalize().toVar(),R=M.mul(o.sub(t)).normalize().toVar(),O=he(0).toVar();O.addAssign(yl({v1:N,v2:y})),O.addAssign(yl({v1:y,v2:S})),O.addAssign(yl({v1:S,v2:R})),O.addAssign(yl({v1:R,v2:N})),q.assign(he(tJ({f:O})))}),q}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"P",type:"vec3"},{name:"mInv",type:"mat3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),Su=1/6,ER=n=>u1(Su,u1(n,u1(n,n.negate().add(3)).sub(3)).add(1)),Rf=n=>u1(Su,u1(n,u1(n,u1(3,n).sub(6))).add(4)),MR=n=>u1(Su,u1(n,u1(n,u1(-3,n).add(3)).add(3)).add(1)),bf=n=>u1(Su,P0(n,3)),iM=n=>ER(n).add(Rf(n)),rM=n=>MR(n).add(bf(n)),sM=n=>Yn(-1,Rf(n).div(ER(n).add(Rf(n)))),aM=n=>Yn(1,bf(n).div(MR(n).add(bf(n)))),oM=(n,e,t)=>{const i=n.uvNode,r=u1(i,e.zw).add(.5),s=f2(r),a=c3(r),o=iM(a.x),l=rM(a.x),u=sM(a.x),d=aM(a.x),q=sM(a.y),_=aM(a.y),g=Ue(s.x.add(u),s.y.add(q)).sub(.5).mul(e.xy),M=Ue(s.x.add(d),s.y.add(q)).sub(.5).mul(e.xy),N=Ue(s.x.add(u),s.y.add(_)).sub(.5).mul(e.xy),y=Ue(s.x.add(d),s.y.add(_)).sub(.5).mul(e.xy),S=iM(a.y).mul(Yn(o.mul(n.sample(g).level(t)),l.mul(n.sample(M).level(t)))),R=rM(a.y).mul(Yn(o.mul(n.sample(N).level(t)),l.mul(n.sample(y).level(t))));return S.add(R)},xR=qe(([n,e=te(3)])=>{const t=Ue(n.size(le(e))),i=Ue(n.size(le(e.add(1)))),r=d0(1,t),s=d0(1,i),a=oM(n,It(r,t),f2(e)),o=oM(n,It(s,i),Au(e));return c3(e).mix(a,o)}),lM=qe(([n,e,t,i,r])=>{const s=he(Qq(e.negate(),r3(n),d0(1,i))),a=he(d2(r[0].xyz),d2(r[1].xyz),d2(r[2].xyz));return r3(s).mul(t.mul(a))}).setLayout({name:"getVolumeTransmissionRay",type:"vec3",inputs:[{name:"n",type:"vec3"},{name:"v",type:"vec3"},{name:"thickness",type:"float"},{name:"ior",type:"float"},{name:"modelMatrix",type:"mat4"}]}),nJ=qe(([n,e])=>n.mul(M2(e.mul(2).sub(2),0,1))).setLayout({name:"applyIorToRoughness",type:"float",inputs:[{name:"roughness",type:"float"},{name:"ior",type:"float"}]}),iJ=fp(),rJ=fp(),uM=qe(([n,e,t],{material:i})=>{const s=(i.side===Q1?iJ:rJ).sample(n),a=h2(G8.x).mul(nJ(e,t));return xR(s,a)}),cM=qe(([n,e,t])=>(c1(t.notEqual(0),()=>{const i=cu(e).negate().div(t);return kq(i.negate().mul(n))}),he(1))).setLayout({name:"volumeAttenuation",type:"vec3",inputs:[{name:"transmissionDistance",type:"float"},{name:"attenuationColor",type:"vec3"},{name:"attenuationDistance",type:"float"}]}),sJ=qe(([n,e,t,i,r,s,a,o,l,u,d,q,_,g,M])=>{let N,y;if(M){N=It().toVar(),y=he().toVar();const D=d.sub(1).mul(M.mul(.025)),B=he(d.sub(D),d,d.add(D));K1({start:0,end:3},({i:C})=>
vendor: 7,878 bytes, line 3873
3873{const G=B.element(C),L=lM(n,e,q,G,o),P=a.add(L),w=u.mul(l.mul(It(P,1))),z=Ue(w.xy.div(w.w)).toVar();z.addAssign(1),z.divAssign(2),z.assign(Ue(z.x,z.y.oneMinus()));const H=uM(z,t,G);N.element(C).assign(H.element(C)),N.a.addAssign(H.a),y.element(C).assign(i.element(C).mul(cM(d2(L),_,g).element(C)))}),N.a.divAssign(3)}else{const D=lM(n,e,q,d,o),B=a.add(D),C=u.mul(l.mul(It(B,1))),G=Ue(C.xy.div(C.w)).toVar();G.addAssign(1),G.divAssign(2),G.assign(Ue(G.x,G.y.oneMinus())),N=uM(G,t,d),y=i.mul(cM(d2(D),_,g))}const S=y.rgb.mul(N.rgb),R=n.dot(e).clamp(),O=he(mR({dotNV:R,specularColor:r,specularF90:s,roughness:t})),b=y.r.add(y.g,y.b).div(3);return It(O.oneMinus().mul(S),N.a.oneMinus().mul(b).oneMinus())}),aJ=Ki(3.2404542,-.969266,.0556434,-1.5371385,1.8760108,-.2040259,-.4985314,.041556,1.0572252),oJ=n=>{const e=n.sqrt();return he(1).add(e).div(he(1).sub(e))},AM=(n,e)=>n.sub(e).div(n.add(e)).pow2(),lJ=(n,e)=>{const t=n.mul(2*Math.PI*1e-9),i=he(54856e-17,44201e-17,52481e-17),r=he(1681e3,1795300,2208400),s=he(43278e5,93046e5,66121e5),a=te(9747e-17*Math.sqrt(2*Math.PI*45282e5)).mul(t.mul(2239900).add(e.x).cos()).mul(t.pow2().mul(-45282e5).exp());let o=i.mul(s.mul(2*Math.PI).sqrt()).mul(r.mul(t).add(e).cos()).mul(t.pow2().negate().mul(s).exp());return o=he(o.x.add(a),o.y,o.z).div(10685e-11),aJ.mul(o)},uJ=qe(({outsideIOR:n,eta2:e,cosTheta1:t,thinFilmThickness:i,baseF0:r})=>{const s=H1(n,e,x2(0,.03,i)),o=n.div(s).pow2().mul(t.pow2().oneMinus()).oneMinus();c1(o.lessThan(0),()=>he(1));const l=o.sqrt(),u=AM(s,n),d=p4({f0:u,f90:1,dotVH:t}),q=d.oneMinus(),_=s.lessThan(n).select(Math.PI,0),g=te(Math.PI).sub(_),M=oJ(r.clamp(0,.9999)),N=AM(M,s.toVec3()),y=p4({f0:N,f90:1,dotVH:l}),S=he(M.x.lessThan(s).select(Math.PI,0),M.y.lessThan(s).select(Math.PI,0),M.z.lessThan(s).select(Math.PI,0)),R=s.mul(i,l,2),O=he(g).add(S),b=d.mul(y).clamp(1e-5,.9999),D=b.sqrt(),B=q.pow2().mul(y).div(he(1).sub(b)),G=d.add(B).toVar(),L=B.sub(q).toVar();return K1({start:1,end:2,condition:"<=",name:"m"},({m:P})=>{L.mulAssign(D);const w=lJ(te(P).mul(R),te(P).mul(O)).mul(2);G.addAssign(L.mul(w))}),G.max(he(0))}).setLayout({name:"evalIridescence",type:"vec3",inputs:[{name:"outsideIOR",type:"float"},{name:"eta2",type:"float"},{name:"cosTheta1",type:"float"},{name:"thinFilmThickness",type:"float"},{name:"baseF0",type:"vec3"}]}),cJ=qe(({normal:n,viewDir:e,roughness:t})=>{const i=n.dot(e).saturate(),r=t.pow2(),s=ui(t.lessThan(.25),te(-339.2).mul(r).add(te(161.4).mul(t)).sub(25.9),te(-8.48).mul(r).add(te(14.3).mul(t)).sub(9.95)),a=ui(t.lessThan(.25),te(44).mul(r).sub(te(23.7).mul(t)).add(3.26),te(1.97).mul(r).sub(te(3.27).mul(t)).add(.72));return ui(t.lessThan(.25),0,te(.1).mul(t).sub(.025)).add(s.mul(i).add(a).exp()).mul(1/Math.PI).saturate()}),fA=he(.04),dA=te(1);class SR extends xu{constructor(e=!1,t=!1,i=!1,r=!1,s=!1,a=!1){super(),this.clearcoat=e,this.sheen=t,this.iridescence=i,this.anisotropy=r,this.transmission=s,this.dispersion=a,this.clearcoatRadiance=null,this.clearcoatSpecularDirect=null,this.clearcoatSpecularIndirect=null,this.sheenSpecularDirect=null,this.sheenSpecularIndirect=null,this.iridescenceFresnel=null,this.iridescenceF0=null}start(e){if(this.clearcoat===!0&&(this.clearcoatRadiance=he().toVar("clearcoatRadiance"),this.clearcoatSpecularDirect=he().toVar("clearcoatSpecularDirect"),this.clearcoatSpecularIndirect=he().toVar("clearcoatSpecularIndirect")),this.sheen===!0&&(this.sheenSpecularDirect=he().toVar("sheenSpecularDirect"),this.sheenSpecularIndirect=he().toVar("sheenSpecularIndirect")),this.iridescence===!0){const t=Fn.dot(pn).clamp();this.iridescenceFresnel=uJ({outsideIOR:te(1),eta2:Lq,cosTheta1:t,thinFilmThickness:Dq,baseF0:hr}),this.iridescenceF0=gR({f:this.iridescenceFresnel,f90:1,dotVH:t})}if(this.transmission===!0){const t=X2,i=QO.sub(X2).normalize(),r=mu,s=e.context;s.backdrop=sJ(r,i,i2,U1,hr,U8,t,u0,Rr,Ma,Y6,Cq,Bq,wq,this.dispersion?Uq:null),s.backdropAlpha=E9,U1.a.mulAssign(H1(1,s.backdrop.a,E9))}super.start(e)}computeMultiscattering(e,t,i){const r=Fn.dot(pn).clamp(),s=Mp({roughness:i2,dotNV:r}),o=(this.iridescenceF0?lu.mix(hr,this.iridescenceF0):hr).mul(s.x).add(i.mul(s.y)),u=s.x.add(s.y).oneMinus(),d=hr.add(hr.oneMinus().mul(.047619)),q=o.mul(d).div(u.mul(d).oneMinus());e.addAssign(o),t.addAssign(q.mul(u))}direct({lightDirection:e,lightColor:t,reflectedLight:i}){const s=Fn.dot(e).clamp().mul(t);if(this.sheen===!0&&this.sheenSpecularDirect.addAssign(s.mul(JQ({lightDirection:e}))),this.clearcoat===!0){const o=xo.dot(e).clamp().mul(t);this.clearcoatSpecularDirect.addAssign(o.mul(Tf({lightDirection:e,f0:fA,f90:dA,roughness:B8,normalView:xo})))}i.directDiffuse.addAssign(s.mul(pa({diffuseColor:U1.rgb}))),i.directSpecular.addAssign(s.mul(Tf({lightDirection:e,f0:hr,f90:1,roughness:i2,iridescence:this.iridescence,f:this.iridescenceFresnel,USE_IRIDESCENCE:this.iridescence,USE_ANISOTROPY:this.anisotropy})))}directRectArea({lightColor:e,lightPosition:t,halfWidth:i,halfHeight:r,reflectedLight:s,ltc_1:a,ltc_2:o}){const l=t.add(i).sub(r),u=t.sub(i).sub(r),d=t.sub(i).add(r),q=t.add(i).add(r),_=Fn,g=pn,M=Hn.toVar(),N=eJ({N:_,V:g,roughness:i2}),y=a.sample(N).toVar(),S=o.sample(N).toVar(),R=Ki(he(y.x,0,y.y),he(0,1,0),he(y.z,0,y.w)).toVar(),O=hr.mul(S.x).add(hr.oneMinus().mul(S.y)).toVar();s.directSpecular.addAssign(e.mul(O).mul(nM({N:_,V:g,P:M,mInv:R,p0:l,p1:u,p2:d,p3:q}))),s.directDiffuse.addAssign(e.mul(U1).mul(nM({N:_,V:g,P:M,mInv:Ki(1,0,0,0,1,0,0,0,1),p0:l,p1:u,p2:d,p3:q})))}indirect(e){this.indirectDiffuse(e),this.indirectSpecular(e),this.ambientOcclusion(e)}indirectDiffuse(e){const{irradiance:t,reflectedLight:i}=e.context;i.indirectDiffuse.addAssign(t.mul(pa({diffuseColor:U1})))}indirectSpecular(e){const{radiance:t,iblIrradiance:i,reflectedLight:r}=e.context;if(this.sheen===!0&&this.sheenSpecularIndirect.addAssign(i.mul(Ws,cJ({normal:Fn,viewDir:pn,roughness:ou}))),this.clearcoat===!0){const d=xo.dot(pn).clamp(),q=mR({dotNV:d,specularColor:fA,specularF90:dA,roughness:B8});this.clearcoatSpecularIndirect.addAssign(this.clearcoatRadiance.mul(q))}const s=he().toVar("singleScattering"),a=he().toVar("multiScattering"),o=i.mul(1/Math.PI);this.computeMultiscattering(s,a,U8);const l=s.add(a),u=U1.mul(l.r.max(l.g).max(l.b).oneMinus());r.indirectSpecular.addAssign(t.mul(s)),r.indirectSpecular.addAssign(a.mul(o)),r.indirectDiffuse.addAssign(u.mul(o))}ambientOcclusion(e){const{ambientOcclusion:t,reflectedLight:i}=e.context,s=Fn.dot(pn).clamp().add(t),a=i2.mul(-16).oneMinus().negate().exp2(),o=t.sub(s.pow(a).oneMinus()).clamp();this.clearcoat===!0&&this.clearcoatSpecularIndirect.mulAssign(t),this.sheen===!0&&this.sheenSpecularIndirect.mulAssign(t),i.indirectDiffuse.mulAssign(t),i.indirectSpecular.mulAssign(o)}finish({context:e}){const{outgoingLight:t}=e;if(this.clearcoat===!0){const i=xo.dot(pn).clamp(),r=p4({dotVH:i,f0:fA,f90:dA}),s=t.mul(_9.mul(r).oneMinus()).add(this.clearcoatSpecularDirect.add(this.clearcoatSpecularIndirect).mul(_9));t.assign(s)}if(this.sheen===!0){const i=Ws.r.max(Ws.g).max(Ws.b).mul(.157).oneMinus(),r=t.mul(i).add(this.sheenSpecularDirect,this.sheenSpecularIndirect);t.assign(r)}}}const hM=te(1),If=te(-2),Nl=te(.8),qA=te(-1),vl=te(.4),pA=te(2),Ol=te(.305),_A=te(3),fM=te(.21),AJ=te(4),dM=te(4),hJ=te(16),fJ=qe(([n])=>{const e=he(An(n)).toVar(),t=te(-1).toVar();return c1(e.x.greaterThan(e.z),()=>{c1(e.x.greaterThan(e.y),()=>{t.assign(ui(n.x.greaterThan(0),0,3))}).Else(()=>{t.assign(ui(n.y.greaterThan(0),1,4))})}).Else(()=>{c1(e.z.greaterThan(e.y),()=>{t.assign(ui(n.z.greaterThan(0),2,5))}).Else(()=>{t.assign(ui(n.y.greaterThan(0),1,4))})}),t}).setLayout({name:"getFace",type:"float",inputs:[{name:"direction",type:"vec3"}]}),dJ=qe(([n,e])=>{const t=Ue().toVar();return c1(e.equal(0),()=>{t.assign(Ue(n.z,n.y).div(An(n.x)))}).ElseIf(e.equal(1),()=>{t.assign(Ue(n.x.negate(),n.z.negate()).div(An(n.y)))}).ElseIf(e.equal(2),()=>{t.assign(Ue(n.x.negate(),n.y).div(An(n.z)))}
3873).ElseIf(e.equal(3),()=>{t.assign(Ue(n.z.negate(),n.y).div(An(n.x)))}).ElseIf(e.equal(4),()=>{t.assign(Ue(n.x.negate(),n.z).div(An(n.y)))}).Else(()=>{t.assign(Ue(n.x,n.y).div(An(n.z)))}),u1(.5,t.add(1))}).setLayout({name:"getUV",type:"vec2",inputs:[{name:"direction",type:"vec3"},{name:"face",type:"float"}]}),qJ=qe(([n])=>{const e=te(0).toVar();return c1(n.greaterThanEqual(Nl),()=>{e.assign(hM.sub(n).mul(qA.sub(If)).div(hM.sub(Nl)).add(If))}).ElseIf(n.greaterThanEqual(vl),()=>{e.assign(Nl.sub(n).mul(pA.sub(qA)).div(Nl.sub(vl)).add(qA))}).ElseIf(n.greaterThanEqual(Ol),()=>{e.assign(vl.sub(n).mul(_A.sub(pA)).div(vl.sub(Ol)).add(pA))}).ElseIf(n.greaterThanEqual(fM),()=>{e.assign(Ol.sub(n).mul(AJ.sub(_A)).div(Ol.sub(fM)).add(_A))}).Else(()=>{e.assign(te(-2).mul(h2(u1(1.16,n))))}),e}).setLayout({name:"roughnessToMip",type:"float",inputs:[{name:"roughness",type:"float"}]}),yR=qe(([n,e])=>{const t=n.toVar();t.assign(u1(2,t).sub(1));const i=he(t,1).toVar();return c1(e.equal(0),()=>{i.assign(i.zyx)}).ElseIf(e.equal(1),()=>{i.assign(i.xzy),i.xz.mulAssign(-1)}).ElseIf(e.equal(2),()=>{i.x.mulAssign(-1)}).ElseIf(e.equal(3),()=>{i.assign(i.zyx),i.xz.mulAssign(-1)}).ElseIf(e.equal(4),()=>{i.assign(i.xzy),i.xy.mulAssign(-1)}).ElseIf(e.equal(5),()=>{i.z.mulAssign(-1)}),i}).setLayout({name:"getDirection",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"face",type:"float"}]}),NR=qe(([n,e,t,i,r,s])=>{const a=te(t),o=he(e),l=M2(qJ(a),If,s),u=c3(l),d=f2(l),q=he(Pf(n,o,d,i,r,s)).toVar();return c1(u.notEqual(0),()=>{const _=he(Pf(n,o,d.add(1),i,r,s)).toVar();q.assign(H1(q,_,u))}),q}),Pf=qe(([n,e,t,i,r,s])=>{const a=te(t).toVar(),o=he(e),l=te(fJ(o)).toVar(),u=te(Dn(dM.sub(a),0)).toVar();a.assign(Dn(a,dM));const d=te(d4(a)).toVar(),q=Ue(dJ(o,l).mul(d.sub(2)).add(1)).toVar();return c1(l.greaterThan(2),()=>{q.y.addAssign(d),l.subAssign(3)}),q.x.addAssign(l.mul(d)),q.x.addAssign(u.mul(u1(3,hJ))),q.y.addAssign(u1(4,d4(s).sub(d))),q.x.mulAssign(i),q.y.mulAssign(r),n.sample(q).grad(Ue(),Ue())}),mA=qe(({envMap:n,mipInt:e,outputDirection:t,theta:i,axis:r,CUBEUV_TEXEL_WIDTH:s,CUBEUV_TEXEL_HEIGHT:a,CUBEUV_MAX_MIP:o})=>{const l=G2(i),u=t.mul(l).add(r.cross(t).mul(zr(i))).add(r.mul(r.dot(t).mul(l.oneMinus())));return Pf(n,u,e,s,a,o)}),vR=qe(({n,latitudinal:e,poleAxis:t,outputDirection:i,weights:r,samples:s,dTheta:a,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:u,CUBEUV_TEXEL_HEIGHT:d,CUBEUV_MAX_MIP:q})=>{const _=he(ui(e,t,fu(t,i))).toVar();c1(_.equal(he(0)),()=>{_.assign(he(i.z,0,i.x.negate()))}),_.assign(r3(_));const g=he().toVar();return g.addAssign(r.element(0).mul(mA({theta:0,axis:_,outputDirection:i,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:u,CUBEUV_TEXEL_HEIGHT:d,CUBEUV_MAX_MIP:q}))),K1({start:le(1),end:n},({i:M})=>{c1(M.greaterThanEqual(s),()=>{tR()});const N=te(a.mul(te(M))).toVar();g.addAssign(r.element(M).mul(mA({theta:N.mul(-1),axis:_,outputDirection:i,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:u,CUBEUV_TEXEL_HEIGHT:d,CUBEUV_MAX_MIP:q}))),g.addAssign(r.element(M).mul(mA({theta:N,axis:_,outputDirection:i,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:u,CUBEUV_TEXEL_HEIGHT:d,CUBEUV_MAX_MIP:q})))}),It(g,1)}),So=4,qM=[.125,.215,.35,.446,.526,.582],Cs=20,gA=new t5(-1,1,1,-1,0,1),pJ=new gi(90,1),pM=new Nt;let EA=null,MA=0,xA=0;const Ps=(1+Math.sqrt(5))/2,Ja=1/Ps,_M=[new Z(-Ps,Ja,0),new Z(Ps,Ja,0),new Z(-Ja,0,Ps),new Z(Ja,0,Ps),new Z(0,Ps,-Ja),new Z(0,Ps,Ja),new Z(-1,1,-1),new Z(1,1,-1),new Z(-1,1,1),new Z(1,1,1)],_J=new Z,OR=new WeakMap,mJ=[3,1,5,0,4,2],SA=yR(xn(),a3("faceIndex")).normalize(),xp=he(SA.x,SA.y,SA.z);class gJ{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._backgroundBox=null}get _hasInitialized(){return this._renderer.hasInitialized()}fromScene(e,t=0,i=.1,r=100,s={}){const{size:a=256,position:o=_J,renderTarget:l=null}=s;if(this._setSize(a),this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromScene() called before the backend is initialized. Try using .fromSceneAsync() instead.");const d=l||this._allocateTarget();return s.renderTarget=d,this.fromSceneAsync(e,t,i,r,s),d}EA=this._renderer.getRenderTarget(),MA=this._renderer.getActiveCubeFace(),xA=this._renderer.getActiveMipmapLevel();const u=l||this._allocateTarget();return u.depthBuffer=!0,this._init(u),this._sceneToCubeUV(e,i,r,u,o),t>0&&this._blur(u,0,0,t),this._applyPMREM(u),this._cleanup(u),u}async fromSceneAsync(e,t=0,i=.1,r=100,s={}){return this._hasInitialized===!1&&await this._renderer.init(),this.fromScene(e,t,i,r,s)}fromEquirectangular(e,t=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromEquirectangular() called before the backend is initialized. Try using .fromEquirectangularAsync() instead."),this._setSizeFromTexture(e);const i=t||this._allocateTarget();return this.fromEquirectangularAsync(e,i),i}return this._fromTexture(e,t)}async fromEquirectangularAsync(e,t=null){return this._hasInitialized===!1&&await this._renderer.init(),this._fromTexture(e,t)}fromCubemap(e,t=null){if(this._hasInitialized===!1){console.warn("THREE.PMREMGenerator: .fromCubemap() called before the backend is initialized. Try using .fromCubemapAsync() instead."),this._setSizeFromTexture(e);const i=t||this._allocateTarget();return this.fromCubemapAsync(e,t),i}return this._fromTexture(e,t)}async fromCubemapAsync(e,t=null){return this._hasInitialized===!1&&await this._renderer.init(),this._fromTexture(e,t)}async compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=gM(),await this._compileMaterial(this._cubemapMaterial))}async compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=EM(),await this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSizeFromTexture(e){e.mapping===p2||e.mapping===_2?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4)}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(EA,MA,xA),e.scissorTest=!1,Tl(e,0,0,e.width,e.height)}_fromTexture(e,t){this._setSizeFromTexture(e),EA=this._renderer.getRenderTarget(),MA=this._renderer.getActiveCubeFace(),xA=this._renderer.getActiveMipmapLevel();const i=t||this._allocateTarget();return this._init(i),this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTarget(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize;return mM(e,t)}_init(e){if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e.width||this._pingPongRenderTarget.height!==e.height){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=mM(e.width,e.height);const{_lodMax:t}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas,lodMeshes:this._lodMeshes}=EJ(t)),this._blurMaterial=MJ(t,e.width,e.height)}}async _compileMaterial(e){const t=new F1(this._lodPlanes[0],e);await this._renderer.compile(t,gA)}_sceneToCubeUV(e,t,i,r,s){const a=pJ;a.near=t,a.far=i;const o=[1,1,1,1,-1,1],l=[1,-1,1,-1,1,-1],u=this._renderer,d=u.autoClear;u.getClearColor(pM),u.autoClear=!1;let q=this._backgroundBox;
3873if(q===null){const M=new a0({name:"PMREM.Background",side:Q1,depthWrite:!1,depthTest:!1});q=new F1(new J3,M)}let _=!1;const g=e.background;g?g.isColor&&(q.material.color.copy(g),e.background=null,_=!0):(q.material.color.copy(pM),_=!0),u.setRenderTarget(r),u.clear(),_&&u.render(q,a);for(let M=0;M<6;M++){const N=M%3;N===0?(a.up.set(0,o[M],0),a.position.set(s.x,s.y,s.z),a.lookAt(s.x+l[M],s.y,s.z)):N===1?(a.up.set(0,0,o[M]),a.position.set(s.x,s.y,s.z),a.lookAt(s.x,s.y+l[M],s.z)):(a.up.set(0,o[M],0),a.position.set(s.x,s.y,s.z),a.lookAt(s.x,s.y,s.z+l[M]));const y=this._cubeSize;Tl(r,N*y,M>2?y:0,y,y),u.render(e,a)}u.autoClear=d,e.background=g}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===p2||e.mapping===_2;r?this._cubemapMaterial===null&&(this._cubemapMaterial=gM(e)):this._equirectMaterial===null&&(this._equirectMaterial=EM(e));const s=r?this._cubemapMaterial:this._equirectMaterial;s.fragmentNode.value=e;const a=this._lodMeshes[0];a.material=s;const o=this._cubeSize;Tl(t,0,0,3*o,2*o),i.setRenderTarget(t),i.render(a,gA)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;const r=this._lodPlanes.length;for(let s=1;s<r;s++){const a=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),o=_M[(r-s-1)%_M.length];this._blur(e,s-1,s,a,o)}t.autoClear=i}_blur(e,t,i,r,s){const a=this._pingPongRenderTarget;this._halfBlur(e,a,t,i,r,"latitudinal",s),this._halfBlur(a,e,i,i,r,"longitudinal",s)}_halfBlur(e,t,i,r,s,a,o){const l=this._renderer,u=this._blurMaterial;a!=="latitudinal"&&a!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const d=3,q=this._lodMeshes[r];q.material=u;const _=OR.get(u),g=this._sizeLods[i]-1,M=isFinite(s)?Math.PI/(2*g):2*Math.PI/(2*Cs-1),N=s/M,y=isFinite(s)?1+Math.floor(d*N):Cs;y>Cs&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${y} samples when the maximum is set to ${Cs}`);const S=[];let R=0;for(let C=0;C<Cs;++C){const G=C/N,L=Math.exp(-G*G/2);S.push(L),C===0?R+=L:C<y&&(R+=2*L)}for(let C=0;C<S.length;C++)S[C]=S[C]/R;e.texture.frame=(e.texture.frame||0)+1,_.envMap.value=e.texture,_.samples.value=y,_.weights.array=S,_.latitudinal.value=a==="latitudinal"?1:0,o&&(_.poleAxis.value=o);const{_lodMax:O}=this;_.dTheta.value=M,_.mipInt.value=O-i;const b=this._sizeLods[r],D=3*b*(r>O-So?r-O+So:0),B=4*(this._cubeSize-b);Tl(t,D,B,3*b,2*b),l.setRenderTarget(t),l.render(q,gA)}}function EJ(n){const e=[],t=[],i=[],r=[];let s=n;const a=n-So+1+qM.length;for(let o=0;o<a;o++){const l=Math.pow(2,s);t.push(l);let u=1/l;o>n-So?u=qM[o-n+So-1]:o===0&&(u=0),i.push(u);const d=1/(l-2),q=-d,_=1+d,g=[q,q,_,q,_,_,q,q,_,_,q,_],M=6,N=6,y=3,S=2,R=1,O=new Float32Array(y*N*M),b=new Float32Array(S*N*M),D=new Float32Array(R*N*M);for(let C=0;C<M;C++){const G=C%3*2/3-1,L=C>2?0:-1,P=[G,L,0,G+2/3,L,0,G+2/3,L+1,0,G,L,0,G+2/3,L+1,0,G,L+1,0],w=mJ[C];O.set(P,y*N*w),b.set(g,S*N*w);const z=[w,w,w,w,w,w];D.set(z,R*N*w)}const B=new en;B.setAttribute("position",new vn(O,y)),B.setAttribute("uv",new vn(b,S)),B.setAttribute("faceIndex",new vn(D,R)),e.push(B),r.push(new F1(B,null)),s>So&&s--}return{lodPlanes:e,sizeLods:t,sigmas:i,lodMeshes:r}}function mM(n,e){const t={magFilter:li,minFilter:li,generateMipmaps:!1,type:Jn,format:Vn,colorSpace:L0},i=new o3(n,e,t);return i.texture.mapping=oa,i.texture.name="PMREM.cubeUv",i.texture.isPMREMTexture=!0,i.scissorTest=!0,i}function Tl(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function Sp(n){const e=new kn;return e.depthTest=!1,e.depthWrite=!1,e.blending=xr,e.name=`PMREM_${n}`,e}function MJ(n,e,t){const i=o0(new Array(Cs).fill(0)),r=Pt(new Z(0,1,0)),s=Pt(0),a=te(Cs),o=Pt(0),l=Pt(1),u=S1(null),d=Pt(0),q=te(1/e),_=te(1/t),g=te(n),M={n:a,latitudinal:o,weights:i,poleAxis:r,outputDirection:xp,dTheta:s,samples:l,envMap:u,mipInt:d,CUBEUV_TEXEL_WIDTH:q,CUBEUV_TEXEL_HEIGHT:_,CUBEUV_MAX_MIP:g},N=Sp("blur");return N.fragmentNode=vR({...M,latitudinal:o.equal(1)}),OR.set(N,M),N}function gM(n){const e=Sp("cubemap");return e.fragmentNode=q4(n,xp),e}function EM(n){const e=Sp("equirect");return e.fragmentNode=S1(n,mp(xp),0),e}const MM=new WeakMap;function xJ(n){const e=Math.log2(n)-2,t=1/n;return{texelWidth:1/(3*Math.max(Math.pow(2,e),7*16)),texelHeight:t,maxMip:e}}function SJ(n,e,t){const i=yJ(e);let r=i.get(n);if((r!==void 0?r.pmremVersion:-1)!==n.pmremVersion){const a=n.image;if(n.isCubeTexture)if(vJ(a))r=t.fromCubemap(n,r);else return null;else if(OJ(a))r=t.fromEquirectangular(n,r);else return null;r.pmremVersion=n.pmremVersion,i.set(n,r)}return r.texture}function yJ(n){let e=MM.get(n);return e===void 0&&(e=new WeakMap,MM.set(n,e)),e}class NJ extends zn{static get type(){return"PMREMNode"}constructor(e,t=null,i=null){super("vec3"),this._value=e,this._pmrem=null,this.uvNode=t,this.levelNode=i,this._generator=null;const r=new ei;r.isRenderTargetTexture=!0,this._texture=S1(r),this._width=Pt(0),this._height=Pt(0),this._maxMip=Pt(0),this.updateBeforeType=p1.RENDER}set value(e){this._value=e,this._pmrem=null}get value(){return this._value}updateFromTexture(e){const t=xJ(e.image.height);this._texture.value=e,this._width.value=t.texelWidth,this._height.value=t.texelHeight,this._maxMip.value=t.maxMip}updateBefore(e){let t=this._pmrem;const i=t?t.pmremVersion:-1,r=this._value;i!==r.pmremVersion&&(r.isPMREMTexture===!0?t=r:t=SJ(r,e.renderer,this._generator),t!==null&&(this._pmrem=t,this.updateFromTexture(t)))}setup(e){this._generator===null&&(this._generator=new gJ(e.renderer)),this.updateBefore(e);let t=this.uvNode;t===null&&e.context.getUV&&(t=e.context.getUV(this)),t=op.mul(he(t.x,t.y.negate(),t.z));let i=this.levelNode;return i===null&&e.context.getTextureLevel&&(i=e.context.getTextureLevel(this)),NR(this._texture,t,i,this._width,this._height,this._maxMip)}dispose(){super.dispose(),this._generator!==null&&this._generator.dispose()}}function vJ(n){if(n==null)return!1;let e=0;const t=6;for(let i=0;i<t;i++)n[i]!==void 0&&e++;return e===t}function OJ(n){return n==null?!1:n.height>0}const yp=De(NJ).setParameterLength(1,3),xM=new WeakMap;class TJ extends C4{static get type(){return"EnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){const{material:t}=e;let i=this.envNode;if(i.isTextureNode||i.isMaterialReferenceNode){const q=i.isTextureNode?i.value:t[i.property];let _=xM.get(q);_===void 0&&(_=yp(q),xM.set(q,_)),i=_}const s=t.useAnisotropy===!0||t.anisotropy>0?qT:Fn,a=i.context(SM(i2,s)).mul(m7),o=i.context(RJ(mu)).mul(Math.PI).mul(m7),l=$6(a),u=$6(o);
vendor: 4,872 bytes, line 3873
3873e.context.radiance.addAssign(l),e.context.iblIrradiance.addAssign(u);const d=e.context.lightingModel.clearcoatRadiance;if(d){const q=i.context(SM(B8,xo)).mul(m7),_=$6(q);d.addAssign(_)}}}const SM=(n,e)=>{let t=null;return{getUV:()=>(t===null&&(t=pn.negate().reflect(e),t=n.mul(n).mix(t,e).normalize(),t=t.transformDirection(Rr)),t),getTextureLevel:()=>n}},RJ=n=>({getUV:()=>n,getTextureLevel:()=>te(1)}),bJ=new Oy;class TR extends kn{static get type(){return"MeshStandardNodeMaterial"}constructor(e){super(),this.isMeshStandardNodeMaterial=!0,this.lights=!0,this.emissiveNode=null,this.metalnessNode=null,this.roughnessNode=null,this.setDefaultValues(bJ),this.setValues(e)}setupEnvironment(e){let t=super.setupEnvironment(e);return t===null&&e.environmentNode&&(t=e.environmentNode),t?new TJ(t):null}setupLightingModel(){return new SR}setupSpecular(){const e=H1(he(.04),U1.rgb,w8);hr.assign(e),U8.assign(1)}setupVariants(){const e=this.metalnessNode?te(this.metalnessNode):yT;w8.assign(e);let t=this.roughnessNode?te(this.roughnessNode):ST;t=Ep({roughness:t}),i2.assign(t),this.setupSpecular(),U1.assign(It(U1.rgb.mul(e.oneMinus()),U1.a))}copy(e){return this.emissiveNode=e.emissiveNode,this.metalnessNode=e.metalnessNode,this.roughnessNode=e.roughnessNode,super.copy(e)}}const IJ=new QB;class PJ extends TR{static get type(){return"MeshPhysicalNodeMaterial"}constructor(e){super(),this.isMeshPhysicalNodeMaterial=!0,this.clearcoatNode=null,this.clearcoatRoughnessNode=null,this.clearcoatNormalNode=null,this.sheenNode=null,this.sheenRoughnessNode=null,this.iridescenceNode=null,this.iridescenceIORNode=null,this.iridescenceThicknessNode=null,this.specularIntensityNode=null,this.specularColorNode=null,this.iorNode=null,this.transmissionNode=null,this.thicknessNode=null,this.attenuationDistanceNode=null,this.attenuationColorNode=null,this.dispersionNode=null,this.anisotropyNode=null,this.setDefaultValues(IJ),this.setValues(e)}get useClearcoat(){return this.clearcoat>0||this.clearcoatNode!==null}get useIridescence(){return this.iridescence>0||this.iridescenceNode!==null}get useSheen(){return this.sheen>0||this.sheenNode!==null}get useAnisotropy(){return this.anisotropy>0||this.anisotropyNode!==null}get useTransmission(){return this.transmission>0||this.transmissionNode!==null}get useDispersion(){return this.dispersion>0||this.dispersionNode!==null}setupSpecular(){const e=this.iorNode?te(this.iorNode):UT;Y6.assign(e),hr.assign(H1(vr(jq(Y6.sub(1).div(Y6.add(1))).mul(xT),he(1)).mul(Of),U1.rgb,w8)),U8.assign(H1(Of,1,w8))}setupLightingModel(){return new SR(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion)}setupVariants(e){if(super.setupVariants(e),this.useClearcoat){const t=this.clearcoatNode?te(this.clearcoatNode):vT,i=this.clearcoatRoughnessNode?te(this.clearcoatRoughnessNode):OT;_9.assign(t),B8.assign(Ep({roughness:i}))}if(this.useSheen){const t=this.sheenNode?he(this.sheenNode):bT,i=this.sheenRoughnessNode?te(this.sheenRoughnessNode):IT;Ws.assign(t),ou.assign(i)}if(this.useIridescence){const t=this.iridescenceNode?te(this.iridescenceNode):LT,i=this.iridescenceIORNode?te(this.iridescenceIORNode):DT,r=this.iridescenceThicknessNode?te(this.iridescenceThicknessNode):CT;lu.assign(t),Lq.assign(i),Dq.assign(r)}if(this.useAnisotropy){const t=(this.anisotropyNode?Ue(this.anisotropyNode):PT).toVar();L3.assign(t.length()),c1(L3.equal(0),()=>{t.assign(Ue(1,0))}).Else(()=>{t.divAssign(Ue(L3)),L3.assign(L3.saturate())}),m9.assign(L3.pow2().mix(i2.pow2(),1)),K6.assign(Hs[0].mul(t.x).add(Hs[1].mul(t.y))),ia.assign(Hs[1].mul(t.x).sub(Hs[0].mul(t.y)))}if(this.useTransmission){const t=this.transmissionNode?te(this.transmissionNode):wT,i=this.thicknessNode?te(this.thicknessNode):BT,r=this.attenuationDistanceNode?te(this.attenuationDistanceNode):FT,s=this.attenuationColorNode?he(this.attenuationColorNode):GT;if(E9.assign(t),Cq.assign(i),wq.assign(r),Bq.assign(s),this.useDispersion){const a=this.dispersionNode?te(this.dispersionNode):KT;Uq.assign(a)}}}setupClearcoatNormal(){return this.clearcoatNormalNode?he(this.clearcoatNormalNode):TT}setup(e){e.context.setupClearcoatNormal=()=>this.setupClearcoatNormal(e),super.setup(e)}copy(e){return this.clearcoatNode=e.clearcoatNode,this.clearcoatRoughnessNode=e.clearcoatRoughnessNode,this.clearcoatNormalNode=e.clearcoatNormalNode,this.sheenNode=e.sheenNode,this.sheenRoughnessNode=e.sheenRoughnessNode,this.iridescenceNode=e.iridescenceNode,this.iridescenceIORNode=e.iridescenceIORNode,this.iridescenceThicknessNode=e.iridescenceThicknessNode,this.specularIntensityNode=e.specularIntensityNode,this.specularColorNode=e.specularColorNode,this.transmissionNode=e.transmissionNode,this.thicknessNode=e.thicknessNode,this.attenuationDistanceNode=e.attenuationDistanceNode,this.attenuationColorNode=e.attenuationColorNode,this.dispersionNode=e.dis
3873persionNode,this.anisotropyNode=e.anisotropyNode,super.copy(e)}}const LJ=qe(({normal:n,lightDirection:e,builder:t})=>{const i=n.dot(e),r=Ue(i.mul(.5).add(.5),0);if(t.material.gradientMap){const s=z2("gradientMap","texture").context({getUV:()=>r});return he(s.r)}else{const s=r.fwidth().mul(.5);return H1(he(.7),he(1),x2(te(.7).sub(s.x),te(.7).add(s.x),r.x))}});class DJ extends xu{direct({lightDirection:e,lightColor:t,reflectedLight:i},r){const s=LJ({normal:_u,lightDirection:e,builder:r}).mul(t);i.directDiffuse.addAssign(s.mul(pa({diffuseColor:U1.rgb})))}indirect(e){const{ambientOcclusion:t,irradiance:i,reflectedLight:r}=e.context;r.indirectDiffuse.addAssign(i.mul(pa({diffuseColor:U1}))),r.indirectDiffuse.mulAssign(t)}}const CJ=new JB;class wJ extends kn{static get type(){return"MeshToonNodeMaterial"}constructor(e){super(),this.isMeshToonNodeMaterial=!0,this.lights=!0,this.setDefaultValues(CJ),this.setValues(e)}setupLightingModel(){return new DJ}}class BJ extends zn{static get type(){return"MatcapUVNode"}constructor(){super("vec2")}setup(){const e=he(pn.z,0,pn.x.negate()).normalize(),t=pn.cross(e);return Ue(e.dot(Fn),t.dot(Fn)).mul(.495).add(.5)}}const RR=at(BJ),UJ=new iU;class FJ extends kn{static get type(){return"MeshMatcapNodeMaterial"}constructor(e){super(),this.isMeshMatcapNodeMaterial=!0,this.setDefaultValues(UJ),this.setValues(e)}setupVariants(e){const t=RR;let i;e.material.matcap?i=z2("matcap","texture").context({getUV:()=>t}):i=he(H1(.2,.8,t.y)),U1.rgb.mulAssign(i.rgb)}}class GJ extends zn{static get type(){return"RotateNode"}constructor(e,t){super(),this.positionNode=e,this.rotationNode=t}getNodeType(e){return this.positionNode.getNodeType(e)}setup(e){const{rotationNode:t,positionNode:i}=this;if(this.getNodeType(e)==="vec2"){const s=t.cos(),a=t.sin();return au(s,a,a.negate(),s).mul(i)}else{const s=t,a=na(It(1,0,0,0),It(0,G2(s.x),zr(s.x).negate(),0),It(0,zr(s.x),G2(s.x),0),It(0,0,0,1)),o=na(It(G2(s.y),0,zr(s.y),0),It(0,1,0,0),It(zr(s.y).negate(),0,G2(s.y),0),It(0,0,0,1)),l=na(It(G2(s.z),zr(s.z).negate(),0,0),It(zr(s.z),G2(s.z),0,0),It(0,0,1,0),It(0,0,0,1));return a.mul(o).mul(l).mul(It(i,1)).xyz}}}const yu=De(GJ).setParameterLength(2),VJ=new dB;class bR extends kn{static get type(){return"SpriteNodeMaterial"}constructor(e){super(),this.isSpriteNodeMaterial=!0,this._useSizeAttenuation=!0,this.positionNode=null,this.rotationNode=null,this.scaleNode=null,this.transparent=!0,this.setDefaultValues(VJ),this.setValues(e)}setupPositionView(e){const{object:t,camera:i}=e,r=this.sizeAttenuation,{positionNode:s,rotationNode:a,scaleNode:o}=this,l=xa.mul(he(s||0));let u=Ue(u0[0].xyz.length(),u0[1].xyz.length());if(o!==null&&(u=u.mul(Ue(o))),r===!1)if(i.isPerspectiveCamera)u=u.mul(l.z.negate());else{const g=te(2).div(Ma.element(1).element(1));u=u.mul(g.mul(2))}let d=A5.xy;if(t.center&&t.center.isVector2===!0){const g=jX("center","vec2",t);d=d.sub(g.sub(.5))}d=d.mul(u);const q=te(a||RT),_=yu(d,q);return It(l.xy.add(_),l.zw)}copy(e){return this.positionNode=e.positionNode,this.rotationNode=e.rotationNode,this.scaleNode=e.scaleNode,super.copy(e)}get sizeAttenuation(){return this._useSizeAttenuation}set sizeAttenuation(e){this._useSizeAttenuation!==e&&(this._useSizeAttenuation=e,this.needsUpdate=!0)}}const kJ=new Zd;class zJ extends bR{static get type(){return"PointsNodeMaterial"}constructor(e){super(),this.sizeNode=null,this.isPointsNodeMaterial=!0,this.setDefaultValues(kJ),this.setValues(e)}setupPositionView(){const{positionNode:e}=this;return xa.mul(he(e||Gn)).xyz}setupVertex(e){const t=super.setupVertex(e);if(e.material.isNodeMaterial!==!0)return t;const{rotationNode:i,scaleNode:r,sizeNode:s}=this,a=A5.xy.toVar(),o=Po.z.div(Po.w);if(i&&i.isNode){const u=te(i);a.assign(yu(a,u))}let l=s!==null?Ue(s):HT;return this.sizeAttenuation===!0&&(l=l.mul(l.div(Hn.z.negate()))),r&&r.isNode&&(l=l.mul(Ue(r))),a.mulAssign(l.mul(2)),a.assign(a.div(Po.z)),a.y.assign(a.y.mul(o)),a.assign(a.mul(t.w)),t.addAssign(It(a,0,0)),t}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(e){this._useAlphaToCoverage!==e&&(this._useAlphaToCoverage=e,this.needsUpdate=!0)}}class WJ extends xu{constructor(){super(),this.shadowNode=te(1).toVar("shadowMask")}direct({lightNode:e}){e.shadowNode!==null&&this.shadowNode.mulAssign(e.shadowNode)}finish({context:e}){U1.a.mulAssign(this.shadowNode.oneMinus()),e.outgoingLight.rgb.assign(U1.rgb)}}const HJ=new ZB;class KJ extends kn{static get type(){return"ShadowNodeMaterial"}constructor(e){super(),this.isShadowNodeMaterial=!0,this.lights=!0,this.transparent=!0,this.setDefaultValues(HJ),this.setValues(e)}setupLightingModel(){return new WJ}}D4("vec3");D4("vec3");D4("vec3");class YJ{constructor(e,t){this.nodes=e,this.info=t,this._context=typeof self<"u"?self:null,this._animationLoop=null,this._requestId=null}start(){const e=(t,i)=>{this._requestId=this._context.requestAnimationFrame(e),this.info.autoReset===!0&&this.info.reset(),this.nodes.nodeFrame.update(
3873),this.info.frame=this.nodes.nodeFrame.frameId,this._animationLoop!==null&&this._animationLoop(t,i)};e()}stop(){this._context.cancelAnimationFrame(this._requestId),this._requestId=null}getAnimationLoop(){return this._animationLoop}setAnimationLoop(e){this._animationLoop=e}getContext(){return this._context}setContext(e){this._context=e}dispose(){this.stop()}}class F0{constructor(){this.weakMap=new WeakMap}get(e){let t=this.weakMap;for(let i=0;i<e.length-1;i++)if(t=t.get(e[i]),t===void 0)return;return t.get(e[e.length-1])}set(e,t){let i=this.weakMap;for(let r=0;r<e.length-1;r++){const s=e[r];i.has(s)===!1&&i.set(s,new WeakMap),i=i.get(s)}return i.set(e[e.length-1],t),this}delete(e){let t=this.weakMap;for(let i=0;i<e.length-1;i++)if(t=t.get(e[i]),t===void 0)return!1;return t.delete(e[e.length-1])}}let $J=0;function jJ(n){const e=Object.keys(n);let t=Object.getPrototypeOf(n);for(;t;){const i=Object.getOwnPropertyDescriptors(t);for(const r in i)if(i[r]!==void 0){const s=i[r];s&&typeof s.get=="function"&&e.push(r)}t=Object.getPrototypeOf(t)}return e}class XJ{constructor(e,t,i,r,s,a,o,l,u,d){this.id=$J++,this._nodes=e,this._geometries=t,this.renderer=i,this.object=r,this.material=s,this.scene=a,this.camera=o,this.lightsNode=l,this.context=u,this.geometry=r.geometry,this.version=s.version,this.drawRange=null,this.attributes=null,this.pipeline=null,this.group=null,this.vertexBuffers=null,this.drawParams=null,this.bundle=null,this.clippingContext=d,this.clippingContextCacheKey=d!==null?d.cacheKey:"",this.initialNodesCacheKey=this.getDynamicCacheKey(),this.initialCacheKey=this.getCacheKey(),this._nodeBuilderState=null,this._bindings=null,this._monitor=null,this.onDispose=null,this.isRenderObject=!0,this.onMaterialDispose=()=>{this.dispose()},this.material.addEventListener("dispose",this.onMaterialDispose)}updateClipping(e){this.clippingContext=e}get clippingNeedsUpdate(){return this.clippingContext===null||this.clippingContext.cacheKey===this.clippingContextCacheKey?!1:(this.clippingContextCacheKey=this.clippingContext.cacheKey,!0)}get hardwareClippingPlanes(){return this.material.hardwareClipping===!0?this.clippingContext.unionClippingCount:0}getNodeBuilderState(){return this._nodeBuilderState||(this._nodeBuilderState=this._nodes.getForRender(this))}getMonitor(){return this._monitor||(this._monitor=this.getNodeBuilderState().observer)}getBindings(){return this._bindings||(this._bindings=this.getNodeBuilderState().createBindings())}getBindingGroup(e){for(const t of this.getBindings())if(t.name===e)return t}getIndex(){return this._geometries.getIndex(this)}getIndirect(){return this._geometries.getIndirect(this)}getChainArray(){return[this.object,this.material,this.context,this.lightsNode]}setGeometry(e){this.geometry=e,this.attributes=null}getAttributes(){if(this.attributes!==null)return this.attributes;const e=this.getNodeBuilderState().nodeAttributes,t=this.geometry,i=[],r=new Set;for(const s of e){const a=s.node&&s.node.attribute?s.node.attribute:t.getAttribute(s.name);if(a===void 0)continue;i.push(a);const o=a.isInterleavedBufferAttribute?a.data:a;r.add(o)}return this.attributes=i,this.vertexBuffers=Array.from(r.values()),i}getVertexBuffers(){return this.vertexBuffers===null&&this.getAttributes(),this.vertexBuffers}getDrawParameters(){const{object:e,material:t,geometry:i,group:r,drawRange:s}=this,a=this.drawParams||(this.drawParams={vertexCount:0,firstVertex:0,instanceCount:0,firstInstance:0}),o=this.getIndex(),l=o!==null;let u=1;if(i.isInstancedBufferGeometry===!0?u=i.instanceCount:e.count!==void 0&&(u=Math.max(0,e.count)),u===0)return null;if(a.instanceCount=u,e.isBatchedMesh===!0)return a;let d=1;t.wireframe===!0&&!e.isPoints&&!e.isLineSegments&&!e.isLine&&!e.isLineLoop&&(d=2);let q=s.start*d,_=(s.start+s.count)*d;r!==null&&(q=Math.max(q,r.start*d),_=Math.min(_,(r.start+r.count)*d));const g=i.attributes.position;let M=1/0;l?M=o.count:g!=null&&(M=g.count),q=Math.max(q,0),_=Math.min(_,M);const N=_-q;return N<0||N===1/0?null:(a.vertexCount=N,a.firstVertex=q,a)}getGeometryCacheKey(){const{geometry:e}=this;let t="";for(const i of Object.keys(e.attributes).sort()){const r=e.attributes[i];t+=i+",",r.data&&(t+=r.data.stride+","),r.offset&&(t+=r.offset+","),r.itemSize&&(t+=r.itemSize+","),r.normalized&&(t+="n,")}for(const i of Object.keys(e.morphAttributes).sort()){const r=e.morphAttributes[i];t+="morph-"+i+",";for(let s=0,a=r.length;s<a;s++){const o=r[s];t+=o.id+","}}return e.index&&(t+="index,"),t}getMaterialCacheKey(){const{object:e,material:t}=this;let i=t.customProgramCacheKey();for(const r of jJ(t)){if(/^(is[A-Z]|_)|^(visible|version|uuid|name|opacity|userData)$/.test(r))continue;const s=t[r];let a;if(s!==null){const o=typeof s;o==="number"?a=s!==0?"1":"0":o==="object"?(a="{",s.isTexture&&(a+=s.mapping),a+="}"):a=String(s)}else a=String(s);i+=a+","}return i+=this.clippingContextCacheKey+",",e.geometry&&(i+=this.getGeometryCacheKey()),e.skeleton&&(i+=e.skeleton.bones.length+","),e.isBatchedMesh&&(i+=e._matricesTexture.uuid+",",e._colorsTexture!==null&&(i+=e._colorsTexture.uuid+",")),e.count>1&&(i+=e.uuid+","),i+=e.receiveShadow+",",sv(i)}get needsGeometryUpdate(){return this.geometry.id!==this.object.geometry.id}get needsUpdate(){return this.initialNodesCacheKey!==this.getDynamicCacheKey()||this.clippingNeedsUpdate}getDynamicCacheKey(){let e=0;return this.material.isShadowPassMaterial!==!0&&(e=this._nodes.getCacheKey(this.scene,this.lightsNode)),this.camera.isArrayCamera&&(e=d9(e,this.camera.cameras.length)),this.object.receiveShadow&&(e=d9(e,1)),e}getCacheKey(){return this.getMaterialCacheKey()+this.getDynamicCacheKey()}dispose(){this.material.removeEventListener("dispose",this.onMaterialDispose),this.onDispose()}}const gs=[];class ZJ{constructor(e,t,i,r,s,a){this.renderer=e,this.nodes=t,this.geometries=i,this.pipelines=r,this.bindings=s,this.info=a,this.chainMaps={}}get(e,t,i,r,s,a,o,l){const u=this.getChainMap(l);gs[0]=e,gs[1]=t,gs[2]=a,gs[3]=s;let d=u.get(gs);return d===void 0?(d=this.createRenderObject(this.nodes,this.geometries,this.renderer,e,t,i,r,s,a,o,l),u.set(gs,d)):(d.updateClipping(o),d.needsGeometryUpdate&&d.setGeometry(e.geometry),(d.version!==t.version||d.needsUpdate)&&(d.initialCacheKey!==d.getCacheKey()?(d.dispose(),d=this.get(e,t,i,r,s,a,o,l)):d.version=t.version)),gs.length=0,d}getChainMap(e="default"){return this.chainMaps[e]||(this.chainMaps[e]=new F0)}dispose(){this.chainMaps={}}createRenderObject(e,t,i,r,s,a,o,l,u,d,q){const _=this.getChainMap(q),g=new XJ(e,t,i,r,s,a,o,l,u,d);return g.onDispose=()=>{this.pipelines.delete(g),this.bindings.delete(g),this.nodes.delete(g),_.delete(g.getChainArray())},g}}class ts{constructor(){this.data=new WeakMap}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}delete(e){let t=null;return this.data.has(e)&&(t=this.data.get(e),this.data.delete(e)),t}has(e){return this.data.has(e)}dispose(){this.data=new WeakMap}}const c0={VERTEX:1,INDEX:2,STORAGE:3,INDIRECT:4},B3=16,QJ=211,JJ=212;class eee extends ts{constructor(e){super(),this.backend=e}delete(e){const t=super.delete(e);return t!==null&&this.backend.destroyAttribute(e),t}update(e,t){const i=this.get(e);
3873if(i.version===void 0)t===c0.VERTEX?this.backend.createAttribute(e):t===c0.INDEX?this.backend.createIndexAttribute(e):t===c0.STORAGE?this.backend.createStorageAttribute(e):t===c0.INDIRECT&&this.backend.createIndirectStorageAttribute(e),i.version=this._getBufferAttribute(e).version;else{const r=this._getBufferAttribute(e);(i.version<r.version||r.usage===fo)&&(this.backend.updateAttribute(e),i.version=r.version)}}_getBufferAttribute(e){return e.isInterleavedBufferAttribute&&(e=e.data),e}}function IR(n){return n.index!==null?n.index.version:n.attributes.position.version}function yM(n){const e=[],t=n.index,i=n.attributes.position;if(t!==null){const s=t.array;for(let a=0,o=s.length;a<o;a+=3){const l=s[a+0],u=s[a+1],d=s[a+2];e.push(l,u,u,d,d,l)}}else{const s=i.array;for(let a=0,o=s.length/3-1;a<o;a+=3){const l=a+0,u=a+1,d=a+2;e.push(l,u,u,d,d,l)}}const r=new(zd(e)?$d:Yd)(e,1);return r.version=IR(n),r}class tee extends ts{constructor(e,t){super(),this.attributes=e,this.info=t,this.wireframes=new WeakMap,this.attributeCall=new WeakMap}has(e){const t=e.geometry;return super.has(t)&&this.get(t).initialized===!0}updateForRender(e){this.has(e)===!1&&this.initGeometry(e),this.updateAttributes(e)}initGeometry(e){const t=e.geometry,i=this.get(t);i.initialized=!0,this.info.memory.geometries++;const r=()=>{this.info.memory.geometries--;const s=t.index,a=e.getAttributes();s!==null&&this.attributes.delete(s);for(const l of a)this.attributes.delete(l);const o=this.wireframes.get(t);o!==void 0&&this.attributes.delete(o),t.removeEventListener("dispose",r)};t.addEventListener("dispose",r)}updateAttributes(e){const t=e.getAttributes();for(const s of t)s.isStorageBufferAttribute||s.isStorageInstancedBufferAttribute?this.updateAttribute(s,c0.STORAGE):this.updateAttribute(s,c0.VERTEX);const i=this.getIndex(e);i!==null&&this.updateAttribute(i,c0.INDEX);const r=e.geometry.indirect;r!==null&&this.updateAttribute(r,c0.INDIRECT)}updateAttribute(e,t){const i=this.info.render.calls;e.isInterleavedBufferAttribute?this.attributeCall.get(e)===void 0?(this.attributes.update(e,t),this.attributeCall.set(e,i)):this.attributeCall.get(e.data)!==i&&(this.attributes.update(e,t),this.attributeCall.set(e.data,i),this.attributeCall.set(e,i)):this.attributeCall.get(e)!==i&&(this.attributes.update(e,t),this.attributeCall.set(e,i))}getIndirect(e){return e.geometry.indirect}getIndex(e){const{geometry:t,material:i}=e;let r=t.index;if(i.wireframe===!0){const s=this.wireframes;let a=s.get(t);a===void 0?(a=yM(t),s.set(t,a)):a.version!==IR(t)&&(this.attributes.delete(a),a=yM(t),s.set(t,a)),r=a}return r}}class nee{constructor(){this.autoReset=!0,this.frame=0,this.calls=0,this.render={calls:0,frameCalls:0,drawCalls:0,triangles:0,points:0,lines:0,timestamp:0},this.compute={calls:0,frameCalls:0,timestamp:0},this.memory={geometries:0,textures:0}}update(e,t,i){this.render.drawCalls++,e.isMesh||e.isSprite?this.render.triangles+=i*(t/3):e.isPoints?this.render.points+=i*t:e.isLineSegments?this.render.lines+=i*(t/2):e.isLine?this.render.lines+=i*(t-1):console.error("THREE.WebGPUInfo: Unknown object type.")}reset(){this.render.drawCalls=0,this.render.frameCalls=0,this.compute.frameCalls=0,this.render.triangles=0,this.render.points=0,this.render.lines=0}dispose(){this.reset(),this.calls=0,this.render.calls=0,this.compute.calls=0,this.render.timestamp=0,this.compute.timestamp=0,this.memory.geometries=0,this.memory.textures=0}}class PR{constructor(e){this.cacheKey=e,this.usedTimes=0}}class iee extends PR{constructor(e,t,i){super(e),this.vertexProgram=t,this.fragmentProgram=i}}class ree extends PR{constructor(e,t){super(e),this.computeProgram=t,this.isComputePipeline=!0}}let see=0;class yA{constructor(e,t,i,r=null,s=null){this.id=see++,this.code=e,this.stage=t,this.name=i,this.transforms=r,this.attributes=s,this.usedTimes=0}}class aee extends ts{constructor(e,t){super(),this.backend=e,this.nodes=t,this.bindings=null,this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}getForCompute(e,t){const{backend:i}=this,r=this.get(e);if(this._needsComputeUpdate(e)){const s=r.pipeline;s&&(s.usedTimes--,s.computeProgram.usedTimes--);const a=this.nodes.getForCompute(e);let o=this.programs.compute.get(a.computeShader);o===void 0&&(s&&s.computeProgram.usedTimes===0&&this._releaseProgram(s.computeProgram),o=new yA(a.computeShader,"compute",e.name,a.transforms,a.nodeAttributes),this.programs.compute.set(a.computeShader,o),i.createProgram(o));const l=this._getComputeCacheKey(e,o);let u=this.caches.get(l);u===void 0&&(s&&s.usedTimes===0&&this._releasePipeline(s),u=this._getComputePipeline(e,o,l,t)),u.usedTimes++,o.usedTimes++,r.version=e.version,r.pipeline=u}return r.pipeline}getForRender(e,t=null){const{backend:i}=this,r=this.get(e);
3873if(this._needsRenderUpdate(e)){const s=r.pipeline;s&&(s.usedTimes--,s.vertexProgram.usedTimes--,s.fragmentProgram.usedTimes--);const a=e.getNodeBuilderState(),o=e.material?e.material.name:"";let l=this.programs.vertex.get(a.vertexShader);l===void 0&&(s&&s.vertexProgram.usedTimes===0&&this._releaseProgram(s.vertexProgram),l=new yA(a.vertexShader,"vertex",o),this.programs.vertex.set(a.vertexShader,l),i.createProgram(l));let u=this.programs.fragment.get(a.fragmentShader);u===void 0&&(s&&s.fragmentProgram.usedTimes===0&&this._releaseProgram(s.fragmentProgram),u=new yA(a.fragmentShader,"fragment",o),this.programs.fragment.set(a.fragmentShader,u),i.createProgram(u));const d=this._getRenderCacheKey(e,l,u);let q=this.caches.get(d);q===void 0?(s&&s.usedTimes===0&&this._releasePipeline(s),q=this._getRenderPipeline(e,l,u,d,t)):e.pipeline=q,q.usedTimes++,l.usedTimes++,u.usedTimes++,r.pipeline=q}return r.pipeline}delete(e){const t=this.get(e).pipeline;return t&&(t.usedTimes--,t.usedTimes===0&&this._releasePipeline(t),t.isComputePipeline?(t.computeProgram.usedTimes--,t.computeProgram.usedTimes===0&&this._releaseProgram(t.computeProgram)):(t.fragmentProgram.usedTimes--,t.vertexProgram.usedTimes--,t.vertexProgram.usedTimes===0&&this._releaseProgram(t.vertexProgram),t.fragmentProgram.usedTimes===0&&this._releaseProgram(t.fragmentProgram))),super.delete(e)}dispose(){super.dispose(),this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}updateForRender(e){this.getForRender(e)}_getComputePipeline(e,t,i,r){i=i||this._getComputeCacheKey(e,t);let s=this.caches.get(i);return s===void 0&&(s=new ree(i,t),this.caches.set(i,s),this.backend.createComputePipeline(s,r)),s}_getRenderPipeline(e,t,i,r,s){r=r||this._getRenderCacheKey(e,t,i);let a=this.caches.get(r);return a===void 0&&(a=new iee(r,t,i),this.caches.set(r,a),e.pipeline=a,this.backend.createRenderPipeline(e,s)),a}_getComputeCacheKey(e,t){return e.id+","+t.id}_getRenderCacheKey(e,t,i){return t.id+","+i.id+","+this.backend.getRenderCacheKey(e)}_releasePipeline(e){this.caches.delete(e.cacheKey)}_releaseProgram(e){const t=e.code,i=e.stage;this.programs[i].delete(t)}_needsComputeUpdate(e){const t=this.get(e);return t.pipeline===void 0||t.version!==e.version}_needsRenderUpdate(e){return this.get(e).pipeline===void 0||this.backend.needsRenderUpdate(e)}}class oee extends ts{constructor(e,t,i,r,s,a){super(),this.backend=e,this.textures=i,this.pipelines=s,this.attributes=r,this.nodes=t,this.info=a,this.pipelines.bindings=this}getForRender(e){const t=e.getBindings();for(const i of t){const r=this.get(i);r.bindGroup===void 0&&(this._init(i),this.backend.createBindings(i,t,0),r.bindGroup=i)}return t}getForCompute(e){const t=this.nodes.getForCompute(e).bindings;for(const i of t){const r=this.get(i);r.bindGroup===void 0&&(this._init(i),this.backend.createBindings(i,t,0),r.bindGroup=i)}return t}updateForCompute(e){this._updateBindings(this.getForCompute(e))}updateForRender(e){this._updateBindings(this.getForRender(e))}_updateBindings(e){for(const t of e)this._update(t,e)}_init(e){for(const t of e.bindings)if(t.isSampledTexture)this.textures.updateTexture(t.texture);else if(t.isStorageBuffer){const i=t.attribute,r=i.isIndirectStorageBufferAttribute?c0.INDIRECT:c0.STORAGE;this.attributes.update(i,r)}}_update(e,t){const{backend:i}=this;let r=!1,s=!0,a=0,o=0;for(const l of e.bindings)if(!(l.isNodeUniformsGroup&&this.nodes.updateGroup(l)===!1)){if(l.isStorageBuffer){const u=l.attribute,d=u.isIndirectStorageBufferAttribute?c0.INDIRECT:c0.STORAGE;this.attributes.update(u,d)}if(l.isUniformBuffer)l.update()&&i.updateBinding(l);else if(l.isSampler)l.update();else if(l.isSampledTexture){const u=this.textures.get(l.texture);l.needsBindingsUpdate(u.generation)&&(r=!0);const d=l.update(),q=l.texture;d&&this.textures.updateTexture(q);const _=i.get(q);if(_.externalTexture!==void 0||u.isDefaultTexture?s=!1:(a=a*10+q.id,o+=q.version),i.isWebGPUBackend===!0&&_.texture===void 0&&_.externalTexture===void 0&&(console.error("Bindings._update: binding should be available:",l,d,q,l.textureNode.value,r),this.textures.updateTexture(q),r=!0),q.isStorageTexture===!0){const g=this.get(q);l.store===!0?g.needsMipmap=!0:this.textures.needsMipmaps(q)&&g.needsMipmap===!0&&(this.backend.generateMipmaps(q),g.needsMipmap=!1)}}}r===!0&&this.backend.updateBindings(e,t,s?a:0,o)}}function lee(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?n.z-e.z:n.id-e.id}function NM(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function vM(n){return(n.transmission>0||n.transmissionNode)&&n.side===Qn&&n.forceSinglePass===!1}class uee{constructor(e,t,i){this.renderItems=[],this.renderItemsIndex=0,this.opaque=[],this.transparentDoublePass=[],this.transparent=[],this.bundles=[],this.lightsNode=e.getNode(t,i),this.lightsArray=[],this.scene=t,this.camera=i,this.occlusionQueryCount=0}begin(){return this.renderItemsIndex=0,this.opaque.length=0,this.transparentDoublePass.length=0,this.transparent.length=0,this.bundles.length=0,this.lightsArray.length=0,this.occlusionQueryCount=0,this}getNextRenderItem(e,t,i,r,s,a,o){let l=this.renderItems[this.renderItemsIndex];return l===void 0?(l={id:e.id,object:e,geometry:t,material:i,groupOrder:r,renderOrder:e.renderOrder,z:s,group:a,clippingContext:o},this.renderItems[this.renderItemsIndex]=l):(l.id=e.id,l.object=e,l.geometry=t,l.material=i,l.groupOrder=r,l.renderOrder=e.renderOrder,l.z=s,l.group=a,l.clippingContext=o),this.renderItemsIndex++,l}push(e,t,i,r,s,a,o){const l=this.getNextRenderItem(e,t,i,r,s,a,o);e.occlusionTest===!0&&this.occlusionQueryCount++,i.transparent===!0||i.transmission>0?(vM(i)&&this.transparentDoublePass.push(l),this.transparent.push(l)):this.opaque.push(l)}unshift(e,t,i,r,s,a,o){const l=this.getNextRenderItem(e,t,i,r,s,a,o);i.transparent===!0||i.transmission>0?(vM(i)&&this.transparentDoublePass.unshift(l),this.transparent.unshift(l)):this.opaque.unshift(l)}pushBundle(e){this.bundles.push(e)}pushLight(e){this.lightsArray.push(e)}sort(e,t){this.opaque.length>1&&this.opaque.sort(e||lee),this.transparentDoublePass.length>1&&this.transparentDoublePass.sort(t||NM),this.transparent.length>1&&this.transparent.sort(t||NM)}finish(){this.lightsNode.setLights(this.lightsArray);for(let e=this.renderItemsIndex,t=this.renderItems.length;e<t;e++){const i=this.renderItems[e];if(i.id===null)break;
3873i.id=null,i.object=null,i.geometry=null,i.material=null,i.groupOrder=null,i.renderOrder=null,i.z=null,i.group=null,i.clippingContext=null}}}const c6=[];class cee{constructor(e){this.lighting=e,this.lists=new F0}get(e,t){const i=this.lists;c6[0]=e,c6[1]=t;let r=i.get(c6);return r===void 0&&(r=new uee(this.lighting,e,t),i.set(c6,r)),c6.length=0,r}dispose(){this.lists=new F0}}let Aee=0;class hee{constructor(){this.id=Aee++,this.color=!0,this.clearColor=!0,this.clearColorValue={r:0,g:0,b:0,a:1},this.depth=!0,this.clearDepth=!0,this.clearDepthValue=1,this.stencil=!1,this.clearStencil=!0,this.clearStencilValue=1,this.viewport=!1,this.viewportValue=new wt,this.scissor=!1,this.scissorValue=new wt,this.renderTarget=null,this.textures=null,this.depthTexture=null,this.activeCubeFace=0,this.activeMipmapLevel=0,this.sampleCount=1,this.width=0,this.height=0,this.occlusionQueryCount=0,this.clippingContext=null,this.isRenderContext=!0}getCacheKey(){return LR(this)}}function LR(n){const{textures:e,activeCubeFace:t}=n,i=[t];for(const r of e)i.push(r.id);return nu(i)}const A6=[],fee=new K9,dee=new Q8;class qee{constructor(){this.chainMaps={}}get(e,t,i=null){A6[0]=e,A6[1]=t;let r;if(i===null)r="default";else{const o=i.texture.format;r=`${i.textures.length}:${o}:${i.samples}:${i.depthBuffer}:${i.stencilBuffer}`}const s=this._getChainMap(r);let a=s.get(A6);return a===void 0&&(a=new hee,s.set(A6,a)),A6.length=0,i!==null&&(a.sampleCount=i.samples===0?1:i.samples),a}getForClear(e=null){return this.get(fee,dee,e)}_getChainMap(e){return this.chainMaps[e]||(this.chainMaps[e]=new F0)}dispose(){this.chainMaps={}}}const pee=new Z;class _ee extends ts{constructor(e,t,i){super(),this.renderer=e,this.backend=t,this.info=i}updateRenderTarget(e,t=0){const i=this.get(e),r=e.samples===0?1:e.samples,s=i.depthTextureMips||(i.depthTextureMips={}),a=e.textures,o=this.getSize(a[0]),l=o.width>>t,u=o.height>>t;let d=e.depthTexture||s[t];const q=e.depthBuffer===!0||e.stencilBuffer===!0;let _=!1;d===void 0&&q&&(d=new $r,d.format=e.stencilBuffer?Kr:Hr,d.type=e.stencilBuffer?Wr:cn,d.image.width=l,d.image.height=u,d.image.depth=o.depth,d.isArrayTexture=e.multiview===!0&&o.depth>1,s[t]=d),(i.width!==o.width||o.height!==i.height)&&(_=!0,d&&(d.needsUpdate=!0,d.image.width=l,d.image.height=u,d.image.depth=d.isArrayTexture?d.image.depth:1)),i.width=o.width,i.height=o.height,i.textures=a,i.depthTexture=d||null,i.depth=e.depthBuffer,i.stencil=e.stencilBuffer,i.renderTarget=e,i.sampleCount!==r&&(_=!0,d&&(d.needsUpdate=!0),i.sampleCount=r);const g={sampleCount:r};if(e.isXRRenderTarget!==!0){for(let M=0;M<a.length;M++){const N=a[M];_&&(N.needsUpdate=!0),this.updateTexture(N,g)}d&&this.updateTexture(d,g)}if(i.initialized!==!0){i.initialized=!0;const M=()=>{e.removeEventListener("dispose",M);for(let N=0;N<a.length;N++)this._destroyTexture(a[N]);d&&this._destroyTexture(d),this.delete(e)};e.addEventListener("dispose",M)}}updateTexture(e,t={}){const i=this.get(e);if(i.initialized===!0&&i.version===e.version)return;const r=e.isRenderTargetTexture||e.isDepthTexture||e.isFramebufferTexture,s=this.backend;if(r&&i.initialized===!0&&(s.destroySampler(e),s.destroyTexture(e)),e.isFramebufferTexture){const u=this.renderer.getRenderTarget();u?e.type=u.texture.type:e.type=Ln}const{width:a,height:o,depth:l}=this.getSize(e);if(t.width=a,t.height=o,t.depth=l,t.needsMipmaps=this.needsMipmaps(e),t.levels=t.needsMipmaps?this.getMipLevels(e,a,o):1,r||e.isStorageTexture===!0)s.createSampler(e),s.createTexture(e,t),i.generation=e.version;else if(i.initialized!==!0&&s.createSampler(e),e.version>0){const d=e.image;if(d===void 0)console.warn("THREE.Renderer: Texture marked for update but image is undefined.");else if(d.complete===!1)console.warn("THREE.Renderer: Texture marked for update but image is incomplete.");else{if(e.images){const q=[];for(const _ of e.images)q.push(_);t.images=q}else t.image=d;(i.isDefaultTexture===void 0||i.isDefaultTexture===!0)&&(s.createTexture(e,t),i.isDefaultTexture=!1,i.generation=e.version),e.source.dataReady===!0&&s.updateTexture(e,t),t.needsMipmaps&&e.mipmaps.length===0&&s.generateMipmaps(e)}}else s.createDefaultTexture(e),i.isDefaultTexture=!0,i.generation=e.version;if(i.initialized!==!0){i.initialized=!0,i.generation=e.version,this.info.memory.textures++;const u=()=>{e.removeEventListener("dispose",u),this._destroyTexture(e)};e.addEventListener("dispose",u)}i.version=e.version}getSize(e,t=pee){let i=e.images?e.images[0]:e.image;return i?(i.image!==void 0&&(i=i.image),t.width=i.width||1,t.height=i.height||1,t.depth=e.isCubeTexture?6:i.depth||1):t.width=t.height=t.depth=1,t}getMipLevels(e,t,i){let r;return e.isCompressedTexture?e.mipmaps?r=e.mipmaps.length:r=1:r=Math.floor(Math.log2(Math.max(t,i)))+1,r}needsMipmaps(e){return e.isCompressedTexture===!0||e.generateMipmaps}_destroyTexture(e){this.has(e)===!0&&(this.backend.destroySampler(e),this.backend.destroyTexture(e),this.delete(e),this.info.memory.textures--)}}class Np extends Nt{constructor(e,t,i,r=1){super(e,t,i),this.a=r}set(e,t,i,r=1){return this.a=r,super.set(e,t,i)}copy(e){return e.a!==void 0&&(this.a=e.a),super.copy(e)}clone(){return new this.constructor(this.r,this.g,this.b,this.a)}}class DR extends Y1{static get type(){return"ParameterNode"}constructor(e,t=null){super(e,t),this.isParameterNode=!0}getHash(){return this.uuid}generate(){return this.name}}const mee=(n,e)=>Ie(new DR(n,e));class gee extends Ut{static get type(){return"StackNode"}constructor(e=null){super(),this.nodes=[],this.outputNode=null,this.parent=e,this._currentCond=null,this._expressionNode=null,this.isStackNode=!0}getNodeType(e){return this.outputNode?this.outputNode.getNodeType(e):"void"}getMemberType(e,t){return this.outputNode?this.outputNode.getMemberType(e,t):"void"}add(e){return this.nodes.push(e),this}If(e,t){const i=new Mo(t);return this._currentCond=ui(e,i),this.add(this._currentCond)}ElseIf(e,t){const i=new Mo(t),r=ui(e,i);return this._currentCond.elseNode=r,this._currentCond=r,this}Else(e){return this._currentCond.elseNode=new Mo(e),this}Switch(e){return this._expressionNode=Ie(e),this}Case(...e){const t=[];if(e.length>=2)for(let o=0;o<e.length-1;
3873o++)t.push(this._expressionNode.equal(Ie(e[o])));else throw new Error("TSL: Invalid parameter length. Case() requires at least two parameters.");const i=e[e.length-1],r=new Mo(i);let s=t[0];for(let o=1;o<t.length;o++)s=s.or(t[o]);const a=ui(s,r);return this._currentCond===null?(this._currentCond=a,this.add(this._currentCond)):(this._currentCond.elseNode=a,this._currentCond=a,this)}Default(e){return this.Else(e),this}build(e,...t){const i=Iq();D8(this);const r=e.buildStage;for(const s of this.nodes)if(r==="setup")s.build(e);else if(r==="analyze")s.build(e,this);else if(r==="generate"){const a=e.getDataFromNode(s,"any").stages,o=a&&a[e.shaderStage];if(s.isVarNode&&o&&o.length===1&&o[0]&&o[0].isStackNode)continue;s.build(e,"void")}return D8(i),this.outputNode?this.outputNode.build(e,...t):super.build(e,...t)}else(...e){return console.warn("THREE.TSL: .else() has been renamed to .Else()."),this.Else(...e)}elseif(...e){return console.warn("THREE.TSL: .elseif() has been renamed to .ElseIf()."),this.ElseIf(...e)}}const E7=De(gee).setParameterLength(0,1);function Eee(n){return Object.entries(n).map(([e,t])=>typeof t=="string"?{name:e,type:t,atomic:!1}:{name:e,type:t.type,atomic:t.atomic||!1})}class Mee extends Ut{static get type(){return"StructTypeNode"}constructor(e,t=null){super("struct"),this.membersLayout=Eee(e),this.name=t,this.isStructLayoutNode=!0}getLength(){const t=Float32Array.BYTES_PER_ELEMENT;let i=0;for(const r of this.membersLayout){const s=r.type,a=oX(s)*t,o=lX(s),l=i%8,u=l%o,d=l+u;i+=u,d!==0&&8-d<a&&(i+=8-d),i+=a}return Math.ceil(i/8)*8/t}getMemberType(e,t){const i=this.membersLayout.find(r=>r.name===t);return i?i.type:"void"}getNodeType(e){return e.getStructTypeFromNode(this,this.membersLayout,this.name).name}setup(e){e.addInclude(this)}generate(e){return this.getNodeType(e)}}class xee extends Ut{static get type(){return"StructNode"}constructor(e,t){super("vec3"),this.structLayoutNode=e,this.values=t,this.isStructNode=!0}getNodeType(e){return this.structLayoutNode.getNodeType(e)}getMemberType(e,t){return this.structLayoutNode.getMemberType(e,t)}generate(e){const t=e.getVarFromNode(this),i=t.type,r=e.getPropertyName(t);return e.addLineFlowCode(`${r} = ${e.generateStruct(i,this.structLayoutNode.membersLayout,this.values)}`,this),t.name}}const See=(n,e=null)=>{const t=new Mee(n,e),i=(...r)=>{let s=null;if(r.length>0)if(r[0].isNode){s={};const a=Object.keys(n);for(let o=0;o<r.length;o++)s[a[o]]=r[o]}else s=r[0];return Ie(new xee(t,s))};return i.layout=t,i.isStruct=!0,i};class CR extends Ut{static get type(){return"OutputStructNode"}constructor(...e){super(),this.members=e,this.isOutputStructNode=!0}getNodeType(e){const t=e.getNodeProperties(this);if(t.membersLayout===void 0){const i=this.members,r=[];for(let s=0;s<i.length;s++){const a="m"+s,o=i[s].getNodeType(e);r.push({name:a,type:o,index:s})}t.membersLayout=r,t.structType=e.getOutputStructTypeFromNode(this,t.membersLayout)}return t.structType.name}generate(e){const t=e.getOutputStructName(),i=this.members,r=t!==""?t+".":"";for(let s=0;s<i.length;s++){const a=i[s].build(e);e.addLineFlowCode(`${r}m${s} = ${a}`,this)}return t}}const yee=De(CR);function wR(n,e){for(let t=0;t<n.length;t++)if(n[t].name===e)return t;return-1}class Nee extends CR{static get type(){return"MRTNode"}constructor(e){super(),this.outputNodes=e,this.isMRTNode=!0}has(e){return this.outputNodes[e]!==void 0}get(e){return this.outputNodes[e]}merge(e){const t={...this.outputNodes,...e.outputNodes};return BR(t)}setup(e){const t=this.outputNodes,i=e.renderer.getRenderTarget(),r=[],s=i.textures;for(const a in t){const o=wR(s,a);r[o]=It(t[a])}return this.members=r,super.setup(e)}}const BR=De(Nee),vee=qe(([n])=>{const e=n.toUint().mul(747796405).add(2891336453),t=e.shiftRight(e.shiftRight(28).add(4)).bitXor(e).mul(277803737);return t.shiftRight(22).bitXor(t).toFloat().mul(1/2**32)}),Lf=(n,e)=>P0(u1(4,n.mul(b1(1,n))),e),Oee=(n,e)=>n.lessThan(.5)?Lf(n.mul(2),e).div(2):b1(1,Lf(u1(b1(1,n),2),e).div(2)),Tee=(n,e,t)=>P0(d0(P0(n,e),Yn(P0(n,e),P0(b1(1,n),t))),1/e),Ree=(n,e)=>zr(M9.mul(e.mul(n).sub(1))).div(M9.mul(e.mul(n).sub(1))),V2=qe(([n])=>n.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),bee=qe(([n])=>he(V2(n.z.add(V2(n.y.mul(1)))),V2(n.z.add(V2(n.x.mul(1)))),V2(n.y.add(V2(n.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",input
3873s:[{name:"p",type:"vec3"}]}),Iee=qe(([n,e,t])=>{const i=he(n).toVar(),r=te(1.4).toVar(),s=te(0).toVar(),a=he(i).toVar();return K1({start:te(0),end:te(3),type:"float",condition:"<="},()=>{const o=he(bee(a.mul(2))).toVar();i.addAssign(o.add(t.mul(te(.1).mul(e)))),a.mulAssign(1.8),r.mulAssign(1.5),i.mulAssign(1.2);const l=te(V2(i.z.add(V2(i.x.add(V2(i.y)))))).toVar();s.addAssign(l.div(r)),a.addAssign(.14)}),s}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"position",type:"vec3"},{name:"speed",type:"float"},{name:"time",type:"float"}]});class Pee extends Ut{static get type(){return"FunctionOverloadingNode"}constructor(e=[],...t){super(),this.functionNodes=e,this.parametersNodes=t,this._candidateFnCall=null,this.global=!0}getNodeType(){return this.functionNodes[0].shaderNode.layout.type}setup(e){const t=this.parametersNodes;let i=this._candidateFnCall;if(i===null){let r=null,s=-1;for(const a of this.functionNodes){const l=a.shaderNode.layout;if(l===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const u=l.inputs;if(t.length===u.length){let d=0;for(let q=0;q<t.length;q++){const _=t[q],g=u[q];_.getNodeType(e)===g.type?d++:d=0}d>s&&(r=a,s=d)}}this._candidateFnCall=i=r(...t)}return i}}const Lee=De(Pee),bi=n=>(...e)=>Lee(n,...e),Sa=Pt(0).setGroup(Ct).onRenderUpdate(n=>n.time),UR=Pt(0).setGroup(Ct).onRenderUpdate(n=>n.deltaTime),Dee=Pt(0,"uint").setGroup(Ct).onRenderUpdate(n=>n.frameId),Cee=(n=1)=>(console.warn('TSL: timerLocal() is deprecated. Use "time" instead.'),Sa.mul(n)),wee=(n=1)=>(console.warn('TSL: timerGlobal() is deprecated. Use "time" instead.'),Sa.mul(n)),Bee=(n=1)=>(console.warn('TSL: timerDelta() is deprecated. Use "deltaTime" instead.'),UR.mul(n)),Uee=(n=Sa)=>n.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5),Fee=(n=Sa)=>n.fract().round(),Gee=(n=Sa)=>n.add(.5).fract().mul(2).sub(1).abs(),Vee=(n=Sa)=>n.fract(),kee=qe(([n,e,t=Ue(.5)])=>yu(n.sub(t),e).add(t)),zee=qe(([n,e,t=Ue(.5)])=>{const i=n.sub(t),r=i.dot(i),a=r.mul(r).mul(e);return n.add(i.mul(a))}),Wee=qe(({position:n=null,horizontal:e=!0,vertical:t=!1})=>{let i;n!==null?(i=u0.toVar(),i[3][0]=n.x,i[3][1]=n.y,i[3][2]=n.z):i=u0;const r=Rr.mul(i);return L8(e)&&(r[0][0]=u0[0].length(),r[0][1]=0,r[0][2]=0),L8(t)&&(r[1][0]=0,r[1][1]=u0[1].length(),r[1][2]=0),r[2][0]=0,r[2][1]=0,r[2][2]=1,Ma.mul(r).mul(Gn)}),Hee=qe(([n=null])=>{const e=y9();return y9(dp(n)).sub(e).lessThan(0).select(D0,n)});class Kee extends Ut{static get type(){return"SpriteSheetUVNode"}constructor(e,t=xn(),i=te(0)){super("vec2"),this.countNode=e,this.uvNode=t,this.frameNode=i}setup(){const{frameNode:e,uvNode:t,countNode:i}=this,{width:r,height:s}=i,a=e.mod(r.mul(s)).floor(),o=a.mod(r),l=s.sub(a.add(1).div(r).ceil()),u=i.reciprocal(),d=Ue(o,l);return t.add(d).mul(u)}}const Yee=De(Kee).setParameterLength(3);class $ee extends Ut{static get type(){return"TriplanarTexturesNode"}constructor(e,t=null,i=null,r=te(1),s=Gn,a=Or){super("vec4"),this.textureXNode=e,this.textureYNode=t,this.textureZNode=i,this.scaleNode=r,this.positionNode=s,this.normalNode=a}setup(){const{textureXNode:e,textureYNode:t,textureZNode:i,scaleNode:r,positionNode:s,normalNode:a}=this;let o=a.abs().normalize();o=o.div(o.dot(he(1)));const l=s.yz.mul(r),u=s.zx.mul(r),d=s.xy.mul(r),q=e.value,_=t!==null?t.value:q,g=i!==null?i.value:q,M=S1(q,l).mul(o.x),N=S1(_,u).mul(o.y),y=S1(g,d).mul(o.z);return Yn(M,N,y)}}const FR=De($ee).setParameterLength(1,6),jee=(...n)=>FR(...n),eo=new e2,Es=new Z,to=new Z,NA=new Z,h6=new Yt,Rl=new Z(0,0,-1),$0=new wt,f6=new Z,bl=new Z,d6=new wt,Il=new Ce,N9=new o3,Xee=D0.flipX();N9.depthTexture=new $r(1,1);let Pl=!1;class vp extends S2{static get type(){return"ReflectorNode"}constructor(e={}){super(e.defaultTexture||N9.texture,Xee),this._reflectorBaseNode=e.reflector||new Zee(this,e),this._depthNode=null,this.setUpdateMatrix(!1)}get reflector(){return this._reflectorBaseNode}get target(){return this._reflectorBaseNode.target}getDepthNode(){if(this._depthNode===null){if(this._reflectorBaseNode.depth!==!0)throw new Error("THREE.ReflectorNode: Depth node can only be requested when the reflector is created with { depth: true }. ");
3873this._depthNode=Ie(new vp({defaultTexture:N9.depthTexture,reflector:this._reflectorBaseNode}))}return this._depthNode}setup(e){return e.object.isQuadMesh||this._reflectorBaseNode.build(e),super.setup(e)}clone(){const e=new this.constructor(this.reflectorNode);return e._reflectorBaseNode=this._reflectorBaseNode,e}dispose(){super.dispose(),this._reflectorBaseNode.dispose()}}class Zee extends Ut{static get type(){return"ReflectorBaseNode"}constructor(e,t={}){super();const{target:i=new En,resolution:r=1,generateMipmaps:s=!1,bounces:a=!0,depth:o=!1}=t;this.textureNode=e,this.target=i,this.resolution=r,this.generateMipmaps=s,this.bounces=a,this.depth=o,this.updateBeforeType=a?p1.RENDER:p1.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new Map,this.forceUpdate=!1,this.hasOutput=!1}_updateResolution(e,t){const i=this.resolution;t.getDrawingBufferSize(Il),e.setSize(Math.round(Il.width*i),Math.round(Il.height*i))}setup(e){return this._updateResolution(N9,e.renderer),super.setup(e)}dispose(){super.dispose();for(const e of this.renderTargets.values())e.dispose()}getVirtualCamera(e){let t=this.virtualCameras.get(e);return t===void 0&&(t=e.clone(),this.virtualCameras.set(e,t)),t}getRenderTarget(e){let t=this.renderTargets.get(e);return t===void 0&&(t=new o3(0,0,{type:Jn}),this.generateMipmaps===!0&&(t.texture.minFilter=lw,t.texture.generateMipmaps=!0),this.depth===!0&&(t.depthTexture=new $r),this.renderTargets.set(e,t)),t}updateBefore(e){if(this.bounces===!1&&Pl)return!1;Pl=!0;const{scene:t,camera:i,renderer:r,material:s}=e,{target:a}=this,o=this.getVirtualCamera(i),l=this.getRenderTarget(o);r.getDrawingBufferSize(Il),this._updateResolution(l,r),to.setFromMatrixPosition(a.matrixWorld),NA.setFromMatrixPosition(i.matrixWorld),h6.extractRotation(a.matrixWorld),Es.set(0,0,1),Es.applyMatrix4(h6),f6.subVectors(to,NA);const u=f6.dot(Es)>0;let d=!1;if(u===!0&&this.forceUpdate===!1){if(this.hasOutput===!1){Pl=!1;return}d=!0}f6.reflect(Es).negate(),f6.add(to),h6.extractRotation(i.matrixWorld),Rl.set(0,0,-1),Rl.applyMatrix4(h6),Rl.add(NA),bl.subVectors(to,Rl),bl.reflect(Es).negate(),bl.add(to),o.coordinateSystem=i.coordinateSystem,o.position.copy(f6),o.up.set(0,1,0),o.up.applyMatrix4(h6),o.up.reflect(Es),o.lookAt(bl),o.near=i.near,o.far=i.far,o.updateMatrixWorld(),o.projectionMatrix.copy(i.projectionMatrix),eo.setFromNormalAndCoplanarPoint(Es,to),eo.applyMatrix4(o.matrixWorldInverse),$0.set(eo.normal.x,eo.normal.y,eo.normal.z,eo.constant);const q=o.projectionMatrix;d6.x=(Math.sign($0.x)+q.elements[8])/q.elements[0],d6.y=(Math.sign($0.y)+q.elements[9])/q.elements[5],d6.z=-1,d6.w=(1+q.elements[10])/q.elements[14],$0.multiplyScalar(1/$0.dot(d6));const _=0;q.elements[2]=$0.x,q.elements[6]=$0.y,q.elements[10]=r.coordinateSystem===m2?$0.z-_:$0.z+1-_,q.elements[14]=$0.w,this.textureNode.value=l.texture,this.depth===!0&&(this.textureNode.getDepthNode().value=l.depthTexture),s.visible=!1;const g=r.getRenderTarget(),M=r.getMRT(),N=r.autoClear;r.setMRT(null),r.setRenderTarget(l),r.autoClear=!0,d?(r.clear(),this.hasOutput=!1):(r.render(t,o),this.hasOutput=!0),r.setMRT(M),r.setRenderTarget(g),r.autoClear=N,s.visible=!0,Pl=!1,this.forceUpdate=!1}}const Qee=n=>Ie(new vp(n)),vA=new t5(-1,1,1,-1,0,1);class Jee extends en{constructor(e=!1){super();const t=e===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new C1([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new C1(t,2))}}const ete=new Jee;class Nu extends F1{constructor(e=null){super(ete,e),this.camera=vA,this.isQuadMesh=!0}async renderAsync(e){return e.renderAsync(this,vA)}render(e){e.render(this,vA)}}const tte=new Ce;class nte extends S2{static get type(){return"RTTNode"}constructor(e,t=null,i=null,r={type:Jn}){const s=new o3(t,i,r);super(s.texture,xn()),this.node=e,this.width=t,this.height=i,this.pixelRatio=1,this.renderTarget=s,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this._rttNode=null,this._quadMesh=new Nu(new kn),this.updateBeforeType=p1.RENDER}get autoSize(){return this.width===null}setup(e){return this._rttNode=this.node.context(e.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(e)}setSize(e,t){this.width=e,this.height=t;const i=e*this.pixelRatio,r=t*this.pixelRatio;this.renderTarget.setSize(i,r),this.textureNeedsUpdate=!0}setPixelRatio(e){this.pixelRatio=e,this.setSize(this.width,this.height)}updateBefore({renderer:e}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoSize===!0){this.pixelRatio=e.getPixelRatio();const i=e.getSize(tte);this.setSize(i.width,i.height)}this._quadMesh.material.fragmentNode=this._rttNode;
3873const t=e.getRenderTarget();e.setRenderTarget(this.renderTarget),this._quadMesh.render(e),e.setRenderTarget(t)}clone(){const e=new S2(this.value,this.uvNode,this.levelNode);return e.sampler=this.sampler,e.referenceNode=this,e}}const GR=(n,...e)=>Ie(new nte(Ie(n),...e)),ite=(n,...e)=>n.isTextureNode?n:n.isPassNode?n.getTextureNode():GR(n,...e),Ao=qe(([n,e,t],i)=>{let r;i.renderer.coordinateSystem===m2?(n=Ue(n.x,n.y.oneMinus()).mul(2).sub(1),r=It(he(n,e),1)):r=It(he(n.x,n.y.oneMinus(),e).mul(2).sub(1),1);const s=It(t.mul(r));return s.xyz.div(s.w)}),rte=qe(([n,e])=>{const t=e.mul(It(n,1)),i=t.xy.div(t.w).mul(.5).add(.5).toVar();return Ue(i.x,i.y.oneMinus())}),ste=qe(([n,e,t])=>{const i=z3(Bn(e)),r=oi(n.mul(i)).toVar(),s=Bn(e,r).toVar(),a=Bn(e,r.sub(oi(2,0))).toVar(),o=Bn(e,r.sub(oi(1,0))).toVar(),l=Bn(e,r.add(oi(1,0))).toVar(),u=Bn(e,r.add(oi(2,0))).toVar(),d=Bn(e,r.add(oi(0,2))).toVar(),q=Bn(e,r.add(oi(0,1))).toVar(),_=Bn(e,r.sub(oi(0,1))).toVar(),g=Bn(e,r.sub(oi(0,2))).toVar(),M=An(b1(te(2).mul(o).sub(a),s)).toVar(),N=An(b1(te(2).mul(l).sub(u),s)).toVar(),y=An(b1(te(2).mul(q).sub(d),s)).toVar(),S=An(b1(te(2).mul(_).sub(g),s)).toVar(),R=Ao(n,s,t).toVar(),O=M.lessThan(N).select(R.sub(Ao(n.sub(Ue(te(1).div(i.x),0)),o,t)),R.negate().add(Ao(n.add(Ue(te(1).div(i.x),0)),l,t))),b=y.lessThan(S).select(R.sub(Ao(n.add(Ue(0,te(1).div(i.y))),q,t)),R.negate().add(Ao(n.sub(Ue(0,te(1).div(i.y))),_,t)));return r3(fu(O,b))});class M7 extends k3{constructor(e,t,i=Float32Array){const r=ArrayBuffer.isView(e)?e:new i(e*t);super(r,t),this.isStorageInstancedBufferAttribute=!0}}class ate extends vn{constructor(e,t,i=Float32Array){const r=ArrayBuffer.isView(e)?e:new i(e*t);super(r,t),this.isStorageBufferAttribute=!0}}const ote=(n,e="float")=>{let t,i;e.isStruct===!0?(t=e.layout.getLength(),i=p9("float")):(t=lv(e),i=p9(e));const r=new ate(n,t,i);return ra(r,e,n)},lte=(n,e="float")=>{let t,i;e.isStruct===!0?(t=e.layout.getLength(),i=p9("float")):(t=lv(e),i=p9(e));const r=new M7(n,t,i);return ra(r,e,n)};class ute extends Ut{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const cte=at(ute),q6=new Oi,OA=new Yt;class Er extends Ut{static get type(){return"SceneNode"}constructor(e=Er.BACKGROUND_BLURRINESS,t=null){super(),this.scope=e,this.scene=t}setup(e){const t=this.scope,i=this.scene!==null?this.scene:e.scene;let r;return t===Er.BACKGROUND_BLURRINESS?r=rn("backgroundBlurriness","float",i):t===Er.BACKGROUND_INTENSITY?r=rn("backgroundIntensity","float",i):t===Er.BACKGROUND_ROTATION?r=Pt("mat4").label("backgroundRotation").setGroup(Ct).onRenderUpdate(()=>{const s=i.background;return s!==null&&s.isTexture&&s.mapping!==Pd?(q6.copy(i.backgroundRotation),q6.x*=-1,q6.y*=-1,q6.z*=-1,OA.makeRotationFromEuler(q6)):OA.identity(),OA}):console.error("THREE.SceneNode: Unknown scope:",t),r}}Er.BACKGROUND_BLURRINESS="backgroundBlurriness";Er.BACKGROUND_INTENSITY="backgroundIntensity";Er.BACKGROUND_ROTATION="backgroundRotation";const VR=at(Er,Er.BACKGROUND_BLURRINESS),Df=at(Er,Er.BACKGROUND_INTENSITY),kR=at(Er,Er.BACKGROUND_ROTATION);class Ate extends S2{static get type(){return"StorageTextureNode"}constructor(e,t,i=null){super(e,t),this.storeNode=i,this.isStorageTextureNode=!0,this.access=ki.WRITE_ONLY}getInputType(){return"storageTexture"}setup(e){super.setup(e);const t=e.getNodeProperties(this);return t.storeNode=this.storeNode,t}setAccess(e){return this.access=e,this}generate(e,t){let i;return this.storeNode!==null?i=this.generateStore(e):i=super.generate(e,t),i}toReadWrite(){return this.setAccess(ki.READ_WRITE)}toReadOnly(){return this.setAccess(ki.READ_ONLY)}toWriteOnly(){return this.setAccess(ki.WRITE_ONLY)}generateStore(e){const t=e.getNodeProperties(this),{uvNode:i,storeNode:r,depthNode:s}=t,a=super.generate(e,"property"),o=i.build(e,"uvec2"),l=r.build(e,"vec4"),u=s?s.build(e,"int"):null,d=e.generateTextureStore(e,a,o,u,l);e.addLineFlowCode(d,this)}clone(){const e=super.clone();return e.storeNode=this.storeNode,e}}const zR=De(Ate).setParameterLength(1,3),hte=(n,e,t)=>{const i=zR(n,e,t);return t!==null&&i.toStack(),i},fte=qe(({texture:n,uv:e})=>{const i=he().toVar();return c1(e.x.lessThan(1e-4),()=>{i.assign(he(1,0,0))}).ElseIf(e.y.lessThan(1e-4),()=>{i.assign(he(0,1,0))}).ElseIf(e.z.lessThan(1e-4),()=>{i.assign(he(0,0,1))}).ElseIf(e.x.greaterThan(1-1e-4),()=>
3873{i.assign(he(-1,0,0))}).ElseIf(e.y.greaterThan(1-1e-4),()=>{i.assign(he(0,-1,0))}).ElseIf(e.z.greaterThan(1-1e-4),()=>{i.assign(he(0,0,-1))}).Else(()=>{const s=n.sample(e.add(he(-.01,0,0))).r.sub(n.sample(e.add(he(.01,0,0))).r),a=n.sample(e.add(he(0,-.01,0))).r.sub(n.sample(e.add(he(0,.01,0))).r),o=n.sample(e.add(he(0,0,-.01))).r.sub(n.sample(e.add(he(0,0,.01))).r);i.assign(he(s,a,o))}),i.normalize()});class dte extends S2{static get type(){return"Texture3DNode"}constructor(e,t=null,i=null){super(e,t,i),this.isTexture3DNode=!0}getInputType(){return"texture3D"}getDefaultUV(){return he(.5,.5,.5)}setUpdateMatrix(){}setupUV(e,t){const i=this.value;return e.isFlipY()&&(i.isRenderTargetTexture===!0||i.isFramebufferTexture===!0)&&(this.sampler?t=t.flipY():t=t.setY(le(z3(this,this.levelNode).y).sub(t.y).sub(1))),t}generateUV(e,t){return t.build(e,"vec3")}normal(e){return fte({texture:this,uv:e})}}const WR=De(dte).setParameterLength(1,3);class qte extends gu{static get type(){return"UserDataNode"}constructor(e,t,i=null){super(e,t,i),this.userData=i}updateReference(e){return this.reference=this.userData!==null?this.userData:e.object.userData,this.reference}}const pte=(n,e,t)=>Ie(new qte(n,e,t)),OM=new WeakMap;class _te extends zn{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.projectionMatrix=null,this.updateType=p1.OBJECT,this.updateAfterType=p1.OBJECT,this.previousModelWorldMatrix=Pt(new Yt),this.previousProjectionMatrix=Pt(new Yt).setGroup(Ct),this.previousCameraViewMatrix=Pt(new Yt)}setProjectionMatrix(e){this.projectionMatrix=e}update({frameId:e,camera:t,object:i}){const r=TM(i);this.previousModelWorldMatrix.value.copy(r);const s=HR(t);s.frameId!==e&&(s.frameId=e,s.previousProjectionMatrix===void 0?(s.previousProjectionMatrix=new Yt,s.previousCameraViewMatrix=new Yt,s.currentProjectionMatrix=new Yt,s.currentCameraViewMatrix=new Yt,s.previousProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),s.previousCameraViewMatrix.copy(t.matrixWorldInverse)):(s.previousProjectionMatrix.copy(s.currentProjectionMatrix),s.previousCameraViewMatrix.copy(s.currentCameraViewMatrix)),s.currentProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),s.currentCameraViewMatrix.copy(t.matrixWorldInverse),this.previousProjectionMatrix.value.copy(s.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(s.previousCameraViewMatrix))}updateAfter({object:e}){TM(e).copy(e.matrixWorld)}setup(){const e=this.projectionMatrix===null?Ma:Pt(this.projectionMatrix),t=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),i=e.mul(xa).mul(Gn),r=this.previousProjectionMatrix.mul(t).mul(S9),s=i.xy.div(i.w),a=r.xy.div(r.w);return b1(s,a)}}function HR(n){let e=OM.get(n);return e===void 0&&(e={},OM.set(n,e)),e}function TM(n,e=0){const t=HR(n);let i=t[e];return i===void 0&&(t[e]=i=new Yt,t[e].copy(n.matrixWorld)),i}const mte=at(_te),KR=qe(([n,e])=>vr(1,n.oneMinus().div(e)).oneMinus()).setLayout({name:"blendBurn",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),YR=qe(([n,e])=>vr(n.div(e.oneMinus()),1)).setLayout({name:"blendDodge",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),$R=qe(([n,e])=>n.oneMinus().mul(e.oneMinus()).oneMinus()).setLayout({name:"blendScreen",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),jR=qe(([n,e])=>H1(n.mul(2).mul(e),n.oneMinus().mul(2).mul(e.oneMinus()).oneMinus(),hu(.5,n))).setLayout({name:"blendOverlay",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),gte=qe(([n,e])=>{const t=e.a.add(n.a.mul(e.a.oneMinus()));return It(e.rgb.mul(e.a).add(n.rgb.mul(n.a).mul(e.a.oneMinus())).div(t),t)}).setLayout({name:"blendColor",type:"vec4",inputs:[{name:"base",type:"vec4"},{name:"blend",type:"vec4"}]}),Ete=qe(([n])=>It(n.rgb.mul(n.a),n.a),{color:"vec4",return:"vec4"}),Mte=qe(([n])=>(c1(n.a.equal(0),()=>It(0)),It(n.rgb.div(n.a),n.a)),{color:"vec4",return:"vec4"}),xte=(...n)=>(console.warn('THREE.TSL: "burn" has been renamed. Use "blendBurn" instead.'),KR(n)),Ste=(...n)=>(console.warn('THREE.TSL: "dodge" has been renamed. Use "blendDodge" instead.'),YR(n)),yte=(...n)=>(console.warn('THREE.TSL: "screen" has been renamed. Use "blendScreen" instead.'),$R(n)),Nte=(...n)=>(console.warn('THREE.TSL: "overlay" has been renamed. Use "blendOverlay" instead.'),jR(n)),vte=qe(([n])=>Op(n.rgb)),Ote=qe(([n,e=te(1)])=>e.mix(Op(n.rgb),n.rgb)),Tte=qe(([n,e=te(1)])=>{const t=Yn(n.r,n.g,n.b).div(3),i=n.r.max(n.g.max(n.b)),r=i.sub(t).mul(e).mul(-3);return H1(n.rgb,i,r)}),Rte=qe(([n,e=te(1)])=>{const t=he(.57735,.57735,.57735),i=e.cos();return he(n.rgb.mul(i).add(t.cross(n.rgb).mul(e.sin()).add(t.mul(es(t,n.rgb).mul(i.oneMinus())))))}),Op=(n,e=he(Zt.getLuminanceCoefficients(new Z)))=>es(n,e),bte=qe(([n,e=he(1),t=he(0),i=he(1),r=te(1),s=he(Zt.getLuminanceCoefficients(new Z,L0))])=>{const a=n.rgb.dot(he(s)),o=Dn(n.rgb.mul(e).add(t),0).toVar(),l=o.pow(i).toVar();return c1(o.r.greaterThan(0),()=>{o.r.assign(l.r)}),c1(o.g.greaterThan(0),()=>{o.g.assign(l.g)}),c1(o.b.greaterThan(0),()=>{o.b.assign(l.b)}),o.assign(a.add(o.sub(a).mul(r))),It(o.rgb,n.a)});class Ite extends zn{static get type(){return"PosterizeNode"}constructor(e,t){super(),this.sourceNode=e,this.stepsNode=t}setup(){const{sourceNode:e,stepsNode:t}=this;return e.mul(t).floor().div(t)}}const Pte=De(Ite).setParameterLength(2),Ll=new Ce;class XR extends S2{static get type(){return"PassTextureNode"}constructor(e,t){super(t),this.passNode=e,this.setUpdateMatrix(!1)}setup(e){return e.object.isQuadMesh&&this.passNode.build(e),super.setup(e)}clone(){return new this.constructor(this.passNode,this.value)}}class RM extends XR{static get type(){return"PassMultipleTextureNode"}constructor(e,t,i=!1){super(e,null),this.textureName=t,this.previousTexture=i}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(e){return this.updateTexture(),super.setup(e)}clone(){return new this.constructor(this.passNode,this.textureName,this.previousTexture)}}class y2 extends zn{static get type(){return"PassNode"}constructor(e,t,i,r={}){super("vec4"),this.scope=e,this.scene=t,this.camera=i,this.options=r,this._pixelRatio=1,this._width=1,this._height=1;const s=new $r;s.isRenderTargetTexture=!0,s.name="depth";const a=new o3(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:Jn,...r});a.texture.name="output",a.depthTexture=s,this.renderTarget=a,this._textures={output:a.texture,depth:s},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=Pt(0),this._cameraFar=Pt(0),this._mrt=null,this._layers=null,this._resolution=1,this.isPassNode=!0,this.updateBeforeType=p1.FRAME,this.global=!0}setResolution(e){return this._resolution=e,this}getResolution(){return this._resolution}setLayers(e){return this._layers=e,this}getLayers(){return this._layers}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getTexture(e){let t=this._textures[e];return t===void 0&&(t=this.renderTarget.texture.clone(),t.name=e,this._textures[e]=t,this.renderTarget.textures.push(t)),t}getPreviousTexture(e){let t=this._previousTextures[e];return t===void 0&&(t=this.getTexture(e).clone(),this._previousTextures[e]=t),t}toggleTexture(e){const t=this._previousTextures[e];if(t!==void 0){const i=this._textures[e],r=this.renderTarget.textures.indexOf(i);this.renderTarget.textures[r]=t,this._textures[e]=t,this._previousTextures[e]=i,this._textureNodes[e].updateTexture(),this._previousTextureNodes[e].updateTexture()}}getTextureNode(e="output"){let t=this._textureNodes[e];return t===void 0&&(t=Ie(new RM(this,e)),t.updateTexture(),this._textureNodes[e]=t),t}getPreviousTextureNode(e="output"){let t=this._previousTextureNodes[e];return t===void 0&&(this._textureNodes[e]===void 0&&this.getTextureNode(e),t=Ie(ne
3873w RM(this,e,!0)),t.updateTexture(),this._previousTextureNodes[e]=t),t}getViewZNode(e="depth"){let t=this._viewZNodes[e];if(t===void 0){const i=this._cameraNear,r=this._cameraFar;this._viewZNodes[e]=t=qp(this.getTextureNode(e),i,r)}return t}getLinearDepthNode(e="depth"){let t=this._linearDepthNodes[e];if(t===void 0){const i=this._cameraNear,r=this._cameraFar,s=this.getViewZNode(e);this._linearDepthNodes[e]=t=Lo(s,i,r)}return t}setup({renderer:e}){return this.renderTarget.samples=this.options.samples===void 0?e.samples:this.options.samples,e.backend.isWebGLBackend===!0&&(this.renderTarget.samples=0),this.renderTarget.texture.type=e.getColorBufferType(),this.scope===y2.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(e){const{renderer:t}=e,{scene:i}=this;let r,s;const a=t.getOutputRenderTarget();a&&a.isXRRenderTarget===!0?(s=1,r=t.xr.getCamera(),t.xr.updateCamera(r),Ll.set(a.width,a.height)):(r=this.camera,s=t.getPixelRatio(),t.getSize(Ll)),this._pixelRatio=s,this.setSize(Ll.width,Ll.height);const o=t.getRenderTarget(),l=t.getMRT(),u=r.layers.mask;this._cameraNear.value=r.near,this._cameraFar.value=r.far,this._layers!==null&&(r.layers.mask=this._layers.mask);for(const d in this._previousTextures)this.toggleTexture(d);t.setRenderTarget(this.renderTarget),t.setMRT(this._mrt),t.render(i,r),t.setRenderTarget(o),t.setMRT(l),r.layers.mask=u}setSize(e,t){this._width=e,this._height=t;const i=this._width*this._pixelRatio*this._resolution,r=this._height*this._pixelRatio*this._resolution;this.renderTarget.setSize(i,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}y2.COLOR="color";y2.DEPTH="depth";const Lte=(n,e,t)=>Ie(new y2(y2.COLOR,n,e,t)),Dte=(n,e)=>Ie(new XR(n,e)),Cte=(n,e,t)=>Ie(new y2(y2.DEPTH,n,e,t));class wte extends y2{static get type(){return"ToonOutlinePassNode"}constructor(e,t,i,r,s){super(y2.COLOR,e,t),this.colorNode=i,this.thicknessNode=r,this.alphaNode=s,this._materialCache=new WeakMap}updateBefore(e){const{renderer:t}=e,i=t.getRenderObjectFunction();t.setRenderObjectFunction((r,s,a,o,l,u,d,q)=>{if((l.isMeshToonMaterial||l.isMeshToonNodeMaterial)&&l.wireframe===!1){const _=this._getOutlineMaterial(l);t.renderObject(r,s,a,o,_,u,d,q)}t.renderObject(r,s,a,o,l,u,d,q)}),super.updateBefore(e),t.setRenderObjectFunction(i)}_createMaterial(){const e=new kn;e.isMeshToonOutlineMaterial=!0,e.name="Toon_Outline",e.side=Q1;const t=Or.negate(),i=Ma.mul(xa),r=te(1),s=i.mul(It(Gn,1)),a=i.mul(It(Gn.add(t),1)),o=r3(s.sub(a));return e.vertexNode=s.add(o.mul(this.thicknessNode).mul(s.w).mul(r)),e.colorNode=It(this.colorNode,this.alphaNode),e}_getOutlineMaterial(e){let t=this._materialCache.get(e);return t===void 0&&(t=this._createMaterial(),this._materialCache.set(e,t)),t}}const Bte=(n,e,t=new Nt(0,0,0),i=.003,r=1)=>Ie(new wte(n,e,Ie(t),Ie(i),Ie(r))),ZR=qe(([n,e])=>n.mul(e).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),QR=qe(([n,e])=>(n=n.mul(e),n.div(n.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),JR=qe(([n,e])=>{n=n.mul(e),n=n.sub(.004).max(0);const t=n.mul(n.mul(6.2).add(.5)),i=n.mul(n.mul(6.2).add(1.7)).add(.06);return t.div(i).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Ute=qe(([n])=>{const e=n.mul(n.add(.0245786)).sub(90537e-9),t=n.mul(n.add(.432951).mul(.983729)).add(.238081);return e.div(t)}),eb=qe(([n,e])=>{const t=Ki(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),i=Ki(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return n=n.mul(e).div(.6),n=t.mul(n),n=Ute(n),n=i.mul(n),n.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Fte=Ki(he(1.6605,-.1246,-.0182),he(-.5876,1.1329,-.1006),he(-.0728,-.0083,1.1187)),Gte=Ki(he(.6274,.0691,.0164),he(.3293,.9195,.088),he(.0433,.0113,.8956)),Vte=qe(([n])=>{const e=he(n).toVar(),t=he(e.mul(e)).toVar(),i=he(t.mul(t)).toVar();return te(15.5).mul(i.mul(t)).sub(u1(40.14,i.mul(e))).add(u1(31.96,i).sub(u1(6.868,t.mul(e))).add(u1(.4298,t).add(u1(.
38731191,e).sub(.00232))))}),tb=qe(([n,e])=>{const t=he(n).toVar(),i=Ki(he(.856627153315983,.137318972929847,.11189821299995),he(.0951212405381588,.761241990602591,.0767994186031903),he(.0482516061458583,.101439036467562,.811302368396859)),r=Ki(he(1.1271005818144368,-.1413297634984383,-.14132976349843826),he(-.11060664309660323,1.157823702216272,-.11060664309660294),he(-.016493938717834573,-.016493938717834257,1.2519364065950405)),s=te(-12.47393),a=te(4.026069);return t.mulAssign(e),t.assign(Gte.mul(t)),t.assign(i.mul(t)),t.assign(Dn(t,1e-10)),t.assign(h2(t)),t.assign(t.sub(s).div(a.sub(s))),t.assign(M2(t,0,1)),t.assign(Vte(t)),t.assign(r.mul(t)),t.assign(P0(Dn(he(0),t),he(2.2))),t.assign(Fte.mul(t)),t.assign(M2(t,0,1)),t}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),nb=qe(([n,e])=>{const t=te(.76),i=te(.15);n=n.mul(e);const r=vr(n.r,vr(n.g,n.b)),s=ui(r.lessThan(.08),r.sub(u1(6.25,r.mul(r))),.04);n.subAssign(s);const a=Dn(n.r,Dn(n.g,n.b));c1(a.lessThan(t),()=>n);const o=b1(1,t),l=b1(1,o.mul(o).div(a.add(o.sub(t))));n.mulAssign(l.div(a));const u=b1(1,d0(1,i.mul(a.sub(l)).add(1)));return H1(n,he(l),u)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class Xn extends Ut{static get type(){return"CodeNode"}constructor(e="",t=[],i=""){super("code"),this.isCodeNode=!0,this.global=!0,this.code=e,this.includes=t,this.language=i}setIncludes(e){return this.includes=e,this}getIncludes(){return this.includes}generate(e){const t=this.getIncludes(e);for(const r of t)r.build(e);const i=e.getCodeFromNode(this,this.getNodeType(e));return i.code=this.code,i.code}serialize(e){super.serialize(e),e.code=this.code,e.language=this.language}deserialize(e){super.deserialize(e),this.code=e.code,this.language=e.language}}const vu=De(Xn).setParameterLength(1,3),kte=(n,e)=>vu(n,e,"js"),zte=(n,e)=>vu(n,e,"wgsl"),Wte=(n,e)=>vu(n,e,"glsl");class ib extends Xn{static get type(){return"FunctionNode"}constructor(e="",t=[],i=""){super(e,t,i)}getNodeType(e){return this.getNodeFunction(e).type}getInputs(e){return this.getNodeFunction(e).inputs}getNodeFunction(e){const t=e.getDataFromNode(this);let i=t.nodeFunction;return i===void 0&&(i=e.parser.parseFunction(this.code),t.nodeFunction=i),i}generate(e,t){super.generate(e);const i=this.getNodeFunction(e),r=i.name,s=i.type,a=e.getCodeFromNode(this,s);r!==""&&(a.name=r);const o=e.getPropertyName(a),l=this.getNodeFunction(e).getCode(o);return a.code=l+` 3874`,t==="property"?o:e.format(`${o}()`,s,t)}}const rb=(n,e=[],t="")=>{for(let s=0;s<e.length;s++){const a=e[s];typeof a=="function"&&(e[s]=a.functionNode)}const i=Ie(new ib(n,e,t)),r=(...s)=>i.call(...s);return r.functionNode=i,r},Hte=(n,e)=>rb(n,e,"glsl"),Kte=(n,e)=>rb(n,e,"wgsl");class Yte extends Ut{static get type(){return"ScriptableValueNode"}constructor(e=null){super(),this._value=e,this._cache=null,this.inputType=null,this.outputType=null,this.events=new O2,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(e){this._value!==e&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=e,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const e=this.value;if(e&&this._cache===null&&this.inputType==="URL"&&e.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([e.value]));else if(e&&e.value!==null&&e.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof e.value=="string"||this.inputType==="Number"&&typeof e.value=="number"||this.inputType==="Vector2"&&e.value.isVector2||this.inputType==="Vector3"&&e.value.isVector3||this.inputType==="Vector4"&&e.value.isVector4||this.inputType==="Color"&&e.value.isColor||this.inputType==="Matrix3"&&e.value.isMatrix3||this.inputType==="Matrix4"&&e.value.isMatrix4))return e.value;return this._cache||e}getNodeType(e){return this.value&&this.value.isNode?this.value.getNodeType(e):"float"}setup(){return this.value&&this.value.isNode?this.value:te()}serialize(e){super.serialize(e),this.value!==null?this.inputType==="ArrayBuffer"?e.value=Av(this.value):e.value=this.value?this.value.toJSON(e.meta).uuid:null:e.value=null,e.inputType=this.inputType,e.outputType=this.outputType}deserialize(e){super.deserialize(e);let t=null;e.value!==null&&(e.inputType==="ArrayBuffer"?t=hv(e.value):e.inputType==="Texture"?t=e.meta.textures[e.value]:t=e.meta.nodes[e.value]||null),this.value=t,this.inputType=e.inputType,this.outputType=e.outputType}}const x7=De(Yte).setParameterLength(1);class sb extends Map{get(e,t=null,...i){if(this.has(e))return super.get(e);if(t!==null){const r=t(...i);return this.set(e,r),r}}}class $te{constructor(e){this.scriptableNode=e}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(e){return this.scriptableNode.getInputLayout(e)}get(e){const t=this.parameters[e];return t?t.getValue():null}}const S7=new sb;class jte extends Ut{static get type(){return"ScriptableNode"}constructor(e=null,t={}){super(),this.codeNode=e,this.parameters=t,this._local=new sb,this._output=x7(null),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}
3874get source(){return this.codeNode?this.codeNode.code:""}setLocal(e,t){return this._local.set(e,t)}getLocal(e){return this._local.get(e)}onRefresh(){this._refresh()}getInputLayout(e){for(const t of this.getLayout())if(t.inputType&&(t.id===e||t.name===e))return t}getOutputLayout(e){for(const t of this.getLayout())if(t.outputType&&(t.id===e||t.name===e))return t}setOutput(e,t){const i=this._outputs;return i[e]===void 0?i[e]=x7(t):i[e].value=t,this}getOutput(e){return this._outputs[e]}getParameter(e){return this.parameters[e]}setParameter(e,t){const i=this.parameters;return t&&t.isScriptableNode?(this.deleteParameter(e),i[e]=t,i[e].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):t&&t.isScriptableValueNode?(this.deleteParameter(e),i[e]=t,i[e].events.addEventListener("refresh",this.onRefresh)):i[e]===void 0?(i[e]=x7(t),i[e].events.addEventListener("refresh",this.onRefresh)):i[e].value=t,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(e){let t=this.parameters[e];return t&&(t.isScriptableNode&&(t=t.getDefaultOutput()),t.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const e of Object.keys(this.parameters))this.deleteParameter(e);return this.needsUpdate=!0,this}call(e,...t){const r=this.getObject()[e];if(typeof r=="function")return r(...t)}async callAsync(e,...t){const r=this.getObject()[e];if(typeof r=="function")return r.constructor.name==="AsyncFunction"?await r(...t):r(...t)}getNodeType(e){return this.getDefaultOutputNode().getNodeType(e)}refresh(e=null){e!==null?this.getOutput(e).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const e=()=>this.refresh(),t=(u,d)=>this.setOutput(u,d),i=new $te(this),r=S7.get("THREE"),s=S7.get("TSL"),a=this.getMethod(),o=[i,this._local,S7,e,t,r,s];this._object=a(...o);const l=this._object.layout;if(l&&(l.cache===!1&&this._local.clear(),this._output.outputType=l.outputType||null,Array.isArray(l.elements)))for(const u of l.elements){const d=u.id||u.name;u.inputType&&(this.getParameter(d)===void 0&&this.setParameter(d,null),this.getParameter(d).inputType=u.inputType),u.outputType&&(this.getOutput(d)===void 0&&this.setOutput(d,null),this.getOutput(d).outputType=u.outputType)}return this._object}deserialize(e){super.deserialize(e);for(const t in this.parameters){let i=this.parameters[t];i.isScriptableNode&&(i=i.getDefaultOutput()),i.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const e=this.getDefaultOutput().value;return e&&e.isNode?e:te()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const e=["parameters","local","global","refresh","setOutput","THREE","TSL"],i=["layout","init","main","dispose"].join(", "),r="var "+i+`; var output = {}; 3875`,s=` 3876return { ...output, `+i+" };",a=r+this.codeNode.code+s;return this._method=new Function(...e,a),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(e){const t=[sv(this.source),this.getDefaultOutputNode().getCacheKey(e)];for(const i in this.parameters)t.push(this.parameters[i].getCacheKey(e));return nu(t)}set needsUpdate(e){e===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const Xte=De(jte).setParameterLength(1,2);function ab(n){let e;const t=n.context.getViewZ;return t!==void 0&&(e=t(this)),(e||Hn.z).negate()}const Tp=qe(([n,e],t)=>{const i=ab(t);return x2(n,e,i)}),Rp=qe(([n],e)=>{const t=ab(e);return n.mul(n,t,t).negate().exp().oneMinus()}),V8=qe(([n,e])=>It(e.toFloat().mix(Io.rgb,n.toVec3()),Io.a));function Zte(n,e,t){return console.warn('THREE.TSL: "rangeFog( color, near, far )" is deprecated. Use "fog( color, rangeFogFactor( near, far ) )" instead.'),V8(n,Tp(e,t))}function Qte(n,e){return console.warn('THREE.TSL: "densityFog( color, density )" is deprecated. Use "fog( color, densityFogFactor( density ) )" instead.'),V8(n,Rp(e))}let Ms=null,xs=null;class Jte extends Ut{static get type(){return"RangeNode"}
3876constructor(e=te(),t=te()){super(),this.minNode=e,this.maxNode=t}getVectorLength(e){const t=e.getTypeLength(U3(this.minNode.value)),i=e.getTypeLength(U3(this.maxNode.value));return t>i?t:i}getNodeType(e){return e.object.count>1?e.getTypeFromLength(this.getVectorLength(e)):"float"}setup(e){const t=e.object;let i=null;if(t.count>1){const r=this.minNode.value,s=this.maxNode.value,a=e.getTypeLength(U3(r)),o=e.getTypeLength(U3(s));Ms=Ms||new wt,xs=xs||new wt,Ms.setScalar(0),xs.setScalar(0),a===1?Ms.setScalar(r):r.isColor?Ms.set(r.r,r.g,r.b,1):Ms.set(r.x,r.y,r.z||0,r.w||0),o===1?xs.setScalar(s):s.isColor?xs.set(s.r,s.g,s.b,1):xs.set(s.x,s.y,s.z||0,s.w||0);const l=4,u=l*t.count,d=new Float32Array(u);for(let _=0;_<u;_++){const g=_%l,M=Ms.getComponent(g),N=xs.getComponent(g);d[_]=r4.lerp(M,N,Math.random())}const q=this.getNodeType(e);if(t.count<=4096)i=u5(d,"vec4",t.count).element(W3).convert(q);else{const _=new k3(d,4);e.geometry.setAttribute("__range"+this.id,_),i=x9(_).convert(q)}}else i=te(0);return i}}const e1e=De(Jte).setParameterLength(2);class t1e extends Ut{static get type(){return"ComputeBuiltinNode"}constructor(e,t){super(t),this._builtinName=e}getHash(e){return this.getBuiltinName(e)}getNodeType(){return this.nodeType}setBuiltinName(e){return this._builtinName=e,this}getBuiltinName(){return this._builtinName}hasBuiltin(e){return e.hasBuiltin(this._builtinName)}generate(e,t){const i=this.getBuiltinName(e),r=this.getNodeType(e);return e.shaderStage==="compute"?e.format(i,r,t):(console.warn(`ComputeBuiltinNode: Compute built-in value ${i} can not be accessed in the ${e.shaderStage} stage`),e.generateConst(r))}serialize(e){super.serialize(e),e.global=this.global,e._builtinName=this._builtinName}deserialize(e){super.deserialize(e),this.global=e.global,this._builtinName=e._builtinName}}const m5=(n,e)=>Ie(new t1e(n,e)),n1e=m5("numWorkgroups","uvec3"),i1e=m5("workgroupId","uvec3"),r1e=m5("globalId","uvec3"),s1e=m5("localId","uvec3"),a1e=m5("subgroupSize","uint");class o1e extends Ut{constructor(e){super(),this.scope=e}generate(e){const{scope:t}=this,{renderer:i}=e;i.backend.isWebGLBackend===!0?e.addFlowCode(` // ${t}Barrier 3877`):e.addLineFlowCode(`${t}Barrier()`,this)}}const bp=De(o1e),l1e=()=>bp("workgroup").toStack(),u1e=()=>bp("storage").toStack(),c1e=()=>bp("texture").toStack();class A1e extends Ea{constructor(e,t){super(e,t),this.isWorkgroupInfoElementNode=!0}generate(e,t){let i;const r=e.context.assign;if(i=super.generate(e),r!==!0){const s=this.getNodeType(e);i=e.format(i,s,t)}return i}}class h1e extends Ut{constructor(e,t,i=0){super(t),this.bufferType=t,this.bufferCount=i,this.isWorkgroupInfoNode=!0,this.elementType=t,this.scope=e}label(e){return this.name=e,this}setScope(e){return this.scope=e,this}getElementType(){return this.elementType}getInputType(){return`${this.scope}Array`}element(e){return Ie(new A1e(this,e))}generate(e){return e.getScopedArray(this.name||`${this.scope}Array_${this.id}`,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const f1e=(n,e)=>Ie(new h1e("Workgroup",n,e));class fi extends Ut{static get type(){return"AtomicFunctionNode"}constructor(e,t,i){super("uint"),this.method=e,this.pointerNode=t,this.valueNode=i,this.parents=!0}getInputType(e){return this.pointerNode.getNodeType(e)}getNodeType(e){return this.getInputType(e)}generate(e){const t=e.getNodeProperties(this),i=t.parents,r=this.method,s=this.getNodeType(e),a=this.getInputType(e),o=this.pointerNode,l=this.valueNode,u=[];u.push(`&${o.build(e,a)}`),l!==null&&u.push(l.build(e,a));const d=`${e.getMethod(r,s)}( ${u.join(", ")} )`;if(i.length===1&&i[0].isStackNode===!0)e.addLineFlowCode(d,this);else return t.constNode===void 0&&(t.constNode=s3(d,s).toConst()),t.constNode.build(e)}}fi.ATOMIC_LOAD="atomicLoad";fi.ATOMIC_STORE="atomicStore";fi.ATOMIC_ADD="atomicAdd";fi.ATOMIC_SUB="atomicSub";fi.ATOMIC_MAX="atomicMax";fi.ATOMIC_MIN="atomicMin";fi.ATOMIC_AND="atomicAnd";fi.ATOMIC_OR="atomicOr";fi.ATOMIC_XOR="atomicXor";const d1e=De(fi),b2=(n,e,t)=>d1e(n,e,t).toStack(),q1e=n=>b2(fi.ATOMIC_LOAD,n,null),p1e=(n,e)=>b2(fi.ATOMIC_STORE,n,e),_1e=(n,e)=>b2(fi.ATOMIC_ADD,n,e),m1e=(n,e)=>b2(fi.ATOMIC_SUB,n,e),g1e=(n,e)=>b2(fi.ATOMIC_MAX,n,e),E1e=(n,e)=>b2(fi.ATOMIC_MIN,n,e),M1e=(n,e)=>b2(fi.ATOMIC_AND,n,e),x1e=(n,e)=>b2(fi.ATOMIC_OR,n,e),S1e=(n,e)=>b2(fi.ATOMIC_XOR,n,e);let Dl;function Ou(n){Dl=Dl||new WeakMap;let e=Dl.get(n);return e===void 0&&Dl.set(n,e={}),e}function Ip(n){const e=Ou(n);return e.shadowMatrix||(e.shadowMatrix=Pt("mat4").setGroup(Ct).onRenderUpd
3877ate(t=>((n.castShadow!==!0||t.renderer.shadowMap.enabled===!1)&&n.shadow.updateMatrices(n),n.shadow.matrix)))}function ob(n,e=X2){const t=Ip(n).mul(e);return t.xyz.div(t.w)}function Pp(n){const e=Ou(n);return e.position||(e.position=Pt(new Z).setGroup(Ct).onRenderUpdate((t,i)=>i.value.setFromMatrixPosition(n.matrixWorld)))}function lb(n){const e=Ou(n);return e.targetPosition||(e.targetPosition=Pt(new Z).setGroup(Ct).onRenderUpdate((t,i)=>i.value.setFromMatrixPosition(n.target.matrixWorld)))}function Lp(n){const e=Ou(n);return e.viewPosition||(e.viewPosition=Pt(new Z).setGroup(Ct).onRenderUpdate(({camera:t},i)=>{i.value=i.value||new Z,i.value.setFromMatrixPosition(n.matrixWorld),i.value.applyMatrix4(t.matrixWorldInverse)}))}const Dp=n=>Rr.transformDirection(Pp(n).sub(lb(n))),y1e=n=>n.sort((e,t)=>e.id-t.id),N1e=(n,e)=>{for(const t of e)if(t.isAnalyticLightNode&&t.light.id===n)return t;return null},TA=new WeakMap,p6=[];class Cp extends Ut{static get type(){return"LightsNode"}constructor(){super("vec3"),this.totalDiffuseNode=he().toVar(),this.totalSpecularNode=he().toVar(),this.outgoingLightNode=he().toVar(),this._lights=[],this._lightNodes=null,this._lightNodesHash=null,this.global=!0}customCacheKey(){const e=this._lights;for(let i=0;i<e.length;i++){const r=e[i];if(p6.push(r.id),p6.push(r.castShadow?1:0),r.isSpotLight===!0){const s=r.map!==null?r.map.id:-1,a=r.colorNode?r.colorNode.getCacheKey():-1;p6.push(s,a)}}const t=nu(p6);return p6.length=0,t}getHash(e){if(this._lightNodesHash===null){this._lightNodes===null&&this.setupLightsNode(e);const t=[];for(const i of this._lightNodes)t.push(i.getSelf().getHash());this._lightNodesHash="lights-"+t.join(",")}return this._lightNodesHash}analyze(e){const t=e.getNodeProperties(this);for(const i of t.nodes)i.build(e);t.outputNode.build(e)}setupLightsNode(e){const t=[],i=this._lightNodes,r=y1e(this._lights),s=e.renderer.library;for(const a of r)if(a.isNode)t.push(Ie(a));else{let o=null;if(i!==null&&(o=N1e(a.id,i)),o===null){const l=s.getLightNodeClass(a.constructor);if(l===null){console.warn(`LightsNode.setupNodeLights: Light node not found for ${a.constructor.name}`);continue}let u=null;TA.has(a)?u=TA.get(a):(u=Ie(new l(a)),TA.set(a,u)),t.push(u)}}this._lightNodes=t}setupDirectLight(e,t,i){const{lightingModel:r,reflectedLight:s}=e.context;r.direct({...i,lightNode:t,reflectedLight:s},e)}setupDirectRectAreaLight(e,t,i){const{lightingModel:r,reflectedLight:s}=e.context;r.directRectArea({...i,lightNode:t,reflectedLight:s},e)}setupLights(e,t){for(const i of t)i.build(e)}getLightNodes(e){return this._lightNodes===null&&this.setupLightsNode(e),this._lightNodes}setup(e){const t=e.lightsNode;e.lightsNode=this;let i=this.outgoingLightNode;const r=e.context,s=r.lightingModel,a=e.getNodeProperties(this);if(s){const{totalDiffuseNode:o,totalSpecularNode:l}=this;r.outgoingLight=i;const u=e.addStack();a.nodes=u.nodes,s.start(e);const{backdrop:d,backdropAlpha:q}=r,{directDiffuse:_,directSpecular:g,indirectDiffuse:M,indirectSpecular:N}=r.reflectedLight;let y=_.add(M);d!==null&&(q!==null?y=he(q.mix(y,d)):y=he(d),r.material.transparent=!0),o.assign(y),l.assign(g.add(N)),i.assign(o.add(l)),s.finish(e),i=i.bypass(e.removeStack())}else a.nodes=[];return e.lightsNode=t,i}setLights(e){return this._lights=e,this._lightNodes=null,this._lightNodesHash=null,this}getLights(){return this._lights}get hasLights(){return this._lights.length>0}}const v1e=(n=[])=>Ie(new Cp).setLights(n);class O1e extends Ut{static get type(){return"ShadowBaseNode"}constructor(e){super(),this.light=e,this.updateBeforeType=p1.RENDER,this.isShadowBaseNode=!0}setupShadowPosition({context:e,material:t}){wp.assign(t.receivedShadowPositionNode||e.shadowPositionWorld||X2)}}const wp=D4("vec3","shadowPositionWorld");function T1e(n,e={}){return e.toneMapping=n.toneMapping,e.toneMappingExposure=n.toneMappingExposure,e.outputColorSpace=n.outputColorSpace,e.renderTarget=n.getRenderTarget(),e.activeCubeFace=n.getActiveCubeFace(),e.activeMipmapLevel=n.getActiveMipmapLevel(),e.renderObjectFunction=n.getRenderObjectFunction(),e.pixelRatio=n.getPixelRatio(),e.mrt=n.getMRT(),e.clearColor=n.getClearColor(e.clearColor||new Nt),e.clearAlpha=n.getClearAlpha(),e.autoClear=n.autoClear,e.scissorTest=n.getScissorTest(),e}function R1e(n,e){return e=T1e(n,e),n.setMRT(null),n.setRenderObjectFunction(null),n.setClearColor(0,1),n.autoClear=!0,e}function b1e(n,e){n.toneMapping=e.toneMapping,n.toneMappingExposure=e.toneMappingExposure,n.outputColorSpace
vendor: 8,058 bytes, line 3877
3877=e.outputColorSpace,n.setRenderTarget(e.renderTarget,e.activeCubeFace,e.activeMipmapLevel),n.setRenderObjectFunction(e.renderObjectFunction),n.setPixelRatio(e.pixelRatio),n.setMRT(e.mrt),n.setClearColor(e.clearColor,e.clearAlpha),n.autoClear=e.autoClear,n.setScissorTest(e.scissorTest)}function I1e(n,e={}){return e.background=n.background,e.backgroundNode=n.backgroundNode,e.overrideMaterial=n.overrideMaterial,e}function P1e(n,e){return e=I1e(n,e),n.background=null,n.backgroundNode=null,n.overrideMaterial=null,e}function L1e(n,e){n.background=e.background,n.backgroundNode=e.backgroundNode,n.overrideMaterial=e.overrideMaterial}function D1e(n,e,t){return t=R1e(n,t),t=P1e(e,t),t}function C1e(n,e,t){b1e(n,t),L1e(e,t)}const bM=new WeakMap,ub=qe(({depthTexture:n,shadowCoord:e,depthLayer:t})=>{let i=S1(n,e.xy).label("t_basic");return n.isArrayTexture&&(i=i.depth(t)),i.compare(e.z)}),cb=qe(({depthTexture:n,shadowCoord:e,shadow:t,depthLayer:i})=>{const r=(y,S)=>{let R=S1(n,y);return n.isArrayTexture&&(R=R.depth(i)),R.compare(S)},s=rn("mapSize","vec2",t).setGroup(Ct),a=rn("radius","float",t).setGroup(Ct),o=Ue(1).div(s),l=o.x.negate().mul(a),u=o.y.negate().mul(a),d=o.x.mul(a),q=o.y.mul(a),_=l.div(2),g=u.div(2),M=d.div(2),N=q.div(2);return Yn(r(e.xy.add(Ue(l,u)),e.z),r(e.xy.add(Ue(0,u)),e.z),r(e.xy.add(Ue(d,u)),e.z),r(e.xy.add(Ue(_,g)),e.z),r(e.xy.add(Ue(0,g)),e.z),r(e.xy.add(Ue(M,g)),e.z),r(e.xy.add(Ue(l,0)),e.z),r(e.xy.add(Ue(_,0)),e.z),r(e.xy,e.z),r(e.xy.add(Ue(M,0)),e.z),r(e.xy.add(Ue(d,0)),e.z),r(e.xy.add(Ue(_,N)),e.z),r(e.xy.add(Ue(0,N)),e.z),r(e.xy.add(Ue(M,N)),e.z),r(e.xy.add(Ue(l,q)),e.z),r(e.xy.add(Ue(0,q)),e.z),r(e.xy.add(Ue(d,q)),e.z)).mul(1/17)}),Ab=qe(({depthTexture:n,shadowCoord:e,shadow:t,depthLayer:i})=>{const r=(q,_)=>{let g=S1(n,q);return n.isArrayTexture&&(g=g.depth(i)),g.compare(_)},s=rn("mapSize","vec2",t).setGroup(Ct),a=Ue(1).div(s),o=a.x,l=a.y,u=e.xy,d=c3(u.mul(s).add(.5));return u.subAssign(d.mul(a)),Yn(r(u,e.z),r(u.add(Ue(o,0)),e.z),r(u.add(Ue(0,l)),e.z),r(u.add(a),e.z),H1(r(u.add(Ue(o.negate(),0)),e.z),r(u.add(Ue(o.mul(2),0)),e.z),d.x),H1(r(u.add(Ue(o.negate(),l)),e.z),r(u.add(Ue(o.mul(2),l)),e.z),d.x),H1(r(u.add(Ue(0,l.negate())),e.z),r(u.add(Ue(0,l.mul(2))),e.z),d.y),H1(r(u.add(Ue(o,l.negate())),e.z),r(u.add(Ue(o,l.mul(2))),e.z),d.y),H1(H1(r(u.add(Ue(o.negate(),l.negate())),e.z),r(u.add(Ue(o.mul(2),l.negate())),e.z),d.x),H1(r(u.add(Ue(o.negate(),l.mul(2))),e.z),r(u.add(Ue(o.mul(2),l.mul(2))),e.z),d.x),d.y)).mul(1/9)}),hb=qe(({depthTexture:n,shadowCoord:e,depthLayer:t})=>{const i=te(1).toVar();let r=S1(n).sample(e.xy);n.isArrayTexture&&(r=r.depth(t)),r=r.rg;const s=hu(e.z,r.x);return c1(s.notEqual(te(1)),()=>{const a=e.z.sub(r.x),o=Dn(0,r.y.mul(r.y));let l=o.div(o.add(a.mul(a)));l=M2(b1(l,.3).div(.95-.3)),i.assign(M2(Dn(s,l)))}),i}),w1e=qe(([n,e,t])=>{let i=X2.sub(n).length();return i=i.sub(e).div(t.sub(e)),i=i.saturate(),i}),B1e=n=>{const e=n.shadow.camera,t=rn("near","float",e).setGroup(Ct),i=rn("far","float",e).setGroup(Ct),r=JO(n);return w1e(r,t,i)},fb=n=>{let e=bM.get(n);if(e===void 0){const t=n.isPointLight?B1e(n):null;e=new kn,e.colorNode=It(0,0,0,1),e.depthNode=t,e.isShadowPassMaterial=!0,e.name="ShadowMaterial",e.fog=!1,bM.set(n,e)}return e},IM=new F0,no=[],db=(n,e,t,i)=>{no[0]=n,no[1]=e;let r=IM.get(no);return(r===void 0||r.shadowType!==t||r.useVelocity!==i)&&(r=(s,a,o,l,u,d,...q)=>{(s.castShadow===!0||s.receiveShadow&&t===Ur)&&(i&&(cv(s).useVelocity=!0),s.onBeforeShadow(n,s,o,e.camera,l,a.overrideMaterial,d),n.renderObject(s,a,o,l,u,d,...q),s.onAfterShadow(n,s,o,e.camera,l,a.overrideMaterial,d))},r.shadowType=t,r.useVelocity=i,IM.set(no,r)),no[0]=null,no[1]=null,r},U1e=qe(({samples:n,radius:e,size:t,shadowPass:i,depthLayer:r})=>{const s=te(0).toVar("meanVertical"),a=te(0).toVar("squareMeanVertical"),o=n.lessThanEqual(te(1)).select(te(0),te(2).div(n.sub(1))),l=n.lessThanEqual(te(1)).select(te(0),te(-1));K1({start:le(0),end:le(n),type:"int",condition:"<"},({i:d})=>{const q=l.add(te(d).mul(o));let _=i.sample(Yn(_5.xy,Ue(0,q).mul(e)).div(t));i.value.isArrayTexture&&(_=_.depth(r)),_=_.x,s.addAssign(_),a.addAssign(_.mul(_))}),s.divAssign(n),a.divAssign(n);const u=R2(a.sub(s.mul(s)));return Ue(s,u)}),F1e=qe(({samples:n,radius:e,size:t,shadowPass:i,depthLayer:r})=>{const s=te(0).toVar("meanHorizontal"),a=te(0).toVar("squareMeanHorizontal"),o=n.lessThanEqual(te(1)).select(te(0),te(2).div(n.sub(1))),l=n.lessThanEqual(te(1)).select(te(0),te(-1));K1({start:le(0),end:le(n),type:"int",condition:"<"},({i:d})=>{const q=l.add(te(d).mul(o));let _=i.sample(Yn(_5.xy,Ue(q,0).mul(e)).div(t));i.value.isArrayTexture&&(_=_.depth(r)),s.addAssign(_.x),a.addAssign(Yn(_.y.mul(_.y),_.x.mul(_.x)))}),s.divAssign(n),a.divAssign(n);const u=R2(a.sub(s.mul(s)));return Ue(s,u)}),G1e=[ub,cb,Ab,hb];let RA;const Cl=new Nu;class qb extends O1e{static get type(){return"ShadowNode"}constructor(e,t=null){super(e),this.shadow=t||e.shadow,this.shadowMap=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this._node=null,this._cameraFrameId=new WeakMap,this.isShadowNode=!0,this.depthLayer=0}setupShadowFilter(e,{filterFn:t,depthTexture:i,shadowCoord:r,shadow:s,depthLayer:a}){const o=r.x.greaterThanEqual(0).and(r.x.lessThanEqual(1)).and(r.y.greaterThanEqual(0)).and(r.y.lessThanEqual(1)).and(r.z.lessThanEqual(1)),l=t({depthTexture:i,shadowCoord:r,shadow:s,depthLayer:a});return o.select(l,te(1))}setupShadowCoord(e,t){const{shadow:i}=this,{renderer:r}=e,s=rn("bias","float",i).setGroup(Ct);let a=t,o;if(i.camera.isOrthographicCamera||r.logarithmicDepthBuffer!==!0)a=a.xyz.div(a.w),o=a.z,r.coordinateSystem===m2&&(o=o.mul(2).sub(1));else{const l=a.w;a=a.xy.div(l);const u=rn("near","float",i.camera).setGroup(Ct),d=rn("far","float",i.camera).setGroup(Ct);o=pp(l.negate(),u,d)}return a=he(a.x,a.y.oneMinus(),o.add(s)),a}getShadowFilterFn(e){return G1e[e]}setupRenderTarget(e,t){const i=new $r(e.mapSize.width,e.mapSize.height);i.name="ShadowDepthTexture",i.compareFunction=z9;const r=t.createRenderTarget(e.mapSize.width,e.mapSize.height);return r.texture.name="ShadowMap",r.texture.type=e.mapType,r.depthTexture=i,{shadowMap:r,depthTexture:i}}setupShadow(e){const{renderer:t}=e,{light:i,shadow:r}=this,s=t.shadowMap.type,{depthTexture:a,shadowMap:o}=this.setupRenderTarget(r,e);if(r.camera.updateProjectionMatrix(),s===Ur&&r.isPointLightShadow!==!0){a.compareFunction=null,o.depth>1?(o._vsmShadowMapVertical||(o._vsmShadowMapVertical=e.createRenderTarget(r.mapSize.width,r.mapSize.height,{format:K2,type:Jn,depth:o.depth,depthBuffer:!1}),o._vsmShadowMapVertical.texture.name="VSMVertical"),this.vsmShadowMapVertical=o._vsmShadowMapVertical,o._vsmShadowMapHorizontal||(o._vsmShadowMapHorizontal=e.createRenderTarget(r.mapSize.width,r.mapSize.height,{format:K2,type:Jn,depth:o.depth,depthBuffer:!1}),o._vsmShadowMapHorizontal.texture.name="VSMHorizontal"),this.vsmShadowMapHorizontal=o._vsmShadowMapHorizontal):(this.vsmShadowMapVertical=e.createRenderTarget(r.mapSize.width,r.mapSize.height,{format:K2,type:Jn,depthBuffer:!1}),this.vsmShadowMapHorizontal=e.createRenderTarget(r.mapSize.width,r.mapSize.height,{format:K2,type:Jn,depthBuffer:!1}));let S=S1(a);a.isArrayTexture&&(S=S.depth(this.depthLayer));let R=S1(this.vsmShadowMapVertical.texture);a.isArrayTexture&&(R=R.depth(this.depthLayer));const O=rn("blurSamples","float",r).setGroup(Ct),b=rn("radius","float",r).setGroup(Ct),D=rn("mapSize","vec2",r).setGroup(Ct);let B=this.vsmMaterialVertical||(this.vsmMaterialVertical=new kn);B.fragmentNode=U1e({samples:O,radius:b,size:D,shadowPass:S,depthLayer:this.depthLayer}).context(e.getSharedContext()),B.name="VSMVertical",B=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new kn),B.fragmentNode=F1e({samples:O,radius:b,size:D,shadowPass:R,depthLayer:this.depthLayer}).context(e.getSharedContext()),B.name="VSMHorizontal"}const l=rn("intensity","float",r).setGroup(Ct),u=rn("normalBias","float",r).setGroup(Ct),d=Ip(i).mul(wp.add(mu.mul(u))),q=this.setupShadowCoord(e,d),_=r.filterNode||this.get
3877ShadowFilterFn(t.shadowMap.type)||null;if(_===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const g=s===Ur&&r.isPointLightShadow!==!0?this.vsmShadowMapHorizontal.texture:a,M=this.setupShadowFilter(e,{filterFn:_,shadowTexture:o.texture,depthTexture:g,shadowCoord:q,shadow:r,depthLayer:this.depthLayer});let N=S1(o.texture,q);a.isArrayTexture&&(N=N.depth(this.depthLayer));const y=H1(1,M.rgb.mix(N,1),l.mul(N.a)).toVar();return this.shadowMap=o,this.shadow.map=o,y}setup(e){if(e.renderer.shadowMap.enabled!==!1)return qe(()=>{let t=this._node;return this.setupShadowPosition(e),t===null&&(this._node=t=this.setupShadow(e)),e.material.shadowNode&&console.warn('THREE.NodeMaterial: ".shadowNode" is deprecated. Use ".castShadowNode" instead.'),e.material.receivedShadowNode&&(t=e.material.receivedShadowNode(t)),t})()}renderShadow(e){const{shadow:t,shadowMap:i,light:r}=this,{renderer:s,scene:a}=e;t.updateMatrices(r),i.setSize(t.mapSize.width,t.mapSize.height,i.depth),s.render(a,t.camera)}updateShadow(e){const{shadowMap:t,light:i,shadow:r}=this,{renderer:s,scene:a,camera:o}=e,l=s.shadowMap.type,u=t.depthTexture.version;this._depthVersionCached=u;const d=r.camera.layers.mask;r.camera.layers.mask&4294967294||(r.camera.layers.mask=o.layers.mask);const q=s.getRenderObjectFunction(),_=s.getMRT(),g=_?_.has("velocity"):!1;RA=D1e(s,a,RA),a.overrideMaterial=fb(i),s.setRenderObjectFunction(db(s,r,l,g)),s.setClearColor(0,0),s.setRenderTarget(t),this.renderShadow(e),s.setRenderObjectFunction(q),l===Ur&&r.isPointLightShadow!==!0&&this.vsmPass(s),r.camera.layers.mask=d,C1e(s,a,RA)}vsmPass(e){const{shadow:t}=this,i=this.shadowMap.depth;this.vsmShadowMapVertical.setSize(t.mapSize.width,t.mapSize.height,i),this.vsmShadowMapHorizontal.setSize(t.mapSize.width,t.mapSize.height,i),e.setRenderTarget(this.vsmShadowMapVertical),Cl.material=this.vsmMaterialVertical,Cl.render(e),e.setRenderTarget(this.vsmShadowMapHorizontal),Cl.material=this.vsmMaterialHorizontal,Cl.render(e)}dispose(){this.shadowMap.dispose(),this.shadowMap=null,this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null),super.dispose()}updateBefore(e){const{shadow:t}=this;let i=t.needsUpdate||t.autoUpdate;i&&(this._cameraFrameId[e.camera]===e.frameId&&(i=!1),this._cameraFrameId[e.camera]=e.frameId),i&&(this.updateShadow(e),this.shadowMap.depthTexture.version===this._depthVersionCached&&(t.needsUpdate=!1))}}const pb=(n,e)=>Ie(new qb(n,e)),V1e=new Nt,v0=qe(([n,e])=>{const t=n.toVar(),i=An(t),r=d0(1,Dn(i.x,Dn(i.y,i.z)));i.mulAssign(r),t.mulAssign(r.mul(e.mul(2).oneMinus()));const s=Ue(t.xy).toVar(),o=e.mul(1.5).oneMinus();return c1(i.z.greaterThanEqual(o),()=>{c1(t.z.greaterThan(0),()=>{s.x.assign(b1(4,t.x))})}).ElseIf(i.x.greaterThanEqual(o),()=>{const l=F8(t.x);s.x.assign(t.z.mul(l).add(l.mul(2)))}).ElseIf(i.y.greaterThanEqual(o),()=>{const l=F8(t.y);s.x.assign(t.x.add(l.mul(2)).add(2)),s.y.assign(t.z.mul(l).sub(2))}),Ue(.125,.25).mul(s).add(Ue(.375,.75)).flipY()}).setLayout({name:"cubeToUV",type:"vec2",inputs:[{name:"pos",type:"vec3"},{name:"texelSizeY",type:"float"}]}),_b=qe(({depthTexture:n,bd3D:e,dp:t,texelSize:i})=>S1(n,v0(e,i.y)).compare(t)),mb=qe(({depthTexture:n,bd3D:e,dp:t,texelSize:i,shadow:r})=>{const s=rn("radius","float",r).setGroup(Ct),a=Ue(-1,1).mul(s).mul(i.y);return S1(n,v0(e.add(a.xyy),i.y)).compare(t).add(S1(n,v0(e.add(a.yyy),i.y)).compare(t)).add(S1(n,v0(e.add(a.xyx),i.y)).compare(t)).add(S1(n,v0(e.add(a.yyx),i.y)).compare(t)).add(S1(n,v0(e,i.y)).compare(t)).add(S1(n,v0(e.add(a.xxy),i.y)).compare(t)).add(S1(n,v0(e.add(a.yxy),i.y)).compare(t)).add(S1(n,v0(e.add(a.xxx),i.y)).compare(t)).add(S1(n,v0(e.add(a.yxx),i.y)).compare(t)).mul(1/9)}),k1e=qe(({filterFn:n,depthTexture:e,shadowCoord:t,shadow:i})=>{const r=t.xyz.toVar(),s=r.length(),a=Pt("float").setGroup(Ct).onRenderUpd
vendor: 8,668 bytes, line 3877
3877ate(()=>i.camera.near),o=Pt("float").setGroup(Ct).onRenderUpdate(()=>i.camera.far),l=rn("bias","float",i).setGroup(Ct),u=Pt(i.mapSize).setGroup(Ct),d=te(1).toVar();return c1(s.sub(o).lessThanEqual(0).and(s.sub(a).greaterThanEqual(0)),()=>{const q=s.sub(a).div(o.sub(a)).toVar();q.addAssign(l);const _=r.normalize(),g=Ue(1).div(u.mul(Ue(4,2)));d.assign(n({depthTexture:e,bd3D:_,dp:q,texelSize:g,shadow:i}))}),d}),PM=new wt,io=new Ce,_6=new Ce;class z1e extends qb{static get type(){return"PointShadowNode"}constructor(e,t=null){super(e,t)}getShadowFilterFn(e){return e===tw?_b:mb}setupShadowCoord(e,t){return t}setupShadowFilter(e,{filterFn:t,shadowTexture:i,depthTexture:r,shadowCoord:s,shadow:a}){return k1e({filterFn:t,shadowTexture:i,depthTexture:r,shadowCoord:s,shadow:a})}renderShadow(e){const{shadow:t,shadowMap:i,light:r}=this,{renderer:s,scene:a}=e,o=t.getFrameExtents();_6.copy(t.mapSize),_6.multiply(o),i.setSize(_6.width,_6.height),io.copy(t.mapSize);const l=s.autoClear,u=s.getClearColor(V1e),d=s.getClearAlpha();s.autoClear=!1,s.setClearColor(t.clearColor,t.clearAlpha),s.clear();const q=t.getViewportCount();for(let _=0;_<q;_++){const g=t.getViewport(_),M=io.x*g.x,N=_6.y-io.y-io.y*g.y;PM.set(M,N,io.x*g.z,io.y*g.w),i.viewport.copy(PM),t.updateMatrices(r,_),s.render(a,t.camera)}s.autoClear=l,s.setClearColor(u,d)}}const gb=(n,e)=>Ie(new z1e(n,e));class ya extends C4{static get type(){return"AnalyticLightNode"}constructor(e=null){super(),this.light=e,this.color=new Nt,this.colorNode=e&&e.colorNode||Pt(this.color).setGroup(Ct),this.baseColorNode=null,this.shadowNode=null,this.shadowColorNode=null,this.isAnalyticLightNode=!0,this.updateType=p1.FRAME}getHash(){return this.light.uuid}getLightVector(e){return Lp(this.light).sub(e.context.positionView||Hn)}setupDirect(){}setupDirectRectArea(){}setupShadowNode(){return pb(this.light)}setupShadow(e){const{renderer:t}=e;if(t.shadowMap.enabled===!1)return;let i=this.shadowColorNode;if(i===null){const r=this.light.shadow.shadowNode;let s;r!==void 0?s=Ie(r):s=this.setupShadowNode(),this.shadowNode=s,this.shadowColorNode=i=this.colorNode.mul(s),this.baseColorNode=this.colorNode}this.colorNode=i}setup(e){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?e.object.receiveShadow&&this.setupShadow(e):this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null,this.shadowColorNode=null);const t=this.setupDirect(e),i=this.setupDirectRectArea(e);t&&e.lightsNode.setupDirectLight(e,this,t),i&&e.lightsNode.setupDirectRectAreaLight(e,this,i)}update(){const{light:e}=this;this.color.copy(e.color).multiplyScalar(e.intensity)}}const Bp=qe(({lightDistance:n,cutoffDistance:e,decayExponent:t})=>{const i=n.pow(t).max(.01).reciprocal();return e.greaterThan(0).select(i.mul(n.div(e).pow4().oneMinus().clamp().pow2()),i)}),Eb=({color:n,lightVector:e,cutoffDistance:t,decayExponent:i})=>{const r=e.normalize(),s=e.length(),a=Bp({lightDistance:s,cutoffDistance:t,decayExponent:i}),o=n.mul(a);return{lightDirection:r,lightColor:o}};class W1e extends ya{static get type(){return"PointLightNode"}constructor(e=null){super(e),this.cutoffDistanceNode=Pt(0).setGroup(Ct),this.decayExponentNode=Pt(2).setGroup(Ct)}update(e){const{light:t}=this;super.update(e),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}setupShadowNode(){return gb(this.light)}setupDirect(e){return Eb({color:this.colorNode,lightVector:this.getLightVector(e),cutoffDistance:this.cutoffDistanceNode,decayExponent:this.decayExponentNode})}}const H1e=qe(([n=xn()])=>{const e=n.mul(2),t=e.x.floor(),i=e.y.floor();return t.add(i).mod(2).sign()}),K1e=qe(([n=xn()],{renderer:e,material:t})=>{const i=Xq(n.mul(2).sub(1));let r;if(t.alphaToCoverage&&e.samples>1){const s=te(i.fwidth()).toVar();r=x2(s.oneMinus(),s.add(1),i).oneMinus()}else r=ui(i.greaterThan(1),0,1);return r}),Z6=qe(([n,e,t])=>{const i=te(t).toVar(),r=te(e).toVar(),s=E2(n).toVar();return ui(s,r,i)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),v9=qe(([n,e])=>{const t=E2(e).toVar(),i=te(n).toVar();return ui(t,i.negate(),i)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),Kn=qe(([n])=>{const e=te(n).toVar();return le(f2(e))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),Mn=qe(([n,e])=>{const t=te(n).toVar();return e.assign(Kn(t)),t.sub(te(e))}),Y1e=qe(([n,e,t,i,r,s])=>{const a=te(s).toVar(),o=te(r).toVar(),l=te(i).toVar(),u=te(t).toVar(),d=te(e).toVar(),q=te(n).toVar(),_=te(b1(1,o)).toVar();return b1(1,a).mul(q.mul(_).add(d.mul(o))).add(a.mul(u.mul(_).add(l.mul(o))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),$1e=qe(([n,e,t,i,r,s])=>{const a=te(s).toVar(),o=te(r).toVar(),l=he(i).toVar(),u=he(t).toVar(),d=he(e).toVar(),q=he(n).toVar(),_=te(b1(1,o)).toVar();return b1(1,a).mul(q.mul(_).add(d.mul(o))).add(a.mul(u.mul(_).add(l.mul(o))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]}),Mb=bi([Y1e,$1e]),j1e=qe(([n,e,t,i,r,s,a,o,l,u,d])=>{const q=te(d).toVar(),_=te(u).toVar(),g=te(l).toVar(),M=te(o).toVar(),N=te(a).toVar(),y=te(s).toVar(),S=te(r).toVar(),R=te(i).toVar(),O=te(t).toVar(),b=te(e).toVar(),D=te(n).toVar(),B=te(b1(1,g)).toVar(),C=te(b1(1,_)).toVar();return te(b1(1,q)).toVar().mul(C.mul(D.mul(B).add(b.mul(g))).add(_.mul(O.mul(B).add(R.mul(g))))).add(q.mul(C.mul(S.mul(B).add(y.mul(g))).add(_.mul(N.mul(B).add(M.mul(g))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),X1e=qe(([n,e,t,i,r,s,a,o,l,u,d])=>{const q=te(d).toVar(),_=te(u).toVar(),g=te(l).toVar(),M=he(o).toVar(),N=he(a).toVar(),y=he(s).toVar(),S=he(r).toVar(),R=he(i).toVar(),O=he(t).toVar(),b=he(e).toVar(),D=he(n).toVar(),B=te(b1(1,g)).toVar(),C=te(b1(1,_)).toVar();return te(b1(1,q)).toVar().mul(C.mul(D.mul(B).add(b.mul(g))).add(_.mul(O.mul(B).add(R.mul(g))))).add(q.mul(C.mul(S.mul(B).add(y.mul(g))).add(_.mul(N.mul(B).add(M.mul(g))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),xb=bi([j1e,X1e]),Z1e=qe(([n,e,t])=>{const i=te(t).toVar(),r=te(e).toVar(),s=ft(n).toVar(),a=ft(s.bitAnd(ft(7))).toVar(),o=te(Z6(a.lessThan(ft(4)),r,i)).toVar(),l=te(u1(2,Z6(a.lessThan(ft(4)),i,r))).toVar();return v9(o,E2(a.bitAnd(ft(1)))).add(v9(l,E2(a.bitAnd(ft(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),Q1e=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=te(e).toVar(),o=ft(n).toVar(),l=ft(o.bitAnd(ft(15))).toVar(),u=te(Z6(l.lessThan(ft(8)),a,s)).toVar(),d=te(Z6(l.lessThan(ft(4)),s,Z6(l.equal(ft(12)).or(l.equal(ft(14))),a,r))).toVar();return v9(u,E2(l.bitAnd(ft(1)))).add(v9(d,E2(l.bitAnd(ft(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),pi=bi([Z1e,Q1e]),J1e=qe(([n,e,t])=>{const i=te(t).toVar(),r=te(e).toVar(),s=L4(n).toVar();return he(pi(s.x,r,i),pi(s.y,r,i),pi(s.z,r,i))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),ene=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=te(e).toVar(),o=L4(n).toVar();return he(pi(o.x,a,s,r),pi(o.y,a,s,r),pi(o.z,a,s,r))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),i0=bi([J1e,ene]),tne=qe(([n])=>{const e=te(n).toVar();return u1(.6616,e)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),nne=qe(([n])=>{const e=te(n).toVar();return u1(.982,e)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),ine=qe(([n])=>{const e=he(n).toVar();return u1(.6616,e)}
vendor: 12,781 bytes, line 3877
3877).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),Sb=bi([tne,ine]),rne=qe(([n])=>{const e=he(n).toVar();return u1(.982,e)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),yb=bi([nne,rne]),Vr=qe(([n,e])=>{const t=le(e).toVar(),i=ft(n).toVar();return i.shiftLeft(t).bitOr(i.shiftRight(le(32).sub(t)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),Nb=qe(([n,e,t])=>{n.subAssign(t),n.bitXorAssign(Vr(t,le(4))),t.addAssign(e),e.subAssign(n),e.bitXorAssign(Vr(n,le(6))),n.addAssign(t),t.subAssign(e),t.bitXorAssign(Vr(e,le(8))),e.addAssign(n),n.subAssign(t),n.bitXorAssign(Vr(t,le(16))),t.addAssign(e),e.subAssign(n),e.bitXorAssign(Vr(n,le(19))),n.addAssign(t),t.subAssign(e),t.bitXorAssign(Vr(e,le(4))),e.addAssign(n)}),g5=qe(([n,e,t])=>{const i=ft(t).toVar(),r=ft(e).toVar(),s=ft(n).toVar();return i.bitXorAssign(r),i.subAssign(Vr(r,le(14))),s.bitXorAssign(i),s.subAssign(Vr(i,le(11))),r.bitXorAssign(s),r.subAssign(Vr(s,le(25))),i.bitXorAssign(r),i.subAssign(Vr(r,le(16))),s.bitXorAssign(i),s.subAssign(Vr(i,le(4))),r.bitXorAssign(s),r.subAssign(Vr(s,le(14))),i.bitXorAssign(r),i.subAssign(Vr(r,le(24))),i}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),zi=qe(([n])=>{const e=ft(n).toVar();return te(e).div(te(ft(le(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),q2=qe(([n])=>{const e=te(n).toVar();return e.mul(e).mul(e).mul(e.mul(e.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),sne=qe(([n])=>{const e=le(n).toVar(),t=ft(ft(1)).toVar(),i=ft(ft(le(3735928559)).add(t.shiftLeft(ft(2))).add(ft(13))).toVar();return g5(i.add(ft(e)),i,i)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),ane=qe(([n,e])=>{const t=le(e).toVar(),i=le(n).toVar(),r=ft(ft(2)).toVar(),s=ft().toVar(),a=ft().toVar(),o=ft().toVar();return s.assign(a.assign(o.assign(ft(le(3735928559)).add(r.shiftLeft(ft(2))).add(ft(13))))),s.addAssign(ft(i)),a.addAssign(ft(t)),g5(s,a,o)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),one=qe(([n,e,t])=>{const i=le(t).toVar(),r=le(e).toVar(),s=le(n).toVar(),a=ft(ft(3)).toVar(),o=ft().toVar(),l=ft().toVar(),u=ft().toVar();return o.assign(l.assign(u.assign(ft(le(3735928559)).add(a.shiftLeft(ft(2))).add(ft(13))))),o.addAssign(ft(s)),l.addAssign(ft(r)),u.addAssign(ft(i)),g5(o,l,u)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),lne=qe(([n,e,t,i])=>{const r=le(i).toVar(),s=le(t).toVar(),a=le(e).toVar(),o=le(n).toVar(),l=ft(ft(4)).toVar(),u=ft().toVar(),d=ft().toVar(),q=ft().toVar();return u.assign(d.assign(q.assign(ft(le(3735928559)).add(l.shiftLeft(ft(2))).add(ft(13))))),u.addAssign(ft(o)),d.addAssign(ft(a)),q.addAssign(ft(s)),Nb(u,d,q),u.addAssign(ft(r)),g5(u,d,q)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),une=qe(([n,e,t,i,r])=>{const s=le(r).toVar(),a=le(i).toVar(),o=le(t).toVar(),l=le(e).toVar(),u=le(n).toVar(),d=ft(ft(5)).toVar(),q=ft().toVar(),_=ft().toVar(),g=ft().toVar();return q.assign(_.assign(g.assign(ft(le(3735928559)).add(d.shiftLeft(ft(2))).add(ft(13))))),q.addAssign(ft(u)),_.addAssign(ft(l)),g.addAssign(ft(o)),Nb(q,_,g),q.addAssign(ft(a)),_.addAssign(ft(s)),g5(q,_,g)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]}),j1=bi([sne,ane,one,lne,une]),cne=qe(([n,e])=>{const t=le(e).toVar(),i=le(n).toVar(),r=ft(j1(i,t)).toVar(),s=L4().toVar();return s.x.assign(r.bitAnd(le(255))),s.y.assign(r.shiftRight(le(8)).bitAnd(le(255))),s.z.assign(r.shiftRight(le(16)).bitAnd(le(255))),s}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),Ane=qe(([n,e,t])=>{const i=le(t).toVar(),r=le(e).toVar(),s=le(n).toVar(),a=ft(j1(s,r,i)).toVar(),o=L4().toVar();return o.x.assign(a.bitAnd(le(255))),o.y.assign(a.shiftRight(le(8)).bitAnd(le(255))),o.z.assign(a.shiftRight(le(16)).bitAnd(le(255))),o}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),r0=bi([cne,Ane]),hne=qe(([n])=>{const e=Ue(n).toVar(),t=le().toVar(),i=le().toVar(),r=te(Mn(e.x,t)).toVar(),s=te(Mn(e.y,i)).toVar(),a=te(q2(r)).toVar(),o=te(q2(s)).toVar(),l=te(Mb(pi(j1(t,i),r,s),pi(j1(t.add(le(1)),i),r.sub(1),s),pi(j1(t,i.add(le(1))),r,s.sub(1)),pi(j1(t.add(le(1)),i.add(le(1))),r.sub(1),s.sub(1)),a,o)).toVar();return Sb(l)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),fne=qe(([n])=>{const e=he(n).toVar(),t=le().toVar(),i=le().toVar(),r=le().toVar(),s=te(Mn(e.x,t)).toVar(),a=te(Mn(e.y,i)).toVar(),o=te(Mn(e.z,r)).toVar(),l=te(q2(s)).toVar(),u=te(q2(a)).toVar(),d=te(q2(o)).toVar(),q=te(xb(pi(j1(t,i,r),s,a,o),pi(j1(t.add(le(1)),i,r),s.sub(1),a,o),pi(j1(t,i.add(le(1)),r),s,a.sub(1),o),pi(j1(t.add(le(1)),i.add(le(1)),r),s.sub(1),a.sub(1),o),pi(j1(t,i,r.add(le(1))),s,a,o.sub(1)),pi(j1(t.add(le(1)),i,r.add(le(1))),s.sub(1),a,o.sub(1)),pi(j1(t,i.add(le(1)),r.add(le(1))),s,a.sub(1),o.sub(1)),pi(j1(t.add(le(1)),i.add(le(1)),r.add(le(1))),s.sub(1),a.sub(1),o.sub(1)),l,u,d)).toVar();return yb(q)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]}),Up=bi([hne,fne]),dne=qe(([n])=>{const e=Ue(n).toVar(),t=le().toVar(),i=le().toVar(),r=te(Mn(e.x,t)).toVar(),s=te(Mn(e.y,i)).toVar(),a=te(q2(r)).toVar(),o=te(q2(s)).toVar(),l=he(Mb(i0(r0(t,i),r,s),i0(r0(t.add(le(1)),i),r.sub(1),s),i0(r0(t,i.add(le(1))),r,s.sub(1)),i0(r0(t.add(le(1)),i.add(le(1))),r.sub(1),s.sub(1)),a,o)).toVar();return Sb(l)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),qne=qe(([n])=>{const e=he(n).toVar(),t=le().toVar(),i=le().toVar(),r=le().toVar(),s=te(Mn(e.x,t)).toVar(),a=te(Mn(e.y,i)).toVar(),o=te(Mn(e.z,r)).toVar(),l=te(q2(s)).toVar(),u=te(q2(a)).toVar(),d=te(q2(o)).toVar(),q=he(xb(i0(r0(t,i,r),s,a,o),i0(r0(t.add(le(1)),i,r),s.sub(1),a,o),i0(r0(t,i.add(le(1)),r),s,a.sub(1),o),i0(r0(t.add(le(1)),i.add(le(1)),r),s.sub(1),a.sub(1),o),i0(r0(t,i,r.add(le(1))),s,a,o.sub(1)),i0(r0(t.add(le(1)),i,r.add(le(1))),s.sub(1),a,o.sub(1)),i0(r0(t,i.add(le(1)),r.add(le(1))),s,a.sub(1),o.sub(1)),i0(r0(t.add(le(1)),i.add(le(1)),r.add(le(1))),s.sub(1),a.sub(1),o.sub(1)),l,u,d)).toVar();return yb(q)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),Fp=bi([dne,qne]),pne=qe(([n])=>{const e=te(n).toVar(),t=le(Kn(e)).toVar();return zi(j1(t))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),_ne=qe(([n])=>{const e=Ue(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar();return zi(j1(t,i))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),mne=qe(([n])=>{const e=he(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar(),r=le(Kn(e.z)).toVar();return zi(j1(t,i,r))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),gne=qe(([n])=>{const e=It(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar(),r=le(Kn(e.z)).toVar(),s=le(Kn(e.w)).toVar();return zi(j1(t,i,r,s))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]}),Ene=bi([pne,_ne,mne,gne]),Mne=qe(([n])=>{const e=te(n).toVar(),t=le(Kn(e)).toVar();return he(zi(j1(t,le(0))),zi(j1(t,le(1))),zi(j1(t,le(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),xne=qe(([n])=>{const e=Ue(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar();return he(zi(j1(t,i,le(0))),zi(j1(t,i,le(1))),zi(j1(t,i,le(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),Sne=qe(([n])=>{const e=he(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar(),r=le(Kn(e.z)).toVar();return he(zi(j1(t,i,r,le(0))),zi(j1(t,i,r,le(1))),zi(j1(t,i,r,le(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),yne=qe(([n])=>{const e=It(n).toVar(),t=le(Kn(e.x)).toVar(),i=le(Kn(e.y)).toVar(),r=le(Kn(e.z)).toVar(),s=le(Kn(e.w)).toVar();return he(zi(j1(t,i,r,s,le(0))),zi(j1(t,i,r,s,le(1))),zi(j1(t,i,r,s,le(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]}),vb=bi([Mne,xne,Sne,yne]),O9=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=le(e).toVar(),o=he(n).toVar(),l=te(0).toVar(),u=te(1).toVar();return K1(a,()=>{l.addAssign(u.mul(Up(o))),u.mulAssign(r),o.mulAssign(s)}),l}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),Ob=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=le(e).toVar(),o=he(n).toVar(),l=he(0).toVar(),u=te(1).toVar();return K1(a,()=>{l.addAssign(u.mul(Fp(o))),u.mulAssign(r),o.mulAssign(s)}),l}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),Nne=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=le(e).toVar(),o=he(n).toVar();return Ue(O9(o,a,s,r),O9(o.add(he(le(19),le(193),le(17))),a,s,r))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),vne=qe(([n,e,t,i])=>{const r=te(i).toVar(),s=te(t).toVar(),a=le(e).toVar(),o=he(n).toVar(),l=he(Ob(o,a,s,r)).toVar(),u=te(O9(o.add(he(le(19),le(193),le(17))),a,s,r)).toVar();return It(l,u)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),One=qe(([n,e,t,i,r,s,a])=>{const o=le(a).toVar(),l=te(s).toVar(),u=le(r).toVar(),d=le(i).toVar(),q=le(t).toVar(),_=le(e).toVar(),g=Ue(n).toVar(),M=he(vb(Ue(_.add(d),q.add(u)))).toVar(),N=Ue(M.x,M.y).toVar();N.subAssign(.5),N.mulAssign(l),N.addAssign(.5);const y=Ue(Ue(te(_),te(q)).add(N)).toVar(),S=Ue(y.sub(g)).toVar();return c1(o.equal(le(2)),()=>An(S.x).add(An(S.y))),c1(o.equal(le(3)),()=>Dn(An(S.x),An(S.y))),es(S,S)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Tne=qe(([n,e,t,i,r,s,a,o,l])=>{const u=le(l).toVar(),d=te(o).toVar(),q=le(a).toVar(),_=le(s).toVar(),g=le(r).toVar(),M=le(i).toVar(),N=le(t).toVar(),y=le(e).toVar(),S=he(n).toVar(),R=he(vb(he(y.add(g),N.add(_),M.add(q)))).toVar();R.subAssign(.5),R.mulAssign(d),R.addAssign(.5);const O=he(he(te(y),te(N),te(M)).add(R)).toVar(),b=he(O.sub(S)).toVar();return c1(u.equal(le(2)),()=>An(b.x).add(An(b.y)).add(An(b.z))),c1(u.equal(le(3)),()=>Dn(An(b.x),An(b.y),An(b.z))),es(b,b)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),w4=bi([One,Tne]),Rne=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=Ue(n).toVar(),a=le().toVar(),o=le().toVar(),l=Ue(Mn(s.x,a),Mn(s.y,o)).toVar(),u=te(1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:d})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:q})=>{const _=te(w4(l,d,q,a,o,r,i)).toVar();u.assign(vr(u,_))})}),c1(i.equal(le(0)),()=>{u.assign(R2(u))}),u}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),bne=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=Ue(n).toVar(),a=le().toVar(),o=le().toVar(),l=Ue(Mn(s.x,a),Mn(s.y,o)).toVar(),u=Ue(1e6,1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:d})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:q})=>{const _=te(w4(l,d,q,a,o,r,i)).toVar();c1(_.lessThan(u.x),()=>{u.y.assign(u.x),u.x.assign(_)}).ElseIf(_.lessThan(u.y),()=>{u.y.assign(_)})})}),c1(i.equal(le(0)),()=>{u.assign(R2(u))}),u}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Ine=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=Ue(n).toVar(),a=le().toVar(),o=le().toVar(),l=Ue(
vendor: 4,283 bytes, line 3877
3877Mn(s.x,a),Mn(s.y,o)).toVar(),u=he(1e6,1e6,1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:d})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:q})=>{const _=te(w4(l,d,q,a,o,r,i)).toVar();c1(_.lessThan(u.x),()=>{u.z.assign(u.y),u.y.assign(u.x),u.x.assign(_)}).ElseIf(_.lessThan(u.y),()=>{u.z.assign(u.y),u.y.assign(_)}).ElseIf(_.lessThan(u.z),()=>{u.z.assign(_)})})}),c1(i.equal(le(0)),()=>{u.assign(R2(u))}),u}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Pne=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=he(n).toVar(),a=le().toVar(),o=le().toVar(),l=le().toVar(),u=he(Mn(s.x,a),Mn(s.y,o),Mn(s.z,l)).toVar(),d=te(1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:q})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:_})=>{K1({start:-1,end:le(1),name:"z",condition:"<="},({z:g})=>{const M=te(w4(u,q,_,g,a,o,l,r,i)).toVar();d.assign(vr(d,M))})})}),c1(i.equal(le(0)),()=>{d.assign(R2(d))}),d}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Lne=bi([Rne,Pne]),Dne=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=he(n).toVar(),a=le().toVar(),o=le().toVar(),l=le().toVar(),u=he(Mn(s.x,a),Mn(s.y,o),Mn(s.z,l)).toVar(),d=Ue(1e6,1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:q})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:_})=>{K1({start:-1,end:le(1),name:"z",condition:"<="},({z:g})=>{const M=te(w4(u,q,_,g,a,o,l,r,i)).toVar();c1(M.lessThan(d.x),()=>{d.y.assign(d.x),d.x.assign(M)}).ElseIf(M.lessThan(d.y),()=>{d.y.assign(M)})})})}),c1(i.equal(le(0)),()=>{d.assign(R2(d))}),d}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Cne=bi([bne,Dne]),wne=qe(([n,e,t])=>{const i=le(t).toVar(),r=te(e).toVar(),s=he(n).toVar(),a=le().toVar(),o=le().toVar(),l=le().toVar(),u=he(Mn(s.x,a),Mn(s.y,o),Mn(s.z,l)).toVar(),d=he(1e6,1e6,1e6).toVar();return K1({start:-1,end:le(1),name:"x",condition:"<="},({x:q})=>{K1({start:-1,end:le(1),name:"y",condition:"<="},({y:_})=>{K1({start:-1,end:le(1),name:"z",condition:"<="},({z:g})=>{const M=te(w4(u,q,_,g,a,o,l,r,i)).toVar();c1(M.lessThan(d.x),()=>{d.z.assign(d.y),d.y.assign(d.x),d.x.assign(M)}).ElseIf(M.lessThan(d.y),()=>{d.z.assign(d.y),d.y.assign(M)}).ElseIf(M.lessThan(d.z),()=>{d.z.assign(M)})})})}),c1(i.equal(le(0)),()=>{d.assign(R2(d))}),d}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Bne=bi([Ine,wne]),Une=qe(([n])=>{const e=n.y,t=n.z,i=he().toVar();return c1(e.lessThan(1e-4),()=>{i.assign(he(t,t,t))}).Else(()=>{let r=n.x;r=r.sub(f2(r)).mul(6).toVar();const s=le($q(r)),a=r.sub(te(s)),o=t.mul(e.oneMinus()),l=t.mul(e.mul(a).oneMinus()),u=t.mul(e.mul(a.oneMinus()).oneMinus());c1(s.equal(le(0)),()=>{i.assign(he(t,u,o))}).ElseIf(s.equal(le(1)),()=>{i.assign(he(l,t,o))}).ElseIf(s.equal(le(2)),()=>{i.assign(he(o,t,u))}).ElseIf(s.equal(le(3)),()=>{i.assign(he(o,l,t))}).ElseIf(s.equal(le(4)),()=>{i.assign(he(u,o,t))}).Else(()=>{i.assign(he(t,o,l))})}),i}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),Fne=qe(([n])=>{const e=he(n).toVar(),t=te(e.x).toVar(),i=te(e.y).toVar(),r=te(e.z).toVar(),s=te(vr(t,vr(i,r))).toVar(),a=te(Dn(t,Dn(i,r))).toVar(),o=te(a.sub(s)).toVar(),l=te().toVar(),u=te().toVar(),d=te().toVar();return d.assign(a),c1(a.greaterThan(0),()=>{u.assign(o.div(a))}).Else(()=>{u.assign(0)}),c1(u.lessThanEqual(0),()=>{l.assign(0)}).Else(()=>{c1(t.greaterThanEqual(a),()=>{l.assign(i.sub(r).div(o))}).ElseIf(i.greaterThanEqual(a),()=>{l.assign(Yn(2,r.sub(t).div(o)))}).Else(()=>{l.assign(Yn(4,t.sub(i).div(o)))}),l.mulAssign(1/6),c1(l.lessThan(0),()=>{l.addAssign(1)})}),he(l,u,d)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),Gne=qe(([n])=>{const e=he(n).toVar(),t=Pq(Vq(e,he(.04045))).toVar(),i=he(e.div(12.92)).toVar(),r=he(P0(Dn(e.add(he(.055)),he(0)).div(1.055),he(2.4))).toVar();return H1(i,r,t)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",input
3877s:[{name:"color",type:"vec3"}]}),Tb=(n,e)=>{n=te(n),e=te(e);const t=Ue(e.dFdx(),e.dFdy()).length().mul(.7071067811865476);return x2(n.sub(t),n.add(t),e)},Rb=(n,e,t,i)=>H1(n,e,t[i].clamp()),Vne=(n,e,t=xn())=>Rb(n,e,t,"x"),kne=(n,e,t=xn())=>Rb(n,e,t,"y"),bb=(n,e,t,i,r)=>H1(n,e,Tb(t,i[r])),zne=(n,e,t,i=xn())=>bb(n,e,t,i,"x"),Wne=(n,e,t,i=xn())=>bb(n,e,t,i,"y"),Hne=(n=1,e=0,t=xn())=>t.mul(n).add(e),Kne=(n,e=1)=>(n=te(n),n.abs().pow(e).mul(n.sign())),Yne=(n,e=1,t=.5)=>te(n).sub(t).mul(e).add(t),$ne=(n=xn(),e=1,t=0)=>Up(n.convert("vec2|vec3")).mul(e).add(t),jne=(n=xn(),e=1,t=0)=>Fp(n.convert("vec2|vec3")).mul(e).add(t),Xne=(n=xn(),e=1,t=0)=>(n=n.convert("vec2|vec3"),It(Fp(n),Up(n.add(Ue(19,73)))).mul(e).add(t)),Zne=(n=xn(),e=1)=>Lne(n.convert("vec2|vec3"),e,le(1)),Qne=(n=xn(),e=1)=>Cne(n.convert("vec2|vec3"),e,le(1)),Jne=(n=xn(),e=1)=>Bne(n.convert("vec2|vec3"),e,le(1)),eie=(n=xn())=>Ene(n.convert("vec2|vec3")),tie=(n=xn(),e=3,t=2,i=.5,r=1)=>O9(n,le(e),t,i).mul(r),nie=(n=xn(),e=3,t=2,i=.5,r=1)=>Nne(n,le(e),t,i).mul(r),iie=(n=xn(),e=3,t=2,i=.5,r=1)=>Ob(n,le(e),t,i).mul(r),rie=(n=xn(),e=3,t=2,i=.5,r=1)=>vne(n,le(e),t,i).mul(r),sie=qe(([n,e,t])=>{const i=r3(n).toVar(),r=b1(te(.5).mul(e.sub(t)),X2).div(i).toVar(),s=b1(te(-.5).mul(e.sub(t)),X2).div(i).toVar(),a=he().toVar();a.x=i.x.greaterThan(te(0)).select(r.x,s.x),a.y=i.y.greaterThan(te(0)).select(r.y,s.y),a.z=i.z.greaterThan(te(0)).select(r.z,s.z);const o=vr(a.x,a.y,a.z).toVar();return X2.add(i.mul(o)).toVar().sub(t)}),Ib=qe(([n,e])=>{const t=n.x,i=n.y,r=n.z;let s=e.element(0).mul(.886227);return s=s.add(e.element(1).mul(2*.511664).mul(i)),s=s.add(e.element(2).mul(2*.511664).mul(r)),s=s.add(e.element(3).mul(2*.511664).mul(t)),s=s.add(e.element(4).mul(2*.429043).mul(t).mul(i)),s=s.add(e.element(5).mul(2*.429043).mul(i).mul(r)),s=s.add(e.element(6).mul(r.mul(r).mul(.743125).sub(.247708))),s=s.add(e.element(7).mul(2*.429043).mul(t).mul(r)),s=s.add(e.element(8).mul(.429043).mul(u1(t,t).sub(u1(i,i)))),s});var U=Object.freeze({__proto__:null,BRDF_GGX:Tf,BRDF_Lambert:pa,BasicPointShadowFilter:_b,BasicShadowFilter:ub,Break:tR,Const:RO,Continue:rQ,DFGApprox:Mp,D_GGX:_R,Discard:KO,EPSILON:eO,F_Schlick:p4,Fn:qe,INFINITY:FX,If:c1,Loop:K1,NodeAccess:ki,NodeShaderStage:D6,NodeType:uX,NodeUpdateType:p1,PCFShadowFilter:cb,PCFSoftShadowFilter:Ab,PI:M9,PI2:GX,PointShadowFilter:mb,Return:nZ,Schlick_to_F0:gR,ScriptableNodeResources:S7,ShaderNode:Mo,Stack:su,Switch:RX,TBNViewMatrix:Hs,VSMShadowFilter:hb,V_GGX_SmithCorrelated:pR,Var:TO,abs:An,acesFilmicToneMapping:eb,acos:Wq,add:Yn,addMethodChaining:be,addNodeElement:sZ,agxToneMapping:tb,all:tO,alphaT:m9,and:Uv,anisotropy:L3,anisotropyB:ia,anisotropyT:K6,any:nO,append:LX,array:Iv,arrayBuffer:IX,asin:aO,assign:Pv,atan:Hq,atan2:yO,atomicAdd:_1e,atomicAnd:M1e,atomicFunc:b2,atomicLoad:q1e,atomicMax:g1e,atomicMin:E1e,atomicOr:x1e,atomicStore:p1e,atomicSub:m1e,atomicXor:S1e,attenuationColor:Bq,attenuationDistance:wq,attribute:a3,attributeArray:ote,backgroundBlurriness:VR,backgroundIntensity:Df,backgroundRotation:kR,batch:QT,billboarding:Wee,bitAnd:kv,bitNot:zv,bitOr:Wv,bitXor:Hv,bitangentGeometry:CZ,bitangentLocal:wZ,bitangentView:hT,bitangentWorld:BZ,bitcast:VX,blendBurn:KR,blendColor:gte,blendDodge:YR,blendOverlay:jR,blendScreen:$R,blur:vR,bool:E2,buffer:u5,bufferAttribute:l5,bumpMap:pT,burn:xte,bvec2:Mv,bvec3:Pq,bvec4:Nv,bypass:kO,cache:$6,call:Lv,cameraFar:w3,cameraIndex:pu,cameraNear:C3,cameraNormalMatrix:_Z,cameraPosition:QO,cameraProjectionMatrix:Ma,cameraProjectionMatrixInverse:qZ,cameraViewMatrix:Rr,cameraWorldMatrix:pZ,cbrt:EO,cdl:bte,ceil:Au,checker:H1e,cineonToneMapping:JR,clamp:M2,clearcoat:_9,clearcoatRoughness:B8,code:vu,color:gv,colorSpaceToWorking:qu,colorToDirection:PQ,compute:GO,computeSkinning:nQ,cond:NO,context:du,convert:Ov,convertColorSpace:YX,convertToTexture:ite,cos:G2,cross:fu,cubeTexture:q4,cubeTextureBase:lp,cubeToUV:v0,dFdx:Kq,dFdy:Yq,dashSize:q7,debug:$O,decrement:Zv,decrementBefore:jv,defaultBuildStages:pf,defaultShaderStages:fv,defined:L8,degrees:rO,deltaTime:UR,densityFog:Qte,densityFogFactor:Rp,depth:_p,depthPass:Cte,difference:pO,diffuseColor:U1,directPointLight:Eb,directionToColor:uR,dispersion:Uq,distance:qO,div:d0,dodge:Ste,dot:es,drawIndex:jT,dynamicBufferAttribute:FO,element:vv,emissive:Ef,equal:Gq,equals:fO,equirectUV:mp,exp:kq,exp2:d4,expression:s3,faceDirection:h5,faceForward:Jq,faceforward:kX,float:te,floor:f2,fog:V8,fract:c3,frameGroup:bv,frameId:Dee,frontFacing:nT,fwidth:AO,gain:Oee,gapSize:Mf,getConstNodeType:mv,getCurrentStack:Iq,getDirection:yR,getDistanceAttenuation:Bp,getGeometryRoughness:qR,getNormalFromDepth:ste,getParallaxCorrectNormal:sie,getRoughness:Ep,getScreenPosition:rte,getShIrradianceAt:Ib,getShadowMaterial:fb,getShadowRenderObjectFunction:db,getTextureIndex:wR,getViewPosition:Ao,globalId:r1e,glsl:Wte,glslFn:Hte,grayscale:vte,greaterThan:Vq,greaterThanEqual:Bv,hash:vee,highpModelNormalViewMatrix:yf,highpModelViewMatrix:Sf,hue:Rte,increment:Xv,incrementBefore:$v,instance:jZ,instanceIndex:W3,instancedArray:lte,instancedBufferAttribute:x9,instancedDynamicBufferAttribute:xf,instancedMesh:ZT,int:le,inverseSqrt:zq,inversesqrt:zX,invocationLocalIndex:$Z,invocationSubgroupIndex:YZ,ior:Y6,iridescence:lu,iridescenceIOR:Lq,iridescenceThickness:Dq,ivec2:oi,ivec3:xv,ivec4:Sv,js:kte,label:OO,length:d2,lengthSq:Xq,lessThan:Cv,lessThanEqual:wv,lightPosition:Pp,lightProjectionUV:ob,lightShadowMatrix:Ip,lightTargetDirection:Dp,lightTargetPosition:lb,lightViewPosition:Lp,lightingContext:iR,lights:v1e,linearDepth:y9,linearToneMapping:ZR,localId:s1e,log:cu,log2:h2,logarithmicDepthToViewZ:mQ,loop:sQ,luminance:Op,mat2:au,mat3:Ki,mat4:na,matc
3877apUV:RR,materialAO:YT,materialAlphaTest:_T,materialAnisotropy:PT,materialAnisotropyVector:co,materialAttenuationColor:GT,materialAttenuationDistance:FT,materialClearcoat:vT,materialClearcoatNormal:TT,materialClearcoatRoughness:OT,materialColor:mT,materialDispersion:KT,materialEmissive:ET,materialEnvIntensity:m7,materialEnvRotation:op,materialIOR:UT,materialIridescence:LT,materialIridescenceIOR:DT,materialIridescenceThickness:CT,materialLightMap:Ap,materialLineDashOffset:WT,materialLineDashSize:kT,materialLineGapSize:zT,materialLineScale:VT,materialLineWidth:HZ,materialMetalness:yT,materialNormal:NT,materialOpacity:cp,materialPointSize:HT,materialReference:z2,materialReflectivity:g7,materialRefractionRatio:sT,materialRotation:RT,materialRoughness:ST,materialSheen:bT,materialSheenRoughness:IT,materialShininess:gT,materialSpecular:MT,materialSpecularColor:xT,materialSpecularIntensity:Of,materialSpecularStrength:j6,materialThickness:BT,materialTransmission:wT,max:Dn,maxMipLevel:XO,mediumpModelViewMatrix:tT,metalness:w8,min:vr,mix:H1,mixElement:xO,mod:o5,modInt:Jv,modelDirection:SZ,modelNormalMatrix:eT,modelPosition:yZ,modelRadius:OZ,modelScale:NZ,modelViewMatrix:xa,modelViewPosition:vZ,modelViewProjection:hp,modelWorldMatrix:u0,modelWorldMatrixInverse:TZ,morphReference:nR,mrt:BR,mul:u1,mx_aastep:Tb,mx_cell_noise_float:eie,mx_contrast:Yne,mx_fractal_noise_float:tie,mx_fractal_noise_vec2:nie,mx_fractal_noise_vec3:iie,mx_fractal_noise_vec4:rie,mx_hsvtorgb:Une,mx_noise_float:$ne,mx_noise_vec3:jne,mx_noise_vec4:Xne,mx_ramplr:Vne,mx_ramptb:kne,mx_rgbtohsv:Fne,mx_safepower:Kne,mx_splitlr:zne,mx_splittb:Wne,mx_srgb_texture_to_lin_rec709:Gne,mx_transform_uv:Hne,mx_worley_noise_float:Zne,mx_worley_noise_vec2:Qne,mx_worley_noise_vec3:Jne,namespace:VO,negate:oO,neutralToneMapping:nb,nodeArray:ta,nodeImmutable:at,nodeObject:Ie,nodeObjects:s5,nodeProxy:De,normalFlat:iT,normalGeometry:_u,normalLocal:Or,normalMap:vf,normalView:U0,normalWorld:f5,normalize:r3,not:Gv,notEqual:Dv,numWorkgroups:n1e,objectDirection:mZ,objectGroup:Fq,objectPosition:JO,objectRadius:xZ,objectScale:EZ,objectViewPosition:MZ,objectWorldMatrix:gZ,oneMinus:lO,or:Fv,orthographicDepthToViewZ:_Q,oscSawtooth:Vee,oscSine:Uee,oscSquare:Fee,oscTriangle:Gee,output:Io,outputStruct:yee,overlay:Nte,overloadingFn:bi,parabola:Lf,parallaxDirection:dT,parallaxUV:FZ,parameter:mee,pass:Lte,passTexture:Dte,pcurve:Tee,perspectiveDepthToViewZ:qp,pmremTexture:yp,pointShadow:gb,pointUV:cte,pointWidth:CX,positionGeometry:A5,positionLocal:Gn,positionPrevious:S9,positionView:Hn,positionViewDirection:pn,positionWorld:X2,positionWorldDirection:sp,posterize:Pte,pow:P0,pow2:jq,pow3:_O,pow4:mO,premult:Ete,property:D4,radians:iO,rand:MO,range:e1e,rangeFog:Zte,rangeFogFactor:Tp,reciprocal:cO,reference:rn,referenceBuffer:Nf,reflect:dO,reflectVector:lT,reflectView:aT,reflector:Qee,refract:Qq,refractVector:uT,refractView:oT,reinhardToneMapping:QR,remainder:Qv,remap:WO,remapClamp:HO,renderGroup:Ct,renderOutput:YO,rendererReference:wO,rotate:yu,rotateUV:kee,roughness:i2,round:uO,rtt:GR,sRGBTransferEOTF:PO,sRGBTransferOETF:LO,sampler:cZ,samplerComparison:AZ,saturate:Zq,saturation:Ote,screen:yte,screenCoordinate:_5,screenSize:G8,screenUV:D0,scriptable:Xte,scriptableValue:x7,select:ui,setCurrentStack:D8,shaderStages:_f,shadow:pb,shadowPositionWorld:wp,shapeCircle:K1e,sharedUniformGroup:uu,sheen:Ws,sheenRoughness:ou,shiftLeft:Kv,shiftRight:Yv,shininess:g9,sign:F8,sin:zr,sinc:Ree,skinning:eR,smoothstep:x2,smoothstepElement:SO,specularColor:hr,specularF90:U8,spherizeUV:zee,split:PX,spritesheetUV:Yee,sqrt:R2,stack:E7,step:hu,storage:ra,storageBarrier:u1e,storageObject:tQ,storageTexture:zR,string:bX,struct:See,sub:b1,subgroupIndex:KZ,subgroupSize:a1e,tan:sO,tangentGeometry:Eu,tangentLocal:d5,tangentView:q5,tangentWorld:AT,temp:bO,texture:S1,texture3D:WR,textureBarrier:c1e,textureBicubic:xR,textureCubeUV:NR,textureLoad:Bn,textureSize:z3,textureStore:hte,thickness:Cq,time:Sa,timerDelta:Bee,timerGlobal:wee,timerLocal:Cee,toneMapping:BO,toneMappingExposure:UO,toonOutlinePass:Bte,transformDirection:gO,transformNormal:rT,transformNormalToView:ap,transformedBentNormalView:qT,transformedBitangentView:fT,transformedBitangentWorld:UZ,transformedClearcoatNormalView:xo,transformedNormalView:Fn,transformedNormalWorld:mu,transformedTangentView:up,transformedTangentWorld:DZ,transmission:E9,transpose:hO,triNoise3D:Iee,triplanarTexture:jee,triplanarTextures:FR,trunc:$q,tslFn:DX,uint:ft,uniform:Pt,uniformArray:o0,uniformCubeTexture:IZ,uniformGroup:Rv,uniformTexture:uZ,uniforms:fZ,unpremult:Mte,userData:pte,uv:xn,uvec2:Ev,uvec3:L4,uvec4:yv,varying:Xr,varyingProperty:C8,vec2:Ue,vec3:he,vec4:It,vectorComponents:ga,velocity:mte,vertexColor:lR,vertexIndex:$T,vertexStage:IO,vibrance:Tte,viewZToLogarithmicDepth:pp,viewZToOrthographicDepth:Lo,viewZToPerspectiveDepth:aR,viewport:Po,viewportBottomLeft:dQ,viewportCoordinate:sR,viewportDepthTexture:dp,viewportLinearDepth:gQ,viewportMipTexture:fp,viewportResolution:hQ,viewportSafeUV:Hee,viewportSharedTexture:IQ,viewportSize:rR,viewportTexture:qQ,viewportTopLeft:fQ,viewportUV:AQ,wgsl:zte,wgslFn:Kte,workgroupArray:f1e,workgroupBarrier:l1e,workgroupId:i1e,workingToColorSpace:DO,xor:Vv});const M0=new Np;class aie extends ts{constructor(e,t){super(),this.renderer=e,this.nodes=t}
3877update(e,t,i){const r=this.renderer,s=this.nodes.getBackgroundNode(e)||e.background;let a=!1;if(s===null)r._clearColor.getRGB(M0),M0.a=r._clearColor.a;else if(s.isColor===!0)s.getRGB(M0),M0.a=1,a=!0;else if(s.isNode===!0){const u=this.get(e),d=s;M0.copy(r._clearColor);let q=u.backgroundMesh;if(q===void 0){let y=function(){s.removeEventListener("dispose",y),q.material.dispose(),q.geometry.dispose()};var l=y;const g=du(It(d).mul(Df),{getUV:()=>kR.mul(f5),getTextureLevel:()=>VR});let M=hp;M=M.setZ(M.w);const N=new kn;N.name="Background.material",N.side=Q1,N.depthTest=!1,N.depthWrite=!1,N.allowOverride=!1,N.fog=!1,N.lights=!1,N.vertexNode=M,N.colorNode=g,u.backgroundMeshNode=g,u.backgroundMesh=q=new F1(new T2(1,32,32),N),q.frustumCulled=!1,q.name="Background.mesh",q.onBeforeRender=function(S,R,O){this.matrixWorld.copyPosition(O.matrixWorld)},s.addEventListener("dispose",y)}const _=d.getCacheKey();u.backgroundCacheKey!==_&&(u.backgroundMeshNode.node=It(d).mul(Df),u.backgroundMeshNode.needsUpdate=!0,q.material.needsUpdate=!0,u.backgroundCacheKey=_),t.unshift(q,q.geometry,q.material,0,0,null,null)}else console.error("THREE.Renderer: Unsupported background configuration.",s);const o=r.xr.getEnvironmentBlendMode();if(o==="additive"?M0.set(0,0,0,1):o==="alpha-blend"&&M0.set(0,0,0,0),r.autoClear===!0||a===!0){const u=i.clearColorValue;u.r=M0.r,u.g=M0.g,u.b=M0.b,u.a=M0.a,(r.backend.isWebGLBackend===!0||r.alpha===!0)&&(u.r*=u.a,u.g*=u.a,u.b*=u.a),i.depthClearValue=r._clearDepth,i.stencilClearValue=r._clearStencil,i.clearColor=r.autoClearColor===!0,i.clearDepth=r.autoClearDepth===!0,i.clearStencil=r.autoClearStencil===!0}else i.clearColor=!1,i.clearDepth=!1,i.clearStencil=!1}}let oie=0;class Cf{constructor(e="",t=[],i=0,r=[]){this.name=e,this.bindings=t,this.index=i,this.bindingsReference=r,this.id=oie++}}class lie{constructor(e,t,i,r,s,a,o,l,u,d=[]){this.vertexShader=e,this.fragmentShader=t,this.computeShader=i,this.transforms=d,this.nodeAttributes=r,this.bindings=s,this.updateNodes=a,this.updateBeforeNodes=o,this.updateAfterNodes=l,this.observer=u,this.usedTimes=0}createBindings(){const e=[];for(const t of this.bindings)if(t.bindings[0].groupNode.shared!==!0){const r=new Cf(t.name,[],t.index,t);e.push(r);for(const s of t.bindings)r.bindings.push(s.clone())}else e.push(t);return e}}class LM{constructor(e,t,i=null){this.isNodeAttribute=!0,this.name=e,this.type=t,this.node=i}}class uie{constructor(e,t,i){this.isNodeUniform=!0,this.name=e,this.type=t,this.node=i.getSelf()}get value(){return this.node.value}set value(e){this.node.value=e}get id(){return this.node.id}get groupNode(){return this.node.groupNode}}class Pb{constructor(e,t,i=!1,r=null){this.isNodeVar=!0,this.name=e,this.type=t,this.readOnly=i,this.count=r}}class cie extends Pb{constructor(e,t,i=null,r=null){super(e,t),this.needsInterpolation=!1,this.isNodeVarying=!0,this.interpolationType=i,this.interpolationSampling=r}}class Aie{constructor(e,t,i=""){this.name=e,this.type=t,this.code=i,Object.defineProperty(this,"isNodeCode",{value:!0})}}let hie=0;class bA{constructor(e=null){this.id=hie++,this.nodesData=new WeakMap,this.parent=e}getData(e){let t=this.nodesData.get(e);return t===void 0&&this.parent!==null&&(t=this.parent.getData(e)),t}setData(e,t){this.nodesData.set(e,t)}}class fie{constructor(e,t){this.name=e,this.members=t,this.output=!1}}class ns{constructor(e,t){this.name=e,this.value=t,this.boundary=0,this.itemSize=0,this.offset=0}setValue(e){this.value=e}getValue(){return this.value}}class die extends ns{constructor(e,t=0){super(e,t),this.isNumberUniform=!0,this.boundary=4,this.itemSize=1}}class qie extends ns{constructor(e,t=new Ce){super(e,t),this.isVector2Uniform=!0,this.boundary=8,this.itemSize=2}}class pie extends ns{constructor(e,t=new Z){super(e,t),this.isVector3Uniform=!0,this.boundary=16,this.itemSize=3}}class _ie extends ns{constructor(e,t=new wt){super(e,t),this.isVector4Uniform=!0,this.boundary=16,this.itemSize=4}}class mie extends ns{constructor(e,t=new Nt){super(e,t),this.isColorUniform=!0,this.boundary=16,this.itemSize=3}}class gie extends ns{constructor(e,t=new X9){super(e,t),this.isMatrix2Uniform=!0,this.boundary=8,this.itemSize=4}}class Eie extends ns{constructor(e,t=new o1){super(e,t),this.isMatrix3Uniform=!0,this.boundary=48,this.itemSize=12}}class Mie extends ns{constructor(e,t=new Yt){super(e,t),this.isMatrix4Uniform=!0,this.boundary=64,this.itemSize=16}}class xie extends die{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Sie extends qie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class yie extends pie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Nie extends _ie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class vie extends mie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Oie extends gie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}
3877class Tie extends Eie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Rie extends Mie{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}const DM=new WeakMap,bie=new Map([[Int8Array,"int"],[Int16Array,"int"],[Int32Array,"int"],[Uint8Array,"uint"],[Uint16Array,"uint"],[Uint32Array,"uint"],[Float32Array,"float"]]),wl=n=>/e/g.test(n)?String(n).replace(/\+/g,""):(n=Number(n),n+(n%1?"":".0"));class Lb{constructor(e,t,i){this.object=e,this.material=e&&e.material||null,this.geometry=e&&e.geometry||null,this.renderer=t,this.parser=i,this.scene=null,this.camera=null,this.nodes=[],this.sequentialNodes=[],this.updateNodes=[],this.updateBeforeNodes=[],this.updateAfterNodes=[],this.hashNodes={},this.observer=null,this.lightsNode=null,this.environmentNode=null,this.fogNode=null,this.clippingContext=null,this.vertexShader=null,this.fragmentShader=null,this.computeShader=null,this.flowNodes={vertex:[],fragment:[],compute:[]},this.flowCode={vertex:"",fragment:"",compute:""},this.uniforms={vertex:[],fragment:[],compute:[],index:0},this.structs={vertex:[],fragment:[],compute:[],index:0},this.bindings={vertex:{},fragment:{},compute:{}},this.bindingsIndexes={},this.bindGroups=null,this.attributes=[],this.bufferAttributes=[],this.varyings=[],this.codes={},this.vars={},this.declarations={},this.flow={code:""},this.chaining=[],this.stack=E7(),this.stacks=[],this.tab=" ",this.currentFunctionNode=null,this.context={material:this.material},this.cache=new bA,this.globalCache=this.cache,this.flowsData=new WeakMap,this.shaderStage=null,this.buildStage=null}getBindGroupsCache(){let e=DM.get(this.renderer);return e===void 0&&(e=new F0,DM.set(this.renderer,e)),e}createRenderTarget(e,t,i){return new o3(e,t,i)}createCubeRenderTarget(e,t){return new cR(e,t)}includes(e){return this.nodes.includes(e)}getOutputStructName(){}_getBindGroup(e,t){const i=this.getBindGroupsCache(),r=[];let s=!0;for(const o of t)r.push(o),s=s&&o.groupNode.shared!==!0;let a;return s?(a=i.get(r),a===void 0&&(a=new Cf(e,r,this.bindingsIndexes[e].group,r),i.set(r,a))):a=new Cf(e,r,this.bindingsIndexes[e].group,r),a}getBindGroupArray(e,t){const i=this.bindings[t];let r=i[e];return r===void 0&&(this.bindingsIndexes[e]===void 0&&(this.bindingsIndexes[e]={binding:0,group:Object.keys(this.bindingsIndexes).length}),i[e]=r=[]),r}getBindings(){let e=this.bindGroups;if(e===null){const t={},i=this.bindings;for(const r of _f)for(const s in i[r]){const a=i[r][s];(t[s]||(t[s]=[])).push(...a)}e=[];for(const r in t){const s=t[r],a=this._getBindGroup(r,s);e.push(a)}this.bindGroups=e}return e}sortBindingGroups(){const e=this.getBindings();e.sort((t,i)=>t.bindings[0].groupNode.order-i.bindings[0].groupNode.order);for(let t=0;t<e.length;t++){const i=e[t];this.bindingsIndexes[i.name].group=t,i.index=t}}setHashNode(e,t){this.hashNodes[t]=e}addNode(e){this.nodes.includes(e)===!1&&(this.nodes.push(e),this.setHashNode(e,e.getHash(this)))}addSequentialNode(e){this.sequentialNodes.includes(e)===!1&&this.sequentialNodes.push(e)}buildUpdateNodes(){for(const e of this.nodes)e.getUpdateType()!==p1.NONE&&this.updateNodes.push(e.getSelf());for(const e of this.sequentialNodes){const t=e.getUpdateBeforeType(),i=e.getUpdateAfterType();t!==p1.NONE&&this.updateBeforeNodes.push(e.getSelf()),i!==p1.NONE&&this.updateAfterNodes.push(e.getSelf())}}get currentNode(){return this.chaining[this.chaining.length-1]}isFilteredTexture(e){return e.magFilter===li||e.magFilter===vo||e.magFilter===H2||e.magFilter===qr||e.minFilter===li||e.minFilter===vo||e.minFilter===H2||e.minFilter===qr}addChain(e){this.chaining.push(e)}removeChain(e){if(this.chaining.pop()!==e)throw new Error("NodeBuilder: Invalid node chaining!")}getMethod(e){return e}getNodeFromHash(e){return this.hashNodes[e]}addFlow(e,t){return this.flowNodes[e].push(t),t}setContext(e){this.context=e}getContext(){return this.context}getSharedContext(){return{...this.context},this.context}setCache(e){this.cache=e}getCache(){return this.cache}getCacheFromNode(e,t=!0){const i=this.getDataFromNode(e);return i.cache===void 0&&(i.cache=new bA(t?this.getCache():null)),i.cache}isAvailable(){return!1}getVertexIndex(){console.warn("Abstract function.")}getInstanceIndex(){console.warn("Abstract function.")}getDrawIndex(){console.warn("Abstract function.")}getFrontFacing(){console.warn("Abstract function.")}getFragCoord(){console.warn("Abstract function.")}isFlipY(){return!1}increaseUsage(e){const t=this.getDataFromNode(e);return t.usageCount=t.usageCount===void 0?1:t.usageCount+1,t.usageCount}generateTexture(){console.warn("Abstract function.")}generateTextureLod(){console.warn("Abstract function.")}generateArrayDeclaration(e,t){return this.getType(e)+"[ "+t+" ]"}generateArray(e,t,i=null){let r=this.generateArrayDeclaration(e,t)+"( ";for(let s=0;s<t;s++){const a=i?i[s]:null;a!==null?r+=a.build(this,e):r+=this.generateConst(e),s<t-1&&(r+=", ")}return r+=" )",r}generateStruct(e,t,i=null){const r=[];for(const s of t){const{name:a,type:o}=s;i&&i[a]&&i[a].isNode?r.push(i[a].build(this,o)):r.push(this.generateConst(o))}return e+"( "+r.join(", ")+" )"}generateConst(e,t=null){if(t===null&&(e==="float"||e==="int"||e==="uint"?t=0:e==="bool"?t=!1:e==="color"?t=new Nt:e==="vec2"?t=new Ce:e==="vec3"?t=new Z:e==="vec4"&&(t=new wt)),e==="float")return wl(t);if(e==="int")return`${Math.round(t)}`;if(e==="uint")return t>=0?`${Math.round(t)}u`:"0u";if(e==="bool")return t?"true":"false";if(e==="color")return`${this.getType("vec3")}( ${wl(t.r)}, ${wl(t.g)}, ${wl(t.b)} )`;const i=this.getTypeLength(e),r=this.getComponentType(e),s=a=>this.generateConst(r,a);if(i===2)return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)} )`;if(i===3)return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)}, ${s(t.z)} )`;if(i===4&&e!=="mat2")return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)}, ${s(t.z)}, ${s(t.w)} )`;if(i>=4&&t&&(t.isMatrix2||t.isMatrix3||t.isMatrix4))return`${this.getType(e)}( ${t.elements.map(s).join(", ")} )`;if(i>4)return`${this.getType(e)}()`;throw new Error(`NodeBuilder: Type '${e}' not found in generate constant attempt.`)}getType(e){return e==="color"?"vec3":e}hasGeometryAttribute(e){return this.geometry&&this.geometry.getAttribute(e)!==void 0}getAttribute(e,t){const i=this.attributes;for(const s of i)if(s.name===e)return s;const r=new LM(e,t);return this.registerDeclaration(r),i.push(r),r}getPropertyName(e){return e.name}isVector(e){return/vec\d/.test(e)}isMatrix(e){return/mat\d/.test(e)}isReference(e){return e==="void"||e==="property"||e==="sampler"||e==="samplerComparison"||e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="depthTexture"||e==="texture3D"}needsToWorkingColorSpace(){return!1}getComponentTypeFromTexture(e){const t=e.type;if(e.isDataTexture){if(t===mi)return"int";if(t===cn)return"uint"}return"float"}getElementType(e){return e==="mat2"?"vec2":e==="mat3"?"vec3":e==="mat4"?"vec4":this.getComponentType(e)}getComponentType(e){if(e=this.getVectorType(e),e==="float"||e==="bool"||e==="int"||e==="uint")return e;const t=/(b|i|u|)(vec|mat)([2-4])/.exec(e);return t===null?null:t[1]==="b"?"bool":t[1]==="i"?"int":t[1]==="u"?"uint":"float"}getVectorType(e){return e==="color"?"vec3":e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="texture3D"?"vec4":e}getTypeFromLength(e,t="float"){if(e===1)return t;let i=ov(e);const r=t==="float"?"":t[0];return/mat2/.test(t)===!0&&(i=i.replace("vec","mat")),r+i}getTypeFromArray(e){return bie.get(e.constructor)}isInteger(e){return/int|uint|(i|u)vec/.test(e)}getTypeFromAttribute(e){let t=e;e.isInterleavedBufferAttribute&&(t=e.data);const i=t.array,r=e.itemSize,s=e.normalized;let a;return!(e instanceof Ay)&&s!==!0&&(a=this.getTypeFromArray(i)),this.getTypeFromLength(r,a)}getTypeLength(e){const t=this.getVectorType(e),i=/vec([2-4])/.exec(t);return i!==null?Number(i[1]):t==="float"||t==="bool"||t==="int"||t==="uint"?1:/mat2/.test(e)===!0?4:/mat3/.test(e)===!0?9:/mat4/.test(e)===!0?16:0}getVectorFromMatrix(e){return e.replace("mat","vec")}changeComponentType(e,t){return this.getTypeFromLength(this.getTypeLength(e),t)}getIntegerType(e){const t=this.getComponentType(e);return t==="int"||t==="uint"?e:this.changeComponentType(e,"int")}addStack(){return this.stack=E7(this.stack),this.stacks.push(Iq()||this.stack),D8(this.stack),this.stack}removeStack(){const e=this.stack;return this.stack=e.parent,D8(this.stacks.pop()),e}getDataFromNode(e,t=this.shaderStage,i=null){i=i===null?e.isGlobal(this)?this.globalCache:this.cache:i;let r=i.getData(e);return r===void 0&&(r={},i.setData(e,r)),r[t]===void 0&&(r[t]={}),r[t]}getNodeProperties(e,t="any"){const i=this.getDataFromNode(e,t);return i.properties||(i.properties={outputNode:null})}getBufferAttributeFromNode(e,t){const i=this.getDataFromNode(e);let r=i.bufferAttribute;if(r===void 0){const s=this.uniforms.index++;r=new LM("nodeAttribute"+s,t,e),this.bufferAttributes.push(r),i.bufferAttribute=r}return r}getStructTypeFromNode(e,t,i=null,r=this.shaderStage){const s=this.getDataFromNode(e,r,this.globalCache);let a=s.structType;if(a===void 0){const o=this.structs.index++;i===null&&(i="StructType"+o),a=new fie(i,t),this.structs[r].push(a),s.structType=a}return a}getOutputStructTypeFromNode(e,t){const i=this.getStructTypeFromNode(e,t,"OutputType","fragment");return i.output=!0,i}getUniformFromNode(e,t,i=this.shaderStage,r=null){const s=this.getDataFromNode(e,i,this.globalCache);let a=s.uniform;if(a===void 0){const o=this.uniforms.index++;a=new uie(r||"nodeUniform"+o,t,e),this.uniforms[i].push(a),this.registerDeclaration(a),s.uniform=a}return a}getArrayCount(e){let t=null;return e.isArrayNode?t=e.count:e.isVarNode&&e.node.isArrayNode&&(t=e.node.count),t}getVarFromNode(e,t=null,i=e.getNodeType(this),r=this.shaderStage,s=!1){const a=this.getDataFromNode(e,r);let o=a.variable;if(o===void 0){const l=s?"_const":"_var",u=this.vars[r]||(this.vars[r]=[]),d=this.vars[l]||(this.vars[l]=0);t===null&&(t=(s?"nodeConst":"nodeVar")+d,this.vars[l]++);const q=this.getArrayCount(e);o=new Pb(t,i,s,q),s||u.push(o),this.registerDeclaration(o),a.variable=o}return o}isDeterministic(e){if(e.isMathNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0)&&(e.cNode?this.isDeterministic(e.cNode):!0);if(e.isOperatorNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0);if(e.isArrayNode){if(e.values!==null){for(const t of e.values)if(!this.isDeterministic(t))return!1}return!0}else if(e.isConstNode)return!0;return!1}getVaryingFromNode(e,t=null,i=e.getNodeType(this),r=null,s=null){const a=this.getDataFromNode(e,"any");let o=a.varying;if(o===void 0){const l=this.varyings,u=l.length;t===null&&(t="nodeVarying"+u),o=new cie(t,i,r,s),l.push(o),this.registerDeclaration(o),a.varying=o}return o}get namespace(){return this.context.namespace}getOutputNamespace(){return this.getNamespace("outputNode")}getNamespace(e=""){const t=this.namespace;let i;return t?i=e?t+"_"+e:t:i=e,i}registerDeclaration(e){const t=this.shaderStage,i=this.declarations[t]||(this.declarations[t]={}),r=this.getPropertyName(e);let s=1,a=r;for(;i[a]!==void 0;)a=r+"_"+s++;s>1&&(e.name=a,console.warn(`THREE.TSL: Declaration name '${r}' of '${e.type}' already in use. Renamed to '${a}'.`)),i[a]=e}getCodeFromNode(e,t,i=this.shaderStage){const r=this.getDataFromNode(e);let s=r.code;if(s===void 0){const a=this.codes[i]||(this.codes[i]=[]),o=a.length;s=new Aie("nodeCode"+o,t),a.push(s),r.code=s}return s}addFlowCodeHierarchy(e,t){const{flowCodes:i,flowCodeBlock:r}=this.getDataFromNode(e);let s=!0,a=t;for(;a;){if(r.get(a)===!0){s=!1;break}a=this.getDataFromNode(a).parentNodeBlock}if(s)for(const o of i)this.addLineFlowCode(o)}addLineFlowCodeBlock(e,t,i){const r=this.getDataFromNode(e),s=r.flowCodes||(r.flowCodes=[]),a=r.flowCodeBlock||(r.flowCodeBlock=new WeakMap);s.push(t),a.set(i,!0)}addLineFlowCode(e,t=null){return e===""?this:(t!==null&&this.context.nodeBlock&&this.addLineFlowCodeBlock(t,e,this.context.nodeBlock),e=this.tab+e,/;\s*$/.test(e)||(e=e+`; 3878`),this.flow.code+=e,this)}addFlowCode(e){return this.flow.code+=e,this}addFlowTab(){return this.tab+=" ",this}removeFlowTab(){return this.tab=this.tab.slice(0,-1),this}getFlowData(e){return this.flowsData.get(e)}flowNode(e){const t=e.getNodeType(this),i=this.flowChildNode(e,t);return this.flowsData.set(e,i),i}addInclude(e){this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(e)}buildFunctionNode(e){const t=new ib,i=this.currentFunctionNode;return this.currentFunctionNode=t,t.code=this.buildFunctionCode(e),this.currentFunctionNode=i,t}flowShaderNode(e){const t=e.layout,i={[Symbol.iterator](){let a=0;const o=Object.values(this);return{next:()=>({value:o[a],done:a++>=o.length})}}};
3878for(const a of t.inputs)i[a.name]=new DR(a.type,a.name);e.layout=null;const r=e.call(i),s=this.flowStagesNode(r,t.type);return e.layout=t,s}flowStagesNode(e,t=null){const i=this.flow,r=this.vars,s=this.declarations,a=this.cache,o=this.buildStage,l=this.stack,u={code:""};this.flow=u,this.vars={},this.declarations={},this.cache=new bA,this.stack=E7();for(const d of pf)this.setBuildStage(d),u.result=e.build(this,t);return u.vars=this.getVars(this.shaderStage),this.flow=i,this.vars=r,this.declarations=s,this.cache=a,this.stack=l,this.setBuildStage(o),u}getFunctionOperator(){return null}buildFunctionCode(){console.warn("Abstract function.")}flowChildNode(e,t=null){const i=this.flow,r={code:""};return this.flow=r,r.result=e.build(this,t),this.flow=i,r}flowNodeFromShaderStage(e,t,i=null,r=null){const s=this.tab,a=this.cache,o=this.shaderStage,l=this.context;this.setShaderStage(e);const u={...this.context};delete u.nodeBlock,this.cache=this.globalCache,this.tab=" ",this.context=u;let d=null;if(this.buildStage==="generate"){const q=this.flowChildNode(t,i);r!==null&&(q.code+=`${this.tab+r} = ${q.result}; 3879`),this.flowCode[e]=this.flowCode[e]+q.code,d=q}else d=t.build(this);return this.setShaderStage(o),this.cache=a,this.tab=s,this.context=l,d}getAttributesArray(){return this.attributes.concat(this.bufferAttributes)}getAttributes(){console.warn("Abstract function.")}getVaryings(){console.warn("Abstract function.")}getVar(e,t,i=null){return`${i!==null?this.generateArrayDeclaration(e,i):this.getType(e)} ${t}`}getVars(e){let t="";const i=this.vars[e];if(i!==void 0)for(const r of i)t+=`${this.getVar(r.type,r.name)}; `;return t}getUniforms(){console.warn("Abstract function.")}getCodes(e){const t=this.codes[e];let i="";if(t!==void 0)for(const r of t)i+=r.code+` 3880`;return i}getHash(){return this.vertexShader+this.fragmentShader+this.computeShader}setShaderStage(e){this.shaderStage=e}getShaderStage(){return this.shaderStage}setBuildStage(e){this.buildStage=e}getBuildStage(){return this.buildStage}buildCode(){console.warn("Abstract function.")}build(){const{object:e,material:t,renderer:i}=this;if(t!==null){let r=i.library.fromMaterial(t);r===null&&(console.error(`NodeMaterial: Material "${t.type}" is not compatible.`),r=new kn),r.build(this)}else this.addFlow("compute",e);for(const r of pf){this.setBuildStage(r),this.context.vertex&&this.context.vertex.isNode&&this.flowNodeFromShaderStage("vertex",this.context.vertex);for(const s of _f){this.setShaderStage(s);const a=this.flowNodes[s];for(const o of a)r==="generate"?this.flowNode(o):o.build(this)}}return this.setBuildStage(null),this.setShaderStage(null),this.buildCode(),this.buildUpdateNodes(),this}getNodeUniform(e,t){if(t==="float"||t==="int"||t==="uint")return new xie(e);if(t==="vec2"||t==="ivec2"||t==="uvec2")return new Sie(e);if(t==="vec3"||t==="ivec3"||t==="uvec3")return new yie(e);if(t==="vec4"||t==="ivec4"||t==="uvec4")return new Nie(e);if(t==="color")return new vie(e);if(t==="mat2")return new Oie(e);if(t==="mat3")return new Tie(e);if(t==="mat4")return new Rie(e);throw new Error(`Uniform "${t}" not declared.`)}format(e,t,i){if(t=this.getVectorType(t),i=this.getVectorType(i),t===i||i===null||this.isReference(i))return e;const r=this.getTypeLength(t),s=this.getTypeLength(i);return r===16&&s===9?`${this.getType(i)}( ${e}[ 0 ].xyz, ${e}[ 1 ].xyz, ${e}[ 2 ].xyz )`:r===9&&s===4?`${this.getType(i)}( ${e}[ 0 ].xy, ${e}[ 1 ].xy )`:r>4||s>4||s===0?e:r===s?`${this.getType(i)}( ${e} )`:r>s?(e=i==="bool"?`all( ${e} )`:`${e}.${"xyz".slice(0,s)}`,this.format(e,this.getTypeFromLength(s,this.getComponentType(t)),i)):s===4&&r>1?`${this.getType(i)}( ${this.format(e,t,"vec3")}, 1.0 )`:r===2?`${this.getType(i)}( ${this.format(e,t,"vec2")}, 0.0 )`:(r===1&&s>1&&t!==this.getComponentType(i)&&(e=`${this.getType(this.getComponentType(i))}( ${e} )`),`${this.getType(i)}( ${e} )`)}getSignature(){return`// Three.js r${v4} - Node System 3881`}*[Symbol.iterator](){}createNodeMaterial(e="NodeMaterial"){throw new Error(`THREE.NodeBuilder: createNodeMaterial() was deprecated. Use new ${e}() instead.`)}}class CM{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(e,t){let i=e.get(t);return i===void 0&&(i={renderMap:new WeakMap,frameMap:new WeakMap},e.set(t,i)),i}updateBeforeNode(e){const t=e.getUpdateBeforeType(),i=e.updateReference(this);if(t===p1.FRAME){const{frameMap:r}=this._getMaps(this.updateBeforeMap,i);r.get(i)!==this.frameId&&e.updateBefore(this)!==!1&&r.set(i,this.frameId)}else if(t===p1.RENDER){const{renderMap:r}=this._getMaps(this.updateBeforeMap,i);r.get(i)!==this.renderId&&e.updateBefore(this)!==!1&&r.set(i,this.renderId)}else t===p1.OBJECT&&e.updateBefore(this)}updateAfterNode(e){const t=e.getUpdateAfterType(),i=e.updateReference(this);if(t===p1.FRAME){const{frameMap:r}=this._getMaps(this.updateAfterMap,i);r.get(i)!==this.frameId&&e.updateAfter(this)!==!1&&r.set(i,this.frameId)}else if(t===p1.RENDER){const{renderMap:r}=this._getMaps(this.updateAfterMap,i);r.get(i)!==this.renderId&&e.updateAfter(this)!==!1&&r.set(i,this.renderId)}else t===p1.OBJECT&&e.updateAfter(this)}updateNode(e){const t=e.getUpdateType(),i=e.updateReference(this);if(t===p1.FRAME){const{frameMap:r}=this._getMaps(this.updateMap,i);r.get(i)!==this.frameId&&e.update(this)!==!1&&r.set(i,this.frameId)}else if(t===p1.RENDER){const{renderMap:r}=this._getMaps(this.updateMap,i);r.get(i)!==this.renderId&&e.update(this)!==!1&&r.set(i,this.renderId)}else t===p1.OBJECT&&e.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class Gp{constructor(e,t,i=null,r="",s=!1){this.type=e,this.name=t,this.count=i,this.qual
3881ifier=r,this.isConst=s}}Gp.isNodeFunctionInput=!0;class Iie extends ya{static get type(){return"DirectionalLightNode"}constructor(e=null){super(e)}setupDirect(){const e=this.colorNode;return{lightDirection:Dp(this.light),lightColor:e}}}const IA=new Yt,Bl=new Yt;let m6=null;class Pie extends ya{static get type(){return"RectAreaLightNode"}constructor(e=null){super(e),this.halfHeight=Pt(new Z).setGroup(Ct),this.halfWidth=Pt(new Z).setGroup(Ct),this.updateType=p1.RENDER}update(e){super.update(e);const{light:t}=this,i=e.camera.matrixWorldInverse;Bl.identity(),IA.copy(t.matrixWorld),IA.premultiply(i),Bl.extractRotation(IA),this.halfWidth.value.set(t.width*.5,0,0),this.halfHeight.value.set(0,t.height*.5,0),this.halfWidth.value.applyMatrix4(Bl),this.halfHeight.value.applyMatrix4(Bl)}setupDirectRectArea(e){let t,i;e.isAvailable("float32Filterable")?(t=S1(m6.LTC_FLOAT_1),i=S1(m6.LTC_FLOAT_2)):(t=S1(m6.LTC_HALF_1),i=S1(m6.LTC_HALF_2));const{colorNode:r,light:s}=this,a=Lp(s);return{lightColor:r,lightPosition:a,halfWidth:this.halfWidth,halfHeight:this.halfHeight,ltc_1:t,ltc_2:i}}static setLTC(e){m6=e}}class Vp extends ya{static get type(){return"SpotLightNode"}constructor(e=null){super(e),this.coneCosNode=Pt(0).setGroup(Ct),this.penumbraCosNode=Pt(0).setGroup(Ct),this.cutoffDistanceNode=Pt(0).setGroup(Ct),this.decayExponentNode=Pt(0).setGroup(Ct),this.colorNode=Pt(this.color).setGroup(Ct)}update(e){super.update(e);const{light:t}=this;this.coneCosNode.value=Math.cos(t.angle),this.penumbraCosNode.value=Math.cos(t.angle*(1-t.penumbra)),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}getSpotAttenuation(e,t){const{coneCosNode:i,penumbraCosNode:r}=this;return x2(i,r,t)}getLightCoord(e){const t=e.getNodeProperties(this);let i=t.projectionUV;return i===void 0&&(i=ob(this.light,e.context.positionWorld),t.projectionUV=i),i}setupDirect(e){const{colorNode:t,cutoffDistanceNode:i,decayExponentNode:r,light:s}=this,a=this.getLightVector(e),o=a.normalize(),l=o.dot(Dp(s)),u=this.getSpotAttenuation(e,l),d=a.length(),q=Bp({lightDistance:d,cutoffDistance:i,decayExponent:r});let _=t.mul(u).mul(q),g,M;return s.colorNode?(M=this.getLightCoord(e),g=s.colorNode(M)):s.map&&(M=this.getLightCoord(e),g=S1(s.map,M.xy).onRenderUpdate(()=>s.map)),g&&(_=M.mul(2).sub(1).abs().lessThan(1).all().select(_.mul(g),_)),{lightColor:_,lightDirection:o}}}class Lie extends Vp{static get type(){return"IESSpotLightNode"}getSpotAttenuation(e,t){const i=this.light.iesMap;let r=null;if(i&&i.isTexture===!0){const s=t.acos().mul(1/Math.PI);r=S1(i,Ue(s,0),0).r}else r=super.getSpotAttenuation(t);return r}}const Die=qe(([n,e])=>{const t=n.abs().sub(e);return d2(Dn(t,0)).add(vr(Dn(t.x,t.y),0))});class Cie extends Vp{static get type(){return"ProjectorLightNode"}update(e){super.update(e);const t=this.light;if(this.penumbraCosNode.value=Math.min(Math.cos(t.angle*(1-t.penumbra)),.99999),t.aspect===null){let i=1;t.map!==null&&(i=t.map.width/t.map.height),t.shadow.aspect=i}else t.shadow.aspect=t.aspect}getSpotAttenuation(e){const t=this.penumbraCosNode,i=this.getLightCoord(e),r=i.xyz.div(i.w),s=Die(r.xy.sub(Ue(.5)),Ue(.5)),a=d0(-1,b1(1,Wq(t)).sub(1));return Zq(s.mul(-2).mul(a))}}class wie extends ya{static get type(){return"AmbientLightNode"}constructor(e=null){super(e)}setup({context:e}){e.irradiance.addAssign(this.colorNode)}}class Bie extends ya{static get type(){return"HemisphereLightNode"}constructor(e=null){super(e),this.lightPositionNode=Pp(e),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=Pt(new Nt).setGroup(Ct)}update(e){const{light:t}=this;super.update(e),this.lightPositionNode.object3d=t,this.groundColorNode.value.copy(t.groundColor).multiplyScalar(t.intensity)}setup(e){const{colorNode:t,groundColorNode:i,lightDirectionNode:r}=this,a=f5.dot(r).mul(.5).add(.5),o=H1(i,t,a);e.context.irradiance.addAssign(o)}}class Uie extends ya{static get type(){return"LightProbeNode"}constructor(e=null){super(e);const t=[];for(let i=0;i<9;i++)t.push(new Z);this.lightProbe=o0(t)}update(e){const{light:t}=this;super.update(e);for(let i=0;i<9;i++)this.lightProbe.array[i].copy(t.sh.coefficients[i]).multiplyScalar(t.intensity)}setup(e){const t=Ib(f5,this.lightProbe);
3881e.context.irradiance.addAssign(t)}}class Db{parseFunction(){console.warn("Abstract function.")}}class kp{constructor(e,t,i="",r=""){this.type=e,this.inputs=t,this.name=i,this.precision=r}getCode(){console.warn("Abstract function.")}}kp.isNodeFunction=!0;const Fie=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,Gie=/[a-z_0-9]+/ig,wM="#pragma main",Vie=n=>{n=n.trim();const e=n.indexOf(wM),t=e!==-1?n.slice(e+wM.length):n,i=t.match(Fie);if(i!==null&&i.length===5){const r=i[4],s=[];let a=null;for(;(a=Gie.exec(r))!==null;)s.push(a);const o=[];let l=0;for(;l<s.length;){const M=s[l][0]==="const";M===!0&&l++;let N=s[l][0];N==="in"||N==="out"||N==="inout"?l++:N="";const y=s[l++][0];let S=Number.parseInt(s[l][0]);Number.isNaN(S)===!1?l++:S=null;const R=s[l++][0];o.push(new Gp(y,R,S,N,M))}const u=t.substring(i[0].length),d=i[3]!==void 0?i[3]:"",q=i[2],_=i[1]!==void 0?i[1]:"",g=e!==-1?n.slice(0,e):"";return{type:q,inputs:o,name:d,precision:_,inputsCode:r,blockCode:u,headerCode:g}}else throw new Error("FunctionNode: Function is not a GLSL code.")};class kie extends kp{constructor(e){const{type:t,inputs:i,name:r,precision:s,inputsCode:a,blockCode:o,headerCode:l}=Vie(e);super(t,i,r,s),this.inputsCode=a,this.blockCode=o,this.headerCode=l}getCode(e=this.name){let t;const i=this.blockCode;if(i!==""){const{type:r,inputsCode:s,headerCode:a,precision:o}=this;let l=`${r} ${e} ( ${s.trim()} )`;o!==""&&(l=`${o} ${l}`),t=a+l+i}else t="";return t}}class zie extends Db{parseFunction(e){return new kie(e)}}const BM=new WeakMap,j0=[],Ss=[];class Wie extends ts{constructor(e,t){super(),this.renderer=e,this.backend=t,this.nodeFrame=new CM,this.nodeBuilderCache=new Map,this.callHashCache=new F0,this.groupsData=new F0,this.cacheLib={}}updateGroup(e){const t=e.groupNode,i=t.name;if(i===Fq.name)return!0;if(i===Ct.name){const s=this.get(e),a=this.nodeFrame.renderId;return s.renderId!==a?(s.renderId=a,!0):!1}if(i===bv.name){const s=this.get(e),a=this.nodeFrame.frameId;return s.frameId!==a?(s.frameId=a,!0):!1}j0[0]=t,j0[1]=e;let r=this.groupsData.get(j0);return r===void 0&&this.groupsData.set(j0,r={}),j0.length=0,r.version!==t.version?(r.version=t.version,!0):!1}getForRenderCacheKey(e){return e.initialCacheKey}getForRender(e){const t=this.get(e);let i=t.nodeBuilderState;if(i===void 0){const{nodeBuilderCache:r}=this,s=this.getForRenderCacheKey(e);if(i=r.get(s),i===void 0){const a=this.backend.createNodeBuilder(e.object,this.renderer);a.scene=e.scene,a.material=e.material,a.camera=e.camera,a.context.material=e.material,a.lightsNode=e.lightsNode,a.environmentNode=this.getEnvironmentNode(e.scene),a.fogNode=this.getFogNode(e.scene),a.clippingContext=e.clippingContext,this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview&&a.enableMultiview(),a.build(),i=this._createNodeBuilderState(a),r.set(s,i)}i.usedTimes++,t.nodeBuilderState=i}return i}delete(e){if(e.isRenderObject){const t=this.get(e).nodeBuilderState;t.usedTimes--,t.usedTimes===0&&this.nodeBuilderCache.delete(this.getForRenderCacheKey(e))}return super.delete(e)}getForCompute(e){const t=this.get(e);let i=t.nodeBuilderState;if(i===void 0){const r=this.backend.createNodeBuilder(e,this.renderer);r.build(),i=this._createNodeBuilderState(r),t.nodeBuilderState=i}return i}_createNodeBuilderState(e){return new lie(e.vertexShader,e.fragmentShader,e.computeShader,e.getAttributesArray(),e.getBindings(),e.updateNodes,e.updateBeforeNodes,e.updateAfterNodes,e.observer,e.transforms)}getEnvironmentNode(e){this.updateEnvironment(e);let t=null;if(e.environmentNode&&e.environmentNode.isNode)t=e.environmentNode;else{const i=this.get(e);i.environmentNode&&(t=i.environmentNode)}return t}
3881getBackgroundNode(e){this.updateBackground(e);let t=null;if(e.backgroundNode&&e.backgroundNode.isNode)t=e.backgroundNode;else{const i=this.get(e);i.backgroundNode&&(t=i.backgroundNode)}return t}getFogNode(e){return this.updateFog(e),e.fogNode||this.get(e).fogNode||null}getCacheKey(e,t){j0[0]=e,j0[1]=t;const i=this.renderer.info.calls,r=this.callHashCache.get(j0)||{};if(r.callId!==i){const s=this.getEnvironmentNode(e),a=this.getFogNode(e);t&&Ss.push(t.getCacheKey(!0)),s&&Ss.push(s.getCacheKey()),a&&Ss.push(a.getCacheKey()),Ss.push(this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview?1:0),Ss.push(this.renderer.shadowMap.enabled?1:0),r.callId=i,r.cacheKey=nu(Ss),this.callHashCache.set(j0,r),Ss.length=0}return j0.length=0,r.cacheKey}get isToneMappingState(){return!this.renderer.getRenderTarget()}updateBackground(e){const t=this.get(e),i=e.background;if(i){const r=e.backgroundBlurriness===0&&t.backgroundBlurriness>0||e.backgroundBlurriness>0&&t.backgroundBlurriness===0;if(t.background!==i||r){const s=this.getCacheNode("background",i,()=>{if(i.isCubeTexture===!0||i.mapping===Fo||i.mapping===Go||i.mapping===oa){if(e.backgroundBlurriness>0||i.mapping===oa)return yp(i);{let a;return i.isCubeTexture===!0?a=q4(i):a=S1(i),hR(a)}}else{if(i.isTexture===!0)return S1(i,D0.flipY()).setUpdateMatrix(!0);i.isColor!==!0&&console.error("WebGPUNodes: Unsupported background configuration.",i)}},r);t.backgroundNode=s,t.background=i,t.backgroundBlurriness=e.backgroundBlurriness}}else t.backgroundNode&&(delete t.backgroundNode,delete t.background)}getCacheNode(e,t,i,r=!1){const s=this.cacheLib[e]||(this.cacheLib[e]=new WeakMap);let a=s.get(t);return(a===void 0||r)&&(a=i(),s.set(t,a)),a}updateFog(e){const t=this.get(e),i=e.fog;if(i){if(t.fog!==i){const r=this.getCacheNode("fog",i,()=>{if(i.isFogExp2){const s=rn("color","color",i).setGroup(Ct),a=rn("density","float",i).setGroup(Ct);return V8(s,Rp(a))}else if(i.isFog){const s=rn("color","color",i).setGroup(Ct),a=rn("near","float",i).setGroup(Ct),o=rn("far","float",i).setGroup(Ct);return V8(s,Tp(a,o))}else console.error("THREE.Renderer: Unsupported fog configuration.",i)});t.fogNode=r,t.fog=i}}else delete t.fogNode,delete t.fog}updateEnvironment(e){const t=this.get(e),i=e.environment;if(i){if(t.environment!==i){const r=this.getCacheNode("environment",i,()=>{if(i.isCubeTexture===!0)return q4(i);if(i.isTexture===!0)return S1(i);console.error("Nodes: Unsupported environment configuration.",i)});t.environmentNode=r,t.environment=i}}else t.environmentNode&&(delete t.environmentNode,delete t.environment)}getNodeFrame(e=this.renderer,t=null,i=null,r=null,s=null){const a=this.nodeFrame;return a.renderer=e,a.scene=t,a.object=i,a.camera=r,a.material=s,a}getNodeFrameForRender(e){return this.getNodeFrame(e.renderer,e.scene,e.object,e.camera,e.material)}getOutputCacheKey(){const e=this.renderer;return e.toneMapping+","+e.currentColorSpace+","+e.xr.isPresenting}hasOutputChange(e){return BM.get(e)!==this.getOutputCacheKey()}getOutputNode(e){const t=this.renderer,i=this.getOutputCacheKey(),r=e.isArrayTexture?WR(e,he(D0,c5("gl_ViewID_OVR"))).renderOutput(t.toneMapping,t.currentColorSpace):S1(e,D0).renderOutput(t.toneMapping,t.currentColorSpace);return BM.set(e,i),r}updateBefore(e){const t=e.getNodeBuilderState();for(const i of t.updateBeforeNodes)this.getNodeFrameForRender(e).updateBeforeNode(i)}updateAfter(e){const t=e.getNodeBuilderState();for(const i of t.updateAfterNodes)this.getNodeFrameForRender(e).updateAfterNode(i)}updateForCompute(e){const t=this.getNodeFrame(),i=this.getForCompute(e);for(const r of i.updateNodes)t.updateNode(r)}updateForRender(e){const t=this.getNodeFrameForRender(e),i=e.getNodeBuilderState();for(const r of i.updateNodes)t.updateNode(r)}needsRefresh(e){const t=this.getNodeFrameForRender(e);return e.getMonitor().needsRefresh(e,t)}dispose(){super.dispose(),this.nodeFrame=new CM,this.nodeBuilderCache=new Map,this.cacheLib={}}}const PA=new e2;class T9{constructor(e=null){this.version=0,this.clipIntersection=null,this.cacheKey="",this.shadowPass=!1,this.viewNormalMatrix=new o1,this.clippingGroupContexts=new WeakMap,this.intersectionPlanes=[],this.unionPlanes=[],this.parentVersion=null,e!==null&&(this.viewNormalMatrix=e.viewNormalMatrix,this.clippingGroupContexts=e.clippingGroupContexts,this.shadowPass=e.shadowPass,this.viewMatrix=e.viewMatrix)}projectPlanes(e,t,i){const r=e.length;for(let s=0;s<r;s++){PA.copy(e[s]).applyMatrix4(this.viewMatrix,this.viewNormalMatrix);const a=t[i+s],o=PA.normal;a.x=-o.x,a.y=-o.y,a.z=-o.z,a.w=PA.constant}}updateGlobal(e,t){this.shadowPass=e.overrideMaterial!==null&&e.overrideMaterial.isShadowPassMaterial,this.viewMatrix=t.matrixWorldInverse,this.viewNormalMatrix.getNormalMatrix(this.viewMatrix)}update(e,t){let i=!1;e.version!==this.parentVersion&&(this.intersectionPlanes=Array.from(e.intersectionPlanes),this.unionPlanes=Array.from(e.unionPlanes),this.parentVersion=e.version),this.clipIntersection!==t.clipIntersection&&(this.clipIntersection=t.clipIntersection,this.clipIntersection?this.unionPlanes.length=e.unionPlanes.length:this.intersectionPlanes.length=e.intersectionPlanes.length);const r=t.clippingPlanes,s=r.length;let a,o;if(this.clipIntersection?(a=this.intersectionPlanes,o=e.intersectionPlanes.length):(a=this.unionPlanes,o=e.unionPlanes.length),a.length!==o+s){a.length=o+s;for(let l=0;l<s;l++)a[o+l]=new wt;i=!0}this.projectPlanes(r,a,o),i&&(this.version++,this.cacheKey=`${this.intersectionPlanes.length}:${this.unionPlanes.length}`)}
3881getGroupContext(e){if(this.shadowPass&&!e.clipShadows)return this;let t=this.clippingGroupContexts.get(e);return t===void 0&&(t=new T9(this),this.clippingGroupContexts.set(e,t)),t.update(this,e),t}get unionClippingCount(){return this.unionPlanes.length}}class Hie{constructor(e,t){this.bundleGroup=e,this.camera=t}}const g6=[];class Kie{constructor(){this.bundles=new F0}get(e,t){const i=this.bundles;g6[0]=e,g6[1]=t;let r=i.get(g6);return r===void 0&&(r=new Hie(e,t),i.set(g6,r)),g6.length=0,r}dispose(){this.bundles=new F0}}class Cb{constructor(){this.lightNodes=new WeakMap,this.materialNodes=new Map,this.toneMappingNodes=new Map}fromMaterial(e){if(e.isNodeMaterial)return e;let t=null;const i=this.getMaterialNodeClass(e.type);if(i!==null){t=new i;for(const r in e)t[r]=e[r]}return t}addToneMapping(e,t){this.addType(e,t,this.toneMappingNodes)}getToneMappingFunction(e){return this.toneMappingNodes.get(e)||null}getMaterialNodeClass(e){return this.materialNodes.get(e)||null}addMaterial(e,t){this.addType(e,t,this.materialNodes)}getLightNodeClass(e){return this.lightNodes.get(e)||null}addLight(e,t){this.addClass(e,t,this.lightNodes)}addType(e,t,i){if(i.has(t)){console.warn(`Redefinition of node ${t}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t=="function"||typeof t=="object")throw new Error(`Base class ${t} is not a class.`);i.set(t,e)}addClass(e,t,i){if(i.has(t)){console.warn(`Redefinition of node ${t.name}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t!="function")throw new Error(`Base class ${t.name} is not a class.`);i.set(t,e)}}const Yie=new Cp,E6=[];class $ie extends F0{constructor(){super()}createNode(e=[]){return new Cp().setLights(e)}getNode(e,t){if(e.isQuadMesh)return Yie;E6[0]=e,E6[1]=t;let i=this.get(E6);return i===void 0&&(i=this.createNode(),this.set(E6,i)),E6.length=0,i}}class C6 extends o3{constructor(e=1,t=1,i={}){super(e,t,i),this.isXRRenderTarget=!0,this.hasExternalTextures=!1,this.autoAllocateDepthBuffer=!0}copy(e){return super.copy(e),this.hasExternalTextures=e.hasExternalTextures,this.autoAllocateDepthBuffer=e.autoAllocateDepthBuffer,this}}const UM=new Z,FM=new Z;class jie extends O2{constructor(e,t=!1){super(),this.enabled=!1,this.isPresenting=!1,this.cameraAutoUpdate=!0,this._renderer=e,this._cameraL=new gi,this._cameraL.viewport=new wt,this._cameraR=new gi,this._cameraR.viewport=new wt,this._cameras=[this._cameraL,this._cameraR],this._cameraXR=new Iy,this._currentDepthNear=null,this._currentDepthFar=null,this._controllers=[],this._controllerInputSources=[],this._xrRenderTarget=null,this._layers=[],this._supportsLayers=!1,this._frameBufferTargets=null,this._createXRLayer=tre.bind(this),this._gl=null,this._currentAnimationContext=null,this._currentAnimationLoop=null,this._currentPixelRatio=null,this._currentSize=new Ce,this._onSessionEvent=Qie.bind(this),this._onSessionEnd=Jie.bind(this),this._onInputSourcesChange=ere.bind(this),this._onAnimationFrame=nre.bind(this),this._referenceSpace=null,this._referenceSpaceType="local-floor",this._customReferenceSpace=null,this._framebufferScaleFactor=1,this._foveation=1,this._session=null,this._glBaseLayer=null,this._glBinding=null,this._glProjLayer=null,this._xrFrame=null,this._useLayers=typeof XRWebGLBinding<"u"&&"createProjectionLayer"in XRWebGLBinding.prototype,this._useMultiviewIfPossible=t,this._useMultiview=!1}getController(e){return this._getController(e).getTargetRaySpace()}getControllerGrip(e){return this._getController(e).getGripSpace()}getHand(e){return this._getController(e).getHandSpace()}getFoveation(){if(!(this._glProjLayer===null&&this._glBaseLayer===null))return this._foveation}setFoveation(e){this._foveation=e,this._glProjLayer!==null&&(this._glProjLayer.fixedFoveation=e),this._glBaseLayer!==null&&this._glBaseLayer.fixedFoveation!==void 0&&(this._glBaseLayer.fixedFoveation=e)}getFramebufferScaleFactor(){return this._framebufferScaleFactor}setFramebufferScaleFactor(e){this._framebufferScaleFactor=e,this.isPresenting===!0&&console.warn("THREE.XRManager: Cannot change framebuffer scale while presenting.")}getReferenceSpaceType(){return this._referenceSpaceType}setReferenceSpaceType(e){this._referenceSpaceType=e,this.isPresenting===!0&&console.warn("THREE.XRManager: Cannot change reference space type while presenting.")}getReferenceSpace(){return this._customReferenceSpace||this._referenceSpace}setReferenceSpace(e){this._customReferenceSpace=e}getCamera(){return this._cameraXR}getEnvironmentBlendMode(){if(this._session!==null)return this._session.environmentBlendMode}getFrame(){return this._xrFrame}useMultiview(){return this._useMultiview}createQuadLayer(e,t,i,r,s,a,o,l={}){const u=new e5(e,t),d=new C6(s,a,{format:Vn,type:Ln,depthTexture:new $r(s,a,l.stencil?Wr:cn,void 0,void 0,void 0,void 0,void 0,void 0,l.stencil?Kr:Hr),stencilBuffer:l.stencil,resolveDepthBuffer:!1,resolveStencilBuffer:!1});d.autoAllocateDepthBuffer=!0;const q=new a0({color:16777215,side:Mr});q.map=d.texture,q.map.offset.y=1,q.map.repeat.y=-1;const _=new F1(u,q);_.position.copy(i),_.quaternion.copy(r);const g={type:"quad",width:e,height:t,translation:i,quaternion:r,pixelwidth:s,pixelheight:a,plane:_,material:q,rendercall:o,renderTarget:d};if(this._layers.push(g),this._session!==null){g.plane.material=new a0({color:16777215,side:Mr}),g.plane.material.blending=No,g.plane.material.blendEquation=Gi,g.plane.material.blendSrc=U2,g.plane.material.blendDst=U2,g.xrlayer=this._createXRLayer(g);const M=this._session.renderState.layers;M.unshift(g.xrlayer),this._session.updateRenderState({layers:M})}else d.isXRRenderTarget=!1;return _}createCylinderLayer(e,t,i,r,s,a,o,l,u={}){const d=new j9(e,e,e*t/i,64,64,!0,Math.PI-t/2,t),q=new C6(a,o,{format:Vn,type:Ln,depthTexture:new $r(a,o,u.stencil?Wr:cn,void 0,void 0,void 0,void 0,void 0,void 0,u.stencil?Kr:Hr),stencilBuffer:u.stencil,resolveDepthBuffer:!1,resolveStencilBuffer:!1});q.autoAllocateDepthBuffer=!0;const _=new a0({color:16777215,side:Q1});_.map=q.texture,_.map.offset.y=1,_.map.repeat.y=-1;const g=new F1(d,_);g.position.copy(r),g.quaternion.copy(s);
3881const M={type:"cylinder",radius:e,centralAngle:t,aspectratio:i,translation:r,quaternion:s,pixelwidth:a,pixelheight:o,plane:g,material:_,rendercall:l,renderTarget:q};if(this._layers.push(M),this._session!==null){M.plane.material=new a0({color:16777215,side:Q1}),M.plane.material.blending=No,M.plane.material.blendEquation=Gi,M.plane.material.blendSrc=U2,M.plane.material.blendDst=U2,M.xrlayer=this._createXRLayer(M);const N=this._session.renderState.layers;N.unshift(M.xrlayer),this._session.updateRenderState({layers:N})}else q.isXRRenderTarget=!1;return g}renderLayers(){const e=new Z,t=new B0,i=this._renderer,r=this.isPresenting,s=i.getOutputRenderTarget(),a=i._frameBufferTarget;this.isPresenting=!1;const o=new Ce;i.getSize(o);const l=i._quad;for(const u of this._layers)if(u.renderTarget.isXRRenderTarget=this._session!==null,u.renderTarget.hasExternalTextures=u.renderTarget.isXRRenderTarget,u.renderTarget.isXRRenderTarget&&this._supportsLayers){u.xrlayer.transform=new XRRigidTransform(u.plane.getWorldPosition(e),u.plane.getWorldQuaternion(t));const d=this._glBinding.getSubImage(u.xrlayer,this._xrFrame);i.backend.setXRRenderTargetTextures(u.renderTarget,d.colorTexture,void 0),i._setXRLayerSize(u.renderTarget.width,u.renderTarget.height),i.setOutputRenderTarget(u.renderTarget),i.setRenderTarget(null),i._frameBufferTarget=null,this._frameBufferTargets||(this._frameBufferTargets=new WeakMap);const{frameBufferTarget:q,quad:_}=this._frameBufferTargets.get(u.renderTarget)||{frameBufferTarget:null,quad:null};q?(i._frameBufferTarget=q,i._quad=_):(i._quad=new Nu(new kn),this._frameBufferTargets.set(u.renderTarget,{frameBufferTarget:i._getFrameBufferTarget(),quad:i._quad})),u.rendercall(),i._frameBufferTarget=null}else i.setRenderTarget(u.renderTarget),u.rendercall();i.setRenderTarget(null),i.setOutputRenderTarget(s),i._frameBufferTarget=a,i._setXRLayerSize(o.x,o.y),i._quad=l,this.isPresenting=r}getSession(){return this._session}async setSession(e){const t=this._renderer,i=t.backend;this._gl=t.getContext();const r=this._gl,s=r.getContextAttributes();if(this._session=e,e!==null){if(i.isWebGPUBackend===!0)throw new Error('THREE.XRManager: XR is currently not supported with a WebGPU backend. Use WebGL by passing "{ forceWebGL: true }" to the constructor of the renderer.');if(e.addEventListener("select",this._onSessionEvent),e.addEventListener("selectstart",this._onSessionEvent),e.addEventListener("selectend",this._onSessionEvent),e.addEventListener("squeeze",this._onSessionEvent),e.addEventListener("squeezestart",this._onSessionEvent),e.addEventListener("squeezeend",this._onSessionEvent),e.addEventListener("end",this._onSessionEnd),e.addEventListener("inputsourceschange",this._onInputSourcesChange),await i.makeXRCompatible(),this._currentPixelRatio=t.getPixelRatio(),t.getSize(this._currentSize),this._currentAnimationContext=t._animation.getContext(),this._currentAnimationLoop=t._animation.getAnimationLoop(),t._animation.stop(),this._useLayers===!0){let a=null,o=null,l=null;t.depth&&(l=t.stencil?r.DEPTH24_STENCIL8:r.DEPTH_COMPONENT24,a=t.stencil?Kr:Hr,o=t.stencil?Wr:cn);const u={colorFormat:r.RGBA8,depthFormat:l,scaleFactor:this._framebufferScaleFactor,clearOnAccess:!1};this._useMultiviewIfPossible&&t.hasFeature("OVR_multiview2")&&(u.textureType="texture-array",this._useMultiview=!0);const d=new XRWebGLBinding(e,r),q=d.createProjectionLayer(u),_=[q];this._glBinding=d,this._glProjLayer=q,t.setPixelRatio(1),t._setXRLayerSize(q.textureWidth,q.textureHeight);const g=this._useMultiview?2:1,M=new $r(q.textureWidth,q.textureHeight,o,void 0,void 0,void 0,void 0,void 0,void 0,a,g);if(this._xrRenderTarget=new C6(q.textureWidth,q.textureHeight,{format:Vn,type:Ln,colorSpace:t.outputColorSpace,depthTexture:M,stencilBuffer:t.stencil,samples:s.antialias?4:0,resolveDepthBuffer:q.ignoreDepthValues===!1,resolveStencilBuffer:q.ignoreDepthValues===!1,depth:this._useMultiview?2:1,multiview:this._useMultiview}),this._xrRenderTarget.hasExternalTextures=!0,this._xrRenderTarget.depth=this._useMultiview?2:1,this._supportsLayers=e.enabledFeatures.includes("layers"),this._referenceSpace=await e.requestReferenceSpace(this.getReferenceSpaceType()),this._supportsLayers)for(const N of this._layers)N.plane.material=new a0({color:16777215,side:N.type==="cylinder"?Q1:Mr}),N.plane.material.blending=No,N.plane.material.blendEquation=Gi,N.plane.material.blendSrc=U2,N.plane.material.blendDst=U2,N.xrlayer=this._createXRLayer(N),_.unshift(N.xrlayer);e.updateRenderState({layers:_})}else{const a={antialias:t.samples>0,alpha:!0,depth:t.depth,stencil:t.stencil,framebufferScaleFactor:this.getFramebufferScaleFactor()},o=new XRWebGLLayer(e,r,a);this._glBaseLayer=o,e.updateRenderState({baseLayer:o}),t.setPixelRatio(1),t._setXRLayerSize(o.framebufferWidth,o.framebufferHeight),this._xrRenderTarget=new C6(o.framebufferWidth,o.framebufferHeight,{format:Vn,type:Ln,colorSpace:t.outputColorSpace,stencilBuffer:t.stencil,resolveDepthBuffer:o.ignoreDepthValues===!1,resolveStencilBuffer:o.ignoreDepthValues===!1}),this._referenceSpace=await e.requestReferenceSpace(this.getReferenceSpaceType())}this.setFoveation(this.getFoveation()),t._animation.setAnimationLoop(this._onAnimationFrame),t._animation.setContext(e),t._animation.start(),this.isPresenting=!0,this.dispatchEvent({type:"sessionstart"})}}updateCamera(e){const t=this._session;if(t===null)return;const i=e.near,r=e.far,s=this._cameraXR,a=this._cameraL,o=this._cameraR;s.near=o.near=a.near=i,s.far=o.far=a.far=r,s.isMultiViewCamera=this._useMultiview,(this._currentDepthNear!==s.near||this._currentDepthFar!==s.far)&&(t.updateRenderState({depthNear:s.near,depthFar:s.far}),this._currentDepthNear=s.near,this._currentDepthFar=s.far),a.layers.mask=e.layers.mask|2,o.layers.mask=e.layers.mask|4,s.layers.mask=a.layers.mask|o.layers.mask;const l=e.parent,u=s.cameras;GM(s,l);for(let d=0;d<u.length;d++)GM(u[d],l);u.length===2?Xie(s,a,o):s.projectionMatrix.copy(a.projectionMatrix),Zie(e,s,l)}_getController(e){let t=this._controllers[e];return t===void 0&&(t=new a7,this._controllers[e]=t),t}}function Xie(n,e,t){UM.setFromMatrixPosition(e.matrixWorld),FM.setFromMatrixPosition(t.matrixWorld);const i=UM.distanceTo(FM),r=e.projectionMatrix.elements,s=t.projectionMatrix.elements,a=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],u=(r[9]-1)/r[5],d=(r[8]-1)/r[0],q=(s[8]+1)/s[0],_=a*d,g=a*q,M=i/(-d+q),N=M*-d;if(e.matrixWorld.decompose(n.position,n.quaternion,n.scale),n.translateX(N),n.translateZ(M),n.matrixWorld.compose(n.position,n.quaternion,n.scale),n.matrixWorldInverse.copy(n.matrixWorld).invert(),r[10]===-1)n.projectionMatrix.copy(e.projectionMatrix),n.projectionMatrixInverse.copy(e.projectionMatrixInverse);else{const y=a+M,S=o+M,R=_-N,O=g+(i-N),b=l*o/S*y,D=u*o/S*y;n.projectionMatrix.makePerspective(R,O,b,D,y,S),n.projectionMatrixInverse.copy(n.projectionMatrix).invert()}}
3881function GM(n,e){e===null?n.matrixWorld.copy(n.matrix):n.matrixWorld.multiplyMatrices(e.matrixWorld,n.matrix),n.matrixWorldInverse.copy(n.matrixWorld).invert()}function Zie(n,e,t){t===null?n.matrix.copy(e.matrixWorld):(n.matrix.copy(t.matrixWorld),n.matrix.invert(),n.matrix.multiply(e.matrixWorld)),n.matrix.decompose(n.position,n.quaternion,n.scale),n.updateMatrixWorld(!0),n.projectionMatrix.copy(e.projectionMatrix),n.projectionMatrixInverse.copy(e.projectionMatrixInverse),n.isPerspectiveCamera&&(n.fov=ca*2*Math.atan(1/n.projectionMatrix.elements[5]),n.zoom=1)}function Qie(n){const e=this._controllerInputSources.indexOf(n.inputSource);if(e===-1)return;const t=this._controllers[e];if(t!==void 0){const i=this.getReferenceSpace();t.update(n.inputSource,n.frame,i),t.dispatchEvent({type:n.type,data:n.inputSource})}}function Jie(){const n=this._session,e=this._renderer;n.removeEventListener("select",this._onSessionEvent),n.removeEventListener("selectstart",this._onSessionEvent),n.removeEventListener("selectend",this._onSessionEvent),n.removeEventListener("squeeze",this._onSessionEvent),n.removeEventListener("squeezestart",this._onSessionEvent),n.removeEventListener("squeezeend",this._onSessionEvent),n.removeEventListener("end",this._onSessionEnd),n.removeEventListener("inputsourceschange",this._onInputSourcesChange);for(let t=0;t<this._controllers.length;t++){const i=this._controllerInputSources[t];i!==null&&(this._controllerInputSources[t]=null,this._controllers[t].disconnect(i))}if(this._currentDepthNear=null,this._currentDepthFar=null,e._resetXRState(),this._session=null,this._xrRenderTarget=null,this._supportsLayers===!0)for(const t of this._layers)t.renderTarget=new C6(t.pixelwidth,t.pixelheight,{format:Vn,type:Ln,depthTexture:new $r(t.pixelwidth,t.pixelheight,t.stencilBuffer?Wr:cn,void 0,void 0,void 0,void 0,void 0,void 0,t.stencilBuffer?Kr:Hr),stencilBuffer:t.stencilBuffer,resolveDepthBuffer:!1,resolveStencilBuffer:!1}),t.renderTarget.isXRRenderTarget=!1,t.plane.material=t.material,t.material.map=t.renderTarget.texture,t.material.map.offset.y=1,t.material.map.repeat.y=-1,delete t.xrlayer;this.isPresenting=!1,this._useMultiview=!1,e._animation.stop(),e._animation.setAnimationLoop(this._currentAnimationLoop),e._animation.setContext(this._currentAnimationContext),e._animation.start(),e.setPixelRatio(this._currentPixelRatio),e.setSize(this._currentSize.width,this._currentSize.height,!1),this.dispatchEvent({type:"sessionend"})}function ere(n){const e=this._controllers,t=this._controllerInputSources;for(let i=0;i<n.removed.length;i++){const r=n.removed[i],s=t.indexOf(r);s>=0&&(t[s]=null,e[s].disconnect(r))}for(let i=0;i<n.added.length;i++){const r=n.added[i];let s=t.indexOf(r);if(s===-1){for(let o=0;o<e.length;o++)if(o>=t.length){t.push(r),s=o;break}else if(t[o]===null){t[o]=r,s=o;break}if(s===-1)break}const a=e[s];a&&a.connect(r)}}function tre(n){return n.type==="quad"?this._glBinding.createQuadLayer({transform:new XRRigidTransform(n.translation,n.quaternion),width:n.width/2,height:n.height/2,space:this._referenceSpace,viewPixelWidth:n.pixelwidth,viewPixelHeight:n.pixelheight,clearOnAccess:!1}):this._glBinding.createCylinderLayer({transform:new XRRigidTransform(n.translation,n.quaternion),radius:n.radius,centralAngle:n.centralAngle,aspectRatio:n.aspectRatio,space:this._referenceSpace,viewPixelWidth:n.pixelwidth,viewPixelHeight:n.pixelheight,clearOnAccess:!1})}function nre(n,e){if(e===void 0)return;const t=this._cameraXR,i=this._renderer,r=i.backend,s=this._glBaseLayer,a=this.getReferenceSpace(),o=e.getViewerPose(a);if(this._xrFrame=e,o!==null){const l=o.views;this._glBaseLayer!==null&&r.setXRTarget(s.framebuffer);let u=!1;l.length!==t.cameras.length&&(t.cameras.length=0,u=!0);for(let d=0;d<l.length;d++){const q=l[d];let _;if(this._useLayers===!0){const M=this._glBinding.getViewSubImage(this._glProjLayer,q);_=M.viewport,d===0&&r.setXRRenderTargetTextures(this._xrRenderTarget,M.colorTexture,this._glProjLayer.ignoreDepthValues&&!this._useMultiview?void 0:M.depthStencilTexture)}else _=s.getViewport(q);let g=this._cameras[d];g===void 0&&(g=new gi,g.layers.enable(d),g.viewport=new wt,this._cameras[d]=g),g.matrix.fromArray(q.transform.matrix),g.matrix.decompose(g.position,g.quaternion,g.scale),g.projectionMatrix.fromArray(q.projectionMatrix),g.projectionMatrixInverse.copy(g.projectionMatrix).invert(),g.viewport.set(_.x,_.y,_.width,_.height),d===0&&(t.matrix.copy(g.matrix),t.matrix.decompose(t.position,t.quaternion,t.scale)),u===!0&&t.cameras.push(g)}
3881i.setOutputRenderTarget(this._xrRenderTarget)}for(let l=0;l<this._controllers.length;l++){const u=this._controllerInputSources[l],d=this._controllers[l];u!==null&&d!==void 0&&d.update(u,e,a)}this._currentAnimationLoop&&this._currentAnimationLoop(n,e),e.detectedPlanes&&this.dispatchEvent({type:"planesdetected",data:e}),this._xrFrame=null}const VM=new K9,Ul=new Ce,LA=new wt,DA=new b4,CA=new Xd,Fl=new Yt,O3=new wt;class ire{constructor(e,t={}){this.isRenderer=!0;const{logarithmicDepthBuffer:i=!1,alpha:r=!0,depth:s=!0,stencil:a=!1,antialias:o=!1,samples:l=0,getFallback:u=null,colorBufferType:d=Jn,multiview:q=!1}=t;this.domElement=e.getDomElement(),this.backend=e,this.samples=l||o===!0?4:0,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.alpha=r,this.logarithmicDepthBuffer=i,this.outputColorSpace=vi,this.toneMapping=Sr,this.toneMappingExposure=1,this.sortObjects=!0,this.depth=s,this.stencil=a,this.info=new nee,this.overrideNodes={modelViewMatrix:null,modelNormalViewMatrix:null},this.library=new Cb,this.lighting=new $ie,this._getFallback=u,this._pixelRatio=1,this._width=this.domElement.width,this._height=this.domElement.height,this._viewport=new wt(0,0,this._width,this._height),this._scissor=new wt(0,0,this._width,this._height),this._scissorTest=!1,this._attributes=null,this._geometries=null,this._nodes=null,this._animation=null,this._bindings=null,this._objects=null,this._pipelines=null,this._bundles=null,this._renderLists=null,this._renderContexts=null,this._textures=null,this._background=null,this._quad=new Nu(new kn),this._quad.material.name="Renderer_output",this._currentRenderContext=null,this._opaqueSort=null,this._transparentSort=null,this._frameBufferTarget=null;const _=this.alpha===!0?0:1;this._clearColor=new Np(0,0,0,_),this._clearDepth=1,this._clearStencil=0,this._renderTarget=null,this._activeCubeFace=0,this._activeMipmapLevel=0,this._outputRenderTarget=null,this._mrt=null,this._renderObjectFunction=null,this._currentRenderObjectFunction=null,this._currentRenderBundle=null,this._handleObjectFunction=this._renderObjectDirect,this._isDeviceLost=!1,this.onDeviceLost=this._onDeviceLost,this._colorBufferType=d,this._initialized=!1,this._initPromise=null,this._compilationPromises=null,this.transparent=!0,this.opaque=!0,this.shadowMap={enabled:!1,type:Md},this.xr=new jie(this,q),this.debug={checkShaderErrors:!0,onShaderError:null,getShaderAsync:async(g,M,N)=>{await this.compileAsync(g,M);const y=this._renderLists.get(g,M),S=this._renderContexts.get(g,M,this._renderTarget),R=g.overrideMaterial||N.material,O=this._objects.get(N,R,g,M,y.lightsNode,S,S.clippingContext),{fragmentShader:b,vertexShader:D}=O.getNodeBuilderState();return{fragmentShader:b,vertexShader:D}}}}
3881async init(){if(this._initialized)throw new Error("Renderer: Backend has already been initialized.");return this._initPromise!==null?this._initPromise:(this._initPromise=new Promise(async(e,t)=>{let i=this.backend;try{await i.init(this)}catch(r){if(this._getFallback!==null)try{this.backend=i=this._getFallback(r),await i.init(this)}catch(s){t(s);return}else{t(r);return}}this._nodes=new Wie(this,i),this._animation=new YJ(this._nodes,this.info),this._attributes=new eee(i),this._background=new aie(this,this._nodes),this._geometries=new tee(this._attributes,this.info),this._textures=new _ee(this,i,this.info),this._pipelines=new aee(i,this._nodes),this._bindings=new oee(i,this._nodes,this._textures,this._attributes,this._pipelines,this.info),this._objects=new ZJ(this,this._nodes,this._geometries,this._pipelines,this._bindings,this.info),this._renderLists=new cee(this.lighting),this._bundles=new Kie,this._renderContexts=new qee,this._animation.start(),this._initialized=!0,e(this)}),this._initPromise)}get coordinateSystem(){return this.backend.coordinateSystem}async compileAsync(e,t,i=null){if(this._isDeviceLost===!0)return;this._initialized===!1&&await this.init();const r=this._nodes.nodeFrame,s=r.renderId,a=this._currentRenderContext,o=this._currentRenderObjectFunction,l=this._compilationPromises,u=e.isScene===!0?e:VM;i===null&&(i=e);const d=this._renderTarget,q=this._renderContexts.get(i,t,d),_=this._activeMipmapLevel,g=[];this._currentRenderContext=q,this._currentRenderObjectFunction=this.renderObject,this._handleObjectFunction=this._createObjectPipeline,this._compilationPromises=g,r.renderId++,r.update(
3881),q.depth=this.depth,q.stencil=this.stencil,q.clippingContext||(q.clippingContext=new T9),q.clippingContext.updateGlobal(u,t),u.onBeforeRender(this,e,t,d);const M=this._renderLists.get(e,t);if(M.begin(),this._projectObject(e,t,0,M,q.clippingContext),i!==e&&i.traverseVisible(function(O){O.isLight&&O.layers.test(t.layers)&&M.pushLight(O)}),M.finish(),d!==null){this._textures.updateRenderTarget(d,_);const O=this._textures.get(d);q.textures=O.textures,q.depthTexture=O.depthTexture}else q.textures=null,q.depthTexture=null;this._background.update(u,M,q);const N=M.opaque,y=M.transparent,S=M.transparentDoublePass,R=M.lightsNode;this.opaque===!0&&N.length>0&&this._renderObjects(N,t,u,R),this.transparent===!0&&y.length>0&&this._renderTransparents(y,S,t,u,R),r.renderId=s,this._currentRenderContext=a,this._currentRenderObjectFunction=o,this._compilationPromises=l,this._handleObjectFunction=this._renderObjectDirect,await Promise.all(g)}async renderAsync(e,t){this._initialized===!1&&await this.init(),this._renderScene(e,t)}async waitForGPU(){await this.backend.waitForGPU()}set highPrecision(e){e===!0?(this.overrideNodes.modelViewMatrix=Sf,this.overrideNodes.modelNormalViewMatrix=yf):this.highPrecision&&(this.overrideNodes.modelViewMatrix=null,this.overrideNodes.modelNormalViewMatrix=null)}get highPrecision(){return this.overrideNodes.modelViewMatrix===Sf&&this.overrideNodes.modelNormalViewMatrix===yf}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getColorBufferType(){return this._colorBufferType}_onDeviceLost(e){let t=`THREE.WebGPURenderer: ${e.api} Device Lost: 3882 3883Message: ${e.message}`;e.reason&&(t+=` 3884Reason: ${e.reason}`),console.error(t),this._isDeviceLost=!0}_renderBundle(e,t,i){const{bundleGroup:r,camera:s,renderList:a}=e,o=this._currentRenderContext,l=this._bundles.get(r,s),u=this.backend.get(l);u.renderContexts===void 0&&(u.renderContexts=new Set);const d=r.version!==u.version,q=u.renderContexts.has(o)===!1||d;if(u.renderContexts.add(o),q){this.backend.beginBundle(o),(u.renderObjects===void 0||d)&&(u.renderObjects=[]),this._currentRenderBundle=l;const{transparentDoublePass:_,transparent:g,opaque:M}=a;this.opaque===!0&&M.length>0&&this._renderObjects(M,s,t,i),this.transparent===!0&&g.length>0&&this._renderTransparents(g,_,s,t,i),this._currentRenderBundle=null,this.backend.finishBundle(o,l),u.version=r.version}else{const{renderObjects:_}=u;for(let g=0,M=_.length;g<M;g++){const N=_[g];this._nodes.needsRefresh(N)&&(this._nodes.updateBefore(N),this._nodes.updateForRender(N),this._bindings.updateForRender(N),this._nodes.updateAfter(N))}}this.backend.addBundle(o,l)}render(e,t){if(this._initialized===!1)return console.warn("THREE.Renderer: .render() called before the backend is initialized. Try using .renderAsync() instead."),this.renderAsync(e,t);this._renderScene(e,t)}_getFrameBufferTarget(){const{currentToneMapping:e,currentColorSpace:t}=this;if(e!==Sr===!1&&t!==L0===!1)return null;const{width:s,height:a}=this.getDrawingBufferSize(Ul),{depth:o,stencil:l}=this;let u=this._frameBufferTarget;u===null&&(u=new o3(s,a,{depthBuffer:o,stencilBuffer:l,type:this._colorBufferType,format:Vn,colorSpace:L0,generateMipmaps:!1,minFilter:li,magFilter:li,samples:this.samples}),u.isPostProcessingRenderTarget=!0,this._frameBufferTarget=u);const d=this.getOutputRenderTarget();return u.depthBuffer=o,u.stencilBuffer=l,d!==null?u.setSize(d.width,d.height,d.depth):u.setSize(s,a,1),u.viewport.copy(this._viewport),u.scissor.copy(this._scissor),u.viewport.multiplyScalar(this._pixelRatio),u.scissor.multiplyScalar(this._pixelRatio),u.scissorTest=this._scissorTest,u.multiview=d!==null?d.multiview:!1,u.resolveDepthBuffer=d!==null?d.resolveDepthBuffer:!0,u.autoAllocateDepthBuffer=d!==null?d.autoAllocateDepthBuffer:!1,u}_renderScene(e,t,i=!0){if(this._isDeviceLost===!0)return;
3884const r=i?this._getFrameBufferTarget():null,s=this._nodes.nodeFrame,a=s.renderId,o=this._currentRenderContext,l=this._currentRenderObjectFunction,u=e.isScene===!0?e:VM,d=this._renderTarget||this._outputRenderTarget,q=this._activeCubeFace,_=this._activeMipmapLevel;let g;r!==null?(g=r,this.setRenderTarget(g)):g=d;const M=this._renderContexts.get(e,t,g);this._currentRenderContext=M,this._currentRenderObjectFunction=this._renderObjectFunction||this.renderObject,this.info.calls++,this.info.render.calls++,this.info.render.frameCalls++,s.renderId=this.info.calls;const N=this.coordinateSystem,y=this.xr;if(t.coordinateSystem!==N&&y.isPresenting===!1&&(t.coordinateSystem=N,t.updateProjectionMatrix(),t.isArrayCamera))for(const H of t.cameras)H.coordinateSystem=N,H.updateProjectionMatrix();e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),y.enabled===!0&&y.isPresenting===!0&&(y.cameraAutoUpdate===!0&&y.updateCamera(t),t=y.getCamera());let S=this._viewport,R=this._scissor,O=this._pixelRatio;g!==null&&(S=g.viewport,R=g.scissor,O=1),this.getDrawingBufferSize(Ul),LA.set(0,0,Ul.width,Ul.height);const b=S.minDepth===void 0?0:S.minDepth,D=S.maxDepth===void 0?1:S.maxDepth;M.viewportValue.copy(S).multiplyScalar(O).floor(),M.viewportValue.width>>=_,M.viewportValue.height>>=_,M.viewportValue.minDepth=b,M.viewportValue.maxDepth=D,M.viewport=M.viewportValue.equals(LA)===!1,M.scissorValue.copy(R).multiplyScalar(O).floor(),M.scissor=this._scissorTest&&M.scissorValue.equals(LA)===!1,M.scissorValue.width>>=_,M.scissorValue.height>>=_,M.clippingContext||(M.clippingContext=new T9),M.clippingContext.updateGlobal(u,t),u.onBeforeRender(this,e,t,g);const B=t.isArrayCamera?CA:DA;t.isArrayCamera||(Fl.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),B.setFromProjectionMatrix(Fl,N));const C=this._renderLists.get(e,t);if(C.begin(),this._projectObject(e,t,0,C,M.clippingContext),C.finish(),this.sortObjects===!0&&C.sort(this._opaqueSort,this._transparentSort),g!==null){this._textures.updateRenderTarget(g,_);const H=this._textures.get(g);M.textures=H.textures,M.depthTexture=H.depthTexture,M.width=H.width,M.height=H.height,M.renderTarget=g,M.depth=g.depthBuffer,M.stencil=g.stencilBuffer}else M.textures=null,M.depthTexture=null,M.width=this.domElement.width,M.height=this.domElement.height,M.depth=this.depth,M.stencil=this.stencil;M.width>>=_,M.height>>=_,M.activeCubeFace=q,M.activeMipmapLevel=_,M.occlusionQueryCount=C.occlusionQueryCount,this._background.update(u,C,M),M.camera=t,this.backend.beginRender(M);const{bundles:G,lightsNode:L,transparentDoublePass:P,transparent:w,opaque:z}=C;return G.length>0&&this._renderBundles(G,u,L),this.opaque===!0&&z.length>0&&this._renderObjects(z,t,u,L),this.transparent===!0&&w.length>0&&this._renderTransparents(w,P,t,u,L),this.backend.finishRender(M),s.renderId=a,this._currentRenderContext=o,this._currentRenderObjectFunction=l,r!==null&&(this.setRenderTarget(d,q,_),this._renderOutput(g)),u.onAfterRender(this,e,t,g),M}_setXRLayerSize(e,t){this._width=e,this._height=t,this.setViewport(0,0,e,t)}_renderOutput(e){const t=this._quad;this._nodes.hasOutputChange(e.texture)&&(t.material.fragmentNode=this._nodes.getOutputNode(e.texture),t.material.needsUpdate=!0);const i=this.autoClear,r=this.xr.enabled;this.autoClear=!1,this.xr.enabled=!1,this._renderScene(t,t.camera,!1),this.autoClear=i,this.xr.enabled=r}getMaxAnisotropy(){return this.backend.getMaxAnisotropy()}getActiveCubeFace(){return this._activeCubeFace}getActiveMipmapLevel(){return this._activeMipmapLevel}async setAnimationLoop(e){this._initialized===!1&&await this.init(),this._animation.setAnimationLoop(e)}async getArrayBufferAsync(e){return await this.backend.getArrayBufferAsync(e)}getContext(){return this.backend.getContext()}getPixelRatio(){return this._pixelRatio}getDrawingBufferSize(e){return e.set(this._width*this._pixelRatio,this._height*this._pixelRatio).floor()}getSize(e){return e.set(this._width,this._height)}setPixelRatio(e=1){this._pixelRatio!==e&&(this._pixelRatio=e,this.setSize(this._width,this._height,!1))}setDrawingBufferSize(e,t,i){this.xr&&this.xr.isPresenting||(this._width=e,this._height=t,this._pixelRatio=i,this.domElement.width=Math.floor(e*i),this.domElement.height=Math.floor(t*i),this.setViewport(0,0,e,t),this._initialized&&this.backend.updateSize())}setSize(e,t,i=!0){this.xr&&this.xr.isPresenting||(this._width=e,this._height=t,this.domElement.width=Math.floor(e*this._pixelRatio),this.domElement.height=Math.floor(t*this._pixelRatio),i===!0&&(this.domElement.style.width=e+"px",this.domElement.style.height=t+"px"),this.setViewport(0,0,e,t),this._initialized&&this.backend.updateSize())}setOpaqueSort(e){this._opaqueSort=e}setTransparentSort(e){this._transparentSort=e}getScissor(e){const t=this._scissor;return e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e}setScissor(e,t,i,r){const s=this._scissor;e.isVector4?s.copy(e):s.set(e,t,i,r)}getScissorTest(){return this._scissorTest}setScissorTest(e){this._scissorTest=e,this.backend.setScissorTest(e)}getViewport(e){return e.copy(this._viewport)}setViewport(e,t,i,r,s=0,a=1){const o=this._viewport;e.isVector4?o.copy(e):o.set(e,t,i,r),o.minDepth=s,o.maxDepth=a}getClearColor(e){return e.copy(this._clearColor)}
3884setClearColor(e,t=1){this._clearColor.set(e),this._clearColor.a=t}getClearAlpha(){return this._clearColor.a}setClearAlpha(e){this._clearColor.a=e}getClearDepth(){return this._clearDepth}setClearDepth(e){this._clearDepth=e}getClearStencil(){return this._clearStencil}setClearStencil(e){this._clearStencil=e}isOccluded(e){const t=this._currentRenderContext;return t&&this.backend.isOccluded(t,e)}clear(e=!0,t=!0,i=!0){if(this._initialized===!1)return console.warn("THREE.Renderer: .clear() called before the backend is initialized. Try using .clearAsync() instead."),this.clearAsync(e,t,i);const r=this._renderTarget||this._getFrameBufferTarget();let s=null;if(r!==null){this._textures.updateRenderTarget(r);const a=this._textures.get(r);s=this._renderContexts.getForClear(r),s.textures=a.textures,s.depthTexture=a.depthTexture,s.width=a.width,s.height=a.height,s.renderTarget=r,s.depth=r.depthBuffer,s.stencil=r.stencilBuffer,s.clearColorValue=this.backend.getClearColor(),s.activeCubeFace=this.getActiveCubeFace(),s.activeMipmapLevel=this.getActiveMipmapLevel()}this.backend.clear(e,t,i,s),r!==null&&this._renderTarget===null&&this._renderOutput(r)}clearColor(){return this.clear(!0,!1,!1)}clearDepth(){return this.clear(!1,!0,!1)}clearStencil(){return this.clear(!1,!1,!0)}async clearAsync(e=!0,t=!0,i=!0){this._initialized===!1&&await this.init(),this.clear(e,t,i)}async clearColorAsync(){this.clearAsync(!0,!1,!1)}async clearDepthAsync(){this.clearAsync(!1,!0,!1)}async clearStencilAsync(){this.clearAsync(!1,!1,!0)}get currentToneMapping(){return this.isOutputTarget?this.toneMapping:Sr}get currentColorSpace(){return this.isOutputTarget?this.outputColorSpace:L0}get isOutputTarget(){return this._renderTarget===this._outputRenderTarget||this._renderTarget===null}dispose(){this.info.dispose(),this.backend.dispose(),this._animation.dispose(),this._objects.dispose(),this._pipelines.dispose(),this._nodes.dispose(),this._bindings.dispose(),this._renderLists.dispose(),this._renderContexts.dispose(),this._textures.dispose(),this._frameBufferTarget!==null&&this._frameBufferTarget.dispose(),Object.values(this.backend.timestampQueryPool).forEach(e=>{e!==null&&e.dispose()}),this.setRenderTarget(null),this.setAnimationLoop(null)}setRenderTarget(e,t=0,i=0){this._renderTarget=e,this._activeCubeFace=t,this._activeMipmapLevel=i}getRenderTarget(){return this._renderTarget}setOutputRenderTarget(e){this._outputRenderTarget=e}getOutputRenderTarget(){return this._outputRenderTarget}_resetXRState(){this.backend.setXRTarget(null),this.setOutputRenderTarget(null),this.setRenderTarget(null),this._frameBufferTarget.dispose(),this._frameBufferTarget=null}setRenderObjectFunction(e){this._renderObjectFunction=e}getRenderObjectFunction(){return this._renderObjectFunction}compute(e){if(this._isDeviceLost===!0)return;if(this._initialized===!1)return console.warn("THREE.Renderer: .compute() called before the backend is initialized. Try using .computeAsync() instead."),this.computeAsync(e);const t=this._nodes.nodeFrame,i=t.renderId;this.info.calls++,this.info.compute.calls++,this.info.compute.frameCalls++,t.renderId=this.info.calls;const r=this.backend,s=this._pipelines,a=this._bindings,o=this._nodes,l=Array.isArray(e)?e:[e];if(l[0]===void 0||l[0].isComputeNode!==!0)throw new Error("THREE.Renderer: .compute() expects a ComputeNode.");r.beginCompute(e);for(const u of l){if(s.has(u)===!1){const _=()=>{u.removeEventListener("dispose",_),s.delete(u),a.delete(u),o.delete(u)};u.addEventListener("dispose",_);const g=u.onInitFunction;g!==null&&g.call(u,{renderer:this})}o.updateForCompute(u),a.updateForCompute(u);const d=a.getForCompute(u),q=s.getForCompute(u,d);r.compute(e,u,d,q)}r.finishCompute(e),t.renderId=i}async computeAsync(e){this._initialized===!1&&await this.init(),this.compute(e)}async hasFeatureAsync(e){return this._initialized===!1&&await this.init(),this.backend.hasFeature(e)}async resolveTimestampsAsync(e="render"){return this._initialized===!1&&await this.init(),this.backend.resolveTimestampsAsync(e)}hasFeature(e){return this._initialized===!1?(console.warn("THREE.Renderer: .hasFeature() called before the backend is initialized. Try using .hasFeatureAsync() instead."),!1):this.backend.hasFeature(e)}hasInitialized(){return this._initialized}async initTextureAsync(e){this._initialized===!1&&await this.init(),this._textures.updateTexture(e)}initTexture(e){this._initialized===!1&&console.warn("THREE.Renderer: .initTexture() called before the backend is initialized. Try using .initTextureAsync() instead."),this._textures.updateTexture(e)}
3884copyFramebufferToTexture(e,t=null){if(t!==null)if(t.isVector2)t=O3.set(t.x,t.y,e.image.width,e.image.height).floor();else if(t.isVector4)t=O3.copy(t).floor();else{console.error("THREE.Renderer.copyFramebufferToTexture: Invalid rectangle.");return}else t=O3.set(0,0,e.image.width,e.image.height);let i=this._currentRenderContext,r;i!==null?r=i.renderTarget:(r=this._renderTarget||this._getFrameBufferTarget(),r!==null&&(this._textures.updateRenderTarget(r),i=this._textures.get(r))),this._textures.updateTexture(e,{renderTarget:r}),this.backend.copyFramebufferToTexture(e,i,t)}copyTextureToTexture(e,t,i=null,r=null,s=0,a=0){this._textures.updateTexture(e),this._textures.updateTexture(t),this.backend.copyTextureToTexture(e,t,i,r,s,a)}async readRenderTargetPixelsAsync(e,t,i,r,s,a=0,o=0){return this.backend.copyTextureToBuffer(e.textures[a],t,i,r,s,o)}_projectObject(e,t,i,r,s){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)i=e.renderOrder,e.isClippingGroup&&e.enabled&&(s=s.getGroupContext(e));else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)r.pushLight(e);else if(e.isSprite){const l=t.isArrayCamera?CA:DA;if(!e.frustumCulled||l.intersectsSprite(e,t)){this.sortObjects===!0&&O3.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Fl);const{geometry:u,material:d}=e;d.visible&&r.push(e,u,d,i,O3.z,null,s)}}else if(e.isLineLoop)console.error("THREE.Renderer: Objects of type THREE.LineLoop are not supported. Please use THREE.Line or THREE.LineSegments.");else if(e.isMesh||e.isLine||e.isPoints){const l=t.isArrayCamera?CA:DA;if(!e.frustumCulled||l.intersectsObject(e,t)){const{geometry:u,material:d}=e;if(this.sortObjects===!0&&(u.boundingSphere===null&&u.computeBoundingSphere(),O3.copy(u.boundingSphere.center).applyMatrix4(e.matrixWorld).applyMatrix4(Fl)),Array.isArray(d)){const q=u.groups;for(let _=0,g=q.length;_<g;_++){const M=q[_],N=d[M.materialIndex];N&&N.visible&&r.push(e,u,N,i,O3.z,M,s)}}else d.visible&&r.push(e,u,d,i,O3.z,null,s)}}}if(e.isBundleGroup===!0&&this.backend.beginBundle!==void 0){const l=r;r=this._renderLists.get(e,t),r.begin(),l.pushBundle({bundleGroup:e,camera:t,renderList:r}),r.finish()}const o=e.children;for(let l=0,u=o.length;l<u;l++)this._projectObject(o[l],t,i,r,s)}_renderBundles(e,t,i){for(const r of e)this._renderBundle(r,t,i)}_renderTransparents(e,t,i,r,s){if(t.length>0){for(const{material:a}of t)a.side=Q1;this._renderObjects(t,i,r,s,"backSide");for(const{material:a}of t)a.side=Mr;this._renderObjects(e,i,r,s);for(const{material:a}of t)a.side=Qn}else this._renderObjects(e,i,r,s)}_renderObjects(e,t,i,r,s=null){for(let a=0,o=e.length;a<o;a++){const{object:l,geometry:u,material:d,group:q,clippingContext:_}=e[a];this._currentRenderObjectFunction(l,i,t,u,d,q,r,_,s)}}renderObject(e,t,i,r,s,a,o,l=null,u=null){let d,q,_;if(e.onBeforeRender(this,t,i,r,s,a),s.allowOverride===!0&&t.overrideMaterial!==null){const g=t.overrideMaterial;s.positionNode&&s.positionNode.isNode&&(d=g.positionNode,g.positionNode=s.positionNode),g.alphaTest=s.alphaTest,g.alphaMap=s.alphaMap,g.transparent=s.transparent||s.transmission>0,g.isShadowPassMaterial&&(g.side=s.shadowSide===null?s.side:s.shadowSide,s.depthNode&&s.depthNode.isNode&&(_=g.depthNode,g.depthNode=s.depthNode),s.castShadowNode&&s.castShadowNode.isNode&&(q=g.colorNode,g.colorNode=s.castShadowNode),s.castShadowPositionNode&&s.castShadowPositionNode.isNode&&(d=g.positionNode,g.positionNode=s.castShadowPositionNode)),s=g}s.transparent===!0&&s.side===Qn&&s.forceSinglePass===!1?(s.side=Q1,this._handleObjectFunction(e,s,t,i,o,a,l,"backSide"),s.side=Mr,this._handleObjectFunction(e,s,t,i,o,a,l,u),s.side=Qn):this._handleObjectFunction(e,s,t,i,o,a,l,u),d!==void 0&&(t.overrideMaterial.positionNode=d),_!==void 0&&(t.overrideMaterial.depthNode=_),q!==void 0&&(t.overrideMaterial.colorNode=q),e.onAfterRender(this,t,i,r,s,a)}_renderObjectDirect(e,t,i,r,s,a,o,l){const u=this._objects.get(e,t,i,r,s,this._currentRenderContext,o,l);u.drawRange=e.geometry.drawRange,u.group=a;const d=this._nodes.needsRefresh(u);d&&(this._nodes.updateBefore(u),this._geometries.updateForRender(u),this._nodes.updateForRender(u),this._bindings.updateForRender(u)),this._pipelines.updateForRender(u),this._currentRenderBundle!==null&&(this.backend.get(this._currentRenderBundle).renderObjects.push(u),u.bundle=this._currentRenderBundle.bundleGroup),this.backend.draw(u,this.info),d&&this._nodes.updateAfter(u)}_createObjectPipeline(e,t,i,r,s,a,o,l){const u=this._objects.get(e,t,i,r,s,this._currentRenderContext,o,l);u.drawRange=e.geometry.drawRange,u.group=a,this._nodes.updateBefore(u),this._geometries.updateForRender(u),this._nodes.updateForRender(u),this._bindings.updateForRender(u),this._pipelines.getForRender(u,this._compilationPromises),this._nodes.updateAfter(u)}get compile(){return this.compileAsync}}class zp{constructor(e=""){this.name=e,this.visibility=0}setVisibility(e){this.visibility|=e}clone(){return Object.assign(new this.constructor,this)}}function rre(n){return n+(B3-n%B3)%B3}class wb extends zp{constructor(e,t=null){super(e),this.isBuffer=!0,this.bytesPerElement=Float32Array.BYTES_PER_ELEMENT,this._buffer=t}get byteLength(){return rre(this._buffer.byteLength)}get buffer(){return this._buffer}update(){return!0}}class Bb extends wb{constructor(e,t=null){super(e,t),this.isUniformBuffer=!0}}let sre=0;class Ub extends Bb{constructor(e,t){super("UniformBuffer_"+sre++,e?e.value:null),this.nodeUniform=e,this.groupNode=t}get buffer(){return this.nodeUniform.value}}class are extends Bb{constructor(e){super(e),this.isUniformsGroup=!0,this._values=null,this.uniforms=[]}addUniform(e){return this.uniforms.push(e),this}removeUniform(e){const t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}get values(){return this._values===null&&(this._values=Array.from(this.buffer)),this._values}get buffer(){let e=this._buffer;if(e===null){const t=this.byteLength;
3884e=new Float32Array(new ArrayBuffer(t)),this._buffer=e}return e}get byteLength(){const e=this.bytesPerElement;let t=0;for(let i=0,r=this.uniforms.length;i<r;i++){const s=this.uniforms[i],a=s.boundary,o=s.itemSize*e,l=t%B3,u=l%a,d=l+u;t+=u,d!==0&&B3-d<o&&(t+=B3-d),s.offset=t/e,t+=o}return Math.ceil(t/B3)*B3}update(){let e=!1;for(const t of this.uniforms)this.updateByType(t)===!0&&(e=!0);return e}updateByType(e){if(e.isNumberUniform)return this.updateNumber(e);if(e.isVector2Uniform)return this.updateVector2(e);if(e.isVector3Uniform)return this.updateVector3(e);if(e.isVector4Uniform)return this.updateVector4(e);if(e.isColorUniform)return this.updateColor(e);if(e.isMatrix3Uniform)return this.updateMatrix3(e);if(e.isMatrix4Uniform)return this.updateMatrix4(e);console.error("THREE.WebGPUUniformsGroup: Unsupported uniform type.",e)}updateNumber(e){let t=!1;const i=this.values,r=e.getValue(),s=e.offset,a=e.getType();if(i[s]!==r){const o=this._getBufferForType(a);o[s]=i[s]=r,t=!0}return t}updateVector2(e){let t=!1;const i=this.values,r=e.getValue(),s=e.offset,a=e.getType();if(i[s+0]!==r.x||i[s+1]!==r.y){const o=this._getBufferForType(a);o[s+0]=i[s+0]=r.x,o[s+1]=i[s+1]=r.y,t=!0}return t}updateVector3(e){let t=!1;const i=this.values,r=e.getValue(),s=e.offset,a=e.getType();if(i[s+0]!==r.x||i[s+1]!==r.y||i[s+2]!==r.z){const o=this._getBufferForType(a);o[s+0]=i[s+0]=r.x,o[s+1]=i[s+1]=r.y,o[s+2]=i[s+2]=r.z,t=!0}return t}updateVector4(e){let t=!1;const i=this.values,r=e.getValue(),s=e.offset,a=e.getType();if(i[s+0]!==r.x||i[s+1]!==r.y||i[s+2]!==r.z||i[s+4]!==r.w){const o=this._getBufferForType(a);o[s+0]=i[s+0]=r.x,o[s+1]=i[s+1]=r.y,o[s+2]=i[s+2]=r.z,o[s+3]=i[s+3]=r.w,t=!0}return t}updateColor(e){let t=!1;const i=this.values,r=e.getValue(),s=e.offset;if(i[s+0]!==r.r||i[s+1]!==r.g||i[s+2]!==r.b){const a=this.buffer;a[s+0]=i[s+0]=r.r,a[s+1]=i[s+1]=r.g,a[s+2]=i[s+2]=r.b,t=!0}return t}updateMatrix3(e){let t=!1;const i=this.values,r=e.getValue().elements,s=e.offset;if(i[s+0]!==r[0]||i[s+1]!==r[1]||i[s+2]!==r[2]||i[s+4]!==r[3]||i[s+5]!==r[4]||i[s+6]!==r[5]||i[s+8]!==r[6]||i[s+9]!==r[7]||i[s+10]!==r[8]){const a=this.buffer;a[s+0]=i[s+0]=r[0],a[s+1]=i[s+1]=r[1],a[s+2]=i[s+2]=r[2],a[s+4]=i[s+4]=r[3],a[s+5]=i[s+5]=r[4],a[s+6]=i[s+6]=r[5],a[s+8]=i[s+8]=r[6],a[s+9]=i[s+9]=r[7],a[s+10]=i[s+10]=r[8],t=!0}return t}updateMatrix4(e){let t=!1;const i=this.values,r=e.getValue().elements,s=e.offset;return lre(i,r,s)===!1&&(this.buffer.set(r,s),ore(i,r,s),t=!0),t}_getBufferForType(e){return e==="int"||e==="ivec2"||e==="ivec3"||e==="ivec4"?new Int32Array(this.buffer.buffer):e==="uint"||e==="uvec2"||e==="uvec3"||e==="uvec4"?new Uint32Array(this.buffer.buffer):this.buffer}}function ore(n,e,t){for(let i=0,r=e.length;i<r;i++)n[t+i]=e[i]}function lre(n,e,t){for(let i=0,r=e.length;i<r;i++)if(n[t+i]!==e[i])return!1;return!0}let ure=0;class Fb extends are{constructor(e,t){super(e),this.id=ure++,this.groupNode=t,this.isNodeUniformsGroup=!0}}let cre=0;class Are extends zp{constructor(e,t){super(e),this.id=cre++,this.texture=t,this.version=t?t.version:0,this.store=!1,this.generation=null,this.isSampledTexture=!0}needsBindingsUpdate(e){const{texture:t}=this;return e!==this.generation?(this.generation=e,!0):t.isVideoTexture}update(){const{texture:e,version:t}=this;return t!==e.version?(this.version=e.version,!0):!1}}class Tu extends Are{constructor(e,t,i,r=null){super(e,t?t.value:null),this.textureNode=t,this.groupNode=i,this.access=r}needsBindingsUpdate(e){return this.textureNode.value!==this.texture||super.needsBindingsUpdate(e)}update(){const{textureNode:e}=this;return this.texture!==e.value?(this.texture=e.value,!0):super.update()}}class Gb extends Tu{constructor(e,t,i,r=null){super(e,t,i,r),this.isSampledCubeTexture=!0}}class Vb extends Tu{constructor(e,t,i,r=null){super(e,t,i,r),this.isSampledTexture3D=!0}}const hre={textureDimensions:"textureSize",equals:"equal"},fre={low:"lowp",medium:"mediump",high:"highp"},kM={swizzleAssign:!0,storageBuffer:!1},zM={perspective:"smooth",linear:"noperspective"},WM={centroid:"centroid","flat first":"flat","flat either":"flat"},HM=` 3885precision highp float; 3886precision highp int; 3887precision highp sampler2D; 3888precision highp sampler3D; 3889precision highp samplerCube; 3890precision highp sampler2DArray; 3891 3892precision highp usampler2D; 3893precision highp usampler3D; 3894precision highp usamplerCube; 3895precision highp usampler2DArray; 3896 3897precision highp isampler2D; 3898precision highp isampler3D; 3899precision highp isamplerCube; 3900precision highp isampler2DArray; 3901 3902precision lowp sampler2DShadow; 3903precision lowp sampler2DArrayShadow; 3904precision lowp samplerCubeShadow; 3905`;class dre extends Lb{constructor(e,t){super(e,t,new zie),this.uniformGroups={},this.transforms=[],this.extensions={},this.builtins={vertex:[],fragment:[],compute:[]}}needsToWorkingColorSpace(e){return e.isVideoTexture===!0&&e.colorSpace!==ir}getMethod(e){return hre[e]||e}getOutputStructName(){return""}buildFunctionCode(e){const t=e.layout,i=this.flowShaderNode(e),r=[];
3905for(const a of t.inputs)r.push(this.getType(a.type)+" "+a.name);return`${this.getType(t.type)} ${t.name}( ${r.join(", ")} ) { 3906 3907 ${i.vars} 3908 3909${i.code} 3910 return ${i.result}; 3911 3912}`}setupPBO(e){const t=e.value;if(t.pbo===void 0){const i=t.array,r=t.count*t.itemSize,{itemSize:s}=t,a=t.array.constructor.name.toLowerCase().includes("int");let o=a?O4:X8;s===2?o=a?T4:K2:s===3?o=a?uw:j8:s===4&&(o=a?R4:Vn);const l={Float32Array:Wn,Uint8Array:Ln,Uint16Array:R0,Uint32Array:cn,Int8Array:Xs,Int16Array:Zs,Int32Array:mi,Uint8ClampedArray:Ln},u=Math.pow(2,Math.ceil(Math.log2(Math.sqrt(r/s))));let d=Math.ceil(r/s/u);u*d*s<r&&d++;const q=u*d*s,_=new i.constructor(q);_.set(i,0),t.array=_;const g=new qB(t.array,u,d,o,l[t.array.constructor.name]||Wn);g.needsUpdate=!0,g.isPBOTexture=!0;const M=new S2(g,null,null);M.setPrecision("high"),t.pboNode=M,t.pbo=M.value,this.getUniformFromNode(t.pboNode,"texture",this.shaderStage,this.context.label)}}getPropertyName(e,t=this.shaderStage){return e.isNodeUniform&&e.node.isTextureNode!==!0&&e.node.isBufferNode!==!0?t.charAt(0)+"_"+e.name:super.getPropertyName(e,t)}generatePBO(e){const{node:t,indexNode:i}=e,r=t.value;if(this.renderer.backend.has(r)){const d=this.renderer.backend.get(r);d.pbo=r.pbo}const s=this.getUniformFromNode(r.pboNode,"texture",this.shaderStage,this.context.label),a=this.getPropertyName(s);this.increaseUsage(i);const o=i.build(this,"uint"),l=this.getDataFromNode(e);let u=l.propertyName;if(u===void 0){const d=this.getVarFromNode(e);u=this.getPropertyName(d);const q=this.getDataFromNode(t);let _=q.propertySizeName;_===void 0&&(_=u+"Size",this.getVarFromNode(t,_,"uint"),this.addLineFlowCode(`${_} = uint( textureSize( ${a}, 0 ).x )`,e),q.propertySizeName=_);const{itemSize:g}=r,M="."+ga.join("").slice(0,g),N=`ivec2(${o} % ${_}, ${o} / ${_})`,y=this.generateTextureLoad(null,a,N,null,"0");let S="vec4";r.pbo.type===cn?S="uvec4":r.pbo.type===mi&&(S="ivec4"),this.addLineFlowCode(`${u} = ${S}(${y})${M}`,e),l.propertyName=u}return u}generateTextureLoad(e,t,i,r,s="0"){return r?`texelFetch( ${t}, ivec3( ${i}, ${r} ), ${s} )`:`texelFetch( ${t}, ${i}, ${s} )`}generateTexture(e,t,i,r){return e.isDepthTexture?(r&&(i=`vec4( ${i}, ${r} )`),`texture( ${t}, ${i} ).x`):(r&&(i=`vec3( ${i}, ${r} )`),`texture( ${t}, ${i} )`)}generateTextureLevel(e,t,i,r){return`textureLod( ${t}, ${i}, ${r} )`}generateTextureBias(e,t,i,r){return`texture( ${t}, ${i}, ${r} )`}generateTextureGrad(e,t,i,r){return`textureGrad( ${t}, ${i}, ${r[0]}, ${r[1]} )`}generateTextureCompare(e,t,i,r,s,a=this.shaderStage){if(a==="fragment")return s?`texture( ${t}, vec4( ${i}, ${s}, ${r} ) )`:`texture( ${t}, vec3( ${i}, ${r} ) )`;console.error(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${a} shader.`)}getVars(e){const t=[],i=this.vars[e];if(i!==void 0)for(const r of i)t.push(`${this.getVar(r.type,r.name,r.count)};`);return t.join(` 3913 `)}getUniforms(e){const t=this.uniforms[e],i=[],r={};for(const a of t){let o=null,l=!1;if(a.type==="texture"||a.type==="texture3D"){const d=a.node.value;let q="";(d.isDataTexture===!0||d.isData3DTexture===!0)&&(d.type===cn?q="u":d.type===mi&&(q="i")),a.type==="texture3D"&&d.isArrayTexture===!1?o=`${q}sampler3D ${a.name};`:d.compareFunction?d.isArrayTexture===!0?o=`sampler2DArrayShadow ${a.name};`:o=`sampler2DShadow ${a.name};`:d.isArrayTexture===!0||d.isDataArrayTexture===!0||d.isCompressedArrayTexture===!0?o=`${q}sampler2DArray ${a.name};`:o=`${q}sampler2D ${a.name};`}else if(a.type==="cubeTexture")o=`samplerCube ${a.name};`;else if(a.type==="buffer"){const d=a.node,q=this.getType(d.bufferType),_=d.bufferCount,g=_>0?_:"";o=`${d.name} { 3914 ${q} ${a.name}[${g}]; 3915}; 3916`}else o=`${this.getVectorType(a.type)} ${this.getPropertyName(a,e)};`,l=!0;const u=a.node.precision;if(u!==null&&(o=fre[u]+" "+o),l){o=" "+o;const d=a.groupNode.name;(r[d]||(r[d]=[])).push(o)}else o="uniform "+o,i.push(o)}let s="";for(const a in r){const o=r[a];s+=this._getGLSLUniformStruct(e+"_"+a,o.join(` 3917`))+` 3918`}return s+=i.join(` 3919`),s}getTypeFromAttribute(e){let t=super.getTypeFromAttribute(e);if(/^[iu]/.test(t)&&e.gpuType!==mi){let i=e;e.isInterleavedBufferAttribute&&(i=e.data);const r=i.array;
3919r instanceof Uint32Array||r instanceof Int32Array||(t=t.slice(1))}return t}getAttributes(e){let t="";if(e==="vertex"||e==="compute"){const i=this.getAttributesArray();let r=0;for(const s of i)t+=`layout( location = ${r++} ) in ${s.type} ${s.name}; 3920`}return t}getStructMembers(e){const t=[];for(const i of e.members)t.push(` ${i.type} ${i.name};`);return t.join(` 3921`)}getStructs(e){const t=[],i=this.structs[e],r=[];for(const s of i)if(s.output)for(const a of s.members)r.push(`layout( location = ${a.index} ) out ${a.type} ${a.name};`);else{let a="struct "+s.name+` { 3922`;a+=this.getStructMembers(s),a+=` 3923}; 3924`,t.push(a)}return r.length===0&&r.push("layout( location = 0 ) out vec4 fragColor;"),` 3925`+r.join(` 3926`)+` 3927 3928`+t.join(` 3929`)}getVaryings(e){let t="";const i=this.varyings;if(e==="vertex"||e==="compute")for(const r of i){e==="compute"&&(r.needsInterpolation=!0);const s=this.getType(r.type);if(r.needsInterpolation)if(r.interpolationType){const a=zM[r.interpolationType]||r.interpolationType,o=WM[r.interpolationSampling]||"";t+=`${a} ${o} out ${s} ${r.name}; 3930`}else{const a=s.includes("int")||s.includes("uv")||s.includes("iv")?"flat ":"";t+=`${a}out ${s} ${r.name}; 3931`}else t+=`${s} ${r.name}; 3932`}else if(e==="fragment"){for(const r of i)if(r.needsInterpolation){const s=this.getType(r.type);if(r.interpolationType){const a=zM[r.interpolationType]||r.interpolationType,o=WM[r.interpolationSampling]||"";t+=`${a} ${o} in ${s} ${r.name}; 3933`}else{const a=s.includes("int")||s.includes("uv")||s.includes("iv")?"flat ":"";t+=`${a}in ${s} ${r.name}; 3934`}}}for(const r of this.builtins[e])t+=`${r}; 3935`;return t}getVertexIndex(){return"uint( gl_VertexID )"}getInstanceIndex(){return"uint( gl_InstanceID )"}getInvocationLocalIndex(){return`uint( gl_InstanceID ) % ${this.object.workgroupSize.reduce((i,r)=>i*r,1)}u`}getDrawIndex(){return this.renderer.backend.extensions.has("WEBGL_multi_draw")?"uint( gl_DrawID )":null}getFrontFacing(){return"gl_FrontFacing"}getFragCoord(){return"gl_FragCoord.xy"}getFragDepth(){return"gl_FragDepth"}enableExtension(e,t,i=this.shaderStage){const r=this.extensions[i]||(this.extensions[i]=new Map);r.has(e)===!1&&r.set(e,{name:e,behavior:t})}getExtensions(e){const t=[];if(e==="vertex"){const r=this.renderer.backend.extensions;this.object.isBatchedMesh&&r.has("WEBGL_multi_draw")&&this.enableExtension("GL_ANGLE_multi_draw","require",e)}const i=this.extensions[e];if(i!==void 0)for(const{name:r,behavior:s}of i.values())t.push(`#extension ${r} : ${s}`);return t.join(` 3936`)}getClipDistance(){return"gl_ClipDistance"}isAvailable(e){let t=kM[e];if(t===void 0){let i;switch(t=!1,e){case"float32Filterable":i="OES_texture_float_linear";break;case"clipDistance":i="WEBGL_clip_cull_distance";break}if(i!==void 0){const r=this.renderer.backend.extensions;r.has(i)&&(r.get(i),t=!0)}kM[e]=t}return t}isFlipY(){return!0}enableHardwareClipping(e){this.enableExtension("GL_ANGLE_clip_cull_distance","require"),this.builtins.vertex.push(`out float gl_ClipDistance[ ${e} ]`)}
3936enableMultiview(){this.enableExtension("GL_OVR_multiview2","require","fragment"),this.enableExtension("GL_OVR_multiview2","require","vertex"),this.builtins.vertex.push("layout(num_views = 2) in")}registerTransform(e,t){this.transforms.push({varyingName:e,attributeNode:t})}getTransforms(){const e=this.transforms;let t="";for(let i=0;i<e.length;i++){const r=e[i],s=this.getPropertyName(r.attributeNode);s&&(t+=`${r.varyingName} = ${s}; 3937 `)}return t}_getGLSLUniformStruct(e,t){return` 3938layout( std140 ) uniform ${e} { 3939${t} 3940};`}_getGLSLVertexCode(e){return`#version 300 es 3941 3942${this.getSignature()} 3943 3944// extensions 3945${e.extensions} 3946 3947// precision 3948${HM} 3949 3950// uniforms 3951${e.uniforms} 3952 3953// varyings 3954${e.varyings} 3955 3956// attributes 3957${e.attributes} 3958 3959// codes 3960${e.codes} 3961 3962void main() { 3963 3964 // vars 3965 ${e.vars} 3966 3967 // transforms 3968 ${e.transforms} 3969 3970 // flow 3971 ${e.flow} 3972 3973 gl_PointSize = 1.0; 3974 3975} 3976`}_getGLSLFragmentCode(e){return`#version 300 es 3977 3978${this.getSignature()} 3979 3980// extensions 3981${e.extensions} 3982 3983// precision 3984${HM} 3985 3986// uniforms 3987${e.uniforms} 3988 3989// varyings 3990${e.varyings} 3991 3992// codes 3993${e.codes} 3994 3995// structs 3996${e.structs} 3997 3998void main() { 3999 4000 // vars 4001 ${e.vars} 4002 4003 // flow 4004 ${e.flow} 4005 4006} 4007`}buildCode(){const e=this.material!==null?{fragment:{},vertex:{}}:{compute:{}};this.sortBindingGroups();for(const t in e){let i=`// code 4008 4009`;i+=this.flowCode[t];const r=this.flowNodes[t],s=r[r.length-1];for(const o of r){const l=this.getFlowData(o),u=o.name;u&&(i.length>0&&(i+=` 4010`),i+=` // flow -> ${u} 4011 `),i+=`${l.code} 4012 `,o===s&&t!=="compute"&&(i+=`// result 4013 `,t==="vertex"?(i+="gl_Position = ",i+=`${l.result};`):t==="fragment"&&(o.outputNode.isOutputStructNode||(i+="fragColor = ",i+=`${l.result};`)))}const a=e[t];a.extensions=this.getExtensions(t),a.uniforms=this.getUniforms(t),a.attributes=this.getAttributes(t),a.varyings=this.getVaryings(t),a.vars=this.getVars(t),a.structs=this.getStructs(t),a.codes=this.getCodes(t),a.transforms=this.getTransforms(t),a.flow=i}this.material!==null?(this.vertexShader=this._getGLSLVertexCode(e.vertex),this.fragmentShader=this._getGLSLFragmentCode(e.fragment)):this.computeShader=this._getGLSLVertexCode(e.compute)}getUniformFromNode(e,t,i,r=null){const s=super.getUniformFromNode(e,t,i,r),a=this.getDataFromNode(e,i,this.globalCache);let o=a.uniformGPU;if(o===void 0){const l=e.groupNode,u=l.name,d=this.getBindGroupArray(u,i);if(t==="texture")o=new Tu(s.name,s.node,l),d.push(o);else if(t==="cubeTexture")o=new Gb(s.name,s.node,l),d.push(o);else if(t==="texture3D")o=new Vb(s.name,s.node,l),d.push(o);else if(t==="buffer"){e.name=`NodeBuffer_${e.id}`,s.name=`buffer${e.id}`;const q=new Ub(e,l);q.name=e.name,d.push(q),o=q}else{const q=this.uniformGroups[i]||(this.uniformGroups[i]={});let _=q[u];_===void 0&&(_=new Fb(i+"_"+u,l),q[u]=_,d.push(_)),o=this.getNodeUniform(s,t),_.addUniform(o)}a.uniformGPU=o}return s}}let wA=null,ro=null;class kb{constructor(e={}){this.parameters=Object.assign({},e),this.data=new WeakMap,this.renderer=null,this.domElement=null,this.timestampQueryPool={render:null,compute:null},this.trackTimestamp=e.trackTimestamp===!0}async init(e){this.renderer=e}get coordinateSystem(){}beginRender(){}finishRender(){}beginCompute(){}finishCompute(){}draw(){}compute(){}createProgram(){}destroyProgram(){}createBindings(){}updateBindings(){}updateBinding(){}createRenderPipeline(){}createComputePipeline(){}needsRenderUpdate(){}getRenderCacheKey(){}createNodeBuilder(){}createSampler(){}destroySampler(){}createDefaultTexture(){}createTexture(){}updateTexture(){}generateMipmaps(){}destroyTexture(){}async copyTextureToBuffer(){}copyTextureToTexture(){}copyFramebufferToTexture(){}createAttribute(){}createIndexAttribute(){}createStorageAttribute(){}updateAttribute(){}destroyAttribute(){}getContext(){}updateSize(){}updateViewport(){}isOccluded(){}async resolveTimestampsAsync(e="render"){if(!this.trackTimestamp){Yr("WebGPURenderer: Timestamp tracking is disabled.");return}const t=this.timestampQueryPool[e];if(!t){Yr(`WebGPURenderer: No timestamp query pool for type '${e}' found.`);return}const i=await t.resolveQueriesAsync();return this.renderer.info[e].timestamp=i,i}async waitForGPU(){}async getArrayBufferAsync(){}async hasFeatureAsync(){}hasFeature(){}getMaxAnisotropy(){}getDrawingBufferSize(){return wA=wA||new Ce,this.renderer.getDrawingBufferSize(wA)}setScissorTest(){}getClearColor(){const e=this.renderer;return ro=ro||new Np,e.getClearColor(ro),ro.getRGB(ro),ro}getDomElement(){let e=this.domElement;return e===null&&(e=this.parameters.canvas!==void 0?this.parameters.canvas:uy(),"setAttribute"in e&&e.setAttribute("data-engine",`three.js r${v4} webgpu`),this.domElement=e),e}set(e,t){this.data.set(e,t)}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}has(e){return this.data.has(e)}delete(e){this.data.delete(e)}dispose(){}}let qre=0;class pre{constructor(e,t){this.buffers=[e.bufferGPU,t],this.type=e.type,this.bufferType=e.bufferType,this.pbo=e.pbo,this.byteLength=e.byteLength,this.bytesPerElement=e.BYTES_PER_ELEMENT,this.version=e.version,this.isInteger=e.isInteger,this.activeBufferIndex=0,this.baseId=e.id}get id(){return`${this.baseId}|${this.activeBufferIndex}`}get bufferGPU(){return this.buffers[this.activeBufferIndex]}get transformBuffer(){return this.buffers[this.activeBufferIndex^1]}switchBuffers(){this.activeBufferIndex^=1}}class _re{constructor(e){this.backend=e}createAttribute(e,t){const i=this.backend,{gl:r}=i,s=e.array,a=e.usage||r.STATIC_DRAW,o=e.isInterleavedBufferAttribute?e.data:e,l=i.get(o);let u=l.bufferGPU;u===void 0&&(u=this._createBuffer(r,t,s,a),l.bufferGPU=u,l.bufferType=t,l.version=o.version);let d;if(s instanceof Float32Array)d=r.FLOAT;else if(s instanceof Uint16Array)e.isFloat16BufferAttribute?d=r.HALF_FLOAT:d=r.UNSIGNED_SHORT;else if(s instanceof Int16Array)d=r.SHORT;else if(s instanceof Uint32Array)d=r.UNSIGNED_INT;else if(s instanceof Int32Array)d=r.INT;else if(s instanceof Int8Array)d=r.BYTE;else if(s instanceof Uint8Array)d=r.UNSIGNED_BYTE;else if(s instanceof Uint8ClampedArray)d=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLBackend: Unsupported buffer data format: "+s);let q={bufferGPU:u,bufferType:t,type:d,byteLength:s.byteLength,bytesPerElement:s.BYTES_PER_ELEMENT,version:e.version,pbo:e.pbo,isInteger:
4013d===r.INT||d===r.UNSIGNED_INT||e.gpuType===mi,id:qre++};if(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute){const _=this._createBuffer(r,t,s,a);q=new pre(q,_)}i.set(e,q)}updateAttribute(e){const t=this.backend,{gl:i}=t,r=e.array,s=e.isInterleavedBufferAttribute?e.data:e,a=t.get(s),o=a.bufferType,l=e.isInterleavedBufferAttribute?e.data.updateRanges:e.updateRanges;if(i.bindBuffer(o,a.bufferGPU),l.length===0)i.bufferSubData(o,0,r);else{for(let u=0,d=l.length;u<d;u++){const q=l[u];i.bufferSubData(o,q.start*r.BYTES_PER_ELEMENT,r,q.start,q.count)}s.clearUpdateRanges()}i.bindBuffer(o,null),a.version=s.version}destroyAttribute(e){const t=this.backend,{gl:i}=t;e.isInterleavedBufferAttribute&&t.delete(e.data);const r=t.get(e);i.deleteBuffer(r.bufferGPU),t.delete(e)}async getArrayBufferAsync(e){const t=this.backend,{gl:i}=t,r=e.isInterleavedBufferAttribute?e.data:e,{bufferGPU:s}=t.get(r),a=e.array,o=a.byteLength;i.bindBuffer(i.COPY_READ_BUFFER,s);const l=i.createBuffer();i.bindBuffer(i.COPY_WRITE_BUFFER,l),i.bufferData(i.COPY_WRITE_BUFFER,o,i.STREAM_READ),i.copyBufferSubData(i.COPY_READ_BUFFER,i.COPY_WRITE_BUFFER,0,0,o),await t.utils._clientWaitAsync();const u=new e.array.constructor(a.length);return i.bindBuffer(i.COPY_WRITE_BUFFER,l),i.getBufferSubData(i.COPY_WRITE_BUFFER,0,u),i.deleteBuffer(l),i.bindBuffer(i.COPY_READ_BUFFER,null),i.bindBuffer(i.COPY_WRITE_BUFFER,null),u.buffer}_createBuffer(e,t,i,r){const s=e.createBuffer();return e.bindBuffer(t,s),e.bufferData(t,i,r),e.bindBuffer(t,null),s}}let BA,M6;class mre{constructor(e){this.backend=e,this.gl=this.backend.gl,this.enabled={},this.currentFlipSided=null,this.currentCullFace=null,this.currentProgram=null,this.currentBlendingEnabled=!1,this.currentBlending=null,this.currentBlendSrc=null,this.currentBlendDst=null,this.currentBlendSrcAlpha=null,this.currentBlendDstAlpha=null,this.currentPremultipledAlpha=null,this.currentPolygonOffsetFactor=null,this.currentPolygonOffsetUnits=null,this.currentColorMask=null,this.currentDepthFunc=null,this.currentDepthMask=null,this.currentStencilFunc=null,this.currentStencilRef=null,this.currentStencilFuncMask=null,this.currentStencilFail=null,this.currentStencilZFail=null,this.currentStencilZPass=null,this.currentStencilMask=null,this.currentLineWidth=null,this.currentClippingPlanes=0,this.currentVAO=null,this.currentIndex=null,this.currentBoundFramebuffers={},this.currentDrawbuffers=new WeakMap,this.maxTextures=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS),this.currentTextureSlot=null,this.currentBoundTextures={},this.currentBoundBufferBases={},this._init()}_init(){const e=this.gl;BA={[Gi]:e.FUNC_ADD,[xd]:e.FUNC_SUBTRACT,[Sd]:e.FUNC_REVERSE_SUBTRACT},M6={[U2]:e.ZERO,[yd]:e.ONE,[Nd]:e.SRC_COLOR,[e8]:e.SRC_ALPHA,[Id]:e.SRC_ALPHA_SATURATE,[Rd]:e.DST_COLOR,[Od]:e.DST_ALPHA,[vd]:e.ONE_MINUS_SRC_COLOR,[t8]:e.ONE_MINUS_SRC_ALPHA,[bd]:e.ONE_MINUS_DST_COLOR,[Td]:e.ONE_MINUS_DST_ALPHA};const t=e.getParameter(e.SCISSOR_BOX),i=e.getParameter(e.VIEWPORT);this.currentScissor=new wt().fromArray(t),this.currentViewport=new wt().fromArray(i),this._tempVec4=new wt}enable(e){const{enabled:t}=this;t[e]!==!0&&(this.gl.enable(e),t[e]=!0)}disable(e){const{enabled:t}=this;t[e]!==!1&&(this.gl.disable(e),t[e]=!1)}setFlipSided(e){if(this.currentFlipSided!==e){const{gl:t}=this;e?t.frontFace(t.CW):t.frontFace(t.CCW),this.currentFlipSided=e}}setCullFace(e){const{gl:t}=this;e!==XS?(this.enable(t.CULL_FACE),e!==this.currentCullFace&&(e===Mh?t.cullFace(t.BACK):e===ZS?t.cullFace(t.FRONT):t.cullFace(t.FRONT_AND_BACK))):this.disable(t.CULL_FACE),this.currentCullFace=e}setLineWidth(e){const{currentLineWidth:t,gl:i}=this;e!==t&&(i.lineWidth(e),this.currentLineWidth=e)}setBlending(e,t,i,r,s,a,o,l){const{gl:u}=this;if(e===xr){this.currentBlendingEnabled===!0&&(this.disable(u.BLEND),this.currentBlendingEnabled=!1);return}if(this.currentBlendingEnabled===!1&&(this.enable(u.BLEND),this.currentBlendingEnabled=!0),e!==No){if(e!==this.currentBlending||l!==this.currentPremultipledAlpha){if((this.currentBlendEquation!==Gi||this.currentBlendEquationAlpha!==Gi)&&(u.blendEquation(u.FUNC_ADD),this.currentBlendEquation=Gi,this.currentBlendEquationAlpha=Gi),l)switch(e){case or:u.blendFuncSeparate(u.ONE,u.ONE_MINUS_SRC_ALPHA,u.ONE,u.ONE_MINUS_SRC_ALPHA);break;case wo:u.blendFunc(u.ONE,u.ONE);break;case Bo:u.blendFuncSeparate(u.ZERO,u.ONE_MINUS_SRC_COLOR,u.ZERO,u.ONE);break;case Uo:u.blendFuncSeparate(u.ZERO,u.SRC_COLOR,u.ZERO,u.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);break}else switch(e){case or:u.blendFuncSeparate(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA,u.ONE,u.ONE_MINUS_SRC_ALPHA);break;
4013case wo:u.blendFunc(u.SRC_ALPHA,u.ONE);break;case Bo:u.blendFuncSeparate(u.ZERO,u.ONE_MINUS_SRC_COLOR,u.ZERO,u.ONE);break;case Uo:u.blendFunc(u.ZERO,u.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);break}this.currentBlendSrc=null,this.currentBlendDst=null,this.currentBlendSrcAlpha=null,this.currentBlendDstAlpha=null,this.currentBlending=e,this.currentPremultipledAlpha=l}return}s=s||t,a=a||i,o=o||r,(t!==this.currentBlendEquation||s!==this.currentBlendEquationAlpha)&&(u.blendEquationSeparate(BA[t],BA[s]),this.currentBlendEquation=t,this.currentBlendEquationAlpha=s),(i!==this.currentBlendSrc||r!==this.currentBlendDst||a!==this.currentBlendSrcAlpha||o!==this.currentBlendDstAlpha)&&(u.blendFuncSeparate(M6[i],M6[r],M6[a],M6[o]),this.currentBlendSrc=i,this.currentBlendDst=r,this.currentBlendSrcAlpha=a,this.currentBlendDstAlpha=o),this.currentBlending=e,this.currentPremultipledAlpha=!1}setColorMask(e){this.currentColorMask!==e&&(this.gl.colorMask(e,e,e,e),this.currentColorMask=e)}setDepthTest(e){const{gl:t}=this;e?this.enable(t.DEPTH_TEST):this.disable(t.DEPTH_TEST)}setDepthMask(e){this.currentDepthMask!==e&&(this.gl.depthMask(e),this.currentDepthMask=e)}setDepthFunc(e){if(this.currentDepthFunc!==e){const{gl:t}=this;switch(e){case n8:t.depthFunc(t.NEVER);break;case i8:t.depthFunc(t.ALWAYS);break;case r8:t.depthFunc(t.LESS);break;case Y3:t.depthFunc(t.LEQUAL);break;case s8:t.depthFunc(t.EQUAL);break;case a8:t.depthFunc(t.GEQUAL);break;case o8:t.depthFunc(t.GREATER);break;case l8:t.depthFunc(t.NOTEQUAL);break;default:t.depthFunc(t.LEQUAL)}this.currentDepthFunc=e}}scissor(e,t,i,r){const s=this._tempVec4.set(e,t,i,r);if(this.currentScissor.equals(s)===!1){const{gl:a}=this;a.scissor(s.x,s.y,s.z,s.w),this.currentScissor.copy(s)}}viewport(e,t,i,r){const s=this._tempVec4.set(e,t,i,r);if(this.currentViewport.equals(s)===!1){const{gl:a}=this;a.viewport(s.x,s.y,s.z,s.w),this.currentViewport.copy(s)}}setScissorTest(e){const t=this.gl;e?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST)}setStencilTest(e){const{gl:t}=this;e?this.enable(t.STENCIL_TEST):this.disable(t.STENCIL_TEST)}setStencilMask(e){this.currentStencilMask!==e&&(this.gl.stencilMask(e),this.currentStencilMask=e)}setStencilFunc(e,t,i){(this.currentStencilFunc!==e||this.currentStencilRef!==t||this.currentStencilFuncMask!==i)&&(this.gl.stencilFunc(e,t,i),this.currentStencilFunc=e,this.currentStencilRef=t,this.currentStencilFuncMask=i)}setStencilOp(e,t,i){(this.currentStencilFail!==e||this.currentStencilZFail!==t||this.currentStencilZPass!==i)&&(this.gl.stencilOp(e,t,i),this.currentStencilFail=e,this.currentStencilZFail=t,this.currentStencilZPass=i)}setMaterial(e,t,i){const{gl:r}=this;e.side===Qn?this.disable(r.CULL_FACE):this.enable(r.CULL_FACE);let s=e.side===Q1;t&&(s=!s),this.setFlipSided(s),e.blending===or&&e.transparent===!1?this.setBlending(xr):this.setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),this.setDepthFunc(e.depthFunc),this.setDepthTest(e.depthTest),this.setDepthMask(e.depthWrite),this.setColorMask(e.colorWrite);const a=e.stencilWrite;if(this.setStencilTest(a),a&&(this.setStencilMask(e.stencilWriteMask),this.setStencilFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),this.setStencilOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),this.setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),e.alphaToCoverage===!0&&this.backend.renderer.samples>1?this.enable(r.SAMPLE_ALPHA_TO_COVERAGE):this.disable(r.SAMPLE_ALPHA_TO_COVERAGE),i>0&&this.currentClippingPlanes!==i)for(let l=0;l<8;l++)l<i?this.enable(12288+l):this.disable(12288+l)}setPolygonOffset(e,t,i){const{gl:r}=this;e?(this.enable(r.POLYGON_OFFSET_FILL),(this.currentPolygonOffsetFactor!==t||this.currentPolygonOffsetUnits!==i)&&(r.polygonOffset(t,i),this.currentPolygonOffsetFactor=t,this.currentPolygonOffsetUnits=i)):this.disable(r.POLYGON_OFFSET_FILL)}useProgram(e){return this.currentProgram!==e?(this.gl.useProgram(e),this.currentProgram=e,!0):!1}setVertexState(e,t=null){const i=this.gl;return this.currentVAO!==e||this.currentIndex!==t?(i.bindVertexArray(e),t!==null&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,t),this.currentVAO=e,this.currentIndex=t,!0):!1}resetVertexState(){const e=this.gl;e.bindVertexArray(null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null),this.currentVAO=null,this.currentIndex=null}bindFramebuffer(e,t){const{gl:i,currentBoundFramebuffers:r}=this;return r[e]!==t?(i.bindFramebuffer(e,t),r[e]=t,e===i.DRAW_FRAMEBUFFER&&(r[i.FRAMEBUFFER]=t),e===i.FRAMEBUFFER&&(r[i.DRAW_FRAMEBUFFER]=t),!0):!1}drawBuffers(e,t){const{gl:i}=this;let r=[],s=!1;if(e.textures!==null){r=this.currentDrawbuffers.get(t),r===void 0&&(r=[],this.currentDrawbuffers.set(t,r));const a=e.textures;if(r.length!==a.length||r[0]!==i.COLOR_ATTACHMENT0){for(let o=0,l=a.length;o<l;o++)r[o]=i.COLOR_ATTACHMENT0+o;r.length=a.length,s=!0}}else r[0]!==i.BACK&&(r[0]=i.BACK,s=!0);s&&i.drawBuffers(r)}activeTexture(e){const{gl:t,currentTextureSlot:i,maxTextures:r}=this;e===void 0&&(e=t.TEXTURE0+r-1),i!==e&&(t.activeTexture(e),this.currentTextureSlot=e)}bindTexture(e,t,i){const{gl:r,currentTextureSlot:s,currentBoundTextures:a,maxTextures:o}=this;i===void 0&&(s===null?i=r.TEXTURE0+o-1:i=s);let l=a[i];l===void 0&&(l={type:void 0,texture:void 0},a[i]=l),(l.type!==e||l.texture!==t)&&(s!==i&&(r.activeTexture(i),this.currentTextureSlot=i),r.bindTexture(e,t),l.type=e,l.texture=t)}bindBufferBase(e,t,i){const{gl:r}=this,s=`${e}-${t}`;return this.currentBoundBufferBases[s]!==i?(r.bindBufferBase(e,t,i),this.currentBoundBufferBases[s]=i,!0):!1}unbindTexture(){const{gl:e,currentTextureSlot:t,currentBoundTextures:i}=this,r=i[t];r!==void 0&&r.type!==void 0&&(e.bindTexture(r.type,null),r.type=void 0,r.texture=void 0)}}class gre{constructor(e){this.backend=e,this.gl=this.backend.gl,this.extensions=e.extensions}convert(e,t=ir){const{gl:i,extensions:r}=this;let s;const a=Zt.getTransfer(t);if(e===Ln)return i.UNSIGNED_BYTE;if(e===G9)return i.UNSIGNED_SHORT_4_4_4_4;if(e===V9)return i.UNSIGNED_SHORT_5_5_5_1;if(e===k9)return i.UNSIGNED_INT_5_9_9_9_REV;if(e===Xs)return i.BYTE;if(e===Zs)return i.SHORT;if(e===R0)return i.UNSIGNED_SHORT;if(e===mi)return i.INT;if(e===cn)return i.UNSIGNED_INT;if(e===Wn)return i.FLOAT;if(e===Jn)return i.HALF_FLOAT;if(e===Dd)return i.ALPHA;if(e===j8)return i.RGB;if(e===Vn)return i.RGBA;if(e===Hr)return i.DEPTH_COMPONENT;if(e===Kr)return i.DEPTH_STENCIL;if(e===X8)return i.RED;if(e===O4)return i.RED_INTEGER;if(e===K2)return i.RG;if(e===T4)return i.RG_INTEGER;if(e===R4)return i.RGBA_INTEGER;if(e===Qs||e===F3||e===G3||e===V3)if(a===Et)if(s=r.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(e===Qs)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(e===F3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(e===G3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(e===V3)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=r.get("WEBGL_compressed_texture_s3tc"),s!==null){if(e===Qs)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===F3)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===G3)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===V3)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(e===u8||e===c8||e===A8||e===h8)if(s=r.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(e===u8)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===c8)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===A8)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===h8)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(e===f8||e===Vo||e===ko)if(s=r.get("WEBGL_compressed_texture_etc"),s!==null){if(e===f8||e===Vo)return a===Et?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(e===ko)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(e===zo||e===Wo||e===Ho||e===Ko||e===Yo||e===$o||e===jo||e===Xo||e===Zo||e===Qo||e===Jo||e===e4||e===t4||e===n4)if(s=r.get("WEBGL_compressed_texture_astc"),s!==null){if(e===zo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(e===Wo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(e===Ho)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(e===Ko)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(e===Yo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(e===$o)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(e===jo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(e===Xo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(e===Zo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(e===Qo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(e===Jo)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(e===e4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(e===t4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(e===n4)return a===Et?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(e===Js)if(s=r.get("EXT_texture_compression_bptc"),s!==null){if(e===Js)return a===Et?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT}else return null;if(e===Cd||e===d8||e===q8||e===p8)if(s=r.get("EXT_texture_compression_rgtc"),s!==null){if(e===Js)return s.COMPRESSED_RED_RGT
4013C1_EXT;if(e===d8)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(e===q8)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(e===p8)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return e===Wr?i.UNSIGNED_INT_24_8:i[e]!==void 0?i[e]:null}_clientWaitAsync(){const{gl:e}=this,t=e.fenceSync(e.SYNC_GPU_COMMANDS_COMPLETE,0);return e.flush(),new Promise((i,r)=>{function s(){const a=e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0);if(a===e.WAIT_FAILED){e.deleteSync(t),r();return}if(a===e.TIMEOUT_EXPIRED){requestAnimationFrame(s);return}e.deleteSync(t),i()}s()})}}let KM=!1,Gl,UA,YM;class Ere{constructor(e){this.backend=e,this.gl=e.gl,this.extensions=e.extensions,this.defaultTextures={},KM===!1&&(this._init(),KM=!0)}_init(){const e=this.gl;Gl={[la]:e.REPEAT,[s2]:e.CLAMP_TO_EDGE,[ua]:e.MIRRORED_REPEAT},UA={[hn]:e.NEAREST,[Ld]:e.NEAREST_MIPMAP_NEAREST,[H2]:e.NEAREST_MIPMAP_LINEAR,[li]:e.LINEAR,[vo]:e.LINEAR_MIPMAP_NEAREST,[qr]:e.LINEAR_MIPMAP_LINEAR},YM={[wd]:e.NEVER,[Vd]:e.ALWAYS,[z9]:e.LESS,[W9]:e.LEQUAL,[Bd]:e.EQUAL,[Gd]:e.GEQUAL,[Ud]:e.GREATER,[Fd]:e.NOTEQUAL}}getGLTextureType(e){const{gl:t}=this;let i;return e.isCubeTexture===!0?i=t.TEXTURE_CUBE_MAP:e.isArrayTexture===!0||e.isDataArrayTexture===!0||e.isCompressedArrayTexture===!0?i=t.TEXTURE_2D_ARRAY:e.isData3DTexture===!0?i=t.TEXTURE_3D:i=t.TEXTURE_2D,i}getInternalFormat(e,t,i,r,s=!1){const{gl:a,extensions:o}=this;if(e!==null){if(a[e]!==void 0)return a[e];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+e+"'")}let l=t;if(t===a.RED&&(i===a.FLOAT&&(l=a.R32F),i===a.HALF_FLOAT&&(l=a.R16F),i===a.UNSIGNED_BYTE&&(l=a.R8),i===a.UNSIGNED_SHORT&&(l=a.R16),i===a.UNSIGNED_INT&&(l=a.R32UI),i===a.BYTE&&(l=a.R8I),i===a.SHORT&&(l=a.R16I),i===a.INT&&(l=a.R32I)),t===a.RED_INTEGER&&(i===a.UNSIGNED_BYTE&&(l=a.R8UI),i===a.UNSIGNED_SHORT&&(l=a.R16UI),i===a.UNSIGNED_INT&&(l=a.R32UI),i===a.BYTE&&(l=a.R8I),i===a.SHORT&&(l=a.R16I),i===a.INT&&(l=a.R32I)),t===a.RG&&(i===a.FLOAT&&(l=a.RG32F),i===a.HALF_FLOAT&&(l=a.RG16F),i===a.UNSIGNED_BYTE&&(l=a.RG8),i===a.UNSIGNED_SHORT&&(l=a.RG16),i===a.UNSIGNED_INT&&(l=a.RG32UI),i===a.BYTE&&(l=a.RG8I),i===a.SHORT&&(l=a.RG16I),i===a.INT&&(l=a.RG32I)),t===a.RG_INTEGER&&(i===a.UNSIGNED_BYTE&&(l=a.RG8UI),i===a.UNSIGNED_SHORT&&(l=a.RG16UI),i===a.UNSIGNED_INT&&(l=a.RG32UI),i===a.BYTE&&(l=a.RG8I),i===a.SHORT&&(l=a.RG16I),i===a.INT&&(l=a.RG32I)),t===a.RGB){const u=s?i4:Zt.getTransfer(r);i===a.FLOAT&&(l=a.RGB32F),i===a.HALF_FLOAT&&(l=a.RGB16F),i===a.UNSIGNED_BYTE&&(l=a.RGB8),i===a.UNSIGNED_SHORT&&(l=a.RGB16),i===a.UNSIGNED_INT&&(l=a.RGB32UI),i===a.BYTE&&(l=a.RGB8I),i===a.SHORT&&(l=a.RGB16I),i===a.INT&&(l=a.RGB32I),i===a.UNSIGNED_BYTE&&(l=u===Et?a.SRGB8:a.RGB8),i===a.UNSIGNED_SHORT_5_6_5&&(l=a.RGB565),i===a.UNSIGNED_SHORT_5_5_5_1&&(l=a.RGB5_A1),i===a.UNSIGNED_SHORT_4_4_4_4&&(l=a.RGB4),i===a.UNSIGNED_INT_5_9_9_9_REV&&(l=a.RGB9_E5)}if(t===a.RGB_INTEGER&&(i===a.UNSIGNED_BYTE&&(l=a.RGB8UI),i===a.UNSIGNED_SHORT&&(l=a.RGB16UI),i===a.UNSIGNED_INT&&(l=a.RGB32UI),i===a.BYTE&&(l=a.RGB8I),i===a.SHORT&&(l=a.RGB16I),i===a.INT&&(l=a.RGB32I)),t===a.RGBA){const u=s?i4:Zt.getTransfer(r);i===a.FLOAT&&(l=a.RGBA32F),i===a.HALF_FLOAT&&(l=a.RGBA16F),i===a.UNSIGNED_BYTE&&(l=a.RGBA8),i===a.UNSIGNED_SHORT&&(l=a.RGBA16),i===a.UNSIGNED_INT&&(l=a.RGBA32UI),i===a.BYTE&&(l=a.RGBA8I),i===a.SHORT&&(l=a.RGBA16I),i===a.INT&&(l=a.RGBA32I),i===a.UNSIGNED_BYTE&&(l=u===Et?a.SRGB8_ALPHA8:a.RGBA8),i===a.UNSIGNED_SHORT_4_4_4_4&&(l=a.RGBA4),i===a.UNSIGNED_SHORT_5_5_5_1&&(l=a.RGB5_A1)}return t===a.RGBA_INTEGER&&(i===a.UNSIGNED_BYTE&&(l=a.RGBA8UI),i===a.UNSIGNED_SHORT&&(l=a.RGBA16UI),i===a.UNSIGNED_INT&&(l=a.RGBA32UI),i===a.BYTE&&(l=a.RGBA8I),i===a.SHORT&&(l=a.RGBA16I),i===a.INT&&(l=a.RGBA32I)),t===a.DEPTH_COMPONENT&&(i===a.UNSIGNED_SHORT&&(l=a.DEPTH_COMPONENT16),i===a.UNSIGNED_INT&&(l=a.DEPTH_COMPONENT24),i===a.FLOAT&&(l=a.DEPTH_COMPONENT32F)),t===a.DEPTH_STENCIL&&i===a.UNSIGNED_INT_24_8&&(l=a.DEPTH24_STENCIL8),(l===a.R16F||l===a.R32F||l===a.RG16F||l===a.RG32F||l===a.RGBA16F||l===a.RGBA32F)&&o.get("EXT_color_buffer_float"),l}setTextureParameters(e,t){const{gl:i,extensions:r,backend:s}
4013=this,a=Zt.getPrimaries(Zt.workingColorSpace),o=t.colorSpace===ir?null:Zt.getPrimaries(t.colorSpace),l=t.colorSpace===ir||a===o?i.NONE:i.BROWSER_DEFAULT_WEBGL;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,t.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,t.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,l),i.texParameteri(e,i.TEXTURE_WRAP_S,Gl[t.wrapS]),i.texParameteri(e,i.TEXTURE_WRAP_T,Gl[t.wrapT]),(e===i.TEXTURE_3D||e===i.TEXTURE_2D_ARRAY)&&(t.isArrayTexture||i.texParameteri(e,i.TEXTURE_WRAP_R,Gl[t.wrapR])),i.texParameteri(e,i.TEXTURE_MAG_FILTER,UA[t.magFilter]);const u=t.mipmaps!==void 0&&t.mipmaps.length>0,d=t.minFilter===li&&u?qr:t.minFilter;if(i.texParameteri(e,i.TEXTURE_MIN_FILTER,UA[d]),t.compareFunction&&(i.texParameteri(e,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(e,i.TEXTURE_COMPARE_FUNC,YM[t.compareFunction])),r.has("EXT_texture_filter_anisotropic")===!0){if(t.magFilter===hn||t.minFilter!==H2&&t.minFilter!==qr||t.type===Wn&&r.has("OES_texture_float_linear")===!1)return;if(t.anisotropy>1){const q=r.get("EXT_texture_filter_anisotropic");i.texParameterf(e,q.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(t.anisotropy,s.getMaxAnisotropy()))}}}createDefaultTexture(e){const{gl:t,backend:i,defaultTextures:r}=this,s=this.getGLTextureType(e);let a=r[s];a===void 0&&(a=t.createTexture(),i.state.bindTexture(s,a),t.texParameteri(s,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(s,t.TEXTURE_MAG_FILTER,t.NEAREST),r[s]=a),i.set(e,{textureGPU:a,glTextureType:s,isDefault:!0})}createTexture(e,t){const{gl:i,backend:r}=this,{levels:s,width:a,height:o,depth:l}=t,u=r.utils.convert(e.format,e.colorSpace),d=r.utils.convert(e.type),q=this.getInternalFormat(e.internalFormat,u,d,e.colorSpace,e.isVideoTexture),_=i.createTexture(),g=this.getGLTextureType(e);r.state.bindTexture(g,_),this.setTextureParameters(g,e),e.isArrayTexture||e.isDataArrayTexture||e.isCompressedArrayTexture?i.texStorage3D(i.TEXTURE_2D_ARRAY,s,q,a,o,l):e.isData3DTexture?i.texStorage3D(i.TEXTURE_3D,s,q,a,o,l):e.isVideoTexture||i.texStorage2D(g,s,q,a,o),r.set(e,{textureGPU:_,glTextureType:g,glFormat:u,glType:d,glInternalFormat:q})}copyBufferToTexture(e,t){const{gl:i,backend:r}=this,{textureGPU:s,glTextureType:a,glFormat:o,glType:l}=r.get(t),{width:u,height:d}=t.source.data;i.bindBuffer(i.PIXEL_UNPACK_BUFFER,e),r.state.bindTexture(a,s),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.texSubImage2D(a,0,0,0,u,d,o,l,0),i.bindBuffer(i.PIXEL_UNPACK_BUFFER,null),r.state.unbindTexture()}updateTexture(e,t){const{gl:i}=this,{width:r,height:s}=t,{textureGPU:a,glTextureType:o,glFormat:l,glType:u,glInternalFormat:d}=this.backend.get(e);if(!(e.isRenderTargetTexture||a===void 0))if(this.backend.state.bindTexture(o,a),this.setTextureParameters(o,e),e.isCompressedTexture){const q=e.mipmaps,_=t.image;for(let g=0;g<q.length;g++){const M=q[g];e.isCompressedArrayTexture?e.format!==i.RGBA?l!==null?i.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,g,0,0,0,M.width,M.height,_.depth,l,M.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):i.texSubImage3D(i.TEXTURE_2D_ARRAY,g,0,0,0,M.width,M.height,_.depth,l,u,M.data):l!==null?i.compressedTexSubImage2D(i.TEXTURE_2D,g,0,0,M.width,M.height,l,M.data):console.warn("Unsupported compressed texture format")}}else if(e.isCubeTexture){const q=t.images;for(let _=0;_<6;_++){const g=$M(q[_]);i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+_,0,0,0,r,s,l,u,g)}}else if(e.isDataArrayTexture||e.isArrayTexture){const q=t.image;i.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,0,q.width,q.height,q.depth,l,u,q.data)}else if(e.isData3DTexture){const q=t.image;i.texSubImage3D(i.TEXTURE_3D,0,0,0,0,q.width,q.height,q.depth,l,u,q.data)}
4013else if(e.isVideoTexture)e.update(),i.texImage2D(o,0,d,l,u,t.image);else{const q=$M(t.image);i.texSubImage2D(o,0,0,0,r,s,l,u,q)}}generateMipmaps(e){const{gl:t,backend:i}=this,{textureGPU:r,glTextureType:s}=i.get(e);i.state.bindTexture(s,r),t.generateMipmap(s)}deallocateRenderBuffers(e){const{gl:t,backend:i}=this;if(e){const r=i.get(e);if(r.renderBufferStorageSetup=void 0,r.framebuffers){for(const s in r.framebuffers)t.deleteFramebuffer(r.framebuffers[s]);delete r.framebuffers}if(r.depthRenderbuffer&&(t.deleteRenderbuffer(r.depthRenderbuffer),delete r.depthRenderbuffer),r.stencilRenderbuffer&&(t.deleteRenderbuffer(r.stencilRenderbuffer),delete r.stencilRenderbuffer),r.msaaFrameBuffer&&(t.deleteFramebuffer(r.msaaFrameBuffer),delete r.msaaFrameBuffer),r.msaaRenderbuffers){for(let s=0;s<r.msaaRenderbuffers.length;s++)t.deleteRenderbuffer(r.msaaRenderbuffers[s]);delete r.msaaRenderbuffers}}}destroyTexture(e){const{gl:t,backend:i}=this,{textureGPU:r,renderTarget:s}=i.get(e);this.deallocateRenderBuffers(s),t.deleteTexture(r),i.delete(e)}copyTextureToTexture(e,t,i=null,r=null,s=0,a=0){const{gl:o,backend:l}=this,{state:u}=this.backend,{textureGPU:d,glTextureType:q,glType:_,glFormat:g}=l.get(t);u.bindTexture(q,d);let M,N,y,S,R,O,b,D,B;const C=e.isCompressedTexture?e.mipmaps[a]:e.image;if(i!==null)M=i.max.x-i.min.x,N=i.max.y-i.min.y,y=i.isBox3?i.max.z-i.min.z:1,S=i.min.x,R=i.min.y,O=i.isBox3?i.min.z:0;else{const j=Math.pow(2,-s);M=Math.floor(C.width*j),N=Math.floor(C.height*j),e.isDataArrayTexture||e.isArrayTexture?y=C.depth:e.isData3DTexture?y=Math.floor(C.depth*j):y=1,S=0,R=0,O=0}r!==null?(b=r.x,D=r.y,B=r.z):(b=0,D=0,B=0),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,t.flipY),o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),o.pixelStorei(o.UNPACK_ALIGNMENT,t.unpackAlignment);const G=o.getParameter(o.UNPACK_ROW_LENGTH),L=o.getParameter(o.UNPACK_IMAGE_HEIGHT),P=o.getParameter(o.UNPACK_SKIP_PIXELS),w=o.getParameter(o.UNPACK_SKIP_ROWS),z=o.getParameter(o.UNPACK_SKIP_IMAGES);o.pixelStorei(o.UNPACK_ROW_LENGTH,C.width),o.pixelStorei(o.UNPACK_IMAGE_HEIGHT,C.height),o.pixelStorei(o.UNPACK_SKIP_PIXELS,S),o.pixelStorei(o.UNPACK_SKIP_ROWS,R),o.pixelStorei(o.UNPACK_SKIP_IMAGES,O);const H=t.isDataArrayTexture||t.isData3DTexture||t.isArrayTexture;if(e.isRenderTargetTexture||e.isDepthTexture){const j=l.get(e),Y=l.get(t),Q=l.get(j.renderTarget),oe=l.get(Y.renderTarget),ae=Q.framebuffers[j.cacheKey],fe=oe.framebuffers[Y.cacheKey];u.bindFramebuffer(o.READ_FRAMEBUFFER,ae),u.bindFramebuffer(o.DRAW_FRAMEBUFFER,fe);let xe=o.COLOR_BUFFER_BIT;e.isDepthTexture&&(xe=o.DEPTH_BUFFER_BIT),o.blitFramebuffer(S,R,M,N,b,D,M,N,xe,o.NEAREST),u.bindFramebuffer(o.READ_FRAMEBUFFER,null),u.bindFramebuffer(o.DRAW_FRAMEBUFFER,null)}else H?e.isDataTexture||e.isData3DTexture?o.texSubImage3D(q,a,b,D,B,M,N,y,g,_,C.data):t.isCompressedArrayTexture?o.compressedTexSubImage3D(q,a,b,D,B,M,N,y,g,C.data):o.texSubImage3D(q,a,b,D,B,M,N,y,g,_,C):e.isDataTexture?o.texSubImage2D(q,a,b,D,M,N,g,_,C.data):e.isCompressedTexture?o.compressedTexSubImage2D(q,a,b,D,C.width,C.height,g,C.data):o.texSubImage2D(q,a,b,D,M,N,g,_,C);o.pixelStorei(o.UNPACK_ROW_LENGTH,G),o.pixelStorei(o.UNPACK_IMAGE_HEIGHT,L),o.pixelStorei(o.UNPACK_SKIP_PIXELS,P),o.pixelStorei(o.UNPACK_SKIP_ROWS,w),o.pixelStorei(o.UNPACK_SKIP_IMAGES,z),a===0&&t.generateMipmaps&&o.generateMipmap(q),u.unbindTexture()}copyFramebufferToTexture(e,t,i){const{gl:r}=this,{state:s}=this.backend,{textureGPU:a}=this.backend.get(e),{x:o,y:l,z:u,w:d}=i,q=e.isDepthTexture===!0||t.renderTarget&&t.renderTarget.samples>0,_=t.renderTarget?t.renderTarget.height:this.backend.getDrawingBufferSize().y;if(q){const g=o!==0||l!==0;let M,N;if(e.isDepthTexture===!0?(M=r.DEPTH_BUFFER_BIT,N=r.DEPTH_ATTACHMENT,t.stencil&&(M|=r.STENCIL_BUFFER_BIT)):(M=r.COLOR_BUFFER_BIT,N=r.COLOR_ATTACHMENT0),g){const y=this.backend.get(t.renderTarget),S=y.framebuffers[t.getCacheKey()],R=y.msaaFrameBuffer;s.bindFramebuffer(r.DRAW_FRAMEBUFFER,S),s.bindFramebuffer(r.READ_FRAMEBUFFER,R);const O=_-l-d;r.blitFramebuffer(o,O,o+u,O+d,o,O,o+u,O+d,M,r.NEAREST),s.bindFramebuffer(r.READ_FRAMEBUFFER,S),s.bindTexture(r.TEXTURE_2D,a),r.copyTexSubImage2D(r.TEXTURE_2D,0,0,0,o,O,u,d),s.unbindTexture()}else{const y=r.createFramebuffer();s.bindFramebuffer(r.DRAW_FRAMEBUFFER,y),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,N,r.TEXTURE_2D,a,0),r.blitFramebuffer(0,0,u,d,0,0,u,d,M,r.NEAREST),r.deleteFramebuffer(y)}}else s.bindTexture(r.TEXTURE_2D,a),r.copyTexSubImage2D(r.TEXTURE_2D,0,0,0,o,_-d-l,u,d),s.unbindTexture();e.generateMipmaps&&this.generateMipmaps(e),this.backend._setFramebuffer(t)}setupRenderBufferStorage(e,t,i,r=!1){const{gl:s}=this,a=t.renderTarget,{depthTexture:o,depthBuffer:l,stencilBuffer:u,width:d,height:q}=a;if(s.bindRenderbuffer(s.RENDERBUFFER,e),l&&!u){let _=s.DEPTH_COMPONENT24;r===!0?this.extensions.get("WEBGL_multisampled_render_to_texture").renderbufferStorageMultisampleEXT(s.RENDERBUFFER,a.samples,_,d,q):i>0?(o&&o.isDepthTexture&&o.type===s.FLOAT&&(_=s.DEPTH_COMPONENT32F),s.renderbufferStorageMultisample(s.RENDERBUFFER,i,_,d,q)):s.renderbufferStorage(s.RENDERBUFFER,_,d,q),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_ATTACHMENT,s.RENDERBUFFER,e)}else l&&u&&(i>0?s.renderbufferStorageMultisample(s.RENDERBUFFER,i,s.DEPTH24_STENCIL8,d,q):s.renderbufferStorage(s.RENDERBUFFER,s.DEPTH_STENCIL,d,q),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_STENCIL_ATTACHMENT,s.RENDERBUFFER,e))}async copyTextureToBuffer(e,t,i,r,s,a){const{backend:o,gl:l}=this,{textureGPU:u,glFormat:d,glType:q}=this.backend.get(e),_=l.createFramebuffer();l.bindFramebuffer(l.READ_FRAMEBUFFER,_);const g=e.isCubeTexture?l.TEXTURE_CUBE_MAP_POSITIVE_X+a:l.TEXTURE_2D;l.framebufferTexture2D(l.READ_FRAMEBUFFER,l.COLOR_ATTACHMENT0,g,u,0);const M=this._getTypedArrayType(q),N=this._getBytesPerTexel(q,d),S=r*s*N,R=l.createBuffer();l.bindBuffer(l.PIXEL_PACK_BUFFER,R),l.bufferData(l.PIXEL_PACK_BUFFER,S,l.STREAM_READ),l.readPixels(t,i,r,s,d,q,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),await o.utils._clientWaitAsync();const O=new M(S/M.BYTES_PER_ELEMENT);return l.bindBuffer(l.PIXEL_PACK_BUFFER,R),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,O),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteFramebuffer(_),O}_getTypedArrayType(e){const{gl:t}=this;if(e===t.UNSIGNED_BYTE)return Uint8Array;
4013if(e===t.UNSIGNED_SHORT_4_4_4_4||e===t.UNSIGNED_SHORT_5_5_5_1||e===t.UNSIGNED_SHORT_5_6_5||e===t.UNSIGNED_SHORT)return Uint16Array;if(e===t.UNSIGNED_INT)return Uint32Array;if(e===t.HALF_FLOAT)return Uint16Array;if(e===t.FLOAT)return Float32Array;throw new Error(`Unsupported WebGL type: ${e}`)}_getBytesPerTexel(e,t){const{gl:i}=this;let r=0;if(e===i.UNSIGNED_BYTE&&(r=1),(e===i.UNSIGNED_SHORT_4_4_4_4||e===i.UNSIGNED_SHORT_5_5_5_1||e===i.UNSIGNED_SHORT_5_6_5||e===i.UNSIGNED_SHORT||e===i.HALF_FLOAT)&&(r=2),(e===i.UNSIGNED_INT||e===i.FLOAT)&&(r=4),t===i.RGBA)return r*4;if(t===i.RGB)return r*3;if(t===i.ALPHA)return r}}function $M(n){return n.isDataTexture?n.image.data:typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&n instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?n:n.data}class Mre{constructor(e){this.backend=e,this.gl=this.backend.gl,this.availableExtensions=this.gl.getSupportedExtensions(),this.extensions={}}get(e){let t=this.extensions[e];return t===void 0&&(t=this.gl.getExtension(e),this.extensions[e]=t),t}has(e){return this.availableExtensions.includes(e)}}class xre{constructor(e){this.backend=e,this.maxAnisotropy=null}getMaxAnisotropy(){if(this.maxAnisotropy!==null)return this.maxAnisotropy;const e=this.backend.gl,t=this.backend.extensions;if(t.has("EXT_texture_filter_anisotropic")===!0){const i=t.get("EXT_texture_filter_anisotropic");this.maxAnisotropy=e.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else this.maxAnisotropy=0;return this.maxAnisotropy}}const jM={WEBGL_multi_draw:"WEBGL_multi_draw",WEBGL_compressed_texture_astc:"texture-compression-astc",WEBGL_compressed_texture_etc:"texture-compression-etc2",WEBGL_compressed_texture_etc1:"texture-compression-etc1",WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBKIT_WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBGL_compressed_texture_s3tc:"texture-compression-bc",EXT_texture_compression_bptc:"texture-compression-bptc",EXT_disjoint_timer_query_webgl2:"timestamp-query",OVR_multiview2:"OVR_multiview2"};class Sre{constructor(e){this.gl=e.gl,this.extensions=e.extensions,this.info=e.renderer.info,this.mode=null,this.index=0,this.type=null,this.object=null}render(e,t){const{gl:i,mode:r,object:s,type:a,info:o,index:l}=this;l!==0?i.drawElements(r,t,a,e):i.drawArrays(r,e,t),o.update(s,t,1)}renderInstances(e,t,i){const{gl:r,mode:s,type:a,index:o,object:l,info:u}=this;i!==0&&(o!==0?r.drawElementsInstanced(s,t,a,e,i):r.drawArraysInstanced(s,e,t,i),u.update(l,t,i))}renderMultiDraw(e,t,i){const{extensions:r,mode:s,object:a,info:o}=this;if(i===0)return;const l=r.get("WEBGL_multi_draw");if(l===null)for(let u=0;u<i;u++)this.render(e[u],t[u]);else{this.index!==0?l.multiDrawElementsWEBGL(s,t,0,this.type,e,0,i):l.multiDrawArraysWEBGL(s,e,0,t,0,i);let u=0;for(let d=0;d<i;d++)u+=t[d];o.update(a,u,1)}}renderMultiDrawInstances(e,t,i,r){const{extensions:s,mode:a,object:o,info:l}=this;if(i===0)return;const u=s.get("WEBGL_multi_draw");if(u===null)for(let d=0;d<i;d++)this.renderInstances(e[d],t[d],r[d]);else{this.index!==0?u.multiDrawElementsInstancedWEBGL(a,t,0,this.type,e,0,r,0,i):u.multiDrawArraysInstancedWE
4013BGL(a,e,0,t,0,r,0,i);let d=0;for(let q=0;q<i;q++)d+=t[q]*r[q];l.update(o,d,1)}}}class zb{constructor(e=256){this.trackTimestamp=!0,this.maxQueries=e,this.currentQueryIndex=0,this.queryOffsets=new Map,this.isDisposed=!1,this.lastValue=0,this.pendingResolve=!1}allocateQueriesForContext(){}async resolveQueriesAsync(){}dispose(){}}class yre extends zb{constructor(e,t,i=2048){if(super(i),this.gl=e,this.type=t,this.ext=e.getExtension("EXT_disjoint_timer_query_webgl2")||e.getExtension("EXT_disjoint_timer_query"),!this.ext){console.warn("EXT_disjoint_timer_query not supported; timestamps will be disabled."),this.trackTimestamp=!1;return}this.queries=[];for(let r=0;r<this.maxQueries;r++)this.queries.push(e.createQuery());this.activeQuery=null,this.queryStates=new Map}allocateQueriesForContext(e){if(!this.trackTimestamp)return null;if(this.currentQueryIndex+2>this.maxQueries)return Yr(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryStates.set(t,"inactive"),this.queryOffsets.set(e.id,t),t}beginQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e.id);if(t==null||this.activeQuery!==null)return;const i=this.queries[t];if(i)try{this.queryStates.get(t)==="inactive"&&(this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),this.activeQuery=t,this.queryStates.set(t,"started"))}catch(r){console.error("Error in beginQuery:",r),this.activeQuery=null,this.queryStates.set(t,"inactive")}}endQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e.id);if(t!=null&&this.activeQuery===t)try{this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.queryStates.set(t,"ended"),this.activeQuery=null}catch(i){console.error("Error in endQuery:",i),this.queryStates.set(t,"inactive"),this.activeQuery=null}}async resolveQueriesAsync(){if(!this.trackTimestamp||this.pendingResolve)return this.lastValue;this.pendingResolve=!0;try{const e=[];for(const[r,s]of this.queryStates)if(s==="ended"){const a=this.queries[r];e.push(this.resolveQuery(a))}if(e.length===0)return this.lastValue;const i=(await Promise.all(e)).reduce((r,s)=>r+s,0);return this.lastValue=i,this.currentQueryIndex=0,this.queryOffsets.clear(),this.queryStates.clear(),this.activeQuery=null,i}catch(e){return console.error("Error resolving queries:",e),this.lastValue}finally{this.pendingResolve=!1}}async resolveQuery(e){return new Promise(t=>{if(this.isDisposed){t(this.lastValue);return}let i,r=!1;const s=()=>{i&&(clearTimeout(i),i=null)},a=l=>{r||(r=!0,s(),t(l))},o=()=>{if(this.isDisposed){a(this.lastValue);return}try{if(this.gl.getParameter(this.ext.GPU_DISJOINT_EXT)){a(this.lastValue);return}if(!this.gl.getQueryParameter(e,this.gl.QUERY_RESULT_AVAILABLE)){i=setTimeout(o,1);return}const d=this.gl.getQueryParameter(e,this.gl.QUERY_RESULT);t(Number(d)/1e6)}catch(l){console.error("Error checking query:",l),t(this.lastValue)}};o()})}dispose(){if(!this.isDisposed&&(this.isDisposed=!0,!!this.trackTimestamp)){for(const e of this.queries)this.gl.deleteQuery(e);this.queries=[],this.queryStates.clear(),this.queryOffsets.clear(),this.lastValue=0,this.activeQuery=null}}}const XM=new Ce;class ZM extends kb{constructor(e={}){super(e),this.isWebGLBackend=!0,this.attributeUtils=null,this.extensions=null,this.capabilities=null,this.textureUtils=null,this.bufferRenderer=null,this.gl=null,this.state=null,this.utils=null,this.vaoCache={},this.transformFeedbackCache={},this.discard=!1,this.disjoint=null,this.parallel=null,this._currentContext=null,this._knownBindings=new WeakSet,this._supportsInvalidateFramebuffer=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),this._xrFramebuffer=null}init(e){super.init(e);const t=this.parameters,i={antialias:e.samples>0,alpha:!0,depth:e.depth,stencil:e.stencil},r=t.context!==void 0?t.context:e.domElement.getContext("webgl2",i);function s(a){a.preventDefault();const o={api:"WebGL",message:a.statusMessage||"Unknown reason",reason:null,originalEvent:a};e.onDeviceLost(o)}this._onContextLost=s,e.domElement.addEventListener("webglcontextlost",s,!1),this.gl=r,this.extensions=new Mre(this),this.capabilities=new xre(this),this.attributeUtils=new _re(this),this.textureUtils=new Ere(this),this.bufferRenderer=new Sre(this),this.state=new mre(this),this.utils=new gre(this),this.extensions.get("EXT_color_buffer_float"),this.extensions.get("WEBGL_clip_cull_distance"),this.extensions.get("OES_texture_float_linear"),this.extensions.get("EXT_color_buffer_half_float"),this.extensions.get("WEBGL_multisampled_render_to_texture"),this.extensions.get("WEBGL_render_shared_exponent"),this.extensions.get("WEBGL_multi_draw"),this.extensions.get("OVR_multiview2"),this.disjoint=this.extensions.get("EXT_disjoint_timer_query_webgl2"),this.parallel=this.extensions.get("KHR_parallel_shader_compile")}get coordinateSystem(){return sr}async getArrayBufferAsync(e){return await this.attributeUtils.getArrayBufferAsync(e)}async waitForGPU(){await this.utils._clientWaitAsync()}async makeXRCompatible(){this.gl.getContextAttributes().xrCompatible!==!0&&await this.gl.makeXRCompatible()}setXRTarget(e){this._xrFramebuffer=e}setXRRenderTargetTextures(e,t,i=null){const r=this.gl;if(this.set(e.texture,{textureGPU:t,glInternalFormat:r.RGBA8}),i!==null){const s=e.stencilBuffer?r.DEPTH24_STENCIL8:r.DEPTH_COMPONENT24;this.set(e.depthTexture,{textureGPU:i,glInternalFormat:s}),this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e.autoAllocateDepthBuffer===!0&&e.multiview===!1&&console.warn("THREE.WebGLBackend: Render-to-texture extension was disabled because an external texture was provided"),e.autoAllocateDepthBuffer=!1}}initTimestampQuery(e){if(!this.disjoint||!this.trackTimestamp)return;const t=e.isComputeNode?"compute":"render";this.timestampQueryPool[t]||(this.timestampQueryPool[t]=new yre(this.gl,t,2048));const i=this.timestampQueryPool[t];i.allocateQueriesForContext(e)!==null&&i.beginQuery(e)}prepareTimestampBuffer(e){if(!this.disjoint||!this.trackTimestamp)return;const t=e.isComputeNode?"compute":"render";this.timestampQueryPool[t].endQuery(e)}getContext(){return this.gl}beginRender(e){const{state:t}=this,i=this.get(e);if(e.viewport)this.updateViewport(e);else{const{width:s,height:a}=this.getDrawingBufferSize(XM);t.viewport(0,0,s,a)}if(e.scissor){const{x:s,y:a,width:o,height:l}=e.scissorValue;t.scissor(s,e.height-l-a,o,l)}this.initTimestampQuery(e),i.previousContext=this._currentContext,this._currentContext=e,this._setFramebuffer(e),this.clear(e.clearColor,e.clearDepth,e.clearStencil,e,!1);const r=e.occlusionQueryCount;r>0&&(i.currentOcclusionQueries=i.occlusionQueries,i.currentOcclusionQueryObjects=i.occlusionQueryObjects,i.lastOcclusionObject=null,i.occlusionQueries=new Array(r),i.occlusionQueryObjects=new Array(r),i.occlusionQueryIndex=0)}finishRender(e){const{gl:t,state:i}=this,r=this.get(e),s=r.previousContext;i.resetVertexState();const a=e.occlusionQueryCount;a>0&&(a>r.occlusionQueryIndex&&t.endQuery(t.ANY_SAMPLES_PASSED),this.resolveOccludedAsync(e));const o=e.textures;if(o!==null)for(let l=0;l<o.length;l++){const u=o[l];u.generateMipmaps&&this.generateMipmaps(u)}if(this._currentContext=s,e.textures!==null&&e.renderTarget){const l=this.get(e.renderTarget),{resolveDepthBuffer:u,samples:d}=e.renderTarget;if(d>0&&this._useMultisampledExtension(e.renderTarget)===!1){const q=l.framebuffers[e.getCacheKey()],_=t.COLOR_BUFFER_BIT,g=l.msaaFrameBuffer,M=e.textures;i.bindFramebuffer(t.READ_FRAMEBUFFER,g),i.bindFramebuffer(t.DRAW_FRAMEBUFFER,q);for(let N=0;N<M.length;N++)if(e.scissor){const{x:y,y:S,width:R,height:O}=e.scissorValue,b=e.height-O-S;t.blitFramebuffer(y,b,y+R,b+O,y,b,y+R,b+O,_,t.NEAREST),this._supportsInvalidateFramebuffer===!0&&t.invalidateSubFramebuffer(t.READ_FRAMEBUFFER,l.invali
4013dationArray,y,b,R,O)}else t.blitFramebuffer(0,0,e.width,e.height,0,0,e.width,e.height,_,t.NEAREST),this._supportsInvalidateFramebuffer===!0&&t.invalidateFramebuffer(t.READ_FRAMEBUFFER,l.invalidationArray)}else if(u===!1&&l.framebuffers){const q=l.framebuffers[e.getCacheKey()];i.bindFramebuffer(t.DRAW_FRAMEBUFFER,q),t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,l.depthInvalidationArray)}}if(s!==null)if(this._setFramebuffer(s),s.viewport)this.updateViewport(s);else{const{width:l,height:u}=this.getDrawingBufferSize(XM);i.viewport(0,0,l,u)}this.prepareTimestampBuffer(e)}resolveOccludedAsync(e){const t=this.get(e),{currentOcclusionQueries:i,currentOcclusionQueryObjects:r}=t;if(i&&r){const s=new WeakSet,{gl:a}=this;t.currentOcclusionQueryObjects=null,t.currentOcclusionQueries=null;const o=()=>{let l=0;for(let u=0;u<i.length;u++){const d=i[u];d!==null&&a.getQueryParameter(d,a.QUERY_RESULT_AVAILABLE)&&(a.getQueryParameter(d,a.QUERY_RESULT)===0&&s.add(r[u]),i[u]=null,a.deleteQuery(d),l++)}l<i.length?requestAnimationFrame(o):t.occluded=s};o()}}isOccluded(e,t){const i=this.get(e);return i.occluded&&i.occluded.has(t)}updateViewport(e){const{state:t}=this,{x:i,y:r,width:s,height:a}=e.viewportValue;t.viewport(i,e.height-a-r,s,a)}setScissorTest(e){this.state.setScissorTest(e)}getClearColor(){const e=super.getClearColor();return e.r*=e.a,e.g*=e.a,e.b*=e.a,e}clear(e,t,i,r=null,s=!0){const{gl:a,renderer:o}=this;r===null&&(r={textures:null,clearColorValue:this.getClearColor()});let l=0;if(e&&(l|=a.COLOR_BUFFER_BIT),t&&(l|=a.DEPTH_BUFFER_BIT),i&&(l|=a.STENCIL_BUFFER_BIT),l!==0){let u;r.clearColorValue?u=r.clearColorValue:u=this.getClearColor();const d=o.getClearDepth(),q=o.getClearStencil();if(t&&this.state.setDepthMask(!0),r.textures===null)a.clearColor(u.r,u.g,u.b,u.a),a.clear(l);else{if(s&&this._setFramebuffer(r),e)for(let _=0;_<r.textures.length;_++)_===0?a.clearBufferfv(a.COLOR,_,[u.r,u.g,u.b,u.a]):a.clearBufferfv(a.COLOR,_,[0,0,0,1]);t&&i?a.clearBufferfi(a.DEPTH_STENCIL,0,d,q):t?a.clearBufferfv(a.DEPTH,0,[d]):i&&a.clearBufferiv(a.STENCIL,0,[q])}}}beginCompute(e){const{state:t,gl:i}=this;t.bindFramebuffer(i.FRAMEBUFFER,null),this.initTimestampQuery(e)}compute(e,t,i,r){const{state:s,gl:a}=this;this.discard===!1&&(a.enable(a.RASTERIZER_DISCARD),this.discard=!0);const{programGPU:o,transformBuffers:l,attributes:u}=this.get(r),d=this._getVaoKey(u),q=this.vaoCache[d];q===void 0?this._createVao(u):s.setVertexState(q),s.useProgram(o),this._bindUniforms(i);const _=this._getTransformFeedback(l);a.bindTransformFeedback(a.TRANSFORM_FEEDBACK,_),a.beginTransformFeedback(a.POINTS),u[0].isStorageInstancedBufferAttribute?a.drawArraysInstanced(a.POINTS,0,1,t.count):a.drawArrays(a.POINTS,0,t.count),a.endTransformFeedback(),a.bindTransformFeedback(a.TRANSFORM_FEEDBACK,null);for(let g=0;g<l.length;g++){const M=l[g];M.pbo&&this.textureUtils.copyBufferToTexture(M.transformBuffer,M.pbo),M.switchBuffers()}}finishCompute(e){const t=this.gl;this.discard=!1,t.disable(t.RASTERIZER_DISCARD),this.prepareTimestampBuffer(e),this._currentContext&&this._setFramebuffer(this._currentContext)}_isRenderCameraDepthArray(e){return e.depthTexture&&e.depthTexture.isArrayTexture&&e.camera.isArrayCamera}draw(e){const{object:t,pipeline:i,material:r,context:s,hardwareClippingPlanes:a}=e,{programGPU:o}=this.get(i),{gl:l,state:u}=this,d=this.get(s),q=e.getDrawParameters();if(q===null)return;this._bindUniforms(e.getBindings());const _=t.isMesh&&t.matrixWorld.determinant()<0;u.setMaterial(r,_,a),u.useProgram(o);const g=this.get(e);let M=g.staticVao;if(M===void 0||g.geometryId!==e.geometry.id){const C=this._getVaoKey(e.getAttributes());if(M=this.vaoCache[C],M===void 0){let G;({vaoGPU:M,staticVao:G}=this._createVao(e.getAttributes())),G&&(g.staticVao=M,g.geometryId=e.geometry.id)}}const N=e.getIndex(),y=N!==null?this.get(N).bufferGPU:null;u.setVertexState(M,y);const S=d.lastOcclusionObject;if(S!==t&&S!==void 0){if(S!==null&&S.occlusionTest===!0&&(l.endQuery(l.ANY_SAMPLES_PASSED),d.occlusionQueryIndex++),t.occlusionTest===!0){const C=l.createQuery();l.beginQuery(l.ANY_SAMPLES_PASSED,C),d.occlusionQueries[d.occlusionQueryIndex]=C,d.occlusionQueryObjects[d.occlusionQueryIndex]=t}d.lastOcclusionObject=t}const R=this.bufferRenderer;t.isPoints?R.mode=l.POINTS:t.isLineSegments?R.mode=l.LINES:t.isLine?R.mode=l.LINE_STRIP:t.isLineLoop?R.mode=l.LINE_LOOP:r.wireframe===!0?(u.setLineWidth(r.wireframeLinewidth*this.renderer.getPixelRatio()),R.mode=l.LINES):R.mode=l.TRIANGLES;const{vertexCount:O,instanceCount:b}=q;let{firstVertex:D}=q;if(R.object=t,N!==null){D*=N.array.BYTES_PER_ELEMENT;const C=this.get(N);R.index=N.count,R.type=C.type}else R.index=0;const B=()=>{t.isBatchedMesh?t._multiDrawInstances!==null?(Yr("THREE.WebGLBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),R.renderMultiDrawInstances(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount,t._multiDrawInstances)):this.hasFeature("WEBGL_multi_draw")?R.renderMultiDraw(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount):Yr("THREE.WebGLRenderer: WEBGL_multi_draw not supported."):b>1?R.renderInstances(D,O,b):R.render(D,O)};if(e.camera.isArrayCamera===!0&&e.camera.cameras.length>0&&e.camera.isMultiViewCamera===!1){const C=this.get(e.camera),G=e.camera.cameras,L=e.getBindingGroup("cameraIndex").bindings[0];if(C.indexesGPU===void 0||C.indexesGPU.length!==G.length){const Y=new Uint32Array([0,0,0,0]),Q=[];for(let oe=0,ae=G.length;oe<ae;oe++){const fe=l.createBuffer();Y[0]=oe,l.bindBuffer(l.UNIFORM_BUFFER,fe),l.bufferData(l.UNIFORM_BUFFER,Y,l.STATIC_DRAW),Q.push(fe)}C.indexesGPU=Q}const P=this.get(L),w=this.renderer.getPixelRatio(),z=this._currentContext.renderTarget,H=this._isRenderCameraDepthArray(this._currentContext),j=this._currentContext.activeCubeFace;if(H){const Y=this.get(z.depthTexture);if(Y.clearedRenderId!==this.renderer._nodes.nodeFrame.renderId){Y.clearedRenderId=this.renderer._nodes.nodeFrame.renderId;const{stencilBuffer:Q}=z;for(let oe=0,ae=G.length;oe<ae;oe++)this.renderer._activeCubeFace=oe,this._currentContext.activeCubeFace=oe,this._setFramebuffer(this._currentContext),this.clear(!1,!0,Q,this._currentContext,!1);this.renderer._activeCubeFace=j,this._currentContext.activeCubeFace=j}}for(let Y=0,Q=G.length;Y<Q;Y++){const oe=G[Y];
4013if(t.layers.test(oe.layers)){H&&(this.renderer._activeCubeFace=Y,this._currentContext.activeCubeFace=Y,this._setFramebuffer(this._currentContext));const ae=oe.viewport;if(ae!==void 0){const fe=ae.x*w,xe=ae.y*w,Te=ae.width*w,He=ae.height*w;u.viewport(Math.floor(fe),Math.floor(e.context.height-He-xe),Math.floor(Te),Math.floor(He))}u.bindBufferBase(l.UNIFORM_BUFFER,P.index,C.indexesGPU[Y]),B()}this._currentContext.activeCubeFace=j,this.renderer._activeCubeFace=j}}else B()}needsRenderUpdate(){return!1}getRenderCacheKey(){return""}createDefaultTexture(e){this.textureUtils.createDefaultTexture(e)}createTexture(e,t){this.textureUtils.createTexture(e,t)}updateTexture(e,t){this.textureUtils.updateTexture(e,t)}generateMipmaps(e){this.textureUtils.generateMipmaps(e)}destroyTexture(e){this.textureUtils.destroyTexture(e)}async copyTextureToBuffer(e,t,i,r,s,a){return this.textureUtils.copyTextureToBuffer(e,t,i,r,s,a)}createSampler(){}destroySampler(){}createNodeBuilder(e,t){return new dre(e,t)}createProgram(e){const t=this.gl,{stage:i,code:r}=e,s=i==="fragment"?t.createShader(t.FRAGMENT_SHADER):t.createShader(t.VERTEX_SHADER);t.shaderSource(s,r),t.compileShader(s),this.set(e,{shaderGPU:s})}destroyProgram(e){this.delete(e)}createRenderPipeline(e,t){const i=this.gl,r=e.pipeline,{fragmentProgram:s,vertexProgram:a}=r,o=i.createProgram(),l=this.get(s).shaderGPU,u=this.get(a).shaderGPU;if(i.attachShader(o,l),i.attachShader(o,u),i.linkProgram(o),this.set(r,{programGPU:o,fragmentShader:l,vertexShader:u}),t!==null&&this.parallel){const d=new Promise(q=>{const _=this.parallel,g=()=>{i.getProgramParameter(o,_.COMPLETION_STATUS_KHR)?(this._completeCompile(e,r),q()):requestAnimationFrame(g)};g()});t.push(d);return}this._completeCompile(e,r)}_handleSource(e,t){const i=e.split(` 4014`),r=[],s=Math.max(t-6,0),a=Math.min(t+6,i.length);for(let o=s;o<a;o++){const l=o+1;r.push(`${l===t?">":" "} ${l}: ${i[o]}`)}return r.join(` 4015`)}_getShaderErrors(e,t,i){const r=e.getShaderParameter(t,e.COMPILE_STATUS),s=e.getShaderInfoLog(t).trim();if(r&&s==="")return"";const a=/ERROR: 0:(\d+)/.exec(s);if(a){const o=parseInt(a[1]);return i.toUpperCase()+` 4016 4017`+s+` 4018 4019`+this._handleSource(e.getShaderSource(t),o)}else return s}_logProgramError(e,t,i){if(this.renderer.debug.checkShaderErrors){const r=this.gl,s=r.getProgramInfoLog(e).trim();if(r.getProgramParameter(e,r.LINK_STATUS)===!1)if(typeof this.renderer.debug.onShaderError=="function")this.renderer.debug.onShaderError(r,e,i,t);else{const a=this._getShaderErrors(r,i,"vertex"),o=this._getShaderErrors(r,t,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(e,r.VALIDATE_STATUS)+` 4020 4021Program Info Log: `+s+` 4022`+a+` 4023`+o)}else s!==""&&console.warn("THREE.WebGLProgram: Program Info Log:",s)}}_completeCompile(e,t){const{state:i,gl:r}=this,s=this.get(t),{programGPU:a,fragmentShader:o,vertexShader:l}=s;r.getProgramParameter(a,r.LINK_STATUS)===!1&&this._logProgramError(a,o,l),i.useProgram(a);const u=e.getBindings();this._setupBindings(u,a),this.set(t,{programGPU:a})}createComputePipeline(e,t){const{state:i,gl:r}=this,s={stage:"fragment",code:`#version 300 es 4024precision highp float; 4025void main() {}`};this.createProgram(s);const{computeProgram:a}=e,o=r.createProgram(),l=this.get(s).shaderGPU,u=this.get(a).shaderGPU,d=a.transforms,q=[],_=[];for(let y=0;y<d.length;y++){const S=d[y];q.push(S.varyingName),_.push(S.attributeNode)}r.attachShader(o,l),r.attachShader(o,u),r.transformFeedbackVaryings(o,q,r.SEPARATE_ATTRIBS),r.linkProgram(o),r.getProgramParameter(o,r.LINK_STATUS)===!1&&this._logProgramError(o,l,u),i.useProgram(o),this._setupBindings(t,o);const g=a.attributes,M=[],N=[];for(let y=0;y<g.length;y++){const S=g[y].node.attribute;M.push(S),this.has(S)||this.attributeUtils.createAttribute(S,r.ARRAY_BUFFER)}for(let y=0;y<_.length;y++){const S=_[y].attribute;this.has(S)||this.attributeUtils.createAttribute(S,r.ARRAY_BUFFER);const R=this.get(S);N.push(R)}this.set(e,{programGPU:o,transformBuffers:N,attributes:M})}createBindings(e,t){if(this._knownBindings.has(t)===!1){this._knownBindings.add(t);let i=0,r=0;for(const s of t){this.set(s,{textures:r,uniformBuffers:i});for(const a of s.bindings)a.isUniformBuffer&&i++,a.isSampledTexture&&r++}}this.updateBindings(e,t)}updateBindings(e){const{gl:t}=this,i=this.get(e);let r=i.uniformBuffers,s=i.textures;for(const a of e.bindings)if(a.isUniformsGroup||a.isUniformBuffer){const o=a.buffer,l=t.createBuffer();t.bindBuffer(t.UNIFORM_BUFFER,l),t.bufferData(t.UNIFORM_BUFFER,o,t.DYNAMIC_DRAW),this.set(a,{index:r++,bufferGPU:l})}else if(a.isSampledTexture){const{textureGPU:o,glTextureType:l}=this.get(a.texture);this.set(a,{index:s++,textureGPU:o,glTextureType:l})}}updateBinding(e){const t=this.gl;if(e.isUniformsGroup||e.isUniformBuffer){const r=this.get(e).bufferGPU,s=e.buffer;t.bindBuffer(t.UNIFORM_BUFFER,r),t.bufferData(t.UNIFORM_BUFFER,s,t.DYNAMIC_DRAW)}}createIndexAttribute(e){const t=this.gl;this.attributeUtils.createAttribute(e,t.ELEMENT_ARRAY_BUFFER)}createAttribute(e){if(this.has(e))return;const t=this.gl;this.attributeUtils.createAttribute(e,t.ARRAY_BUFFER)}createStorageAttribute(e){if(this.has(e))return;const t=this.gl;this.attributeUtils.createAttribute(e,t.ARRAY_BUFFER)}updateAttribute(e){this.attributeUtils.updateAttribute(e)}destroyAttribute(e){this.attributeUtils.destroyAttribute(e)}hasFeature(e){const t=Object.keys(jM).filter(r=>jM[r]===e),i=this.extensions;for(let r=0;r<t.length;r++)if(i.has(t[r]))return!0;return!1}getMaxAnisotropy(){return this.capabilities.getMaxAnisotropy()}copyTextureToTexture(e,t,i=null,r=null,s=0,a=0){this.textureUtils.copyTextureToTexture(e,t,i,r,s,a)}copyFramebufferToTexture(e,t,i){this.textureUtils.copyFramebufferToTexture(e,t,i)}_setFramebuffer(e){const{gl:t,state:i}=this;let r=null;if(e.textures!==null){const s=e.renderTarget,a=this.get(s),{samples:o,depthBuffer:l,stencilBuffer:u}
4025=s,d=s.isWebGLCubeRenderTarget===!0,q=s.isRenderTarget3D===!0,_=s.depth>1,g=s.isXRRenderTarget===!0,M=g===!0&&s.hasExternalTextures===!0;let N=a.msaaFrameBuffer,y=a.depthRenderbuffer;const S=this.extensions.get("WEBGL_multisampled_render_to_texture"),R=this.extensions.get("OVR_multiview2"),O=this._useMultisampledExtension(s),b=LR(e);let D;if(d?(a.cubeFramebuffers||(a.cubeFramebuffers={}),D=a.cubeFramebuffers[b]):g&&M===!1?D=this._xrFramebuffer:(a.framebuffers||(a.framebuffers={}),D=a.framebuffers[b]),D===void 0){D=t.createFramebuffer(),i.bindFramebuffer(t.FRAMEBUFFER,D);const B=e.textures,C=[];if(d){a.cubeFramebuffers[b]=D;const{textureGPU:L}=this.get(B[0]),P=this.renderer._activeCubeFace;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+P,L,0)}else{a.framebuffers[b]=D;for(let L=0;L<B.length;L++){const P=B[L],w=this.get(P);w.renderTarget=e.renderTarget,w.cacheKey=b;const z=t.COLOR_ATTACHMENT0+L;if(s.multiview)R.framebufferTextureMultisampleMultiviewOVR(t.FRAMEBUFFER,z,w.textureGPU,0,o,0,2);else if(q||_){const H=this.renderer._activeCubeFace;t.framebufferTextureLayer(t.FRAMEBUFFER,z,w.textureGPU,0,H)}else O?S.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,z,t.TEXTURE_2D,w.textureGPU,0,o):t.framebufferTexture2D(t.FRAMEBUFFER,z,t.TEXTURE_2D,w.textureGPU,0)}i.drawBuffers(e,D)}const G=u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;if(s.autoAllocateDepthBuffer===!0){const L=t.createRenderbuffer();this.textureUtils.setupRenderBufferStorage(L,e,0,O),a.xrDepthRenderbuffer=L,C.push(u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT),t.bindRenderbuffer(t.RENDERBUFFER,L),t.framebufferRenderbuffer(t.FRAMEBUFFER,G,t.RENDERBUFFER,L)}else if(e.depthTexture!==null){C.push(u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT);const L=this.get(e.depthTexture);if(L.renderTarget=e.renderTarget,L.cacheKey=b,s.multiview)R.framebufferTextureMultisampleMultiviewOVR(t.FRAMEBUFFER,G,L.textureGPU,0,o,0,2);else if(M&&O)S.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,G,t.TEXTURE_2D,L.textureGPU,0,o);else if(e.depthTexture.isArrayTexture){const P=this.renderer._activeCubeFace;t.framebufferTextureLayer(t.FRAMEBUFFER,G,L.textureGPU,0,P)}else t.framebufferTexture2D(t.FRAMEBUFFER,G,t.TEXTURE_2D,L.textureGPU,0)}a.depthInvalidationArray=C}else{if(this._isRenderCameraDepthArray(e)){i.bindFramebuffer(t.FRAMEBUFFER,D);const C=this.renderer._activeCubeFace,G=this.get(e.depthTexture),L=u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;t.framebufferTextureLayer(t.FRAMEBUFFER,L,G.textureGPU,0,C)}if(g||O||s.multiview){i.bindFramebuffer(t.FRAMEBUFFER,D);const C=this.get(e.textures[0]);s.multiview?R.framebufferTextureMultisampleMultiviewOVR(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,C.textureGPU,0,o,0,2):O?S.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,C.textureGPU,0,o):t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,C.textureGPU,0);const G=u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;if(s.autoAllocateDepthBuffer===!0){const L=a.xrDepthRenderbuffer;t.bindRenderbuffer(t.RENDERBUFFER,L),t.framebufferRenderbuffer(t.FRAMEBUFFER,G,t.RENDERBUFFER,L)}else{const L=this.get(e.depthTexture);s.multiview?R.framebufferTextureMultisampleMultiviewOVR(t.FRAMEBUFFER,G,L.textureGPU,0,o,0,2):O?S.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,G,t.TEXTURE_2D,L.textureGPU,0,o):t.framebufferTexture2D(t.FRAMEBUFFER,G,t.TEXTURE_2D,L.textureGPU,0)}}}if(o>0&&O===!1&&!s.multiview){if(N===void 0){const B=[];N=t.createFramebuffer(),i.bindFramebuffer(t.FRAMEBUFFER,N);const C=[],G=e.textures;for(let L=0;L<G.length;L++){if(C[L]=t.createRenderbuffer(),t.bindRenderbuffer(t.RENDERBUFFER,C[L]),B.push(t.COLOR_ATTACHMENT0+L),l){const z=u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;B.push(z)}const P=e.textures[L],w=this.get(P);t.renderbufferStorageMultisample(t.RENDERBUFFER,o,w.glInternalFormat,e.width,e.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+L,t.RENDERBUFFER,C[L])}if(a.msaaFrameBuffer=N,a.msaaRenderbuffers=C,y===void 0){y=t.createRenderbuffer(),this.textureUtils.setupRenderBufferStorage(y,e,o),a.depthRenderbuffer=y;const L=u?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;B.push(L)}a.invalidationArray=B}r=a.msaaFrameBuffer}else r=D}i.bindFramebuffer(t.FRAMEBUFFER,r)}_getVaoKey(e){let t="";for(let i=0;i<e.length;i++){const r=this.get(e[i]);t+=":"+r.id}return t}_createVao(e){const{gl:t}=this,i=t.createVertexArray();let r="",s=!0;
4025t.bindVertexArray(i);for(let a=0;a<e.length;a++){const o=e[a],l=this.get(o);r+=":"+l.id,t.bindBuffer(t.ARRAY_BUFFER,l.bufferGPU),t.enableVertexAttribArray(a),(o.isStorageBufferAttribute||o.isStorageInstancedBufferAttribute)&&(s=!1);let u,d;o.isInterleavedBufferAttribute===!0?(u=o.data.stride*l.bytesPerElement,d=o.offset*l.bytesPerElement):(u=0,d=0),l.isInteger?t.vertexAttribIPointer(a,o.itemSize,l.type,u,d):t.vertexAttribPointer(a,o.itemSize,l.type,o.normalized,u,d),o.isInstancedBufferAttribute&&!o.isInterleavedBufferAttribute?t.vertexAttribDivisor(a,o.meshPerAttribute):o.isInterleavedBufferAttribute&&o.data.isInstancedInterleavedBuffer&&t.vertexAttribDivisor(a,o.data.meshPerAttribute)}return t.bindBuffer(t.ARRAY_BUFFER,null),this.vaoCache[r]=i,{vaoGPU:i,staticVao:s}}_getTransformFeedback(e){let t="";for(let s=0;s<e.length;s++)t+=":"+e[s].id;let i=this.transformFeedbackCache[t];if(i!==void 0)return i;const{gl:r}=this;i=r.createTransformFeedback(),r.bindTransformFeedback(r.TRANSFORM_FEEDBACK,i);for(let s=0;s<e.length;s++){const a=e[s];r.bindBufferBase(r.TRANSFORM_FEEDBACK_BUFFER,s,a.transformBuffer)}return r.bindTransformFeedback(r.TRANSFORM_FEEDBACK,null),this.transformFeedbackCache[t]=i,i}_setupBindings(e,t){const i=this.gl;for(const r of e)for(const s of r.bindings){const o=this.get(s).index;if(s.isUniformsGroup||s.isUniformBuffer){const l=i.getUniformBlockIndex(t,s.name);i.uniformBlockBinding(t,l,o)}else if(s.isSampledTexture){const l=i.getUniformLocation(t,s.name);i.uniform1i(l,o)}}}_bindUniforms(e){const{gl:t,state:i}=this;for(const r of e)for(const s of r.bindings){const a=this.get(s),o=a.index;s.isUniformsGroup||s.isUniformBuffer?i.bindBufferBase(t.UNIFORM_BUFFER,o,a.bufferGPU):s.isSampledTexture&&i.bindTexture(a.glTextureType,a.textureGPU,t.TEXTURE0+o)}}_useMultisampledExtension(e){return e.multiview===!0?!0:e.samples>0&&this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e.autoAllocateDepthBuffer!==!1}dispose(){const e=this.extensions.get("WEBGL_lose_context");e&&e.loseContext(),this.renderer.domElement.removeEventListener("webglcontextlost",this._onContextLost)}}const yo={PointList:"point-list",LineList:"line-list",LineStrip:"line-strip",TriangleList:"triangle-list",TriangleStrip:"triangle-strip"},xi={Never:"never",Less:"less",Equal:"equal",LessEqual:"less-equal",Greater:"greater",NotEqual:"not-equal",GreaterEqual:"greater-equal",Always:"always"},Ji={Store:"store"},z1={Load:"load",Clear:"clear"},FA={CCW:"ccw"},GA={None:"none",Front:"front",Back:"back"},_4={Uint16:"uint16",Uint32:"uint32"},Ae={R8Unorm:"r8unorm",R8Snorm:"r8snorm",R8Uint:"r8uint",R8Sint:"r8sint",R16Uint:"r16uint",R16Sint:"r16sint",R16Float:"r16float",RG8Unorm:"rg8unorm",RG8Snorm:"rg8snorm",RG8Uint:"rg8uint",RG8Sint:"rg8sint",R32Uint:"r32uint",R32Sint:"r32sint",R32Float:"r32float",RG16Uint:"rg16uint",RG16Sint:"rg16sint",RG16Float:"rg16float",RGBA8Unorm:"rgba8unorm",RGBA8UnormSRGB:"rgba8unorm-srgb",RGBA8Snorm:"rgba8snorm",RGBA8Uint:"rgba8uint",RGBA8Sint:"rgba8sint",BGRA8Unorm:"bgra8unorm",BGRA8UnormSRGB:"bgra8unorm-srgb",RGB9E5UFloat:"rgb9e5ufloat",RGB10A2Unorm:"rgb10a2unorm",RG11B10UFloat:"rgb10a2unorm",RG32Uint:"rg32uint",RG32Sint:"rg32sint",RG32Float:"rg32float",RGBA16Uint:"rgba16uint",RGBA16Sint:"rgba16sint",RGBA16Float:"rgba16float",RGBA32Uint:"rgba32uint",RGBA32Sint:"rgba32sint",RGBA32Float:"rgba32float",Depth16Unorm:"depth16unorm",Depth24Plus:"depth24plus",Depth24PlusStencil8:"depth24plus-stencil8",Depth32Float:"depth32float",Depth32FloatStencil8:"depth32float-stencil8",BC1RGBAUnorm:"bc1-rgba-unorm",BC1RGBAUnormSRGB:"bc1-rgba-unorm-srgb",BC2RGBAUnorm:"bc2-rgba-unorm",BC2RGBAUnormSRGB:"bc2-rgba-unorm-srgb",BC3RGBAUnorm:"bc3-rgba-unorm",BC3RGBAUnormSRGB:"bc3-rgba-unorm-srgb",BC4RUnorm:"bc4-r-unorm",BC4RSnorm:"bc4-r-snorm",BC5RGUnorm:"bc5-rg-unorm",BC5RGSnorm:"bc5-rg-snorm",BC6HRGBUFloat:"bc6h-rgb-ufloat",BC6HRGBFloat:"bc6h-rgb-float",BC7RGBAUnorm:"bc7-rgba-unorm",BC7RGBAUnormSRGB:"bc7-rgba-srgb",ETC2RGB8Unorm:"etc2-rgb8unorm",ETC2RGB8UnormSRGB:"etc2-rgb8unorm-srgb",ETC2RGB8A1Unorm:"etc2-rgb8a1unorm",ETC2RGB8A1UnormSRGB:"etc2-rgb8a1unorm-srgb",ETC2RGBA8Unorm:"etc2-rgba8unorm",ETC2RGBA8UnormSRGB:"etc2-rgba8unorm-srgb",EACR11Unorm:"eac-r11unorm",EACR11Snorm:"eac-r11snorm",EACRG11Unorm:"eac-rg11unorm",EACRG11Snorm:"eac-rg11snorm",ASTC4x4Unorm:"astc-4x4-unorm",ASTC4x4UnormSRGB:"astc-4x4-unorm-srgb",ASTC5x4Unorm:"astc-5x4-unorm",ASTC5x4UnormSRGB:"astc-5x4-unorm-srgb",ASTC5x5Unorm:"astc-5x5-unorm",ASTC5x5UnormSRGB:"astc-5x5-unorm-srgb",ASTC6x5Unorm:"astc-6x5-unorm",ASTC6x5UnormSRGB:"astc-6x5-unorm-srgb",ASTC6x6Unorm:"astc-6x6-unorm",ASTC6x6UnormSRGB:"astc-6x6-unorm-srgb",ASTC8x5Unorm:"astc-8x5-unorm",ASTC8x5UnormSRGB:"astc-8x5-unorm-srgb",ASTC8x6Unorm:"astc-8x6-unorm",ASTC8x6UnormSRGB:"astc-8x6-unorm-srgb",ASTC8x8Unorm:"astc-8x8-unorm",ASTC8x8UnormSRGB:"astc-8x8-unorm-srgb",ASTC10x5Unorm:"astc-10x5-unorm",ASTC10x5UnormSRGB:"astc-10x5-unorm-srgb",ASTC10x6Unorm:"astc-10x6-unorm",ASTC10x6UnormSRGB:"astc-10x6-unorm-srgb",ASTC10x8Unorm:"astc-10x8-unorm",ASTC10x8UnormSRGB:"astc-10x8-unorm-srgb",ASTC10x10Unorm:"astc-10x10-unorm",ASTC10x10UnormSRGB:"astc-10x10-unorm-srgb",ASTC12x10Unorm:"astc-12x10-unorm",ASTC12x10UnormSRGB:"astc-12x10-unorm-srgb",ASTC12x12Unorm:"astc-12x12-unorm",ASTC12x12UnormSRGB:"astc-12x12-unorm-srgb"},VA={ClampToEdge:"clamp-to-edge",Repeat:"repeat",MirrorRepeat:"mirror-repeat"},ws={Linear:"linear",Nearest:"nearest"},d1={Zero:"zero",One:"one",Src:"src",OneMinusSrc:"one-minus-src",SrcAlpha:"src-alpha",OneMinusSrcAlpha:"one-minus-src-alpha",Dst:"dst",OneMinusDst:"one-minus-dst",DstAlpha:"dst-alpha",OneMinusDstAlpha:"one-minus-dst-alpha",SrcAlphaSaturated:"src-alpha-saturated",Constant:"constant",OneMinusConstant:"one-minus-constant"},ys={Add:"add",Subtract:"subtract",ReverseSubtract:"reverse-subtract",Min:"min",Max:"max"},QM={None:0,All:15},T3={Keep:"keep",Zero:"zero",Replace:"replace",Invert:"invert",IncrementClamp:"increment-clamp",DecrementClamp:"decrement-clamp",IncrementWrap:"increment-wrap",DecrementWrap:"decrement-wrap"},kA={Storage:"storage",ReadOnlyStorage:"read-only-storage"},zA={WriteOnly:"write-only",ReadOnly:"read-only",ReadWrite:"read-write"},JM={NonFiltering:"non-filtering",Comparison:"comparison"},Ns={Float:"float",UnfilterableFloat:"unfilterable-float",Depth:"depth",SInt:"sint",UInt:"uint"},ex={TwoD:"2d",ThreeD:"3d"},_i={TwoD:"2d",TwoDArray:"2d-array",Cube:"cube",ThreeD:"3d"},Nre={All:"all"},Vl={Vertex:"vertex",Instance:"instance"},wf={DepthClipControl:"depth-clip-control",Depth32FloatStencil8:"depth32float-stencil8",TextureCompressionBC:"texture-compression-bc",TextureCompressionETC2:"texture-compression-etc2",TextureCompressionASTC:"texture-compression-astc",TimestampQuery:"timestamp-query",IndirectFirstInstance:"indirect-first-instance",ShaderF16:"shader-f16",RG11B10UFloat:"rg11b10ufloat-renderable",BGRA8UNormStorage:"bgra8unorm-storage",Float32Filterable:"float32-filterable",ClipDistances:"clip-distances",DualSourceBlending:"dual-source-blending",Subgroups:"subgroups"};class vre extends zp{constructor(e,t){super(e),this.texture=t,this.version=t?t.version:0,this.isSampler=!0}}class Ore extends vre{constructor(e,t,i){super(e,t?t.value:null),this.textureNode=t,this.groupNode=i}update(){this.texture=this.textureNode.value}}class Tre extends wb{constructor(e,t){super(e,t?t.array:null),this.attribute=t,this.isStorageBuffer=!0}}let Rre=0;class bre extends Tre{constructor(e,t){super("StorageBuffer_"+Rre++,e?e.value:null),this.nodeUniform=e,this.access=e?e.access:ki.READ_WRITE,this.groupNode=t}get buffer(){return this.nodeUniform.value}}class Ire extends ts{constructor(e){super(),this.device=e;const t=`
4026struct VarysStruct { 4027 @builtin( position ) Position: vec4<f32>, 4028 @location( 0 ) vTex : vec2<f32> 4029}; 4030 4031@vertex 4032fn main( @builtin( vertex_index ) vertexIndex : u32 ) -> VarysStruct { 4033 4034 var Varys : VarysStruct; 4035 4036 var pos = array< vec2<f32>, 4 >( 4037 vec2<f32>( -1.0, 1.0 ), 4038 vec2<f32>( 1.0, 1.0 ), 4039 vec2<f32>( -1.0, -1.0 ), 4040 vec2<f32>( 1.0, -1.0 ) 4041 ); 4042 4043 var tex = array< vec2<f32>, 4 >( 4044 vec2<f32>( 0.0, 0.0 ), 4045 vec2<f32>( 1.0, 0.0 ), 4046 vec2<f32>( 0.0, 1.0 ), 4047 vec2<f32>( 1.0, 1.0 ) 4048 ); 4049 4050 Varys.vTex = tex[ vertexIndex ]; 4051 Varys.Position = vec4<f32>( pos[ vertexIndex ], 0.0, 1.0 ); 4052 4053 return Varys; 4054 4055} 4056`,i=` 4057@group( 0 ) @binding( 0 ) 4058var imgSampler : sampler; 4059 4060@group( 0 ) @binding( 1 ) 4061var img : texture_2d<f32>; 4062 4063@fragment 4064fn main( @location( 0 ) vTex : vec2<f32> ) -> @location( 0 ) vec4<f32> { 4065 4066 return textureSample( img, imgSampler, vTex ); 4067 4068} 4069`,r=` 4070@group( 0 ) @binding( 0 ) 4071var imgSampler : sampler; 4072 4073@group( 0 ) @binding( 1 ) 4074var img : texture_2d<f32>; 4075 4076@fragment 4077fn main( @location( 0 ) vTex : vec2<f32> ) -> @location( 0 ) vec4<f32> { 4078 4079 return textureSample( img, imgSampler, vec2( vTex.x, 1.0 - vTex.y ) ); 4080 4081} 4082`;this.mipmapSampler=e.createSampler({minFilter:ws.Linear}),this.flipYSampler=e.createSampler({minFilter:ws.Nearest}),this.transferPipelines={},this.flipYPipelines={},this.mipmapVertexShaderModule=e.createShaderModule({label:"mipmapVertex",code:t}),this.mipmapFragmentShaderModule=e.createShaderModule({label:"mipmapFragment",code:i}),this.flipYFragmentShaderModule=e.createShaderModule({label:"flipYFragment",code:r})}getTransferPipeline(e){let t=this.transferPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`mipmap-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.mipmapFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:yo.TriangleStrip,stripIndexFormat:_4.Uint32},layout:"auto"}),this.transferPipelines[e]=t),t}getFlipYPipeline(e){let t=this.flipYPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`flipY-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.flipYFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:yo.TriangleStrip,stripIndexFormat:_4.Uint32},layout:"auto"}),this.flipYPipelines[e]=t),t}flipY(e,t,i=0){const r=t.format,{width:s,height:a}=t.size,o=this.getTransferPipeline(r),l=this.getFlipYPipeline(r),u=this.device.createTexture({size:{width:s,height:a,depthOrArrayLayers:1},format:r,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),d=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:_i.TwoD,baseArrayLayer:i}),q=u.createView({baseMipLevel:0,mipLevelCount:1,dimension:_i.TwoD,baseArrayLayer:0}),_=this.device.createCommandEncoder({}),g=(M,N,y)=>{const S=M.getBindGroupLayout(0),R=this.device.createBindGroup({layout:S,entries:[{binding:0,resource:this.flipYSampler},{binding:1,resource:N}]}),O=_.beginRenderPass({colorAttachments:[{view:y,loadOp:z1.Clear,storeOp:Ji.Store,clearValue:[0,0,0,0]}]});O.setPipeline(M),O.setBindGroup(0,R),O.draw(4,1,0,0),O.end()};g(o,d,q),g(l,q,d),this.device.queue.submit([_.finish()]),u.destroy()}generateMipmaps(e,t,i=0){const r=this.get(e);r.useCount===void 0&&(r.useCount=0,r.layers=[]);const s=r.layers[i]||this._mipmapCreateBundles(e,t,i),a=this.device.createCommandEncoder({});this._mipmapRunBundles(a,s),this.device.queue.submit([a.finish()]),r.useCount!==0&&(r.layers[i]=s),r.useCount++}_mipmapCreateBundles(e,t,i){const r=this.getTransferPipeline(t.format),s=r.getBindGroupLayout(0);let a=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:_i.TwoD,baseArrayLayer:i});const o=[];for(let l=1;l<t.mipLevelCount;l++){const u=this.device.createBindGroup({layout:s,entries:[{binding:0,resource:this.mipmapSampler},{binding:1,resource:a}]}),d=e.createView({baseMipLevel:l,mipLevelCount:1,dimension:_i.TwoD,baseArrayLayer:i}),q={colorAttachments:[{view:d,loadOp:z1.Clear,storeOp:Ji.Store,clearValue:[0,0,0,0]}]},_=this.device.createRenderBundleEncoder({colorFormats:[t.format]});_.setPipeline(r),_.setBindGroup(0,u),_.draw(4,1,0,0),o.push({renderBundles:[_.finish()],passDescriptor:q}),a=d}return o}_mipmapRunBundles(e,t){const i=t.length;for(let r=0;r<i;r++){const s=t[r],a=e.beginRenderPass(s.passDescriptor);a.executeBundles(s.renderBundles),a.end()}}}const Pre={[wd]:"never",[z9]:"less",[Bd]:"equal",[W9]:"less-equal",[Ud]:"greater",[Gd]:"greater-equal",[Vd]:"always",[Fd]:"not-equal"},Lre=[0,1,3,2,4,5];class Dre{constructor(e){this.backend=e,this._passUtils=null,this.defaultTexture={},this.defaultCubeTexture={},this.defaultVideoFrame=null,this.colorBuffer=null,this.depthTexture=new $r,this.depthTexture.name="depthBuffer"}createSampler(e){const t=this.backend,i=t.device,r=t.get(e),s={addressModeU:this._convertAddressMode(e.wrapS),addressModeV:this._convertAddressMode(e.wrapT),addressModeW:this._convertAddressMode(e.wrapR),magFilter:this._convertFilterMode(e.magFilter),minFilter:this._convertFilterMode(e.minFilter),mipmapFilter:this._convertFilterMode(e.minFilter),maxAnisotropy:1};s.magFilter===ws.Linear&&s.minFilter===ws.Linear&&s.mipmapFilter===ws.Linear&&(s.maxAnisotropy=e.anisotropy),e.isDepthTexture&&e.compareFunction!==null&&(s.compare=Pre[e.compareFunction]),r.sampler=i.createSampler(s)}createDefaultTexture(e){let t;const i=Bf(e);e.isCubeTexture?t=this._getDefaultCubeTextureGPU(i):e.isVideoTexture?this.backend.get(e).externalTexture=this._getDefaultVideoFrame():t=this._getDefaultTextureGPU(i),this.backend.get(e).texture=t}
4082createTexture(e,t={}){const i=this.backend,r=i.get(e);if(r.initialized)throw new Error("WebGPUTextureUtils: Texture already initialized.");t.needsMipmaps===void 0&&(t.needsMipmaps=!1),t.levels===void 0&&(t.levels=1),t.depth===void 0&&(t.depth=1);const{width:s,height:a,depth:o,levels:l}=t;e.isFramebufferTexture&&(t.renderTarget?t.format=this.backend.utils.getCurrentColorFormat(t.renderTarget):t.format=this.backend.utils.getPreferredCanvasFormat());const u=this._getDimension(e),d=e.internalFormat||t.format||Bf(e,i.device);r.format=d;const{samples:q,primarySamples:_,isMSAA:g}=i.utils.getTextureSampleData(e);let M=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;e.isStorageTexture===!0&&(M|=GPUTextureUsage.STORAGE_BINDING),e.isCompressedTexture!==!0&&e.isCompressedArrayTexture!==!0&&(M|=GPUTextureUsage.RENDER_ATTACHMENT);const N={label:e.name,size:{width:s,height:a,depthOrArrayLayers:o},mipLevelCount:l,sampleCount:_,dimension:u,format:d,usage:M};if(e.isVideoTexture){const y=e.source.data,S=new VideoFrame(y);N.size.width=S.displayWidth,N.size.height=S.displayHeight,S.close(),r.externalTexture=y}else{if(d===void 0){console.warn("WebGPURenderer: Texture format not supported."),this.createDefaultTexture(e);return}e.isCubeTexture&&(N.textureBindingViewDimension=_i.Cube),r.texture=i.device.createTexture(N)}if(g){const y=Object.assign({},N);y.label=y.label+"-msaa",y.sampleCount=q,r.msaaTexture=i.device.createTexture(y)}r.initialized=!0,r.textureDescriptorGPU=N}destroyTexture(e){const t=this.backend,i=t.get(e);i.texture!==void 0&&i.texture.destroy(),i.msaaTexture!==void 0&&i.msaaTexture.destroy(),t.delete(e)}destroySampler(e){const i=this.backend.get(e);delete i.sampler}generateMipmaps(e){const t=this.backend.get(e);if(e.isCubeTexture)for(let i=0;i<6;i++)this._generateMipmaps(t.texture,t.textureDescriptorGPU,i);else{const i=e.image.depth||1;for(let r=0;r<i;r++)this._generateMipmaps(t.texture,t.textureDescriptorGPU,r)}}getColorBuffer(){this.colorBuffer&&this.colorBuffer.destroy();const e=this.backend,{width:t,height:i}=e.getDrawingBufferSize();return this.colorBuffer=e.device.createTexture({label:"colorBuffer",size:{width:t,height:i,depthOrArrayLayers:1},sampleCount:e.utils.getSampleCount(e.renderer.samples),format:e.utils.getPreferredCanvasFormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC}),this.colorBuffer}getDepthBuffer(e=!0,t=!1){const i=this.backend,{width:r,height:s}=i.getDrawingBufferSize(),a=this.depthTexture,o=i.get(a).texture;let l,u;if(t?(l=Kr,u=Wr):e&&(l=Hr,u=cn),o!==void 0){if(a.image.width===r&&a.image.height===s&&a.format===l&&a.type===u)return o;this.destroyTexture(a)}return a.name="depthBuffer",a.format=l,a.type=u,a.image.width=r,a.image.height=s,this.createTexture(a,{width:r,height:s}),i.get(a).texture}updateTexture(e,t){const i=this.backend.get(e),{textureDescriptorGPU:r}=i;if(!(e.isRenderTargetTexture||r===void 0)){if(e.isDataTexture)this._copyBufferToTexture(t.image,i.texture,r,0,e.flipY);else if(e.isArrayTexture||e.isDataArrayTexture||e.isData3DTexture)for(let s=0;s<t.image.depth;s++)this._copyBufferToTexture(t.image,i.texture,r,s,e.flipY,s);else if(e.isCompressedTexture||e.isCompressedArrayTexture)this._copyCompressedBufferToTexture(e.mipmaps,i.texture,r);else if(e.isCubeTexture)this._copyCubeMapToTexture(t.images,i.texture,r,e.flipY,e.premultiplyAlpha);else if(e.isVideoTexture){const s=e.source.data;i.externalTexture=s}else this._copyImageToTexture(t.image,i.texture,r,0,e.flipY,e.premultiplyAlpha);i.version=e.version,e.onUpdate&&e.onUpdate(e)}}async copyTextureToBuffer(e,t,i,r,s,a){const o=this.backend.device,l=this.backend.get(e),u=l.texture,d=l.textureDescriptorGPU.format,q=this._getBytesPerTexel(d);let _=r*q;_=Math.ceil(_/256)*256;const g=o.createBuffer({size:r*s*q,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),M=o.createCommandEncoder();M.copyTextureToBuffer({texture:u,origin:{x:t,y:i,z:a}},{buffer:g,bytesPerRow:_},{width:r,height:s});const N=this._getTypedArrayType(d);o.queue.submit([M.finish()]),await g.mapAsync(GPUMapMode.READ);const y=g.getMappedRange();return new N(y)}_getDefaultTextureGPU(e){let t=this.defaultTexture[e];if(t===void 0){const i=new ei;i.minFilter=hn,i.magFilter=hn,this.createTexture(i,{width:1,height:1,format:e}),this.defaultTexture[e]=t=i}return this.backend.get(t).texture}_getDefaultCubeTextureGPU(e){let t=this.defaultTexture[e];if(t===void 0){const i=new J8;i.minFilter=hn,i.magFilter=hn,this.createTexture(i,{width:1,height:1,depth:6}),this.defaultCubeTexture[e]=t=i}return this.backend.get(t).texture}_getDefaultVideoFrame(){let e=this.defaultVideoFrame;if(e===null){const t={timestamp:0,codedWidth:1,codedHeight:1,format:"RGBA"};
4082this.defaultVideoFrame=e=new VideoFrame(new Uint8Array([0,0,0,255]),t)}return e}_copyCubeMapToTexture(e,t,i,r,s){for(let a=0;a<6;a++){const o=e[a],l=r===!0?Lre[a]:a;o.isDataTexture?this._copyBufferToTexture(o.image,t,i,l,r):this._copyImageToTexture(o,t,i,l,r,s)}}_copyImageToTexture(e,t,i,r,s,a){this.backend.device.queue.copyExternalImageToTexture({source:e,flipY:s},{texture:t,mipLevel:0,origin:{x:0,y:0,z:r},premultipliedAlpha:a},{width:e.width,height:e.height,depthOrArrayLayers:1})}_getPassUtils(){let e=this._passUtils;return e===null&&(this._passUtils=e=new Ire(this.backend.device)),e}_generateMipmaps(e,t,i=0){this._getPassUtils().generateMipmaps(e,t,i)}_flipY(e,t,i=0){this._getPassUtils().flipY(e,t,i)}_copyBufferToTexture(e,t,i,r,s,a=0){const o=this.backend.device,l=e.data,u=this._getBytesPerTexel(i.format),d=e.width*u;o.queue.writeTexture({texture:t,mipLevel:0,origin:{x:0,y:0,z:r}},l,{offset:e.width*e.height*u*a,bytesPerRow:d},{width:e.width,height:e.height,depthOrArrayLayers:1}),s===!0&&this._flipY(t,i,r)}_copyCompressedBufferToTexture(e,t,i){const r=this.backend.device,s=this._getBlockData(i.format),a=i.size.depthOrArrayLayers>1;for(let o=0;o<e.length;o++){const l=e[o],u=l.width,d=l.height,q=a?i.size.depthOrArrayLayers:1,_=Math.ceil(u/s.width)*s.byteLength,g=_*Math.ceil(d/s.height);for(let M=0;M<q;M++)r.queue.writeTexture({texture:t,mipLevel:o,origin:{x:0,y:0,z:M}},l.data,{offset:M*g,bytesPerRow:_,rowsPerImage:Math.ceil(d/s.height)},{width:Math.ceil(u/s.width)*s.width,height:Math.ceil(d/s.height)*s.height,depthOrArrayLayers:1})}}_getBlockData(e){if(e===Ae.BC1RGBAUnorm||e===Ae.BC1RGBAUnormSRGB)return{byteLength:8,width:4,height:4};if(e===Ae.BC2RGBAUnorm||e===Ae.BC2RGBAUnormSRGB)return{byteLength:16,width:4,height:4};if(e===Ae.BC3RGBAUnorm||e===Ae.BC3RGBAUnormSRGB)return{byteLength:16,width:4,height:4};if(e===Ae.BC4RUnorm||e===Ae.BC4RSnorm)return{byteLength:8,width:4,height:4};if(e===Ae.BC5RGUnorm||e===Ae.BC5RGSnorm)return{byteLength:16,width:4,height:4};if(e===Ae.BC6HRGBUFloat||e===Ae.BC6HRGBFloat)return{byteLength:16,width:4,height:4};if(e===Ae.BC7RGBAUnorm||e===Ae.BC7RGBAUnormSRGB)return{byteLength:16,width:4,height:4};if(e===Ae.ETC2RGB8Unorm||e===Ae.ETC2RGB8UnormSRGB)return{byteLength:8,width:4,height:4};if(e===Ae.ETC2RGB8A1Unorm||e===Ae.ETC2RGB8A1UnormSRGB)return{byteLength:8,width:4,height:4};if(e===Ae.ETC2RGBA8Unorm||e===Ae.ETC2RGBA8UnormSRGB)return{byteLength:16,width:4,height:4};if(e===Ae.EACR11Unorm)return{byteLength:8,width:4,height:4};if(e===Ae.EACR11Snorm)return{byteLength:8,width:4,height:4};if(e===Ae.EACRG11Unorm)return{byteLength:16,width:4,height:4};if(e===Ae.EACRG11Snorm)return{byteLength:16,width:4,height:4};if(e===Ae.ASTC4x4Unorm||e===Ae.ASTC4x4UnormSRGB)return{byteLength:16,width:4,height:4};if(e===Ae.ASTC5x4Unorm||e===Ae.ASTC5x4UnormSRGB)return{byteLength:16,width:5,height:4};if(e===Ae.ASTC5x5Unorm||e===Ae.ASTC5x5UnormSRGB)return{byteLength:16,width:5,height:5};if(e===Ae.ASTC6x5Unorm||e===Ae.ASTC6x5UnormSRGB)return{byteLength:16,width:6,height:5};if(e===Ae.ASTC6x6Unorm||e===Ae.ASTC6x6UnormSRGB)return{byteLength:16,width:6,height:6};if(e===Ae.ASTC8x5Unorm||e===Ae.ASTC8x5UnormSRGB)return{byteLength:16,width:8,height:5};if(e===Ae.ASTC8x6Unorm||e===Ae.ASTC8x6UnormSRGB)return{byteLength:16,width:8,height:6};if(e===Ae.ASTC8x8Unorm||e===Ae.ASTC8x8UnormSRGB)return{byteLength:16,width:8,height:8};if(e===Ae.ASTC10x5Unorm||e===Ae.ASTC10x5UnormSRGB)return{byteLength:16,width:10,height:5};if(e===Ae.ASTC10x6Unorm||e===Ae.ASTC10x6UnormSRGB)return{byteLength:16,width:10,height:6};if(e===Ae.ASTC10x8Unorm||e===Ae.ASTC10x8UnormSRGB)return{byteLength:16,width:10,height:8};if(e===Ae.ASTC10x10Unorm||e===Ae.ASTC10x10UnormSRGB)return{byteLength:16,width:10,height:10};if(e===Ae.ASTC12x10Unorm||e===Ae.ASTC12x10UnormSRGB)return{byteLength:16,width:12,height:10};if(e===Ae.ASTC12x12Unorm||e===Ae.ASTC12x12UnormSRGB)return{byteLength:16,width:12,height:12}}_convertAddressMode(e){let t=VA.ClampToEdge;return e===la?t=VA.Repeat:e===ua&&(t=VA.MirrorRepeat),t}_convertFilterMode(e){let t=ws.Linear;return(e===hn||e===Ld||e===H2)&&(t=ws.Nearest),t}_getBytesPerTexel(e){if(e===Ae.R8Unorm||e===Ae.R8Snorm||e===Ae.R8Uint||e===Ae.R8Sint)return 1;if(e===Ae.R16Uint||e===Ae.R16Sint||e===Ae.R16Float||e===Ae.RG8Unorm||e===Ae.RG8Snorm||e===Ae.RG8Uint||e===Ae.RG8Sint)return 2;if(e===Ae.R32Uint||e===Ae.R32Sint||e===Ae.R32Float||e===Ae.RG16Uint||e===Ae.RG16Sint||e===Ae.RG16Float||e===Ae.RGBA8Unorm||e===Ae.RGBA8UnormSRGB||e===Ae.RGBA8Snorm||e===Ae.RGBA8Uint||e===Ae.RGBA8Sint||e===Ae.BGRA8Unorm||e===Ae.BGRA8UnormSRGB||e===Ae.RGB9E5UFloat||e===Ae.RGB10A2Unorm||e===Ae.RG11B10UFloat||e===Ae.Depth32Float||e===Ae.Depth24Plus||e===Ae.Depth24PlusStencil8||e===Ae.Depth32FloatStencil8)return 4;if(e===Ae.RG32Uint||e===Ae.RG32Sint||e===Ae.RG32Float||e===Ae.RGBA16Uint||e===Ae.RGBA16Sint||e===Ae.RGBA16Float)return 8;if(e===Ae.RGBA32Uint||e===Ae.RGBA32Sint||e===Ae.RGBA32Float)return 16}_getTypedArrayType(e){if(e===Ae.R8Uint)return Uint8Array;
4082if(e===Ae.R8Sint)return Int8Array;if(e===Ae.R8Unorm)return Uint8Array;if(e===Ae.R8Snorm)return Int8Array;if(e===Ae.RG8Uint)return Uint8Array;if(e===Ae.RG8Sint)return Int8Array;if(e===Ae.RG8Unorm)return Uint8Array;if(e===Ae.RG8Snorm)return Int8Array;if(e===Ae.RGBA8Uint)return Uint8Array;if(e===Ae.RGBA8Sint)return Int8Array;if(e===Ae.RGBA8Unorm)return Uint8Array;if(e===Ae.RGBA8Snorm)return Int8Array;if(e===Ae.R16Uint)return Uint16Array;if(e===Ae.R16Sint)return Int16Array;if(e===Ae.RG16Uint)return Uint16Array;if(e===Ae.RG16Sint)return Int16Array;if(e===Ae.RGBA16Uint)return Uint16Array;if(e===Ae.RGBA16Sint)return Int16Array;if(e===Ae.R16Float||e===Ae.RG16Float||e===Ae.RGBA16Float)return Uint16Array;if(e===Ae.R32Uint)return Uint32Array;if(e===Ae.R32Sint)return Int32Array;if(e===Ae.R32Float)return Float32Array;if(e===Ae.RG32Uint)return Uint32Array;if(e===Ae.RG32Sint)return Int32Array;if(e===Ae.RG32Float)return Float32Array;if(e===Ae.RGBA32Uint)return Uint32Array;if(e===Ae.RGBA32Sint)return Int32Array;if(e===Ae.RGBA32Float)return Float32Array;if(e===Ae.BGRA8Unorm||e===Ae.BGRA8UnormSRGB)return Uint8Array;
4082if(e===Ae.RGB10A2Unorm||e===Ae.RGB9E5UFloat||e===Ae.RG11B10UFloat)return Uint32Array;if(e===Ae.Depth32Float)return Float32Array;if(e===Ae.Depth24Plus||e===Ae.Depth24PlusStencil8)return Uint32Array;if(e===Ae.Depth32FloatStencil8)return Float32Array}_getDimension(e){let t;return e.isData3DTexture?t=ex.ThreeD:t=ex.TwoD,t}}function Bf(n,e=null){const t=n.format,i=n.type,r=n.colorSpace,s=Zt.getTransfer(r);let a;if(n.isCompressedTexture===!0||n.isCompressedArrayTexture===!0)switch(t){case F3:a=s===Et?Ae.BC1RGBAUnormSRGB:Ae.BC1RGBAUnorm;break;case G3:a=s===Et?Ae.BC2RGBAUnormSRGB:Ae.BC2RGBAUnorm;break;case V3:a=s===Et?Ae.BC3RGBAUnormSRGB:Ae.BC3RGBAUnorm;break;case Vo:a=s===Et?Ae.ETC2RGB8UnormSRGB:Ae.ETC2RGB8Unorm;break;case ko:a=s===Et?Ae.ETC2RGBA8UnormSRGB:Ae.ETC2RGBA8Unorm;break;case zo:a=s===Et?Ae.ASTC4x4UnormSRGB:Ae.ASTC4x4Unorm;break;case Wo:a=s===Et?Ae.ASTC5x4UnormSRGB:Ae.ASTC5x4Unorm;break;case Ho:a=s===Et?Ae.ASTC5x5UnormSRGB:Ae.ASTC5x5Unorm;break;case Ko:a=s===Et?Ae.ASTC6x5UnormSRGB:Ae.ASTC6x5Unorm;break;case Yo:a=s===Et?Ae.ASTC6x6UnormSRGB:Ae.ASTC6x6Unorm;break;case $o:a=s===Et?Ae.ASTC8x5UnormSRGB:Ae.ASTC8x5Unorm;break;case jo:a=s===Et?Ae.ASTC8x6UnormSRGB:Ae.ASTC8x6Unorm;break;case Xo:a=s===Et?Ae.ASTC8x8UnormSRGB:Ae.ASTC8x8Unorm;break;case Zo:a=s===Et?Ae.ASTC10x5UnormSRGB:Ae.ASTC10x5Unorm;break;case Qo:a=s===Et?Ae.ASTC10x6UnormSRGB:Ae.ASTC10x6Unorm;break;case Jo:a=s===Et?Ae.ASTC10x8UnormSRGB:Ae.ASTC10x8Unorm;break;case e4:a=s===Et?Ae.ASTC10x10UnormSRGB:Ae.ASTC10x10Unorm;break;case t4:a=s===Et?Ae.ASTC12x10UnormSRGB:Ae.ASTC12x10Unorm;break;case n4:a=s===Et?Ae.ASTC12x12UnormSRGB:Ae.ASTC12x12Unorm;break;case Vn:a=s===Et?Ae.RGBA8UnormSRGB:Ae.RGBA8Unorm;break;default:console.error("WebGPURenderer: Unsupported texture format.",t)}else switch(t){case Vn:switch(i){case Xs:a=Ae.RGBA8Snorm;break;case Zs:a=Ae.RGBA16Sint;break;case R0:a=Ae.RGBA16Uint;break;case cn:a=Ae.RGBA32Uint;break;case mi:a=Ae.RGBA32Sint;break;case Ln:a=s===Et?Ae.RGBA8UnormSRGB:Ae.RGBA8Unorm;break;case Jn:a=Ae.RGBA16Float;break;case Wn:a=Ae.RGBA32Float;break;default:console.error("WebGPURenderer: Unsupported texture type with RGBAFormat.",i)}break;case j8:switch(i){case k9:a=Ae.RGB9E5UFloat;break;default:console.error("WebGPURenderer: Unsupported texture type with RGBFormat.",i)}break;case X8:switch(i){case Xs:a=Ae.R8Snorm;break;case Zs:a=Ae.R16Sint;break;case R0:a=Ae.R16Uint;break;case cn:a=Ae.R32Uint;break;case mi:a=Ae.R32Sint;break;case Ln:a=Ae.R8Unorm;break;case Jn:a=Ae.R16Float;break;case Wn:a=Ae.R32Float;break;default:console.error("WebGPURenderer: Unsupported texture type with RedFormat.",i)}break;case K2:switch(i){case Xs:a=Ae.RG8Snorm;break;case Zs:a=Ae.RG16Sint;break;case R0:a=Ae.RG16Uint;break;case cn:a=Ae.RG32Uint;break;case mi:a=Ae.RG32Sint;break;case Ln:a=Ae.RG8Unorm;break;case Jn:a=Ae.RG16Float;break;case Wn:a=Ae.RG32Float;break;default:console.error("WebGPURenderer: Unsupported texture type with RGFormat.",i)}break;case Hr:switch(i){case R0:a=Ae.Depth16Unorm;break;case cn:a=Ae.Depth24Plus;break;case Wn:a=Ae.Depth32Float;break;default:console.error("WebGPURenderer: Unsupported texture type with DepthFormat.",i)}break;case Kr:switch(i){case Wr:a=Ae.Depth24PlusStencil8;break;case Wn:e&&e.features.has(wf.Depth32FloatStencil8)===!1&&console.error('WebGPURenderer: Depth textures with DepthStencilFormat + FloatType can only be used with the "depth32float-stencil8" GPU feature.'),a=Ae.Depth32FloatStencil8;break;default:console.error("WebGPURenderer: Unsupported texture type with DepthStencilFormat.",i)}break;case O4:switch(i){case mi:a=Ae.R32Sint;break;case cn:a=Ae.R32Uint;break;default:console.error("WebGPURenderer: Unsupported texture type with RedIntegerFormat.",i)}break;case T4:switch(i){case mi:a=Ae.RG32Sint;break;case cn:a=Ae.RG32Uint;break;default:console.error("WebGPURenderer: Unsupported texture type with RGIntegerFormat.",i)}break;case R4:switch(i){case mi:a=Ae.RGBA32Sint;break;case cn:a=Ae.RGBA32Uint;break;default:console.error("WebGPURenderer: Unsupported texture type with RGBAIntegerFormat.",i)}break;default:console.error("WebGPURenderer: Unsupported texture format.",t)}return a}const Cre=/^[fn]*\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)\s*[\-\>]*\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/i,wre=/([a-z_0-9]+)\s*:\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/ig,tx={f32:"float",i32:"int",u32:"uint",bool:"bool","vec2<f32>":"vec2","vec2<i32>":"ivec2","vec2<u32>":"uvec2","vec2<bool>":"bvec2",vec2f:"vec2",vec2i:"ivec2",vec2u:"uvec2",vec2b:"bvec2","vec3<f32>":"vec3","vec3<i32>":"ivec3","vec3<u32>":"uvec3","vec3<bool>":"bvec3",vec3f:"vec3",vec3i:"ivec3",vec3u:"uvec3",vec3b:"bvec3","vec4<f32>":"vec4","vec4<i32>":"ivec4","vec4<u32>":"uvec4","vec4<bool>":"bvec4",vec4f:"vec4",vec4i:"ivec4",vec4u:"uvec4",vec4b:"bvec4","mat2x2<f32>":"mat2",mat2x2f:"mat2","mat3x3<f32>":"mat3",mat3x3f:"mat3","mat4x4<f32>
4082":"mat4",mat4x4f:"mat4",sampler:"sampler",texture_1d:"texture",texture_2d:"texture",texture_2d_array:"texture",texture_multisampled_2d:"cubeTexture",texture_depth_2d:"depthTexture",texture_depth_2d_array:"depthTexture",texture_depth_multisampled_2d:"depthTexture",texture_depth_cube:"depthTexture",texture_depth_cube_array:"depthTexture",texture_3d:"texture3D",texture_cube:"cubeTexture",texture_cube_array:"cubeTexture",texture_storage_1d:"storageTexture",texture_storage_2d:"storageTexture",texture_storage_2d_array:"storageTexture",texture_storage_3d:"storageTexture"},Bre=n=>{n=n.trim();const e=n.match(Cre);if(e!==null&&e.length===4){const t=e[2],i=[];let r=null;for(;(r=wre.exec(t))!==null;)i.push({name:r[1],type:r[2]});const s=[];for(let d=0;d<i.length;d++){const{name:q,type:_}=i[d];let g=_;g.startsWith("ptr")?g="pointer":(g.startsWith("texture")&&(g=_.split("<")[0]),g=tx[g]),s.push(new Gp(g,q))}const a=n.substring(e[0].length),o=e[3]||"void",l=e[1]!==void 0?e[1]:"";return{type:tx[o]||o,inputs:s,name:l,inputsCode:t,blockCode:
4082a,outputType:o}}else throw new Error("FunctionNode: Function is not a WGSL code.")};class Ure extends kp{constructor(e){const{type:t,inputs:i,name:r,inputsCode:s,blockCode:a,outputType:o}=Bre(e);super(t,i,r),this.inputsCode=s,this.blockCode=a,this.outputType=o}getCode(e=this.name){const t=this.outputType!=="void"?"-> "+this.outputType:"";return`fn ${e} ( ${this.inputsCode.trim()} ) ${t}`+this.blockCode}}class Fre extends Db{parseFunction(e){return new Ure(e)}}const so=typeof self<"u"?self.GPUShaderStage:{VERTEX:1,FRAGMENT:2,COMPUTE:4},Gre={[ki.READ_ONLY]:"read",[ki.WRITE_ONLY]:"write",[ki.READ_WRITE]:"read_write"},nx={[la]:"repeat",[s2]:"clamp",[ua]:"mirror"},kl={vertex:so?so.VERTEX:1,fragment:so?so.FRAGMENT:2,compute:so?so.COMPUTE:4},ix={instance:!0,swizzleAssign:!1,storageBuffer:!0},Vre={"^^":"tsl_xor"},kre={float:"f32",int:"i32",uint:"u32",bool:"bool",color:"vec3<f32>",vec2:"vec2<f32>",ivec2:"vec2<i32>",uvec2:"vec2<u32>",bvec2:"vec2<bool>",vec3:"vec3<f32>",ivec3:"vec3<i32>",uvec3:"vec3<u32>",bvec3:"vec3<bool>",vec4:"vec4<f32>",ivec4:"vec4<i32>",uvec4:"vec4<u32>",bvec4:"vec4<bool>",mat2:"mat2x2<f32>",mat3:"mat3x3<f32>",mat4:"mat4x4<f32>"},rx={},s0={tsl_xor:new Xn("fn tsl_xor( a : bool, b : bool ) -> bool { return ( a || b ) && !( a && b ); }"),mod_float:new Xn("fn tsl_mod_float( x : f32, y : f32 ) -> f32 { return x - y * floor( x / y ); }"),mod_vec2:new Xn("fn tsl_mod_vec2( x : vec2f, y : vec2f ) -> vec2f { return x - y * floor( x / y ); }"),mod_vec3:new Xn("fn tsl_mod_vec3( x : vec3f, y : vec3f ) -> vec3f { return x - y * floor( x / y ); }"),mod_vec4:new Xn("fn tsl_mod_vec4( x : vec4f, y : vec4f ) -> vec4f { return x - y * floor( x / y ); }"),equals_bool:new Xn("fn tsl_equals_bool( a : bool, b : bool ) -> bool { return a == b; }"),equals_bvec2:new Xn("fn tsl_equals_bvec2( a : vec2f, b : vec2f ) -> vec2<bool> { return vec2<bool>( a.x == b.x, a.y == b.y ); }"),equals_bvec3:new Xn("fn tsl_equals_bvec3( a : vec3f, b : vec3f ) -> vec3<bool> { return vec3<bool>( a.x == b.x, a.y == b.y, a.z == b.z ); }"),equals_bvec4:new Xn("fn tsl_equals_bvec4( a : vec4f, b : vec4f ) -> vec4<bool> { return vec4<bool>( a.x == b.x, a.y == b.y, a.z == b.z, a.w == b.w ); }"),repeatWrapping_float:new Xn("fn tsl_repeatWrapping_float( coord: f32 ) -> f32 { return fract( coord ); }"),mirrorWrapping_float:new Xn("fn tsl_mirrorWrapping_float( coord: f32 ) -> f32 { let mirrored = fract( coord * 0.5 ) * 2.0; return 1.0 - abs( 1.0 - mirrored ); }"),clampWrapping_float:new Xn("fn tsl_clampWrapping_float( coord: f32 ) -> f32 { return clamp( coord, 0.0, 1.0 ); }"),biquadraticTexture:new Xn(` 4083fn tsl_biquadraticTexture( map : texture_2d<f32>, coord : vec2f, iRes : vec2u, level : u32 ) -> vec4f { 4084 4085 let res = vec2f( iRes ); 4086 4087 let uvScaled = coord * res; 4088 let uvWrapping = ( ( uvScaled % res ) + res ) % res; 4089 4090 // https://www.shadertoy.com/view/WtyXRy 4091 4092 let uv = uvWrapping - 0.5; 4093 let iuv = floor( uv ); 4094 let f = fract( uv ); 4095 4096 let rg1 = textureLoad( map, vec2u( iuv + vec2( 0.5, 0.5 ) ) % iRes, level ); 4097 let rg2 = textureLoad( map, vec2u( iuv + vec2( 1.5, 0.5 ) ) % iRes, level ); 4098 let rg3 = textureLoad( map, vec2u( iuv + vec2( 0.5, 1.5 ) ) % iRes, level ); 4099 let rg4 = textureLoad( map, vec2u( iuv + vec2( 1.5, 1.5 ) ) % iRes, level ); 4100 4101 return mix( mix( rg1, rg2, f.x ), mix( rg3, rg4, f.x ), f.y ); 4102 4103} 4104`)},w6={dFdx:"dpdx",dFdy:"- dpdy",mod_float:"tsl_mod_float",mod_vec2:"tsl_mod_vec2",mod_vec3:"tsl_mod_vec3",mod_vec4:"tsl_mod_vec4",equals_bool:"tsl_equals_bool",equals_bvec2:"tsl_equals_bvec2",equals_bvec3:"tsl_equals_bvec3",equals_bvec4:"tsl_equals_bvec4",inversesqrt:"inverseSqrt",bitcast:"bitcast<f32>"};typeof navigator<"u"&&/Windows/g.test(navigator.userAgent)&&(s0.pow_float=new Xn("fn tsl_pow_float( a : f32, b : f32 ) -> f32 { return select( -pow( -a, b ), pow( a, b ), a > 0.0 ); }"),s0.pow_vec2=new Xn("fn tsl_pow_vec2( a : vec2f, b : vec2f ) -> vec2f { return vec2f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ) ); }",[s0.pow_float]),s0.pow_vec3=new Xn("fn tsl_pow_vec3( a : vec3f, b : vec3f ) -> vec3f { return vec3f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ) ); }",[s0.pow_float]),s0.pow_vec4=new Xn("fn tsl_pow_vec4( a : vec4f, b : vec4f ) -> vec4f { return vec4f( tsl_pow_float( a.x, b.x ), tsl_pow_float( a.y, b.y ), tsl_pow_float( a.z, b.z ), tsl_pow_float( a.w, b.w ) ); }",[s0.pow_float]),w6.pow_float="tsl_pow_float",w6.pow_vec2="tsl_pow_vec2",w6.pow_vec3="tsl_pow_vec3",w6.pow_vec4="tsl_pow_vec4");let Wb="";(typeof navigator<"u"&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(Wb+=`diagnostic( off, derivative_uniformity ); 4105`);class zre extends Lb{constructor(e,t){super(e,t,new Fre),this.uniformGroups={},this.builtins={},this.directives={},this.scopedArrays=new Map}needsToWorkingColorSpace(e){return e.isVideoTexture===!0&&e.colorSpace!==ir}_generateTextureSample(e,t,i,r,s=this.shaderStage){return s==="fragment"?r?`textureSample( ${t}, ${t}_sampler, ${i}, ${r} )`:`textureSample( ${t}, ${t}_sampler, ${i} )`:this._generateTextureSampleLevel(e,t,i,"0",r)}_generateVideoSample(e,t,i=this.shaderStage){if(i==="fragment")return`textureSampleBaseClampToEdge( ${e}, ${e}_sampler, vec2<f32>( ${t}.x, 1.0 - ${t}.y ) )`;console.error(`WebGPURenderer: THREE.VideoTexture does not support ${i} shader.`)}_generateTextureSampleLevel(e,t,i,r,s){return this.isUnfilterable(e)===!1?`textureSampleLevel( ${t}, ${t}_sampler, ${i}, ${r} )`:this.isFilteredTexture(e)?this.generateFilteredTexture(e,t,i,r):this.generateTextureLod(e,t,i,s,r)}generateWrapFunction(e){const t=`tsl_coord_${nx[e.wrapS]}S_${nx[e.wrapT]}_${e.isData3DTexture?"3d":"2d"}T`;let i=rx[t];if(i===void 0){const r=[],s=e.isData3DTexture?"vec3f":"vec2f";let a=`fn ${t}( coord : ${s} ) -> ${s} { 4106 4107 return ${s}( 4108`;const o=(l,u)=>{l===la?(r.push(s0.repeatWrapping_float),a+=` tsl_repeatWrapping_float( coord.${u}
4108 )`):l===s2?(r.push(s0.clampWrapping_float),a+=` tsl_clampWrapping_float( coord.${u} )`):l===ua?(r.push(s0.mirrorWrapping_float),a+=` tsl_mirrorWrapping_float( coord.${u} )`):(a+=` coord.${u}`,console.warn(`WebGPURenderer: Unsupported texture wrap type "${l}" for vertex shader.`))};o(e.wrapS,"x"),a+=`, 4109`,o(e.wrapT,"y"),e.isData3DTexture&&(a+=`, 4110`,o(e.wrapR,"z")),a+=` 4111 ); 4112 4113} 4114`,rx[t]=i=new Xn(a,r)}return i.build(this),t}generateArrayDeclaration(e,t){return`array< ${this.getType(e)}, ${t} >`}generateTextureDimension(e,t,i){const r=this.getDataFromNode(e,this.shaderStage,this.globalCache);r.dimensionsSnippet===void 0&&(r.dimensionsSnippet={});let s=r.dimensionsSnippet[i];if(r.dimensionsSnippet[i]===void 0){let a,o;const{primarySamples:l}=this.renderer.backend.utils.getTextureSampleData(e),u=l>1;e.isData3DTexture?o="vec3<u32>":o="vec2<u32>",u||e.isVideoTexture||e.isStorageTexture?a=t:a=`${t}${i?`, u32( ${i} )`:""}`,s=new p7(new _7(`textureDimensions( ${a} )`,o)),r.dimensionsSnippet[i]=s,(e.isArrayTexture||e.isDataArrayTexture||e.isData3DTexture)&&(r.arrayLayerCount=new p7(new _7(`textureNumLayers(${t})`,"u32"))),e.isTextureCube&&(r.cubeFaceCount=new p7(new _7("6u","u32")))}return s.build(this)}generateFilteredTexture(e,t,i,r="0u"){this._include("biquadraticTexture");const s=this.generateWrapFunction(e),a=this.generateTextureDimension(e,t,r);return`tsl_biquadraticTexture( ${t}, ${s}( ${i} ), ${a}, u32( ${r} ) )`}generateTextureLod(e,t,i,r,s="0u"){const a=this.generateWrapFunction(e),o=this.generateTextureDimension(e,t,s),l=e.isData3DTexture?"vec3":"vec2",u=`${l}<u32>( ${a}( ${i} ) * ${l}<f32>( ${o} ) )`;return this.generateTextureLoad(e,t,u,r,s)}generateTextureLoad(e,t,i,r,s="0u"){let a;return e.isVideoTexture===!0?a=`textureLoad( ${t}, ${i} )`:r?a=`textureLoad( ${t}, ${i}, ${r}, u32( ${s} ) )`:(a=`textureLoad( ${t}, ${i}, u32( ${s} ) )`,this.renderer.backend.compatibilityMode&&e.isDepthTexture&&(a+=".x")),a}generateTextureStore(e,t,i,r,s){let a;return r?a=`textureStore( ${t}, ${i}, ${r}, ${s} )`:a=`textureStore( ${t}, ${i}, ${s} )`,a}isSampleCompare(e){return e.isDepthTexture===!0&&e.compareFunction!==null}isUnfilterable(e){return this.getComponentTypeFromTexture(e)!=="float"||!this.isAvailable("float32Filterable")&&e.isDataTexture===!0&&e.type===Wn||this.isSampleCompare(e)===!1&&e.minFilter===hn&&e.magFilter===hn||this.renderer.backend.utils.getTextureSampleData(e).primarySamples>1}generateTexture(e,t,i,r,s=this.shaderStage){let a=null;return e.isVideoTexture===!0?a=this._generateVideoSample(t,i,s):this.isUnfilterable(e)?a=this.generateTextureLod(e,t,i,r,"0",s):a=this._generateTextureSample(e,t,i,r,s),a}generateTextureGrad(e,t,i,r,s,a=this.shaderStage){if(a==="fragment")return`textureSampleGrad( ${t}, ${t}_sampler, ${i}, ${r[0]}, ${r[1]} )`;console.error(`WebGPURenderer: THREE.TextureNode.gradient() does not support ${a} shader.`)}generateTextureCompare(e,t,i,r,s,a=this.shaderStage){if(a==="fragment")return e.isDepthTexture===!0&&e.isArrayTexture===!0?`textureSampleCompare( ${t}, ${t}_sampler, ${i}, ${s}, ${r} )`:`textureSampleCompare( ${t}, ${t}_sampler, ${i}, ${r} )`;console.error(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${a} shader.`)}generateTextureLevel(e,t,i,r,s,a=this.shaderStage){let o=null;return e.isVideoTexture===!0?o=this._generateVideoSample(t,i,a):o=this._generateTextureSampleLevel(e,t,i,r,s),o}generateTextureBias(e,t,i,r,s,a=this.shaderStage){if(a==="fragment")return`textureSampleBias( ${t}, ${t}_sampler, ${i}, ${r} )`;console.error(`WebGPURenderer: THREE.TextureNode.biasNode does not support ${a} shader.`)}getPropertyName(e,t=this.shaderStage){if(e.isNodeVarying===!0&&e.needsInterpolation===!0){if(t==="vertex")return`varyings.${e.name}`}else if(e.isNodeUniform===!0){const i=e.name,r=e.type;return r==="texture"||r==="cubeTexture"||r==="storageTexture"||r==="texture3D"?i:r==="buffer"||r==="storageBuffer"||r==="indirectStorageBuffer"?this.isCustomStruct(e)?i:i+".value":e.groupNode.name+"."+i}return super.getPropertyName(e)}getOutputStructName(){return"output"}getFunctionOperator(e){const t=Vre[e];return t!==void 0?(this._include(t),t):null}getNodeAccess(e,t){return t!=="compute"?ki.READ_ONLY:e.access}getStorageAccess(e,t){return Gre[this.getNodeAccess(e,t)]}getUniformFromNode(e,t,i,r=null){const s=super.getUniformFromNode(e,t,i,r),a=this.getDataFromNode(e,i,this.globalCache);
4114if(a.uniformGPU===void 0){let o;const l=e.groupNode,u=l.name,d=this.getBindGroupArray(u,i);if(t==="texture"||t==="cubeTexture"||t==="storageTexture"||t==="texture3D"){let q=null;const _=this.getNodeAccess(e,i);if(t==="texture"||t==="storageTexture"?q=new Tu(s.name,s.node,l,_):t==="cubeTexture"?q=new Gb(s.name,s.node,l,_):t==="texture3D"&&(q=new Vb(s.name,s.node,l,_)),q.store=e.isStorageTextureNode===!0,q.setVisibility(kl[i]),this.isUnfilterable(e.value)===!1&&q.store===!1){const g=new Ore(`${s.name}_sampler`,s.node,l);g.setVisibility(kl[i]),d.push(g,q),o=[g,q]}else d.push(q),o=[q]}else if(t==="buffer"||t==="storageBuffer"||t==="indirectStorageBuffer"){const q=t==="buffer"?Ub:bre,_=new q(e,l);_.setVisibility(kl[i]),d.push(_),o=_,s.name=r||"NodeBuffer_"+s.id}else{const q=this.uniformGroups[i]||(this.uniformGroups[i]={});let _=q[u];_===void 0&&(_=new Fb(u,l),_.setVisibility(kl[i]),q[u]=_,d.push(_)),o=this.getNodeUniform(s,t),_.addUniform(o)}a.uniformGPU=o}return s}getBuiltin(e,t,i,r=this.shaderStage){const s=this.builtins[r]||(this.builtins[r]=new Map);return s.has(e)===!1&&s.set(e,{name:e,property:t,type:i}),t}hasBuiltin(e,t=this.shaderStage){return this.builtins[t]!==void 0&&this.builtins[t].has(e)}getVertexIndex(){return this.shaderStage==="vertex"?this.getBuiltin("vertex_index","vertexIndex","u32","attribute"):"vertexIndex"}buildFunctionCode(e){const t=e.layout,i=this.flowShaderNode(e),r=[];for(const a of t.inputs)r.push(a.name+" : "+this.getType(a.type));let s=`fn ${t.name}( ${r.join(", ")} ) -> ${this.getType(t.type)} { 4115${i.vars} 4116${i.code} 4117`;return i.result&&(s+=` return ${i.result}; 4118`),s+=` 4119} 4120`,s}getInstanceIndex(){return this.shaderStage==="vertex"?this.getBuiltin("instance_index","instanceIndex","u32","attribute"):"instanceIndex"}getInvocationLocalIndex(){return this.getBuiltin("local_invocation_index","invocationLocalIndex","u32","attribute")}getSubgroupSize(){return this.enableSubGroups(),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute")}getInvocationSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_invocation_id","invocationSubgroupIndex","u32","attribute")}getSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_id","subgroupIndex","u32","attribute")}getDrawIndex(){return null}getFrontFacing(){return this.getBuiltin("front_facing","isFront","bool")}getFragCoord(){return this.getBuiltin("position","fragCoord","vec4<f32>")+".xy"}getFragDepth(){return"output."+this.getBuiltin("frag_depth","depth","f32","output")}getClipDistance(){return"varyings.hw_clip_distances"}isFlipY(){return!1}enableDirective(e,t=this.shaderStage){(this.directives[t]||(this.directives[t]=new Set)).add(e)}getDirectives(e){const t=[],i=this.directives[e];if(i!==void 0)for(const r of i)t.push(`enable ${r};`);return t.join(` 4121`)}enableSubGroups(){this.enableDirective("subgroups")}enableSubgroupsF16(){this.enableDirective("subgroups-f16")}enableClipDistances(){this.enableDirective("clip_distances")}enableShaderF16(){this.enableDirective("f16")}enableDualSourceBlending(){this.enableDirective("dual_source_blending")}enableHardwareClipping(e){this.enableClipDistances(),this.getBuiltin("clip_distances","hw_clip_distances",`array<f32, ${e} >`,"vertex")}getBuiltins(e){const t=[],i=this.builtins[e];if(i!==void 0)for(const{name:r,property:s,type:a}of i.values())t.push(`@builtin( ${r} ) ${s} : ${a}`);return t.join(`, 4122 `)}getScopedArray(e,t,i,r){return this.scopedArrays.has(e)===!1&&this.scopedArrays.set(e,{name:e,scope:t,bufferType:i,bufferCount:r}),e}getScopedArrays(e){if(e!=="compute")return;const t=[];for(const{name:i,scope:r,bufferType:s,bufferCount:a}of this.scopedArrays.values()){const o=this.getType(s);t.push(`var<${r}> ${i}: array< ${o}, ${a} >;`)}return t.join(` 4123`)}getAttributes(e){const t=[];if(e==="compute"&&(this.getBuiltin("global_invocation_id","globalId","vec3<u32>","attribute"),this.getBuiltin("workgroup_id","workgroupId","vec3<u32>","attribute"),this.getBuiltin("local_invocation_id","localId","vec3<u32>","attribute"),this.getBuiltin("num_workgroups","numWorkgroups","vec3<u32>","attribute"),this.renderer.hasFeature("subgroups")&&(this.enableDirective("subgroups",e),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute"))),e==="vertex"||e==="compute"){const i=this.getBuiltins("attribute");
4123i&&t.push(i);const r=this.getAttributesArray();for(let s=0,a=r.length;s<a;s++){const o=r[s],l=o.name,u=this.getType(o.type);t.push(`@location( ${s} ) ${l} : ${u}`)}}return t.join(`, 4124 `)}getStructMembers(e){const t=[];for(const i of e.members){const r=e.output?"@location( "+i.index+" ) ":"";let s=this.getType(i.type);i.atomic&&(s="atomic< "+s+" >"),t.push(` ${r+i.name} : ${s}`)}return e.output&&t.push(` ${this.getBuiltins("output")}`),t.join(`, 4125`)}getStructs(e){let t="";const i=this.structs[e];if(i.length>0){const r=[];for(const s of i){let a=`struct ${s.name} { 4126`;a+=this.getStructMembers(s),a+=` 4127};`,r.push(a)}t=` 4128`+r.join(` 4129 4130`)+` 4131`}return t}getVar(e,t,i=null){let r=`var ${t} : `;return i!==null?r+=this.generateArrayDeclaration(e,i):r+=this.getType(e),r}getVars(e){const t=[],i=this.vars[e];if(i!==void 0)for(const r of i)t.push(` ${this.getVar(r.type,r.name,r.count)};`);return` 4132${t.join(` 4133`)} 4134`}getVaryings(e){const t=[];if(e==="vertex"&&this.getBuiltin("position","Vertex","vec4<f32>","vertex"),e==="vertex"||e==="fragment"){const s=this.varyings,a=this.vars[e];for(let o=0;o<s.length;o++){const l=s[o];if(l.needsInterpolation){let u=`@location( ${o} )`;if(l.interpolationType){const d=l.interpolationSampling!==null?`, ${l.interpolationSampling} )`:" )";u+=` @interpolate( ${l.interpolationType}${d}`}else/^(int|uint|ivec|uvec)/.test(l.type)&&(u+=` @interpolate( ${this.renderer.backend.compatibilityMode?"flat, either":"flat"} )`);t.push(`${u} ${l.name} : ${this.getType(l.type)}`)}else e==="vertex"&&a.includes(l)===!1&&a.push(l)}}const i=this.getBuiltins(e);i&&t.push(i);const r=t.join(`, 4135 `);return e==="vertex"?this._getWGSLStruct("VaryingsStruct"," "+r):r}isCustomStruct(e){const t=e.value,i=e.node,r=(t.isBufferAttribute||t.isInstancedBufferAttribute)&&i.structTypeNode!==null,s=i.value&&i.value.array&&typeof i.value.itemSize=="number"&&i.value.array.length>i.value.itemSize;return r&&!s}getUniforms(e){const t=this.uniforms[e],i=[],r=[],s=[],a={};for(const l of t){const u=l.groupNode.name,d=this.bindingsIndexes[u];if(l.type==="texture"||l.type==="cubeTexture"||l.type==="storageTexture"||l.type==="texture3D"){const q=l.node.value;this.isUnfilterable(q)===!1&&l.node.isStorageTextureNode!==!0&&(this.isSampleCompare(q)?i.push(`@binding( ${d.binding++} ) @group( ${d.group} ) var ${l.name}_sampler : sampler_comparison;`):i.push(`@binding( ${d.binding++} ) @group( ${d.group} ) var ${l.name}_sampler : sampler;`));let _,g="";const{primarySamples:M}=this.renderer.backend.utils.getTextureSampleData(q);
4135if(M>1&&(g="_multisampled"),q.isCubeTexture===!0)_="texture_cube<f32>";else if(q.isDepthTexture===!0)this.renderer.backend.compatibilityMode&&q.compareFunction===null?_=`texture${g}_2d<f32>`:_=`texture_depth${g}_2d${q.isArrayTexture===!0?"_array":""}`;else if(q.isArrayTexture===!0||q.isDataArrayTexture===!0||q.isCompressedArrayTexture===!0)_="texture_2d_array<f32>";else if(q.isVideoTexture===!0)_="texture_external";else if(q.isData3DTexture===!0)_="texture_3d<f32>";else if(l.node.isStorageTextureNode===!0){const N=Bf(q),y=this.getStorageAccess(l.node,e);_=`texture_storage_2d<${N}, ${y}>`}else{const N=this.getComponentTypeFromTexture(q).charAt(0);_=`texture${g}_2d<${N}32>`}i.push(`@binding( ${d.binding++} ) @group( ${d.group} ) var ${l.name} : ${_};`)}else if(l.type==="buffer"||l.type==="storageBuffer"||l.type==="indirectStorageBuffer"){const q=l.node,_=this.getType(q.getNodeType(this)),g=q.bufferCount,M=g>0&&l.type==="buffer"?", "+g:"",N=q.isStorageBufferNode?`storage, ${this.getStorageAccess(q,e)}`:"uniform";if(this.isCustomStruct(l))r.push(`@binding( ${d.binding++} ) @group( ${d.group} ) var<${N}> ${l.name} : ${_};`);else{const S=` value : array< ${q.isAtomic?`atomic<${_}>`:`${_}`}${M} >`;r.push(this._getWGSLStructBinding(l.name,S,N,d.binding++,d.group))}}else{const q=this.getType(this.getVectorType(l.type)),_=l.groupNode.name;(a[_]||(a[_]={index:d.binding++,id:d.group,snippets:[]})).snippets.push(` ${l.name} : ${q}`)}}for(const l in a){const u=a[l];s.push(this._getWGSLStructBinding(l,u.snippets.join(`, 4136`),"uniform",u.index,u.id))}let o=i.join(` 4137`);return o+=r.join(` 4138`),o+=s.join(` 4139`),o}buildCode(){const e=this.material!==null?{fragment:{},vertex:{}}:{compute:{}};this.sortBindingGroups();for(const t in e){this.shaderStage=t;const i=e[t];i.uniforms=this.getUniforms(t),i.attributes=this.getAttributes(t),i.varyings=this.getVaryings(t),i.structs=this.getStructs(t),i.vars=this.getVars(t),i.codes=this.getCodes(t),i.directives=this.getDirectives(t),i.scopedArrays=this.getScopedArrays(t);let r=`// code 4140 4141`;r+=this.flowCode[t];const s=this.flowNodes[t],a=s[s.length-1],o=a.outputNode,l=o!==void 0&&o.isOutputStructNode===!0;for(const u of s){const d=this.getFlowData(u),q=u.name;if(q&&(r.length>0&&(r+=` 4142`),r+=` // flow -> ${q} 4143`),r+=`${d.code} 4144 `,u===a&&t!=="compute"){if(r+=`// result 4145 4146 `,t==="vertex")r+=`varyings.Vertex = ${d.result};`;else if(t==="fragment")if(l)i.returnType=o.getNodeType(this),i.structs+="var<private> output : "+i.returnType+";",r+=`return ${d.result};`;else{let _=" @location(0) color: vec4<f32>";const g=this.getBuiltins("output");g&&(_+=`, 4147 `+g),i.returnType="OutputStruct",i.structs+=this._getWGSLStruct("OutputStruct",_),i.structs+=` 4148var<private> output : OutputStruct;`,r+=`output.color = ${d.result}; 4149 4150 return output;`}}}i.flow=r}this.shaderStage=null,this.material!==null?(this.vertexShader=this._getWGSLVertexCode(e.vertex),this.fragmentShader=this._getWGSLFragmentCode(e.fragment)):this.computeShader=this._getWGSLComputeCode(e.compute,(this.object.workgroupSize||[64]).join(", "))}getMethod(e,t=null){let i;return t!==null&&(i=this._getWGSLMethod(e+"_"+t)),i===void 0&&(i=this._getWGSLMethod(e)),i||e}getType(e){return kre[e]||e}isAvailable(e){let t=ix[e];return t===void 0&&(e==="float32Filterable"?t=this.renderer.hasFeature("float32-filterable"):e==="clipDistance"&&(t=this.renderer.hasFeature("clip-distances")),ix[e]=t),t}_getWGSLMethod(e){return s0[e]!==void 0&&this._include(e),w6[e]}_include(e){const t=s0[e];return t.build(this),this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(t),t}
4150_getWGSLVertexCode(e){return`${this.getSignature()} 4151// directives 4152${e.directives} 4153 4154// structs 4155${e.structs} 4156 4157// uniforms 4158${e.uniforms} 4159 4160// varyings 4161${e.varyings} 4162var<private> varyings : VaryingsStruct; 4163 4164// codes 4165${e.codes} 4166 4167@vertex 4168fn main( ${e.attributes} ) -> VaryingsStruct { 4169 4170 // vars 4171 ${e.vars} 4172 4173 // flow 4174 ${e.flow} 4175 4176 return varyings; 4177 4178} 4179`}_getWGSLFragmentCode(e){return`${this.getSignature()} 4180// global 4181${Wb} 4182 4183// structs 4184${e.structs} 4185 4186// uniforms 4187${e.uniforms} 4188 4189// codes 4190${e.codes} 4191 4192@fragment 4193fn main( ${e.varyings} ) -> ${e.returnType} { 4194 4195 // vars 4196 ${e.vars} 4197 4198 // flow 4199 ${e.flow} 4200 4201} 4202`}_getWGSLComputeCode(e,t){return`${this.getSignature()} 4203// directives 4204${e.directives} 4205 4206// system 4207var<private> instanceIndex : u32; 4208 4209// locals 4210${e.scopedArrays} 4211 4212// structs 4213${e.structs} 4214 4215// uniforms 4216${e.uniforms} 4217 4218// codes 4219${e.codes} 4220 4221@compute @workgroup_size( ${t} ) 4222fn main( ${e.attributes} ) { 4223 4224 // system 4225 instanceIndex = globalId.x + globalId.y * numWorkgroups.x * u32(${t}) + globalId.z * numWorkgroups.x * numWorkgroups.y * u32(${t}); 4226 4227 // vars 4228 ${e.vars} 4229 4230 // flow 4231 ${e.flow} 4232 4233} 4234`}_getWGSLStruct(e,t){return` 4235struct ${e} { 4236${t} 4237};`}_getWGSLStructBinding(e,t,i,r=0,s=0){const a=e+"Struct";return`${this._getWGSLStruct(a,t)} 4238@binding( ${r} ) @group( ${s} ) 4239var<${i}> ${e} : ${a};`}}class Wre{constructor(e){this.backend=e}getCurrentDepthStencilFormat(e){let t;return e.depthTexture!==null?t=this.getTextureFormatGPU(e.depthTexture):e.depth&&e.stencil?t=Ae.Depth24PlusStencil8:e.depth&&(t=Ae.Depth24Plus),t}getTextureFormatGPU(e){return this.backend.get(e).format}getTextureSampleData(e){let t;if(e.isFramebufferTexture)t=1;else if(e.isDepthTexture&&!e.renderTarget){const s=this.backend.renderer,a=s.getRenderTarget();t=a?a.samples:s.samples}else e.renderTarget&&(t=e.renderTarget.samples);t=t||1;const i=t>1&&e.renderTarget!==null&&e.isDepthTexture!==!0&&e.isFramebufferTexture!==!0;return{samples:t,primarySamples:i?1:t,isMSAA:i}}getCurrentColorFormat(e){let t;return e.textures!==null?t=this.getTextureFormatGPU(e.textures[0]):t=this.getPreferredCanvasFormat(),t}getCurrentColorSpace(e){return e.textures!==null?e.textures[0].colorSpace:this.backend.renderer.outputColorSpace}getPrimitiveTopology(e,t){if(e.isPoints)return yo.PointList;if(e.isLineSegments||e.isMesh&&t.wireframe===!0)return yo.LineList;if(e.isLine)return yo.LineStrip;if(e.isMesh)return yo.TriangleList}getSampleCount(e){let t=1;return e>1&&(t=Math.pow(2,Math.floor(Math.log2(e))),t===2&&(t=4)),t}getSampleCountRenderContext(e){return e.textures!==null?this.getSampleCount(e.sampleCount):this.getSampleCount(this.backend.renderer.samples)}getPreferredCanvasFormat(){const e=this.backend.parameters.outputType;if(e===void 0)return navigator.gpu.getPreferredCanvasFormat();if(e===Ln)return Ae.BGRA8Unorm;if(e===Jn)return Ae.RGBA16Float;throw new Error("Unsupported outputType")}}const Hre=new Map([[Int8Array,["sint8","snorm8"]],[Uint8Array,["uint8","unorm8"]],[Int16Array,["sint16","snorm16"]],[Uint16Array,["uint16","unorm16"]],[Int32Array,["sint32","snorm32"]],[Uint32Array,["uint32","unorm32"]],[Float32Array,["float32"]]]),Kre=new Map([[Ay,["float16"]]]),Yre=new Map([[Int32Array,"sint32"],[Int16Array,"sint32"],[Uint32Array,"uint32"],[Uint16Array,"uint32"],[Float32Array,"float32"]]);class $re{constructor(e){this.backend=e}createAttribute(e,t){const i=this._getBufferAttribute(e),r=this.backend,s=r.get(i);let a=s.buffer;if(a===void 0){const o=r.device;let l=i.array;if(e.normalized===!1){if(l.constructor===Int16Array||l.constructor===Int8Array)l=new Int32Array(l);else if((l.constructor===Uint16Array||l.constructor===Uint8Array)&&(l=new Uint32Array(l),t&GPUBufferUsage.INDEX))for(let q=0;q<l.length;q++)l[q]===65535&&(l[q]=4294967295)}if(i.array=l,(i.isStorageBufferAttribute||i.isStorageInstancedBufferAttribute)&&i.itemSize===3){l=new l.constructor(i.count*4);for(let q=0;q<i.count;q++)l.set(i.array.subarray(q*3,q*3+3),q*4);i.itemSize=4,i.array=l,s._force3to4BytesAlignment=!0}const u=l.byteLength,d=u+(4-u%4)%4;a=o.createBuffer({label:i.name,size:d,usage:t,mappedAtCreation:!0}),new l.constructor(a.getMappedRange()).set(l),a.unmap(),s.buffer=a}}updateAttribute(e){const t=this._getBufferAttribute(e),i=this.backend,r=i.device,s=i.get(t),a=i.get(t).buffer;let o=t.array;if(s._force3to4BytesAlignment===!0){o=new o.constructor(t.count*4);for(let d=0;d<t.count;d++)o.set(t.array.subarray(d*3,d*3+3),d*4);t.array=o}const l=this._isTypedArray(o),u=t.updateRanges;if(u.length===0)r.queue.writeBuffer(a,0,o,0);else{const d=l?1:o.BYTES_PER_ELEMENT;for(let q=0,_=u.length;q<_;q++){const g=u[q];let M,N;if(s._force3to4BytesAlignment===!0){const S=Math.floor(g.start/3),R=Math.ceil(g.count/3);M=S*4*d,N=R*4*d}else M=g.start*d,N=g.count*d;const y=M*(l?o.BYTES_PER_ELEMENT:1);r.queue.writeBuffer(a,y,o,M,N)}t.clearUpdateRanges()}}createShaderVertexBuffers(e){const t=e.getAttributes(),i=new Map;for(let r=0;r<t.length;r++){const s=t[r],a=s.array.BYTES_PER_ELEMENT,o=this._getBufferAttribute(s);let l=i.get(o);if(l===void 0){let q,_;s.isInterleavedBufferAttribute===!0?(q=s.data.stride*a,_=s.data.isInstancedInterleavedBuffer?Vl.Instance:Vl.Vertex):(q=s.itemSize*a,_=s.isInstancedBufferAttribute?Vl.Instance:Vl.Vertex),s.normalized===!1&&(s.array.constructor===Int16Array||s.array.
4239constructor===Uint16Array)&&(q=4),l={arrayStride:q,attributes:[],stepMode:_},i.set(o,l)}const u=this._getVertexFormat(s),d=s.isInterleavedBufferAttribute===!0?s.offset*a:0;l.attributes.push({shaderLocation:r,offset:d,format:u})}return Array.from(i.values())}destroyAttribute(e){const t=this.backend;t.get(this._getBufferAttribute(e)).buffer.destroy(),t.delete(e)}async getArrayBufferAsync(e){const t=this.backend,i=t.device,s=t.get(this._getBufferAttribute(e)).buffer,a=s.size,o=i.createBuffer({label:`${e.name}_readback`,size:a,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),l=i.createCommandEncoder({label:`readback_encoder_${e.name}`});l.copyBufferToBuffer(s,0,o,0,a);const u=l.finish();i.queue.submit([u]),await o.mapAsync(GPUMapMode.READ);const d=o.getMappedRange(),q=new e.array.constructor(d.slice(0));return o.unmap(),q.buffer}_getVertexFormat(e){const{itemSize:t,normalized:i}=e,r=e.array.constructor,s=e.constructor;let a;if(t===1)a=Yre.get(r);else{const l=(Kre.get(s)||Hre.get(r))[i?1:0];if(l){const u=r.BYTES_PER_ELEMENT*t,q=Math.floor((u+3)/4)*4/r.BYTES_PER_ELEMENT;if(q%1)throw new Error("THREE.WebGPUAttributeUtils: Bad vertex format item size.");a=`${l}x${q}`}}return a||console.error("THREE.WebGPUAttributeUtils: Vertex format not supported yet."),a}_isTypedArray(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}_getBufferAttribute(e){return e.isInterleavedBufferAttribute&&(e=e.data),e}}class jre{constructor(e){this.backend=e,this.bindGroupLayoutCache=new WeakMap}createBindingsLayout(e){const t=this.backend,i=t.device,r=[];let s=0;for(const a of e.bindings){const o={binding:s++,visibility:a.visibility};if(a.isUniformBuffer||a.isStorageBuffer){const l={};a.isStorageBuffer&&(a.visibility&4&&(a.access===ki.READ_WRITE||a.access===ki.WRITE_ONLY)?l.type=kA.Storage:l.type=kA.ReadOnlyStorage),o.buffer=l}else if(a.isSampler){const l={};a.texture.isDepthTexture&&(a.texture.compareFunction!==null?l.type=JM.Comparison:t.compatibilityMode&&(l.type=JM.NonFiltering)),o.sampler=l}else if(a.isSampledTexture&&a.texture.isVideoTexture)o.externalTexture={};else if(a.isSampledTexture&&a.store){const l={};l.format=this.backend.get(a.texture).texture.format;const u=a.access;u===ki.READ_WRITE?l.access=zA.ReadWrite:u===ki.WRITE_ONLY?l.access=zA.WriteOnly:l.access=zA.ReadOnly,o.storageTexture=l}else if(a.isSampledTexture){const l={},{primarySamples:u}=t.utils.getTextureSampleData(a.texture);if(u>1&&(l.multisampled=!0,a.texture.isDepthTexture||(l.sampleType=Ns.UnfilterableFloat)),a.texture.isDepthTexture)t.compatibilityMode&&a.texture.compareFunction===null?l.sampleType=Ns.UnfilterableFloat:l.sampleType=Ns.Depth;else if(a.texture.isDataTexture||a.texture.isDataArrayTexture||a.texture.isData3DTexture){const d=a.texture.type;d===mi?l.sampleType=Ns.SInt:d===cn?l.sampleType=Ns.UInt:d===Wn&&(this.backend.hasFeature("float32-filterable")?l.sampleType=Ns.Float:l.sampleType=Ns.UnfilterableFloat)}a.isSampledCubeTexture?l.viewDimension=_i.Cube:a.texture.isArrayTexture||a.texture.isDataArrayTexture||a.texture.isCompressedArrayTexture?l.viewDimension=_i.TwoDArray:a.isSampledTexture3D&&(l.viewDimension=_i.ThreeD),o.texture=l}else console.error(`WebGPUBindingUtils: Unsupported binding "${a}".`);r.push(o)}return i.createBindGroupLayout({entries:r})}createBindings(e,t,i,r=0){const{backend:s,bindGroupLayoutCache:a}=this,o=s.get(e);let l=a.get(e.bindingsReference);l===void 0&&(l=this.createBindingsLayout(e),a.set(e.bindingsReference,l));let u;i>0&&(o.groups===void 0&&(o.groups=[],o.versions=[]),o.versions[i]===r&&(u=o.groups[i])),u===void 0&&(u=this.createBindGroup(e,l),i>0&&(o.groups[i]=u,o.versions[i]=r)),o.group=u,o.layout=l}updateBinding(e){const t=this.backend,i=t.device,r=e.buffer,s=t.get(e).buffer;i.queue.writeBuffer(s,0,r,0)}createBindGroupIndex(e,t){const r=this.backend.device,s=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,a=e[0],o=r.createBuffer({label:"bindingCameraIndex_"+a,size:16,usage:s});r.queue.writeBuffer(o,0,e,0);const l=[{binding:0,resource:{buffer:o}}];return r.createBindGroup({label:"bindGroupCameraIndex_"+a,layout:t,entries:l})}createBindGroup(e,t){const i=this.backend,r=i.device;let s=0;const a=[];for(const o of e.bindings){if(o.isUniformBuffer){const l=i.get(o);if(l.buffer===void 0){const u=o.byteLength,d=GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST,q=r.createBuffer({label:"bindingBuffer_"+o.name,size:u,usage:d});l.buffer=q}a.push({binding:s,resource:{buffer:l.buffer}})}else if(o.isStorageBuffer){const l=i.get(o);if(l.buffer===void 0){const u=o.attribute;l.buffer=i.get(u).buffer}a.push({binding:s,resource:{buffer:l.buffer}})}else if(o.isSampler){const l=i.get(o.texture);a.push({binding:s,resource:l.sampler})}else if(o.isSampledTexture){const l=i.get(o.texture);let u;if(l.externalTexture!==void 0)u=r.importExternalTexture({source:l.externalTexture});else{const d=o.store?1:l.texture.mipLevelCount,q=`view-${l.texture.width}-${l.texture.height}-${d}`;if(u=l[q],u===void 0){const _=Nre.All;let g;o.isSampledCubeTexture?g=_i.Cube:o.isSampledTexture3D?g=_i.ThreeD:o.texture.isArrayTexture||o.texture.isDataArrayTexture||o.texture.isCompressedArrayTexture?g=_i.TwoDArray:g=_i.TwoD,u=l[q]=l.texture.createView({aspect:_,dimension:g,mipLevelCount:d})}}a.push({binding:s,resource:u})}s++}return r.createBindGroup({label:"bindGroup_"+e.name,layout:t,entries:a})}}class Xre{constructor(e){this.backend=e,this._activePipelines=new WeakMap}setPipeline(e,t){this._activePipelines.get(e)!==t&&(e.setPipeline(t),this._activePipelines.set(e,t))}
4239_getSampleCount(e){return this.backend.utils.getSampleCountRenderContext(e)}createRenderPipeline(e,t){const{object:i,material:r,geometry:s,pipeline:a}=e,{vertexProgram:o,fragmentProgram:l}=a,u=this.backend,d=u.device,q=u.utils,_=u.get(a),g=[];for(const H of e.getBindings()){const j=u.get(H);g.push(j.layout)}const M=u.attributeUtils.createShaderVertexBuffers(e);let N;r.blending!==xr&&(r.blending!==or||r.transparent!==!1)&&(N=this._getBlending(r));let y={};r.stencilWrite===!0&&(y={compare:this._getStencilCompare(r),failOp:this._getStencilOperation(r.stencilFail),depthFailOp:this._getStencilOperation(r.stencilZFail),passOp:this._getStencilOperation(r.stencilZPass)});const S=this._getColorWriteMask(r),R=[];if(e.context.textures!==null){const H=e.context.textures;for(let j=0;j<H.length;j++){const Y=q.getTextureFormatGPU(H[j]);R.push({format:Y,blend:N,writeMask:S})}}else{const H=q.getCurrentColorFormat(e.context);R.push({format:H,blend:N,writeMask:S})}const O=u.get(o).module,b=u.get(l).module,D=this._getPrimitiveState(i,s,r),B=this._getDepthCompare(r),C=q.getCurrentDepthStencilFormat(e.context),G=this._getSampleCount(e.context),L={label:`renderPipeline_${r.name||r.type}_${r.id}`,vertex:Object.assign({},O,{buffers:M}),fragment:Object.assign({},b,{targets:R}),primitive:D,multisample:{count:G,alphaToCoverageEnabled:r.alphaToCoverage&&G>1},layout:d.createPipelineLayout({bindGroupLayouts:g})},P={},w=e.context.depth,z=e.context.stencil;if((w===!0||z===!0)&&(w===!0&&(P.format=C,P.depthWriteEnabled=r.depthWrite,P.depthCompare=B),z===!0&&(P.stencilFront=y,P.stencilBack={},P.stencilReadMask=r.stencilFuncMask,P.stencilWriteMask=r.stencilWriteMask),r.polygonOffset===!0&&(P.depthBias=r.polygonOffsetUnits,P.depthBiasSlopeScale=r.polygonOffsetFactor,P.depthBiasClamp=0),L.depthStencil=P),t===null)_.pipeline=d.createRenderPipeline(L);else{const H=new Promise(j=>{d.createRenderPipelineAsync(L).then(Y=>{_.pipeline=Y,j()})});t.push(H)}}createBundleEncoder(e,t="renderBundleEncoder"){const i=this.backend,{utils:r,device:s}=i,a=r.getCurrentDepthStencilFormat(e),o=r.getCurrentColorFormat(e),l=this._getSampleCount(e),u={label:t,colorFormats:[o],depthStencilFormat:a,sampleCount:l};return s.createRenderBundleEncoder(u)}createComputePipeline(e,t){const i=this.backend,r=i.device,s=i.get(e.computeProgram).module,a=i.get(e),o=[];for(const l of t){const u=i.get(l);o.push(u.layout)}a.pipeline=r.createComputePipeline({compute:s,layout:r.createPipelineLayout({bindGroupLayouts:o})})}_getBlending(e){let t,i;const r=e.blending,s=e.blendSrc,a=e.blendDst,o=e.blendEquation;if(r===No){const l=e.blendSrcAlpha!==null?e.blendSrcAlpha:s,u=e.blendDstAlpha!==null?e.blendDstAlpha:a,d=e.blendEquationAlpha!==null?e.blendEquationAlpha:o;t={srcFactor:this._getBlendFactor(s),dstFactor:this._getBlendFactor(a),operation:this._getBlendOperation(o)},i={srcFactor:this._getBlendFactor(l),dstFactor:this._getBlendFactor(u),operation:this._getBlendOperation(d)}}else{const l=e.premultipliedAlpha,u=(d,q,_,g)=>{t={srcFactor:d,dstFactor:q,operation:ys.Add},i={srcFactor:_,dstFactor:g,operation:ys.Add}};if(l)switch(r){case or:u(d1.One,d1.OneMinusSrcAlpha,d1.One,d1.OneMinusSrcAlpha);break;case wo:u(d1.One,d1.One,d1.One,d1.One);break;case Bo:u(d1.Zero,d1.OneMinusSrc,d1.Zero,d1.One);break;case Uo:u(d1.Zero,d1.Src,d1.Zero,d1.SrcAlpha);break}else switch(r){case or:u(d1.SrcAlpha,d1.OneMinusSrcAlpha,d1.One,d1.OneMinusSrcAlpha);break;case wo:u(d1.SrcAlpha,d1.One,d1.SrcAlpha,d1.One);break;case Bo:u(d1.Zero,d1.OneMinusSrc,d1.Zero,d1.One);break;case Uo:u(d1.Zero,d1.Src,d1.Zero,d1.Src);break}}if(t!==void 0&&i!==void 0)return{color:t,alpha:i};console.error("THREE.WebGPURenderer: Invalid blending: ",r)}_getBlendFactor(e){let t;switch(e){case U2:t=d1.Zero;break;case yd:t=d1.One;break;case Nd:t=d1.Src;break;case vd:t=d1.OneMinusSrc;break;case e8:t=d1.SrcAlpha;break;case t8:t=d1.OneMinusSrcAlpha;break;case Rd:t=d1.Dst;break;case bd:t=d1.OneMinusDst;break;case Od:t=d1.DstAlpha;break;case Td:t=d1.OneMinusDstAlpha;break;case Id:t=d1.SrcAlphaSaturated;break;case QJ:t=d1.Constant;break;case JJ:t=d1.OneMinusConstant;break;default:console.error("THREE.WebGPURenderer: Blend factor not supported.",e)}return t}_getStencilCompare(e){let t;const i=e.stencilFunc;switch(i){case Mw:t=xi.Never;break;case yh:t=xi.Always;break;case xw:t=xi.Less;break;case yw:t=xi.LessEqual;break;case Sw:t=xi.Equal;break;case Ow:t=xi.GreaterEqual;break;case Nw:t=xi.Greater;break;case vw:t=xi.NotEqual;break;default:console.error("THREE.WebGPURenderer: Invalid stencil function.",i)}return t}_getStencilOperation(e){let t;switch(e){case Rs:t=T3.Keep;break;case dw:t=T3.Zero;break;case qw:t=T3.Replace;break;case Ew:t=T3.Invert;break;case pw:t=T3.IncrementClamp;break;case _w:t=T3.DecrementClamp;break;case mw:t=T3.IncrementWrap;break;case gw:t=T3.DecrementWrap;break;default:console.error("THREE.WebGPURenderer: Invalid stencil operation.",t)}return t}_getBlendOperation(e){let t;switch(e){case Gi:t=ys.Add;break;case xd:t=ys.Subtract;break;case Sd:t=ys.ReverseSubtract;break;case QS:t=ys.Min;break;case JS:t=ys.Max;break;default:console.error("THREE.WebGPUPipelineUtils: Blend equation not supported.",e)}return t}_getPrimitiveState(e,t,i){const r={},s=this.backend.utils;switch(r.topology=s.getPrimitiveTopology(e,i),t.index!==null&&e.isLine
4239===!0&&e.isLineSegments!==!0&&(r.stripIndexFormat=t.index.array instanceof Uint16Array?_4.Uint16:_4.Uint32),i.side){case Mr:r.frontFace=FA.CCW,r.cullMode=GA.Back;break;case Q1:r.frontFace=FA.CCW,r.cullMode=GA.Front;break;case Qn:r.frontFace=FA.CCW,r.cullMode=GA.None;break;default:console.error("THREE.WebGPUPipelineUtils: Unknown material.side value.",i.side);break}return r}_getColorWriteMask(e){return e.colorWrite===!0?QM.All:QM.None}_getDepthCompare(e){let t;if(e.depthTest===!1)t=xi.Always;else{const i=e.depthFunc;switch(i){case n8:t=xi.Never;break;case i8:t=xi.Always;break;case r8:t=xi.Less;break;case Y3:t=xi.LessEqual;break;case s8:t=xi.Equal;break;case a8:t=xi.GreaterEqual;break;case o8:t=xi.Greater;break;case l8:t=xi.NotEqual;break;default:console.error("THREE.WebGPUPipelineUtils: Invalid depth function.",i)}}return t}}class Zre extends zb{constructor(e,t,i=2048){super(i),this.device=e,this.type=t,this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxQueries,label:`queryset_global_timestamp_${t}`});const r=this.maxQueries*8;this.resolveBuffer=this.device.createBuffer({label:`buffer_timestamp_resolve_${t}`,size:r,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.resultBuffer=this.device.createBuffer({label:`buffer_timestamp_result_${t}`,size:r,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})}allocateQueriesForContext(e){if(!this.trackTimestamp||this.isDisposed)return null;if(this.currentQueryIndex+2>this.maxQueries)return Yr(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryOffsets.set(e.id,t),t}async resolveQueriesAsync(){if(!this.trackTimestamp||this.currentQueryIndex===0||this.isDisposed)return this.lastValue;if(this.pendingResolve)return this.pendingResolve;this.pendingResolve=this._resolveQueries();try{return await this.pendingResolve}finally{this.pendingResolve=null}}async _resolveQueries(){if(this.isDisposed)return this.lastValue;try{if(this.resultBuffer.mapState!=="unmapped")return this.lastValue;const e=new Map(this.queryOffsets),t=this.currentQueryIndex,i=t*8;this.currentQueryIndex=0,this.queryOffsets.clear();const r=this.device.createCommandEncoder();r.resolveQuerySet(this.querySet,0,t,this.resolveBuffer,0),r.copyBufferToBuffer(this.resolveBuffer,0,this.resultBuffer,0,i);const s=r.finish();if(this.device.queue.submit([s]),this.resultBuffer.mapState!=="unmapped")return this.lastValue;if(await this.resultBuffer.mapAsync(GPUMapMode.READ,0,i),this.isDisposed)return this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue;const a=new BigUint64Array(this.resultBuffer.getMappedRange(0,i));let o=0;for(const[,l]of e){const u=a[l],d=a[l+1],q=Number(d-u)/1e6;o+=q}return this.resultBuffer.unmap(),this.lastValue=o,o}catch(e){return console.error("Error resolving queries:",e),this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue}}async dispose(){if(!this.isDisposed){if(this.isDisposed=!0,this.pendingResolve)try{await this.pendingResolve}catch(e){console.error("Error waiting for pending resolve:",e)}if(this.resultBuffer&&this.resultBuffer.mapState==="mapped")try{this.resultBuffer.unmap()}catch(e){console.error("Error unmapping buffer:",e)}this.querySet&&(this.querySet.destroy(),this.querySet=null),this.resolveBuffer&&(this.resolveBuffer.destroy(),this.resolveBuffer=null),this.resultBuffer&&(this.resultBuffer.destroy(),this.resultBuffer=null),this.queryOffsets.clear(),this.pendingResolve=null}}}class Qre extends kb{constructor(e={}){super(e),this.isWebGPUBackend=!0,this.parameters.alpha=e.alpha===void 0?!0:e.alpha,this.parameters.compatibilityMode=e.compatibilityMode===void 0?!1:e.compatibilityMode,this.parameters.requiredLimits=e.requiredLimits===void 0?{}:e.requiredLimits,this.compatibilityMode=this.parameters.compatibilityMode,this.device=null,this.context=null,this.colorBuffer=null,this.defaultRenderPassdescriptor=null,this.utils=new Wre(this),this.attributeUtils=new $re(this),this.bindingUtils=new jre(this),this.pipelineUtils=new Xre(this),this.textureUtils=new Dre(this),this.occludedResolveCache=new Map}async init(e){await super.init(e);const t=this.parameters;let i;if(t.device===void 0){const a={powerPreference:t.powerPreference,featureLevel:t.compatibilityMode?"compatibility":void 0},o=typeof navigator<"u"?await navigator.gpu.requestAdapter(a):null;if(o===null)throw new Error("WebGPUBackend: Unable to create WebGPU adapter.");const l=Object.values(wf),u=[];for(const q of l)o.features.has(q)&&u.push(q);const d={requiredFeatures:u,requiredLimits:t.requiredLimits};i=await o.requestDevice(d)}else i=t.device;i.lost.then(a=>{const o={api:"WebGPU",message:a.message||"Unknown reason",reason:a.reason||null,originalEvent:a};e.onDeviceLost(o)});const r=t.context!==void 0?t.context:e.domElement.getContext("webgpu");this.device=i,this.context=r;const s=t.alpha?"premultiplied":"opaque";this.trackTimestamp=this.trackTimestamp&&this.hasFeature(wf.TimestampQuery),this.context.configure({device:this.device,format:this.utils.getPreferredCanvasF
4239ormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,alphaMode:s}),this.updateSize()}get coordinateSystem(){return m2}async getArrayBufferAsync(e){return await this.attributeUtils.getArrayBufferAsync(e)}getContext(){return this.context}_getDefaultRenderPassDescriptor(){let e=this.defaultRenderPassdescriptor;if(e===null){const i=this.renderer;e={colorAttachments:[{view:null}]},(this.renderer.depth===!0||this.renderer.stencil===!0)&&(e.depthStencilAttachment={view:this.textureUtils.getDepthBuffer(i.depth,i.stencil).createView()});const r=e.colorAttachments[0];this.renderer.samples>0?r.view=this.colorBuffer.createView():r.resolveTarget=void 0,this.defaultRenderPassdescriptor=e}const t=e.colorAttachments[0];return this.renderer.samples>0?t.resolveTarget=this.context.getCurrentTexture().createView():t.view=this.context.getCurrentTexture().createView(),e}_isRenderCameraDepthArray(e){return e.depthTexture&&e.depthTexture.image.depth>1&&e.camera.isArrayCamera}_getRenderPassDescriptor(e,t={}){const i=e.renderTarget,r=this.get(i);let s=r.descriptors;if(s===void 0||r.width!==i.width||r.height!==i.height||r.dimensions!==i.dimensions||r.activeMipmapLevel!==e.activeMipmapLevel||r.activeCubeFace!==e.activeCubeFace||r.samples!==i.samples){s={},r.descriptors=s;const u=()=>{i.removeEventListener("dispose",u),this.delete(i)};i.hasEventListener("dispose",u)===!1&&i.addEventListener("dispose",u)}const a=e.getCacheKey();let o=s[a];if(o===void 0){const u=e.textures,d=[];let q;const _=this._isRenderCameraDepthArray(e);for(let g=0;g<u.length;g++){const M=this.get(u[g]),N={label:`colorAttachment_${g}`,baseMipLevel:e.activeMipmapLevel,mipLevelCount:1,baseArrayLayer:e.activeCubeFace,arrayLayerCount:1,dimension:_i.TwoD};if(i.isRenderTarget3D)q=e.activeCubeFace,N.baseArrayLayer=0,N.dimension=_i.ThreeD,N.depthOrArrayLayers=u[g].image.depth;else if(i.isRenderTarget&&u[g].image.depth>1)if(_===!0){const y=e.camera.cameras;for(let S=0;S<y.length;S++){const R={...N,baseArrayLayer:S,arrayLayerCount:1,dimension:_i.TwoD},O=M.texture.createView(R);d.push({view:O,resolveTarget:void 0,depthSlice:void 0})}}else N.dimension=_i.TwoDArray,N.depthOrArrayLayers=u[g].image.depth;if(_!==!0){const y=M.texture.createView(N);let S,R;M.msaaTexture!==void 0?(S=M.msaaTexture.createView(),R=y):(S=y,R=void 0),d.push({view:S,resolveTarget:R,depthSlice:q})}}if(o={textureViews:d},e.depth){const g=this.get(e.depthTexture),M={};e.depthTexture.isArrayTexture&&(M.dimension=_i.TwoD,M.arrayLayerCount=1,M.baseArrayLayer=e.activeCubeFace),o.depthStencilView=g.texture.createView(M)}s[a]=o,r.width=i.width,r.height=i.height,r.samples=i.samples,r.activeMipmapLevel=e.activeMipmapLevel,r.activeCubeFace=e.activeCubeFace,r.dimensions=i.dimensions}const l={colorAttachments:[]};for(let u=0;u<o.textureViews.length;u++){const d=o.textureViews[u];let q={r:0,g:0,b:0,a:1};u===0&&t.clearValue&&(q=t.clearValue),l.colorAttachments.push({view:d.view,depthSlice:d.depthSlice,resolveTarget:d.resolveTarget,loadOp:t.loadOp||z1.Load,storeOp:t.storeOp||Ji.Store,clearValue:q})}return o.depthStencilView&&(l.depthStencilAttachment={view:o.depthStencilView}),l}beginRender(e){const t=this.get(e),i=this.device,r=e.occlusionQueryCount;let s;r>0&&(t.currentOcclusionQuerySet&&t.currentOcclusionQuerySet.destroy(),t.currentOcclusionQueryBuffer&&t.currentOcclusionQueryBuffer.destroy(),t.currentOcclusionQuerySet=t.occlusionQuerySet,t.currentOcclusionQueryBuffer=t.occlusionQueryBuffer,t.currentOcclusionQueryObjects=t.occlusionQueryObjects,s=i.createQuerySet({type:"occlusion",count:r,label:`occlusionQuerySet_${e.id}`}),t.occlusionQuerySet=s,t.occlusionQueryIndex=0,t.occlusionQueryObjects=new Array(r),t.lastOcclusionObject=null);let a;e.textures===null?a=this._getDefaultRenderPassDescriptor():a=this._getRenderPassDescriptor(e,{loadOp:z1.Load}),this.initTimestampQuery(e,a),a.occlusionQuerySet=s;const o=a.depthStencilAttachment;if(e.textures!==null){const u=a.colorAttachments;for(let d=0;d<u.length;d++){const q=u[d];e.clearColor?(q.clearValue=d===0?e.clearColorValue:{r:0,g:0,b:0,a:1},q.loadOp=z1.Clear):q.loadOp=z1.Load,q.storeOp=Ji.Store}}else{const u=a.colorAttachments[0];e.clearColor?(u.clearValue=e.clearColorValue,u.loadOp=z1.Clear):u.loadOp=z1.Load,u.storeOp=Ji.Store}e.depth&&(e.clearDepth?(o.depthClearValue=e.clearDepthValue,o.depthLoadOp=z1.Clear):o.depthLoadOp=z1.Load,o.depthStoreOp=Ji.Store),e.stencil&&(e.clearStencil?(o.stencilClearValue=e.clearStencilValue,o.stencilLoadOp=z1.Clear):o.stencilLoadOp=z1.Load,o.stencilStoreOp=Ji.Store);const l=i.createCommandEncoder({label:"renderContext_"+e.id});if(this._isRenderCameraDepthArray(e)===!0){const u=e.camera.cameras;!t.layerDescriptors||t.layerDescriptors.length!==u.length?this._createDepthLayerDescriptors(e,t,a,u):this._updateDepthLayerDescriptors(e,t,u),t.bundleEncoders=[],t.bundleSets=[];for(let d=0;d<u.length;d++){const q=this.pipelineUtils.createBundleEncoder(e,"renderBundleArrayCamera_"+d),_={attributes:{},bindingGroups:[],pipeline:null,index:null};t.bundleEncoders.push(q),t.bundleSets.push(_)}t.currentPass=null}else{const u=l.beginRenderPass(a);if(t.currentPass=u,e.viewport&&this.updateViewport(e),e.scissor){const{x:d,y:q,width:_,height:g}=e.scissorValue;
4239u.setScissorRect(d,q,_,g)}}t.descriptor=a,t.encoder=l,t.currentSets={attributes:{},bindingGroups:[],pipeline:null,index:null},t.renderBundles=[]}_createDepthLayerDescriptors(e,t,i,r){const s=i.depthStencilAttachment;t.layerDescriptors=[];const a=this.get(e.depthTexture);a.viewCache||(a.viewCache=[]);for(let o=0;o<r.length;o++){const l={...i,colorAttachments:[{...i.colorAttachments[0],view:i.colorAttachments[o].view}]};if(i.depthStencilAttachment){const u=o;a.viewCache[u]||(a.viewCache[u]=a.texture.createView({dimension:_i.TwoD,baseArrayLayer:o,arrayLayerCount:1})),l.depthStencilAttachment={view:a.viewCache[u],depthLoadOp:s.depthLoadOp||z1.Clear,depthStoreOp:s.depthStoreOp||Ji.Store,depthClearValue:s.depthClearValue||1},e.stencil&&(l.depthStencilAttachment.stencilLoadOp=s.stencilLoadOp,l.depthStencilAttachment.stencilStoreOp=s.stencilStoreOp,l.depthStencilAttachment.stencilClearValue=s.stencilClearValue)}else l.depthStencilAttachment={...s};t.layerDescriptors.push(l)}}_updateDepthLayerDescriptors(e,t,i){for(let r=0;r<i.length;r++){const s=t.layerDescriptors[r];if(s.depthStencilAttachment){const a=s.depthStencilAttachment;e.depth&&(e.clearDepth?(a.depthClearValue=e.clearDepthValue,a.depthLoadOp=z1.Clear):a.depthLoadOp=z1.Load),e.stencil&&(e.clearStencil?(a.stencilClearValue=e.clearStencilValue,a.stencilLoadOp=z1.Clear):a.stencilLoadOp=z1.Load)}}}finishRender(e){const t=this.get(e),i=e.occlusionQueryCount;t.renderBundles.length>0&&t.currentPass.executeBundles(t.renderBundles),i>t.occlusionQueryIndex&&t.currentPass.endOcclusionQuery();const r=t.encoder;if(this._isRenderCameraDepthArray(e)===!0){const s=[];for(let a=0;a<t.bundleEncoders.length;a++){const o=t.bundleEncoders[a];s.push(o.finish())}for(let a=0;a<t.layerDescriptors.length;a++)if(a<s.length){const o=t.layerDescriptors[a],l=r.beginRenderPass(o);if(e.viewport){const{x:u,y:d,width:q,height:_,minDepth:g,maxDepth:M}=e.viewportValue;l.setViewport(u,d,q,_,g,M)}if(e.scissor){const{x:u,y:d,width:q,height:_}=e.scissorValue;l.setScissorRect(u,d,q,_)}l.executeBundles([s[a]]),l.end()}}else t.currentPass&&t.currentPass.end();if(i>0){const s=i*8;let a=this.occludedResolveCache.get(s);a===void 0&&(a=this.device.createBuffer({size:s,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.occludedResolveCache.set(s,a));const o=this.device.createBuffer({size:s,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});t.encoder.resolveQuerySet(t.occlusionQuerySet,0,i,a,0),t.encoder.copyBufferToBuffer(a,0,o,0,s),t.occlusionQueryBuffer=o,this.resolveOccludedAsync(e)}if(this.device.queue.submit([t.encoder.finish()]),e.textures!==null){const s=e.textures;for(let a=0;a<s.length;a++){const o=s[a];o.generateMipmaps===!0&&this.textureUtils.generateMipmaps(o)}}}isOccluded(e,t){const i=this.get(e);return i.occluded&&i.occluded.has(t)}async resolveOccludedAsync(e){const t=this.get(e),{currentOcclusionQueryBuffer:i,currentOcclusionQueryObjects:r}=t;if(i&&r){const s=new WeakSet;t.currentOcclusionQueryObjects=null,t.currentOcclusionQueryBuffer=null,await i.mapAsync(GPUMapMode.READ);const a=i.getMappedRange(),o=new BigUint64Array(a);for(let l=0;l<r.length;l++)o[l]===BigInt(0)&&s.add(r[l]);i.destroy(),t.occluded=s}}updateViewport(e){const{currentPass:t}=this.get(e),{x:i,y:r,width:s,height:a,minDepth:o,maxDepth:l}=e.viewportValue;t.setViewport(i,r,s,a,o,l)}getClearColor(){const e=super.getClearColor();return this.renderer.alpha===!0&&(e.r*=e.a,e.g*=e.a,e.b*=e.a),e}clear(e,t,i,r=null){const s=this.device,a=this.renderer;let o=[],l,u,d,q;if(e){const M=this.getClearColor();u={r:M.r,g:M.g,b:M.b,a:M.a}}if(r===null){d=a.depth,q=a.stencil;const M=this._getDefaultRenderPassDescriptor();if(e){o=M.colorAttachments;const N=o[0];N.clearValue=u,N.loadOp=z1.Clear,N.storeOp=Ji.Store}(d||q)&&(l=M.depthStencilAttachment)}else{d=r.depth,q=r.stencil;const M={loadOp:e?z1.Clear:z1.Load,clearValue:e?u:void 0};d&&(M.depthLoadOp=t?z1.Clear:z1.Load,M.depthClearValue=t?a.getClearDepth():void 0,M.depthStoreOp=Ji.Store),q&&(M.stencilLoadOp=i?z1.Clear:z1.Load,M.stencilClearValue=i?a.getClearStencil():void 0,M.stencilStoreOp=Ji.Store);const N=this._getRenderPassDescriptor(r,M);o=N.colorAttachments,l=N.depthStencilAttachment}d&&l&&l.depthLoadOp===void 0&&(t?(l.depthLoadOp=z1.Clear,l.depthClearValue=a.getClearDepth(),l.depthStoreOp=Ji.Store):(l.depthLoadOp=z1.Load,l.depthStoreOp=Ji.Store)),q&&l&&l.stencilLoadOp===void 0&&(i?(l.stencilLoadOp=z1.Clear,l.stencilClearValue=a.getClearStencil(),l.stencilStoreOp=Ji.Store):(l.stencilLoadOp=z1.Load,l.stencilStoreOp=Ji.Store));const _=s.createCommandEncoder({label:"clear"});_.beginRenderPass({colorAttachments:o,depthStencilAttachment:l}).end(),s.queue.submit([_.finish()])}beginCompute(e){const t=this.get(e),i={label:"computeGroup_"+e.id};this.initTimestampQuery(e,i),t.cmdEncoderGPU=this.device.createCommandEncoder({label:"computeGroup_"+e.id}),t.passEncoderGPU=t.cmdEncoderGPU.beginComputePass(i)}compute(e,t,i,r){const{passEncoderGPU:s}=this.get(e),a=this.get(r).pipeline;this.pipelineUtils.setPipeline(s,a);for(let d=0,q=i.length;d<q;d++){const _=i[d],g=this.get(_);s.setBindGroup(d,g.group)}const o=this.device.limits.maxComputeWorkgroupsPerDimension,l=this.get(t);l.dispatchSize===void 0&&(l.dispatchSize={x:0,y:1,z:1});const{dispatchSize:u}=l;t.dispatchCount>o?(u.x=Math.min(t.dispatchCount,o),u.y=Math.ceil(t.dispatchCount/o)):u.x=t.dispatchCount,s.dispatchWorkgroups(u.x,u.y,u.z)}finishCompute(e){const t=this.get(e);t.passEncoderGPU.end(),this.device.queue.submit([t.cmdEncoderGPU.finish()])}async waitForGPU(){await this.device.queue.onSubmittedWorkDone()}draw(e,t){const{object:i,material:r,context:s,pipeline:a}=e,o=e.getBindings(),l=this.get(s),u=this.get(a).pipeline,d=e.getIndex(),q=d!==null,_=e.getDrawParameters();if(_===null)return;const g=(N,y)=>{this.pipelineUtils.setPipeline(N,u),y.pipeline=u;const S=y.bindingGroups;for(let O=0,b=o.length;O<b;O++){const D=o[O],B=this.get(D);S[D.index]!==D.id&&(N.setBindGroup(D.index,B.group),S[D.index]=D.id)}
4239if(q===!0&&y.index!==d){const O=this.get(d).buffer,b=d.array instanceof Uint16Array?_4.Uint16:_4.Uint32;N.setIndexBuffer(O,b),y.index=d}const R=e.getVertexBuffers();for(let O=0,b=R.length;O<b;O++){const D=R[O];if(y.attributes[O]!==D){const B=this.get(D).buffer;N.setVertexBuffer(O,B),y.attributes[O]=D}}s.stencil===!0&&r.stencilWrite===!0&&l.currentStencilRef!==r.stencilRef&&(N.setStencilReference(r.stencilRef),l.currentStencilRef=r.stencilRef)},M=(N,y)=>{if(g(N,y),i.isBatchedMesh===!0){const S=i._multiDrawStarts,R=i._multiDrawCounts,O=i._multiDrawCount,b=i._multiDrawInstances;b!==null&&Yr("THREE.WebGPUBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.");for(let D=0;D<O;D++){const B=b?b[D]:1,C=B>1?0:D;q===!0?N.drawIndexed(R[D],B,S[D]/d.array.BYTES_PER_ELEMENT,0,C):N.draw(R[D],B,S[D],C),t.update(i,R[D],B)}}else if(q===!0){const{vertexCount:S,instanceCount:R,firstVertex:O}=_,b=e.getIndirect();if(b!==null){const D=this.get(b).buffer;N.drawIndexedIndirect(D,0)}else N.drawIndexed(S,R,O,0,0);t.update(i,S,R)}else{const{vertexCount:S,instanceCount:R,firstVertex:O}=_,b=e.getIndirect();if(b!==null){const D=this.get(b).buffer;N.drawIndirect(D,0)}else N.draw(S,R,O,0);t.update(i,S,R)}};if(e.camera.isArrayCamera&&e.camera.cameras.length>0){const N=this.get(e.camera),y=e.camera.cameras,S=e.getBindingGroup("cameraIndex");if(N.indexesGPU===void 0||N.indexesGPU.length!==y.length){const O=this.get(S),b=[],D=new Uint32Array([0,0,0,0]);for(let B=0,C=y.length;B<C;B++){D[0]=B;const G=this.bindingUtils.createBindGroupIndex(D,O.layout);b.push(G)}N.indexesGPU=b}const R=this.renderer.getPixelRatio();for(let O=0,b=y.length;O<b;O++){const D=y[O];if(i.layers.test(D.layers)){const B=D.viewport;let C=l.currentPass,G=l.currentSets;if(l.bundleEncoders){const L=l.bundleEncoders[O],P=l.bundleSets[O];C=L,G=P}
4239B&&C.setViewport(Math.floor(B.x*R),Math.floor(B.y*R),Math.floor(B.width*R),Math.floor(B.height*R),s.viewportValue.minDepth,s.viewportValue.maxDepth),S&&N.indexesGPU&&(C.setBindGroup(S.index,N.indexesGPU[O]),G.bindingGroups[S.index]=S.id),M(C,G)}}}else if(l.currentPass){if(l.occlusionQuerySet!==void 0){const N=l.lastOcclusionObject;N!==i&&(N!==null&&N.occlusionTest===!0&&(l.currentPass.endOcclusionQuery(),l.occlusionQueryIndex++),i.occlusionTest===!0&&(l.currentPass.beginOcclusionQuery(l.occlusionQueryIndex),l.occlusionQueryObjects[l.occlusionQueryIndex]=i),l.lastOcclusionObject=i)}M(l.currentPass,l.currentSets)}}needsRenderUpdate(e){const t=this.get(e),{object:i,material:r}=e,s=this.utils,a=s.getSampleCountRenderContext(e.context),o=s.getCurrentColorSpace(e.context),l=s.getCurrentColorFormat(e.context),u=s.getCurrentDepthStencilFormat(e.context),d=s.getPrimitiveTopology(i,r);let q=!1;return(t.material!==r||t.materialVersion!==r.version||t.transparent!==r.transparent||t.blending!==r.blending||t.premultipliedAlpha!==r.premultipliedAlpha||t.blendSrc!==r.blendSrc||t.blendDst!==r.blendDst||t.blendEquation!==r.blendEquation||t.blendSrcAlpha!==r.blendSrcAlpha||t.blendDstAlpha!==r.blendDstAlpha||t.blendEquationAlpha!==r.blendEquationAlpha||t.colorWrite!==r.colorWrite||t.depthWrite!==r.depthWrite||t.depthTest!==r.depthTest||t.depthFunc!==r.depthFunc||t.stencilWrite!==r.stencilWrite||t.stencilFunc!==r.stencilFunc||t.stencilFail!==r.stencilFail||t.stencilZFail!==r.stencilZFail||t.stencilZPass!==r.stencilZPass||t.stencilFuncMask!==r.stencilFuncMask||t.stencilWriteMask!==r.stencilWriteMask||t.side!==r.side||t.alphaToCoverage!==r.alphaToCoverage||t.sampleCount!==a||t.colorSpace!==o||t.colorFormat!==l||t.depthStencilFormat!==u||t.primitiveTopology!==d||t.clippingContextCacheKey!==e.clippingContextCacheKey)&&(t.material=r,t.materialVersion=r.version,t.transparent=r.transparent,t.blending=r.blending,t.premultipliedAlpha=r.premultipliedAlpha,t.blendSrc=r.blendSrc,t.blendDst=r.blendDst,t.blendEquation=r.blendEquation,t.blendSrcAlpha=r.blendSrcAlpha,t.blendDstAlpha=r.blendDstAlpha,t.blendEquationAlpha=r.blendEquationAlpha,t.colorWrite=r.colorWrite,t.depthWrite=r.depthWrite,t.depthTest=r.depthTest,t.depthFunc=r.depthFunc,t.stencilWrite=r.stencilWrite,t.stencilFunc=r.stencilFunc,t.stencilFail=r.stencilFail,t.stencilZFail=r.stencilZFail,t.stencilZPass=r.stencilZPass,t.stencilFuncMask=r.stencilFuncMask,t.stencilWriteMask=r.stencilWriteMask,t.side=r.side,t.alphaToCoverage=r.alphaToCoverage,t.sampleCount=a,t.colorSpace=o,t.colorFormat=l,t.depthStencilFormat=u,t.primitiveTopology=d,t.clippingContextCacheKey=e.clippingContextCacheKey,q=!0),q}getRenderCacheKey(e){const{object:t,material:i}=e,r=this.utils,s=e.context;return[i.transparent,i.blending,i.premultipliedAlpha,i.blendSrc,i.blendDst,i.blendEquation,i.blendSrcAlpha,i.blendDstAlpha,i.blendEquationAlpha,i.colorWrite,i.depthWrite,i.depthTest,i.depthFunc,i.stencilWrite,i.stencilFunc,i.stencilFail,i.stencilZFail,i.stencilZPass,i.stencilFuncMask,i.stencilWriteMask,i.side,r.getSampleCountRenderContext(s),r.getCurrentColorSpace(s),r.getCurrentColorFormat(s),r.getCurrentDepthStencilFormat(s),r.getPrimitiveTopology(t,i),e.getGeometryCacheKey(),e.clippingContextCacheKey].join()}createSampler(e){this.textureUtils.createSampler(e)}destroySampler(e){this.textureUtils.destroySampler(e)}createDefaultTexture(e){this.textureUtils.createDefaultTexture(e)}createTexture(e,t){this.textureUtils.createTexture(e,t)}updateTexture(e,t){this.textureUtils.updateTexture(e,t)}generateMipmaps(e){this.textureUtils.generateMipmaps(e)}destroyTexture(e){this.textureUtils.destroyTexture(e)}async copyTextureToBuffer(e,t,i,r,s,a){return this.textureUtils.copyTextureToBuffer(e,t,i,r,s,a)}initTimestampQuery(e,t){if(!this.trackTimestamp)return;const i=e.isComputeNode?"compute":"render";this.timestampQueryPool[i]||(this.timestampQueryPool[i]=new Zre(this.device,i,2048));const r=this.timestampQueryPool[i],s=r.allocateQueriesForContext(e);t.timestampWrites={querySet:r.querySet,beginningOfPassWriteIndex:s,endOfPassWriteIndex:s+1}}createNodeBuilder(e,t){return new zre(e,t)}createProgram(e){const t=this.get(e);t.module={module:this.device.createShaderModule({code:e.code,label:e.stage+(e.name!==""?`_${e.name}`:"")}),entryPoint:"main"}}destroyProgram(e){this.delete(e)}createRenderPipeline(e,t){this.pipelineUtils.createRenderPipeline(e,t)}createComputePipeline(e,t){this.pipelineUtils.createComputePipeline(e,t)}beginBundle(e){const t=this.get(e);t._currentPass=t.currentPass,t._currentSets=t.currentSets,t.currentSets={attributes:{},bindingGroups:[],pipeline:null,index:null},t.currentPass=this.pipelineUtils.createBundleEncoder(e)}finishBundle(e,t){const i=this.get(e),s=i.currentPass.finish();this.get(t).bundleGPU=s,i.currentSets=i._currentSets,i.currentPass=i._currentPass}addBundle(e,t){this.get(e).renderBundles.push(this.get(t).bundleGPU)}createBindings(e,t,i,r){this.bindingUtils.createBindings(e,t,i,r)}updateBindings(e,t,i,r){this.bindingUtils.createBindings(e,t,i,r)}updateBinding(e){this.bindingUtils.updateBinding(e)}createIndexAttribute(e){this.attributeUtils.createAttribute(e,GPUBufferUsage.INDEX|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST)}createAttribute(e){this.attributeUtils.createAttribute(e,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST)}createStorageAttribute(e){this.attributeUtils.createAttribute(e,GPUBufferUsage.STORAGE|GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST)}createIndirectStorageAttribute(e){this.attributeUtils.createAttribute(e,GPUBufferUsage.STORAGE|GPUBufferUsage.INDIRECT|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST)}updateAttribute(e){this.attributeUtils.updateAttribute(e)}destroyAttribute(e){this.attributeUtils.destroyAttribute(e)}updateSize(){this.colorBuffer=this.textureUtils.getColorBuffer(),this.defaultRenderPassdescriptor=null}getMaxAnisotropy(){return 16}hasFeature(e){return this.device.features.has(e)}copyTextureToTexture(e,t,i=null,r=null,s=0,a=0){let o=0,l=0,u=0,d=0,q=0,_=0,g=e.image.width,M=e.image.height,N=1;i!==null&&(i.isBox3===!0?(d=i.min.x,q=i.min.y,_=i.min.z,g=i.max.x-i.min.x,M=i.max.y-i.min.y,N=i.max.z-i.min.z):(d=i.min.x,q=i.min.y,g=i.max.x-i.min.x,M=i.max.y-i.min.y,N=1)),r!==null&&(o=r.x,l=r.y,u=r.z||0);const y=this.device.createCommandEncoder({label:"copyTextureToTexture_"+e.id+"_"+t.id}),S=this.get(e).texture,R=this.get(t).texture;
4239y.copyTextureToTexture({texture:S,mipLevel:s,origin:{x:d,y:q,z:_}},{texture:R,mipLevel:a,origin:{x:o,y:l,z:u}},[g,M,N]),this.device.queue.submit([y.finish()]),a===0&&t.generateMipmaps&&this.textureUtils.generateMipmaps(t)}copyFramebufferToTexture(e,t,i){const r=this.get(t);let s=null;t.renderTarget?e.isDepthTexture?s=this.get(t.depthTexture).texture:s=this.get(t.textures[0]).texture:e.isDepthTexture?s=this.textureUtils.getDepthBuffer(t.depth,t.stencil):s=this.context.getCurrentTexture();const a=this.get(e).texture;if(s.format!==a.format){console.error("WebGPUBackend: copyFramebufferToTexture: Source and destination formats do not match.",s.format,a.format);return}let o;if(r.currentPass?(r.currentPass.end(),o=r.encoder):o=this.device.createCommandEncoder({label:"copyFramebufferToTexture_"+e.id}),o.copyTextureToTexture({texture:s,origin:[i.x,i.y,0]},{texture:a},[i.z,i.w]),r.currentPass){const{descriptor:l}=r;for(let u=0;u<l.colorAttachments.length;u++)l.colorAttachments[u].loadOp=z1.Load;if(t.depth&&(l.depthStencilAttachment.depthLoadOp=z1.Load),t.stencil&&(l.depthStencilAttachment.stencilLoadOp=z1.Load),r.currentPass=o.beginRenderPass(l),r.currentSets={attributes:{},bindingGroups:[],pipeline:null,index:null},t.viewport&&this.updateViewport(t),t.scissor){const{x:u,y:d,width:q,height:_}=t.scissorValue;r.currentPass.setScissorRect(u,d,q,_)}}else this.device.queue.submit([o.finish()]);e.generateMipmaps&&this.textureUtils.generateMipmaps(e)}}class Jre extends sq{constructor(e,t,i,r,s,a){super(e,t,i,r,s,a),this.iesMap=null}copy(e,t){return super.copy(e,t),this.iesMap=e.iesMap,this}}class e0e extends sq{constructor(e,t,i,r,s,a){super(e,t,i,r,s,a),this.aspect=null}copy(e,t){return super.copy(e,t),this.aspect=e.aspect,this}}class t0e extends Cb{constructor(){super(),this.addMaterial(YQ,"MeshPhongMaterial"),this.addMaterial(TR,"MeshStandardMaterial"),this.addMaterial(PJ,"MeshPhysicalMaterial"),this.addMaterial(wJ,"MeshToonMaterial"),this.addMaterial(GQ,"MeshBasicMaterial"),this.addMaterial(HQ,"MeshLambertMaterial"),this.addMaterial(DQ,"MeshNormalMaterial"),this.addMaterial(FJ,"MeshMatcapMaterial"),this.addMaterial(OQ,"LineBasicMaterial"),this.addMaterial(RQ,"LineDashedMaterial"),this.addMaterial(zJ,"PointsMaterial"),this.addMaterial(bR,"SpriteMaterial"),this.addMaterial(KJ,"ShadowMaterial"),this.addLight(W1e,AU),this.addLight(Iie,Ry),this.addLight(Pie,fU),this.addLight(Vp,sq),this.addLight(wie,by),this.addLight(Bie,lU),this.addLight(Uie,qU),this.addLight(Lie,Jre),this.addLight(Cie,e0e),this.addToneMapping(ZR,ny),this.addToneMapping(QR,iy),this.addToneMapping(JR,ry),this.addToneMapping(eb,sy),this.addToneMapping(tb,ay),this.addToneMapping(nb,oy)}}class Hb extends ire{constructor(e={}){let t;e.forceWebGL?t=ZM:(t=Qre,e.getFallback=()=>(console.warn("THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend."),new ZM(e)));const i=new t(e);super(i,e),this.library=new t0e,this.isWebGPURenderer=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}}/** 4240 * @license 4241 * Copyright 2010-2025 Three.js Authors 4242 * SPDX-License-Identifier: MIT 4243 */U.BRDF_GGX;U.BRDF_Lambert;U.BasicShadowFilter;U.Break;U.Continue;U.DFGApprox;U.D_GGX;U.Discard;U.EPSILON;U.F_Schlick;const n0e=U.Fn;U.INFINITY;const i0e=U.If;U.Switch;const r0e=U.Loop;U.NodeShaderStage;U.NodeType;U.NodeUpdateType;U.NodeAccess;U.PCFShadowFilter;U.PCFSoftShadowFilter;U.PI;U.PI2;U.Return;U.Schlick_to_F0;U.ScriptableNodeResources;U.ShaderNode;U.TBNViewMatrix;U.VSMShadowFilter;U.V_GGX_SmithCorrelated;U.abs;U.acesFilmicToneMapping;U.acos;U.add;U.addNodeElement;U.agxToneMapping;U.all;U.alphaT;U.and;U.anisotropy;U.anisotropyB;U.anisotropyT;U.any;U.append;U.array;U.arrayBuffer;const s0e=U.asin;U.assign;U.atan;U.atan2;U.atomicAdd;U.atomicAnd;U.atomicFunc;U.atomicMax;U.atomicMin;U.atomicOr;U.atomicStore;U.atomicSub;U.atomicXor;U.atomicLoad;U.attenuationColor;U.attenuationDistance;U.attribute;U.attributeArray;U.backgroundBlurriness;U.backgroundIntensity;U.backgroundRotation;U.batch;U.billboarding;U.bitAnd;U.bitNot;U.bitOr;U.bitXor;U.bitangentGeometry;
4243U.bitangentLocal;U.bitangentView;U.bitangentWorld;U.bitcast;U.blendBurn;U.blendColor;U.blendDodge;U.blendOverlay;U.blendScreen;U.blur;U.bool;U.buffer;U.bufferAttribute;U.bumpMap;U.burn;U.bvec2;U.bvec3;U.bvec4;U.bypass;U.cache;U.call;U.cameraFar;U.cameraIndex;U.cameraNear;U.cameraNormalMatrix;U.cameraPosition;U.cameraProjectionMatrix;U.cameraProjectionMatrixInverse;U.cameraViewMatrix;U.cameraWorldMatrix;U.cbrt;U.cdl;U.ceil;U.checker;U.cineonToneMapping;U.clamp;U.clearcoat;U.clearcoatRoughness;U.code;U.color;U.colorSpaceToWorking;U.colorToDirection;U.compute;U.computeSkinning;U.cond;U.Const;U.context;U.convert;U.convertColorSpace;U.convertToTexture;const a0e=U.cos;U.cross;U.cubeTexture;U.dFdx;U.dFdy;U.dashSize;U.debug;U.decrement;U.decrementBefore;U.defaultBuildStages;U.defaultShaderStages;U.defined;U.degrees;U.deltaTime;U.densityFog;U.densityFogFactor;U.depth;U.depthPass;U.difference;U.diffuseColor;U.directPointLight;U.directionToColor;U.dispersion;U.distance;U.div;U.dodge;U.dot;U.drawIndex;U.dynamicBufferAttribute;U.element;U.emissive;U.equal;U.equals;U.equirectUV;const o0e=U.exp;U.exp2;U.expression;U.faceDirection;U.faceForward;U.faceforward;const l0e=U.float;U.floor;U.fog;U.fract;U.frameGroup;U.frameId;U.frontFacing;U.fwidth;U.gain;U.gapSize;U.getConstNodeType;U.getCurrentStack;U.getDirection;U.getDistanceAttenuation;U.getGeometryRoughness;U.getNormalFromDepth;U.getParallaxCorrectNormal;U.getRoughness;U.getScreenPosition;U.getShIrradianceAt;U.getTextureIndex;U.getViewPosition;U.getShadowMaterial;U.getShadowRenderObjectFunction;U.glsl;U.glslFn;U.grayscale;U.greaterThan;U.greaterThanEqual;U.hash;U.highpModelNormalViewMatrix;U.highpModelViewMatrix;U.hue;U.increment;U.incrementBefore;U.instance;const u0e=U.instanceIndex;U.instancedArray;U.instancedBufferAttribute;U.instancedDynamicBufferAttribute;U.instancedMesh;U.int;U.inverseSqrt;U.inversesqrt;U.invocationLocalIndex;U.invocationSubgroupIndex;U.ior;U.iridescence;U.iridescenceIOR;U.iridescenceThickness;U.ivec2;U.ivec3;U.ivec4;U.js;U.label;U.length;U.lengthSq;U.lessThan;U.lessThanEqual;U.lightPosition;U.lightShadowMatrix;U.lightTargetDirection;U.lightTargetPosition;U.lightViewPosition;U.lightingContext;U.lights;U.linearDepth;U.linearToneMapping;U.localId;U.globalId;U.log;U.log2;U.logarithmicDepthToViewZ;U.loop;U.luminance;U.mediumpModelViewMatrix;U.mat2;U.mat3;U.mat4;U.matcapUV;U.materialAO;U.materialAlphaTest;U.materialAnisotropy;U.materialAnisotropyVector;U.materialAttenuationColor;U.materialAttenuationDistance;U.materialClearcoat;U.materialClearcoatNormal;U.materialClearcoatRoughness;U.materialColor;U.materialDispersion;U.materialEmissive;U.materialIOR;U.materialIridescence;U.materialIridescenceIOR;U.materialIridescenceThickness;U.materialLightMap;U.materialLineDashOffset;U.materialLineDashSize;U.materialLineGapSize;U.materialLineScale;U.materialLineWidth;U.materialMetalness;U.materialNormal;U.materialOpacity;U.materialPointSize;U.materialReference;U.materialReflectivity;U.materialRefractionRatio;U.materialRotation;U.materialRoughness;U.materialSheen;U.materialSheenRoughness;U.materialShininess;U.materialSpecular;U.materialSpecularColor;U.materialSpecularIntensity;U.materialSpecularStrength;U.materialThickness;U.materialTransmission;U.max;U.maxMipLevel;U.metalness;U.min;U.mix;U.mixElement;U.mod;U.modInt;U.modelDirection;U.modelNormalMatrix;U.modelPosition;U.modelRadius;U.modelScale;U.modelViewMatrix;U.modelViewPosition;U.modelViewProjection;U.modelWorldMatrix;U.modelWorldMatrixInverse;U.morphReference;U.mrt;U.mul;U.mx_aastep;U.mx_cell_noise_float;U.mx_contrast;U.mx_fractal_noise_float;U.mx_fractal_noise_vec2;U.mx_fractal_noise_vec3;U.mx_fractal_noise_vec4;U.mx_hsvtorgb;U.mx_noise_float;U.mx_noise_vec3;U.mx_noise_vec4;U.mx_ramplr;U.mx_ramptb;U.mx_rgbtohsv;U.mx_safepower;U.mx_splitlr;U.mx_splittb;U.mx_srgb_texture_to_lin_rec709;U.mx_transform_uv;U.mx_worley_noise_float;U.mx_worley_noise_vec2;U.mx_worley_noise_vec3;U.namespace;const c0e=U.negate;U.neutralToneMapping;U.nodeArray;U.nodeImmutable;U.nodeObject;U.nodeObjects;U.nodeProxy;U.normalFlat;U.normalGeometry;U.normalLocal;U.normalMap;U.normalView;U.normalWorld;U.normalize;U.not;U.notEqual;U.numWorkgroups;U.objectDirection;U.objectGroup;U.objectPosition;U.objectRadius;U.objectScale;U.objectViewPosition;U.objectWorldMatrix;U.oneMinus;U.or;U.orthographicDepthToViewZ;U.oscSawtooth;U.oscSine;U.oscSquare;U.oscTriangle;U.output;U.outputStruct;U.overlay;U.overloadingFn;U.parabola;U.parallaxDirection;U.parallaxUV;U.parameter;U.pass;U.passTexture;U.pcurve;U.perspectiveDepthToViewZ;U.pmremTexture;U.pointUV;U.pointWidth;U.positionGeometry;
4243U.positionLocal;U.positionPrevious;U.positionView;U.positionViewDirection;U.positionWorld;U.positionWorldDirection;U.posterize;U.pow;U.pow2;U.pow3;U.pow4;U.premult;U.property;U.radians;U.rand;U.range;U.rangeFog;U.rangeFogFactor;U.reciprocal;U.lightProjectionUV;U.reference;U.referenceBuffer;U.reflect;U.reflectVector;U.reflectView;U.reflector;U.refract;U.refractVector;U.refractView;U.reinhardToneMapping;U.remainder;U.remap;U.remapClamp;U.renderGroup;U.renderOutput;U.rendererReference;U.rotate;U.rotateUV;U.roughness;U.round;U.rtt;U.sRGBTransferEOTF;U.sRGBTransferOETF;U.sampler;U.samplerComparison;U.saturate;U.saturation;U.screen;U.screenCoordinate;U.screenSize;U.screenUV;U.scriptable;U.scriptableValue;U.select;U.setCurrentStack;U.shaderStages;U.shadow;U.pointShadow;U.shadowPositionWorld;U.sharedUniformGroup;U.shapeCircle;U.sheen;U.sheenRoughness;U.shiftLeft;U.shiftRight;U.shininess;U.sign;const A0e=U.sin;U.sinc;U.skinning;U.smoothstep;U.smoothstepElement;U.specularColor;U.specularF90;U.spherizeUV;U.split;U.spritesheetUV;const h0e=U.sqrt;U.stack;U.step;const f0e=U.storage;U.storageBarrier;U.storageObject;U.storageTexture;U.string;U.struct;U.sub;U.subgroupIndex;U.subgroupSize;U.tan;U.tangentGeometry;U.tangentLocal;U.tangentView;U.tangentWorld;U.temp;U.texture;U.texture3D;U.textureBarrier;U.textureBicubic;U.textureCubeUV;U.textureLoad;U.textureSize;U.textureStore;U.thickness;U.time;U.timerDelta;U.timerGlobal;U.timerLocal;U.toneMapping;U.toneMappingExposure;U.toonOutlinePass;U.transformDirection;U.transformNormal;U.transformNormalToView;U.transformedBentNormalView;U.transformedBitangentView;U.transformedBitangentWorld;U.transformedClearcoatNormalView;U.transformedNormalView;U.transformedNormalWorld;U.transformedTangentView;U.transformedTangentWorld;U.transmission;U.transpose;U.triNoise3D;U.triplanarTexture;U.triplanarTextures;U.trunc;U.tslFn;U.uint;const d0e=U.uniform;U.uniformCubeTexture;U.uniformArray;U.uniformGroup;U.uniformTexture;U.uniforms;U.unpremult;U.userData;U.uv;U.uvec2;U.uvec3;U.uvec4;U.Var;U.varying;U.varyingProperty;U.vec2;U.vec3;U.vec4;U.vectorComponents;U.velocity;U.vertexColor;U.vertexIndex;U.vibrance;U.viewZToLogarithmicDepth;U.viewZToOrthographicDepth;U.viewZToPerspectiveDepth;U.viewport;U.viewportBottomLeft;U.viewportCoordinate;U.viewportDepthTexture;U.viewportLinearDepth;U.viewportMipTexture;U.viewportResolution;U.viewportSafeUV;U.viewportSharedTexture;U.viewportSize;U.viewportTexture;U.viewportTopLeft;U.viewportUV;U.wgsl;U.wgslFn;U.workgroupArray;U.workgroupBarrier;U.workgroupId;U.workingToColorSpace;U.xor;const sx=new l3,zl=new Z;class Kb extends pU{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],t=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new C1(e,3)),this.setAttribute("uv",new C1(t,2))}applyMatrix4(e){const t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new L7(t,6,1);return this.setAttribute("instanceStart",new a2(i,3,0)),this.setAttribute("instanceEnd",new a2(i,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new L7(t,6,1);return this.setAttribute("instanceColorStart",new a2(i,3,0)),this.setAttribute("instanceColorEnd",new a2(i,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new XB(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new l3);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),sx.setFromBufferAttribute(t),this.boundingBox.union(sx))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Q3),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){const i=this.boundingSphere.center;this.boundingBox.getCenter(i);let r=0;for(let s=0,a=e.count;s<a;
4243s++)zl.fromBufferAttribute(e,s),r=Math.max(r,i.distanceToSquared(zl)),zl.fromBufferAttribute(t,s),r=Math.max(r,i.distanceToSquared(zl));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}}ht.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Ce(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};fr.line={uniforms:H9.merge([ht.common,ht.fog,ht.line]),vertexShader:` 4244 #include <common> 4245 #include <color_pars_vertex> 4246 #include <fog_pars_vertex> 4247 #include <logdepthbuf_pars_vertex> 4248 #include <clipping_planes_pars_vertex> 4249 4250 uniform float linewidth; 4251 uniform vec2 resolution; 4252 4253 attribute vec3 instanceStart; 4254 attribute vec3 instanceEnd; 4255 4256 attribute vec3 instanceColorStart; 4257 attribute vec3 instanceColorEnd; 4258 4259 #ifdef WORLD_UNITS 4260 4261 varying vec4 worldPos; 4262 varying vec3 worldStart; 4263 varying vec3 worldEnd; 4264 4265 #ifdef USE_DASH 4266 4267 varying vec2 vUv; 4268 4269 #endif 4270 4271 #else 4272 4273 varying vec2 vUv; 4274 4275 #endif 4276 4277 #ifdef USE_DASH 4278 4279 uniform float dashScale; 4280 attribute float instanceDistanceStart; 4281 attribute float instanceDistanceEnd; 4282 varying float vLineDistance; 4283 4284 #endif 4285 4286 void trimSegment( const in vec4 start, inout vec4 end ) { 4287 4288 // trim end segment so it terminates between the camera plane and the near plane 4289 4290 // conservative estimate of the near plane 4291 float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column 4292 float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column 4293 float nearEstimate = - 0.5 * b / a; 4294 4295 float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); 4296 4297 end.xyz = mix( start.xyz, end.xyz, alpha ); 4298 4299 } 4300 4301 void main() { 4302 4303 #ifdef USE_COLOR 4304 4305 vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; 4306 4307 #endif 4308 4309 #ifdef USE_DASH 4310 4311 vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; 4312 vUv = uv; 4313 4314 #endif 4315 4316 float aspect = resolution.x / resolution.y; 4317 4318 // camera space 4319 vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); 4320 vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); 4321 4322 #ifdef WORLD_UNITS 4323 4324 worldStart = start.xyz; 4325 worldEnd = end.xyz; 4326 4327 #else 4328 4329 vUv = uv; 4330 4331 #endif 4332 4333 // special case for perspective projection, and segments that terminate either in, or behind, the camera plane 4334 // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space 4335 // but we need to perform ndc-space calculations in the shader, so we must address this issue directly 4336 // perhaps there is a more elegant solution -- WestLangley 4337 4338 bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column 4339 4340 if ( perspective ) { 4341 4342 if ( start.z < 0.0 && end.z >= 0.0 ) { 4343 4344 trimSegment( start, end ); 4345 4346 } else if ( end.z < 0.0 && start.z >= 0.0 ) { 4347 4348 trimSegment( end, start ); 4349 4350 } 4351 4352 } 4353 4354 // clip space 4355 vec4 clipStart = projectionMatrix * start; 4356 vec4 clipEnd = projectionMatrix * end; 4357 4358 // ndc space 4359 vec3 ndcStart = clipStart.xyz / clipStart.w; 4360 vec3 ndcEnd = clipEnd.xyz / clipEnd.w; 4361 4362 // direction 4363 vec2 dir = ndcEnd.xy - ndcStart.xy; 4364 4365 // account for clip-space aspect ratio 4366 dir.x *= aspect; 4367 dir = normalize( dir ); 4368 4369 #ifdef WORLD_UNITS 4370 4371 vec3 worldDir = normalize( end.xyz - start.xyz ); 4372 vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); 4373 vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); 4374 vec3 worldFwd = cross( worldDir, worldUp ); 4375 worldPos = position.y < 0.5 ? start: end; 4376 4377 // height offset 4378 float hw = linewidth * 0.5; 4379 worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; 4380 4381 // don't extend the line if we're rendering dashes because we 4382 // won't be rendering the endcaps 4383 #ifndef USE_DASH 4384 4385 // cap extension 4386 worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; 4387 4388 // add width to the box 4389 worldPos.xyz += worldFwd * hw; 4390 4391 // endcaps 4392 if ( position.y > 1.0 || position.y < 0.0 ) { 4393 4394 worldPos.xyz -= worldFwd * 2.0 * hw; 4395 4396 } 4397 4398 #endif 4399 4400 // project the worldpos 4401 vec4 clip = projectionMatrix * worldPos; 4402 4403 // shift the depth of the projected points so the line 4404 // segments overlap neatly 4405 vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; 4406 clip.z = clipPose.z * clip.w; 4407 4408 #else 4409 4410 vec2 offset = vec2( dir.y, - dir.x ); 4411 // undo aspect ratio adjustment 4412 dir.x /= aspect; 4413 offset.x /= aspect; 4414 4415 // sign flip 4416 if ( position.x < 0.0 ) offset *= - 1.0; 4417 4418 // endcaps 4419 if ( position.y < 0.0 ) { 4420 4421 offset += - dir; 4422 4423 } else if ( position.y > 1.0 ) { 4424 4425 offset += dir; 4426 4427 } 4428 4429 // adjust for linewidth 4430 offset *= linewidth; 4431 4432 // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... 4433 offset /= resolution.y; 4434 4435 // select end 4436 vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; 4437 4438 // back to clip space 4439 offset *= clip.w; 4440 4441 clip.xy += offset; 4442 4443 #endif 4444 4445 gl_Position = clip; 4446 4447 vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation 4448 4449 #include <logdepthbuf_vertex> 4450 #include <clipping_planes_vertex> 4451 #include <fog_vertex> 4452 4453 } 4454 `,fragmentShader:` 4455 uniform vec3 diffuse; 4456 uniform float opacity; 4457 uniform float linewidth; 4458 4459 #ifdef USE_DASH 4460 4461 uniform float dashOffset; 4462 uniform float dashSize; 4463 uniform float gapSize; 4464 4465 #endif 4466 4467 varying float vLineDistance; 4468 4469 #ifdef WORLD_UNITS 4470 4471 varying vec4 worldPos; 4472 varying vec3 worldStart; 4473 varying vec3 worldEnd; 4474 4475 #ifdef USE_DASH 4476 4477 varying vec2 vUv; 4478 4479 #endif 4480 4481 #else 4482 4483 varying vec2 vUv; 4484 4485 #endif 4486 4487 #include <common> 4488 #include <color_pars_fragment> 4489 #include <fog_pars_fragment> 4490 #include <logdepthbuf_pars_fragment> 4491 #include <clipping_planes_pars_fragment> 4492 4493 vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { 4494 4495 float mua; 4496 float mub; 4497 4498 vec3 p13 = p1 - p3; 4499 vec3 p43 = p4 - p3; 4500 4501 vec3 p21 = p2 - p1; 4502 4503 float d1343 = dot( p13, p43 );
4504 float d4321 = dot( p43, p21 ); 4505 float d1321 = dot( p13, p21 ); 4506 float d4343 = dot( p43, p43 ); 4507 float d2121 = dot( p21, p21 ); 4508 4509 float denom = d2121 * d4343 - d4321 * d4321; 4510 4511 float numer = d1343 * d4321 - d1321 * d4343; 4512 4513 mua = numer / denom; 4514 mua = clamp( mua, 0.0, 1.0 ); 4515 mub = ( d1343 + d4321 * ( mua ) ) / d4343; 4516 mub = clamp( mub, 0.0, 1.0 ); 4517 4518 return vec2( mua, mub ); 4519 4520 } 4521 4522 void main() { 4523 4524 float alpha = opacity; 4525 vec4 diffuseColor = vec4( diffuse, alpha ); 4526 4527 #include <clipping_planes_fragment> 4528 4529 #ifdef USE_DASH 4530 4531 if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps 4532 4533 if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX 4534 4535 #endif 4536 4537 #ifdef WORLD_UNITS 4538 4539 // Find the closest points on the view ray and the line segment 4540 vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; 4541 vec3 lineDir = worldEnd - worldStart; 4542 vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); 4543 4544 vec3 p1 = worldStart + lineDir * params.x; 4545 vec3 p2 = rayEnd * params.y; 4546 vec3 delta = p1 - p2; 4547 float len = length( delta ); 4548 float norm = len / linewidth; 4549 4550 #ifndef USE_DASH 4551 4552 #ifdef USE_ALPHA_TO_COVERAGE 4553 4554 float dnorm = fwidth( norm ); 4555 alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); 4556 4557 #else 4558 4559 if ( norm > 0.5 ) { 4560 4561 discard; 4562 4563 } 4564 4565 #endif 4566 4567 #endif 4568 4569 #else 4570 4571 #ifdef USE_ALPHA_TO_COVERAGE 4572 4573 // artifacts appear on some hardware if a derivative is taken within a conditional 4574 float a = vUv.x; 4575 float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; 4576 float len2 = a * a + b * b; 4577 float dlen = fwidth( len2 ); 4578 4579 if ( abs( vUv.y ) > 1.0 ) { 4580 4581 alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); 4582 4583 } 4584 4585 #else 4586 4587 if ( abs( vUv.y ) > 1.0 ) { 4588 4589 float a = vUv.x; 4590 float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; 4591 float len2 = a * a + b * b; 4592 4593 if ( len2 > 1.0 ) discard; 4594 4595 } 4596 4597 #endif 4598 4599 #endif 4600 4601 #include <logdepthbuf_fragment> 4602 #include <color_fragment> 4603 4604 gl_FragColor = vec4( diffuseColor.rgb, alpha ); 4605 4606 #include <tonemapping_fragment> 4607 #include <colorspace_fragment> 4608 #include <fog_fragment> 4609 #include <premultiplied_alpha_fragment> 4610 4611 } 4612 `};class Wp extends yr{constructor(e){super({type:"LineMaterial",uniforms:H9.clone(fr.line.uniforms),vertexShader:fr.line.vertexShader,fragmentShader:fr.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}const WA=new wt,ax=new Z,ox=new Z,Si=new wt,yi=new wt,X0=new wt,HA=new Z,KA=new Yt,Ni=new mU,lx=new Z,Wl=new l3,Hl=new Q3,Z0=new wt;let r2,sa;function ux(n,e,t){return Z0.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),Z0.multiplyScalar(1/Z0.w),Z0.x=sa/t.width,Z0.y=sa/t.height,Z0.applyMatrix4(n.projectionMatrixInverse),Z0.multiplyScalar(1/Z0.w),Math.abs(Math.max(Z0.x,Z0.y))}function q0e(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,s=i.attributes.instanceEnd,a=Math.min(i.instanceCount,r.count);for(let o=0,l=a;o<l;o++){Ni.start.fromBufferAttribute(r,o),Ni.end.fromBufferAttribute(s,o),Ni.applyMatrix4(t);const u=new Z,d=new Z;r2.distanceSqToSegment(Ni.start,Ni.end,d,u),d.distanceTo(u)<sa*.5&&e.push({point:d,pointOnLine:u,distance:r2.origin.distanceTo(d),object:n,face:null,faceIndex:o,uv:null,uv1:null})}}function p0e(n,e,t){const i=e.projectionMatrix,s=n.material.resolution,a=n.matrixWorld,o=n.geometry,l=o.attributes.instanceStart,u=o.attributes.instanceEnd,d=Math.min(o.instanceCount,l.count),q=-e.near;r2.at(1,X0),X0.w=1,X0.applyMatrix4(e.matrixWorldInverse),X0.applyMatrix4(i),X0.multiplyScalar(1/X0.w),X0.x*=s.x/2,X0.y*=s.y/2,X0.z=0,HA.copy(X0),KA.multiplyMatrices(e.matrixWorldInverse,a);for(let _=0,g=d;_<g;_++){if(Si.fromBufferAttribute(l,_),yi.fromBufferAttribute(u,_),Si.w=1,yi.w=1,Si.applyMatrix4(KA),yi.applyMatrix4(KA),Si.z>q&&yi.z>q)continue;if(Si.z>q){const O=Si.z-yi.z,b=(Si.z-q)/O;Si.lerp(yi,b)}else if(yi.z>q){const O=yi.z-Si.z,b=(yi.z-q)/O;yi.lerp(Si,b)}Si.applyMatrix4(i),yi.applyMatrix4(i),Si.multiplyScalar(1/Si.w),yi.multiplyScalar(1/yi.w),Si.x*=s.x/2,Si.y*=s.y/2,yi.x*=s.x/2,yi.y*=s.y/2,Ni.start.copy(Si),Ni.start.z=0,Ni.end.copy(yi),Ni.end.z=0;const N=Ni.closestPointToPointParameter(HA,!0);Ni.at(N,lx);const y=r4.lerp(Si.z,yi.z,N),S=y>=-1&&y<=1,R=HA.distanceTo(lx)<sa*.5;if(S&&R){Ni.start.fromBufferAttribute(l,_),Ni.end.fromBufferAttribute(u,_),Ni.start.applyM
4612atrix4(a),Ni.end.applyMatrix4(a);const O=new Z,b=new Z;r2.distanceSqToSegment(Ni.start,Ni.end,b,O),t.push({point:b,pointOnLine:O,distance:r2.origin.distanceTo(b),object:n,face:null,faceIndex:_,uv:null,uv1:null})}}}class _0e extends F1{constructor(e=new Kb,t=new Wp({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let a=0,o=0,l=t.count;a<l;a++,o+=2)ax.fromBufferAttribute(t,a),ox.fromBufferAttribute(i,a),r[o]=o===0?0:r[o-1],r[o+1]=r[o]+ax.distanceTo(ox);const s=new L7(r,2,1);return e.setAttribute("instanceDistanceStart",new a2(s,1,0)),e.setAttribute("instanceDistanceEnd",new a2(s,1,1)),this}raycast(e,t){const i=this.material.worldUnits,r=e.camera;r===null&&!i&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const s=e.params.Line2!==void 0&&e.params.Line2.threshold||0;r2=e.ray;const a=this.matrixWorld,o=this.geometry,l=this.material;sa=l.linewidth+s,o.boundingSphere===null&&o.computeBoundingSphere(),Hl.copy(o.boundingSphere).applyMatrix4(a);let u;if(i)u=sa*.5;else{const q=Math.max(r.near,Hl.distanceToPoint(r2.origin));u=ux(r,q,l.resolution)}if(Hl.radius+=u,r2.intersectsSphere(Hl)===!1)return;o.boundingBox===null&&o.computeBoundingBox(),Wl.copy(o.boundingBox).applyMatrix4(a);let d;if(i)d=sa*.5;else{const q=Math.max(r.near,Wl.distanceToPoint(r2.origin));d=ux(r,q,l.resolution)}Wl.expandByScalar(d),r2.intersectsBox(Wl)!==!1&&(i?q0e(this,t):p0e(this,r,t))}onBeforeRender(e){const t=this.material.uniforms;t&&t.resolution&&(e.getViewport(WA),this.material.uniforms.resolution.value.set(WA.z,WA.w))}}class Yb extends Kb{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setPositions(i),this}setColors(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setColors(i),this}setFromPoints(e){const t=e.length-1,i=new Float32Array(6*t);for(let r=0;r<t;r++)i[6*r]=e[r].x,i[6*r+1]=e[r].y,i[6*r+2]=e[r].z||0,i[6*r+3]=e[r+1].x,i[6*r+4]=e[r+1].y,i[6*r+5]=e[r+1].z||0;return super.setPositions(i),this}fromLine(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}}class m0e extends _0e{constructor(e=new Yb,t=new Wp({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type="Line2"}}class cx extends eq{constructor(e,t={}){const i=t.font;if(i===void 0)super();else{const r=i.generateShapes(e,t.size);t.depth===void 0&&(t.depth=50),t.bevelThickness===void 0&&(t.bevelThickness=10),t.bevelSize===void 0&&(t.bevelSize=8),t.bevelEnabled===void 0&&(t.bevelEnabled=!1),super(r,t)}this.type="TextGeometry"}}class g0e{constructor(e){this.isFont=!0,this.type="Font",this.data=e}generateShapes(e,t=100){const i=[],r=E0e(e,t,this.data);for(let s=0,a=r.length;s<a;s++)i.push(...r[s].toShapes());return i}}function E0e(n,e,t){const i=Array.from(n),r=e/t.resolution,s=(t.boundingBox.yMax-t.boundingBox.yMin+t.underlineThickness)*r,a=[];let o=0,l=0;for(let u=0;u<i.length;u++){const d=i[u];if(d===` 4613`)o=0,l-=s;else{const q=M0e(d,r,o,l,t);o+=q.offsetX,a.push(q.path)}}return a}function M0e(n,e,t,i,r){const s=r.glyphs[n]||r.glyphs["?"];if(!s){console.error('THREE.Font: character "'+n+'" does not exists in font family '+r.familyName+".");return}const a=new gU;let o,l,u,d,q,_,g,M;if(s.o){const N=s._cachedOutline||(s._cachedOutline=s.o.split(" "));for(let y=0,S=N.length;y<S;)switch(N[y++]){case"m":o=N[y++]*e+t,l=N[y++]*e+i,a.moveTo(o,l);break;case"l":o=N[y++]*e+t,l=N[y++]*e+i,a.lineTo(o,l);break;case"q":u=N[y++]*e+t,d=N[y++]*e+i,q=N[y++]*e+t,_=N[y++]*e+i,a.quadraticCurveTo(q,_,u,d);break;case"b":u=N[y++]*e+t,d=N[y++]*e+i,q=N[y++]*e+t,_=N[y++]*e+i,g=N[y++]*e+t,M=N[y++]*e+i,a.bezierCurveTo(q,_,g,M,u,d);break}}return{offsetX:s.ha*e,path:a}}function Uf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function x0e(n){if(Array.isArray(n))return n}function S0e(n){if(Array.isArray(n))return Uf(n)}function $b(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function y0e(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function Ax(n,e,t,i,r,s,a){try{var o=n[s](a),l=o.value}catch(u){return void t(u)}o.done?e(l):Promise.resolve(l).then(i,r)}function N0e(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function a(l){Ax(s,i,r,a,o,"next",l)}
4613function o(l){Ax(s,i,r,a,o,"throw",l)}a(void 0)})}}function Ru(n,e,t){return e=m4(e),D0e(n,Kp()?Reflect.construct(e,t||[],m4(n).constructor):e.apply(n,t))}function v0e(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function bu(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function x6(n,e){return n.get($b(n,e))}function YA(n,e,t){v0e(n,e),e.set(n,t)}function $A(n,e,t){return n.set($b(n,e),t),t}function Hp(n,e,t){if(Kp())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var r=new(n.bind.apply(n,i));return r}function O0e(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,jb(i.key),i)}}function Iu(n,e,t){return e&&O0e(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function Ei(n,e,t){return(e=jb(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ff(){return Ff=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(n,e,t){var i=C0e(n,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(arguments.length<3?n:t):r.value}},Ff.apply(null,arguments)}function m4(n){return m4=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},m4(n)}function Pu(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Vf(n,e)}function Kp(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Kp=function(){return!!n})()}function T0e(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function R0e(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function b0e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 4614In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function I0e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 4615In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hx(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function $1(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hx(Object(t),!0).forEach(function(i){Ei(n,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hx(Object(t)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(t,i))})}return n}function P0e(n,e){if(n==null)return{};var t,i,r=L0e(n,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)t=s[i],e.indexOf(t)===-1&&{}.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}function L0e(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}function D0e(n,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return y0e(n)}function Gf(){Gf=function(){return e};var n,e={},t=Object.prototype,i=t.hasOwnProperty,r=typeof Symbol=="function"?Symbol:{},s=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",o=r.toStringTag||"@@toStringTag";function l(P,w,z,H){return Object.defineProperty(P,w,{value:z,enumerable:!H,configurable:!H,writable:!H})}try{l({},"")}catch{l=function(w,z,H){return w[z]=H}}function u(P,w,z,H){var j=w&&w.prototype instanceof _?w:_,Y=Object.create(j.prototype);return l(Y,"_invoke",function(Q,oe,ae){var fe=1;return function(xe,Te){if(fe===3)throw Error("Generator is already running");if(fe===4){if(xe==="throw")throw Te;return{value:n,done:!0}}for(ae.method=xe,ae.arg=Te;;){var He=ae.delegate;if(He){var Je=D(He,ae);if(Je){if(Je===q)continue;return Je}}if(ae.method==="next")ae.sent=ae._sent=ae.arg;else if(ae.method==="throw"){if(fe===1)throw fe=4,ae.arg;ae.dispatchException(ae.arg)}else ae.method==="return"&&ae.abrupt("return",ae.arg);fe=3;var Se=d(Q,oe,ae);if(Se.type==="normal"){if(fe=ae.done?4:2,Se.arg===q)continue;return{value:Se.arg,done:ae.done}}Se.type==="throw"&&(fe=4,ae.method="throw",ae.arg=Se.arg)}}}(P,z,new G(H||[])),!0),Y}function d(P,w,z){try{return{type:"normal",arg:P.call(w,z)}}catch(H){return{type:"throw",arg:H}}}e.wrap=u;var q={};function _(){}function g(){}function M(){}var N={};l(N,s,function(){return this});var y=Object.getPrototypeOf,S=y&&y(y(L([])));S&&S!==t&&i.call(S,s)&&(N=S);var R=M.prototype=_.prototype=Object.create(N);function O(P){["next","throw","return"].forEach(function(w){l(P,w,function(z){return this._invoke(w,z)})})}function b(P,w){function z(j,Y,Q,oe){var ae=d(P[j],P,Y);if(ae.type!=="throw"){var fe=ae.arg,xe=fe.value;return xe&&typeof xe=="object"&&i.call(xe,"__await")?w.resolve(xe.__await).then(function(Te){z("next",Te,Q,oe)},function(Te){z("throw",Te,Q,oe)}):w.resolve(xe).then(function(Te){fe.value=Te,Q(fe)},function(Te){return z("throw",Te,Q,oe)})}oe(ae.arg)}var H;l(this,"_invoke",function(j,Y){function Q(){return new w(function(oe,ae){z(j,Y,oe,ae)})}return H=H?H.then(Q,Q):Q()},!0)}function D(P,w){var z=w.method,H=P.i[z];
4615if(H===n)return w.delegate=null,z==="throw"&&P.i.return&&(w.method="return",w.arg=n,D(P,w),w.method==="throw")||z!=="return"&&(w.method="throw",w.arg=new TypeError("The iterator does not provide a '"+z+"' method")),q;var j=d(H,P.i,w.arg);if(j.type==="throw")return w.method="throw",w.arg=j.arg,w.delegate=null,q;var Y=j.arg;return Y?Y.done?(w[P.r]=Y.value,w.next=P.n,w.method!=="return"&&(w.method="next",w.arg=n),w.delegate=null,q):Y:(w.method="throw",w.arg=new TypeError("iterator result is not an object"),w.delegate=null,q)}function B(P){this.tryEntries.push(P)}function C(P){var w=P[4]||{};w.type="normal",w.arg=n,P[4]=w}function G(P){this.tryEntries=[[-1]],P.forEach(B,this),this.reset(!0)}function L(P){if(P!=null){var w=P[s];if(w)return w.call(P);if(typeof P.next=="function")return P;if(!isNaN(P.length)){var z=-1,H=function j(){for(;++z<P.length;)if(i.call(P,z))return j.value=P[z],j.done=!1,j;return j.value=n,j.done=!0,j};return H.next=H}}throw new TypeError(typeof P+" is not iterable")}return g.prototype=M,l(R,"constructor",M),l(M,"constructor",g),g.displayName=l(M,o,"GeneratorFunction"),e.isGeneratorFunction=function(P){var w=typeof P=="function"&&P.constructor;return!!w&&(w===g||(w.displayName||w.name)==="GeneratorFunction")},e.mark=function(P){return Object.setPrototypeOf?Object.setPrototypeOf(P,M):(P.__proto__=M,l(P,o,"GeneratorFunction")),P.prototype=Object.create(R),P},e.awrap=function(P){return{__await:P}},O(b.prototype),l(b.prototype,a,function(){return this}),e.AsyncIterator=b,e.async=function(P,w,z,H,j){j===void 0&&(j=Promise);var Y=new b(u(P,w,z,H),j);return e.isGeneratorFunction(w)?Y:Y.next().then(function(Q){return Q.done?Q.value:Y.next()})},O(R),l(R,o,"Generator"),l(R,s,function(){return this}),l(R,"toString",function(){return"[object Generator]"}),e.keys=function(P){var w=Object(P),z=[];for(var H in w)z.unshift(H);return function j(){for(;z.length;)if((H=z.pop())in w)return j.value=H,j.done=!1,j;return j.done=!0,j}},e.values=L,G.prototype={constructor:G,reset:function(P){if(this.prev=this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(C),!P)for(var w in this)w.charAt(0)==="t"&&i.call(this,w)&&!isNaN(+w.slice(1))&&(this[w]=n)},stop:function(){this.done=!0;var P=this.tryEntries[0][4];if(P.type==="throw")throw P.arg;return this.rval},dispatchException:function(P){if(this.done)throw P;var w=this;function z(fe){Y.type="throw",Y.arg=P,w.next=fe}for(var H=w.tryEntries.length-1;H>=0;--H){var j=this.tryEntries[H],Y=j[4],Q=this.prev,oe=j[1],ae=j[2];if(j[0]===-1)return z("end"),!1;if(!oe&&!ae)throw Error("try statement without catch or finally");if(j[0]!=null&&j[0]<=Q){if(Q<oe)return this.method="next",this.arg=n,z(oe),!0;if(Q<ae)return z(ae),!1}}},abrupt:function(P,w){for(var z=this.tryEntries.length-1;z>=0;--z){var H=this.tryEntries[z];if(H[0]>-1&&H[0]<=this.prev&&this.prev<H[2]){var j=H;break}}j&&(P==="break"||P==="continue")&&j[0]<=w&&w<=j[2]&&(j=null);var Y=j?j[4]:{};return Y.type=P,Y.arg=w,j?(this.method="next",this.next=j[2],q):this.complete(Y)},complete:function(P,w){if(P.type==="throw")throw P.arg;return P.type==="break"||P.type==="continue"?this.next=P.arg:P.type==="return"?(this.rval=this.arg=P.arg,this.method="return",this.next="end"):P.type==="normal"&&w&&(this.next=w),q},finish:function(P){for(var w=this.tryEntries.length-1;w>=0;--w){var z=this.tryEntries[w];if(z[2]===P)return this.complete(z[4],z[3]),C(z),q}},catch:function(P){for(var w=this.tryEntries.length-1;w>=0;--w){var z=this.tryEntries[w];if(z[0]===P){var H=z[4];if(H.type==="throw"){var j=H.arg;C(z)}return j}}throw Error("illegal catch attempt")},delegateYield:function(P,w,z){return this.delegate={i:L(P),r:w,n:z},this.method==="next"&&(this.arg=n),q}},e}function Vf(n,e){return Vf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},Vf(n,e)}function mn(n,e){return x0e(n)||R0e(n,e)||Xb(n,e)||b0e()}function C0e(n,e){for(;!{}.hasOwnProperty.call(n,e)&&(n=m4(n))!==null;);return n}function jA(n,e,t,i){var r=Ff(m4(n.prototype),e,t);return typeof r=="function"?function(s){return r.apply(t,s)}:r}function J1(n){return S0e(n)||T0e(n)||Xb(n)||I0e()}function w0e(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function jb(n){var e=w0e(n,"string");return typeof e=="symbol"?e:e+""}function Xb(n,e){if(n){if(typeof n=="string")return Uf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Uf(n,e):void 0}}var Zb=function(e){e instanceof Array?e.forEach(Zb):(e.map&&e.map.dispose(),e.dispose())},Yp=function(e){e.geometry&&e.geometry.dispose(),e.material&&Zb(e.material),e.texture&&e.texture.dispose(),e.children&&e.children.forEac
4615h(Yp)},an=function(e){if(e&&e.children)for(;e.children.length;){var t=e.children[0];e.remove(t),Yp(t)}};function lr(n,e){var t=new e;return{linkProp:function(r){return{default:t[r](),onChange:function(a,o){o[n][r](a)},triggerUpdate:!1}},linkMethod:function(r){return function(s){for(var a=s[n],o=arguments.length,l=new Array(o>1?o-1:0),u=1;u<o;u++)l[u-1]=arguments[u];var d=a[r].apply(a,l);return d===a?this:d}}}}var fn=100;function fx(){return fn}function p0(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=(90-n)*Math.PI/180,r=(90-e)*Math.PI/180,s=fn*(1+t),a=Math.sin(i);return{x:s*a*Math.cos(r),y:s*Math.cos(i),z:s*a*Math.sin(r)}}function Qb(n){var e=n.x,t=n.y,i=n.z,r=Math.sqrt(e*e+t*t+i*i),s=Math.acos(t/r),a=Math.atan2(i,e);return{lat:90-s*180/Math.PI,lng:90-a*180/Math.PI-(a<-Math.PI/2?360:0),altitude:r/fn-1}}function Bs(n){return n*Math.PI/180}var k8=window.THREE?window.THREE:{BackSide:Q1,BufferAttribute:vn,Color:Nt,Mesh:F1,ShaderMaterial:yr},B0e=` 4616uniform float hollowRadius; 4617 4618varying vec3 vVertexWorldPosition; 4619varying vec3 vVertexNormal; 4620varying float vCameraDistanceToObjCenter; 4621varying float vVertexAngularDistanceToHollowRadius; 4622 4623void main() { 4624 vVertexNormal = normalize(normalMatrix * normal); 4625 vVertexWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz; 4626 4627 vec4 objCenterViewPosition = modelViewMatrix * vec4(0.0, 0.0, 0.0, 1.0); 4628 vCameraDistanceToObjCenter = length(objCenterViewPosition); 4629 4630 float edgeAngle = atan(hollowRadius / vCameraDistanceToObjCenter); 4631 float vertexAngle = acos(dot(normalize(modelViewMatrix * vec4(position, 1.0)), normalize(objCenterViewPosition))); 4632 vVertexAngularDistanceToHollowRadius = vertexAngle - edgeAngle; 4633 4634 gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); 4635}`,U0e=` 4636uniform vec3 color; 4637uniform float coefficient; 4638uniform float power; 4639uniform float hollowRadius; 4640 4641varying vec3 vVertexNormal; 4642varying vec3 vVertexWorldPosition; 4643varying float vCameraDistanceToObjCenter; 4644varying float vVertexAngularDistanceToHollowRadius; 4645 4646void main() { 4647 if (vCameraDistanceToObjCenter < hollowRadius) discard; // inside the hollowRadius 4648 if (vVertexAngularDistanceToHollowRadius < 0.0) discard; // frag position is within the hollow radius 4649 4650 vec3 worldCameraToVertex = vVertexWorldPosition - cameraPosition; 4651 vec3 viewCameraToVertex = (viewMatrix * vec4(worldCameraToVertex, 0.0)).xyz; 4652 viewCameraToVertex = normalize(viewCameraToVertex); 4653 float intensity = pow( 4654 coefficient + dot(vVertexNormal, viewCameraToVertex), 4655 power 4656 ); 4657 gl_FragColor = vec4(color, intensity); 4658}`;function F0e(n,e,t,i){return new k8.ShaderMaterial({depthWrite:!1,transparent:!0,vertexShader:B0e,fragmentShader:U0e,uniforms:{coefficient:{value:n},color:{value:new k8.Color(e)},power:{value:t},hollowRadius:{value:i}}})}function G0e(n,e){for(var t=n.clone(),i=new Float32Array(n.attributes.position.count*3),r=0,s=i.length;r<s;r++){var a=n.attributes.normal.array[r],o=n.attributes.position.array[r];i[r]=o+a*e}return t.setAttribute("position",new k8.BufferAttribute(i,3)),t}var V0e=function(n){function e(t){var i,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.color,a=s===void 0?"gold":s,o=r.size,l=o===void 0?2:o,u=r.coefficient,d=u===void 0?.5:u,q=r.power,_=q===void 0?1:q,g=r.hollowRadius,M=g===void 0?0:g,N=r.backside,y=N===void 0?!0:N;bu(this,e),i=Ru(this,e);var S=G0e(t,l),R=F0e(d,a,_,M);return y&&(R.side=k8.BackSide),i.geometry=S,i.material=R,i}return Pu(e,n),Iu(e)}(k8.Mesh),Q0=window.THREE?window.THREE:{Color:Nt,Group:pr,LineBasicMaterial:I4,LineSegments:qy,Mesh:F1,MeshPhongMaterial:Ty,SphereGeometry:T2,SRGBColorSpace:vi,TextureLoader:iq},Jb=hi({props:{globeImageUrl:{},bumpImageUrl:{},showGlobe:{default:!0,onChange:function(e,t){t.globeGroup.visible=!!e},triggerUpdate:!1},showGraticules:{default:!1,onChange:function(e,t){t.graticulesObj.visible=!!e},triggerUpdate:!1},showAtmosphere:{default:!0,onChange:function(e,t){t.atmosphereObj&&(t.atmosphereObj.visible=!!e)},triggerUpdate:!1},atmosphereColor:{default:"lightskyblue"},atmosphereAltitude:{default:.15},globeTileEngineUrl:{onChange:function(e,t){t.tileEngine.tileUrl=e}},globeTileEngineMaxLevel:{default:17,onChange:function(e,t){t.tileEngine.maxLevel=e},triggerUpdate:!1},updatePov:{onChange:function(e,t){t.tileEngine.updatePov(e)},triggerUpdate:!1},onReady:{default:function(){},triggerUpdate:!1}},methods:{globeMaterial:function(e,t){return t!==void 0?(e.globeObj.material=t||e.defaultGlobeMaterial,this):e.globeObj.material},_destructor:function(e){an(e.globeObj),an(e.tileEngine),an(e.graticulesObj)}},stateInit:function(){var e=new Q0.SphereGeometry(fn,75,75),t=new Q0.MeshPhongMaterial({color:0}),i=new Q0.Mesh(e,t);i.rotation.y=-Math.PI/2;var r=new SK(fn),s=new Q0.Group;
4658s.__globeObjType="globe",s.add(i),s.add(r);var a=new Q0.LineSegments(new wN(VH(),fn,2),new Q0.LineBasicMaterial({color:"lightgrey",transparent:!0,opacity:.1}));return{globeGroup:s,globeObj:i,graticulesObj:a,defaultGlobeMaterial:t,tileEngine:r}},init:function(e,t){an(e),t.scene=e,t.scene.add(t.globeGroup),t.scene.add(t.graticulesObj),t.ready=!1},update:function(e,t){var i=e.globeObj.material;if(e.tileEngine.visible=!(e.globeObj.visible=!e.globeTileEngineUrl),t.hasOwnProperty("globeImageUrl")&&(e.globeImageUrl?new Q0.TextureLoader().load(e.globeImageUrl,function(s){s.colorSpace=Q0.SRGBColorSpace,i.map=s,i.color=null,i.needsUpdate=!0,!e.ready&&(e.ready=!0)&&setTimeout(e.onReady)}):!i.color&&(i.color=new Q0.Color(0))),t.hasOwnProperty("bumpImageUrl")&&(e.bumpImageUrl?e.bumpImageUrl&&new Q0.TextureLoader().load(e.bumpImageUrl,function(s){i.bumpMap=s,i.needsUpdate=!0}):(i.bumpMap=null,i.needsUpdate=!0)),(t.hasOwnProperty("atmosphereColor")||t.hasOwnProperty("atmosphereAltitude"))&&(e.atmosphereObj&&(e.scene.remove(e.atmosphereObj),an(e.atmosphereObj)),e.atmosphereColor&&e.atmosphereAltitude)){var r=e.atmosphereObj=new V0e(e.globeObj.geometry,{color:e.atmosphereColor,size:fn*e.atmosphereAltitude,hollowRadius:fn,coefficient:.1,power:3.5});r.visible=!!e.showAtmosphere,r.__globeObjType="atmosphere",e.scene.add(r)}!e.ready&&(!e.globeImageUrl||e.globeTileEngineUrl)&&(e.ready=!0,e.onReady())}}),N2=function(e){return isNaN(e)?parseInt(Bt(e).toHex(),16):e},C0=function(e){return e&&isNaN(e)?ha(e).opacity:1},X3=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r,s=1,a=/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.eE+-]+)\s*\)$/.exec(e.trim().toLowerCase());if(a){var o=a.slice(1),l=mn(o,4),u=l[0],d=l[1],q=l[2],_=l[3];r=new Nt("rgb(".concat(+u,",").concat(+d,",").concat(+q,")")),s=Math.min(+_,1)}else r=new Nt(e);i&&r.convertLinearToSRGB();var g=r.toArray();return t?[].concat(J1(g),[s]):g};function k0e(n,e,t){return n.opacity=e,n.transparent=e<1,n.depthWrite=e>=1,n}var dx=window.THREE?window.THREE:{BufferAttribute:vn};function v2(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Float32Array;if(e===1)return new dx.BufferAttribute(new t(n),e);for(var i=new dx.BufferAttribute(new t(n.length*e),e),r=0,s=n.length;r<s;r++)i.set(n[r],r*e);return i}function z0e(n){for(var e=n.itemSize,t=[],i=0;i<n.count;i++)t.push(n.array.slice(i*e,(i+1)*e));return t}var XA=new WeakMap,Kl=new WeakMap,Yl=new WeakMap,br=function(n){function e(t){var i,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.dataBindAttr,a=s===void 0?"__data":s,o=r.objBindAttr,l=o===void 0?"__threeObj":o,u=r.removeDelay,d=u===void 0?0:u;return bu(this,e),i=Ru(this,e),Ei(i,"scene",void 0),YA(i,XA,void 0),YA(i,Kl,void 0),YA(i,Yl,void 0),i.scene=t,$A(XA,i,a),$A(Kl,i,l),$A(Yl,i,d),i.onRemoveObj(function(){}),i}return Pu(e,n),Iu(e,[{key:"onCreateObj",value:function(i){var r=this;return jA(e,"onCreateObj",this)([function(s){var a=i(s);return s[x6(Kl,r)]=a,a[x6(XA,r)]=s,r.scene.add(a),a}]),this}},{key:"onRemoveObj",value:function(i){var r=this;return jA(e,"onRemoveObj",this)([function(s,a){var o=jA(e,"getData",r)([s]);i(s,a);var l=function(){r.scene.remove(s),an(s),delete o[x6(Kl,r)]};x6(Yl,r)?setTimeout(l,x6(Yl,r)):l()}]),this}}])}(QY),x0=window.THREE?window.THREE:{BufferGeometry:en,CylinderGeometry:j9,Matrix4:Yt,Mesh:F1,MeshLambertMaterial:u3,Object3D:En,Vector3:Z},qx=Object.assign({},Eq),px=qx.BufferGeometryUtils||qx,eI=hi({props:{pointsData:{default:[]},pointLat:{default:"lat"},pointLng:{default:"lng"},pointColor:{default:function(){return"#ffffaa"}},pointAltitude:{default:.1},pointRadius:{default:.25},pointResolution:{default:12,triggerUpdate:!1},pointsMerge:{default:!1},pointsTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjPoint"})},update:function(e,t){var i=We(e.pointLat),r=We(e.pointLng),s=We(e.pointAltitude),a=We(e.pointRadius),o=We(e.pointColor),l=new x0.CylinderGeometry(1,1,1,e.pointResolution);l.applyMatrix4(new x0.Matrix4().makeRotationX(Math.PI/2)),l.applyMatrix4(new x0.Matrix4().makeTranslation(0,0,-.5));var u=2*Math.PI*fn/360,d={};if(!e.pointsMerge&&t.hasOwnProperty("pointsMerge")&&an(e.scene),e.dataMapper.scene=e.pointsMerge?new x0.Object3D:e.scene,e.dataMapper.onCreateObj(g).onUpdateObj(M).digest(e.pointsData),e.pointsMerge){var q=e.pointsData.length?(px.mergeGeometries||px.mergeBufferGeometries)(e.pointsData.map(function(N){var y=e.dataMapper.getObj(N),S=y.geometry.clone();
vendor: 4,691 bytes, lines 4658-4739
4658y.updateMatrix(),S.applyMatrix4(y.matrix);var R=X3(o(N));return S.setAttribute("color",v2(Array(S.getAttribute("position").count).fill(R),4)),S})):new x0.BufferGeometry,_=new x0.Mesh(q,new x0.MeshLambertMaterial({color:16777215,transparent:!0,vertexColors:!0}));_.__globeObjType="points",_.__data=e.pointsData,e.dataMapper.clear(),an(e.scene),e.scene.add(_)}function g(){var N=new x0.Mesh(l);return N.__globeObjType="point",N}function M(N,y){var S=function(G){var L=N.__currentTargetD=G,P=L.r,w=L.alt,z=L.lat,H=L.lng;Object.assign(N.position,p0(z,H));var j=e.pointsMerge?new x0.Vector3(0,0,0):e.scene.localToWorld(new x0.Vector3(0,0,0));N.lookAt(j),N.scale.x=N.scale.y=Math.min(30,P)*u,N.scale.z=Math.max(w*fn,.1)},R={alt:+s(y),r:+a(y),lat:+i(y),lng:+r(y)},O=N.__currentTargetD||Object.assign({},R,{alt:-.001});if(Object.keys(R).some(function(C){return O[C]!==R[C]})&&(e.pointsMerge||!e.pointsTransitionDuration||e.pointsTransitionDuration<0?S(R):e.tweenGroup.add(new Hi(O).to(R,e.pointsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(S).start())),!e.pointsMerge){var b=o(y),D=b?C0(b):0,B=!!D;N.visible=B,B&&(d.hasOwnProperty(b)||(d[b]=new x0.MeshLambertMaterial({color:N2(b),transparent:D<1,opacity:D})),N.material=d[b])}}}}),tI=function(){return{uniforms:{dashOffset:{value:0},dashSize:{value:1},gapSize:{value:0},dashTranslate:{value:0}},vertexShader:` 4659 `.concat(q1.common,` 4660 `).concat(q1.logdepthbuf_pars_vertex,` 4661 4662 uniform float dashTranslate; 4663 4664 attribute vec4 color; 4665 varying vec4 vColor; 4666 4667 attribute float relDistance; 4668 varying float vRelDistance; 4669 4670 void main() { 4671 // pass through colors and distances 4672 vColor = color; 4673 vRelDistance = relDistance + dashTranslate; 4674 gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); 4675 4676 `).concat(q1.logdepthbuf_vertex,` 4677 } 4678 `),fragmentShader:` 4679 `.concat(q1.logdepthbuf_pars_fragment,` 4680 4681 uniform float dashOffset; 4682 uniform float dashSize; 4683 uniform float gapSize; 4684 4685 varying vec4 vColor; 4686 varying float vRelDistance; 4687 4688 void main() { 4689 // ignore pixels in the gap 4690 if (vRelDistance < dashOffset) discard; 4691 if (mod(vRelDistance - dashOffset, dashSize + gapSize) > dashSize) discard; 4692 4693 // set px color: [r, g, b, a], interpolated between vertices 4694 gl_FragColor = vColor; 4695 4696 `).concat(q1.logdepthbuf_fragment,` 4697 } 4698 `)}},kf=function(e){return e.uniforms.surfaceRadius={type:"float",value:0},e.vertexShader=(`attribute float surfaceRadius; 4699varying float vSurfaceRadius; 4700varying vec3 vPos; 4701`+e.vertexShader).replace("void main() {",["void main() {","vSurfaceRadius = surfaceRadius;","vPos = position;"].join(` 4702`)),e.fragmentShader=(`uniform float surfaceRadius; 4703varying float vSurfaceRadius; 4704varying vec3 vPos; 4705`+e.fragmentShader).replace("void main() {",["void main() {","if (length(vPos) < max(surfaceRadius, vSurfaceRadius)) discard;"].join(` 4706`)),e},W0e=function(e){return e.vertexShader=` 4707 attribute float r; 4708 4709 const float PI = 3.1415926535897932384626433832795; 4710 float toRad(in float a) { 4711 return a * PI / 180.0; 4712 } 4713 4714 vec3 Polar2Cartesian(in vec3 c) { // [lat, lng, r] 4715 float phi = toRad(90.0 - c.x); 4716 float theta = toRad(90.0 - c.y); 4717 float r = c.z; 4718 return vec3( // x,y,z 4719 r * sin(phi) * cos(theta), 4720 r * cos(phi), 4721 r * sin(phi) * sin(theta) 4722 ); 4723 } 4724 4725 vec2 Cartesian2Polar(in vec3 p) { 4726 float r = sqrt(p.x * p.x + p.y * p.y + p.z * p.z); 4727 float phi = acos(p.y / r); 4728 float theta = atan(p.z, p.x); 4729 return vec2( // lat,lng 4730 90.0 - phi * 180.0 / PI, 4731 90.0 - theta * 180.0 / PI - (theta < -PI / 2.0 ? 360.0 : 0.0) 4732 ); 4733 } 4734 `.concat(e.vertexShader.replace("}",` 4735 vec3 pos = Polar2Cartesian(vec3(Cartesian2Polar(position), r)); 4736 gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0); 4737 } 4738 `),` 4739 `),e},$p=function(e,t){return e.onBeforeCompile=function(i){e.userData.shader=t(i)},e},H0e=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(r){return r};if(e.userData.shader)t(e.userData.shader.uniforms);else{var i=e.onBeforeCompile;e.onBeforeCompile=function(r){i(r),t(r.uniforms)}}},K0e=["stroke"],S0=window.THREE?window.THREE:{BufferGeometry:en,CubicBezierCurve3:my,Curve:V0,Group:pr,Line:Y9,Mesh:F1,NormalBlending:or,ShaderMaterial:yr,TubeGeometry:tq,Vector3:Z},Y0e=h4.default||h4,nI=hi({props:{arcsData:{default:[]},arcStartLat:{default:"startLat"},arcStartLng:{default:"startLng"},arcEndLat:{default:"endLat"},arcEndLng:{default:"endLng"},arcColor:{default:function(){return"#ffffaa"}}
4739,arcAltitude:{},arcAltitudeAutoScale:{default:.5},arcStroke:{},arcCurveResolution:{default:64,triggerUpdate:!1},arcCircularResolution:{default:6,triggerUpdate:!1},arcDashLength:{default:1},arcDashGap:{default:0},arcDashInitialGap:{default:0},arcDashAnimateTime:{default:0},arcsTransitionDuration:{default:1e3,triggerUpdate:!1}},methods:{pauseAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.pause()},resumeAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.resume()},_destructor:function(e){var t;e.sharedMaterial.dispose(),(t=e.ticker)===null||t===void 0||t.dispose()}},stateInit:function(e){var t=e.tweenGroup;return{tweenGroup:t,ticker:new Y0e,sharedMaterial:new S0.ShaderMaterial($1($1({},tI()),{},{transparent:!0,blending:S0.NormalBlending}))}},init:function(e,t){an(e),t.scene=e,t.dataMapper=new br(e,{objBindAttr:"__threeObjArc"}).onCreateObj(function(){var i=new S0.Group;return i.__globeObjType="arc",i}),t.ticker.onTick.add(function(i,r){t.dataMapper.entries().map(function(s){var a=mn(s,2),o=a[1];return o}
4739).filter(function(s){return s.children.length&&s.children[0].material&&s.children[0].__dashAnimateStep}).forEach(function(s){var a=s.children[0],o=a.__dashAnimateStep*r,l=a.material.uniforms.dashTranslate.value%1e9;a.material.uniforms.dashTranslate.value=l+o})})},update:function(e){var t=We(e.arcStartLat),i=We(e.arcStartLng),r=We(e.arcEndLat),s=We(e.arcEndLng),a=We(e.arcAltitude),o=We(e.arcAltitudeAutoScale),l=We(e.arcStroke),u=We(e.arcColor),d=We(e.arcDashLength),q=We(e.arcDashGap),_=We(e.arcDashInitialGap),g=We(e.arcDashAnimateTime);e.dataMapper.onUpdateObj(function(S,R){var O=l(R),b=O!=null;if(!S.children.length||b!==(S.children[0].type==="Mesh")){an(S);var D=b?new S0.Mesh:new S0.Line(new S0.BufferGeometry);D.material=e.sharedMaterial.clone(),S.add(D)}var B=S.children[0];Object.assign(B.material.uniforms,{dashSize:{value:d(R)},gapSize:{value:q(R)},dashOffset:{value:_(R)}});var C=g(R);B.__dashAnimateStep=C>0?1e3/C:0;var G=N(u(R),e.arcCurveResolution,b?e.arcCircularResolution+1:1),L=y(e.arcCurveResolution,b?e.arcCircularResolution+1:1,!0);B.geometry.setAttribute("color",G),B.geometry.setAttribute("relDistance",L);var P=function(j){var Y=S.__currentTargetD=j,Q=Y.stroke,oe=P0e(Y,K0e),ae=M(oe);b?(B.geometry&&B.geometry.dispose(),B.geometry=new S0.TubeGeometry(ae,e.arcCurveResolution,Q/2,e.arcCircularResolution),B.geometry.setAttribute("color",G),B.geometry.setAttribute("relDistance",L)):B.geometry.setFromPoints(ae.getPoints(e.arcCurveResolution))},w={stroke:O,alt:a(R),altAutoScale:+o(R),startLat:+t(R),startLng:+i(R),endLat:+r(R),endLng:+s(R)},z=S.__currentTargetD||Object.assign({},w,{altAutoScale:-.001});Object.keys(w).some(function(H){return z[H]!==w[H]})&&(!e.arcsTransitionDuration||e.arcsTransitionDuration<0?P(w):e.tweenGroup.add(new Hi(z).to(w,e.arcsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(P).start()))}).digest(e.arcsData);function M(S){var R=S.alt,O=S.altAutoScale,b=S.startLat,D=S.startLng,B=S.endLat,C=S.endLng,G=function(Te){var He=mn(Te,3),Je=He[0],Se=He[1],we=He[2],lt=p0(Se,Je,we),rt=lt.x,_t=lt.y,mt=lt.z;return new S0.Vector3(rt,_t,mt)},L=[D,b],P=[C,B],w=R;if(w==null&&(w=j3(L,P)/2*O),w){var z=qq(L,P),H=[.25,.75].map(function(xe){return[].concat(J1(z(xe)),[w*1.5])}),j=mn(H,2),Y=j[0],Q=j[1],oe=Hp(S0.CubicBezierCurve3,J1([L,Y,Q,P].map(G)));return oe}else{var ae=.001;return fe.apply(void 0,J1([[].concat(L,[ae]),[].concat(P,[ae])].map(G)))}function fe(xe,Te){var He=xe.angleTo(Te),Je=He===0?function(){return xe.clone()}:function(we){return new S0.Vector3().addVectors(xe.clone().multiplyScalar(Math.sin((1-we)*He)),Te.clone().multiplyScalar(Math.sin(we*He))).divideScalar(Math.sin(He))},Se=new S0.Curve;return Se.getPoint=Je,Se}}function N(S,R){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,b=R+1,D;if(S instanceof Array||S instanceof Function){var B=S instanceof Array?J2().domain(S.map(function(H,j){return j/(S.length-1)})).range(S):S;D=function(j){return X3(B(j),!0,!0)}}else{var C=X3(S,!0,!0);D=function(){return C}}for(var G=[],L=0,P=b;L<P;L++)for(var w=D(L/(P-1)),z=0;z<O;z++)G.push(w);return v2(G,4)}function y(S){for(var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,b=S+1,D=[],B=0,C=b;B<C;B++)for(var G=B/(C-1),L=0;L<R;L++)D.push(G);return O&&D.reverse(),v2(D,1)}}}),R3=window.THREE?window.THREE:{BufferGeometry:en,DoubleSide:Qn,Mesh:F1,MeshLambertMaterial:u3,Object3D:En},_x=Object.assign({},Eq),mx=_x.BufferGeometryUtils||_x,iI=hi({props:{hexBinPointsData:{default:[]},hexBinPointLat:{default:"lat"},hexBinPointLng:{default:"lng"},hexBinPointWeight:{default:1},hexBinResolution:{default:4},hexMargin:{default:.2},hexTopCurvatureResolution:{default:5},hexTopColor:{default:function(){return"#ffffaa"}},hexSideColor:{default:function(){return"#ffffaa"}},hexAltitude:{default:function(e){var t=e.sumWeight;return t*.01}},hexBinMerge:{default:!1},hexTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjHexbin"})},update:function(e,t){var i=We(e.hexBinPointLat),r=We(e.hexBinPointLng),s=We(e.hexBinPointWeight),a=We(e.hexAltitude),o=We(e.hexTopColor),l=We(e.hexSideColor),u=We(e.hexMargin),d=Ej(e.hexBinPointsData.map(function(R){return $1($1({},R),{}
4739,{h3Idx:tX(i(R),r(R),e.hexBinResolution)})}),"h3Idx"),q=Object.entries(d).map(function(R){var O=mn(R,2),b=O[0],D=O[1];return{h3Idx:b,points:D,sumWeight:D.reduce(function(B,C){return B+ +s(C)},0)}}),_={};if(!e.hexBinMerge&&t.hasOwnProperty("hexBinMerge")&&an(e.scene),e.dataMapper.scene=e.hexBinMerge?new R3.Object3D:e.scene,e.dataMapper.id(function(R){return R.h3Idx}).onCreateObj(y).onUpdateObj(S).digest(q),e.hexBinMerge){var g=q.length?(mx.mergeGeometries||mx.mergeBufferGeometries)(q.map(function(R){var O=e.dataMapper.getObj(R),b=O.geometry.toNonIndexed();O.updateMatrix(),b.applyMatrix4(O.matrix);var D=X3(o(R)),B=X3(l(R)),C=b.getAttribute("position").count,G=b.groups[0].count;return b.setAttribute("color",v2(J1(new Array(C)).map(function(L,P){return P>=G?D:B}),4)),b})):new R3.BufferGeometry,M=new R3.MeshLambertMaterial({color:16777215,transparent:!0,vertexColors:!0,side:R3.DoubleSide});M.onBeforeCompile=function(R){M.userData.shader=kf(R)};var N=new R3.Mesh(g,M);N.__globeObjType="hexBinPoints",N.__data=q,e.dataMapper.clear(),an(e.scene),e.scene.add(N)}function y(R){var O=new R3.Mesh;O.__hexCenter=nv(R.h3Idx),O.__hexGeoJson=iv(R.h3Idx,!0).reverse();var b=O.__hexCenter[1];return O.__hexGeoJson.forEach(function(D){var B=D[0];Math.abs(b-B)>170&&(D[0]+=b>B?360:-360)}),O.__globeObjType="hexbin",O}function S(R,O){var b=function(oe,ae,fe){return oe-(oe-ae)*fe},D=Math.max(0,Math.min(1,+u(O))),B=mn(R.__hexCenter,2),C=B[0],G=B[1],L=D===0?R.__hexGeoJson:R.__hexGeoJson.map(function(Q){var oe=mn(Q,2),ae=oe[0],fe=oe[1];return[[ae,G],[fe,C]].map(function(xe){var Te=mn(xe,2),He=Te[0],Je=Te[1];return b(He,Je,D)})}),P=e.hexTopCurvatureResolution;R.geometry&&R.geometry.dispose(),R.geometry=new Nq([L],0,fn,!1,!0,!0,P);var w={alt:+a(O)},z=function(oe){var ae=R.__currentTargetD=oe,fe=ae.alt;R.scale.x=R.scale.y=R.scale.z=1+fe;var xe=fn/(fe+1);R.geometry.setAttribute("surfaceRadius",v2(Array(R.geometry.getAttribute("position").count).fill(xe),1))},H=R.__currentTargetD||Object.assign({},w,{alt:-.001});if(Object.keys(w).some(function(Q){return H[Q]!==w[Q]})&&(e.hexBinMerge||!e.hexTransitionDuration||e.hexTransitionDuration<0?z(w):e.tweenGroup.add(new Hi(H).to(w,e.hexTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(z).start())),!e.hexBinMerge){var j=l(O),Y=o(O);[j,Y].forEach(function(Q){if(!_.hasOwnProperty(Q)){var oe=C0(Q);_[Q]=$p(new R3.MeshLambertMaterial({color:N2(Q),transparent:oe<1,opacity:oe,side:R3.DoubleSide}),kf)}}),R.material=[j,Y].map(function(Q){return _[Q]})}}}}),rI=function(e){return e*e},W2=function(e){return e*Math.PI/180};function $0e(n,e){var t=Math.sqrt,i=Math.cos,r=function(d){return rI(Math.sin(d/2))},s=W2(n[1]),a=W2(e[1]),o=W2(n[0]),l=W2(e[0]);return 2*Math.asin(t(r(a-s)+i(s)*i(a)*r(l-o)))}var j0e=Math.sqrt(2*Math.PI);function X0e(n,e){return Math.exp(-rI(n/e)/2)/(e*j0e)}var Z0e=function(e){var t=mn(e,2),i=t[0],r=t[1],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.lngAccessor,l=o===void 0?function(y){return y[0]}:o,u=a.latAccessor,d=u===void 0?function(y){return y[1]}:u,q=a.weightAccessor,_=q===void 0?function(){return 1}:q,g=a.bandwidth,M=[i,r],N=g*Math.PI/180;return _W(s.map(function(y){var S=_(y);if(!S)return 0;var R=$0e(M,[l(y),d(y)]);return X0e(R,N)*S}))},Q0e=function(){var n=N0e(Gf().mark(function e(t){var i,r,s,a,o,l,u,d,q,_,g,M,N,y,S,R,O,b,D,B,C,G,L,P,w,z,H,j,Y,Q,oe,ae,fe,xe,Te,He,Je,Se,we,lt,rt=arguments;return Gf().wrap(function(mt){for(;;)switch(mt.prev=mt.next){case 0:if(r=rt.length>1&&rt[1]!==void 0?rt[1]:[],s=rt.length>2&&rt[2]!==void 0?rt[2]:{},a=s.lngAccessor,o=a===void 0?function(ut){return ut[0]}:a,l=s.latAccessor,u=l===void 0?function(ut){return ut[1]}:l,d=s.weightAccessor,q=d===void 0?function(){return 1}:d,_=s.bandwidth,(i=navigator)!==null&&i!==void 0&&i.gpu){mt.next=5;break}return console.warn("WebGPU not enabled in browser. Please consider enabling it to improve performance."),mt.abrupt("return",t.map(function(ut){return Z0e(ut,r,{lngAccessor:o,latAccessor:u,weightAccessor:q,bandwidth:_})}));case 5:return g=4,M=n0e,N=i0e,y=d0e,S=f0e,R=l0e,O=u0e,b=r0e,D=h0e,B=A0e,C=a0e,G=s0e,L=o0e,P=c0e,w=S(new M7(new Float32Array(t.flat().map(W2)),2),"vec2",t.length),z=S(new M7(new Float32Array(r.map(function(ut){return[W2(o(ut)),W2(u(ut)),q(ut)]}).flat()),3),"vec3",r.length),H=new M7(t.length,1),j=S(H,"float",t.length),Y=R(Math.PI),Q=D(Y.mul(2)),oe=function($t){return $t.mul($t)},ae=function($t){return oe(B($t.div(2)))},fe=function($t,A1){var Wt=R($t[1]),J=R(A1[1]),st=R($t[0]),Ye=R(A1[0]);return R(2).mul(G(D(ae(J.sub(Wt)).add(C(Wt).mul(C(J)).mul(ae(Ye.sub(st)))))))},xe=function($t,A1){return L(P(oe($t.div(A1)).div(2))).div(A1.mul(Q))},Te=y(W2(_)),He=y(W2(_*g)),Je=y(r.length),Se=M(function(){var ut=w.element
4739(O),$t=j.element(O);$t.assign(0),b(Je,function(A1){var Wt=A1.i,J=z.element(Wt),st=J.z;N(st,function(){var Ye=fe(J.xy,ut.xy);N(Ye&&Ye.lessThan(He),function(){$t.addAssign(xe(Ye,Te).mul(st))})})})}),we=Se().compute(t.length),lt=new Hb,mt.next=25,lt.computeAsync(we);case 25:return mt.t0=Array,mt.t1=Float32Array,mt.next=29,lt.getArrayBufferAsync(H);case 29:return mt.t2=mt.sent,mt.t3=new mt.t1(mt.t2),mt.abrupt("return",mt.t0.from.call(mt.t0,mt.t3));case 32:case"end":return mt.stop()}},e)}));return function(t){return n.apply(this,arguments)}}(),$l=window.THREE?window.THREE:{Mesh:F1,MeshLambertMaterial:u3,SphereGeometry:T2},J0e=3.5,e2e=.1,gx=100,t2e=function(e){var t=ha(iX(e));return t.opacity=Math.cbrt(e),t.formatRgb()},sI=hi({props:{heatmapsData:{default:[]},heatmapPoints:{default:function(e){return e}},heatmapPointLat:{default:function(e){return e[0]}},heatmapPointLng:{default:function(e){return e[1]}},heatmapPointWeight:{default:1},heatmapBandwidth:{default:2.5},heatmapColorFn:{default:function(){return t2e}},heatmapColorSaturation:{default:1.5},heatmapBaseAltitude:{default:.01},heatmapTopAltitude:{},heatmapsTransitionDuration:{default:0,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjHeatmap"}).onCreateObj(function(){var s=new $l.Mesh(new $l.SphereGeometry(fn),$p(new $l.MeshLambertMaterial({vertexColors:!0,transparent:!0}),W0e));return s.__globeObjType="heatmap",s})},update:function(e){var t=We(e.heatmapPoints),i=We(e.heatmapPointLat),r=We(e.heatmapPointLng),s=We(e.heatmapPointWeight),a=We(e.heatmapBandwidth),o=We(e.heatmapColorFn),l=We(e.heatmapColorSaturation),u=We(e.heatmapBaseAltitude),d=We(e.heatmapTopAltitude);e.dataMapper.onUpdateObj(function(q,_){var g=a(_),M=o(_),N=l(_),y=u(_),S=d(_),R=t(_).map(function(C){var G=i(C),L=r(C),P=p0(G,L),w=P.x,z=P.y,H=P.z;return{x:w,y:z,z:H,lat:G,lng:L,weight:s(C)}}),O=Math.max(e2e,g/J0e),b=Math.ceil(360/(O||-1));q.geometry.parameters.widthSegments!==b&&(q.geometry.dispose(),q.geometry=new $l.SphereGeometry(fn,b,b/2));var D=z0e(q.geometry.getAttribute("position")),B=D.map(function(C){var G=mn(C,3),L=G[0],P=G[1],w=G[2],z=Qb({x:L,y:P,z:w}),H=z.lng,j=z.lat;return[H,j]});Q0e(B,R,{latAccessor:function(G){return G.lat},lngAccessor:function(G){return G.lng},weightAccessor:function(G){return G.weight},bandwidth:g}).then(function(C){var G=J1(new Array(gx)).map(function(z,H){return X3(M(H/(gx-1)))}),L=function(H){var j=q.__currentTargetD=H,Y=j.kdeVals,Q=j.topAlt,oe=j.saturation,ae=dW(Y.map(Math.abs))||1e-15,fe=nN([0,ae/oe],G);q.geometry.setAttribute("color",v2(Y.map(function(Te){return fe(Math.abs(Te))}),4));var xe=J2([0,ae],[fn*(1+y),fn*(1+(Q||y))]);q.geometry.setAttribute("r",v2(Y.map(xe)))},P={kdeVals:C,topAlt:S,saturation:N},w=q.__currentTargetD||Object.assign({},P,{kdeVals:C.map(function(){return 0}),topAlt:S&&y,saturation:.5});w.kdeVals.length!==C.length&&(w.kdeVals=C.slice()),Object.keys(P).some(function(z){return w[z]!==P[z]})&&(!e.heatmapsTransitionDuration||e.heatmapsTransitionDuration<0?L(P):e.tweenGroup.add(new Hi(w).to(P,e.heatmapsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(L).start()))})}).digest(e.heatmapsData)}}),b3=window.THREE?window.THREE:{DoubleSide:Qn,Group:pr,LineBasicMaterial:I4,LineSegments:qy,Mesh:F1,MeshBasicMaterial:a0},aI=hi({props:{polygonsData:{default:[]},polygonGeoJsonGeometry:{default:"geometry"},polygonSideColor:{default:function(){return"#ffffaa"}},polygonSideMaterial:{},polygonCapColor:{default:function(){return"#ffffaa"}},polygonCapMaterial:{},polygonStrokeColor:{},polygonAltitude:{default:.01},polygonCapCurvatureResolution:{default:5},polygonsTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjPolygon"}).id(function(s){return s.id}).onCreateObj(function(){var s=new b3.Group;return s.__defaultSideMaterial=$p(new b3.MeshBasicMaterial({side:b3.DoubleSide,depthWrite:!0}),kf),s.__defaultCapMaterial=new b3.MeshBasicMaterial({side:b3.DoubleSide,depthWrite:!0}),s.add(new b3.Mesh(void 0,[s.__defaultSideMaterial,s.__defaultCapMaterial])),s.add(new b3.LineSegments(void 0,new b3.LineBasicMaterial)),s.__globeOb
4739jType="polygon",s})},update:function(e){var t=We(e.polygonGeoJsonGeometry),i=We(e.polygonAltitude),r=We(e.polygonCapCurvatureResolution),s=We(e.polygonCapColor),a=We(e.polygonCapMaterial),o=We(e.polygonSideColor),l=We(e.polygonSideMaterial),u=We(e.polygonStrokeColor),d=[];e.polygonsData.forEach(function(q){var _={data:q,capColor:s(q),capMaterial:a(q),sideColor:o(q),sideMaterial:l(q),strokeColor:u(q),altitude:+i(q),capCurvatureResolution:+r(q)},g=t(q),M=q.__id||"".concat(Math.round(Math.random()*1e9));q.__id=M,g.type==="Polygon"?d.push($1({id:"".concat(M,"_0"),coords:g.coordinates},_)):g.type==="MultiPolygon"?d.push.apply(d,J1(g.coordinates.map(function(N,y){return $1({id:"".concat(M,"_").concat(y),coords:N},_)}))):console.warn("Unsupported GeoJson geometry type: ".concat(g.type,". Skipping geometry..."))}),e.dataMapper.onUpdateObj(function(q,_){var g=_.coords,M=_.capColor,N=_.capMaterial,y=_.sideColor,S=_.sideMaterial,R=_.strokeColor,O=_.altitude,b=_.capCurvatureResolution,D=mn(q.children,2),B=D[0],C=D[1],G=!!R;C.visible=G;var L=!!(M||N),P=!!(y||S);n2e(B.geometry.parameters||{},{polygonGeoJson:g,curvatureResolution:b,closedTop:L,includeSides:P})||(B.geometry&&B.geometry.dispose(),B.geometry=new Nq(g,0,fn,!1,L,P,b)),G&&(!C.geometry.parameters||C.geometry.parameters.geoJson.coordinates!==g||C.geometry.parameters.resolution!==b)&&(C.geometry&&C.geometry.dispose(),C.geometry=new wN({type:"Polygon",coordinates:g},fn,b));var w=P?0:-1,z=L?P?1:0:-1;if(w>=0&&(B.material[w]=S||q.__defaultSideMaterial),z>=0&&(B.material[z]=N||q.__defaultCapMaterial),[[!S&&y,w],[!N&&M,z]].forEach(function(ae){var fe=mn(ae,2),xe=fe[0],Te=fe[1];if(!(!xe||Te<0)){var He=B.material[Te],Je=C0(xe);He.color.set(N2(xe)),He.transparent=Je<1,He.opacity=Je}}),G){var H=C.material,j=C0(R);H.color.set(N2(R)),H.transparent=j<1,H.opacity=j}var Y={alt:O},Q=function(fe){var xe=q.__currentTargetD=fe,Te=xe.alt;B.scale.x=B.scale.y=B.scale.z=1+Te,G&&(C.scale.x=C.scale.y=C.scale.z=1+Te+1e-4),H0e(q.__defaultSideMaterial,function(He){return He.surfaceRadius.value=fn/(Te+1)})},oe=q.__currentTargetD||Object.assign({},Y,{alt:-.001});Object.keys(Y).some(function(ae){return oe[ae]!==Y[ae]})&&(!e.polygonsTransitionDuration||e.polygonsTransitionDuration<0||oe.alt===Y.alt?Q(Y):e.tweenGroup.add(new Hi(oe).to(Y,e.polygonsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(Q).start()))}).digest(d)}});function n2e(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){return function(i,r){return i===r}};return Object.entries(e).every(function(i){var r=mn(i,2),s=r[0],a=r[1];return n.hasOwnProperty(s)&&t(s)(n[s],a)})}var ao=window.THREE?window.THREE:{BufferGeometry:en,DoubleSide:Qn,Mesh:F1,MeshLambertMaterial:u3,Vector3:Z},Ex=Object.assign({},Eq),Mx=Ex.BufferGeometryUtils||Ex,oI=hi({props:{hexPolygonsData:{default:[]},hexPolygonGeoJsonGeometry:{default:"geometry"},hexPolygonColor:{default:function(){return"#ffffaa"}},hexPolygonAltitude:{default:.001},hexPolygonResolution:{default:3},hexPolygonMargin:{default:.2},hexPolygonUseDots:{default:!1},hexPolygonCurvatureResolution:{default:5},hexPolygonDotResolution:{default:12},hexPolygonsTransitionDuration:{default:0,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjHexPolygon"}).onCreateObj(function(){var s=new ao.Mesh(void 0,new ao.MeshLambertMaterial({side:ao.DoubleSide}));return s.__globeObjType="hexPolygon",s})},update:function(e){var t=We(e.hexPolygonGeoJsonGeometry),i=We(e.hexPolygonColor),r=We(e.hexPolygonAltitude),s=We(e.hexPolygonResolution),a=We(e.hexPolygonMargin),o=We(e.hexPolygonUseDots),l=We(e.hexPolygonCurvatureResolution),u=We(e.hexPolygonDotResolution);e.dataMapper.onUpdateObj(function(d,q){var _=t(q),g=s(q),M=r(q),N=Math.max(0,Math.min(1,+a(q))),y=o(q),S=l(q),R=u(q),O=i(q),b=C0(O);d.material.color.set(N2(O)),d.material.transparent=b<1,d.material.opacity=b;var D={alt:M,margin:N,curvatureResolution:S},B={geoJson:_,h3Res:g},C=d.__currentTargetD||Object.assign({},D,{alt:-.001}),G=d.__currentMemD||B;if(Object.keys(D).some(function(z){return C[z]!==D[z]})||Object.keys(B).some(function(z){return G[z]!==B[z]})){d.__currentMemD=B;var L=[];
4739_.type==="Polygon"?VE(_.coordinates,g,!0).forEach(function(z){return L.push(z)}):_.type==="MultiPolygon"?_.coordinates.forEach(function(z){return VE(z,g,!0).forEach(function(H){return L.push(H)})}):console.warn("Unsupported GeoJson geometry type: ".concat(_.type,". Skipping geometry..."));var P=L.map(function(z){var H=nv(z),j=iv(z,!0).reverse(),Y=H[1];return j.forEach(function(Q){var oe=Q[0];Math.abs(Y-oe)>170&&(Q[0]+=Y>oe?360:-360)}),{h3Idx:z,hexCenter:H,hexGeoJson:j}}),w=function(H){var j=d.__currentTargetD=H,Y=j.alt,Q=j.margin,oe=j.curvatureResolution;d.geometry&&d.geometry.dispose(),d.geometry=P.length?(Mx.mergeGeometries||Mx.mergeBufferGeometries)(P.map(function(ae){var fe=mn(ae.hexCenter,2),xe=fe[0],Te=fe[1];if(y){var He=p0(xe,Te,Y),Je=p0(ae.hexGeoJson[0][1],ae.hexGeoJson[0][0],Y),Se=.85*(1-Q)*new ao.Vector3(He.x,He.y,He.z).distanceTo(new ao.Vector3(Je.x,Je.y,Je.z)),we=new $9(Se,R);return we.rotateX(Bs(-xe)),we.rotateY(Bs(Te)),we.translate(He.x,He.y,He.z),we}else{var lt=function(mt,ut,$t){return mt-(mt-ut)*$t},rt=Q===0?ae.hexGeoJson:ae.hexGeoJson.map(function(_t){var mt=mn(_t,2),ut=mt[0],$t=mt[1];return[[ut,Te],[$t,xe]].map(function(A1){var Wt=mn(A1,2),J=Wt[0],st=Wt[1];return lt(J,st,Q)})});return new Nq([rt],fn,fn*(1+Y),!1,!0,!1,oe)}})):new ao.BufferGeometry};!e.hexPolygonsTransitionDuration||e.hexPolygonsTransitionDuration<0?w(D):e.tweenGroup.add(new Hi(C).to(D,e.hexPolygonsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(w).start())}}).digest(e.hexPolygonsData)}}),i2e=window.THREE?window.THREE:{Vector3:Z};function r2e(n,e){var t=function(a,o){var l=a[a.length-1];return[].concat(J1(a),J1(Array(o-a.length).fill(l)))},i=Math.max(n.length,e.length),r=LW.apply(void 0,J1([n,e].map(function(s){return s.map(function(a){var o=a.x,l=a.y,u=a.z;return[o,l,u]})}).map(function(s){return t(s,i)})));return function(s){return s===0?n:s===1?e:r(s).map(function(a){var o=mn(a,3),l=o[0],u=o[1],d=o[2];return new i2e.Vector3(l,u,d)})}}var vs=window.THREE?window.THREE:{BufferGeometry:en,Color:Nt,Group:pr,Line:Y9,NormalBlending:or,ShaderMaterial:yr,Vector3:Z},s2e=h4.default||h4,lI=hi({props:{pathsData:{default:[]},pathPoints:{default:function(e){return e}},pathPointLat:{default:function(e){return e[0]}},pathPointLng:{default:function(e){return e[1]}},pathPointAlt:{default:.001},pathResolution:{default:2},pathColor:{default:function(){return"#ffffaa"}},pathStroke:{},pathDashLength:{default:1},pathDashGap:{default:0},pathDashInitialGap:{default:0},pathDashAnimateTime:{default:0},pathTransitionDuration:{default:1e3,triggerUpdate:!1},rendererSize:{}},methods:{pauseAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.pause()},resumeAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.resume()},_destructor:function(e){var t;(t=e.ticker)===null||t===void 0||t.dispose()}},stateInit:function(e){var t=e.tweenGroup;return{tweenGroup:t,ticker:new s2e,sharedMaterial:new vs.ShaderMaterial($1($1({},tI()),{},{transparent:!0,blending:vs.NormalBlending}))}},init:function(e,t){an(e),t.scene=e,t.dataMapper=new br(e,{objBindAttr:"__threeObjPath"}).onCreateObj(function(){var i=new vs.Group;return i.__globeObjType="path",i}),t.ticker.onTick.add(function(i,r){t.dataMapper.entries().map(function(s){var a=mn(s,2),o=a[1];return o}
4739).filter(function(s){return s.children.length&&s.children[0].material&&s.children[0].__dashAnimateStep}).forEach(function(s){var a=s.children[0],o=a.__dashAnimateStep*r;if(a.type==="Line"){var l=a.material.uniforms.dashTranslate.value%1e9;a.material.uniforms.dashTranslate.value=l+o}else if(a.type==="Line2"){for(var u=a.material.dashOffset-o,d=a.material.dashSize+a.material.gapSize;u<=-d;)u+=d;a.material.dashOffset=u}})})},update:function(e){var t=We(e.pathPoints),i=We(e.pathPointLat),r=We(e.pathPointLng),s=We(e.pathPointAlt),a=We(e.pathStroke),o=We(e.pathColor),l=We(e.pathDashLength),u=We(e.pathDashGap),d=We(e.pathDashInitialGap),q=We(e.pathDashAnimateTime);e.dataMapper.onUpdateObj(function(y,S){var R=a(S),O=R!=null;if(!y.children.length||O===(y.children[0].type==="Line")){an(y);var b=O?new m0e(new Yb,new Wp):new vs.Line(new vs.BufferGeometry,e.sharedMaterial.clone());y.add(b)}var D=y.children[0],B=g(t(S),i,r,s,e.pathResolution),C=q(S);if(D.__dashAnimateStep=C>0?1e3/C:0,O){D.material.resolution=e.rendererSize;{var P=l(S),w=u(S),z=d(S);D.material.dashed=w>0,D.material.dashed?D.material.defines.USE_DASH="":delete D.material.defines.USE_DASH,D.material.dashed&&(D.material.dashScale=1/_(B),D.material.dashSize=P,D.material.gapSize=w,D.material.dashOffset=-z)}{var H=o(S);if(H instanceof Array){var j=M(o(S),B.length-1,1,!1);D.geometry.setColors(j.array),D.material.vertexColors=!0}else{var Y=H,Q=C0(Y);D.material.color=new vs.Color(N2(Y)),D.material.transparent=Q<1,D.material.opacity=Q,D.material.vertexColors=!1}}D.material.needsUpdate=!0}else{Object.assign(D.material.uniforms,{dashSize:{value:l(S)},gapSize:{value:u(S)},dashOffset:{value:d(S)}});var G=M(o(S),B.length),L=N(B.length,1,!0);D.geometry.setAttribute("color",G),D.geometry.setAttribute("relDistance",L)}var oe=r2e(y.__currentTargetD&&y.__currentTargetD.points||[B[0]],B),ae=function(He){var Je=y.__currentTargetD=He,Se=Je.stroke,we=Je.interpolK,lt=y.__currentTargetD.points=oe(we);if(O){var rt;D.geometry.setPositions((rt=[]).concat.apply(rt,J1(lt.map(function(_t){var mt=_t.x,ut=_t.y,$t=_t.z;return[mt,ut,$t]})))),D.material.linewidth=Se,D.material.dashed&&D.computeLineDistances()}else D.geometry.setFromPoints(lt),D.geometry.computeBoundingSphere()},fe={stroke:R,interpolK:1},xe=Object.assign({},y.__currentTargetD||fe,{interpolK:0});Object.keys(fe).some(function(Te){return xe[Te]!==fe[Te]})&&(!e.pathTransitionDuration||e.pathTransitionDuration<0?ae(fe):e.tweenGroup.add(new Hi(xe).to(fe,e.pathTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(ae).start()))}).digest(e.pathsData);function _(y){var S=0,R;return y.forEach(function(O){R&&(S+=R.distanceTo(O)),R=O}),S}function g(y,S,R,O,b){var D=function(L,P,w){for(var z=[],H=1;H<=w;H++)z.push(L+(P-L)*H/(w+1));return z},B=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,w=[],z=null;return L.forEach(function(H){if(z){for(;Math.abs(z[1]-H[1])>180;)z[1]+=360*(z[1]<H[1]?1:-1);var j=Math.sqrt(Math.pow(H[0]-z[0],2)+Math.pow(H[1]-z[1],2));if(j>P)for(var Y=Math.floor(j/P),Q=D(z[0],H[0],Y),oe=D(z[1],H[1],Y),ae=D(z[2],H[2],Y),fe=0,xe=Q.length;fe<xe;fe++)w.push([Q[fe],oe[fe],ae[fe]])}w.push(z=H)}),w},C=function(L){var P=mn(L,3),w=P[0],z=P[1],H=P[2],j=p0(w,z,H),Y=j.x,Q=j.y,oe=j.z;return new vs.Vector3(Y,Q,oe)};return B(y.map(function(G){return[S(G),R(G),O(G)]}),b).map(C)}function M(y,S){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,b=S+1,D;if(y instanceof Array||y instanceof Function){var B=y instanceof Array?J2().domain(y.map(function(H,j){return j/(y.length-1)})).range(y):y;D=function(j){return X3(B(j),O,!0)}}else{var C=X3(y,O,!0);D=function(){return C}}for(var G=[],L=0,P=b;L<P;L++)for(var w=D(L/(P-1)),z=0;z<R;z++)G.push(w);return v2(G,O?4:3)}function N(y){for(var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,O=y+1,b=[],D=0,B=O;D<B;D++)for(var C=D/(B-1),G=0;G<S;G++)b.push(C);return R&&b.reverse(),v2(b,1)}}}),jl=window.THREE?window.THREE:{Euler:Oi,Mesh:F1,MeshLambertMaterial:u3,SphereGeometry:T2},uI=hi({props:{tilesData:{default:[]},tileLat:{default:"lat"},tileLng:{default:"lng"},tileAltitude:{default:.01},tileWidth:{default:1},tileHeight:{default:1},tileUseGlobeProjection:{default:!0},tileMaterial:{default:function(){return new jl.MeshLambertMaterial({color:"#ffbb88",opacity:.4,transparent:!0})}},tileCurvatureResolution:{default:5},tilesTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;
vendor: 4,355 bytes, line 4739
4739an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjTile"}).onCreateObj(function(){var s=new jl.Mesh;return s.__globeObjType="tile",s})},update:function(e){var t=We(e.tileLat),i=We(e.tileLng),r=We(e.tileAltitude),s=We(e.tileWidth),a=We(e.tileHeight),o=We(e.tileUseGlobeProjection),l=We(e.tileMaterial),u=We(e.tileCurvatureResolution);e.dataMapper.onUpdateObj(function(d,q){d.material=l(q);var _=o(q),g=u(q),M=function(R){var O=d.__currentTargetD=R,b=O.lat,D=O.lng,B=O.alt,C=O.width,G=O.height,L=oo(D),P=oo(-b);d.geometry&&d.geometry.dispose(),d.geometry=new jl.SphereGeometry(fn*(1+B),Math.ceil(C/(g||-1)),Math.ceil(G/(g||-1)),oo(90-C/2)+(_?L:0),oo(C),oo(90-G/2)+(_?P:0),oo(G)),_||d.setRotationFromEuler(new jl.Euler(P,L,0,"YXZ"))},N={lat:+t(q),lng:+i(q),alt:+r(q),width:+s(q),height:+a(q)},y=d.__currentTargetD||Object.assign({},N,{width:0,height:0});Object.keys(N).some(function(S){return y[S]!==N[S]})&&(!e.tilesTransitionDuration||e.tilesTransitionDuration<0?M(N):e.tweenGroup.add(new Hi(y).to(N,e.tilesTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(M).start()))}).digest(e.tilesData)}}),oo=function(e){return e*Math.PI/180},S6=window.THREE?window.THREE:{BufferGeometry:en,Color:Nt,Points:mB,PointsMaterial:Zd},cI=hi({props:{particlesData:{default:[]},particlesList:{default:function(e){return e}},particleLat:{default:"lat"},particleLng:{default:"lng"},particleAltitude:{default:.01},particlesSize:{default:.5},particlesSizeAttenuation:{default:!0},particlesColor:{default:function(){return"white"}},particlesTexture:{}},init:function(e,t){an(e),t.scene=e,t.dataMapper=new br(e,{objBindAttr:"__threeObjParticles"}).onCreateObj(function(){var i=new S6.Points(new S6.BufferGeometry,new S6.PointsMaterial);return i.__globeObjType="particles",i}).onUpdateObj(function(i,r){var s=We(t.particlesList),a=We(t.particleLat),o=We(t.particleLng),l=We(t.particleAltitude);i.geometry.setAttribute("position",v2(s(r).map(function(u){return Object.values(p0(a(u),o(u),l(u)))}),3))})},update:function(e,t){["particlesData","particlesList","particleLat","particleLng","particleAltitude"].some(function(o){return t.hasOwnProperty(o)})&&e.dataMapper.digest(e.particlesData);var i=We(e.particlesColor),r=We(e.particlesSize),s=We(e.particlesSizeAttenuation),a=We(e.particlesTexture);e.dataMapper.entries().forEach(function(o){var l=mn(o,2),u=l[0],d=l[1];if(d.material.size=r(u),d.material.sizeAttenuation=s(u),e.particlesTexture)d.material.color=new S6.Color(16777215),d.material.transparent=!1,d.material.alphaTest=.5,d.material.map=a(u);else{var q=i(u),_=C0(q);d.material.color=new S6.Color(N2(q)),d.material.transparent=_<1,d.material.opacity=_,d.material.alphaTest=0}})}}),a2e=window.THREE?window.THREE:{BufferGeometry:en},o2e=function(n){function e(){var t,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:32;bu(this,e),t=Ru(this,e),t.type="CircleLineGeometry",t.parameters={radius:i,segmentCount:r};for(var s=[],a=0;a<=r;a++){var o=(a/r-.25)*Math.PI*2;s.push({x:Math.cos(o)*i,y:Math.sin(o)*i,z:0})}return t.setFromPoints(s),t}return Pu(e,n),Iu(e)}(a2e.BufferGeometry),lo=window.THREE?window.THREE:{Color:Nt,Group:pr,Line:Y9,LineBasicMaterial:I4,Vector3:Z},l2e=h4.default||h4,AI=hi({props:{ringsData:{default:[]},ringLat:{default:"lat"},ringLng:{default:"lng"},ringAltitude:{default:.0015},ringColor:{default:function(){return"#ffffaa"},triggerUpdate:!1},ringResolution:{default:64,triggerUpdate:!1},ringMaxRadius:{default:2,triggerUpdate:!1},ringPropagationSpeed:{default:1,triggerUpdate:!1},ringRepeatPeriod:{default:700,triggerUpdate:!1}},methods:{pauseAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.pause()},resumeAnimation:function(e){var t;(t=e.ticker)===null||t===void 0||t.resume()},_destructor:function(e){var t;(t=e.ticker)===null||t===void 0||t.dispose()}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjRing",removeDelay:3e4}).onCreateObj(function(){var s=new lo.Group;return s.__globeObjType="ring",s}),t.ticker=new l2e,t.ticker.onTick.add(function(s){if(t.ringsData.length){var a=We(t.ringColor),o=We(t.ringAltitude),l=We(t.ringMaxRadius),u=We(t.ringPropagationSpeed),d=We(t.ringRepeatPeriod);t.dataMapper.entries().filter(function(q){var _=mn(q,2),g=_[1];return g}
4739).forEach(function(q){var _=mn(q,2),g=_[0],M=_[1];if((M.__nextRingTime||0)<=s){var N=d(g)/1e3;M.__nextRingTime=s+(N<=0?1/0:N);var y=new lo.Line(new o2e(1,t.ringResolution),new lo.LineBasicMaterial),S=a(g),R=S instanceof Array||S instanceof Function,O;R?S instanceof Array?(O=J2().domain(S.map(function(w,z){return z/(S.length-1)})).range(S),y.material.transparent=S.some(function(w){return C0(w)<1})):(O=S,y.material.transparent=!0):(y.material.color=new lo.Color(N2(S)),k0e(y.material,C0(S)));var b=fn*(1+o(g)),D=l(g),B=D*Math.PI/180,C=u(g),G=C<=0,L=function(z){var H=z.t,j=(G?1-H:H)*B;if(y.scale.x=y.scale.y=b*Math.sin(j),y.position.z=b*(1-Math.cos(j)),R){var Y=O(H);y.material.color=new lo.Color(N2(Y)),y.material.transparent&&(y.material.opacity=C0(Y))}};if(C===0)L({t:0}),M.add(y);else{var P=Math.abs(D/C)*1e3;t.tweenGroup.add(new Hi({t:0}).to({t:1},P).onUpdate(L).onStart(function(){return M.add(y)}).onComplete(function(){M.remove(y),Yp(y)}).start())}}})}})},update:function(e){var t=We(e.ringLat),i=We(e.ringLng),r=We(e.ringAltitude),s=e.scene.localToWorld(new lo.Vector3(0,0,0));e.dataMapper.onUpdateObj(function(a,o){var l=t(o),u=i(o),d=r(o);Object.assign(a.position,p0(l,u,d)),a.lookAt(s)}).digest(e.ringsData)}}),u2e={0:{x_min:73,x_max:715,ha:792,o:"m 394 -29 q 153 129 242 -29 q 73 479 73 272 q 152 829 73 687 q 394 989 241 989 q 634 829 545 989 q 715 479 715 684 q 635 129 715 270 q 394 -29 546 -29 m 394 89 q 546 211 489 89 q 598 479 598 322 q 548 748 598 640 q 394 871 491 871 q 241 748 298 871 q 190 479 190 637 q 239 211 190 319 q 394 89 296 89 "},1:{x_min:215.671875,x_max:574,ha:792,o:"m 574 0 l 442 0 l 442 697 l 215 697 l 215 796 q 386 833 330 796 q 475 986 447 875 l 574 986 l 574 0 "},2:{x_min:59,x_max:731,ha:792,o:"m 731 0 l 59 0 q 197 314 59 188 q 457 487 199 315 q 598 691 598 580 q 543 819 598 772 q 411 867 488 867 q 272 811 328 867 q 209 630 209 747 l 81 630 q 182 901 81 805 q 408 986 271 986 q 629 909 536 986 q 731 694 731 826 q 613 449 731 541 q 378 316 495 383 q 201 122 235 234 l 731 122 l 731 0 "},3:{x_min:54,x_max:737,ha:792,o:"m 737 284 q 635 55 737 141 q 399 -25 541 -25 q 156 52 248 -25 q 54 308 54 140 l 185 308 q 245 147 185 202 q 395 96 302 96 q 539 140 484 96 q 602 280 602 190 q 510 429 602 390 q 324 454 451 454 l 324 565 q 487 584 441 565 q 565 719 565 617 q 515 835 565 791 q 395 879 466 879 q 255 824 307 879 q 203 661 203 769 l 78 661 q 166 909 78 822 q 387 992 250 992 q 603 921 513 992 q 701 723 701 844 q 669 607 701 656 q 578 524 637 558 q 696 434 655 499 q 737 284 737 369 "},4:{x_min:48,x_max:742.453125,ha:792,o:"m 742 243 l 602 243 l 602 0 l 476 0 l 476 243 l 48 243 l 48 368 l 476 958 l 602 958 l 602 354 l 742 354 l 742 243 m 476 354 l 476 792 l 162 354 l 476 354 "},5:{x_min:54.171875,x_max:738,ha:792,o:"m 738 314 q 626 60 738 153 q 382 -23 526 -23 q 155 47 248 -23 q 54 256 54 125 l 183 256 q 259 132 204 174 q 382 91 314 91 q 533 149 471 91 q 602 314 602 213 q 538 469 602 411 q 386 528 475 528 q 284 506 332 528 q 197 439 237 484 l 81 439 l 159 958 l 684 958 l 684 840 l 254 840 l 214 579 q 306 627 258 612 q 407 643 354 643 q 636 552 540 643 q 738 314 738 457 "},6:{x_min:53,x_max:739,ha:792,o:"m 739 312 q 633 62 739 162 q 400 -31 534 -31 q 162 78 257 -31 q 53 439 53 206 q 178 859 53 712 q 441 986 284 986 q 643 912 559 986 q 732 713 732 833 l 601 713 q 544 830 594 786 q 426 875 494 875 q 268 793 331 875 q 193 517 193 697 q 301 597 240 570 q 427 624 362 624 q 643 540 552 624 q 739 312 739 451 m 603 298 q 540 461 603 400 q 404 516 484 516 q 268 461 323 516 q 207 300 207 401 q 269 137 207 198 q 405 83 325 83 q 541 137 486 83 q 603 298 603 197 "},7:{x_min:58.71875,x_max:730.953125,ha:792,o:"m 730 839 q 469 448 560 641 q 335 0 378 255 l 192 0 q 328 441 235 252 q 593 830 421 630 l 58 830 l 58 958 l 730 958 l 730 839 "},8:{x_min:55,x_max:736,ha:792,o:"m 571 527 q 694 424 652 491 q 736 280 736 358 q 648 71 736 158 q 395 -26 551 -26 q 142 69 238 -26 q 55 279 55 157 q 96 425 55 359 q 220 527 138 491 q 120 615 153 562 q 88 726 88 668 q 171 904 88 827 q 395 986 261 986 q 618 905 529 986 q 702 727 702 830 q 670 616 702 667 q 571 527 638 565 m 394 565 q 519 610 475 565 q 563 717 563 655 q 521 823 563 781 q 392 872 474 872 q 265 824 312 872 q 224 720 224 783 q 265 613 224 656 q 394 565 312 565 m 395 91 q 545 150 488 91 q 597 280 597 204 q 546 408 597 355 q 395 465 492 465 q 244 408 299 465 q 194 280 194 356 q 244 150 194 203 q 395 91 299 91 "},9:{x_min:53,x_max:739,ha:792,o:"m 739 524 q 619 94 739 241 q 362 -32 516 -32 q 150 47 242 -32 q 59 244 59 126 l 191 244 q 246 129 191 176 q 373 82 301 82 q 526 161 466 82 q 597 440 597 255 q 363 334 501 334 q 130 432 216 334 q 53 650 53 521 q 134 880 53 786 q 383 986 226 986 q 659 841 566 986 q 739 524 739 719 m 388 449 q 535 514 480 449 q 585 658 585 573 q 535 805 585 744 q 388 873 480 873 q 242 809 294 873 q 191 658 191 745 q 239 514 191 572 q 388 449 292 449 "},ο:{x_min:0,x_max:712,ha:815,o:"m 356 -25 q 96 88 192 -25 q 0 368 0 201 q 92 642 0 533 q 356 761 192 761 q 617 644 517 761 q 712 368 712 533 q 619 91 712 201 q 356 -25 520 -25 m 356 85 q 527 175 465 85 q 583 369 583 255 q 528 562 583 484 q 356 651 466 651 q 189 560 250 651 q 135 369 135 481 q 187 177 135 257 q 356 85 250 85 "},S:{x_min:0,x_max:788,ha:890,o:"m 788 291 q 662 54 788 144 q 397 -26 550 -26 q 116 68 226 -26 q 0 337 0 168 l 131 337 q 200 152 131 220 q 384 85 269 85 q 557 129 479 85 q 650 270 650 183 q 490 429 650 379 q 194 513 341 470 q 33 739 33 584 q 142 964 33 881 q 388 1041 242 1041 q 644 957 543 1041 q 756 716 756 867 l 625 716 q 561 874 625 816 q 395 933 497 933 q 243 891 309 933 q 164 759 164 841 q 325 609 164 656 q 625 526 475 568 q 788 291 788 454 "},"¦":{x_min:343,x_max:449,ha:792,o:"m 449 462 l 343 462 l 343 986 l 449 986 l 449 462 m 449 -242 l 343 -242 l 343 280 l 449 280 l 449 -242 "}
4739,"/":{x_min:183.25,x_max:608.328125,ha:792,o:"m 608 1041 l 266 -129 l 183 -129 l 520 1041 l 608 1041 "},Τ:{x_min:-.4375,x_max:777.453125,ha:839,o:"m 777 893 l 458 893 l 458 0 l 319 0 l 319 892 l 0 892 l 0 1013 l 777 1013 l 777 893 "},y:{x_min:0,x_max:684.78125,ha:771,o:"m 684 738 l 388 -83 q 311 -216 356 -167 q 173 -279 252 -279 q 97 -266 133 -279 l 97 -149 q 132 -155 109 -151 q 168 -160 155 -160 q 240 -114 213 -160 q 274 -26 248 -98 l 0 738 l 137 737 l 341 139 l 548 737 l 684 738 "},Î :{x_min:0,x_max:803,ha:917,o:"m 803 0 l 667 0 l 667 886 l 140 886 l 140 0 l 0 0 l 0 1012 l 803 1012 l 803 0 "},Î:{x_min:-111,x_max:339,ha:361,o:"m 339 800 l 229 800 l 229 925 l 339 925 l 339 800 m -1 800 l -111 800 l -111 925 l -1 925 l -1 800 m 284 3 q 233 -10 258 -5 q 182 -15 207 -15 q 85 26 119 -15 q 42 200 42 79 l 42 737 l 167 737 l 168 215 q 172 141 168 157 q 226 101 183 101 q 248 103 239 101 q 284 112 257 104 l 284 3 m 302 1040 l 113 819 l 30 819 l 165 1040 l 302 1040 "},g:{x_min:0,x_max:686,ha:838,o:"m 686 34 q 586 -213 686 -121 q 331 -306 487 -306 q 131 -252 216 -306 q 31 -84 31 -190 l 155 -84 q 228 -174 166 -138 q 345 -207 284 -207 q 514 -109 454 -207 q 564 89 564 -27 q 461 6 521 36 q 335 -23 401 -23 q 88 100 184 -23 q 0 370 0 215 q 87 634 0 522 q 330 758 183 758 q 457 728 398 758 q 564 644 515 699 l 564 737 l 686 737 l 686 34 m 582 367 q 529 560 582 481 q 358 652 468 652 q 189 561 250 652 q 135 369 135 482 q 189 176 135 255 q 361 85 251 85 q 529 176 468 85 q 582 367 582 255 "},"²":{x_min:0,x_max:442,ha:539,o:"m 442 383 l 0 383 q 91 566 0 492 q 260 668 176 617 q 354 798 354 727 q 315 875 354 845 q 227 905 277 905 q 136 869 173 905 q 99 761 99 833 l 14 761 q 82 922 14 864 q 232 974 141 974 q 379 926 316 974 q 442 797 442 878 q 351 635 442 704 q 183 539 321 611 q 92 455 92 491 l 442 455 l 442 383 "},"â":{x_min:0,x_max:705.5625,ha:803,o:"m 705 334 l 0 334 l 0 410 l 705 410 l 705 334 "},Î:{x_min:0,x_max:819.5625,ha:893,o:"m 819 0 l 650 0 l 294 509 l 139 356 l 139 0 l 0 0 l 0 1013 l 139 1013 l 139 526 l 626 1013 l 809 1013 l 395 600 l 819 0 "},Æ:{x_min:-46.265625,x_max:392,ha:513,o:"m 392 651 l 259 651 l 79 -279 l -46 -278 l 134 651 l 14 651 l 14 751 l 135 751 q 151 948 135 900 q 304 1041 185 1041 q 334 1040 319 1041 q 392 1034 348 1039 l 392 922 q 337 931 360 931 q 271 883 287 931 q 260 793 260 853 l 260 751 l 392 751 l 392 651 "},e:{x_min:0,x_max:714,ha:813,o:"m 714 326 l 140 326 q 200 157 140 227 q 359 87 260 87 q 488 130 431 87 q 561 245 545 174 l 697 245 q 577 48 670 123 q 358 -26 484 -26 q 97 85 195 -26 q 0 363 0 197 q 94 642 0 529 q 358 765 195 765 q 626 627 529 765 q 714 326 714 503 m 576 429 q 507 583 564 522 q 355 650 445 650 q 206 583 266 650 q 140 429 152 522 l 576 429 "},Ï:{x_min:0,x_max:712,ha:815,o:"m 356 -25 q 94 91 194 -25 q 0 368 0 202 q 92 642 0 533 q 356 761 192 761 q 617 644 517 761 q 712 368 712 533 q 619 91 712 201 q 356 -25 520 -25 m 356 85 q 527 175 465 85 q 583 369 583 255 q 528 562 583 484 q 356 651 466 651 q 189 560 250 651 q 135 369 135 481 q 187 177 135 257 q 356 85 250 85 m 576 1040 l 387 819 l 303 819 l 438 1040 l 576 1040 "},J:{x_min:0,x_max:588,ha:699,o:"m 588 279 q 287 -26 588 -26 q 58 73 126 -26 q 0 327 0 158 l 133 327 q 160 172 133 227 q 288 96 198 96 q 426 171 391 96 q 449 336 449 219 l 449 1013 l 588 1013 l 588 279 "},"»":{x_min:-1,x_max:503,ha:601,o:"m 503 302 l 280 136 l 281 256 l 429 373 l 281 486 l 280 608 l 503 440 l 503 302 m 221 302 l 0 136 l 0 255 l 145 372 l 0 486 l -1 608 l 221 440 l 221 302 "},"©":{x_min:-3,x_max:1008,ha:1106,o:"m 502 -7 q 123 151 263 -7 q -3 501 -3 294 q 123 851 -3 706 q 502 1011 263 1011 q 881 851 739 1011 q 1008 501 1008 708 q 883 151 1008 292 q 502 -7 744 -7 m 502 60 q 830 197 709 60 q 940 501 940 322 q 831 805 940 681 q 502 944 709 944 q 174 805 296 944 q 65 501 65 680 q 173 197 65 320 q 502 60 294 60 m 741 394 q 661 246 731 302 q 496 190 591 190 q 294 285 369 190 q 228 497 228 370 q 295 714 228 625 q 499 813 370 813 q 656 762 588 813 q 733 625 724 711 l 634 625 q 589 704 629 673 q 498 735 550 735 q 377 666 421 735 q 334 504 334 597 q 374 340 334 408 q 490 272 415 272 q 589 304 549 272 q 638 394 628 337 l 741 394 "},Ï:{x_min:0,x_max:922,ha:1030,o:"m 687 1040 l 498 819 l 415 819 l 549 1040 l 687 1040 m 922 339 q 856 97 922 203 q 650 -26 780 -26 q 538 9 587 -26 q 461 103 489 44 q 387 12 436 46 q 277 -22 339 -22 q 69 97 147 -22 q 0 338 0 202 q 45 551 0 444 q 161 737 84 643 l 302 737 q 175 552 219 647 q 124 336 124 446 q 155 179 124 248 q 275 88 197 88 q 375 163 341 88 q 400 294 400 219 l 400 572 l 524 572 l 524 294 q 561 135 524 192 q 643 88 591 88 q 762 182 719 88 q 797 341 797 257 q 745 555 797 450 q 619 737 705 637 l 760 737 q 874 551 835 640 q 922 339 922 444 "}
4739,"^":{x_min:193.0625,x_max:598.609375,ha:792,o:"m 598 772 l 515 772 l 395 931 l 277 772 l 193 772 l 326 1013 l 462 1013 l 598 772 "},"«":{x_min:0,x_max:507.203125,ha:604,o:"m 506 136 l 284 302 l 284 440 l 506 608 l 507 485 l 360 371 l 506 255 l 506 136 m 222 136 l 0 302 l 0 440 l 222 608 l 221 486 l 73 373 l 222 256 l 222 136 "},D:{x_min:0,x_max:828,ha:935,o:"m 389 1013 q 714 867 593 1013 q 828 521 828 729 q 712 161 828 309 q 382 0 587 0 l 0 0 l 0 1013 l 389 1013 m 376 124 q 607 247 523 124 q 681 510 681 355 q 607 771 681 662 q 376 896 522 896 l 139 896 l 139 124 l 376 124 "},"â":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},ÿ:{x_min:0,x_max:47,ha:125,o:"m 47 3 q 37 -7 47 -7 q 28 0 30 -7 q 39 -4 32 -4 q 45 3 45 -1 l 37 0 q 28 9 28 0 q 39 19 28 19 l 47 16 l 47 19 l 47 3 m 37 1 q 44 8 44 1 q 37 16 44 16 q 30 8 30 16 q 37 1 30 1 m 26 1 l 23 22 l 14 0 l 3 22 l 3 3 l 0 25 l 13 1 l 22 25 l 26 1 "},w:{x_min:0,x_max:1009.71875,ha:1100,o:"m 1009 738 l 783 0 l 658 0 l 501 567 l 345 0 l 222 0 l 0 738 l 130 738 l 284 174 l 432 737 l 576 738 l 721 173 l 881 737 l 1009 738 "},$:{x_min:0,x_max:700,ha:793,o:"m 664 717 l 542 717 q 490 825 531 785 q 381 872 450 865 l 381 551 q 620 446 540 522 q 700 241 700 370 q 618 45 700 116 q 381 -25 536 -25 l 381 -152 l 307 -152 l 307 -25 q 81 62 162 -25 q 0 297 0 149 l 124 297 q 169 146 124 204 q 307 81 215 89 l 307 441 q 80 536 148 469 q 13 725 13 603 q 96 910 13 839 q 307 982 180 982 l 307 1077 l 381 1077 l 381 982 q 574 917 494 982 q 664 717 664 845 m 307 565 l 307 872 q 187 831 233 872 q 142 724 142 791 q 180 618 142 656 q 307 565 218 580 m 381 76 q 562 237 562 96 q 517 361 562 313 q 381 423 472 409 l 381 76 "},"\\":{x_min:-.015625,x_max:425.0625,ha:522,o:"m 425 -129 l 337 -129 l 0 1041 l 83 1041 l 425 -129 "},µ:{x_min:0,x_max:697.21875,ha:747,o:"m 697 -4 q 629 -14 658 -14 q 498 97 513 -14 q 422 9 470 41 q 313 -23 374 -23 q 207 4 258 -23 q 119 81 156 32 l 119 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 173 124 246 q 308 83 216 83 q 452 178 402 83 q 493 359 493 255 l 493 738 l 617 738 l 617 214 q 623 136 617 160 q 673 92 637 92 q 697 96 684 92 l 697 -4 "},Î:{x_min:42,x_max:181,ha:297,o:"m 181 0 l 42 0 l 42 1013 l 181 1013 l 181 0 "},Î:{x_min:0,x_max:1144.5,ha:1214,o:"m 1144 1012 l 807 416 l 807 0 l 667 0 l 667 416 l 325 1012 l 465 1012 l 736 533 l 1004 1012 l 1144 1012 m 277 1040 l 83 799 l 0 799 l 140 1040 l 277 1040 "},"â":{x_min:0,x_max:139,ha:236,o:"m 139 851 q 102 737 139 784 q 0 669 65 690 l 0 734 q 59 787 42 741 q 72 873 72 821 l 0 873 l 0 1013 l 139 1013 l 139 851 "},Î:{x_min:0,x_max:801,ha:915,o:"m 801 0 l 651 0 l 131 822 l 131 0 l 0 0 l 0 1013 l 151 1013 l 670 191 l 670 1013 l 801 1013 l 801 0 "},"-":{x_min:8.71875,x_max:350.390625,ha:478,o:"m 350 317 l 8 317 l 8 428 l 350 428 l 350 317 "},Q:{x_min:0,x_max:968,ha:1072,o:"m 954 5 l 887 -79 l 744 35 q 622 -11 687 2 q 483 -26 556 -26 q 127 130 262 -26 q 0 504 0 279 q 127 880 0 728 q 484 1041 262 1041 q 841 884 708 1041 q 968 507 968 735 q 933 293 968 398 q 832 104 899 188 l 954 5 m 723 191 q 802 330 777 248 q 828 499 828 412 q 744 790 828 673 q 483 922 650 922 q 228 791 322 922 q 142 505 142 673 q 227 221 142 337 q 487 91 323 91 q 632 123 566 91 l 520 215 l 587 301 l 723 191 "},Ï:{x_min:1,x_max:676.28125,ha:740,o:"m 676 460 l 551 460 q 498 595 542 546 q 365 651 448 651 q 199 578 263 651 q 136 401 136 505 q 266 178 136 241 q 508 106 387 142 q 640 -50 640 62 q 625 -158 640 -105 q 583 -278 611 -211 l 465 -278 q 498 -182 490 -211 q 515 -80 515 -126 q 381 12 515 -15 q 134 91 197 51 q 1 388 1 179 q 100 651 1 542 q 354 761 199 761 q 587 680 498 761 q 676 460 676 599 "},M:{x_min:0,x_max:954,ha:1067,o:"m 954 0 l 819 0 l 819 869 l 537 0 l 405 0 l 128 866 l 128 0 l 0 0 l 0 1013 l 200 1013 l 472 160 l 757 1013 l 954 1013 l 954 0 "},Ψ:{x_min:0,x_max:1006,ha:1094,o:"m 1006 678 q 914 319 1006 429 q 571 200 814 200 l 571 0 l 433 0 l 433 200 q 92 319 194 200 q 0 678 0 429 l 0 1013 l 139 1013 l 139 679 q 191 417 139 492 q 433 326 255 326 l 433 1013 l 571 1013 l 571 326 l 580 326 q 813 423 747 326 q 868 679 868 502 l 868 1013 l 1006 1013 l 1006 678 "},C:{x_min:0,x_max:886,ha:944,o:"m 886 379 q 760 87 886 201 q 455 -26 634 -26 q 112 136 236 -26 q 0 509 0 283 q 118 882 0 737 q 469 1041 245 1041 q 748 955 630 1041 q 879 708 879 859 l 745 708 q 649 862 724 805 q 473 920 573 920 q 219 791 312 920 q 136 509 136 675 q 217 229 136 344 q 470 99 311 99 q 672 179 591 99 q 753 379 753 259 l 886 379 "},"!":{x_min:0,x_max:138,ha:236,o:"m 138 684 q 116 409 138 629 q 105 244 105 299 l 33 244 q 16 465 33 313 q 0 684 0 616 l 0 1013 l 138 1013 l 138 684 m 138 0 l 0 0 l 0 151 l 138 151 l 138 0 "}
4739,"{":{x_min:0,x_max:480.5625,ha:578,o:"m 480 -286 q 237 -213 303 -286 q 187 -45 187 -159 q 194 48 187 -15 q 201 141 201 112 q 164 264 201 225 q 0 314 118 314 l 0 417 q 164 471 119 417 q 201 605 201 514 q 199 665 201 644 q 193 772 193 769 q 241 941 193 887 q 480 1015 308 1015 l 480 915 q 336 866 375 915 q 306 742 306 828 q 310 662 306 717 q 314 577 314 606 q 288 452 314 500 q 176 365 256 391 q 289 275 257 337 q 314 143 314 226 q 313 84 314 107 q 310 -11 310 -5 q 339 -131 310 -94 q 480 -182 377 -182 l 480 -286 "},X:{x_min:-.015625,x_max:854.15625,ha:940,o:"m 854 0 l 683 0 l 423 409 l 166 0 l 0 0 l 347 519 l 18 1013 l 186 1013 l 428 637 l 675 1013 l 836 1013 l 504 520 l 854 0 "},"#":{x_min:0,x_max:963.890625,ha:1061,o:"m 963 690 l 927 590 l 719 590 l 655 410 l 876 410 l 840 310 l 618 310 l 508 -3 l 393 -2 l 506 309 l 329 310 l 215 -2 l 102 -3 l 212 310 l 0 310 l 36 410 l 248 409 l 312 590 l 86 590 l 120 690 l 347 690 l 459 1006 l 573 1006 l 462 690 l 640 690 l 751 1006 l 865 1006 l 754 690 l 963 690 m 606 590 l 425 590 l 362 410 l 543 410 l 606 590 "},ι:{x_min:42,x_max:284,ha:361,o:"m 284 3 q 233 -10 258 -5 q 182 -15 207 -15 q 85 26 119 -15 q 42 200 42 79 l 42 738 l 167 738 l 168 215 q 172 141 168 157 q 226 101 183 101 q 248 103 239 101 q 284 112 257 104 l 284 3 "},Î:{x_min:0,x_max:906.953125,ha:982,o:"m 283 1040 l 88 799 l 5 799 l 145 1040 l 283 1040 m 906 0 l 756 0 l 650 303 l 251 303 l 143 0 l 0 0 l 376 1012 l 529 1012 l 906 0 m 609 421 l 452 866 l 293 421 l 609 421 "},")":{x_min:0,x_max:318,ha:415,o:"m 318 365 q 257 25 318 191 q 87 -290 197 -141 l 0 -290 q 140 21 93 -128 q 193 360 193 189 q 141 704 193 537 q 0 1024 97 850 l 87 1024 q 257 706 197 871 q 318 365 318 542 "},ε:{x_min:0,x_max:634.71875,ha:714,o:"m 634 234 q 527 38 634 110 q 300 -25 433 -25 q 98 29 183 -25 q 0 204 0 93 q 37 314 0 265 q 128 390 67 353 q 56 460 82 419 q 26 555 26 505 q 114 712 26 654 q 295 763 191 763 q 499 700 416 763 q 589 515 589 631 l 478 515 q 419 618 464 580 q 307 657 374 657 q 207 630 253 657 q 151 547 151 598 q 238 445 151 469 q 389 434 280 434 l 389 331 l 349 331 q 206 315 255 331 q 125 210 125 287 q 183 107 125 145 q 302 76 233 76 q 436 117 379 76 q 509 234 493 159 l 634 234 "},Î:{x_min:0,x_max:952.78125,ha:1028,o:"m 952 0 l 0 0 l 400 1013 l 551 1013 l 952 0 m 762 124 l 476 867 l 187 124 l 762 124 "},"}":{x_min:0,x_max:481,ha:578,o:"m 481 314 q 318 262 364 314 q 282 136 282 222 q 284 65 282 97 q 293 -58 293 -48 q 241 -217 293 -166 q 0 -286 174 -286 l 0 -182 q 143 -130 105 -182 q 171 -2 171 -93 q 168 81 171 22 q 165 144 165 140 q 188 275 165 229 q 306 365 220 339 q 191 455 224 391 q 165 588 165 505 q 168 681 165 624 q 171 742 171 737 q 141 865 171 827 q 0 915 102 915 l 0 1015 q 243 942 176 1015 q 293 773 293 888 q 287 675 293 741 q 282 590 282 608 q 318 466 282 505 q 481 417 364 417 l 481 314 "},"â°":{x_min:-3,x_max:1672,ha:1821,o:"m 846 0 q 664 76 732 0 q 603 244 603 145 q 662 412 603 344 q 846 489 729 489 q 1027 412 959 489 q 1089 244 1089 343 q 1029 76 1089 144 q 846 0 962 0 m 845 103 q 945 143 910 103 q 981 243 981 184 q 947 340 981 301 q 845 385 910 385 q 745 342 782 385 q 709 243 709 300 q 742 147 709 186 q 845 103 781 103 m 888 986 l 284 -25 l 199 -25 l 803 986 l 888 986 m 241 468 q 58 545 126 468 q -3 715 -3 615 q 56 881 -3 813 q 238 958 124 958 q 421 881 353 958 q 483 712 483 813 q 423 544 483 612 q 241 468 356 468 m 241 855 q 137 811 175 855 q 100 710 100 768 q 136 612 100 653 q 240 572 172 572 q 344 614 306 572 q 382 713 382 656 q 347 810 382 771 q 241 855 308 855 m 1428 0 q 1246 76 1314 0 q 1185 244 1185 145 q 1244 412 1185 344 q 1428 489 1311 489 q 1610 412 1542 489 q 1672 244 1672 343 q 1612 76 1672 144 q 1428 0 1545 0 m 1427 103 q 1528 143 1492 103 q 1564 243 1564 184 q 1530 340 1564 301 q 1427 385 1492 385 q 1327 342 1364 385 q 1291 243 1291 300 q 1324 147 1291 186 q 1427 103 1363 103 "},a:{x_min:0,x_max:698.609375,ha:794,o:"m 698 0 q 661 -12 679 -7 q 615 -17 643 -17 q 536 12 564 -17 q 500 96 508 41 q 384 6 456 37 q 236 -25 312 -25 q 65 31 130 -25 q 0 194 0 88 q 118 390 0 334 q 328 435 180 420 q 488 483 476 451 q 495 523 495 504 q 442 619 495 584 q 325 654 389 654 q 209 617 257 654 q 152 513 161 580 l 33 513 q 123 705 33 633 q 332 772 207 772 q 528 712 448 772 q 617 531 617 645 l 617 163 q 624 108 617 126 q 664 90 632 90 l 698 94 l 698 0 m 491 262 l 491 372 q 272 329 350 347 q 128 201 128 294 q 166 113 128 144 q 264 83 205 83 q 414 130 346 83 q 491 262 491 183 "},"â":{x_min:0,x_max:941.671875,ha:1039,o:"m 941 334 l 0 334 l 0 410 l 941 410 l 941 334 "},"=":{x_min:8.71875,x_max:780.953125,ha:792,o:"m 780 510 l 8 510 l 8 606 l 780 606 l 780 510 m 780 235 l 8 235 l 8 332 l 780 332 l 780 235 "},N:{x_min:0,x_max:801,ha:914,o:"m 801 0 l 651 0 l 131 823 l 131 0 l 0 0 l 0 1013 l 151 1013 l 670 193 l 670 1013 l 801 1013 l 801 0 "},Ï:{x_min:0,x_max:712,ha:797,o:"m 712 369 q 620 94 712 207 q 362 -26 521 -26 q 230 2 292 -26 q 119 83 167 30 l 119 -278 l 0 -278 l 0 362 q 91 643 0 531 q 355 764 190 764 q 617 647 517 764 q 712 369 712 536 m 583 366 q 530 559 583 480 q 359 651 469 651 q 190 562 252 651 q 135 370 135 483 q 189 176 135 257 q 359 85 250 85 q 528 175 466 85 q 583 366 583 254 "},"¯":{x_min:0,x_max:941.671875,ha:938,o:"m 941 1033 l 0 1033 l 0 1109 l 941 1109 l 941 1033 "},Z:{x_min:0,x_max:779,ha:849,o:"m 779 0 l 0 0 l 0 113 l 621 896 l 40 896 l 40 1013 l 779 1013 l 778 887 l 171 124 l 779 124 l 779 0 "},u:{x_min:0,x_max:617,ha:729,o:"m 617 0 l 499 0 l 499 110 q 391 10 460 45 q 246 -25 322 -25 q 61 58 127 -25 q 0 258 0 136 l 0 738 l 125 738 l 125 284 q 156 148 125 202 q 273 82 197 82 q 433 165 369 82 q 493 340 493 243 l 493 738 l 617 738 l 617 0 "},k:{x_min:0,x_max:612.484375,ha:697,o:"m 612 738 l 338 465 l 608 0 l 469 0 l 251 382 l 121 251 l 121 0 l 0 0 l 0 1013 l 121 1013 l 121 402 l 456 738 l 612 738 "},Î:{x_min:0,x_max:803,ha:917,o:"m 803 0 l 667 0 l 667 475 l 140 475 l 140 0 l 0 0 l 0 1013 l 140 1013 l 140 599 l 667 599 l 667 1013 l 803
47391013 l 803 0 "},Î:{x_min:0,x_max:906.953125,ha:985,o:"m 906 0 l 756 0 l 650 303 l 251 303 l 143 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 609 421 l 452 866 l 293 421 l 609 421 "},s:{x_min:0,x_max:604,ha:697,o:"m 604 217 q 501 36 604 104 q 292 -23 411 -23 q 86 43 166 -23 q 0 238 0 114 l 121 237 q 175 122 121 164 q 300 85 223 85 q 415 112 363 85 q 479 207 479 147 q 361 309 479 276 q 140 372 141 370 q 21 544 21 426 q 111 708 21 647 q 298 761 190 761 q 492 705 413 761 q 583 531 583 643 l 462 531 q 412 625 462 594 q 298 657 363 657 q 199 636 242 657 q 143 558 143 608 q 262 454 143 486 q 484 394 479 397 q 604 217 604 341 "},B:{x_min:0,x_max:778,ha:876,o:"m 580 546 q 724 469 670 535 q 778 311 778 403 q 673 83 778 171 q 432 0 575 0 l 0 0 l 0 1013 l 411 1013 q 629 957 541 1013 q 732 768 732 892 q 691 633 732 693 q 580 546 650 572 m 393 899 l 139 899 l 139 588 l 379 588 q 521 624 462 588 q 592 744 592 667 q 531 859 592 819 q 393 899 471 899 m 419 124 q 566 169 504 124 q 635 303 635 219 q 559 436 635 389 q 402 477 494 477 l 139 477 l 139 124 l 419 124 "},"â¦":{x_min:0,x_max:614,ha:708,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 m 378 0 l 236 0 l 236 151 l 378 151 l 378 0 m 614 0 l 472 0 l 472 151 l 614 151 l 614 0 "},"?":{x_min:0,x_max:607,ha:704,o:"m 607 777 q 543 599 607 674 q 422 474 482 537 q 357 272 357 391 l 236 272 q 297 487 236 395 q 411 619 298 490 q 474 762 474 691 q 422 885 474 838 q 301 933 371 933 q 179 880 228 933 q 124 706 124 819 l 0 706 q 94 963 0 872 q 302 1044 177 1044 q 511 973 423 1044 q 607 777 607 895 m 370 0 l 230 0 l 230 151 l 370 151 l 370 0 "},H:{x_min:0,x_max:803,ha:915,o:"m 803 0 l 667 0 l 667 475 l 140 475 l 140 0 l 0 0 l 0 1013 l 140 1013 l 140 599 l 667 599 l 667 1013 l 803 1013 l 803 0 "},ν:{x_min:0,x_max:675,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 738 l 340 147 l 541 738 l 675 738 "},c:{x_min:1,x_max:701.390625,ha:775,o:"m 701 264 q 584 53 681 133 q 353 -26 487 -26 q 91 91 188 -26 q 1 370 1 201 q 92 645 1 537 q 353 761 190 761 q 572 688 479 761 q 690 493 666 615 l 556 493 q 487 606 545 562 q 356 650 428 650 q 186 563 246 650 q 134 372 134 487 q 188 179 134 258 q 359 88 250 88 q 492 136 437 88 q 566 264 548 185 l 701 264 "},"¶":{x_min:0,x_max:566.671875,ha:678,o:"m 21 892 l 52 892 l 98 761 l 145 892 l 176 892 l 178 741 l 157 741 l 157 867 l 108 741 l 88 741 l 40 871 l 40 741 l 21 741 l 21 892 m 308 854 l 308 731 q 252 691 308 691 q 227 691 240 691 q 207 696 213 695 l 207 712 l 253 706 q 288 733 288 706 l 288 763 q 244 741 279 741 q 193 797 193 741 q 261 860 193 860 q 287 860 273 860 q 308 854 302 855 m 288 842 l 263 843 q 213 796 213 843 q 248 756 213 756 q 288 796 288 756 l 288 842 m 566 988 l 502 988 l 502 -1 l 439 -1 l 439 988 l 317 988 l 317 -1 l 252 -1 l 252 602 q 81 653 155 602 q 0 805 0 711 q 101 989 0 918 q 309 1053 194 1053 l 566 1053 l 566 988 "},β:{x_min:0,x_max:660,ha:745,o:"m 471 550 q 610 450 561 522 q 660 280 660 378 q 578 64 660 151 q 367 -22 497 -22 q 239 5 299 -22 q 126 82 178 32 l 126 -278 l 0 -278 l 0 593 q 54 903 0 801 q 318 1042 127 1042 q 519 964 436 1042 q 603 771 603 887 q 567 644
4739603 701 q 471 550 532 586 m 337 79 q 476 138 418 79 q 535 279 535 198 q 427 437 535 386 q 226 477 344 477 l 226 583 q 398 620 329 583 q 486 762 486 668 q 435 884 486 833 q 312 935 384 935 q 169 861 219 935 q 126 698 126 797 l 126 362 q 170 169 126 242 q 337 79 224 79 "},Î:{x_min:0,x_max:954,ha:1068,o:"m 954 0 l 819 0 l 819 868 l 537 0 l 405 0 l 128 865 l 128 0 l 0 0 l 0 1013 l 199 1013 l 472 158 l 758 1013 l 954 1013 l 954 0 "},Î:{x_min:.109375,x_max:1120,ha:1217,o:"m 1120 505 q 994 132 1120 282 q 642 -29 861 -29 q 290 130 422 -29 q 167 505 167 280 q 294 883 167 730 q 650 1046 430 1046 q 999 882 868 1046 q 1120 505 1120 730 m 977 504 q 896 784 977 669 q 644 915 804 915 q 391 785 484 915 q 307 504 307 669 q 391 224 307 339 q 644 95 486 95 q 894 224 803 95 q 977 504 977 339 m 277 1040 l 83 799 l 0 799 l 140 1040 l 277 1040 "},Î:{x_min:0,x_max:1158,ha:1275,o:"m 1158 0 l 1022 0 l 1022 475 l 496 475 l 496 0 l 356 0 l 356 1012 l 496 1012 l 496 599 l 1022 599 l 1022 1012 l 1158 1012 l 1158 0 m 277 1040 l 83 799 l 0 799 l 140 1040 l 277 1040 "},"â¢":{x_min:0,x_max:663.890625,ha:775,o:"m 663 529 q 566 293 663 391 q 331 196 469 196 q 97 294 194 196 q 0 529 0 393 q 96 763 0 665 q 331 861 193 861 q 566 763 469 861 q 663 529 663 665 "},"Â¥":{x_min:.1875,x_max:819.546875,ha:886,o:"m 563 561 l 697 561 l 696 487 l 520 487 l 482 416 l 482 380 l 697 380 l 695 308 l 482 308 l 482 0 l 342 0 l 342 308 l 125 308 l 125 380 l 342 380 l 342 417 l 303 487 l 125 487 l 125 561 l 258 561 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 l 563 561 "},"(":{x_min:0,x_max:318.0625,ha:415,o:"m 318 -290 l 230 -290 q 61 23 122 -142 q 0 365 0 190 q 62 712 0 540 q 230 1024 119 869 l 318 1024 q 175 705 219 853 q 125 360 125 542 q 176 22 125 187 q 318 -290 223 -127 "},U:{x_min:0,x_max:796,ha:904,o:"m 796 393 q 681 93 796 212 q 386 -25 566 -25 q 101 95 208 -25 q 0 393 0 211 l 0 1013 l 138 1013 l 138 391 q 204 191 138 270 q 394 107 276 107 q 586 191 512 107 q 656 391 656 270 l 656 1013 l 796 1013 l 796 393 "},γ:{x_min:.5,x_max:744.953125,ha:822,o:"m 744 737 l 463 54 l 463 -278 l 338 -278 l 338 54 l 154 495 q 104 597 124 569 q 13 651 67 651 l 0 651 l 0 751 l 39 753 q 168 711 121 753 q 242 594 207 676 l 403 208 l 617 737 l 744 737 "},α:{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 728 407 760 q 563 637 524 696 l 563 739 l 685 739 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 96 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 "},F:{x_min:0,x_max:683.328125,ha:717,o:"m 683 888 l 140 888 l 140 583 l 613 583 l 613 458 l 140 458 l 140 0 l 0 0 l 0 1013 l 683 1013 l 683 888 "},"Â":{x_min:0,x_max:705.5625,ha:803,o:"m 705 334 l 0 334 l 0 410 l 705 410 l 705 334 "},":":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},Χ:{x_min:0,x_max:854.171875,ha:935,o:"m 854 0 l 683 0 l 423 409 l 166 0 l 0 0 l 347 519 l 18 1013 l 186 1013 l 427 637 l 675 1013 l 836 1013 l 504 521 l 854 0 "},"*":{x_min:116,x_max:674,ha:792,o:"m 674 768 l 475 713 l 610 544 l 517 477 l 394 652 l 272 478 l 178 544 l 314 713 l 116 766 l 153 876 l 341 812 l 342 1013 l 446 1013 l 446 811 l 635 874 l 674 768 "},"â ":{x_min:0,x_max:777,ha:835,o:"m 458 804 l 777 804 l 777 683 l 458 683 l 458 0 l 319 0 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 "},"°":{x_min:0,x_max:347,ha:444,o:"m 173 802 q 43 856 91 802 q 0 977 0 905 q 45 1101 0 1049 q 173 1153 90 1153 q 303 1098 255 1153 q 347 977 347 1049 q 303 856 347 905 q 173 802 256 802 m 173 884 q 238 910 214 884 q 262 973 262 937 q 239 1038 262 1012 q 173 1064 217 1064 q 108 1037 132 1064 q 85 973 85 1010 q 108 910 85 937 q 173 884 132 884 "},V:{x_min:0,x_max:862.71875,ha:940,o:"m 862 1013 l 505 0 l 361 0 l 0 1013 l 143 1013 l 434 165 l 718 1012 l 862 1013 "},Î:{x_min:0,x_max:734.71875,ha:763,o:"m 723 889 l 9 889 l 9 1013 l 723 1013 l 723 889 m 673 463 l 61 463 l 61 589 l 673 589 l 673 463 m 734 0 l 0 0 l 0 124 l 734 124 l 734 0 "}," ":{x_min:0,x_max:0,ha:853},Ϋ:{x_min:.328125,x_max:819.515625,ha:889,o:"m 588 1046 l 460 1046 l 460 1189 l 588 1189 l 588 1046 m 360 1046 l 232 1046 l 232 1189 l 360 1189 l 360 1046 m 819 1012 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1012 l 140 1012 l 411 533 l 679 1012 l 819 1012 "},"â":{x_min:0,x_max:347,ha:454,o:"m 139 851 q 102 737 139 784 q 0 669 65 690 l 0 734 q 59 787 42 741 q 72 873 72 821 l 0 873 l 0 1013 l 139 1013 l 139 851 m 347 851 q 310 737 347 784 q 208 669 273 690 l 208 734 q 267 787 250 741 q 280 873 280 821 l 208 873 l 208 1013 l 347 1013 l 347 851 "},"@":{x_min:0,x_max:1260,ha:1357,o:"m 1098 -45 q 877 -160 1001 -117 q 633 -203 752 -203 q 155 -29 327 -203 q 0 360 0 127 q 176 802 0 616 q 687 1008 372 1008 q 1123 854 969 1008 q 1260 517 1260 718 q 1155 216 1260 341 q 868 82 1044 82 q 772 106 801 82 q 737 202 737 135 q 647 113 700 144 q 527 82 594 82 q 367 147 420 82 q 314 312 314 212 q 401 565 314 452 q 639 690 498 690 q 810 588 760 690 l 849 668 l 938 668 q 877 441 900 532 q 833 226 833 268 q 853 182 833 198 q 902 167 873 167 q 1088 272 1012 167 q 1159 512 1159 372 q 1051 793 1159 681 q 687 925 925 925 q 248 747 415 925 q 97 361 97 586 q 226 26 97 159 q 627 -122 370 -122 q 856 -87 737 -122 q 1061 8 976 -53 l 1098 -45 m 786 488 q 738 580 777 545 q 643 615 700 615 q 483 517 548 615 q 425 322 425 430 q 457 203 425 250 q 552 156 490 156 q 722 273 665 156 q 786 488 738 309 "},Î:{x_min:0,x_max:499,ha:613,o:"m 277 1040 l 83 799 l 0 799 l 140 1040 l 277 1040 m 499 0 l 360 0 l 360 1012 l 499 1012 l 499 0 "},i:{x_min:14,x_max:136,ha:275,o:"m 136 873 l 14 873 l 14 1013 l 136 1013 l 136 873 m 136 0 l 14 0 l 14 737 l 136 737 l 136 0 "},Î:{x_min:0,x_max:778,ha:877,o:"m 580 545 q 724 468 671 534 q 778 310 778 402 q 673 83 778 170 q 432 0 575 0 l 0 0 l 0 1013 l 411 1013 q 629 957 541 1013 q 732 768 732 891 q 691 632 732 692 q 580 545 650 571 m 393 899 l 139 899 l 139 587 l 379 587 q 521 623 462 587 q 592 744 592 666 q 531 859 592 819 q 393 899 471 899 m 419 124 q 566 169 504 124 q 635 302 635 219 q 559 435 635 388 q 402 476 494 476 l 139 476 l 139 124 l 419 124 "},Ï
:{x_min:0,x_max:617,ha:725,o:"m 617 352 q 540 94 617 199 q 308 -24 455 -24 q 76 94 161 -24 q 0 352 0 199 l 0 739 l 126 739 l 126 355 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 355 492 257 l 492 739 l 617 739 l 617 352 "}
4739,"]":{x_min:0,x_max:275,ha:372,o:"m 275 -281 l 0 -281 l 0 -187 l 151 -187 l 151 920 l 0 920 l 0 1013 l 275 1013 l 275 -281 "},m:{x_min:0,x_max:1019,ha:1128,o:"m 1019 0 l 897 0 l 897 454 q 860 591 897 536 q 739 660 816 660 q 613 586 659 660 q 573 436 573 522 l 573 0 l 447 0 l 447 455 q 412 591 447 535 q 294 657 372 657 q 165 586 213 657 q 122 437 122 521 l 122 0 l 0 0 l 0 738 l 117 738 l 117 640 q 202 730 150 697 q 316 763 254 763 q 437 730 381 763 q 525 642 494 697 q 621 731 559 700 q 753 763 682 763 q 943 694 867 763 q 1019 512 1019 625 l 1019 0 "},Ï:{x_min:8.328125,x_max:780.5625,ha:815,o:"m 780 -278 q 715 -294 747 -294 q 616 -257 663 -294 q 548 -175 576 -227 l 379 133 l 143 -277 l 9 -277 l 313 254 l 163 522 q 127 586 131 580 q 36 640 91 640 q 8 637 27 640 l 8 752 l 52 757 q 162 719 113 757 q 236 627 200 690 l 383 372 l 594 737 l 726 737 l 448 250 l 625 -69 q 670 -153 647 -110 q 743 -188 695 -188 q 780 -184 759 -188 l 780 -278 "},ί:{x_min:42,x_max:326.71875,ha:361,o:"m 284 3 q 233 -10 258 -5 q 182 -15 207 -15 q 85 26 119 -15 q 42 200 42 79 l 42 737 l 167 737 l 168 215 q 172 141 168 157 q 226 101 183 101 q 248 102 239 101 q 284 112 257 104 l 284 3 m 326 1040 l 137 819 l 54 819 l 189 1040 l 326 1040 "},Î:{x_min:0,x_max:779.171875,ha:850,o:"m 779 0 l 0 0 l 0 113 l 620 896 l 40 896 l 40 1013 l 779 1013 l 779 887 l 170 124 l 779 124 l 779 0 "},R:{x_min:0,x_max:781.953125,ha:907,o:"m 781 0 l 623 0 q 587 242 590 52 q 407 433 585 433 l 138 433 l 138 0 l 0 0 l 0 1013 l 396 1013 q 636 946 539 1013 q 749 731 749 868 q 711 597 749 659 q 608 502 674 534 q 718 370 696 474 q 729 207 722 352 q 781 26 736 62 l 781 0 m 373 551 q 533 594 465 551 q 614 731 614 645 q 532 859 614 815 q 373 896 465 896 l 138 896 l 138 551 l 373 551 "},o:{x_min:0,x_max:713,ha:821,o:"m 357 -25 q 94 91 194 -25 q 0 368 0 202 q 93 642 0 533 q 357 761 193 761 q 618 644 518 761 q 713 368 713 533 q 619 91 713 201 q 357 -25 521 -25 m 357 85 q 528 175 465 85 q 584 369 584 255 q 529 562 584 484 q 357 651 467 651 q 189 560 250 651 q 135 369 135 481 q 187 177 135 257 q 357 85 250 85 "},K:{x_min:0,x_max:819.46875,ha:906,o:"m 819 0 l 649 0 l 294 509 l 139 355 l 139 0 l 0 0 l 0 1013 l 139 1013 l 139 526 l 626 1013 l 809 1013 l 395 600 l 819 0 "},",":{x_min:0,x_max:142,ha:239,o:"m 142 -12 q 105 -132 142 -82 q 0 -205 68 -182 l 0 -138 q 57 -82 40 -124 q 70 0 70 -51 l 0 0 l 0 151 l 142 151 l 142 -12 "},d:{x_min:0,x_max:683,ha:796,o:"m 683 0 l 564 0 l 564 93 q 456 6 516 38 q 327 -25 395 -25 q 87 100 181 -25 q 0 365 0 215 q 90 639 0 525 q 343 763 187 763 q 564 647 486 763 l 564 1013 l 683 1013 l 683 0 m 582 373 q 529 562 582 484 q 361 653 468 653 q 190 561 253 653 q 135 365 135 479 q 189 175 135 254 q 358 85 251 85 q 529 178 468 85 q 582 373 582 258 "},"¨":{x_min:-109,x_max:247,ha:232,o:"m 247 1046 l 119 1046 l 119 1189 l 247 1189 l 247 1046 m 19 1046 l -109 1046 l -109 1189 l 19 1189 l 19 1046 "},E:{x_min:0,x_max:736.109375,ha:789,o:"m 736 0 l 0 0 l 0 1013 l 725 1013 l 725 889 l 139 889 l 139 585 l 677 585 l 677 467 l 139 467 l 139 125 l 736 125 l 736 0 "},Y:{x_min:0,x_max:820,ha:886,o:"m 820 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 534 l 679 1012 l 820 1013 "},'"':{x_min:0,x_max:299,ha:396,o:"m 299 606 l 203 606 l 203 988 l 299 988 l 299 606 m 96 606 l 0 606 l 0 988 l 96 988 l 96 606 "},"â¹":{x_min:17.984375,x_max:773.609375,ha:792,o:"m 773 40 l 18 376 l 17 465 l 773 799 l 773 692 l 159 420 l 773 149 l 773 40 "},"â":{x_min:0,x_max:364,ha:467,o:"m 141 -12 q 104 -132 141 -82 q 0 -205 67 -182 l 0 -138 q 56 -82 40 -124 q 69 0 69 -51 l 0 0 l 0 151 l 141 151 l 141 -12 m 364 -12 q 327 -132 364 -82 q 222 -205 290 -182 l 222 -138 q 279 -82 262 -124 q 292 0 292 -51 l 222 0 l 222 151 l 364 151 l 364 -12 "},δ:{x_min:1,x_max:710,ha:810,o:"m 710 360 q 616 87 710 196 q 356 -28 518 -28 q 99 82 197 -28 q 1 356 1 192 q 100 606 1 509 q 355 703 199 703 q 180 829 288 754 q 70 903 124 866 l 70 1012 l 643 1012 l 643 901 l 258 901 q 462 763 422 794 q 636 592 577 677 q 710 360 710 485 m 584 365 q 552 501 584 447 q 451 602 521 555 q 372 611 411 611 q 197 541 258 611 q 136 355 136 472 q 190 171 136 245 q 358 85 252 85 q 528 173 465 85 q 584 365 584 252 "},Î:{x_min:0,x_max:634.71875,ha:714,o:"m 634 234 q 527 38 634 110 q 300 -25 433 -25 q 98 29 183 -25 q 0 204 0 93 q 37 313 0 265 q 128 390 67 352 q 56 459 82 419 q 26 555 26 505 q 114 712 26 654 q 295 763 191 763 q 499 700 416 763 q 589 515 589 631 l 478 515 q 419 618 464 580 q 307 657 374 657 q 207 630 253 657 q 151 547 151 598 q 238 445 151 469 q 389 434 280 434 l 389 331 l 349 331 q 206 315 255 331 q 125 210 125 287 q 183 107 125 145 q 302 76 233 76 q 43
47396 117 379 76 q 509 234 493 159 l 634 234 m 520 1040 l 331 819 l 248 819 l 383 1040 l 520 1040 "},Ï:{x_min:0,x_max:922,ha:1031,o:"m 922 339 q 856 97 922 203 q 650 -26 780 -26 q 538 9 587 -26 q 461 103 489 44 q 387 12 436 46 q 277 -22 339 -22 q 69 97 147 -22 q 0 339 0 203 q 45 551 0 444 q 161 738 84 643 l 302 738 q 175 553 219 647 q 124 336 124 446 q 155 179 124 249 q 275 88 197 88 q 375 163 341 88 q 400 294 400 219 l 400 572 l 524 572 l 524 294 q 561 135 524 192 q 643 88 591 88 q 762 182 719 88 q 797 342 797 257 q 745 556 797 450 q 619 738 705 638 l 760 738 q 874 551 835 640 q 922 339 922 444 "},"´":{x_min:0,x_max:96,ha:251,o:"m 96 606 l 0 606 l 0 988 l 96 988 l 96 606 "},"±":{x_min:11,x_max:781,ha:792,o:"m 781 490 l 446 490 l 446 255 l 349 255 l 349 490 l 11 490 l 11 586 l 349 586 l 349 819 l 446 819 l 446 586 l 781 586 l 781 490 m 781 21 l 11 21 l 11 115 l 781 115 l 781 21 "},"|":{x_min:343,x_max:449,ha:792,o:"m 449 462 l 343 462 l 343 986 l 449 986 l 449 462 m 449 -242 l 343 -242 l 343 280 l 449 280 l 449 -242 "},Ï:{x_min:0,x_max:617,ha:725,o:"m 482 800 l 372 800 l 372 925 l 482 925 l 482 800 m 239 800 l 129 800 l 129 925 l 239 925 l 239 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 "},"§":{x_min:0,x_max:593,ha:690,o:"m 593 425 q 554 312 593 369 q 467 233 516 254 q 537 83 537 172 q 459 -74 537 -12 q 288 -133 387 -133 q 115 -69 184 -133 q 47 96 47 -6 l 166 96 q 199 7 166 40 q 288 -26 232 -26 q 371 -5 332 -26 q 420 60 420 21 q 311 201 420 139 q 108 309 210 255 q 0 490 0 383 q 33 602 0 551 q 124 687 66 654 q 75 743 93 712 q 58 812 58 773 q 133 984 58 920 q 300 1043 201 1043 q 458 987 394 1043 q 529 814 529 925 l 411 814 q 370 908 404 877 q 289 939 336 939 q 213 911 246 939 q 180 841 180 883 q 286 720 180 779 q 484 612 480 615 q 593 425 593 534 m 467 409 q 355 544 467 473 q 196 630 228 612 q 146 587 162 609 q 124 525 124 558 q 239 387 124 462 q 398 298 369 315 q 448 345 429 316 q 467 409 467 375 "},b:{x_min:0,x_max:685,ha:783,o:"m 685 372 q 597 99 685 213 q 347 -25 501 -25 q 219 5 277 -25 q 121 93 161 36 l 121 0 l 0 0 l 0 1013 l 121 1013 l 121 634 q 214 723 157 692 q 341 754 272 754 q 591 637 493 754 q 685 372 685 526 m 554 356 q 499 550 554 470 q 328 644 437 644 q 162 556 223 644 q 108 369 108 478 q 160 176 108 256 q 330 83 221 83 q 498 169 435 83 q 554 356 554 245 "},q:{x_min:0,x_max:683,ha:876,o:"m 683 -278 l 564 -278 l 564 97 q 474 8 533 39 q 345 -23 415 -23 q 91 93 188 -23 q 0 364 0 203 q 87 635 0 522 q 337 760 184 760 q 466 727 408 760 q 564 637 523 695 l 564 737 l 683 737 l 683 -278 m 582 375 q 527 564 582 488 q 358 652 466 652 q 190 565 253 652 q 135 377 135 488 q 189 179 135 261 q 361 84 251 84 q 530 179 469 84 q 582 375 582 260 "},Ω:{x_min:-.171875,x_max:969.5625,ha:1068,o:"m 969 0 l 555 0 l 555 123 q 744 308 675 194 q 814 558 814 423 q 726 812 814 709 q 484 922 633 922 q 244 820 334 922 q 154 567 154 719 q 223 316 154 433 q 412 123 292 199 l 412 0 l 0 0 l 0 124 l 217 124 q 68 327 122 210 q 15 572 15 444 q 144 911 15 781 q 484 1041 274 1041 q 822 909 691 1041 q 953 569 953 777 q 899 326 953 443 q 750 124 846 210 l 969 124 l 969 0 "},Ï:{x_min:0,x_max:617,ha:725,o:"m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 535 1040 l 346 819 l 262 819 l 397 1040 l 535 1040 "},z:{x_min:-.015625,x_max:613.890625,ha:697,o:"m 613 0 l 0 0 l 0 100 l 433 630 l 20 630 l 20 738 l 594 738 l 593 636 l 163 110 l 613 110 l 613 0 "},"â¢":{x_min:0,x_max:894,ha:1e3,o:"m 389 951 l 229 951 l 229 503 l 160 503 l 160 951 l 0 951 l 0 1011 l 389 1011 l 389 951 m 894 503 l 827 503 l 827 939 l 685 503 l 620 503 l 481 937 l 481 503 l 417 503 l 417 1011 l 517 1011 l 653 580 l 796 1010 l 894 1011 l 894 503 "},ή:{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 721 124 755 q 200 630 193 687 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 m 479 1040 l 290 819 l 207 819 l 341 1040 l 479 1040 "},Î:{x_min:0,x_max:960,ha:1056,o:"m 960 507 q 833 129 960 280 q 476 -32 698 -32 q 123 129 255 -32 q 0 507 0 28
47390 q 123 883 0 732 q 476 1045 255 1045 q 832 883 696 1045 q 960 507 960 732 m 817 500 q 733 789 817 669 q 476 924 639 924 q 223 792 317 924 q 142 507 142 675 q 222 222 142 339 q 476 89 315 89 q 730 218 636 89 q 817 500 817 334 m 716 449 l 243 449 l 243 571 l 716 571 l 716 449 "},"®":{x_min:-3,x_max:1008,ha:1106,o:"m 503 532 q 614 562 566 532 q 672 658 672 598 q 614 747 672 716 q 503 772 569 772 l 338 772 l 338 532 l 503 532 m 502 -7 q 123 151 263 -7 q -3 501 -3 294 q 123 851 -3 706 q 502 1011 263 1011 q 881 851 739 1011 q 1008 501 1008 708 q 883 151 1008 292 q 502 -7 744 -7 m 502 60 q 830 197 709 60 q 940 501 940 322 q 831 805 940 681 q 502 944 709 944 q 174 805 296 944 q 65 501 65 680 q 173 197 65 320 q 502 60 294 60 m 788 146 l 678 146 q 653 316 655 183 q 527 449 652 449 l 338 449 l 338 146 l 241 146 l 241 854 l 518 854 q 688 808 621 854 q 766 658 766 755 q 739 563 766 607 q 668 497 713 519 q 751 331 747 472 q 788 164 756 190 l 788 146 "},"~":{x_min:0,x_max:833,ha:931,o:"m 833 958 q 778 753 833 831 q 594 665 716 665 q 402 761 502 665 q 240 857 302 857 q 131 795 166 857 q 104 665 104 745 l 0 665 q 54 867 0 789 q 237 958 116 958 q 429 861 331 958 q 594 765 527 765 q 704 827 670 765 q 729 958 729 874 l 833 958 "},Î:{x_min:0,x_max:736.21875,ha:778,o:"m 736 0 l 0 0 l 0 1013 l 725 1013 l 725 889 l 139 889 l 139 585 l 677 585 l 677 467 l 139 467 l 139 125 l 736 125 l 736 0 "},"³":{x_min:0,x_max:450,ha:547,o:"m 450 552 q 379 413 450 464 q 220 366 313 366 q 69 414 130 366 q 0 567 0 470 l 85 567 q 126 470 85 504 q 225 437 168 437 q 320 467 280 437 q 360 552 360 498 q 318 632 360 608 q 213 657 276 657 q 195 657 203 657 q 176 657 181 657 l 176 722 q 279 733 249 722 q 334 815 334 752 q 300 881 334 856 q 220 907 267 907 q 133 875 169 907 q 97 781 97 844 l 15 781 q 78 926 15 875 q 220 972 135 972 q 364 930 303 972 q 426 817 426 888 q 344 697 426 733 q 421 642 392 681 q 450 552 450 603 "},"[":{x_min:0,x_max:273.609375,ha:371,o:"m 273 -281 l 0 -281 l 0 1013 l 273 1013 l 273 920 l 124 920 l 124 -187 l 273 -187 l 273 -281 "},L:{x_min:0,x_max:645.828125,ha:696,o:"m 645 0 l 0 0 l 0 1013 l 140 1013 l 140 126 l 645 126 l 645 0 "},Ï:{x_min:0,x_max:803.390625,ha:894,o:"m 803 628 l 633 628 q 713 368 713 512 q 618 93 713 204 q 357 -25 518 -25 q 94 91 194 -25 q 0 368 0 201 q 94 644 0 533 q 356 761 194 761 q 481 750 398 761 q 608 739 564 739 l 803 739 l 803 628 m 360 85 q 529 180 467 85 q 584 374 584 262 q 527 566 584 490 q 352 651 463 651 q 187 559 247 651 q 135 368 135 478 q 189 175 135 254 q 360 85 251 85 "},ζ:{x_min:0,x_max:573,ha:642,o:"m 573 -40 q 553 -162 573 -97 q 510 -278 543 -193 l 400 -278 q 441 -187 428 -219 q 462 -90 462 -132 q 378 -14 462 -14 q 108 45 197 -14 q 0 290 0 117 q 108 631 0 462 q 353 901 194 767 l 55 901 l 55 1012 l 561 1012 l 561 924 q 261 669 382 831 q 128 301 128 489 q 243 117 128 149 q 458 98 350 108 q 573 -40 573 80 "},θ:{x_min:0,x_max:674,ha:778,o:"m 674 496 q 601 160 674 304 q 336 -26 508 -26 q 73 153 165 -26 q 0 485 0 296 q 72 840 0 683 q 343 1045 166 1045 q 605 844 516 1045 q 674 496 674 692 m 546 579 q 498 798 546 691 q 336 935 437 935 q 178 798 237 935 q 126 579 137 701 l 546 579 m 546 475 l 126 475 q 170 233 126 348 q 338 80 230 80 q 504 233 447 80 q 546 475 546 346 "},Î:{x_min:0,x_max:958,ha:1054,o:"m 485 1042 q 834 883 703 1042 q 958 511 958 735 q 834 136 958 287 q 481 -26 701 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 729 q 485 1042 263 1042 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 670 q 480 913 640 913 q 226 785 321 913 q 142 504 142 671 q 226 224 142 339 q 480 98 319 98 "},Î:{x_min:0,x_max:705.28125,ha:749,o:"m 705 886 l 140 886 l 140 0 l 0 0 l 0 1012 l 705 1012 l 705 886 "}," ":{x_min:0,x_max:0,ha:375},"%":{x_min:-3,x_max:1089,ha:1186,o:"m 845 0 q 663 76 731 0 q 602 244 602 145 q 661 412 602 344 q 845 489 728 489 q 1027 412 959 489 q 1089 244 1089 343 q 1029 76 1089 144 q 845 0 962 0 m 844 103 q 945 143 909 103 q 981 243 981 184 q 947 340 981 301 q 844 385 909 385 q 744 342 781 385 q 708 243 708 300 q 741 147 708 186 q 844 103 780 103 m 888 986 l 284 -25 l 199 -25 l 803 986 l 888 986 m 241 468 q 58 545 126 468 q -3 715 -3 615 q 56 881 -3 813 q 238 958 124 958 q 421 881 353 958 q 483 712 483 813 q 423 544 483 612 q 241 468 356 468 m 241 855 q 137 811 175 855 q 100 710 100 768 q 136 612 100 653 q 240 572 172 572 q 344 614 306 572 q 382 713 382 656 q 347 8
473910 382 771 q 241 855 308 855 "},P:{x_min:0,x_max:726,ha:806,o:"m 424 1013 q 640 931 555 1013 q 726 719 726 850 q 637 506 726 587 q 413 426 548 426 l 140 426 l 140 0 l 0 0 l 0 1013 l 424 1013 m 379 889 l 140 889 l 140 548 l 372 548 q 522 589 459 548 q 593 720 593 637 q 528 845 593 801 q 379 889 463 889 "},Î:{x_min:0,x_max:1078.21875,ha:1118,o:"m 1078 0 l 342 0 l 342 1013 l 1067 1013 l 1067 889 l 481 889 l 481 585 l 1019 585 l 1019 467 l 481 467 l 481 125 l 1078 125 l 1078 0 m 277 1040 l 83 799 l 0 799 l 140 1040 l 277 1040 "},Î:{x_min:.125,x_max:1136.546875,ha:1235,o:"m 1136 0 l 722 0 l 722 123 q 911 309 842 194 q 981 558 981 423 q 893 813 981 710 q 651 923 800 923 q 411 821 501 923 q 321 568 321 720 q 390 316 321 433 q 579 123 459 200 l 579 0 l 166 0 l 166 124 l 384 124 q 235 327 289 210 q 182 572 182 444 q 311 912 182 782 q 651 1042 441 1042 q 989 910 858 1042 q 1120 569 1120 778 q 1066 326 1120 443 q 917 124 1013 210 l 1136 124 l 1136 0 m 277 1040 l 83 800 l 0 800 l 140 1041 l 277 1040 "},_:{x_min:0,x_max:705.5625,ha:803,o:"m 705 -334 l 0 -334 l 0 -234 l 705 -234 l 705 -334 "},Ϊ:{x_min:-110,x_max:246,ha:275,o:"m 246 1046 l 118 1046 l 118 1189 l 246 1189 l 246 1046 m 18 1046 l -110 1046 l -110 1189 l 18 1189 l 18 1046 m 136 0 l 0 0 l 0 1012 l 136 1012 l 136 0 "},"+":{x_min:23,x_max:768,ha:792,o:"m 768 372 l 444 372 l 444 0 l 347 0 l 347 372 l 23 372 l 23 468 l 347 468 l 347 840 l 444 840 l 444 468 l 768 468 l 768 372 "},"½":{x_min:0,x_max:1050,ha:1149,o:"m 1050 0 l 625 0 q 712 178 625 108 q 878 277 722 187 q 967 385 967 328 q 932 456 967 429 q 850 484 897 484 q 759 450 798 484 q 721 352 721 416 l 640 352 q 706 502 640 448 q 851 551 766 551 q 987 509 931 551 q 1050 385 1050 462 q 976 251 1050 301 q 829 179 902 215 q 717 68 740 133 l 1050 68 l 1050 0 m 834 985 l 215 -28 l 130 -28 l 750 984 l 834 985 m 224 422 l 142 422 l 142 811 l 0 811 l 0 867 q 104 889 62 867 q 164 973 157 916 l 224 973 l 224 422 "},Ρ:{x_min:0,x_max:720,ha:783,o:"m 424 1013 q 637 933 554 1013 q 720 723 720 853 q 633 508 720 591 q 413 426 546 426 l 140 426 l 140 0 l 0 0 l 0 1013 l 424 1013 m 378 889 l 140 889 l 140 548 l 371 548 q 521 589 458 548 q 592 720 592 637 q 527 845 592 801 q 378 889 463 889 "},"'":{x_min:0,x_max:139,ha:236,o:"m 139 851 q 102 737 139 784 q 0 669 65 690 l 0 734 q 59 787 42 741 q 72 873 72 821 l 0 873 l 0 1013 l 139 1013 l 139 851 "},ª:{x_min:0,x_max:350,ha:397,o:"m 350 625 q 307 616 328 616 q 266 631 281 616 q 247 673 251 645 q 190 628 225 644 q 116 613 156 613 q 32 641 64 613 q 0 722 0 669 q 72 826 0 800 q 247 866 159 846 l 247 887 q 220 934 247 916 q 162 953 194 953 q 104 934 129 953 q 76 882 80 915 l 16 882 q 60 976 16 941 q 166 1011 104 1011 q 266 979 224 1011 q 308 891 308 948 l 308 706 q 311 679 308 688 q 331 670 315 670 l 350 672 l 350 625 m 247 757 l 247 811 q 136 790 175 798 q 64 726 64 773 q 83 682 64 697 q 132 667 103 667 q 207 690 174 667 q 247 757 247 718 "},"Î
":{x_min:0,x_max:450,ha:553,o:"m 450 800 l 340 800 l 340 925 l 450 925 l 450 800 m 406 1040 l 212 800 l 129 800 l 269 1040 l 406 1040 m 110 800 l 0 800 l 0 925 l 110 925 l 110 800 "},T:{x_min:0,x_max:777,ha:835,o:"m 777 894 l 458 894 l 458 0 l 319 0 l 319 894 l 0 894 l 0 1013 l 777 1013 l 777 894 "},Φ:{x_min:0,x_max:915,ha:997,o:"m 527 0 l 389 0 l 389 122 q 110 231 220 122 q 0 509 0 340 q 110 785 0 677 q 389 893 220 893 l 389 1013 l 527 1013 l 527 893 q 804 786 693 893 q 915 509 915 679 q 805 231 915 341 q 527 122 696 122 l 527 0 m 527 226 q 712 310 641 226 q 779 507 779 389 q 712 705 779 627 q 527 787 641 787 l 527 226 m 389 226 l 389 787 q 205 698 275 775 q 136 505 136 620 q 206 308 136 391 q 389 226 276 226 "},"â":{x_min:0,x_max:0,ha:694},j:{x_min:-77.78125,x_max:167,ha:349,o:"m 167 871 l 42 871 l 42 1013 l 167 1013 l 167 871 m 167 -80 q 121 -231 167 -184 q -26 -278 76 -278 l -77 -278 l -77 -164 l -41 -164 q 26 -143 11 -164 q 42 -65 42 -122 l 42 737 l 167 737 l 167 -80 "},Σ:{x_min:0,x_max:756.953125,ha:819,o:"m 756 0 l 0 0 l 0 107 l 395 523 l 22 904 l 22 1013 l 745 1013 l 745 889 l 209 889 l 566 523 l 187 125 l 756 125 l 756 0 "},"âº":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},"<":{x_min:17.984375,x_max:773.609375,ha:792,o:"m 773 40 l 18 376 l 17 465 l 773 799 l 773 692 l 159 420 l 773 149 l 773 40 "},"£":{x_min:0,x_max:704.484375,ha:801,o:"m 704 41 q 623 -10 664 5 q 543 -26 583 -26 q 359 15 501 -26 q 243 36 288 36 q 158 23 197 36 q 73 -21 119 10 l 6 76 q 125 195 90 150 q 175 331 175 262 q 147 443 175 383 l 0 443 l 0 512 l 108 512 q 43 734 43 623 q 120 929 43 854 q 358 1010 204 1010 q 579 936 487 1010 q 678 729 678 857 l 678 684 l 552 684 q 504 838 552 780 q 362 896 457 896 q 216 852 263 896 q 176 747 176 815 q 199 627 176 697 q 248 512 217 574 l 468 512 l 468 443 l 279 443 q 297 356 297 398 q 230 194 297 279 q 153 107 211 170 q 227 133 190 125 q 293 142 264 142 q 410 119 339 142 q 516 96 482 96 q 579 105 550 96 q 648 142 608 115 l 704 41 "},t:{x_min:0,x_max:367,ha:458,o:"m 367 0 q 312 -5 339 -2 q 262 -8 284 -8 q 145 28 183 -8 q 108 143 108 64 l 108 638 l 0 638 l 0 738 l 108 738 l 108 944 l 232 944 l 232 738 l 367 738 l 367 638 l 232 638 l 232 185 q 248 121 232 140 q 307 102 264 102 q 345 104 330 102 q 367 107 360 107 l 367 0 "},"¬":{x_min:0,x_max:706,ha:803,o:"m 706 411 l 706 158 l 630 158 l 630 335 l 0 335 l 0 411 l 706 411 "},λ:{x_min:0,x_max:750,ha:803,o:"m 750 -7 q 679 -15 716 -15 q 538 59 591 -15 q 466 214 512 97 l 336 551 l 126 0 l 0 0 l 270 705 q 223 837 247 770 q 116 899 190 899 q 90 898 100 899 l 90 1004 q 152 1011 125 1011 q 298 938 244 1011 q 373 783 326 901 l 605 192 q 649 115 629 136 q 716 95 669 95 l 736 95 q 750 97 745 97 l 750 -7 "},W:{x_min:0,x_max:1263.890625,ha:1351,o:"m 1263 1013 l 995 0 l 859 0 l 627 837 l 405 0 l 265 0 l 0 1013 l 136 1013 l 342 202 l 556 1013 l 701 1013 l 921 207 l 1133 1012 l 1263 1013 "},">":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},v:{x_min:0,x_max:675.15625,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 737 l 340 147 l 541 737 l 675 738 "},Ï:{x_min:.28125,x_max:644.5,ha:703,o:"m 644 628 l 382 628 l 382 179 q 388 120 382 137 q 43
47396 91 401 91 q 474 94 447 91 q 504 97 501 97 l 504 0 q 454 -9 482 -5 q 401 -14 426 -14 q 278 67 308 -14 q 260 233 260 118 l 260 628 l 0 628 l 0 739 l 644 739 l 644 628 "},ξ:{x_min:0,x_max:624.9375,ha:699,o:"m 624 -37 q 608 -153 624 -96 q 563 -278 593 -211 l 454 -278 q 491 -183 486 -200 q 511 -83 511 -126 q 484 -23 511 -44 q 370 1 452 1 q 323 0 354 1 q 283 -1 293 -1 q 84 76 169 -1 q 0 266 0 154 q 56 431 0 358 q 197 538 108 498 q 94 613 134 562 q 54 730 54 665 q 77 823 54 780 q 143 901 101 867 l 27 901 l 27 1012 l 576 1012 l 576 901 l 380 901 q 244 863 303 901 q 178 745 178 820 q 312 600 178 636 q 532 582 380 582 l 532 479 q 276 455 361 479 q 118 281 118 410 q 165 173 118 217 q 274 120 208 133 q 494 101 384 110 q 624 -37 624 76 "},"&":{x_min:-3,x_max:894.25,ha:992,o:"m 894 0 l 725 0 l 624 123 q 471 0 553 40 q 306 -41 390 -41 q 168 -7 231 -41 q 62 92 105 26 q 14 187 31 139 q -3 276 -3 235 q 55 433 -3 358 q 248 581 114 508 q 170 689 196 640 q 137 817 137 751 q 214 985 137 922 q 384 1041 284 1041 q 548 988 483 1041 q 622 824 622 928 q 563 666 622 739 q 431 556 516 608 l 621 326 q 649 407 639 361 q 663 493 653 426 l 781 493 q 703 229 781 352 l 894 0 m 504 818 q 468 908 504 877 q 384 940 433 940 q 293 907 331 940 q 255 818 255 875 q 289 714 255 767 q 363 628 313 678 q 477 729 446 682 q 504 818 504 771 m 556 209 l 314 499 q 179 395 223 449 q 135 283 135 341 q 146 222 135 253 q 183 158 158 192 q 333 80 241 80 q 556 209 448 80 "},Î:{x_min:0,x_max:862.5,ha:942,o:"m 862 0 l 719 0 l 426 847 l 143 0 l 0 0 l 356 1013 l 501 1013 l 862 0 "},I:{x_min:41,x_max:180,ha:293,o:"m 180 0 l 41 0 l 41 1013 l 180 1013 l 180 0 "},G:{x_min:0,x_max:921,ha:1011,o:"m 921 0 l 832 0 l 801 136 q 655 15 741 58 q 470 -28 568 -28 q 126 133 259 -28 q 0 499 0 284 q 125 881 0 731 q 486 1043 259 1043 q 763 957 647 1043 q 905 709 890 864 l 772 709 q 668 866 747 807 q 486 926 589 926 q 228 795 322 926 q 142 507 142 677 q 228 224 142 342 q 483 94 323 94 q 712 195 625 94 q 796 435 796 291 l 477 435 l 477 549 l 921 549 l 921 0 "},ΰ:{x_min:0,x_max:617,ha:725,o:"m 524 800 l 414 800 l 414 925 l 524 925 l 524 800 m 183 800 l 73 800 l 73 925 l 183 925 l 183 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 489 1040 l 300 819 l 216 819 l 351 1040 l 489 1040 "},"`":{x_min:0,x_max:138.890625,ha:236,o:"m 138 699 l 0 699 l 0 861 q 36 974 0 929 q 138 1041 72 1020 l 138 977 q 82 931 95 969 q 69 839 69 893 l 138 839 l 138 699 "},"·":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},Î¥:{x_min:.328125,x_max:819.515625,ha:889,o:"m 819 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 "},r:{x_min:0,x_max:355.5625,ha:432,o:"m 355 621 l 343 621 q 179 569 236 621 q 122 411 122 518 l 122 0 l 0 0 l 0 737 l 117 737 l 117 604 q 204 719 146 686 q 355 753 262 753 l 355 621 "},x:{x_min:0,x_max:675,ha:764,o:"m 675 0 l 525 0 l 331 286 l 144 0 l 0 0 l 256 379 l 12 738 l 157 737 l 336 473 l 516 738 l 661 738 l 412 380 l 675 0 "},μ:{x_min:0,x_max:696.609375,ha:747,o:"m 696 -4 q 628 -14 657 -14 q 498 97 513 -14 q 422 8 470 41 q 313 -24 374 -24 q 207 3 258 -24 q 120 80 157 31 l 120 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 172 124 246 q 308 82 216 82 q 451 177 402 82 q 492 358 492 254 l 492 738 l 616 738 l 616 214 q 623 136 616 160 q 673 92 636 92 q 696 95 684 92 l 696 -4 "},h:{x_min:0,x_max:615,ha:724,o:"m 615 472 l 615 0 l 490 0 l 490 454 q 456 590 490 535 q 338 654 416 654 q 186 588 251 654 q 122 436 122 522 l 122 0 l 0 0 l 0 1013 l 122 1013 l 122 633 q 218 727 149 694 q 362 760 287 760 q 552 676 484 760 q 615 472 615 600 "},".":{x_min:0,x_max:142,ha:239,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},Ï:{x_min:-2,x_max:878,ha:974,o:"m 496 -279 l 378 -279 l 378 -17 q 101 88 204 -17 q -2 367 -2 194 q 68 626 -2 510 q 283 758 151 758 l 283 646 q 167 537 209 626 q 133 373 133 462 q 192 177 133 254 q 378 93 259 93 l 378 758 q 445 764 426 763 q 476 765 464 765 q 765 659 653 765 q 878 377 878 553 q 771 96 878 209 q 496 -17 665 -17 l 496 -279 m 496 93 l 514 93 q 687 183 623 93 q 746 380 746 265 q 691 569 746 491 q 522 658 629 658 l 496 656 l 496 93 "},";":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 -12 q 105 -132 142 -82 q 0 -206 68 -182 l 0 -138 q 58 -82 43 -123 q 68 0 68 -56 l 0 0 l 0 151 l 142 151 l 142 -12 "},f:{x_min:0,x_max:378,ha:472,o:"m 378 638 l 246 638 l 246 0 l 121 0 l 121 638 l 0 638 l 0 738 l 121 738 q 137 935 121 887 q 290 1028 171 1028 q 320 1027 305 1028 q 378 1021 334 1026 l 378 908 q 323 918 346 918 q 257 870 273 918 q 246 780 246 840 l 246 738 l 378 738 l 378 638 "},"â":{x_min:1,x_max:348.21875,ha:454,o:"m 140 670 l 1 670 l 1 830 q 37 943 1 897 q 140 1011 74 990 l 140 947 q 82 900 97 940 q 68 810 68 861 l 140 810 l 140 670 m 348 670 l 209 670 l 209 830 q 245 943 209 897 q 348 1011 282 990 l 348 947 q 290 900 305 940 q 276 810 276 861 l 348 810 l 348 670 "},A:{x_min:.03125,x_max:906.953125,ha:1008,o:"m 906 0 l 756 0 l 648 303 l 251 303 l 142 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 610 421 l 452 867 l 293 421 l 610 421 "},"â":{x_min:1,x_max:139.890625,ha:236,o:"m 139 670 l 1 670 l 1 830 q 37 943 1 897 q 139 1011 74 990 l 139 947 q 82 900 97 940 q 68 810 68 861 l 139 810 l 139 670 "},Ï:{x_min:-70,x_max:283,ha:361,o:"m 283 800 l 173 800 l 173 925 l 283 925 l 283 800 m 40 800 l -70 800 l -70 925 l 40 925 l 40 800 m 283 3 q 232 -10 257
4739-5 q 181 -15 206 -15 q 84 26 118 -15 q 41 200 41 79 l 41 737 l 166 737 l 167 215 q 171 141 167 157 q 225 101 182 101 q 247 103 238 101 q 283 112 256 104 l 283 3 "},Ï:{x_min:-.21875,x_max:773.21875,ha:857,o:"m 773 -7 l 707 -11 q 575 40 607 -11 q 552 174 552 77 l 552 226 l 552 626 l 222 626 l 222 0 l 97 0 l 97 626 l 0 626 l 0 737 l 773 737 l 773 626 l 676 626 l 676 171 q 695 103 676 117 q 773 90 714 90 l 773 -7 "},ά:{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 727 407 760 q 563 637 524 695 l 563 738 l 685 738 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 95 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 m 604 1040 l 415 819 l 332 819 l 466 1040 l 604 1040 "},O:{x_min:0,x_max:958,ha:1057,o:"m 485 1041 q 834 882 702 1041 q 958 512 958 734 q 834 136 958 287 q 481 -26 702 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 728 q 485 1041 263 1041 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 669 q 480 912 640 912 q 226 784 321 912 q 142 504 142 670 q 226 224 142 339 q 480 98 319 98 "},n:{x_min:0,x_max:615,ha:724,o:"m 615 463 l 615 0 l 490 0 l 490 454 q 453 592 490 537 q 331 656 410 656 q 178 585 240 656 q 117 421 117 514 l 117 0 l 0 0 l 0 738 l 117 738 l 117 630 q 218 728 150 693 q 359 764 286 764 q 552 675 484 764 q 615 463 615 593 "},l:{x_min:41,x_max:166,ha:279,o:"m 166 0 l 41 0 l 41 1013 l 166 1013 l 166 0 "}
4739,"¤":{x_min:40.09375,x_max:728.796875,ha:825,o:"m 728 304 l 649 224 l 512 363 q 383 331 458 331 q 256 363 310 331 l 119 224 l 40 304 l 177 441 q 150 553 150 493 q 184 673 150 621 l 40 818 l 119 898 l 267 749 q 321 766 291 759 q 384 773 351 773 q 447 766 417 773 q 501 749 477 759 l 649 898 l 728 818 l 585 675 q 612 618 604 648 q 621 553 621 587 q 591 441 621 491 l 728 304 m 384 682 q 280 643 318 682 q 243 551 243 604 q 279 461 243 499 q 383 423 316 423 q 487 461 449 423 q 525 553 525 500 q 490 641 525 605 q 384 682 451 682 "},κ:{x_min:0,x_max:632.328125,ha:679,o:"m 632 0 l 482 0 l 225 384 l 124 288 l 124 0 l 0 0 l 0 738 l 124 738 l 124 446 l 433 738 l 596 738 l 312 466 l 632 0 "},p:{x_min:0,x_max:685,ha:786,o:"m 685 364 q 598 96 685 205 q 350 -23 504 -23 q 121 89 205 -23 l 121 -278 l 0 -278 l 0 738 l 121 738 l 121 633 q 220 726 159 691 q 351 761 280 761 q 598 636 504 761 q 685 364 685 522 m 557 371 q 501 560 557 481 q 330 651 437 651 q 162 559 223 651 q 108 366 108 479 q 162 177 108 254 q 333 87 224 87 q 502 178 441 87 q 557 371 557 258 "},"â¡":{x_min:0,x_max:777,ha:835,o:"m 458 238 l 458 0 l 319 0 l 319 238 l 0 238 l 0 360 l 319 360 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 l 777 804 l 777 683 l 458 683 l 458 360 l 777 360 l 777 238 l 458 238 "},Ï:{x_min:0,x_max:808,ha:907,o:"m 465 -278 l 341 -278 l 341 -15 q 87 102 180 -15 q 0 378 0 210 l 0 739 l 133 739 l 133 379 q 182 195 133 275 q 341 98 242 98 l 341 922 l 465 922 l 465 98 q 623 195 563 98 q 675 382 675 278 l 675 742 l 808 742 l 808 381 q 720 104 808 213 q 466 -13 627 -13 l 465 -278 "},η:{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 720 124 755 q 200 630 193 686 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 "}},c2e="normal",A2e=1189,h2e=-100,f2e="normal",d2e={yMin:-334,xMin:-111,yMax:1189,xMax:1672},q2e=1e3,p2e={postscript_name:"Helvetiker-Regular",version_string:"Version 1.00 2004 initial release",vendor_url:"http://www.magenta.gr/",full_font_name:"Helvetiker",font_family_name:"Helvetiker",copyright:"Copyright (c) Îagenta ltd, 2004",description:"",trademark:"",designer:"",designer_url:"",unique_font_identifier:"Îagenta ltd:Helvetiker:22-10-104",license_url:"http://www.ellak.gr/fonts/MgOpen/license.html",license_description:`Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r 4740\r 4741Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r 4742\r 4743The above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r 4744\r 4745The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word "MgOpen", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r 4746\r 4747This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "MgOpen" name.\r 4748\r 4749The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r 4750\r 4751THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.`,manufacturer_name:"Îagenta ltd",font_sub_family_name:"Regular"},_2e=-334,m2e="Helvetiker",g2e=1522,E2e=50,M2e={glyphs:u2e,cssFontWeight:c2e,ascender:A2e,underlinePosition:h2e,cssFontStyle:f2e,boundingBox:d2e,resolution:q2e,original_font_information:p2e,descender:_2e,familyName:m2e,lineHeight:g2e,underlineThickness:E2e},y0=$1($1({},window.THREE?window.THREE:{BoxGeometry:J3,CircleGeometry:$9,DoubleSide:Qn,Group:pr,Mesh:F1,MeshLambertMaterial:u3,TextGeometry:cx,Vector3:Z}),{},{Font:g0e,TextGeometry:cx}),hI=hi({props:{labelsData:{default:[]},labelLat:{default:"lat"},labelLng:{default:"lng"},labelAltitude:{default:.002},labelText:{default:"text"},labelSize:{default:.5},labelTypeFace:{default:M2e,onChange:function(e,t){t.font=new y0.Font(e)}},labelColor:{default:function(){return"lightgrey"}},labelRotation:{default:0},labelResolution:{default:3},labelIncludeDot:{default:!0},labelDotRadius:{default:.1},labelDotOrientation:{default:function(){return"bottom"}},labelsTransitionDuration:{default:1e3,triggerUpdate:!1}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r;var s=new y0.CircleGeometry(1,32);
vendor: 9,830 bytes, line 4751
4751t.dataMapper=new br(e,{objBindAttr:"__threeObjLabel"}).onCreateObj(function(){var a=new y0.MeshLambertMaterial;a.side=Qn;var o=new y0.Group;o.add(new y0.Mesh(s,a));var l=new y0.Mesh(void 0,a);o.add(l);var u=new y0.Mesh;return u.visible=!1,l.add(u),o.__globeObjType="label",o})},update:function(e){var t=We(e.labelLat),i=We(e.labelLng),r=We(e.labelAltitude),s=We(e.labelText),a=We(e.labelSize),o=We(e.labelRotation),l=We(e.labelColor),u=We(e.labelIncludeDot),d=We(e.labelDotRadius),q=We(e.labelDotOrientation),_=new Set(["right","top","bottom"]),g=2*Math.PI*fn/360;e.dataMapper.onUpdateObj(function(M,N){var y=mn(M.children,2),S=y[0],R=y[1],O=mn(R.children,1),b=O[0],D=l(N),B=C0(D);R.material.color.set(N2(D)),R.material.transparent=B<1,R.material.opacity=B;var C=u(N),G=q(N);!C||!_.has(G)&&(G="bottom");var L=C?+d(N)*g:1e-12;S.scale.x=S.scale.y=L;var P=+a(N)*g;if(R.geometry&&R.geometry.dispose(),R.geometry=new y0.TextGeometry(s(N),{font:e.font,size:P,depth:0,bevelEnabled:!0,bevelThickness:0,bevelSize:0,curveSegments:e.labelResolution}),b.geometry&&b.geometry.dispose(),R.geometry.computeBoundingBox(),b.geometry=Hp(y0.BoxGeometry,J1(new y0.Vector3().subVectors(R.geometry.boundingBox.max,R.geometry.boundingBox.min).clampScalar(0,1/0).toArray())),G!=="right"&&R.geometry.center(),C){var w=L+P/2;G==="right"&&(R.position.x=w),R.position.y={right:-P/2,top:w+P/2,bottom:-w-P/2}[G]}var z=function(Q){var oe=M.__currentTargetD=Q,ae=oe.lat,fe=oe.lng,xe=oe.alt,Te=oe.rot,He=oe.scale;Object.assign(M.position,p0(ae,fe,xe)),M.lookAt(e.scene.localToWorld(new y0.Vector3(0,0,0))),M.rotateY(Math.PI),M.rotateZ(-Te*Math.PI/180),M.scale.x=M.scale.y=M.scale.z=He},H={lat:+t(N),lng:+i(N),alt:+r(N),rot:+o(N),scale:1},j=M.__currentTargetD||Object.assign({},H,{scale:1e-12});Object.keys(H).some(function(Y){return j[Y]!==H[Y]})&&(!e.labelsTransitionDuration||e.labelsTransitionDuration<0?z(H):e.tweenGroup.add(new Hi(j).to(H,e.labelsTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(z).start()))}).digest(e.labelsData)}}),x2e=$1($1({},window.THREE?window.THREE:{}),{},{CSS2DObject:iz}),fI=hi({props:{htmlElementsData:{default:[]},htmlLat:{default:"lat"},htmlLng:{default:"lng"},htmlAltitude:{default:0},htmlElement:{},htmlElementVisibilityModifier:{triggerUpdate:!1},htmlTransitionDuration:{default:1e3,triggerUpdate:!1},isBehindGlobe:{onChange:function(){this.updateObjVisibility()},triggerUpdate:!1}},methods:{updateObjVisibility:function(e,t){if(e.dataMapper){var i=t?[t]:e.dataMapper.entries().map(function(r){var s=mn(r,2),a=s[1];return a}).filter(function(r){return r});i.forEach(function(r){var s=!e.isBehindGlobe||!e.isBehindGlobe(r.position);e.htmlElementVisibilityModifier?(r.visible=!0,e.htmlElementVisibilityModifier(r.element,s)):r.visible=s})}}},init:function(e,t,i){var r=i.tweenGroup;an(e),t.scene=e,t.tweenGroup=r,t.dataMapper=new br(e,{objBindAttr:"__threeObjHtml"}).onCreateObj(function(s){var a=We(t.htmlElement)(s),o=new x2e.CSS2DObject(a);return o.__globeObjType="html",o})},update:function(e,t){var i=this,r=We(e.htmlLat),s=We(e.htmlLng),a=We(e.htmlAltitude);t.hasOwnProperty("htmlElement")&&e.dataMapper.clear(),e.dataMapper.onUpdateObj(function(o,l){var u=function(_){var g=o.__currentTargetD=_,M=g.alt,N=g.lat,y=g.lng;Object.assign(o.position,p0(N,y,M)),i.updateObjVisibility(o)},d={lat:+r(l),lng:+s(l),alt:+a(l)};!e.htmlTransitionDuration||e.htmlTransitionDuration<0||!o.__currentTargetD?u(d):e.tweenGroup.add(new Hi(o.__currentTargetD).to(d,e.htmlTransitionDuration).easing(ti.Quadratic.InOut).onUpdate(u).start())}).digest(e.htmlElementsData)}}),Xl=window.THREE?window.THREE:{Group:pr,Mesh:F1,MeshLambertMaterial:u3,SphereGeometry:T2},dI=hi({props:{objectsData:{default:[]},objectLat:{default:"lat"},objectLng:{default:"lng"},objectAltitude:{default:.01},objectFacesSurface:{default:!0},objectRotation:{},objectThreeObject:{default:new Xl.Mesh(new Xl.SphereGeometry(1,16,8),new Xl.MeshLambertMaterial({color:"#ffffaa",transparent:!0,opacity:.7}))}},init:function(e,t){an(e),t.scene=e,t.dataMapper=new br(e,{objBindAttr:"__threeObjObject"}).onCreateObj(function(i){var r=We(t.objectThreeObject)(i);t.objectThreeObject===r&&(r=r.clone());var s=new Xl.Group;return s.add(r),s.__globeObjType="object",s})},update:function(e,t){var i=We(e.objectLat),r=We(e.objectLng),s=We(e.objectAltitude),a=We(e.objectFacesSurface),o=We(e.objectRotation);t.hasOwnProperty("objectThreeObject")&&e.dataMapper.clear(),e.dataMapper.onUpdateObj(function(l,u){var d=+i(u),q=+r(u),_=+s(u);Object.assign(l.position,p0(d,q,_)),a(u)?l.setRotationFromEuler(new Oi(Bs(-d),Bs(q),0,"YXZ")):l.rotation.set(0,0,0);var g=l.children[0],M=o(u);M&&g.setRotationFromEuler(new Oi(Bs(M.x||0),Bs(M.y||0),Bs(M.z||0)))}).digest(e.objectsData)}}),qI=hi({props:{customLayerData:{default:[]},customThreeObject:{},customThreeObjectUpdate:{triggerUpdate:!1}},init:function(e,t){an(e),t.scene=e,t.dataMapper=new br(e,{objBindAttr:"__threeObjCustom"}).onCreateObj(function(i){var r=We(t.customThreeObject)(i,fn);return r&&(t.customThreeObject===r&&(r=r.clone()),r.__globeObjType="custom"),r})},update:function(e,t){e.customThreeObjectUpdate||an(e.scene);var i=We(e.customThreeObjectUpdate);t.hasOwnProperty("customThreeObject")&&e.dataMapper.clear(),e.dataMapper.onUpdateObj(function(r,s){return i(r,s,fn)}).digest(e.customLayerData)}}),Zl=window.THREE?window.THREE:{Camera:Q8,Group:pr,Vector2:Ce,Vector3:Z},S2e=["globeLayer","pointsLayer","arcsLayer","hexBinLayer","heatmapsLayer","polygonsLayer","hexedPolygonsLayer","pathsLayer","tilesLayer","particlesLayer","ringsLayer","labelsLayer","htmlElementsLayer","objectsLayer","customLayer"],pI=lr("globeLayer",Jb),y2e=Object.assign.apply(Object,J1(["globeImageUrl","bumpImageUrl","globeTileEngineUrl","globeTileEngineMaxLevel","showGlobe","showGraticules","showAtmosphere","atmosphereColor","atmosphereAltitude"].map(function(n){return Ei({},n,pI.linkProp(n))}))),N2e=Object.assign.apply(Object,J1(["globeMaterial"].map(function(n){return Ei({},n,pI.linkMethod(n))}))),v2e=lr("pointsLayer",eI),O2e=Object.assign.apply(Object,J1(["pointsData","pointLat","pointLng","pointColor","pointAltitude","pointRadius","pointResolution","pointsMerge","pointsTransitionDuration"].map(function(n){return Ei({},n,v2e.linkProp(n))}))),T2e=lr("arcsLayer",nI),R2e=Object.assign.apply(Object,J1(["arcsData","arcStartLat","arcStartLng","arcEndLat","arcEndLng","arcColor","arcAltitude","arcAltitudeAutoScale","arcStroke","arcCurveResolution","arcCircularResolution","arcDashLength","arcDashGap","arcDashInitialGap","arcDashAnimateTime","arcsTransitionDuration"].map(function(n){return Ei({},n,T2e.linkProp(n))}))),b2e=lr("hexBinLayer",iI),I2e=Object.assign.apply(Object,J1(["hexBinPointsData","hexBinPointLat","hexBinPointLng","hexBinPointWeight","hexBinResolution","hexMargin","hexTopCurvatureResolution","hexTopColor","hexSideColor","hexAltitude","hexBinMerge","hexTransitionDuration"].map(function(n){return Ei({},n,b2e.linkProp(n))}))),P2e=lr("heatmapsLayer",sI),L2e=Object.assign.apply(Object,J1(["heatmapsData","heatmapPoints","heatmapPointLat","heatmapPointLng","heatmapPointWeight","heatmapBandwidth","heatmapColorFn","heatmapColorSaturation","heatmapBaseAltitude","heatmapTopAltitude","heatmapsTransitionDuration"].map(function(n){return Ei({},n,P2e.linkProp(n))}))),D2e=lr("hexedPolygonsLayer",oI),C2e=Object.assign.apply(Object,J1(["hexPolygonsData","hexPolygonGeoJsonGeometry","hexPolygonColor","hexPolygonAltitude","hexPolygonResolution","hexPolygonMargin","hexPolygonUseDots","hexPolygonCurvatureResolution","hexPolygonDotResolution","hexPolygonsTransitionDuration"].map(function(n){return Ei({},n,D2e.linkProp(n))}))),w2e=lr("polygonsLayer",aI),B2e=Object.assign.apply(Object,J1(["polygonsData","polygonGeoJsonGeometry","polygonCapColor","polygonCapMaterial","polygonSideColor","polygonSideMaterial","polygonStrokeColor","polygonAltitude","polygonCapCurvatureResolution","polygonsTransitionDuration"].map(function(n){return Ei({},n,w2e.linkProp(n))}))),U2e=lr("pathsLayer",lI),F2e=Object.assign.apply(Object,J1(["pathsData","pathPoints","pathPointLat","pathPointLng","pathPointAlt","pathResolution","pathColor","pathStroke","pathDashLength","pathDashGap","pathDashInitialGap","pathDashAnimateTime","pathTransitionDuration"].map(function(n){return Ei({},n,U2e.linkProp(n))}))),G2e=lr("tilesLayer",uI),V2e=Object.assign.apply(Object,J1(["tilesData","tileLat","tileLng","tileAltitude","tileWidth","tileHeight","tileUseGlobeProjection","tileMaterial","tileCurvatureResolution","tilesTransitionDuration"].map(function(n){return Ei({},n,G2e.linkProp(n))}))),k2e=lr("particlesLayer",cI),z2e=Object.assign.apply(Object,J1(["particlesData","particlesList","particleLat","particleLng","particleAltitude","particlesSize","particlesSizeAttenuation","particlesColor","particlesTexture"].map(function(n){return Ei({},n,k2e.linkProp(n))}))),W2e=lr("ringsLayer",AI),H2e=Object.assign.apply(Object,J1(["ringsData","ringLat","ringLng","ringAltitude","ringColor","ringResolution","ringMaxRadius","ringPropagationSpeed","ringRepeatPeriod"].map(function(n){return Ei({},n,W2e.linkProp(n))}))),K2e=lr("labelsLayer",hI),Y2e=Object.assign.apply(Object,J1(["labelsData","labelLat","labelLng","labelAltitude","labelRotation","labelText","labelSize","labelTypeFace","labelColor","labelResolution","labelIncludeDot","labelDotRadius","labelDotOrientation","labelsTransitionDuration"].map(function(n){return Ei({},n,K2e.linkProp(n))}))),$2e=lr("htmlElementsLayer",fI),j2e=Object.assign.apply(Object,J1(["htmlElementsData","htmlLat","htmlLng","htmlAltitude","htmlElement","htmlElementVisibilityModifier","htmlTransitionDuration"].map(function(n){return Ei({},n,$2e.linkProp(n))}))),X2e=lr("objectsLayer",dI),Z2e=Object.assign.apply(Object,J1(["objectsData","objectLat","objectLng","objectAltitude","objectRotation","objectFacesSurface","objectThreeOb
4751ject"].map(function(n){return Ei({},n,X2e.linkProp(n))}))),Q2e=lr("customLayer",qI),J2e=Object.assign.apply(Object,J1(["customLayerData","customThreeObject","customThreeObjectUpdate"].map(function(n){return Ei({},n,Q2e.linkProp(n))}))),e3e=hi({props:$1($1($1($1($1($1($1($1($1($1($1($1($1($1($1({onGlobeReady:{triggerUpdate:!1},rendererSize:{default:new Zl.Vector2(window.innerWidth,window.innerHeight),onChange:function(e,t){t.pathsLayer.rendererSize(e)},triggerUpdate:!1}},y2e),O2e),R2e),I2e),L2e),B2e),C2e),F2e),V2e),z2e),H2e),Y2e),j2e),Z2e),J2e),methods:$1({getGlobeRadius:fx,getCoords:function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return p0.apply(void 0,i)},toGeoCoords:function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return Qb.apply(void 0,i)},setPointOfView:function(e,t){var i=t instanceof Zl.Camera?t.position:t,r=fx(),s=void 0;if(e.scene&&i){var a,o,l,u;s=function(q){a===void 0&&(a=i.clone().applyMatrix4(e.scene.matrixWorld.clone().invert())),o===void 0&&(o=a.length()),l===void 0&&(l=Math.sqrt(Math.pow(o,2)-Math.pow(r,2))),u===void 0&&(u=Math.acos(l/o));var _=a.distanceTo(q);if(_<l)return!1;var g=q.length(),M=Math.acos((Math.pow(o,2)+Math.pow(_,2)-Math.pow(g,2))/(2*o*_));return M<u}}e.layersThatNeedUpdatePov.forEach(function(d){return d.updatePov(t)}),e.layersThatNeedBehindGlobeChecker.forEach(function(d){return d.isBehindGlobe(s)})},pauseAnimation:function(e){return e.animationFrameRequestId!==null&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),e.pausableLayers.forEach(function(t){var i;return(i=t.pauseAnimation)===null||i===void 0?void 0:i.call(t)}),this},resumeAnimation:function(e){return e.animationFrameRequestId===null&&this._animationCycle(),e.pausableLayers.forEach(function(t){var i;return(i=t.resumeAnimation)===null||i===void 0?void 0:i.call(t)}),this},_animationCycle:function(e){e.animationFrameRequestId=requestAnimationFrame(this._animationCycle),e.tweenGroup.update()},_destructor:function(e){this.pauseAnimation(),e.destructableLayers.forEach(function(t){return t._destructor()})}},N2e),stateInit:function(){var e=new Q9,t={tweenGroup:e},i={globeLayer:Jb(t),pointsLayer:eI(t),arcsLayer:nI(t),hexBinLayer:iI(t),heatmapsLayer:sI(t),polygonsLayer:aI(t),hexedPolygonsLayer:oI(t),pathsLayer:lI(t),tilesLayer:uI(t),particlesLayer:cI(t),ringsLayer:AI(t),labelsLayer:hI(t),htmlElementsLayer:fI(t),objectsLayer:dI(t),customLayer:qI(t)};return $1($1({tweenGroup:e},i),{},{layersThatNeedUpdatePov:Object.values(i).filter(function(r){return r.hasOwnProperty("updatePov")}),layersThatNeedBehindGlobeChecker:Object.values(i).filter(function(r){return r.hasOwnProperty("isBehindGlobe")}),destructableLayers:Object.values(i).filter(function(r){return r.hasOwnProperty("_destructor")}),pausableLayers:Object.values(i).filter(function(r){return r.hasOwnProperty("pauseAnimation")})})},init:function(e,t,i){var r=i.animateIn,s=r===void 0?!0:r,a=i.waitForGlobeReady,o=a===void 0?!0:a;an(e),t.scene=e,t.scene.visible=!1,S2e.forEach(function(u){var d=new Zl.Group;t.scene.add(d),t[u](d)});var l=function(){if(s){t.scene.scale.set(1e-6,1e-6,1e-6),t.tweenGroup.add(new Hi({k:1e-6}).to({k:1},600).easing(ti.Quadratic.Out).onUpdate(function(q){var _=q.k;return t.scene.scale.set(_,_,_)}).start());var d=new Zl.Vector3(0,1,0);t.tweenGroup.add(new Hi({rot:Math.PI*2}).to({rot:0},1200).easing(ti.Quintic.Out).onUpdate(function(q){var _=q.rot;return t.scene.setRotationFromAxisAngle(d,_)}).start())}t.scene.visible=!0,t.onGlobeReady&&t.onGlobeReady()};o?t.globeLayer.onReady(l):l(),this._animationCycle()},update:function(e){}});function t3e(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Object,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=function(r){function s(){var a;bu(this,s);for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];return a=Ru(this,s,[].concat(l)),a.__kapsuleInstance=Hp(n,[].concat(J1(t?[a]:[]),l)),a}return Pu(s,r),Iu(s)}(e);return Object.keys(n()).forEach(function(r){return i.prototype[r]=function(){var s,a=(s=this.__kapsuleInstance)[r].apply(s,arguments);return a===this.__kapsuleInstance?this:a}}),i}var n3e=window.THREE?window.THREE:{Group:pr},_I=t3e(e3e,n3e.Group,!0);const ZA={type:"change"},jp={type:"start"},Xp={type:"end"},xx=1e-6,W1={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4},Ql=new Ce,I3=new Ce,i3e=new Z,Jl=new Z,QA=new Z,uo=new B0,Sx=new Z,e7=new Z,JA=new Z,t7=new Z;class r3e extends aq{constructor(e,t=null){super(e,t),this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:A0.ROTATE,MIDDLE:A0.DOLLY,RIGHT:A0.PAN},this.target=new Z,this.state=W1.NONE,this.keyState=W1.NONE,this._lastPosition=new Z,this._lastZoom=1,this._touchZoomDistanceStart=0,this._touchZoomDistanceEnd=0,this._lastAngle=0,this._eye=new Z,this._movePrev=new Ce,this._moveCurr=new Ce,this._lastAxis=new Z,this._zoomStart=new Ce,this._zoomEnd=new Ce,this._panStart=new Ce,this._panEnd=new Ce,this._pointers=[],this._pointerPositions={},this._onPointerMove=a3e.bind(this),this._onPointerDown=s3e.bind(this),this._onPointerUp=o3e.bind(this),this._onPointerCancel=l3e.bind(this),this._onContextMenu=q3e.bind(this),this._onMouseWheel=d3e.bind(this),this._onKeyDown=c3e.bind(this),this._onKeyUp=u3e.bind(this),this._onTouchStart=p3e.bind(this),this._onTouchMove=_3e.bind(this),this._onTouchEnd=m3e.bind(this),this._onMouseDown=A3e.bind(this),this._onMouseMove=h3e.bind(this),this._onMouseUp=f3e.bind(this),this._target0=this.target.clone(),this._position0=this.object.position.clone(),this._up0=this.object.up.clone(),this._zoom0=this.object.zoom,t!==null&&(this.connect(t),this.handleResize()),this.update()}connect(e){super.connect(e),window.addEventListener("keydown",this._onKeyDown),window.addEventListener("keyup",this._onKeyUp),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerCancel),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){window.removeEventListener("keydown",this._onKeyDown),window.removeEventListener("keyup",this._onKeyUp),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerCancel),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}handleResize(){const e=this.domElement.getBoundingClientRect(),t=this.domElement.ownerDocument.documentElement;this.screen.left=e.left+window.pageXOffset-t.clientLeft,this.screen.top=e.top+window.pageYOffset-t.clientTop,this.screen.width=e.width,this.screen.height=e.height}update(){this._eye.subVectors(this.object.position,this.target),this.noRotate||this._rotateCamera(),this.noZoom||this._zoomCamera(),this.noPan||this._panCamera(),this.object.position.addVectors(this.target,this._eye),this.object.isPerspectiveCamera?(this._checkDistances(),this.object.lookAt(this.target),this._lastPosition.distanceToSquared(this.object.position)>xx&&(this.dispatchEvent(ZA),this._lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this._lastPosition.distanceToSquared(this.object.position)>xx||this._lastZoom!==this.object.zoom)&&(this.dispatchEvent(ZA),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type.")}reset(){this.state=W1.NONE,this.keyState=W1.NONE,this.target.copy(this._target0),this.object.position.copy(this._position0),this.object.up.copy(this._up0),this.object.zoom=this._zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(ZA),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom}_panCamera(){if(I3.copy(this._panEnd).sub(this._panStart),I3.lengthSq()){if(this.object.isOrthographicCamera){const e=(this.object.right-this.object.left)/this.object.zoom/this.domElement.clientWidth,t=(this.object.top-this.object.bottom)/this.object.zoom/this.domElement.clientWidth;I3.x*=e,I3.y*=t}I3.multiplyScalar(this._eye.length()*this.panSpeed),Jl.copy(this._eye).cross(this.object.up).setLength(I3.x),Jl.add(i3e.copy(this.object.up).setLength(I3.y)),this.object.position.add(Jl),this.target.add(Jl),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(I3.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}_rotateCamera(){t7.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let e=t7.length();e?(this._eye.copy(this.object.position).sub(this.target),Sx.copy(this._eye).normalize(),e7.copy(this.object.up).normalize(),JA.crossVectors(e7,Sx).normalize(),e7.setLength(this._moveCurr.y-this._movePrev.y),JA.setLength(this._moveCurr.x-this._movePrev.x),t7.copy(e7.add(JA)),QA.crossVectors(t7,this._eye).normalize(),e*=this.rotateSpeed,uo.setFromAxisAngle(QA,e),this._eye.applyQuaternion(uo),this.object.up.applyQuaternion(uo),this._lastAxis.copy(QA),this._lastAngle=e):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),uo.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(uo),this.object.up.applyQuaternion(uo)),this._movePrev.copy(this._moveCurr)}_zoomCamera(){let e;this.state===W1.TOUCH_ZOOM_PAN?(e=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=r4.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,e!==1&&e>0&&(this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=r4.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor)}_getMouseOnScreen(e,t){return Ql.set((e-this.screen.left)/this.screen.width,(t-this.screen.top)/this.screen.height),Ql}_getMouseOnCircle(e,t){return Ql.set((e-this.screen.width*.5-this.screen.left)/(this.screen.width*.5),(this.screen.height+2*(this.screen.top-t))/this.screen.width),Ql}_addPointer(e){this._pointers.push(e)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t].pointerId==e.pointerId){this._pointers.splice(t,1);return}}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new Ce,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const t=e.pointerId===this._pointers[0].pointerId?this._pointers[1]:this._pointers[0];return this._pointerPositions[t.pointerId]}_checkDistances(){(!this.noZoom||!this.noPan)&&(this._eye.lengthSq()>this.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()<this.minDistance*this.minDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.minDistance)),this._zoomStart.copy(this._zoomEnd)))}}function s3e(n){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),this._addPointer(n),n.pointerType==="touch"?this._onTouchStart(n):this._onMouseDown(n))}function a3e(n){this.enabled!==!1&&(n.pointerType==="touch"?this._onTouchMove(n):this._onMouseMove(n))}function o3e(n){this.enabled!==!1&&(n.pointerType==="touch"?this._onTouchEnd(n):this._onMouseUp(),this._removePointer(n),this._pointers.length===0&&(this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp)))}function l3e(n){this._removePointer(n)}function u3e(){this.enabled!==!1&&(this.keyState=W1.NONE,window.addEventListener("keydown",this._onKeyDown))}function c3e(n){this.enabled!==!1&&(window.removeEventListener("keydown",this._onKeyDown),this.keyState===W1.NONE&&(n.code===this.keys[W1.ROTATE]&&!this.noRotate?this.keyState=W1.ROTATE:n.code===this.keys[W1.ZOOM]&&!this.noZoom?this.keyState=W1.ZOOM:n.code===this.keys[W1.PAN]&&!this.noPan&&(this.keyState=W1.PAN)))}function A3e(n){let e;switch(n.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case A0.DOLLY:this.state=W1.ZOOM;break;case A0.ROTATE:this.state=W1.ROTATE;break;case A0.PAN:this.state=W1.PAN;break;default:this.state=W1.NONE}const t=this.keyState!==W1.NONE?this.keyState:this.state;t===W1.ROTATE&&!this.noRotate?(this._moveCurr.copy(this._getMouseOnCircle(n.pageX,n.pageY)),this._movePrev.copy(this._moveCurr)):t===W1.ZOOM&&!this.noZoom?(this._zoomStart.copy(this._getMouseOnScreen(n.pageX,n.pageY)),this._zoomEnd.copy(this._zoomStart)):t===W1.PAN&&!this.noPan&&(this._panStart.copy(this._getMouseOnScreen(n.pageX,n.pageY)),this._panEnd.copy(this._panStart)),this.dispatchEvent(jp)}function h3e(n){const e=this.keyState!==W1.NONE?this.keyState:this.state;e===W1.ROTATE&&!this.noRotate?(this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this._getMouseOnCircle(n.pageX,n.pageY))):e===W1.ZOOM&&!this.noZoom?this._zoomEnd.copy(this._getMouseOnScreen(n.pageX,n.pageY)):e===W1.PAN&&!this.noPan&&this._panEnd.copy(this._getMouseOnScreen(n.pageX,n.pageY))}function f3e(){this.state=W1.NONE,this.dispatchEvent(Xp)}function d3e(n){if(this.enabled!==!1&&this.noZoom!==!0){switch(n.preventDefault(),n.deltaMode){case 2:this._zoomStart.y-=n.deltaY*.025;break;case 1:this._zoomStart.y-=n.deltaY*.01;break;default:this._zoomStart.y-=n.deltaY*25e-5;break}this.dispatchEvent(jp),this.dispatchEvent(Xp)}}function q3e(n){this.enabled!==!1&&n.preventDefault()}function p3e(n){switch(this._trackPointer(n),this._pointers.length){case 1:this.state=W1.TOUCH_ROTATE,this._moveCurr.copy(this._getMouseOnCircle(this._pointers[0].pageX,this._pointers[0].pageY)),this._movePrev.copy(this._moveCurr);break;default:this.state=W1.TOUCH_ZOOM_PAN;const e=this._pointers[0].pageX-this._pointers[1].pageX,t=this._pointers[0].pageY-this._pointers[1].pageY;this._touchZoomDistanceEnd=this._touchZoomDistanceStart=Math.sqrt(e*e+t*t);const i=(this._pointers[0].pageX+this._pointers[1].pageX)/2,r=(this._pointers[0].pageY+this._pointers[1].pageY)/2;this._panStart.copy(this._getMouseOnScreen(i,r)),this._panEnd.copy(this._panStart);break}this.dispatchEvent(jp)}function _3e(n){switch(this._trackPointer(n),this._pointers.length){case 1:this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this._getMouseOnCircle(n.pageX,n.pageY));break;default:const e=this._getSecondPointerPosition(n),t=n.pageX-e.x,i=n.pageY-e.y;this._touchZoomDistanceEnd=Math.sqrt(t*t+i*i);const r=(n.pageX+e.x)/2,s=(n.pageY+e.y)/2;this._panEnd.copy(this._getMouseOnScreen(r,s));break}}function m3e(n){switch(this._pointers.length){case 0:this.state=W1.NONE;break;case 1:this.state=W1.TOUCH_ROTATE,this._moveCurr.copy(this._getMouseOnCircle(n.pageX,n.pageY)),this._movePrev.copy(this._moveCurr);break;case 2:this.state=W1.TOUCH_ZOOM_PAN;for(let e=0;e<this._p
vendor: 22,037 bytes, line 4751
4751ointers.length;e++)if(this._pointers[e].pointerId!==n.pointerId){const t=this._pointerPositions[this._pointers[e].pointerId];this._moveCurr.copy(this._getMouseOnCircle(t.x,t.y)),this._movePrev.copy(this._moveCurr);break}break}this.dispatchEvent(Xp)}const yx={type:"change"},Zp={type:"start"},mI={type:"end"},n7=new Z8,Nx=new e2,g3e=Math.cos(70*r4.DEG2RAD),ai=new Z,Ar=2*Math.PI,sn={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},eh=1e-6;class E3e extends aq{constructor(e,t=null){super(e,t),this.state=sn.NONE,this.target=new Z,this.cursor=new Z,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:A0.ROTATE,MIDDLE:A0.DOLLY,RIGHT:A0.PAN},this.touches={ONE:ho.ROTATE,TWO:ho.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new Z,this._lastQuaternion=new B0,this._lastTargetPosition=new Z,this._quat=new B0().setFromUnitVectors(e.up,new Z(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new km,this._sphericalDelta=new km,this._scale=1,this._panOffset=new Z,this._rotateStart=new Ce,this._rotateEnd=new Ce,this._rotateDelta=new Ce,this._panStart=new Ce,this._panEnd=new Ce,this._panDelta=new Ce,this._dollyStart=new Ce,this._dollyEnd=new Ce,this._dollyDelta=new Ce,this._dollyDirection=new Z,this._mouse=new Ce,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=x3e.bind(this),this._onPointerDown=M3e.bind(this),this._onPointerUp=S3e.bind(this),this._onContextMenu=b3e.bind(this),this._onMouseWheel=v3e.bind(this),this._onKeyDown=O3e.bind(this),this._onTouchStart=T3e.bind(this),this._onTouchMove=R3e.bind(this),this._onMouseDown=y3e.bind(this),this._onMouseMove=N3e.bind(this),this._interceptControlDown=I3e.bind(this),this._interceptControlUp=P3e.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(yx),this.update(),this.state=sn.NONE}update(e=null){const t=this.object.position;ai.copy(t).sub(this.target),ai.applyQuaternion(this._quat),this._spherical.setFromVector3(ai),this.autoRotate&&this.state===sn.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let i=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(i)&&isFinite(r)&&(i<-Math.PI?i+=Ar:i>Math.PI&&(i-=Ar),r<-Math.PI?r+=Ar:r>Math.PI&&(r-=Ar),i<=r?this._spherical.theta=Math.max(i,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(i+r)/2?Math.max(i,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let s=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),s=a!=this._spherical.radius}if(ai.setFromSpherical(this._spherical),ai.applyQuaternion(this._quatInverse),t.copy(this.target).add(ai),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const o=ai.length();a=this._clampDistance(o*this._scale);const l=o-a;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),s=!!l}else if(this.object.isOrthographicCamera){const o=new Z(this._mouse.x,this._mouse.y,0);o.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),s=l!==this.object.zoom;const u=new Z(this._mouse.x,this._mouse.y,0);u.unproject(this.object),this.object.position.sub(u).add(o),this.object.updateMatrixWorld(),a=ai.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(n7.origin.copy(this.object.position),n7.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(n7.direction))<g3e?this.object.lookAt(this.target):(Nx.setFromNormalAndCoplanarPoint(this.object.up,this.target),n7.intersectPlane(Nx,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),s=!0)}return this._scale=1,this._performCursorZoom=!1,s||this._lastPosition.distanceToSquared(this.object.position)>eh||8*(1-this._lastQuaternion.dot(this.object.quaternion))>eh||this._lastTargetPosition.distanceToSquared(this.target)>eh?(this.dispatchEvent(yx),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?Ar/60*this.autoRotateSpeed*e:Ar/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){ai.setFromMatrixColumn(t,0),ai.multiplyScalar(-e),this._panOffset.add(ai)}_panUp(e,t){this.screenSpacePanning===!0?ai.setFromMatrixColumn(t,1):(ai.setFromMatrixColumn(t,0),ai.crossVectors(this.object.up,ai)),ai.multiplyScalar(e),this._panOffset.add(ai)}_pan(e,t){const i=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;ai.copy(r).sub(this.target);let s=ai.length();s*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*s/i.clientHeight,this.object.matrix),this._panUp(2*t*s/i.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/i.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/i.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const i=this.domElement.getBoundingClientRect(),r=e-i.left,s=t-i.top,a=i.width,o=i.height;this._mouse.x=r/a*2-1,this._mouse.y=-(s/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(Ar*this._rotateDelta.x/t.clientHeight),this._rotateUp(Ar*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(Ar*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-Ar*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(Ar*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-Ar*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(i,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(i,r)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyStart.set(0,s)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const i=this._getSecondPointerPosition(e),r=.5*(e.pageX+i.x),s=.5*(e.pageY+i.y);this._rotateEnd.set(r,s)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(Ar*this._rotateDelta.x/t.clientHeight),this._rotateUp(Ar*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),i=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(i,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),i=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(i*i+r*r);this._dollyEnd.set(0,s),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId){this._pointers.splice(t,1);return}}_isTrackingPointer(e){for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId)return!0;return!1}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new Ce,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){const t=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[t]}_customWheelEvent(e){const t=e.deltaMode,i={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(t){case 1:i.deltaY*=16;break;case 2:i.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(i.deltaY*=10),i}}function M3e(n){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(n.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(n)&&(this._addPointer(n),n.pointerType==="touch"?this._onTouchStart(n):this._onMouseDown(n)))}function x3e(n){this.enabled!==!1&&(n.pointerType==="touch"?this._onTouchMove(n):this._onMouseMove(n))}function S3e(n){switch(this._removePointer(n),this._pointers.length){case 0:this.domElement.releasePointerCapture(n.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(mI),this.state=sn.NONE;break;case 1:const e=this._pointers[0],t=this._pointerPositions[e];this._onTouchStart({pointerId:e,pageX:t.x,pageY:t.y});break}}function y3e(n){let e;switch(n.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case A0.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(n),this.state=sn.DOLLY;break;case A0.ROTATE:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=sn.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=sn.ROTATE}break;case A0.PAN:if(n.ctrlKey||n.metaKey||n.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(n),this.state=sn.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(n),this.state=sn.PAN}break;default:this.state=sn.NONE}this.state!==sn.NONE&&this.dispatchEvent(Zp)}function N3e(n){switch(this.state){case sn.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(n);break;case sn.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(n);break;case sn.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(n);break}}function v3e(n){this.enabled===!1||this.enableZoom===!1||this.state!==sn.NONE||(n.preventDefault(),this.dispatchEvent(Zp),this._handleMouseWheel(this._customWheelEvent(n)),this.dispatchEvent(mI))}function O3e(n){this.enabled!==!1&&this._handleKeyDown(n)}function T3e(n){switch(this._trackPointer(n),this._pointers.length){case 1:switch(this.touches.ONE){case ho.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(n),this.state=sn.TOUCH_ROTATE;break;case ho.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(n),this.state=sn.TOUCH_PAN;break;default:this.state=sn.NONE}break;case 2:switch(this.touches.TWO){case ho.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(n),this.state=sn.TOUCH_DOLLY_PAN;break;case ho.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(n),this.state=sn.TOUCH_DOLLY_ROTATE;break;default:this.state=sn.NONE}break;default:this.state=sn.NONE}this.state!==sn.NONE&&this.dispatchEvent(Zp)}function R3e(n){switch(this._trackPointer(n),this.state){case sn.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(n),this.update();break;case sn.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(n),this.update();break;case sn.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(n),this.update();break;case sn.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(n),this.update();break;default:this.state=sn.NONE}}function b3e(n){this.enabled!==!1&&n.preventDefault()}function I3e(n){n.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function P3e(n){n.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}const L3e={type:"change"},vx=1e-6,Ox=new B0;class D3e extends aq{constructor(e,t=null){super(e,t),this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1,this._moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this._moveVector=new Z(0,0,0),this._rotationVector=new Z(0,0,0),this._lastQuaternion=new B0,this._lastPosition=new Z,this._status=0,this._onKeyDown=C3e.bind(this),this._onKeyUp=w3e.bind(this),this._onPointerMove=U3e.bind(this),this._onPointerDown=B3e.bind(this),this._onPointerUp=F3e.bind(this),this._onPointerCancel=G3e.bind(this),this._onContextMenu=V3e.bind(this),t!==null&&this.connect(t)}connect(e){super.connect(e),window.addEventListener("keydown",this._onKeyDown),window.addEventListener("keyup",this._onKeyUp),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerUp),this.domElement.addEventListener("pointercancel",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu)}disconnect(){window.removeEventListener("keydown",this._onKeyDown),window.removeEventListener("keyup",this._onKeyUp),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu)}dispose(){this.disconnect()}update(e){if(this.enabled===!1)return;const t=this.object,i=e*this.movementSpeed,r=e*this.rollSpeed;t.translateX(this._moveVector.x*i),t.translateY(this._moveVector.y*i),t.translateZ(this._moveVector.z*i),Ox.set(this._rotationVector.x*r,this._rotationVector.y*r,this._rotationVector.z*r,1).normalize(),t.quaternion.multiply(Ox),(this._lastPosition.distanceToSquared(t.position)>vx||8*(1-this._lastQuaternion.dot(t.quaternion))>vx)&&(this.dispatchEvent(L3e),this._lastQuaternion.copy(t.quaternion),this._lastPosition.copy(t.position))}_updateMovementVector(){const e=this._moveState.forward||this.autoForward&&!this._moveState.back?1:0;this._moveVector.x=-this._moveState.left+this._moveState.right,this._moveVector.y=-this._moveState.down+this._moveState.up,this._moveVector.z=-e+this._moveState.back}_updateRotationVector(){this._rotationVector.x=-this._moveState.pitchDown+this._moveState.pitchUp,this._rotationVector.y=-this._moveState.yawRight+this._moveState.yawLeft,
4751this._rotationVector.z=-this._moveState.rollRight+this._moveState.rollLeft}_getContainerDimensions(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}}}function C3e(n){if(!(n.altKey||this.enabled===!1)){switch(n.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this._moveState.forward=1;break;case"KeyS":this._moveState.back=1;break;case"KeyA":this._moveState.left=1;break;case"KeyD":this._moveState.right=1;break;case"KeyR":this._moveState.up=1;break;case"KeyF":this._moveState.down=1;break;case"ArrowUp":this._moveState.pitchUp=1;break;case"ArrowDown":this._moveState.pitchDown=1;break;case"ArrowLeft":this._moveState.yawLeft=1;break;case"ArrowRight":this._moveState.yawRight=1;break;case"KeyQ":this._moveState.rollLeft=1;break;case"KeyE":this._moveState.rollRight=1;break}this._updateMovementVector(),this._updateRotationVector()}}function w3e(n){if(this.enabled!==!1){switch(n.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this._moveState.forward=0;break;case"KeyS":this._moveState.back=0;break;case"KeyA":this._moveState.left=0;break;case"KeyD":this._moveState.right=0;break;case"KeyR":this._moveState.up=0;break;case"KeyF":this._moveState.down=0;break;case"ArrowUp":this._moveState.pitchUp=0;break;case"ArrowDown":this._moveState.pitchDown=0;break;case"ArrowLeft":this._moveState.yawLeft=0;break;case"ArrowRight":this._moveState.yawRight=0;break;case"KeyQ":this._moveState.rollLeft=0;break;case"KeyE":this._moveState.rollRight=0;break}this._updateMovementVector(),this._updateRotationVector()}}function B3e(n){if(this.enabled!==!1)if(this.dragToLook)this._status++;else{switch(n.button){case 0:this._moveState.forward=1;break;case 2:this._moveState.back=1;break}this._updateMovementVector()}}function U3e(n){if(this.enabled!==!1&&(!this.dragToLook||this._status>0)){const e=this._getContainerDimensions(),t=e.size[0]/2,i=e.size[1]/2;this._moveState.yawLeft=-(n.pageX-e.offset[0]-t)/t,this._moveState.pitchDown=(n.pageY-e.offset[1]-i)/i,this._updateRotationVector()}}function F3e(n){if(this.enabled!==!1){if(this.dragToLook)this._status--,this._moveState.yawLeft=this._moveState.pitchDown=0;else{switch(n.button){case 0:this._moveState.forward=0;break;case 2:this._moveState.back=0;break}this._updateMovementVector()}this._updateRotationVector()}}function G3e(){this.enabled!==!1&&(this.dragToLook?(this._status=0,this._moveState.yawLeft=this._moveState.pitchDown=0):(this._moveState.forward=0,this._moveState.back=0,this._updateMovementVector()),this._updateRotationVector())}function V3e(n){this.enabled!==!1&&n.preventDefault()}const k3e={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` 4752 4753 varying vec2 vUv; 4754 4755 void main() { 4756 4757 vUv = uv; 4758 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 4759 4760 }`,fragmentShader:` 4761 4762 uniform float opacity; 4763 4764 uniform sampler2D tDiffuse; 4765 4766 varying vec2 vUv; 4767 4768 void main() { 4769 4770 vec4 texel = texture2D( tDiffuse, vUv ); 4771 gl_FragColor = opacity * texel; 4772 4773 4774 }`};class Lu{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const z3e=new t5(-1,1,1,-1,0,1);class W3e extends en{constructor(){super(),this.setAttribute("position",new C1([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new C1([0,2,0,0,2,0],2))}}const H3e=new W3e;class K3e{constructor(e){this._mesh=new F1(H3e,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,z3e)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class Y3e extends Lu{constructor(e,t="tDiffuse"){super(),this.textureID=t,this.uniforms=null,this.material=null,e instanceof yr?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=H9.clone(e.uniforms),this.material=new yr({name:e.name!==void 0?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this._fsQuad=new K3e(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.texture),this._fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}}class Tx extends Lu{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,i){const r=e.getContext(),s=e.state;s.buffers.color.setMask(!1),s.buffers.depth.setMask(!1),s.buffers.color.setLocked(!0),s.buffers.depth.setLocked(!0);let a,o;this.inverse?(a=0,o=1):(a=1,o=0),s.buffers.stencil.setTest(!0),s.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),s.buffers.stencil.setFunc(r.ALWAYS,a,4294967295),s.buffers.stencil.setClear(o),s.buffers.stencil.setLocked(!0),e.setRenderTarget(i),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),s.buffers.color.setLocked(!1),s.buffers.depth.setLocked(!1),s.buffers.color.setMask(!0),s.buffers.depth.setMask(!0),s.buffers.stencil.setLocked(!1),s.buffers.stencil.setFunc(r.EQUAL,1,4294967295),s.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),s.buffers.stencil.setLocked(!0)}}class $3e extends Lu{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class j3e{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){const i=e.getSize(new Ce);this._width=i.width,this._height=i.height,t=new $3(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:Jn}),t.texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new Y3e(k3e),this.copyPass.material.blending=xr,this.clock=new Py}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){e===void 0&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let i=!1;for(let r=0,s=this.passes.length;r<s;r++){const a=this.passes[r];if(a.enabled!==!1){if(a.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(r),a.render(this.renderer,this.writeBuffer,this.readBuffer,e,i),a.needsSwap){if(i){const o=this.renderer.getContext(),l=this.renderer.state.buffers.stencil;
4774l.setFunc(o.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),l.setFunc(o.EQUAL,1,4294967295)}this.swapBuffers()}Tx!==void 0&&(a instanceof Tx?i=!0:a instanceof $3e&&(i=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(e===void 0){const t=this.renderer.getSize(new Ce);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,e=this.renderTarget1.clone(),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const i=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(i,r),this.renderTarget2.setSize(i,r);for(let s=0;s<this.passes.length;s++)this.passes[s].setSize(i,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}class X3e extends Lu{constructor(e,t,i=null,r=null,s=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=i,this.clearColor=r,this.clearAlpha=s,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new Nt}render(e,t,i){const r=e.autoClear;e.autoClear=!1;let s,a;this.overrideMaterial!==null&&(a=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(s=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==!0&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:i),this.clear===!0&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor!==null&&e.setClearColor(this._oldClearColor),this.clearAlpha!==null&&e.setClearAlpha(s),this.overrideMaterial!==null&&(this.scene.overrideMaterial=a),e.autoClear=r}}function Tr(){return Tr=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},Tr.apply(null,arguments)}function Z3e(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function z8(n,e){return z8=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},z8(n,e)}function Q3e(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,z8(n,e)}function zf(n){return zf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zf(n)}function J3e(n){try{return Function.toString.call(n).indexOf("[native code]")!==-1}catch{return typeof n=="function"}}function gI(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(gI=function(){return!!n})()}function ese(n,e,t){if(gI())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var r=new(n.bind.apply(n,i));return t&&z8(r,t.prototype),r}function Wf(n){var e=typeof Map=="function"?new Map:void 0;return Wf=function(i){if(i===null||!J3e(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return ese(i,arguments,zf(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),z8(r,i)},Wf(n)}var o2=function(n){Q3e(e,n);function e(t){var i;return i=n.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this,Z3e(i)}return e}(Wf(Error));function th(n){return Math.round(n*255)}function tse(n,e,t){return th(n)+","+th(e)+","+th(t)}function R9(n,e,t,i){if(i===void 0&&(i=tse),e===0)return i(t,t,t);var r=(n%360+360)%360/60,s=(1-Math.abs(2*t-1))*e,a=s*(1-Math.abs(r%2-1)),o=0,l=0,u=0;r>=0&&r<1?(o=s,l=a):r>=1&&r<2?(o=a,l=s):r>=2&&r<3?(l=s,u=a):r>=3&&r<4?(l=a,u=s):r>=4&&r<5?(o=a,u=s):r>=5&&r<6&&(o=s,u=a);var d=t-s/2,q=o+d,_=l+d,g=u+d;return i(q,_,g)}var Rx={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",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:"ff00ff",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:"90ee9
47740",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:"639",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"};function nse(n){if(typeof n!="string")return n;var e=n.toLowerCase();return Rx[e]?"#"+Rx[e]:n}var ise=/^#[a-fA-F0-9]{6}$/,rse=/^#[a-fA-F0-9]{8}$/,sse=/^#[a-fA-F0-9]{3}$/,ase=/^#[a-fA-F0-9]{4}$/,nh=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,ose=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,lse=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,use=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function g4(n){if(typeof n!="string")throw new o2(3);var e=nse(n);if(e.match(ise))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(rse)){var t=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alph
4774a:t}}if(e.match(sse))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(ase)){var i=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:i}}var r=nh.exec(e);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10)};var s=ose.exec(e.substring(0,50));if(s)return{red:parseInt(""+s[1],10),green:parseInt(""+s[2],10),blue:parseInt(""+s[3],10),alpha:parseFloat(""+s[4])>1?parseFloat(""+s[4])/100:parseFloat(""+s[4])};var a=lse.exec(e);if(a){var o=parseInt(""+a[1],10),l=parseInt(""+a[2],10)/100,u=parseInt(""+a[3],10)/100,d="rgb("+R9(o,l,u)+")",q=nh.exec(d);if(!q)throw new o2(4,e,d);return{red:parseInt(""+q[1],10),green:parseInt(""+q[2],10),blue:parseInt(""+q[3],10)}}var _=use.exec(e.substring(0,50));if(_){var g=parseInt(""+_[1],10),M=parseInt(""+_[2],10)/100,N=parseInt(""+_[3],10)/100,y="rgb("+R9(g,M,N)+")",S=nh.exec(y);if(!S)throw new o2(4,e,y);return{red:parseInt(""+S[1],10),green:parseInt(""+S[2],10),blue:parseInt(""+S[3],10),alph
4774a:parseFloat(""+_[4])>1?parseFloat(""+_[4])/100:parseFloat(""+_[4])}}throw new o2(5)}function cse(n){var e=n.red/255,t=n.green/255,i=n.blue/255,r=Math.max(e,t,i),s=Math.min(e,t,i),a=(r+s)/2;if(r===s)return n.alpha!==void 0?{hue:0,saturation:0,lightness:a,alpha:n.alpha}:{hue:0,saturation:0,lightness:a};var o,l=r-s,u=a>.5?l/(2-r-s):l/(r+s);switch(r){case e:o=(t-i)/l+(t<i?6:0);break;case t:o=(i-e)/l+2;break;default:o=(e-t)/l+4;break}return o*=60,n.alpha!==void 0?{hue:o,saturation:u,lightness:a,alpha:n.alpha}:{hue:o,saturation:u,lightness:a}}function is(n){return cse(g4(n))}var Ase=function(e){return e.length===7&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e},Hf=Ase;function Ls(n){var e=n.toString(16);return e.length===1?"0"+e:e}function ih(n){return Ls(Math.round(n*255))}function hse(n,e,t){return Hf("#"+ih(n)+ih(e)+ih(t))}function EI(n,e,t){return R9(n,e,t,hse)}function fse(n,e,t){if(typeof n=="object"&&e===void 0&&t===void 0)return EI(n.hue,n.saturation,n.lightness);throw new o2(1)}function dse(n,e,t,i){if(typeof n=="object"&&e===void 0&&t===void 0&&i===void 0)return n.alpha>=1?EI(n.hue,n.saturation,n.lightness):"rgba("+R9(n.hue,n.saturation,n.lightness)+","+n.alpha+")";throw new o2(2)}function MI(n,e,t){if(typeof n=="number"&&typeof e=="number"&&typeof t=="number")return Hf("#"+Ls(n)+Ls(e)+Ls(t));if(typeof n=="object"&&e===void 0&&t===void 0)return Hf("#"+Ls(n.red)+Ls(n.green)+Ls(n.blue));throw new o2(6)}function Du(n,e,t,i){if(typeof n=="object"&&e===void 0&&t===void 0&&i===void 0)return n.alpha>=1?MI(n.red,n.green,n.blue):"rgba("+n.red+","+n.green+","+n.blue+","+n.alpha+")";throw new o2(7)}var qse=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},pse=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},_se=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},mse=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function rs(n){if(typeof n!="object")throw new o2(8);if(pse(n))return Du(n);if(qse(n))return MI(n);if(mse(n))return dse(n);if(_se(n))return fse(n);throw new o2(8)}function xI(n,e,t){return function(){var r=t.concat(Array.prototype.slice.call(arguments));return r.length>=e?n.apply(this,r):xI(n,e,r)}}function Zr(n){return xI(n,n.length,[])}function gse(n,e){if(e==="transparent")return e;var t=is(e);return rs(Tr({},t,{hue:t.hue+parseFloat(n)}))}Zr(gse);function B4(n,e,t){return Math.max(n,Math.min(e,t))}function Ese(n,e){if(e==="transparent")return e;var t=is(e);return rs(Tr({},t,{lightness:B4(0,1,t.lightness-parseFloat(n))}))}Zr(Ese);function Mse(n,e){if(e==="transparent")return e;var t=is(e);return rs(Tr({},t,{saturation:B4(0,1,t.saturation-parseFloat(n))}))}Zr(Mse);function xse(n,e){if(e==="transparent")return e;var t=is(e);return rs(Tr({},t,{lightness:B4(0,1,t.lightness+parseFloat(n))}))}Zr(xse);function Sse(n,e,t){if(e==="transparent")return t;if(t==="transparent")return e;if(n===0)return t;var i=g4(e),r=Tr({},i,{alpha:typeof i.alpha=="number"?i.alpha:1}),s=g4(t),a=Tr({},s,{alpha:typeof s.alpha=="number"?s.alpha:1}),o=r.alpha-a.alpha,l=parseFloat(n)*2-1,u=l*o===-1?l:l+o,d=1+l*o,q=(u/d+1)/2,_=1-q,g={red:Math.floor(r.red*q+a.red*_),green:Math.floor(r.green*q+a.green*_),blue:Math.floor(r.blue*q+a.blue*_),alpha:r.alpha*parseFloat(n)+a.alpha*(1-parseFloat(n))};return Du(g)}var yse=Zr(Sse),SI=yse;function Nse(n,e){if(e==="transparent")return e;var t=g4(e),i=typeof t.alpha=="number"?t.alpha:1,r=Tr({},t,{alpha:B4(0,1,(i*100+parseFloat(n)*100)/100)});return Du(r)}var vse=Zr(Nse),Ose=vse;function Tse(n,e){if(e==="transparent")return e;var t=is(e);return rs(Tr({},t,{saturation:B4(0,1,t.saturation+parseFloat(n))}))}Zr(Tse);function Rse(n,e){return e==="transparent"?e:rs(Tr({},is(e),{hue:parseFloat(n)}))}Zr(Rse);function bse(n,e){return e==="transparent"?e:rs(Tr({},is(e),{lightness:parseFloat(n)}))}Zr(bse);function Ise(n,e){return e==="transparent"?e:rs(Tr({},is(e),{saturation:parseFloat(n)}))}Zr(Ise);function Pse(n,e){return e==="transparent"?e:SI(parseFloat(n),"rgb(0, 0, 0)",e)}Zr(Pse);function Lse(n,e){return e==="transparent"?e:SI(parseFloat(n),"rgb(255, 255, 255)",e)}Zr(Lse);function Dse(n,e){if(e==="transparent")return e;var t=g4(e),i=typeof t.alpha=="number"?t.alpha:1,r=Tr({},t,{alpha:B4(0,1,+(i*100-parseFloat(n)*100).toFixed(2)/100)});return Du(r)}Zr(Dse);var Kf="http://www.w3.org/1999/xhtml";const bx={svg:"http://www.w3.org/2000/svg",xhtml:Kf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function yI(n){var e=n+="",t=e.indexOf(":");return t>=0&&(e=n.slice(0,t))!=="xmlns"&&(n=n.slice(t+1)),bx.hasOwnProperty(e)?{space:bx[e],local:n}:n}function Cse(n){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===Kf&&e.documentElement.namespaceURI===Kf?e.createElement(n):e.createElementNS(t,n)}}function wse(n){return function(){return this.ownerDocument.createElementNS(n.space,n.local)}}function NI(n){var e=yI(n);return(e.local?wse:Cse)(e)}function Bse(){}function vI(n){return n==null?Bse:function(){return this.querySelector(n)}}function Use(n){typeof n!="function"&&(n=vI(n));for(var e=this._groups,t=e.length,i=new Array(t),r=0;r<t;++r)for(var s=e[r],a=s.length,o=i[r]=new Array(a),l,u,d=0;d<a;++d)(l=s[d])&&(u=n.call(l,l.__data__,d,s))&&("__data__"in l&&(u.__data__=l.__data__),o[d]=u);return new _0(i,this._parents)}function Fse(n){return n==null?[]:Array.isArray(n)?n:Array.from(n)}function Gse(){return[]}function Vse(n){return n==null?Gse:function(){return this.querySelectorAll(n)}}function kse(n){return function(){return Fse(n.apply(this,arguments))}}function zse(n){typeof n=="function"?n=kse(n):n=Vse(n);for(var e=this._groups,t=e.length,i=[],r=[],s=0;s<t;++s)for(var a=e[s],o=a.length,l,u=0;u<o;++u)(l=a[u])&&(i.push(n.call(l,l.__data__,u,a)),r.push(l));return new _0(i,r)}function Wse(n){return function(){return this.matches(n)}}function OI(n){return function(e){return e.matches(n)}}var Hse=Array.prototype.find;function Kse(n){return function(){return Hse.call(this.children,n)}}function Yse(){return this.firstElementChild}function $se(n){return this.select(n==null?Yse:Kse(typeof n=="function"?n:OI(n)))}var jse=Array.prototype.filter;function Xse(){return Array.from(this.children)}function Zse(n){return function(){return jse.call(this.children,n)}}function Qse(n){return this.selectAll(n==null?Xse:Zse(typeof n=="function"?n:OI(n)))}function Jse(n){typeof n!="function"&&(n=Wse(n));for(var e=this._groups,t=e.length,i=new Array(t),r=0;r<t;++r)for(var s=e[r],a=s.length,o=i[r]=[],l,u=0;u<a;++u)(l=s[u])&&n.call(l,l.__data__,u,s)&&o.push(l);return new _0(i,this._parents)}function TI(n){return new Array(n.length)}function eae(){return new _0(this._enter||this._groups.map(TI),this._parents)}function b9(n,e){this.ownerDocument=n.ownerDocument,this.namespaceURI=n.namespaceURI,this._next=null,this._parent=n,this.__data__=e}b9.prototype={constructor:b9,appendChild:function(n){return this._parent.insertBefore(n,this._next)},insertBefore:function(n,e){return this._parent.insertBefore(n,e)},querySelector:function(n){return this._parent.querySelector(n)},querySelectorAll:function(n){return this._parent.querySelectorAll(n)}};function tae(n){return function(){return n}}function nae(n,e,t,i,r,s){for(var a=0,o,l=e.length,u=s.length;a<u;++a)(o=e[a])?(o.__data__=s[a],i[a]=o):t[a]=new b9(n,s[a]);for(;a<l;++a)(o=e[a])&&(r[a]=o)}function iae(n,e,t,i,r,s,a){var o,l,u=new Map,d=e.length,q=s.length,_=new Array(d),g;for(o=0;o<d;++o)(l=e[o])&&(_[o]=g=a.call(l,l.__data__,o,e)+"",u.has(g)?r[o]=l:u.set(g,l));for(o=0;o<q;++o)g=a.call(n,s[o],o,s)+"",(l=u.get(g))?(i[o]=l,l.__data__=s[o],u.delete(g)):t[o]=new b9(n,s[o]);for(o=0;o<d;++o)(l=e[o])&&u.get(_[o])===l&&(r[o]=l)}function rae(n){return n.__data__}function sae(n,e){if(!arguments.length)return Array.from(this,rae);var t=e?iae:nae,i=this._parents,r=this._groups;typeof n!="function"&&(n=tae(n));for(var s=r.length,a=new Array(s),o=new Array(s),l=new Array(s),u=0;u<s;
vendor: 4,638 bytes, line 4774
4774++u){var d=i[u],q=r[u],_=q.length,g=aae(n.call(d,d&&d.__data__,u,i)),M=g.length,N=o[u]=new Array(M),y=a[u]=new Array(M),S=l[u]=new Array(_);t(d,q,N,y,S,g,e);for(var R=0,O=0,b,D;R<M;++R)if(b=N[R]){for(R>=O&&(O=R+1);!(D=y[O])&&++O<M;);b._next=D||null}}return a=new _0(a,i),a._enter=o,a._exit=l,a}function aae(n){return typeof n=="object"&&"length"in n?n:Array.from(n)}function oae(){return new _0(this._exit||this._groups.map(TI),this._parents)}function lae(n,e,t){var i=this.enter(),r=this,s=this.exit();return typeof n=="function"?(i=n(i),i&&(i=i.selection())):i=i.append(n+""),e!=null&&(r=e(r),r&&(r=r.selection())),t==null?s.remove():t(s),i&&r?i.merge(r).order():r}function uae(n){for(var e=n.selection?n.selection():n,t=this._groups,i=e._groups,r=t.length,s=i.length,a=Math.min(r,s),o=new Array(r),l=0;l<a;++l)for(var u=t[l],d=i[l],q=u.length,_=o[l]=new Array(q),g,M=0;M<q;++M)(g=u[M]||d[M])&&(_[M]=g);for(;l<r;++l)o[l]=t[l];return new _0(o,this._parents)}function cae(){for(var n=this._groups,e=-1,t=n.length;++e<t;)for(var i=n[e],r=i.length-1,s=i[r],a;--r>=0;)(a=i[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function Aae(n){n||(n=hae);function e(q,_){return q&&_?n(q.__data__,_.__data__):!q-!_}for(var t=this._groups,i=t.length,r=new Array(i),s=0;s<i;++s){for(var a=t[s],o=a.length,l=r[s]=new Array(o),u,d=0;d<o;++d)(u=a[d])&&(l[d]=u);l.sort(e)}return new _0(r,this._parents).order()}function hae(n,e){return n<e?-1:n>e?1:n>=e?0:NaN}function fae(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this}function dae(){return Array.from(this)}function qae(){for(var n=this._groups,e=0,t=n.length;e<t;++e)for(var i=n[e],r=0,s=i.length;r<s;++r){var a=i[r];if(a)return a}return null}function pae(){let n=0;for(const e of this)++n;return n}function _ae(){return!this.node()}function mae(n){for(var e=this._groups,t=0,i=e.length;t<i;++t)for(var r=e[t],s=0,a=r.length,o;s<a;++s)(o=r[s])&&n.call(o,o.__data__,s,r);return this}function gae(n){return function(){this.removeAttribute(n)}}function Eae(n){return function(){this.removeAttributeNS(n.space,n.local)}}function Mae(n,e){return function(){this.setAttribute(n,e)}}function xae(n,e){return function(){this.setAttributeNS(n.space,n.local,e)}}function Sae(n,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttribute(n):this.setAttribute(n,t)}}function yae(n,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,t)}}function Nae(n,e){var t=yI(n);if(arguments.length<2){var i=this.node();return t.local?i.getAttributeNS(t.space,t.local):i.getAttribute(t)}return this.each((e==null?t.local?Eae:gae:typeof e=="function"?t.local?yae:Sae:t.local?xae:Mae)(t,e))}function RI(n){return n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView}function vae(n){return function(){this.style.removeProperty(n)}}function Oae(n,e,t){return function(){this.style.setProperty(n,e,t)}}function Tae(n,e,t){return function(){var i=e.apply(this,arguments);i==null?this.style.removeProperty(n):this.style.setProperty(n,i,t)}}function Rae(n,e,t){return arguments.length>1?this.each((e==null?vae:typeof e=="function"?Tae:Oae)(n,e,t??"")):bae(this.node(),n)}function bae(n,e){return n.style.getPropertyValue(e)||RI(n).getComputedStyle(n,null).getPropertyValue(e)}function Iae(n){return function(){delete this[n]}}function Pae(n,e){return function(){this[n]=e}}function Lae(n,e){return function(){var t=e.apply(this,arguments);t==null?delete this[n]:this[n]=t}}function Dae(n,e){return arguments.length>1?this.each((e==null?Iae:typeof e=="function"?Lae:Pae)(n,e)):this.node()[n]}function bI(n){return n.trim().split(/^|\s+/)}function Qp(n){return n.classList||new II(n)}function II(n){this._node=n,this._names=bI(n.getAttribute("class")||"")}II.prototype={add:function(n){var e=this._names.indexOf(n);e<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var e=this._names.indexOf(n);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};function PI(n,e){for(var t=Qp(n),i=-1,r=e.length;++i<r;)t.add(e[i])}function LI(n,e){for(var t=Qp(n),i=-1,r=e.length;++i<r;)t.remove(e[i])}function Cae(n){return function(){PI(this,n)}}function wae(n){return function(){LI(this,n)}}function Bae(n,e){return function(){(e.apply(this,arguments)?PI:LI)(this,n)}}function Uae(n,e){var t=bI(n+"");if(arguments.length<2){for(var i=Qp(this.node()),r=-1,s=t.length;++r<s;)if(!i.contains(t[r]))return!1;return!0}
4774return this.each((typeof e=="function"?Bae:e?Cae:wae)(t,e))}function Fae(){this.textContent=""}function Gae(n){return function(){this.textContent=n}}function Vae(n){return function(){var e=n.apply(this,arguments);this.textContent=e??""}}function kae(n){return arguments.length?this.each(n==null?Fae:(typeof n=="function"?Vae:Gae)(n)):this.node().textContent}function zae(){this.innerHTML=""}function Wae(n){return function(){this.innerHTML=n}}function Hae(n){return function(){var e=n.apply(this,arguments);this.innerHTML=e??""}}function Kae(n){return arguments.length?this.each(n==null?zae:(typeof n=="function"?Hae:Wae)(n)):this.node().innerHTML}function Yae(){this.nextSibling&&this.parentNode.appendChild(this)}function $ae(){return this.each(Yae)}function jae(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Xae(){return this.each(jae)}function Zae(n){var e=typeof n=="function"?n:NI(n);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function Qae(){return null}function Jae(n,e){var t=typeof n=="function"?n:NI(n),i=e==null?Qae:typeof e=="function"?e:vI(e);return this.select(function(){return this.insertBefore(t.apply(this,arguments),i.apply(this,arguments)||null)})}function eoe(){var n=this.parentNode;n&&n.removeChild(this)}function toe(){return this.each(eoe)}function noe(){var n=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(n,this.nextSibling):n}function ioe(){var n=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(n,this.nextSibling):n}function roe(n){return this.select(n?ioe:noe)}function soe(n){return arguments.length?this.property("__data__",n):this.node().__data__}function aoe(n){return function(e){n.call(this,e,this.__data__)}}function ooe(n){return n.trim().split(/^|\s+/).map(function(e){var t="",i=e.indexOf(".");return i>=0&&(t=e.slice(i+1),e=e.slice(0,i)),{type:e,name:t}})}function loe(n){return function(){var e=this.__on;if(e){for(var t=0,i=-1,r=e.length,s;t<r;++t)s=e[t],(!n.type||s.type===n.type)&&s.name===n.name?this.removeEventListener(s.type,s.listener,s.options):e[++i]=s;++i?e.length=i:delete this.__on}}}function uoe(n,e,t){return function(){var i=this.__on,r,s=aoe(e);if(i){for(var a=0,o=i.length;a<o;++a)if((r=i[a]).type===n.type&&r.name===n.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=s,r.options=t),r.value=e;return}}this.addEventListener(n.type,s,t),r={type:n.type,name:n.name,value:e,listener:s,options:t},i?i.push(r):this.__on=[r]}}function coe(n,e,t){var i=ooe(n+""),r,s=i.length,a;if(arguments.length<2){var o=this.node().__on;if(o){for(var l=0,u=o.length,d;l<u;++l)for(r=0,d=o[l];r<s;++r)if((a=i[r]).type===d.type&&a.name===d.name)return d.value}return}for(o=e?uoe:loe,r=0;r<s;++r)this.each(o(i[r],e,t));return this}function DI(n,e,t){var i=RI(n),r=i.CustomEvent;typeof r=="function"?r=new r(e,t):(r=i.document.createEvent("Event"),t?(r.initEvent(e,t.bubbles,t.cancelable),r.detail=t.detail):r.initEvent(e,!1,!1)),n.dispatchEvent(r)}function Aoe(n,e){return function(){return DI(this,n,e)}}function hoe(n,e){return function(){return DI(this,n,e.apply(this,arguments))}}function foe(n,e){return this.each((typeof e=="function"?hoe:Aoe)(n,e))}function*doe(){for(var n=this._groups,e=0,t=n.length;e<t;++e)for(var i=n[e],r=0,s=i.length,a;r<s;++r)(a=i[r])&&(yield a)}var qoe=[null];function _0(n,e){this._groups=n,this._parents=e}function poe(){return this}_0.prototype={constructor:_0,select:Use,selectAll:zse,selectChild:$se,selectChildren:Qse,filter:Jse,data:sae,enter:eae,exit:oae,join:lae,merge:uae,selection:poe,order:cae,sort:Aae,call:fae,nodes:dae,node:qae,size:pae,empty:_ae,each:mae,attr:Nae,style:Rae,property:Dae,classed:Uae,text:kae,html:Kae,raise:$ae,lower:Xae,append:Zae,insert:Jae,remove:toe,clone:roe,datum:soe,on:coe,dispatch:foe,[Symbol.iterator]:doe};function _oe(n){return typeof n=="string"?new _0([[document.querySelector(n)]],[document.documentElement]):new _0([[n]],qoe)}function moe(n){let e;for(;e=n.sourceEvent;)n=e;return n}function goe(n,e){if(n=moe(n),e===void 0&&(e=n.currentTarget),e){var t=e.ownerSVGElement||e;if(t.createSVGPoint){var i=t.createSVGPoint();return i.x=n.clientX,i.y=n.clientY,i=i.matrixTransform(e.getScreenCTM().inverse()),[i.x,i.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[n.clientX-r.left-e.clientLeft,n.clientY-r.top-e.clientTop]}}return[n.pageX,n.pageY]}var E5,Nn,CI,wI,Us,Ix,BI,UI,FI,Jp,Yf,$f,W8={},GI=[],Eoe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Cu=Array.isArray;function l2(n,e){for(var t in e)n[t]=e[t];return n}function e_(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function Moe(n,e,t){var i,r,s,a={};for(s in e)s=="key"?i=e[s]:s=="ref"?r=e[s]:a[s]=e[s];if(arguments.length>2&&(a.children=arguments.length>3?E5.call(arguments,2):t),typeof n=="function"&&n.defaultProps!=null)for(s in n.defaultProps)a[s]===void 0&&(a[s]=n.defaultProps[s]);return Q6(n,a,i,r,null)}function Q6(n,e,t,i,r){var s={type:n,props:e,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r??++CI,__i:-1,__u:0};return r==null&&Nn.vnode!=null&&Nn.vnode(s),s}function wu(n){return n.children}function y7(n,e){this.props=n,this.context=e}function E4(n,e){if(e==null)return n.__?E4(n.__,n.__i+1):null;for(var t;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null)return t.__e;return typeof n.type=="function"?E4(n):null}function VI(n){var e,t;if((n=n.__)!=null&&n.__c!=null){for(n.__e=n.__c.base=null,e=0;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null){n.__e=n.__c.base=t.__e;break}return VI(n)}}function Px(n){(!n.__d&&(n.__d=!0)&&Us.push(n)&&!I9.__r++||Ix!=Nn.debounceRendering)&&((Ix=Nn.debounceRendering)||BI)(I9)}function I9(){for(var n,e,t,i,r,s,a,o=1;Us.length;)Us.length>o&&Us.sort(UI),n=Us.shift(),o=Us.length,n.__d&&(t=void 0,r=(i=(e=n).__v).__e,s=[],a=[],e.__P&&((t=l2({},i)).__v=i.__v+1,Nn.vnode&&Nn.vnode(t),t_(e.__P,t,i,e.__n,e.__P.namespaceURI,32&i.__u?[r]:null,s,r??E4(i),!!(32&i.__u),a),t.__v=i.__v,t.__.__k[t.__i]=t,WI(s,t,a),t.__e!=r&&VI(t)));I9.__r=0}function kI(n,e,t,i,r,s,a,o,l,u,d){var q,_,g,M,N,y,S=i&&i.__k||GI,R=e.length;for(l=xoe(t,e,S,l,R),q=0;q<R;q++)(g=t.__k[q])!=null&&(_=g.__i==-1?W8:S[g.__i]||W8,g.__i=q,y=t_(n,g,_,r,s,a,o,l,u,d),M=g.__e,g.ref&&_.ref!=g.ref&&(_.ref&&n_(_.ref,null,g),d.push(g.ref,g.__c||M,g)),N==null&&M!=null&&(N=M),4&g.__u||_.__k===g.__k?l=zI(g,l,n):typeof g.type=="function"&&y!==void 0?l=y:M&&(l=M.nextSibling),g.__u&=-7);return t.__e=N,l}function xoe(n,e,t,i,r){var s,a,o,l,u,d=t.length,q=d,_=0;
vendor: 4,599 bytes, line 4774
4774for(n.__k=new Array(r),s=0;s<r;s++)(a=e[s])!=null&&typeof a!="boolean"&&typeof a!="function"?(l=s+_,(a=n.__k[s]=typeof a=="string"||typeof a=="number"||typeof a=="bigint"||a.constructor==String?Q6(null,a,null,null,null):Cu(a)?Q6(wu,{children:a},null,null,null):a.constructor==null&&a.__b>0?Q6(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a).__=n,a.__b=n.__b+1,o=null,(u=a.__i=Soe(a,t,l,q))!=-1&&(q--,(o=t[u])&&(o.__u|=2)),o==null||o.__v==null?(u==-1&&(r>d?_--:r<d&&_++),typeof a.type!="function"&&(a.__u|=4)):u!=l&&(u==l-1?_--:u==l+1?_++:(u>l?_--:_++,a.__u|=4))):n.__k[s]=null;if(q)for(s=0;s<d;s++)(o=t[s])!=null&&!(2&o.__u)&&(o.__e==i&&(i=E4(o)),KI(o,o));return i}function zI(n,e,t){var i,r;if(typeof n.type=="function"){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,e=zI(i[r],e,t));return e}n.__e!=e&&(e&&n.type&&!t.contains(e)&&(e=E4(n)),t.insertBefore(n.__e,e||null),e=n.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function Soe(n,e,t,i){var r,s,a=n.key,o=n.type,l=e[t];if(l===null&&n.key==null||l&&a==l.key&&o==l.type&&!(2&l.__u))return t;if(i>(l!=null&&!(2&l.__u)?1:0))for(r=t-1,s=t+1;r>=0||s<e.length;){if(r>=0){if((l=e[r])&&!(2&l.__u)&&a==l.key&&o==l.type)return r;r--}if(s<e.length){if((l=e[s])&&!(2&l.__u)&&a==l.key&&o==l.type)return s;s++}}return-1}function Lx(n,e,t){e[0]=="-"?n.setProperty(e,t??""):n[e]=t==null?"":typeof t!="number"||Eoe.test(e)?t:t+"px"}function i7(n,e,t,i,r){var s,a;e:if(e=="style")if(typeof t=="string")n.style.cssText=t;else{if(typeof i=="string"&&(n.style.cssText=i=""),i)for(e in i)t&&e in t||Lx(n.style,e,"");if(t)for(e in t)i&&t[e]==i[e]||Lx(n.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")s=e!=(e=e.replace(FI,"$1")),a=e.toLowerCase(),e=a in n||e=="onFocusOut"||e=="onFocusIn"?a.slice(2):e.slice(2),n.l||(n.l={}),n.l[e+s]=t,t?i?t.u=i.u:(t.u=Jp,n.addEventListener(e,s?$f:Yf,s)):n.removeEventListener(e,s?$f:Yf,s);else{if(r=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in n)try{n[e]=t??"";break e}catch{}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?n.removeAttribute(e):n.setAttribute(e,e=="popover"&&t==1?"":t))}}function Dx(n){return function(e){if(this.l){var t=this.l[e.type+n];if(e.t==null)e.t=Jp++;else if(e.t<t.u)return;return t(Nn.event?Nn.event(e):e)}}}function t_(n,e,t,i,r,s,a,o,l,u){var d,q,_,g,M,N,y,S,R,O,b,D,B,C,G,L,P,w=e.type;if(e.constructor!=null)return null;128&t.__u&&(l=!!(32&t.__u),s=[o=e.__e=t.__e]),(d=Nn.__b)&&d(e);e:if(typeof w=="function")try{if(S=e.props,R="prototype"in w&&w.prototype.render,O=(d=w.contextType)&&i[d.__c],b=d?O?O.props.value:d.__:i,t.__c?y=(q=e.__c=t.__c).__=q.__E:(R?e.__c=q=new w(S,b):(e.__c=q=new y7(S,b),q.constructor=w,q.render=Noe),O&&O.sub(q),q.props=S,q.state||(q.state={}),q.context=b,q.__n=i,_=q.__d=!0,q.__h=[],q._sb=[]),R&&q.__s==null&&(q.__s=q.state),R&&w.getDerivedStateFromProps!=null&&(q.__s==q.state&&(q.__s=l2({},q.__s)),l2(q.__s,w.getDerivedStateFromProps(S,q.__s))),g=q.props,M=q.state,q.__v=e,_)R&&w.getDerivedStateFromProps==null&&q.componentWillMount!=null&&q.componentWillMount(),R&&q.componentDidMount!=null&&q.__h.push(q.componentDidMount);else{if(R&&w.getDerivedStateFromProps==null&&S!==g&&q.componentWillReceiveProps!=null&&q.componentWillReceiveProps(S,b),!q.__e&&q.shouldComponentUpdate!=null&&q.shouldComponentUpdate(S,q.__s,b)===!1||e.__v==t.__v){for(e.__v!=t.__v&&(q.props=S,q.state=q.__s,q.__d=!1),e.__e=t.__e,e.__k=t.__k,e.__k.some(function(z){z&&(z.__=e)}),D=0;D<q._sb.length;D++)q.__h.push(q._sb[D]);q._sb=[],q.__h.length&&a.push(q);break e}q.componentWillUpdate!=null&&q.componentWillUpdate(S,q.__s,b),R&&q.componentDidUpdate!=null&&q.__h.push(function(){q.componentDidUpdate(g,M,N)})}if(q.context=b,q.props=S,q.__P=n,q.__e=!1,B=Nn.__r,C=0,R){for(q.state=q.__s,q.__d=!1,B&&B(e),d=q.render(q.props,q.state,q.context),G=0;G<q._sb.length;G++)q.__h.push(q._sb[G]);q._sb=[]}else do q.__d=!1,B&&B(e),d=q.render(q.props,q.state,q.context),q.state=q.__s;while(q.__d&&++C<25);q.state=q.__s,q.getChildContext!=null&&(i=l2(l2({},i),q.getChildContext())),R&&!_&&q.getSnapshotBeforeUpdate!=null&&(N=q.getSnapshotBeforeUpdate(g,M)),L=d,d!=null&&d.type===wu&&d.key==null&&(L=HI(d.props.children)),o=kI(n,Cu(L)?L:[L],e,t,i,r,s,a,o,l,u),q.base=e.__e,e.__u&=-161,q.__h.length&&a.push(q),y&&(q.__E=q.__=null)}catch(z){if(e.__v=null,l||s!=null)if(z.then){for(e.__u|=l?160:128;o&&o.nodeType==8&&o.nextSibling;)o=o.nextSibling;s[s.indexOf(o)]=null,e.__e=o}else for(P=s.length;P--;
vendor: 3,811 bytes, line 4774
4774)e_(s[P]);else e.__e=t.__e,e.__k=t.__k;Nn.__e(z,e,t)}else s==null&&e.__v==t.__v?(e.__k=t.__k,e.__e=t.__e):o=e.__e=yoe(t.__e,e,t,i,r,s,a,l,u);return(d=Nn.diffed)&&d(e),128&e.__u?void 0:o}function WI(n,e,t){for(var i=0;i<t.length;i++)n_(t[i],t[++i],t[++i]);Nn.__c&&Nn.__c(e,n),n.some(function(r){try{n=r.__h,r.__h=[],n.some(function(s){s.call(r)})}catch(s){Nn.__e(s,r.__v)}})}function HI(n){return typeof n!="object"||n==null||n.__b&&n.__b>0?n:Cu(n)?n.map(HI):l2({},n)}function yoe(n,e,t,i,r,s,a,o,l){var u,d,q,_,g,M,N,y=t.props,S=e.props,R=e.type;if(R=="svg"?r="http://www.w3.org/2000/svg":R=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),s!=null){for(u=0;u<s.length;u++)if((g=s[u])&&"setAttribute"in g==!!R&&(R?g.localName==R:g.nodeType==3)){n=g,s[u]=null;break}}if(n==null){if(R==null)return document.createTextNode(S);n=document.createElementNS(r,R,S.is&&S),o&&(Nn.__m&&Nn.__m(e,s),o=!1),s=null}if(R==null)y===S||o&&n.data==S||(n.data=S);else{if(s=s&&E5.call(n.childNodes),y=t.props||W8,!o&&s!=null)for(y={},u=0;u<n.attributes.length;u++)y[(g=n.attributes[u]).name]=g.value;for(u in y)if(g=y[u],u!="children"){if(u=="dangerouslySetInnerHTML")q=g;else if(!(u in S)){if(u=="value"&&"defaultValue"in S||u=="checked"&&"defaultChecked"in S)continue;i7(n,u,null,g,r)}}for(u in S)g=S[u],u=="children"?_=g:u=="dangerouslySetInnerHTML"?d=g:u=="value"?M=g:u=="checked"?N=g:o&&typeof g!="function"||y[u]===g||i7(n,u,g,y[u],r);if(d)o||q&&(d.__html==q.__html||d.__html==n.innerHTML)||(n.innerHTML=d.__html),e.__k=[];else if(q&&(n.innerHTML=""),kI(e.type=="template"?n.content:n,Cu(_)?_:[_],e,t,i,R=="foreignObject"?"http://www.w3.org/1999/xhtml":r,s,a,s?s[0]:t.__k&&E4(t,0),o,l),s!=null)for(u=s.length;u--;)e_(s[u]);o||(u="value",R=="progress"&&M==null?n.removeAttribute("value"):M!=null&&(M!==n[u]||R=="progress"&&!M||R=="option"&&M!=y[u])&&i7(n,u,M,y[u],r),u="checked",N!=null&&N!=n[u]&&i7(n,u,N,y[u],r))}return n}function n_(n,e,t){try{if(typeof n=="function"){var i=typeof n.__u=="function";i&&n.__u(),i&&e==null||(n.__u=n(e))}else n.current=e}catch(r){Nn.__e(r,t)}}function KI(n,e,t){var i,r;if(Nn.unmount&&Nn.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||n_(i,null,e)),(i=n.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(s){Nn.__e(s,e)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&KI(i[r],e,t||typeof n.type!="function");t||e_(n.__e),n.__c=n.__=n.__e=void 0}function Noe(n,e,t){return this.constructor(n,t)}function voe(n,e,t){var i,r,s,a;e==document&&(e=document.documentElement),Nn.__&&Nn.__(n,e),r=(i=!1)?null:e.__k,s=[],a=[],t_(e,n=e.__k=Moe(wu,null,[n]),r||W8,W8,e.namespaceURI,r?null:e.firstChild?E5.call(e.childNodes):null,s,r?r.__e:e.firstChild,i,a),WI(s,n,a)}function YI(n,e,t){var i,r,s,a,o=l2({},n.props);for(s in n.type&&n.type.defaultProps&&(a=n.type.defaultProps),e)s=="key"?i=e[s]:s=="ref"?r=e[s]:o[s]=e[s]===void 0&&a!=null?a[s]:e[s];return arguments.length>2&&(o.children=arguments.length>3?E5.call(arguments,2):t),Q6(n.type,o,i||n.key,r||n.ref,null)}E5=GI.slice,Nn={__e:function(n,e,t,i){for(var r,s,a;e=e.__;)if((r=e.__c)&&!r.__)try{if((s=r.constructor)&&s.getDerivedStateFromError!=null&&(r.setState(s.getDerivedStateFromError(n)),a=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(n,i||{}),a=r.__d),a)return r.__E=r}catch(o){n=o}throw n}},CI=0,wI=function(n){return n!=null&&n.constructor==null},y7.prototype.setState=function(n,e){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=l2({},this.state),typeof n=="function"&&(n=n(l2({},t),this.props)),n&&l2(t,n),n!=null&&this.__v&&(e&&this._sb.push(e),Px(this))},y7.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),Px(this))},y7.prototype.render=wu,Us=[],BI=typeof Promise=="function"?Promise.prototype.then.bind(Prom
4774ise.resolve()):setTimeout,UI=function(n,e){return n.__v.__b-e.__v.__b},I9.__r=0,FI=/(PointerCapture)$|Capture$/i,Jp=0,Yf=Dx(!1),$f=Dx(!0);function Cx(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function Ooe(n){if(Array.isArray(n))return n}function Toe(n,e,t){return(e=Doe(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Roe(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function boe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 4775In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wx(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function Ioe(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wx(Object(t),!0).forEach(function(i){Toe(n,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):wx(Object(t)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(t,i))})}return n}function Poe(n,e){return Ooe(n)||Roe(n,e)||Coe(n,e)||boe()}function Loe(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Doe(n){var e=Loe(n,"string");return typeof e=="symbol"?e:e+""}function P9(n){"@babel/helpers - typeof";return P9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P9(n)}function Coe(n,e){if(n){if(typeof n=="string")return Cx(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Cx(n,e):void 0}}var jf=function(e){if(P9(e)!=="object")return e;var t=YI(e);if(t.props){var i;t.props=Ioe({},t.props),t!=null&&(i=t.props)!==null&&i!==void 0&&i.children&&(t.props.children=Array.isArray(t.props.children)?t.props.children.map(jf):jf(t.props.children))}return t},woe=function(e){return wI(YI(e))},Boe=function(e,t){delete t.__k,voe(jf(e),t)};function Uoe(n,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}var Foe=`.float-tooltip-kap { 4776 position: absolute; 4777 width: max-content; /* prevent shrinking near right edge */ 4778 max-width: max(50%, 150px); 4779 padding: 3px 5px; 4780 border-radius: 3px; 4781 font: 12px sans-serif; 4782 color: #eee; 4783 background: rgba(0,0,0,0.6); 4784 pointer-events: none; 4785} 4786`;Uoe(Foe);var Goe=hi({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=i.style,s=r===void 0?{}:r,a=!!e&&P9(e)==="object"&&!!e.node&&typeof e.node=="function",o=_oe(a?e.node():e);o.style("position")==="static"&&o.style("position","relative"),t.tooltipEl=o.append("div").attr("class","float-tooltip-kap"),Object.entries(s).forEach(function(u){var d=Poe(u,2),q=d[0],_=d[1];return t.tooltipEl.style(q,_)}),t.tooltipEl.style("left","-10000px").style("display","none");var l="tooltip-".concat(Math.round(Math.random()*1e12));t.mouseInside=!1,o.on("mousemove.".concat(l),function(u){t.mouseInside=!0;var d=goe(u),q=o.node(),_=q.offsetWidth,g=q.offsetHeight,M=[t.offsetX===null||t.offsetX===void 0?"-".concat(d[0]/_*100,"%"):typeof t.offsetX=="number"?"calc(-50% + ".concat(t.offsetX,"px)"):t.offsetX,t.offsetY===null||t.offsetY===void 0?g>130&&g-d[1]<100?"calc(-100% - 6px)":"21px":typeof t.offsetY=="number"?t.offsetY<0?"calc(-100% - ".concat(Math.abs(t.offsetY),"px)"):"".concat(t.offsetY,"px"):t.offsetY];t.tooltipEl.style("left",d[0]+"px").style("top",d[1]+"px").style("transform","translate(".concat(M.join(","),")")),t.content&&t.tooltipEl.style("display","inline")}),o.on("mouseover.".concat(l),function(){t.mouseInside=!0,t.content&&t.tooltipEl.style("display","inline")}),o.on("mouseout.".concat(l),function(){t.mouseInside=!1,t.tooltipEl.style("display","none")})},update:function(e){e.tooltipEl.style("display",e.content&&e.mouseInside?"inline":"none"),e.content?e.content instanceof HTMLElement?(e.tooltipEl.text(""),e.tooltipEl.append(function(){return e.content})):typeof e.content=="string"?e.tooltipEl.html(e.content):woe(e.content)?(e.tooltipEl.text(""),Boe(e.content,e.tooltipEl.node())):(e.tooltipEl.style("display","none"),console.warn("Tooltip content is invali
4786d, skipping.",e.content,e.content.toString())):e.tooltipEl.text("")}});function Voe(n,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}var koe=`.scene-nav-info { 4787 position: absolute; 4788 bottom: 5px; 4789 width: 100%; 4790 text-align: center; 4791 color: slategrey; 4792 opacity: 0.7; 4793 font-size: 10px; 4794 font-family: sans-serif; 4795 pointer-events: none; 4796 user-select: none; 4797} 4798 4799.scene-container canvas:focus { 4800 outline: none; 4801}`;Voe(koe);function Xf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function zoe(n){if(Array.isArray(n))return n}function Woe(n){if(Array.isArray(n))return Xf(n)}function Hoe(n,e,t){return(e=Qoe(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Koe(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Yoe(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,a,o=[],l=!0,u=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(i=s.call(t)).done)&&(o.push(i.value),o.length!==e);l=!0);}catch(d){u=!0,r=d}finally{try{if(!l&&t.return!=null&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw r}}return o}}function $oe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 4802In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function joe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 4803In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xoe(n,e){return zoe(n)||Yoe(n,e)||$I(n,e)||$oe()}function Os(n){return Woe(n)||Koe(n)||$I(n)||joe()}function Zoe(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Qoe(n){var e=Zoe(n,"string");return typeof e=="symbol"?e:e+""}function $I(n,e){if(n){if(typeof n=="string")return Xf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Xf(n,e):void 0}}var Sn=window.THREE?window.THREE:{WebGLRenderer:nz,Scene:K9,PerspectiveCamera:gi,Raycaster:_U,SRGBColorSpace:vi,TextureLoader:iq,Vector2:Ce,Vector3:Z,Box3:l3,Color:Nt,Mesh:F1,SphereGeometry:T2,MeshBasicMaterial:a0,BackSide:Q1,Clock:Py},jI=hi({props:{width:{default:window.innerWidth,onChange:function(e,t,i){isNaN(e)&&(t.width=i)}},height:{default:window.innerHeight,onChange:function(e,t,i){isNaN(e)&&(t.height=i)}},viewOffset:{default:[0,0]},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},lights:{default:[]},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.tooltip&&t.tooltip.content(null)},triggerUpdate:!1},pointerRaycasterThrottleMs:{default:50,triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},pointsHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{triggerUpdate:!1},hoverFilter:{default:function(){return!0},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},clickAfterDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){e.controls.enabled&&e.controls.update&&e.controls.update(Math.min(1,e.clock.getDelta())),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.extraRenderers.forEach(function(a){return a.render(e.scene,e.camera)});var t=+new Date;if(e.enablePointerInteraction&&t-e.lastRaycasterCheck>=e.pointerRaycasterThrottleMs){e.lastRaycasterCheck=t;var i=null;if(e.hoverDuringDrag||!e.isPointerDragging){var r=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y);
4803e.hoverOrderComparator&&r.sort(function(a,o){return e.hoverOrderComparator(a.object,o.object)});var s=r.find(function(a){return e.hoverFilter(a.object)})||null;i=s?s.object:null,e.intersection=s||null}i!==e.hoverObj&&(e.onHover(i,e.hoverObj,e.intersection),e.tooltip.content(i&&We(e.tooltipContent)(i,e.intersection)||null),e.hoverObj=i)}e.tweenGroup.update()}return this},getPointerPos:function(e){var t=e.pointerPos,i=t.x,r=t.y;return{x:i,y:r}},cameraPosition:function(e,t,i,r){var s=e.camera;if(t&&e.initialised){var a=t,o=i||{x:0,y:0,z:0};if(!r)d(a),q(o);else{var l=Object.assign({},s.position),u=_();e.tweenGroup.add(new Hi(l).to(a,r).easing(ti.Quadratic.Out).onUpdate(d).start()),e.tweenGroup.add(new Hi(u).to(o,r/3).easing(ti.Quadratic.Out).onUpdate(q).start())}return this}return Object.assign({},s.position,{lookAt:_()});function d(g){var M=g.x,N=g.y,y=g.z;M!==void 0&&(s.position.x=M),N!==void 0&&(s.position.y=N),y!==void 0&&(s.position.z=y)}function q(g){var M=new Sn.Vector3(g.x,g.y,g.z);e.controls.target?e.controls.target=M:s.lookAt(M)}function _(){return Object.assign(new Sn.Vector3(0,0,-1e3).applyQuaternion(s.quaternion).add(s.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,r=arguments.length,s=new Array(r>3?r-3:0),a=3;a<r;a++)s[a-3]=arguments[a];return this.fitToBbox(this.getBbox.apply(this,s),t,i)},fitToBbox:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,s=e.camera;if(t){var a=new Sn.Vector3(0,0,0),o=Math.max.apply(Math,Os(Object.entries(t).map(function(g){var M=Xoe(g,2),N=M[0],y=M[1];return Math.max.apply(Math,Os(y.map(function(S){return Math.abs(a[N]-S)})))})))*2,l=(1-r*2/e.height)*s.fov,u=o/Math.atan(l*Math.PI/180),d=u/s.aspect,q=Math.max(u,d);if(q>0){var _=a.clone().sub(s.position).normalize().multiplyScalar(-q);this.cameraPosition(_,a,i)}}return this},getBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=new Sn.Box3(new Sn.Vector3(0,0,0),new Sn.Vector3(0,0,0)),r=e.objects.filter(t);return r.length?(r.forEach(function(s){return i.expandByObject(s)}),Object.assign.apply(Object,Os(["x","y","z"].map(function(s){return Hoe({},s,[i.min[s],i.max[s]])})))):null},getScreenCoords:function(e,t,i,r){var s=new Sn.Vector3(t,i,r);
4803return s.project(this.camera()),{x:(s.x+1)*e.width/2,y:-(s.y-1)*e.height/2}},getSceneCoords:function(e,t,i){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=new Sn.Vector2(t/e.width*2-1,-(i/e.height)*2+1),a=new Sn.Raycaster;return a.setFromCamera(s,e.camera),Object.assign({},a.ray.at(r,new Sn.Vector3))},intersectingObjects:function(e,t,i){var r=new Sn.Vector2(t/e.width*2-1,-(i/e.height)*2+1),s=new Sn.Raycaster;return s.params.Line.threshold=e.lineHoverPrecision,s.params.Points.threshold=e.pointsHoverPrecision,s.setFromCamera(r,e.camera),s.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new Sn.Scene,camera:new Sn.PerspectiveCamera,clock:new Sn.Clock,tweenGroup:new Q9,lastRaycasterCheck:0}},init:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=i.controlType,s=r===void 0?"trackball":r,a=i.useWebGPU,o=a===void 0?!1:a,l=i.rendererConfig,u=l===void 0?{}:l,d=i.extraRenderers,q=d===void 0?[]:d,_=i.waitForLoadComplete,g=_===void 0?!0:_;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[s]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.tooltip=new Goe(t.container),t.pointerPos=new Sn.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(M){return t.container.addEventListener(M,function(N){if(M==="pointerdown"&&(t.isPointerPressed=!0),!t.isPointerDragging&&N.type==="pointermove"&&(N.pressure>0||t.isPointerPressed)&&(N.pointerType!=="touch"||N.movementX===void 0||[N.movementX,N.movementY].some(function(R){return Math.abs(R)>1}))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var y=S(t.container);t.pointerPos.x=N.pageX-y.left,t.pointerPos.y=N.pageY-y.top}function S(R){var O=R.getBoundingClientRect(),b=window.pageXOffset||document.documentElement.scrollLeft,D=window.pageYOffset||document.documentElement.scrollTop;return{top:O.top+D,left:O.left+b}}},{passive:!0})}),t.container.addEventListener("pointerup",function(M){t.isPointerPressed&&(t.isPointerPressed=!1,!(t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag))&&requestAnimationFrame(function(){M.button===0&&t.onClick(t.hoverObj||null,M,t.intersection),M.button===2&&t.onRightClick&&t.onRightClick(t.hoverObj||null,M,t.intersection)}))},{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",function(M){t.onRightClick&&M.preventDefault()}),t.renderer=new(o?Hb:Sn.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},u)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=q,t.extraRenderers.forEach(function(M){M.domElement.style.position="absolute",M.domElement.style.top="0px",M.domElement.style.pointerEvents="none",t.container.appendChild(M.domElement)}),t.postProcessingComposer=new j3e(t.renderer),t.postProcessingComposer.addPass(new X3e(t.sce
4803ne,t.camera)),t.controls=new{trackball:r3e,orbit:E3e,fly:D3e}[s](t.camera,t.renderer.domElement),s==="fly"&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),(s==="trackball"||s==="orbit")&&(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",function(){t.controlsEngaged=!0}),t.controls.addEventListener("change",function(){t.controlsEngaged&&(t.controlsDragging=!0)}),t.controls.addEventListener("end",function(){t.controlsEngaged=!1,t.controlsDragging=!1})),[t.renderer,t.postProcessingComposer].concat(Os(t.extraRenderers)).forEach(function(M){return M.setSize(t.width,t.height)}),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new Sn.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!g,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))){var i,r=e.width,s=e.height;e.container.style.width="".concat(r,"px"),e.container.style.height="".concat(s,"px"),[e.renderer,e.postProcessingComposer].concat(Os(e.extraRenderers)).forEach(function(g){return g.setSize(r,s)}),e.camera.aspect=r/s;var a=e.viewOffset.slice(0,2);a.some(function(g){return g})&&(i=e.camera).setViewOffset.apply(i,[r,s].concat(Os(a),[r,s])),e.camera.updateProjectionMatrix()}if(t.hasOwnProperty("viewOffset")){var o,l=e.width,u=e.height,d=e.viewOffset.slice(0,2);d.some(function(g){return g}
4803)?(o=e.camera).setViewOffset.apply(o,[l,u].concat(Os(d),[l,u])):e.camera.clearViewOffset()}if(t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=e.skyRadius*2.5,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new Sn.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var q=g4(e.backgroundColor).alpha;q===void 0&&(q=1),e.renderer.setClearColor(new Sn.Color(Ose(1,e.backgroundColor)),q)}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?new Sn.TextureLoader().load(e.backgroundImageUrl,function(g){g.colorSpace=Sn.SRGBColorSpace,e.skysphere.material=new Sn.MeshBasicMaterial({map:g,side:Sn.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&_()}):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&_())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("lights")&&((t.lights||[]).forEach(function(g){return e.scene.remove(g)}),e.lights.forEach(function(g){return e.scene.add(g)})),t.hasOwnProperty("objects")&&((t.objects||[]).forEach(function(g){return e.scene.remove(g)}),e.objects.forEach(function(g){return e.scene.add(g)}));function _(){e.loadComplete=e.scene.visible=!0}}});function Joe(n,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}var e4e=`.scene-container .clickable { 4804 cursor: pointer; 4805}`;Joe(e4e);function Zf(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function t4e(n){if(Array.isArray(n))return Zf(n)}function M5(n,e,t){return(e=o4e(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function n4e(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function i4e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 4806In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bx(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function Fs(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bx(Object(t),!0).forEach(function(i){M5(n,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Bx(Object(t)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(t,i))})}return n}function r4e(n,e){if(n==null)return{};var t,i,r=s4e(n,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)t=s[i],e.indexOf(t)===-1&&{}.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}function s4e(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}function Bu(n){return t4e(n)||n4e(n)||l4e(n)||i4e()}function a4e(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function o4e(n){var e=a4e(n,"string");return typeof e=="symbol"?e:e+""}function l4e(n,e){if(n){if(typeof n=="string")return Zf(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Zf(n,e):void 0}}function XI(n,e){var t=new e;return t._destructor&&t._destructor(),{linkProp:function(r){return{default:t[r](),onChange:function(a,o){o[n][r](a)},triggerUpdate:!1}},linkMethod:function(r){return function(s){for(var a=s[n],o=arguments.length,l=new Array(o>1?o-1:0),u=1;u<o;u++)l[u-1]=arguments[u];var d=a[r].apply(a,l);return d===a?this:d}}}}var u4e=["rendererConfig","waitForGlobeReady"],y6=Fs(Fs({},window.THREE?window.THREE:{AmbientLight:by,DirectionalLight:Ry,Vector2:Ce,REVISION:v4}),{},{CSS2DRenderer:rz}),ZI=XI("globe",_I),c4e=Object.assign.apply(Object,Bu(["globeImageUrl","bumpImageUrl","globeTileEngineUrl","globeTileEngineMaxLevel","showGlobe","showGraticules","showAtmosphere","atmosphereColor","atmosphereAltitude","onGlobeReady","pointsData","pointLat","pointLng","pointColor","pointAltitude","pointRadius","pointResolution","pointsMerge","pointsTransitionDuration","arcsData","arcStartLat","arcStartLng","arcEndLat","arcEndLng","arcColor","arcAltitude","arcAltitudeAutoScale","arcStroke","arcCurveResolution","arcCircularResolution","arcDashLength","arcDashGap","arcDashInitialGap","arcDashAnimateTime","arcsTransitionDuration","polygonsData","polygonGeoJsonGeometry","polygonCapColor","polygonCapMaterial","polygonSideColor","polygonSideMaterial","polygonStrokeColor","polygonAltitude","polygonCapCurvatureResolution","polygonsTransitionDuration","pathsData","pathPoints","pathPointLat","pathPointLng","pathPointAlt","pathResolution","pathColor","pathStroke","pathDashLength","pathDashGap","pathDashInitialGap","pathDashAnimateTime","pathTransitionDuration","heatmapsData","heatmapPoints","heatmapPointLat","heatmapPointLng","heatmapPointWeight","heatmapBandwidth","heatmapColorFn","heatmapColorSaturation","heatmapBaseAltitude","heatmapTopAltitude","heatmapsTransitionDuration","hexBinPointsData","hexBinPointLat","hexBinPointLng","hexBinPointWeight","hexBinRes
4806olution","hexMargin","hexTopCurvatureResolution","hexTopColor","hexSideColor","hexAltitude","hexBinMerge","hexTransitionDuration","hexPolygonsData","hexPolygonGeoJsonGeometry","hexPolygonColor","hexPolygonAltitude","hexPolygonResolution","hexPolygonMargin","hexPolygonUseDots","hexPolygonCurvatureResolution","hexPolygonDotResolution","hexPolygonsTransitionDuration","tilesData","tileLat","tileLng","tileAltitude","tileWidth","tileHeight","tileUseGlobeProjection","tileMaterial","tileCurvatureResolution","tilesTransitionDuration","particlesData","particlesList","particleLat","particleLng","particleAltitude","particlesSize","particlesSizeAttenuation","particlesColor","particlesTexture","ringsData","ringLat","ringLng","ringAltitude","ringColor","ringResolution","ringMaxRadius","ringPropagationSpeed","ringRepeatPeriod","labelsData","labelLat","labelLng","labelAltitude","labelRotation","labelText","labelSize","labelTypeFace","labelColor","labelResolution","labelIncludeDot","labelDotRadius","labelDotOrientation","labelsTransitionDuration","htmlElementsData","htmlLat","htmlLng","htmlAltitude","htmlElement","htmlElementVisibilityModifier","htmlTransitionDuration","objectsData","objectLat","objectLng","objectAltitude","objectRotation","objectFacesSurface","objectThreeObject","customLayerData","customThreeObject","customThreeObjectUpdate"].map(function(n){return M5({},n,ZI.linkProp(n))}))),A4e=Object.assign.apply(Object,Bu(["globeMaterial","getGlobeRadius","getCoords","toGeoCoords"].map(function(n){return M5({},n,ZI.linkMethod(n))}))),QI=XI("renderObjs",jI),h4e=Object.assign.apply(Object,Bu(["width","height","backgroundColor","backgroundImageUrl","enablePointerInteraction"].map(function(n){return M5({},n,QI.linkProp(n))}))),f4e=Object.assign.apply(Object,Bu(["lights","postProcessingComposer"].map(function(n){return M5({},n,QI.linkMethod(n))}))),d4e=hi({props:Fs(Fs({onZoom:{triggerUpdate:!1},onGlobeClick:{triggerUpdate:!1},onGlobeRightClick:{triggerUpdate:!1},pointLabel:{default:"name",triggerUpdate:!1},onPointClick:{triggerUpdate:!1},onPointRightClick:{triggerUpdate:!1},onPointHover:{triggerUpdate:!1},arcLabel:{default:"name",triggerUpdate:!1},onArcClick:{triggerUpdate:!1},onArcRightClick:{triggerUpdate:!1},onArcHover:{triggerUpdate:!1},polygonLabel:{default:"name",triggerUpdate:!1},onPolygonClick:{triggerUpdate:!1},onPolygonRightClick:{triggerUpdate:!1},onPolygonHover:{triggerUpdate:!1},pathLabel:{default:"name",triggerUpdate:!1},onPathClick:{triggerUpdate:!1},onPathRightClick:{triggerUpdate:!1},onPathHover:{triggerUpdate:!1},onHeatmapClick:{triggerUpdate:!1},onHeatmapRightClick:{triggerUpdate:!1},onHeatmapHover:{triggerUpdate:!1},hexLabel:{triggerUpdate:!1},onHexClick:{triggerUpdate:!1},onHexRightClick:{triggerUpdate:!1},onHexHover:{triggerUpdate:!1},hexPolygonLabel:{triggerUpdate:!1},onHexPolygonClick:{triggerUpdate:!1},onHexPolygonRightClick:{triggerUpdate:!1},onHexPolygonHover:{triggerUpdate:!1},tileLabel:{default:"name",triggerUpdate:!1},onTileClick:{triggerUpdate:!1},onTileRightClick:{triggerUpdate:!1},onTileHover:{triggerUpdate:!1},particleLabel:{default:"name",triggerUpdate:!1},onParticleClick:{triggerUpdate:!1},onParticleRightClick:{triggerUpdate:!1},onParticleHover:{triggerUpdate:!1},labelLabel:{triggerUpdate:!1},onLabelClick:{triggerUpdate:!1},onLabelRightClick:{triggerUpdate:!1},onLabelHover:{triggerUpdate:!1},objectLabel:{default:"name",triggerUpdate:!1},onObjectClick:{triggerUpdate:!1},onObjectRightClick:{triggerUpdate:!1},onObjectHover:{triggerUpdate:!1},customLayerLabel:{default:"name",triggerUpdate:!1},onCustomLayerClick:{triggerUpdate:!1},onCustomLayerRightClick:{triggerUpdate:!1},onCustomLayerHover:{triggerUpdate:!1},pointerEventsFilter:{default:function(){return!0},triggerUpdate:!1},lineHoverPrecision:{default:.2,triggerUpdate:!1,onChange:function(e,t){t.renderObjs.lineHoverPrecision(e),t.renderObjs.pointsHoverPrecision(e)}},globeOffset:{default:[0,0],triggerUpdate:!1,onChange:function(e,t){return Array.isArray(e)&&e.length===2&&t.renderObjs.viewOffset(e.map(function(i){return-i}))}}},c4e),h4e),methods:Fs(Fs({pauseAnimation:function(e){var t;return e.animationFrameRequestId!==null&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),(t=e.globe)===null||t===void 0||t.pauseAnimation(),this},resumeAnimation:function(e){var t;return e.animationFrameRequestId===null&&this._animationCycle(),(t=e.globe)===null||t===void 0||t.resumeAnimation(),this},_animationCycle:function(e){e.renderObjs.tick(),e.tweenGroup.update(),e.animationFrameRequestId=requestAnimationFrame(this._animationCycle)}
4806,pointOfView:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=a();if(t.lat===void 0&&t.lng===void 0&&t.altitude===void 0)return r;var s=Object.assign({},r,t);if(["lat","lng","altitude"].forEach(function(l){return s[l]=+s[l]}),!i)o(s);else{for(;r.lng-s.lng>180;)r.lng-=360;for(;r.lng-s.lng<-180;)r.lng+=360;e.tweenGroup.add(new Hi(r).to(s,i).easing(ti.Cubic.InOut).onUpdate(o).start())}return this;function a(){return e.globe.toGeoCoords(e.renderObjs.cameraPosition())}function o(l){var u=l.lat,d=l.lng,q=l.altitude;e.renderObjs.cameraPosition(e.globe.getCoords(u,d,q)),e.globe.setPointOfView(e.renderObjs.camera())}},getScreenCoords:function(e){for(var t,i=arguments.length,r=new Array(i>1?i-1:0),s=1;s<i;s++)r[s-1]=arguments[s];var a=(t=e.globe).getCoords.apply(t,r);return e.renderObjs.getScreenCoords(a.x,a.y,a.z)},toGlobeCoords:function(e,t,i){var r=e.renderObjs.intersectingObjects(t,i).find(function(l){return(l.object.__globeObjType||l.object.parent.__globeObjType)==="globe"});if(!r)return null;var s=e.globe.toGeoCoords(r.point),a=s.lat,o=s.lng;return{lat:a,lng:o}},scene:function(e){return e.renderObjs.scene()},camera:function(e){return e.renderObjs.camera()},renderer:function(e){return e.renderObjs.renderer()},controls:function(e){return e.renderObjs.controls()},_destructor:function(e){e.globe._destructor(),this.pauseAnimation(),this.pointsData([]),this.arcsData([]),this.polygonsData([]),this.pathsData([]),this.heatmapsData([]),this.hexBinPointsData([]),this.hexPolygonsData([]),this.tilesData([]),this.particlesData([]),this.labelsData([]),this.htmlElementsData([]),this.objectsData([]),this.customLayerData([])}},A4e),f4e),stateInit:function(e){var t=e.rendererConfig,i=e.waitForGlobeReady,r=i===void 0?!0:i,s=r4e(e,u4e),a=new _I(Fs({waitForGlobeReady:r},s));return{globe:a,renderObjs:jI({controlType:"orbit",rendererConfig:t,waitForLoadComplete:r,extraRenderers:[new y6.CSS2DRenderer]}).skyRadius(a.getGlobeRadius()*500).showNavInfo(!1).objects([a]).lights([new y6.AmbientLight(13421772,Math.PI),new y6.DirectionalLight(16777215,.6*Math.PI)]),tweenGroup:new Q9}},init:function(e,t){var i=this;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.style.position="relative";var r=document.createElement("div");t.container.appendChild(r),t.renderObjs(r),t.globe.rendererSize(t.renderObjs.renderer().getSize(new y6.Vector2)),this.pointOfView({altitude:2.5});var s=t.globe.getGlobeRadius(),a=t.renderObjs.controls();t.renderObjs.camera().near=.05,a.minDistance=s+Math.max(.001,t.renderObjs.camera().near*1.1),a.maxDistance=s*100,a.enablePan=!1,a.enableDamping=!0,a.dampingFactor=.1,a.rotateSpeed=.3,a.zoomSpeed=.3,a.zoomToCursor=!0,a.addEventListener("change",function(){a.target.setScalar(0);var u=i.pointOfView();a.rotateSpeed=u.altitude*.3,a.zoomSpeed=Math.sqrt(u.altitude)*.5,t.globe.setPointOfVie
4806w(t.renderObjs.camera()),t.onZoom&&t.onZoom(u)});var o=function(d){for(var q=d;q&&!q.hasOwnProperty("__globeObjType");)q=q.parent;return q},l={point:function(d){return d},arc:function(d){return d},polygon:function(d){return d.data},path:function(d){return d},heatmap:function(d){return d},hexbin:function(d){return d},hexPolygon:function(d){return d},tile:function(d){return d},particles:function(d,q){return!q||!q.hasOwnProperty("index")||d.length<=q.index?d:d[q.index]},label:function(d){return d},object:function(d){return d},custom:function(d){return d}};y6.REVISION<155&&(t.renderObjs.renderer().useLegacyLights=!1),t.renderObjs.hoverFilter(function(u){var d=o(u);if(!d)return!1;var q=d.__globeObjType;if(q!=="globe"&&!l.hasOwnProperty(q))return!1;var _=l.hasOwnProperty(q)&&d.__data?l[q](d.__data):null;return["points","hexBinPoints"].some(function(g){return g===q})&&Array.isArray(_)?!1:t.pointerEventsFilter(d,_)}).tooltipContent(function(u,d){var q={point:t.pointLabel,arc:t.arcLabel,polygon:t.polygonLabel,path:t.pathLabel,hexbin:t.hexLabel,hexPolygon:t.hexPolygonLabel,tile:t.tileLabel,particles:t.particleLabel,label:t.labelLabel,object:t.objectLabel,custom:t.customLayerLabel},_=o(u),g=_&&_.__globeObjType;return _&&g&&q.hasOwnProperty(g)&&l.hasOwnProperty(g)&&We(q[g])(l[g](_.__data,d))||""}).onHover(function(u,d,q){var _={point:t.onPointHover,arc:t.onArcHover,polygon:t.onPolygonHover,path:t.onPathHover,heatmap:t.onHeatmapHover,hexbin:t.onHexHover,hexPolygon:t.onHexPolygonHover,tile:t.onTileHover,particles:t.onParticleHover,label:t.onLabelHover,object:t.onObjectHover,custom:t.onCustomLayerHover},g={globe:t.onGlobeClick,point:t.onPointClick,arc:t.onArcClick,polygon:t.onPolygonClick,path:t.onPathClick,heatmap:t.onHeatmapClick,hexbin:t.onHexClick,hexPolygon:t.onHexPolygonClick,tile:t.onTileClick,particles:t.onParticleClick,label:t.onLabelClick,object:t.onObjectClick,custom:t.onCustomLayerClick},M=o(u);if(M&&!_.hasOwnProperty(M.__globeObjType)&&(M=null),M!==t.hoverObj){var N=t.hoverObj?t.hoverObj.__globeObjType:null,y=t.hoverData,S=M?M.__globeObjType:null,R=M?l[S](M.__data,q):null;N&&N!==S&&_[N]&&_[N](null,y||null),S&&_[S]&&_[S](R,N===S?y:null),t.renderObjs.renderer().domElement.classList[S&&g[S]?"add":"remove"]("clickable"),t.hoverObj=M,t.hoverData=R}}).onClick(function(u,d,q){if(u){var _={globe:t.onGlobeClick,point:t.onPointClick,arc:t.onArcClick,polygon:t.onPolygonClick,path:t.onPathClick,heatmap:t.onHeatmapClick,hexbin:t.onHexClick,hexPolygon:t.onHexPolygonClick,tile:t.onTileClick,particles:t.onParticleClick,label:t.onLabelClick,object:t.onObjectClick,custom:t.onCustomLayerClick},g=o(u),M=g.__globeObjType;if(g&&_.hasOwnProperty(M)&&_[M]){var N=[d],y=q!=null&&q.isVector3?q:q==null?void 0:q.point;if(M==="globe"){var S=i.toGeoCoords(y),R=S.lat,O=S.lng;N.unshift({lat:R,lng:O})}else N.push(i.toGeoCoords(y));l.hasOwnProperty(M)&&N.unshift(l[M](g.__data,q)),_[M].apply(_,N)}}}).onRightClick(function(u,d,q){if(u){var _={globe:t.onGlobeRightClick,point:t.onPointRightClick,arc:t.onArcRightClick,polygon:t.onPolygonRightClick,path:t.onPathRightClick,heatmap:t.onHeatmapRightClick,hexbin:t.onHexRightClick,hexPolygon:t.onHexPolygonRightClick,tile:t.onTileRightClick,particles:t.onParticleRightClick,label:t.onLabelRightClick,object:t.onObjectRightClick,custom:t.onCustomLayerRightClick},g=o(u),M=g.__globeObjType;if(g&&_.hasOwnProperty(M)&&_[M]){var N=[d],y=q!=null&&q.isVector3?q:q==null?void 0:q.point;if(M==="globe"){var S=i.toGeoCoords(y),R=S.lat,O=S.lng;N.unshift({lat:R,lng:O})}else N.push(i.toGeoCoords(y));l.hasOwnProperty(M)&&N.unshift(l[M](g.__data,q)),_[M].apply(_,N)}}}),this._animationCycle()}});function q4e(n,e={}){if(!n)return null;const{countries:t=[],pulsingCountries:i=[],loraFont:r=null,onPolygonClick:s=()=>{},onLabelClick:a=()=>{}}=e,o=d4e()(n).globeImageUrl("//unpkg.com/three-globe/example/img/earth-night.jpg").backgroundImageUrl("//unpkg.com/three-globe/example/img/night-sky.png").polygonCapColor(()=>"rgba(40, 40, 60, 0.7)").polygonSideColor(()=>"rgba(0, 100, 0, 0.15)").polygonStrokeColor(()=>"#666").ringsData(i).ringColor(()=>l=>l!=null?`rgba(255, 255, 100, ${.6*(1-l)})`:"rgba(255, 255, 100, 0)").ringMaxRadius(4).ringPropagationSpeed(2).ringRepeatPeriod(2e3).ringAltitude(.02).onPolygonClick((l,u,{lat:d,lng:q})=>{s(l,{lat:d,lng:q})}).onPolygonHover(l=>{n&&(n.style.cursor=l?"pointer":"grab")}).labelLat(l=>l.lat).labelLng(l=>l.lng).labelText(l=>l.text).labelSize(l=>l.size).labelColor(l=>l&&l.color?l.color:"rgba(255, 255, 100, 0)").labelDotRadius(0).labelDotOrientation("bottom").labelAltitude(l=>.015+(l.altitudeOffset||0)).labelResolution(2).labelsTransitionDuration(1e3).onLabelClick((l,u,{lat:d,lng:q})=>{a(l,{lat:d,lng:q})}).onLabelHover(l=>{n&&(n.style.cursor=l?"pointer":"grab")});return r&&o.labelTypeFace(r),o.controls().autoRotate=!1,o.controls().autoRotateSpeed=.1,o.controls().enableZoom=!0,o.controls().minDistance=100,o.controls().maxDistance=600,o.pointOfVie
4806w({lat:40,lng:-95,altitude:2}),o}function p4e(n,e){if(!n||!e)return()=>{};let t;const i=()=>{clearTimeout(t),t=setTimeout(()=>{var r,s;if(e&&n){const a=e.parentElement;if(a)n.width(a.offsetWidth),n.height(a.offsetHeight);else{const o=window.innerHeight-(((r=document.querySelector("header"))==null?void 0:r.clientHeight)||0)-(((s=document.querySelector("footer"))==null?void 0:s.clientHeight)||0);n.width(window.innerWidth),n.height(o>0?o:window.innerHeight-120)}}},150)};return window.addEventListener("resize",i),i(),()=>{window.removeEventListener("resize",i)}}function _4e(n,e){if(!n)return;const{countries:t={features:[]},globeLabelsData:i=[],pulsingCountries:r=[],globeLabelsInitialized:s=!1}=e;if(n.polygonsData(t.features.length>0?t.features:[]),!s&&i.length>0){const a=i.filter(o=>o.lat&&o.lng&&!isNaN(o.lat)&&!isNaN(o.lng)&&!(Math.abs(o.lat)<.001&&Math.abs(o.lng)<.001));n.labelsData(a)}n.ringsData(r)}function m4e(n){if(!n)return{startRenderLoop:()=>{},stopRenderLoop:()=>{}};let e=null,t=!0;const i=()=>{t=!document.hidden,n&&(document.hidden?(n.controls().autoRotate=!1,s()):(n.controls().autoRotate=!1,r()))};document.addEventListener("visibilitychange",i);function r(){e&&cancelAnimationFrame(e);const a=o=>{t&&(e=requestAnimationFrame(a))};e=requestAnimationFrame(a)}function s(){e&&(cancelAnimationFrame(e),e=null)}return{startRenderLoop:r,stopRenderLoop:s,cleanup:()=>{document.removeEventListener("visibilitychange",i),s()}}}function g4e(n,e,t,i){if(!n)return null;console.log("Adding loading marker at",e,t);const r={lat:e,lng:t,size:5,color:"rgba(255, 0, 0, 1)",repeatPeriod:500,altitude:.1,maxRadius:5};return n.ringColor(()=>s=>s!=null?`rgba(255, 0, 0, ${1*(1-s)})`:"rgba(255, 0, 0, 0)").ringMaxRadius(5).ringPropagationSpeed(3).ringRepeatPeriod(500),setTimeout(()=>{n.ringsData([r])},50),r}function E4e(n,e){n&&(console.log("Removing loading marker"),n.ringColor(()=>t=>t!=null?`rgba(255, 255, 100, ${.6*(1-t)})`:"rgba(255, 255, 100, 0)").ringMaxRadius(4).ringPropagationSpeed(2).ringRepeatPeriod(2e3).ringAltitude(.02),n.ringsData(e||[]))}function M4e(n){return n.filter(e=>e.trends&&e.trends.length>0).map((e,t)=>({lat:e.lat,lng:e.lng,text:e.trends[0].term,countryName:e.countryName,size:JC(e.population||0),color:"rgba(255, 255, 100, 1)",altitudeOffset:t%5*.002}))}function x4e(n,e){const t=e.find(i=>i.iso_a2===n.properties.ISO_A2||i.countryName===n.properties.ADMIN);if(t&&t.lat&&t.lng)return{lat:t.lat,lng:t.lng};if(n.geometry&&n.geometry.coordinates&&n.geometry.coordinates.length>0)try{const i=n.geometry.coordinates[0][0];if(Array.isArray(i)){let r=0,s=0;return i.forEach(a=>{r+=a[0],s+=a[1]}),{lat:s/i.length,lng:r/i.length}}}catch(i){console.log("Error calculating centroid",i)}return{lat:0,lng:0}}async function S4e(n,e,t,i){if(t.selectedCountry&&t.selectedCountry.properties.ADMIN!==n.properties.ADMIN&&(Jf(t),await new Promise(r=>setTimeout(r,100))),t.selectedCountry&&t.selectedCountry.properties.ADMIN===n.properties.ADMIN){Jf(t);return}await Qf(n,e,t,i)}async function Qf(n,e,t,i){let r;e&&e.lat&&e.lng?(r=e,console.log("Using exact click coordinates:",r)):(r=x4e(n,t.combinedTrendingData),console.log("Using calculated country coordinates:",r)),g4e(i,r.lat,r.lng,t.pulsingCountries),t.isLoadingDefinitions=!0;const s=Date.now(),a=1e3;try{await N4e(n,t);const o=Date.now()-s;o<a&&await new Promise(l=>setTimeout(l,a-o))}finally{E4e(i,t.pulsingCountries)}}async function y4e(n,e,t,i){const r=t.combinedTrendingData.find(a=>a.countryName===n.countryName);if(!r)return;const s=t.countries.features.find(a=>a.properties.ISO_A2===r.iso_a2||a.properties.ADMIN===n.countryName);if(s)await Qf(s,e,t,i);else{const a={properties:{ADMIN:r.countryName,ISO_A2:r.iso_a2}};await Qf(a,e,t,i)}}async function N4e(n,e){return new Promise(async t=>{const i=n.properties.ADMIN,r=e.combinedTrendingData.find(l=>l.countryName===i||l.iso_a2===n.properties.ISO_A2),s=e.countriesLookup.get(n.properties.ISO_A2);let a={...n};a.countryInfo=s;let o=[];if(r&&r.trends.length>0){o=r.trends.slice(0,3).map(l=>({term:l.term,definition:""}));for(let l=0;l<o.length;l++)try{const u=await XC(o[l].term);o[l].definition=u}catch{o[l].definition="Definition not available"}}e.countryTrends=o,e.selectedCountry=a,e.isLoadingDefinitions=!1,t()})}function Jf(n){n.selectedCountry=null,n.countryTrends=[],n.isLoadingDefinitions=!1}const v4e={0:{ha:883,x_min:60,x_max:822,o:"m 442 -22 q 263 23 336 -22 q 144 142
4806189 68 q 80 306 100 217 q 60 482 60 394 q 84 660 60 569 q 157 826 108 750 q 278 948 206 901 q 447 994 350 994 q 620 949 549 994 q 736 828 692 903 q 801 665 781 754 q 822 489 822 576 q 799 313 822 403 q 729 147 776 222 q 610 24 682 71 q 442 -22 539 -22 m 450 76 q 531 107 499 76 q 580 191 563 138 q 604 314 597 244 q 611 460 611 383 q 605 623 611 544 q 581 763 599 701 q 531 861 564 825 q 444 897 499 897 q 361 867 394 897 q 308 782 328 836 q 279 658 288 728 q 271 511 271 589 q 274 392 271 453 q 288 274 278 331 q 318 174 299 218 q 370 103 338 129 q 450 76 403 76 z "},1:{ha:564,x_min:8,x_max:510,o:"m 111 0 l 111 92 q 165 100 143 93 q 198 132 186 107 q 210 213 210 157 l 210 769 l 58 679 l 8 763 l 326 994 l 410 994 l 410 228 q 409 156 410 190 q 406 103 408 121 q 462 106 428 106 q 510 107 496 107 l 510 0 l 111 0 z "},2:{ha:740,x_min:54,x_max:674,o:"m 54 0 q 73 129 54 72 q 123 232 92 186 q 192 317 154 278 q 271 393 231 356 q 415 564 372 488 q 457 715 457 640 q 446 801 457 760 q 406 870 435 843 q 324 896 376 897 q 256 878 286 896 q 211 838 226 861 q 233 801 226 822 q 239 765 239 781 q 229 728 239 750 q 199 692 219 707 q 144 676 179 676 q 78 708 101 679 q 56 778 56 738 q 75 847 56 810 q 133 917 94 883 q 228 973 172 951 q 358 994 285 994 q 469 981 414 994 q 569 936 524 967 q 642 856 615 906 q 669 732 669 806 q 657 659 669 697 q 611 576 644 621 q 518 472 578 531 q 364 336 458 414 q 251 222 288 274 q 208 143 215 171 l 481 136 q 535 141 513 135 q 572 167 558 147 q 585 226 585 188 l 674 226 l 663 0 l 54 0 z "},3:{ha:778,x_min:49,x_max:722,o:"m 350 -22 q 179 9 246 -22 q 81 88 113 40 q 49 182 49 135 q 74 255 49 224 q 143 288 100 286 q 197 274 178 289 q 225 238 217 258 q 233 199 233 217 q 228 167 233 185 q 211 135 222 150 q 262 94 226 108 q 336 79 297 79 q 468 132 424 79 q 513 263 513 185 q 494 357 513 310 q 432 435 476 404 q 307 465 388 467 q 272 464 297 465 q 235 461 247 463 l 235 561 q 256 560 246 560 q 275 560 265 560 q 379 582 336 560 q 445 643 422 604 q 469 733 468 682 q 458 819 471 782 q 416 876 444 856 q 340 897 388 897 q 272 879 303 897 q 231 839 242 861 q 248 803 243 824 q 253 771 253 783 q 244 733 253 754 q 214 696 235 711 q 158 682 193 681 q 93 713 115 683 q 71 782 71 742 q 103 874 71 824 q 200 959 135 924 q 363 994 265 994 q 519 971 449 994 q 630 893 589 947 q 671 749 671 839 q 651 667 671 713 q 585 585 631 622 q 463 529 539 547 q 659 433 596 506 q 722 272 722 361 q 674 112 722 178 q 542 12 626 46 q 350 -22 458 -22 z "},4:{ha:760,x_min:17,x_max:714,o:"m 578 228 q 576 156 578 190 q 572 103 575 121 q 629 106 596 106 q 676 107 663 107 l 676 0 l 281 0 l 281 92 l 289 92 q 344 99 321 92 q 380 131 367 106 q 393 213 393 157 l 393 251 l 17 251 l 17 382 l 493 994 l 578 994 l 578 376 l 714 376 l 714 251 l 578 251 l 578 228 m 392 703 l 146 381 l 393 379 l 394 703 l 392 703 z "},5:{ha:750,x_min:61,x_max:706,o:"m 347 -22 q 193 7 257 -22 q 95 80 129 36 q 61 168 61 124 q 86 240 61 208 q 154 274 111 272 q 208 260 189 275 q 236 225 228 246 q 244 185 244 204 q 241 158 244 174 q 229 128 238 142 q 254 101 236 113 q 295 83 272 89 q 338 76 318 76 q 427 106 393 76 q 476 181 461 135 q 492 274 492 226 q 488 346 492 306 q 467 425 483 386 q 417 489 451 464 q 325 514 383 514 q 279 509 306 514 q 222 493 253 504 q 158 463 190 482 l 99 508 l 93 972 l 453 972 q 530 988 501 972 q 558 1063 558 1004 l 646 1063 l 636 838 l 200 829 l 200 582 q 279 606 232 596 q 368 615 326 615 q 518 590 454 615 q 624 522 582 565 q 685 422 665 478 q 706 303 706 365 q 653 123 706 196 q 519 14 601 50 q 347 -22 438 -22 z "},6:{ha:799,x_min:64,x_max:739,o:"m 399 -22 q 201 35 275 -22 q 96 199 128 93 q 64 447 64 304 q 74 565 64 496 q 107 709 83 635 q 174 849 131 783 q 283 954 217 914 q 444 994 350 994 q 588 965 532 994 q 671 894 644 936 q 697 808 697 851 q 675 740 697 771 q 610 710 653 710 q 538 740 558 710 q 518 797 518 769 q 522 826 518 808 q 538 858 526 844 q 502 888 526 875 q 443 897 478 900 q 373 872 403 894 q 323 812 343 849 q 291 729 303 775 q 273 635 279 683 q 265 542 267 586 q 309 577 281 560 q 374 606 338 594 q 443 619 410 618 q 576 599 521 622 q 668 533 632 576 q 722 429 704 489 q 739 299 739 369 q 695 138 739 211 q 574 22 651 65 q 399 -22 497 -22 m 406 75 q 481 102 454 75 q 519 173 508 129 q 529 264 529 217 q 526 337 529 296 q 510 417 522 378 q 472 483 497 457 q 404 508 447 508 q 348 496 375 508 q 299 463 321 483 q 265 417 278 442 q 272 310 265 368 q 295 198 279 251 q 338 110 311 144 q 406 75 365 75 z "},7:{ha:651,x_min:21,x_max:622,o:"m 278 -22 q 217 3 235 -22 q 200 58 200 28 q 213 129 200 86 q 247 224 226 172 q 290 328 268 276 q 344 456 314 383 q 415 621 375 528 q 506 832 456 714 l 214 835 q 138 815 167 836 q 108 736 108 793 l 21 736 l 31 972 l 622 972 l 622 846 q 541 660 575 750 q 480 479 507 569 q 428 292 453 389 q 376 83 404 194 q 342 10 367 44 q 278 -22 318 -24 z "},8:{ha:794,x_min:78,x_max:736,o:"m 393 -22 q 288 -10 343 -22 q 185 31 233 3 q 108 105 138 58 q 78 219 78 151 q 105 321 78 272 q 174 410 132 369 q 261 478 215 451 q 131 604 169 535 q 93 729 93 674 q 122 847 93 797 q 197 930 150 897 q 299 978 244 963 q 408 994 354 994 q 546 967 481 994 q 653 888 611 940 q 694 758 694 835 q 669 668 694 711 q 606 590 644 625 q 529 531 568 556 q 646 440 600 488 q 714 342 692 393 q 736 239 736 292 q 688 91 736 149 q 562 6 640 33 q 393 -22 483 -22 m 394 75 q 499 113 461 74 q 538 210 538 153 q 499 319 538 263 q 357 426 460 375 q 276 328 301 383 q 247 233 250 274 q 286 122 244 168 q 394 75 328 76 m 439 588 q 513 667 483 621 q 544 753 543 714 q 510 860 547 822 q 419 897 472 897 q 349 880 379 897 q 303 833 319 863 q 288 768 288 804 q 333 663 288 714 q 439 588 378 613 z "},9:{ha:800,x_min:60,x_max:735,o:"m 354 -22 q 207 4 263 -22 q 126 72 151 31 q 100 160 100 114 q 124 230 100 197 q 192 263 149 263 q 263 233 244 263 q 281 175 281 203 q 276 145 281 164 q 261 115 271 12
48066 q 297 87 272 99 q 356 76 321 75 q 426 99 396 79 q 478 154 457 119 q 513 233 500 189 q 531 328 526 278 q 533 432 536 379 q 461 381 511 406 q 358 353 411 356 q 226 374 282 351 q 133 442 169 397 q 78 546 96 486 q 60 676 60 606 q 102 841 60 769 q 220 953 144 913 q 394 994 296 994 q 552 960 488 994 q 657 862 617 925 q 716 713 697 799 q 735 525 735 626 q 726 389 735 463 q 694 243 717 315 q 628 110 671 171 q 519 14 586 50 q 354 -22 451 -22 m 397 464 q 453 476 426 464 q 500 510 479 489 q 533 556 521 531 q 526 683 533 622 q 503 793 519 744 q 460 869 488 842 q 393 897 433 897 q 324 870 351 897 q 283 800 296 843 q 269 708 269 757 q 274 636 269 678 q 290 555 278 594 q 328 490 303 515 q 397 464 354 464 z "},A:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 z "},Ã:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 401 1042 l 351 1110 l 506 1274 q 550 1301 525 1293 q 599 1305 575 1310 q 640 1276 624 1300 q 654 1228 657 1253 q 636 1181 651 1203 q 599 1146 621 1160 l 401 1042 z "},Ä:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 460 1086 q 369 1102 415 1086 q 283 1155 322 1118 q 222 1254 244 1192 l 281 1283 q 352 1231 310 1254 q 460 1207 394 1207 q 567 1231 525 1207 q 638 1283 608 1254 l 696 1254 q 635 1155 674 1192 q 550 1102 596 1118 q 460 1086 504 1086 z "},Ắ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 456 1113 q 375 1130 417 1113 q 297 1187 333 1147 q 239 1293 261 1226 l 329 1339 q 382 1270 351 1300 q 461 1240 413 1240 q 539 1271 510 1240 q 588 1340 568 1301 l 678 1300 q 584 1156 642 1199 q 456 1113 526 1113 m 463 1326 l 399 1383 l 513 1578 q 549 1615 526 1601 q 596 1629 571 1629 q 643 1611 621 1629 q 668 1565 665 1592 q 660 1515 671 1539 q 631 1474 650 1490 l 463 1326 z "},Ặ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 467 -265 q 404 -239 428 -265 q 381 -176 381 -212 q 406 -112 381 -139 q 465 -86 431 -86 q 524 -112 501 -86 q 547 -176 547 -139 q 525 -239 547 -212 q 467 -265 503 -265 m 460 1086 q 369 1102 415 1086 q 283 1155 322 1118 q 222 1254 244 1192 l 281 1283 q 352 1231 310 1254 q 460 1207 394 1207 q 567 1231 525 1207 q 638 1283 608 1254 l 696 1254 q 635 1155 674 1192 q 550 1102 596 1118 q 460 1086 504 1086 z "},Ằ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 454 1113 q 374 1130 415 1113 q 296 1187 332 1147 q 238 1293 260 1226 l 328 1339 q 381 1270 350 1300 q 460 1240 411 1240 q 538 1271 508 1240 q 586 1340 567 1301 l 676 1300 q 583 1156 640 1199 q 454 1113 525 1113 m 458 1331 l 290 1478 q 260 1519 271 1494 q 253 1569 250 1543 q 279 1615 257 1596 q 326 1633 301 1633 q 372 1619 350 1633 q 408 1582 394 1606 l 522 1388 l 458 1331 z "},Ẳ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 454 1111 q 374 1128 415 1111 q 296 1185 332 1146 q 238 1292 260 1225 l 328 1338 q 381 1269 350 1299 q 460 1239 411 1239 q 538 1269 508 1239 q 586 1339 567 1300 l 676 1299 q 583 1154 640 1197 q 454 1111 525 1111 m 421 1361 q 440 1406 421 1390 q 475 1440 458 1422 q 492 1464 485 1451 q 499 1494 499 1476 q 478 1538 499 1524 q 429 1553 458 1553 q 373 1539 390 1553 q 353 1515 356 1525 q 384 1504 374 1515 q 394 1478 394 1493 q 382 1449 394 1463 q 346 1435 369 1435 q 294 1456 314 1435 q 274 1506 274 1476 q 292 1567 274 1538 q 345 1617 310 1597 q 429 1636 381 1636 q 557 1601 511 1636 q 603 1507 603 1567 q 583 1451 603 1469 q 544 1415 564 1432 q 517 1388 528 1401 q 507 1361 507 1374 l 421 1361 z "},Ẵ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 454 1113 q 374 1130 415 1113 q 296 1187 332 1147 q 238 1293 260 1226 l 328 1339 q 381 1270 350 1300 q 460 1240 411 1240 q 538 1271 508 1240 q 586 1340 567 1301 l 676 1300 q 583 1156 640 1199 q 454 1113 525 1113 m 725 1529 q 649 1405 696 1443 q 560 1367 601 1367 q 495 1381 522 1367 q 444 1408 468 1394 q 392 1421 419 1421 q 351 1409 375 1421 q 306 1364 326 1397 l 228 1410 q 297 1513 251 1474 q 390 1553 343 1553 q 458 1540 433 1553 q 505 1513 483 1526 q 560 1500 526 1500 q 606 1519 583 1500 q 646 1569 628 1538 l 725 1529 z "},Ç:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 438 1063 l 167 1271 l 210 1335 l 457 1214 l 711 1338 l 747 1275 l 464 1063 l 438 1063 z "},Ã:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 651 1075 l 458 1196 l 260 1078 l 222 1140 l 451 1349 l 478 1349 l 696 1140 l 651 1075 z "},Ấ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 618 1058 l 458 1158 l 294 1060 l 263 1111 l 453 1283 l 474 1283 l 654 1111 l 618 1058 m 700 1181 l 636 1238 l 750 1432 q 786 1469 764 1456 q 833 1483 808 1483 q 881 1465 858 1483 q 906 1419 903 1446 q 898 1369 908 1393 q 868 1328 888 1344 l 700 1181 z "},Ậ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 467 -265 q 404 -239 428 -265 q 381 -176 381 -212 q 406 -112 381 -139 q 465 -86 431 -86 q 524 -112 501 -86 q 547 -176 547 -139 q 525 -239 547 -212 q 467 -265 503 -265 m 651 1075 l 458 1196 l 260 1078 l 222 1140 l 451 1349 l 478 1349 l 696 1140 l 651 1075 z "},Ầ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 618 1058 l 458 1158 l 294 1060 l 263 1111 l 453 1283 l 474 1283 l 654 1111 l 618 1058 m 669 1240 l 501 1388 q 472 1428 482 1404 q 465 1479 461 1453 q 490 1525 468 1506 q 537 1543 513 1543 q 583 1529 561 1543 q 619 1492 606 1515 l 733 1297 l 669 1240 z "},Ẩ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 618 1058 l 458 1158 l 294 1060 l 263 1111 l 453 1283 l 474 1283 l 654 1111 l 618 1058 m 629 1249 q 648 1294 629 1278 q 683 1328 667 1310 q 700 1351 693 1339 q 707 1382 707 1364 q 687 1426 707 1411 q 638 1440 667 1440 q 581 1426 599 1440 q 561 1403 564 1413 q 592 1392 582 1403 q 603 1365 603 1381 q 590 1336 603 1350 q 554 1322 578 1322 q 502 1343 522 1322 q 482 1393 482 1364 q 500 1455 482 1425 q 553 1504 518 1485 q 638 1524 589 1524 q 76
48065 1489 719 1524 q 811 1394 811 1454 q 792 1338 811 1357 q 753 1303 772 1319 q 726 1275 736 1289 q 715 1249 715 1261 l 629 1249 z "},Ẫ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 618 1058 l 458 1158 l 294 1060 l 263 1111 l 453 1283 l 474 1283 l 654 1111 l 618 1058 m 732 1489 q 656 1365 703 1403 q 567 1326 608 1326 q 502 1340 529 1326 q 451 1367 475 1354 q 399 1381 426 1381 q 358 1369 382 1381 q 313 1324 333 1357 l 235 1369 q 304 1473 258 1433 q 397 1513 350 1513 q 465 1499 440 1513 q 512 1473 490 1486 q 567 1460 533 1460 q 613 1478 590 1460 q 653 1529 635 1497 l 732 1489 z "},Ã:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 336 1107 q 271 1138 299 1107 q 243 1211 243 1168 q 272 1287 243 1256 q 338 1318 300 1318 q 403 1287 376 1318 q 429 1211 429 1256 q 401 1138 429 1168 q 336 1107 374 1107 m 578 1107 q 514 1138 542 1107 q 486 1211 486 1168 q 515 1287 486 1256 q 579 1318 543 1318 q 645 1287 619 1318 q 671 1211 671 1256 q 643 1138 671 1168 q 578 1107 615 1107 z "},Ạ:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 467 -265 q 404 -239 428 -265 q 381 -176 381 -212 q 406 -112 381 -139 q 465 -86 431 -86 q 524 -112 501 -86 q 547 -176 547 -139 q 525 -239 547 -212 q 467 -265 503 -265 z "},Ã:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 489 1042 l 292 1146 q 256 1181 271 1160 q 238 1228 240 1203 q 250 1276 235 1253 q 292 1305 268 1300 q 340 1301 315 1310 q 385 1274 365 1293 l 539 1110 l 489 1042 z "},Ả:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 429 1054 q 447 1099 429 1083 q 483 1133 465 1115 q 500 1157 493 1144 q 507 1188 507 1169 q 487 1231 507 1217 q 438 1246 467 1246 q 381 1232 399 1246 q 361 1208 364 1218 q 392 1197 382 1208 q 403 1171 403 1186 q 390 1142 403 1156 q 354 1128 378 1128 q 302 1149 322 1128 q 282 1199 282 1169 q 300 1260 282 1231 q 353 1310 318 1290 q 438 1329 389 1329 q 565 1294 519 1329 q 611 1200 611 1260 q 593 1142 611 1163 q 553 1108 575 1122 q 526 1081 536 1094 q 515 1054 515 1067 l 429 1054 z "},Ä:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 260 1149 l 260 1282 l 654 1282 l 654 1154 l 260 1149 z "},Ä:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 669 -368 q 561 -332 603 -368 q 519 -225 519 -296 q 565 -103 519 -160 q 682 -3 610 -46 q 833 64 754 40 l 833 0 q 749 -47 790 -18 q 681 -111 707 -75 q 657 -186 656 -147 q 674 -226 658 -211 q 718 -242 690 -242 q 760 -231 738 -242 q 804 -201 782 -221 l 853 -261 q 768 -338 817 -308 q 669 -368 719 -368 z "},Ã
:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 458 1043 q 372 1061 414 1043 q 303 1116 331 1079 q 272 1211 275 1153 q 298 1308 271 1267 q 368 1374 325 1350 q 457 1397 411 1397 q 542 1379 500 1397 q 612 1324 583 1361 q 643 1229 640 1288 q 617 1129 644 1171 q 546 1065 589 1088 q 458 1043 503 1043 m 467 1118 q 505 1140 490 1119 q 519 1204 519 1161 q 501 1296 519 1265 q 451 1324 482 1326 q 411 1297 426 1322 q 396 1229 396 1272 q 416 1145 396 1174 q 467 1118 436 1117 z "},Ã:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 749 1281 q 692 1172 724 1210 q 626 1119 660 1133 q 564 1106 593 1106 q 506 1116 532 1106 q 458 1140 481 1126 q 411 1165 435 1154 q 358 1175 388 1175 q 301 1160 332 1175 q 242 1103 269 1144 l 164 1154 q 249 1267 196 1232 q 353 1303 303 1303 q 414 1292 388 1303 q 463 1269 440 1282 q 508 1245 485 1256 q 557 1235 531 1235 q 617 1260 585 1235 q 669 1325 650 1286 l 749 1281 z "},Ã:{ha:1299,x_min:-8,x_max:1243,o:"m -8 0 l -8 92 q 53 115 25 92 q 108 172 82 138 q 157 238 135 206 l 606 869 l 501 865 l 501 972 l 1196 972 l 1204 703 l 1113 703 q 1086 818 1113 779 q 1021 870 1060 857 q 944 882 982 883 l 894 881 q 844 873 865 881 q 813 840 824 865 q 801 760 801 814 l 801 551 l 964 551 l 958 672 l 1065 672 l 1065 335 l 974 335 q 956 419 974 393 q 906 451 938 444 q 838 457 875 458 l 801 456 l 801 228 q 800 157 801 190 q 796 106 799 124 l 982 106 q 1063 124 1024 106 q 1126 187 1101 143 q 1151 306 1151 231 l 1243 306 l 1235 0 l 501 0 l 501 92 q 555 100 533 93 q 588 132 576 107 q 600 213 600 157 l 600 288 l 328 281 l 279 210 q 235 149 257 178 q 192 104 214 121 l 303 107 l 303 0 l -8 0 m 396 383 l 600 383 l 600 694 l 396 383 z "},B:{ha:918,x_min:69,x_max:879,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 262 974 165 974 q 454 975 358 974 q 719 913 621 976 q 810 722 817 850 q 785 644 807 682 q 719 575 763 606 q 610 526 675 544 l 610 525 q 814 433 749 503 q 879 276 879 363 q 835 124 879 186 q 715 31 792 63 q 542 0 639 0 l 69 0 m 364 99 q 411 99 389 99 q 456 99 433 99 q 499 100 478 100 q 622 154 583 104 q 661 28
48061 661 204 q 635 381 661 344 q 567 433 608 418 q 482 449 526 449 q 422 449 447 449 q 369 447 397 449 l 369 221 q 368 150 369 183 q 364 99 367 117 m 369 546 l 442 547 q 534 574 500 549 q 583 641 568 599 q 597 733 597 683 q 575 820 597 789 q 519 865 553 851 q 450 878 486 879 q 410 871 428 878 q 381 840 392 864 q 369 761 369 815 l 369 546 z "},C:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 z "},Ä:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 m 504 1042 l 454 1110 l 608 1274 q 653 1301 628 1293 q 702 1305 678 1310 q 743 1276 726 1300 q 757 1228 760 1253 q 739 1181 754 1203 q 701 1146 724 1160 l 504 1042 z "},Ä:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 m 540 1063 l 269 1271 l 313 1335 l 560 1214 l 814 1338 l 850 1275 l 567 1063 l 540 1063 z "},Ã:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 m 410 -382 l 399 -306 q 443 -294 415 -303 q 499 -273 471 -286 q 546 -242 526 -260 q 565 -203 565 -224 q 547 -171 565 -176 q 507 -172 529 -165 q 471 -189 485 -178 l 414 -168 l 456 14 l 568 14 l 529 -93 q 576 -78 546 -85 q 624 -72 606 -71 q 699 -99 668 -74 q 729 -174 729 -125 q 695 -259 729 -222 q 610 -321 661 -296 q 504 -361 558 -346 q 410 -382 450 -376 z "},Ä:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 m 754 1075 l 561 1196 l 363 1078 l 325 1140 l 554 1349 l 581 1349 l 799 1140 l 754 1075 z "},Ä:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 m 563 1096 q 485 1129 515 1096 q 454 1210 454 1163 q 486 1290 454 1257 q 561 1324 518 1324 q 635 1290 606 1324 q 665 1210 665 1257 q 638 1129 665 1163 q 563 1096 610 1096 z "},D:{ha:1054,x_min:69,x_max:1006,o:"m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 474 974 q 712 933 611 974 q 877 822 813 892 q 974 667 942 753 q 1006 496 1006 582 q 976 324 1006 411 q 882 163 946 236 q 715 45 818 90 q 467 0 613 0 l 69 0 l 69 92 m 369 228 q 368 156 369 190 q 364 103 367 121 q 402 103 378 104 q 453 102 426 103 q 496 101 479 101 q 627 132 572 101 q 717 215 682 163 q 769 332 753 267 q 786 467 786 397 q 747 699 786 608 q 638 833 708 789 q 471 881 568 878 q 415 874 438 882 q 381 842 392 867 q 369 763 369 817 l 369 228 z "},Ä:{ha:1054,x_min:69,x_max:1006,o:"m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 474 974 q 712 933 611 974 q 877 822 813 892 q 974 667 942 753 q 1006 496 1006 582 q 976 324 1006 411 q 882 163 946 236 q 715 45 818 90 q 467 0 613 0 l 69 0 l 69 92 m 369 228 q 368 156 369 190 q 364 103 367 121 q 402 103 378 104 q 453 102 426 103 q 496 101 479 101 q 627 132 572 101 q 717 215 682 163 q 769 332 753 267 q 786 467 786 397 q 747 699 786 608 q 638 833 708 789 q 471 881 568 878 q 415 874 438 882 q 381 842 392 867 q 369 763 369 817 l 369 228 m 481 1063 l 210 1271 l 253 1335 l 500 1214 l 754 1338 l 790 1275 l 507 1063 l 481 1063 z "},Ä:{ha:1053,x_min:42,x_max:1006,o:"m 42 433 l 42 543 l 585 543 l 585 439 l 42 433 m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 474 974 q 712 933 611 974 q 877 822 813 892 q 974 667 942 753 q 1006 496 1006 582 q 976 324 1006 411 q 882 163 946 236 q 715 45 818 90 q 467 0 613 0 l 69 0 l 69 92 m 369 228 q 368 156 369 190 q 364 103 367 121 q 402 103 378 104 q 453 102 426 103 q 496 101 479 101 q 627 132 572 101 q 717 215 682 163 q 769 332 753 267 q 786 467 786 397 q 747 699 786 608 q 638 833 708 789 q 471 881 568 878 q 415 874 438 882 q 381 842 392 867 q 369 763 369 817 l 369 228 z "},Ã:{ha:1053,x_min:42,x_max:1006,o:"m 42 433 l 42 543 l 585 543 l 585 439 l 42 433 m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 474 974 q 712 933 611 974 q 877 822 813 892 q 974 667 942 753 q 1006 496 1006 582 q 976 324 1006 411 q 882 163 946 236 q 715 45 818 90 q 467 0 613 0 l 69 0 l 69 92 m 369 228 q 368 156 369 190 q 364 103 367 121 q 402 103 378 104 q 453 102 426 103 q 496 101 479 101 q 627 132 572 101 q 717 215 682 163 q 769 332 753 267 q 786 467 786 397 q 747 699 786 608 q 638 833 708 789 q 471 881 568 878 q 415 874 438 882 q 381 842 392 867 q 369 763 369 817 l 369 228 z "},E:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 z "},Ã:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 394 1042 l 344 1110 l 499 1274 q 543 1301 518 1293 q 592 1305 568 1310 q 633 1276 617 1300 q 647 1228 650 1253 q 629 1181 644 1203 q 592 1146 614 1160 l 394 1042 z "},Ä:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 453 1086 q 362 1102 408 1086 q 276 1155 315 1118 q 215 1254 238 1192 l 274 1283 q 345 1231 303 1254 q 453 1207 388 1207 q 560 1231 518 1207 q 631 1283 601 1254 l 689 1254 q 628 1155 667 1192 q 543 1102 589 1118 q 453 1086 497 1086 z "},Ä:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 431 1063 l 160 1271 l 203 1335 l 450 1214 l 704 1338 l 740 1275 l 457 1063 l 431 1063 z "},Ã:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 644 1075 l 451 1196 l 253 1078 l 215 1140 l 444 1349 l 471 1349 l 689 1140 l 644 1075 z "},Ế:{ha:867,x_min:69,x_max:901,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 611 1058 l 451 1158 l 288 1060 l 256 1111 l 446 1283 l 467 1283 l 647 1111 l 611 1058 m 693 1181 l 629 1238 l 743 1432 q 779 1469 757 1456 q 826 1483 801 1483 q 874 1465 851 1483 q 899 1419 896 1446 q 891 1369 901 1393 q 861 1328 881 1344 l 693 1181 z "},á»:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 465 -265 q 403 -239 426 -265 q 379 -176 379 -212 q 404 -112 379 -139 q 464 -86 429 -86 q 523 -112 500 -86 q 546 -176 546 -139 q 524 -239 546 -212 q 465 -265 501 -265 m 644 1075 l 451 1196 l 253 1078 l 215 1140 l 444 1349 l 471 1349 l 689 1140 l 644 1075 z "},á»:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 611 1058 l 451 1158 l 288 1060 l 256 1111 l 446 1283 l 467 1283 l 647 1111 l 611 1058 m 663 1240 l 494 1388 q 465 1428 475 1404 q 458 1479 454 1453 q 483 1525 461 1506 q 530 1543 506 1543 q 576 1529 554 1543 q 613 1492 599 1515 l 726 1297 l 663 1240 z "},á»:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 611 1058 l 451 1158 l 288 1060 l 256 1111 l 446 1283 l 467 1283 l 647 1111 l 611 1058 m 622 1249 q 641 1294 622 1278 q 676 1328 660 1310 q 693 1351 686 1339 q 700 1382 700 1364 q 680 1426 700 1411 q 631 1440 660 1440 q 574 1426 592 1440 q 554 1403 557 1413 q 585 1392 575 1403 q 596 1365 596 1381 q 583 1336 596 1350 q 547 1322 571 1322 q 495 1343 515 1322 q 475 1393 475 1364 q 493 1455 475 1425 q 547 1504 511 1485 q 631 1524 582 1524 q 758 1489 713 1524 q 804 1394 804 1454 q 785 1338 804 1357 q 746 1303 765 1319 q 719 1275 729 1289 q 708 1249 708 1261 l 622 1249 z "},á»:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 611 1058 l 451 1158 l 288 1060 l 256 1111 l 446 1283 l 467 1283 l 647 1111 l 611 1058 m 725 1489 q 649 1365 696 1403 q 560 1326 601 1326 q 495 1340 522 1326 q 444 1367 468 1354 q 392 1381 419 1381 q 351 1369 375 1381 q 306 1324 326 1357 l 228 1369 q 297 1473 251 1433 q 390 1513 343 1513 q 458 1499 433 1513 q 505 1473 483 1486 q 560 1460 526 1460 q 606 1478 583 1460 q 646 1529 628 1497 l 725 1489 z "},Ã:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 329 1107 q 264 1138 292
48061107 q 236 1211 236 1168 q 265 1287 236 1256 q 331 1318 293 1318 q 396 1287 369 1318 q 422 1211 422 1256 q 394 1138 422 1168 q 329 1107 367 1107 m 571 1107 q 507 1138 535 1107 q 479 1211 479 1168 q 508 1287 479 1256 q 572 1318 536 1318 q 638 1287 613 1318 q 664 1211 664 1256 q 636 1138 664 1168 q 571 1107 608 1107 z "},Ä:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 453 1096 q 375 1129 406 1096 q 344 1210 344 1163 q 376 1290 344 1257 q 451 1324 408 1324 q 526 1290 496 1324 q 556 1210 556 1257 q 528 1129 556 1163 q 453 1096 500 1096 z "},Ẹ:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 465 -265 q 403 -239 426 -265 q 379 -176 379 -212 q 404 -112 379 -139 q 464 -86 429 -86 q 523 -112 500 -86 q 546 -176 546 -139 q 524 -239 546 -212 q 465 -265 501 -265 z "},Ã:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 482 1042 l 285 1146 q 249 1181 264 1160 q 231 1228 233 1203 q 243 1276 228 1253 q 285 1305 261 1300 q 333 1301 308 1310 q 378 1274 358 1293 l 532 1110 l 482 1042 z "},Ẻ:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 422 1054 q 440 1099 422 1083 q 476 1133 458 1115 q 493 1157 486 1144 q 500 1188 500 1169 q 480 1231 500 1217 q 431 1246 460 1246 q 374 1232 392 1246 q 354 1208 357 1218 q 385 1197 375 1208 q 396 1171 396 1186 q 383 1142 396 1156 q 347 1128 371 1128 q 295 1149 315 1128 q 275 1199 275 1169 q 293 1260 275 1231 q 347 1310 311 1290 q 431 1329 382 1329 q 558 1294 513 1329 q 604 1200 604 1260 q 586 1142 604 1163 q 546 1108 568 1122 q 519 1081 529 1094 q 508 1054 508 1067 l 422 1054 z "},Ä:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 253 1149 l 253 1282 l 647 1282 l 647 1154 l 253 1149 z "},Ä:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 615 -361 q 507 -325 549 -361 q 465 -218 465 -289 q 510 -96 465 -153 q 628 4 556 -39 q 779 71 700 47 l 779 7 q 694 -40 736 -11 q 627 -104 653 -68 q 603 -179 601 -140 q 620 -219 604 -204 q 664 -235 636 -235 q 706 -224 683 -235 q 750 -194 728 -214 l 799 -254 q 714 -331 763 -301 q 615 -361 665 -361 z "},Ẽ:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 742 1281 q 685 1172 717 1210 q 619 1119 653 1133 q 557 1106 586 1106 q 499 1116 525 1106 q 451 1140 474 1126 q 404 1165 428 1154 q 351 1175 381 1175 q 294 1160 325 1175 q 235 1103 263 1144 l 157 1154 q 242 1267 189 1232 q 346 1303 296 1303 q 407 1292 381 1303 q 456 1269 433 1282 q 501 1245 478 1256 q 550 1235 524 1235 q 610 1260 578 1235 q 663 1325 643 1286 l 742 1281 z "},Æ:{ha:1035,x_min:63,x_max:986,o:"m 506 -22 q 298 20 383 -22 q 161 132 213 63 q 86 286 110 201 q 63 456 63 371 q 64 498 63 476 q 68 540 65 519 l 764 544 q 740 667 758 606 q 687 778 721 728 q 599 858 653 828 q 468 888 546 888 q 348 865 403 888 q 256 797 293 843 q 207 681 219 751 l 115 681 l 115 985 l 222 985 l 218 926 q 308 964 256 949 q 413 987 361 979 q 501 994 465 994 q 732 950 639 994 q 881 831 825 906 q 961 667 936 757 q 986 486 986 576 q 957 300 986 390 q 869 137 928 210 q 719 21 810 64 q 506 -22 629 -22 m 536 79 q 642 113 599 82 q 712 196 685 144 q 752 310 739 247 q 768 436 765 372 l 281 436 q 297 296 281 361 q 346 181 314 231 q 426 105 378 132 q 536 79 474 78 z "},Æ·:{ha:901,x_min:42,x_max:863,o:"m 524 575 q 714 547 639 586 q 826 439 789 507 q 863 296 863 371 q 828 160 863 219 q 734 59 793 100 q 600 -3 675 18 q 443 -22 525 -24 q 361 -16 410 -22 q 257 11 313 -10 q 146 74 201 32 q 42 186 90 115 l 110 244 q 255 127 168 164 q 426 90 342 90 q 536 110 488 90 q 614 178 585 131 q 643 303 643 225 q 602 444 643 392 q 478 497 561 497 l 357 497 l 357 546 l 524 575 m 513 738 q 580 818 553 789 q 638 875 607 847 l 372 882 q 246 837 296 885 q 196 676 196 789 l 104 676 l 113 972 l 819 972 l 819 868 l 563 546 l 357 546 l 513 738 z "},Ç®:{ha:901,x_min:42,x_max:863,o:"m 524 575 q 714 547 639 586 q 826 439 789 507 q 863 296 863 371 q 828 160 863 219 q 734 59 793 100 q 600 -3 675 18 q 443 -22 525 -24 q 361 -16 410 -22 q 257 11 313 -10 q 146 74 201 32 q 42 186 90 115 l 110 244 q 255 127 168 164 q 426 90 342 90 q 536 110 488 90 q 614 178 585 131 q 643 303 643 225 q 602 444 643 392 q 478 497 561 497 l 357 497 l 357 546 l 524 575 m 513 738 q 580 818 553 789 q 638 875 607 847 l 372 882 q 246 837 296 885 q 196 676 196 789 l 104 676 l 113 972 l 819 972 l 819 868 l 563 546 l 357 546 l 513 738 m 424 1063 l 153 1271 l 196 1335 l 443 1214 l 697 1338 l 733 1275 l 450 1063 l 424 1063 z "},F:{ha:793,x_min:69,x_max:772,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 518 l 513 518 l 507 638 l 614 638 l 614 300 l 522 300 q 504 385 522 358 q 455 417 486 411 q 386 422 424 424 l 369 422 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},G:{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 z "},Ä:{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 m 540 1086 q 449 1102 496 1086 q 364 1155 403 1118 q 303 1254 325 1192 l 361 1283 q 433 1231 390 1254 q 540 1207 475 1207 q 647 1231 606 1207 q 718 1283 689 1254 l 776 1254 q 715 1155 754 1192 q 631 1102 676 1118 q 540 1086 585 1086 z "},Ǧ:{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 m 518 1063 l 247 1271 l 290 1335 l 538 1214 l 792 1338 l 828 1275 l 544 1063 l 518 1063 z "},Ä:{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 m 732 1075 l 539 1196 l 340 1078 l 303 1140 l 532 1349 l 558 1349 l 776 1140 l 732 1075 z "},Ä¢:{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 m 556 -394 l 493 -346 q 539 -247 525 -292 q 552 -161 553 -203 q 539 -75 551 -119 l 664 -50 q 693 -150 693 -97 q 655 -274 693 -211 q 556 -394 617 -337 z "},Ä :{ha:1047,x_min:50,x_max:1024,o:"m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 m 540 1096 q 463 1129 493 1096 q 432 1210 432 1163 q 464 1290 432 1257 q 539 1324 496 1324 q 613 1290 583 1324 q 643 1210 643 1257 q 615 1129 643 1163 q 540 1096 588 1096 z "},Ǥ:{ha:1047,x_min:50,x_max:1044,o:"m 621 257 l 621 317 l 1044 317 l 1044 263 l 621 257 m 522 -22 q 267 44 372 -22 q 106 222 161 110 q 50 472 50 335 q 80 660 50 567 q 169 828 110 753 q 320 949 229 904 q 532 994 411 994 q 617 987 569 994 q 712 964 664 979 q 797 926 760 949 l 792 985 l 899 985 l 899 661 l 808 661 q 760 790 796 739 q 669 868 724 842 q 550 894 615 894 q 424 861 478 894 q 336 772 371 828 q 284 646 301 717 q 267 500 267 575 q 300 288 267 381 q 398 141 333 194 q 557 88 463 88 q 619 92 583 88 q 692 104 656 96 q 753 125 728 113 l 753 254 q 755 326 753 292 q 758 379 757 361 q 703 377 736 378 q 654 375 669 376 l 654 482 l 1024 482 l 1024 390 q 983 385 1000 389 q 953 369 965 381 q 936 333 942 357 q 931 269 931 310 l 931 47 l 897 47 q 817 36 857 47 q 731 11 776 25 q 636 -12 688 -1 q 522 -22 585 -22 z "},H:{ha:1121,x_min:69,x_max:1051,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 9
480665 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ħ:{ha:1121,x_min:69,x_max:1051,o:"m 71 674 l 71 747 l 1050 747 l 1050 679 l 71 674 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},È:{ha:1121,x_min:69,x_max:1051,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 540 1063 l 269 1271 l 313 1335 l 560 1214 l 814 1338 l 850 1275 l 567 1063 l 540 1063 z "},Ĥ:{ha:1121,x_min:69,x_max:1051,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 754 1075 l 561 1196 l 363 1078 l 325 1140 l 554 1349 l 581 1349 l 799 1140 l 754 1075 z "},I:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 z "},IJ:{ha:1164,x_min:69,x_max:1126,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 738 -22 q 638 -3 683 -22 q 566 50 593 17 q 539 126 539 83 q 563 206 539 171 q 635 242 588 240 q 710 216 688 244 q 735 151 733 188 q 733 126 736 140 q 722 100 729 113 q 744 82 729 86 q 765 78 758 78 q 810 103 794 78 q 826 188 826 129 l 826 744 q 828 817 826 782 q 832 869 829 851 q 776 867 810 868 q 728 865 743 867 l 728 972 l 1126 972 l 1126 881 q 1074 872 1096 879 q 1040 841 1051 865 q 1028 760 1028 817 l 1028 353 q 953 65 1028 153 q 738 -22 878 -22 z "},Ã:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 211 1042 l 161 1110 l 315 1274 q 360 1301 335 1293 q 409 1305 385 1310 q 450 1276 433 1300 q 464 1228 467 1253 q 446 1181 461 1203 q 408
48061146 431 1160 l 211 1042 z "},Ĭ:{ha:538,x_min:32,x_max:506,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 269 1086 q 178 1102 225 1086 q 93 1155 132 1118 q 32 1254 54 1192 l 90 1283 q 162 1231 119 1254 q 269 1207 204 1207 q 376 1231 335 1207 q 447 1283 418 1254 l 506 1254 q 444 1155 483 1192 q 360 1102 406 1118 q 269 1086 314 1086 z "},Ã:{ha:538,x_min:32,x_max:506,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 461 1075 l 268 1196 l 69 1078 l 32 1140 l 261 1349 l 288 1349 l 506 1140 l 461 1075 z "},Ã:{ha:538,x_min:53,x_max:481,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 146 1107 q 81 1138 108 1107 q 53 1211 53 1168 q 81 1287 53 1256 q 147 1318 110 1318 q 213 1287 186 1318 q 239 1211 239 1256 q 211 1138 239 1168 q 146 1107 183 1107 m 388 1107 q 324 1138 351 1107 q 296 1211 296 1168 q 324 1287 296 1256 q 389 1318 353 1318 q 455 1287 429 1318 q 481 1211 481 1256 q 453 1138 481 1168 q 388 1107 425 1107 z "},İ:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 269 1096 q 192 1129 222 1096 q 161 1210 161 1163 q 193 1290 161 1257 q 268 1324 225 1324 q 342 1290 313 1324 q 372 1210 372 1257 q 344 1129 372 1163 q 269 1096 317 1096 z "},á»:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 272 -265 q 210 -239 233 -265 q 186 -176 186 -212 q 211 -112 186 -139 q 271 -86 236 -86 q 330 -112 307 -86 q 353 -176 353 -139 q 331 -239 353 -212 q 272 -265 308 -265 z "},Ã:{ha:538,x_min:44,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 299 1042 l 101 1146 q 65 1181 81 1160 q 47 1228 50 1203 q 60 1276 44 1253 q 101 1305 78 1300 q 150 1301 125 1310 q 194 1274 175 1293 l 349 1110 l 299 1042 z "},á»:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 239 1054 q 257 1099 239 1083 q 293 1133 275 1115 q 310 1157 303 1144 q 317 1188 317 1169 q 297 1231 317 1217 q 247 1246 276 1246 q 191 1232 208 1246 q 171 1208 174 1218 q 202 1197 192 1208 q 213 1171 213 1186 q 200 1142 213 1156 q 164 1128 188 1128 q 112 1149 132 1128 q 92 1199 92 1169 q 110 1260 92 1231 q 163 1310 128 1290 q 247 1329 199 1329 q 375 1294 329 1329 q 421 1200 421 1260 q 403 1142 421 1163 q 363
48061108 385 1122 q 335 1081 346 1094 q 325 1054 325 1067 l 239 1054 z "},Ī:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 69 1149 l 69 1282 l 464 1282 l 464 1154 l 69 1149 z "},Ä®:{ha:538,x_min:69,x_max:485,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 301 -368 q 193 -332 235 -368 q 151 -225 151 -296 q 197 -103 151 -160 q 314 -3 242 -46 q 465 64 386 40 l 465 0 q 381 -47 422 -18 q 313 -111 339 -75 q 289 -186 288 -147 q 306 -226 290 -211 q 350 -242 322 -242 q 392 -231 369 -242 q 436 -201 414 -221 l 485 -261 q 400 -338 449 -308 q 301 -368 351 -368 z "},Ĩ:{ha:538,x_min:18,x_max:515,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 515 1283 q 439 1159 486 1197 q 350 1121 392 1121 q 285 1135 313 1121 q 234 1162 258 1149 q 182 1175 210 1175 q 141 1163 165 1175 q 96 1118 117 1151 l 18 1164 q 88 1267 42 1228 q 181 1307 133 1307 q 249 1294 224 1307 q 295 1267 274 1281 q 350 1254 317 1254 q 396 1273 374 1254 q 436 1324 418 1292 l 515 1283 z "},J:{ha:626,x_min:1,x_max:589,o:"m 200 -22 q 101 -3 146 -22 q 28 50 56 17 q 1 126 1 83 q 26 206 1 171 q 97 242 50 240 q 173 216 150 244 q 197 151 196 188 q 195 126 199 140 q 185 100 192 113 q 206 82 192 86 q 228 78 221 78 q 273 103 257 78 q 289 188 289 129 l 289 744 q 290 817 289 782 q 294 869 292 851 q 239 867 272 868 q 190 865 206 867 l 190 972 l 589 972 l 589 881 q 536 872 558 879 q 502 841 514 865 q 490 760 490 817 l 490 353 q 415 65 490 153 q 200 -22 340 -22 z "},Ä´:{ha:626,x_min:1,x_max:594,o:"m 200 -22 q 101 -3 146 -22 q 28 50 56 17 q 1 126 1 83 q 26 206 1 171 q 97 242 50 240 q 173 216 150 244 q 197 151 196 188 q 195 126 199 140 q 185 100 192 113 q 206 82 192 86 q 228 78 221 78 q 273 103 257 78 q 289 188 289 129 l 289 744 q 290 817 289 782 q 294 869 292 851 q 239 867 272 868 q 190 865 206 867 l 190 972 l 589 972 l 589 881 q 536 872 558 879 q 502 841 514 865 q 490 760 490 817 l 490 353 q 415 65 490 153 q 200 -22 340 -22 m 550 1075 l 357 1196 l 158 1078 l 121 1140 l 350 1349 l 376 1349 l 594 1140 l 550 1075 z "},K:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ǩ:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 496 1063 l 225 1271 l 268 1335 l 515 1214 l 769 1338 l 806 1275 l 522 1063 l 496 1063 z "},Ķ:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 522 -394 l 460 -346 q 506 -247 492 -292 q 519 -161 519 -203 q 506 -75 518 -119 l 631 -50 q 660 -150 660 -97 q 622 -274 660 -211 q 522 -394 583 -337 z "},L:{ha:839,x_min:69,x_max:818,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 z "},Ĺ:{ha:839,x_min:69,x_max:818,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 m 229 1042 l 179 1110 l 333 1274 q 378 1301 353 1293 q 427 1305 403 1310 q 468 1276 451 1300 q 482 1228 485 1253 q 464 1181 479 1203 q 426 1146 449 1160 l 229 1042 z "},Ľ:{ha:839,x_min:69,x_max:818,o:"m 626 660 l 572 700 q 618 813 607 763 q 626 907 629 863 q 610 996 622 951 l 733 972 q 751 926 747 946 q 751 879 754 907 q 710 763 746 821 q 626 660 674 706 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 z "},Ä»:{ha:839,x_min:69,x_max:818,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 m 438 -394 l 375 -346 q 421 -247 407 -292 q 434 -161 435 -203 q 421 -75 433 -119 l 546 -50 q 575 -150 575 -97 q 537 -274 575 -211 q 438 -394 499 -337 z "},Ä¿:{ha:839,x_min:69,x_max:818,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 m 604 367 q 530 399 558 367 q 501 475 501 431 q 532 551 501 519 q 603 583 563 583 q 674 551 646 583 q 703 475 703 519 q 676 399 703 431 q 604 367 649 367 z "},Å:{ha:840,x_min:63,x_max:818,o:"m 63 246 l 63 406 l 606 808 l 606 651 l 63 246 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 678 163 632 106 q 725 333 725 219 l 818 333 l 810 0 l 69 0 z "},M:{ha:1350,x_min:65,x_max:1292,o:"m 567 -14 q 473 215 519 101 q 379 443 426 329 q 351 517 368 469 q 315 628 333 565 q 281 757 296 690 q 285 610 283 679 q 285 479 286 542 q 285 417 285 449 q 284 353 285 385 q 283 291 283 322 q 283 228 283 260 q 281 156 283 190 q 276 103 279 121 q 334 106 300 106 q 382 107 368 107 l 382 0 l 65 0 l 65 92 q 119 100 97 93 q 152 132 140 107 q 164 213 164 157 l 172 744 q 175 817 174 782 q 178 869 176 851 q 122 867 156 868 q 74 865 89 867 l 74 972 l 381 972 l 590 435 q 618 360 603 403 q 647 278 633 318 q 668 215 661 239 l 669 215 q 703 310 688 264 q 735 399 718 356 q 842 686 789 543 q 950 972 896 829 l 1271 972 l 1271 881 q 1217 872 1240 879 q 1181 841 1193 865 q 1171 760 1169 817 l 1192 228 q 1192 156 1194 190 q 1186 103 1189 121 q 1244 106 1210 106 q 1292 107 1278 107 l 1292 0 l 906 0 l 906 92 q 960 100 938 93 q 995 132 983 107 q 1004 213 1007 157 l 993 507 q 990 565 993 524 q 985 655 988 606 q 982 747 983 704 q 974 728 978 738 q 967 710 969 719 l 696 -14 l 567 -14 z "},N:{ha:1074,x_min:67,x_max:1025,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158
4806132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 z "},Å:{ha:1074,x_min:67,x_max:1025,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158 132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 m 482 1042 l 432 1110 l 586 1274 q 631 1301 606 1293 q 680 1305 656 1310 q 721 1276 704 1300 q 735 1228 738 1253 q 717 1181 732 1203 q 679 1146 701 1160 l 482 1042 z "},Å:{ha:1074,x_min:67,x_max:1025,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158 132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 m 518 1063 l 247 1271 l 290 1335 l 538 1214 l 792 1338 l 828 1275 l 544 1063 l 518 1063 z "},Å
:{ha:1074,x_min:67,x_max:1025,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158 132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 m 518 -394 l 456 -346 q 501 -247 488 -292 q 515 -161 515 -203 q 501 -75 514 -119 l 626 -50 q 656 -150 656 -97 q 617 -274 656 -211 q 518 -394 579 -337 z "},Ã:{ha:1074,x_min:67,x_max:1025,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158 132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 m 829 1281 q 772 1172 804 1210 q 707 1119 740 1133 q 644 1106 674 1106 q 587 1116 613 1106 q 538 1140 561 1126 q 492 1165 515 1154 q 439 1175 468 1175 q 381 1160 413 1175 q 322 1103 350 1144 l 244 1154 q 330 1267 276 1232 q 433 1303 383 1303 q 494 1292 468 1303 q 543 1269 521 1282 q 588 1245 565 1256 q 638 1235 611 1235 q 698 1260 665 1235 q 750 1325 731 1286 l 829 1281 z "},Å:{ha:1074,x_min:67,x_max:1025,o:"m 711 -376 q 597 -341 633 -376 q 560 -262 560 -306 q 583 -198 560 -226 q 647 -168 606 -169 q 708 -190 685 -167 q 732 -250 732 -214 q 731 -261 732 -256 q 729 -274 731 -267 q 753 -279 738 -279 q 775 -274 765 -279 q 790 -258 785 -268 q 805 -221 801 -243 q 808 -175 808 -199 l 808 151 l 926 151 l 926 3 q 865 -283 926 -190 q 711 -376 803 -376 m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158
4806132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 z "},O:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 478 1042 l 428 1110 l 582 1274 q 626 1301 601 1293 q 676 1305 651 1310 q 717 1276 700 1300 q 731 1228 733 1253 q 713 1181 728 1203 q 675 1146 697 1160 l 478 1042 z "},Å:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 536 1086 q 445 1102 492 1086 q 360 1155 399 1118 q 299 1254 321 1192 l 357 1283 q 428 1231 386 1254 q 536 1207 471 1207 q 643 1231 601 1207 q 714 1283 685 1254 l 772 1254 q 711 1155 750 1192 q 626 1102 672 1118 q 536 1086 581 1086 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 728 1075 l 535 1196 l 336 1078 l 299 1140 l 528 1349 l 554 1349 l 772 1140 l 728 1075 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 694 1058 l 535 1158 l 371 1060 l 339 1111 l 529 1283 l 550 1283 l 731 1111 l 694 1058 m 776 1181 l 713 1238 l 826 1432 q 863 1469 840 1456 q 910 1483 885 1483 q 957 1465 935 1483 q 982 1419 979 1446 q 974 1369 985 1393 q 944 1328 964 1344 l 776 1181 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 538 -265 q 475 -239 499 -265 q 451 -176 451 -212 q 476 -112 451 -139 q 536 -86 501 -86 q 595 -112 572 -86 q 618 -176 618 -139 q 596 -239 618 -212 q 538 -265 574 -265 m 728 1075 l 535 1196 l 336 1078 l 299 1140 l 528 1349 l 554 1349 l 772 1140 l 728 1075 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 694 1058 l 535 1158 l 371 1060 l 339 1111 l 529 1283 l 550 1283 l 731 1111 l 694 1058 m 746 1240 l 578 1388 q 548 1428 558 1404 q 541 1479 538 1453 q 567 1525 544 1506 q 613 1543 589 1543 q 660 1529 638 1543 q 696 1492 682 1515 l 810 1297 l 746 1240 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 694 1058 l 535 1158 l 371 1060 l 339 1111 l 529 1283 l 550 1283 l 731 1111 l 694 1058 m 706 1249 q 724 1294 706 1278 q 760 1328 743 1310 q 776 1351 769 1339 q 783 1382 783 1364 q 763 1426 783 1411 q 714 1440 743 1440 q 658 1426 675 1440 q 638 1403 640 1413 q 669 1392 658 1403 q 679 1365 679 1381 q 667 1336 679 1350 q 631 1322 654 1322 q 578 1343 599 1322 q 558 1393 558 1364 q 576 1455 558 1425 q 630 1504 594 1485 q 714 1524 665 1524 q 842 1489 796 1524 q 888 1394 888 1454 q 868 1338 888 1357 q 829 1303 849 1319 q 802 1275 813 1289 q 792 1249 792 1261 l 706 1249 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 694 1058 l 535 1158 l 371 1060 l 339 1111 l 529 1283 l 550 1283 l 731 1111 l 694 1058 m 808 1489 q 732 1365 779 1403 q 643 1326 685 1326 q 578 1340 606 1326 q 527 1367 551 1354 q 475 1381 503 1381 q 434 1369 458 1381 q 389 1324 410 1357 l 311 1369 q 381 1473 335 1433 q 474 1513 426 1513 q 542 1499 517 1513 q 588 1473 567 1486 q 643 1460 610 1460 q 689 1478 667 1460 q 729 1529 711 1497 l 808 1489 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 413 1107 q 347 1138 375 1107 q 319 1211 319 1168 q 348 1287 319 1256 q 414 1318 376 1318 q 479 1287 453 1318 q 506 1211 506 1256 q 478 1138 506 1168 q 413 1107 450 1107 m 654 1107 q 590 1138 618 1107 q 563 1211 563 1168 q 591 1287 563 1256 q 656 1318 619 1318 q 722 1287 696 1318 q 747 1211 747 1256 q 719 1138 747 1168 q 654 1107 692 1107 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 538 -265 q 475 -239 499 -265 q 451 -176 451 -212 q 476 -112 451 -139 q 536 -86 501 -86 q 595 -112 572 -86 q 618 -176 618 -139 q 596 -239 618 -212 q 538 -265 574 -265 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 565 1042 l 368 1146 q 332 1181 347 1160 q 314 1228 317 1203 q 326 1276 311 1253 q 368 1305 344 1300 q 417 1301 392 1310 q 461 1274 442 1293 l 615 1110 l 565 1042 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 506 1054 q 524 1099 506 1083 q 560 1133 542 1115 q 576 1157 569 1144 q 583 1188 583 1169 q 563 1231 583 1217 q 514 1246 543 1246 q 458 1232 475 1246 q 438 1208 440 1218 q 469 1197 458 1208 q 479 1171 479 1186 q 467 1142 479 1156 q 431 1128 454 1128 q 378 1149 399 1128 q 358 1199 358 1169 q 376 1260 358 1231 q 430 1310 394 1290 q 514 1329 465 1329 q 642 1294 596 1329 q 688 1200 688 1260 q 669 1142 688 1163 q 629 1108 651 1122 q 602 1081 613 1094 q 592 1054 592 1067 l 506 1054 z "},Æ :{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 m 463 1063 l 399 1119 l 513 1314 q 549 1351 528 1338 q 596 1365 571 1364 q 643 1347 621 1365 q 668 1302 665 1328 q 660 1252 671 1276 q 631 1210 650 1228 l 463 1063 z "},Ợ:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 m 538 -265 q 475 -239 499 -265 q 451 -176 451 -212 q 476 -112 451 -139 q 536 -86 501 -86 q 595 -112 572 -86 q 618 -176 618 -139 q 596 -239 618 -212 q 538 -265 574 -265 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 m 604 1063 l 436 1210 q 407 1252 418 1228 q 399 1302 396 1276 q 425 1347 403 1328 q 472 1365 447 1365 q 518 1351 496 1364 q 554 1314 540 1338 l 668 1119 l 604 1063 z "},á»:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 m 506 1054 q 524 1099 506 1083 q 560 1133 542 1115 q 576 1157 569 1144 q 583 1188 583 1169 q 563 1231 583 1217 q 514 1246 543 1246 q 458 1232 475 1246 q 438 1208 440 1218 q 469 1197 458 1208 q 479 1171 479 1186 q 467 1142 479 1156 q 431 112
48068 454 1128 q 378 1149 399 1128 q 358 1199 358 1169 q 376 1260 358 1231 q 430 1310 394 1290 q 514 1329 465 1329 q 642 1294 596 1329 q 688 1200 688 1260 q 669 1142 688 1163 q 629 1108 651 1122 q 602 1081 613 1094 q 592 1054 592 1067 l 506 1054 z "},á» :{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 697 878 l 697 968 q 780 1004 750 968 q 810 1079 810 1040 l 961 1079 q 928 970 961 1015 q 837 901 896 925 q 697 878 778 878 m 782 1283 q 706 1159 753 1197 q 617 1121 658 1121 q 552 1135 579 1121 q 501 1162 525 1149 q 449 1175 476 1175 q 408 1163 432 1175 q 363 1118 383 1151 l 285 1164 q 354 1267 308 1228 q 447 1307 400 1307 q 515 1294 490 1307 q 562 1267 540 1281 q 617 1254 583 1254 q 663 1273 640 1254 q 703 1324 685 1292 l 782 1283 z "},Å:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 638 1036 l 593 1107 l 750 1249 q 832 1291 789 1283 q 896 1264 875 1299 q 903 1219 911 1242 q 876 1176 896 1196 q 833 1143 857 1157 l 638 1036 m 435 1038 l 372 1094 l 490 1268 q 554 1324 517 1306 q 621 1318 592 1342 q 642 1276 642 1300 q 629 1228 642 1251 q 597 1186 617 1204 l 435 1038 z "},Å:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 336 1149 l 336 1282 l 731 1282 l 731 1154 l 336 1149 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 826 1092 l 938 1024 l 256 -137 l 151 -68 l 826 1092 m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 z "},Ǿ:{ha:1068,x_min:49,x_max:1019,o:"m 826 1092 l 938 1024 l 256 -137 l 151 -68 l 826 1092 m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 478 1042 l 428 1110 l 582 1274 q 626 1301 601 1293 q 676 1305 651 1310 q 717 1276 700 1300 q 731 1228 733 1253 q 713 1181 728 1203 q 675 1146 697 1160 l 478 1042 z "},Ã:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 825 1281 q 768 1172 800 1210 q 703 1119 736 1133 q 640 1106 669 1106 q 583 1116 608 1106 q 534 1140 557 1126 q 488 1165 511 1154 q 435 1175 464 1175 q 37
48067 1160 408 1175 q 318 1103 346 1144 l 240 1154 q 326 1267 272 1232 q 429 1303 379 1303 q 490 1292 464 1303 q 539 1269 517 1282 q 584 1245 561 1256 q 633 1235 607 1235 q 694 1260 661 1235 q 746 1325 726 1286 l 825 1281 z "},Å:{ha:1428,x_min:50,x_max:1371,o:"m 1103 335 q 1085 419 1103 393 q 1035 451 1067 444 q 967 457 1004 458 l 929 456 l 929 228 q 928 157 929 190 q 925 106 928 124 l 1111 106 q 1191 124 1153 106 q 1254 187 1229 143 q 1279 306 1279 231 l 1371 306 l 1363 0 l 729 0 q 625 -19 679 -14 q 525 -22 571 -24 q 275 46 382 -19 q 109 221 168 111 q 50 468 50 331 q 78 657 50 564 q 167 826 107 750 q 322 949 228 903 q 550 994 417 994 q 638 989 589 994 q 729 972 686 983 l 1325 972 l 1333 703 l 1242 703 q 1215 818 1242 779 q 1150 870 1189 857 q 1072 882 1111 883 l 1022 881 q 972 873 993 881 q 940 840 951 865 q 929 760 929 814 l 929 551 l 1093 551 q 1090 613 1092 581 q 1088 672 1089 646 l 1194 672 l 1194 335 l 1103 335 m 729 849 q 647 883 693 872 q 549 894 600 894 q 423 861 476 894 q 335 772 369 828 q 285 646 301 717 q 268 500 268 575 q 302 291 268 381 q 401 149 336 201 q 560 90 467 97 q 729 114 657 83 l 729 849 z "},P:{ha:888,x_min:69,x_max:867,o:"m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 677 943 586 976 q 817 840 768 910 q 864 660 867 771 q 838 551 863 604 q 764 453 813 497 q 642 382 715 410 q 469 351 568 354 q 416 350 439 350 q 369 351 393 350 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 l 69 92 m 369 456 q 400 453 385 454 q 432 451 415 451 q 556 477 508 451 q 626 552 604 503 q 649 672 649 601 q 630 783 649 742 q 582 845 611 825 q 521 872 553 865 q 463 878 489 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 456 z "},Ã:{ha:879,x_min:69,x_max:860,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 401 866 426 879 q 371 792 375 853 l 454 793 q 668 767 576 794 q 810 674 760 739 q 857 499 860 610 q 830 392 856 443 q 755 302 804 342 q 632 238 706 263 q 460 211 558 214 q 410 209 431 210 q 369 210 390 208 q 367 147 368 176 q 364 103 367 118 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 421 310 q 589 360 536 310 q 642 511 642 410 q 621 615 642 578 q 569 669 600 653 q 506 690 538 686 q 451 694 474 694 q 406 694 426 694 q 369 694 386 694 l 369 313 q 394 310 381 311 q 421 310 407 310 z "},Q:{ha:1069,x_min:50,x_max:1103,o:"m 1043 -303 q 941 -298 979 -303 q 873 -277 903 -293 q 804 -228 843 -261 q 703 -128 746 -175 q 619 -52 661 -82 q 519 -22 578 -22 q 302 23 392 -22 q 157 142 213 68 q 76 307 101 217 q 50 486 50 397 q 80 663 50 574 q 170 828 110 753 q 322 949 231 903 q 538 994 414 994 q 756 949 664 994 q 906 827 847 903 q 992 663 964 751 q 1019 486 1019 574 q 1000 345 1019 417 q 942 208 981 274 q 844 90 903 142 q 707 7 785 38 q 778 1 747 7 q 840 -20 810 -4 q 907 -71 871 -36 q 984 -143 956 -115 q 1031 -185 1013 -171 q 1065 -205 1049 -200 q 1103 -210 1081 -210 l 1103 -303 l 1043 -303 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 801 463 801 399 q 785 638 801 558 q 733 774 768 717 q 645 863 699 832 q 519 893 592 894 q 399 855 447 892 q 322 760 350 818 q 281 635 293 703 q 268 503 268 567 q 283 364 268 438 q 329 225 297 290 q 415 119 361 160 q 547 79 468 79 z "},R:{ha:953,x_min:69,x_max:933,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 676 947 586 976 q 815 853 767 918 q 861 676 864 788 q 833 565 860 618 q 752 472 806 513 q 617 408 699 432 q 669 372 643 397 q 713 319 694 347 l 778 222 q 832 147 808 175 q 879 106 856 119 q 933 92 903 93 l 933 0 l 704 0 q 655 52 679 18 q 603 131 631 86 l 500 297 q 469 344 482 325 q 442 378 456 364 q 404 378 419 378 q 369 378 389 378 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 m 436 478 q 561 501 514 478 q 630 570 608 524 q 651 688 651 617 q 631 792 651 754 q 578 849 610 831 q 515 873 547 868 q 463 878 483 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 483 q 401 480 385 482 q 436 478 418 478 z "},Å:{ha:953,x_min:69,x_max:933,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 676 947 586 976 q 815 853 767 918 q 861 676 864 788 q 833 565 860 618 q 752 472 806 513 q 617 408 699 432 q 669 372 643 397 q 713 319 694 347 l 778 222 q 832 147 808 175 q 879 106 856 119 q 933 92 903 93 l 933 0 l 704 0 q 655 52 679 18 q 603 131 631 86 l 500 297 q 469 344 482 325 q 442 378 456 364 q 404 378 419 378 q 369 378 389 378 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 m 436 478 q 561 501 514 478 q 630 570 608 524 q 651 688 651 617 q 631 792 651 754 q 578 849 610 831 q 515 873 547 868 q 463 878 483 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 483 q 401 480 385 482 q 436 478 418 478 m 421 1042 l 371 1110 l 525 1274 q 569 1301 544 1293 q 619 1305 594 1310 q 660 1276 643 1300 q 674 1228 676 1253 q 656 1181 671 1203 q 618 1146 640 1160 l 421 1042 z "},Å:{ha:953,x_min:69,x_max:933,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 676 947 586 976 q 815 853 767 918 q 861 676 864 788 q 833 565 860 618 q 752 472 806 513 q 617 408 699 432 q 669 372 643 397 q 713 319 694 347 l 778 222 q 832 147 808 175 q 879 106 856 119 q 933 92 903 93 l 933 0 l 704 0 q 655 52 679 18 q 603 131 631 86 l 500 297 q 469 344 482 325 q 442 378 456 364 q 404 378 419 378 q 369 378 389 378 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 m 436 478 q 561 501 514 478 q 630 570 608 524 q 651 688 651 617 q 631 792 651 754 q 578 849 610 831 q 515 873 547 868 q 463 878 483 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 483 q 401 480 385 482 q 436 478 418 478 m 457 1063 l 186 1271 l 229 1335 l 476 1214 l 731 1338 l 767 1275 l 483 1063 l 457 1063 z "},Å:{ha:953,x_min:69,x_max:933,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 676 947 586 976 q 815 853 767 918 q 861 676 864 788 q 833 565 860 618 q 752 472 806 513 q 617 408 699 432 q 669 372 643 397 q 713 319 694 347 l 778 222 q 832 147 808 175 q 879 106 856 119 q 933 92 903 93 l 933 0 l 704 0 q 655 52 679 18 q 603 131 631 86 l 500 297 q 469 344 482 325 q 442 378 456 364 q 404 378 419 378 q 369 378 389 378 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 m 436 478 q 561 501 514 478 q 630 570 608 524 q 651 688 651 617 q 631 792 651 754 q 578 849 610 831 q 515 873 547 868 q 463 878 483 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 483 q 401 480 385 482 q 436 478 418 478 m 488 -394 l 425 -346 q 471 -247 457 -292 q 484 -161 485 -203 q 471 -75 483 -119 l 596 -50 q 625 -150 625 -97 q 587 -274 625 -211 q 488 -394 549 -337 z "},S:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 z "},Å:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 m 360 1042 l 310 1110 l 464 1274 q 508 1301 483 1293 q 558 1305 533 1310 q 599 1276 582 1300 q 613 1228 615 1253 q 594 1181 610 1203 q 557 1146 579 1160 l 360 1042 z "},Å :{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 m 396 1063 l 125 1271 l 168 1335 l 415 1214 l 669 1338 l 706 1275 l 422 1063 l 396 1063 z "},Å:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 m 343 -360 l 332 -287 q 376 -278 349 -285 q 432 -262 404 -272 q 479 -236 460 -251 q 499 -200 499 -221 q 48
48061 -169 499 -176 q 440 -168 463 -162 q 404 -185 418 -174 l 353 -162 l 396 14 l 501 14 l 463 -96 q 509 -80 479 -86 q 557 -74 539 -74 q 630 -98 601 -75 q 658 -171 658 -121 q 625 -253 658 -219 q 541 -308 592 -286 q 437 -342 490 -329 q 343 -360 383 -354 z "},Å:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 m 610 1075 l 417 1196 l 218 1078 l 181 1140 l 410 1349 l 436 1349 l 654 1140 l 610 1075 z "},È:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 m 389 -394 l 326 -346 q 372 -247 358 -292 q 385 -161 386 -203 q 372 -75 385 -119 l 497 -50 q 526 -150 526 -97 q 488 -274 526 -211 q 389 -394 450 -337 z "},"áº":{ha:1015,x_min:58,x_max:974,o:"m 624 -22 q 497 4 551 -22 q 390 89 443 31 l 458 147 q 529 103 492 115 q 607 90 567 90 q 684 110 647 90 q 744 178 721 131 q 768 303 768 225 q 720 444 768 392 q 575 497 672 497 l 482 497 l 482 546 l 621 739 q 669 811 647 779 q 721 875 692 843 l 535 881 q 393 817 447 883 q 339 607 339 751 l 339 226 q 339 187 339 217 q 338 119 339 157 q 336 49 338 82 q 333 0 335 15 l 58 0 l 58 90 q 115 106 97 90 q 137 149 132 121 q 142 214 142 178 l 142 597 q 174 776 142 704 q 260 892 206 849 q 386 953 315 935 q 535 972 457 972 l 917 972 l 917 868 l 700 581 q 819 559 768 583 q 905 492 871 535 q 956 399 939 450 q 974 296 974 347 q 944 160 974 219 q 864 59 914 100 q 751 -3 814 18 q 624 -22 689 -24 z "},T:{ha:903,x_min:22,x_max:879,o:"m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 z "},Ŧ:{ha:903,x_min:22,x_max:879,o:"m 167 432 l 167 506 l 729 506 l 729 438 l 167 432 m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 z "},Ť:{ha:903,x_min:22,x_max:879,o:"m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 m 432 1063 l 161 1271 l 204 1335 l 451 1214 l 706 1338 l 742 1275 l 458 1063 l 432 1063 z "},Å¢:{ha:903,x_min:22,x_max:879,o:"m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 m 354 -360 l 343 -287 q 388 -278 360 -285 q 443 -262 415 -272 q 490 -236 471 -251 q 510 -200 510 -221 q 492 -169 510 -176 q 451 -168 474 -162 q 415 -185 429 -174 l 364 -162 l 407 14 l 513 14 l 474 -96 q 520 -80 490 -86 q 568 -74 550 -74 q 641 -98 613 -75 q 669 -171 669 -121 q 636 -253 669 -219 q 552 -308 603 -286 q 448 -342 501 -329 q 354 -360 394 -354 z "},È:{ha:903,x_min:22,x_max:879,o:"m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 m 400 -394 l 338 -346 q 383 -247 369 -292 q 397 -161 397 -203 q 383 -75 396 -119 l 508 -50 q 538 -150 538 -97 q 499 -274 538 -211 q 400 -394 461 -337 z "},U:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 z "},Ã:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 479 1042 l 429 1110 l 583 1274 q 628 1301 603 1293 q 677 1305 653 1310 q 718 1276 701 1300 q 732 1228 735 1253 q 714 1181 729 1203 q 676 1146 699 1160 l 479 1042 z "},Ŭ:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 538 1086 q 447 1102 493 1086 q 361 1155 400 1118 q 300 1254 322 1192 l 358 1283 q 430 1231 388 1254 q 538 1207 472 1207 q 644 1231 603 1207 q 715 1283 686 1254 l 774 1254 q 713 1155 751 1192 q 628 1102 674 1118 q 538 1086 582 1086 z "},Ç:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 515 1063 l 244 1271 l 288 1335 l 535 1214 l 789 1338 l 825 1275 l 542 1063 l 515 1063 z "},Ã:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 729 1075 l 536 1196 l 338 1078 l 300 1140 l 529 1349 l 556 1349 l 774 1140 l 729 1075 z "},Ã:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 414 1107 q 349 1138 376 1107 q 321 1211 321 1168 q 349 1287 321 1256 q 415 1318 378 1318 q 481 1287 454 1318 q 507 1211 507 1256 q 479 1138 507 1168 q 414 1107 451 1107 m 656 1107 q 592 1138 619 1107 q 564 1211 564 1168 q 592 1287 564 1256 q 657 1318 621 1318 q 723 1287 697 1318 q 749 1211 749 1256 q 721 1138 749 1168 q 656 1107 693 1107 z "},Ụ:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 531 -265 q 468 -239 492 -265 q 444 -176 444 -212 q 469 -112 444 -139 q 529 -86 494 -86 q 588 -112 565 -86 q 611 -176 611 -139 q 589 -239 611 -212 q 531 -265 567 -265 z "},Ã:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 567 1042 l 369 1146 q 333 1181 349 1160 q 315 1228 318 1203 q 328 1276 313 1253 q 369 1305 346 1300 q 418
48061301 393 1310 q 463 1274 443 1293 l 617 1110 l 567 1042 z "},Ủ:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 507 1054 q 525 1099 507 1083 q 561 1133 543 1115 q 578 1157 571 1144 q 585 1188 585 1169 q 565 1231 585 1217 q 515 1246 544 1246 q 459 1232 476 1246 q 439 1208 442 1218 q 470 1197 460 1208 q 481 1171 481 1186 q 468 1142 481 1156 q 432 1128 456 1128 q 380 1149 400 1128 q 360 1199 360 1169 q 378 1260 360 1231 q 431 1310 396 1290 q 515 1329 467 1329 q 643 1294 597 1329 q 689 1200 689 1260 q 671 1142 689 1163 q 631 1108 653 1122 q 603 1081 614 1094 q 593 1054 593 1067 l 507 1054 z "},Ư:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 z "},Ứ:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 m 464 1063 l 400 1119 l 514 1314 q 551 1351 529 1338 q 597 1365 572 1364 q 644 1347 622 1365 q 669 1302 667 1328 q 662 1252 672 1276 q 632 1210 651 1228 l 464 1063 z "},Ự:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 m 531 -265 q 468 -239 492 -265 q 444 -176 444 -212 q 469 -112 444 -139 q 529 -86 494 -86 q 588 -112 565 -86 q 611 -176 611 -139 q 589 -239 611 -212 q 531 -265 567 -265 z "},Ừ:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 m 606 1063 l 438 1210 q 408 1252 419 1228 q 401 1302 397 1276 q 426 1347 404 1328 q 473 1365 449 1365 q 519 1351 497 1364 q 556 1314 542 1338 l 669 1119 l 606 1063 z "},Ử:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 m 507 1054 q 525 1099 507 1083 q 561 1133 543 1115 q 578 1157 571 1144 q 585 1188 585 1169 q 565 1231 585 1217 q 515 1246 544 1246 q 459 1232 476 1246 q 439 1208 442 1218 q 470 1197 460 1208 q 481 1171 481 1186 q 468 1142 481 1156 q 432 1128 456 1128 q 380 1149 400 1128 q 360 1199 360 1169 q 378 1260 360 1231 q 431 1310 396 1290 q 515 1329 467 1329 q 643 1294 597 1329 q 689 1200 689 1260 q 671 1142 689 1163 q 631 1108 653 1122 q 603 1081 614 1094 q 593 1054 593 1067 l 507 1054 z "},Ữ:{ha:1056,x_min:36,x_max:1151,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 888 878 l 888 968 q 970 1004 940 968 q 1000 1079 1000 1040 l 1151 1079 q 1119 970 1151 1015 q 1027 901 1086 925 q 888 878 968 878 m 783 1283 q 707 1159 754 1197 q 618 1121 660 1121 q 553 1135 581 1121 q 502 1162 526 1149 q 450 1175 478 1175 q 409 1163 433 1175 q 364 1118 385 1151 l 286 1164 q 356 1267 310 1228 q 449 1307 401 1307 q 517 1294 492 1307 q 563 1267 542 1281 q 618 1254 585 1254 q 664 1273 642 1254 q 704 1324 686 1292 l 783 1283 z "},Ű:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 639 1036 l 594 1107 l 751 1249 q 833 1291 790 1283 q 897 1264 876 1299 q 905 1219 913 1242 q 878 1176 897 1196 q 835 1143 858 1157 l 639 1036 m 436 1038 l 374 1094 l 492 1268 q 556 1324 518 1306 q 622 1318 593 1342 q 643 1276 643 1300 q 631 1228 643 1251 q 599 1186 618 1204 l 436 1038 z "},Ū:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 338 1149 l 338 1282 l 732 1282 l 732 1154 l 338 1149 z "},Ų:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 542 -361 q 433 -325 475 -361 q 392 -218 392 -289 q 437 -96 392 -153 q 554 4 482 -39 q 706 71 626 47 l 706 7 q 621 -40 663 -11 q 553 -104 579 -68 q 529 -179 528 -140 q 547 -219 531 -204 q 590 -235 563 -235 q 632 -224 610 -235 q 676 -194 654 -214 l 725 -254 q 640 -33
48061 689 -301 q 542 -361 592 -361 z "},Å®:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 536 1060 q 461 1078 499 1060 q 399 1131 424 1096 q 371 1214 374 1165 q 392 1300 369 1263 q 453 1360 415 1338 q 535 1382 492 1382 q 611 1365 574 1382 q 673 1315 649 1349 q 699 1229 697 1282 q 676 1140 700 1178 q 615 1081 653 1101 q 536 1060 576 1060 m 543 1144 q 575 1163 561 1146 q 589 1211 589 1179 q 573 1278 589 1258 q 533 1299 557 1299 q 501 1282 515 1297 q 486 1232 486 1267 q 502 1167 486 1189 q 543 1144 518 1144 z "},Ũ:{ha:1056,x_min:36,x_max:1022,o:"m 435 881 q 382 872 404 879 q 348 841 360 865 q 336 760 336 817 l 336 378 q 355 234 336 290 q 405 145 374 178 q 476 99 436 113 q 557 83 515 85 q 688 113 633 81 q 771 211 742 144 q 800 381 800 278 l 800 744 q 801 817 800 782 q 806 869 803 851 q 749 867 783 868 q 700 865 715 867 l 700 972 l 1022 972 l 1022 881 q 969 872 992 879 q 935 841 947 865 q 924 760 924 817 l 924 413 q 894 210 924 293 q 813 75 865 126 q 689 1 760 24 q 535 -22 618 -22 q 340 11 418 -22 q 217 104 263 44 q 153 242 172 164 q 135 408 135 319 l 135 744 q 137 817 135 782 q 140 869 139 851 q 85 867 118 868 q 36 865 51 867 l 36 972 l 435 972 l 435 881 m 783 1283 q 707 1159 754 1197 q 618 1121 660 1121 q 553 1135 581 1121 q 502 1162 526 1149 q 450 1175 478 1175 q 409 1163 433 1175 q 364 1118 385 1151 l 286 1164 q 356 1267 310 1228 q 449 1307 401 1307 q 517 1294 492 1307 q 563 1267 542 1281 q 618 1254 585 1254 q 664 1273 642 1254 q 704 1324 686 1292 l 783 1283 z "},V:{ha:983,x_min:11,x_max:983,o:"m 444 -8 l 125 738 q 99 810 111 772 q 86 869 86 847 q 45 867 64 868 q 11 865 26 867 l 11 972 l 421 972 l 421 881 q 342 858 369 882 q 340 774 315 835 q 404 617 372 696 q 468 460 436 538 q 508 358 492 401 q 547 261 525 314 l 549 261 q 581 354 564 303 q 615 453 599 406 q 651 550 633 501 q 686 647 668 599 q 721 743 704 694 q 744 807 728 767 q 778 869 760 847 q 721 867 756 868 q 671 865 686 867 l 671 972 l 983 972 l 983 881 q 901 846 936 879 q 836 732 867 813 q 790 609 813 671 q 744 485 767 547 q 697 362 721 424 q 651 238 674 300 q 605 115 628 176 q 558 -8 582 54 l 444 -8 z "},W:{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 z "},áº:{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 m 679 1042 l 629 1110 l 783 1274 q 828 1301 803 1293 q 877 1305 853 1310 q 918 1276 901 1300 q 932 1228 935 1253 q 914 1181 929 1203 q 876 1146 899 1160 l 679 1042 z "},Å´:{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 m 929 1075 l 736 1196 l 538 1078 l 500 1140 l 729 1349 l 756 1349 l 974 1140 l 929 1075 z "},áº:{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 m 614 1107 q 549 1138 576 1107 q 521 1211 521 1168 q 549 1287 521 1256 q 615 1318 578 1318 q 681 1287 654 1318 q 707 1211 707 1256 q 679 1138 707 1168 q 614 1107 651 1107 m 856 1107 q 792 1138 819 1107 q 764 1211 764 1168 q 792 1287 764 1256 q 857 1318 821 1318 q 923 1287 897 1318 q 949 1211 949 1256 q 921 1138 949 1168 q 856 1107 893 1107 z "},áº:{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 m 767 1042 l 569 1146 q 533 1181 549 1160 q 51
48065 1228 518 1203 q 528 1276 513 1253 q 569 1305 546 1300 q 618 1301 593 1310 q 663 1274 643 1293 l 817 1110 l 767 1042 z "},X:{ha:971,x_min:19,x_max:965,o:"m 49 0 l 49 92 q 129 137 89 101 q 221 240 169 172 l 382 456 q 271 597 326 526 q 158 739 215 668 q 118 803 136 768 q 89 869 100 839 q 51 867 67 868 q 19 865 35 867 l 19 972 l 442 972 l 442 881 l 428 881 q 368 868 385 881 q 356 834 351 856 q 382 786 361 813 q 444 708 414 747 q 506 629 475 669 l 611 775 q 658 834 640 815 q 693 869 675 853 q 638 867 671 868 q 589 865 604 867 l 589 972 l 904 972 l 904 881 q 841 858 872 876 q 778 808 810 840 q 708 724 746 775 l 575 542 q 663 431 619 486 q 749 319 706 375 q 836 208 793 264 q 879 153 860 179 q 908 103 899 126 q 942 106 932 106 q 965 107 951 107 l 965 0 l 550 0 l 550 92 q 617 104 601 92 q 624 138 632 117 q 596 186 617 160 q 526 276 561 231 q 454 365 490 321 q 393 281 424 324 q 332 197 363 239 q 288 139 303 158 q 256 103 272 119 q 310 106 279 104 q 354 107 340 107 l 354 0 l 49 0 z "},Y:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 z "},Ã:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 424 1042 l 374 1110 l 528 1274 q 572 1301 547 1293 q 622 1305 597 1310 q 663 1276 646 1300 q 676 1228 679 1253 q 658 1181 674 1203 q 621 1146 643 1160 l 424 1042 z "},Ŷ:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 674 1075 l 481 1196 l 282 1078 l 244 1140 l 474 1349 l 500 1349 l 718 1140 l 674 1075 z "},Ÿ:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 358 1107 q 293 1138 321 1107 q 265 1211 265 1168 q 294 1287 265 1256 q 360 1318 322 1318 q 425 1287 399 1318 q 451 1211 451 1256 q 424 1138 451 1168 q 358 1107 396 1107 m 600 1107 q 536 1138 564 1107 q 508 1211 508 1168 q 537 1287 508 1256 q 601 1318 565 1318 q 667 1287 642 1318 q 693 1211 693 1256 q 665 1138 693 1168 q 600 1107 638 1107 z "},á»´:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 8
480661 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 467 -265 q 404 -239 428 -265 q 381 -176 381 -212 q 406 -112 381 -139 q 465 -86 431 -86 q 524 -112 501 -86 q 547 -176 547 -139 q 525 -239 547 -212 q 467 -265 503 -265 z "},Ỳ:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 511 1042 l 314 1146 q 278 1181 293 1160 q 260 1228 263 1203 q 272 1276 257 1253 q 314 1305 290 1300 q 363 1301 338 1310 q 407 1274 388 1293 l 561 1110 l 511 1042 z "},Ỷ:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 451 1054 q 469 1099 451 1083 q 506 1133 488 1115 q 522 1157 515 1144 q 529 1188 529 1169 q 509 1231 529 1217 q 460 1246 489 1246 q 403 1232 421 1246 q 383 1208 386 1218 q 415 1197 404 1208 q 425 1171 425 1186 q 413 1142 425 1156 q 376 1128 400 1128 q 324 1149 344 1128 q 304 1199 304 1169 q 322 1260 304 1231 q 376 1310 340 1290 q 460 1329 411 1329 q 588 1294 542 1329 q 633 1200 633 1260 q 615 1142 633 1163 q 575 1108 597 1122 q 548 1081 558 1094 q 538 1054 538 1067 l 451 1054 z "},Ỹ:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 m 728 1283 q 651 1159 699 1197 q 563 1121 604 1121 q 498 1135 525 1121 q 447 1162 471 1149 q 394 1175 422 1175 q 353 1163 378 1175 q 308 1118 329 1151 l 231 1164 q 300 1267 254 1228 q 393 1307 346 1307 q 461 1294 436 1307 q 508 1267 486 1281 q 563 1254 529 1254 q 608 1273 586 1254 q 649 1324 631 1292 l 728 1283 z "},Z:{ha:839,x_min:56,x_max:779,o:"m 56 0 l 56 104 q 263 421 160 263 q 471 738 367 579 q 519 810 497 778 q 568 874 542 843 l 331 882 q 204 837 254 885 q 154 676 154 789 l 63 676 l 71 972 l 778 972 l 7
480678 868 l 378 263 q 319 177 349 219 q 258 97 290 135 l 513 92 q 639 137 590 90 q 688 297 688 183 l 779 297 l 771 0 l 56 0 z "},Ź:{ha:839,x_min:56,x_max:779,o:"m 56 0 l 56 104 q 263 421 160 263 q 471 738 367 579 q 519 810 497 778 q 568 874 542 843 l 331 882 q 204 837 254 885 q 154 676 154 789 l 63 676 l 71 972 l 778 972 l 778 868 l 378 263 q 319 177 349 219 q 258 97 290 135 l 513 92 q 639 137 590 90 q 688 297 688 183 l 779 297 l 771 0 l 56 0 m 381 1042 l 331 1110 l 485 1274 q 529 1301 504 1293 q 578 1305 554 1310 q 619 1276 603 1300 q 633 1228 636 1253 q 615 1181 631 1203 q 578 1146 600 1160 l 381 1042 z "},Ž:{ha:839,x_min:56,x_max:779,o:"m 56 0 l 56 104 q 263 421 160 263 q 471 738 367 579 q 519 810 497 778 q 568 874 542 843 l 331 882 q 204 837 254 885 q 154 676 154 789 l 63 676 l 71 972 l 778 972 l 778 868 l 378 263 q 319 177 349 219 q 258 97 290 135 l 513 92 q 639 137 590 90 q 688 297 688 183 l 779 297 l 771 0 l 56 0 m 417 1063 l 146 1271 l 189 1335 l 436 1214 l 690 1338 l 726 1275 l 443 1063 l 417 1063 z "},Ż:{ha:839,x_min:56,x_max:779,o:"m 56 0 l 56 104 q 263 421 160 263 q 471 738 367 579 q 519 810 497 778 q 568 874 542 843 l 331 882 q 204 837 254 885 q 154 676 154 789 l 63 676 l 71 972 l 778 972 l 7
480678 868 l 378 263 q 319 177 349 219 q 258 97 290 135 l 513 92 q 639 137 590 90 q 688 297 688 183 l 779 297 l 771 0 l 56 0 m 439 1096 q 361 1129 392 1096 q 331 1210 331 1163 q 363 1290 331 1257 q 438 1324 394 1324 q 512 1290 482 1324 q 542 1210 542 1257 q 514 1129 542 1163 q 439 1096 486 1096 z "},a:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 z "},á:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 279 785 l 215 842 l 329 1036 q 366 1073 344 1060 q 413 1087 388 1086 q 460 1069 438 1088 q 485 1024 482 1050 q 477 974 488 999 q 447 932 467 950 l 279 785 z "},Ä:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 347 833 q 267 851 308 833 q 189 908 225 868 q 131 1014 153 947 l 221 1060 q 274 991 243 1021 q 353 961 304 961 q 431 992 401 961 q 479 1061 460 1022 l 569 1021 q 476 876 533 919 q 347 833 418 833 z "},ắ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 347 768 q 267 785 308 768 q 189 842 225 803 q 131 949 153 882 l 221 994 q 274 926 243 956 q 353 896 304 896 q 431 926 401 896 q 479 996 460 957 l 569 956 q 476 811 533 854 q 347 768 418 768 m 354 982 l 290 1039 l 404 1233 q 440 1271 418 1257 q 488 1285 463 1285 q 535 1267 513 1285 q 560 1221 557 1247 q 552 1170 563 1194 q 522 1129 542 1146 l 354 982 z "},ặ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 367 -265 q 304 -239 328 -265 q 281 -176 281 -212 q 306 -112 281 -139 q 365 -86 331 -86 q 424 -112 401 -86 q 447 -176 447 -139 q 425 -239 447 -212 q 367 -265 403 -265 m 347 833 q 267 851 308 833 q 189 908 225 868 q 131 1014 153 947 l 221 1060 q 274 991 243 1021 q 353 961 304 961 q 431 992 401 961 q 479 1061 460 1022 l 569 1021 q 476 876 533 919 q 347 833 418 833 z "},ằ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 351 982 l 183 1129 q 153 1170 164 1146 q 147 1221 143 1194 q 172 1267 150 1247 q 219 1285 194 1285 q 265 1271 243 1285 q 301 1233 288 1257 l 415 1039 l 351 982 m 347 764 q 267 781 308 764 q 189 838 225 799 q 131 944 153 878 l 221 990 q 274 922 243 951 q 353 892 304 892 q 431 922 401 892 q 479 992 460 953 l 569 951 q 476 807 533 850 q 347 764 418 764 z "},ẳ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 347 765 q 267 783 308 765 q 189 840 225 800 q 131 946 153 879 l 221 992 q 274 923 243 953 q 353 893 304 893 q 431 924 401 893 q 479 993 460 954 l 569 953 q 476 808 533 851 q 347 765 418 765 m 313 988 q 331 1033 313 1017 q 367 1067 350 1049 q 383 1090 376 1078 q 390 1121 390 1103 q 370 1165 390 1150 q 321 1179 350 1179 q 265 1165 282 1179 q 244 1142 247 1151 q 276 1131 265 1142 q 286 1104 286 1119 q 274 1075 286 1089 q 238 1061 261 1061 q 185 1082 206 1061 q 165 1132 165 1103 q 183 1194 165 1164 q 237 1243 201 1224 q 321 1263 272 1263 q 449 1228 403 1263 q 494 1133 494 1193 q 475 1077 494 1096 q 436 1042 456 1058 q 409 1014 419 1028 q 399 988 399 1000 l 313 988 z "},ẵ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 328 765 q 247 783 289 765 q 169 840 206 800 q 111 946 133 879 l 201 992 q 254 923 224 953 q 333 893 285 893 q 411 924 382 893 q 460 993 440 954 l 550 953 q 456 808 514 851 q 328 765 399 765 m 599 1200 q 522 1076 569 1114 q 433 1038 475 1038 q 369 1051 396 1038 q 317 1078 342 1065 q 265 1092 293 1092 q 224 1080 249 1092 q 179 1035 200 1068 l 101 1081 q 171 1184 125 1144 q 264 1224 217 1224 q 332 1210 307 1224 q 378 1184 357 1197 q 433 1171 400 1171 q 479 1190 457 1171 q 519 1240 501 1208 l 599 1200 z "},Ç:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 342 774 l 117 1008 l 176 1079 l 356 933 l 357 933 l 525 1079 l 583 1013 l 357 774 l 342 774 z "},â:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 526 781 l 350 926 l 349 926 l 171 790 l 113 857 l 350 1088 l 364 1088 l 586 851 l 526 781 z "},ấ:{ha:728,x_min:42,x_max:801,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 511 781 l 351 881 l 188 782 l 156 833 l 346 1006 l 367 1006 l 547 833 l 511 781 m 593 903 l 529 960 l 643 1154 q 679 1192 657 1178 q 726 1206 701 1206 q 774 1188 751 1206 q 799 1142 796 1168 q 791 1091 801 1115 q 761 1050 781 1067 l 593 903 z "},áº:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 367 -265 q 304 -239 328 -265 q 281 -176 281 -212 q 306 -112 281 -139 q 365 -86 331 -86 q 424 -112 401 -86 q 447 -176 447 -139 q 425 -239 447 -212 q 367 -265 403 -265 m 526 781 l 350 926 l 349 926 l 171 790 l 113 857 l 350 1088 l 364 1088 l 586 851 l 526 781 z "},ầ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 511 781 l 351 881 l 188 782 l 156 833 l 346 1006 l 367 1006 l 547 833 l 511 781 m 563 963 l 394 1110 q 365 1151 375 1126 q 358 1201 354 1175 q 383 1247 361 1228 q 430 1265 406 1265 q 476 1251 454 1265 q 513 1214 499 1238 l 626 1019 l 563 963 z "},ẩ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 511 781 l 351 881 l 188 782 l 156 833 l 346 1006 l 367 1006 l 547 833 l 511 781 m 507 975 q 526 1020 507 1004 q 561 1054 544 1036 q 578 1078 571 1065 q 585 1108 585 1090 q 565 1152 585 1138 q 515 1167 544 1167 q 459 1153 476 1167 q 439 1129 442 1139 q 470 1118 460 1129 q 481 1092 481 1107 q 468 1063 481 1076 q 432 1049 456 1049 q 380 1069 400 1049 q 360 1119 360 1090 q 378 1181 360 1151 q 431 1231 396 1211 q 515 1250 467 1250 q 643 1215 597 1250 q 689 1121 689 1181 q 669 1065 689 1083 q 631 1029 650 1046 q 603 1001 614 1015 q 593 975 593 988 l 507 975 z "},ẫ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 511 781 l 351 881 l 188 782 l 156 833 l 346 1006 l 367 1006 l 547 833 l 511 781 m 633 1189 q 557 1065 604 1103 q 468 1026 510 1026 q 403 1040 431 1026 q 352 1067 376 1054 q 300 1081 328 1081 q 259 1069 283 1081 q 214 1024 235 1057 l 136 1069 q 206 1173 160 1133 q 299 1213 251 1213 q 367 1199 342 1213 q 413 1173 392 1186 q 468 1160 435 1160 q 514 1178 492 1160 q 554 1229 536 1197 l 633 1189 z "},ä:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 469 833 q 405 864 432 833 q 378 938 378 894 q 406 1012 378 981 q 471 1043 433 1043 q 537 1012 511 1043 q 563 938 563 981 q 535 864 563 894 q 469 833 507 833 m 228 833 q 163 864 190 833 q 136 938 136 894 q 164 1012 136 981 q 229 1043 192 1043 q 295 1012 269 1043 q 321 938 321 981 q 293 864 321 894 q 228 833 265 833 z "},ạ:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 367 -265 q 304 -239 328 -265 q 281 -176 281 -212 q 306 -112 281 -139 q 365 -86 331 -86 q 424 -112 401 -86 q 447 -176 447 -139 q 425 -239 447 -212 q 367 -265 403 -265 z "},à :{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 421 785 l 253 932 q 224 974 235 950 q 216 1024 213 999 q 242 1069 219 1050 q 288 1087 264 1088 q 335 1073 313 1086 q 371 1036 357 1060 l 485 842 l 421 785 z "},ả:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 322 776 q 340 822 322 806 q 376 856 358 838 q 393 879 386 867 q 400 910 400 892 q 380 953 400 939 q 331 968 360 968 q 274 954 292 968 q 254 931 257 940 q 285 919 275 931 q 296 893 296 908 q 283 864 296 878 q 247 850 271 850 q 195 871 215 850 q 175 921 175 892 q 193 983 175 953 q 247 1032 211 1013 q 331 1051 282 1051 q 458 1017 413 1051 q 504 922 504 982 q 486 865 504 885 q 446 831 468 844 q 419 803 429 817 q 408 776 408 789 l 322 776 z "},Ä:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 153 871 l 153 1004 l 547 1004 l 547 876 l 153 871 z "},Ä
:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 490 -361 q 382 -325 424 -361 q 340 -218 340 -289 q 385 -96 340 -153 q 503 4 431 -39 q 654 71 575 47 l 654 7 q 569 -40 611 -11 q 502 -104 528 -68 q 478 -179 476 -140 q 495 -219 479 -204 q 539 -235 511 -235 q 581 -224 558 -235 q 625 -194 603 -214 l 674 -254 q 589 -331 638 -301 q 490 -361 540 -361 z "},å:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 351 782 q 276 800 314 782 q 214 853 239 818 q 186 936 189 888 q 208 1022 185 985 q 269 1082 231 1060 q 350 1104 307 1104 q 426 1088 389 1104 q 488 1038 464 1071 q 514 951 513 1004 q 492 862 515 900 q 430 803 468 824 q 351 782 392 782 m 358 867 q 390 885 376 868 q 404 933 404 901 q 388 1001 404 981 q 349 1021 372 1021 q 316 1004 331 1019 q 301 954 301 989 q 317 889 301 911 q 358 867 333 867 z "},ã:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 599 1006 q 522 881 569 919 q 433 843 475 843 q 369 857 396 843 q 317 884 342 871 q 265 897 293 897 q 224 885 249 897 q 179 840 200 874 l 101 886 q 171 990 125 950 q 264 1029 217 1029 q 332 1016 307 1029 q 378 990 357 1003 q 433 976 400 976 q 479 995 457 976 q 519 1046 501 1014 l 599 1006 z "},æ:{ha:1069,x_min:40,x_max:1042,o:"m 232 -22 q 92 31 143 -22 q 40 163 40 83 q 74 276 40 229 q 165 353 108 324 q 291 399 222 383 q 429 418 360 415 l 429 493 q 419 558 429 529 q 389 603 410 588 q 333 618 368 619 q 278 608 306 617 q 233 581 251 600 q 248 553 244 569 q 251 525 251 536 q 228 467 251 497 q 157 439 206 438 q 94 468 117 440 q 71 533 71 496 q 108 626 71 585 q 209 692 144 668 q 354 717 274 717 q 475 691 425 717 q 543 600 525 665 q 632 690 582 664 q 763 717 682 717 q 882 683 824 717 q 978 576 940 650 q 1014 374 1015 501 l 621 365 q 635 231 621 290 q 685 136 649 171 q 789 101 722 101 q 883 124 832 101 q 981 206 933 147 l 1042 147 q 940 40 993 76 q 836 -10 888 3 q 738 -22 785 -22 q 605 13 660 -22 q 514 94 550 47 q 376 0 450 22 q 232 -22 301 -22 m 321 114 q 383 128 353 114 q 435 167 413 143 q 432 219 433 193 q 430 269 431 244 q 429 319 429 294 q 355 306 390 315 q 293 279 319 296 q 251 239 267 263 q 238 186 236 215 q 265 131 239 147 q 321 114 292
4806114 m 629 463 l 831 463 q 816 555 829 521 q 782 603 803 589 q 739 618 761 618 q 678 597 701 618 q 644 540 656 575 q 629 463 633 504 z "},b:{ha:796,x_min:-6,x_max:751,o:"m 88 785 q 88 842 88 810 q 92 906 89 875 q 40 903 69 904 q -6 901 10 903 l -6 1007 q 103 1014 60 1007 q 173 1031 147 1021 q 208 1049 199 1040 l 283 1049 l 283 642 q 379 700 331 683 q 471 717 428 717 q 617 674 554 717 q 716 551 681 631 q 751 365 751 472 q 710 166 751 254 q 594 28 669 78 q 414 -22 519 -22 q 319 -6 376 -22 q 213 61 261 10 l 171 0 l 88 0 l 88 785 m 283 208 q 299 133 283 161 q 338 93 314 106 q 385 79 361 81 q 483 115 447 78 q 533 215 518 153 q 547 344 547 276 q 532 465 547 408 q 483 558 517 522 q 396 592 450 593 q 332 574 361 590 q 283 532 303 558 l 283 208 z "},c:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 z "},Ä:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 m 346 785 l 282 842 l 396 1036 q 433 1073 411 1060 q 479 1087 454 1086 q 526 1069 504 1088 q 551 1024 549 1050 q 544 974 554 999 q 514 932 533 950 l 346 785 z "},Ä:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 m 408 774 l 183 1008 l 243 1079 l 422 933 l 424 933 l 592 1079 l 650 1013 l 424 774 l 408 774 z "},ç:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 m 343 -360 l 332 -287 q 376 -278 349 -285 q 432 -262 404 -272 q 479 -236 460 -251 q 499 -200 499 -221 q 481 -169 499 -176 q 440 -168 463 -162 q 404 -185 418 -174 l 353 -162 l 396 14 l 501 14 l 463 -96 q 509 -80 479 -86 q 557 -74 539 -74 q 630 -98 601 -75 q 658 -171 658 -121 q 625 -253 658 -219 q 541 -308 592 -286 q 437 -342 490 -329 q 343 -360 383 -354 z "},Ä:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 m 593 781 l 417 926 l 415 926 l 238 790 l 179 857 l 417 1088 l 431 1088 l 653 851 l 593 781 z "},Ä:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 m 419 818 q 342 851 372 818 q 311 932 311 885 q 343 1013 311 979 q 418 1046 375 1046 q 492 1013 463 1046 q 522 932 522 979 q 494 851 522 885 q 419 818 467 818 z "},d:{ha:828,x_min:44,x_max:793,o:"m 325 -22 q 178 21 242 -22 q 80 143 115 64 q 44 329 44 222 q 88 529 44 442 q 208 667 131 617 q 389 717 286 717 q 456 709 426 717 q 513 692 486 701 l 513 783 q 514 839 513 803 q 518 906 515 875 q 465 903 496 904 q 419 901 435 901 l 419 1007 q 528 1014 485 1007 q 598 1031 572 1021 q 633 1049 624 1040 l 708 1049 l 708 224 q 707 169 708 204 q 703 101 706 133 q 753 105 726 104 q 793 106 779 106 l 793 0 l 529 0 q 526 32 528 15 q 521 64 524 49 q 426 -3 475 17 q 325 -22 378 -22 m 397 104 q 464 123 433 104 q 513 171 494 142 q 513 213 513 192 q 513 254 513 233 l 513 588 q 471 606 499 599 q 414 614 443 614 q 314 574 350 613 q 263 475 278 535 q 249 350 249 415 q 263 235 249 292 q 310 141 278 178 q 397 104 343 104 z "},Ä:{ha:828,x_min:44,x_max:975,o:"m 847 754 l 793 794 q 839 907 828 857 q 847 1001 850 957 q 831 1090 843 1046 l 954 1067 q 972 1021 968 1040 q 972 974 975 1001 q 931 858 967 915 q 847 754 894 800 m 325 -22 q 178 21 242 -22 q 80 143 115 64 q 44 329 44 222 q 88 529 44 442 q 208 667 131 617 q 389 717 286 717 q 456 709 426 717 q 513 692 486 701 l 513 783 q 514 839 513 803 q 518 906 515 875 q 465 903 496 904 q 419 901 435 901 l 419 1007 q 528 1014 485 1007 q 598 1031 572 1021 q 633 1049 624 1040 l 708 1049 l 708 224 q 707 169 708 204 q 703 101 706 133 q 753 105 726 104 q 793 106 779 106 l 793 0 l 529 0 q 526 32 528 15 q 521 64 524 49 q 426 -3 475 17 q 325 -22 378 -22 m 397 104 q 464 123 433 104 q 513 171 494 142 q 513 213 513 192 q 513 254 513 233 l 513 588 q 471 606 499 599 q 414 614 443 614 q 314 574 350 613 q 263 475 278 535 q 249 350 249 415 q 263 235 249 292 q 310 141 278 178 q 397 104 343 104 z "},Ä:{ha:828,x_min:44,x_max:814,o:"m 325 -22 q 178 19 242 -22 q 80 132 115 61 q 44 289 44 203 q 88 474 44 393 q 208 602 131 556 q 389 649 286 649 q 456 641 426 649 q 513 624 486 633 l 513 783 q 514 839 513 803 q 518 906 515 875 q 465 903 496 904 q 419 901 435 901 l 419 1007 q 528 1014 485 1007 q 598 1031 572 1021 q 633 1049 624 1040 l 708 1049 l 708 224 q 707 169 708 204 q 703 101 706 133 q 753 105 726 104 q 793 106 779 106 l 793 0 l 529 0 q 526 32 528 15 q 521 64 524 49 q 426 -3 475 17 q 325 -22 378 -22 m 397 104 q 464 123 433 104 q 513 171 494 142 q 513 226 513 199 q 513 282 513 254 l 513 521 q 471 538 499 531 q 414 546 443 546 q 320 513 357 54
48066 q 266 426 283 481 q 249 310 249 372 q 263 203 249 250 q 310 131 278 157 q 397 104 343 104 m 285 726 l 285 835 l 814 835 l 814 732 l 285 726 z "},ð:{ha:753,x_min:44,x_max:689,o:"m 364 -22 q 203 17 274 -22 q 90 131 132 56 q 46 313 49 206 q 63 447 44 381 q 122 569 82 514 q 222 656 161 624 q 363 689 282 689 q 421 681 386 689 q 485 649 456 674 l 486 649 q 450 726 476 686 q 390 800 424 765 q 328 854 357 835 l 247 756 l 164 831 l 232 910 q 173 936 206 925 q 104 954 140 947 l 124 1056 q 232 1035 185 1050 q 311 1004 279 1019 l 382 1097 l 463 1025 l 404 956 q 553 811 489 899 q 653 613 617 724 q 689 375 689 503 q 653 176 689 267 q 545 32 617 86 q 364 -22 474 -22 m 374 96 q 442 122 411 96 q 492 201 474 149 q 510 332 510 254 q 503 416 510 372 q 480 497 496 460 q 438 556 464 533 q 374 579 411 579 q 300 546 331 579 q 253 459 269 513 q 238 343 238 406 q 278 160 238 225 q 374 96 318 96 z "},e:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 z "},é:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 324 785 l 260 842 l 374 1036 q 410 1073 389 1060 q 457 1087 432 1086 q 504 1069 482 1088 q 529 1024 526 1050 q 522 974 532 999 q 492 932 511 950 l 324 785 z "},Ä:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 392 833 q 311 851 353 833 q 233 908 269 868 q 175 1014 197 947 l 265 1060 q 318 991 288 1021 q 397 961 349 961 q 475 992 446 961 q 524 1061 504 1022 l 614 1021 q 520 876 578 919 q 392 833 463 833 z "},Ä:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 386 774 l 161 1008 l 221 1079 l 400 933 l 401 933 l 569 1079 l 628 1013 l 401 774 l 386 774 z "},ê:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 571 781 l 394 926 l 393 926 l 215 790 l 157 857 l 394 1088 l 408 1088 l 631 851 l 571 781 z "},ế:{ha:747,x_min:43,x_max:846,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 556 781 l 396 881 l 232 782 l 200 833 l 390 1006 l 411 1006 l 592 833 l 556 781 m 638 903 l 574 960 l 688 1154 q 724 1192 701 1178 q 771 1206 746 1206 q 818 1188 796 1206 q 843 1142 840 1168 q 835 1091 846 1115 q 806 1050 825 1067 l 638 903 z "},á»:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 396 -265 q 333 -239 357 -265 q 310 -176 310 -212 q 335 -112 310 -139 q 394 -86 360 -86 q 453 -112 431 -86 q 476 -176 476 -139 q 454 -239 476 -212 q 396 -265 432 -265 m 571 781 l 394 926 l 393 926 l 215 790 l 157 857 l 394 1088 l 408 1088 l 631 851 l 571 781 z "},á»:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 556 781 l 396 881 l 232 782 l 200 833 l 390 1006 l 411 1006 l 592 833 l 556 781 m 607 963 l 439 1110 q 409 1151 419 1126 q 402 1201 399 1175 q 428 1247 406 1228 q 474 1265 450 12
480665 q 521 1251 499 1265 q 557 1214 543 1238 l 671 1019 l 607 963 z "},á»:{ha:747,x_min:43,x_max:733,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 556 781 l 396 881 l 232 782 l 200 833 l 390 1006 l 411 1006 l 592 833 l 556 781 m 551 975 q 570 1020 551 1004 q 606 1054 589 1036 q 622 1078 615 1065 q 629 1108 629 1090 q 609 1152 629 1138 q 560 1167 589 1167 q 503 1153 521 1167 q 483 1129 486 1139 q 515 1118 504 1129 q 525 1092 525 1107 q 513 1063 525 1076 q 476 1049 500 1049 q 424 1069 444 1049 q 404 1119 404 1090 q 422 1181 404 1151 q 476 1231 440 1211 q 560 1250 511 1250 q 688 1215 642 1250 q 733 1121 733 1181 q 714 1065 733 1083 q 675 1029 694 1046 q 648 1001 658 1015 q 638 975 638 988 l 551 975 z "},á»
:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 556 781 l 396 881 l 232 782 l 200 833 l 390 1006 l 411 1006 l 592 833 l 556 781 m 678 1189 q 601 1065 649 1103 q 513 1026 554 1026 q 448 1040 475 1026 q 397 1067 421 1054 q 344 1081 372 1081 q 303 1069 328 1081 q 258 1024 279 1057 l 181 1069 q 250 1173 204 1133 q 343 1213 296 1213 q 411 1199 386 1213 q 458 1173 436 1186 q 513 1160 479 1160 q 558 1178 536 1160 q 599 1229 581 1197 l 678 1189 z "},ë:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 514 833 q 449 864 476 833 q 422 938 422 894 q 450 1012 422 981 q 515 1043 478 1043 q 581 1012 556 1043 q 607 938 607 981 q 579 864 607 894 q 514 833 551 833 m 272 833 q 208 864 235 833 q 181 938 181 894 q 208 1012 181 981 q 274 1043 236 1043 q 340 1012 314 1043 q 365 938 365 981 q 338 864 365 894 q 272 833 310 833 z "},Ä:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 397 818 q 319 851 350 818 q 289 932 289 885 q 321 1013 289 979 q 396 1046 353 1046 q 470 1013 440 1046 q 500 932 500 979 q 472 851 500 885 q 397 818 444 818 z "},ẹ:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 396 -265 q 333 -239 357 -265 q 310 -176 310 -212 q 335 -112 310 -139 q 394 -86 360 -86 q 453 -112 431 -86 q 476 -176 476 -139 q 454 -239 476 -212 q 396 -265 432 -265 z "},è:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 465 785 l 297 932 q 268 974 279 950 q 260 1024 257 999 q 286 1069 264 1050 q 333 1087 308 1088 q 379 1073 357 1086 q 415 1036 401 1060 l 529 842 l 465 785 z "},ẻ:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 367 776 q 385 822 367 806 q 421 856 403 838 q 438 879 431 867 q 444 910 444 892 q 424 953 444 939 q 375 968 404 968 q 319 954 336 968 q 299 931 301 940 q 330 919 319 931 q 340 893 340 908 q 328 864 340 878 q 292 850 315 850 q 240 871 260 850 q 219 921 219 892 q 238 983 219 953 q 291 1032 256 1013 q 375 1051 326 1051 q 503 1017 457 1051 q 549 922 549 982 q 531 865 549 885 q 490 831 513 844 q 463 803 474 817 q 453 776 453 789 l 367 776 z "},Ä:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 197 871 l 197 1004 l 592 1004 l 592 876 l 197 871 z "},Ä:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 382 -361 q 274 -325 315 -361 q 232 -218 232 -289 q 277 -96 232 -153 q 394 4 322 -39 q 546 71 467 47 l 546 7 q 461 -40 503 -11 q 394 -104 419 -68 q 369 -179 368 -140 q 387 -219 371 -204 q 431 -235 403 -235 q 472 -224 450 -235 q 517 -194 494 -214 l 565 -254 q 481 -331 529 -301 q 382 -361 432 -361 z "},ẽ:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 643 1006 q 567 881 614 919 q 478 843 519 843 q 413 857 440 843 q 362 884 386 871 q 310 897 338 897 q 269 885 293 897 q 224 840 244 874 l 146 886 q 215 990 169 950 q 308 1029 261 1029 q 376 1016 351 1029 q 423 990 401 1003 q 478 976 444 976 q 524 995 501 976 q 564 1046 54
48066 1014 l 643 1006 z "},É:{ha:747,x_min:43,x_max:704,o:"m 346 -22 q 238 -6 292 -22 q 140 49 185 10 q 69 154 96 88 q 44 321 43 221 l 500 329 q 483 465 500 406 q 427 558 465 524 q 325 593 389 593 q 220 570 278 593 q 114 489 163 547 l 51 547 q 158 656 101 619 q 270 704 215 692 q 368 717 325 717 q 545 672 469 717 q 663 549 621 628 q 704 365 704 469 q 660 172 704 260 q 537 31 617 83 q 346 -22 457 -22 m 350 75 q 447 119 411 75 q 492 232 482 163 l 236 232 q 252 140 238 175 q 292 90 267 106 q 350 75 318 75 z "},Ê:{ha:728,x_min:28,x_max:668,o:"m 314 -376 q 159 -345 224 -376 q 61 -267 94 -314 q 28 -174 28 -221 q 53 -99 28 -131 q 122 -67 79 -68 q 174 -81 154 -65 q 201 -117 193 -96 q 210 -156 210 -137 q 188 -212 210 -185 q 237 -260 203 -243 q 317 -278 271 -278 q 417 -219 374 -278 q 461 -43 461 -161 q 444 64 461 15 q 395 142 428 113 q 311 171 363 171 q 239 169 271 171 q 192 167 207 168 l 192 267 l 378 521 q 414 565 396 546 q 449 600 432 585 l 256 601 q 185 550 208 601 q 151 426 163 499 l 65 426 l 85 694 l 661 694 l 661 607 l 454 326 q 426 297 442 310 q 392 272 411 283 q 538 228 475 269 q 634 117 600 188 q 668 -44 668 47 q 622 -221 668 -146 q 497 -336 576 -296 q 314 -376 417 -376 z "},ǯ:{ha:728,x_min:28,x_max:668,o:"m 314 -376 q 159 -345 224 -376 q 61 -267 94 -314 q 28 -174 28 -221 q 53 -99 28 -131 q 122 -67 79 -68 q 174 -81 154 -65 q 201 -117 193 -96 q 210 -156 210 -137 q 188 -212 210 -185 q 237 -260 203 -243 q 317 -278 271 -278 q 417 -219 374 -278 q 461 -43 461 -161 q 444 64 461 15 q 395 142 428 113 q 311 171 363 171 q 239 169 271 171 q 192 167 207 168 l 192 267 l 378 521 q 414 565 396 546 q 449 600 432 585 l 256 601 q 185 550 208 601 q 151 426 163 499 l 65 426 l 85 694 l 661 694 l 661 607 l 454 326 q 426 297 442 310 q 392 272 411 283 q 538 228 475 269 q 634 117 600 188 q 668 -44 668 47 q 622 -221 668 -146 q 497 -336 576 -296 q 314 -376 417 -376 m 356 774 l 131 1008 l 190 1079 l 369 933 l 371 933 l 539 1079 l 597 1013 l 371 774 l 356 774 z "},f:{ha:513,x_min:42,x_max:592,o:"m 143 735 q 217 976 143 903 q 415 1049 290 1049 q 519 1030 481 1049 q 575 983 558 1011 q 592 926 592 956 q 569 863 592 890 q 506 833 547 835 q 443 855 465 832 q 421 913 421 878 q 422 926 421 919 q 424 940 422 933 q 408 949 417 947 q 392 951 399 951 q 357 938 369 951 q 340 906 344 925 q 336 865 336 886 l 336 694 l 492 694 l 492 588 l 338 583 l 339 226 q 338 170 339 207 q 333 101 336 133 q 387 105 357 104 q 431 106 417 106 l 431 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 581 l 42 579 l 42 694 l 143 694 l 143 735 z "},g:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319 624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 z "},Ä:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319
4806624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 m 363 833 q 282 851 324 833 q 204 908 240 868 q 146 1014 168 947 l 236 1060 q 289 991 258 1021 q 368 961 319 961 q 446 992 417 961 q 494 1061 475 1022 l 585 1021 q 491 876 549 919 q 363 833 433 833 z "},ǧ:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319 624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 m 357 774 l 132 1008 l 192 1079 l 371 933 l 372 933 l 540 1079 l 599 1013 l 372 774 l 357 774 z "},Ä:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319 624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 m 542 781 l 365 926 l 364 926 l 186 790 l 128 857 l 365 1088 l 379 1088 l 601 851 l 542 781 z "},Ä£:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319
4806624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 m 401 1147 l 464 1099 q 419 1001 433 1046 q 405 915 404 957 q 418 828 406 874 l 293 803 q 264 903 264 851 q 303 1028 264 964 q 401 1147 342 1092 z "},Ä¡:{ha:774,x_min:39,x_max:814,o:"m 356 -376 q 167 -351 236 -376 q 68 -283 97 -325 q 39 -194 39 -242 q 51 -136 39 -165 q 92 -80 64 -107 q 171 -35 121 -53 q 91 15 114 -19 q 68 88 68 49 q 97 169 68 124 q 203 238 126 214 q 107 311 144 261 q 67 432 69 361 q 108 580 64 515 q 225 681 153 644 q 376 717 297 717 q 460 707 413 717 q 542 674 507 697 q 581 755 557 717 q 640 817 606 793 q 718 842 675 842 q 790 817 765 842 q 814 753 814 793 q 806 716 814 736 q 780 682 799 696 q 728 668 761 668 q 686 684 707 668 q 661 722 665 700 q 625 686 643 717 q 604 632 607 656 q 665 551 644 597 q 686 453 686 506 q 641 310 686 372 q 524 213 596 249 q 371 178 453 178 q 331 180 353 178 q 288 182 308 182 q 236 171 257 182 q 215 140 215 160 q 256 104 215 114 q 393 89 296 94 q 580 62 500 83 q 704 -6 660 40 q 749 -132 749 -51 q 714 -237 749 -192 q 622 -313 679 -282 q 494 -360 564 -344 q 356 -376 425 -376 m 396 -281 q 545 -244 494 -281 q 596 -169 596 -208 q 574 -122 596 -140 q 508 -92 551 -103 q 396 -78 464 -81 q 325 -74 365 -75 q 254 -67 285 -72 q 222 -108 233 -83 q 210 -157 211 -133 q 258 -247 207 -212 q 396 -281 308 -281 m 376 271 q 440 294 414 271 q 478 354 465 318 q 492 428 492 390 q 479 522 492 476 q 441 595 467 567 q 375 624 415 624 q 289 574 319 624 q 258 460 258 524 q 272 367 258 411 q 313 297 286 324 q 376 271 339 271 m 368 818 q 290 851 321 818 q 260 932 260 885 q 292 1013 260 979 q 367 1046 324 1046 q 441 1013 411 1046 q 471 932 471 979 q 443 851 471 885 q 368 818 415 818 z "},Ç¥:{ha:807,x_min:44,x_max:779,o:"m 356 -160 l 356 -86 l 779 -86 l 779 -154 l 356 -160 m 379 -376 q 210 -347 276 -376 q 110 -272 143 -318 q 78 -175 78 -225 q 101 -102 78 -133 q 171 -69 125 -71 q 225 -83 206 -68 q 253 -119 244 -99 q 261 -158 261 -140 q 254 -190 261 -172 q 235 -222 247 -207 q 281 -262 246 -250 q 351 -275 315 -275 q 476 -222 439 -275 q 514 -71 514 -169 l 514 56 q 422 -5 469 13 q 325 -22 374 -22 q 178 21 242 -22 q 80 143 115 64 q 44 329 44 222 q 88 529 44 442 q 209 667 131 617 q 392 717 288 717 q 515 701 469 717 q 586 686 560 686 q 612 692 597 686 q 635 708 626 699 l 710 708 l 710 -47 q 669 -223 710 -149 q 555 -337 629 -297 q 379 -376 481 -376 m 397 103 q 463 121 432 103 q 513 168 494 139 l 513 493 q 495 572 513 546 q 453 606 478 597 q 406 615 429 615 q 310 576 344 615 q 261 476 275 536 q 249 350 247 415 q 265 235 250 292 q 311 140 279 178 q 397 103 343 103 z "},h:{ha:863,x_min:25,x_max:836,o:"m 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 525 545 551 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 698 644 644 717 q 751 410 751 571 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 z "},ħ:{ha:863,x_min:25,x_max:836,o:"m 31 771 l 31 844 l 496 844 l 496 776 l 31 771 m 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 525 545 551 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 698 644 644 717 q 751 410 751 571 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 z "},È:{ha:863,x_min:25,x_max:836,o:"m 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 525 545 551 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 698 644 644 717 q 751 410 751 571 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 m 478 1057 l 253 1292 l 313 1363 l 492 1217 l 493 1217 l 661 1363 l 719 1296 l 493 1057 l 478 1057 z "},Ä¥:{ha:863,x_min:-1,x_max:836,o:"m 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 525 545 551 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 698 644 644 717 q 751 410 751 571 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 m 413 1064 l 236 1210 l 235 1210 l 57 1074 l -1 1140 l 236 1371 l 250 1371 l 472 1135 l 413 1064 z "},i:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 231 818 q 153 851 183 818 q 122 932 122 885 q 154 1013 122 979 q 229 1046 186 1046 q 303 1013 274 1046 q 333 932 333 979 q 306 851 333 885 q 231 818 278 818 z "},ı:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 z "},Ã:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 157 785 l 93 842 l 207 1036 q 244 1073 222 1060 q 290 1087 265 1086 q 338 1069 315 1088 q 363 1024 360 1050 q 355 974 365 999 q 325 932 344 950 l 157 785 z "},Ä:{ha:454,x_min:8,x_max:447,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 225 833 q 144 851 186 833 q 67 908 103 868 q 8 1014 31 947 l 99 1060 q 151 991 121 1021 q 231 961 182 961 q 308 992 279 961 q 357 1061 338 1022 l 447 1021 q 353 876 411 919 q 225 833 296 833 z "}
4806,î:{ha:454,x_min:11,x_max:432,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 222 1088 l 236 1088 l 432 851 l 372 781 l 224 919 l 222 919 l 69 790 l 11 857 l 222 1088 z "},ï:{ha:454,x_min:14,x_max:440,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 347 833 q 283 864 310 833 q 256 938 256 894 q 283 1012 256 981 q 349 1043 311 1043 q 415 1012 389 1043 q 440 938 440 981 q 413 864 440 894 q 347 833 385 833 m 106 833 q 41 864 68 833 q 14 938 14 894 q 42 1012 14 981 q 107 1043 69 1043 q 173 1012 147 1043 q 199 938 199 981 q 171 864 199 894 q 106 833 143 833 z "},á»:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 231 818 q 153 851 183 818 q 122 932 122 885 q 154 1013 122 979 q 229 1046 186 1046 q 303 1013 274 1046 q 333 932 333 979 q 306 851 333 885 q 231 818 278 818 m 231 -265 q 168 -239 192 -265 q 144 -176 144 -212 q 169 -112 144 -139 q 229 -86 194 -86 q 288 -112 265 -86 q 311 -176 311 -139 q 289 -239 311 -212 q 231 -265 267 -265 z "},ì:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 299 785 l 131 932 q 101 974 113 950 q 94 1024 90 999 q 119 1069 97 1050 q 166 1087 142 1088 q 213 1073 190 1086 q 249 1036 235 1060 l 363 842 l 299 785 z "},á»:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 200 776 q 218 822 200 806 q 254 856 236 838 q 271 879 264 867 q 278 910 278 892 q 258 953 278 939 q 208 968 238 968 q 152 954 169 968 q 132 931 135 940 q 163 919 153 931 q 174 893 174 908 q 161 864 174 878 q 125 850 149 850 q 73 871 93 850 q 53 921 53 892 q 71 983 53 953 q 124 1032 89 1013 q 208 1051 160 1051 q 336 1017 290 1051 q 382 922 382 982 q 364 865 382 885 q 324 831 346 844 q 297 803 307 817 q 286 776 286 789 l 200 776 z "},Ä«:{ha:454,x_min:31,x_max:425,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 31 871 l 31 1004 l 425 1004 l 425 876 l 31 871 z "},į:{ha:454,x_min:47,x_max:439,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 231 818 q 153 851 183 818 q 122 932 122 885 q 154 1013 122 979 q 229 1046 186 1046 q 303 1013 274 1046 q 333 932 333 979 q 306 851 333 885 q 231 818 278 818 m 256 -368 q 147 -332 189 -368 q 106 -225 106 -296 q 151 -103 106 -160 q 268 -3 196 -46 q 419 64 340 40 l 419 0 q 335 -47 376 -18 q 267 -111 293 -75 q 243 -186 242 -147 q 260 -226 244 -211 q 304 -242 276 -242 q 346 -231 324 -242 q 390 -201 368 -221 l 439 -261 q 354 -338 403 -308 q 256 -368 306 -368 z "},Ä©:{ha:454,x_min:-21,x_max:476,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 476 1006 q 400 881 447 919 q 311 843 353 843 q 247 857 274 843 q 195 884 219 871 q 143 897 171 897 q 102 885 126 897 q 57 840 78 874 l -21 886 q 49 990 3 950 q 142 1029 94 1029 q 210 1016 185 1029 q 256 990 235 1003 q 311 976 278 976 q 357 995 335 976 q 397 1046 379
48061014 l 476 1006 z "},ij:{ha:874,x_min:47,x_max:781,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 231 818 q 153 851 183 818 q 122 932 122 885 q 154 1013 122 979 q 229 1046 186 1046 q 303 1013 274 1046 q 333 932 333 979 q 306 851 333 885 q 231 818 278 818 m 483 -376 q 369 -341 406 -376 q 332 -262 332 -306 q 355 -198 332 -226 q 419 -168 378 -169 q 481 -190 457 -167 q 504 -250 504 -214 q 503 -261 504 -256 q 501 -274 503 -267 q 525 -279 510 -279 q 563 -262 551 -279 q 579 -219 575 -244 q 583 -175 583 -194 l 579 444 q 581 502 579 469 q 585 565 582 535 q 533 563 563 564 q 488 561 503 563 l 488 667 q 597 674 553 667 q 666 690 640 681 q 701 708 692 700 l 776 708 l 776 3 q 738 -210 776 -125 q 633 -335 700 -294 q 483 -376 567 -376 m 678 818 q 600 851 631 818 q 569 932 569 885 q 601 1013 569 979 q 676 1046 633 1046 q 751 1013 721 1046 q 781 932 781 979 q 753 851 781 885 q 678 818 725 818 z "},j:{ha:419,x_min:-122,x_max:326,o:"m 29 -376 q -85 -341 -49 -376 q -122 -262 -122 -306 q -99 -198 -122 -226 q -35 -168 -76 -169 q 26 -190 3 -167 q 50 -250 50 -214 q 49 -261 50 -256 q 47 -274 49 -267 q 71 -279 56 -279 q 109 -262 97 -279 q 125 -219 121 -244 q 129 -175 129 -194 l 125 444 q 126 502 125 469 q 131 565 128 535 q 78 563 108 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 322 708 l 322 3 q 284 -210 322 -125 q 179 -335 246 -294 q 29 -376 113 -376 m 224 818 q 146 851 176 818 q 115 932 115 885 q 147 1013 115 979 q 222 1046 179 1046 q 297 1013 267 1046 q 326 932 326 979 q 299 851 326 885 q 224 818 271 818 z "},"È·":{ha:419,x_min:-122,x_max:322,o:"m 29 -376 q -85 -341 -49 -376 q -122 -262 -122 -306 q -99 -198 -122 -226 q -35 -168 -76 -169 q 26 -190 3 -167 q 50 -250 50 -214 q 49 -261 50 -256 q 47 -274 49 -267 q 71 -279 56 -279 q 109 -262 97 -279 q 125 -219 121 -244 q 129 -175 129 -194 l 125 444 q 126 502 125 469 q 131 565 128 535 q 78 563 108 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 322 708 l 322 3 q 284 -210 322 -125 q 179 -335 246 -294 q 29 -376 113 -376 z "},ĵ:{ha:419,x_min:-122,x_max:425,o:"m 29 -376 q -85 -341 -49 -376 q -122 -262 -122 -306 q -99 -198 -122 -226 q -35 -168 -76 -169 q 26 -190 3 -167 q 50 -250 50 -214 q 49 -261 50 -256 q 47 -274 49 -267 q 71 -279 56 -279 q 109 -262 97 -279 q 125 -219 121 -244 q 129 -175 129 -194 l 125 444 q 126 502 125 469 q 131 565 128 535 q 78 563 108 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 322 708 l 322 3 q 284 -210 322 -125 q 179 -335 246 -294 q 29 -376 113 -376 m 215 1088 l 229 1088 l 425 851 l 365 781 l 217 919 l 215 919 l 63 790 l 4 857 l 215 1088 z "},k:{ha:825,x_min:26,x_max:800,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 785 q 119 842 118 810 q 124 906 121 875 q 72 903 101 904 q 26 901 42 903 l 26 1007 q 134 1014 90 1007 q 204 1031 178 1021 q 239 1049 231 1040 l 315 1049 l 315 415 l 382 415 l 482 531 q 512 564 500 550 q 536 589 524 578 l 463 589 l 463 694 l 775 694 l 775 606 q 689 583 726 600 q 624 542 651 565 q 578 496 597 518 l 489 396 q 530 367 510 386 q 579 310 550 349 l 672 188 q 694 161 681 178 q 724 128 707 144 q 760 101 740 113 q 800 90 779 90 l 800 0 l 640 0 q 563 31 596 0 q 486 121 529 63 q 434 192 461 154 q 384 265 407 231 q 347 318 361 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 z "},Ç©:{ha:825,x_min:26,x_max:800,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 785 q 119 842 118 810 q 124 906 121 875 q 72 903 101 904 q 26 901 42 903 l 26 1007 q 134 1014 90 1007 q 204 1031 178 1021 q 239 1049 231 1040 l 315 1049 l 315 415 l 382 415 l 482 531 q 512 564 500 550 q 536 589 524 578 l 463 589 l 463 694 l 775 694 l 775 606 q 689 583 726 600 q 624 542 651 565 q 578 496 597 518 l 489 396 q 530 367 510 386 q 579 310 550 349 l 672 188 q 694 161 681 178 q 724 128 707 144 q 760 101 740 113 q 800 90 779 90 l 800 0 l 640 0 q 563 31 596 0 q 486 121 529 63 q 434 192 461 154 q 384 265 407 231 q 347 318 361 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 m 449 1139 l 178 1347 l 221 1411 l 468 1290 l 722 1414 l 758 1351 l 475 1139 l 449 1139 z "},Ä·:{ha:825,x_min:26,x_max:800,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 785 q 119 842 118 810 q 124 906 121 875 q 72 903 101 904 q 26 901 42 903 l 26 1007 q 134 1014 90 1007 q 204 1031 178 1021 q 239 1049 231 1040 l 315 1049 l 315 415 l 382 415 l 482 531 q 512 564 500 550 q 536 589 524 578 l 463 589 l 463 694 l 775 694 l 775 606 q 689 583 726 600 q 624 542 651 565 q 578 496 597 518 l 489 396 q 530 367 510 386 q 579 310 550 349 l 672 188 q 694 161 681 178 q 724 128 707 144 q 760 101 740 113 q 800 90 779 90 l 800 0 l 640 0 q 563 31 596 0 q 486 121 529 63 q 434 192 461 154 q 384 265 407 231 q 347 318 361 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 m 424 -394 l 361 -346 q 407 -247 393 -292 q 420 -161 421 -203 q 407 -75 419 -119 l 532 -50 q 561 -150 561 -97 q 523 -274 561 -211 q 424 -394 485 -337 z "},l:{ha:433,x_min:25,x_max:399,o:"m 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 z "},ĺ:{ha:433,x_min:25,x_max:399,o:"m 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 m 146 1063 l 82 1119 l 196 1314 q 233 1351 211 1338 q 279 1365 254 1364 q 326 1347 304 1365 q 351 1302 349 1328 q 344 1252 354 1276 q 314 1210 333 1228 l 146 1063 z "},ľ:{ha:433,x_min:25,x_max:563,o:"m 435 740 l 381 781 q 426 893 415 843 q 434 988 438 943 q 418 1076 431 1032 l 542 1053 q 559 1007 556 1026 q 560 960 563 988 q 518 844 554 901 q 435 740 482 786 m 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 z "},ļ:{ha:433,x_min:25,x_max:399,o:"m 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 m 224 -394 l 161 -346 q 207 -247 193 -292 q 220 -161 221 -203 q 207 -75 219 -119 l 332 -50 q 361 -150 361 -97 q 323 -274 361 -211 q 224 -394 285 -337 z "},Å:{ha:663,x_min:25,x_max:607,o:"m 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 m 508 367 q 434 399 463 367 q 406 475 406 431 q 436 551 406 519 q 507 583 467 583 q 578 551 550 583 q 607 475 607 519 q 580 399 607 431 q 508 367 553 367 z "},Å:{ha:464,x_min:24,x_max:471,o:"m 24 279 l 24 436 l 471 751 l 471 599 l 24 279 m 63 90 q 119 106 101 90 q 140 149 136 121 q 144 214 144 178 l 144 785 q 146 842 144 810 q 150 906 147 875 q 98 903 128 904 q 53 901 68 903 l 53 1007 q 162 1014 118 1007 q 231 1031 206 1021 q 267 1049 257 1040 l 342 1049 l 342 224 q 340 169 342 204 q 336 101 339 133 q 386 105 360 104 q 426 106 413 106 l 426 0 l 63 0 l 63 9
48060 z "},m:{ha:1278,x_min:47,x_max:1251,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 333 674 332 694 q 335 639 333 653 q 437 696 382 675 q 540 717 492 717 q 646 694 604 717 q 713 625 688 671 q 823 692 763 667 q 939 717 883 717 q 1109 652 1051 717 q 1167 428 1167 588 l 1167 224 q 1165 169 1167 204 q 1161 101 1164 133 q 1210 105 1183 104 q 1251 106 1238 106 l 1251 0 l 900 0 l 900 90 q 947 106 932 90 q 965 149 961 121 q 969 214 969 178 l 969 426 q 940 551 968 517 q 864 588 911 586 q 797 575 828 589 q 740 542 765 561 q 750 481 747 514 q 753 410 753 447 q 753 317 753 363 q 753 224 753 271 q 751 169 753 204 q 747 101 750 133 q 796 105 769 104 q 838 106 822 106 l 838 0 l 479 0 l 479 90 q 531 106 515 90 q 551 149 547 121 q 556 214 556 178 l 554 431 q 528 554 554 521 q 454 589 501 588 q 390 574 419 589 q 336 538 360 558 q 336 503 336 519 q 336 468 336 486 l 336 224 q 335 169 336 204 q 331 101 333 133 q 376 105 353 104 q 414 106 400 106 l 414 0 l 57 0 z "},n:{ha:886,x_min:47,x_max:857,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 z "},Å:{ha:886,x_min:47,x_max:857,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 m 407 785 l 343 842 l 457 1036 q 494 1073 472 1060 q 540 1087 515 1086 q 588 1069 565 1088 q 613 1024 610 1050 q 605 974 615 999 q 575 932 594 950 l 407 785 z "},Å:{ha:886,x_min:24,x_max:857,o:"m 124 797 l 69 836 q 103 892 85 856 q 136 972 122 928 q 149 1056 150 1015 q 133 1052 139 1053 q 119 1051 126 1051 q 53 1074 82 1051 q 24 1143 24 1096 q 51 1216 24 1185 q 124 1247 78 1247 q 219 1206 188 1249 q 251 1101 251 1164 q 238 1007 251 1057 q 195 904 224 957 q 124 797 167 851 m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 z "},Å:{ha:886,x_min:47,x_max:857,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 m 469 774 l 244 1008 l 304 1079 l 483 933 l 485 933 l 653 1079 l 711 1013 l 485 774 l 469 774 z "},Å:{ha:886,x_min:47,x_max:857,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 m 450 -394 l 388 -346 q 433 -247 419 -292 q 447 -161 447 -203 q 433 -75 446 -119 l 558 -50 q 588 -150 588 -97 q 549 -274 588 -211 q 450 -394 511 -337 z "},ñ:{ha:886,x_min:47,x_max:857,o:"m 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 224 q 771 169 772 204 q 767 101 769 133 q 817 105 790 104 q 857 106 843 106 l 857 0 l 493 0 l 493 90 q 549 106 532 90 q 572 149 567 121 q 576 214 576 178 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 498 336 518 q 336 458 336 478 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 m 726 1006 q 650 881 697 919 q 561 843 603 843 q 497 857 524 843 q 445 884 469 871 q 393 897 421 897 q 352 885 376 897 q 307 840 328 874 l 229 886 q 299 990 253 950 q 392 1029 344 1029 q 460 1016 435 1029 q 506 990 485 1003 q 561 976 528 976 q 607 995 585 976 q 647 1046 629 1014 l 726 1006 z "},Å:{ha:856,x_min:47,x_max:772,o:"m 478 -376 q 363 -341 400 -376 q 326 -262 326 -306 q 349 -198 326 -226 q 414 -168 372 -169 q 475 -190 451 -167 q 499 -250 499 -214 q 498 -261 499 -256 q 496 -274 497 -267 q 506 -277 499 -275 q 519 -279 514 -279 q 558 -262 546 -279 q 574 -219 569 -244 q 578 -175 578 -194 l 575 411 q 549 545 575 501 q 463 589 524 589 q 394 574 428 589 q 336 538 360 558 q 336 490 336 514 q 336 443 336 467 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 329 708 q 332 682 332 690 q 333 666 332 674 q 338 639 333 658 q 401 678 365 661 q 474 706 438 696 q 538 717 510 717 q 719 644 665 717 q 772 410 772 571 l 772 3 q 733 -210 772 -125 q 628 -335 694 -294 q 478 -376 561 -376 z "},o:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 z "},ó:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 322 785 l 258 842 l 372 1036 q 409 1073 388 1060 q 456 1087 431 1086 q 503 1069 481 1088 q 528 1024 525 1050 q 520 974 531 999 q 490 932 510 950 l 322 785 z "},Å:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 390 833 q 310 851 351 833 q 232 908 268 868 q 174 1014 196 947 l 264 1060 q 317 991 286 1021 q 396 961 347 961 q 474 992 444 961 q 522 1061 503 1022 l 613 1021 q 519 876 576 919 q 390 833 461 833 z "},ô:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 569 781 l 393 926 l 392 926 l 214 790 l 156 857 l 393 1088 l 407 1088 l 629 851 l 569 781 z "},á»:{ha:786,x_min:43,x_max:844,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 554 781 l 394 881 l 231 782 l 199 833 l 389 1006 l 410 1006 l 590 833 l 554 781 m 636 903 l 572 960 l 686 1154 q 722 1192 700 1178 q 769 1206 744 1206 q 817 1188 794 12
480606 q 842 1142 839 1168 q 834 1091 844 1115 q 804 1050 824 1067 l 636 903 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 396 -265 q 333 -239 357 -265 q 310 -176 310 -212 q 335 -112 310 -139 q 394 -86 360 -86 q 453 -112 431 -86 q 476 -176 476 -139 q 454 -239 476 -212 q 396 -265 432 -265 m 569 781 l 393 926 l 392 926 l 214 790 l 156 857 l 393 1088 l 407 1088 l 629 851 l 569 781 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 554 781 l 394 881 l 231 782 l 199 833 l 389 1006 l 410 1006 l 590 833 l 554 781 m 606 963 l 438 1110 q 408 1151 418 1126 q 401 1201 397 1175 q 426 1247 404 1228 q 473 1265 449 1265 q 519 1251 497 1265 q 556 1214 542 1238 l 669 1019 l 606 963 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 554 781 l 394 881 l 231 782 l 199 833 l 389 1006 l 410 1006 l 590 833 l 554 781 m 550 975 q 569 1020 550 1004 q 604 1054 588 1036 q 621 1078 614 1065 q 628 1108 628 1090 q 608 1152 628 1138 q 558 1167 588 1167 q 502 1153 519 1167 q 482 1129 485 1139 q 513 1118 503 1129 q 524 1092 524 1107 q 511 1063 524 1076 q 475 1049 499 1049 q 423 1069 443 1049 q 403 1119 403 1090 q 421 1181 403 1151 q 474 1231 439 1211 q 558 1250 510 1250 q 686 1215 640 1250 q 732 1121 732 1181 q 713 1065 732 1083 q 674 1029 693 1046 q 647 1001 657 1015 q 636 975 636 988 l 550 975 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 554 781 l 394 881 l 231 782 l 199 833 l 389 1006 l 410 1006 l 590 833 l 554 781 m 676 1189 q 600 1065 647 1103 q 511 1026 553 1026 q 447 1040 474 1026 q 395 1067 419 1054 q 343 1081 371 1081 q 302 1069 326 1081 q 257 1024 278 1057 l 179 1069 q 249 1173 203 1133 q 342 1213 294 1213 q 410 1199 385 1213 q 456 1173 435 1186 q 511 1160 478 1160 q 557 1178 535 1160 q 597 1229 579 1197 l 676 1189 z "},ö:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 513 833 q 448 864 475 833 q 421 938 421 894 q 449 1012 421 981 q 514 1043 476 1043 q 580 1012 554 1043 q 606 938 606 981 q 578 864 606 894 q 513 833 550 833 m 271 833 q 206 864 233 833 q 179 938 179 894 q 207 1012 179 981 q 272 1043 235 1043 q 338 1012 313 1043 q 364 938 364 981 q 336 864 364 894 q 271 833 308 833 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 396 -265 q 333 -239 357 -265 q 310 -176 310 -212 q 335 -112 310 -139 q 394 -86 360 -86 q 453 -112 431 -86 q 476 -176 476 -139 q 454 -239 476 -212 q 396 -265 432 -265 z "},ò:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 464 785 l 296 932 q 267 974 278 950 q 259 1024 256 999 q 285 1069 263 1050 q 331 1087 307 1088 q 378 1073 356 1086 q 414 1036 400 1060 l 528 842 l 464 785 z "},á»:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 365 776 q 383 822 365 806 q 419 856 401 838 q 436 879 429 867 q 443 910 443 892 q 423 953 443 939 q 374 968 403 968 q 317 954 335 968 q 297 931 300 940 q 328 919 318 931 q 339 893 339 908 q 326 864 339 878 q 290 850 314 850 q 238 871 258 850 q 218 921 218 892 q 236 983 218 953 q 290 1032 254 1013 q 374 1051 325 1051 q 501 1017 456 1051 q 547 922 547 982 q 529 865 547 885 q 489 831 511 844 q 462 803 472 817 q 451 776 451 789 l 365 776 z "},Æ¡:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 z "},á»:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 m 322 785 l 258 842 l 372 1036 q 409 1073 388 1060 q 456 1087 431 1086 q 503 1069 481 1088 q 528 1024 525 1050 q 520 974 531 999 q 490 932 510 950 l 322 785 z "},ợ:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 m 396 -265 q 333 -239 357 -265 q 310 -176 310 -212 q 335 -112 310 -139 q 394 -86 360 -86 q 453 -112 431 -86 q 476 -176 476 -139 q 454 -239 476 -212 q 396 -265 432 -265 z "},á»:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 m 464 785 l 296 932 q 267 974 278 950 q 259 1024 256 999 q 285 1069 263 1050 q 331 1087 307 1088 q 378 1073 356 1086 q 414 1036 400 1060 l 528 842 l 464 785 z "},á»:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 m 365 776 q 383 822 365 806 q 419 856 401 838 q 436 879 429 867 q 443 910 443 892 q 423 953 443 939 q 374 968 403 968 q 317 954 335 968 q 297 931 300 940 q 328 919 318 931 q 339 893 339 908 q 326 864 339 878 q 290 850 314 850 q 238 871 258 850 q 218 921 218 892 q 236 983 218 953 q 290 1032 254 1013 q 374 1051 325 1051 q 501 1017 456 1051 q 547 922 547 982 q 529 865 547 885 q 489 831 511 844 q 462 803 472 817 q 451 776 451 789 l 365 776 z "},ỡ:{ha:786,x_min:43,x_max:782,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 518 600 l 518 690 q 601 726 571 690 q 631 801 631 763 l 782 801 q 749 692 782 738 q 658 624 717 647 q 518 600 599 600 m 642 1006 q 565 881 613 919 q 476 843 518 843 q 412 857 439 843 q 360 884 385 871 q 308 897 336 897 q 267 885 292 897 q 222 840 243 874 l 144 886 q 214 990 168 950 q 307 1029 260 1029 q 375 1016 350 1029 q 422 990 400 1003 q 476 976 443 976 q 522 995 500 976 q 563 1046 544 1014 l 642 1006 z "},Å:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 436 807 l 382 872 l 519 1032 q 595 1084 554 1072 q 661 1068 636 1096 q 676 1022 681 1046 q 653 976 671 997 q 615 939 636 954 l 436 807 m 253 794 l 182 842 l 272 1032 q 326 1097 292 1074 q 393 1101 3
480661 1121 q 421 1063 417 1088 q 417 1013 425 1039 q 392 968 408 988 l 253 794 z "},Å:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 196 871 l 196 1004 l 590 1004 l 590 876 l 196 871 z "},ø:{ha:786,x_min:43,x_max:743,o:"m 161 -115 l 76 -50 l 618 797 l 711 738 l 161 -115 m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 z "},Ç¿:{ha:786,x_min:43,x_max:743,o:"m 161 -115 l 76 -50 l 618 797 l 711 738 l 161 -115 m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 322 785 l 258 842 l 372 1036 q 409 1073 388 1060 q 456 1087 431 1086 q 503 1069 481 1088 q 528 1024 525 1050 q 520 974 531 999 q 490 932 510 950 l 322 785 z "},õ:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 642 1006 q 565 881 613 919 q 476 843 518 843 q 412 857 439 843 q 360 884 385 871 q 308 897 336 897 q 267 885 292 897 q 222 840 243 874 l 144 886 q 214 990 168 950 q 307 1029 260 1029 q 375 1016 350 1029 q 422 990 400 1003 q 476 976 443 976 q 522 995 500 976 q 563 1046 544 1014 l 642 1006 z "},Å:{ha:1233,x_min:43,x_max:1196,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 541 687 488 717 q 638 604 594 657 l 640 604 q 738 685 685 654 q 879 717 792 717 q 99
48061 700 936 717 q 1090 644 1046 683 q 1159 538 1133 604 q 1185 374 1185 472 l 726 365 q 746 238 726 299 q 810 140 765 178 q 929 101 854 101 q 1028 124 971 101 q 1133 206 1086 147 l 1196 147 q 1089 40 1146 76 q 976 -10 1032 3 q 872 -22 919 -22 q 736 6 800 -22 q 632 86 672 35 l 631 86 q 527 6 588 35 q 397 -22 467 -22 m 403 76 q 476 103 449 76 q 517 172 504 131 q 535 259 531 213 q 538 346 539 306 q 529 438 536 390 q 506 528 522 486 q 460 595 489 569 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 738 463 l 993 463 q 976 555 992 521 q 936 604 961 589 q 878 619 911 619 q 783 576 817 619 q 738 463 749 532 z "},p:{ha:835,x_min:33,x_max:790,o:"m 43 -354 l 43 -264 q 99 -249 82 -264 q 122 -205 117 -233 q 126 -140 126 -176 l 126 447 q 128 503 126 472 q 132 565 129 535 q 79 563 110 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 315 708 q 319 674 318 694 q 322 642 321 654 q 419 700 371 683 q 510 717 467 717 q 656 674 593 717 q 755 551 719 631 q 790 365 790 472 q 747 166 790 254 q 627 28 704 78 q 446 -22 550 -22 q 378 -15 408 -22 q 322 3 349 -7 l 322 -131 q 322 -185 322 -150 q 318 -253 321 -221 q 367 -249 340 -250 q 407 -249 393 -249 l 407 -354 l 43 -354 m 424 82 q 523 120 488 83 q 572 217 558 157 q 586 344 586 276 q 571 465 586 408 q 522 558 556 522 q 435 592 489 593 q 371 574 400 590 q 322 531 342 558 q 322 445 322 488 q 322 361 322 403 q 322 277 322 319 q 322 192 322 235 q 322 107 322 150 q 365 89 338 97 q 424 82 393 81 z "},þ:{ha:796,x_min:-6,x_max:751,o:"m 4 -354 l 4 -264 q 60 -249 43 -264 q 83 -205 78 -233 q 88 -140 88 -176 l 88 785 q 88 842 88 810 q 92 906 89 875 q 40 903 69 904 q -6 901 10 903 l -6 1007 q 103 1014 60 1007 q 173 1031 147 1021 q 208 1049 199 1040 l 283 1049 l 283 642 q 375 697 328 678 q 471 717 422 717 q 617 674 554 717 q 716 551 681 631 q 751 365 751 472 q 708 166 751 254 q 588 28 665 78 q 407 -22 510 -22 q 340 -15 369 -22 q 283 3 310 -7 l 283 -131 q 282 -185 283 -150 q 278 -253 281 -221 q 328 -249 301 -250 q 368 -249 354 -249 l 368 -354 l 4 -354 m 383 82 q 484 120 449 83 q 533 217 519 157 q 547 344 547 276 q 532 465 547 408 q 483 558 517 522 q 396 592 450 593 q 332 574 361 590 q 283 531 303 558 l 283 107 q 326 89 299 97 q 383 82 354 81 z "},q:{ha:796,x_min:44,x_max:794,o:"m 431 -354 l 431 -264 q 486 -249 469 -264 q 508 -205 503 -233 q 513 -140 513 -176 l 514 56 q 422 -5 469 13 q 325 -22 374 -22 q 178 21 242 -22 q 80 143 115 64 q 44 329 44 222 q 88 529 44 442 q 209 667 131 617 q 392 717 288 717 q 515 701 469 717 q 586 686 560 686 q 612 692 597 686 q 635 708 626 699 l 710 708 l 710 -131 q 708 -185 710 -150 q 704 -253 707 -221 q 753 -249 726 -250 q 794 -249 781 -249 l 794 -354 l 431 -354 m 397 103 q 463 121 432 103 q 513 168 494 139 l 513 493 q 495 572 513 546 q 453 606 478 597 q 406 615 429 615 q 310 576 344 615 q 261 476 275 536 q 249 350 247 415 q 265 235 250 292 q 311 140 279 178 q 397 103 343 103 z "},r:{ha:667,x_min:47,x_max:658,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 l 103 667 q 202 681 157 667 q 261 708 247 694 l 329 708 q 333 656 332 694 q 335 589 335 618 q 406 663 372 635 q 472 703 439 690 q 538 717 504 717 q 622 690 586 717 q 658 601 658 663 q 649 558 658 581 q 618 519 639 535 q 561 504 597 504 q 504 521 533 504 q 471 585 475 538 q 415 562 443 585 q 366 508 388 539 q 336 450 344 476 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 z "},Å:{ha:667,x_min:47,x_max:658,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 l 103 667 q 202 681 157 667 q 261 708 247 694 l 329 708 q 333 656 332 694 q 335 589 335 618 q 406 663 372 635 q 472 703 439 690 q 538 717 504 717 q 622 690 586 717 q 658 601 658 663 q 649 558 658 581 q 618 519 639 535 q 561 504 597 504 q 504 521 533 504 q 471 585 475 538 q 415 562 443 585 q 366 508 388 539 q 336 450 344 476 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 329 785 l 265 842 l 379 1036 q 416 1073 394 1060 q 463 1087 438 1086 q 510 1069 488 1088 q 535 1024 532 1050 q 527 974 538 999 q 497 932 517 950 l 329 785 z "},Å:{ha:667,x_min:47,x_max:658,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 l 103 667 q 202 681 157 667 q 261 708 247 694 l 329 708 q 333 656 332 694 q 335 589 335 618 q 406 663 372 635 q 472 703 439 690 q 538 717 504 717 q 622 690 586 717 q 658 601 658 663 q 649 558 658 581 q 618 519 639 535 q 561 504 597 504 q 504 521 533 504 q 471 585 475 538 q 415 562 443 585 q 366 508 388 539 q 336 450 344 476 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 392 774 l 167 1008 l 226 1079 l 406 933 l 407 933 l 575 1079 l 633 1013 l 407 774 l 392 774 z "},Å:{ha:667,x_min:47,x_max:658,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 447 q 140 503 139 472 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 l 103 667 q 202 681 157 667 q 261 708 247 694 l 329 708 q 333 656 332 694 q 335 589 335 618 q 406 663 372 635 q 472 703 439 690 q 538 717 504 717 q 622 690 586 717 q 658 601 658 663 q 649 558 658 581 q 618 519 639 535 q 561 504 597 504 q 504 521 533 504 q 471 585 475 538 q 415 562 443 585 q 366 508 388 539 q 336 450 344 476 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 288 -394 l 225 -346 q 271 -247 257 -292 q 284 -161 285 -203 q 271 -75 283 -119 l 396 -50 q 425 -150 425 -97 q 387 -274 425 -211 q 288 -394 349 -337 z "},s:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 z "},Å:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 m 256 785 l 192 842 l 306 1036 q 342 1073 321 1060 q 389 1087 364 1086 q 436 1069 414 1088 q 461 1024 458 1050 q 453 974 464 999 q 424 932 443 950 l 256 785 z "},Å¡:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 m 318 774 l 93 1008 l 153 1079 l 332 933 l 333 933 l 501 1079 l 560 1013 l 333 7
480674 l 318 774 z "},Å:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 m 256 -360 l 244 -287 q 289 -278 261 -285 q 344 -262 317 -272 q 392 -236 372 -251 q 411 -200 411 -221 q 393 -169 411 -176 q 353 -168 375 -162 q 317 -185 331 -174 l 265 -162 l 308 14 l 414 14 l 375 -96 q 422 -80 392 -86 q 469 -74 451 -74 q 542 -98 514 -75 q 571 -171 571 -121 q 538 -253 571 -219 q 453 -308 504 -286 q 349 -342 403 -329 q 256 -360 296 -354 z "},Å:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 m 503 781 l 326 926 l 325 926 l 147 790 l 89 857 l 326 1088 l 340 1088 l 563 851 l 503 781 z "},È:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 m 301 -394 l 239 -346 q 285 -247 271 -292 q 298 -161 299 -203 q 285 -75 297 -119 l 410 -50 q 439 -150 439 -97 q 401 -274 439 -211 q 301 -394 363 -337 z "},Ã:{ha:1071,x_min:42,x_max:1051,o:"m 806 -22 q 703 -7 746 -22 q 628 32 660 8 l 631 -10 l 525 -10 l 519 229 l 608 229 q 662 122 615 165 q 797 78 708 78 q 858 96 828 78 q 886 147 888 114 q 849 210 886 188 q 732 263 811 232 q 624 311 675 285 q 541 381 572 338 q 510 500 510 425 q 551 631 510 569 q 686 711 592 693 q 669 838 686 790 q 624 908 651 885 q 567 938 597 931 q 511 944 538 944 q 430 920 469 943 q 365 840 390 897 q 339 676 339 783 l 339 226 q 338 170 339 207 q 333 101 336 133 q 385 105 356 104 q 431 106 415 106 l 431 0 l 58 0 l 58 90 q 115 106 97 90 q 137 149 132 121 q 142 214 142 178 l 142 582 l 42 579 l 42 694 l 144 694 q 208 910 156 833 q 342 1017 260 986 q 521 1049 424 1049 q 594 1043 550 1049 q 685 1019 638 1038 q 776 961 733 1000 q 844 857 818 922 q 871 692 871 792 q 870 655 871 674 q 867 617 869 636 q 797 619 832 619 q 734 611 763 618 q 688 589 706 604 q 671 546 671 574 q 687 500 671 518 q 735 469 703 482 q 814 439 767 456 q 938 383 885 415 q 1022 303 992 350 q 1051 192 1051 257 q 1017 72 1051 119 q 926 1 982 25 q 806 -22 871 -22 z "},Å¿:{ha:513,x_min:42,x_max:592,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 581 l 42 579 l 42 694 l 143 694 l 143 735 q 217 976 143 903 q 415 1049 290 1049 q 519 1030 481 1049 q 575 983 558 1011 q 592 926 592 956 q 569 863 592 890 q 506 833 547 835 q 443 855 465 832 q 421 913 421 878 q 422 926 421 919 q 424 940 422 933 q 408 949 417 947 q 392 951 399 951 q 357 938 369 951 q 340 906 344 925 q 336 865 336 886 l 339 226 q 338 170 339 207 q 333 101 336 133 q 387 105 357 104 q 431 106 417 106 l 431 0 l 60 0 z "},t:{ha:574,x_min:24,x_max:590,o:"m 332 -22 q 251 -12 290 -22 q 182 24 213 -3 q 133 104 151 51 q 115 244 115 157 l 118 579 l 24 579 l 24 694 q 107 724 67 696 q 176 796 147 751 q 214 889 204 840 l 317 889 l 315 694 l 492 694 l 492 588 l 315 583 l 314 242 q 320 178 314 210 q 344 127 326 147 q 397 107 363 107 q 451 121 417 107 q 524 190 485 135 l 590 128 q 513 42 553 72 q 435 -3 472 11 q 371 -19 399 -17 q 332 -22 343 -22 z "},ŧ:{ha:574,x_min:24,x_max:590,o:"m 43 382 l 43 456 l 481 456 l 481 388 l 43 382 m 332 -22 q 251 -12 290 -22 q 182 24 213 -3 q 133 104 151 51 q 115 244 115 157 l 118 579 l 24 579 l 24 694 q 107 724 67 696 q 176 796 147 751 q 214 889 204 840 l 317 889 l 315 694 l 492 694 l 492 588 l 315 583 l 314 242 q 320 178 314 210 q 344 127 326 147 q 397 107 363 107 q 451 121 417 107 q 524 190 485 135 l 590 128 q 513 42 553 72 q 435 -3 472 11 q 371 -19 399 -17 q 332 -22 343 -22 z "},Å¥:{ha:574,x_min:24,x_max:590,o:"m 443 768 l 389 808 q 435 921 424 871 q 442 1015 446 971 q 426 1104 439 1060 l 550 1081 q 567 1035 564 1054 q 568 988 571 1015 q 526 872 563 929 q 443 768 490 814 m 332 -22 q 251 -12 290 -22 q 182 24 213 -3 q 133 104 151 51 q 115 244 115 157 l 118 579 l 24 579 l 24 694 q 107 724 67 696 q 176 796 147 751 q 214 889 204 840 l 317 889 l 315 694 l 492 694 l 492 588 l 315 583 l 314 242 q 320 178 314 210 q 344 127 326 147 q 397 107 363 107 q 451 121 417 107 q 524 190 485 135 l 590 128 q 513 42 553 72 q 435 -3 472 11 q 371 -19 399 -17 q 332 -22 343 -22 z "},Å£:{ha:574,x_min:24,x_max:590,o:"m 332 -22 q 251 -12 290 -22 q 182 24 213 -3 q 133 104 151 51 q 115 244 115 157 l 118 579 l 24 579 l 24 694 q 107 724 67 696 q 176 796 147 751 q 214 889 204 840 l 317 889 l 315 694 l 492 694 l 492 588 l 315 583 l 314 242 q 320 178 314 210 q 344 127 326 147 q 397 107 363 107 q 451 121 417 107 q 524 190 485 135 l 590 128 q 513 42 553 72 q 435 -3 472 11 q 371 -19 399 -17 q 332 -22 343 -22 m 251 -360 l 240 -287 q 285 -278 257 -285 q 340 -262 313 -272 q 388 -236 368 -251 q 407 -200 407 -221 q 389 -169 407 -176 q 349 -168 371 -162 q 313 -185 326 -174 l 261 -162 l 304 14 l 410 14 l 371 -96 q 417 -80 388 -86 q 465 -74 447 -74 q 538 -98 510 -75 q 567 -171 567 -121 q 533 -253 567 -219 q 449 -308 500 -286 q 345 -342 399 -329 q 251 -360 292 -354 z "},È:{ha:574,x_min:24,x_max:590,o:"m 332 -22 q 251 -12 290 -22 q 182 24 213 -3 q 133 104 151 51 q 115 244 115 157 l 118 579 l 24 579 l 24 694 q 107 724 67 696 q 176 796 147 751 q 214 889 204 840 l 317 889 l 315 694 l 492 694 l 492 588 l 315 583 l 314 242 q 320 178 314 210 q 344 127 326 147 q 397 107 363 107 q 451 121 417 107 q 524 190 485 135 l 590 128 q 513 42 553 72 q 435 -3 472 11 q 371 -19 399 -17 q 332 -22 343 -22 m 297 -394 l 235 -346 q 281 -247 267 -292 q 294 -161 294 -203 q 281 -75 293 -119 l 406 -50 q 435 -150 435 -97 q 397 -274 435 -211 q 297 -394 358 -337 z "},u:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 z "},ú:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 368 785 l 304 842 l 418 1036 q 455 1073 433 1060 q 501 1087 476 1086 q 549 1069 526 1088 q 574 1024 571 1050 q 566 974 576 999 q 536 932 556 950 l 368 785 z "},Å:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 436 833 q 356 851 397 833 q 278 908 314 868 q 219 1014 242 947 l 310 1060 q 363 991 332 1021 q 442 961 393 961 q 519 992 490 961 q 568 1061 549 1022 l 658 1021 q 565 876 622 919 q 436 833 507 833 z "},Ç:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 431 774 l 206 1008 l 265 1079 l 444 933 l 446 933 l 614 1079 l 672 1013 l 446 774 l 431 774 z "},û:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 615 781 l 439 926 l 438 926 l 260 790 l 201 857 l 439 1088 l 453 1088 l 675 851 l 615 781 z "},ü:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 558 833 q 494 864 521 833 q 467 938 467 894 q 494 1012 467 981 q 560 1043 522 1043 q 626 1012 600 1043 q 651 938 651 981 q 624 864 651 894 q 558 833 596 833 m 317 833 q 252 864 279 833 q 225 938 225 894 q 253 1012 225 981 q 318 1043 281 1043 q 384 1012 358 1043 q 410 938 410 981 q 382 864 410 894 q 317 833 354 833 z "},ụ:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 432 -265 q 369 -239 393 -265 q 346 -176 346 -212 q 371 -112 346 -139 q 431 -86 396 -86 q 490 -112 467 -86 q 513 -176 513 -139 q 490 -239 513 -212 q 432 -265 468 -265 z "},ù:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 510 785 l 342 932 q 313 974 324 950 q 305 1024 301 999 q 331 1069 308 1050 q 377 1087 353 1088 q 424 1073 401 1086 q 460 1036 446 1060 l 574 842 l 510 785 z "},á»§:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 411 776 q 429 822 411 806 q 465 856 447 838 q 482 879 475 867 q 489 910 489 892 q 469 953 489 939 q 419 968 449 968 q 363 954 381 968 q 343 931 346 940 q 374 919 364 931 q 385 893 385 908 q 372 864 385 878 q 336 850 360 850 q 284 871 304 850 q 264 921 264 892 q 282 983 264 953 q 335 1032 300 1013 q 419 1051 371 1051 q 547 1017 501 1051 q 593 922 593 982 q 575 865 593 885 q 535 831 557 844 q 508 803 518 817 q 497 776 497 789 l 411 776 z "},ư:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 z "},ứ:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 m 368 785 l 304 842 l 418 1036 q 455 1073 433 1060 q 501 1087 476 1086 q 549 1069 526 1088 q 574 1024 571 1050 q 566 974 576 999 q 536 932 556 950 l 368 785 z "},á»±:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 11
48065 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 m 432 -265 q 369 -239 393 -265 q 346 -176 346 -212 q 371 -112 346 -139 q 431 -86 396 -86 q 490 -112 467 -86 q 513 -176 513 -139 q 490 -239 513 -212 q 432 -265 468 -265 z "},ừ:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 m 510 785 l 342 932 q 313 974 324 950 q 305 1024 301 999 q 331 1069 308 1050 q 377 1087 353 1088 q 424 1073 401 1086 q 460 1036 446 1060 l 574 842 l 510 785 z "},á»:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 m 411 776 q 429 822 411 806 q 465 856 447 838 q 482 879 475 867 q 489 910 489 892 q 469 953 489 939 q 419 968 449 968 q 363 954 381 968 q 343 931 346 940 q 374 919 364 931 q 385 893 385 908 q 372 864 385 878 q 336 850 360 850 q 284 871 304 850 q 264 921 264 892 q 282 983 264 953 q 335 1032 300 1013 q 419 1051 371 1051 q 547 1017 501 1051 q 593 922 593 982 q 575 865 593 885 q 535 831 557 844 q 508 803 518 817 q 497 776 497 789 l 411 776 z "},ữ:{ha:858,x_min:21,x_max:949,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 685 600 l 685 690 q 767 726 738 690 q 797 801 797 763 l 949 801 q 916 692 949 738 q 824 624 883 647 q 685 600 765 600 m 688 1006 q 611 881 658 919 q 522 843 564 843 q 458 857 485 843 q 406 884 431 871 q 354 897 382 897 q 313 885 338 897 q 268 840 289 874 l 190 886 q 260 990 214 950 q 353 1029 306 1029 q 421 1016 396 1029 q 467 990 446 1003 q 522 976 489 976 q 568 995 546 976 q 608 1046 590 1014 l 688 1006 z "},ű:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 482 807 l 428 872 l 565 1032 q 641 1084 600 1072 q 707 1068 682 1096 q 722 1022 726 1046 q 699 976 717 997 q 661 939 682 954 l 482 807 m 299 794 l 228 842 l 318 1032 q 372 1097 338 1074 q 439 1101 407 1121 q 467 1063 463 1088 q 463 1013 471 1039 q 438 968 454 988 l 299 794 z "},Å«:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 242 871 l 242 1004 l 636 1004 l 636 876 l 242 871 z "},ų:{ha:858,x_min:21,x_max:843,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 660 -368 q 551 -332 593 -368 q 510 -225 510 -296 q 555 -103 510 -160 q 672 -3 600 -46 q 824 64 744 40 l 824 0 q 739 -47 781 -18 q 672 -111 697 -75 q 647 -186 646 -147 q 665 -226 649 -211 q 708 -242 681 -242 q 750 -231 728 -242 q 794 -201 772 -221 l 843 -261 q 758 -338 807 -308 q 660 -368 710 -368 z "},ů:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 440 782 q 365 800 403 782 q 303 853 328 818 q 275 936 278 888 q 297 1022 274 985 q 358 1082 319 1060 q 439 1104 396 1104 q 515 1088 478 1104 q 577 1038 553
48061071 q 603 951 601 1004 q 581 862 604 900 q 519 803 557 824 q 440 782 481 782 m 447 867 q 479 885 465 868 q 493 933 493 901 q 477 1001 493 981 q 438 1021 461 1021 q 405 1004 419 1019 q 390 954 390 989 q 406 889 390 911 q 447 867 422 867 z "},Å©:{ha:858,x_min:21,x_max:825,o:"m 344 -22 q 210 10 261 -22 q 137 110 160 42 q 114 285 114 178 l 114 444 q 115 502 114 469 q 118 565 117 535 q 66 563 96 564 q 21 561 36 563 l 21 667 l 35 667 q 171 681 121 667 q 235 708 221 694 l 311 708 l 311 283 q 335 149 311 193 q 410 106 358 106 q 483 126 446 106 q 543 172 519 146 l 543 444 q 544 502 543 469 q 549 565 546 535 q 497 563 526 564 q 451 561 467 563 l 451 667 l 485 667 q 600 681 550 667 q 664 708 650 696 l 740 708 l 740 224 q 739 169 740 204 q 735 101 738 133 q 784 105 757 104 q 825 106 811 106 l 825 0 l 561 0 q 558 36 560 18 q 553 72 556 54 q 460 7 510 36 q 344 -22 411 -22 m 688 1006 q 611 881 658 919 q 522 843 564 843 q 458 857 485 843 q 406 884 431 871 q 354 897 382 897 q 313 885 338 897 q 268 840 289 874 l 190 886 q 260 990 214 950 q 353 1029 306 1029 q 421 1016 396 1029 q 467 990 446 1003 q 522 976 489 976 q 568 995 546 976 q 608 1046 590 1014 l 688 1006 z "},v:{ha:747,x_min:8,x_max:743,o:"m 315 -4 l 96 478 q 74 531 81 513 q 66 562 68 549 q 60 592 64 575 l 8 589 l 8 694 l 333 694 l 333 606 q 294 589 304 604 q 288 549 285 574 q 300 497 290 525 l 372 319 q 394 265 383 293 q 417 210 406 238 l 418 210 q 440 268 429 239 q 460 326 450 297 l 519 496 q 542 551 532 531 q 565 594 553 572 l 479 589 l 479 694 l 743 694 l 743 606 q 686 570 711 600 q 643 503 661 540 q 614 439 625 467 l 436 -4 l 315 -4 z "},w:{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 z "},áº:{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 m 510 785 l 446 842 l 560 1036 q 597 1073 575 1060 q 643 1087 618 1086 q 690 1069 668 1088 q 715 1024 713 1050 q 708 974 718 999 q 678 932 697 950 l 510 785 z "},ŵ:{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 m 757 781 l 581 926 l 579 926 l 401 790 l 343 857 l 581 1088 l 594 1088 l 817 851 l 757 781 z "},áº
:{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 m 700 833 q 635 864 663 833 q 608 938 608 894 q 636 1012 608 981 q 701 1043 664 1043 q 767 1012 742 1043 q 793 938 793 981 q 765 864 793 894 q 700 833 738 833 m 458 833 q 394 864 421 833 q 367 938 367 894 q 394 1012 367 981 q 460 1043 422 1043 q 526 1012 500 1043 q 551 938 551 981 q 524 864 551 894 q 458 833 496 833 z "},áº:{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 m 651 785 l 483 932 q 454 974 465 950 q 447 1024 443 999 q 472 1069 450 1050 q 519 1087 494 1088 q 565 1073 543 1086 q 601 1036 588 1060 l 715 842 l 651 785 z "},x:{ha:761,x_min:29,x_max:738,o:"m 56 0 l 56 89 q 108 124 83 100 q 161 179 133 147 l 282 318 q 237 372 260 344 q 192 425 214 399 q 146 478 169 451 q 103 533 129 499 q 67 592 76 567 l 29 589 l 29 694 l 336 694 l 336 606 q 302 581 297 604 q 332 529 307 558 l 396 454 l 450 518 q 483 557 467 538 q 518 594 500 576 l 450 589 l 450 694 l 694 694 l 694 606 q 642 578 667 594 q 597 541 618 561 q 556 494 576 521 l 463 381 l 624 193 q 660 149 643 171 q 690 103 676 128 l 738 106 l 738 0 l 410 0 l 410 89 q 456 110 454 92 q 433 157 458 129 l 350 244 l 285 167 q 256 133 278 157 q 222 100 235 110 l 286 106 l 286 0 l 56 0 z "},y:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 48
48061 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 z "},ý:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 339 785 l 275 842 l 389 1036 q 426 1073 404 1060 q 472 1087 447 1086 q 519 1069 497 1088 q 544 1024 542 1050 q 537 974 547 999 q 507 932 526 950 l 339 785 z "},ŷ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 586 781 l 410 926 l 408 926 l 231 790 l 172 857 l 410 1088 l 424 1088 l 646 851 l 586 781 z "},ÿ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 529 833 q 465 864 492 833 q 438 938 438 894 q 465 1012 438 981 q 531 1043 493 1043 q 597 1012 571 1043 q 622 938 622 981 q 594 864 622 894 q 529 833 567 833 m 288 833 q 223 864 250 833 q 196 938 196 894 q 224 1012 196 981 q 289 1043 251 1043 q 355 1012 329 1043 q 381 938 381 981 q 353 864 381 894 q 288 833 325 833 z "},ỵ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 553 -265 q 490 -239 514 -265 q 467 -176 467 -212 q 492 -112 467 -139 q 551 -86 517 -86 q 610 -112 588 -86 q 633 -176 633 -139 q 611 -239 633 -212 q 553 -265 589 -265 z "},ỳ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 48
48061 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 481 785 l 313 932 q 283 974 294 950 q 276 1024 272 999 q 301 1069 279 1050 q 348 1087 324 1088 q 394 1073 372 1086 q 431 1036 417 1060 l 544 842 l 481 785 z "},á»·:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 382 776 q 400 822 382 806 q 436 856 418 838 q 453 879 446 867 q 460 910 460 892 q 440 953 460 939 q 390 968 419 968 q 334 954 351 968 q 314 931 317 940 q 345 919 335 931 q 356 893 356 908 q 343 864 356 878 q 307 850 331 850 q 255 871 275 850 q 235 921 235 892 q 253 983 235 953 q 306 1032 271 1013 q 390 1051 342 1051 q 518 1017 472 1051 q 564 922 564 982 q 546 865 564 885 q 506 831 528 844 q 478 803 489 817 q 468 776 468 789 l 382 776 z "},ỹ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 658 1006 q 582 881 629 919 q 493 843 535 843 q 428 857 456 843 q 377 884 401 871 q 325 897 353 897 q 284 885 308 897 q 239 840 260 874 l 161 886 q 231 990 185 950 q 324 1029 276 1029 q 392 1016 367 1029 q 438 990 417 1003 q 493 976 460 976 q 539 995 517 976 q 579 1046 561 1014 l 658 1006 z "},z:{ha:714,x_min:49,x_max:668,o:"m 49 0 l 49 100 l 368 521 q 413 575 392 551 q 439 604 433 599 l 251 601 q 199 577 219 601 q 167 514 179 553 q 147 426 154 475 l 61 426 l 81 694 l 643 694 l 643 607 l 333 186 q 294 139 314 160 q 256 101 275 118 l 451 96 q 522 118 496 94 q 561 183 547 142 q 582 272 575 224 l 668 272 l 647 0 l 49 0 z "},ź:{ha:714,x_min:49,x_max:668,o:"m 49 0 l 49 100 l 368 521 q 413 575 392 551 q 439 604 433 599 l 251 601 q 199 577 219 601 q 167 514 179 553 q 147 426 154 475 l 61 426 l 81 694 l 643 694 l 643 607 l 333 186 q 294 139 314 160 q 256 101 275 118 l 451 96 q 522 118 496 94 q 561 183 547 142 q 582 272 575 224 l 668 272 l 647 0 l 49 0 m 300 785 l 236 842 l 350 1036 q 387 1073 365 1060 q 433 1087 408 1086 q 481 1069 458 1088 q 506 1024 503 1050 q 498 974 508 999 q 468 932 488 950 l 300 785 z "},ž:{ha:714,x_min:49,x_max:668,o:"m 49 0 l 49 100 l 368 521 q 413 575 392 551 q 439 604 433 599 l 251 601 q 199 577 219 601 q 167 514 179 553 q 147 426 154 475 l 61 426 l 81 694 l 643 694 l 643 607 l 333 186 q 294 139 314 160 q 256 101 275 118 l 451 96 q 522 118 496 94 q 561 183 547 142 q 582 272 575 224 l 668 272 l 647 0 l 49 0 m 363 774 l 138 1008 l 197 1079 l 376 933 l 378 933 l 546 1079 l 604 1013 l 378 774 l 363 774 z "},ż:{ha:714,x_min:49,x_max:668,o:"m 49 0 l 49 100 l 368 521 q 413 575 392 551 q 439 604 433 599 l 251 601 q 199 577 219 601 q 167 514 179 553 q 147 426 154 475 l 61 426 l 81 694 l 643 694 l 643 607 l 333 186 q 294 139 314 160 q 256 101 275 118 l 451 96 q 522 118 496 94 q 561 183 547 142 q 582 272 575 224 l 668 272 l 647 0 l 49 0 m 374 818 q 296 851 326 818 q 265 932 265 885 q 297 1013 265 979 q 372 1046 329 1046 q 447 1013 417 1046 q 476 932 476 979 q 449 851 476 885 q 374 818 421 818 z "},ï¬:{ha:926,x_min:42,x_max:893,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 581 l 42 579 l 42 694 l 143 694 q 232 967 151 886 q 475 1049 313 1049 q 668 1019 596 1049 q 772 952 740 990 q 803 888 804 914 q 782 826 803 857 q 718 793 761 794 q 654 816 679 792 q 629 876 629 840 q 631 891 629 883 q 633 906 632 899 q 598 931 628 913 q 503 950 568 950 q 390 917 425 950 q 345 834 354 885 q 336 728 336 783 l 336 694 l 451 694 q 576 694 515 694 q 681 697 638 694 q 733 708 724 700 l 808 708 l 808 224 q 807 169 808 204 q 803 101 806 133 q 853 105 826 104 q 893 106 879 106 l 893 0 l 529 0 l 529 90 q 585 106 568 90 q 60
48067 149 603 121 q 611 214 611 178 l 611 471 q 613 528 611 496 q 617 592 614 561 l 338 585 l 339 226 q 338 170 339 207 q 333 101 336 133 q 387 105 357 104 q 431 106 417 106 l 431 0 l 60 0 z "},ï¬:{ha:938,x_min:42,x_max:903,o:"m 143 715 q 178 909 143 836 q 276 1015 214 982 q 422 1049 339 1049 q 515 1041 475 1049 q 591 1026 556 1033 q 661 1018 626 1018 q 708 1026 689 1018 q 743 1049 726 1035 l 818 1049 l 818 224 q 817 169 818 204 q 813 101 815 133 q 862 105 835 104 q 903 106 889 106 l 903 0 l 539 0 l 539 90 q 594 106 578 90 q 616 149 611 121 q 621 214 621 178 l 621 897 q 570 923 593 913 q 522 938 547 933 q 458 943 496 943 q 385 922 413 943 q 347 866 358 900 q 336 794 336 832 l 336 694 l 492 694 l 492 588 l 338 583 l 339 226 q 338 170 339 207 q 333 101 336 133 q 387 105 357 104 q 431 106 417 106 l 431 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 581 l 42 579 l 42 694 l 143 694 l 143 715 z "},ª:{ha:536,x_min:49,x_max:508,o:"m 185 510 q 85 539 121 510 q 49 621 49 568 q 71 690 49 661 q 130 738 93 718 q 211 767 167 757 q 299 781 256 778 l 299 840 q 296 876 299 858 q 283 905 293 893 q 249 918 272 917 q 221 914 236 918 q 196 899 206 910 q 203 880 201 892 q 206 860 206 868 q 190 815 206 840 q 136 790 174 789 q 87 810 104 790 q 69 858 69 829 q 94 925 69 894 q 163 975 119 956 q 263 994 207 994 q 390 951 346 994 q 435 814 435 908 q 434 735 435 779 q 433 656 433 692 q 437 625 433 642 q 457 608 440 608 q 468 609 463 608 q 481 615 474 610 l 508 575 q 456 528 488 546 q 396 510 425 510 q 341 529 367 510 q 310 589 315 549 q 253 530 290 550 q 185 510 215 510 m 231 613 q 264 621 247 613 q 299 647 281 629 q 299 681 299 664 q 299 714 299 697 q 246 703 271 713 q 206 680 221 694 q 192 644 190 665 q 202 622 193 632 q 231 613 211 613 z "},º:{ha:525,x_min:42,x_max:485,o:"m 261 506 q 145 536 194 506 q 69 619 96 567 q 42 740 42 672 q 69 870 42 813 q 147 961 96 928 q 265 994 197 994 q 382 965 333 994 q 457 881 431 935 q 483 757 483 828 q 458 626 485 683 q 381 538 431 569 q 261 506 331 506 m 268 583 q 320 624 301 585 q 339 738 339 663 q 331 834 339 793 q 307 898 324 875 q 263 919 290 921 q 210 879 229 918 q 190 764 190 840 q 199 667 190 708 q 224 605 207 626 q 268 583 242 583 z "},Ð:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 z "},Ð:{ha:918,x_min:69,x_max:879,o:"m 722 703 q 696 817 722 779 q 630 869 669 856 q 553 882 590 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 565 l 453 568 q 673 550 589 572 q 802 487 757 528 q 863 393 847 446 q 879 282 879 340 q 835 127 879 190 q 715 32 792 64 q 542 0 639 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 806 972 l 813 703 l 722 703 m 369 221 q 368 150 369 183 q 364 99 367 117 q 411 99 389 99 q 456 99 433 99 q 499 100 478 100 q 622 156 583 104 q 661 288 661 207 q 635 399 661 360 q 567 453 608 438 q 482 468 526 468 q 422 469 447 468 q 369 467 397 469 l 369 221 z "},Ð:{ha:918,x_min:69,x_max:879,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 262 974 165 974 q 454 975 358 974 q 719 913 621 976 q 810 722 817 850 q 785 644 807 682 q 719 575 763 606 q 610 526 675 544 l 610 525 q 814 433 749 503 q 879 276 879 363 q 835 124 879 186 q 715 31 792 63 q 542 0 639 0 l 69 0 m 364 99 q 411 99 389 99 q 456 99 433 99 q 499 100 478 100 q 622 154 583 104 q 661 281 661 204 q 635 381 661 344 q 567 433 608 418 q 482 449 526 449 q 422 449 447 449 q 369 447 397 449 l 369 221 q 368 150 369 183 q 364 99 367 117 m 369 546 l 442 547 q 534 574 500 549 q 583 641 568 599 q 597 733 597 683 q 575 820 597 789 q 519 865 553 851 q 450 878 486 879 q 410 871 428 878 q 381 840 392 864 q 369 761 369 815 l 369 546 z "},Ð:{ha:793,x_min:69,x_max:772,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},Ð:{ha:793,x_min:69,x_max:772,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 m 325 1042 l 275 1110 l 429 1274 q 474 1301 449 1293 q 523 1305 499 1310 q 564 1276 547 1300 q 578 1228 581 1253 q 560 1181 575 1203 q 522 1146 544 1160 l 325 1042 z "},Ò:{ha:793,x_min:69,x_max:772,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 513 972 q 589 985 550 972 q 654 1037 628 999 q 681 1150 681 1075 l 772 1150 l 764 881 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},"Ó¶":{ha:793,x_min:69,x_max:772,o:"m 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 159 369 193 q 364 106 367 125 l 524 108 l 524 -254 l 433 -254 q 422 -106 435 -161 q 383 -25 408 -50 q 321 0 357 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 z "},Ò:{ha:793,x_min:40,x_max:772,o:"m 40 421 l 40 531 l 561 531 l 561 425 l 40 421 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},Ò:{ha:943,x_min:69,x_max:894,o:"m 550 -318 q 487 -314 522 -318 q 419 -300 451 -310 l 435 -203 q 476 -208 451 -206 q 514 -210 500 -210 q 614 -162 581 -210 q 660 -36 647 -115 q 675 136 674 43 q 649 328 678 260 q 574 426 621 397 q 476 454 528 454 q 401 447 443 454 q 322 427 360 439 q 264 401 285 415 l 296 511 q 365 540 324 528 q 455 558 407 551 q 544 564 503 564 q 806 458 718 564 q 894 147 894 351 q 869 -50 894 36 q 799 -196 844 -136 q 690 -287 753 -256 q 550 -318 626 -318 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},Ð:{ha:1035,x_min:38,x_max:990,o:"m 38 -247 l 38 103 l 89 103 q 160 125 128 103 q 217 191 192 147 q 260 300 242 235 q 292 451 279 365 q 310 641 304 536 q 314 869 315 746 l 279 868 l 169 865 l 169 972 l 949 972 l 949 881 q 895 872 918 879 q 860 841 872 865 q 849 760 849 817 l 849 228 q 847 156 849 190 q 843 103 846 121 l 990 108 l 990 -247 l 890 -247 q 872 -69 892 -137 q 799 0 853 0 l 229 0 q 156 -69 175 0 q 138 -247 136 -137 l 38 -247 m 267 103 l 525 103 q 585 112 557 106 q 631 143 613 118 q 649 224 649 168 l 649 868 l 513 864 q 443 847 467 863 q 419 782 419 831 q 405 543 418 650 q 371 353 392 436 q 324 208 350 269 q 267 103 297 146 z "},Ð:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 z "},Ð:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 492 1042 l 294 1146 q 258 1181 274 1160 q 240 1228 243 1203 q 253 1276 238 1253 q 294 1305 271 1300 q 343 1301 318 1310 q 388 1274 368 1293 l 542 1110 l 492 1042 z "},Ð:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 339 1107 q 274 1138 301 1107 q 246 1211 246 1168 q 274 1287 246 1256 q 340 1318 303 1318 q 406 1287 379 1318 q 432 1211 432 1256 q 404 1138 432 1168 q 339 1107 376 1107 m 581 1107 q 517 1138 544 1107 q 489 1211 489 1168 q 517 1287 489 1256 q 582 1318 546 1318 q 648 1287 622 1318 q 674 1211 674 1256 q 646 1138 674 1168 q 581 1107 618 1107 z "},Ð:{ha:1440,x_min:1,x_max:1439,o:"m 1 0 l 1 92 q 65 114 33 93 q 126 169 96 135 q 185 242 157 203 l 328 443 q 365 487 343 467 q 414 524 388 507 l 247 739 q 165 826 203 796 q 96 867 128 856 q 32 881 64 879 l 32 972 l 353 972 l 353 865 q 313 867 339 867 q 265 869 288 868 q 314 819 283 856 q 383 731 344 782 l 522 549 l 621 549 l 621 744 q 622 817 621 782 q 626 869 624 851 q 570 867 604 868 q 521 865 536 867 l 521 972 l 919 972 l 919 881 q 867 872 889 879 q 833 841 844 865 q 821 760 821 817 l 821 549 l 924 549 l 1064 731 q 1122 806 1101 779 q 1156 847 1143 832 q 1181 871 1168 861 q 1133 868 1158 869 q 1092 865 1107 867 l 1092 972 l 1410 972 l 1410 881 q 1346 867 1379 879 q 1276 826 1313 856 q 1194 739 1239 796 l 1028 525 q 1076 487 1056 507 q 1114 443 1097 467 l 1257 242 q 1316 169 1286 203 q 1377 114 1346 135 q 1439 92 1408 93 l 1439 0 l 1225 0 q 1189 25 1214 1 q 1136 82 1164 49 q 1090 142 1108 115 l 953 342 q 912 396 933 368 q 871 438 890 424 l 821 438 l 821 228 q 819 156 821 190 q 815 103 818 121 q 872 106 839 106 q 919 107 906 107 l 919 0 l 521 0 l 521 92 q 575 100 553 93 q 609 132 597 107 q 621 213 621 157 l 621 438 l 571 438 q 530 396 551 424 q 489 342 508 368 l 351 142 q 306 82 333 115 q 253 25 278 49 q 217 0 228 1 l 1 0 z "},Ð:{ha:901,x_min:42,x_max:863,o:"m 474 -22 q 331 -9 407 -22 q 180 49 254 4 q 42 186 106 93 l 110 244 q 249 127 168 164 q 422 90 331 90 q 528 110 478 90 q 611 171 579 129 q 643 279 643 213 q 620 376 643 336 q 561 438 597 417 q 485 458 525 458 l 308 458 l 308 557 l 433 557 q 526 579 490 557 q 578 640 561 601 q 594 725 594 678 q 556 853 594 811 q 440 894 517 894 q 295 835 349 894 q 211 661 242 776 l 121 661 l 121 985 l 228 985 l 222 922 q 317 966 276 950 q 395 988 357 982 q 482 994 433 994 q 653 966 582 997 q 763 879 725 935 q 800 754 800 824 q 747 615 800 674 q 600 526 694 556 l 600 522 q 795 440 728 503 q 863 278 863 376 q 828 152 863 208 q 738 56 794 96 q 613 -3 682 17 q 474 -22 544 -24 z "},Ð:{ha:1138,x_min:69,x_max:1068,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 1068 881 q 1015 872 1038 879 q 981 841 993 865 q 969 760 969 817 l 969 228 q 968 156 969 190 q 964 103 967 121 q 1020 106 986 106 q 1068 107 1054 107 l 1068 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 744 q 770 817 768 782 q 774 869 772 851 q 718 867 751 868 q 669 865 685 867 l 669 972 l 1068 972 l 1068 881 m 875 931 l 942 864 l 249 40 l 178 111 l 875 931 z "},Ð:{ha:1138,x_min:69,x_max:1068,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 1068 881 q 1015 872 1038 879 q 981 841 993 865 q 969 760 969 817 l 969 228 q 968 156 969 190 q 964 103 967 121 q 1020 106 986 106 q 1068 107 1054 107 l 1068 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 744 q 770 817 768 782 q 774 869 772 851 q 718 867 751 868 q 669 865 685 867 l 669 972 l 1068 972 l 1068 881 m 875 931 l 942 864 l 249 40 l 178 111 l 875 931 m 385 1286 q 435 1272 418 1288 q 460 1238 453 1257 q 467 1208 467 1219 q 463 1182 467 1196 q 453 1153 460 1168 q 504 1132 474 1139 q 567 1125 535 1125 q 629 1132 599 1125 q 679 1153 660 1139 q 665 1208 665 1181 q 672 1238 665 1219 q 697 1272 679 1257 q 747 1286 715 1288 q 806 1259 788 1286 q 825 1199 825 1232 q 789 1119 825 1151 q 694 1072 753 1088 q 567 1056 636 1056 q 438 1072 497 1056 q 344 1119 379 1088 q 308 1199 308 1151 q 326 1259 308 1232 q 385 1286 344 1286 z "},Ð:{ha:1138,x_min:69,x_max:1068,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 1068 881 q 1015 872 1038 879 q 981 841 993 865 q 969 760 969 817 l 969 228 q 968 156 969 190 q 964 103 967 121 q 1020 106 986 106 q 1068 107 1054 107 l 1068 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 744 q 770 817 768 782 q 774 869 772 851 q 718 867 751 868 q 669 865 685 867 l 669 972 l 1068 972 l 1068 881 m 875 931 l 942 864 l 249 40 l 178 111 l 875 931 m 599 1042 l 401 1146 q 365 1181 381 1160 q 347 1228 350 1203 q 360 1276 344 1253 q 401 1305 378 1300 q 450 1301 425 1310 q 494 1274 475 1293 l 649 1110 l 599 1042 z "},"Ò":{ha:1169,x_min:69,x_max:1133,o:"m 932 -254 q 964 -106 954 -161 q 967 -25 974 -50 q 931 0 960 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 657 l 369 183 q 367 137 368 158 q 364 103 365 115 l 468 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 l 69 865 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 336 l 769 807 q 772 843 771 826 q 774 869 772 860 l 669 865 l 669 972 l 1068 972 l 1068 881 q 990 856 1011 879 q 9
480669 760 969 833 l 969 228 q 968 156 969 190 q 964 103 967 121 l 1133 113 l 1022 -254 l 932 -254 m 567 1056 q 438 1072 497 1056 q 344 1119 379 1088 q 308 1199 308 1151 q 326 1259 308 1232 q 385 1286 344 1286 q 435 1272 418 1288 q 460 1238 453 1257 q 467 1208 467 1219 q 463 1182 467 1196 q 453 1153 460 1168 q 504 1132 474 1139 q 567 1125 535 1125 q 629 1132 599 1125 q 679 1153 660 1139 q 665 1208 665 1181 q 672 1238 665 1219 q 697 1272 679 1257 q 747 1286 715 1288 q 806 1259 788 1286 q 825 1199 825 1232 q 789 1119 825 1151 q 694 1072 753 1088 q 567 1056 636 1056 z "},Ð:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ð:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 444 1063 l 381 1119 l 494 1314 q 531 1351 510 1338 q 578 1365 553 1364 q 625 1347 603 1365 q 650 1302 647 1328 q 642 1252 653 1276 q 613 1210 632 1228 l 444 1063 z "},Ð:{ha:1093,x_min:29,x_max:1024,o:"m 194 -22 q 74 10 119 -22 q 29 101 29 42 q 56 187 29 150 q 143 224 83 224 q 214 197 192 224 q 236 133 236 171 q 225 94 236 110 q 246 90 232 90 q 292 125 265 90 q 344 234 318 160 q 389 426 369 308 q 413 708 408 543 l 417 869 l 382 868 l 257 865 l 257 972 l 1024 972 l 1024 881 q 971 872 993 879 q 937 841 949 865 q 925 760 925 817 l 925 228 q 924 156 925 190 q 919 103 922 121 q 976 106 943 106 q 1024 107 1010 107 l 1024 0 l 625 0 l 625 92 q 678 100 657 93 q 712 132 700 107 q 724 213 724 157 l 724 868 l 613 864 q 543 845 565 863 q 519 782 521 828 q 497 468 515 603 q 447 240 478 333 q 376 88 417 146 q 290 4 336 31 q 194 -22 243 -22 z "},Ð:{ha:1350,x_min:65,x_max:1292,o:"m 567 -14 q 473 215 519 101 q 379 443 426 329 q 351 517 368 469 q 315 628 333 565 q 281 757 296 690 q 285 610 283 679 q 285 479 286 542 q 285 417 285 449 q 284 353 285 385 q 283 291 283 322 q 283 228 283 260 q 281 156 283 190 q 276 103 279 121 q 334 106 300 106 q 382 107 368 107 l 382 0 l 65 0 l 65 92 q 119 100 97 93 q 152 132 140 107 q 164 213 164 157 l 172 744 q 175 817 174 782 q 178 869 176 851 q 122 867 156 868 q 74 865 89 867 l 74 972 l 381 972 l 590 435 q 618 360 603 403 q 647 278 633 318 q 668 215 661 239 l 669 215 q 703 310 688 264 q 735 399 718 356 q 842 686 789 543 q 950 972 896 829 l 1271 972 l 1271 881 q 1217 872 1240 879 q 1181 841 1193 865 q 1171 760 1169 817 l 1192 228 q 1192 156 1194 190 q 1186 103 1189 121 q 1244 106 1210 106 q 1292 107 1278 107 l 1292 0 l 906 0 l 906 92 q 960 100 938 93 q 995 132 983 107 q 1004 213 1007 157 l 993 507 q 990 565 993 524 q 985 655 988 606 q 982 747 983 704 q 974 728 978 738 q 967 710 969 719 l 696 -14 l 567 -14 z "},Ð:{ha:1121,x_min:69,x_max:1051,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 9
480665 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ð:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 z "},Ð:{ha:1100,x_min:69,x_max:1031,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 1031 972 l 1031 881 q 978 872 1000 879 q 944 841 956 865 q 932 760 932 817 l 932 228 q 931 156 932 190 q 926 103 929 121 q 983 106 949 106 q 1031 107 1017 107 l 1031 0 l 632 0 l 632 92 q 685 100 664 93 q 719 132 707 107 q 731 213 731 157 l 731 868 l 465 864 q 413 856 435 863 q 381 824 392 849 q 369 743 369 799 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ð :{ha:888,x_min:69,x_max:867,o:"m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 677 943 586 976 q 817 840 768 910 q 864 660 867 771 q 838 551 863 604 q 764 453 813 497 q 642 382 715 410 q 469 351 568 354 q 416 350 439 350 q 369 351 393 350 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 l 69 92 m 369 456 q 400 453 385 454 q 432 451 415 451 q 556 477 508 451 q 626 552 604 503 q 649 672 649 601 q 630 783 649 742 q 582 845 611 825 q 521 872 553 865 q 463 878 489 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 456 z "},С:{ha:956,x_min:49,x_max:943,o:"m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 z "},Т:{ha:903,x_min:22,x_max:879,o:"m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 z "},У:{ha:914,x_min:3,x_max:876,o:"m 268 -22 q 185 -5 224 -22 q 122 44 146 13 q 99 115 99 75 q 124 194 99 158 q 204 231 149 231 q 276 205 251 231 q 300 144 300 179 q 295 114 300 129 q 279 83 290 99 q 287 76 282 79 q 299 74 292 74 q 375 128 335 74 q 399 165 388 146 q 422 213 410 185 q 451 284 435 242 q 491 388 468 326 q 546 538 514 450 q 621 743 578 625 q 650 815 636 782 q 682 871 664 849 l 575 865 l 575 972 l 876 972 l 876 881 q 821 870 844 881 q 778 831 797 860 q 738 749 758 803 l 535 214 q 451 62 496 113 q 360 -6 407 11 q 268 -22 314 -22 m 453 218 l 124 733 q 88 806 104 765 q 71 869 71 847 l 3 865 l 3 972 l 413 972 l 413 881 q 346 872 372 883 q 314 837 319 861 q 331 774 308 813 l 446 574 q 494 496 467 539 q 535 429 522 453 l 453 218 z "},Ð:{ha:914,x_min:3,x_max:876,o:"m 268 -22 q 185 -5 224 -22 q 122 44 146 13 q 99 115 99 75 q 124 194 99 158 q 204 231 149 231 q 276 205 251 231 q 300 144 300 179 q 295 114 300 129 q 279 83 290 99 q 287 76 282 79 q 299 74 292 74 q 375 128 335 74 q 399 165 388 146 q 422 213 410 185 q 451 284 435 242 q 491 388 468 326 q 546 538 514 450 q 621 743 578 625 q 650 815 636 782 q 682 871 664 849 l 575 865 l 575 972 l 876 972 l 876 881 q 821 870 844 881 q 778 831 797 860 q 738 749 758 803 l 535 214 q 451 62 496 113 q 360 -6 407 11 q 268 -22 314 -22 m 453 218 l 124 733 q 88 806 104 765 q 71 869 71 847 l 3 865 l 3 972 l 413 972 l 413 881 q 346 872 372 883 q 314 837 319 861 q 331 774 308 813 l 446 574 q 494 496 467 539 q 535 429 522 453 l 453 218 m 304 1286 q 355 1272 338 1288 q 379 1238 372 1257 q 386 1208 386 1219 q 383 1182 386 1196 q 372 1153 379 1168 q 424 1132 393 1139 q 486 1125 454 1125 q 549 1132 518 1125 q 599 1153 579 1139 q 585 1208 585 1181 q 592 1238 585 1219 q 617 1272 599 1257 q 667 1286 635 1288 q 726 1259 707 1286 q 744 1199 744 1232 q 708 1119 744 1151 q 614 1072 672 1088 q 486 1056 556 1056 q 358 1072 417 1056 q 263 1119 299 1088 q 228 1199 228 1151 q 246 1259 228 1232 q 304 1286 264 1286 z "},Ф:{ha:1190,x_min:49,x_max:1142,o:"m 397 -75 l 397 17 q 463 32 438 19 q 494 100 489 44 q 235 167 333 113 q 93 302 138 221 q 49 476 49 383 q 98 672 49 582 q 247 819 147 761 q 496 892 346 878 q 499 935 497 915 q 501 965 500 954 l 397 961 l 397 1068 l 782 1068 l 782 976 q 715 963 740 975 q 685 89
48060 690 950 q 945 814 844 875 q 1094 667 1046 753 q 1142 486 1142 581 q 1091 310 1142 392 q 939 172 1040 228 q 682 101 838 117 q 681 60 682 79 q 678 29 679 40 l 782 32 l 782 -75 l 397 -75 m 496 194 l 496 800 q 312 698 369 779 q 254 493 254 617 q 314 292 254 368 q 496 194 374 215 m 683 190 q 876 271 815 206 q 936 463 936 336 q 874 685 936 597 q 683 797 813 772 l 683 190 z "},Ð¥:{ha:971,x_min:19,x_max:965,o:"m 49 0 l 49 92 q 129 137 89 101 q 221 240 169 172 l 382 456 q 271 597 326 526 q 158 739 215 668 q 118 803 136 768 q 89 869 100 839 q 51 867 67 868 q 19 865 35 867 l 19 972 l 442 972 l 442 881 l 428 881 q 368 868 385 881 q 356 834 351 856 q 382 786 361 813 q 444 708 414 747 q 506 629 475 669 l 611 775 q 658 834 640 815 q 693 869 675 853 q 638 867 671 868 q 589 865 604 867 l 589 972 l 904 972 l 904 881 q 841 858 872 876 q 778 808 810 840 q 708 724 746 775 l 575 542 q 663 431 619 486 q 749 319 706 375 q 836 208 793 264 q 879 153 860 179 q 908 103 899 126 q 942 106 932 106 q 965 107 951 107 l 965 0 l 550 0 l 550 92 q 617 104 601 92 q 624 138 632 117 q 596 186 617 160 q 526 276 561 231 q 454 365 490 321 q 393 281 424 324 q 332 197 363 239 q 288 139 303 158 q 256 103 272 119 q 310 106 279 104 q 354 107 340 107 l 354 0 l 49 0 z "},Ч:{ha:1024,x_min:28,x_max:954,o:"m 556 0 l 556 92 q 609 100 588 93 q 642 132 631 107 q 654 213 654 157 l 654 431 q 537 376 600 399 q 401 353 474 353 q 199 423 271 353 q 126 649 128 493 q 127 765 126 721 q 129 834 128 810 q 132 869 131 858 q 76 867 110 868 q 28 865 43 867 l 28 972 l 426 972 l 426 881 q 368 871 389 879 q 339 840 347 863 q 329 772 331 817 q 328 653 328 728 q 347 559 329 596 q 400 504 364 522 q 490 486 436 486 q 588 501 551 486 q 654 538 624 517 l 654 744 q 656 817 654 782 q 660 869 658 851 q 604 867 638 868 q 556 865 571 867 l 556 972 l 954 972 l 954 881 q 901 872 924 879 q 867 841 879 865 q 856 760 856 817 l 856 228 q 854 156 856 190 q 850 103 853 121 q 906 106 872 106 q 954 107 940 107 l 954 0 l 556 0 z "},Ц:{ha:1129,x_min:83,x_max:1093,o:"m 992 -246 q 985 -118 993 -174 q 956 -31 978 -62 q 893 0 933 0 l 83 0 l 83 92 q 137 100 115 93 q 170 132 158 107 q 182 213 182 157 l 182 744 q 184 817 182 782 q 188 869 186 851 q 132 867 165 868 q 83 865 99 865 l 83 972 l 482 972 l 482 881 q 429 872 451 879 q 395 841 407 865 q 383 760 383 817 l 383 104 l 649 108 q 701 117 679 110 q 733 149 722 124 q 744 229 744 174 l 744 744 q 747 817 744 782 q 750 869 749 851 q 694 867 728 868 q 646 865 661 865 l 646 972 l 1044 972 l 1044 881 q 992 872 1014 879 q 958 841 969 865 q 946 760 946 817 l 946 228 q 944 156 946 190 q 940 103 943 121 l 1093 110 l 1093 -246 l 992 -246 z "},Ш:{ha:1528,x_min:69,x_max:1458,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 106 l 567 108 q 619 117 597 111 q 652 149 640 124 q 664 229 664 174 l 664 744 q 665 817 664 782 q 668 869 667 851 q 613 867 646 868 q 564 865 579 867 l 564 972 l 963 972 l 963 881 q 910 872 932 879 q 876 841 888 865 q 864 760 864 817 l 864 228 q 863 158 864 192 q 858 106 861 124 l 1061 108 q 1113 116 1092 110 q 1147 148 1135 122 q 1158 229 1158 174 l 1158 744 q 1160 817 1158 782 q 1164 869 1161 851 q 1108 867 1142 868 q 1060 865 1075 867 l 1060 972 l 1458 972 l 1458 881 q 1406 872 1428 879 q 1372 841 1383 865 q 1360 760 1360 817 l 1360 228 q 1358 156 1360 190 q 1354 103 1357 121 q 1410 106 1376 106 q 1458 107 1444 107 l 1458 0 l 69 0 z "},Щ:{ha:1543,x_min:69,x_max:1507,o:"m 1406 -246 q 1399 -118 1407 -174 q 1369 -31 1392 -62 q 1307 0 1347 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 106 l 567 108 q 619 117 597 111 q 652 149 640 124 q 664 229 664 174 l 664 744 q 665 817 664 782 q 668 869 667 851 q 613 867 646 868 q 564 865 579 867 l 564 972 l 963 972 l 963 881 q 910 872 932 879 q 876 841 888 865 q 864 760 864 817 l 864 228 q 863 158 864 192 q 858 106 861 124 l 1061 108 q 1113 116 1092 110 q 1147 148 1135 122 q 1158 229 1158 174 l 1158 744 q 1160 817 1158 782 q 1164 869 1161 851 q 1108 867 1142 868 q 1060 865 1075 867 l 1060 972 l 1458 972 l 1458 881 q 1406 872 1428 879 q 1372 841 1383 865 q 1360 760 1360 817 l 1360 228 q 1358 156 1360 190 q 1354 103 1357 121 l 1507 110 l 1507 -246 l 1406 -246 z "},Ð:{ha:1114,x_min:83,x_max:1044,o:"m 531 -246 q 524 -118 532 -174 q 497 -31 517 -62 q 439 0 476 0 l 439 93 l 632 101 l 632 -246 l 531 -246 m 1044 972 l 1044 881 q 992 872 1014 879 q 958 841 969 865 q 946 760 946 817 l 946 228 q 944 156 946 190 q 940 103 943 121 q 997 105 963 104 q 1044 107 1031 106 l 1044 0 l 83 0 l 83 92 q 137 100 115 93 q 170 132 158 107 q 182 213 182 157 l 182 744 q 184 817 182 782 q 188 869 186 851 q 132 867 165 868 q 83 865 99 865 l 83 972 l 482 972 l 482 881 q 429 872 451 879 q 395 841 407 865 q 383 760 383 817 l 383 104 l 649 108 q 701 117 679 110 q 733 149 722 124 q 744 229 744 174 l 744 744 q 747 817 744 782 q 750 869 749 851 q 694 867 728 868 q 646 865 661 865 l 646 972 l 1044 972 z "},Ь:{ha:881,x_min:69,x_max:846,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 565 l 446 568 q 649 549 571 572 q 770 482 728 525 q 829 385 813 439 q 846 276 846 332 q 802 124 846 186 q 682 31 758 63 q 508 0 606 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 369 221 q 368 150 369 183 q 364 99 367 117 q 398 99 381 99 q 432 99 415 99 q 465 100 449 100 q 588 155 550 104 q 626 288 626 206 q 603 39
48066 626 357 q 540 451 581 435 q 447 468 500 468 q 408 468 428 468 q 369 465 389 468 l 369 221 z "},Ы:{ha:1335,x_min:69,x_max:1265,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 565 l 446 568 q 649 549 571 572 q 770 482 728 525 q 829 385 813 439 q 846 276 846 332 q 802 124 846 186 q 682 31 758 63 q 508 0 606 0 l 69 0 m 364 99 q 398 99 381 99 q 432 99 415 99 q 465 100 449 100 q 558 126 522 103 q 610 192 593 150 q 626 288 626 233 q 603 396 626 357 q 540 451 581 435 q 447 468 500 468 q 408 468 428 468 q 369 465 389 468 q 369 313 369 375 q 369 209 369 250 q 367 142 368 168 q 364 99 367 117 m 867 0 l 867 92 q 920 100 899 93 q 953 132 942 107 q 965 213 965 157 l 965 744 q 967 817 965 782 q 971 869 969 851 q 915 867 949 868 q 867 865 882 867 l 867 972 l 1265 972 l 1265 881 q 1213 872 1235 879 q 1178 841 1190 865 q 1167 760 1167 817 l 1167 228 q 1165 156 1167 190 q 1161 103 1164 121 q 1217 106 1183 106 q 1265 107 1251 107 l 1265 0 l 867 0 z "},Ъ:{ha:1061,x_min:22,x_max:1026,o:"m 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 771 q 349 825 349 799 q 349 878 349 851 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 649 972 l 649 881 q 596 872 618 879 q 562 841 574 865 q 550 760 550 817 l 550 565 l 626 568 q 830 549 751 572 q 951 482 908 525 q 1010 385 993 439 q 1026 276 1026 332 q 983 124 1026 186 q 863 31 939 63 q 689 0 786 0 l 250 0 m 544 99 q 578 99 561 99 q 613 99 596 99 q 646 100 629 100 q 769 155 731 104 q 807 288 807 206 q 784 396 807 357 q 721 451 761 435 q 628 468 681 468 q 589 468 608 468 q 550 465 569 468 q 550 313 550 375 q 549 209 550 250 q 548 142 549 168 q 544 99 547 117 z "},Ð:{ha:1438,x_min:29,x_max:1403,o:"m 194 -22 q 74 10 119 -22 q 29 101 29 42 q 56 187 29 150 q 143 224 83 224 q 214 197 192 224 q 236 133 236 171 q 234 111 236 119 q 225 94 232 103 q 246 90 232 90 q 308 153 271 90 q 376 351 346 215 q 413 708 407 488 l 417 869 l 382 868 l 257 865 l 257 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 565 l 1003 568 q 1206 549 1128 572 q 1327 482 1285 525 q 1386 385 1369 439 q 1403 276 1403 332 q 1359 124 1403 186 q 1239 31 1315 63 q 1065 0 1163 0 l 626 0 l 626 92 q 680 100 658 93 q 713 132 701 107 q 725 213 725 157 l 725 867 l 613 864 q 543 845 565 863 q 519 782 521 828 q 497 468 515 603 q 447 240 478 333 q 376 88 415 146 q 290 4 336 31 q 194 -22 243 -22 m 921 99 q 972 99 946 99 q 1022 100 997 99 q 1145 155 1107 104 q 1183 288 1183 206 q 1160 396 1183 357 q 1097 451 1138 435 q 1004 468 1057 468 q 978 468 992 468 q 953 467 965 468 q 926 465 940 467 l 926 221 q 925 150 926 183 q 921 99 924 117 z "},Ð:{ha:1464,x_min:69,x_max:1429,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 565 l 751 565 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 565 l 1029 568 q 1233 549 1154 572 q 1353 482 1311 525 q 1413 385 1396 439 q 1429 276 1429 332 q 1385 124 1429 186 q 1265 31 1342 63 q 1092 0 1189 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 461 l 369 456 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 947 99 q 998 99 972 99 q 1049 100 1024 99 q 1172 155 1133 104 q 1210 288 1210 206 q 1187 396 1210 357 q 1124 451 1164 435 q 1031 468 1083 468 q 1005 468 1018 468 q 979 467 992 468 q 953 465 967 467 l 953 221 q 951 150 953 183 q 947 99 950 117 z "},Ð
:{ha:831,x_min:60,x_max:782,o:"m 631 661 q 586 791 618 739 q 505 869 554 843 q 390 894 456 896 q 285 861 331 894 q 240 775 240 828 q 265 700 240 732 q 339 640 289 668 q 465 581 389 613 q 574 532 518 560 q 676 466 629 504 q 753 377 724 428 q 782 258 782 326 q 738 113 782 176 q 613 13 693 49 q 426 -22 533 -22 q 306 -5 371 -22 q 185 46 242 13 l 189 -12 l 82 -12 l 82 313 l 174 313 q 263 137 193 196 q 431 78 333 78 q 518 96 481 78 q 576 144 556 114 q 597 208 597 174 q 563 289 597 257 q 478 343 529 321 q 375 386 428 365 q 251 445 308 414 q 150 517 193 476 q 83 609 107 557 q 60 729 60 661 q 76 819 60 772 q 131 905 93 865 q 231 969 168 944 q 385 994 293 994 q 506 978 440 994 q 619 928 572 961 l 614 985 l 722 985 l 722 661 l 631 661 z "},Ð:{ha:964,x_min:49,x_max:943,o:"m 525 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 774 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 q 709 835 768 776 q 553 894 650 893 q 392 840 456 894 q 298 694 329 785 q 267 500 267 604 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 m 582 329 q 564 413 582 388 q 515 445 546 439 q 446 451 483 451 l 200 450 l 200 560 l 574 560 q 571 622 572 589 q 567 681 569 654 l 674 681 l 674 329 l 582 329 z "},Ð:{ha:957,x_min:21,x_max:908,o:"m 425 -22 q 300 -8 368 -22 q 160 53 232 7 q 21 193 89 100 l 88 254 q 224 132 144 174 q 390 90 304 90 q 558 143 492 90 q 657 288 624 196 q 690 500 690 381 q 676 646 690 575 q 629 772 661 717 q 546 861 597 828 q 422 894 494 894 q 260 840 325 893 q 175 681 194 788 l 83 681 l 83 985 l 190 985 l 188 921 q 310 976 243 957 q 440 994 378 994 q 650 953 561 994 q 796 842 739 913 q 881 683 853 772 q 908 500 908 594 q 875 302 908 396 q 779 135 842 208 q 627 20 717 63 q 425 -22 538 -22 m 250 329 l 250 681 l 357 681 q 354 622 356 654 q 350 560 353 589 l 724 560 l 724 450 l 478 451 q 410 445 440 451 q 360 413 379 439 q 342 329 342 388 l 250 329 z "},Ð:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 z "},Ð:{ha:538,x_min:53,x_max:481,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 146 1107 q 81 1138 108 1107 q 53 1211 53 1168 q 81 1287 53 1256 q 147 1318 110 1318 q 213 1287 186 1318 q 239 1211 239 1256 q 211 1138 239 1168 q 146 1107 183 1107 m 388 1107 q 324 1138 351 1107 q 296 1211 296 1168 q 324 1287 296 1256 q 389 1318 353 1318 q 455 1287 429 1318 q 481 1211 481 1256 q 453 1138 481 1168 q 388 1107 425 1107 z "}
4806,Ð:{ha:626,x_min:1,x_max:589,o:"m 200 -22 q 101 -3 146 -22 q 28 50 56 17 q 1 126 1 83 q 26 206 1 171 q 97 242 50 240 q 173 216 150 244 q 197 151 196 188 q 195 126 199 140 q 185 100 192 113 q 206 82 192 86 q 228 78 221 78 q 273 103 257 78 q 289 188 289 129 l 289 744 q 290 817 289 782 q 294 869 292 851 q 239 867 272 868 q 190 865 206 867 l 190 972 l 589 972 l 589 881 q 536 872 558 879 q 502 841 514 865 q 490 760 490 817 l 490 353 q 415 65 490 153 q 200 -22 340 -22 z "},Ð:{ha:1221,x_min:22,x_max:1176,o:"m 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 694 l 788 694 q 767 798 788 757 q 708 860 746 839 q 617 879 669 881 l 550 879 l 550 542 q 667 597 604 574 q 803 619 731 619 q 1005 549 933 619 q 1078 324 1076 479 q 1077 207 1078 251 q 1076 139 1076 163 q 1072 103 1075 115 q 1129 105 1096 104 q 1176 107 1163 106 l 1176 0 l 778 0 l 778 92 q 836 101 815 93 q 865 133 857 110 q 875 200 874 156 q 876 319 876 244 q 858 413 876 376 q 805 468 840 450 q 714 486 769 486 q 617 471 654 486 q 550 435 581 456 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 z "},Ю:{ha:1554,x_min:69,x_max:1506,o:"m 1019 -22 q 817 17 901 -22 q 676 122 732 56 q 592 269 621 188 q 557 436 564 351 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 558 543 q 599 706 567 625 q 690 851 632 786 q 832 956 749 917 q 1024 994 915 994 q 1242 949 1150 994 q 1392 827 1333 903 q 1478 663 1450 751 q 1506 486 1506 574 q 1476 311 1506 400 q 1385 147 1446 222 q 1234 24 1325 71 q 1019 -22 1143 -22 m 1033 79 q 1154 115 1106 79 q 1232 207 1203 150 q 1274 331 1261 264 q 1288 463 1288 399 q 1271 638 1288 558 q 1219 774 1254 717 q 1131 863 1185 832 q 1006 893 1078 894 q 896 855 940 892 q 825 760 851 818 q 787 635 799 703 q 775 503 775 567 q 788 364 775 438 q 831 225 801 290 q 911 119 861 160 q 1033 79 961 79 z "},Я:{ha:1022,x_min:44,x_max:953,o:"m 44 0 l 44 92 q 108 113 76 93 q 169 167 139 133 q 226 242 200 201 l 279 322 q 338 392 310 369 q 403 425 365 414 q 222 526 282 461 q 160 686 163 590 q 206 842 157 778 q 347 942 256 907 q 558 975 438 976 l 953 972 l 953 881 q 900 872 922 879 q 866 841 878 865 q 854 760 854 817 l 854 228 q 853 156 854 190 q 849 103 851 121 l 953 107 l 953 0 l 554 0 l 554 92 q 608 100 586 93 q 641 132 629 107 q 653 213 653 157 l 654 378 l 585 378 q 527 351 554 378 q 472 281 500 325 l 383 142 q 339 81 367 114 q 285 25 311 49 q 249 0 260 1 l 44 0 m 592 478 q 624 479 608 478 q 654 482 640 481 l 654 769 q 654 824 654 797 q 654 878 654 851 q 607 878 631 878 q 560 878 583 878 q 463 861 506 878 q 397 804 421 844 q 374 690 374 764 q 397 576 374 624 q 469 503 421 528 q 592 478 518 478 z "},Ð:{ha:1107,x_min:22,x_max:1072,o:"m 811 -22 q 729 -17 783 -22 q 628 7 675 -11 l 653 97 q 747 79 700 79 q 828 135 801 79 q 854 289 854 192 q 815 436 854 394 q 710 478 776 478 q 620 469 661 478 q 550 449 579 460 l 550 228 q 549 156 550 190 q 544 104 547 122 l 544 103 l 544 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 878 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 694 l 788 694 q 767 798 788 757 q 708 859 746 839 q 617 879 669 879 l 550 879 l 550 551 q 631 572 586 564 q 718 583 675 579 q 792 586 761 586 q 957 546 896 586 q 1045 442 1018 506 q 1072 304 1072 378 q 1047 143 1072 218 q 964 23 1021 68 q 811 -22 907 -22 z "},Ñ¢:{ha:1035,x_min:22,x_max:992,o:"m 614 935 q 561 926 583 933 q 527 895 539 919 q 515 814 515 871 l 515 565 l 592 568 q 789 549 711 572 q 911 482 867 525 q 974 385 956 439 q 992 276 992 332 q 948 124 992 186 q 828 31 904 63 q 654 0 751 0 l 215 0 l 215 92 q 269 100 247 93 q 302 132 290 107 q 314 213 314 157 l 314 799 q 316 871 314 836 q 319 924 318 906 q 264 922 297 922 q 215 919 231 921 l 215 1026 l 614 1026 l 614 935 m 515 222 q 514 151 515 185 q 510 100 513 118 q 544 100 526 100 q 578 101 561 100 q 611 101 594 101 q 734 156 696 106 q 772 288 7
480672 206 q 749 397 772 357 q 686 453 726 436 q 593 468 646 469 q 554 467 574 468 q 515 467 535 467 l 515 222 m 788 611 q 767 700 788 667 q 708 749 746 733 q 617 763 669 764 l 285 761 q 160 707 206 760 q 114 542 114 654 l 22 542 l 29 856 l 871 856 l 879 611 l 788 611 z "},Ѫ:{ha:1410,x_min:-14,x_max:1424,o:"m -14 0 l -14 92 q 49 114 18 93 q 111 169 81 135 q 169 242 142 203 l 313 443 q 360 496 335 474 q 417 531 385 518 q 489 547 449 544 q 501 548 494 547 q 507 549 507 549 l 365 710 q 327 773 342 738 q 313 831 313 808 l 246 826 l 246 972 l 1147 972 l 1147 842 l 1143 842 q 1101 827 1118 838 q 1066 792 1085 817 q 1013 721 1047 768 l 889 549 l 914 549 q 981 539 950 549 q 1042 506 1013 529 q 1099 443 1071 483 l 1242 242 q 1301 169 1271 203 q 1362 114 1331 135 q 1424 92 1393 93 l 1424 0 l 1210 0 q 1174 25 1199 1 q 1122 82 1149 49 q 1075 142 1094 115 l 938 342 q 897 396 918 368 q 856 438 875 424 l 806 438 l 806 228 q 804 156 806 190 q 800 103 803 121 q 857 106 824 106 q 904 107 890 107 l 904 0 l 506 0 l 506 92 q 560 100 538 93 q 594 132 582 107 q 606 213 606 157 l 606 438 l 556 438 q 514 396 536 424 q 474 342 492 368 l 336 142 q 290 82 318 115 q 238 25 263 49 q 201 0 213 1 l -14 0 m 735 503 l 864 704 q 890 744 874 719 q 924 792 907 768 q 954 831 942 817 l 625 826 q 553 804 575 825 q 568 735 531 783 l 735 503 z "},Ѭ:{ha:1807,x_min:69,x_max:1821,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 936 549 q 941 549 939 549 q 944 549 943 549 l 810 710 q 770 774 786 739 q 757 831 754 808 l 675 826 l 675 972 l 1572 972 l 1572 842 l 1565 842 q 1519 827 1535 838 q 1487 792 1503 817 q 1439 721 1471 768 l 1324 549 l 1349 549 q 1426 532 1394 549 q 1479 491 1457 515 q 1517 443 1501 467 l 1653 242 q 1735 139 1693 183 q 1821 92 1778 94 l 1821 0 l 1610 0 q 1576 25 1600 0 q 1527 84 1553 50 q 1486 142 1501 118 l 1360 342 q 1318 399 1336 375 q 1285 438 1300 424 l 1243 438 l 1243 228 q 1242 153 1243 185 q 1238 103 1240 121 q 1292 106 1258 106 q 1335 107 1325 107 l 1335 0 l 950 0 l 950 92 q 997 100 976 93 q 1031 132 1018 107 q 1044 213 1044 157 l 1044 438 l 1003 438 q 971 402 989 426 q 929 342 953 378 l 800 142 q 758 78 781 111 q 717 24 735 46 q 690 0 699 1 l 515 0 l 515 92 q 570 117 543 96 q 622 170 597 138 q 671 242 647 203 l 761 393 q 806 453 776 419 q 860 500 835 486 l 901 443 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 1169 503 l 1282 704 q 1307 744 1290 719 q 1341 792 1324 768 q 1369 831 1358 817 l 1065 826 q 992 804 1017 825 q 1003 735 968 783 l 1169 503 z "},Ѳ:{ha:1068,x_min:49,x_max:1019,o:"m 672 364 q 600 381 632 364 q 540 420 568 397 q 481 460 511 443 q 414 476 451 476 q 344 464 375 476 q 290 434 313 451 q 253 404 268 417 l 240 443 q 287 513 264 482 q 332 565 310 543 q 377 598 354 586 q 424 610 400 610 q 503 594 469 611 q 565 553 538 576 q 622 513 593 531 q 686 496 650 496 q 756 508 731 496 q 797 542 781 521 q 831 592 814 564 l 846 569 q 775 419 811 474 q 672 364 739 364 m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 z "},Ñ´:{ha:1032,x_min:11,x_max:1060,o:"m 444 -8 l 125 738 q 99 810 111 772 q 86 869 86 847 q 45 867 64 868 q 11 865 26 867 l 11 972 l 421 972 l 421 881 q 342 858 369 882 q 340 774 315 835 l 468 460 q 492 398 485 418 q 505 364 500 378 q 518 328 510 350 q 544 261 526 307 q 572 358 557 304 q 608 490 586 413 q 663 678 629 567 q 722 835 692 774 q 785 932 753 897 q 853 981 818 967 q 924 994 888 994 q 1002 974 972 994 q 1046 924 1032 954 q 1060 865 1060 894 q 1029 781 1060 817 q 939 753 999 746 q 881 781 903 757 q 860 843 860 806 q 865 869 860 856 q 878 890 871 883 q 865 896 874 896 q 846 880 857 896 q 822 833 835 864 q 792 756 808 801 q 758 650 776 710 l 558 -8 l 444 -8 z "},Ò:{ha:1493,x_min:10,x_max:1521,o:"m 1419 -246 q 1402 -69 1422 -137 q 1321 0 1382 0 q 1241 13 1278 0 q 1169 58 1204 26 q 1099 142 1135 89 l 961 342 q 920 396 942 368 q 879 438 899 424 l 829 438 l 829 228 q 828 156 829 190 q 824 103 826 121 q 881 106 847 106 q 928 107 914 107 l 928 0 l 529 0 l 529 92 q 583 100 561 93 q 617 132 606 107 q 629 213 629 157 l 629 438 l 579 438 q 538 396 560 424 q 497 342 517 368 l 360 142 q 314 82 342 115 q 261 25 286 49 q 225 0 236 1 l 10 0 l 10 92 q 73 114 42 93 q 135 169 104 135 q 193 242 165 203 l 336 443 q 374 487 351 467 q 422 525 396 507 l 256 739 q 174 826 211 796 q 104 867 136 856 q 40 881 72 879 l 40 972 l 361 972 l 361 865 q 322 867 347 867 q 274 869 296 868 q 322 819 292 856 q 392 731 353 782 l 531 549 l 629 549 l 629 744 q 631 817 629 782 q 635 869 632 851 q 578 867 613 868 q 529 865 544 867 l 529 972 l 928 972 l 928 881 q 875 872 897 879 q 841 841 853 865 q 829 760 829 817 l 829 549 l 932 549 l 1072 731 q 1131 806 1110 779 q 1164 846 1151 832 q 1189 869 1176 860 q 1141 867 1167 868 q 1100 865 1115 867 l 1100 972 l 1418 972 l 1418 881 q 1354 867 1388 879 q 1284 826 1321 856 q 1203 739 1247 796 l 1036 525 q 1085 487 1064 507 q 1122 443 1106 467 l 1265 242 q 1326 167 1296 197 q 1390 121 1356 136 q 1468 107 1425 106 l 1521 110 l 1521 -246 l 1419 -246 z "},Ò:{ha:901,x_min:42,x_max:863,o:"m 411 -247 l 411 54 l 518 54 l 532 -244 l 411 -247 m 474 -22 q 331 -9 407 -22 q 180 49 254 4 q 42 186 106 93 l 110 244 q 249 127 168 164 q 422 90 331 90 q 528 110 478 90 q 611 171 579 129 q 643 279 643 213 q 620 376 643 336 q 561 438 597 417 q 485 458 525 458 l 308 458 l 308 557 l 433 557 q 526 579 490 557 q 578 640 561 601 q 594 725 594 678 q 556 853 594 811 q 440 894 517 894 q 295 835 349 894 q 211 661 242 776 l 121 661 l 121 985 l 228 985 l 222 922 q 317 966 276 950 q 395 988 357 982 q 482 994 433 994 q 653 966 582 997 q 763 879 725 935 q 800 754 800 824 q 747 615 800 674 q 600 526 694 556 l 600 522 q 795 440 728 503 q 863 278 863 376 q 828 152 863 208 q 738 56 794 96 q 613 -3 682 17 q 474 -22 544 -24 z "},Ò:{ha:1019,x_min:69,x_max:1047,o:"m 946 -246 q 940 -118 947 -174 q 910 -31 932 -62 q 847 0 888 0 q 778 6 804 0 q 732 25 751 11 q 691 67 713 39 q 638 142 669 96 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 869 653 856 q 624 867 649 868 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 864 167 839 194 q 915 126 889 139 q 972 110 940 113 q 1047 110 1003 107 l 1047 -246 l 946 -246 z "},Ò:{ha:1092,x_min:69,x_max:1090,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 572 549 l 679 731 q 729 814 703 772 q 774 871 756 856 q 726 868 751 869 q 686 865 701 867 l 686 972 l 1026 972 l 1026 881 q 960 869 996 879 q 888 831 925 860 q 811 739 850 801 l 678 525 q 727 487 706 507 q 765 443 749 467 l 908 242 q 966 169 936 203 q 1028 114 996 135 q 1090 92 1060 93 l 1090 0 l 876 0 q 840 25 865 1 q 788 82 815 49 q 740 142 760 115 l 603 342 q 563 396 585 368 q 522 438 542 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 433 290 l 433 694 l 522 694 l 522 290 l 433 290 z "},Ò:{ha:1021,x_min:69,x_max:1019,o:"m 69 676 l 69 786 l 532 786 l 531 678 l 69 676 m 101 0 l 101 92 q 155 100 133 93 q 188 132 176 107 q 200 213 200 157 l 200 744 q 202 817 200 782 q 206 869 204 851 q 150 867 183 868 q 101 865 117 867 l 101 972 l 500 972 l 500 881 q 447 872 469 879 q 413 841 425 865 q 401 760 401 817 l 401 549 l 501 549 l 608 731 q 658 814 632 772 q 703 871 685 856 q 656 868 681 8
480669 q 615 865 631 867 l 615 972 l 956 972 l 956 881 q 890 869 925 879 q 817 831 854 860 q 740 739 779 801 l 607 525 q 656 487 635 507 q 694 443 678 467 l 838 242 q 895 169 865 203 q 957 114 925 135 q 1019 92 989 93 l 1019 0 l 806 0 q 769 25 794 1 q 717 82 744 49 q 669 142 689 115 l 532 342 q 492 396 514 368 q 451 438 471 424 l 401 438 l 401 228 q 400 156 401 190 q 396 103 399 121 q 452 106 418 106 q 500 107 486 107 l 500 0 l 101 0 z "},Ò :{ha:1169,x_min:22,x_max:1168,o:"m 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 749 q 351 823 349 786 q 354 878 353 860 l 285 878 q 160 824 206 878 q 114 658 114 771 l 22 658 l 29 972 l 649 972 l 649 881 q 596 872 618 879 q 562 841 574 865 q 550 760 550 817 l 550 549 l 650 549 l 757 731 q 807 814 781 772 q 851 871 833 856 q 804 868 829 869 q 764 865 779 867 l 764 972 l 1104 972 l 1104 881 q 1038 869 1074 879 q 965 831 1003 860 q 889 739 928 801 l 756 524 q 805 487 783 507 q 843 443 826 467 l 986 242 q 1044 169 1014 203 q 1106 114 1074 135 q 1168 92 1138 93 l 1168 0 l 954 0 q 918 25 943 1 q 865 82 893 49 q 818 142 838 115 l 681 342 q 641 396 663 368 q 600 438 619 424 l 550 438 l 550 228 q 549 156 550 190 q 544 103 547 121 q 601 106 567 106 q 649 107 635 107 l 649 0 l 250 0 z "},Ò¢:{ha:1121,x_min:69,x_max:1094,o:"m 1004 -254 q 992 -106 1006 -161 q 953 -25 979 -50 q 892 0 928 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 160 953 193 q 947 107 950 126 l 1094 108 l 1094 -254 l 1004 -254 z "},Ò¤:{ha:1399,x_min:69,x_max:1354,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 821 543 l 821 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 m 651 0 l 651 92 q 705 100 683 93 q 738 132 726 107 q 750 213 750 157 l 750 744 q 752 817 750 782 q 756 869 754 851 q 700 867 733 868 q 651 865 667 867 l 651 972 l 1346 972 l 1354 703 l 1263 703 q 1236 818 1263 779 q 1171 870 1210 857 q 1094 882 1132 883 l 1044 881 q 994 873 1015 881 q 963 840 974 865 q 951 760 951 814 l 951 228 q 950 156 951 190 q 946 103 949 121 q 986 105 961 104 q 1035 106 1011 106 q 1069 107 1060 107 l 1069 0 l 651 0 z "},Ò¦:{ha:1472,x_min:69,x_max:1458,o:"m 1114 -318 q 1051 -314 1086 -318 q 983 -300 1015 -310 l 999 -203 q 1040 -208 1015 -206 q 1078 -210 1064 -210 q 1178 -162 1144 -210 q 1224 -36 1211 -115 q 1239 136 1238 43 q 1213 328 1242 260 q 1138 426 1185 397 q 1040 454 1092 454 q 965 447 1007 454 q 886 427 924 439 q 828 401 849 415 l 860 511 q 929 540 888 528 q 1019 558 971 551 q 1108 564 1067 564 q 1370 458 1282 564 q 1458 147 1458 351 q 1433 -50 1458 36 q 1363 -196 1408 -136 q 1253 -287 1317 -256 q 1114 -318 1190 -318 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 1031 972 l 1031 881 q 978 872 1000 879 q 944 841 956 865 q 932 760 932 817 l 932 228 q 931 156 932 190 q 926 103 929 121 q 983 106 949 106 q 1031 107 1017 107 l 1031 0 l 632 0 l 632 92 q 685 100 664 93 q 719 132 707 107 q 731 213 731 157 l 731 868 l 465 864 q 413 856 435 863 q 381 824 392 849 q 369 743 369 799 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},"Ô¤":{ha:1100,x_min:69,x_max:1064,o:"m 974 -254 q 945 -57 975 -114 q 861 0 915 0 l 632 0 l 632 92 q 685 100 664 93 q 719 132 707 107 q 731 213 731 157 l 731 868 l 465 864 q 413 856 435 863 q 381 824 392 849 q 369 743 369 799 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 1031 972 l 1031 881 q 978 872 1000 879 q 944 841 956 865 q 932 760 932 817 l 932 228 q 931 160 932 193 q 926 107 929 126 l 1064 108 l 1064 -254 l 974 -254 z "},Ò¨:{ha:1110,x_min:49,x_max:1068,o:"m 560 -22 q 331 22 428 -22 q 172 141 235 67 q 79 306 110 215 q 49 486 49 396 q 82 663 49 574 q 180 828 115 753 q 340 949 244 903 q 560 994 435 994 q 704 980 631 994 q 824 946 778 965 l 793 857 q 731 876 768 868 q 659 890 694 885 q 599 894 624 894 q 433 853 508 894 q 314 726 358 813 q 269 503 269 640 q 285 364 269 438 q 336 226 301 290 q 428 120 371 161 q 571 79 486 79 q 629 83 601 79 l 629 86 q 528 190 572 132 q 458 311 483 247 q 433 438 433 375 q 463 599 433 533 q 539 705 492 665 q 643 763 586 744 q 754 782 700 782 q 930 743 861 783 q 1033 631 999 703 q 1067 467 1067 560 q 1044 335 1067 403 q 980 203 1022 267 q 875 89 938 140 l 875 85 q 965 80 919 72 q 1047 108 1011 88 l 1068 15 q 1004 -10 1044 1 q 921 -21 964 -21 q 830 -12 872 -21 q 749 14 788 -3 q 659 -12 707 -3 q 560 -22 611 -22 m 760 143 q 828 248 807 186 q 853 376 849 310 q 858 497 858 442 q 848 577 858 536 q 814 647 838 618 q 750 675 790 675 q 690 647 714 675 q 655 568 667 618 q 643 454 643 518 q 654 342 643 400 q 691 232 665 285 q 760 143 717 179 z "},Òª:{ha:956,x_min:49,x_max:943,o:"m 474 -247 l 474 54 l 581 54 l 594 -244 l 474 -247 m 786 661 q 709 835 768 776 q 553 894 650 893 q 426 861 481 894 q 337 772 372 828 q 284 646 301 717 q 267 500 267 575 q 301 288 267 381 q 400 143 335 196 q 558 90 465 90 q 732 135 646 90 q 876 261 818 181 l 943 200 q 800 59 875 107 q 653 -6 725 11 q 525 -22 582 -22 q 331 16 418 -22 q 180 122 243 54 q 83 278 117 189 q 49 472 49 368 q 79 660 49 567 q 170 828 110 753 q 322 949 231 904 q 535 994 414 994 q 653 977 589 994 q 775 926 718 960 l 769 985 l 876 985 l 876 661 l 786 661 z "},Ò¬:{ha:903,x_min:22,x_max:879,o:"m 871 972 l 879 658 l 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 160 550 193 q 544 107 547 126 l 686 108 l 686 -254 l 596 -254 q 584 -106 597 -161 q 545 -25 571 -50 q 483 0 519 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 z "},Ò®:{ha:926,x_min:4,x_max:921,o:"m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 8
480661 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 z "},Ò°:{ha:926,x_min:4,x_max:921,o:"m 201 278 l 201 388 l 758 388 l 758 282 l 201 278 m 282 0 l 282 92 q 335 100 314 93 q 369 132 357 107 q 381 213 381 157 l 381 333 l 125 738 q 89 808 106 769 q 72 869 72 847 q 35 867 50 868 q 4 865 19 867 l 4 972 l 414 972 l 414 881 q 347 872 374 883 q 315 837 321 861 q 332 774 310 813 l 438 600 q 458 565 444 589 q 487 513 472 540 q 508 465 501 486 l 510 465 q 533 515 517 482 q 575 601 550 549 l 647 743 q 667 783 654 758 q 694 831 679 807 q 721 871 708 856 q 664 868 699 869 q 614 865 629 867 l 614 972 l 921 972 l 921 881 q 838 841 872 874 q 763 732 803 808 q 672 558 718 646 q 582 385 626 471 q 582 346 582 365 q 582 306 582 326 q 582 267 582 286 q 582 228 582 247 q 581 156 582 190 q 576 103 579 121 q 637 106 600 106 q 688 107 674 107 l 688 0 l 282 0 z "},Ò²:{ha:1013,x_min:19,x_max:1033,o:"m 932 -246 q 926 -118 933 -174 q 896 -31 918 -62 q 833 0 874 0 l 550 0 l 550 92 q 617 104 601 92 q 624 138 632 117 q 596 186 617 160 l 456 365 l 332 197 q 288 139 303 158 q 256 103 272 119 q 310 106 279 104 q 354 107 340 107 l 354 0 l 49 0 l 49 92 q 129 137 89 101 q 221 240 169 172 l 382 456 l 158 739 q 118 803 136 768 q 89 869 100 839 q 51 867 67 868 q 19 865 35 867 l 19 972 l 442 972 l 442 881 l 428 881 q 368 868 385 881 q 356 834 351 856 q 382 786 361 813 l 506 629 l 611 775 q 658 834 640 815 q 693 869 675 853 q 638 867 671 868 q 589 865 604 867 l 589 972 l 904 972 l 904 881 q 841 858 872 876 q 778 808 810 840 q 708 724 746 775 l 575 542 l 836 208 q 879 153 860 179 q 908 103 899 126 l 1033 110 l 1033 -246 l 932 -246 z "},Ò´:{ha:1385,x_min:22,x_max:1349,o:"m 1247 -246 q 1241 -118 1249 -174 q 1211 -31 1233 -62 q 1149 0 1189 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 807 972 l 815 658 l 724 658 q 702 782 724 733 q 642 855 681 831 q 550 879 603 879 l 550 228 q 549 156 550 190 q 544 103 547 121 l 904 108 q 956 117 935 110 q 989 149 978 124 q 1000 229 1000 174 l 1000 744 q 1002 817 1000 782 q 1006 869 1004 851 q 950 867 983 868 q 901 865 917 865 l 901 972 l 1300 972 l 1300 881 q 1247 872 1269 879 q 1213 841 1225 865 q 1201 760 1201 817 l 1201 228 q 1200 156 1201 190 q 1196 103 1199 121 l 1349 110 l 1349 -246 l 1247 -246 z "},Ò¶:{ha:1024,x_min:28,x_max:994,o:"m 904 -254 q 892 -106 906 -161 q 853 -25 879 -50 q 792 0 828 0 l 556 0 l 556 92 q 609 100 588 93 q 642 132 631 107 q 654 213 654 157 l 654 431 q 537 376 600 399 q 401 353 474 353 q 199 423 271 353 q 126 649 128 493 q 127 765 126 721 q 129 834 128 810 q 132 869 131 858 q 76 867 110 868 q 28 865 43 867 l 28 972 l 426 972 l 426 881 q 368 871 389 879 q 339 840 347 863 q 329 772 331 817 q 328 653 328 728 q 347 559 329 596 q 400 504 364 522 q 490 486 436 486 q 588 501 551 486 q 654 538 624 517 l 654 744 q 656 817 654 782 q 660 869 658 851 q 604 867 638 868 q 556 865 571 867 l 556 972 l 954 972 l 954 881 q 901 872 924 879 q 867 841 879 865 q 856 760 856 817 l 856 228 q 854 160 856 193 q 850 107 853 126 l 994 108 l 994 -254 l 904 -254 z "},Ò¸:{ha:1038,x_min:28,x_max:954,o:"m 468 231 l 468 635 l 557 635 l 557 231 l 468 231 m 556 0 l 556 92 q 609 100 588 93 q 642 132 631 107 q 654 213 654 157 l 654 431 q 537 376 600 399 q 401 353 474 353 q 199 423 271 353 q 126 649 128 493 q 127 765 126 721 q 129 834 128 810 q 132 869 131 858 q 76 867 110 868 q 28 865 43 867 l 28 972 l 426 972 l 426 881 q 368 871 389 879 q 339 840 347 863 q 329 772 331 817 q 328 653 328 728 q 347 559 329 596 q 400 504 364 522 q 490 486 436 486 q 588 501 551 486 q 654 538 624 517 l 654 744 q 656 817 654 782 q 660 869 658 851 q 604 867 638 868 q 556 865 571 867 l 556 972 l 954 972 l 954 881 q 901 872 924 879 q 867 841 879 865 q 856 760 856 817 l 856 228 q 854 156 856 190 q 850 103 853 121 q 906 106 872 106 q 954 107 940 107 l 954 0 l 556 0 z "},Òº:{ha:1024,x_min:69,x_max:996,o:"m 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 542 q 487 597 424 574 q 622 619 550 619 q 824 549 753 619 q 897 324 896 479 q 897 207 897 251 q 895 139 896 163 q 892 103 894 115 q 949 105 915 104 q 996 107 982 106 l 996 0 l 597 0 l 597 92 q 656 101 635 93 q 685 133 676 110 q 694 200 693 156 q 696 319 696 244 q 678 413 696 376 q 624 468 660 450 q 533 486 589 486 q 437 471 474 486 q 369 435 400 456 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 105 386 104 q 468 107 454 106 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 865 l 69 972 l 468 972 z "},"Ô¦":{ha:1031,x_min:69,x_max:1044,o:"m 943 -246 q 937 -118 944 -174 q 907 -31 929 -62 q 844 0 885 0 l 597 0 l 597 92 q 651 100 629 93 q 684 132 672 10
48067 q 696 213 696 157 l 696 319 q 678 413 696 376 q 624 468 660 450 q 533 486 589 486 q 437 471 474 486 q 369 435 400 456 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 105 386 104 q 468 107 454 106 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 865 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 542 q 487 597 424 574 q 622 619 550 619 q 824 549 753 619 q 897 324 896 479 q 897 207 897 251 q 895 139 896 163 q 892 103 894 115 l 1044 110 l 1044 -246 l 943 -246 z "},Ò¼:{ha:1224,x_min:-42,x_max:1175,o:"m 743 -22 q 506 22 601 -22 q 353 141 410 67 q 271 306 296 215 q 246 486 246 396 q 276 666 246 576 q 366 830 306 756 q 520 949 426 904 q 743 994 614 994 q 936 957 856 994 q 1069 856 1017 919 q 1147 714 1122 792 q 1172 554 1172 636 q 1170 507 1172 531 q 1164 460 1168 483 l 958 460 q 958 681 974 582 q 885 838 942 779 q 724 893 829 896 q 603 856 653 892 q 522 763 553 821 q 478 638 492 706 q 464 503 464 569 q 479 365 464 438 q 531 231 494 293 q 627 129 567 168 q 776 90 688 90 q 897 110 835 90 q 1014 169 958 131 q 1108 261 1069 208 l 1175 200 q 1030 59 1107 107 q 878 -6 953 11 q 743 -22 804 -22 m 356 460 q 114 492 200 460 q -7 574 28 524 q -42 678 -42 624 q -6 775 -42 735 q 85 815 31 815 q 149 799 126 815 q 182 757 172 782 q 192 708 192 732 q 168 646 192 669 q 113 622 144 622 q 101 624 107 622 q 88 626 94 625 q 88 611 85 617 q 172 572 103 581 q 356 564 242 564 l 1007 564 l 1007 460 l 356 460 z "},Ò¾:{ha:1224,x_min:-42,x_max:1175,o:"m 686 -247 l 686 54 l 793 54 l 807 -244 l 686 -247 m 743 -22 q 506 22 601 -22 q 353 141 410 67 q 271 306 296 215 q 246 486 246 396 q 276 666 246 576 q 366 830 306 756 q 520 949 426 904 q 743 994 614 994 q 936 957 856 994 q 1069 856 1017 919 q 1147 714 1122 792 q 1172 554 1172 636 q 1170 507 1172 531 q 1164 460 1168 483 l 958 460 q 958 681 974 582 q 885 838 942 779 q 724 893 829 896 q 603 856 653 892 q 522 763 553 821 q 478 638 492 706 q 464 503 464 569 q 479 365 464 438 q 531 231 494 293 q 627 129 567 168 q 776 90 688 90 q 897 110 835 90 q 1014 169 958 131 q 1108 261 1069 208 l 1175 200 q 1030 59 1107 107 q 878 -6 953 11 q 743 -22 804 -22 m 356 460 q 114 492 200 460 q -7 574 28 524 q -42 678 -42 624 q -6 775 -42 735 q 85 815 31 815 q 149 799 126 815 q 182 757 172 782 q 192 708 192 732 q 168 646 192 669 q 113 622 144 622 q 101 624 107 622 q 88 626 94 625 q 88 611 85 617 q 172 572 103 581 q 356 564 242 564 l 1007 564 l 1007 460 l 356 460 z "},Ó:{ha:538,x_min:69,x_max:468,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 z "},Ó:{ha:1440,x_min:1,x_max:1439,o:"m 1 0 l 1 92 q 65 114 33 93 q 126 169 96 135 q 185 242 157 203 l 328 443 q 365 487 343 467 q 414 524 388 507 l 247 739 q 165 826 203 796 q 96 867 128 856 q 32 881 64 879 l 32 972 l 353 972 l 353 865 q 313 867 339 867 q 265 869 288 868 q 314 819 283 856 q 383 731 344 782 l 522 549 l 621 549 l 621 744 q 622 817 621 782 q 626 869 624 851 q 570 867 604 868 q 521 865 536 867 l 521 972 l 919 972 l 919 881 q 867 872 889 879 q 833 841 844 865 q 821 760 821 817 l 821 549 l 924 549 l 1064 731 q 1122 806 1101 779 q 1156 847 1143 832 q 1181 871 1168 861 q 1133 868 1158 869 q 1092 865 1107 867 l 1092 972 l 1410 972 l 1410 881 q 1346 867 1379 879 q 1276 826 1313 856 q 1194 739 1239 796 l 1028 525 q 1076 487 1056 507 q 1114 443 1097 467 l 1257 242 q 1316 169 1286 203 q 1377 114 1346 135 q 1439 92 1408 93 l 1439 0 l 1225 0 q 1189 25 1214 1 q 1136 82 1164 49 q 1090 142 1108 115 l 953 342 q 912 396 933 368 q 871 438 890 424 l 821 438 l 821 228 q 819 156 821 190 q 815 103 818 121 q 872 106 839 106 q 919 107 906 107 l 919 0 l 521 0 l 521 92 q 575 100 553 93 q 609 132 597 107 q 621 213 621 157 l 621 438 l 571 438 q 530 396 551 424 q 489 342 508 368 l 351 142 q 306 82 333 115 q 253 25 278 49 q 217 0 228 1 l 1 0 m 535 1286 q 585 1272 568 1288 q 610 1238 603 1257 q 617 1208 617 1219 q 613 1182 617 1196 q 603 1153 610 1168 q 654 1132 624 1139 q 717 1125 685 1125 q 779 1132 749 1125 q 829 1153 810 1139 q 815 1208 815 1181 q 822 1238 815 1219 q 847 1272 829 1257 q 897 1286 865 1288 q 956 1259 938 1286 q 975 1199 975 1232 q 939 1119 975 1151 q 844 1072 903 1088 q 717 1056 786 1056 q 588 1072 647 1056 q 494 1119 529 1088 q 458 1199 458 1151 q 476 1259 458 1232 q 535 1286 494 1286 z "},Ó:{ha:942,x_min:69,x_max:940,o:"m 700 -329 l 656 -250 q 737 -190 704 -226 q 771 -92 769 -153 q 740 47 774 -37 q 646 214 707 132 q 543 340 585 297 q 473 403 501 382 q 419 438 444 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 524 q 629 495 600 514 q 700 436 658 476 q 799 321 742 396 q 913 115 885 210 q 940 -50 940 19 q 909 -166 940 -115 q 824 -256 878 -217 q 700 -329 769 -296 z "},"Ó
":{ha:1108,x_min:29,x_max:1072,o:"m 919 104 l 1072 111 l 947 -246 l 846 -246 q 890 -83 879 -135 q 893 -15 901 -31 q 858 0 885 0 l 625 0 l 625 92 q 678 100 657 93 q 712 132 700 107 q 724 213 724 157 l 724 868 l 613 864 q 543 845 565 863 q 519 782 521 828 q 497 468 515 603 q 447 240 478 333 q 376 88 417 146 q 290 4 336 31 q 194 -22 243 -22 q 74 10 119 -22 q 29 101 29 42 q 56 187 29 150 q 143 224 83 224 q 214 197 192 224 q 236 133 236 171 q 225 94 236 110 q 246 90 232 90 q 292 125 265 90 q 344 234 318 160 q 389 426 369 308 q 413 708 408 543 l 417 869 l 382 868 l 257 865 l 257 972 l 1024 972 l 1024 881 q 971 872 993 879 q 937 841 949 865 q 925 760 925 817 l 925 228 q 924 156 925 190 q 919 104 922 122 z "},Ó:{ha:1121,x_min:69,x_max:1051,o:"m 681 -318 q 609 -315 653 -318 q 497 -294 56
48065 -312 l 519 -207 q 565 -215 544 -212 q 607 -217 585 -217 q 676 -193 643 -217 q 731 -114 710 -169 q 751 36 751 -58 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 49 q 922 -140 953 -57 q 831 -271 892 -224 q 681 -318 771 -318 z "},"Ó":{ha:1136,x_min:69,x_max:1100,o:"m 947 104 l 1100 111 l 975 -246 l 874 -246 q 918 -83 907 -135 q 921 -15 929 -31 q 886 0 913 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 104 950 122 z "},Ó:{ha:1065,x_min:69,x_max:996,o:"m 511 -246 l 511 86 l 597 89 q 651 97 629 90 q 684 131 672 104 q 696 213 696 157 l 696 431 q 578 376 642 399 q 443 353 515 353 q 241 423 313 353 q 168 649 169 493 q 169 765 168 721 q 171 834 169 810 q 174 869 172 858 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 410 871 431 879 q 381 840 389 863 q 371 772 372 817 q 369 653 369 728 q 388 559 371 596 q 442 504 406 522 q 532 486 478 486 q 629 501 593 486 q 696 538 665 517 l 696 744 q 698 817 696 782 q 701 869 700 851 q 646 867 679 868 q 597 865 613 867 l 597 972 l 996 972 l 996 881 q 943 872 965 879 q 909 841 921 865 q 897 760 897 817 l 897 228 q 896 156 897 190 q 892 103 894 121 q 948 106 914 106 q 996 107 982 107 l 996 0 l 711 0 q 649 -31 671 0 q 619 -118 628 -62 q 613 -246 611 -174 l 511 -246 z "},"Ó":{ha:1350,x_min:65,x_max:1332,o:"m 1186 104 l 1332 111 l 1207 -246 l 1106 -246 q 1150 -83 1139 -135 q 1153 -15 1161 -31 q 1118 0 1144 0 l 906 0 l 906 92 q 960 100 938 93 q 995 132 983 107 q 1004 213 1007 157 l 982 747 l 696 -14 l 567 -14 l 379 443 q 351 517 368 469 q 315 628 333 565 q 281 757 296 690 q 283 665 282 706 q 285 583 285 625 q 285 479 286 540 q 285 429 285 463 q 284 358 285 396 q 283 284 283 319 q 283 228 283 249 q 281 145 283 169 q 276 103 279 121 l 382 107 l 382 0 l 65 0 l 65 92 q 119 100 97 93 q 152 132 140 107 q 164 213 164 157 l 172 744 q 175 817 174 782 q 178 869 176 851 l 74 865 l 74 972 l 381 972 l 590 435 q 618 360 603 403 q 647 278 633 318 q 668 215 661 239 l 669 215 q 703 310 688 264 q 735 399 718 356 l 950 972 l 1271 972 l 1271 881 q 1186 851 1204 879 q 1171 760 1168 824 l 1192 228 q 1192 157 1194 192 q 1186 104 1189 122 z "},Ó:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 278 1286 q 328 1272 311 1288 q 353 1238 346 1257 q 360 1208 360 1219 q 356 1182 360 1196 q 346 1153 353 1168 q 397 1132 367 1139 q 460 1125 428 1125 q 522 1132 492 1125 q 572 1153 553 1139 q 558 1208 558 1181 q 565 1238 558 1219 q 590 1272 572 1257 q 640 1286 608 1288 q 699 1259 681 1286 q 718 1199 718 1232 q 682 1119 718 1151 q 588 1072 646 1088 q 460 1056 529 1056 q 331 1072 390 1056 q 237 1119 272 1088 q 201 1199 201 1151 q 219 1259 201 1232 q 278 1286 238 1286 z "},Ó:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 339 1107 q 274 1138 301 1107 q 246 1211 246 1168 q 274 1287 246 1256 q 340 1318 303
48061318 q 406 1287 379 1318 q 432 1211 432 1256 q 404 1138 432 1168 q 339 1107 376 1107 m 581 1107 q 517 1138 544 1107 q 489 1211 489 1168 q 517 1287 489 1256 q 582 1318 546 1318 q 648 1287 622 1318 q 674 1211 674 1256 q 646 1138 674 1168 q 581 1107 618 1107 z "},Ó:{ha:1299,x_min:-8,x_max:1243,o:"m -8 0 l -8 92 q 53 115 25 92 q 108 172 82 138 q 157 238 135 206 l 606 869 l 501 865 l 501 972 l 1196 972 l 1204 703 l 1113 703 q 1086 818 1113 779 q 1021 870 1060 857 q 944 882 982 883 l 894 881 q 844 873 865 881 q 813 840 824 865 q 801 760 801 814 l 801 551 l 964 551 l 958 672 l 1065 672 l 1065 335 l 974 335 q 956 419 974 393 q 906 451 938 444 q 838 457 875 458 l 801 456 l 801 228 q 800 157 801 190 q 796 106 799 124 l 982 106 q 1063 124 1024 106 q 1126 187 1101 143 q 1151 306 1151 231 l 1243 306 l 1235 0 l 501 0 l 501 92 q 555 100 533 93 q 588 132 576 107 q 600 213 600 157 l 600 288 l 328 281 l 279 210 q 235 149 257 178 q 192 104 214 121 l 303 107 l 303 0 l -8 0 m 396 383 l 600 383 l 600 694 l 396 383 z "},Ó:{ha:867,x_min:69,x_max:810,o:"m 542 335 q 524 419 542 393 q 474 452 506 446 q 406 457 443 458 l 369 456 l 369 228 q 368 157 369 190 q 364 106 367 124 l 550 106 q 631 124 592 106 q 694 187 669 143 q 719 306 719 231 l 810 306 l 803 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 551 l 532 551 l 526 672 l 633 672 l 633 335 l 542 335 m 278 1286 q 328 1272 311 1288 q 353 1238 346 1257 q 360 1208 360 1219 q 356 1182 360 1196 q 346 1153 353 1168 q 397 1132 367 1139 q 460 1125 428 1125 q 522 1132 492 1125 q 572 1153 553 1139 q 558 1208 558 1181 q 565 1238 558 1219 q 590 1272 572 1257 q 640 1286 608 1288 q 699 1259 681 1286 q 718 1199 718 1232 q 682 1119 718 1151 q 588 1072 646 1088 q 460 1056 529 1056 q 331 1072 390 1056 q 237 1119 272 1088 q 201 1199 201 1151 q 219 1259 201 1232 q 278 1286 238 1286 z "},Ó:{ha:1035,x_min:63,x_max:986,o:"m 506 -22 q 298 20 383 -22 q 161 132 213 63 q 86 286 110 201 q 63 456 63 371 q 64 498 63 476 q 68 540 65 519 l 764 544 q 740 667 758 606 q 687 778 721 728 q 599 858 653 828 q 468 888 546 888 q 348 865 403 888 q 256 797 293 843 q 207 681 219 751 l 115 681 l 115 985 l 222 985 l 218 926 q 308 964 256 949 q 413 987 361 979 q 501 994 465 994 q 732 950 639 994 q 881 831 825 906 q 961 667 936 757 q 986 486 986 576 q 957 300 986 390 q 869 137 928 210 q 719 21 810 64 q 506 -22 629 -22 m 536 79 q 642 113 599 82 q 712 196 685 144 q 752 310 739 247 q 768 436 765 372 l 281 436 q 297 296 281 361 q 346 181 314 231 q 426 105 378 132 q 536 79 474 78 z "},Ó:{ha:1035,x_min:63,x_max:986,o:"m 506 -22 q 298 20 383 -22 q 161 132 213 63 q 86 286 110 201 q 63 456 63 371 q 64 498 63 476 q 68 540 65 519 l 764 544 q 740 667 758 606 q 687 778 721 728 q 599 858 653 828 q 468 888 546 888 q 348 865 403 888 q 256 797 293 843 q 207 681 219 751 l 115 681 l 115 985 l 222 985 l 218 926 q 308 964 256 949 q 413 987 361 979 q 501 994 465 994 q 732 950 639 994 q 881 831 825 906 q 961 667 936 757 q 986 486 986 576 q 957 300 986 390 q 869 137 928 210 q 719 21 810 64 q 506 -22 629 -22 m 536 79 q 642 113 599 82 q 712 196 685 144 q 752 310 739 247 q 768 436 765 372 l 281 436 q 297 296 281 361 q 346 181 314 231 q 426 105 378 132 q 536 79 474 78 m 383 1107 q 318 1138 346 1107 q 290 1211 290 1168 q 319 1287 290 1256 q 385 1318 347 1318 q 450 1287 424 1318 q 476 1211 476 1256 q 449 1138 476 1168 q 383 1107 421 1107 m 625 1107 q 561 1138 589 1107 q 533 1211 533 1168 q 562 1287 533 1256 q 626 1318 590 1318 q 692 1287 667 1318 q 718 1211 718 1256 q 690 1138 718 1168 q 625 1107 663 1107 z "},Ó:{ha:1440,x_min:1,x_max:1439,o:"m 1 0 l 1 92 q 65 114 33 93 q 126 169 96 135 q 185 242 157 203 l 328 443 q 365 487 343 467 q 414 524 388 507 l 247 739 q 165 826 203 796 q 96 867 128 856 q 32 881 64 879 l 32 972 l 353 972 l 353 865 q 313 867 339 867 q 265 869 288 868 q 314 819 283 856 q 383 731 344 782 l 522 549 l 621 549 l 621 744 q 622 817 621 782 q 626 869 624 851 q 570 867 604 868 q 521 865 536 867 l 521 972 l 919 972 l 919 881 q 867 872 889 879 q 833 841 844 865 q 821 760 821 817 l 821 549 l 924 549 l 1064 731 q 1122 806 1101 779 q 1156 847 1143 832 q 1181 871 1168 861 q 1133 868 1158 869 q 1092 865 1107 867 l 1092 972 l 1410 972 l 1410 881 q 1346 867 1379 879 q 1276 826 1313 856 q 1194 739 1239 796 l 1028 525 q 1076 487 1056 507 q 1114 443 1097 467 l 1257 242 q 1316 169 1286 203 q 1377 114 1346 135 q 1439 92 1408 93 l 1439 0 l 1225 0 q 1189 25 1214 1 q 1136 82 1164 49 q 1090 142 1108 115 l 953 342 q 912 396 933 368 q 871 438 890 424 l 821 438 l 821 228 q 819 156 821 190 q 815 103 818 121 q 872 106 839 106 q 919 107 906 107 l 919 0 l 521 0 l 521 92 q 575 100 553 93 q 609 132 597 107 q 621 213 621 157 l 621 438 l 571 438 q 530 396 551 424 q 489 342 508 368 l 351 142 q 306 82 333 115 q 253 25 278 49 q 217 0 228 1 l 1 0 m 596 1107 q 531 1138 558 1107 q 503 1211 503 1168 q 531 1287 503 1256 q 597 1318 560 1318 q 663 1287 636 1318 q 689 1211 689 1256 q 661 1138 689 1168 q 596 1107 633 1107 m 838 1107 q 774 1138 801 1107 q 746 1211 746 1168 q 774 1287 746 1256 q 839 1318 803 1318 q 905 1287 879 1318 q 931 1211 931 1256 q 903 1138 931 1168 q 838 1107 875 1107 z "},Ó:{ha:901,x_min:42,x_max:863,o:"m 474 -22 q 331 -9 407 -22 q 180 49 254 4 q 42 186 106 93 l 110 244 q 249 127 168 164 q 422 90 331 90 q 528 110 478 90 q 611 171 579 129 q 643 279 643 213 q 620 376 643 336 q 561 438 597 417 q 485 458 525 458 l 308 458 l 308 557 l 433 557 q 526 579 490 557 q 578 640 561 601 q 594 725 594 678 q 556 853 594 811 q 440 894 517 894 q 295 835 349 894 q 211 661 242 776 l 121 661 l 121 985 l 228 985 l 222 922 q 317 966 276 950 q 395 988 357 982 q 482 994 433 994 q 653 966 582 997 q 763 879 725 935 q 800 754 800 824 q 747 615 800 674 q 600 526 694 556 l 600 522 q 795 440 728 503 q 863 278 863 376 q 828 152 863 208 q 738 56 794 96 q 613 -3 682 17 q 474 -22 544 -24 m 322 1107 q 257 1138 285 1107 q 229 1211 229 1168 q 258 1287 229 1256 q 324 1318 286 1318 q 389 1287 363 1318 q 415 1211 415 1256 q 388 1138 415 1168 q 322 1107 360 1107 m 564 1107 q 500 1138 528 1107 q 472 1211 472 1168 q 501 1287 472 1256 q 565 1318 529 1318 q 631 1287 606 1318 q 657 1211 657 1256 q 629 1138 657 1168 q 564 1107 601 1107 z "},Ó :{ha:901,x_min:42,x_max:863,o:"m 524 575 q 714 547 639 586 q 826 439 789 507 q 863 296 863 371 q 828 160 863 219 q 734 59 793 100 q 600 -3 675 18 q 443 -22 525 -24 q 361 -16 410 -22 q 257 11 313 -10 q 146 74 201 32 q 42 186 90 115 l 110 244 q 255 127 168 164 q 426 90 342 90 q 536 110 488 90 q 614 178 585 131 q 643 303 643 225 q 602 444 643 392 q 478 497 561 497 l 357 497 l 357 546 l 524 575 m 513 738 q 580 818 553 789 q 638 875 607 847 l 372 882 q 246 837 296 885 q 196 676 196 789 l 104 676 l 113 972 l 819 972 l 819 868 l 563 546 l 357 546 l 513 738 z "},Ó¢:{ha:1138,x_min:69,x_max:1068,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 1068 881 q 1015 872 1038 879 q 981 841 993 865 q 969 760 969 817 l 969 228 q 968 156 969 190 q 964 103 967 121 q 1020 106 986 106 q 1068 107 1054 107 l 1068 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 744 q 770 817 768 782 q 774 869 772 851 q 718 867 751 868 q 669 865 685 867 l 669 972 l 1068 972 l 1068 881 m 875 931 l 942 864 l 249 40 l 178 111 l 875 931 m 369 1149 l 369 1282 l 764 1282 l 764 1154 l 369 1149 z "},Ó¤:{ha:1138,x_min:69,x_max:1068,o:"m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 1068 881 q 1015 872 1038 879 q 981 841 993 865 q 969 760 969 817 l 969 228 q 968 156 969 190 q 964 103 967 121 q 1020 106 986 106 q 1068 107 1054 107 l 1068 0 l 669 0 l 669 92 q 723 100 701 93 q 756 132 744 107 q 768 213 768 157 l 768 744 q 770 817 768 782 q 774 869 772 851 q 718 867 751 868 q 669 865 685 867 l 669 972 l 1068 972 l 1068 881 m 875 931 l 942 864 l 249 40 l 178 111 l 875 931 m 446 1107 q 381 1138 408 1107 q 353 1211 353 1168 q 381 1287 353 1256 q 447 1318 410 1318 q 513 1287 486 1318 q 539 1211 539 1256 q 511 1138 539 1168 q 446 1107 483 1107 m 688 1107 q 624 1138 651 1107 q 596 1211 596 1168 q 624 1287 596 1256 q 689 1318 653 1318 q 755 1287 729 1318 q 781 1211 781 1256 q 753 1138 781 1168 q 688 1107 725 1107 z "},Ó¦:{ha:1068,x_min:49,x_max:1019,o:"m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 413 1107 q 347 1138 375 1107 q 319 1211 319 1168 q 348 1287 319 1256 q 414 1318 376 1318 q 479 1287 453 1318 q 506 1211 506 1256 q 478 1138 506 1168 q 413 1107 450 1107 m 654 1107 q 590 1138 618 1107 q 563 1211 563 1168 q 591 1287 563 1256 q 656 1318 619 1318 q 722 1287 696 1318 q 747 1211 747 1256 q 719 1138 747 1168 q 654 1107 692 1107 z "},Ó¨:{ha:1068,x_min:49,x_max:1019,o:"m 258 433 l 258 543 l 821 543 l 821 438 l 258 433 m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 z "},Óª:{ha:1068,x_min:49,x_max:1019,o:"m 258 433 l 258 543 l 821 543 l 821 438 l 258 433 m 532 -22 q 308 22 400 -22 q 158 141 215 67 q 75 306 101 215 q 49 486 49 396 q 78 663 49 574 q 169 828 108 753 q 321 949 229 903 q 536 994 413 994 q 754 949 663 994 q 904 827 846 903 q 991 663 963 751 q 1019 486 1019 574 q 990 311 1019 400 q 899 147 960 222 q 747 24 839 71 q 532 -22 656 -22 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 800 463 800 399 q 783 638 800 558 q 732 774 767 717 q 644 863 697 832 q 518 893 590 894 q 399 855 447 892 q 321 760 350 818 q 279 635 292 703 q 267 503 267 567 q 281 364 267 438 q 328 225 296 290 q 414 119 360 160 q 547 79 468 79 m 413 1107 q 347 1138 375 1107 q 319 1211 319 1168 q 348 1287 319 1256 q 414 1318 376 1318 q 479 1287 453 1318 q 506 1211 506 1256 q 478 1138 506 1168 q 413 1107 450 1107 m 654 1107 q 590 1138 618 1107 q 563 1211 563 1168 q 591 1287 563 1256 q 656 1318 619 1318 q 722 1287 696 1318 q 747 1211 747 1256 q 719 1138 747 1168 q 654 1107 692 1107 z "},Ó¬:{ha:957,x_min:21,x_max:908,o:"m 425 -22 q 300 -8 368 -22 q 160 53 232 7 q 21 193 89 100 l 88 254 q 224 132 144 174 q 390 90 304 90 q 558 143 492 90 q 657 288 624 196 q 690 500 690 381 q 676 646 690 575 q 629 772 661 717 q 546 861 597 828 q 422 894 494 894 q 260 840 325 893 q 175 681 194 788 l 83 681 l 83 985 l 190 985 l 188 921 q 310 976 243 957 q 440 994 378 994 q 650 953 561 994 q 796 842 739 913 q 881 683 853 772 q 908 500 908 594 q 875 302 908 396 q 779 135 842 208 q 627 20 717 63 q 425 -22 538 -22 m 250 329 l 250 681 l 357 681 q 354 622 356 654 q 350 560 353 589 l 724 560 l 724 450 l 478 451 q 410 445 440 451 q 360 413 379 439 q 342 329 342 388 l 250 329 m 332 1107 q 267 1138 294 1107 q 239 1211 239 1168 q 267 1287 239 1256 q 333 1318 296 1318 q 399 1287 372 1318 q 425 1211 425 1256 q 397 1138 425 1168 q 332 1107 369 1107 m 574 1107 q 510 1138 538 1107 q 482 1211 482 1168 q 510 1287 482 1256 q 575 1318 539 1318 q 641 1287 615 1318 q 667 1211 667 1256 q 639 1138 667 1168 q 574 1107 611 1107 z "},Ó®:{ha:914,x_min:3,x_max:876,o:"m 268 -22 q 185 -5 224 -22 q 122 44 146 13 q 99 115 99 75 q 124 194 99 158 q 204 231 149 231 q 276 205 251 231 q 300 144 300 179 q 295 114 300 129 q 279 83 290 99 q 287 76 282 79 q 299 74 292 74 q 375 128 335 74 q 399 165 388 146 q 422 213 410 185 q 451 284 435 242 q 491 388 468 326 q 546 538 514 450 q 621 743 578 625 q 650 815 636 782 q 682 871 664 849 l 575 865 l 575 972 l 876 972 l 876 881 q 821 870 844 881 q 778 831 797 860 q 738 749 758 803 l 535 214 q 451 62 496 113 q 360 -6 407 11 q 268 -22 314 -22 m 453 218 l 124 733 q 88 806 104 765 q 71 869 71 847 l 3 865 l 3 972 l 413 972 l 413 881 q 346 872 372 883 q 314 837 319 861 q 331 774 308 813 l 446 574 q 494 496 467 539 q 535 429 522 453 l 453 218 m 289 1149 l 289 1282 l 683 1282 l 683 1154 l 289 1149 z "},Ó°:{ha:914,x_min:3,x_max:876,o:"m 268 -22 q 185 -5 224 -22 q 122 44 146 13 q 99 115 99 75 q 124 194 99 158 q 204 231 149 231 q 276 205 251 231 q 300 144 300 179 q 295 114 300 129 q 279 83 290 99 q 287 76 282 79 q 299 74 292 74 q 375 128 335 74 q 399 165 388 146 q 422 213 410 185 q 451 284 435 242 q 491 388 468 326 q 546 538 514 450 q 621 743 578 625 q 650 815 636 782 q 682 871 664 849 l 575 865 l 575 972 l 876 972 l 876 881 q 821 870 844 881 q 778 831 797 860 q 738 749 758 803 l 535 214 q 451 62 496 113 q 360 -6 407 11 q 268 -22 314 -22 m 453 218 l 124 733 q 88 806 104 765 q 71 869 71 847 l 3 865 l 3 972 l 413 972 l 413 881 q 346 872 372 883 q 314 837 319 861 q 331 774 308 813 l 446 574 q 494 496 467 539 q 535 429 522 453 l 453 218 m 606 1111 q 541 1142 568 1111 q 514 1215 514 1172 q 542 1290 514 1258 q 607 1321 569 1321 q 673 1290 647 1321 q 699 1215 699 1258 q 671 1142 699 1172 q 606 1111 643 1111 m 364 1111 q 299 1142 326 1111 q 272 1215 272 1172 q 300 1290 272 1258 q 365 1321 328 1321 q 431 1290 406 1321 q 457 1215 457 1258 q 429 1142 457 1172 q 364 1111 401 1111 z "},Ó²:{ha:914,x_min:3,x_max:876,o:"m 268 -22 q 185 -5 224 -22 q 122 44 146 13 q 99 115 99 75 q 124 194 99 158 q 204 231 149 231 q 276 205 251 231 q 300 144 300 179 q 295 114 300 129 q 279 83 290 99 q 287 76 282 79 q 299 74 292 74 q 375 128 335 74 q 399 165 388 146 q 422 213 410 185 q 451 284 435 242 q 491 388 468 326 q 546 538 514 450 q 621 743 578 625 q 650 815 636 782 q 682 871 664 849 l 575 865 l 575 972 l 876 972 l 876 881 q 821 870 844 881 q 778 831 797 860 q 738 749 758 803 l 535 214 q 451 62 496 113 q 360 -6 407 11 q 268 -22 314 -22 m 453 218 l 124 733 q 88 806 104 765 q 71 869 71 847 l 3 865 l 3 972 l 413 972 l 413 881 q 346 872 372 883 q 314 837 319 861 q 331 774 308 813 l 446 574 q 494 496 467 539 q 535 429 522 453 l 453 218 m 590 1036 l 546 1107 l 703 1249 q 785 1291 742 1283 q 849 1264 828 1299 q 856 1219 864 1242 q 829 11
480676 849 1196 q 786 1143 810 1157 l 590 1036 m 388 1038 l 325 1094 l 443 1268 q 507 1324 469 1306 q 574 1318 544 1342 q 594 1276 594 1300 q 582 1228 594 1251 q 550 1186 569 1204 l 388 1038 z "},Ó´:{ha:1024,x_min:28,x_max:954,o:"m 556 0 l 556 92 q 609 100 588 93 q 642 132 631 107 q 654 213 654 157 l 654 431 q 537 376 600 399 q 401 353 474 353 q 199 423 271 353 q 126 649 128 493 q 127 765 126 721 q 129 834 128 810 q 132 869 131 858 q 76 867 110 868 q 28 865 43 867 l 28 972 l 426 972 l 426 881 q 368 871 389 879 q 339 840 347 863 q 329 772 331 817 q 328 653 328 728 q 347 559 329 596 q 400 504 364 522 q 490 486 436 486 q 588 501 551 486 q 654 538 624 517 l 654 744 q 656 817 654 782 q 660 869 658 851 q 604 867 638 868 q 556 865 571 867 l 556 972 l 954 972 l 954 881 q 901 872 924 879 q 867 841 879 865 q 856 760 856 817 l 856 228 q 854 156 856 190 q 850 103 853 121 q 906 106 872 106 q 954 107 940 107 l 954 0 l 556 0 m 626 1111 q 562 1142 589 1111 q 535 1215 535 1172 q 563 1290 535 1258 q 628 1321 590 1321 q 694 1290 668 1321 q 719 1215 719 1258 q 692 1142 719 1172 q 626 1111 664 1111 m 385 1111 q 320 1142 347 1111 q 293 1215 293 11
480672 q 321 1290 293 1258 q 386 1321 349 1321 q 452 1290 426 1321 q 478 1215 478 1258 q 450 1142 478 1172 q 385 1111 422 1111 z "},Ó¸:{ha:1335,x_min:69,x_max:1265,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 565 l 446 568 q 649 549 571 572 q 770 482 728 525 q 829 385 813 439 q 846 276 846 332 q 802 124 846 186 q 682 31 758 63 q 508 0 606 0 l 69 0 m 364 99 q 398 99 381 99 q 432 99 415 99 q 465 100 449 100 q 558 126 522 103 q 610 192 593 150 q 626 288 626 233 q 603 396 626 357 q 540 451 581 435 q 447 468 500 468 q 408 468 428 468 q 369 465 389 468 q 369 313 369 375 q 369 209 369 250 q 367 142 368 168 q 364 99 367 117 m 867 0 l 867 92 q 920 100 899 93 q 953 132 942 107 q 965 213 965 157 l 965 744 q 967 817 965 782 q 971 869 969 851 q 915 867 949 868 q 867 865 882 867 l 867 972 l 1265 972 l 1265 881 q 1213 872 1235 879 q 1178 841 1190 865 q 1167 760 1167 817 l 1167 228 q 1165 156 1167 190 q 1161 103 1164 121 q 1217 106 1183 106 q 1265 107 1251 107 l 1265 0 l 867 0 m 785 1111 q 720 1142 747 1111 q 693 1215 693 1172 q 721 1290 693 1258 q 786 1321 749 1321 q 852 1290 826 1321 q 878 1215 878 1258 q 850 1142 878 1172 q 785 1111 822 1111 m 543 1111 q 478 1142 506 1111 q 451 1215 451 1172 q 479 1290 451 1258 q 544 1321 507 1321 q 610 1290 585 1321 q 636 1215 636 1258 q 608 1142 636 1172 q 543 1111 581 1111 z "},"Óº":{ha:793,x_min:33,x_max:772,o:"m 217 -318 q 145 -315 189 -318 q 33 -294 101 -312 l 56 -207 q 101 -215 81 -212 q 143 -217 121 -217 q 208 -197 178 -217 q 260 -128 239 -176 q 286 0 282 -81 l 488 0 q 410 -229 478 -140 q 217 -318 342 -318 m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 772 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 m 40 421 l 40 531 l 561 531 l 561 425 l 40 421 z "},"Ó¼":{ha:957,x_min:19,x_max:943,o:"m 700 -329 l 656 -250 q 745 -183 717 -219 q 774 -103 774 -146 q 751 -16 774 -62 q 683 85 728 31 q 638 141 661 113 q 592 197 615 169 q 547 253 569 225 q 501 309 524 281 q 456 365 479 338 q 394 281 425 324 q 332 197 363 239 q 288 139 303 158 q 256 101 272 119 q 310 106 279 104 q 354 107 340 107 l 354 0 l 49 0 l 49 92 q 129 137 89 101 q 221 240 169 172 l 382 456 l 158 739 q 118 803 136 768 q 89 869 100 839 q 51 867 67 868 q 19 865 35 867 l 19 972 l 442 972 l 442 881 l 428 881 q 368 868 385 881 q 356 834 351 856 q 382 786 361 813 q 444 708 414 747 q 506 629 475 669 l 611 775 q 658 834 640 815 q 693 869 675 853 q 638 867 671 868 q 589 865 604 867 l 589 972 l 904 972 l 904 881 q 841 858 872 876 q 778 808 810 840 q 708 724 746 775 l 575 542 q 661 433 618 488 q 747 324 704 378 q 833 214 790 269 q 916 79 889 143 q 943 -42 943 15 q 881 -201 943 -129 q 700 -329 819 -272 z "},"Ó¾":{ha:971,x_min:19,x_max:965,o:"m 124 442 l 124 551 l 853 551 l 853 446 l 124 442 m 49 0 l 49 92 q 129 137 89 101 q 221 240 169 172 l 382 456 q 271 597 326 526 q 158 739 215 668 q 118 803 136 768 q 89 869 100 839 q 51 867 67 868 q 19 865 35 867 l 19 972 l 442 972 l 442 881 l 428 881 q 368 868 385 881 q 356 834 351 856 q 382 786 361 813 q 444 708 414 747 q 506 629 475 669 l 611 775 q 658 834 640 815 q 693 869 675 853 q 638 867 671 868 q 589 865 604 867 l 589 972 l 904 972 l 904 881 q 841 858 872 876 q 778 808 810 840 q 708 724 746 775 l 575 542 q 663 431 619 486 q 749 319 706 375 q 836 208 793 264 q 879 153 860 179 q 908 103 899 126 q 942 106 932 106 q 965 107 951 107 l 965 0 l 550 0 l 550 92 q 617 104 601 92 q 624 138 632 117 q 596 186 617 160 q 526 276 561 231 q 454 365 490 321 q 393 281 424 324 q 332 197 363 239 q 288 139 303 158 q 256 103 272 119 q 310 106 279 104 q 354 107 340 107 l 354 0 l 49 0 z "},"Ô":{ha:915,x_min:56,x_max:876,o:"m 458 -22 q 317 -8 388 -24 q 187 42 246 8 q 92 128 128 76 q 56 250 56 181 q 84 378 56 322 q 163 470 113 433 q 281 522 214 507 q 176 567 218 538 q 112 639 133 597 q 90 733 90 681 q 133 863 90 803 q 253 960 176 924 q 431 994 331 997 q 560 976 504 994 q 674 922 615 958 l 671 985 l 778 985 l 778 675 l 688 675 q 603 838 657 781 q 458 894 550 894 q 339 853 382 894 q 296 725 296 811 q 318 640 296 678 q 381 579 340 601 q 478 557 422 557 l 603 557 l 603 458 l 426 458 q 321 412 367 458 q 275 279 275 365 q 307 171 275 213 q 390 110 339 129 q 496 90 440 90 q 669 127 588 90 q 808 244 750 164 l 876 186 q 773 74 829 115 q 660 11 717 32 q 551 -16 603 -10 q 458 -22 499 -22 z "},"Ô":{ha:1093,x_min:29,x_max:1024,o:"m 653 -318 q 581 -315 625 -318 q 469 -294 538 -312 l 492 -207 q 537 -215 517 -212 q 579 -217 557 -217 q 649 -193 615 -217 q 703 -114 682 -169 q 724 36 724 -58 l 724 868 l 613 864 q 543 845 565 863 q 519 782 521 828 q 497 468 515 603 q 447 240 478 333 q 376 88 417 146 q 290 4 336 31 q 194 -22 243 -22 q 74 10 119 -22 q 29 101 29 42 q 56 187 29 150 q 143 224 83 224 q 214 197 192 224 q 236 133 236 171 q 225 94 236 110 q 246 90 232 90 q 308 153 271 90 q 376 351 346 215 q 413 708 407 488 l 417 869 l 375 868 l 257 865 l 257 972 l 1024 972 l 1024 881 q 971 872 993 879 q 937 841 949 865 q 925 760 925 817 l 925 47 q 894 -141 925 -58 q 803 -271 864 -224 q 653 -318 743 -318 z "},"Ô":{ha:1069,x_min:50,x_max:1103,o:"m 1043 -303 q 941 -298 979 -303 q 873 -277 903 -293 q 804 -228 843 -261 q 703 -128 746 -175 q 619 -52 661 -82 q 519 -22 578 -22 q 302 23 392 -22 q 157 142 213 68 q 76 307 101 217 q 50 486 50 397 q 80 663 50 574 q 170 828 110 753 q 322 949 231 903 q 538 994 414 994 q 756 949 664 994 q 906 827 847 903 q 992 663 964 751 q 1019 486 1019 574 q 1000 345 1019 417 q 942 208 981 274 q 844 90 903 142 q 707 7 785 38 q 778 1 747 7 q 840 -20 810 -4 q 907 -71 871 -36 q 984 -143 956 -115 q 1031 -185 1013 -171 q 1065 -205 1049 -200 q 1103 -210 1081 -210 l 1103 -303 l 1043 -303 m 547 79 q 668 115 619 79 q 746 207 717 150 q 788 331 775 264 q 801 463 801 399 q 785 638 801 558 q 733 774 768 717 q 645 863 699 832 q 519 893 592 894 q 399 855 447 892 q 322 760 350 818 q 281 635 293 703 q 268 503 268 567 q 283 364 268 438 q 329 225 297 290 q 415 119 361 160 q 547 79 468 79 z "},"Ô":{ha:1411,x_min:18,x_max:1413,o:"m 379 -8 l 132 740 q 110 814 118 781 q 103 869 103 847 q 56 867 76 868 q 18 865 36 867 l 18 972 l 428 972 l 428 881 q 352 861 376 882 q 346 776 328 840 q 388 618 367 697 q 429 460 408 539 q 452 371 442 413 q 475 263 463 329 l 476 263 q 493 322 482 282 q 517 409 504 363 q 541 494 531 456 q 556 547 551 532 q 599 689 578 618 q 642 831 621 760 q 685 972 664 901 l 810 972 q 849 844 829 908 q 889 717 869 781 q 928 589 908 653 q 968 461 949 525 q 995 363 983 414 q 1018 261 1007 313 l 1019 261 q 1045 353 1032 306 q 1072 453 1058 401 q 1092 525 1082 489 q 1111 598 1101 561 q 1131 671 1121 635 q 1150 743 1140 707 q 1172 812 1158 776 q 1207 869 1186 847 q 1150 867 1185 868 q 1100 865 1115 867 l 1100 972 l 1413 972 l 1413 881 q 1355 865 1382 879 q 1306 818 1328 850 q 1265 732 1283 786 q 1153 363 1210 547 q 1039 -8 1096 178 l 915 -8 l 751 489 q 722 595 733 543 q 699 694 710 647 q 682 603 692 647 q 658 513 672 560 l 500 -8 l 379 -8 z "},Ò:{ha:881,x_min:40,x_max:846,o:"m 40 676 l 40 786 l 561 786 l 561 681 l 40 676 m 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 565 l 446 568 q 649 549 571 572 q 770 482 728 525 q 829 385 813 439 q 846 276 846 332 q 802 124 846 186 q 682 31 758 63 q 508 0 606 0 l 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 m 369 221 q 368 150 369 183 q 364 99 367 117 q 398 99 381 99 q 432 99 415 99 q 465 100 449 100 q 588 155 550 104 q 626 288 626 206 q 603 39
48066 626 357 q 540 451 581 435 q 447 468 500 468 q 408 468 428 468 q 369 465 389 468 l 369 221 z "},Ò:{ha:888,x_min:69,x_max:867,o:"m 647 239 l 428 593 l 496 633 l 711 278 l 647 239 m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 677 943 586 976 q 817 840 768 910 q 864 660 867 771 q 838 551 863 604 q 764 453 813 497 q 642 382 715 410 q 469 351 568 354 q 416 350 439 350 q 369 351 393 350 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 l 69 92 m 369 456 q 400 453 385 454 q 432 451 415 451 q 556 477 508 451 q 626 552 604 503 q 649 672 649 601 q 630 783 649 742 q 582 845 611 825 q 521 872 553 865 q 463 878 489 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 456 z "},"Ô¨":{ha:1121,x_min:-86,x_max:1051,o:"m 97 -318 q 26 -315 69 -318 q -86 -294 -18 -312 l -64 -207 q -19 -215 -39 -212 q 24 -217 1 -217 q 93 -194 60 -217 q 147 -116 126 -171 q 168 33 168 -61 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 543 l 751 543 l 751 744 q 753 817 751 782 q 757 869 754 851 q 701 867 735 868 q 653 865 668 867 l 653 972 l 1051 972 l 1051 881 q 999 872 1021 879 q 965 841 976 865 q 953 760 953 817 l 953 228 q 951 156 953 190 q 947 103 950 121 q 1003 106 969 106 q 1051 107 1038 107 l 1051 0 l 653 0 l 653 92 q 706 100 685 93 q 740 132 728 107 q 751 213 751 157 l 751 438 l 369 433 l 369 47 q 339 -141 369 -58 q 248 -271 308 -224 q 97 -318 188 -318 z "},"Ô®":{ha:1093,x_min:29,x_max:1067,o:"m 919 107 l 1067 108 l 1067 -254 l 976 -254 q 965 -106 978 -161 q 926 -25 951 -50 q 864 0 900 0 l 625 0 l 625 92 q 678 100 657 93 q 712 132 700 107 q 724 213 724 157 l 724 868 l 613 864 q 543 845 565 863 q 519 782 521 828 q 497 468 515 603 q 447 240 478 333 q 376 88 417 146 q 290 4 336 31 q 194 -22 243 -22 q 74 10 119 -22 q 29 101 29 42 q 56 187 29 150 q 143 224 83 224 q 214 197 192 224 q 236 133 236 171 q 225 94 236 110 q 246 90 232 90 q 292 125 265 90 q 344 234 318 160 q 389 426 369 308 q 413 708 408 543 l 417 869 l 382 868 l 257 865 l 257 972 l 1024 972 l 1024 881 q 971 872 993 879 q 937 841 949 865 q 925 760 925 817 l 925 228 q 924 160 925 193 q 919 107 922 126 z "},а:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 z "},б:{ha:786,x_min:57,x_max:743,o:"m 403 -22 q 225 28 303 -22 q 102 181 147 79 q 57 435 57 283 q 76 624 57 528 q 135 798 96 719 q 235 914 175 876 q 358 967 294 953 q 476 990 421 982 q 565 1013 532 997 q 594 1032 582 1021 q 621 1069 606 1043 l 686 1047 q 657 936 671 976 q 624 875 643 896 q 574 842 604 854 q 502 830 538 832 q 424 824 467 828 q 326 801 382 819 q 208 703 257 779 q 143 496 158 626 l 149 496 q 266 627 189 586 q 425 669 343 668 q 587 633 515 669 q 701 528 658 597 q 743 360 743 458 q 699 157 743 243 q 578 24 656 71 q 403 -22 501 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 524 440 538 382 q 479 535 511 497 q 390 572 447 574 q 313 540 343 571 q 269 464 283 510 q 254 369 254 418 q 271 231 254 299 q 320 119 288 163 q 403 76 353 75 z "},в:{ha:804,x_min:58,x_max:760,o:"m 58 0 l 58 90 q 119 103 96 92 q 142 175 142 115 l 142 518 q 142 569 142 544 q 144 607 143 593 q 99 605 128 606 q 58 604 69 604 l 60 694 q 199 695 129 694 q 338 696 268 696 q 476 696 407 696 q 655 655 596 696 q 714 531 714 614 q 685 433 714 475 q 589 368 657 392 q 719 304 679 350 q 760 196 760 258 q 726 88 760 132 q 632 22 692 44 q 496 0 572 0 l 58 0 m 329 94 q 375 94 350 94 q 423 95 400 94 q 460 96 446 96 q 542 127 517 99 q 568 200 568 156 q 531 285 568 263 q 449 308 493 308 q 389 308 418 308 q 338 307 360 308 l 338 178 q 335 132 338 153 q 329 94 332 111 m 338 393 l 403 394 q 486 413 458 397 q 524 454 514 428 q 533 515 533 481 q 519 573 533 553 q 475 601 504 593 q 401 608 446 610 q 356 598 375 608 q 338 540 338 588 l 338 393 z "},г:{ha:689,x_min:58,x_max:644,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 639 694 l 644 442 l 554 442 q 541 531 554 500 q 501 574 528 563 q 432 586 474 586 l 340 586 l 340 224 q 339 169 340 204 q 335 101 338 133 l 453 106 l 453 0 l 60 0 z "},Ñ:{ha:689,x_min:58,x_max:644,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 639 694 l 644 442 l 554 442 q 541 531 554 500 q 501 574 528 563 q 432 586 474 586 l 340 586 l 340 224 q 339 169 340 204 q 335 101 338 133 l 453 106 l 453 0 l 60 0 m 294 785 l 231 842 l 344 1036 q 381 1073 360 1060 q 428 1087 403 1086 q 475 1069 453 1088 q 500 1024 497 1050 q 492 974 503 999 q 463 932 482 950 l 294 785 z "},Ò:{ha:690,x_min:58,x_max:646,o:"m 61 0 l 61 90 q 117 106 100 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 149 593 146 563 q 100 590 126 592 q 58 589 74 589 l 58 694 l 432 694 q 501 711 474 694 q 542 760 528 728 q 556 843 556 793 l 646 843 l 640 604 l 422 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 61 0 z "},"Ó·":{ha:689,x_min:58,x_max:644,o:"m 431 -246 q 424 -118 432 -174 q 397 -31 417 -62 q 340 0 376 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 639 694 l 644 442 l 554 442 q 541 531 554 500 q 501 574 528 563 q 432 586 474 586 l 340 586 l 340 224 q 339 169 340 204 q 335 101 338 133 l 532 108 l 532 -246 l 431 -246 z "},Ò:{ha:689,x_min:21,x_max:644,o:"m 21 293 l 21 385 l 479 385 l 479 297 l 21 293 m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 639 694 l 644 442 l 554 442 q 541 531 554 500 q 501 574 528 563 q 432 586 474 586 l 340 586 l 340 224 q 339 169 340 204 q 335 101 338 133 l 453 106 l 453 0 l 60 0 z "},Ò:{ha:761,x_min:47,x_max:747,o:"m 482 -325 q 408 -320 443 -325 q 319 -301 372 -315 l 342 -212 q 385 -221 368 -218 q 428 -224 401 -224 q 495 -199 468 -224 q 537 -118 522 -175 q 551 39 551 -61 q 540 167 551 117 q 501 244 528 218 q 426 269 474 269 q 354 260 392 269 q 285 233 317 250 l 285 336 q 376 365 324 351 q 493 378 428 378 q 642 333 586 378 q 722 214 697 288 q 747 53 747 140 q 730 -92 747 -24 q 678 -212 713 -160 q 595 -295 644 -2
480665 q 482 -325 546 -325 m 49 0 l 49 90 q 105 106 88 90 q 127 149 122 121 q 132 214 132 178 l 132 471 q 133 526 132 490 q 136 593 135 563 q 88 590 114 592 q 47 589 63 589 l 47 694 l 628 694 l 633 442 l 543 442 q 530 531 543 500 q 490 574 517 563 q 421 586 463 586 l 329 586 l 329 224 q 328 169 329 204 q 324 101 326 133 l 442 106 l 442 0 l 49 0 z "},д:{ha:928,x_min:31,x_max:892,o:"m 31 -254 l 31 108 l 101 108 q 158 128 133 108 q 200 183 182 149 q 228 267 215 215 q 252 378 242 318 q 269 496 263 438 q 279 600 276 554 l 147 589 l 147 694 l 836 694 l 836 604 q 780 589 797 604 q 758 546 763 574 q 753 481 753 518 l 753 224 q 751 169 753 204 q 747 103 750 135 l 892 108 l 892 -254 l 800 -254 q 778 -72 803 -144 q 699 0 754 0 l 222 0 q 144 -72 168 0 q 121 -254 119 -144 l 31 -254 m 261 108 l 474 108 q 529 124 513 108 q 551 167 546 139 q 556 232 556 196 l 556 472 q 557 524 556 492 q 561 586 558 557 l 451 586 q 401 574 418 586 q 378 528 383 563 q 358 383 367 443 q 338 279 349 324 q 311 197 326 235 q 289 153 301 175 q 261 108 276 132 z "},е:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 z "},Ñ:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 468 785 l 300 932 q 271 974 282 950 q 263 1024 260 999 q 289 1069 267 1050 q 335 1087 311 1088 q 382 1073 360 1086 q 418 1036 404 1060 l 532 842 l 468 785 z "},Ñ:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 517 833 q 452 864 479 833 q 425 938 425 894 q 453 1012 425 981 q 518 1043 481 1043 q 584 1012 558 1043 q 610 938 610 981 q 582 864 610 894 q 517 833 554 833 m 275 833 q 210 864 238 833 q 183 938 183 894 q 211 1012 183 981 q 276 1043 239 1043 q 342 1012 317 1043 q 368 938 368 981 q 340 864 368 894 q 275 833 313 833 z "},ж:{ha:1235,x_min:25,x_max:1210,o:"m 25 0 l 25 90 q 78 109 54 90 q 122 151 103 128 q 153 188 142 174 q 227 285 196 243 q 284 355 258 326 q 336 396 310 383 l 247 496 q 201 542 228 518 q 137 583 174 565 q 50 606 100 600 l 50 694 l 365 694 l 365 589 l 292 589 q 316 564 304 578 q 346 531 328 550 l 444 415 l 515 415 l 515 471 q 517 526 515 490 q 521 593 518 563 l 451 589 l 451 694 l 782 694 l 782 604 q 735 589 750 604 q 716 546 719 574 q 713 481 713 518 l 713 415 l 793 415 l 892 531 q 922 564 910 550 q 946 590 933 578 l 872 589 l 872 694 l 1186 694 l 1186 606 q 1099 583 1136 600 q 1035 542 1063 565 q 988 496 1008 518 l 899 397 q 940 367 921 386 q 990 310 960 349 q 1038 249 1014 279 q 1083 188 1061 218 q 1113 151 1094 174 q 1157 109 1132 128 q 1210 90 1182 90 l 1210 0 l 1054 0 q 977 31 1011 0 q 900 121 943 63 q 848 192 875 154 q 798 265 821 231 q 761 318 775 299 l 713 317 l 713 224 q 712 169 713 204 q 708 101 711 133 l 782 106 l 782 0 l 446 0 l 446 90 q 494 106 479 90 q 512 149 508 121 q 515 214 515 178 l 515 317 l 475 318 q 438 265 461 299 q 388 192 414 231 q 336 121 361 154 q 259 31 293 63 q 181 0 225 0 l 25 0 z "},з:{ha:731,x_min:58,x_max:686,o:"m 360 -24 q 197 6 264 -22 q 94 76 129 33 q 58 167 58 119 q 83 241 58 210 q 154 272 107 272 q 220 242 200 272 q 240 182 240 211 q 234 153 240 171 q 215 122 228 136 q 271 81 231 96 q 353 67 311 67 q 456 102 418 67 q 493 201 493 138 q 457 298 493 272 q 376 324 421 324 l 269 324 l 269 410 l 350 410 q 420 426 396 410 q 453 469 444 443 q 463 521 463 494 q 426 606 463 582 q 350 629 390 629 q 290 615 324 629 q 231 566 257 601 q 196 464 204 531 l 107 464 l 107 710 l 213 710 l 213 669 q 298 706 253 694 q 386 718 343 717 q 572 676 504 721 q 640 543 640 631 q 610 447 640 488 q 514 382 579 406 q 643 313 600 361 q 686 192 686 264 q 643 74 686 122 q 526 1 600 25 q 360 -24 453 -24 z "},и:{ha:914,x_min:54,x_max:871,o:"m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 z "},й:{ha:914,x_min:54,x_max:871,o:"m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 m 457 806 q 298 844 360 806 q 236 954 236 883 q 256 1016 236 992 q 314 1039 275 1040 q 365 1023 347 1039 q 389 988 382 1007 q 396 957 396 968 q 391 931 394 944 q 379 903 388 918 q 416 880 399 886 q 457 874 433 874 q 499 880 481 874 q 535 903 517 886 q 523 931 526 918 q 518 957 519 944 q 524 988 518 968 q 549 1023 531 1007 q 599 1039 567 1039 q 658 1016 639 1040 q 678 954 678 992 q 616 844 678 883 q 457 806 554 806 z "},Ñ:{ha:914,x_min:54,x_max:871,o:"m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 m 528 785 l 360 932 q 331 974 342 950 q 323 1024 319 999 q 349 1069 326 1050 q 395 1087 371 1088 q 442 1073 419 1086 q 478 1036 464 1060 l 592 842 l 528 785 z "},"Ò":{ha:914,x_min:54,x_max:907,o:"m 706 -254 q 738 -106 728 -161 q 740 -25 747 -50 q 704 0 733 0 l 726 101 l 907 113 l 796 -254 l 706 -254 m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 m 457 806 q 298 844 360 806 q 236 954 236 883 q 256 1016 236 992 q 314 1039 275 1040 q 365 1023 347 1039 q 390 988 383 1007 q 396 957 396 968 q 391 931 394 944 q 379 903 388 918 q 416 880 399 886 q 457 874 433 874 q 499 880 481 874 q 535 903 517 886 q 523 931 526 918 q 518 957 519 944 q 524 988 518 968 q 549 1023 531 1007 q 599 1039 567 1039 q 658 1016 639 1040 q 678 954 678 992 q 616 844 678 883 q 457 806 554 806 z "},к:{ha:825,x_min:33,x_max:800,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 471 q 119 526 118 490 q 124 593 12
48061 563 q 75 590 101 592 q 33 589 49 589 l 33 694 l 397 694 l 397 604 q 341 589 358 604 q 319 546 324 574 q 315 481 315 518 l 315 415 l 382 415 l 482 531 q 512 564 500 550 q 536 589 524 578 l 463 589 l 463 694 l 775 694 l 775 606 q 689 583 726 600 q 624 542 651 565 q 578 496 597 518 l 489 397 q 530 367 510 386 q 579 310 550 349 l 672 188 q 694 161 681 178 q 724 128 707 144 q 760 101 740 113 q 800 90 779 90 l 800 0 l 640 0 q 563 31 596 0 q 486 121 529 63 q 434 192 461 154 q 384 265 407 231 q 347 318 361 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 z "},Ñ:{ha:825,x_min:33,x_max:800,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 471 q 119 526 118 490 q 124 593 121 563 q 75 590 101 592 q 33 589 49 589 l 33 694 l 397 694 l 397 604 q 341 589 358 604 q 319 546 324 574 q 315 481 315 518 l 315 415 l 382 415 l 482 531 q 512 564 500 550 q 536 589 524 578 l 463 589 l 463 694 l 775 694 l 775 606 q 689 583 726 600 q 624 542 651 565 q 578 496 597 518 l 489 397 q 530 367 510 386 q 579 310 550 349 l 672 188 q 694 161 681 178 q 724 128 707 144 q 760 101 740 113 q 800 90 779 90 l 800 0 l 640 0 q 563 31 596 0 q 486 121 529 63 q 434 192 461 154 q 384 265 407 231 q 347 318 361 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 m 379 785 l 315 842 l 429 1036 q 466 1073 444 1060 q 513 1087 488 1086 q 560 1069 538 1088 q 585 1024 582 1050 q 577 974 588 999 q 547 932 567 950 l 379 785 z "},л:{ha:932,x_min:7,x_max:875,o:"m 154 -19 q 49 15 90 -19 q 7 106 7 50 q 33 176 7 151 q 103 200 60 200 q 166 176 147 200 q 185 125 185 153 q 181 98 185 107 q 171 82 176 89 q 185 78 175 78 q 250 140 222 78 q 296 319 278 203 q 324 600 314 436 l 192 589 l 192 694 l 874 694 l 874 604 q 817 589 835 604 q 795 546 800 574 q 790 481 790 518 l 790 224 q 789 169 790 204 q 785 101 788 133 l 875 106 l 875 0 l 510 0 l 510 90 q 566 106 549 90 q 588 149 583 121 q 593 214 593 178 l 593 471 q 594 523 593 490 q 599 585 596 556 l 494 585 q 447 574 461 585 q 431 528 433 563 q 401 286 422 389 q 345 115 379 183 q 263 14 311 47 q 154 -19 215 -19 z "},м:{ha:1111,x_min:39,x_max:1081,o:"m 39 0 l 39 90 q 106 108 83 93 q 133 167 128 124 l 181 529 q 185 565 183 549 q 190 593 186 581 l 81 589 l 81 694 l 351 694 l 511 314 q 536 256 522 288 q 560 196 550 224 q 576 242 568 219 q 593 288 585 264 l 740 694 l 1015 694 l 1015 617 q 951 597 972 615 q 938 542 931 579 l 1000 183 q 1004 101 1008 143 l 1081 106 l 1081 0 l 750 0 l 750 90 q 815 106 794 90 q 828 165 836 121 l 768 492 l 582 0 l 472 0 l 319 364 q 295 426 306 397 q 274 485 285 454 q 271 417 274 450 q 261 340 268 383 l 233 163 q 228 132 232 146 q 221 103 225 118 l 313 106 l 313 0 l 39 0 z "},н:{ha:925,x_min:58,x_max:868,o:"m 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 m 865 604 q 809 589 826 604 q 787 546 792 574 q 782 481 782 518 l 782 224 q 781 169 782 204 q 778 101 781 133 l 868 106 l 868 0 l 501 0 l 501 90 q 558 106 540 90 q 580 149 575 121 q 585 214 585 178 l 585 471 q 586 526 585 490 q 590 593 588 563 l 500 589 l 500 694 l 865 694 l 865 604 m 251 408 l 624 408 l 624 301 l 251 299 l 251 408 z "},о:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 z "},п:{ha:918,x_min:58,x_max:861,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 858 694 l 858 604 q 803 589 821 604 q 781 546 786 574 q 776 481 776 518 l 776 224 q 775 169 776 204 q 771 101 774 133 l 861 106 l 861 0 l 496 0 l 496 90 q 552 106 535 90 q 574 149 569 121 q 579 214 579 178 l 579 472 q 581 524 579 492 q 585 586 582 557 l 424 586 q 367 573 385 586 q 345 537 350 560 q 340 482 340 514 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 z "},Ñ:{ha:835,x_min:33,x_max:790,o:"m 43 -354 l 43 -264 q 99 -249 82 -264 q 122 -205 117 -233 q 126 -140 126 -176 l 126 447 q 128 503 126 472 q 132 565 129 535 q 79 563 110 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 315 708 q 319 674 318 694 q 322 642 321 654 q 419 700 371 683 q 510 717 467 717 q 656 674 593 717 q 755 551 719 631 q 790 365 790 472 q 747 166 790 254 q 627 28 704 78 q 446 -22 550 -22 q 378 -15 408 -22 q 322 3 349 -7 l 322 -131 q 322 -185 322 -150 q 318 -253 321 -221 q 367 -249 340 -250 q 407 -249 393 -249 l 407 -354 l 43 -354 m 424 82 q 523 120 488 83 q 572 217 558 157 q 586 344 586 276 q 571 465 586 408 q 522 558 556 522 q 435 592 489 593 q 371 574 400 590 q 322 531 342 558 q 322 445 322 488 q 322 361 322 403 q 322 277 322 319 q 322 192 322 235 q 322 107 322 150 q 365 89 338 97 q 424 82 393 81 z "},Ñ:{ha:719,x_min:43,x_max:701,o:"m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 z "},Ñ:{ha:726,x_min:21,x_max:706,o:"m 182 0 l 182 90 q 238 106 221 90 q 260 149 256 121 q 265 214 265 178 l 265 471 q 267 523 265 490 q 269 586 268 556 l 235 586 q 142 555 172 586 q 111 442 111 524 l 21 442 l 26 694 l 700 694 l 706 442 l 615 442 q 585 555 615 524 q 492 586 554 586 l 461 586 l 461 224 q 460 169 461 204 q 456 101 458 133 l 546 106 l 546 0 l 182 0 z "},Ñ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 48
48061 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 z "},Ñ:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 389 806 q 230 844 292 806 q 168 954 168 883 q 188 1016 168 992 q 246 1039 207 1040 q 297 1023 279 1039 q 321 988 314 1007 q 328 957 328 968 q 323 931 326 944 q 311 903 319 918 q 348 880 331 886 q 389 874 365 874 q 431 880 413 874 q 467 903 449 886 q 455 931 458 918 q 450 957 451 944 q 456 988 450 968 q 481 1023 463 1007 q 531 1039 499 1039 q 590 1016 571 1040 q 610 954 610 992 q 548 844 610 883 q 389 806 486 806 z "},Ñ:{ha:1108,x_min:43,x_max:1065,o:"m 374 -354 l 374 -264 q 429 -249 413 -264 q 451 -206 446 -233 q 456 -142 456 -178 l 456 785 q 457 842 456 810 q 461 906 458 875 l 364 901 l 364 1007 q 472 1014 428 1007 q 542 1031 515 1021 q 578 1049 568 1040 l 653 1049 l 653 -132 q 651 -186 653 -151 q 647 -253 650 -221 l 738 -249 l 738 -354 l 374 -354 m 358 -22 q 200 21 272 -22 q 85 144 128 64 q 43 335 43 224 q 85 536 43 451 q 205 667 128 621 q 386 714 282 714 q 475 686 432 714 q 554 606 518 658 l 492 529 q 442 593 469 569 q 381 615 415 617 q 298 578 326 615 q 259 484 269 540 q 247 369 249 428 q 256 266 247 318 q 281 170 264 214 q 327 101 299 126 q 396 75 356 75 q 447 85 428 76 q 479 111 465 94 l 538 35 q 453 -10 497 1 q 358 -22 408 -22 m 722 -22 q 633 6 676 -22 q 554 86 590 33 l 617 163 q 665 99 638 122 q 728 76 693 75 q 811 115 783 78 q 850 208 839 151 q 861 322 861 264 q 853 426 861 374 q 827 522 844 478 q 781 591 810 565 q 713 617 753 617 q 662 606 681 615 q 629 581 643 597 l 571 657 q 646 699 604 685 q 750 714 688 714 q 909 671 838 714 q 1023 548 981 628 q 1065 357 1065 468 q 1023 156 1065 242 q 903 24 981 71 q 722 -22 826 -22 z "},Ñ
:{ha:761,x_min:29,x_max:738,o:"m 56 0 l 56 89 q 108 124 83 100 q 161 179 133 147 l 282 318 q 237 372 260 344 q 192 425 214 399 q 146 478 169 451 q 103 533 129 499 q 67 592 76 567 l 29 589 l 29 694 l 336 694 l 336 606 q 302 581 297 604 q 332 529 307 558 l 396 454 l 450 518 q 483 557 467 538 q 518 594 500 576 l 450 589 l 450 694 l 694 694 l 694 606 q 642 578 667 594 q 597 541 618 561 q 556 494 576 521 l 463 381 l 624 193 q 660 149 643 171 q 690 103 676 128 l 738 106 l 738 0 l 410 0 l 410 89 q 456 110 454 92 q 433 157 458 129 l 350 244 l 285 167 q 256 133 278 157 q 222 100 235 110 l 286 106 l 286 0 l 56 0 z "},Ñ:{ha:829,x_min:14,x_max:772,o:"m 407 0 l 407 90 q 463 106 446 90 q 485 149 481 121 q 490 214 490 178 l 490 258 q 419 240 456 246 q 343 233 382 233 q 168 289 232 233 q 99 436 104 344 q 100 523 99 490 q 103 593 101 556 l 14 589 l 14 694 l 361 694 l 361 604 q 311 588 328 603 q 294 525 294 574 q 321 399 297 435 q 411 363 344 363 q 454 365 435 363 q 490 374 474 368 l 490 471 q 492 526 490 490 q 496 593 493 563 l 439 589 l 439 694 l 769 694 l 769 604 q 715 589 732 604 q 692 546 697 574 q 688 481 688 518 l 688 224 q 686 169 688 204 q 682 101 685 133 l 772 106 l 772 0 l 407 0 z "},Ñ:{ha:950,x_min:57,x_max:913,o:"m 822 -254 q 810 -106 824 -161 q 772 -25 797 -50 q 710 0 746 0 l 60 0 l 60 90 q 115 106 99 90 q 137 149 132 121 q 142 214 142 178 l 142 471 q 143 526 142 490 q 147 593 144 563 l 57 589 l 57 694 l 422 694 l 422 604 q 366 589 383 604 q 344 546 349 574 q 339 481 339 518 l 339 222 q 338 170 339 203 q 333 108 336 138 l 494 108 q 551 122 533 108 q 573 158 568 135 q 578 213 578 182 l 578 471 q 579 526 578 490 q 583 593 581 563 l 493 589 l 493 694 l 858 694 l 858 604 q 802 589 819 604 q 780 546 785 574 q 775 481 775 518 l 775 224 q 774 169 775 204 q 771 101 774 133 l 913 108 l 913 -254 l 822 -254 z "},Ñ:{ha:1256,x_min:58,x_max:1199,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 410 694 l 410 604 q 358 589 375 604 q 338 546 342 574 q 333 481 333 518 l 333 224 q 332 172 333 204 q 328 110 331 139 l 450 110 q 506 123 489 110 q 528 160 524 136 q 533 214 533 183 l 533 471 q 535 526 533 490 q 539 593 536 563 l 468 589 l 468 694 l 799 694 l 799 604 q 748 589 764 604 q 728 546 732 574 q 724 481 724 518 l 724 224 q 722 172 724 204 q 718 110 721 140 l 840 110 q 897 123 879 110 q 919 160 914 136 q 924 214 924 183 l 924 471 q 925 526 924 490 q 929 593 926 563 l 860 589 l 860 694 l 1196 694 l 1196 604 q 1141 589 1158 604 q 1119 546 1124 574 q 1114 481 1114 518 l 1114 224 q 1113 169 1114 204 q 1108 101 1111 133 l 1199 106 l 1199 0 l 60 0 z "},Ñ:{ha:1288,x_min:58,x_max:1250,o:"m 1160 -254 q 1148 -106 1161 -161 q 1109 -25 1135 -50 q 1047 0 1083 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 410 694 l 410 604 q 358 589 375 604 q 338 546 342 574 q 333 481 333 518 l 333 224 q 332 172 333 204 q 328 110 331 139 l 450 110 q 506 123 489 110 q 528 160 524 136 q 533 214 533 183 l 533 471 q 535 526 533 490 q 539 593 536 563 l 468 589 l 468 694 l 799 694 l 799 604 q 748 589 764 604 q 728 546 732 574 q 724 481 724 518 l 724 224 q 722 172 724 204 q 718 110 721 140 l 840 110 q 897 123 879 110 q 919 160 914 136 q 924 214 924 183 l 924 471 q 925 526 924 490 q 929 593 926 563 l 860 589 l 860 694 l 1196 694 l 1196 604 q 1141 589 1158 604 q 1119 546 1124 574 q 1114 481 1114 518 l 1114 224 q 1113 169 1114 204 q 1108 101 1111 133 l 1250 108 l 1250 -254 l 1160 -254 z "},Ñ:{ha:918,x_min:58,x_max:861,o:"m 417 -254 q 405 -106 418 -161 q 366 -25 392 -50 q 304 0 340 0 l 456 106 l 507 108 l 507
4806-254 l 417 -254 m 860 694 l 860 604 q 803 589 821 604 q 781 546 786 574 q 776 481 776 518 l 776 224 q 776 169 776 204 q 772 101 775 133 l 861 106 l 861 0 l 61 0 l 61 90 q 117 106 100 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 149 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 222 q 339 170 340 203 q 335 108 338 138 l 496 108 q 552 122 535 108 q 574 158 569 135 q 579 213 579 182 l 579 471 q 581 526 579 490 q 585 593 582 563 l 494 589 l 494 694 l 860 694 z "},Ñ:{ha:790,x_min:58,x_max:733,o:"m 60 0 l 60 90 q 120 103 97 92 q 143 175 143 115 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 419 l 406 422 q 608 400 538 426 q 705 326 678 374 q 732 219 732 278 q 699 96 733 144 q 610 24 665 47 q 489 0 556 0 l 60 0 m 332 94 q 369 94 350 94 q 406 95 388 94 q 439 96 425 96 q 515 128 488 99 q 544 213 543 158 q 513 306 546 275 q 428 336 479 336 q 381 336 404 336 q 340 335 358 336 l 340 178 q 338 132 340 153 q 332 94 335 111 z "},Ñ:{ha:1192,x_min:58,x_max:1135,o:"m 60 0 l 60 90 q 120 103 97 92 q 143 175 143 115 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 344 546 349 574 q 340 481 340 518 l 342 419 l 406 422 q 599 401 531 428 q 693 326 667 374 q 719 219 719 278 q 686 96 719 144 q 597 24 653 47 q 475 0 542 0 l 60 0 m 332 94 q 385 94 361 94 q 435 96 410 94 q 502 128 475 99 q 529 213 529 158 q 500 306 532 275 q 424 336 468 336 q 378 335 396 335 q 340 335 361 336 l 340 178 q 338 132 340 153 q 332 94 335 111 m 769 0 l 769 90 q 826 106 808 90 q 848 149 843 121 q 853 214 853 178 l 853 471 q 854 526 853 490 q 858 593 856 563 q 810 590 836 592 q 768 589 783 589 l 768 694 l 1132 694 l 1132 604 q 1077 589 1094 604 q 1055 546 1060 574 q 1050 481 1050 518 l 1050 224 q 1049 169 1050 204 q 1044 101 1047 133 q 1094 105 1067 104 q 1135 106 1121 106 l 1135 0 l 769 0 z "},Ñ:{ha:896,x_min:21,x_max:863,o:"m 565 604 q 510 589 528 604 q 488 546 493 574 q 483 481 483 518 l 485 419 l 547 422 q 740 400 672 426 q 835 326 808 374 q 861 219 861 278 q 828 96 863 144 q 739 24 794 47 q 617 0 683 0 l 210 0 l 210 90 q 270 103 247 92 q 293 175 293 115 l 293 471 q 294 523 293 490 q 297 586 296 556 l 235 586 q 142 555 172 586 q 111 442 111 524 l 21 442 l 26 694 l 565 694 l 565 604 m 483 178 q 481 132 483 153 q 475 94 478 111 q 512 94 494 94 q 545 94 529 94 q 576 96 561 94 q 644 128 618 99 q 672 213 671 158 q 643 306 675 275 q 567 336 611 336 q 521 335 539 335 q 483 335 503 336 l 483 178 z "},Ñ:{ha:1217,x_min:7,x_max:1183,o:"m 154 -19 q 49 15 90 -19 q 7 106 7 50 q 33 176 7 151 q 103 200 60 200 q 166 176 147 200 q 185 125 185 153 q 181 98 185 107 q 169 82 176 89 q 185 78 176 78 q 234 117 207 78 q 285 251 261 156 q 319 518 310 347 l 324 599 l 194 589 l 194 694 l 874 694 l 874 604 q 817 589 835 604 q 795 546 800 574 q 790 481 790 518 l 790 419 l 856 422 q 1056 400 986 426 q 1154 326 1126 374 q 1182 219 1182 278 q 1149 96 1183 144 q 1058 24 1114 47 q 935 0 1001 0 l 518 0 l 518 90 q 578 103 556 92 q 601 175 601 115 l 601 471 q 602 523 601 490 q 606 585 603 556 l 494 585 q 447 574 461 585 q 429 528 432 563 q 400 286 421 389 q 345 115 379 183 q 263 14 311 47 q 154 -19 215 -19 m 782 94 q 840 94 811 94 q 894 96 869 94 q 966 128 939 99 q 994 213 993 158 q 963 306 996 275 q 885 336 929 336 q 834 335 857 335 q 790 335 811 336 l 790 178 q 788 132 790 153 q 782 94 785 111 z "},Ñ:{ha:1207,x_min:69,x_max:1174,o:"m 864 604 q 808 589 825 604 q 785 546 790 574 q 781 481 781 518 l 781 419 l 846 422 q 1048 400 978 426 q 1145 326 1118 374 q 1172 219 1172 278 q 1140 96 1174 144 q 1051 24 1107 47 q 929 0 996 0 l 508 0 l 508 90 q 568 103 546 92 q 590 175 590 115 l 590 471 q 592 526 590 490 q 596 593 593 563 l 513 589 l 513 694 l 864 694 l 864 604 m 426 604 q 370 589 388 604 q 348 546 353 574 q 343 481 343 518 l 343 224 q 342 169 343 204 q 338 101 340 133 l 415 106 l 415 0 l 71 0 l 71 90 q 127 106 110 90 q 149 149 144 121 q 154 214 154 178 l 154 471 q 156 526 154 490 q 158 593 157 563 l 69 589 l 69 694 l 426 694 l 426 604 m 781 178 q 778 132 781 153 q 772 94 775 111 q 834 94 801 94 q 892 96 867 94 q 972 128 944 99 q 1001 213 1000 158 q 969 306 1003 275 q 881 336 935 336 q 828 335 854 335 q 781 335 801 336 l 781 178 m 263 422 l 643 422 l 643 315 l 263 313 l 263 422 z "},Ñ:{ha:674,x_min:54,x_max:629,o:"m 376 -22 q 260 -7 317 -22 q 171 32 203 8 l 174 -10 l 68 -10 l 63 229 l 153 229 q 186 153 157 188 q 263 98 215 118 q 368 78 310 78 q 413 85 392 78 q 449 108 435 92 q 464 147 464 124 q 445 190 464 174 q 391 222 426 207 q 303 257 356 238 q 216 292 260 274 q 135 335 172 310 q 76 399 99 361 q 54 493 54 438 q 69 573 54 533 q 117 645 85 613 q 198 697 149 678 q 315 717 247 717 q 401 705 353 717 q 482 669 449 693 l 482 710 l 588 710 l 588 464 l 497 464 q 463 547 489 513 q 397 601 438 582 q 307 619 357 619 q 244 603 272 619 q 215 546 215 586 q 238 495 215 514 q 299 464 260 476 q 385 435 338 451 q 510 379 456 411 q 597 302 565 347 q 629 192 629 257 q 593 72 629 119 q 499 1 557 25 q 376 -22 442 -22 z "},Ñ:{ha:719,x_min:43,x_max:701,o:"m 176 293 l 176 389 l 501 389 l 500 301 l 176 293 m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 z "},Ñ:{ha:744,x_min:49,x_max:701,o:"m 340 -22 q 188 4 253 -22 q 85 72 122 31 q 49 158 49 114 q 73 232 49 201 q 142 263 97 263 q 215 232 194 263 q 236 172 236 201 q 232 143 236 160 q 219 111 228 126 q 257 84 236 93 q 299 73 278 75 q 340 71 321 71 q 462 140 419 74 q 504 329 504 207 q 461 543 504 479 q 335 607 418 607 q 249 588 289 607 q 183 536 210 568 q 150 464 157 504 l 61 464 l 61 710 l 167 710 l 165 640 q 271 697 210 678 q 386 715 332 715 q 539 675 467 715 q 656 556 611 635 q 701 3
480663 701 478 q 680 220 701 289 q 614 97 658 151 q 501 10 569 42 q 340 -22 433 -22 m 185 311 l 185 407 l 510 407 l 518 319 l 185 311 z "},Ñ:{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 231 818 q 153 851 183 818 q 122 932 122 885 q 154 1013 122 979 q 229 1046 186 1046 q 303 1013 274 1046 q 333 932 333 979 q 306 851 333 885 q 231 818 278 818 z "},Ñ:{ha:454,x_min:14,x_max:440,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 m 347 833 q 283 864 310 833 q 256 938 256 894 q 283 1012 256 981 q 349 1043 311 1043 q 415 1012 389 1043 q 440 938 440 981 q 413 864 440 894 q 347 833 385 833 m 106 833 q 41 864 68 833 q 14 938 14 894 q 42 1012 14 981 q 107 1043 69 1043 q 173 1012 147 1043 q 199 938 199 981 q 171 864 199 894 q 106 833 143 833 z "},Ñ:{ha:419,x_min:-122,x_max:326,o:"m 29 -376 q -85 -341 -49 -376 q -122 -262 -122 -306 q -99 -198 -122 -226 q -35 -168 -76 -169 q 26 -190 3 -167 q 50 -250 50 -214 q 49 -261 50 -256 q 47 -274 49 -267 q 71 -279 56 -279 q 109 -262 97 -279 q 125 -219 121 -244 q 129 -175 129 -194 l 125 444 q 126 502 125 469 q 131 565 128 535 q 78 563 108 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 322 708 l 322 3 q 284 -210 322 -125 q 179 -335 246 -294 q 29 -376 113 -376 m 224 818 q 146 851 176 818 q 115 932 115 885 q 147 1013 115 979 q 222 1046 179 1046 q 297 1013 267 1046 q 326 932 326 979 q 299 851 326 885 q 224 818 271 818 z "},Ñ:{ha:863,x_min:-14,x_max:836,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 569 q 378 609 342 592 q 451 637 414 626 q 517 647 489 647 q 698 574 644 647 q 751 340 751 501 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 q 528 106 510 90 q 551 149 546 121 q 554 214 556 178 l 553 342 q 525 476 551 432 q 440 519 499 519 q 372 504 406 519 q 314 468 338 489 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 m -14 728 l -14 829 l 544 829 l 544 733 l -14 728 z "},Ñ:{ha:1203,x_min:58,x_max:1160,o:"m 814 -22 q 641 17 718 -22 q 516 128 564 56 q 461 300 468 201 l 340 299 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 408 l 465 408 q 531 572 482 503 q 653 678 581 640 q 810 717 726 717 q 989 674 910 717 q 1114 551 1068 631 q 1160 360 1160 471 q 1115 157 1160 243 q 993 24 1071 71 q 814 -22 915 -22 m 819 76 q 903 115 875 78 q 943 210 932 153 q 954 325 954 267 q 947 429 954 376 q 922 525 939 482 q 877 594 906 568 q 807 619 849 621 q 722 581 753 618 q 677 487 690 543 q 664 369 664 431 q 679 231 664 299 q 728 119 694 163 q 819 76 763 75 z "},Ñ:{ha:821,x_min:31,x_max:764,o:"m 31 0 l 31 90 q 85 108 60 90 q 129 150 110 126 q 158 188 149 174 l 203 257 q 227 285 213 272 q 260 304 242 297 q 140 374 183 328 q 97 488 97 419 q 131 603 97 557 q 219 672 164 649 q 342 694 275 694 l 763 694 l 763 604 q 722 599 742 604 q 691 577 703 594 q 679 519 679 560 l 679 224 q 678 169 679 204 q 674 101 676 133 l 764 106 l 764 0 l 419 0 l 419 90 q 473 124 464 90 q 482 214 482 158 l 482 275 l 422 274 q 396 233 411 260 q 363 177 381 207 q 324 121 344 147 q 247 31 281 63 q 169 0 214 0 l 31 0 m 396 358 q 439 359 418 358 q 482 360 460 360 l 482 517 q 483 563 482 542 q 486 600 485 583 q 430 601 457 600 q 378 599 403 601 q 310 567 336 597 q 282 482 283 536 q 314 391 281 425 q 396 358 347 357 z "},Ñ:{ha:835,x_min:7,x_max:753,o:"m 483 -325 q 409 -320 444 -325 q 321 -301 374 -315 l 343 -212 q 386 -221 369 -218 q 429 -224 403 -224 q 497 -199 469 -224 q 538 -118 524 -175 q 553 39 553 -61 l 553 344 q 526 478 553 435 q 440 521 499 521 q 372 506 406 521 q 314 469 338 490 l 314 224 q 313 169 314 204 q 308 101 311 133 l 399 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 738 l 7 738 l 7 829 l 118 829 q 120 868 119 849 q 122 906 121 888 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 829 l 571 829 l 571 739 l 314 739 l 314 572 q 378 610 342 593 q 451 638 414 628 q 517 649 489 649 q 653 617 601 649 q 729 517 706 585 q 751 342 753 449 l 750 53 q 719 -135 750 -49 q 628 -273 688 -221 q 483 -325 569 -325 z "},Ñ£:{ha:853,x_min:21,x_max:796,o:"m 122 0 l 122 90 q 183 103 160 92 q 206 175 206 115 l 206 586 l 192 586 q 128 552 144 586 q 111 442 111 518 l 21 442 l 26 694 l 206 694 l 206 785 q 207 842 206 810 q 211 906 208 875 q 159 903 189 904 q 114 901 129 903 l 114 1007 q 222 1014 178 1007 q 292 1031 265 1021 q 326 1049 318 1040 l 403 1049 l 403 694 l 644 694 l 650 476 l 560 476 q 529 566 560 546 q 436 586 499 586 l 403 586 l 403 419 l 468 422 q 670 401 600 428 q 767 326 740 374 q 794 219 794 278 q 763 96 796 144 q 674 24 729 47 q 551 0 618 0 l 122 0 m 394 94 q 431 94 413 94 q 469 95 450 94 q 501 96 488 96 q 578 128 550 99 q 607 213 606 158 q 575 306 608 275 q 490 336 542 336 q 444 336 467 336 q 403 335 421 336 l 403 178 q 400 132 403 153 q 394 94 397 111 z "},Ñ«:{ha:1221,x_min:25,x_max:1196,o:"m 25 0 l 25 90 q 73 103 53 90 q 121 149 93 115 q 199 250 149 183 q 275 343 242 306 q 339 399 308 381 q 380 415 360 411 q 433 414 400 418 l 361 474 q 308 530 321 508 q 290 576 296 551 l 239 575 l 239 694 l 979 694 l 979 593 q 937 576 961 593 q 886 533 913 558 q 835 482 860 508 q 794 439 811 456 l 768 413 l 818 415 q 883 402 856 418 q 934 361 911 386 q 976 310 957 336 q 1024 249 1000 279 q 1069 188 1047 218 q 1099 151 1081 174 q 1143 109 1118 128 q 1196 90 1168 90 l 1196 0 l 1040 0 q 963 31 997 0 q 886 121 929 63 q 834 192 861 154 q 784 265 807 231 q 747 318 761 299 l 697 317 l 697 224 q 697 169 697 204 q 693 101 696 133 l 767 106 l 767 0 l 447 0 l 447 90 q 495 106 481 90 q 513 149 510 121 q 517 214 517 178 l 517 318 l 475 3
480618 q 438 265 461 299 q 388 192 414 231 q 336 121 361 154 q 259 31 293 63 q 181 0 225 0 l 25 0 m 651 385 l 772 531 q 792 555 782 542 q 814 585 801 568 l 517 579 q 521 540 511 563 q 550 497 531 517 q 601 441 575 469 q 651 385 626 413 z "},Ñ:{ha:1575,x_min:68,x_max:1550,o:"m 433 604 q 377 589 394 604 q 355 546 360 574 q 350 481 350 518 l 350 224 q 349 169 350 204 q 344 101 347 133 l 435 106 l 435 0 l 69 0 l 69 90 q 126 106 108 90 q 148 149 143 121 q 153 214 153 178 l 153 471 q 154 526 153 490 q 157 593 156 563 l 68 589 l 68 694 l 433 694 l 433 604 m 261 408 l 789 417 l 789 315 l 261 299 l 261 408 m 481 0 l 481 90 q 510 108 493 92 q 553 158 528 124 q 613 247 578 192 q 658 317 638 288 q 699 367 679 347 q 738 399 718 388 q 775 415 757 411 q 822 414 793 418 l 758 474 q 706 526 726 504 q 681 576 686 547 l 608 575 l 608 694 l 1339 694 l 1339 593 q 1300 576 1324 593 q 1251 533 1276 558 q 1203 482 1225 508 q 1168 438 1181 456 l 1151 413 l 1204 415 q 1268 401 1240 418 q 1318 360 1296 385 q 1357 310 1340 335 q 1376 282 1361 304 q 1409 233 1392 260 q 1438 186 1426 206 q 1488 119 1460 149 q 1550 90 1517 90 l 1550 0 l 1400 0 q 1331 28 1361 0 q 1256 121 1300 56 q 1181 233 1213 185 q 1129 318 1150 282 l 1082 317 l 1082 224 q 1081 169 1082 204 q 1079 101 1081 133 l 1146 106 l 1146 0 l 842 0 l 842 90 q 884 106 871 90 q 901 149 897 121 q 904 214 904 178 l 904 318 l 867 318 q 807 222 840 274 q 739 121 774 171 q 668 31 699 63 q 593 0 638 0 l 481 0 m 1038 385 l 1146 531 q 1161 554 1153 542 q 1181 585 1169 567 l 896 579 q 910 546 896 565 q 946 497 924 526 q 976 459 963 478 q 1006 422 990 440 q 1038 385 1021 404 z "},ѳ:{ha:786,x_min:43,x_max:743,o:"m 451 275 q 403 282 422 275 q 369 297 385 289 q 341 310 356 304 q 303 315 326 315 q 263 310 286 315 q 222 288 240 304 l 213 318 q 244 360 224 339 q 291 397 265 382 q 340 413 317 413 q 378 406 363 413 q 407 392 393 399 q 438 377 422 383 q 476 371 454 371 q 521 381 500 371 q 553 413 542 390 l 565 382 q 517 307 542 339 q 451 275 492 275 m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 z "},ѵ:{ha:775,x_min:8,x_max:817,o:"m 315 -4 l 96 478 q 74 531 81 513 q 66 562 68 549 q 60 592 64 575 l 8 589 l 8 694 l 333 694 l 333 606 q 294 588 304 604 q 286 549 283 572 q 300 497 289 525 l 376 313 q 399 260 388 286 q 419 206 410 233 q 433 261 426 235 q 444 314 439 288 q 459 373 451 343 q 476 438 467 403 q 496 513 485 472 q 537 618 515 578 q 583 680 558 658 q 633 709 607 701 q 688 717 660 717 q 782 680 747 717 q 817 594 817 643 q 797 524 817 556 q 724 492 776 492 q 663 510 689 492 q 638 572 638 529 q 645 603 638 590 q 658 621 653 615 q 646 626 656 626 q 606 589 622 626 q 561 457 589 551 l 443 -4 l 315 -4 z "},Ò:{ha:1303,x_min:25,x_max:1278,o:"m 1188 -254 q 1176 -106 1189 -161 q 1137 -25 1163 -50 q 1075 0 1111 0 q 1013 10 1038 0 q 963 45 988 19 q 900 121 938 71 q 848 192 875 154 q 798 265 821 231 q 761 318 775 299 l 713 317 l 713 224 q 712 169 713 204 q 708 101 711 133 l 782 106 l 782 0 l 446 0 l 446 90 q 494 106 479 90 q 512 149 508 121 q 515 214 515 178 l 515 317 l 475 318 q 438 265 461 299 q 388 192 414 231 q 336 121 361 154 q 259 31 293 63 q 181 0 225 0 l 25 0 l 25 90 q 78 109 54 90 q 122 151 103 128 q 153 188 142 174 q 227 285 196 243 q 284 355 258 326 q 336 396 310 383 l 247 496 q 201 542 228 518 q 137 583 174 565 q 50 606 100 600 l 50 694 l 365 694 l 365 589 l 292 589 q 316 564 304 578 q 346 531 328 550 l 444 415 l 515 415 l 515 471 q 517 526 515 490 q 521 593 518 563 l 451 589 l 451 694 l 782 694 l 782 604 q 735 589 750 604 q 716 546 719 574 q 713 481 713 518 l 713 415 l 793 415 l 892 531 q 922 564 910 550 q 946 590 933 578 l 872 589 l 872 694 l 1186 694 l 1186 606 q 1099 583 1136 600 q 1035 542 1063 565 q 988 496 1008 518 l 899 397 q 940 367 921 386 q 990 310 960 349 q 1038 249 1014 279 q 1083 188 1061 218 q 1139 129 1114 149 q 1196 106 1164 110 q 1278 108 1228 103 l 1278 -254 l 1188 -254 z "},Ò:{ha:731,x_min:58,x_max:686,o:"m 325 -231 l 325 -1 l 424 0 l 439 -231 l 325 -231 m 360 -24 q 197 6 264 -22 q 94 76 129 33 q 58 167 58 119 q 83 241 58 210 q 154 272 107 272 q 220 242 200 272 q 240 182 240 211 q 234 153 240 171 q 215 122 228 136 q 271 81 231 96 q 353 67 311 67 q 456 102 418 67 q 493 201 493 138 q 457 298 493 272 q 376 324 421 324 l 269 324 l 269 410 l 350 410 q 420 426 396 410 q 453 469 444 443 q 463 521 463 494 q 426 606 463 582 q 350 629 390 629 q 290 615 324 629 q 231 566 257 601 q 196 464 204 531 l 107 464 l 107 710 l 213 710 l 213 669 q 298 706 253 694 q 386 718 343 717 q 572 676 504 721 q 640 543 640 631 q 610 447 640 488 q 514 382 579 406 q 643 313 600 361 q 686 192 686 264 q 643 74 686 122 q 526 1 600 25 q 360 -24 453 -24 z "},Ò:{ha:931,x_min:58,x_max:906,o:"m 815 -254 q 803 -106 817 -161 q 765 -25 790 -50 q 703 0 739 0 q 635 8 664 0 q 579 41 607 15 q 511 121 551 67 q 459 192 486 154 q 409 265 432 231 q 372 318 386 299 l 340 317 l 340 224 q 339 169 340 204 q 335 101 338 133 q 383 105 357 104 q 425 106 410 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 149 593 146 563 q 100 590 126 592 q 58 589 74 589 l 58 694 l 422 694 l 422 604 q 366 589 383 604 q 344 546 349 574 q 340 481 340 518 l 340 415 l 407 415 l 507 531 q 537 564 525 550 q 561 589 549 578 l 488 589 l 488 694 l 800 694 l 800 606 q 714 583 751 600 q 649 542 676 565 q 603 496 622 518 l 514 397 q 555 367 535 386 q 604 310 575 349 q 635 269 619 290 q 666 228 650 249 q 697 188 682 208 q 753 128 729 146 q 812 108 778 110 q 906 108 846 106 l 906 -254 l 815 -254 z "},Ò:{ha:950,x_min:33,x_max:925,o:"m 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 118 214 118 178 l 118 471 q 119 526 118 490 q 124 593 12
48061 563 q 75 590 101 592 q 33 589 49 589 l 33 694 l 397 694 l 397 604 q 341 589 358 604 q 319 546 324 574 q 315 481 315 518 l 315 415 l 507 415 l 607 531 q 637 564 625 550 q 661 589 649 578 l 588 589 l 588 694 l 900 694 l 900 606 q 814 583 851 600 q 749 542 776 565 q 703 496 722 518 l 614 397 q 655 367 635 386 q 704 310 675 349 l 797 188 q 819 161 806 178 q 849 128 832 144 q 885 101 865 113 q 925 90 904 90 l 925 0 l 765 0 q 688 31 721 0 q 611 121 656 63 q 559 192 586 154 q 509 265 532 231 q 472 318 486 299 l 315 317 l 315 224 q 314 169 315 204 q 310 101 313 133 q 358 105 332 104 q 400 106 385 106 l 400 0 l 35 0 m 390 164 l 390 538 l 472 538 l 472 164 l 390 164 z "},Ò:{ha:831,x_min:26,x_max:806,o:"m 26 750 l 26 842 l 485 842 l 485 754 l 26 750 m 40 0 l 40 90 q 97 106 79 90 q 119 149 114 121 q 124 214 124 178 l 124 785 q 125 842 124 810 q 129 906 126 875 q 77 903 107 904 q 32 901 47 903 l 32 1007 q 140 1014 96 1007 q 210 1031 183 1021 q 244 1049 236 1040 l 321 1049 l 321 415 l 388 415 l 488 531 q 517 564 506 550 q 542 589 529 578 l 468 589 l 468 694 l 781 694 l 781 606 q 694 583 732 600 q 630 542 657 565 q 583 496 603 518 l 494 396 q 535 367 515 386 q 585 310 556 349 l 678 188 q 699 161 686 178 q 729 128 713 144 q 765 101 746 113 q 806 90 785 90 l 806 0 l 646 0 q 568 31 601 0 q 492 121 535 63 q 440 192 467 154 q 390 265 413 231 q 353 318 367 299 l 321 317 l 321 224 q 319 169 321 204 q 315 101 318 133 q 364 105 338 104 q 406 106 390 106 l 406 0 l 40 0 z "},Ò¡:{ha:993,x_min:21,x_max:968,o:"m 203 0 l 203 90 q 259 106 242 90 q 281 149 276 121 q 286 214 286 178 l 286 464 q 288 519 286 483 q 292 586 289 556 l 235 586 q 142 555 172 586 q 111 442 111 524 l 21 442 l 26 694 l 565 694 l 565 604 q 509 589 526 604 q 488 546 492 574 q 483 481 483 518 l 483 415 l 550 415 l 650 531 q 680 564 668 550 q 704 590 692 578 l 631 589 l 631 694 l 943 694 l 943 606 q 857 583 894 600 q 792 542 819 565 q 746 496 765 518 l 657 397 q 698 367 678 386 q 747 310 718 349 l 840 188 q 862 161 849 178 q 892 128 875 144 q 928 101 908 113 q 968 90 947 90 l 968 0 l 808 0 q 731 31 764 0 q 654 121 697 63 q 602 192 629 154 q 552 265 575 231 q 515 318 529 299 l 483 317 l 478 101 l 568 106 l 568 0 l 203 0 z "},Ò£:{ha:957,x_min:58,x_max:919,o:"m 415 604 q 359 589 376 604 q 337 546 342 574 q 332 481 332 518 l 332 224 q 331 169 332 204 q 326 101 329 133 l 417 106 l 417 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 415 694 l 415 604 m 865 604 q 809 589 826 604 q 787 546 792 574 q 782 481 782 518 l 782 224 q 781 169 782 204 q 778 101 781 133 l 868 0 l 510 0 l 510 90 q 566 106 549 90 q 588 149 583 121 q 593 214 593 178 l 593 471 q 594 526 593 490 q 599 593 596 563 l 508 589 l 508 694 l 865 694 l 865 604 m 829 -254 q 817 -106 831 -161 q 778 -25 804 -50 q 717 0 753 0 l 778 101 l 919 108 l 919 -254 l 829 -254 m 251 408 l 632 408 l 632 301 l 251 299 l 251 408 z "},Ò¥:{ha:1131,x_min:58,x_max:1086,o:"m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 408 l 585 408 l 585 471 q 586 526 585 490 q 589 593 588 563 q 541 590 567 592 q 500 589 515 589 l 500 694 l 1081 694 l 1086 442 l 996 442 q 983 531 996 500 q 942 574 969 563 q 874 586 915 586 q 828 586 851 586 q 782 586 806 586 l 782 224 q 781 169 782 204 q 776 101 779 133 l 894 106 l 894 0 l 501 0 l 501 90 q 558 106 540 90 q 580 149 575 121 q 585 214 585 178 l 585 301 l 340 299 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 z "},"Ô¥":{ha:950,x_min:58,x_max:913,o:"m 811 -246 q 805 -118 813 -174 q 777 -31 797 -62 q 721 0 757 0 l 496 0 l 496 90 q 552 106 535 90 q 574 149 569 121 q 579 214 579 178 l 579 472 q 581 524 579 492 q 585 586 582 557 l 424 586 q 367 573 385 586 q 345 537 350 560 q 340 482 340 514 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 858 694 l 858 604 q 803 589 821 604 q 781 546 786 574 q 776 481 776 518 l 776 224 q 775 169 776 204 q 771 103 774 135 l 913 108 l 913 -246 l 811 -246 z "},Ò§:{ha:1206,x_min:58,x_max:1199,o:"m 908 -318 q 860 -315 892 -318 q 810 -307 828 -312 l 825 -218 q 849 -222 836 -221 q 871 -224 861 -224 q 932 -202 903 -224 q 981 -121 961 -181 q 1001 56 1000 -61 q 988 185 1003 133 q 935 264 972 238 q 833 290 899 290 q 779 285 803 290 q 728 271 756 281 l 728 363 q 811 384 761 375 q 903 393 861 393 q 1062 352 996 393 q 1163 235 1128 311 q 1199 50 1199 158 q 1174 -93 1199 -26 q 1106 -210 1149 -160 q 1013 -290 1064 -261 q 908 -318 961 -318 m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 858 694 l 858 604 q 803 589 821 604 q 781 546 786 574 q 776 481 776 518 l 776 224 q 775 169 776 204 q 771 101 774 133 l 861 106 l 861 0 l 496 0 l 496 90 q 552 106 535 90 q 574 149 569 121 q 579 214 579 178 l 579 472 q 581 524 579 492 q 585 586 582 557 l 424 586 q 367 573 385 586 q 345 537 350 560 q 340 482 340 514 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 z "},Ò©:{ha:943,x_min:43,x_max:943,o:"m 461 -24 q 249 22 343 -24 q 99 149 154 68 q 43 336 43 231 q 94 527 43 440 q 235 665 146 614 q 442 717 325 717 q 570 710 518 717 q 661 693 622 703 l 642 610 q 553 622 606 618 q 469 624 501 626 q 356 583 407 618 q 276 491 306 549 q 247 357 247 433 q 270 230 247 286 q 335 136 293 174 q 435 83 378 99 q 476 76 454 78 q 521 75 499 74 q 410 186 449 126 q 372 310 372 246 q 409 444 372 388 q 511 531 446 500 q 661 563 576 563 q 801 539 736 564 q 904 465 865 514 q 943 344 943 417 q 897 197 943 268 q 774 71 850 126 q 841 70 804 65 q 913 93 878 75 l 936 13 q 876 -12 913 -1 q 797 -24 840 -24 q 643 8 728 -24 q 461 -24 554 -24 m 660 115 q 737 219 718 156 q 756 342 756 282 q 728 435 756 397 q 657 472 701 472 q 594 444 626 472 q 561 354 561 415 q 585 215 561 278 q 660 115 608 151 z "},Ò«:{ha:719,x_min:43,x_max:701,o:"m 339 -231 l 339 -1 l 438 0 l 453 -231 l 339 -231 m 385 -22 q 214 19 292 -22 q 90 140 136 61 q 43 332 43 219 q 69 481 43 411 q 144 603 96 550 q 258 686 192 656 q 404 717 324 717 q 552 690 493 717 q 641 619 611 663 q 671 526 671 575 q 647 455 671 486 q 578 422 622 424 q 504 452 525 421 q 483 513 483 483 q 488 542 483 525 q 500 574 492 560 q 471 604 490 594 q 431 617 451 614 q 399 619 411 621 q 289 553 332 615 q 246 372 246 490 q 263 242 246 303 q 321 143 281 182 q 429 101 361 104 q 543 129 488 100 q 638 208 599 158 l 701 146 q 597 40 651 76 q 490 -9 543 4 q 385 -22 436 -22 z "},Ò:{ha:726,x_min:21,x_max:706,o:"m 550 -246 q 544 -118 551 -174 q 516 -31 536 -62 q 460 0 496 0 l 182 0 l 182 90 q 238 106 221 90 q 260 149 256 121 q 265 214 265 178 l 265 471 q 267 523 265 490 q 269 586 268 556 l 235 586 q 142 555 172 586 q 111 442 111 524 l 21 442 l 26 694 l 700 694 l 706 442 l 615 442 q 585 555 615 524 q 492 586 554 586 l 461 586 l 461 224 q 460 169 461 204 q 456 101 458 133 l 651 108 l 651 -246 l 550 -246 z "},Ò¯:{ha:747,x_min:8,x_max:743,o:"m 196 -354 l 196 -264 q 252 -249 235 -264 q 274 -205 269 -233 q 279 -140 279 -176 l 279 75 l 96 478 q 74 531 81 513 q 66 562 68 549 q 60 592 64 575 l 8 589 l 8 694 l 333 694 l 333 606 q 294 589 304 604 q 288 549 285 574 q 300 497 290 525 l 372 319 q 394 265 383 293 q 417 210 406 238 l 418 210 l 460 326 l 519 496 q 542 551 532 531 q 565 594 553 572 l 479 589 l 479 694 l 743 694 l 743 606 q 686 570 711 600 q 643 503 661 540 q 614 439 625 467 l 475 93 l 475 -131 q 474 -185 475 -150 q 469 -253 472 -221 l 560 -249 l 560 -354 l 196 -354 z "},Ò±:{ha:747,x_min:8,x_max:743,o:"m 106 0 l 106 92 l 640 88 l 640 0 l 106 0 m 196 -354 l 196 -264 q 252 -249 235 -264 q 274 -205 269 -233 q 279 -140 279 -176 l 279 75 l 96 478 q 74 531 81 513 q 66 562 68 549 q 60 592 64 575 l 8 589 l 8 694 l 333 694 l 333 606 q 294 589 304 604 q 288 549 285 574 q 300 497 290 525 l 372 319 q 394 265 383 293 q 417 210 406 238 l 418 210 l 460 326 l 519 496 q 542 551 532 531 q 565 594 553 572 l 479 589 l 479 694 l 743 694 l 743 606 q 686 570 711 600 q 643 503 661 540 q 614 439 625 467 l 475 93 l 475 -131 q 474 -185 475 -150 q 469 -253 472 -221 l 560 -249 l 560 -354 l 196 -354 z "},Ò³:{ha:774,x_min:29,x_max:801,o:"m 711 -254 q 699 -106 713 -161 q 660 -25 686 -50 q 599 0 635 0 l 410 0 l 410 89 q 456 110 454 92 q 433 157 458 129 l 349 244 l 285 167 q 269 147 281 161 q 244 120 257 133 q 222 101 231 107 l 286 106 l 286 0 l 56 0 l 56 89 q 108 124 83 100 q 161 179 133 147 l 282 318 q 237 372 260 344 q 192 425 214 399 q 146 478 169 451 q 103 533 129 499 q 67 592 76 567 l 29 589 l 29 694 l 336 694 l 336 606 q 302 581 297 604 q 332 529 307 558 l 397 454 l 450 518 q 483 557 467 538 q 518 594 500 576 l 450 589 l 450 694 l 694 694 l 694 606 q 642 578 667 594 q 597 541 618 561 q 556 494 576 521 l 463 381 l 624 193 q 660 149 643 171 q 690 103 676 128 l 801 108 l 801 -254 l 711 -254 z "},Òµ:{ha:1197,x_min:21,x_max:1160,o:"m 1069 -254 q 1058 -106 1071 -161 q 1019 -25 1044 -50 q 957 0 993 0 l 182 0 l 182 90 q 235 104 217 94 q 259 140 253 114 q 265 214 265 165 l 265 471 q 267 523 265 490 q 269 586 268 556 l 235 586 q 142 555 172 586 q 111 442 111 524 l 21 442 l 26 694 l 669 694 l 675 442 l 585 442 q 556 555 585 524 q 471 586 526 586 l 461 586 l 461 224 q 460 172 461 206 q 456 106 458 138 l 742 108 q 798 122 781 110 q 820 158 815 135 q 825 213 825 182 l 825 471 q 826 526 825 490 q 831 593 828 563 l 740 589 l 740 694 l 1106 694 l 1106 604 q 1049 589 1067 604 q 1027 546 1032 574 q 1022 481 1022 518 l 1022 224 q 1022 169 1022 204 q 1018 101 1021 133 l 1160 108 l 1160 -254 l 1069 -254 z "},Ò·:{ha:861,x_min:14,x_max:824,o:"m 733 -254 q 722 -106 735 -161 q 683 -25 708 -50 q 621 0 657 0 l 410 0 l 410 90 q 462 101 444 90 q 486 140 479 113 q 493 217 493 168 l 493 258 q 421 240 458 246 q 343 233 383 233 q 168 289 232 233 q 99 436 104 344 q 100 523 99 490 q 103 593 101 556 l 14 589 l 14 694 l 361 694 l 361 604 q 304 579 314 601 q 294 493 294 557 q 325 396 297 429 q 414 363 353 363 q 457 365 438 363 q 493 374 476 368 l 493 471 q 494 526 493 490 q 499 593 496 563 l 442 589 l 442 694 l 769 694 l 769 604 q 715 589 732 604 q 692 546 697 574 q 688 481 688 518 l 688 224 q 686 169 688 204 q 682 101 685 133 l 824 108 l 824 -254 l 733 -254 z "},Ò¹:{ha:882,x_min:14,x_max:825,o:"m 460 0 l 460 90 q 516 106 499 90 q 538 149 533 121 q 543 214 543 178 l 543 258 q 446 240 496 246 q 343 233 396 233 q 168 289 232 233 q 99 436 104 344 q 100 523 99 490 q 103 593 101 556 l 14 589 l 14 694 l 361 694 l 361 604 q 311 588 328 603 q 294 525 294 574 q 321 399 297 435 q 411 363 344 363 q 483 365 451 363 q 543 374 515 368 l 543 471 q 544 526 543 490 q 549 593 546 563 l 492 589 l 492 694 l 822 694 l 822 604 q 767 589 785 604 q 745 546 750 574 q 740 481 740 518 l 740 224 q 739 169 740 204 q 735 101 738 133 l 825 106 l 825 0 l 460 0 m 385 132 l 385 506 l 467 506 l 467 132 l 385 132 z "},Ò»:{ha:863,x_min:25,x_max:836,o:"m 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 525 545 551 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 698 644 644 717 q 751 410 751 571 l 751 224 q 750 169 751 204 q 746 101 749 133 q 794 105 768 104 q 836 106 821 106 l 836 0 l 471 0 l 471 90 z "},"Ô§":{ha:925,x_min:25,x_max:888,o:"m 746 101 l 888 108 l 888 -254 l 797 -254 q 785 -106 799 -161 q 747 -25 772 -50 q 685 0 721 0 l 471 0 l 471 90 q 527 106 510 90 q 549 149 544 121 q 554 214 554 178 l 553 411 q 526 545 553 501 q 440 589 499 589 q 372 574 406 589 q 314 538 338 558 l 314 224 q 313 169 314 204 q 308 101 311 133 q 358 105 332 104 q 399 106 385 106 l 399 0 l 35 0 l 35 90 q 91 106 74 90 q 113 149 108 121 q 117 214 117 178 l 117 785 q 118 842 117 810 q 122 906 119 875 q 70 903 100 904 q 25 901 40 903 l 25 1007 q 134 1014 90 1007 q 203 1031 178 1021 q 239 1049 229 1040 l 314 1049 l 314 639 q 378 678 342 661 q 451 706 414 696 q 517 717 489 717 q 697 644 644 717 q 751 410 750 571 l 751 224 q 750 169 751 204 q 746 101 749 133 z "},Ò½:{ha:896,x_min:-14,x_max:858,o:"m 315 365 q 145 380 210 364 q 46 424 81 396 q -1 488 11 453 q -14 561 -14 524 q 19 655 -14 615 q 106 694 53 694 q 174 669 150 694 q 197 613 197 644 q 183 567 197 588 q 151 538 169 546 q 125 533 139 532 q 96 539 111 533 q 93 525 93 531 q 103 497 93 511 q 143 472 114 482 q 229 463 172 463 l 660 463 q 644 555 658 521 q 604 604 629 589 q 546 619 579 619 q 440 563 485 619 q 396 379 396 507 q 415 241 396 304 q 476 140 433 178 q 592 101 519 101 q 655 111 619 101 q 727 144 690 121 q 796 206 764 167 l 858 147 q 751 40 808 76 q 638 -10 694 3 q 535 -22 582 -22 q 356 23 433 -22 q 235 151 278 68 q 192 346 192 233 q 235 528 192 443 q 356 665 278 613 q 539 717 435 717 q 653 701 597 717 q 753 646 708 685 q 826 540 799 607 q 851 374 853 474 l 315 365 z "},Ò¿:{ha:896,x_min:-14,x_max:858,o:"m 490 -231 l 490 -1 l 589 0 l 604 -231 l 490 -231 m 315 365 q 145 380 210 364 q 46 424 81 396 q -1 488 11 453 q -14 561 -14 524 q 19 655 -14 615 q 106 694 53 694 q 174 669 150 694 q 197 613 197 644 q 183 567 197 588 q 151 538 169 546 q 125 533 139 532 q 96 539 111 533 q 93 525 93 531 q 103 497 93 511 q 143 472 114 482 q 229 463 172 463 l 660 463 q 644 555 658 521 q 604 604 629 589 q 546 619 579 619 q 440 563 485 619 q 396 379 396 507 q 415 241 396 304 q 476 140 433 178 q 592 101 519 101 q 655 111 619 101 q 727 144 690 121 q 796 206 764 167 l 858 147 q 751 40 808 76 q 638 -10 694 3 q 535 -22 582 -22 q 356 23 433 -22 q 235 151 278 68 q 192 346 192 233 q 235 528 192 443 q 356 665 278 613 q 539 717 435 717 q 653 701 597 717 q 753 646 708 685 q 826 540 799 607 q 851 374 853 474 l 315 365 z "},"Ó":{ha:454,x_min:47,x_max:421,o:"m 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 444 q 140 502 139 469 q 144 565 142 535 q 92 563 122 564 q 47 561 63 563 l 47 667 q 156 674 111 667 q 226 690 200 681 q 261 708 251 700 l 336 708 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 z "},Ó:{ha:1235,x_min:25,x_max:1210,o:"m 25 0 l 25 90 q 78 109 54 90 q 122 151 103 128 q 153 188 142 174 q 227 285 196 243 q 284 355 258 326 q 336 396 310 383 l 247 496 q 201 542 228 518 q 137 583 174 565 q 50 606 100 600 l 50 694 l 365 694 l 365 589 l 292 589 q 316 564 304 578 q 346 531 328 550 l 444 415 l 515 415 l 515 471 q 517 526 515 490 q 521 593 518 563 l 451 589 l 451 694 l 782 694 l 782 604 q 735 589 750 604 q 716 546 719 574 q 713 481 713 518 l 713 415 l 793 415 l 892 531 q 922 564 910 550 q 946 590 933 578 l 872 589 l 872 694 l 1186 694 l 1186 606 q 1099 583 1136 600 q 1035 542 1063 565 q 988 496 1008 518 l 899 397 q 940 367 921 386 q 990 310 960 349 q 1038 249 1014 279 q 1083 188 1061 218 q 1113 151 1094 174 q 1157 109 1132 128 q 1210 90 1182 90 l 1210 0 l 1054 0 q 977 31 1011 0 q 900 121 943 63 q 848 192 875 154 q 798 265 821 231 q 761 318 775 299 l 713 317 l 713 224 q 712 169 713 204 q 708 101 711 133 l 782 106 l 782 0 l 446 0 l 446 90 q 494 106 479 90 q 512 149 508 121 q 515 214 515 178 l 515 317 l 475 318 q 438 265 461 299 q 388 192 414 231 q 336 121 361 154 q 259 31 293 63 q 181 0 225 0 l 25 0 m 608 806 q 449 844 511 806 q 388 954 388 883 q 407 1016 388 992 q 465 1039 426 104
48060 q 516 1023 499 1039 q 540 988 533 1007 q 547 957 547 968 q 542 931 546 944 q 531 903 539 918 q 567 880 550 886 q 608 874 585 874 q 650 880 632 874 q 686 903 668 886 q 674 931 678 918 q 669 957 671 944 q 676 988 669 968 q 700 1023 682 1007 q 750 1039 718 1039 q 810 1016 790 1040 q 829 954 829 992 q 767 844 829 883 q 608 806 706 806 z "},Ó:{ha:832,x_min:58,x_max:811,o:"m 574 -339 l 533 -256 q 621 -201 583 -233 q 660 -114 658 -169 q 642 -27 661 -72 q 596 58 622 18 q 551 125 569 99 q 464 236 511 185 q 372 318 417 288 l 340 317 l 340 224 q 339 169 340 204 q 335 101 338 133 q 383 105 357 104 q 425 106 410 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 149 593 146 563 q 100 590 126 592 q 58 589 74 589 l 58 694 l 422 694 l 422 604 q 366 589 383 604 q 344 546 349 574 q 340 481 340 518 l 340 415 l 407 415 l 507 531 q 537 564 525 550 q 561 590 549 578 l 488 589 l 488 694 l 800 694 l 800 606 q 714 583 751 600 q 649 542 676 565 q 603 496 622 518 l 514 396 q 601 338 546 382 q 713 217 657 294 q 788 79 764 147 q 811 -58 811 11 q 780 -183 811 -132 q 695 -272 749 -235 q 574 -339 642 -308 z "},"Ó":{ha:918,x_min:7,x_max:911,o:"m 710 -254 q 742 -106 732 -161 q 744 -25 751 -50 q 708 0 738 0 l 510 0 l 510 90 q 566 106 549 90 q 588 149 583 121 q 593 214 593 178 l 593 471 q 594 523 593 490 q 599 585 596 556 l 494 585 q 447 574 461 585 q 431 528 433 563 q 401 286 422 389 q 345 115 379 183 q 263 14 311 47 q 154 -19 215 -19 q 49 15 90 -19 q 7 106 7 50 q 33 176 7 151 q 103 200 60 200 q 166 176 147 200 q 185 125 185 153 q 181 98 185 107 q 171 82 176 89 q 185 78 175 78 q 250 140 222 78 q 296 319 278 203 q 324 600 314 436 l 192 589 l 192 694 l 874 694 l 874 604 q 817 589 835 604 q 795 546 800 574 q 790 481 790 518 l 790 224 q 789 171 790 206 q 785 104 788 136 l 911 113 l 800 -254 l 710 -254 z "},Ó:{ha:922,x_min:58,x_max:865,o:"m 521 -325 q 447 -320 482 -325 q 358 -301 411 -315 l 381 -212 q 426 -223 407 -218 q 468 -228 446 -228 q 534 -210 508 -228 q 572 -144 560 -193 q 585 -3 585 -96 l 585 471 q 586 526 585 490 q 590 593 588 563 l 500 589 l 500 694 l 865 694 l 865 604 q 809 590 826 604 q 787 556 792 576 q 782 515 782 535 l 782 11 q 752 -166 782 -90 q 665 -283 722 -242 q 521 -325 607 -325 m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 m 251 299 l 251 408 l 632 408 l 632 301 l 251 299 z "},"Ó":{ha:949,x_min:58,x_max:942,o:"m 740 -254 q 772 -106 763 -161 q 775 -25 782 -50 q 739 0 768 0 l 501 0 l 501 90 q 558 106 540 90 q 580 149 575 121 q 585 214 585 178 l 585 301 l 340 299 l 340 224 q 339 169 340 204 q 335 101 338 133 l 425 106 l 425 0 l 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 408 l 585 408 l 585 471 q 586 526 585 490 q 590 593 588 563 l 500 589 l 500 694 l 865 694 l 865 604 q 809 589 826 604 q 787 546 792 574 q 782 481 782 518 l 782 224 q 781 169 782 204 q 778 103 781 135 l 942 113 l 831 -254 l 740 -254 z "},Ó:{ha:829,x_min:14,x_max:772,o:"m 332 -254 l 332 83 l 339 83 q 412 94 376 83 q 470 133 447 106 q 493 204 493 160 l 493 258 q 421 240 458 246 q 343 233 383 233 q 168 289 232 233 q 99 436 104 344 q 100 523 99 490 q 103 593 101 556 l 14 589 l 14 694 l 361 694 l 361 604 q 302 576 310 601 q 294 493 294 550 q 325 396 297 429 q 414 363 353 363 q 457 365 438 363 q 493 374 476 368 l 493 471 q 494 526 493 490 q 499 593 496 563 l 442 589 l 442 694 l 769 694 l 769 604 q 715 589 732 604 q 692 546 697 574 q 688 481 688 518 l 688 224 q 686 169 688 204 q 682 101 685 133 l 772 106 l 772 0 l 535 0 q 473 -25 499 0 q 435 -106 447 -50 q 422 -254 422 -161 l 332 -254 z "},"Ó":{ha:1111,x_min:39,x_max:1117,o:"m 915 -254 q 947 -106 938 -161 q 950 -25 957 -50 q 914 0 943 0 l 750 0 l 750 90 q 815 106 794 90 q 828 165 836 121 l 768 492 l 582 0 l 472 0 l 274 485 q 271 417 274 450 q 261 340 268 383 l 233 163 q 228 132 232 146 q 221 103 225 118 l 313 106 l 313 0 l 39 0 l 39 90 q 106 108 83 93 q 133 167 128 124 l 190 593 l 81 589 l 81 694 l 351 694 l 511 314 q 536 256 522 288 q 560 196 550 224 l 740 694 l 1015 694 l 1015 617 q 951 597 972 615 q 938 542 931 579 l 1000 183 q 1004 106 1008 144 l 1117 113 l 1006 -254 l 915 -254 z "},Ó:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468
4806117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 354 806 q 195 844 257 806 q 133 954 133 883 q 153 1016 133 992 q 211 1039 172 1040 q 262 1023 244 1039 q 286 988 279 1007 q 293 957 293 968 q 288 931 292 944 q 276 903 285 918 q 313 880 296 886 q 354 874 331 874 q 396 880 378 874 q 432 903 414 886 q 420 931 424 918 q 415 957 417 944 q 422 988 415 968 q 446 1023 428 1007 q 496 1039 464 1039 q 556 1016 536 1040 q 575 954 575 992 q 513 844 575 883 q 354 806 451 806 z "},Ó:{ha:728,x_min:42,x_max:706,o:"m 443 0 q 440 33 440 19 q 438 64 439 46 q 338 -3 390 17 q 231 -22 285 -22 q 92 31 142 -22 q 42 163 42 83 q 76 276 42 229 q 166 353 110 324 q 291 399 222 383 q 429 418 360 415 l 429 490 q 420 556 429 526 q 390 601 411 585 q 329 617 368 618 q 278 606 303 615 q 235 578 253 596 q 249 551 246 565 q 251 525 251 536 q 229 467 251 497 q 158 439 207 438 q 94 468 117 440 q 72 533 72 496 q 112 630 72 589 q 218 694 151 671 q 365 717 285 717 q 555 653 488 717 q 622 451 622 590 q 622 371 622 404 q 622 304 622 338 q 621 224 621 271 q 619 169 621 204 q 615 101 618 133 q 665 105 639 104 q 706 106 692 106 l 706 0 l 443 0 m 428 319 q 354 306 389 315 q 294 279 319 296 q 253 239 268 263 q 239 186 239 215 q 264 131 240 147 q 318 114 288 114 q 378 128 350 114 q 428 164 406 142 q 428 191 428 178 q 428 218 428 204 q 428 269 428 243 q 428 319 428 294 m 474 833 q 409 864 436 833 q 382 938 382 894 q 410 1012 382 981 q 475 1043 438 1043 q 541 1012 515 1043 q 567 938 567 981 q 539 864 567 894 q 474 833 511 833 m 232 833 q 167 864 194 833 q 140 938 140 894 q 168 1012 140 981 q 233 1043 196 1043 q 299 1012 274 1043 q 325 938 325 981 q 297 864 325 894 q 232 833 269 833 z "},Ó:{ha:1069,x_min:40,x_max:1042,o:"m 232 -22 q 92 31 143 -22 q 40 163 40 83 q 74 276 40 229 q 165 353 108 324 q 291 399 222 383 q 429 418 360 415 l 429 493 q 419 558 429 529 q 389 603 410 588 q 333 618 368 619 q 278 608 306 617 q 233 581 251 600 q 248 553 244 569 q 251 525 251 536 q 228 467 251 497 q 157 439 206 438 q 94 468 117 440 q 71 533 71 496 q 108 626 71 585 q 209 692 144 668 q 354 717 274 717 q 475 691 425 717 q 543 600 525 665 q 632 690 582 664 q 763 717 682 717 q 882 683 824 717 q 978 576 940 650 q 1014 374 1015 501 l 621 365 q 635 231 621 290 q 685 136 649 171 q 789 101 722 101 q 883 124 832 101 q 981 206 933 147 l 1042 147 q 940 40 993 76 q 836 -10 888 3 q 738 -22 785 -22 q 605 13 660 -22 q 514 94 550 47 q 376 0 450 22 q 232 -22 301 -22 m 321 114 q 383 128 353 114 q 435 167 413 143 q 432 219 433 193 q 430 269 431 244 q 429 319 429 294 q 355 306 390 315 q 293 279 319 296 q 251 239 267 263 q 238 186 236 215 q 265 131 239 147 q 321 114 292 114 m 629 463 l 831 463 q 816 555 829 521 q 782 603 803 589 q 739 618 761 618 q 678 597 701 618 q 644 540 656 575 q 629 463 633 504 z "},Ó:{ha:747,x_min:43,x_max:710,o:"m 386 -22 q 207 23 285 -22 q 86 151 129 68 q 43 346 43 233 q 86 528 43 443 q 208 665 129 613 q 390 717 286 717 q 504 701 449 717 q 605 646 560 685 q 677 540 650 607 q 703 374 704 474 l 247 365 q 266 231 247 290 q 328 136 285 171 q 443 101 371 101 q 506 111 471 101 q 578 144 542 121 q 647 206 615 167 l 710 147 q 603 40 660 76 q 490 -10 546 3 q 386 -22 433 -22 m 256 463 l 511 463 q 495 555 510 521 q 456 604 481 589 q 397 619 431 619 q 301 576 336 619 q 256 463 267 532 m 397 806 q 238 844 300 806 q 176 954 176 883 q 196 1016 176 992 q 254 1039 215 1040 q 305 1023 288 1039 q 329 988 322 1007 q 336 957 336 968 q 331 931 335 944 q 319 903 328 918 q 356 880 339 886 q 397 874 374 874 q 439 880 421 874 q 475 903 457 886 q 463 931 467 918 q 458 957 460 944 q 465 988 458 968 q 489 1023 471 1007 q 539 1039 507 1039 q 599 1016 579 1040 q 618 954 618 992 q 556 844 618 883 q 397 806 494 806 z "},Ó:{ha:761,x_min:57,x_max:718,o:"m 371 -22 q 257 -6 313 -22 q 156 51 201 11 q 84 160 111 90 q 58 335 57 229 l 514 343 q 498 478 514 419 q 444 572 482 538 q 339 606 406 606 q 258 587 296 606 q 194 537 219 568 q 161 465 168 506 l 72 465 l 72 711 l 178 711 l 175 642 q 281 698 219 679 q 396 717 342 717 q 567 672 494 717 q 678 544 639 626 q 718 349 718 461 q 694 210 718 276 q 624 90 669 143 q 514 8 578 38 q 371 -22 450 -22 m 364 75 q 460 120 425 75 q 506 246 496 165 l 250 246 q 266 144 251 182 q 306 91 281 107 q 364 75 332 75 z "},Ó:{ha:761,x_min:57,x_max:718,o:"m 371 -22 q 257 -6 313 -22 q 156 51 201 11 q 84 160 111 90 q 58 335 57 229 l 514 343 q 498 478 514 419 q 444 572 482 538 q 339 606 406 606 q 258 587 296 606 q 194 537 219 568 q 161 465 168 506 l 72 465 l 72 711 l 178 711 l 175 642 q 281 698 219 679 q 396 717 342 717 q 567 672 494 717 q 678 544 639 626 q 718 349 718 461 q 694 210 718 276 q 624 90 669 143 q 514 8 578 38 q 371 -22 450 -22 m 364 75 q 460 120 425 75 q 506 246 496 165 l 250 246 q 266 144 251 182 q 306 91 281 107 q 364 75 332 75 m 511 833 q 447 864 474 833 q 419 938 419 894 q 447 1012 419 981 q 513 1043 475 1043 q 578 1012 553 1043 q 604 938 604 981 q 576 864 604 894 q 511 833 549 833 m 269 833 q 205 864 232 833 q 178 938 178 894 q 206 1012 178 981 q 271 1043 233 1043 q 337 1012 311 1043 q 363 938 363 981 q 335 864 363 894 q 269 833 307 833 z "},Ó:{ha:1235,x_min:25,x_max:1210,o:"m 25 0 l 25 90 q 78 109 54 90 q 122 151 103 128 q 153 188 142 174 q 227 285 196 243 q 284 355 258 326 q 336 396 310 383 l 247 496 q 201 542 228 518 q 137 583 174 565 q 50 606 100 600 l 50 694 l 365 694 l 365 589 l 292 589 q 316 564 304 578 q 346 531 328 550 l 444 415 l 515 415 l 515 471 q 517 526 515 490 q 521 593 518 563 l 451 589 l 451 694 l 782 694 l 782 604 q 735 589 750 604 q 716 546 719 574 q 713 481 713 518 l 713 415 l 793 415 l 892 531 q 922 564 910 550 q 946 590 933 578 l 872 589 l 872 694 l 1186 694 l 1186 606 q 1099 583 1136 600 q 1035 542 1063 565 q 988 496 1008 518 l 899 397 q 940 367 921 386 q 990 310 960 349 q 1038 249 1014 279 q 1083 188 1061 218 q 1113 151 1094 174 q 1157 109 1132 128 q 1210 90 1182 90 l 1210 0 l 1054 0 q 977 31 1011 0 q 900 121 943 63 q 848 192 875 154 q 798 265 821 231 q 761 318 775 299 l 713 317 l 713 224 q 712 169 713 204 q 708 101 711 133 l 782 106 l 782 0 l 446 0 l 446 90 q 494 106 479 90 q 512 149 508 121 q 515 214 515 178 l 515 317 l 475 318 q 438 265 461 299 q 388 192 414 231 q 336 121 361 154 q 259 31 293 63 q 181 0 225 0 l 25 0 m 728 833 q 663 864 690 833 q 636 938 636 894 q 664 1012 636 981 q 729 1043 692 1043 q 795 1012 769 1043 q 821 938 821 981 q 793 864 821 894 q 728 833 765 833 m 486 833 q 422 864 449 833 q 394 938 394 894 q 422 1012 394 981 q 488 1043 450 1043 q 553
48061012 528 1043 q 579 938 579 981 q 551 864 579 894 q 486 833 524 833 z "},Ó:{ha:731,x_min:58,x_max:686,o:"m 360 -24 q 197 6 264 -22 q 94 76 129 33 q 58 167 58 119 q 83 241 58 210 q 154 272 107 272 q 220 242 200 272 q 240 182 240 211 q 234 153 240 171 q 215 122 228 136 q 271 81 231 96 q 353 67 311 67 q 456 102 418 67 q 493 201 493 138 q 457 298 493 272 q 376 324 421 324 l 269 324 l 269 410 l 350 410 q 420 426 396 410 q 453 469 444 443 q 463 521 463 494 q 426 606 463 582 q 350 629 390 629 q 290 615 324 629 q 231 566 257 601 q 196 464 204 531 l 107 464 l 107 710 l 213 710 l 213 669 q 298 706 253 694 q 386 718 343 717 q 572 676 504 721 q 640 543 640 631 q 610 447 640 488 q 514 382 579 406 q 643 313 600 361 q 686 192 686 264 q 643 74 686 122 q 526 1 600 25 q 360 -24 453 -24 m 483 833 q 419 864 446 833 q 392 938 392 894 q 419 1012 392 981 q 485 1043 447 1043 q 551 1012 525 1043 q 576 938 576 981 q 549 864 576 894 q 483 833 521 833 m 242 833 q 177 864 204 833 q 150 938 150 894 q 178 1012 150 981 q 243 1043 206 1043 q 309 1012 283 1043 q 335 938 335 981 q 307 864 335 894 q 242 833 279 833 z "},Ó¡:{ha:728,x_min:28,x_max:668,o:"m 314 -376 q 159 -345 224 -376 q 61 -267 94 -314 q 28 -174 28 -221 q 53 -99 28 -131 q 122 -67 79 -68 q 174 -81 154 -65 q 201 -117 193 -96 q 210 -156 210 -137 q 188 -212 210 -185 q 237 -260 203 -243 q 317 -278 271 -278 q 417 -219 374 -278 q 461 -43 461 -161 q 444 64 461 15 q 395 142 428 113 q 311 171 363 171 q 239 169 271 171 q 192 167 207 168 l 192 267 l 378 521 q 414 565 396 546 q 449 600 432 585 l 256 601 q 185 550 208 601 q 151 426 163 499 l 65 426 l 85 694 l 661 694 l 661 607 l 454 326 q 426 297 442 310 q 392 272 411 283 q 538 228 475 269 q 634 117 600 188 q 668 -44 668 47 q 622 -221 668 -146 q 497 -336 576 -296 q 314 -376 417 -376 z "},Ó£:{ha:914,x_min:54,x_max:871,o:"m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 m 260 871 l 260 1004 l 654 1004 l 654 876 l 260 871 z "},Ó¥:{ha:914,x_min:54,x_max:871,o:"m 418 604 q 363 589 381 604 q 341 546 346 574 q 336 481 336 518 l 336 224 q 335 169 336 204 q 331 101 333 133 q 380 105 353 104 q 421 106 407 106 l 421 0 l 57 0 l 57 90 q 113 106 96 90 q 134 149 129 121 q 139 214 139 178 l 139 471 q 140 526 139 490 q 144 593 142 563 q 96 590 122 592 q 54 589 69 589 l 54 694 l 418 694 l 418 604 m 624 578 l 690 508 l 292 125 l 224 196 l 624 578 m 868 604 q 813 589 831 604 q 791 546 796 574 q 786 481 786 518 l 786 224 q 785 169 786 204 q 781 101 783 133 q 830 105 803 104 q 871 106 857 106 l 871 0 l 507 0 l 507 90 q 563 106 546 90 q 584 149 579 121 q 589 214 589 178 l 589 471 q 590 526 589 490 q 594 593 592 563 q 546 590 572 592 q 504 589 519 589 l 504 694 l 868 694 l 868 604 m 576 833 q 512 864 539 833 q 485 938 485 894 q 513 1012 485 981 q 578 1043 540 1043 q 644 1012 618 1043 q 669 938 669 981 q 642 864 669 894 q 576 833 614 833 m 335 833 q 270 864 297 833 q 243 938 243 894 q 271 1012 243 981 q 336 1043 299 1043 q 402 1012 376 1043 q 428 938 428 981 q 400 864 428 894 q 335 833 372 833 z "},Ó§:{ha:786,x_min:43,x_max:743,o:"m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 506 833 q 441 8
480664 468 833 q 414 938 414 894 q 442 1012 414 981 q 507 1043 469 1043 q 573 1012 547 1043 q 599 938 599 981 q 571 864 599 894 q 506 833 543 833 m 264 833 q 199 864 226 833 q 172 938 172 894 q 200 1012 172 981 q 265 1043 228 1043 q 331 1012 306 1043 q 357 938 357 981 q 329 864 357 894 q 264 833 301 833 z "},Ó©:{ha:786,x_min:43,x_max:743,o:"m 231 403 l 557 399 l 557 311 l 231 311 l 231 403 m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 z "},Ó«:{ha:786,x_min:43,x_max:743,o:"m 231 403 l 557 399 l 557 311 l 231 311 l 231 403 m 397 -22 q 217 21 297 -22 q 90 144 136 64 q 43 332 43 224 q 91 534 43 447 q 219 669 139 621 q 393 717 299 717 q 572 674 493 717 q 697 551 651 631 q 743 360 743 471 q 699 157 743 243 q 576 24 654 71 q 397 -22 499 -22 m 403 76 q 487 115 458 78 q 526 210 515 153 q 538 325 538 267 q 530 429 538 376 q 506 525 522 482 q 460 594 489 568 q 390 619 432 621 q 305 581 336 618 q 260 487 274 543 q 247 369 247 431 q 263 231 247 299 q 312 119 278 163 q 403 76 346 75 m 513 833 q 448 864 475 833 q 421 938 421 894 q 449 1012 421 981 q 514 1043 476 1043 q 580 1012 554 1043 q 606 938 606 981 q 578 864 606 894 q 513 833 550 833 m 271 833 q 206 864 233 833 q 179 938 179 894 q 207 1012 179 981 q 272 1043 235 1043 q 338 1012 313 1043 q 364 938 364 981 q 336 864 364 894 q 271 833 308 833 z "},Ó:{ha:744,x_min:49,x_max:701,o:"m 340 -22 q 188 4 253 -22 q 85 72 122 31 q 49 158 49 114 q 73 232 49 201 q 142 263 97 263 q 215 232 194 263 q 236 172 236 201 q 232 143 236 160 q 219 111 228 126 q 257 84 236 93 q 299 73 278 75 q 340 71 321 71 q 462 140 419 74 q 504 329 504 207 q 461 543 504 479 q 335 607 418 607 q 249 588 289 607 q 183 536 210 568 q 150 464 157 504 l 61 464 l 61 710 l 167 710 l 165 640 q 271 697 210 678 q 386 715 332 715 q 539 675 467 715 q 656 556 611 635 q 701 363 701 478 q 680 220 701 289 q 614 97 658 151 q 501 10 569 42 q 340 -22 433 -22 m 185 311 l 185 407 l 510 407 l 518 319 l 185 311 m 469 833 q 405 864 432 833 q 378 938 378 894 q 406 1012 378 981 q 471 1043 433 1043 q 537 1012 511 1043 q 563 938 563 981 q 535 864 563 894 q 469 833 507 833 m 228 833 q 163 864 190 833 q 136 938 136 894 q 164 1012 136 981 q 229 1043 192 1043 q 295 1012 269 1043 q 321 938 321 981 q 293 864 321 894 q 228 833 265 833 z "},Ó¯:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 192 871 l 192 1004 l 586 1004 l 586 876 l 192 871 z "},Ó±:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 481 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 508 833 q 444 864 471 833 q 417 938 417 894 q 444 1012 417 981 q 510 1043 472 1043 q 576 1012 550 1043 q 601 938 601 981 q 574 864 601 894 q 508 833 546 833 m 267 833 q 202 864 229 833 q 175 938 175 894 q 203 1012 175 981 q 268 1043 231 1043 q 334 1012 308 1043 q 360 938 360 981 q 332 864 360 894 q 267 833 304 833 z "},Ó³:{ha:765,x_min:7,x_max:760,o:"m 206 -376 q 116 -345 153 -376 q 79 -262 79 -314 q 103 -197 79 -225 q 167 -167 128 -168 q 219 -187 197 -165 q 240 -246 240 -208 q 240 -254 240 -250 q 239 -264 240 -258 q 246 -262 242 -264 q 273 -240 258 -258 q 301 -190 288 -221 q 331 -119 317 -158 q 357 -36 346 -79 l 138 404 q 87 522 99 482 q 71 592 75 561 l 7 589 l 7 694 l 353 694 l 353 606 l 353 606 q 297 567 301 600 q 308 497 292 533 l 444 186 q 48
48061 298 458 222 q 533 463 503 374 q 548 505 539 481 q 568 553 557 529 q 592 593 579 578 l 513 589 l 513 694 l 760 694 l 760 606 q 688 553 717 596 q 638 447 660 510 l 464 -49 q 390 -234 425 -161 q 313 -342 356 -307 q 206 -376 269 -376 m 432 807 l 378 872 l 515 1032 q 591 1084 550 1072 q 657 1068 632 1096 q 672 1022 676 1046 q 649 976 667 997 q 611 939 632 954 l 432 807 m 249 794 l 178 842 l 268 1032 q 322 1097 288 1074 q 389 1101 357 1121 q 417 1063 413 1088 q 413 1013 421 1039 q 388 968 404 988 l 249 794 z "},Óµ:{ha:829,x_min:14,x_max:772,o:"m 407 0 l 407 90 q 463 106 446 90 q 485 149 481 121 q 490 214 490 178 l 490 258 q 419 240 456 246 q 343 233 382 233 q 168 289 232 233 q 99 436 104 344 q 100 523 99 490 q 103 593 101 556 l 14 589 l 14 694 l 361 694 l 361 604 q 311 588 328 603 q 294 525 294 574 q 321 399 297 435 q 411 363 344 363 q 454 365 435 363 q 490 374 474 368 l 490 471 q 492 526 490 490 q 496 593 493 563 l 439 589 l 439 694 l 769 694 l 769 604 q 715 589 732 604 q 692 546 697 574 q 688 481 688 518 l 688 224 q 686 169 688 204 q 682 101 685 133 l 772 106 l 772 0 l 407 0 m 531 833 q 466 864 493 833 q 439 938 439 894 q 467 1012 439 981 q 532 1043 494 1043 q 598 1012 572 1043 q 624 938 624 981 q 596 864 624 894 q 531 833 568 833 m 289 833 q 224 864 251 833 q 197 938 197 894 q 225 1012 197 981 q 290 1043 253 1043 q 356 1012 331 1043 q 382 938 382 981 q 354 864 382 894 q 289 833 326 833 z "},Ó¹:{ha:1192,x_min:58,x_max:1135,o:"m 60 0 l 60 90 q 120 103 97 92 q 143 175 143 115 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 344 546 349 574 q 340 481 340 518 l 342 419 l 406 422 q 599 401 531 428 q 693 326 667 374 q 719 219 719 278 q 686 96 719 144 q 597 24 653 47 q 475 0 542 0 l 60 0 m 332 94 q 385 94 361 94 q 435 96 410 94 q 502 128 475 99 q 529 213 529 158 q 500 306 532 275 q 424 336 468 336 q 378 335 396 335 q 340 335 361 336 l 340 178 q 338 132 340 153 q 332 94 335 111 m 769 0 l 769 90 q 826 106 808 90 q 848 149 843 121 q 853 214 853 178 l 853 471 q 854 526 853 490 q 858 593 856 563 q 810 590 836 592 q 768 589 783 589 l 768 694 l 1132 694 l 1132 604 q 1077 589 1094 604 q 1055 546 1060 574 q 1050 481 1050 518 l 1050 224 q 1049 169 1050 204 q 1044 101 1047 133 q 1094 105 1067 104 q 1135 106 1121 106 l 1135 0 l 769 0 m 689 833 q 624 864 651 833 q 597 938 597 894 q 625 1012 597 981 q 690 1043 653 1043 q 756 1012 731 1043 q 782 938 782 981 q 754 864 782 894 q 689 833 726 833 m 447 833 q 383 864 410 833 q 356 938 356 894 q 383 1012 356 981 q 449 1043 411 1043 q 515 1012 489 1043 q 540 938 540 981 q 513 864 540 894 q 447 833 485 833 z "},"Ó»":{ha:689,x_min:21,x_max:644,o:"m 189 -325 q 115 -320 150 -325 q 26 -301 79 -315 l 49 -212 q 94 -223 75 -218 q 136 -228 114 -228 q 203 -210 176 -228 q 243 -142 229 -192 q 257 0 257 -93 l 453 0 q 422 -169 453 -96 q 333 -283 392 -242 q 189 -325 275 -325 m 60 0 l 60 90 q 116 106 99 90 q 138 149 133 121 q 143 214 143 178 l 143 471 q 144 526 143 490 q 147 593 146 563 q 99 590 125 592 q 58 589 74 589 l 58 694 l 639 694 l 644 442 l 554 442 q 541 531 554 500 q 501 574 528 563 q 432 586 474 586 l 340 586 l 340 224 q 339 169 340 204 q 335 101 338 133 l 453 106 l 453 0 l 60 0 m 21 293 l 21 385 l 479 385 l 479 297 l 21 293 z "},"Ó½":{ha:758,x_min:29,x_max:746,o:"m 507 -339 l 467 -256 q 532 -219 501 -240 q 582 -174 563 -199 q 603 -119 601 -149 q 587 -51 604 -90 q 526 43 569 -11 l 349 244 l 285 167 q 269 147 281 161 q 244 120 257 133 q 222 101 231 107 l 286 106 l 286 0 l 56 0 l 56 89 q 108 124 83 100 q 161 179 133 147 l 282 318 q 237 372 260 344 q 192 425 214 399 q 146 478 169 451 q 103 533 129 499 q 67 592 76 567 l 29 589 l 29 694 l 336 694 l 336 606 q 302 581 297 604 q 332 529 307 558 l 397 454 l 450 518 q 483 557 467 538 q 518 594 500 576 l 450 589 l 450 694 l 694 694 l 694 606 q 642 578 667 594 q 597 541 618 561 q 556 494 576 521 l 463 381 l 647 169 q 701 88 679 129 q 733 8 722 47 q 744 -69 744 -32 q 715 -185 746 -135 q 629 -272 683 -235 q 507 -339 575 -308 z "},"Ó¿":{ha:761,x_min:29,x_max:738,o:"m 72 307 l 72 399 l 663 399 l 663 311 l 72 307 m 56 0 l 56 89 q 108 124 83 100 q 161 179 133 147 l 282 318 q 237 372 260 344 q 192 425 214 399 q 146 478 169 451 q 103 533 129 499 q 67 592 76 567 l 29 589 l 29 694 l 336 694 l 336 606 q 302 581 297 604 q 332 529 307 558 l 396 454 l 450 518 q 483 557 467 538 q 518 594 500 576 l 450 589 l 450 694 l 694 694 l 694 606 q 642 578 667 594 q 597 541 618 561 q 556 494 576 521 l 463 381 l 624 193 q 660 149 643 171 q 690 103 676 128 l 738 106 l 738 0 l 410 0 l 410 89 q 456 110 454 92 q 433 157 458 129 l 350 244 l 285 167 q 256 133 278 157 q 222 100 235 110 l 286 106 l 286 0 l 56 0 z "}
4806,"Ô":{ha:721,x_min:44,x_max:663,o:"m 369 -22 q 207 -6 281 -24 q 89 57 133 13 q 44 178 44 101 q 89 297 44 247 q 203 368 133 346 q 93 424 122 388 q 64 510 64 461 q 95 613 64 565 q 188 688 126 660 q 338 717 249 717 q 531 672 457 717 q 606 551 606 628 q 584 487 606 515 q 522 458 563 458 q 456 485 475 457 q 438 539 438 513 q 441 567 438 550 q 451 597 444 583 q 408 616 433 611 q 356 621 383 621 q 282 597 315 621 q 249 521 249 572 q 281 446 249 482 q 381 410 313 410 l 461 410 l 461 313 l 368 313 q 309 301 339 313 q 258 266 279 290 q 238 201 238 242 q 282 110 238 138 q 390 82 326 82 q 500 108 443 82 q 600 183 557 133 l 663 121 q 567 34 618 65 q 465 -9 515 3 q 369 -22 414 -21 z "},"Ô":{ha:933,x_min:7,x_max:874,o:"m 518 -325 q 444 -320 479 -325 q 356 -301 408 -315 l 378 -212 q 424 -223 404 -218 q 465 -228 443 -228 q 534 -210 506 -228 q 578 -144 563 -193 q 593 -3 593 -96 l 593 471 q 594 523 593 490 q 599 585 596 556 l 494 585 q 447 574 461 585 q 431 528 433 563 q 401 286 422 389 q 345 115 379 183 q 263 14 311 47 q 154 -19 215 -19 q 49 15 90 -19 q 7 106 7 50 q 33 176 7 151 q 103 200 60 200 q 166 176 147 200 q 185 125 185 153 q 181 98 185 107 q 171 82 176 89 q 185 78 175 78 q 250 140 222 78 q 296 319 278 203 q 324 600 314 436 l 192 589 l 192 694 l 874 694 l 874 604 q 817 589 835 604 q 795 546 800 574 q 790 481 790 518 l 790 11 q 758 -166 790 -90 q 665 -283 725 -242 q 518 -325 604 -325 z "},"Ô":{ha:796,x_min:44,x_max:794,o:"m 431 -354 l 431 -264 q 486 -249 469 -264 q 508 -205 503 -233 q 513 -140 513 -176 l 514 56 q 422 -5 469 13 q 325 -22 374 -22 q 178 21 242 -22 q 80 143 115 64 q 44 329 44 222 q 88 529 44 442 q 209 667 131 617 q 392 717 288 717 q 515 701 469 717 q 586 686 560 686 q 612 692 597 686 q 635 708 626 699 l 710 708 l 710 -131 q 708 -185 710 -150 q 704 -253 707 -221 q 753 -249 726 -250 q 794 -249 781 -249 l 794 -354 l 431 -354 m 397 103 q 463 121 432 103 q 513 168 494 139 l 513 493 q 495 572 513 546 q 453 606 478 597 q 406 615 429 615 q 310 576 344 615 q 261 476 275 536 q 249 350 247 415 q 265 235 250 292 q 311 140 279 178 q 397 103 343 103 z "},"Ô":{ha:1126,x_min:11,x_max:1122,o:"m 268 -4 l 100 478 q 81 532 88 514 q 72 563 75 550 q 65 592 69 575 l 11 589 l 11 694 l 344 694 l 344 606 q 294 572 301 604 q 299 497 288 540 l 346 328 q 362 263 354 297 q 375 196 369 229 q 390 260 382 225 q 413 346 397 294 l 514 694 l 665 694 l 776 311 q 794 248 785 282 q 810 186 803 214 q 825 247 815 214 q 843 307 835 281 l 897 483 q 917 545 908 521 q 938 594 925 569 l 858 589 l 858 694 l 1122 694 l 1122 606 q 1074 588 1094 606 q 1037 544 1053 569 q 1011 494 1021 518 q 997 456 1001 469 l 839 -4 l 692 -4 l 596 292 q 583 336 592 307 q 565 399 574 365 q 547 463 556 433 q 526 374 540 424 q 500 282 513 324 q 482 225 488 240 l 406 -4 l 268 -4 z "},Ò:{ha:785,x_min:0,x_max:728,o:"m 54 0 l 54 90 q 115 103 92 92 q 138 175 138 115 l 138 604 l 0 603 l 0 694 l 138 694 l 138 785 q 139 842 138 810 q 143 906 140 875 q 91 903 121 904 q 46 901 61 903 l 46 1007 q 153 1014 110 1007 q 224 1031 197 1021 q 258 1049 250 1040 l 335 1049 l 335 694 l 597 694 l 597 607 l 335 606 l 335 419 l 400 422 q 602 400 532 426 q 699 326 672 374 q 726 219 726 278 q 694 96 728 144 q 605 24 660 47 q 483 0 550 0 l 54 0 m 326 94 q 363 94 344 94 q 401 95 382 94 q 433 96 419 96 q 510 128 482 99 q 539 213 538 158 q 507 306 540 275 q 422 336 474 336 q 376 336 399 336 q 335 335 353 336 l 335 178 q 332 132 335 153 q 326 94 329 111 z "},Ò:{ha:835,x_min:33,x_max:790,o:"m 600 -132 l 379 182 l 449 235 l 671 -76 l 600 -132 m 43 -354 l 43 -264 q 99 -249 82 -264 q 122 -205 117 -233 q 126 -140 126 -176 l 126 447 q 128 503 126 472 q 132 565 129 535 q 79 563 110 564 q 33 561 49 563 l 33 667 q 142 674 99 667 q 212 690 186 681 q 247 708 238 700 l 315 708 q 319 674 318 694 q 322 642 321 654 q 419 700 371 683 q 510 717 467 717 q 656 674 593 717 q 755 551 719 631 q 790 365 790 472 q 747 166 790 254 q 627 28 704 78 q 446 -22 550 -22 q 378 -15 408 -22 q 322 3 349 -7 l 322 -131 q 322 -185 322 -150 q 318 -253 321 -221 q 367 -249 340 -250 q 407 -249 393 -249 l 407 -354 l 43 -354 m 424 82 q 523 120 488 83 q 572 217 558 157 q 586 344 586 276 q 571 465 586 408 q 522 558 556 522 q 435 592 489 593 q 371 574 400 590 q 322 531 342 558 q 322 445 322 488 q 322 361 322 403 q 322 277 322 319 q 322 192 322 235 q 322 107 322 150 q 365 89 338 97 q 424 82 393 81 z "},"Ô©":{ha:925,x_min:-94,x_max:868,o:"m 68 -325 q -6 -320 29 -325 q -94 -301 -42 -315 l -72 -212 q -26 -223 -46 -218 q 15 -228 -7 -228 q 84 -208 56 -228 q 128 -138 113 -189 q 143 6 143 -87 l 143 471 q 144 526 143 490 q 147 593 146 563 l 58 589 l 58 694 l 424 694 l 424 604 q 367 589 385 604 q 345 546 350 574 q 340 481 340 518 l 340 408 l 585 408 l 585 471 q 586 526 585 490 q 590 593 588 563 l 500 589 l 500 694 l 865 694 l 865 604 q 809 589 826 604 q 787 546 792 574 q 782 481 782 518 l 782 224 q 781 169 782 204 q 778 101 781 133 l 868 106 l 868 0 l 501 0 l 501 90 q 558 106 540 90 q 580 149 575 121 q 585 214 585 178 l 585 301 l 340 299 l 340 11 q 308 -166 340 -90 q 215 -283 275 -242 q 68 -325 154 -325 z "},"Ô¯":{ha:964,x_min:7,x_max:939,o:"m 838 -246 q 831 -118 839 -174 q 803 -31 824 -62 q 747 0 783 0 l 510 0 l 510 90 q 566 106 549 90 q 588 149 583 121 q 593 214 593 178 l 593 471 q 594 523 593 490 q 599 585 596 556 l 494 585 q 447 574 461 585 q 431 528 433 563 q 401 286 422 389 q 345 115 379 183 q 263 14 311 47 q 154 -19 215 -19 q 49 15 90 -19 q 7 106 7 50 q 33 176 7 151 q 103 200 60 200 q 166 176 147 200 q 185 125 185 153 q 181 98 185 107 q 171 82 176 89 q 185 78 175 78 q 250 140 222 78 q 296 319 278 203 q 324 600 314 436 l 192 589 l 192 694 l 874 694 l 874 604 q 817 589 835 604 q 795 546 800 574 q 790 481 790 518 l 790 224 q 789 169 790 204 q 785 101 788 133 l 939 108 l 939 -246 l 838 -246 z "},Î:{ha:793,x_min:69,x_max:772,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 764 972 l 7
480672 703 l 681 703 q 654 818 681 779 q 589 870 628 857 q 513 882 550 883 l 463 881 q 413 873 433 881 q 381 840 392 865 q 369 760 369 814 l 369 228 q 368 156 369 190 q 364 103 367 121 q 404 105 379 104 q 453 106 429 106 q 488 107 478 107 l 488 0 l 69 0 z "},Î:{ha:968,x_min:40,x_max:931,o:"m 40 0 l 419 994 l 528 994 l 931 0 l 40 0 m 710 97 l 439 779 l 185 99 l 710 97 z "},Î :{ha:1100,x_min:69,x_max:1031,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 1031 972 l 1031 881 q 978 872 1000 879 q 944 841 956 865 q 932 760 932 817 l 932 228 q 931 156 932 190 q 926 103 929 121 q 983 106 949 106 q 1031 107 1017 107 l 1031 0 l 632 0 l 632 92 q 685 100 664 93 q 719 132 707 107 q 731 213 731 157 l 731 868 l 465 864 q 413 856 435 863 q 381 824 392 849 q 369 743 369 799 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},Ω:{ha:1092,x_min:74,x_max:1024,o:"m 85 0 l 74 226 l 161 226 q 190 151 161 168 q 267 136 219 135 l 411 139 l 411 140 q 237 222 313 164 q 119 360 161 279 q 78 538 78 442 q 109 701 78 619 q 200 849 140 782 q 346 955 260 915 q 542 994 432 994 q 744 956 657 994 q 888 854 831 918 q 975 711 946 790 q 1004 550 1004 632 q 981 417 1004 482 q 915 297 957 353 q 815 201 872 242 q 689 140 757 161 l 689 139 l 831 136 q 906 151 878 135 q 935 226 935 168 l 1024 226 l 1013 0 l 578 0 l 578 151 q 689 212 638 164 q 773 337 740 260 q 806 513 806 414 q 792 651 806 583 q 750 775 779 719 q 671 864 721 831 q 546 897 621 897 q 419 863 471 897 q 335 774 368 829 q 288 652 303 718 q 274 521 274 586 q 311 331 274 411 q 405 204 349 250 q 517 151 461 158 l 517 0 l 85 0 z "},μ:{ha:850,x_min:117,x_max:811,o:"m 214 -376 q 139 -336 161 -376 q 117 -232 117 -296 l 117 694 l 290 694 l 290 256 q 305 180 290 213 q 345 128 319 147 q 404 110 371 110 q 456 121 429 110 q 508 161 482 132 l 508 694 l 682 694 l 681 197 q 682 169 681 186 q 690 140 683 153 q 714 126 697 126 q 736 132 724 126 q 765 151 749 138 l 811 93 q 742 26 789 60 q 643 -7 696 -7 q 571 9 603 -7 q 526 61 539 25 q 454 4 488 18 q 378 -10 421 -10 q 292 18 333 -10 q 219 114 251 46 l 211 107 q 257 -40 239 19 q 285 -140 275 -99 q 299 -211 294 -181 q 303 -271 303 -242 q 284 -343 303 -310 q 214 -376 265 -376 z "},Ï:{ha:851,x_min:33,x_max:824,o:"m 128 -22 q 62 2 90 -22 q 33 68 33 26 q 64 135 33 114 q 119 157 94 157 q 174 144 153 157 q 192 192 185 160 q 205 270 200 225 q 212 365 210 315 q 215 465 214 415 q 215 556 215 514 q 151 546 186 554 q 82 521 117 538 l 35 592 q 128 673 72 636 q 254 710 185 710 q 378 704 324 710 q 491 692 433 699 q 625 686 549 686 q 688 694 653 686 q 768 724 724 701 l 819 654 q 768 599 801 628 q 699 553 735 569 q 698 372 699 464 q 697 189 697 279 q 710 131 697 147 q 742 115 724 115 q 762 119 751 115 q 782 128 772 122 l 824 67 q 750 3 793 29 q 657 -22 707 -22 q 571 0 601 -22 q 526 56 540 22 q 510 125 513 89 q 507 189 507 161 q 508 255 507 218 q 508 331 508 292 q 509 409 508 371 q 510 481 510 447 q 510 536 510 514 q 447 542 485 539 q 373 548 410 544 q 313 553 336 551 q 312 435 313 497 q 308 311 311 372 q 298 198 304 250 q 279 111 292 146 q 219 13 257 47 q 128 -22 181 -22 z "},"â":{ha:649,x_min:-31,x_max:679,o:"m 60 -22 l -31 44 l 585 994 l 679 921 l 60 -22 z "},"½":{ha:1104,x_min:29,x_max:1047,o:"m 89 418 l 89 471 q 131 483 117 472 q 144 540 144 493 l 144 860 l 57 808 l 29 863 l 232 994 l 281 994 l 281 549 q 280 508 281 528 q 278 478 279 489 q 309 479 290 479 q 338 479 328 479 l 338 418 l 89 418 m 261 -22 l 171 44 l 786 994 l 881 921 l 261 -22 m 651 -4 q 672 105 653 60 q 723 185 692 150 q 790 253 754 221 q 860 344 844 301 q 876 413 876 386 q 858 472 876 454 q 811 490 840 490 q 783 483 797 490 q 764 468 769 476 q 779 445 775 458 q 783 425 783 432 q 767 383 783 407 q 713 358 750 358 q 665 381 682 360 q 647 433 647 403 q 669 494 647 463 q 733 549 690 526 q 836 571 775 571 q 928 556 885 571 q 1000 509 972 542 q 1028 422 1028 476 q 997 336 1028 375 q 917 260 965 297 q 817 176 868 222 q 788 146 797 160 q 769 113 779 132 l 940 110 q 962 113 953 110 q 976 128 971 117 q 981 161 981 139 l 1047 161 l 1039 -4 l 651 -4 z "},"¼":{ha:1079,x_min:29,x_max:1022,o:"m 89 418 l 89 471 q 131 483 117 472 q 144 540 144 493 l 144 860 l 57 808 l 29 863 l 232 994 l 281 994 l 281 549 q 280 508 281 528 q 278 478 279 489 q 309 479 290 479 q 338 479 328 479 l 338 418 l 89 418 m 261 -22 l 171 44 l 786 994 l 881 921 l 261 -22 m 749 -6 l 749 47 q 791 59 776 49 q 806 117 806 69 l 806 135 l 596 136 l 596 217 l 892 571 l 940 571 l 940 211 l 1022 210 l 1022 133 l 940 133 q 940 89 940 110 q 938 54 939 68 q 969 56 950 56 q 997 56 988 56 l 997 -6 l 749 -6 m 808 213 l 814 379 l 689 215 l 808 213 z "},"¾":{ha:1133,x_min:50,x_max:1076,o:"m 233 406 q 99 447 149 406 q 50 540 50 489 q 69 594 50 571 q 119 619 89 618 q 172 598 158 621 q 186 550 186 575 q 182 527 186 543 q 167 501 178 511 q 197 484 178 488 q 228 481 217 481 q 292 507 268 481 q 315 574 315 533 q 303 626 315 603 q 266 661 290 649 q 204 674 242 674 q 180 673 194 674 q 157 672 165 672 l 157 747 q 182 747 169 747 q 206 746 194 746 q 260 761 240 746 q 289 798 281 776 q 296 840 297 819 q 278 899 296 878 q 225 919 260 919 q 194 914 207 919 q 175 903 181 908 q 190 881 186 894 q 194 860 194 867 q 180 817 194 842 q 126 794 165 793 q 77 815 96 796 q 58 865 58 835 q 78 922 58 892 q 140 973 99 951 q 247 994 182 994 q 381 958 326 994 q 435 849 435 922 q 404 774 435 810 q 329 726 374 738 q 426 676 394 713 q 461 588 458 640 q 406 458 464 511 q 233 406 349 406 m 315 -22 l 225 44 l 840 994 l 935 921 l 315 -22 m 803 -6 l 803 47 q 845 59 831 49 q 860 117 860 69 l 860 135 l 650 136 l 650 217 l 946 571 l 994 571 l 994 211 l 1076 210 l 1076 133 l 994 133 q 994 89 994 110 q 992 54 993 68 q 1023 56 1004 56 q 1051 56 1042 56 l 1051 -6 l 803 -6 m 863 213 l 868 379 l 743 215 l 863 213 z "},"¹":{ha:386,x_min:29,x_max:338,o:"m 89 418 l 89 471 q 131 483 117 472 q 144 540 144 493 l 144 860 l 57 808 l 29 863 l 232 994 l 281 994 l 281 549 q 280 508 281 528 q 278 478 279 489 q 309 479 290 479 q 338 479 328 479 l 338 418 l 89 418 z "},"²":{ha:521,x_min:60,x_max:460,o:"m 64 419 q 85 528 65 483 q 135 609 104 574 q 203 676 167 644 q 273 767 257 725 q 289 836 289 810 q 271 896 289 878 q 224 914 253 914 q 196 907 210 914 q 176 892 182 900 q 192 869 188 882 q 196 849 196 856 q 179 806 196 831 q 125 782 163 782 q 77 805 94 783 q 60 857 60 826 q 81 918 60 886 q 145 972 103 950 q 249 994 188 994 q 341 980 297 994 q 413 933 385 965 q 440 846 440 900 q 409 760 440 799 q 329 683 378 721 q 229 600 28
48061 646 q 201 569 210 583 q 182 536 192 556 l 353 533 q 374 537 365 533 q 388 551 383 540 q 393 585 393 563 l 460 585 l 451 419 l 64 419 z "},"³":{ha:507,x_min:50,x_max:464,o:"m 233 406 q 99 447 149 406 q 50 540 50 489 q 69 594 50 571 q 119 619 89 618 q 172 598 158 621 q 186 550 186 575 q 182 527 186 543 q 167 501 178 511 q 197 484 178 488 q 228 481 217 481 q 292 507 268 481 q 315 574 315 533 q 303 626 315 603 q 266 661 290 649 q 204 674 242 674 q 180 673 194 674 q 157 672 165 672 l 157 747 q 182 747 169 747 q 206 746 194 746 q 260 761 240 746 q 289 798 281 776 q 296 840 297 819 q 278 899 296 878 q 225 919 260 919 q 194 914 207 919 q 175 903 181 908 q 190 881 186 894 q 194 860 194 867 q 180 817 194 842 q 126 794 165 793 q 77 815 96 796 q 58 865 58 835 q 78 922 58 892 q 140 973 99 951 q 247 994 182 994 q 381 958 326 994 q 435 849 435 922 q 404 774 435 810 q 329 726 374 738 q 426 676 394 713 q 461 588 458 640 q 406 458 464 511 q 233 406 349 406 z "},"â´":{ha:579,x_min:51,x_max:478,o:"m 204 418 l 204 471 q 247 483 232 472 q 261 540 261 493 l 261 558 l 51 560 l 51 640 l 347 994 l 396 994 l 396 635 l 478 633 l 478 557 l 396 557 q 395 513 396 533 q 393 478 394 492 q 424 479 406 479 q 453 479 443 479 l 453 418 l 204 418 m 264 636 l 269 803 l 144 639 l 264 636 z "}," ":{ha:365,x_min:0,x_max:0,o:""}," ":{ha:365,x_min:0,x_max:0,o:""},"\r":{ha:365,x_min:0,x_max:0,o:""},"â¨":{ha:529,x_min:47,x_max:467,o:"m 392 -107 l 47 476 l 47 538 l 392 1113 l 467 1056 l 186 508 l 464 -49 l 392 -107 z "},"â©":{ha:529,x_min:63,x_max:482,o:"m 138 -107 l 65 -49 l 343 508 l 63 1056 l 138 1113 l 482 538 l 482 476 l 138 -107 z "},".":{ha:324,x_min:61,x_max:263,o:"m 164 -22 q 90 10 118 -22 q 61 86 61 42 q 92 163 61 131 q 163 194 122 194 q 234 163 206 194 q 263 86 263 131 q 235 10 263 42 q 164 -22 208 -22 z "},",":{ha:347,x_min:61,x_max:289,o:"m 161 -260 l 107 -221 q 141 -165 122 -201 q 174 -85 160 -129 q 186 -1 188 -42 q 170 -5 176 -4 q 157 -6 164 -6 q 90 17 119 -6 q 61 86 61 39 q 88 159 61 128 q 161 190 115 190 q 257 149 225 192 q 289 44 289 107 q 275 -50 289 0 q 233 -153 261 -100 q 161 -260 204 -206 z "},":":{ha:347,x_min:71,x_max:272,o:"m 174 -22 q 99 10 128 -22 q 71 86 71 42 q 101 163 71 131 q 172 194 132 194 q 244 163 215 194 q 272 86 272 131 q 245 10 272 42 q 174 -22 218 -22 m 174 538 q 99 569 128 538 q 71 646 71 601 q 101 722 71 690 q 172 754 132 754 q 244 722 215 754 q 272 646 272 690 q 245 569 272 601 q 174 538 218 538 z "},";":{ha:371,x_min:69,x_max:297,o:"m 169 -260 l 115 -221 q 149 -165 131 -201 q 182 -85 168 -129 q 194 -1 196 -42 q 178 -5 185 -4 q 165 -6 172 -6 q 99 17 128 -6 q 69 86 69 39 q 97 159 69 128 q 169 190 124 190 q 265 149 233 192 q 297 44 297 107 q 283 -50 297 0 q 241 -153 269 -100 q 169 -260 213 -206 m 193 538 q 119 569 147 538 q 90 646 90 601 q 121 722 90 690 q 192 754 151 754 q 263 722 235 754 q 292 646 292 690 q 265 569 292 601 q 193 538 238 538 z "},"â¦":{ha:1074,x_min:61,x_max:1013,o:"m 164 -22 q 90 10 118 -22 q 61 86 61 42 q 92 163 61 131 q 163 194 122 194 q 234 163 206 194 q 263 86 263 131 q 235 10 263 42 q 164 -22 208 -22 m 539 -22 q 465 10 493 -22 q 436 86 436 42 q 467 163 436 131 q 538 194 497 194 q 609 163 581 194 q 638 86 638 131 q 610 10 638 42 q 539 -22 583 -22 m 914 -22 q 840 10 868 -22 q 811 86 811 42 q 842 163 811 131 q 913 194 872 194 q 984 163 956 194 q 1013 86 1013 131 q 985 10 1013 42 q 914 -22 958 -22 z "},"!":{ha:358,x_min:75,x_max:282,o:"m 132 296 l 79 868 q 101 953 75 913 q 179 994 126 994 q 259 953 236 994 q 278 868 282 913 l 226 296 l 132 296 m 178 -22 q 108 10 138 -22 q 78 86 78 42 q 108 163 78 131 q 179 194 139 194 q 251 163 222 194 q 279 86 279 131 q 249 10 279 42 q 178 -22 218 -22 z "},"¡":{ha:329,x_min:61,x_max:268,o:"m 211 399 l 264 -174 q 242 -259 268 -218 q 164 -300 217 -300 q 85 -259 108 -300 q 65 -174 61 -218 l 117 399 l 211 399 m 165 717 q 235 685 206 717 q 265 608 265 653 q 235 532 265 564 q 164 500 204 500 q 92 532 121 500 q 64 608 64 564 q 95 685 64 653 q 165 717 126 717 z "},"?":{ha:699,x_min:51,x_max:636,o:"m 329 251 q 247 274 285 251 q 208 347 208 296 q 217 392 208 371 q 251 442 226 413 q 321 518 275 472 q 401 617 369 567 q 433 746 433 667 q 423 823 433 789 q 387 877 413 857 q 314 897 361 897 q 271 890 292 897 q 234 874 250 883 q 208 853 218 864 q 228 819 224 839 q 233 783 233 799 q 224 744 233 767 q 193 705 214 721 q 139 690 172 689 q 73 720 94 693 q 51 789 51 747 q 89 886 51 839 q 192 964 126 933 q 340 994 257 994 q 516 963 451 994 q 608 880 581 931 q 636 774 636 829 q 607 667 636 715 q 535 579 578 619 q 449 506 492 539 q 376 444 406 474 q 347 389 347 415 q 360 359 347 371 q 403 347 374 347 q 422 349 411 347 q 444 353 432 350 l 465 282 q 393 258 431 264 q 329 251 356 251 m 343 -22 q 273 10 303 -22 q 243 86 243 42 q 274 163 243 131 q 344 194 304 194 q 416 163 388 194 q 444 86 444 131 q 414 10 444 42 q 343 -22 383 -22 z "},"¿":{ha:685,x_min:56,x_max:640,o:"m 363 443 q 445 422 407 443 q 483 347 483 400 q 474 303 483 325 q 442 253 465 282 q 371 176 418 224 q 290 78 322 129 q 258 -51 258 28 q 269 -128 258 -94 q 306 -183 279 -162 q 378 -203 332 -203 q 422 -196 401 -203 q 458 -178 442 -189 q 483 -158 475 -168 q 464 -124 469 -144 q 458 -89 458 -103 q 468 -49 458 -71 q 499 -10 478 -26 q 553 4 519 7 q 619 -25 597 3 q 640 -94 640 -53 q 603 -191 640 -143 q 500 -269 565 -239 q 351 -300 435 -300 q 176 -268 242 -300 q 83 -185 111 -236 q 56 -79 56 -135 q 85 27 56 -21 q 157 115 114 75 q 243 188 200 156 q 315 250 286 221 q 344 306 344 279 q 331 335 344 324 q 289 347 318 347 q 270 346 281 347 q 247 342 260 344 l 226 413 q 299 437 261 431 q 363 443 336 443 m 349 717 q 419 685 389 717 q 449 608 449 653 q 418 532 449 564 q 347 500 388 500 q 276 532 304 500 q 247 608 247 564 q 278 685 247 653 q 349 717 310 717 z "},"·":{ha:314,x_min:57,x_max:258,o:"m 160 367 q 85 399 114 367 q 57 475 57 431 q 88 551 57 519 q 158 583 118 583 q 230 551 201 583 q 258 475 258 519 q 231 399 258 431 q 160 367 204 367 z "},"â¢":{ha:531,x_min:43,x_max:488,o:"m 264 286 q 153 315 203 286 q 73 394 103 344 q 43 504 43 443 q 73 615 43 565 q 153 693 103 664 q 264 722 203 722 q 376 693 325 722 q 457 615 426 664 q 488 504 488 565 q 457 394 488 443 q 376 315 426 344 q 264 286 325 286 z "},"*":{ha:740,x_min:56,x_max:690,o:"m 181 411 q 153 451 157 429 q 158 494 150 472 q 181 535 167 515 q 231 588 199 558 q 317 654 264 618 q 208 659 251 654 q 136 672 164 664 q 94 692 114 681 q 65 724 74 704 q 64 772 56 744 q 113 818 79 815 q 181 810 146 821 q 247 778 208 800 q 338 719 285 757 q 308 824 317 781 q 299 89
48066 299 867 q 304 942 299 919 q 326 980 310 965 q 371 994 342 994 q 417 980 401 994 q 438 942 432 965 q 443 896 443 919 q 434 824 443 867 q 404 719 425 781 q 494 778 457 757 q 558 810 532 800 q 606 819 582 818 q 649 810 629 821 q 676 772 668 800 q 665 706 690 729 q 606 672 639 683 q 533 659 576 664 q 425 654 490 654 q 510 588 478 617 q 560 535 543 558 q 583 493 574 515 q 588 450 592 471 q 560 411 585 429 q 515 397 536 394 q 475 415 493 400 q 443 449 457 431 q 408 514 425 474 q 371 615 390 554 q 333 514 351 554 q 297 450 315 474 q 265 415 283 431 q 226 397 247 400 q 181 411 206 394 z "},"#":{ha:1210,x_min:51,x_max:1158,o:"m 225 -22 l 282 214 l 51 214 l 81 338 l 307 338 l 376 611 l 143 611 l 172 735 l 403 735 l 464 994 l 604 994 l 544 735 l 785 735 l 846 994 l 985 994 l 926 735 l 1158 735 l 1158 733 l 1131 611 l 900 611 l 835 338 l 1067 338 l 1038 214 l 810 214 l 754 -22 l 607 -22 l 664 214 l 426 214 l 372 -22 l 225 -22 m 451 338 l 689 338 l 758 611 l 518 611 l 451 338 z "},"/":{ha:971,x_min:35,x_max:936,o:"m 143 -376 l 35 -306 l 810 1049 l 936 968 l 143 -376 z "},"\\":{ha:971,x_min:35,x_max:936,o:"m 828 -376 l 35 968 l 161 1049 l 936 -306 l 828 -376 z "},"-":{ha:654,x_min:71,x_max:582,o:"m 71 361 l 71 511 l 582 511 l 582 365 l 71 361 z "},"â":{ha:782,x_min:72,x_max:710,o:"m 72 361 l 72 511 l 710 511 l 710 365 l 72 361 z "},"â":{ha:1174,x_min:72,x_max:1101,o:"m 72 361 l 72 511 l 1101 511 l 1101 365 l 72 361 z "},"â":{ha:654,x_min:71,x_max:582,o:"m 71 361 l 71 511 l 582 511 l 582 365 l 71 361 z "},_:{ha:1156,x_min:150,x_max:1004,o:"m 150 -215 l 150 -69 l 1004 -75 l 1004 -215 l 150 -215 z "},"(":{ha:411,x_min:33,x_max:397,o:"m 346 1056 l 397 1007 q 324 876 354 950 q 273 724 293 803 q 242 569 253 644 q 226 431 231 493 q 221 332 221 369 q 226 234 221 294 q 242 101 231 174 q 273 -49 253 28 q 324 -199 293 -126 q 397 -328 354 -271 l 347 -376 q 240 -256 296 -329 q 138 -90 185 -183 q 63 110 92 3 q 33 332 33 217 q 63 557 33 447 q 138 763 92 667 q 240 933 185 858 q 346 1056 294 1008 z "},")":{ha:411,x_min:14,x_max:378,o:"m 65 -376 l 14 -328 q 88 -197 57 -271 q 138 -44 118 -124 q 169 110 158 35 q 185 248 181 186 q 190 347 190 310 q 185 445 190 385 q 169 578 181 506 q 138 728 158 651 q 88 878 118 806 q 14 1007 57 950 l 64 1056 q 172 935 117 1008 q 273 769 226 863 q 349 569 319 676 q 378 347 378 463 q 349 122 378 232 q 273 -83 319 13 q 172 -254 226 -179 q 65 -376 117 -329 z "},"{":{ha:511,x_min:-4,x_max:501,o:"m 463 -376 q 287 -343 357 -376 q 182 -243 217 -310 q 147 -79 147 -176 q 151 10 147 -39 q 158 106 154 58 q 161 189 161 153 q 133 288 161 260 q 28 317 106 317 l -4 317 l -4 415 l 28 415 q 133 440 106 415 q 161 536 161 465 q 154 649 161 590 q 147 769 147 708 q 182 931 147 868 q 287 1025 217 994 q 463 1056 357 1056 l 501 1056 l 501 957 q 406 951 443 960 q 352 905 369 942 q 335 789 335 868 q 337 742 335 768 q 342 687 339 715 q 349 629 346 658 q 327 497 356 554 q 244 407 299 440 q 117 367 189 374 l 117 364 q 242 323 188 357 q 326 233 297 289 q 350 101 356 176 q 344 28 347 67 q 338 -43 340 -10 q 335 -99 335 -76 q 352 -217 335 -178 q 406 -267 369 -256 q 501 -278 443 -279 l 501 -376 l 463 -376 z "},"}":{ha:511,x_min:10,x_max:515,o:"m 49 -376 l 10 -376 l 10 -278 q 105 -267 68 -279 q 159 -217 142 -256 q 176 -99 176 -178 q 174 -43 176 -76 q 167 28 171 -10 q 161 101 164 67 q 185 233 156 176 q 269 323 214 289 q 394 364 324 357 l 394 367 q 267 407 322 374 q 184 497 213 440 q 163 629 156 554 q 169 687 165 658 q 174 742 172 715 q 176 789 176 768 q 159 905 176 868 q 105 951 142 942 q 10 957 68 960 l 10 1056 l 49 1056 q 224 1025 154 1056 q 329 931 294 994 q 364 769 364 868 q 357 649 364 708 q 350 536 350 590 q 378 440 350 465 q 483 415 407 415 l 515 415 l 515 317 l 483 317 q 378 288 407 317 q 350 189 350 260 q 353 106 350 153 q 360 10 357 58 q 364 -79 364 -39 q 329 -243 364 -176 q 224 -343 294 -310 q 49 -376 154 -376 z "},"[":{ha:536,x_min:86,x_max:535,o:"m 86 -354 l 88 1049 l 532 1049 l 532 950 l 267 946 l 261 -251 l 535 -256 l 535 -354 l 86 -354 z "},"]":{ha:536,x_min:1,x_max:450,o:"m 450 1049 l 449 -354 l 4 -354 l 4 -256 l 269 -251 l 275 946 l 1 950 l 1 1049 l 450 1049 z "}
4806,"â":{ha:347,x_min:61,x_max:289,o:"m 161 -260 l 107 -221 q 141 -165 122 -201 q 174 -85 160 -129 q 186 -1 188 -42 q 170 -5 176 -4 q 157 -6 164 -6 q 90 17 119 -6 q 61 86 61 39 q 88 159 61 128 q 161 190 115 190 q 257 149 225 192 q 289 44 289 107 q 275 -50 289 0 q 233 -153 261 -100 q 161 -260 204 -206 z "},"â":{ha:625,x_min:61,x_max:567,o:"m 161 -260 l 107 -221 q 141 -165 122 -201 q 174 -85 160 -129 q 186 -1 188 -42 q 170 -5 176 -4 q 157 -6 164 -6 q 90 17 119 -6 q 61 86 61 39 q 88 159 61 128 q 161 190 115 190 q 257 149 225 192 q 289 44 289 107 q 275 -50 289 0 q 233 -153 261 -100 q 161 -260 204 -206 m 439 -260 l 385 -221 q 419 -165 400 -201 q 451 -85 438 -129 q 464 -1 465 -42 q 448 -5 454 -4 q 435 -6 442 -6 q 368 17 397 -6 q 339 86 339 39 q 366 159 339 128 q 439 190 393 190 q 535 149 503 192 q 567 44 567 107 q 553 -50 567 0 q 510 -153 539 -100 q 439 -260 482 -206 z "},"â":{ha:588,x_min:46,x_max:551,o:"m 174 1056 l 228 1017 q 194 962 214 999 q 161 881 175 925 q 149 797 147 838 q 165 801 158 800 q 178 801 171 801 q 244 780 215 801 q 274 710 274 758 q 247 637 274 668 q 174 606 219 606 q 78 647 110 604 q 46 751 46 689 q 60 846 46 796 q 102 949 74 896 q 174 1056 131 1003 m 451 1056 l 506 1017 q 472 962 492 999 q 439 881 453 925 q 426 797 425 838 q 442 801 436 800 q 456 801 449 801 q 522 780 493 801 q 551 710 551 758 q 524 637 551 668 q 451 606 497 606 q 356 647 388 604 q 324 751 324 689 q 338 846 324 796 q 380 949 351 896 q 451 1056 408 1003 z "},"â":{ha:571,x_min:29,x_max:535,o:"m 129 606 l 75 644 q 109 700 90 664 q 142 780 128 736 q 154 864 156 824 q 138 860 144 861 q 125 860 132 860 q 58 882 88 860 q 29 951 29 904 q 56 1024 29 993 q 129 1056 83 1056 q 225 1015 193 1057 q 257 910 257 972 q 243 815 257 865 q 201 713 229 765 q 129 606 172 660 m 407 606 l 353 644 q 387 700 368 664 q 419 780 406 736 q 432 864 433 824 q 416 860 422 861 q 403 860 410 860 q 336 882 365 860 q 307 951 307 904 q 334 1024 307 993 q 407 1056 361 1056 q 503 1015 471 1057 q 535 910 535 972 q 521 815 535 865 q 478 713 507 765 q 407 606 450 660 z "},"â":{ha:310,x_min:46,x_max:274,o:"m 174 1056 l 228 1017 q 194 962 214 999 q 161 881 175 925 q 149 797 147 838 q 165 801 158 800 q 178 801 171 801 q 244 780 215 801 q 274 710 274 758 q 247 637 274 668 q 174 606 219 606 q 78 647 110 604 q 46 751 46 689 q 60 846 46 796 q 102 949 74 896 q 174 1056 131 1003 z "},"â":{ha:292,x_min:29,x_max:257,o:"m 129 606 l 75 644 q 109 700 90 664 q 142 780 128 736 q 154 864 156 824 q 138 860 144 861 q 125 860 132 860 q 58 882 88 860 q 29 951 29 904 q 56 1024 29 993 q 129 1056 83 1056 q 225 1015 193 1057 q 257 910 257 972 q 243 815 257 865 q 201 713 229 765 q 129 606 172 660 z "},"«":{ha:685,x_min:28,x_max:635,o:"m 399 -24 l 28 363 l 28 396 l 394 769 l 460 706 l 201 382 l 201 381 l 464 44 l 399 -24 m 569 83 l 333 360 l 333 392 l 568 661 l 632 607 l 496 372 l 496 371 l 635 136 l 569 83 z "},"»":{ha:685,x_min:50,x_max:657,o:"m 286 -24 l 221 44 l 483 381 l 483 382 l 225 706 l 290 769 l 657 396 l 657 363 l 286 -24 m 115 83 l 50 136 l 189 371 l 189 372 l 53 607 l 117 661 l 351 392 l 351 360 l 115 83 z "},"â¹":{ha:525,x_min:26,x_max:479,o:"m 403 -22 l 26 364 l 26 394 l 400 768 l 479 692 l 226 382 l 226 381 l 479 54 l 403 -22 z "},"âº":{ha:525,x_min:46,x_max:499,o:"m 122 -22 l 46 54 l 299 381 l 299 382 l 46 692 l 125 768 l 499 394 l 499 364 l 122 -22 z "},'"':{ha:453,x_min:60,x_max:393,o:"m 269 682 l 258 994 l 393 994 l 381 682 l 269 682 m 71 682 l 60 994 l 194 994 l 182 682 l 71 682 z "},"'":{ha:261,x_min:58,x_max:203,o:"m 72 682 l 58 994 l 203 994 l 190 682 l 72 682 z "},Æ:{ha:504,x_min:-157,x_max:588,o:"m 1 -376 q -92 -358 -57 -376 q -142 -310 -126 -339 q -157 -254 -157 -282 q -133 -190 -157 -218 q -71 -161 -110 -161 q -6 -192 -29 -161 q 10 -268 18 -224 q 23 -273 17 -271 q 35 -275 29 -275 q 71 -244 57 -275 q 94 -164 85 -214 q 108 -52 103 -114 q 117 74 114 10 q 125 194 121 139 q 130 294 128 235 q 135 413 132 353 q 142 519 139 474 q 149 581 146 565 l 32 579 l 32 694 l 161 694 q 204 873 175 790 q 288 1006 233 956 q 431 1056 342 1056 q 523 1036 489 1056 q 572 989 557 1017 q 588 933 588 961 q 565 869 588 897 q 503 840 542 840 q 437 872 461 840 q 421 947 413 903 q 409 952 415 950 q 396 954 403 954 q 362 930 375 954 q 342 867 349 906 q 331 782 335 828 q 325 694 328 736 l 503 694 l 503 588 l 318 583 q 313 478 315 532 q 306 360 310 425 q 296 210 303 296 q 281 39 290 124 q 251 -121 271 -46 q 201 -253 232 -196 q 120 -344 169 -311 q 1 -376 71 -376 z "},â«:{ha:928,x_min:6,x_max:922,o:"m 6 0 l 6 96 q 68 118 44 96 q 108 176 92 140 q 139 254 124 213 l 410 997 l 507 997 l 803 240 q 825 177 811 219 q 842 103 839 135 q 887 106 865 106 q 922 107 908 107 l 922 0 l 549 0 l 549 92 q 602 108 588 92 q 615 151 617 124 q 600 214 614 179 l 572 290 l 271 285 l 249 219 q 228 166 242 201 q 204 107 215 131 q 258 110 226 110 q 303 111 289 111 l 303 0 l 6 0 m 306 389 l 538 389 l 474 563 q 442 663 456 613 q 421 753 428 714 l 419 753 q 403 682 414 729 q 368 569 392 635 l 306 389 m 465 974 q 379 992 421 974 q 310 1047 338 1010 q 279 1142 282 1083 q 305 1239 278 1197 q 375 1304 332 1281 q 464 1328 418 1328 q 549 1310 507 1328 q 619 1255 590 1292 q 650 1160 647 1218 q 624 1060 651 1101 q 553 996 596 1018 q 465 974 510 974 m 474 1049 q 512 1071 497 1050 q 526 1135 526 1092 q 508 1226 526 1196 q 458 1254 489 1257 q 418 1228 433 1253 q 403 1160 403 1203 q 423 1076 403 1104 q 474 1049 443 1047 z "},"@":{ha:1101,x_min:65,x_max:1039,o:"m 576 -137 q 354 -101 450 -140 q 194 7 258 -62 q 97 166 129 76 q 65 356 65 256 q 99 537 65 444 q 198 708 132 629 q 360 836 264 788 q 581 885 456 885 q 782 845 696 885 q 925 739 868 806 q 1010 590 982 672 q 1036 421 1039 507 q 1007 274 1035 336 q 937 172 979 211 q 847 114 894 132 q 754 99 799 96 q 705 108 729 100 q 662 136 681 117 q 633 190 643 156 q 628 278 624 225 q 542 145 590 185 q 449 106 493 106 q 347 153 392 106 q 301 307 301 201 q 322 440 301 375 q 383 558 343 506 q 483 642 424 611 q 62
48061 674 543 674 q 696 667 651 674 q 786 644 740 660 q 773 540 781 597 q 758 426 765 483 q 746 321 750 368 q 742 247 742 274 q 747 208 742 228 q 763 177 751 189 q 793 165 774 165 q 862 193 835 165 q 905 263 889 221 q 928 351 921 306 q 935 433 935 397 q 887 647 935 560 q 758 780 839 735 q 574 825 676 825 q 411 787 485 825 q 285 684 338 749 q 203 537 232 619 q 175 364 175 454 q 208 178 175 258 q 299 42 240 97 q 433 -41 357 -12 q 593 -69 508 -69 q 710 -53 650 -69 q 828 -5 771 -37 q 929 76 885 28 l 960 39 q 784 -91 883 -47 q 576 -137 685 -135 m 486 201 q 539 240 513 201 q 588 341 565 279 q 624 472 610 403 q 642 600 639 540 q 617 604 632 603 q 590 604 603 606 q 526 572 554 601 q 479 499 499 543 q 449 403 460 454 q 439 303 439 351 q 452 228 439 254 q 486 201 465 201 z "},"&":{ha:931,x_min:32,x_max:938,o:"m 363 -22 q 244 -7 303 -22 q 137 40 185 8 q 60 119 89 71 q 32 236 32 168 q 94 401 32 329 q 249 507 156 472 q 174 606 199 561 q 142 689 150 650 q 135 765 135 728 q 208 933 136 871 q 400 994 281 994 q 528 964 474 994 q 612 884 582 933 q 642 776 642 835 q 613 669 642 719 q 539 577 585 618 q 442 506 493 536 q 481 465 447 500 q 564 382 514 431 q 667 285 614 333 q 672 319 671 301 q 674 354 674 336 q 665 415 674 393 q 641 448 657 438 q 600 460 625 458 l 600 549 l 833 549 l 833 444 l 757 449 q 768 410 764 432 q 772 364 772 389 q 765 286 772 324 q 746 214 758 249 q 756 205 751 210 q 767 196 761 200 q 865 121 821 150 q 938 92 910 92 l 938 0 l 789 0 q 740 21 778 0 q 653 79 701 42 q 525 5 599 32 q 363 -22 451 -22 m 407 76 q 503 94 460 76 q 581 142 547 111 q 546 173 563 157 q 511 204 529 189 q 381 328 431 278 q 289 428 332 379 q 248 378 263 407 q 227 320 233 349 q 221 271 221 292 q 243 165 221 208 q 307 99 265 121 q 407 76 349 76 m 379 579 q 458 680 432 619 q 485 783 485 740 q 460 865 485 833 q 393 897 436 897 q 327 865 354 897 q 300 772 300 833 q 323 676 300 731 q 379 579 346 621 z "},"¶":{ha:796,x_min:57,x_max:674,o:"m 231 -354 l 233 557 q 149 588 189 565 q 83 652 108 610 q 57 763 57 694 q 88 881 57 835 q 167 949 118 926 q 268 972 215 972 l 674 972 l 671 -354 l 517 -354 l 519 876 l 389 875 l 386 -354 l 231 -354 z "},"§":{ha:763,x_min:61,x_max:701,o:"m 371 -317 q 237 -289 294 -317 q 147 -217 179 -261 q 114 -129 114 -174 q 136 -61 114 -90 q 197 -31 158 -32 q 250 -43 231 -29 q 278 -76 269 -57 q 288 -111 288 -96 q 284 -140 288 -125 q 272 -169 281 -156 q 311 -205 283 -192 q 369 -218 339 -218 q 440 -201 413 -218 q 481 -159 467 -185 q 494 -106 494 -133 q 470 -28 494 -62 q 409 34 446 6 q 333 85 372 63 q 261 129 293 108 q 165 202 211 163 q 90 293 119 242 q 61 413 61 344 q 90 524 61 468 q 169 626 119 579 q 126 709 138 667 q 114 790 115 751 q 127 876 113 831 q 174 963 142 922 q 260 1030 207 1004 q 389 1056 313 1056 q 523 1028 465 1056 q 613 957 581 1000 q 646 868 646 914 q 624 801 646 829 q 563 769 603 772 q 510 783 529 769 q 481 815 490 796 q 472 850 472 835 q 476 880 472 865 q 488 907 479 894 q 452 942 478 929 q 394 956 426 956 q 325 938 353 956 q 284 895 297 921 q 269 842 271 869 q 294 759 271 794 q 354 695 318 724 q 431 643 390 667 q 507 596 472 619 q 602 524 558 564 q 674 432 646 483 q 701 314 701 381 q 672 203 701 260 q 594 99 642 146 q 631 35 613 71 q 650 -53 650 -1 q 635 -137 650 -92 q 586 -224 619 -183 q 500 -291 553 -265 q 371 -317 447 -317 m 524 176 q 540 220 535 196 q 544 267 544 244 q 523 338 544 306 q 467 399 501 371 q 391 453 432 428 q 310 503 350 479 q 240 549 271 526 q 226 506 231 528 q 221 460 221 483 q 242 388 221 421 q 299 327 264 356 q 374 273 333 299 q 455 224 415 247 q 524 176 494 200 z "},"©":{ha:1271,x_min:64,x_max:1207,o:"m 638 -99 q 405 -56 510 -99 q 224 63 300 -14 q 106 244 147 140 q 64 472 64 349 q 107 696 64 592 q 228 879 150 800 q 411 1003 306 958 q 640 1049 517 1049 q 869 1003 765 1049 q 1049 878 974 958 q 1166 694 1125 799 q 1207 471 1207 590 q 1163 249 1207 353 q 1042 68 1119 146 q 860 -54 964 -10 q 638 -99 757 -99 m 642 -19 q 836 19 750 -19 q 983 126 922 58 q 1077 283 1044 194 q 1110 472 1110 372 q 1076 662 1110 572 q 981 820 1043 751 q 833 928 919 889 q 638 968 746 968 q 444 928 532 968 q 294 820 357 889 q 197 662 231 751 q 163 472 163 572 q 196 283 163 372 q 292
4806126 229 194 q 443 19 354 58 q 642 -19 532 -19 m 647 131 q 476 176 551 131 q 358 298 401 221 q 315 469 315 375 q 335 594 315 531 q 397 709 356 657 q 501 792 439 761 q 649 819 564 822 q 728 808 690 818 q 801 771 765 797 l 800 814 l 906 814 l 906 571 l 813 571 q 758 689 803 654 q 657 724 713 724 q 568 693 608 724 q 504 608 528 663 q 481 485 481 554 q 505 369 481 422 q 576 285 529 317 q 686 251 622 253 q 786 276 736 250 q 876 353 836 301 l 943 290 q 843 193 897 228 q 738 144 789 158 q 647 131 688 131 z "},"®":{ha:1271,x_min:64,x_max:1207,o:"m 638 -99 q 405 -56 510 -99 q 224 63 300 -14 q 106 244 147 140 q 64 472 64 349 q 107 696 64 592 q 228 879 150 800 q 411 1003 306 958 q 640 1049 517 1049 q 869 1003 765 1049 q 1049 878 974 958 q 1166 694 1125 799 q 1207 471 1207 590 q 1163 249 1207 353 q 1042 68 1119 146 q 860 -54 964 -10 q 638 -99 757 -99 m 642 -19 q 836 19 750 -19 q 983 126 922 58 q 1077 283 1044 194 q 1110 472 1110 372 q 1076 662 1110 572 q 981 820 1043 751 q 833 928 919 889 q 638 968 746 968 q 444 928 532 968 q 294 820 357 889 q 197 662 231 751 q 163 472 163 572 q 196 283 163 372 q 292 126 229 194 q 443 19 354 58 q 642 -19 532 -19 m 363 164 l 363 225 q 412 239 394 228 q 429 307 429 250 l 429 658 q 431 709 429 686 q 433 743 432 732 l 363 740 l 363 813 q 451 813 407 813 q 538 814 494 814 q 625 814 582 814 q 820 769 747 814 q 890 613 893 724 q 873 538 889 574 q 823 474 857 501 q 735 432 789 447 q 765 408 753 425 q 790 372 778 392 q 853 277 832 308 q 889 236 874 246 q 928 225 904 226 l 928 164 l 782 164 q 747 199 765 176 q 711 251 729 221 q 651 353 669 321 q 628 395 633 385 q 618 413 624 406 q 592 413 604 413 q 565 413 581 413 l 565 318 q 565 269 565 293 q 564 233 564 244 l 642 236 l 642 164 l 363 164 m 604 492 q 681 507 650 492 q 728 551 713 522 q 744 621 744 581 q 722 699 744 675 q 671 730 700 724 q 622 736 642 736 q 579 722 593 736 q 565 661 565 707 l 565 496 q 585 492 576 493 q 604 492 593 492 z "},"â¢":{ha:1542,x_min:90,x_max:1457,o:"m 981 390 l 861 661 q 843 706 854 676 q 822 770 832 735 q 803 838 811 806 q 804 757 803 796 q 804 681 806 718 l 806 546 q 803 503 806 524 q 800 472 801 483 l 863 475 l 863 399 l 664 399 l 664 465 q 706 477 692 467 q 719 536 719 488 q 724 717 722 649 q 726 824 725 786 q 728 878 728 863 q 731 900 729 894 l 668 897 l 668 972 l 881 972 l 1017 654 q 1042 587 1032 617 q 1061 526 1051 557 q 1074 568 1067 543 q 1090 615 1082 593 q 1103 647 1099 638 l 1228 972 l 1447 972 l 1447 907 q 1403 895 1419 906 q 1388 836 1386 885 l 1399 546 q 1398 503 1399 524 q 1394 472 1397 483 l 1457 475 l 1457 399 l 1207 399 l 1207 465 q 1251 477 1235 467 q 1265 536 1267 488 l 1258 697 q 1257 731 1258 707 q 1255 785 1256 756 q 1253 839 1254 814 l 1089 390 l 981 390 m 232 399 l 232 465 q 275 478 260 468 q 290 538 290 488 l 290 897 l 246 897 q 172 865 199 897 q 144 767 144 833 l 90 767 l 94 972 l 631 972 l 635 767 l 581 767 q 553 866 581 833 q 479 897 526 899 l 433 897 l 433 547 q 433 504 433 525 q 431 472 432 483 l 496 475 l 496 399 l 232 399 z "},"°":{ha:531,x_min:39,x_max:492,o:"m 264 549 q 145 578 196 549 q 67 658 94 608 q 39 772 39 708 q 70 886 39 836 q 153 965 101 936 q 267 994 206 994 q 387 965 336 994 q 465 886 438 936 q 492 772 492 836 q 460 658 492 708 q 378 578 429 608 q 264 549 326 549 m 265 647 q 344 685 314 647 q 375 772 375 722 q 344 860 375 822 q 265 897 314 897 q 188 860 218 897 q 157 772 157 822 q 188 685 157 722 q 265 647 218 647 z "},"â²":{ha:401,x_min:63,x_max:339,o:"m 144 667 l 63 704 l 185 1117 l 339 1051 l 144 667 z "},"â³":{ha:638,x_min:63,x_max:575,o:"m 144 667 l 63 704 l 185 1117 l 339 1051 l 144 667 m 381 667 l 299 704 l 421 1117 l 575 1051 l 381 667 z "},"|":{ha:360,x_min:85,x_max:276,o:"m 88 -376 l 85 1056 l 276 1056 l 271 -376 l 88 -376 z "},"¦":{ha:344,x_min:93,x_max:250,o:"m 97 521 l 93 1056 l 250 1056 l 244 521 l 97 521 m 97 -376 l 93 157 l 250 157 l 244 -376 l 97 -376 z "},â:{ha:615,x_min:-14,x_max:601,o:"m 358 -22 q 238 15 292 -22 q 160 115 183 51 q 142 275 142 160 l 142 753 q 205 982 142 908 q 361 1056 268 1056 q 472 1015 432 1056 q 513 907 513 974 q 463 738 513 829 q 385 622 439 690 q 251 463 332 553 l 251 525 q 458 879 458 753 q 431 977 458 949 q 367 1006 404 1006 q 315 988 339 1006 q 276 928 290 971 q 261 807 261 885 l 261 228 q 298 74 261 117 q 392 31 335 31 q 485 74 440 31 q 563 222 529 117 l 601 214 q 514 46 575 114 q 358 -22 453 -22 m 15 221 l -14 249 l 146 408 l 149 353 l 15 221 z "}
4806,"â ":{ha:722,x_min:39,x_max:683,o:"m 318 -376 q 303 -124 311 -257 q 285 141 296 8 q 260 389 275 274 q 283 477 272 421 q 306 582 294 533 q 188 556 231 561 q 138 550 144 550 q 90 557 113 550 q 53 581 68 564 q 39 631 39 599 q 53 679 39 663 q 89 702 67 696 q 136 708 111 708 q 225 697 181 708 q 314 676 269 685 q 290 799 304 732 q 271 921 276 865 q 276 978 268 949 q 306 1027 285 1007 q 363 1047 326 1047 q 419 1027 399 1047 q 447 978 439 1007 q 451 921 454 949 q 433 798 446 865 q 408 675 419 731 q 498 697 453 685 q 586 708 543 708 q 633 702 611 708 q 669 679 656 696 q 683 631 683 663 q 669 581 683 599 q 633 557 656 564 q 585 550 611 550 q 490 565 529 556 q 417 582 451 575 q 439 476 428 533 q 463 389 450 419 q 437 141 447 272 q 419 -123 426 10 q 404 -376 411 -256 l 318 -376 z "},"â¡":{ha:756,x_min:56,x_max:700,o:"m 376 -376 q 320 -356 340 -376 q 293 -306 300 -336 q 289 -249 286 -276 q 297 -167 292 -211 q 310 -78 303 -122 q 324 3 318 -33 q 235 -17 281 -6 q 153 -29 189 -29 q 106 -22 128 -29 q 69 1 83 -15 q 56 49 56 18 q 70 98 56 81 q 107 122 85 115 q 154 129 129 129 q 249 116 204 129 q 329 96 294 103 q 312 176 321 136 q 294 257 303 217 q 276 338 286 297 q 299 458 288 399 q 322 578 311 518 q 206 551 250 557 q 154 546 161 546 q 107 552 129 546 q 70 576 85 558 q 56 625 56 593 q 69 674 56 657 q 106 698 83 692 q 153 704 128 704 q 242 692 197 704 q 331 671 286 681 q 316 753 325 708 q 299 842 307 797 q 289 924 292 886 q 294 981 286 951 q 324 1031 303 1011 q 379 1051 344 1051 q 437 1031 417 1051 q 464 981 457 1011 q 468 924 471 951 q 458 842 465 886 q 442 753 450 797 q 426 671 433 708 q 516 692 471 681 q 604 704 561 704 q 651 698 629 704 q 686 674 672 692 q 700 625 700 657 q 686 576 700 593 q 650 552 672 558 q 603 546 628 546 q 507 562 546 551 q 433 578 468 572 q 456 458 444 518 q 476 338 467 399 q 451 217 464 278 q 426 96 439 157 q 507 115 479 108 q 555 126 535 122 q 603 129 575 129 q 650 122 628 129 q 686 98 672 115 q 700 49 700 81 q 686 1 700 18 q 651 -22 672 -15 q 604 -29 629 -29 q 526 -18 568 -29 q 433 3 483 -7 q 447 -78 440 -33 q 460 -167 454 -122 q 468 -249 465 -211 q 463 -306 471 -276 q 433 -356 454 -336 q 376 -376 413 -376 z "},"â®":{ha:772,x_min:43,x_max:729,o:"m 385 -18 q 203 30 281 -18 q 85 160 126 78 q 43 344 43 243 q 85 529 43 447 q 205 658 128 611 q 385 706 282 706 q 571 657 496 706 q 686 526 646 608 q 729 344 726 444 l 193 344 l 193 107 q 282 49 233 69 q 385 29 331 29 q 642 186 549 29 l 688 158 q 557 28 632 74 q 385 -18 482 -18 m 193 392 l 579 392 l 579 581 q 383 661 497 661 q 193 581 269 661 l 193 392 z "},"â":{ha:1633,x_min:67,x_max:1565,o:"m 808 -14 l 364 554 q 326 604 346 578 q 288 658 307 631 l 286 658 l 289 228 q 288 156 289 190 q 283 103 286 121 q 340 106 306 106 q 388 107 374 107 l 388 0 l 71 0 l 71 92 q 124 100 103 93 q 158 132 146 107 q 169 213 169 157 l 167 744 q 168 817 167 782 q 172 869 169 851 q 116 867 150 868 q 67 865 82 867 l 67 972 l 285 972 l 710 436 q 767 360 744 392 q 807 304 790 328 l 808 304 l 808 744 q 810 817 808 782 q 813 869 811 851 q 757 867 790 868 q 708 865 724 867 l 708 972 l 1025 972 l 1025 881 q 972 872 994 879 q 938 841 950 865 q 926 760 926 817 l 926 -14 l 808 -14 m 1300 506 q 1184 536 1233 506 q 1108 619 1135 567 q 1081 740 1081 672 q 1108 870 1081 813 q 1185 961 1135 928 q 1304 994 1236 994 q 1421 965 1372 994 q 1496 881 1469 935 q 1522 757 1522 828 q 1497 626 1524 683 q 1419 538 1469 569 q 1300 506 1369 506 m 1307 583 q 1359 624 1340 585 q 1378 738 1378 663 q 1370 834 1378 793 q 1346 898 1363 875 q 1301 919 1329 921 q 1249 879 1268 918 q 1229 764 1229 840 q 1238 667 1229 708 q 1263 605 1246 626 q 1307 583 1281 583 m 1054 292 l 1054 442 l 1565 442 l 1565 296 l 1054 292 z "},âª:{ha:989,x_min:69,x_max:988,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 549 l 469 549 l 576 731 q 626 814 600 772 q 671 871 653 856 q 624 868 649 869 q 583 865 599 867 l 583 972 l 924 972 l 924 881 q 858 869 893 879 q 785 831 822 860 q 708 739 747 801 l 575 525 q 624 487 603 507 q 663 443 646 467 l 806 242 q 863 169 833 203 q 925 114 893 135 q 988 92 957 93 l 988 0 l 774 0 q 738 25 763 1 q 685 82 713 49 q 638 142 657 115 l 500 342 q 460 396 482 368 q 419 438 439 424 l 369 438 l 369 228 q 368 156 369 190 q 364 103 367 121 q 420 106 386 106 q 468 107 454 107 l 468 0 l 69 0 z "},"¢":{ha:785,x_min:71,x_max:729,o:"m 357 -190 l 357 -18 q 212 38 276 -6 q 109 156 147 82 q 71 332 71 231 q 107 504 71 425 q 208 638 143 583 q 361 711 274 693 l 360 869 l 483 869 l 482 714 q 644 647 590 703 q 699 526 699 592 q 674 455 699 486 q 606 422 650 424 q 532 452 553 421 q 511 513 511 483 q 515 542 511 525 q 528 574 519 560 q 499 604 518 594 q 459 617 479 614 q 426 619 439 621 q 317 553 360 615 q 274 372 274 490 q 291 242 274 303 q 349 143 308 182 q 457 101 389 104 q 571 129 515 100 q 665 208 626 158 l 729 146 q 603 26 668 61 q 474 -18 538 -8 l 472 -190 l 357 -190 z "},"¤":{ha:786,x_min:88,x_max:700,o:"m 188 38 l 88 118 l 167 210 q 129 353 129 276 q 140 429 129 392 q 171 501 151 467 l 88 597 l 188 678 l 257 590 q 319 619 285 608 q 393 629 354 629 q 467 619 433 629 q 531 590 501 608 l 600 676 l 700 597 l 615 501 q 647 429 636 467 q 657 353 657 392 q 619 210 657 272 l 700 118 l 600 38 l 533 121 q 469 95 504 104 q 393 86 433 86 q 317 95 353 86 q 254 121 282 104 l 188 38 m 393 192 q 440 210 421 192 q 469 256 458 228 q 485 316 481 285 q 489 374 489 347 q 484 419 489 393 q 468 470 479 446 q 439 510 457 494 q 393 526 421 526 q 348 510 3
480667 526 q 319 470 329 494 q 303 419 308 446 q 299 374 299 393 q 303 316 299 347 q 317 256 307 285 q 347 210 328 228 q 393 192 365 192 z "},$:{ha:817,x_min:69,x_max:758,o:"m 365 -214 l 364 -18 q 275 5 321 -11 q 189 46 229 21 l 192 -12 l 85 -12 l 85 313 l 175 313 q 258 137 194 196 q 419 78 322 78 q 533 117 493 78 q 574 217 574 157 q 545 293 574 264 q 470 344 517 322 q 371 386 424 365 q 222 465 290 419 q 111 574 153 510 q 69 729 69 639 q 82 815 69 771 q 125 899 94 860 q 210 964 156 938 q 347 994 264 990 l 347 1163 l 478 1163 l 476 981 q 535 960 507 972 q 589 928 564 947 l 585 985 l 693 985 l 693 661 l 601 661 q 562 791 589 739 q 490 869 535 843 q 381 894 446 896 q 313 879 342 894 q 267 837 283 864 q 250 775 250 810 q 269 702 250 732 q 335 644 289 672 q 461 581 382 617 q 565 530 513 558 q 662 464 618 501 q 732 376 706 426 q 758 258 758 326 q 728 128 758 186 q 638 32 697 69 q 493 -18 579 -6 l 492 -214 l 365 -214 z "},"â¬":{ha:1124,x_min:58,x_max:1071,o:"m 653 -22 q 446 22 538 -22 q 292 144 354 67 q 203 322 231 222 l 58 321 l 83 431 l 185 429 q 183 471 183 450 q 183 511 183 492 l 58 511 l 83 619 l 201 619 q 285 805 226 719 q 438 942 343 890 q 663 994 532 994 q 778 978 717 994 q 894 926 839 963 l 897 985 l 1004 985 l 971 681 l 879 681 q 856 796 879 749 q 790 869 833 843 q 681 894 746 894 q 547 857 604 894 q 451 757 489 819 q 397 619 414 694 l 863 618 l 797 514 l 383 513 q 382 471 382 492 q 386 429 382 450 l 779 428 l 710 324 l 404 322 q 508 149 435 208 q 686 90 581 90 q 860 135 774 90 q 1004 261 946 181 l 1071 200 q 928 59 1003 107 q 781 -6 853 11 q 653 -22 710 -22 z "},"â´":{ha:883,x_min:47,x_max:785,o:"m 418 -22 q 248 10 326 -22 q 122 98 169 42 q 74 231 74 154 q 90 311 74 275 q 132 376 107 347 l 132 382 q 257 475 185 435 q 390 546 329 515 q 512 620 465 585 q 580 693 558 656 q 601 772 601 731 q 562 865 601 838 q 474 894 522 893 q 367 869 419 896 q 276 791 314 843 q 225 661 238 739 l 133 661 l 133 985 l 242 985 l 236 928 q 344 978 283 961 q 479 994 404 994 q 650 965 583 994 q 749 886 717 935 q 782 779 782 838 q 758 683 782 724 q 700 608 733 642 l 700 604 q 631 549 668 574 q 560 504 594 524 q 500 471 525 485 q 354 378 407 421 q 280 295 301 336 q 258 208 258 254 q 300 107 258 136 q 411 78 342 78 q 589 137 514 78 q 682 313 664 196 l 774 313 q 728 149 767 225 q 613 25 689 72 q 418 -22 538 -22 m 47 381 l 47 460 l 785 457 l 785 383 l 47 381 m 47 528 l 47 606 l 785 604 l 785 531 l 47 528 z "},"âº":{ha:822,x_min:14,x_max:771,o:"m 69 0 l 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 443 l 14 388 l 14 474 l 168 529 l 168 579 l 14 524 l 14 610 l 168 665 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 468 972 l 468 881 q 415 872 438 879 q 381 841 393 865 q 369 760 369 817 l 369 738 l 604 817 l 604 731 l 369 651 l 369 601 l 604 681 l 604 594 l 369 515 l 369 228 q 368 152 369 192 q 364 93 367 113 q 519 109 458 83 q 608 188 579 135 q 638 315 638 242 q 579 347 603 324 q 556 410 556 371 q 582 475 556 450 q 653 500 608 500 q 739 460 707 500 q 771 342 771 419 q 745 212 771 274 q 669 103 719 150 q 542 28 618 56 q 363 0 465 0 l 69 0 z "},"â½":{ha:860,x_min:65,x_max:836,o:"m 69 92 q 123 100 101 93 q 156 132 144 107 q 168 213 168 157 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 q 267 974 168 974 q 464 975 365 974 q 656 943 572 976 q 788 840 740 910 q 836 660 836 771 q 812 551 836 604 q 741 453 788 497 q 626 382 694 410 q 469 351 558 354 q 416 350 439 350 q 369 351 393 350 l 369 229 q 368 156 369 190 q 364 103 367 121 q 403 105 379 104 q 449 106 426 106 q 482 107 472 107 l 482 0 l 69 0 l 69 92 m 369 456 q 400 453 385 454 q 432 451 415 451 q 537 477 494 451 q 601 552 579 503 q 622 672 622 601 q 608 783 622 742 q 569 845 593 825 q 517 872 544 865 q 463 878 489 878 q 413 871 433 878 q 381 840 392 864 q 369 768 369 817 l 369 456 m 65 449 l 274 449 l 274 351 l 65 351 l 65 449 m 65 275 l 565 275 l 565 179 l 65 178 l 65 275 z "},"£":{ha:796,x_min:71,x_max:738,o:"m 168 521 q 156 585 161 551 q 151 660 151 619 q 192 842 151 767 q 300 956 233 917 q 443 994 367 994 q 581 966 529 994 q 655 898 632 938 q 678 822 678 858 q 655 751 678 782 q 589 719 632 721 q 535 733 556 718 q 504 767 514 747 q 494 804 494 788 q 499 841 494 822 q 518 876 504 860 q 497 891 513 885 q 458 897 482 897 q 380 868 408 897 q 340 797 351 839 q 328 711 328 754 q 334 610 328 657 q 347 521 340 563 l 567 521 l 567 414 l 369 410 q 371 328 378 369 q 342 250 364 286 q 279 186 319 214 q 340 203 313 199 q 390 207 367 207 q 478 190 442 207 q 544 155 515 172 q 599 138 572 138 q 629 157 614 138 q 647 217 644 176 l 738 217 q 694 47 733 115 q 576 -22 654 -22 q 533 -17 554 -22 q 491 -1 511 -11 q 451 20 471 8 q 413 44 432 32 q 340 81 381 64 q 264 100 300 99 q 219 13 251 49 q 149 -22 186 -22 q 88 1 106 -22 q 71 56 71 25 q 106 131 71 96 q 192 185 140 167 q 208 232 201 203 q 215 283 215 261 q 210 349 215 318 q 199 407 206 379 l 89 406 l 89 521 l 168 521 z "},"â¸":{ha:903,x_min:22,x_max:879,o:"m 788 464 q 767 588 788 539 q 708 662 746 638 q 617 685 669 686 l 550 685 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 683 l 285 683 q 160 629 206 682 q 114 464 114 576 l 22 464 l 29 778 l 871 778 l 879 464 l 788 464 m 29 972 l 871 972 l 871 879 l 29 875 l 29 972 z "},"â®":{ha:903,x_min:22,x_max:879,o:"m 167 418 l 167 521 l 732 672 l 732 574 l 167 418 m 167 218 l 167 322 l 732 472 l 732 374 l 167 218 m 788 658 q 767 783 788 733 q 708 856 746 832 q 617 879 669 881 l 550 879 l 550 228 q 549 156 550 190 q 544 103 547 121 q 605 106 568 106 q 656 107 642 107 l 656 0 l 250 0 l 250 92 q 303 100 282 93 q 337 132 325 107 q 349 213 349 157 l 349 878 l 285 878 q 160 824 206 876 q 114 658 114 771 l 22 658 l 29 972 l 871 972 l 879 658 l 788 658 z "},"Â¥":{ha:1003,x_min:44,x_max:960,o:"m 321 0 l 321 92 q 372 99 350 93 q 406 125 393 104 q 419 192 418 146 l 268 192 l 268 299 l 421 299 l 421 368 l 268 368 l 268 475 l 336 475 l 164 738 q 127 808 143 769 q 111 869 111 847 q 74 867 89 868 q 44 865 60 867 l 44 972 l 453 972 l 453 881 q 386 872 413 883 q 354 836 360 861 q 371 774 349 811 l 478 600 q 498 566 485 590 q 526 515 511 542 q 547 467 540 488 q 575 524 568 508 q 583 540 582 539 q 583 542 583 542 q 590 553 583 542 q 614 601 596 565 l 686 743 q 706 783 693 758 q 734 831 719 807 q 760 871 749 856 q 703 868 738 869 q 653 865 668 867 l 653 972 l 960 972 l 960 881 q 878 841 913 874 q 803 732 843 808 l 665 472 l 760 472 l 760 371 l 621 369 l 621 297 l 760 296 l 760 194 l 621 193 q 619 158 621 175 q 617 126 618 140 q 615 103 617 113 q 676 106 639 106 q 726 107 713 107 l 726 0 l 321 0 z "},"â":{ha:407,x_min:89,x_max:290,o:"m 192 363 q 117 394 146 363 q 89 471 89 426 q 119 547 89 515 q 190 579 150 579 q 262 547 233 579 q 290 471 290 515 q 263 394 290 426 q 192 363 236 363 z "},"â":{ha:1074,x_min:97,x_max:990,o:"m 188 -24 l 97 61 l 889 994 l 990 903 l 188 -24 m 853 0 q 782 27 808 0 q 744 92 756 54 q 733 163 733 131 q 744 226 733 194 q 779 281 754 258 q 847 303 804 303 q 920 276 894 303 q 956 210 946 249 q 965 140 965 172 q 956 83 965 115 q 922 25 946 50 q 853 0 897 0 m 249 668 q 176 695 201 668 q 140 760 150 722 q 131 831 131 799 q 140 889 131 856 q 176 947 150 922 q 246 971 201 971 q 317 944 292 971 q 352 879 342 917 q 363 808 363 842 q 352 745 363 778 q 317 690 342 713 q 249 668 293 668 z "},"â":{ha:521,x_min:-33,x_max:514,o:"m 67 -68 l -33 -18 l 407 1025 l 514 968 l 67 -68 z "},"+":{ha:736,x_min:58,x_max:678,o:"m 58 554 l 678 554 l 678 446 l 58 446 l 58 554 m 422 810 l 422 190 l 314 190 l 314 810 l 422 810 z "},"â":{ha:736,x_min:58,x_max:678,o:"m 58 554 l 678 554 l 678 446 l 58 446 l 58 554 z "},"Ã":{ha:736,x_min:111,x_max:625,o:"m 188 757 l 625 319 l 549 243 l 111 681 l 188 757 m 625 682 l 186 243 l 111 318 l 550 757 l 625 682 z "},"÷":{ha:736,x_min:58,x_max:678,o:"m 371 171 q 297 203 325 171 q 268 279 268 235 q 299 356 268 324 q 369 388 329 388 q 441 356 413 388 q 469 279 469 324 q 442 203 469 235 q 371 171 415 171 m 371 619 q 297 651 325 619 q 268 728 268 683 q 299 804 268 772 q 369 836 329 836 q 441 804 413 836 q 469 728 469 772 q 442 651 469 683 q 371 619 415 619 m 58 554 l 678 554 l 678 446 l 58 446 l 58 554 z "},"=":{ha:736,x_min:58,x_max:678,o:"m 58 685 l 678 685 l 678 576 l 58 576 l 58 685 m 58 438 l 678 438 l 678 329 l 58 329 l 58 438 z "},"â ":{ha:736,x_min:58,x_max:678,o:"m 207 147 l 121 208 l 553 872 l 640 814 l 207 147 m 58 685 l 678 685 l 678 576 l 58 576 l 58 685 m 58 438 l 678 438 l 678 329 l 58 329 l 58 438 z "},">":{ha:736,x_min:56,x_max:681,o:"m 56 774 l 681 501 l 681 378 l 56 100 l 56 239 l 501 436 l 56 633 l 56 774 z "},"<":{ha:736,x_min:56,x_max:681,o:"m 681 100 l 56 372 l 56 496 l 681 774 l 681 635 l 235 438 l 681 240 l 681 100 z "},"â¥":{ha:736,x_min:58,x_max:685,o:"m 58 0 l 58 118 l 685 125 l 685 0 l 58 0 m 60 844 l 685 572 l 685 449 l 60 171 l 60 310 l 506 507 l 60 704 l 60 844 z "},"â¤":{ha:736,x_min:56,x_max:681,o:"m 56 0 l 56 118 l 681 125 l 681 0 l 56 0 m 681 167 l 56 439 l 56 563 l 681 840 l 681 701 l 235 504 l 681 307 l 681 167 z "},"±":{ha:736,x_min:58,x_max:678,o:"m 58 554 l 678 554 l 678 446 l 58 446 l 58 554 m 422 810 l 422 190 l 314 190 l 314 810 l 422 810 m 58 82 l 678 82 l 678 -26 l 58 -26 l 58 82 z "},"â":{ha:736,x_min:60,x_max:676,o:"m 511 456 q 424 469 460 456 q 360 499 389 482 q 302 530 332 517 q 231 543 272 543 q 135 527 174 543 q 60 488 97 511 l 60 611 q 142 657 104 642 q 236 672 181 672 q 324 660 289 672 q 384 631 358 647 q 436 601 410 614 q 500 585 463 588 q 596 598 550 582 q 676 640 642 614 l 676 517 q 606 473 647 490 q 511 456 565 456 m 511 185 q 424 198 460 185 q 360 228 389 211 q 302 259 332 246 q 231 272 272 272 q 135 256 174 272 q 60 215 97 239 l 60 339 q 142 385 104 369 q 236 401 181 401 q 324 389 289 401 q 384 360 358 376 q 43
48066 330 410 343 q 500 314 463 317 q 596 326 550 311 q 676 368 642 342 l 676 246 q 606 202 647 219 q 511 185 565 185 z "},"~":{ha:736,x_min:60,x_max:678,o:"m 513 279 q 424 295 460 279 q 360 331 389 311 q 302 367 332 351 q 231 383 272 383 q 136 364 175 383 q 60 317 97 344 l 60 481 q 143 535 104 517 q 236 554 182 554 q 324 540 290 554 q 385 506 358 525 q 438 469 411 486 q 501 450 464 453 q 597 465 551 446 q 678 515 642 483 l 678 351 q 608 300 649 321 q 513 279 567 279 z "},"¬":{ha:736,x_min:50,x_max:675,o:"m 553 207 l 549 369 l 50 367 l 50 503 l 675 499 l 675 207 l 553 207 z "},"^":{ha:1143,x_min:83,x_max:1060,o:"m 869 607 l 567 893 l 265 613 l 83 613 l 511 994 l 635 994 l 1060 607 l 869 607 z "},"â":{ha:1143,x_min:68,x_max:1074,o:"m 829 175 q 694 210 763 175 q 561 331 626 246 q 460 225 521 269 q 326 181 399 181 q 206 208 256 181 q 126 279 157 235 q 82 377 96 324 q 68 483 68 431 q 99 629 68 564 q 186 733 129 694 q 319 772 243 772 q 463 731 394 772 q 581 614 531 689 q 700 735 636 693 q 839 778 764 778 q 975 737 924 778 q 1050 627 1026 696 q 1074 474 1074 558 q 1044 325 1074 393 q 959 216 1014 257 q 829 175 904 175 m 301 339 q 366 349 329 339 q 439 381 403 360 q 497 435 475 403 q 465 485 483 461 q 426 532 446 510 q 383 571 406 554 q 336 597 360 588 q 289 606 313 606 q 230 592 258 606 q 184 550 201 579 q 167 475 167 521 q 206 375 167 411 q 301 339 244 339 m 838 339 q 910 358 879 339 q 959 409 942 376 q 976 485 976 442 q 939 585 976 547 q 836 624 901 624 q 741 600 794 624 q 643 513 688 576 q 698 430 667 469 q 765 365 729 390 q 838 339 801 339 z "},"â«":{ha:579,x_min:-7,x_max:589,o:"m 144 -376 q 39 -344 85 -376 q -7 -254 -7 -312 q 16 -188 -7 -217 q 78 -158 39 -160 q 144 -185 126 -156 q 161 -240 161 -214 q 160 -249 161 -244 q 158 -260 160 -253 q 165 -261 161 -261 q 171 -261 168 -261 q 203 -228 197 -261 q 208 -151 210 -194 l 193 733 q 217 895 192 821 q 296 1014 242 969 q 438 1056 350 1058 q 513 1041 478 1056 q 568 999 547 1026 q 589 932 589 972 q 566 867 589 894 q 504 836 543 839 q 439 863 457 835 q 421 918 421 892 q 425 939 421 926 q 419 941 422 940 q 413 942 415 942 q 383 920 397 942 q 369 844 368 899 l 383 -56 q 360 -217 385 -144 q 283 -333 336 -290 q 144 -376 229 -376 z "},â¦:{ha:1092,x_min:74,x_max:1024,o:"m 85 0 l 74 226 l 161 226 q 190 151 161 168 q 267 136 219 135 l 411 139 l 411 140 q 237 222 313 164 q 119 360 161 279 q 78 538 78 442 q 109 701 78 619 q 200 849 140 782 q 346 955 260 915 q 542 994 432 994 q 744 956 657 994 q 888 854 831 918 q 975 711 946 790 q 1004 550 1004 632 q 981 417 1004 482 q 915 297 957 353 q 815 201 872 242 q 689 140 757 161 l 689 139 l 831 136 q 906 151 878 135 q 935 226 935 168 l 1024 226 l 1013 0 l 578 0 l 578 151 q 689 212 638 164 q 773 337 740 260 q 806 513 806 414 q 792 651 806 583 q 750 775 779 719 q 671 864 721 831 q 546 897 621 897 q 419 863 471 897 q 335 774 368 829 q 288 652 303 718 q 274 521 274 586 q 311 331 274 411 q 405 204 349 250 q 517 151 461 158 l 517 0 l 85 0 z "},"â":{ha:968,x_min:40,x_max:931,o:"m 40 0 l 419 994 l 528 994 l 931 0 l 40 0 m 710 97 l 439 779 l 185 99 l 710 97 z "},"â":{ha:1133,x_min:69,x_max:1065,o:"m 69 -354 l 69 -262 q 123 -254 101 -261 q 156 -222 144 -247 q 168 -142 168 -197 l 168 744 q 170 817 168 782 q 174 869 172 851 q 118 867 151 868 q 69 865 85 867 l 69 972 l 1065 972 l 1065 881 q 1012 872 1035 879 q 977 841 989 865 q 965 760 965 817 l 965 -126 q 964 -199 965 -164 q 960 -251 963 -233 q 1017 -248 983 -249 q 1065 -247 1050 -247 l 1065 -354 l 665 -354 l 665 -262 q 719 -254 697 -261 q 753 -222 742 -247 q 765 -142 765 -197 l 765 868 l 369 863 l 369 -126 q 368 -199 369 -164 q 364 -251 367 -233 q 420 -248 386 -249 q 468 -247 454 -247 l 468 -354 l 69 -354 z "},"â":{ha:943,x_min:47,x_max:868,o:"m 81 -353 l 81 -261 q 134 -246 113 -260 q 176 -201 156 -232 q 222 -122 196 -171 l 426 289 l 149 796 q 130 838 138 818 q 117 868 122 858 q 78 867 94 867 q 47 865 63 867 l 47 972 l 829 972 l 838 703 l 746 703 q 719 817 746 779 q 654 869 693 856 q 578 882 615 883 l 321 881 q 348 846 338 863 q 368 811 358 829 l 592 399 l 592 376 l 324 -158 q 301 -199 317 -172 q 269 -249 286 -225 l 608 -247 q 689 -228 650 -247 q 753 -166 728 -210 q 7
480678 -47 778 -122 l 868 -47 l 861 -353 l 81 -353 z "},"â":{ha:1172,x_min:-4,x_max:1200,o:"m 390 -3 l 183 499 q 163 558 168 538 q 154 593 157 579 l -4 597 l -4 694 l 311 694 l 415 429 q 452 325 435 381 q 479 226 469 269 q 510 339 490 271 q 554 485 531 407 l 776 1197 l 1200 1197 l 1200 1092 l 856 1096 l 508 -3 l 390 -3 z "},"â":{ha:739,x_min:61,x_max:665,o:"m 315 -22 q 192 13 250 -22 q 97 118 133 49 q 61 289 61 188 q 102 507 61 415 q 215 649 143 599 q 376 699 286 699 q 435 688 400 699 q 489 660 471 678 q 463 765 482 711 q 409 863 444 818 q 317 933 374 908 q 179 951 261 958 l 176 1051 q 404 1032 311 1072 q 555 907 497 992 q 639 709 613 822 q 665 471 665 596 q 636 240 665 335 q 558 88 607 146 q 446 4 508 31 q 315 -22 383 -22 m 347 78 q 415 112 388 79 q 461 197 443 144 q 488 311 479 249 q 497 437 496 374 q 492 553 497 500 q 463 583 486 564 q 396 601 439 603 q 321 561 356 600 q 265 454 286 522 q 243 296 243 386 q 274 126 243 174 q 347 78 304 78 z "},µ:{ha:850,x_min:117,x_max:811,o:"m 214 -376 q 139 -336 161 -376 q 117 -232 117 -296 l 117 694 l 290 694 l 290 256 q 305 180 290 213 q 345 128 319 147 q 404 110 371 110 q 456 121 429 110 q 508 161 482 132 l 508 694 l 682 694 l 681 197 q 682 169 681 186 q 690 140 683 153 q 714 126 697 126 q 736 132 724 126 q 765 151 749 138 l 811 93 q 742 26 789 60 q 643 -7 696 -7 q 571 9 603 -7 q 526 61 539 25 q 454 4 488 18 q 378 -10 421 -10 q 292 18 333 -10 q 219 114 251 46 l 211 107 q 257 -40 239 19 q 285 -140 275 -99 q 299 -211 294 -181 q 303 -271 303 -242 q 284 -343 303 -310 q 214 -376 265 -376 z "},"%":{ha:1256,x_min:57,x_max:1200,o:"m 268 -24 l 178 61 l 969 994 l 1071 903 l 268 -24 m 319 451 q 176 490 235 451 q 87 589 117 528 q 57 718 57 650 q 88 846 57 783 q 176 951 118 908 q 317 994 235 993 q 461 956 403 996 q 549 856 519 917 q 579 731 579 794 q 544 593 579 657 q 451 490 510 529 q 319 451 393 451 m 321 563 q 374 585 356 563 q 401 643 393 608 q 410 710 410 678 q 406 768 410 738 q 391 826 401 799 q 363 870 381 853 q 318 888 344 888 q 263 861 283 888 q 235 800 243 835 q 228 739 228 765 q 232 682 228 713 q 246 624 236 651 q 274 580 256 597 q 321 563 292 563 m 940 -22 q 797 16 856 -22 q 708 115 738 54 q 678 244 678 176 q 708 372 678 310 q 797 477 739 435 q 938 521 856 519 q 1081 483 1022 522 q 1169 382 1139 443 q 1200 257 1200 321 q 1165 121 1200 185 q 1072 17 1131 57 q 940 -22 1014 -22 m 942 89 q 995 113 976 89 q 1022 170 1014 136 q 1031 236 1031 204 q 1026 294 1031 264 q 1012 352 1022 325 q 983 397 1001 379 q 939 414 965 414 q 884 388 904 414 q 856 326 864 361 q 847 265 847 292 q 851 208 847 239 q 866 151 856 178 q 894 106 876 124 q 942 89 913 89 z "},"â°":{ha:1828,x_min:61,x_max:1776,o:"m 1517 -22 q 1373 16 1432 -22 q 1283 115 1314 54 q 1253 244 1253 176 q 1283 373 1253 310 q 1372 478 1314 436 q 1513 521 1431 519 q 1657 484 1599 524 q 1746 383 1715 444 q 1776 257 1776 321 q 1742 121 1776 185 q 1649 17 1707 57 q 1517 -22 1590 -22 m 1517 89 q 1560 103 1543 89 q 1588 139 1578 117 q 1601 187 1597 161 q 1606 236 1606 213 q 1601 294 1606 264 q 1587 352 1597 325 q 1558 397 1576 379 q 1514 414 1540 414 q 1459 388 1479 414 q 1431 326 1439 361 q 1424 265 1424 292 q 1428 208 1424 239 q 1442 151 1432 178 q 1471 106 1453 124 q 1517 89 1489 89 m 272 -24 l 182 61 l 974 994 l 1075 903 l 272 -24 m 324 451 q 180 490 239 451 q 91 589 121 528 q 61 718 61 650 q 92 846 61 783 q 181 951 122 908 q 321 994 239 993 q 465 956 407 996 q 553 856 524 917 q 583 731 583 794 q 549 593 583 657 q 456 490 514 529 q 324 451 397 451 m 325 563 q 378 585 360 563 q 406 643 397 608 q 414 710 414 678 q 410 768 414 738 q 395 826 406 799 q 367 870 385 853 q 322 888 349 888 q 267 861 288 888 q 240 800 247 835 q 232 739 232 765 q 236 682 232 713 q 250 624 240 651 q 278 580 260 597 q 325 563 296 563 m 944 -22 q 801 16 860 -22 q 712 115 742 54 q 682 244 682 176 q 713 372 682 310 q 801 477 743 435 q 942 521 860 519 q 1085 483 1026 522 q 1174 382 1143 443 q 1204 257 1204 321 q 1169 121 1204 185 q 1076 17 1135 57 q 944 -22 1018 -22 m 946 89 q 999 113 981 89 q 1026 170 1018 136 q 1035 236 1035 204 q 1031 294 1035 264 q 1016 352 1026 325 q 988 397 1006 379 q 943 414 969 414 q 888 388 908 414 q 860 326 868 361 q 851 265 851 292 q 856 208 851 239 q 870 151 860 178 q 899 106 881 124 q 946 89 917 89 z "},"â":{ha:706,x_min:58,x_max:646,o:"m 317 -24 l 58 479 l 58 531 l 322 1054 l 396 1054 l 646 539 l 646 490 l 390 -24 l 317 -24 m 358 200 l 360 200 l 511 514 l 357 839 l 356 839 l 203 515 l 358 200 z "},"Ì":{ha:0,x_min:83,x_max:510,o:"m 417 833 q 352 864 379 833 q 325 938 325 894 q 353 1012 325 981 q 418 1043 381 1043 q 484 1012 458 1043 q 510 938 510 981 q 482 864 510 894 q 417 833 454 833 m 175 833 q 110 864 138 833 q 83 938 83 894 q 111 1012 83 981 q 176 1043 139 1043 q 242 1012 217 1043 q 268 938 268 981 q 240 864 268 894 q 175 833 213 833 z "},"Ì":{ha:0,x_min:61,x_max:272,o:"m 169 818 q 92 851 122 818 q 61 932 61 885 q 93 1013 61 979 q 168 1046 125 1046 q 242 1013 213 1046 q 272 932 272 979 q 244 851 272 885 q 169 818 217 818 z "},"Ì":{ha:0,x_min:213,x_max:485,o:"m 421 785 l 253 932 q 224 974 235 950 q 216 1024 213 999 q 242 1069 219 1050 q 288 1087 264 1088 q 335 1073 313 1086 q 371 1036 357 1060 l 485 842 l 421 785 z "},"Ì":{ha:0,x_min:215,x_max:488,o:"m 279 785 l 215 842 l 329 1036 q 366 1073 344 1060 q 413 1087 388 1086 q 460 1069 438 1088 q 485 1024 482 1050 q 477 974 488 999 q 447 932 467 950 l 279 785 z "},"Ì":{ha:0,x_min:63,x_max:561,o:"m 317 807 l 263 872 l 400 1032 q 476 1084 435 1072 q 542 1068 517 1096 q 556 1022 561 1046 q 534 976 551 997 q 496 939 517 954 l 317 807 m 133 794 l 63 842 l 153 1032 q 207 1097 172 1074 q 274 1101 242 1121 q 301 1063 297 1088 q 297 1013 306 1039 q 272 968 289 988 l 133 794 z "},"Ì":{ha:0,x_min:61,x_max:535,o:"m 475 781 l 299 926 l 297 926 l 119 790 l 61 857 l 299 1088 l 313 1088 l 535 851 l 475 781 z "},"Ì":{ha:0,x_min:40,x_max:507,o:"m 265 774 l 40 1008 l 100 1079 l 279 933 l 281 933 l 449 1079 l 507 1013 l 281 774 l 265 774 z "},"Ì":{ha:0,x_min:61,x_max:500,o:"m 278 833 q 197 851 239 833 q 119 908 156 868 q 61 1014 83 947 l 151 1060 q 204 991 174 1021 q 283 961 235 961 q 361 992 332 961 q 410 1061 390 1022 l 500 1021 q 406 876 464 919 q 278 833 349 833 z "},"Ì":{ha:0,x_min:83,x_max:414,o:"m 250 782 q 175 800 213 782 q 113 853 138 818 q 85 936 88 888 q 106 1022 83 985 q 167 1082 129 1060 q 249 1104 206 1104 q 325 1088 288 1104 q 387 1038 363 1071 q 413 951 411 1004 q 390 862 414 900 q 328 803 367 824 q 250 782 290 782 m 257 867 q 289 885 275 868 q 303 933 303 9
480601 q 287 1001 303 981 q 247 1021 271 1021 q 215 1004 229 1019 q 200 954 200 989 q 216 889 200 911 q 257 867 232 867 z "},"Ì":{ha:0,x_min:47,x_max:544,o:"m 544 1006 q 468 881 515 919 q 379 843 421 843 q 315 857 342 843 q 263 884 288 871 q 211 897 239 897 q 170 885 194 897 q 125 840 146 874 l 47 886 q 117 990 71 950 q 210 1029 163 1029 q 278 1016 253 1029 q 324 990 303 1003 q 379 976 346 976 q 425 995 403 976 q 465 1046 447 1014 l 544 1006 z "},"Ì":{ha:0,x_min:63,x_max:457,o:"m 63 871 l 63 1004 l 457 1004 l 457 876 l 63 871 z "},"Ì":{ha:0,x_min:231,x_max:560,o:"m 378 776 q 396 822 378 806 q 432 856 414 838 q 449 879 442 867 q 456 910 456 892 q 435 953 456 939 q 386 968 415 968 q 330 954 347 968 q 310 931 313 940 q 341 919 331 931 q 351 893 351 908 q 339 864 351 878 q 303 850 326 850 q 251 871 271 850 q 231 921 231 892 q 249 983 231 953 q 302 1032 267 1013 q 386 1051 338 1051 q 514 1017 468 1051 q 560 922 560 982 q 542 865 560 885 q 501 831 524 844 q 474 803 485 817 q 464 776 464 789 l 378 776 z "},"Ì":{ha:0,x_min:-101,x_max:99,o:"m 36 1147 l 99 1099 q 53 1001 68 1046 q 40 915 39 957 q 53 828 40 874 l -72 803 q -101 903 -101 851 q -62 1028 -101 964 q 36 1147 -24 1092 z "},"Ì":{ha:0,x_min:324,x_max:588,o:"m 324 600 l 324 690 q 406 726 376 690 q 436 801 436 763 l 588 801 q 555 692 588 738 q 463 624 522 647 q 324 600 404 600 z "},"Ì£":{ha:0,x_min:79,x_max:246,o:"m 165 -265 q 103 -239 126 -265 q 79 -176 79 -212 q 104 -112 79 -139 q 164 -86 129 -86 q 223 -112 200 -86 q 246 -176 246 -139 q 224 -239 246 -212 q 165 -265 201 -265 z "},"̦":{ha:0,x_min:107,x_max:307,o:"m 169 -394 l 107 -346 q 153 -247 139 -292 q 166 -161 167 -203 q 153 -75 165 -119 l 278 -50 q 307 -150 307 -97 q 269 -274 307 -211 q 169 -394 231 -337 z "},"̧":{ha:0,x_min:63,x_max:389,o:"m 74 -360 l 63 -287 q 107 -278 79 -285 q 163 -262 135 -272 q 210 -236 190 -251 q 229 -200 229 -221 q 211 -169 229 -176 q 171 -168 193 -162 q 135 -185 149 -174 l 83 -162 l 126 14 l 232 14 l 193 -96 q 240 -80 210 -86 q 288 -74 269 -74 q 360 -98 332 -75 q 389 -171 389 -121 q 356 -253 389 -219 q 272 -308 322 -286 q 167 -342 221 -329 q 74 -360 114 -354 z "},"̨":{ha:0,x_min:61,x_max:394,o:"m 211 -368 q 103 -332 144 -368 q 61 -225 61 -296 q 106 -103 61 -160 q 224 -3 151 -46 q 375 64 296 40 l 375 0 q 290 -47 332 -18 q 223 -111 249 -75 q 199 -186 197 -147 q 216 -226 200 -211 q 260 -242 232 -242 q 301 -231 279 -242 q 346 -201 324 -221 l 394 -261 q 310 -338 358 -308 q 211 -368 261 -368 z "},"̵":{ha:0,x_min:71,x_max:582,o:"m 71 361 l 71 511 l 582 511 l 582 365 l 71 361 z "},"̶":{ha:0,x_min:72,x_max:1101,o:"m 72 361 l 72 511 l 1101 511 l 1101 365 l 72 361 z "},"¨":{ha:593,x_min:83,x_max:510,o:"m 417 833 q 352 864 379 833 q 325 938 325 894 q 353 1012 325 981 q 418 1043 381 1043 q 484 1012 458 1043 q 510 938 510 981 q 482 864 510 894 q 417 833 454 833 m 175 833 q 110 864 138 833 q 83 938 83 894 q 111 1012 83 981 q 176 1043 139 1043 q 242 1012 217 1043 q 268 938 268 981 q 240 864 268 894 q 175 833 213 833 z "},"Ë":{ha:333,x_min:61,x_max:272,o:"m 169 818 q 92 851 122 818 q 61 932 61 885 q 93 1013 61 979 q 168 1046 125 1046 q 242 1013 213 1046 q 272 932 272 979 q 244 851 272 885 q 169 818 217 818 z "},"`":{ha:728,x_min:213,x_max:485,o:"m 421 785 l 253 932 q 224 974 235 950 q 216 1024 213 999 q 242 1069 219 1050 q 288 1087 264 1088 q 335 1073 313 1086 q 371 1036 357 1060 l 485 842 l 421 785 z "}
4806,"´":{ha:392,x_min:61,x_max:333,o:"m 125 785 l 61 842 l 175 1036 q 212 1073 190 1060 q 258 1087 233 1086 q 306 1069 283 1088 q 331 1024 328 1050 q 323 974 333 999 q 293 932 313 950 l 125 785 z "},"Ë":{ha:594,x_min:63,x_max:561,o:"m 317 807 l 263 872 l 400 1032 q 476 1084 435 1072 q 542 1068 517 1096 q 556 1022 561 1046 q 534 976 551 997 q 496 939 517 954 l 317 807 m 133 794 l 63 842 l 153 1032 q 207 1097 172 1074 q 274 1101 242 1121 q 301 1063 297 1088 q 297 1013 306 1039 q 272 968 289 988 l 133 794 z "},"Ë":{ha:596,x_min:61,x_max:535,o:"m 475 781 l 299 926 l 297 926 l 119 790 l 61 857 l 299 1088 l 313 1088 l 535 851 l 475 781 z "},"Ë":{ha:407,x_min:15,x_max:410,o:"m 15 793 l 15 926 l 410 926 l 410 799 l 15 793 z "},"Ë":{ha:589,x_min:40,x_max:507,o:"m 265 774 l 40 1008 l 100 1079 l 279 933 l 281 933 l 449 1079 l 507 1013 l 281 774 l 265 774 z "},"Ë":{ha:561,x_min:61,x_max:500,o:"m 278 833 q 197 851 239 833 q 119 908 156 868 q 61 1014 83 947 l 151 1060 q 204 991 174 1021 q 283 961 235 961 q 361 992 332 961 q 410 1061 390 1022 l 500 1021 q 406 876 464 919 q 278 833 349 833 z "},"Ë":{ha:497,x_min:83,x_max:414,o:"m 250 782 q 175 800 213 782 q 113 853 138 818 q 85 936 88 888 q 106 1022 83 985 q 167 1082 129 1060 q 249 1104 206 1104 q 325 1088 288 1104 q 387 1038 363 1071 q 413 951 411 1004 q 390 862 414 900 q 328 803 367 824 q 250 782 290 782 m 257 867 q 289 885 275 868 q 303 933 303 901 q 287 1001 303 981 q 247 1021 271 1021 q 215 1004 229 1019 q 200 954 200 989 q 216 889 200 911 q 257 867 232 867 z "},"Ë":{ha:592,x_min:47,x_max:544,o:"m 544 1006 q 468 881 515 919 q 379 843 421 843 q 315 857 342 843 q 263 884 288 871 q 211 897 239 897 q 170 885 194 897 q 125 840 146 874 l 47 886 q 117 990 71 950 q 210 1029 163 1029 q 278 1016 253 1029 q 324 990 303 1003 q 379 976 346 976 q 425 995 403 976 q 465 1046 447 1014 l 544 1006 z "},"¯":{ha:519,x_min:63,x_max:457,o:"m 63 871 l 63 1004 l 457 1004 l 457 876 l 63 871 z "},"¸":{ha:451,x_min:63,x_max:389,o:"m 74 -360 l 63 -287 q 107 -278 79 -285 q 163 -262 135 -272 q 210 -236 190 -251 q 229 -200 229 -221 q 211 -169 229 -176 q 171 -168 193 -162 q 135 -185 149 -174 l 83 -162 l 126 14 l 232 14 l 193 -96 q 240 -80 210 -86 q 288 -74 269 -74 q 360 -98 332 -75 q 389 -171 389 -121 q 356 -253 389 -219 q 272 -308 322 -286 q 167 -342 221 -329 q 74 -360 114 -354 z "},"Ë":{ha:456,x_min:61,x_max:394,o:"m 211 -368 q 103 -332 144 -368 q 61 -225 61 -296 q 106 -103 61 -160 q 224 -3 151 -46 q 375 64 296 40 l 375 0 q 290 -47 332 -18 q 223 -111 249 -75 q 199 -186 197 -147 q 216 -226 200 -211 q 260 -242 232 -242 q 301 -231 279 -242 q 346 -201 324 -221 l 394 -261 q 310 -338 358 -308 q 211 -368 261 -368 z "},ʼ:{ha:281,x_min:-31,x_max:197,o:"m 69 797 l 15 836 q 49 892 31 856 q 82 972 68 928 q 94 1056 96 1015 q 78 1052 85 1053 q 65 1051 72 1051 q -1 1074 28 1051 q -31 1143 -31 1096 q -3 1216 -31 1185 q 69 1247 24 1247 q 165 1206 133 1249 q 197 1101 197 1164 q 183 1007 197 1057 q 141 904 169 957 q 69 797 113 851 z "},Ê»:{ha:347,x_min:69,x_max:297,o:"m 197 1207 l 251 1168 q 218 1113 238 1150 q 185 1033 199 1076 q 172 949 171 989 q 188 952 182 951 q 201 953 194 953 q 268 931 239 953 q 297 861 297 910 q 270 788 297 819 q 197 757 243 757 q 101 798 133 756 q 69 903 69 840 q 83 997 69 947 q 126 1101 97 1047 q 197 1207 154 1154 z "},"á²":{ha:928,x_min:31,x_max:892,o:"m 31 -354 l 31 108 l 101 108 q 158 128 133 108 q 200 183 182 149 q 228 267 215 215 q 252 378 242 318 q 269 496 263 438 q 279 600 276 554 l 147 589 l 147 694 l 836 694 l 836 604 q 780 589 797 604 q 758 546 763 574 q 753 481 753 518 l 753 224 q 751 169 753 204 q 747 103 750 135 l 892 108 l 892 -354 l 800 -354 q 796 -206 801 -272 q 778 -94 790 -140 q 746 -24 765 -49 q 699 0 726 0 l 222 0 q 176 -24 196 0 q 144 -94 156 -49 q 126 -206 132 -140 q 121 -354 121 -272 l 31 -354 m 261 108 l 474 108 q 529 124 513 108 q 551 167 546 139 q 556 232 556 196 l 556 472 q 557 524 556 492 q 561 586 558 557 l 451 586 q 401 574 418 586 q 378 528 383 563 q 363 410 369 456 q 351 332 357 364 q 336 273 344 300 q 314 211 328 246 q 290 158 303 183 q 261 108 276 132 z "},"á²
":{ha:1256,x_min:57,x_max:1197,o:"m 60 0 l 60 90 q 115 106 99 90 q 137 149 132 121 q 142 214 142 178 l 142 471 q 143 526 142 490 q 147 593 144 563 l 57 589 l 57 694 l 1196 694 l 1196 604 q 1140 589 1157 604 q 1117 546 1122 574 q 1113 481 1113 518 l 1113 224 q 1112 169 1113 204 q 1108 101 1111 133 l 1197 106 l 1197 0 l 846 0 l 846 90 q 898 106 882 90 q 918 149 914 121 q 922 214 922 178 l 922 471 q 924 523 922 490 q 928 585 925 556 l 806 585 q 749 572 767 585 q 727 535 732 558 q 722 481 722 513 l 722 224 q 721 169 722 204 q 717 101 719 133 l 788 106 l 788 0 l 457 0 l 457 90 q 508 106 493 90 q 528 149 524 121 q 532 214 532 178 l 532 471 q 533 522 532 490 q 538 585 535 554 l 415 585 q 359 572 376 585 q 337 535 342 558 q 332 481 332 513 l 332 224 q 331 169 332 204 q 326 101 329 133 l 396 106 l 396 0 l 60 0 z "},"":{ha:765,x_min:68,x_max:697,o:"m 68 0 l 68 694 l 697 694 l 697 0 l 68 0 m 251 100 l 515 100 l 515 594 l 251 594 l 251 100 z "}},O4e="Lora",T4e=1397,R4e=-381,b4e=-139,I4e=69,P4e={yMin:-394,xMin:-157,yMax:1636,xMax:1821}
4806,L4e=1e3,D4e={format:0,copyright:'Copyright 2011 The Lora Project Authors (https://github.com/cyrealtype/Lora-Cyrillic), with Reserved Font Name "Lora".',fontFamily:"Lora",fontSubfamily:"Bold",uniqueID:"3.008;CYRE;Lora-Bold",fullName:"Lora Bold",version:"Version 3.008",postScriptName:"Lora-Bold",trademark:"Lora is a trademark of Cyreal.",manufacturer:"Cyreal",designer:"Olga Karpushina, Alexei Vanyashin (Cyrillic)",manufacturerURL:"https://cyreal.org",designerURL:"https://cyreal.org",licence:"This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL",licenceURL:"https://scripts.sil.org/OFL",unknown1:"Lora",unknown2:"Weight",unknown3:"Regular",unknown4:"Medium",unknown5:"SemiBold",unknown6:"Bold",unknown7:"Italic",unknown8:"Roman"},C4e="bold",w4e="normal",B4e={glyphs:v4e,familyName:O4e,ascender:T4e,descender:R4e,underlinePosition:b4e,underlineThickness:I4e,boundingBox:P4e,resolution:L4e,original_font_information:D4e,cssFontWeight:C4e,cssFontStyle:w4e};function U4e(){return{countries:{type:"FeatureCollection",features:[]},urbanDictionaryTerms:[],combinedTrendingData:[],allCountriesData:[],pulsingCountries:[],countriesLookup:new Map,selectedCountry:null,countryTrends:[],isLoading:!0,isLoadingDefinitions:!1,globeInstance:null,globeLabelsData:[],globeLabelsInitialized:!1,lastUpdatedText:"loading...",lastModifiedDate:null,showFeedbackModal:!1,feedbackSubmitted:!1,feedbackStatus:"",isTabVisible:!0,animationFrameId:null,lastFrameTime:0,targetFPS:60,frameInterval:0,resizeCleanup:null,performanceCleanup:null,loraFont:B4e,init(){this.setupPerformanceOptimizations(),this.loadData(),this.startLastUpdatedTimer(),this.$watch("countries",()=>this.generateCountryDataAndUpdate()),this.$watch("combinedTrendingData",()=>this.updateGlobeData()),this.$watch("showFeedbackModal",n=>{n||this.resetFeedbackForm()})},cleanup(){this.performanceCleanup&&this.performanceCleanup(),this.resizeCleanup&&this.resizeCleanup()},setupPerformanceOptimizations(){this.frameInterval=1e3/this.targetFPS,this.isTabVisible=!document.hidden},loadData(){const{allCountriesData:n,countriesLookup:e}=KC();this.allCountriesData=n,this.countriesLookup=e,this.countries=YC(),this.fetchUrbanDictionaryData(),this.isLoading=!1,this.$nextTick(()=>{this.initGlobe()})},async fetchUrbanDictionaryData(){try{const{urbanDictionaryTerms:n,lastModifiedDate:e}=await $C();this.urbanDictionaryTerms=n,this.lastModifiedDate=e,this.updateLastUpdatedText()}catch(n){console.error("Error fetching Urban Dictionary data:",n)}finally{this.combineDataAndRefreshGlobe()}},generateCountryDataAndUpdate(){this.urbanDictionaryTerms.length>0&&this.combineDataAndRefreshGlobe(),this.updateGlobeData()},combineDataAndRefreshGlobe(){if(this.allCountriesData.length===0)return;const{combinedTrendingData:n,pulsingCountries:e}=jC(this.allCountriesData,this.urbanDictionaryTerms);this.pulsingCountries=e,this.combinedTrendingData=n,this.globeLabelsData=M4e(this.combinedTrendingData),this.updateGlobeData()},initGlobe(){if(!this.$refs.globeViz)return;const n={countries:this.countries.features,pulsingCountries:this.pulsingCountries,loraFont:this.loraFont,onPolygonClick:(e,t)=>this.handleCountryClick(e,t),onLabelClick:(e,t)=>this.handleLabelClick(e,t)};if(this.globeInstance=q4e(this.$refs.globeViz,n),this.globeInstance){this.resizeCleanup=p4e(this.globeInstance,this.$refs.globeViz);const{startRenderLoop:e,stopRenderLoop:t,cleanup:i}=m4e(this.globeInstance);this.startRenderLoop=e,this.stopRenderLoop=t,this.performanceCleanup=i,this.updateGlobeData()}},updateGlobeData(){this.globeInstance&&(_4e(this.globeInstance,{countries:this.countries,globeLabelsData:this.globeLabelsData,pulsingCountries:this.pulsingCountries,globeLabelsInitialized:this.globeLabelsInitialized}),this.globeLabelsData.length>0&&(this.globeLabelsInitialized=!0),this.startRenderLoop&&this.startRenderLoop())},updateLastUpdatedText(){this.lastUpdatedText=ZC(this.lastModifiedDate)},startLastUpdatedTimer(){this.updateLastUpdatedText(),setInterval(()=>{this.updateLastUpdatedText(),this.checkAndRefetchData()},6e4)},checkAndRefetchData(){QC(this.lastModifiedDate)&&(console.log("Data is 30+ minutes old, re-fetching..."),this.fetchUrbanDictionaryData())},async handleCountryClick(n,e){await S4e(n,e,this,this.globeInstance)},async handleLabelClick(n,e){await y4e(n,e,this,this.globeInstance)},handleClosePopup(){Jf(this)},formatDefinition(n){return ew(n)},async submitFeedback(n){try{this.feedbackStatus="Submitting...";const e=document.getElementById("feedback-form"),t=new FormData(e),i=await fetch(e.action,{method:e.method,body:t,headers:{Accept:"application/json"}});if(i.ok)this.feedbackSubmitted=!0,this.feedbackStatus="Thanks for your submission!";else{const r=await i.json();r.errors?this.feedbackStatus=r.errors.map(s=>s.message.includes("email")?"Please enter a valid email":s.message).join(" "):this.feedbackStatus="Submission failed"}}catch(e){console.error("Error submitting feedback:",e),this.feedbackStatus="Submission failed"}}
4806,resetFeedbackForm(){this.showFeedbackModal||setTimeout(()=>{this.feedbackSubmitted=!1,this.feedbackStatus="";const n=document.getElementById("feedback-form");n&&n.reset()},300)}}}window.Alpine=jS;window.app=U4e;jS.start();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.