@loaders.gl/core 4.4.0-alpha.1 → 4.4.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +4 -0
  2. package/dist/core-addons/write-file-browser.js +1 -0
  3. package/dist/core-addons/write-file-browser.js.map +1 -0
  4. package/dist/dist.dev.js +368 -146
  5. package/dist/dist.min.js +3 -3
  6. package/dist/index.cjs +339 -227
  7. package/dist/index.cjs.map +4 -4
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -1
  11. package/dist/index.js.map +1 -0
  12. package/dist/iterators/batch-iterators/timed-batch-iterator.js +1 -0
  13. package/dist/iterators/batch-iterators/timed-batch-iterator.js.map +1 -0
  14. package/dist/iterators/make-iterator/make-array-buffer-iterator.js +1 -0
  15. package/dist/iterators/make-iterator/make-array-buffer-iterator.js.map +1 -0
  16. package/dist/iterators/make-iterator/make-blob-iterator.js +1 -0
  17. package/dist/iterators/make-iterator/make-blob-iterator.js.map +1 -0
  18. package/dist/iterators/make-iterator/make-iterator.d.ts.map +1 -1
  19. package/dist/iterators/make-iterator/make-iterator.js +7 -3
  20. package/dist/iterators/make-iterator/make-iterator.js.map +1 -0
  21. package/dist/iterators/make-iterator/make-stream-iterator.js +1 -0
  22. package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -0
  23. package/dist/iterators/make-iterator/make-string-iterator.d.ts.map +1 -1
  24. package/dist/iterators/make-iterator/make-string-iterator.js +3 -1
  25. package/dist/iterators/make-iterator/make-string-iterator.js.map +1 -0
  26. package/dist/iterators/make-stream/make-stream.js +1 -0
  27. package/dist/iterators/make-stream/make-stream.js.map +1 -0
  28. package/dist/lib/api/create-data-source.js +1 -0
  29. package/dist/lib/api/create-data-source.js.map +1 -0
  30. package/dist/lib/api/encode-table.d.ts.map +1 -1
  31. package/dist/lib/api/encode-table.js +3 -2
  32. package/dist/lib/api/encode-table.js.map +1 -0
  33. package/dist/lib/api/encode.d.ts.map +1 -1
  34. package/dist/lib/api/encode.js +3 -2
  35. package/dist/lib/api/encode.js.map +1 -0
  36. package/dist/lib/api/load-in-batches.js +1 -0
  37. package/dist/lib/api/load-in-batches.js.map +1 -0
  38. package/dist/lib/api/load.js +2 -1
  39. package/dist/lib/api/load.js.map +1 -0
  40. package/dist/lib/api/loader-options.js +1 -0
  41. package/dist/lib/api/loader-options.js.map +1 -0
  42. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  43. package/dist/lib/api/parse-in-batches.js +7 -6
  44. package/dist/lib/api/parse-in-batches.js.map +1 -0
  45. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  46. package/dist/lib/api/parse-sync.js +4 -3
  47. package/dist/lib/api/parse-sync.js.map +1 -0
  48. package/dist/lib/api/parse.d.ts.map +1 -1
  49. package/dist/lib/api/parse.js +8 -9
  50. package/dist/lib/api/parse.js.map +1 -0
  51. package/dist/lib/api/register-loaders.js +1 -0
  52. package/dist/lib/api/register-loaders.js.map +1 -0
  53. package/dist/lib/api/select-loader.d.ts +3 -3
  54. package/dist/lib/api/select-loader.d.ts.map +1 -1
  55. package/dist/lib/api/select-loader.js +20 -15
  56. package/dist/lib/api/select-loader.js.map +1 -0
  57. package/dist/lib/api/select-source.js +1 -0
  58. package/dist/lib/api/select-source.js.map +1 -0
  59. package/dist/lib/common.js +1 -0
  60. package/dist/lib/common.js.map +1 -0
  61. package/dist/lib/fetch/fetch-error-message.js +1 -0
  62. package/dist/lib/fetch/fetch-error-message.js.map +1 -0
  63. package/dist/lib/fetch/fetch-error.js +1 -0
  64. package/dist/lib/fetch/fetch-error.js.map +1 -0
  65. package/dist/lib/fetch/fetch-file.js +1 -0
  66. package/dist/lib/fetch/fetch-file.js.map +1 -0
  67. package/dist/lib/fetch/read-array-buffer.js +1 -0
  68. package/dist/lib/fetch/read-array-buffer.js.map +1 -0
  69. package/dist/lib/filesystems/browser-filesystem.js +1 -0
  70. package/dist/lib/filesystems/browser-filesystem.js.map +1 -0
  71. package/dist/lib/filesystems/read-array-buffer.js +1 -0
  72. package/dist/lib/filesystems/read-array-buffer.js.map +1 -0
  73. package/dist/lib/init.js +2 -1
  74. package/dist/lib/init.js.map +1 -0
  75. package/dist/lib/loader-utils/check-errors.js +1 -0
  76. package/dist/lib/loader-utils/check-errors.js.map +1 -0
  77. package/dist/lib/loader-utils/get-data.d.ts +18 -1
  78. package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
  79. package/dist/lib/loader-utils/get-data.js +47 -38
  80. package/dist/lib/loader-utils/get-data.js.map +1 -0
  81. package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
  82. package/dist/lib/loader-utils/get-fetch-function.js +7 -5
  83. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -0
  84. package/dist/lib/loader-utils/loader-context.d.ts +2 -2
  85. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  86. package/dist/lib/loader-utils/loader-context.js +1 -0
  87. package/dist/lib/loader-utils/loader-context.js.map +1 -0
  88. package/dist/lib/loader-utils/loggers.js +1 -0
  89. package/dist/lib/loader-utils/loggers.js.map +1 -0
  90. package/dist/lib/loader-utils/normalize-loader.js +1 -0
  91. package/dist/lib/loader-utils/normalize-loader.js.map +1 -0
  92. package/dist/lib/loader-utils/option-defaults.d.ts +22 -0
  93. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  94. package/dist/lib/loader-utils/option-defaults.js +50 -20
  95. package/dist/lib/loader-utils/option-defaults.js.map +1 -0
  96. package/dist/lib/loader-utils/option-utils.d.ts +9 -3
  97. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  98. package/dist/lib/loader-utils/option-utils.js +108 -13
  99. package/dist/lib/loader-utils/option-utils.js.map +1 -0
  100. package/dist/lib/progress/fetch-progress.js +1 -0
  101. package/dist/lib/progress/fetch-progress.js.map +1 -0
  102. package/dist/lib/utils/mime-type-utils.js +1 -0
  103. package/dist/lib/utils/mime-type-utils.js.map +1 -0
  104. package/dist/lib/utils/resource-utils.d.ts.map +1 -1
  105. package/dist/lib/utils/resource-utils.js +8 -10
  106. package/dist/lib/utils/resource-utils.js.map +1 -0
  107. package/dist/lib/utils/response-utils.js +2 -1
  108. package/dist/lib/utils/response-utils.js.map +1 -0
  109. package/dist/lib/utils/url-utils.js +1 -0
  110. package/dist/lib/utils/url-utils.js.map +1 -0
  111. package/dist/null-loader.d.ts +3 -3
  112. package/dist/null-loader.d.ts.map +1 -1
  113. package/dist/null-loader.js +2 -1
  114. package/dist/null-loader.js.map +1 -0
  115. package/dist/null-worker-node.js +5 -2
  116. package/dist/null-worker.js +5 -2
  117. package/dist/workers/null-worker-node.js +1 -0
  118. package/dist/workers/null-worker-node.js.map +1 -0
  119. package/dist/workers/null-worker.js +1 -0
  120. package/dist/workers/null-worker.js.map +1 -0
  121. package/package.json +12 -6
  122. package/src/index.ts +1 -1
  123. package/src/iterators/make-iterator/make-iterator.ts +8 -5
  124. package/src/iterators/make-iterator/make-string-iterator.ts +2 -1
  125. package/src/lib/api/encode-table.ts +2 -1
  126. package/src/lib/api/encode.ts +8 -2
  127. package/src/lib/api/load.ts +1 -1
  128. package/src/lib/api/parse-in-batches.ts +26 -19
  129. package/src/lib/api/parse-sync.ts +6 -5
  130. package/src/lib/api/parse.ts +15 -11
  131. package/src/lib/api/select-loader.ts +42 -24
  132. package/src/lib/loader-utils/get-data.ts +62 -48
  133. package/src/lib/loader-utils/get-fetch-function.ts +6 -5
  134. package/src/lib/loader-utils/loader-context.ts +2 -2
  135. package/src/lib/loader-utils/option-defaults.ts +54 -22
  136. package/src/lib/loader-utils/option-utils.ts +125 -19
  137. package/src/lib/utils/resource-utils.ts +9 -12
  138. package/src/lib/utils/response-utils.ts +2 -2
  139. package/src/null-loader.ts +6 -3
  140. package/dist/javascript-utils/is-type.d.ts +0 -21
  141. package/dist/javascript-utils/is-type.d.ts.map +0 -1
  142. package/dist/javascript-utils/is-type.js +0 -25
  143. package/src/javascript-utils/is-type.ts +0 -51
package/dist/dist.min.js CHANGED
@@ -4,12 +4,12 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var ge=Object.defineProperty;var Ut=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var jt=Object.prototype.hasOwnProperty;var zt=(e,r,t)=>r in e?ge(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Sr=(e,r)=>{for(var t in r)ge(e,t,{get:r[t],enumerable:!0})},Vt=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Dt(r))!jt.call(e,n)&&n!==t&&ge(e,n,{get:()=>r[n],enumerable:!(o=Ut(r,n))||o.enumerable});return e};var Ht=e=>Vt(ge({},"__esModule",{value:!0}),e);var kr=(e,r,t)=>(zt(e,typeof r!="symbol"?r+"":r,t),t);var fn={};Sr(fn,{FetchError:()=>V,JSONLoader:()=>rr,NullLoader:()=>Ct,NullWorkerLoader:()=>Pt,RequestScheduler:()=>z,_BrowserFileSystem:()=>Ee,_fetchProgress:()=>vt,_selectSource:()=>Mt,_unregisterLoaders:()=>mt,assert:()=>v,concatenateArrayBuffersAsync:()=>M,createDataSource:()=>Nt,document:()=>Ie,encode:()=>Lt,encodeInBatches:()=>Ft,encodeSync:()=>br,encodeTable:()=>yr,encodeTableAsText:()=>Et,encodeTableInBatches:()=>wr,encodeText:()=>Rt,encodeTextSync:()=>It,encodeURLtoURL:()=>xr,fetchFile:()=>C,forEach:()=>Ye,getLoaderOptions:()=>_,getPathPrefix:()=>er,global:()=>Re,isAsyncIterable:()=>le,isBrowser:()=>m,isIterable:()=>ue,isIterator:()=>me,isPromise:()=>Kr,isPureObject:()=>fe,isReadableStream:()=>P,isResponse:()=>l,isWorker:()=>Fe,isWritableStream:()=>Zr,load:()=>St,loadInBatches:()=>_t,makeIterator:()=>J,makeLineIterator:()=>Je,makeNumberedLineIterator:()=>Ke,makeStream:()=>Ot,makeTextDecoderIterator:()=>qe,makeTextEncoderIterator:()=>Qe,parse:()=>S,parseInBatches:()=>R,parseSync:()=>At,readArrayBuffer:()=>nt,registerLoaders:()=>ut,resolvePath:()=>L,selectLoader:()=>Q,selectLoaderSync:()=>q,self:()=>Be,setLoaderOptions:()=>cr,setPathPrefix:()=>Xe,window:()=>Le});function v(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var b={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Be=b.self||b.window||b.global||{},Le=b.window||b.self||b.global||{},Re=b.global||b.self||b.window||{},Ie=b.document||{};var m=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),Fe=typeof importScripts=="function",_r=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Gt=_r&&parseFloat(_r[1])||0;var ye=globalThis,qt=globalThis.document||{},we=globalThis.process||{},Qt=globalThis.console,pn=globalThis.navigator||{};function Er(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function I(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Er()}var Ne="4.0.7";function Kt(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var be=class{constructor(r,t,o="sessionStorage"){this.storage=Kt(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Br(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Lr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var xe;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(xe||(xe={}));var Yt=10;function Rr(e){return typeof e!="string"?e:(e=e.toUpperCase(),xe[e]||xe.WHITE)}function Ir(e,r,t){return!I&&typeof e=="string"&&(r&&(e=`\x1B[${Rr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Rr(t)+Yt}m${e}\x1B[49m`)),e}function Fr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function Z(e,r){if(!e)throw new Error(r||"Assertion failed")}function F(){let e;if(I()&&ye.performance)e=ye?.performance?.now?.();else if("hrtime"in we){let r=we?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var $={debug:I()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Zt={enabled:!0,level:0};function U(){}var Nr={},Mr={once:!0},x=class{constructor({id:r}={id:""}){this.VERSION=Ne,this._startTs=F(),this._deltaTs=F(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new be(`__probe-${this.id}__`,Zt),this.timeStamp(`${this.id} started`),Fr(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((F()-this._startTs).toPrecision(10))}getDelta(){return Number((F()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r){return this._getLogFunction(0,r,$.warn,arguments,Mr)}error(r){return this._getLogFunction(0,r,$.error,arguments)}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t){return this._getLogFunction(r,t,$.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,$.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,$.debug||$.info,arguments,Mr)}table(r,t,o){return t?this._getLogFunction(r,t,console.table||U,o&&[o],{tag:eo(t)}):U}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||U)}group(r,t,o={collapsed:!1}){let n=Or({logLevel:r,message:t,opts:o}),{collapsed:s}=o;return n.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||U)}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=Wr(r)}_getLogFunction(r,t,o,n,s){if(this._shouldLog(r)){s=Or({logLevel:r,message:t,args:n,opts:s}),o=o||s.method,Z(o),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=F();let i=s.tag||s.message;if(s.once&&i)if(!Nr[i])Nr[i]=F();else return U;return t=Xt(this.id,s.message,s),o.bind(console,t,...s.args)}return U}};x.VERSION=Ne;function Wr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Z(Number.isFinite(r)&&r>=0),r}function Or(e){let{logLevel:r,message:t}=e;e.logLevel=Wr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return Z(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}function Xt(e,r,t){if(typeof r=="string"){let o=t.time?Lr(Br(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=Ir(r,t.color,t.background)}return r}function eo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var vn=new x({id:"@probe.gl/log"});var Me="4.4.0-alpha.0",ro=Me[0]>="0"&&Me[0]<="9"?`v${Me}`:"";function to(){let e=new x({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=ro,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var Oe=to();function We(e,r){return Pr(e||{},r)}function Pr(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Pr(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Pe(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Cr="beta";function oo(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.0"),globalThis._loadersgl_.version}var X=oo();function u(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Jn=T.self||T.window||T.global||{},Kn=T.window||T.self||T.global||{},Yn=T.global||T.self||T.window||{},Zn=T.document||{};var h=typeof process!="object"||String(process)!=="[object process]"||process.browser;var $r=typeof window<"u"&&typeof window.orientation<"u",vr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Xn=vr&&parseFloat(vr[1])||0;var ee=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){u(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){u(this.isRunning),this.isRunning=!1,this._reject(r)}};var D=class{terminate(){}};var Ce=new Map;function Ur(e){u(e.source&&!e.url||!e.source&&e.url);let r=Ce.get(e.source||e.url);return r||(e.url&&(r=no(e.url),Ce.set(e.url,r)),e.source&&(r=Dr(e.source),Ce.set(e.source,r))),u(r),r}function no(e){if(!e.startsWith("http"))return e;let r=so(e);return Dr(r)}function Dr(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function so(e){return`try {
7
+ "use strict";var __exports__=(()=>{var Te=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var Xt=Object.prototype.hasOwnProperty;var eo=(e,r,t)=>r in e?Te(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Mr=(e,r)=>{for(var t in r)Te(e,t,{get:r[t],enumerable:!0})},ro=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Zt(r))!Xt.call(e,n)&&n!==t&&Te(e,n,{get:()=>r[n],enumerable:!(o=Yt(r,n))||o.enumerable});return e};var to=e=>ro(Te({},"__esModule",{value:!0}),e);var Wr=(e,r,t)=>(eo(e,typeof r!="symbol"?r+"":r,t),t);var An={};Mr(An,{FetchError:()=>Z,JSONLoader:()=>lr,NullLoader:()=>Qt,NullWorkerLoader:()=>Ht,RequestScheduler:()=>Y,_BrowserFileSystem:()=>Ne,_fetchProgress:()=>Jt,_selectSource:()=>qt,_unregisterLoaders:()=>kt,assert:()=>z,concatenateArrayBuffersAsync:()=>U,createDataSource:()=>zt,document:()=>Ue,encode:()=>$t,encodeInBatches:()=>vt,encodeSync:()=>Rr,encodeTable:()=>Er,encodeTableAsText:()=>Pt,encodeTableInBatches:()=>Lr,encodeText:()=>Dt,encodeTextSync:()=>jt,encodeURLtoURL:()=>Ir,fetchFile:()=>j,forEach:()=>ar,getLoaderOptions:()=>B,getPathPrefix:()=>ur,global:()=>Pe,isAsyncIterable:()=>H,isBrowser:()=>p,isIterable:()=>C,isIterator:()=>Q,isPromise:()=>ae,isPureObject:()=>G,isReadableStream:()=>L,isResponse:()=>l,isWorker:()=>$e,isWritableStream:()=>qe,load:()=>Nt,loadInBatches:()=>Ct,makeIterator:()=>oe,makeLineIterator:()=>sr,makeNumberedLineIterator:()=>ir,makeStream:()=>Vt,makeTextDecoderIterator:()=>or,makeTextEncoderIterator:()=>nr,parse:()=>k,parseInBatches:()=>M,parseSync:()=>Wt,readArrayBuffer:()=>ht,registerLoaders:()=>Tt,resolvePath:()=>I,selectLoader:()=>te,selectLoaderSync:()=>re,self:()=>Fe,setLoaderOptions:()=>br,setPathPrefix:()=>fr,window:()=>Ce});function z(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var x={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Fe=x.self||x.window||x.global||{},Ce=x.window||x.self||x.global||{},Pe=x.global||x.self||x.window||{},Ue=x.document||{};var p=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),$e=typeof importScripts=="function",Nr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),oo=Nr&&parseFloat(Nr[1])||0;var Ae=globalThis,no=globalThis.document||{},ke=globalThis.process||{},so=globalThis.console,En=globalThis.navigator||{};function Fr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function W(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Fr()}var De="4.0.7";function ao(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Se=class{constructor(r,t,o="sessionStorage"){this.storage=ao(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Cr(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Pr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var _e;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(_e||(_e={}));var co=10;function Ur(e){return typeof e!="string"?e:(e=e.toUpperCase(),_e[e]||_e.WHITE)}function $r(e,r,t){return!W&&typeof e=="string"&&(r&&(e=`\x1B[${Ur(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Ur(t)+co}m${e}\x1B[49m`)),e}function Dr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function ie(e,r){if(!e)throw new Error(r||"Assertion failed")}function N(){let e;if(W()&&Ae.performance)e=Ae?.performance?.now?.();else if("hrtime"in ke){let r=ke?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var q={debug:W()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},fo={enabled:!0,level:0};function V(){}var jr={},vr={once:!0},T=class{constructor({id:r}={id:""}){this.VERSION=De,this._startTs=N(),this._deltaTs=N(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Se(`__probe-${this.id}__`,fo),this.timeStamp(`${this.id} started`),Dr(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((N()-this._startTs).toPrecision(10))}getDelta(){return Number((N()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r){return this._getLogFunction(0,r,q.warn,arguments,vr)}error(r){return this._getLogFunction(0,r,q.error,arguments)}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t){return this._getLogFunction(r,t,q.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,q.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,q.debug||q.info,arguments,vr)}table(r,t,o){return t?this._getLogFunction(r,t,console.table||V,o&&[o],{tag:lo(t)}):V}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||V)}group(r,t,o={collapsed:!1}){let n=zr({logLevel:r,message:t,opts:o}),{collapsed:s}=o;return n.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||V)}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=qr(r)}_getLogFunction(r,t,o,n,s){if(this._shouldLog(r)){s=zr({logLevel:r,message:t,args:n,opts:s}),o=o||s.method,ie(o),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=N();let i=s.tag||s.message;if(s.once&&i)if(!jr[i])jr[i]=N();else return V;return t=uo(this.id,s.message,s),o.bind(console,t,...s.args)}return V}};T.VERSION=De;function qr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return ie(Number.isFinite(r)&&r>=0),r}function zr(e){let{logLevel:r,message:t}=e;e.logLevel=qr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return ie(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}function uo(e,r,t){if(typeof r=="string"){let o=t.time?Pr(Cr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=$r(r,t.color,t.background)}return r}function lo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var Zn=new T({id:"@probe.gl/log"});var je="4.4.0-alpha.9",mo=je[0]>="0"&&je[0]<="9"?`v${je}`:"";function po(){let e=new T({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=mo,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var ve=po();var Vr=e=>typeof e=="boolean",u=e=>typeof e=="function",d=e=>e!==null&&typeof e=="object",G=e=>d(e)&&e.constructor==={}.constructor;var ze=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,F=e=>d(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",ae=e=>d(e)&&"then"in e&&u(e.then),C=e=>Boolean(e)&&u(e[Symbol.iterator]),H=e=>Boolean(e)&&u(e[Symbol.asyncIterator]),Q=e=>Boolean(e)&&u(e.next),l=e=>typeof Response<"u"&&e instanceof Response||d(e)&&u(e.arrayBuffer)&&u(e.text)&&u(e.json);var h=e=>typeof Blob<"u"&&e instanceof Blob;var Gr=e=>d(e)&&u(e.abort)&&u(e.getWriter),Hr=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||d(e)&&u(e.tee)&&u(e.cancel)&&u(e.getReader),Qr=e=>d(e)&&u(e.end)&&u(e.write)&&Vr(e.writable),Jr=e=>d(e)&&u(e.read)&&u(e.pipe)&&Vr(e.readable),L=e=>Hr(e)||Jr(e),qe=e=>Gr(e)||Qr(e);function Ve(e,r){return Kr(e||{},r)}function Kr(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Kr(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Ge(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Yr="beta";function ho(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.9"),globalThis._loadersgl_.version}var ce=ho();function m(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},us=A.self||A.window||A.global||{},ls=A.window||A.self||A.global||{},ms=A.global||A.self||A.window||{},ps=A.document||{};var y=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Xr=typeof window<"u"&&typeof window.orientation<"u",Zr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),hs=Zr&&parseFloat(Zr[1])||0;var fe=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){m(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){m(this.isRunning),this.isRunning=!1,this._reject(r)}};var J=class{terminate(){}};var He=new Map;function et(e){m(e.source&&!e.url||!e.source&&e.url);let r=He.get(e.source||e.url);return r||(e.url&&(r=yo(e.url),He.set(e.url,r)),e.source&&(r=rt(e.source),He.set(e.source,r))),m(r),r}function yo(e){if(!e.startsWith("http"))return e;let r=go(e);return rt(r)}function rt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function go(e){return`try {
8
8
  importScripts('${e}');
9
9
  } catch (error) {
10
10
  console.error(error);
11
11
  throw error;
12
- }`}function ve(e,r=!0,t){let o=t||new Set;if(e){if(jr(e))o.add(e);else if(jr(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)ve(e[n],r,o)}}return t===void 0?Array.from(o):[]}function jr(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function $e(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=$e(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Ue=()=>{},B=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&h||typeof D<"u"&&!h}constructor(r){let{name:t,source:o,url:n}=r;u(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=Ue,this.onError=s=>console.log(s),this.worker=h?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Ue,this.onError=Ue,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||ve(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=Ur({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;r=new D(o,{eval:!1})}else if(this.source)r=new D(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var re=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return B.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new ee(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!h||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new B({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return $r?this.maxMobileConcurrency:this.maxConcurrency}};var io={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},N=class{props;workerPools=new Map;static isSupported(){return B.isSupported()}static getWorkerFarm(r={}){return N._workerFarm=N._workerFarm||new N({}),N._workerFarm.setProps(r),N._workerFarm}constructor(r){this.props={...io},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new re({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},d=N;kr(d,"_workerFarm");function zr(e){let r=e.version!==X?` (worker-utils@${X})`:"";return`${e.name}@${e.version}${r}`}function te(e,r={}){let t=r[e.id]||{},o=h?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),r._workerType==="test"&&(h?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let s=e.version;s==="latest"&&(s=Cr);let i=s?`@${s}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`}return u(n),n}async function De(e,r,t={},o={}){let n=zr(e),s=d.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=te(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,k=await c.startJob(f,ao.bind(null,o)),E=$e(t);return k.postMessage("process",{input:r,options:E}),(await k.result).result}async function ao(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function je(e,r=X){u(e,"no worker provided");let t=e.version;return!(!r||!t)}function ze(e,r){return!d.isSupported()||!h&&!r?._nodeWorkers?!1:e.worker&&r?.worker}async function Ve(e,r,t,o,n){let s=e.id,i=te(e,t),c=d.getWorkerFarm(t).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",co.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function co(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function He(e,r){return!d.isSupported()||!m&&!r?._nodeWorkers?!1:e.worker&&r?.worker}function Ge(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function oe(...e){return Vr(e)}function Vr(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*qe(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*Qe(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t):t}async function*Je(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(`
13
- `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*Ke(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Ye(e,r){for(;;){let{done:t,value:o}=await e.next();if(t){e.return();return}if(r(o))return}}async function M(e){let r=[];for await(let t of e)r.push(t);return oe(...r)}function ne(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var O=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ne(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ne()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var j=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof O?n=r:n=new O(t,o),this.stats[t]=n),n}};var fo="Queued Requests",uo="Active Requests",lo="Cancelled Requests",mo="Queued Requests Ever",po="Active Requests Ever",ho={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},z=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...ho,...r},this.stats=new j({id:this.props.id}),this.stats.get(fo),this.stats.get(uo),this.stats.get(lo),this.stats.get(mo),this.stats.get(po)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var Ze="",Hr={};function Xe(e){Ze=e}function er(){return Ze}function L(e){for(let r in Hr)if(e.startsWith(r)){let t=Hr[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Ze}${e}`),e}var go="4.4.0-alpha.0",rr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:go,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Gr,parse:async e=>Gr(new TextDecoder().decode(e)),options:{}};function Gr(e){return JSON.parse(e)}function qr(e){return e&&typeof e=="object"&&e.isBuffer}function Te(e){if(qr(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}var W={};Sr(W,{dirname:()=>wo,filename:()=>yo,join:()=>bo,resolve:()=>xo});function Qr(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function yo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):""}function wo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function bo(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function xo(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let i;s>=0?i=r[s]:(n===void 0&&(n=Qr()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===se)}return t=To(t,!o),o?`/${t}`:t.length>0?t:"."}var se=47,tr=46;function To(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===se)break;s=se}if(s===se){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(t.length<2||!i||t.charCodeAt(t.length-1)!==tr||t.charCodeAt(t.length-2)!==tr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==se;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===tr&&n!==-1?++n:n=-1}return t}var ie=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer()}};var ae=new Error("Not implemented"),ce=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw m?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(r,t){throw ae}async write(r,t,o){throw ae}async stat(){throw ae}async truncate(r){throw ae}async append(r){throw ae}async close(){}};var Jr=e=>typeof e=="boolean",g=e=>typeof e=="function",A=e=>e!==null&&typeof e=="object",fe=e=>A(e)&&e.constructor==={}.constructor,Kr=e=>A(e)&&g(e.then),ue=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",le=e=>e&&typeof e[Symbol.asyncIterator]=="function",me=e=>e&&g(e.next),l=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var p=e=>typeof Blob<"u"&&e instanceof Blob,Yr=e=>e&&typeof e=="object"&&e.isBuffer,Ao=e=>A(e)&&g(e.abort)&&g(e.getWriter),So=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||A(e)&&g(e.tee)&&g(e.cancel)&&g(e.getReader),ko=e=>A(e)&&g(e.end)&&g(e.write)&&Jr(e.writable),_o=e=>A(e)&&g(e.read)&&g(e.pipe)&&Jr(e.readable),P=e=>So(e)||_o(e),Zr=e=>Ao(e)||ko(e);var V=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var Eo=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Bo=/^([-\w.]+\/[-\w.+]+)/;function or(e,r){return e.toLowerCase()===r.toLowerCase()}function Xr(e){let r=Bo.exec(e);return r?r[1]:e}function nr(e){let r=Eo.exec(e);return r?r[1]:""}var et=/\?.*/;function rt(e){let r=e.match(et);return r&&r[0]}function H(e){return e.replace(et,"")}function tt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function y(e){return l(e)?e.url:p(e)?e.name||"":typeof e=="string"?e:""}function pe(e){if(l(e)){let r=e,t=r.headers.get("content-type")||"",o=H(r.url);return Xr(t)||nr(o)}return p(e)?e.type||"":typeof e=="string"?nr(e):""}function ot(e){return l(e)?e.headers["content-length"]||-1:p(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ae(e){if(l(e))return e;let r={},t=ot(e);t>=0&&(r["content-length"]=String(t));let o=y(e),n=pe(e);n&&(r["content-type"]=n);let s=await Ro(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function sr(e){if(!e.ok)throw await Lo(e)}async function Lo(e){let r=tt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new V(t,o)}async function Ro(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${Io(t)}`}return null}function Io(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function Fo(e){return!No(e)&&!Mo(e)}function No(e){return e.startsWith("http:")||e.startsWith("https:")}function Mo(e){return e.startsWith("data:")}async function C(e,r){if(typeof e=="string"){let t=L(e);return Fo(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ae(e)}async function nt(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await Oo(o)}async function Oo(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var ir=new x({id:"loaders.gl"}),Se=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},ke=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var ar={fetch:null,mimeType:void 0,nothrow:!1,log:new ke,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:m,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},st={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function he(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function _(){let e=he();return e.globalOptions=e.globalOptions||{...ar},e.globalOptions}function cr(e){let r=he(),t=_();r.globalOptions=ct(t,e),Pe(e.modules)}function G(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],Wo(e,t),ct(r,e,o)}function Wo(e,r){it(e,null,ar,st,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};it(o,t.id,n,s,r)}}function it(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&A(e[a]),f=a==="baseUri"&&!r,k=a==="workerUrl"&&r;if(!(a in t)&&!f&&!k){if(a in o)ir.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c){let E=Po(a,n);ir.warn(`${s} loader option '${i}${a}' not recognized. ${E}`)()}}}}function Po(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function ct(e,r,t){let n={...e.options||{}};return Co(n,t),n.log===null&&(n.log=new Se),at(n,_()),at(n,r),n}function at(e,r){for(let t in r)if(t in r){let o=r[t];fe(o)&&fe(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Co(e,r){r&&!("baseUri"in e)&&(e.baseUri=r)}function w(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function de(e){v(e,"null loader"),v(w(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var ft=()=>{let e=he();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function ut(e){let r=ft();e=Array.isArray(e)?e:[e];for(let t of e){let o=de(t);r.find(n=>o===n)||r.unshift(o)}}function lt(){return ft()}function mt(){let e=he();e.loaderRegistry=[]}var vo=/\.([^.]+)$/;async function Q(e,r=[],t,o){if(!ht(e))return null;let n=q(e,r,{...t,nothrow:!0},o);if(n)return n;if(p(e)&&(e=await e.slice(0,10).arrayBuffer(),n=q(e,r,t,o)),!n&&!t?.nothrow)throw new Error(dt(e));return n}function q(e,r=[],t,o){if(!ht(e))return null;if(r&&!Array.isArray(r))return de(r);let n=[];r&&(n=n.concat(r)),t?.ignoreRegisteredLoaders||n.push(...lt()),Uo(n);let s=$o(e,n,t,o);if(!s&&!t?.nothrow)throw new Error(dt(e));return s}function $o(e,r,t,o){let n=y(e),s=pe(e),i=H(n)||o?.url,a=null,c="";return t?.mimeType&&(a=fr(r,t?.mimeType),c=`match forced by supplied MIME type ${t?.mimeType}`),a=a||Do(r,i),c=c||(a?`matched url ${i}`:""),a=a||fr(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||zo(r,e),c=c||(a?`matched initial data ${gt(e)}`:""),t?.fallbackMimeType&&(a=a||fr(r,t?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&Oe.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function ht(e){return!(e instanceof Response&&e.status===204)}function dt(e){let r=y(e),t=pe(e),o="No valid loader found (";o+=r?`${W.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?gt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Uo(e){for(let r of e)de(r)}function Do(e,r){let t=r&&vo.exec(r),o=t&&t[1];return o?jo(e,o):null}function jo(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function fr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>or(r,o))||or(r,`application/x.${t.id}`))return t;return null}function zo(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(Vo(r,t))return t}else if(ArrayBuffer.isView(r)){if(pt(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&pt(r,0,t))return t;return null}function Vo(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function pt(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Ho(e,r,t,n))}function Ho(e,r,t,o){if(o instanceof ArrayBuffer)return Ge(o,e,o.byteLength);switch(typeof o){case"function":return o(e);case"string":let n=ur(e,r,o.length);return o===n;default:return!1}}function gt(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?ur(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?ur(e,0,r):""}function ur(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}function*yt(e,r){let t=r?.chunkSize||262144,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),i=e.slice(o,o+s);o+=s,yield n.encode(i)}}function*wt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*bt(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function lr(e,r){return m?Go(e,r):qo(e,r)}async function*Go(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:i}=await n;if(s)return;yield Te(i)}}catch{t.releaseLock()}}async function*qo(e,r){for await(let t of e)yield Te(t)}function J(e,r){if(typeof e=="string")return yt(e,r);if(e instanceof ArrayBuffer)return wt(e,r);if(p(e))return bt(e,r);if(P(e))return lr(e,r);if(l(e))return lr(e.body,r);throw new Error("makeIterator")}var mr="Cannot convert supplied data type";function pr(e,r,t){if(r.text&&typeof e=="string")return e;if(Yr(e)&&(e=e.buffer),e instanceof ArrayBuffer){let o=e;return r.text&&!r.binary?new TextDecoder("utf8").decode(o):o}if(ArrayBuffer.isView(e)){if(r.text&&!r.binary)return new TextDecoder("utf8").decode(e);let o=e.buffer,n=e.byteLength||e.length;return(e.byteOffset!==0||n!==o.byteLength)&&(o=o.slice(e.byteOffset,e.byteOffset+n)),o}throw new Error(mr)}async function xt(e,r,t){let o=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||o)return pr(e,r,t);if(p(e)&&(e=await Ae(e)),l(e)){let n=e;return await sr(n),r.binary?await n.arrayBuffer():await n.text()}if(P(e)&&(e=J(e,t)),ue(e)||le(e))return M(e);throw new Error(mr)}async function Tt(e,r){if(me(e))return e;if(l(e)){let t=e;await sr(t);let o=await t.body;return J(o,r)}return p(e)||P(e)?J(e,r):le(e)?e:Qo(e)}function Qo(e){if(ArrayBuffer.isView(e))return function*(){yield e.buffer}();if(e instanceof ArrayBuffer)return function*(){yield e}();if(me(e))return e;if(ue(e))return e[Symbol.iterator]();throw new Error(mr)}function K(e,r){let t=_(),o=e||t;return typeof o.fetch=="function"?o.fetch:A(o.fetch)?n=>C(n,o.fetch):r?.fetch?r?.fetch:C}function Y(e,r,t){if(t)return t;let o={fetch:K(r,e),...e};if(o.url){let n=H(o.url);o.baseUrl=n,o.queryString=rt(o.url),o.filename=W.filename(n),o.baseUrl=W.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function _e(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function S(e,r,t,o){r&&!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=y(e),i=_e(r,o),a=await Q(e,i,t);return a?(t=G(t,a,i,n),o=Y({url:n,_parse:S,loaders:i},t,o||null),await Jo(a,e,t,o)):null}async function Jo(e,r,t,o){if(je(e),t=We(e.options,t),l(r)){let s=r,{ok:i,redirected:a,status:c,statusText:f,type:k,url:E}=s,Ar=Object.fromEntries(s.headers.entries());o.response={headers:Ar,ok:i,redirected:a,status:c,statusText:f,type:k,url:E}}r=await xt(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(ze(e,t))return await Ve(e,r,t,o,S);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw u(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function At(e,r,t,o){!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=_e(r,o),i=q(e,s,t);if(!i)return null;t=G(t,i,s);let a=y(e),c=()=>{throw new Error("parseSync called parse (which is async")};return o=Y({url:a,_parseSync:c,_parse:c,loaders:r},t,o||null),Ko(i,e,t,o)}function Ko(e,r,t,o){if(r=pr(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function hr(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function dr(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function gr(e){return{...e,length:dr(e),batchType:"data"}}async function R(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=y(e),i=await Q(e,r,t);return i?(t=G(t,i,n,s),o=Y({url:s,_parseInBatches:R,_parse:S,loaders:n},t,o||null),await Yo(i,e,t,o)):[]}async function Yo(e,r,t,o){let n=await Zo(e,r,t,o);if(!t.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function Zo(e,r,t,o){let n=await Tt(r,t),s=await rn(n,t?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):Xo(s,e,t,o)}async function*Xo(e,r,t,o){let n=await M(e),s=await S(n,r,{...t,mimeType:r.mimeTypes[0]},o);yield en(s,r)}function en(e,r){let t=hr(e)?gr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function rn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function St(e,r,t,o){let n,s;!Array.isArray(r)&&!w(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=K(s),a=e;return typeof e=="string"&&(a=await i(e)),p(e)&&(a=await i(e)),Array.isArray(n)?await S(a,n,s):await S(a,n,s)}function _t(e,r,t,o){let n;!Array.isArray(r)&&!w(r)?(o=void 0,t=r,n=void 0):n=r;let s=K(t||{});return Array.isArray(e)?e.map(a=>kt(a,n,t||{},s)):kt(e,n,t||{},s)}async function kt(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await R(s,r,t):await R(s,r,t)}return Array.isArray(r)?await R(e,r,t):await R(e,r,t)}async function yr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return new TextEncoder().encode(o)}if(r.encodeInBatches){let o=wr(e,r,t),n=[];for await(let s of o)n.push(s);return oe(...n)}throw new Error("Writer could not encode data")}async function Et(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await yr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function wr(e,r,t){if(r.encodeInBatches){let o=tn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function tn(e){return[{...e,start:0,end:e.length}]}async function Lt(e,r,t){let n={..._(),...t};return r.encodeURLtoURL?on(r,e,n):He(r,n)?await De(r,e,n):await r.encode(e,n)}function br(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return new TextEncoder().encode(r.encodeTextSync(e,t));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Rt(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function It(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=br(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Ft(e,r,t){if(r.encodeInBatches){let o=nn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function xr(e,r,t,o){if(e=L(e),r=L(r),m||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function on(e,r,t){if(m)throw new Error(`Writer ${e.name} not supported in browser`);let o=Bt("input");await new ce(o,"w").write(r);let s=Bt("output"),i=await xr(o,s,e,t);return(await C(i)).arrayBuffer()}function nn(e){return[{...e,start:0,end:e.length}]}function Bt(e){return`/tmp/${e}`}function Nt(e,r,t){let o=t?.core?.type||t.type||"auto",n=o==="auto"?sn(e,r):an(o,r);if(!n)throw new Error("Not a valid source type");return n.createDataSource(e,t)}function sn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function an(e,r){for(let t of r)if(t.type===e)return t;return null}function Mt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=cn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function cn(e,r){for(let t of r)if(t.type===e)return t;return null}function Ot(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var Wt="4.4.0-alpha.0",Pt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Wt,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Ct={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Wt,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Tr(e,r||{},t),parseSync:Tr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Tr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Tr(e,r,t){return null}async function vt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await $t(c,f,0,i,r,t,o)}});return new Response(a)}async function $t(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await $t(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Ee=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),f=parseInt(i[2]),k=await o.slice(c,f).arrayBuffer(),E=new Response(k);return Object.defineProperty(E,"url",{value:r}),E}let a=new Response(o);return Object.defineProperty(a,"url",{value:r}),a}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new ie(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return Ht(fn);})();
12
+ }`}function Qe(e,r=!0,t){let o=t||new Set;if(e){if(tt(e))o.add(e);else if(tt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Qe(e[n],r,o)}}return t===void 0?Array.from(o):[]}function tt(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Je(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Je(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Ke=()=>{},R=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&y||typeof J<"u"&&!y}constructor(r){let{name:t,source:o,url:n}=r;m(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=Ke,this.onError=s=>console.log(s),this.worker=y?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Ke,this.onError=Ke,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||Qe(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=et({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new J(o,{eval:!1,type:n})}else if(this.source)r=new J(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var ue=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return R.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new fe(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!y||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new R({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Xr?this.maxMobileConcurrency:this.maxConcurrency}};var wo={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},P=class{props;workerPools=new Map;static isSupported(){return R.isSupported()}static getWorkerFarm(r={}){return P._workerFarm=P._workerFarm||new P({}),P._workerFarm.setProps(r),P._workerFarm}constructor(r){this.props={...wo},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new ue({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},g=P;Wr(g,"_workerFarm");function ot(e){let r=e.version!==ce?` (worker-utils@${ce})`:"";return`${e.name}@${e.version}${r}`}function le(e,r={}){let t=r[e.id]||{},o=y?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(y?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let i=e.version;i==="latest"&&(i=Yr);let a=i?`@${i}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${a}/dist/${o}`}return m(n),n}async function Ye(e,r,t={},o={}){let n=ot(e),s=g.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=le(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,S=await c.startJob(f,bo.bind(null,o)),E=Je(t);return S.postMessage("process",{input:r,options:E}),(await S.result).result}async function bo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function Ze(e,r=ce){m(e,"no worker provided");let t=e.version;return!(!r||!t)}function Xe(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers;if(!y&&!t)return!1;let o=r?.worker??r?.core?.worker;return Boolean(e.worker&&o)}async function er(e,r,t,o,n){let s=e.id,i=le(e,t),c=g.getWorkerFarm(t?.core).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",xo.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function xo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function rr(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!p&&!t?!1:Boolean(e.worker&&o)}function tr(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function me(...e){return nt(e)}function nt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*or(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*nr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*sr(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(`
13
+ `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*ir(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function ar(e,r){let t=Ao(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function U(e){let r=[];for await(let t of e)r.push(To(t));return me(...r)}function To(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return st(r,t,o)}return st(e)}function st(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Ao(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return ko(r)}return e}function ko(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function pe(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var $=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=pe(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(pe()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var K=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof $?n=r:n=new $(t,o),this.stats[t]=n),n}};var So="Queued Requests",_o="Active Requests",Bo="Cancelled Requests",Eo="Queued Requests Ever",Lo="Active Requests Ever",Ro={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},Y=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Ro,...r},this.stats=new K({id:this.props.id}),this.stats.get(So),this.stats.get(_o),this.stats.get(Bo),this.stats.get(Eo),this.stats.get(Lo)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var cr="",it={};function fr(e){cr=e}function ur(){return cr}function I(e){for(let r in it)if(e.startsWith(r)){let t=it[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${cr}${e}`),e}var Io="4.4.0-alpha.9",lr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Io,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:at,parse:async e=>at(new TextDecoder().decode(e)),options:{}};function at(e){return JSON.parse(e)}function Ee(e){return e&&typeof e=="object"&&e.isBuffer}function O(e){if(Ee(e))return e;if(e instanceof ArrayBuffer)return e;if(ze(e))return Be(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function _(e){if(e instanceof ArrayBuffer)return e;if(ze(e))return Be(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Be(r,t,o)}function Be(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function mr(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var D={};Mr(D,{dirname:()=>Mo,filename:()=>Oo,join:()=>Wo,resolve:()=>No});function ct(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Oo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Mo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function Wo(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function No(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let i;s>=0?i=r[s]:(n===void 0&&(n=ct()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===he)}return t=Fo(t,!o),o?`/${t}`:t.length>0?t:"."}var he=47,pr=46;function Fo(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===he)break;s=he}if(s===he){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(t.length<2||!i||t.charCodeAt(t.length-1)!==pr||t.charCodeAt(t.length-2)!==pr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==he;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===pr&&n!==-1?++n:n=-1}return t}var de=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer()}};var ye=new Error("Not implemented"),ge=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw p?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(r,t){throw ye}async write(r,t,o){throw ye}async stat(){throw ye}async truncate(r){throw ye}async append(r){throw ye}async close(){}};var Z=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var Co=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Po=/^([-\w.]+\/[-\w.+]+)/;function hr(e,r){return e.toLowerCase()===r.toLowerCase()}function ft(e){let r=Po.exec(e);return r?r[1]:e}function dr(e){let r=Co.exec(e);return r?r[1]:""}var ut=/\?.*/;function lt(e){let r=e.match(ut);return r&&r[0]}function X(e){return e.replace(ut,"")}function mt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function w(e){return l(e)?e.url:h(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function we(e){if(l(e)){let r=e.headers.get("content-type")||"",t=X(e.url);return ft(r)||dr(t)}return h(e)?e.type||"":typeof e=="string"?dr(e):""}function pt(e){return l(e)?e.headers["content-length"]||-1:h(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Le(e){if(l(e))return e;let r={},t=pt(e);t>=0&&(r["content-length"]=String(t));let o=w(e),n=we(e);n&&(r["content-type"]=n);let s=await $o(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function yr(e){if(!e.ok)throw await Uo(e)}async function Uo(e){let r=mt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new Z(t,o)}async function $o(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${Do(t)}`}return null}function Do(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function jo(e){return!vo(e)&&!zo(e)}function vo(e){return e.startsWith("http:")||e.startsWith("https:")}function zo(e){return e.startsWith("data:")}async function j(e,r){if(typeof e=="string"){let t=I(e);return jo(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Le(e)}async function ht(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await qo(o)}async function qo(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var gr=new T({id:"loaders.gl"}),Re=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ie=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Oe={core:{baseUri:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new Ie,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:p,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},dt={baseUri:"core.baseUri",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};var wr=["baseUri","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function be(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function B(){let e=be();return e.globalOptions=e.globalOptions||{...Oe,core:{...Oe.core}},v(e.globalOptions)}function br(e){let r=be(),t=B();r.globalOptions=wt(t,e),Ge(e.modules)}function ee(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],Vo(e,t),v(wt(r,e,o))}function v(e){let r=Qo(e);bt(r);for(let t of wr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function Vo(e,r){yt(e,null,Oe,dt,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};yt(o,t.id,n,s,r)}}function yt(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&d(e[a]),f=a==="baseUri"&&!r,S=a==="workerUrl"&&r;if(!(a in t)&&!f&&!S){if(a in o)gr.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c){let E=Go(a,n);gr.warn(`${s} loader option '${i}${a}' not recognized. ${E}`)()}}}}function Go(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function wt(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),bt(n),n.core?.log===null&&(n.core={...n.core,log:new Re}),gt(n,v(B()));let s=v(r);return gt(n,s),Ho(n,t),Jo(n),n}function gt(e,r){for(let t in r)if(t in r){let o=r[t];G(o)&&G(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Ho(e,r){if(!r)return;let t=e.baseUri!==void 0,o=e.core?.baseUri!==void 0;!t&&!o&&(e.core||={},e.core.baseUri=r)}function Qo(e){let r={...e};return e.core&&(r.core={...e.core}),r}function bt(e){for(let t of wr)if(e[t]!==void 0){let n=e.core=e.core||{};n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function Jo(e){let r=e.core;if(r)for(let t of wr)r[t]!==void 0&&(e[t]=r[t])}function b(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function xe(e){z(e,"null loader"),z(b(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var xt=()=>{let e=be();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=xt();e=Array.isArray(e)?e:[e];for(let t of e){let o=xe(t);r.find(n=>o===n)||r.unshift(o)}}function At(){return xt()}function kt(){let e=be();e.loaderRegistry=[]}var Ko=/\.([^.]+)$/;async function te(e,r=[],t,o){if(!_t(e))return null;let n=v(t||{});n.core||={};let s=re(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),s=re(e,r,n,o)),!s&&!n.core.nothrow)throw new Error(Bt(e));return s}function re(e,r=[],t,o){if(!_t(e))return null;let n=v(t||{});if(n.core||={},r&&!Array.isArray(r))return xe(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...At()),Zo(s);let i=Yo(e,s,n,o);if(!i&&!n.core.nothrow)throw new Error(Bt(e));return i}function Yo(e,r,t,o){let n=w(e),s=we(e),i=X(n)||o?.url,a=null,c="";return t?.core?.mimeType&&(a=xr(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),a=a||Xo(r,i),c=c||(a?`matched url ${i}`:""),a=a||xr(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||rn(r,e),c=c||(a?`matched initial data ${Et(e)}`:""),t?.core?.fallbackMimeType&&(a=a||xr(r,t?.core?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&ve.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function _t(e){return!(e instanceof Response&&e.status===204)}function Bt(e){let r=w(e),t=we(e),o="No valid loader found (";o+=r?`${D.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Et(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Zo(e){for(let r of e)xe(r)}function Xo(e,r){let t=r&&Ko.exec(r),o=t&&t[1];return o?en(e,o):null}function en(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function xr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>hr(r,o))||hr(r,`application/x.${t.id}`))return t;return null}function rn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(tn(r,t))return t}else if(ArrayBuffer.isView(r)){if(St(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&St(r,0,t))return t;return null}function tn(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function St(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>on(e,r,t,n))}function on(e,r,t,o){if(F(o))return tr(o,e,o.byteLength);switch(typeof o){case"function":return o(_(e));case"string":let n=Tr(e,r,o.length);return o===n;default:return!1}}function Et(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?Tr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?Tr(e,0,r):""}function Tr(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var nn=256*1024;function*Lt(e,r){let t=r?.chunkSize||nn,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),i=e.slice(o,o+s);o+=s,yield _(n.encode(i))}}function*Rt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*It(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function Ar(e,r){return p?sn(e,r):an(e,r)}async function*sn(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:i}=await n;if(s)return;yield O(i)}}catch{t.releaseLock()}}async function*an(e,r){for await(let t of e)yield O(t)}function oe(e,r){if(typeof e=="string")return Lt(e,r);if(e instanceof ArrayBuffer)return Rt(e,r);if(h(e))return It(e,r);if(L(e))return Ar(e,r);if(l(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Ar(t,r)}throw new Error("makeIterator")}var Me="Cannot convert supplied data type";function kr(e,r,t){if(r.text&&typeof e=="string")return e;if(Ee(e)&&(e=e.buffer),F(e)){let o=mr(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):O(o)}throw new Error(Me)}async function Ot(e,r,t){if(typeof e=="string"||F(e))return kr(e,r,t);if(h(e)&&(e=await Le(e)),l(e))return await yr(e),r.binary?await e.arrayBuffer():await e.text();if(L(e)&&(e=oe(e,t)),C(e)||H(e))return U(e);throw new Error(Me)}async function Mt(e,r){if(ae(e)&&(e=await e),Q(e))return e;if(l(e)){await yr(e);let t=await e.body;if(!t)throw new Error(Me);return oe(t,r)}return h(e)||L(e)?oe(e,r):H(e)||C(e)?e:cn(e)}function cn(e){if(ArrayBuffer.isView(e))return function*(){yield O(e)}();if(F(e))return function*(){yield O(e)}();if(Q(e))return e;if(C(e))return e[Symbol.iterator]();throw new Error(Me)}function ne(e,r){let t=B(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:d(n)?s=>j(s,n):r?.fetch?r?.fetch:j}function se(e,r,t){if(t)return t;let o={fetch:ne(r,e),...e};if(o.url){let n=X(o.url);o.baseUrl=n,o.queryString=lt(o.url),o.filename=D.filename(n),o.baseUrl=D.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function We(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function k(e,r,t,o){r&&!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=w(e),i=We(r,o),a=await te(e,i,t);if(!a)return null;let c=ee(t,a,i,n);return o=se({url:n,_parse:k,loaders:i},c,o||null),await fn(a,e,c,o)}async function fn(e,r,t,o){if(Ze(e),t=Ve(e.options,t),l(r)){let{ok:s,redirected:i,status:a,statusText:c,type:f,url:S}=r,E=Object.fromEntries(r.headers.entries());o.response={headers:E,ok:s,redirected:i,status:a,statusText:c,type:f,url:S}}r=await Ot(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(Xe(e,t))return await er(e,r,t,o,k);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw m(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Wt(e,r,t,o){!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=We(r,o),i=re(e,s,t);if(!i)return null;let a=ee(t,i,s),c=w(e),f=()=>{throw new Error("parseSync called parse (which is async")};return o=se({url:c,_parseSync:f,_parse:f,loaders:r},a,o||null),un(i,e,a,o)}function un(e,r,t,o){if(r=kr(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function Sr(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function _r(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function Br(e){return{...e,length:_r(e),batchType:"data"}}async function M(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=w(e),i=await te(e,r,t);if(!i)return[];let a=ee(t,i,n,s);return o=se({url:s,_parseInBatches:M,_parse:k,loaders:n},a,o||null),await ln(i,e,a,o)}async function ln(e,r,t,o){let n=await mn(e,r,t,o);if(!t?.core?.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function mn(e,r,t,o){let n=await Mt(r,t),s=await dn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):pn(s,e,t,o)}async function*pn(e,r,t,o){let n=await U(e),s=await k(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield hn(s,r)}function hn(e,r){let t=Sr(e)?Br(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function dn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function Nt(e,r,t,o){let n,s;!Array.isArray(r)&&!b(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=ne(s),a=e;return typeof e=="string"&&(a=await i(e)),h(e)&&(a=await i(e)),Array.isArray(n)?await k(a,n,s):await k(a,n,s)}function Ct(e,r,t,o){let n;!Array.isArray(r)&&!b(r)?(o=void 0,t=r,n=void 0):n=r;let s=ne(t||{});return Array.isArray(e)?e.map(a=>Ft(a,n,t||{},s)):Ft(e,n,t||{},s)}async function Ft(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await M(s,r,t):await M(s,r,t)}return Array.isArray(r)?await M(e,r,t):await M(e,r,t)}async function Er(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return _(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Lr(e,r,t),n=[];for await(let s of o)n.push(s);return me(...n)}throw new Error("Writer could not encode data")}async function Pt(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Er(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Lr(e,r,t){if(r.encodeInBatches){let o=yn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function yn(e){return[{...e,start:0,end:e.length}]}async function $t(e,r,t){let n={...B(),...t};return r.encodeURLtoURL?gn(r,e,n):rr(r,n)?await Ye(r,e,n):await r.encode(e,n)}function Rr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return _(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Dt(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function jt(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Rr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function vt(e,r,t){if(r.encodeInBatches){let o=wn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Ir(e,r,t,o){if(e=I(e),r=I(r),p||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function gn(e,r,t){if(p)throw new Error(`Writer ${e.name} not supported in browser`);let o=Ut("input");await new ge(o,"w").write(r);let s=Ut("output"),i=await Ir(o,s,e,t);return(await j(i)).arrayBuffer()}function wn(e){return[{...e,start:0,end:e.length}]}function Ut(e){return`/tmp/${e}`}function zt(e,r,t){let o=t?.core?.type||t.type||"auto",n=o==="auto"?bn(e,r):xn(o,r);if(!n)throw new Error("Not a valid source type");return n.createDataSource(e,t)}function bn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function xn(e,r){for(let t of r)if(t.type===e)return t;return null}function qt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=Tn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Tn(e,r){for(let t of r)if(t.type===e)return t;return null}function Vt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var Gt="4.4.0-alpha.9",Ht={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Qt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Or(e,r||{},t),parseSync:Or,parseInBatches:async function*(r,t,o){for await(let n of r)yield Or(n,t,o)},tests:[()=>!1],options:{null:{}}};function Or(e,r,t){return null}async function Jt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await Kt(c,f,0,i,r,t,o)}});return new Response(a)}async function Kt(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await Kt(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Ne=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),f=parseInt(i[2]),S=await o.slice(c,f).arrayBuffer(),E=new Response(S);return Object.defineProperty(E,"url",{value:r}),E}let a=new Response(o);return Object.defineProperty(a,"url",{value:r}),a}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new de(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return to(An);})();
14
14
  return __exports__;
15
15
  });