"use strict";
(self["webpackChunk_itwin_ecschema_rpcinterface_tests"] = self["webpackChunk_itwin_ecschema_rpcinterface_tests"] || []).push([["vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6"],{

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-loader.js":
/*!****************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-loader.js ***!
  \****************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "DracoLoader": () => (/* binding */ DracoLoader),
/* harmony export */   "_TypecheckDracoLoader": () => (/* binding */ _TypecheckDracoLoader)
/* harmony export */ });
/* harmony import */ var _lib_utils_version__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/utils/version */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/version.js");

const DEFAULT_DRACO_OPTIONS = {
  draco: {
    decoderType: typeof WebAssembly === 'object' ? 'wasm' : 'js',
    libraryPath: 'libs/',
    extraAttributes: {},
    attributeNameEntry: undefined
  }
};
const DracoLoader = {
  name: 'Draco',
  id: 'draco',
  module: 'draco',
  shapes: ['mesh'],
  version: _lib_utils_version__WEBPACK_IMPORTED_MODULE_0__.VERSION,
  worker: true,
  extensions: ['drc'],
  mimeTypes: ['application/octet-stream'],
  binary: true,
  tests: ['DRACO'],
  options: DEFAULT_DRACO_OPTIONS
};
const _TypecheckDracoLoader = DracoLoader;


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-writer.js":
/*!****************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-writer.js ***!
  \****************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "DracoWriter": () => (/* binding */ DracoWriter)
/* harmony export */ });
/* harmony import */ var _lib_draco_builder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/draco-builder */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-builder.js");
/* harmony import */ var _lib_draco_module_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/draco-module-loader */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-module-loader.js");
/* harmony import */ var _lib_utils_version__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/utils/version */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/version.js");



const DEFAULT_DRACO_OPTIONS = {
  pointcloud: false,
  attributeNameEntry: 'name'
};
const DracoWriter = {
  name: 'DRACO',
  id: 'draco',
  module: 'draco',
  version: _lib_utils_version__WEBPACK_IMPORTED_MODULE_0__.VERSION,
  extensions: ['drc'],
  encode,
  options: {
    draco: DEFAULT_DRACO_OPTIONS
  }
};

async function encode(data, options = {}) {
  const {
    draco
  } = await (0,_lib_draco_module_loader__WEBPACK_IMPORTED_MODULE_1__.loadDracoEncoderModule)(options);
  const dracoBuilder = new _lib_draco_builder__WEBPACK_IMPORTED_MODULE_2__["default"](draco);

  try {
    return dracoBuilder.encodeSync(data, options.draco);
  } finally {
    dracoBuilder.destroy();
  }
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/index.js":
/*!*********************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/index.js ***!
  \*********************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "DracoLoader": () => (/* binding */ DracoLoader),
/* harmony export */   "DracoWorkerLoader": () => (/* reexport safe */ _draco_loader__WEBPACK_IMPORTED_MODULE_1__.DracoLoader),
/* harmony export */   "DracoWriter": () => (/* reexport safe */ _draco_writer__WEBPACK_IMPORTED_MODULE_0__.DracoWriter),
/* harmony export */   "_TypecheckDracoLoader": () => (/* binding */ _TypecheckDracoLoader)
/* harmony export */ });
/* harmony import */ var _draco_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./draco-loader */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-loader.js");
/* harmony import */ var _lib_draco_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/draco-parser */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-parser.js");
/* harmony import */ var _lib_draco_module_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/draco-module-loader */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-module-loader.js");
/* harmony import */ var _draco_writer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./draco-writer */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/draco-writer.js");





const DracoLoader = { ..._draco_loader__WEBPACK_IMPORTED_MODULE_1__.DracoLoader,
  parse
};

async function parse(arrayBuffer, options) {
  const {
    draco
  } = await (0,_lib_draco_module_loader__WEBPACK_IMPORTED_MODULE_2__.loadDracoDecoderModule)(options);
  const dracoParser = new _lib_draco_parser__WEBPACK_IMPORTED_MODULE_3__["default"](draco);

  try {
    return dracoParser.parseSync(arrayBuffer, options === null || options === void 0 ? void 0 : options.draco);
  } finally {
    dracoParser.destroy();
  }
}

const _TypecheckDracoLoader = DracoLoader;


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-builder.js":
/*!*********************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-builder.js ***!
  \*********************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ DracoBuilder)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js");

const GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP = {
  POSITION: 'POSITION',
  NORMAL: 'NORMAL',
  COLOR_0: 'COLOR',
  TEXCOORD_0: 'TEX_COORD'
};

const noop = () => {};

class DracoBuilder {
  constructor(draco) {
    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "draco", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "dracoEncoder", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "dracoMeshBuilder", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "dracoMetadataBuilder", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "log", void 0);

    this.draco = draco;
    this.dracoEncoder = new this.draco.Encoder();
    this.dracoMeshBuilder = new this.draco.MeshBuilder();
    this.dracoMetadataBuilder = new this.draco.MetadataBuilder();
  }

  destroy() {
    this.destroyEncodedObject(this.dracoMeshBuilder);
    this.destroyEncodedObject(this.dracoEncoder);
    this.destroyEncodedObject(this.dracoMetadataBuilder);
    this.dracoMeshBuilder = null;
    this.dracoEncoder = null;
    this.draco = null;
  }

  destroyEncodedObject(object) {
    if (object) {
      this.draco.destroy(object);
    }
  }

  encodeSync(mesh, options = {}) {
    this.log = noop;

    this._setOptions(options);

    return options.pointcloud ? this._encodePointCloud(mesh, options) : this._encodeMesh(mesh, options);
  }

  _getAttributesFromMesh(mesh) {
    const attributes = { ...mesh,
      ...mesh.attributes
    };

    if (mesh.indices) {
      attributes.indices = mesh.indices;
    }

    return attributes;
  }

  _encodePointCloud(pointcloud, options) {
    const dracoPointCloud = new this.draco.PointCloud();

    if (options.metadata) {
      this._addGeometryMetadata(dracoPointCloud, options.metadata);
    }

    const attributes = this._getAttributesFromMesh(pointcloud);

    this._createDracoPointCloud(dracoPointCloud, attributes, options);

    const dracoData = new this.draco.DracoInt8Array();

    try {
      const encodedLen = this.dracoEncoder.EncodePointCloudToDracoBuffer(dracoPointCloud, false, dracoData);

      if (!(encodedLen > 0)) {
        throw new Error('Draco encoding failed.');
      }

      this.log("DRACO encoded ".concat(dracoPointCloud.num_points(), " points\n        with ").concat(dracoPointCloud.num_attributes(), " attributes into ").concat(encodedLen, " bytes"));
      return dracoInt8ArrayToArrayBuffer(dracoData);
    } finally {
      this.destroyEncodedObject(dracoData);
      this.destroyEncodedObject(dracoPointCloud);
    }
  }

  _encodeMesh(mesh, options) {
    const dracoMesh = new this.draco.Mesh();

    if (options.metadata) {
      this._addGeometryMetadata(dracoMesh, options.metadata);
    }

    const attributes = this._getAttributesFromMesh(mesh);

    this._createDracoMesh(dracoMesh, attributes, options);

    const dracoData = new this.draco.DracoInt8Array();

    try {
      const encodedLen = this.dracoEncoder.EncodeMeshToDracoBuffer(dracoMesh, dracoData);

      if (encodedLen <= 0) {
        throw new Error('Draco encoding failed.');
      }

      this.log("DRACO encoded ".concat(dracoMesh.num_points(), " points\n        with ").concat(dracoMesh.num_attributes(), " attributes into ").concat(encodedLen, " bytes"));
      return dracoInt8ArrayToArrayBuffer(dracoData);
    } finally {
      this.destroyEncodedObject(dracoData);
      this.destroyEncodedObject(dracoMesh);
    }
  }

  _setOptions(options) {
    if ('speed' in options) {
      this.dracoEncoder.SetSpeedOptions(...options.speed);
    }

    if ('method' in options) {
      const dracoMethod = this.draco[options.method || 'MESH_SEQUENTIAL_ENCODING'];
      this.dracoEncoder.SetEncodingMethod(dracoMethod);
    }

    if ('quantization' in options) {
      for (const attribute in options.quantization) {
        const bits = options.quantization[attribute];
        const dracoPosition = this.draco[attribute];
        this.dracoEncoder.SetAttributeQuantization(dracoPosition, bits);
      }
    }
  }

  _createDracoMesh(dracoMesh, attributes, options) {
    const optionalMetadata = options.attributesMetadata || {};

    try {
      const positions = this._getPositionAttribute(attributes);

      if (!positions) {
        throw new Error('positions');
      }

      const vertexCount = positions.length / 3;

      for (let attributeName in attributes) {
        const attribute = attributes[attributeName];
        attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;

        const uniqueId = this._addAttributeToMesh(dracoMesh, attributeName, attribute, vertexCount);

        if (uniqueId !== -1) {
          this._addAttributeMetadata(dracoMesh, uniqueId, {
            name: attributeName,
            ...(optionalMetadata[attributeName] || {})
          });
        }
      }
    } catch (error) {
      this.destroyEncodedObject(dracoMesh);
      throw error;
    }

    return dracoMesh;
  }

  _createDracoPointCloud(dracoPointCloud, attributes, options) {
    const optionalMetadata = options.attributesMetadata || {};

    try {
      const positions = this._getPositionAttribute(attributes);

      if (!positions) {
        throw new Error('positions');
      }

      const vertexCount = positions.length / 3;

      for (let attributeName in attributes) {
        const attribute = attributes[attributeName];
        attributeName = GLTF_TO_DRACO_ATTRIBUTE_NAME_MAP[attributeName] || attributeName;

        const uniqueId = this._addAttributeToMesh(dracoPointCloud, attributeName, attribute, vertexCount);

        if (uniqueId !== -1) {
          this._addAttributeMetadata(dracoPointCloud, uniqueId, {
            name: attributeName,
            ...(optionalMetadata[attributeName] || {})
          });
        }
      }
    } catch (error) {
      this.destroyEncodedObject(dracoPointCloud);
      throw error;
    }

    return dracoPointCloud;
  }

  _addAttributeToMesh(mesh, attributeName, attribute, vertexCount) {
    if (!ArrayBuffer.isView(attribute)) {
      return -1;
    }

    const type = this._getDracoAttributeType(attributeName);

    const size = attribute.length / vertexCount;

    if (type === 'indices') {
      const numFaces = attribute.length / 3;
      this.log("Adding attribute ".concat(attributeName, ", size ").concat(numFaces));
      this.dracoMeshBuilder.AddFacesToMesh(mesh, numFaces, attribute);
      return -1;
    }

    this.log("Adding attribute ".concat(attributeName, ", size ").concat(size));
    const builder = this.dracoMeshBuilder;
    const {
      buffer
    } = attribute;

    switch (attribute.constructor) {
      case Int8Array:
        return builder.AddInt8Attribute(mesh, type, vertexCount, size, new Int8Array(buffer));

      case Int16Array:
        return builder.AddInt16Attribute(mesh, type, vertexCount, size, new Int16Array(buffer));

      case Int32Array:
        return builder.AddInt32Attribute(mesh, type, vertexCount, size, new Int32Array(buffer));

      case Uint8Array:
      case Uint8ClampedArray:
        return builder.AddUInt8Attribute(mesh, type, vertexCount, size, new Uint8Array(buffer));

      case Uint16Array:
        return builder.AddUInt16Attribute(mesh, type, vertexCount, size, new Uint16Array(buffer));

      case Uint32Array:
        return builder.AddUInt32Attribute(mesh, type, vertexCount, size, new Uint32Array(buffer));

      case Float32Array:
      default:
        return builder.AddFloatAttribute(mesh, type, vertexCount, size, new Float32Array(buffer));
    }
  }

  _getDracoAttributeType(attributeName) {
    switch (attributeName.toLowerCase()) {
      case 'indices':
        return 'indices';

      case 'position':
      case 'positions':
      case 'vertices':
        return this.draco.POSITION;

      case 'normal':
      case 'normals':
        return this.draco.NORMAL;

      case 'color':
      case 'colors':
        return this.draco.COLOR;

      case 'texcoord':
      case 'texcoords':
        return this.draco.TEX_COORD;

      default:
        return this.draco.GENERIC;
    }
  }

  _getPositionAttribute(attributes) {
    for (const attributeName in attributes) {
      const attribute = attributes[attributeName];

      const dracoType = this._getDracoAttributeType(attributeName);

      if (dracoType === this.draco.POSITION) {
        return attribute;
      }
    }

    return null;
  }

  _addGeometryMetadata(dracoGeometry, metadata) {
    const dracoMetadata = new this.draco.Metadata();

    this._populateDracoMetadata(dracoMetadata, metadata);

    this.dracoMeshBuilder.AddMetadata(dracoGeometry, dracoMetadata);
  }

  _addAttributeMetadata(dracoGeometry, uniqueAttributeId, metadata) {
    const dracoAttributeMetadata = new this.draco.Metadata();

    this._populateDracoMetadata(dracoAttributeMetadata, metadata);

    this.dracoMeshBuilder.SetMetadataForAttribute(dracoGeometry, uniqueAttributeId, dracoAttributeMetadata);
  }

  _populateDracoMetadata(dracoMetadata, metadata) {
    for (const [key, value] of getEntries(metadata)) {
      switch (typeof value) {
        case 'number':
          if (Math.trunc(value) === value) {
            this.dracoMetadataBuilder.AddIntEntry(dracoMetadata, key, value);
          } else {
            this.dracoMetadataBuilder.AddDoubleEntry(dracoMetadata, key, value);
          }

          break;

        case 'object':
          if (value instanceof Int32Array) {
            this.dracoMetadataBuilder.AddIntEntryArray(dracoMetadata, key, value, value.length);
          }

          break;

        case 'string':
        default:
          this.dracoMetadataBuilder.AddStringEntry(dracoMetadata, key, value);
      }
    }
  }

}

function dracoInt8ArrayToArrayBuffer(dracoData) {
  const byteLength = dracoData.size();
  const outputBuffer = new ArrayBuffer(byteLength);
  const outputData = new Int8Array(outputBuffer);

  for (let i = 0; i < byteLength; ++i) {
    outputData[i] = dracoData.GetValue(i);
  }

  return outputBuffer;
}

function getEntries(container) {
  const hasEntriesFunc = container.entries && !container.hasOwnProperty('entries');
  return hasEntriesFunc ? container.entries() : Object.entries(container);
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-module-loader.js":
/*!***************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-module-loader.js ***!
  \***************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "loadDracoDecoderModule": () => (/* binding */ loadDracoDecoderModule),
/* harmony export */   "loadDracoEncoderModule": () => (/* binding */ loadDracoEncoderModule)
/* harmony export */ });
/* harmony import */ var _loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @loaders.gl/worker-utils */ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/library-utils/library-utils.js");

const DRACO_VERSION = '1.4.1';
const DRACO_JS_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.js");
const DRACO_WASM_WRAPPER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_wasm_wrapper.js");
const DRACO_WASM_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.wasm");
const DRACO_ENCODER_URL = "https://raw.githubusercontent.com/google/draco/".concat(DRACO_VERSION, "/javascript/draco_encoder.js");
let loadDecoderPromise;
let loadEncoderPromise;
async function loadDracoDecoderModule(options) {
  const modules = options.modules || {};

  if (modules.draco3d) {
    loadDecoderPromise = loadDecoderPromise || modules.draco3d.createDecoderModule({}).then(draco => {
      return {
        draco
      };
    });
  } else {
    loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
  }

  return await loadDecoderPromise;
}
async function loadDracoEncoderModule(options) {
  const modules = options.modules || {};

  if (modules.draco3d) {
    loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then(draco => {
      return {
        draco
      };
    });
  } else {
    loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
  }

  return await loadEncoderPromise;
}

async function loadDracoDecoder(options) {
  let DracoDecoderModule;
  let wasmBinary;

  switch (options.draco && options.draco.decoderType) {
    case 'js':
      DracoDecoderModule = await (0,_loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
      break;

    case 'wasm':
    default:
      [DracoDecoderModule, wasmBinary] = await Promise.all([await (0,_loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options), await (0,_loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options)]);
  }

  DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
  return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
}

function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
  const options = {};

  if (wasmBinary) {
    options.wasmBinary = wasmBinary;
  }

  return new Promise(resolve => {
    DracoDecoderModule({ ...options,
      onModuleLoaded: draco => resolve({
        draco
      })
    });
  });
}

async function loadDracoEncoder(options) {
  let DracoEncoderModule = await (0,_loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
  DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
  return new Promise(resolve => {
    DracoEncoderModule({
      onModuleLoaded: draco => resolve({
        draco
      })
    });
  });
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-parser.js":
/*!********************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/draco-parser.js ***!
  \********************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ DracoParser)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _loaders_gl_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @loaders.gl/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/mesh-utils.js");
/* harmony import */ var _utils_get_draco_schema__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/get-draco-schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/get-draco-schema.js");



const GEOMETRY_TYPE = {
  TRIANGULAR_MESH: 0,
  POINT_CLOUD: 1
};
const DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP = {
  POSITION: 'POSITION',
  NORMAL: 'NORMAL',
  COLOR: 'COLOR_0',
  TEX_COORD: 'TEXCOORD_0'
};
const DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP = {
  1: Int8Array,
  2: Uint8Array,
  3: Int16Array,
  4: Uint16Array,
  5: Int32Array,
  6: Uint32Array,
  9: Float32Array
};
const INDEX_ITEM_SIZE = 4;
class DracoParser {
  constructor(draco) {
    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "draco", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "decoder", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "metadataQuerier", void 0);

    this.draco = draco;
    this.decoder = new this.draco.Decoder();
    this.metadataQuerier = new this.draco.MetadataQuerier();
  }

  destroy() {
    this.draco.destroy(this.decoder);
    this.draco.destroy(this.metadataQuerier);
  }

  parseSync(arrayBuffer, options = {}) {
    const buffer = new this.draco.DecoderBuffer();
    buffer.Init(new Int8Array(arrayBuffer), arrayBuffer.byteLength);

    this._disableAttributeTransforms(options);

    const geometry_type = this.decoder.GetEncodedGeometryType(buffer);
    const dracoGeometry = geometry_type === this.draco.TRIANGULAR_MESH ? new this.draco.Mesh() : new this.draco.PointCloud();

    try {
      let dracoStatus;

      switch (geometry_type) {
        case this.draco.TRIANGULAR_MESH:
          dracoStatus = this.decoder.DecodeBufferToMesh(buffer, dracoGeometry);
          break;

        case this.draco.POINT_CLOUD:
          dracoStatus = this.decoder.DecodeBufferToPointCloud(buffer, dracoGeometry);
          break;

        default:
          throw new Error('DRACO: Unknown geometry type.');
      }

      if (!dracoStatus.ok() || !dracoGeometry.ptr) {
        const message = "DRACO decompression failed: ".concat(dracoStatus.error_msg());
        throw new Error(message);
      }

      const loaderData = this._getDracoLoaderData(dracoGeometry, geometry_type, options);

      const geometry = this._getMeshData(dracoGeometry, loaderData, options);

      const boundingBox = (0,_loaders_gl_schema__WEBPACK_IMPORTED_MODULE_1__.getMeshBoundingBox)(geometry.attributes);
      const schema = (0,_utils_get_draco_schema__WEBPACK_IMPORTED_MODULE_2__.getDracoSchema)(geometry.attributes, loaderData, geometry.indices);
      const data = {
        loader: 'draco',
        loaderData,
        header: {
          vertexCount: dracoGeometry.num_points(),
          boundingBox
        },
        ...geometry,
        schema
      };
      return data;
    } finally {
      this.draco.destroy(buffer);

      if (dracoGeometry) {
        this.draco.destroy(dracoGeometry);
      }
    }
  }

  _getDracoLoaderData(dracoGeometry, geometry_type, options) {
    const metadata = this._getTopLevelMetadata(dracoGeometry);

    const attributes = this._getDracoAttributes(dracoGeometry, options);

    return {
      geometry_type,
      num_attributes: dracoGeometry.num_attributes(),
      num_points: dracoGeometry.num_points(),
      num_faces: dracoGeometry instanceof this.draco.Mesh ? dracoGeometry.num_faces() : 0,
      metadata,
      attributes
    };
  }

  _getDracoAttributes(dracoGeometry, options) {
    const dracoAttributes = {};

    for (let attributeId = 0; attributeId < dracoGeometry.num_attributes(); attributeId++) {
      const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attributeId);

      const metadata = this._getAttributeMetadata(dracoGeometry, attributeId);

      dracoAttributes[dracoAttribute.unique_id()] = {
        unique_id: dracoAttribute.unique_id(),
        attribute_type: dracoAttribute.attribute_type(),
        data_type: dracoAttribute.data_type(),
        num_components: dracoAttribute.num_components(),
        byte_offset: dracoAttribute.byte_offset(),
        byte_stride: dracoAttribute.byte_stride(),
        normalized: dracoAttribute.normalized(),
        attribute_index: attributeId,
        metadata
      };

      const quantization = this._getQuantizationTransform(dracoAttribute, options);

      if (quantization) {
        dracoAttributes[dracoAttribute.unique_id()].quantization_transform = quantization;
      }

      const octahedron = this._getOctahedronTransform(dracoAttribute, options);

      if (octahedron) {
        dracoAttributes[dracoAttribute.unique_id()].octahedron_transform = octahedron;
      }
    }

    return dracoAttributes;
  }

  _getMeshData(dracoGeometry, loaderData, options) {
    const attributes = this._getMeshAttributes(loaderData, dracoGeometry, options);

    const positionAttribute = attributes.POSITION;

    if (!positionAttribute) {
      throw new Error('DRACO: No position attribute found.');
    }

    if (dracoGeometry instanceof this.draco.Mesh) {
      switch (options.topology) {
        case 'triangle-strip':
          return {
            topology: 'triangle-strip',
            mode: 4,
            attributes,
            indices: {
              value: this._getTriangleStripIndices(dracoGeometry),
              size: 1
            }
          };

        case 'triangle-list':
        default:
          return {
            topology: 'triangle-list',
            mode: 5,
            attributes,
            indices: {
              value: this._getTriangleListIndices(dracoGeometry),
              size: 1
            }
          };
      }
    }

    return {
      topology: 'point-list',
      mode: 0,
      attributes
    };
  }

  _getMeshAttributes(loaderData, dracoGeometry, options) {
    const attributes = {};

    for (const loaderAttribute of Object.values(loaderData.attributes)) {
      const attributeName = this._deduceAttributeName(loaderAttribute, options);

      loaderAttribute.name = attributeName;

      const {
        value,
        size
      } = this._getAttributeValues(dracoGeometry, loaderAttribute);

      attributes[attributeName] = {
        value,
        size,
        byteOffset: loaderAttribute.byte_offset,
        byteStride: loaderAttribute.byte_stride,
        normalized: loaderAttribute.normalized
      };
    }

    return attributes;
  }

  _getTriangleListIndices(dracoGeometry) {
    const numFaces = dracoGeometry.num_faces();
    const numIndices = numFaces * 3;
    const byteLength = numIndices * INDEX_ITEM_SIZE;

    const ptr = this.draco._malloc(byteLength);

    try {
      this.decoder.GetTrianglesUInt32Array(dracoGeometry, byteLength, ptr);
      return new Uint32Array(this.draco.HEAPF32.buffer, ptr, numIndices).slice();
    } finally {
      this.draco._free(ptr);
    }
  }

  _getTriangleStripIndices(dracoGeometry) {
    const dracoArray = new this.draco.DracoInt32Array();

    try {
      this.decoder.GetTriangleStripsFromMesh(dracoGeometry, dracoArray);
      return getUint32Array(dracoArray);
    } finally {
      this.draco.destroy(dracoArray);
    }
  }

  _getAttributeValues(dracoGeometry, attribute) {
    const TypedArrayCtor = DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP[attribute.data_type];
    const numComponents = attribute.num_components;
    const numPoints = dracoGeometry.num_points();
    const numValues = numPoints * numComponents;
    const byteLength = numValues * TypedArrayCtor.BYTES_PER_ELEMENT;
    const dataType = getDracoDataType(this.draco, TypedArrayCtor);
    let value;

    const ptr = this.draco._malloc(byteLength);

    try {
      const dracoAttribute = this.decoder.GetAttribute(dracoGeometry, attribute.attribute_index);
      this.decoder.GetAttributeDataArrayForAllPoints(dracoGeometry, dracoAttribute, dataType, byteLength, ptr);
      value = new TypedArrayCtor(this.draco.HEAPF32.buffer, ptr, numValues).slice();
    } finally {
      this.draco._free(ptr);
    }

    return {
      value,
      size: numComponents
    };
  }

  _deduceAttributeName(attribute, options) {
    const uniqueId = attribute.unique_id;

    for (const [attributeName, attributeUniqueId] of Object.entries(options.extraAttributes || {})) {
      if (attributeUniqueId === uniqueId) {
        return attributeName;
      }
    }

    const thisAttributeType = attribute.attribute_type;

    for (const dracoAttributeConstant in DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP) {
      const attributeType = this.draco[dracoAttributeConstant];

      if (attributeType === thisAttributeType) {
        return DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP[dracoAttributeConstant];
      }
    }

    const entryName = options.attributeNameEntry || 'name';

    if (attribute.metadata[entryName]) {
      return attribute.metadata[entryName].string;
    }

    return "CUSTOM_ATTRIBUTE_".concat(uniqueId);
  }

  _getTopLevelMetadata(dracoGeometry) {
    const dracoMetadata = this.decoder.GetMetadata(dracoGeometry);
    return this._getDracoMetadata(dracoMetadata);
  }

  _getAttributeMetadata(dracoGeometry, attributeId) {
    const dracoMetadata = this.decoder.GetAttributeMetadata(dracoGeometry, attributeId);
    return this._getDracoMetadata(dracoMetadata);
  }

  _getDracoMetadata(dracoMetadata) {
    if (!dracoMetadata || !dracoMetadata.ptr) {
      return {};
    }

    const result = {};
    const numEntries = this.metadataQuerier.NumEntries(dracoMetadata);

    for (let entryIndex = 0; entryIndex < numEntries; entryIndex++) {
      const entryName = this.metadataQuerier.GetEntryName(dracoMetadata, entryIndex);
      result[entryName] = this._getDracoMetadataField(dracoMetadata, entryName);
    }

    return result;
  }

  _getDracoMetadataField(dracoMetadata, entryName) {
    const dracoArray = new this.draco.DracoInt32Array();

    try {
      this.metadataQuerier.GetIntEntryArray(dracoMetadata, entryName, dracoArray);
      const intArray = getInt32Array(dracoArray);
      return {
        int: this.metadataQuerier.GetIntEntry(dracoMetadata, entryName),
        string: this.metadataQuerier.GetStringEntry(dracoMetadata, entryName),
        double: this.metadataQuerier.GetDoubleEntry(dracoMetadata, entryName),
        intArray
      };
    } finally {
      this.draco.destroy(dracoArray);
    }
  }

  _disableAttributeTransforms(options) {
    const {
      quantizedAttributes = [],
      octahedronAttributes = []
    } = options;
    const skipAttributes = [...quantizedAttributes, ...octahedronAttributes];

    for (const dracoAttributeName of skipAttributes) {
      this.decoder.SkipAttributeTransform(this.draco[dracoAttributeName]);
    }
  }

  _getQuantizationTransform(dracoAttribute, options) {
    const {
      quantizedAttributes = []
    } = options;
    const attribute_type = dracoAttribute.attribute_type();
    const skip = quantizedAttributes.map(type => this.decoder[type]).includes(attribute_type);

    if (skip) {
      const transform = new this.draco.AttributeQuantizationTransform();

      try {
        if (transform.InitFromAttribute(dracoAttribute)) {
          return {
            quantization_bits: transform.quantization_bits(),
            range: transform.range(),
            min_values: new Float32Array([1, 2, 3]).map(i => transform.min_value(i))
          };
        }
      } finally {
        this.draco.destroy(transform);
      }
    }

    return null;
  }

  _getOctahedronTransform(dracoAttribute, options) {
    const {
      octahedronAttributes = []
    } = options;
    const attribute_type = dracoAttribute.attribute_type();
    const octahedron = octahedronAttributes.map(type => this.decoder[type]).includes(attribute_type);

    if (octahedron) {
      const transform = new this.draco.AttributeQuantizationTransform();

      try {
        if (transform.InitFromAttribute(dracoAttribute)) {
          return {
            quantization_bits: transform.quantization_bits()
          };
        }
      } finally {
        this.draco.destroy(transform);
      }
    }

    return null;
  }

}

function getDracoDataType(draco, attributeType) {
  switch (attributeType) {
    case Float32Array:
      return draco.DT_FLOAT32;

    case Int8Array:
      return draco.DT_INT8;

    case Int16Array:
      return draco.DT_INT16;

    case Int32Array:
      return draco.DT_INT32;

    case Uint8Array:
      return draco.DT_UINT8;

    case Uint16Array:
      return draco.DT_UINT16;

    case Uint32Array:
      return draco.DT_UINT32;

    default:
      return draco.DT_INVALID;
  }
}

function getInt32Array(dracoArray) {
  const numValues = dracoArray.size();
  const intArray = new Int32Array(numValues);

  for (let i = 0; i < numValues; i++) {
    intArray[i] = dracoArray.GetValue(i);
  }

  return intArray;
}

function getUint32Array(dracoArray) {
  const numValues = dracoArray.size();
  const intArray = new Int32Array(numValues);

  for (let i = 0; i < numValues; i++) {
    intArray[i] = dracoArray.GetValue(i);
  }

  return intArray;
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/get-draco-schema.js":
/*!******************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/get-draco-schema.js ***!
  \******************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getDracoSchema": () => (/* binding */ getDracoSchema)
/* harmony export */ });
/* harmony import */ var _loaders_gl_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @loaders.gl/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/deduce-mesh-schema.js");
/* harmony import */ var _loaders_gl_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @loaders.gl/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/schema.js");


function getDracoSchema(attributes, loaderData, indices) {
  const metadataMap = makeMetadata(loaderData.metadata);
  const fields = [];
  const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);

  for (const attributeName in attributes) {
    const attribute = attributes[attributeName];
    const field = getArrowFieldFromAttribute(attributeName, attribute, namedLoaderDataAttributes[attributeName]);
    fields.push(field);
  }

  if (indices) {
    const indicesField = getArrowFieldFromAttribute('indices', indices);
    fields.push(indicesField);
  }

  return new _loaders_gl_schema__WEBPACK_IMPORTED_MODULE_0__["default"](fields, metadataMap);
}

function transformAttributesLoaderData(loaderData) {
  const result = {};

  for (const key in loaderData) {
    const dracoAttribute = loaderData[key];
    result[dracoAttribute.name || 'undefined'] = dracoAttribute;
  }

  return result;
}

function getArrowFieldFromAttribute(attributeName, attribute, loaderData) {
  const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;
  const field = (0,_loaders_gl_schema__WEBPACK_IMPORTED_MODULE_1__.deduceMeshField)(attributeName, attribute, metadataMap);
  return field;
}

function makeMetadata(metadata) {
  const metadataMap = new Map();

  for (const key in metadata) {
    metadataMap.set("".concat(key, ".string"), JSON.stringify(metadata[key]));
  }

  return metadataMap;
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/version.js":
/*!*********************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.1.6/node_modules/@loaders.gl/draco/dist/esm/lib/utils/version.js ***!
  \*********************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "VERSION": () => (/* binding */ VERSION)
/* harmony export */ });
const VERSION =  true ? "3.1.6" : 0;


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/deduce-mesh-schema.js":
/*!**************************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/deduce-mesh-schema.js ***!
  \**************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "deduceMeshField": () => (/* binding */ deduceMeshField),
/* harmony export */   "deduceMeshSchema": () => (/* binding */ deduceMeshSchema),
/* harmony export */   "makeMeshAttributeMetadata": () => (/* binding */ makeMeshAttributeMetadata)
/* harmony export */ });
/* harmony import */ var _lib_schema_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib/schema/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/schema.js");
/* harmony import */ var _lib_schema_schema__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/schema/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/field.js");
/* harmony import */ var _lib_schema_schema__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../lib/schema/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/type.js");
/* harmony import */ var _lib_arrow_arrow_like_type_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/arrow/arrow-like-type-utils */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/arrow/arrow-like-type-utils.js");


function deduceMeshSchema(attributes, metadata) {
  const fields = deduceMeshFields(attributes);
  return new _lib_schema_schema__WEBPACK_IMPORTED_MODULE_0__["default"](fields, metadata);
}
function deduceMeshField(attributeName, attribute, optionalMetadata) {
  const type = (0,_lib_arrow_arrow_like_type_utils__WEBPACK_IMPORTED_MODULE_1__.getArrowTypeFromTypedArray)(attribute.value);
  const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);
  const field = new _lib_schema_schema__WEBPACK_IMPORTED_MODULE_2__["default"](attributeName, new _lib_schema_schema__WEBPACK_IMPORTED_MODULE_3__.FixedSizeList(attribute.size, new _lib_schema_schema__WEBPACK_IMPORTED_MODULE_2__["default"]('value', type)), false, metadata);
  return field;
}

function deduceMeshFields(attributes) {
  const fields = [];

  for (const attributeName in attributes) {
    const attribute = attributes[attributeName];
    fields.push(deduceMeshField(attributeName, attribute));
  }

  return fields;
}

function makeMeshAttributeMetadata(attribute) {
  const result = new Map();

  if ('byteOffset' in attribute) {
    result.set('byteOffset', attribute.byteOffset.toString(10));
  }

  if ('byteStride' in attribute) {
    result.set('byteStride', attribute.byteStride.toString(10));
  }

  if ('normalized' in attribute) {
    result.set('normalized', attribute.normalized.toString());
  }

  return result;
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/mesh-utils.js":
/*!******************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/category/mesh/mesh-utils.js ***!
  \******************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getMeshBoundingBox": () => (/* binding */ getMeshBoundingBox),
/* harmony export */   "getMeshSize": () => (/* binding */ getMeshSize)
/* harmony export */ });
function getMeshSize(attributes) {
  let size = 0;

  for (const attributeName in attributes) {
    const attribute = attributes[attributeName];

    if (ArrayBuffer.isView(attribute)) {
      size += attribute.byteLength * attribute.BYTES_PER_ELEMENT;
    }
  }

  return size;
}
function getMeshBoundingBox(attributes) {
  let minX = Infinity;
  let minY = Infinity;
  let minZ = Infinity;
  let maxX = -Infinity;
  let maxY = -Infinity;
  let maxZ = -Infinity;
  const positions = attributes.POSITION ? attributes.POSITION.value : [];
  const len = positions && positions.length;

  for (let i = 0; i < len; i += 3) {
    const x = positions[i];
    const y = positions[i + 1];
    const z = positions[i + 2];
    minX = x < minX ? x : minX;
    minY = y < minY ? y : minY;
    minZ = z < minZ ? z : minZ;
    maxX = x > maxX ? x : maxX;
    maxY = y > maxY ? y : maxY;
    maxZ = z > maxZ ? z : maxZ;
  }

  return [[minX, minY, minZ], [maxX, maxY, maxZ]];
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/arrow/arrow-like-type-utils.js":
/*!*************************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/arrow/arrow-like-type-utils.js ***!
  \*************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getArrowTypeFromTypedArray": () => (/* binding */ getArrowTypeFromTypedArray)
/* harmony export */ });
/* harmony import */ var _schema_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../schema/schema */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/type.js");

function getArrowTypeFromTypedArray(array) {
  switch (array.constructor) {
    case Int8Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Int8();

    case Uint8Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Uint8();

    case Int16Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Int16();

    case Uint16Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Uint16();

    case Int32Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Int32();

    case Uint32Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Uint32();

    case Float32Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Float32();

    case Float64Array:
      return new _schema_schema__WEBPACK_IMPORTED_MODULE_0__.Float64();

    default:
      throw new Error('array type not supported');
  }
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/enum.js":
/*!**************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/enum.js ***!
  \**************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Type": () => (/* binding */ Type)
/* harmony export */ });
let Type;

(function (Type) {
  Type[Type["NONE"] = 0] = "NONE";
  Type[Type["Null"] = 1] = "Null";
  Type[Type["Int"] = 2] = "Int";
  Type[Type["Float"] = 3] = "Float";
  Type[Type["Binary"] = 4] = "Binary";
  Type[Type["Utf8"] = 5] = "Utf8";
  Type[Type["Bool"] = 6] = "Bool";
  Type[Type["Decimal"] = 7] = "Decimal";
  Type[Type["Date"] = 8] = "Date";
  Type[Type["Time"] = 9] = "Time";
  Type[Type["Timestamp"] = 10] = "Timestamp";
  Type[Type["Interval"] = 11] = "Interval";
  Type[Type["List"] = 12] = "List";
  Type[Type["Struct"] = 13] = "Struct";
  Type[Type["Union"] = 14] = "Union";
  Type[Type["FixedSizeBinary"] = 15] = "FixedSizeBinary";
  Type[Type["FixedSizeList"] = 16] = "FixedSizeList";
  Type[Type["Map"] = 17] = "Map";
  Type[Type["Dictionary"] = -1] = "Dictionary";
  Type[Type["Int8"] = -2] = "Int8";
  Type[Type["Int16"] = -3] = "Int16";
  Type[Type["Int32"] = -4] = "Int32";
  Type[Type["Int64"] = -5] = "Int64";
  Type[Type["Uint8"] = -6] = "Uint8";
  Type[Type["Uint16"] = -7] = "Uint16";
  Type[Type["Uint32"] = -8] = "Uint32";
  Type[Type["Uint64"] = -9] = "Uint64";
  Type[Type["Float16"] = -10] = "Float16";
  Type[Type["Float32"] = -11] = "Float32";
  Type[Type["Float64"] = -12] = "Float64";
  Type[Type["DateDay"] = -13] = "DateDay";
  Type[Type["DateMillisecond"] = -14] = "DateMillisecond";
  Type[Type["TimestampSecond"] = -15] = "TimestampSecond";
  Type[Type["TimestampMillisecond"] = -16] = "TimestampMillisecond";
  Type[Type["TimestampMicrosecond"] = -17] = "TimestampMicrosecond";
  Type[Type["TimestampNanosecond"] = -18] = "TimestampNanosecond";
  Type[Type["TimeSecond"] = -19] = "TimeSecond";
  Type[Type["TimeMillisecond"] = -20] = "TimeMillisecond";
  Type[Type["TimeMicrosecond"] = -21] = "TimeMicrosecond";
  Type[Type["TimeNanosecond"] = -22] = "TimeNanosecond";
  Type[Type["DenseUnion"] = -23] = "DenseUnion";
  Type[Type["SparseUnion"] = -24] = "SparseUnion";
  Type[Type["IntervalDayTime"] = -25] = "IntervalDayTime";
  Type[Type["IntervalYearMonth"] = -26] = "IntervalYearMonth";
})(Type || (Type = {}));


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/field.js":
/*!***************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/field.js ***!
  \***************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ Field)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js");

class Field {
  constructor(name, type, nullable = false, metadata = new Map()) {
    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "name", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "type", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "nullable", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "metadata", void 0);

    this.name = name;
    this.type = type;
    this.nullable = nullable;
    this.metadata = metadata;
  }

  get typeId() {
    return this.type && this.type.typeId;
  }

  clone() {
    return new Field(this.name, this.type, this.nullable, this.metadata);
  }

  compareTo(other) {
    return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
  }

  toString() {
    return "".concat(this.type).concat(this.nullable ? ', nullable' : '').concat(this.metadata ? ", metadata: ".concat(this.metadata) : '');
  }

}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/schema.js":
/*!****************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/schema.js ***!
  \****************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ Schema)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/assert */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/utils/assert.js");


class Schema {
  constructor(fields, metadata) {
    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "fields", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "metadata", void 0);

    (0,_utils_assert__WEBPACK_IMPORTED_MODULE_1__.assert)(Array.isArray(fields));
    checkNames(fields);
    this.fields = fields;
    this.metadata = metadata || new Map();
  }

  compareTo(other) {
    if (this.metadata !== other.metadata) {
      return false;
    }

    if (this.fields.length !== other.fields.length) {
      return false;
    }

    for (let i = 0; i < this.fields.length; ++i) {
      if (!this.fields[i].compareTo(other.fields[i])) {
        return false;
      }
    }

    return true;
  }

  select(...columnNames) {
    const nameMap = Object.create(null);

    for (const name of columnNames) {
      nameMap[name] = true;
    }

    const selectedFields = this.fields.filter(field => nameMap[field.name]);
    return new Schema(selectedFields, this.metadata);
  }

  selectAt(...columnIndices) {
    const selectedFields = columnIndices.map(index => this.fields[index]).filter(Boolean);
    return new Schema(selectedFields, this.metadata);
  }

  assign(schemaOrFields) {
    let fields;
    let metadata = this.metadata;

    if (schemaOrFields instanceof Schema) {
      const otherSchema = schemaOrFields;
      fields = otherSchema.fields;
      metadata = mergeMaps(mergeMaps(new Map(), this.metadata), otherSchema.metadata);
    } else {
      fields = schemaOrFields;
    }

    const fieldMap = Object.create(null);

    for (const field of this.fields) {
      fieldMap[field.name] = field;
    }

    for (const field of fields) {
      fieldMap[field.name] = field;
    }

    const mergedFields = Object.values(fieldMap);
    return new Schema(mergedFields, metadata);
  }

}

function checkNames(fields) {
  const usedNames = {};

  for (const field of fields) {
    if (usedNames[field.name]) {
      console.warn('Schema: duplicated field name', field.name, field);
    }

    usedNames[field.name] = true;
  }
}

function mergeMaps(m1, m2) {
  return new Map([...(m1 || new Map()), ...(m2 || new Map())]);
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/type.js":
/*!**************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/type.js ***!
  \**************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Binary": () => (/* binding */ Binary),
/* harmony export */   "Bool": () => (/* binding */ Bool),
/* harmony export */   "DataType": () => (/* binding */ DataType),
/* harmony export */   "Date": () => (/* binding */ Date),
/* harmony export */   "DateDay": () => (/* binding */ DateDay),
/* harmony export */   "DateMillisecond": () => (/* binding */ DateMillisecond),
/* harmony export */   "FixedSizeList": () => (/* binding */ FixedSizeList),
/* harmony export */   "Float": () => (/* binding */ Float),
/* harmony export */   "Float16": () => (/* binding */ Float16),
/* harmony export */   "Float32": () => (/* binding */ Float32),
/* harmony export */   "Float64": () => (/* binding */ Float64),
/* harmony export */   "Int": () => (/* binding */ Int),
/* harmony export */   "Int16": () => (/* binding */ Int16),
/* harmony export */   "Int32": () => (/* binding */ Int32),
/* harmony export */   "Int64": () => (/* binding */ Int64),
/* harmony export */   "Int8": () => (/* binding */ Int8),
/* harmony export */   "Interval": () => (/* binding */ Interval),
/* harmony export */   "IntervalDayTime": () => (/* binding */ IntervalDayTime),
/* harmony export */   "IntervalYearMonth": () => (/* binding */ IntervalYearMonth),
/* harmony export */   "Null": () => (/* binding */ Null),
/* harmony export */   "Struct": () => (/* binding */ Struct),
/* harmony export */   "Time": () => (/* binding */ Time),
/* harmony export */   "TimeMillisecond": () => (/* binding */ TimeMillisecond),
/* harmony export */   "TimeSecond": () => (/* binding */ TimeSecond),
/* harmony export */   "Timestamp": () => (/* binding */ Timestamp),
/* harmony export */   "TimestampMicrosecond": () => (/* binding */ TimestampMicrosecond),
/* harmony export */   "TimestampMillisecond": () => (/* binding */ TimestampMillisecond),
/* harmony export */   "TimestampNanosecond": () => (/* binding */ TimestampNanosecond),
/* harmony export */   "TimestampSecond": () => (/* binding */ TimestampSecond),
/* harmony export */   "Type": () => (/* reexport safe */ _enum__WEBPACK_IMPORTED_MODULE_1__.Type),
/* harmony export */   "Uint16": () => (/* binding */ Uint16),
/* harmony export */   "Uint32": () => (/* binding */ Uint32),
/* harmony export */   "Uint64": () => (/* binding */ Uint64),
/* harmony export */   "Uint8": () => (/* binding */ Uint8),
/* harmony export */   "Utf8": () => (/* binding */ Utf8)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enum */ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/schema/impl/enum.js");


let _Symbol$toStringTag, _Symbol$toStringTag2, _Symbol$toStringTag3, _Symbol$toStringTag4, _Symbol$toStringTag5, _Symbol$toStringTag6, _Symbol$toStringTag7, _Symbol$toStringTag8;



class DataType {
  static isNull(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Null;
  }

  static isInt(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Int;
  }

  static isFloat(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Float;
  }

  static isBinary(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Binary;
  }

  static isUtf8(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Utf8;
  }

  static isBool(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Bool;
  }

  static isDecimal(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Decimal;
  }

  static isDate(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Date;
  }

  static isTime(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Time;
  }

  static isTimestamp(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Timestamp;
  }

  static isInterval(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Interval;
  }

  static isList(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.List;
  }

  static isStruct(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Struct;
  }

  static isUnion(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Union;
  }

  static isFixedSizeBinary(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.FixedSizeBinary;
  }

  static isFixedSizeList(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.FixedSizeList;
  }

  static isMap(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Map;
  }

  static isDictionary(x) {
    return x && x.typeId === _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Dictionary;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.NONE;
  }

  compareTo(other) {
    return this === other;
  }

}
class Null extends DataType {
  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Null;
  }

  get [Symbol.toStringTag]() {
    return 'Null';
  }

  toString() {
    return 'Null';
  }

}
class Bool extends DataType {
  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Bool;
  }

  get [Symbol.toStringTag]() {
    return 'Bool';
  }

  toString() {
    return 'Bool';
  }

}
_Symbol$toStringTag = Symbol.toStringTag;
class Int extends DataType {
  constructor(isSigned, bitWidth) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "isSigned", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "bitWidth", void 0);

    this.isSigned = isSigned;
    this.bitWidth = bitWidth;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Int;
  }

  get [_Symbol$toStringTag]() {
    return 'Int';
  }

  toString() {
    return "".concat(this.isSigned ? 'I' : 'Ui', "nt").concat(this.bitWidth);
  }

}
class Int8 extends Int {
  constructor() {
    super(true, 8);
  }

}
class Int16 extends Int {
  constructor() {
    super(true, 16);
  }

}
class Int32 extends Int {
  constructor() {
    super(true, 32);
  }

}
class Int64 extends Int {
  constructor() {
    super(true, 64);
  }

}
class Uint8 extends Int {
  constructor() {
    super(false, 8);
  }

}
class Uint16 extends Int {
  constructor() {
    super(false, 16);
  }

}
class Uint32 extends Int {
  constructor() {
    super(false, 32);
  }

}
class Uint64 extends Int {
  constructor() {
    super(false, 64);
  }

}
const Precision = {
  HALF: 16,
  SINGLE: 32,
  DOUBLE: 64
};
_Symbol$toStringTag2 = Symbol.toStringTag;
class Float extends DataType {
  constructor(precision) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "precision", void 0);

    this.precision = precision;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Float;
  }

  get [_Symbol$toStringTag2]() {
    return 'Float';
  }

  toString() {
    return "Float".concat(this.precision);
  }

}
class Float16 extends Float {
  constructor() {
    super(Precision.HALF);
  }

}
class Float32 extends Float {
  constructor() {
    super(Precision.SINGLE);
  }

}
class Float64 extends Float {
  constructor() {
    super(Precision.DOUBLE);
  }

}
class Binary extends DataType {
  constructor() {
    super();
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Binary;
  }

  toString() {
    return 'Binary';
  }

  get [Symbol.toStringTag]() {
    return 'Binary';
  }

}
class Utf8 extends DataType {
  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Utf8;
  }

  get [Symbol.toStringTag]() {
    return 'Utf8';
  }

  toString() {
    return 'Utf8';
  }

}
const DateUnit = {
  DAY: 0,
  MILLISECOND: 1
};
_Symbol$toStringTag3 = Symbol.toStringTag;
class Date extends DataType {
  constructor(unit) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "unit", void 0);

    this.unit = unit;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Date;
  }

  get [_Symbol$toStringTag3]() {
    return 'Date';
  }

  toString() {
    return "Date".concat((this.unit + 1) * 32, "<").concat(DateUnit[this.unit], ">");
  }

}
class DateDay extends Date {
  constructor() {
    super(DateUnit.DAY);
  }

}
class DateMillisecond extends Date {
  constructor() {
    super(DateUnit.MILLISECOND);
  }

}
const TimeUnit = {
  SECOND: 1,
  MILLISECOND: 1e3,
  MICROSECOND: 1e6,
  NANOSECOND: 1e9
};
_Symbol$toStringTag4 = Symbol.toStringTag;
class Time extends DataType {
  constructor(unit, bitWidth) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "unit", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "bitWidth", void 0);

    this.unit = unit;
    this.bitWidth = bitWidth;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Time;
  }

  toString() {
    return "Time".concat(this.bitWidth, "<").concat(TimeUnit[this.unit], ">");
  }

  get [_Symbol$toStringTag4]() {
    return 'Time';
  }

}
class TimeSecond extends Time {
  constructor() {
    super(TimeUnit.SECOND, 32);
  }

}
class TimeMillisecond extends Time {
  constructor() {
    super(TimeUnit.MILLISECOND, 32);
  }

}
_Symbol$toStringTag5 = Symbol.toStringTag;
class Timestamp extends DataType {
  constructor(unit, timezone = null) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "unit", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "timezone", void 0);

    this.unit = unit;
    this.timezone = timezone;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Timestamp;
  }

  get [_Symbol$toStringTag5]() {
    return 'Timestamp';
  }

  toString() {
    return "Timestamp<".concat(TimeUnit[this.unit]).concat(this.timezone ? ", ".concat(this.timezone) : '', ">");
  }

}
class TimestampSecond extends Timestamp {
  constructor(timezone = null) {
    super(TimeUnit.SECOND, timezone);
  }

}
class TimestampMillisecond extends Timestamp {
  constructor(timezone = null) {
    super(TimeUnit.MILLISECOND, timezone);
  }

}
class TimestampMicrosecond extends Timestamp {
  constructor(timezone = null) {
    super(TimeUnit.MICROSECOND, timezone);
  }

}
class TimestampNanosecond extends Timestamp {
  constructor(timezone = null) {
    super(TimeUnit.NANOSECOND, timezone);
  }

}
const IntervalUnit = {
  DAY_TIME: 0,
  YEAR_MONTH: 1
};
_Symbol$toStringTag6 = Symbol.toStringTag;
class Interval extends DataType {
  constructor(unit) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "unit", void 0);

    this.unit = unit;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Interval;
  }

  get [_Symbol$toStringTag6]() {
    return 'Interval';
  }

  toString() {
    return "Interval<".concat(IntervalUnit[this.unit], ">");
  }

}
class IntervalDayTime extends Interval {
  constructor() {
    super(IntervalUnit.DAY_TIME);
  }

}
class IntervalYearMonth extends Interval {
  constructor() {
    super(IntervalUnit.YEAR_MONTH);
  }

}
_Symbol$toStringTag7 = Symbol.toStringTag;
class FixedSizeList extends DataType {
  constructor(listSize, child) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "listSize", void 0);

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "children", void 0);

    this.listSize = listSize;
    this.children = [child];
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.FixedSizeList;
  }

  get valueType() {
    return this.children[0].type;
  }

  get valueField() {
    return this.children[0];
  }

  get [_Symbol$toStringTag7]() {
    return 'FixedSizeList';
  }

  toString() {
    return "FixedSizeList[".concat(this.listSize, "]<").concat(this.valueType, ">");
  }

}
_Symbol$toStringTag8 = Symbol.toStringTag;
class Struct extends DataType {
  constructor(children) {
    super();

    (0,_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(this, "children", void 0);

    this.children = children;
  }

  get typeId() {
    return _enum__WEBPACK_IMPORTED_MODULE_1__.Type.Struct;
  }

  toString() {
    return "Struct<{".concat(this.children.map(f => "".concat(f.name, ":").concat(f.type)).join(', '), "}>");
  }

  get [_Symbol$toStringTag8]() {
    return 'Struct';
  }

}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/utils/assert.js":
/*!**********************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+schema@3.1.6/node_modules/@loaders.gl/schema/dist/esm/lib/utils/assert.js ***!
  \**********************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "assert": () => (/* binding */ assert)
/* harmony export */ });
function assert(condition, message) {
  if (!condition) {
    throw new Error(message || 'loader assertion failed.');
  }
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/assert.js":
/*!**************************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/assert.js ***!
  \**************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "assert": () => (/* binding */ assert)
/* harmony export */ });
function assert(condition, message) {
  if (!condition) {
    throw new Error(message || 'loaders.gl assertion failed.');
  }
}


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/globals.js":
/*!***************************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/globals.js ***!
  \***************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "document": () => (/* binding */ document_),
/* harmony export */   "global": () => (/* binding */ global_),
/* harmony export */   "isBrowser": () => (/* binding */ isBrowser),
/* harmony export */   "isMobile": () => (/* binding */ isMobile),
/* harmony export */   "isWorker": () => (/* binding */ isWorker),
/* harmony export */   "nodeVersion": () => (/* binding */ nodeVersion),
/* harmony export */   "self": () => (/* binding */ self_),
/* harmony export */   "window": () => (/* binding */ window_)
/* harmony export */ });
const globals = {
  self: typeof self !== 'undefined' && self,
  window: typeof window !== 'undefined' && window,
  global: typeof __webpack_require__.g !== 'undefined' && __webpack_require__.g,
  document: typeof document !== 'undefined' && document
};
const self_ = globals.self || globals.window || globals.global || {};
const window_ = globals.window || globals.self || globals.global || {};
const global_ = globals.global || globals.self || globals.window || {};
const document_ = globals.document || {};

const isBrowser = typeof process !== 'object' || String(process) !== '[object process]' || process.browser;
const isWorker = typeof importScripts === 'function';
const isMobile = typeof window !== 'undefined' && typeof window.orientation !== 'undefined';
const matches = typeof process !== 'undefined' && process.version && /v([0-9]*)/.exec(process.version);
const nodeVersion = matches && parseFloat(matches[1]) || 0;


/***/ }),

/***/ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/library-utils/library-utils.js":
/*!*************************************************************************************************************************************************************!*\
  !*** ../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/library-utils/library-utils.js ***!
  \*************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "getLibraryUrl": () => (/* binding */ getLibraryUrl),
/* harmony export */   "loadLibrary": () => (/* binding */ loadLibrary)
/* harmony export */ });
/* harmony import */ var _env_utils_globals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../env-utils/globals */ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/globals.js");
/* harmony import */ var _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node/require-utils.node */ "?bea9");
/* harmony import */ var _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _env_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../env-utils/assert */ "../../common/temp/node_modules/.pnpm/@loaders.gl+worker-utils@3.1.6/node_modules/@loaders.gl/worker-utils/dist/esm/lib/env-utils/assert.js");




const LATEST = 'latest';
const VERSION =  true ? "3.1.6" : 0;
const loadLibraryPromises = {};
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
  if (moduleName) {
    libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
  }

  loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
  return await loadLibraryPromises[libraryUrl];
}
function getLibraryUrl(library, moduleName, options) {
  if (library.startsWith('http')) {
    return library;
  }

  const modules = options.modules || {};

  if (modules[library]) {
    return modules[library];
  }

  if (!_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isBrowser) {
    return "modules/".concat(moduleName, "/dist/libs/").concat(library);
  }

  if (options.CDN) {
    (0,_env_utils_assert__WEBPACK_IMPORTED_MODULE_2__.assert)(options.CDN.startsWith('http'));
    return "".concat(options.CDN, "/").concat(moduleName, "@").concat(VERSION, "/dist/libs/").concat(library);
  }

  if (_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isWorker) {
    return "../src/libs/".concat(library);
  }

  return "modules/".concat(moduleName, "/src/libs/").concat(library);
}

async function loadLibraryFromFile(libraryUrl) {
  if (libraryUrl.endsWith('wasm')) {
    const response = await fetch(libraryUrl);
    return await response.arrayBuffer();
  }

  if (!_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isBrowser) {
    try {
      return _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__ && _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__.requireFromFile && (await _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__.requireFromFile(libraryUrl));
    } catch {
      return null;
    }
  }

  if (_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isWorker) {
    return importScripts(libraryUrl);
  }

  const response = await fetch(libraryUrl);
  const scriptSource = await response.text();
  return loadLibraryFromString(scriptSource, libraryUrl);
}

function loadLibraryFromString(scriptSource, id) {
  if (!_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isBrowser) {
    return _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__.requireFromString && _node_require_utils_node__WEBPACK_IMPORTED_MODULE_0__.requireFromString(scriptSource, id);
  }

  if (_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.isWorker) {
    eval.call(_env_utils_globals__WEBPACK_IMPORTED_MODULE_1__.global, scriptSource);
    return null;
  }

  const script = document.createElement('script');
  script.id = id;

  try {
    script.appendChild(document.createTextNode(scriptSource));
  } catch (e) {
    script.text = scriptSource;
  }

  document.body.appendChild(script);
  return null;
}


/***/ })

}]);
//# sourceMappingURL=vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map