streamlit-node-editor 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/main.9884c600.js","mappings":"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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/streamlit-component-lib/node_modules/react/cjs/react.production.min.js","../node_modules/streamlit-component-lib/node_modules/react/index.js","../webpack/bootstrap","../node_modules/apache-arrow/src/enum.ts","../node_modules/apache-arrow/src/util/compat.ts","../node_modules/apache-arrow/src/util/pretty.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/apache-arrow/src/util/utf8.ts","../node_modules/apache-arrow/src/util/buffer.ts","../node_modules/apache-arrow/src/util/bn.ts","../node_modules/apache-arrow/src/type.ts","../node_modules/apache-arrow/src/visitor.ts","../node_modules/apache-arrow/src/util/math.ts","../node_modules/apache-arrow/src/visitor/set.ts","../node_modules/apache-arrow/src/row/struct.ts","../node_modules/apache-arrow/src/visitor/get.ts","../node_modules/apache-arrow/src/row/map.ts","../node_modules/apache-arrow/src/util/vector.ts","../node_modules/apache-arrow/src/util/chunk.ts","../node_modules/apache-arrow/src/util/bit.ts","../node_modules/apache-arrow/src/visitor/indexof.ts","../node_modules/apache-arrow/src/visitor/iterator.ts","../node_modules/apache-arrow/src/visitor/bytelength.ts","../node_modules/apache-arrow/src/vector.ts","../node_modules/apache-arrow/src/data.ts","../node_modules/apache-arrow/src/schema.ts","../node_modules/apache-arrow/src/visitor/typecomparator.ts","../node_modules/apache-arrow/src/recordbatch.ts","../node_modules/apache-arrow/src/util/recordbatch.ts","../node_modules/apache-arrow/src/table.ts","../node_modules/apache-arrow/src/fb/block.ts","../node_modules/flatbuffers/mjs/constants.js","../node_modules/flatbuffers/mjs/utils.js","../node_modules/flatbuffers/mjs/long.js","../node_modules/flatbuffers/mjs/encoding.js","../node_modules/apache-arrow/src/fb/metadata-version.ts","../node_modules/apache-arrow/src/fb/endianness.ts","../node_modules/apache-arrow/src/fb/dictionary-kind.ts","../node_modules/apache-arrow/src/fb/type.ts","../node_modules/flatbuffers/mjs/byte-buffer.js","../node_modules/flatbuffers/mjs/builder.js","../node_modules/apache-arrow/src/fb/key-value.ts","../node_modules/apache-arrow/src/fb/int.ts","../node_modules/apache-arrow/src/fb/dictionary-encoding.ts","../node_modules/apache-arrow/src/fb/field.ts","../node_modules/apache-arrow/src/fb/schema.ts","../node_modules/apache-arrow/src/fb/footer.ts","../node_modules/apache-arrow/src/ipc/metadata/file.ts","../node_modules/apache-arrow/src/io/adapters.ts","../node_modules/apache-arrow/src/io/interfaces.ts","../node_modules/apache-arrow/src/io/stream.ts","../node_modules/apache-arrow/src/io/file.ts","../node_modules/apache-arrow/src/util/int.ts","../node_modules/apache-arrow/src/visitor/vectorloader.ts","../node_modules/apache-arrow/src/fb/body-compression-method.ts","../node_modules/apache-arrow/src/fb/compression-type.ts","../node_modules/apache-arrow/src/fb/precision.ts","../node_modules/apache-arrow/src/fb/date-unit.ts","../node_modules/apache-arrow/src/fb/time-unit.ts","../node_modules/apache-arrow/src/fb/interval-unit.ts","../node_modules/apache-arrow/src/fb/union-mode.ts","../node_modules/apache-arrow/src/fb/message-header.ts","../node_modules/apache-arrow/src/fb/body-compression.ts","../node_modules/apache-arrow/src/fb/buffer.ts","../node_modules/apache-arrow/src/fb/field-node.ts","../node_modules/apache-arrow/src/fb/record-batch.ts","../node_modules/apache-arrow/src/fb/dictionary-batch.ts","../node_modules/apache-arrow/src/fb/floating-point.ts","../node_modules/apache-arrow/src/fb/decimal.ts","../node_modules/apache-arrow/src/fb/date.ts","../node_modules/apache-arrow/src/fb/time.ts","../node_modules/apache-arrow/src/fb/timestamp.ts","../node_modules/apache-arrow/src/fb/interval.ts","../node_modules/apache-arrow/src/fb/union.ts","../node_modules/apache-arrow/src/fb/fixed-size-binary.ts","../node_modules/apache-arrow/src/fb/fixed-size-list.ts","../node_modules/apache-arrow/src/fb/map.ts","../node_modules/apache-arrow/src/fb/message.ts","../node_modules/apache-arrow/src/fb/null.ts","../node_modules/apache-arrow/src/fb/binary.ts","../node_modules/apache-arrow/src/fb/bool.ts","../node_modules/apache-arrow/src/fb/utf8.ts","../node_modules/apache-arrow/src/fb/list.ts","../node_modules/apache-arrow/src/fb/struct_.ts","../node_modules/apache-arrow/src/visitor/typeassembler.ts","../node_modules/apache-arrow/src/ipc/metadata/json.ts","../node_modules/apache-arrow/src/ipc/metadata/message.ts","../node_modules/apache-arrow/src/ipc/message.ts","../node_modules/apache-arrow/src/ipc/reader.ts","../node_modules/apache-arrow/src/visitor/vectorassembler.ts","../node_modules/apache-arrow/src/ipc/writer.ts","../node_modules/apache-arrow/src/ipc/serialization.ts","../node_modules/streamlit-component-lib/dist/ArrowTable.js","../node_modules/streamlit-component-lib/dist/streamlit.js","../node_modules/streamlit-component-lib/dist/StreamlitReact.js","index.jsx","index.js"],"sourcesContent":["'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n////\n//\n// A few enums copied from `fb/Schema.ts` and `fb/Message.ts` because Webpack\n// v4 doesn't seem to be able to tree-shake the rest of those exports.\n//\n// We will have to keep these enums in sync when we re-generate the flatbuffers\n// code from the shchemas. See js/DEVELOP.md for info on how to run flatbuffers\n// code generation.\n//\n////\n\n/**\n * Logical types, vector layouts, and schemas\n *\n * @enum {number}\n */\nexport enum MetadataVersion {\n /**\n * 0.1.0 (October 2016).\n */\n V1 = 0,\n\n /**\n * 0.2.0 (February 2017). Non-backwards compatible with V1.\n */\n V2 = 1,\n\n /**\n * 0.3.0 -> 0.7.1 (May - December 2017). Non-backwards compatible with V2.\n */\n V3 = 2,\n\n /**\n * >= 0.8.0 (December 2017). Non-backwards compatible with V3.\n */\n V4 = 3,\n\n /**\n * >= 1.0.0 (July 2020. Backwards compatible with V4 (V5 readers can read V4\n * metadata and IPC messages). Implementations are recommended to provide a\n * V4 compatibility mode with V5 format changes disabled.\n *\n * Incompatible changes between V4 and V5:\n * - Union buffer layout has changed. In V5, Unions don't have a validity\n * bitmap buffer.\n */\n V5 = 4\n}\n\n/**\n * @enum {number}\n */\nexport enum UnionMode {\n Sparse = 0,\n Dense = 1\n}\n\n/**\n * @enum {number}\n */\nexport enum Precision {\n HALF = 0,\n SINGLE = 1,\n DOUBLE = 2\n}\n\n/**\n * @enum {number}\n */\nexport enum DateUnit {\n DAY = 0,\n MILLISECOND = 1\n}\n\n/**\n * @enum {number}\n */\nexport enum TimeUnit {\n SECOND = 0,\n MILLISECOND = 1,\n MICROSECOND = 2,\n NANOSECOND = 3\n}\n\n/**\n * @enum {number}\n */\nexport enum IntervalUnit {\n YEAR_MONTH = 0,\n DAY_TIME = 1,\n MONTH_DAY_NANO = 2\n}\n\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n *\n * @enum {number}\n */\nexport enum MessageHeader {\n NONE = 0,\n Schema = 1,\n DictionaryBatch = 2,\n RecordBatch = 3,\n Tensor = 4,\n SparseTensor = 5\n}\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n NONE = 0, /** The default placeholder type */\n Null = 1, /** A NULL type having no physical storage */\n Int = 2, /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Float = 3, /** 2, 4, or 8-byte floating point value */\n Binary = 4, /** Variable-length bytes (no guarantee of UTF8-ness) */\n Utf8 = 5, /** UTF8 variable-length string as List<Char> */\n Bool = 6, /** Boolean as 1 bit, LSB bit-packed ordering */\n Decimal = 7, /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Date = 8, /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Time = 9, /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Timestamp = 10, /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Interval = 11, /** YEAR_MONTH or DAY_TIME interval in SQL style */\n List = 12, /** A list of some logical data type */\n Struct = 13, /** Struct of logical types */\n Union = 14, /** Union of logical types */\n FixedSizeBinary = 15, /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeList = 16, /** Fixed-size list. Each value occupies the same number of bytes */\n Map = 17, /** Map of named logical types */\n\n Dictionary = -1, /** Dictionary aka Category type */\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26,\n}\n\nexport enum BufferType {\n /**\n * used in List type, Dense Union and variable length primitive types (String, Binary)\n */\n OFFSET = 0,\n\n /**\n * actual data, either wixed width primitive types in slots or variable width delimited by an OFFSET vector\n */\n DATA = 1,\n\n /**\n * Bit vector indicating if each value is null\n */\n VALIDITY = 2,\n\n /**\n * Type vector used in Union type\n */\n TYPE = 3\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ReadableInterop, ArrowJSONLike } from '../io/interfaces.js';\n\n/* eslint-disable unicorn/throw-new-error */\n\n/** @ignore */\ntype FSReadStream = import('fs').ReadStream;\n/** @ignore */\ntype FileHandle = import('fs').promises.FileHandle;\n\n/** @ignore */\nexport interface Subscription {\n unsubscribe: () => void;\n}\n\n/** @ignore */\nexport interface Observer<T> {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\n/** @ignore */\nexport interface Observable<T> {\n subscribe: (observer: Observer<T>) => Subscription;\n}\n\n/** @ignore */\nconst [BigIntCtor, BigIntAvailable] = (() => {\n const BigIntUnavailableError = () => { throw new Error('BigInt is not available in this environment'); };\n function BigIntUnavailable() { throw BigIntUnavailableError(); }\n BigIntUnavailable.asIntN = () => { throw BigIntUnavailableError(); };\n BigIntUnavailable.asUintN = () => { throw BigIntUnavailableError(); };\n return typeof BigInt !== 'undefined' ? [BigInt, true] : [<any>BigIntUnavailable, false];\n})() as [BigIntConstructor, boolean];\n\n/** @ignore */\nconst [BigInt64ArrayCtor, BigInt64ArrayAvailable] = (() => {\n const BigInt64ArrayUnavailableError = () => { throw new Error('BigInt64Array is not available in this environment'); };\n class BigInt64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigInt64ArrayUnavailableError(); }\n static from() { throw BigInt64ArrayUnavailableError(); }\n constructor() { throw BigInt64ArrayUnavailableError(); }\n }\n return typeof BigInt64Array !== 'undefined' ? [BigInt64Array, true] : [<any>BigInt64ArrayUnavailable, false];\n})() as [BigInt64ArrayConstructor, boolean];\n\n/** @ignore */\nconst [BigUint64ArrayCtor, BigUint64ArrayAvailable] = (() => {\n const BigUint64ArrayUnavailableError = () => { throw new Error('BigUint64Array is not available in this environment'); };\n class BigUint64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigUint64ArrayUnavailableError(); }\n static from() { throw BigUint64ArrayUnavailableError(); }\n constructor() { throw BigUint64ArrayUnavailableError(); }\n }\n return typeof BigUint64Array !== 'undefined' ? [BigUint64Array, true] : [<any>BigUint64ArrayUnavailable, false];\n})() as [BigUint64ArrayConstructor, boolean];\n\nexport { BigIntCtor as BigInt, BigIntAvailable };\nexport { BigInt64ArrayCtor as BigInt64Array, BigInt64ArrayAvailable };\nexport { BigUint64ArrayCtor as BigUint64Array, BigUint64ArrayAvailable };\n\n/** @ignore */ const isNumber = (x: any) => typeof x === 'number';\n/** @ignore */ const isBoolean = (x: any) => typeof x === 'boolean';\n/** @ignore */ const isFunction = (x: any) => typeof x === 'function';\n/** @ignore */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isObject = (x: any): x is Object => x != null && Object(x) === x;\n\n/** @ignore */\nexport const isPromise = <T = any>(x: any): x is PromiseLike<T> => {\n return isObject(x) && isFunction(x.then);\n};\n\n/** @ignore */\nexport const isObservable = <T = any>(x: any): x is Observable<T> => {\n return isObject(x) && isFunction(x.subscribe);\n};\n\n/** @ignore */\nexport const isIterable = <T = any>(x: any): x is Iterable<T> => {\n return isObject(x) && isFunction(x[Symbol.iterator]);\n};\n\n/** @ignore */\nexport const isAsyncIterable = <T = any>(x: any): x is AsyncIterable<T> => {\n return isObject(x) && isFunction(x[Symbol.asyncIterator]);\n};\n\n/** @ignore */\nexport const isArrowJSON = (x: any): x is ArrowJSONLike => {\n return isObject(x) && isObject(x['schema']);\n};\n\n/** @ignore */\nexport const isArrayLike = <T = any>(x: any): x is ArrayLike<T> => {\n return isObject(x) && isNumber(x['length']);\n};\n\n/** @ignore */\nexport const isIteratorResult = <T = any>(x: any): x is IteratorResult<T> => {\n return isObject(x) && ('done' in x) && ('value' in x);\n};\n\n/** @ignore */\nexport const isUnderlyingSink = <T = any>(x: any): x is UnderlyingSink<T> => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['close']) &&\n isFunction(x['start']) &&\n isFunction(x['write']);\n};\n\n/** @ignore */\nexport const isFileHandle = (x: any): x is FileHandle => {\n return isObject(x) && isFunction(x['stat']) && isNumber(x['fd']);\n};\n\n/** @ignore */\nexport const isFSReadStream = (x: any): x is FSReadStream => {\n return isReadableNodeStream(x) && isNumber((<any>x)['bytesRead']);\n};\n\n/** @ignore */\nexport const isFetchResponse = (x: any): x is Response => {\n return isObject(x) && isReadableDOMStream(x['body']);\n};\n\nconst isReadableInterop = <T = any>(x: any): x is ReadableInterop<T> => ('_getDOMStream' in x && '_getNodeStream' in x);\n\n/** @ignore */\nexport const isWritableDOMStream = <T = any>(x: any): x is WritableStream<T> => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['getWriter']) &&\n !isReadableInterop(x);\n};\n\n/** @ignore */\nexport const isReadableDOMStream = <T = any>(x: any): x is ReadableStream<T> => {\n return isObject(x) &&\n isFunction(x['cancel']) &&\n isFunction(x['getReader']) &&\n !isReadableInterop(x);\n};\n\n/** @ignore */\nexport const isWritableNodeStream = (x: any): x is NodeJS.WritableStream => {\n return isObject(x) &&\n isFunction(x['end']) &&\n isFunction(x['write']) &&\n isBoolean(x['writable']) &&\n !isReadableInterop(x);\n};\n\n/** @ignore */\nexport const isReadableNodeStream = (x: any): x is NodeJS.ReadableStream => {\n return isObject(x) &&\n isFunction(x['read']) &&\n isFunction(x['pipe']) &&\n isBoolean(x['readable']) &&\n !isReadableInterop(x);\n};\n\n/** @ignore */\nexport const isFlatbuffersByteBuffer = (x: any): x is import('flatbuffers').ByteBuffer => {\n return isObject(x) &&\n isFunction(x['clear']) &&\n isFunction(x['bytes']) &&\n isFunction(x['position']) &&\n isFunction(x['setPosition']) &&\n isFunction(x['capacity']) &&\n isFunction(x['getBufferIdentifier']) &&\n isFunction(x['createLong']);\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BigInt64Array, BigUint64Array } from './compat.js';\n\n/** @ignore */ const undf = void (0);\n\n/** @ignore */\nexport function valueToString(x: any): string {\n if (x === null) { return 'null'; }\n if (x === undf) { return 'undefined'; }\n switch (typeof x) {\n case 'number': return `${x}`;\n case 'bigint': return `${x}`;\n case 'string': return `\"${x}\"`;\n }\n // If [Symbol.toPrimitive] is implemented (like in BN)\n // use it instead of JSON.stringify(). This ensures we\n // print BigInts, Decimals, and Binary in their native\n // representation\n if (typeof x[Symbol.toPrimitive] === 'function') {\n return x[Symbol.toPrimitive]('string');\n }\n if (ArrayBuffer.isView(x)) {\n if (x instanceof BigInt64Array || x instanceof BigUint64Array) {\n return `[${[...x].map(x => valueToString(x))}]`;\n }\n return `[${x}]`;\n }\n return ArrayBuffer.isView(x) ? `[${x}]` : JSON.stringify(x, (_, y) => typeof y === 'bigint' ? `${y}` : y);\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nconst decoder = new TextDecoder('utf-8');\n/** @ignore */\nexport const decodeUtf8 = (buffer?: BufferSource) => decoder.decode(buffer);\n\nconst encoder = new TextEncoder();\n/** @ignore */\nexport const encodeUtf8 = (value?: string) => encoder.encode(value);\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { encodeUtf8 } from '../util/utf8.js';\nimport { TypedArray, TypedArrayConstructor, BigIntArrayConstructor } from '../interfaces.js';\nimport { isPromise, isIterable, isAsyncIterable, isIteratorResult, isFlatbuffersByteBuffer, BigInt64Array, BigUint64Array } from './compat.js';\nimport { ByteBuffer } from 'flatbuffers';\n\n/** @ignore */\nconst SharedArrayBuf = (typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : ArrayBuffer);\n\n/** @ignore */\nfunction collapseContiguousByteRanges(chunks: Uint8Array[]) {\n const result = chunks[0] ? [chunks[0]] : [];\n let xOffset: number, yOffset: number, xLen: number, yLen: number;\n for (let x, y, i = 0, j = 0, n = chunks.length; ++i < n;) {\n x = result[j];\n y = chunks[i];\n // continue if x and y don't share the same underlying ArrayBuffer, or if x isn't before y\n if (!x || !y || x.buffer !== y.buffer || y.byteOffset < x.byteOffset) {\n y && (result[++j] = y);\n continue;\n }\n ({ byteOffset: xOffset, byteLength: xLen } = x);\n ({ byteOffset: yOffset, byteLength: yLen } = y);\n // continue if the byte ranges of x and y aren't contiguous\n if ((xOffset + xLen) < yOffset || (yOffset + yLen) < xOffset) {\n y && (result[++j] = y);\n continue;\n }\n result[j] = new Uint8Array(x.buffer, xOffset, yOffset - xOffset + yLen);\n }\n return result;\n}\n\n/** @ignore */\nexport function memcpy<TTarget extends ArrayBufferView, TSource extends ArrayBufferView>(target: TTarget, source: TSource, targetByteOffset = 0, sourceByteLength = source.byteLength) {\n const targetByteLength = target.byteLength;\n const dst = new Uint8Array(target.buffer, target.byteOffset, targetByteLength);\n const src = new Uint8Array(source.buffer, source.byteOffset, Math.min(sourceByteLength, targetByteLength));\n dst.set(src, targetByteOffset);\n return target;\n}\n\n/** @ignore */\nexport function joinUint8Arrays(chunks: Uint8Array[], size?: number | null): [Uint8Array, Uint8Array[], number] {\n // collapse chunks that share the same underlying ArrayBuffer and whose byte ranges overlap,\n // to avoid unnecessarily copying the bytes to do this buffer join. This is a common case during\n // streaming, where we may be reading partial byte ranges out of the same underlying ArrayBuffer\n const result = collapseContiguousByteRanges(chunks);\n const byteLength = result.reduce((x, b) => x + b.byteLength, 0);\n let source: Uint8Array, sliced: Uint8Array, buffer: Uint8Array | void;\n let offset = 0, index = -1;\n const length = Math.min(size || Number.POSITIVE_INFINITY, byteLength);\n for (const n = result.length; ++index < n;) {\n source = result[index];\n sliced = source.subarray(0, Math.min(source.length, length - offset));\n if (length <= (offset + sliced.length)) {\n if (sliced.length < source.length) {\n result[index] = source.subarray(sliced.length);\n } else if (sliced.length === source.length) { index++; }\n buffer ? memcpy(buffer, sliced, offset) : (buffer = sliced);\n break;\n }\n memcpy(buffer || (buffer = new Uint8Array(length)), sliced, offset);\n offset += sliced.length;\n }\n return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];\n}\n\n/** @ignore */\nexport type ArrayBufferViewInput = ArrayBufferView | ArrayBufferLike | ArrayBufferView | Iterable<number> | ArrayLike<number> | ByteBuffer | string | null | undefined |\n IteratorResult<ArrayBufferView | ArrayBufferLike | ArrayBufferView | Iterable<number> | ArrayLike<number> | ByteBuffer | string | null | undefined> |\n ReadableStreamReadResult<ArrayBufferView | ArrayBufferLike | ArrayBufferView | Iterable<number> | ArrayLike<number> | ByteBuffer | string | null | undefined>;\n\n/** @ignore */\nexport function toArrayBufferView<\n T extends TypedArrayConstructor<any> | BigIntArrayConstructor<any>\n>(ArrayBufferViewCtor: any, input: ArrayBufferViewInput): InstanceType<T> {\n\n let value: any = isIteratorResult(input) ? input.value : input;\n\n if (value instanceof ArrayBufferViewCtor) {\n if (ArrayBufferViewCtor === Uint8Array) {\n // Node's `Buffer` class passes the `instanceof Uint8Array` check, but we need\n // a real Uint8Array, since Buffer#slice isn't the same as Uint8Array#slice :/\n return new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength);\n }\n return value;\n }\n if (!value) { return new ArrayBufferViewCtor(0); }\n if (typeof value === 'string') { value = encodeUtf8(value); }\n if (value instanceof ArrayBuffer) { return new ArrayBufferViewCtor(value); }\n if (value instanceof SharedArrayBuf) { return new ArrayBufferViewCtor(value); }\n if (isFlatbuffersByteBuffer(value)) { return toArrayBufferView(ArrayBufferViewCtor, value.bytes()); }\n return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : (value.byteLength <= 0 ? new ArrayBufferViewCtor(0)\n : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT));\n}\n\n/** @ignore */ export const toInt8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int8Array, input);\n/** @ignore */ export const toInt16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int16Array, input);\n/** @ignore */ export const toInt32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int32Array, input);\n/** @ignore */ export const toBigInt64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigInt64Array, input);\n/** @ignore */ export const toUint8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8Array, input);\n/** @ignore */ export const toUint16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint16Array, input);\n/** @ignore */ export const toUint32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint32Array, input);\n/** @ignore */ export const toBigUint64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigUint64Array, input);\n/** @ignore */ export const toFloat32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float32Array, input);\n/** @ignore */ export const toFloat64Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArray = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewIteratorInput = Iterable<ArrayBufferViewInput> | ArrayBufferViewInput;\n\n/** @ignore */\nconst pump = <T extends Iterator<any> | AsyncIterator<any>>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nexport function* toArrayBufferViewIterator<T extends TypedArray>(ArrayCtor: TypedArrayConstructor<T>, source: ArrayBufferViewIteratorInput) {\n const wrap = function*<T>(x: T) { yield x; };\n const buffers: Iterable<ArrayBufferViewInput> =\n (typeof source === 'string') ? wrap(source)\n : (ArrayBuffer.isView(source)) ? wrap(source)\n : (source instanceof ArrayBuffer) ? wrap(source)\n : (source instanceof SharedArrayBuf) ? wrap(source)\n : !isIterable<ArrayBufferViewInput>(source) ? wrap(source) : source;\n\n yield* pump((function* (it: Iterator<ArrayBufferViewInput, any, number | undefined>): Generator<T, void, number | undefined> {\n let r: IteratorResult<any> = <any>null;\n do {\n r = it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.iterator]()));\n return new ArrayCtor();\n}\n\n/** @ignore */ export const toInt8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewAsyncIteratorInput = AsyncIterable<ArrayBufferViewInput> | Iterable<ArrayBufferViewInput> | PromiseLike<ArrayBufferViewInput> | ArrayBufferViewInput;\n\n/** @ignore */\nexport async function* toArrayBufferViewAsyncIterator<T extends TypedArray>(ArrayCtor: TypedArrayConstructor<T>, source: ArrayBufferViewAsyncIteratorInput): AsyncGenerator<T, T, number | undefined> {\n\n // if a Promise, unwrap the Promise and iterate the resolved value\n if (isPromise<ArrayBufferViewInput>(source)) {\n return yield* toArrayBufferViewAsyncIterator(ArrayCtor, await source);\n }\n\n const wrap = async function*<T>(x: T) { yield await x; };\n const emit = async function* <T extends Iterable<any>>(source: T) {\n yield* pump((function* (it: Iterator<any>) {\n let r: IteratorResult<any> = <any>null;\n do {\n r = it.next(yield r?.value);\n } while (!r.done);\n })(source[Symbol.iterator]()));\n };\n\n const buffers: AsyncIterable<ArrayBufferViewInput> =\n (typeof source === 'string') ? wrap(source) // if string, wrap in an AsyncIterableIterator\n : (ArrayBuffer.isView(source)) ? wrap(source) // if TypedArray, wrap in an AsyncIterableIterator\n : (source instanceof ArrayBuffer) ? wrap(source) // if ArrayBuffer, wrap in an AsyncIterableIterator\n : (source instanceof SharedArrayBuf) ? wrap(source) // if SharedArrayBuffer, wrap in an AsyncIterableIterator\n : isIterable<ArrayBufferViewInput>(source) ? emit(source) // If Iterable, wrap in an AsyncIterableIterator and compose the `next` values\n : !isAsyncIterable<ArrayBufferViewInput>(source) ? wrap(source) // If not an AsyncIterable, treat as a sentinel and wrap in an AsyncIterableIterator\n : source; // otherwise if AsyncIterable, use it\n\n yield* pump((async function* (it: AsyncIterator<ArrayBufferViewInput, any, number | undefined>): AsyncGenerator<T, void, number | undefined> {\n let r: IteratorResult<any> = <any>null;\n do {\n r = await it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.asyncIterator]()));\n return new ArrayCtor();\n}\n\n/** @ignore */ export const toInt8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8ClampedArray, input);\n\n/** @ignore */\nexport function rebaseValueOffsets(offset: number, length: number, valueOffsets: Int32Array) {\n // If we have a non-zero offset, create a new offsets array with the values\n // shifted by the start offset, such that the new start offset is 0\n if (offset !== 0) {\n valueOffsets = valueOffsets.slice(0, length + 1);\n for (let i = -1; ++i <= length;) {\n valueOffsets[i] += offset;\n }\n }\n return valueOffsets;\n}\n\n/** @ignore */\nexport function compareArrayLike<T extends ArrayLike<any>>(a: T, b: T) {\n let i = 0;\n const n = a.length;\n if (n !== b.length) { return false; }\n if (n > 0) {\n do { if (a[i] !== b[i]) { return false; } } while (++i < n);\n }\n return true;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ArrayBufferViewInput, toArrayBufferView } from './buffer.js';\nimport { TypedArray, TypedArrayConstructor } from '../interfaces.js';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces.js';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from './compat.js';\n\n/** @ignore */\nexport const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');\n\n/** @ignore */ type BigNumArray = IntArray | UintArray;\n/** @ignore */ type IntArray = Int8Array | Int16Array | Int32Array;\n/** @ignore */ type UintArray = Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray;\n\n/** @ignore */\nfunction BigNum(this: any, x: any, ...xs: any) {\n if (xs.length === 0) {\n return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);\n }\n return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);\n}\n\nBigNum.prototype[isArrowBigNumSymbol] = true;\nBigNum.prototype.toJSON = function <T extends BN<BigNumArray>>(this: T) { return `\"${bignumToString(this)}\"`; };\nBigNum.prototype.valueOf = function <T extends BN<BigNumArray>>(this: T) { return bignumToNumber(this); };\nBigNum.prototype.toString = function <T extends BN<BigNumArray>>(this: T) { return bignumToString(this); };\nBigNum.prototype[Symbol.toPrimitive] = function <T extends BN<BigNumArray>>(this: T, hint: 'string' | 'number' | 'default' = 'default') {\n switch (hint) {\n case 'number': return bignumToNumber(this);\n case 'string': return bignumToString(this);\n case 'default': return bignumToBigInt(this);\n }\n // @ts-ignore\n return bignumToString(this);\n};\n\n/** @ignore */\ntype TypedArrayConstructorArgs =\n [number | void] |\n [Iterable<number> | Iterable<bigint>] |\n [ArrayBufferLike, number | void, number | void];\n\n/** @ignore */\nfunction SignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction UnsignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction DecimalBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n\nObject.setPrototypeOf(SignedBigNum.prototype, Object.create(Int32Array.prototype));\nObject.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.setPrototypeOf(DecimalBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.assign(SignedBigNum.prototype, BigNum.prototype, { 'constructor': SignedBigNum, 'signed': true, 'TypedArray': Int32Array, 'BigIntArray': BigInt64Array });\nObject.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\nObject.assign(DecimalBigNum.prototype, BigNum.prototype, { 'constructor': DecimalBigNum, 'signed': true, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\n\n/** @ignore */\nfunction bignumToNumber<T extends BN<BigNumArray>>(bn: T) {\n const { buffer, byteOffset, length, 'signed': signed } = bn;\n const words = new BigUint64Array(buffer, byteOffset, length);\n const negative = signed && words[words.length - 1] & (BigInt(1) << BigInt(63));\n let number = negative ? BigInt(1) : BigInt(0);\n let i = BigInt(0);\n if (!negative) {\n for (const word of words) {\n number += word * (BigInt(1) << (BigInt(32) * i++));\n }\n } else {\n for (const word of words) {\n number += ~word * (BigInt(1) << (BigInt(32) * i++));\n }\n number *= BigInt(-1);\n }\n return number;\n}\n\n/** @ignore */\nexport let bignumToString: { <T extends BN<BigNumArray>>(a: T): string };\n/** @ignore */\nexport let bignumToBigInt: { <T extends BN<BigNumArray>>(a: T): bigint };\n\nif (!BigIntAvailable) {\n bignumToString = decimalToString;\n bignumToBigInt = <any>bignumToString;\n} else {\n bignumToBigInt = (<T extends BN<BigNumArray>>(a: T) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : <any>decimalToString(a));\n bignumToString = (<T extends BN<BigNumArray>>(a: T) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));\n}\n\n/** @ignore */\nfunction decimalToString<T extends BN<BigNumArray>>(a: T) {\n let digits = '';\n const base64 = new Uint32Array(2);\n let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);\n const checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);\n let i = -1;\n const n = base32.length - 1;\n do {\n for (base64[0] = base32[i = 0]; i < n;) {\n base32[i++] = base64[1] = base64[0] / 10;\n base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];\n }\n base32[i] = base64[1] = base64[0] / 10;\n base64[0] = base64[0] - base64[1] * 10;\n digits = `${base64[0]}${digits}`;\n } while (checks[0] || checks[1] || checks[2] || checks[3]);\n return digits ?? `0`;\n}\n\n/** @ignore */\nexport class BN<T extends BigNumArray> {\n /** @nocollapse */\n public static new<T extends BigNumArray>(num: T, isSigned?: boolean): (T & BN<T>) {\n switch (isSigned) {\n case true: return new (<any>SignedBigNum)(num) as (T & BN<T>);\n case false: return new (<any>UnsignedBigNum)(num) as (T & BN<T>);\n }\n switch (num.constructor) {\n case Int8Array:\n case Int16Array:\n case Int32Array:\n case BigInt64Array:\n return new (<any>SignedBigNum)(num) as (T & BN<T>);\n }\n if (num.byteLength === 16) {\n return new (<any>DecimalBigNum)(num) as (T & BN<T>);\n }\n return new (<any>UnsignedBigNum)(num) as (T & BN<T>);\n }\n /** @nocollapse */\n public static signed<T extends IntArray>(num: T): (T & BN<T>) {\n return new (<any>SignedBigNum)(num) as (T & BN<T>);\n }\n /** @nocollapse */\n public static unsigned<T extends UintArray>(num: T): (T & BN<T>) {\n return new (<any>UnsignedBigNum)(num) as (T & BN<T>);\n }\n /** @nocollapse */\n public static decimal<T extends UintArray>(num: T): (T & BN<T>) {\n return new (<any>DecimalBigNum)(num) as (T & BN<T>);\n }\n constructor(num: T, isSigned?: boolean) {\n return BN.new(num, isSigned) as any;\n }\n}\n\n/** @ignore */\nexport interface BN<T extends BigNumArray> extends TypedArrayLike<T> {\n\n new <T extends ArrayBufferViewInput>(buffer: T, signed?: boolean): T;\n\n readonly signed: boolean;\n readonly TypedArray: TypedArrayConstructor<TypedArray>;\n readonly BigIntArray: BigIntArrayConstructor<BigIntArray>;\n\n [Symbol.toStringTag]:\n 'Int8Array' |\n 'Int16Array' |\n 'Int32Array' |\n 'Uint8Array' |\n 'Uint16Array' |\n 'Uint32Array' |\n 'Uint8ClampedArray';\n\n /**\n * Convert the bytes to their (positive) decimal representation for printing\n */\n toString(): string;\n /**\n * Down-convert the bytes to a 53-bit precision integer. Invoked by JS for\n * arithmetic operators, like `+`. Easy (and unsafe) way to convert BN to\n * number via `+bn_inst`\n */\n valueOf(): number;\n /**\n * Return the JSON representation of the bytes. Must be wrapped in double-quotes,\n * so it's compatible with JSON.stringify().\n */\n toJSON(): string;\n [Symbol.toPrimitive](hint?: any): number | string | bigint;\n}\n\n/** @ignore */\ninterface TypedArrayLike<T extends BigNumArray> {\n\n readonly length: number;\n readonly buffer: ArrayBuffer;\n readonly byteLength: number;\n readonly byteOffset: number;\n readonly BYTES_PER_ELEMENT: number;\n\n includes(searchElement: number, fromIndex?: number | undefined): boolean;\n copyWithin(target: number, start: number, end?: number | undefined): this;\n every(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n fill(value: number, start?: number | undefined, end?: number | undefined): this;\n filter(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): T;\n find(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number | undefined;\n findIndex(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number;\n forEach(callbackfn: (value: number, index: number, array: T) => void, thisArg?: any): void;\n indexOf(searchElement: number, fromIndex?: number | undefined): number;\n join(separator?: string | undefined): string;\n lastIndexOf(searchElement: number, fromIndex?: number | undefined): number;\n map(callbackfn: (value: number, index: number, array: T) => number, thisArg?: any): T;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reverse(): T;\n set(array: ArrayLike<number>, offset?: number | undefined): void;\n slice(start?: number | undefined, end?: number | undefined): T;\n some(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n sort(compareFn?: ((a: number, b: number) => number) | undefined): this;\n subarray(begin: number, end?: number | undefined): T;\n toLocaleString(): string;\n entries(): IterableIterator<[number, number]>;\n keys(): IterableIterator<number>;\n values(): IterableIterator<number>;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from './schema.js';\nimport { Vector } from './vector.js';\nimport { MapRow } from './row/map.js';\nimport { StructRow, StructRowProxy } from './row/struct.js';\nimport { Long } from 'flatbuffers';\nimport { TypedArrayConstructor } from './interfaces.js';\nimport { BigInt64Array, BigUint64Array } from './util/compat.js';\n\nimport {\n Type,\n Precision, UnionMode,\n DateUnit, TimeUnit, IntervalUnit\n} from './enum.js';\n\n/** @ignore */\nexport type TimeBitWidth = 32 | 64;\n/** @ignore */\nexport type IntBitWidth = 8 | 16 | 32 | 64;\n/** @ignore */\nexport type IsSigned = { 'true': true; 'false': false };\n\nexport interface DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n readonly TType: TType;\n readonly TArray: any;\n readonly TValue: any;\n readonly TChildren: TChildren;\n readonly ArrayType: any;\n readonly children: Field<TChildren[keyof TChildren]>[];\n}\n\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport abstract class DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n\n declare public [Symbol.toStringTag]: string;\n\n /** @nocollapse */ static isNull(x: any): x is Null { return x?.typeId === Type.Null; }\n /** @nocollapse */ static isInt(x: any): x is Int_ { return x?.typeId === Type.Int; }\n /** @nocollapse */ static isFloat(x: any): x is Float { return x?.typeId === Type.Float; }\n /** @nocollapse */ static isBinary(x: any): x is Binary { return x?.typeId === Type.Binary; }\n /** @nocollapse */ static isUtf8(x: any): x is Utf8 { return x?.typeId === Type.Utf8; }\n /** @nocollapse */ static isBool(x: any): x is Bool { return x?.typeId === Type.Bool; }\n /** @nocollapse */ static isDecimal(x: any): x is Decimal { return x?.typeId === Type.Decimal; }\n /** @nocollapse */ static isDate(x: any): x is Date_ { return x?.typeId === Type.Date; }\n /** @nocollapse */ static isTime(x: any): x is Time_ { return x?.typeId === Type.Time; }\n /** @nocollapse */ static isTimestamp(x: any): x is Timestamp_ { return x?.typeId === Type.Timestamp; }\n /** @nocollapse */ static isInterval(x: any): x is Interval_ { return x?.typeId === Type.Interval; }\n /** @nocollapse */ static isList(x: any): x is List { return x?.typeId === Type.List; }\n /** @nocollapse */ static isStruct(x: any): x is Struct { return x?.typeId === Type.Struct; }\n /** @nocollapse */ static isUnion(x: any): x is Union_ { return x?.typeId === Type.Union; }\n /** @nocollapse */ static isFixedSizeBinary(x: any): x is FixedSizeBinary { return x?.typeId === Type.FixedSizeBinary; }\n /** @nocollapse */ static isFixedSizeList(x: any): x is FixedSizeList { return x?.typeId === Type.FixedSizeList; }\n /** @nocollapse */ static isMap(x: any): x is Map_ { return x?.typeId === Type.Map; }\n /** @nocollapse */ static isDictionary(x: any): x is Dictionary { return x?.typeId === Type.Dictionary; }\n\n /** @nocollapse */ static isDenseUnion(x: any): x is DenseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Dense; }\n /** @nocollapse */ static isSparseUnion(x: any): x is SparseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Sparse; }\n\n public get typeId(): TType { return <any>Type.NONE; }\n\n protected static [Symbol.toStringTag] = ((proto: DataType) => {\n (<any>proto).children = null;\n (<any>proto).ArrayType = Array;\n return proto[Symbol.toStringTag] = 'DataType';\n })(DataType.prototype);\n}\n\n/** @ignore */\nexport interface Null extends DataType<Type.Null> { TArray: void; TValue: null }\n/** @ignore */\nexport class Null extends DataType<Type.Null> {\n public toString() { return `Null`; }\n public get typeId() { return Type.Null as Type.Null; }\n protected static [Symbol.toStringTag] = ((proto: Null) => proto[Symbol.toStringTag] = 'Null')(Null.prototype);\n}\n\n/** @ignore */\ntype Ints = Type.Int | Type.Int8 | Type.Int16 | Type.Int32 | Type.Int64 | Type.Uint8 | Type.Uint16 | Type.Uint32 | Type.Uint64;\n/** @ignore */\ntype IType = {\n [Type.Int]: { bitWidth: IntBitWidth; isSigned: true | false; TArray: IntArray; TValue: number | bigint };\n [Type.Int8]: { bitWidth: 8; isSigned: true; TArray: Int8Array; TValue: number };\n [Type.Int16]: { bitWidth: 16; isSigned: true; TArray: Int16Array; TValue: number };\n [Type.Int32]: { bitWidth: 32; isSigned: true; TArray: Int32Array; TValue: number };\n [Type.Int64]: { bitWidth: 64; isSigned: true; TArray: BigInt64Array; TValue: bigint };\n [Type.Uint8]: { bitWidth: 8; isSigned: false; TArray: Uint8Array; TValue: number };\n [Type.Uint16]: { bitWidth: 16; isSigned: false; TArray: Uint16Array; TValue: number };\n [Type.Uint32]: { bitWidth: 32; isSigned: false; TArray: Uint32Array; TValue: number };\n [Type.Uint64]: { bitWidth: 64; isSigned: false; TArray: BigUint64Array; TValue: bigint };\n};\n\n/** @ignore */\ninterface Int_<T extends Ints = Ints> extends DataType<T> { TArray: IType[T]['TArray']; TValue: IType[T]['TValue'] }\n/** @ignore */\nclass Int_<T extends Ints = Ints> extends DataType<T> {\n constructor(public readonly isSigned: IType[T]['isSigned'],\n public readonly bitWidth: IType[T]['bitWidth']) {\n super();\n }\n public get typeId() { return Type.Int as T; }\n public get ArrayType() {\n switch (this.bitWidth) {\n case 8: return this.isSigned ? Int8Array : Uint8Array;\n case 16: return this.isSigned ? Int16Array : Uint16Array;\n case 32: return this.isSigned ? Int32Array : Uint32Array;\n case 64: return this.isSigned ? BigInt64Array : BigUint64Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n protected static [Symbol.toStringTag] = ((proto: Int_) => {\n (<any>proto).isSigned = null;\n (<any>proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Int';\n })(Int_.prototype);\n}\n\nexport { Int_ as Int };\n\n/** @ignore */\nexport class Int8 extends Int_<Type.Int8> {\n constructor() { super(true, 8); }\n public get ArrayType() { return Int8Array; }\n}\n/** @ignore */\nexport class Int16 extends Int_<Type.Int16> {\n constructor() { super(true, 16); }\n public get ArrayType() { return Int16Array; }\n}\n/** @ignore */\nexport class Int32 extends Int_<Type.Int32> {\n constructor() { super(true, 32); }\n public get ArrayType() { return Int32Array; }\n}\n/** @ignore */\nexport class Int64 extends Int_<Type.Int64> {\n constructor() { super(true, 64); }\n public get ArrayType() { return BigInt64Array; }\n}\n/** @ignore */\nexport class Uint8 extends Int_<Type.Uint8> {\n constructor() { super(false, 8); }\n public get ArrayType() { return Uint8Array; }\n}\n/** @ignore */\nexport class Uint16 extends Int_<Type.Uint16> {\n constructor() { super(false, 16); }\n public get ArrayType() { return Uint16Array; }\n}\n/** @ignore */\nexport class Uint32 extends Int_<Type.Uint32> {\n constructor() { super(false, 32); }\n public get ArrayType() { return Uint32Array; }\n}\n/** @ignore */\nexport class Uint64 extends Int_<Type.Uint64> {\n constructor() { super(false, 64); }\n public get ArrayType() { return BigUint64Array; }\n}\n\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: BigInt64Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: BigUint64Array });\n\n/** @ignore */\ntype Floats = Type.Float | Type.Float16 | Type.Float32 | Type.Float64;\n/** @ignore */\ntype FType = {\n [Type.Float]: { precision: Precision; TArray: FloatArray; TValue: number };\n [Type.Float16]: { precision: Precision.HALF; TArray: Uint16Array; TValue: number };\n [Type.Float32]: { precision: Precision.SINGLE; TArray: Float32Array; TValue: number };\n [Type.Float64]: { precision: Precision.DOUBLE; TArray: Float64Array; TValue: number };\n};\n\n/** @ignore */\nexport interface Float<T extends Floats = Floats> extends DataType<T> { TArray: FType[T]['TArray']; TValue: number }\n/** @ignore */\nexport class Float<T extends Floats = Floats> extends DataType<T> {\n constructor(public readonly precision: Precision) {\n super();\n }\n public get typeId() { return Type.Float as T; }\n public get ArrayType(): TypedArrayConstructor<FType[T]['TArray']> {\n switch (this.precision) {\n case Precision.HALF: return Uint16Array;\n case Precision.SINGLE: return Float32Array;\n case Precision.DOUBLE: return Float64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `Float${(this.precision << 5) || 16}`; }\n protected static [Symbol.toStringTag] = ((proto: Float) => {\n (<any>proto).precision = null;\n return proto[Symbol.toStringTag] = 'Float';\n })(Float.prototype);\n}\n\n/** @ignore */\nexport class Float16 extends Float<Type.Float16> { constructor() { super(Precision.HALF); } }\n/** @ignore */\nexport class Float32 extends Float<Type.Float32> { constructor() { super(Precision.SINGLE); } }\n/** @ignore */\nexport class Float64 extends Float<Type.Float64> { constructor() { super(Precision.DOUBLE); } }\n\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n\n/** @ignore */\nexport interface Binary extends DataType<Type.Binary> { TArray: Uint8Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor<Uint8Array> }\n/** @ignore */\nexport class Binary extends DataType<Type.Binary> {\n constructor() {\n super();\n }\n public get typeId() { return Type.Binary as Type.Binary; }\n public toString() { return `Binary`; }\n protected static [Symbol.toStringTag] = ((proto: Binary) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Binary';\n })(Binary.prototype);\n}\n\n/** @ignore */\nexport interface Utf8 extends DataType<Type.Utf8> { TArray: Uint8Array; TValue: string; ArrayType: TypedArrayConstructor<Uint8Array> }\n/** @ignore */\nexport class Utf8 extends DataType<Type.Utf8> {\n constructor() {\n super();\n }\n public get typeId() { return Type.Utf8 as Type.Utf8; }\n public toString() { return `Utf8`; }\n protected static [Symbol.toStringTag] = ((proto: Utf8) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8';\n })(Utf8.prototype);\n}\n\n/** @ignore */\nexport interface Bool extends DataType<Type.Bool> { TArray: Uint8Array; TValue: boolean; ArrayType: TypedArrayConstructor<Uint8Array> }\n/** @ignore */\nexport class Bool extends DataType<Type.Bool> {\n constructor() {\n super();\n }\n public get typeId() { return Type.Bool as Type.Bool; }\n public toString() { return `Bool`; }\n protected static [Symbol.toStringTag] = ((proto: Bool) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Bool';\n })(Bool.prototype);\n}\n\n/** @ignore */\nexport interface Decimal extends DataType<Type.Decimal> { TArray: Uint32Array; TValue: Uint32Array; ArrayType: TypedArrayConstructor<Uint32Array> }\n/** @ignore */\nexport class Decimal extends DataType<Type.Decimal> {\n constructor(public readonly scale: number,\n public readonly precision: number,\n public readonly bitWidth: number = 128) {\n super();\n }\n public get typeId() { return Type.Decimal as Type.Decimal; }\n public toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n protected static [Symbol.toStringTag] = ((proto: Decimal) => {\n (<any>proto).scale = null;\n (<any>proto).precision = null;\n (<any>proto).ArrayType = Uint32Array;\n return proto[Symbol.toStringTag] = 'Decimal';\n })(Decimal.prototype);\n}\n\n/** @ignore */\nexport type Dates = Type.Date | Type.DateDay | Type.DateMillisecond;\n/** @ignore */\nexport interface Date_<T extends Dates = Dates> extends DataType<T> { TArray: Int32Array; TValue: Date; ArrayType: TypedArrayConstructor<Int32Array> }\n/** @ignore */\nexport class Date_<T extends Dates = Dates> extends DataType<T> {\n constructor(public readonly unit: DateUnit) {\n super();\n }\n public get typeId() { return Type.Date as T; }\n public toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Date_) => {\n (<any>proto).unit = null;\n (<any>proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Date';\n })(Date_.prototype);\n}\n\n/** @ignore */\nexport class DateDay extends Date_<Type.DateDay> { constructor() { super(DateUnit.DAY); } }\n/** @ignore */\nexport class DateMillisecond extends Date_<Type.DateMillisecond> { constructor() { super(DateUnit.MILLISECOND); } }\n\n/** @ignore */\ntype Times = Type.Time | Type.TimeSecond | Type.TimeMillisecond | Type.TimeMicrosecond | Type.TimeNanosecond;\n/** @ignore */\ntype TimesType = {\n [Type.Time]: { unit: TimeUnit; TValue: number | bigint; TArray: Int32Array | BigInt64Array };\n [Type.TimeSecond]: { unit: TimeUnit.SECOND; TValue: number; TArray: Int32Array };\n [Type.TimeMillisecond]: { unit: TimeUnit.MILLISECOND; TValue: number; TArray: Int32Array };\n [Type.TimeMicrosecond]: { unit: TimeUnit.MICROSECOND; TValue: bigint; TArray: BigInt64Array };\n [Type.TimeNanosecond]: { unit: TimeUnit.NANOSECOND; TValue: bigint; TArray: BigInt64Array };\n};\n\n/** @ignore */\ninterface Time_<T extends Times = Times> extends DataType<T> {\n TArray: TimesType[T]['TArray'];\n TValue: TimesType[T]['TValue'];\n}\n/** @ignore */\nclass Time_<T extends Times = Times> extends DataType<T> {\n constructor(public readonly unit: TimesType[T]['unit'],\n public readonly bitWidth: TimeBitWidth) {\n super();\n }\n public get typeId() { return Type.Time as T; }\n public toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n public get ArrayType() {\n switch (this.bitWidth) {\n case 32: return Int32Array;\n case 64: return BigInt64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n protected static [Symbol.toStringTag] = ((proto: Time_) => {\n (<any>proto).unit = null;\n (<any>proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Time';\n })(Time_.prototype);\n}\n\nexport { Time_ as Time };\n\n/** @ignore */\nexport class TimeSecond extends Time_<Type.TimeSecond> { constructor() { super(TimeUnit.SECOND, 32); } }\n/** @ignore */\nexport class TimeMillisecond extends Time_<Type.TimeMillisecond> { constructor() { super(TimeUnit.MILLISECOND, 32); } }\n/** @ignore */\nexport class TimeMicrosecond extends Time_<Type.TimeMicrosecond> { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n/** @ignore */\nexport class TimeNanosecond extends Time_<Type.TimeNanosecond> { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\n/** @ignore */\ntype Timestamps = Type.Timestamp | Type.TimestampSecond | Type.TimestampMillisecond | Type.TimestampMicrosecond | Type.TimestampNanosecond;\n/** @ignore */\ninterface Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n TArray: Int32Array;\n TValue: number;\n ArrayType: TypedArrayConstructor<Int32Array>;\n}\n\n/** @ignore */\nclass Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n constructor(public readonly unit: TimeUnit,\n public readonly timezone?: string | null) {\n super();\n }\n public get typeId() { return Type.Timestamp as T; }\n public toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n protected static [Symbol.toStringTag] = ((proto: Timestamp_) => {\n (<any>proto).unit = null;\n (<any>proto).timezone = null;\n (<any>proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Timestamp';\n })(Timestamp_.prototype);\n}\n\nexport { Timestamp_ as Timestamp };\n\n/** @ignore */\nexport class TimestampSecond extends Timestamp_<Type.TimestampSecond> { constructor(timezone?: string | null) { super(TimeUnit.SECOND, timezone); } }\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_<Type.TimestampMillisecond> { constructor(timezone?: string | null) { super(TimeUnit.MILLISECOND, timezone); } }\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_<Type.TimestampMicrosecond> { constructor(timezone?: string | null) { super(TimeUnit.MICROSECOND, timezone); } }\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_<Type.TimestampNanosecond> { constructor(timezone?: string | null) { super(TimeUnit.NANOSECOND, timezone); } }\n\n/** @ignore */\ntype Intervals = Type.Interval | Type.IntervalDayTime | Type.IntervalYearMonth;\n/** @ignore */\ninterface Interval_<T extends Intervals = Intervals> extends DataType<T> {\n TArray: Int32Array;\n TValue: Int32Array;\n ArrayType: TypedArrayConstructor<Int32Array>;\n}\n\n/** @ignore */\nclass Interval_<T extends Intervals = Intervals> extends DataType<T> {\n constructor(public readonly unit: IntervalUnit) {\n super();\n }\n public get typeId() { return Type.Interval as T; }\n public toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Interval_) => {\n (<any>proto).unit = null;\n (<any>proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Interval';\n })(Interval_.prototype);\n}\n\nexport { Interval_ as Interval };\n\n/** @ignore */\nexport class IntervalDayTime extends Interval_<Type.IntervalDayTime> { constructor() { super(IntervalUnit.DAY_TIME); } }\n/** @ignore */\nexport class IntervalYearMonth extends Interval_<Type.IntervalYearMonth> { constructor() { super(IntervalUnit.YEAR_MONTH); } }\n\n/** @ignore */\nexport interface List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n TArray: Array<T>;\n TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n constructor(child: Field<T>) {\n super();\n this.children = [child];\n }\n public declare readonly children: Field<T>[];\n public get typeId() { return Type.List as Type.List; }\n public toString() { return `List<${this.valueType}>`; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n protected static [Symbol.toStringTag] = ((proto: List) => {\n (<any>proto).children = null;\n return proto[Symbol.toStringTag] = 'List';\n })(List.prototype);\n}\n\n/** @ignore */\nexport interface Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n TArray: Array<StructRowProxy<T>>;\n TValue: StructRowProxy<T>;\n dataTypes: T;\n}\n\n/** @ignore */\nexport class Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n public declare _row: StructRow<T>;\n public declare readonly children: Field<T[keyof T]>[];\n constructor(children: Field<T[keyof T]>[]) {\n super();\n this.children = children;\n }\n public get typeId() { return Type.Struct as Type.Struct; }\n public toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Struct) => {\n (<any>proto).children = null;\n return proto[Symbol.toStringTag] = 'Struct';\n })(Struct.prototype);\n}\n\n/** @ignore */\ntype Unions = Type.Union | Type.DenseUnion | Type.SparseUnion;\n/** @ignore */\ninterface Union_<T extends Unions = Unions> extends DataType<T> { TArray: Int8Array; TValue: any; ArrayType: TypedArrayConstructor<Int8Array> }\n/** @ignore */\nclass Union_<T extends Unions = Unions> extends DataType<T> {\n public declare readonly mode: UnionMode;\n public declare readonly typeIds: Int32Array;\n public declare readonly children: Field<any>[];\n public declare readonly typeIdToChildIndex: { [key: number]: number };\n constructor(mode: UnionMode,\n typeIds: number[] | Int32Array,\n children: Field<any>[]) {\n super();\n this.mode = mode;\n this.children = children;\n this.typeIds = typeIds = Int32Array.from(typeIds);\n this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex, Object.create(null) as { [key: number]: number });\n }\n public get typeId() { return Type.Union as T; }\n public toString() {\n return `${this[Symbol.toStringTag]}<${this.children.map((x) => `${x.type}`).join(` | `)\n }>`;\n }\n protected static [Symbol.toStringTag] = ((proto: Union_) => {\n (<any>proto).mode = null;\n (<any>proto).typeIds = null;\n (<any>proto).children = null;\n (<any>proto).typeIdToChildIndex = null;\n (<any>proto).ArrayType = Int8Array;\n return proto[Symbol.toStringTag] = 'Union';\n })(Union_.prototype);\n}\n\nexport { Union_ as Union };\n\n/** @ignore */\nexport class DenseUnion extends Union_<Type.DenseUnion> {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Dense, typeIds, children);\n }\n}\n\n/** @ignore */\nexport class SparseUnion extends Union_<Type.SparseUnion> {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Sparse, typeIds, children);\n }\n}\n\n/** @ignore */\nexport interface FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n TArray: Uint8Array;\n TValue: Uint8Array;\n ArrayType: TypedArrayConstructor<Uint8Array>;\n}\n\n/** @ignore */\nexport class FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n constructor(public readonly byteWidth: number) {\n super();\n }\n public get typeId() { return Type.FixedSizeBinary as Type.FixedSizeBinary; }\n public toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeBinary) => {\n (<any>proto).byteWidth = null;\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n })(FixedSizeBinary.prototype);\n}\n\n/** @ignore */\nexport interface FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n TArray: Array<T['TArray']>;\n TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n public declare readonly children: Field<T>[];\n constructor(public readonly listSize: number, child: Field<T>) {\n super();\n this.children = [child];\n }\n public get typeId() { return Type.FixedSizeList as Type.FixedSizeList; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n public toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeList) => {\n (<any>proto).children = null;\n (<any>proto).listSize = null;\n return proto[Symbol.toStringTag] = 'FixedSizeList';\n })(FixedSizeList.prototype);\n}\n\n/** @ignore */\nexport interface Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n TArray: Array<Map<TKey['TValue'], TValue['TValue'] | null>>;\n TChild: Struct<{ key: TKey; value: TValue }>;\n TValue: MapRow<TKey, TValue>;\n}\n\n/** @ignore */\nexport class Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n constructor(child: Field<Struct<{ key: TKey; value: TValue }>>, keysSorted = false) {\n super();\n this.children = [child];\n this.keysSorted = keysSorted;\n }\n public declare readonly keysSorted: boolean;\n public declare readonly children: Field<Struct<{ key: TKey; value: TValue }>>[];\n public get typeId() { return Type.Map as Type.Map; }\n public get keyType(): TKey { return this.children[0].type.children[0].type as TKey; }\n public get valueType(): TValue { return this.children[0].type.children[1].type as TValue; }\n public get childType() { return this.children[0].type as Struct<{ key: TKey; value: TValue }>; }\n public toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Map_) => {\n (<any>proto).children = null;\n (<any>proto).keysSorted = null;\n return proto[Symbol.toStringTag] = 'Map_';\n })(Map_.prototype);\n}\n\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n\n/** @ignore */\nexport type TKeys = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32;\n\n/** @ignore */\nexport interface Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n TArray: TKey['TArray'];\n TValue: T['TValue'];\n}\n\n/** @ignore */\nexport class Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n public declare readonly id: number;\n public declare readonly indices: TKey;\n public declare readonly dictionary: T;\n public declare readonly isOrdered: boolean;\n constructor(dictionary: T, indices: TKey, id?: Long | number | null, isOrdered?: boolean | null) {\n super();\n this.indices = indices;\n this.dictionary = dictionary;\n this.isOrdered = isOrdered || false;\n this.id = id == null ? getId() : (typeof id === 'number' ? id : id.low);\n }\n public get typeId() { return Type.Dictionary as Type.Dictionary; }\n public get children() { return this.dictionary.children; }\n public get valueType(): T { return this.dictionary as T; }\n public get ArrayType(): T['ArrayType'] { return this.dictionary.ArrayType; }\n public toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n protected static [Symbol.toStringTag] = ((proto: Dictionary) => {\n (<any>proto).id = null;\n (<any>proto).indices = null;\n (<any>proto).isOrdered = null;\n (<any>proto).dictionary = null;\n return proto[Symbol.toStringTag] = 'Dictionary';\n })(Dictionary.prototype);\n}\n\n/** @ignore */\nexport type FloatArray = Uint16Array | Float32Array | Float64Array;\n/** @ignore */\nexport type IntArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;\n\n/** @ignore */\nexport function strideForType(type: DataType) {\n const t: any = type;\n switch (type.typeId) {\n case Type.Decimal: return (type as Decimal).bitWidth / 32;\n case Type.Timestamp: return 2;\n case Type.Date: return 1 + (t as Date_).unit;\n case Type.Interval: return 1 + (t as Interval_).unit;\n // case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n // case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n case Type.FixedSizeList: return (t as FixedSizeList).listSize;\n case Type.FixedSizeBinary: return (t as FixedSizeBinary).byteWidth;\n default: return 1;\n }\n}\n\n/** @ignore */\nexport type TypeMap = Record<string | number | symbol, DataType>;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum.js';\nimport { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, } from './type.js';\n\nexport abstract class Visitor {\n public visitMany(nodes: any[], ...args: any[][]) {\n return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n }\n public visit(...args: any[]) {\n return this.getVisitFn(args[0], false).apply(this, args);\n }\n public getVisitFn(node: any, throwIfNotFound = true) {\n return getVisitFn(this, node, throwIfNotFound);\n }\n public getVisitFnByTypeId(typeId: Type, throwIfNotFound = true) {\n return getVisitFnByTypeId(this, typeId, throwIfNotFound);\n }\n public visitNull(_node: any, ..._args: any[]): any { return null; }\n public visitBool(_node: any, ..._args: any[]): any { return null; }\n public visitInt(_node: any, ..._args: any[]): any { return null; }\n public visitFloat(_node: any, ..._args: any[]): any { return null; }\n public visitUtf8(_node: any, ..._args: any[]): any { return null; }\n public visitBinary(_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeBinary(_node: any, ..._args: any[]): any { return null; }\n public visitDate(_node: any, ..._args: any[]): any { return null; }\n public visitTimestamp(_node: any, ..._args: any[]): any { return null; }\n public visitTime(_node: any, ..._args: any[]): any { return null; }\n public visitDecimal(_node: any, ..._args: any[]): any { return null; }\n public visitList(_node: any, ..._args: any[]): any { return null; }\n public visitStruct(_node: any, ..._args: any[]): any { return null; }\n public visitUnion(_node: any, ..._args: any[]): any { return null; }\n public visitDictionary(_node: any, ..._args: any[]): any { return null; }\n public visitInterval(_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeList(_node: any, ..._args: any[]): any { return null; }\n public visitMap(_node: any, ..._args: any[]): any { return null; }\n}\n\n/** @ignore */\nfunction getVisitFn<T extends DataType>(visitor: Visitor, node: any, throwIfNotFound = true) {\n if (typeof node === 'number') {\n return getVisitFnByTypeId(visitor, node, throwIfNotFound);\n }\n if (typeof node === 'string' && (node in Type)) {\n return getVisitFnByTypeId(visitor, Type[node as keyof typeof Type], throwIfNotFound);\n }\n if (node && (node instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node as T), throwIfNotFound);\n }\n if (node?.type && (node.type instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node.type as T), throwIfNotFound);\n }\n return getVisitFnByTypeId(visitor, Type.NONE, throwIfNotFound);\n}\n\n/** @ignore */\nfunction getVisitFnByTypeId(visitor: Visitor, dtype: Type, throwIfNotFound = true) {\n let fn: any = null;\n switch (dtype) {\n case Type.Null: fn = visitor.visitNull; break;\n case Type.Bool: fn = visitor.visitBool; break;\n case Type.Int: fn = visitor.visitInt; break;\n case Type.Int8: fn = visitor.visitInt8 || visitor.visitInt; break;\n case Type.Int16: fn = visitor.visitInt16 || visitor.visitInt; break;\n case Type.Int32: fn = visitor.visitInt32 || visitor.visitInt; break;\n case Type.Int64: fn = visitor.visitInt64 || visitor.visitInt; break;\n case Type.Uint8: fn = visitor.visitUint8 || visitor.visitInt; break;\n case Type.Uint16: fn = visitor.visitUint16 || visitor.visitInt; break;\n case Type.Uint32: fn = visitor.visitUint32 || visitor.visitInt; break;\n case Type.Uint64: fn = visitor.visitUint64 || visitor.visitInt; break;\n case Type.Float: fn = visitor.visitFloat; break;\n case Type.Float16: fn = visitor.visitFloat16 || visitor.visitFloat; break;\n case Type.Float32: fn = visitor.visitFloat32 || visitor.visitFloat; break;\n case Type.Float64: fn = visitor.visitFloat64 || visitor.visitFloat; break;\n case Type.Utf8: fn = visitor.visitUtf8; break;\n case Type.Binary: fn = visitor.visitBinary; break;\n case Type.FixedSizeBinary: fn = visitor.visitFixedSizeBinary; break;\n case Type.Date: fn = visitor.visitDate; break;\n case Type.DateDay: fn = visitor.visitDateDay || visitor.visitDate; break;\n case Type.DateMillisecond: fn = visitor.visitDateMillisecond || visitor.visitDate; break;\n case Type.Timestamp: fn = visitor.visitTimestamp; break;\n case Type.TimestampSecond: fn = visitor.visitTimestampSecond || visitor.visitTimestamp; break;\n case Type.TimestampMillisecond: fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp; break;\n case Type.TimestampMicrosecond: fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp; break;\n case Type.TimestampNanosecond: fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp; break;\n case Type.Time: fn = visitor.visitTime; break;\n case Type.TimeSecond: fn = visitor.visitTimeSecond || visitor.visitTime; break;\n case Type.TimeMillisecond: fn = visitor.visitTimeMillisecond || visitor.visitTime; break;\n case Type.TimeMicrosecond: fn = visitor.visitTimeMicrosecond || visitor.visitTime; break;\n case Type.TimeNanosecond: fn = visitor.visitTimeNanosecond || visitor.visitTime; break;\n case Type.Decimal: fn = visitor.visitDecimal; break;\n case Type.List: fn = visitor.visitList; break;\n case Type.Struct: fn = visitor.visitStruct; break;\n case Type.Union: fn = visitor.visitUnion; break;\n case Type.DenseUnion: fn = visitor.visitDenseUnion || visitor.visitUnion; break;\n case Type.SparseUnion: fn = visitor.visitSparseUnion || visitor.visitUnion; break;\n case Type.Dictionary: fn = visitor.visitDictionary; break;\n case Type.Interval: fn = visitor.visitInterval; break;\n case Type.IntervalDayTime: fn = visitor.visitIntervalDayTime || visitor.visitInterval; break;\n case Type.IntervalYearMonth: fn = visitor.visitIntervalYearMonth || visitor.visitInterval; break;\n case Type.FixedSizeList: fn = visitor.visitFixedSizeList; break;\n case Type.Map: fn = visitor.visitMap; break;\n }\n if (typeof fn === 'function') return fn;\n if (!throwIfNotFound) return () => null;\n throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n\n/** @ignore */\nfunction inferDType<T extends DataType>(type: T): Type {\n switch (type.typeId) {\n case Type.Null: return Type.Null;\n case Type.Int: {\n const { bitWidth, isSigned } = (type as any as Int);\n switch (bitWidth) {\n case 8: return isSigned ? Type.Int8 : Type.Uint8;\n case 16: return isSigned ? Type.Int16 : Type.Uint16;\n case 32: return isSigned ? Type.Int32 : Type.Uint32;\n case 64: return isSigned ? Type.Int64 : Type.Uint64;\n }\n // @ts-ignore\n return Type.Int;\n }\n case Type.Float:\n switch ((type as any as Float).precision) {\n case Precision.HALF: return Type.Float16;\n case Precision.SINGLE: return Type.Float32;\n case Precision.DOUBLE: return Type.Float64;\n }\n // @ts-ignore\n return Type.Float;\n case Type.Binary: return Type.Binary;\n case Type.Utf8: return Type.Utf8;\n case Type.Bool: return Type.Bool;\n case Type.Decimal: return Type.Decimal;\n case Type.Time:\n switch ((type as any as Time).unit) {\n case TimeUnit.SECOND: return Type.TimeSecond;\n case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n }\n // @ts-ignore\n return Type.Time;\n case Type.Timestamp:\n switch ((type as any as Timestamp).unit) {\n case TimeUnit.SECOND: return Type.TimestampSecond;\n case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n }\n // @ts-ignore\n return Type.Timestamp;\n case Type.Date:\n switch ((type as any as Date_).unit) {\n case DateUnit.DAY: return Type.DateDay;\n case DateUnit.MILLISECOND: return Type.DateMillisecond;\n }\n // @ts-ignore\n return Type.Date;\n case Type.Interval:\n switch ((type as any as Interval).unit) {\n case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n }\n // @ts-ignore\n return Type.Interval;\n case Type.Map: return Type.Map;\n case Type.List: return Type.List;\n case Type.Struct: return Type.Struct;\n case Type.Union:\n switch ((type as any as Union).mode) {\n case UnionMode.Dense: return Type.DenseUnion;\n case UnionMode.Sparse: return Type.SparseUnion;\n }\n // @ts-ignore\n return Type.Union;\n case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n case Type.FixedSizeList: return Type.FixedSizeList;\n case Type.Dictionary: return Type.Dictionary;\n }\n throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n\nexport interface Visitor {\n visitNull(node: any, ...args: any[]): any;\n visitBool(node: any, ...args: any[]): any;\n visitInt(node: any, ...args: any[]): any;\n visitInt8?(node: any, ...args: any[]): any;\n visitInt16?(node: any, ...args: any[]): any;\n visitInt32?(node: any, ...args: any[]): any;\n visitInt64?(node: any, ...args: any[]): any;\n visitUint8?(node: any, ...args: any[]): any;\n visitUint16?(node: any, ...args: any[]): any;\n visitUint32?(node: any, ...args: any[]): any;\n visitUint64?(node: any, ...args: any[]): any;\n visitFloat(node: any, ...args: any[]): any;\n visitFloat16?(node: any, ...args: any[]): any;\n visitFloat32?(node: any, ...args: any[]): any;\n visitFloat64?(node: any, ...args: any[]): any;\n visitUtf8(node: any, ...args: any[]): any;\n visitBinary(node: any, ...args: any[]): any;\n visitFixedSizeBinary(node: any, ...args: any[]): any;\n visitDate(node: any, ...args: any[]): any;\n visitDateDay?(node: any, ...args: any[]): any;\n visitDateMillisecond?(node: any, ...args: any[]): any;\n visitTimestamp(node: any, ...args: any[]): any;\n visitTimestampSecond?(node: any, ...args: any[]): any;\n visitTimestampMillisecond?(node: any, ...args: any[]): any;\n visitTimestampMicrosecond?(node: any, ...args: any[]): any;\n visitTimestampNanosecond?(node: any, ...args: any[]): any;\n visitTime(node: any, ...args: any[]): any;\n visitTimeSecond?(node: any, ...args: any[]): any;\n visitTimeMillisecond?(node: any, ...args: any[]): any;\n visitTimeMicrosecond?(node: any, ...args: any[]): any;\n visitTimeNanosecond?(node: any, ...args: any[]): any;\n visitDecimal(node: any, ...args: any[]): any;\n visitList(node: any, ...args: any[]): any;\n visitStruct(node: any, ...args: any[]): any;\n visitUnion(node: any, ...args: any[]): any;\n visitDenseUnion?(node: any, ...args: any[]): any;\n visitSparseUnion?(node: any, ...args: any[]): any;\n visitDictionary(node: any, ...args: any[]): any;\n visitInterval(node: any, ...args: any[]): any;\n visitIntervalDayTime?(node: any, ...args: any[]): any;\n visitIntervalYearMonth?(node: any, ...args: any[]): any;\n visitFixedSizeList(node: any, ...args: any[]): any;\n visitMap(node: any, ...args: any[]): any;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Visitor.prototype as any).visitInt8 = null;\n(Visitor.prototype as any).visitInt16 = null;\n(Visitor.prototype as any).visitInt32 = null;\n(Visitor.prototype as any).visitInt64 = null;\n(Visitor.prototype as any).visitUint8 = null;\n(Visitor.prototype as any).visitUint16 = null;\n(Visitor.prototype as any).visitUint32 = null;\n(Visitor.prototype as any).visitUint64 = null;\n(Visitor.prototype as any).visitFloat16 = null;\n(Visitor.prototype as any).visitFloat32 = null;\n(Visitor.prototype as any).visitFloat64 = null;\n(Visitor.prototype as any).visitDateDay = null;\n(Visitor.prototype as any).visitDateMillisecond = null;\n(Visitor.prototype as any).visitTimestampSecond = null;\n(Visitor.prototype as any).visitTimestampMillisecond = null;\n(Visitor.prototype as any).visitTimestampMicrosecond = null;\n(Visitor.prototype as any).visitTimestampNanosecond = null;\n(Visitor.prototype as any).visitTimeSecond = null;\n(Visitor.prototype as any).visitTimeMillisecond = null;\n(Visitor.prototype as any).visitTimeMicrosecond = null;\n(Visitor.prototype as any).visitTimeNanosecond = null;\n(Visitor.prototype as any).visitDenseUnion = null;\n(Visitor.prototype as any).visitSparseUnion = null;\n(Visitor.prototype as any).visitIntervalDayTime = null;\n(Visitor.prototype as any).visitIntervalYearMonth = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nconst f64 = new Float64Array(1);\nconst u32 = new Uint32Array(f64.buffer);\n\n/**\n * Convert uint16 (logically a float16) to a JS float64. Inspired by numpy's `npy_half_to_double`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L29\n * @param h {number} the uint16 to convert\n * @private\n * @ignore\n */\nexport function uint16ToFloat64(h: number) {\n const expo = (h & 0x7C00) >> 10;\n const sigf = (h & 0x03FF) / 1024;\n const sign = (-1) ** ((h & 0x8000) >> 15);\n switch (expo) {\n case 0x1F: return sign * (sigf ? Number.NaN : 1 / 0);\n case 0x00: return sign * (sigf ? 6.103515625e-5 * sigf : 0);\n }\n return sign * (2 ** (expo - 15)) * (1 + sigf);\n}\n\n/**\n * Convert a float64 to uint16 (assuming the float64 is logically a float16). Inspired by numpy's `npy_double_to_half`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L43\n * @param d {number} The float64 to convert\n * @private\n * @ignore\n */\nexport function float64ToUint16(d: number) {\n\n if (d !== d) { return 0x7E00; } // NaN\n\n f64[0] = d;\n\n // Magic numbers:\n // 0x80000000 = 10000000 00000000 00000000 00000000 -- masks the 32nd bit\n // 0x7ff00000 = 01111111 11110000 00000000 00000000 -- masks the 21st-31st bits\n // 0x000fffff = 00000000 00001111 11111111 11111111 -- masks the 1st-20th bit\n\n const sign = (u32[1] & 0x80000000) >> 16 & 0xFFFF;\n let expo = (u32[1] & 0x7FF00000), sigf = 0x0000;\n\n if (expo >= 0x40F00000) {\n //\n // If exponent overflowed, the float16 is either NaN or Infinity.\n // Rules to propagate the sign bit: mantissa > 0 ? NaN : +/-Infinity\n //\n // Magic numbers:\n // 0x40F00000 = 01000000 11110000 00000000 00000000 -- 6-bit exponent overflow\n // 0x7C000000 = 01111100 00000000 00000000 00000000 -- masks the 27th-31st bits\n //\n // returns:\n // qNaN, aka 32256 decimal, 0x7E00 hex, or 01111110 00000000 binary\n // sNaN, aka 32000 decimal, 0x7D00 hex, or 01111101 00000000 binary\n // +inf, aka 31744 decimal, 0x7C00 hex, or 01111100 00000000 binary\n // -inf, aka 64512 decimal, 0xFC00 hex, or 11111100 00000000 binary\n //\n // If mantissa is greater than 23 bits, set to +Infinity like numpy\n if (u32[0] > 0) {\n expo = 0x7C00;\n } else {\n expo = (expo & 0x7C000000) >> 16;\n sigf = (u32[1] & 0x000FFFFF) >> 10;\n }\n } else if (expo <= 0x3F000000) {\n //\n // If exponent underflowed, the float is either signed zero or subnormal.\n //\n // Magic numbers:\n // 0x3F000000 = 00111111 00000000 00000000 00000000 -- 6-bit exponent underflow\n //\n sigf = 0x100000 + (u32[1] & 0x000FFFFF);\n sigf = 0x100000 + (sigf << ((expo >> 20) - 998)) >> 21;\n expo = 0;\n } else {\n //\n // No overflow or underflow, rebase the exponent and round the mantissa\n // Magic numbers:\n // 0x200 = 00000010 00000000 -- masks off the 10th bit\n //\n\n // Ensure the first mantissa bit (the 10th one) is 1 and round\n expo = (expo - 0x3F000000) >> 10;\n sigf = ((u32[1] & 0x000FFFFF) + 0x200) >> 10;\n }\n\n return sign | expo | sigf & 0xFFFF;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Field } from '../schema.js';\nimport { Vector } from '../vector.js';\nimport { Visitor } from '../visitor.js';\nimport { encodeUtf8 } from '../util/utf8.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport { float64ToUint16 } from '../util/math.js';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum.js';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type.js';\n\n/** @ignore */\nexport interface SetVisitor extends Visitor {\n visit<T extends DataType>(node: Data<T>, index: number, value: T['TValue']): void;\n visitMany<T extends DataType>(nodes: Data<T>[], indices: number[], values: T['TValue'][]): void[];\n getVisitFn<T extends DataType>(node: Data<T> | T): (data: Data<T>, index: number, value: Data<T>['TValue']) => void;\n getVisitFn<T extends Type>(node: T): (data: Data<TypeToDataType<T>>, index: number, value: TypeToDataType<T>['TValue']) => void;\n visitNull<T extends Null>(data: Data<T>, index: number, value: T['TValue']): void;\n visitBool<T extends Bool>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInt<T extends Int>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInt8<T extends Int8>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInt16<T extends Int16>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInt32<T extends Int32>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInt64<T extends Int64>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUint8<T extends Uint8>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUint16<T extends Uint16>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUint32<T extends Uint32>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUint64<T extends Uint64>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFloat<T extends Float>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFloat16<T extends Float16>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFloat32<T extends Float32>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFloat64<T extends Float64>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUtf8<T extends Utf8>(data: Data<T>, index: number, value: T['TValue']): void;\n visitBinary<T extends Binary>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFixedSizeBinary<T extends FixedSizeBinary>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDate<T extends Date_>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDateDay<T extends DateDay>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDateMillisecond<T extends DateMillisecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimestamp<T extends Timestamp>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimestampSecond<T extends TimestampSecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimestampMillisecond<T extends TimestampMillisecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimestampMicrosecond<T extends TimestampMicrosecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimestampNanosecond<T extends TimestampNanosecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTime<T extends Time>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimeSecond<T extends TimeSecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimeMillisecond<T extends TimeMillisecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimeMicrosecond<T extends TimeMicrosecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitTimeNanosecond<T extends TimeNanosecond>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDecimal<T extends Decimal>(data: Data<T>, index: number, value: T['TValue']): void;\n visitList<T extends List>(data: Data<T>, index: number, value: T['TValue']): void;\n visitStruct<T extends Struct>(data: Data<T>, index: number, value: T['TValue']): void;\n visitUnion<T extends Union>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDenseUnion<T extends DenseUnion>(data: Data<T>, index: number, value: T['TValue']): void;\n visitSparseUnion<T extends SparseUnion>(data: Data<T>, index: number, value: T['TValue']): void;\n visitDictionary<T extends Dictionary>(data: Data<T>, index: number, value: T['TValue']): void;\n visitInterval<T extends Interval>(data: Data<T>, index: number, value: T['TValue']): void;\n visitIntervalDayTime<T extends IntervalDayTime>(data: Data<T>, index: number, value: T['TValue']): void;\n visitIntervalYearMonth<T extends IntervalYearMonth>(data: Data<T>, index: number, value: T['TValue']): void;\n visitFixedSizeList<T extends FixedSizeList>(data: Data<T>, index: number, value: T['TValue']): void;\n visitMap<T extends Map_>(data: Data<T>, index: number, value: T['TValue']): void;\n}\n\n/** @ignore */\nexport class SetVisitor extends Visitor { }\n\n/** @ignore */\nfunction wrapSet<T extends DataType>(fn: (data: Data<T>, _1: any, _2: any) => void) {\n return (data: Data<T>, _1: any, _2: any) => {\n if (data.setValid(_1, _2 != null)) {\n return fn(data, _1, _2);\n }\n };\n}\n\n/** @ignore */\nexport const setEpochMsToDays = (data: Int32Array, index: number, epochMs: number) => { data[index] = Math.trunc(epochMs / 86400000); };\n/** @ignore */\nexport const setEpochMsToMillisecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = Math.trunc(epochMs % 4294967296);\n data[index + 1] = Math.trunc(epochMs / 4294967296);\n};\n/** @ignore */\nexport const setEpochMsToMicrosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = Math.trunc((epochMs * 1000) % 4294967296);\n data[index + 1] = Math.trunc((epochMs * 1000) / 4294967296);\n};\n/** @ignore */\nexport const setEpochMsToNanosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = Math.trunc((epochMs * 1000000) % 4294967296);\n data[index + 1] = Math.trunc((epochMs * 1000000) / 4294967296);\n};\n\n/** @ignore */\nexport const setVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number, value: Uint8Array) => {\n if (index + 1 < valueOffsets.length) {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n values.set(value.subarray(0, y - x), x);\n }\n};\n\n/** @ignore */\nconst setBool = <T extends Bool>({ offset, values }: Data<T>, index: number, val: boolean) => {\n const idx = offset + index;\n val ? (values[idx >> 3] |= (1 << (idx % 8))) // true\n : (values[idx >> 3] &= ~(1 << (idx % 8))); // false\n\n};\n/** @ignore */\nexport const setInt = <T extends Int>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/** @ignore */\nexport const setFloat = <T extends Float32 | Float64>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/** @ignore */\nexport const setFloat16 = <T extends Float16>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = float64ToUint16(value); };\n/* istanbul ignore next */\n/** @ignore */\nexport const setAnyFloat = <T extends Float>(data: Data<T>, index: number, value: T['TValue']): void => {\n switch (data.type.precision) {\n case Precision.HALF:\n return setFloat16(data as Data<Float16>, index, value);\n case Precision.SINGLE:\n case Precision.DOUBLE:\n return setFloat(data as Data<Float32 | Float64>, index, value);\n }\n};\n/** @ignore */\nexport const setDateDay = <T extends DateDay>({ values }: Data<T>, index: number, value: T['TValue']): void => { setEpochMsToDays(values, index, value.valueOf()); };\n/** @ignore */\nexport const setDateMillisecond = <T extends DateMillisecond>({ values }: Data<T>, index: number, value: T['TValue']): void => { setEpochMsToMillisecondsLong(values, index * 2, value.valueOf()); };\n/** @ignore */\nexport const setFixedSizeBinary = <T extends FixedSizeBinary>({ stride, values }: Data<T>, index: number, value: T['TValue']): void => { values.set(value.subarray(0, stride), stride * index); };\n\n/** @ignore */\nconst setBinary = <T extends Binary>({ values, valueOffsets }: Data<T>, index: number, value: T['TValue']) => setVariableWidthBytes(values, valueOffsets, index, value);\n/** @ignore */\nconst setUtf8 = <T extends Utf8>({ values, valueOffsets }: Data<T>, index: number, value: T['TValue']) => {\n setVariableWidthBytes(values, valueOffsets, index, encodeUtf8(value));\n};\n\n/* istanbul ignore next */\nexport const setDate = <T extends Date_>(data: Data<T>, index: number, value: T['TValue']): void => {\n data.type.unit === DateUnit.DAY\n ? setDateDay(data as Data<DateDay>, index, value)\n : setDateMillisecond(data as Data<DateMillisecond>, index, value);\n};\n\n/** @ignore */\nexport const setTimestampSecond = <T extends TimestampSecond>({ values }: Data<T>, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value / 1000);\n/** @ignore */\nexport const setTimestampMillisecond = <T extends TimestampMillisecond>({ values }: Data<T>, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value);\n/** @ignore */\nexport const setTimestampMicrosecond = <T extends TimestampMicrosecond>({ values }: Data<T>, index: number, value: T['TValue']): void => setEpochMsToMicrosecondsLong(values, index * 2, value);\n/** @ignore */\nexport const setTimestampNanosecond = <T extends TimestampNanosecond>({ values }: Data<T>, index: number, value: T['TValue']): void => setEpochMsToNanosecondsLong(values, index * 2, value);\n/* istanbul ignore next */\n/** @ignore */\nexport const setTimestamp = <T extends Timestamp>(data: Data<T>, index: number, value: T['TValue']): void => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return setTimestampSecond(data as Data<TimestampSecond>, index, value);\n case TimeUnit.MILLISECOND: return setTimestampMillisecond(data as Data<TimestampMillisecond>, index, value);\n case TimeUnit.MICROSECOND: return setTimestampMicrosecond(data as Data<TimestampMicrosecond>, index, value);\n case TimeUnit.NANOSECOND: return setTimestampNanosecond(data as Data<TimestampNanosecond>, index, value);\n }\n};\n\n/** @ignore */\nexport const setTimeSecond = <T extends TimeSecond>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/** @ignore */\nexport const setTimeMillisecond = <T extends TimeMillisecond>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/** @ignore */\nexport const setTimeMicrosecond = <T extends TimeMicrosecond>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/** @ignore */\nexport const setTimeNanosecond = <T extends TimeNanosecond>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = value; };\n/* istanbul ignore next */\n/** @ignore */\nexport const setTime = <T extends Time>(data: Data<T>, index: number, value: T['TValue']): void => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return setTimeSecond(data as Data<TimeSecond>, index, value as TimeSecond['TValue']);\n case TimeUnit.MILLISECOND: return setTimeMillisecond(data as Data<TimeMillisecond>, index, value as TimeMillisecond['TValue']);\n case TimeUnit.MICROSECOND: return setTimeMicrosecond(data as Data<TimeMicrosecond>, index, value as TimeMicrosecond['TValue']);\n case TimeUnit.NANOSECOND: return setTimeNanosecond(data as Data<TimeNanosecond>, index, value as TimeNanosecond['TValue']);\n }\n};\n\n/** @ignore */\nexport const setDecimal = <T extends Decimal>({ values, stride }: Data<T>, index: number, value: T['TValue']): void => { values.set(value.subarray(0, stride), stride * index); };\n\n/** @ignore */\nconst setList = <T extends List>(data: Data<T>, index: number, value: T['TValue']): void => {\n const values = data.children[0];\n const valueOffsets = data.valueOffsets;\n const set = instance.getVisitFn(values);\n if (Array.isArray(value)) {\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n set(values, itr++, value[++idx]);\n }\n } else {\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n set(values, itr++, value.get(++idx));\n }\n }\n};\n\n/** @ignore */\nconst setMap = <T extends Map_>(data: Data<T>, index: number, value: T['TValue']) => {\n const values = data.children[0];\n const { valueOffsets } = data;\n const set = instance.getVisitFn(values);\n let { [index]: idx, [index + 1]: end } = valueOffsets;\n const entries = value instanceof Map ? value.entries() : Object.entries(value);\n for (const val of entries) {\n set(values, idx, val);\n if (++idx >= end) break;\n }\n};\n\n/** @ignore */ type SetFunc<T extends DataType> = (data: Data<T>, i: number, v: T['TValue']) => void;\n\n/** @ignore */ const _setStructArrayValue = (o: number, v: any[]) =>\n <T extends DataType>(set: SetFunc<T>, c: Data<T>, _: Field, i: number) => c && set(c, o, v[i]);\n\n/** @ignore */ const _setStructVectorValue = (o: number, v: Vector) =>\n <T extends DataType>(set: SetFunc<T>, c: Data<T>, _: Field, i: number) => c && set(c, o, v.get(i));\n\n/** @ignore */ const _setStructMapValue = (o: number, v: Map<string, any>) =>\n <T extends DataType>(set: SetFunc<T>, c: Data<T>, f: Field, _: number) => c && set(c, o, v.get(f.name));\n\n/** @ignore */ const _setStructObjectValue = (o: number, v: { [key: string]: any }) =>\n <T extends DataType>(set: SetFunc<T>, c: Data<T>, f: Field, _: number) => c && set(c, o, v[f.name]);\n\n/** @ignore */\nconst setStruct = <T extends Struct>(data: Data<T>, index: number, value: T['TValue']) => {\n\n const childSetters = data.type.children.map((f) => instance.getVisitFn(f.type));\n const set = value instanceof Map ? _setStructMapValue(index, value) :\n value instanceof Vector ? _setStructVectorValue(index, value) :\n Array.isArray(value) ? _setStructArrayValue(index, value) :\n _setStructObjectValue(index, value);\n\n // eslint-disable-next-line unicorn/no-array-for-each\n data.type.children.forEach((f: Field, i: number) => set(childSetters[i], data.children[i], f, i));\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setUnion = <\n V extends Data<Union> | Data<DenseUnion> | Data<SparseUnion>\n>(data: V, index: number, value: V['TValue']) => {\n data.type.mode === UnionMode.Dense ?\n setDenseUnion(data as Data<DenseUnion>, index, value) :\n setSparseUnion(data as Data<SparseUnion>, index, value);\n};\n\n/** @ignore */\nconst setDenseUnion = <T extends DenseUnion>(data: Data<T>, index: number, value: T['TValue']): void => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n instance.visit(child, data.valueOffsets[index], value);\n};\n\n/** @ignore */\nconst setSparseUnion = <T extends SparseUnion>(data: Data<T>, index: number, value: T['TValue']): void => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n instance.visit(child, index, value);\n};\n\n/** @ignore */\nconst setDictionary = <T extends Dictionary>(data: Data<T>, index: number, value: T['TValue']): void => {\n data.dictionary?.set(data.values[index], value);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nexport const setIntervalValue = <T extends Interval>(data: Data<T>, index: number, value: T['TValue']): void => {\n (data.type.unit === IntervalUnit.DAY_TIME)\n ? setIntervalDayTime(data as Data<IntervalDayTime>, index, value)\n : setIntervalYearMonth(data as Data<IntervalYearMonth>, index, value);\n};\n\n/** @ignore */\nexport const setIntervalDayTime = <T extends IntervalDayTime>({ values }: Data<T>, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nexport const setIntervalYearMonth = <T extends IntervalYearMonth>({ values }: Data<T>, index: number, value: T['TValue']): void => { values[index] = (value[0] * 12) + (value[1] % 12); };\n\n/** @ignore */\nconst setFixedSizeList = <T extends FixedSizeList>(data: Data<T>, index: number, value: T['TValue']): void => {\n const { stride } = data;\n const child = data.children[0];\n const set = instance.getVisitFn(child);\n if (Array.isArray(value)) {\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n set(child, offset + idx, value[idx]);\n }\n } else {\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n set(child, offset + idx, value.get(idx));\n }\n }\n};\n\nSetVisitor.prototype.visitBool = wrapSet(setBool);\nSetVisitor.prototype.visitInt = wrapSet(setInt);\nSetVisitor.prototype.visitInt8 = wrapSet(setInt);\nSetVisitor.prototype.visitInt16 = wrapSet(setInt);\nSetVisitor.prototype.visitInt32 = wrapSet(setInt);\nSetVisitor.prototype.visitInt64 = wrapSet(setInt);\nSetVisitor.prototype.visitUint8 = wrapSet(setInt);\nSetVisitor.prototype.visitUint16 = wrapSet(setInt);\nSetVisitor.prototype.visitUint32 = wrapSet(setInt);\nSetVisitor.prototype.visitUint64 = wrapSet(setInt);\nSetVisitor.prototype.visitFloat = wrapSet(setAnyFloat);\nSetVisitor.prototype.visitFloat16 = wrapSet(setFloat16);\nSetVisitor.prototype.visitFloat32 = wrapSet(setFloat);\nSetVisitor.prototype.visitFloat64 = wrapSet(setFloat);\nSetVisitor.prototype.visitUtf8 = wrapSet(setUtf8);\nSetVisitor.prototype.visitBinary = wrapSet(setBinary);\nSetVisitor.prototype.visitFixedSizeBinary = wrapSet(setFixedSizeBinary);\nSetVisitor.prototype.visitDate = wrapSet(setDate);\nSetVisitor.prototype.visitDateDay = wrapSet(setDateDay);\nSetVisitor.prototype.visitDateMillisecond = wrapSet(setDateMillisecond);\nSetVisitor.prototype.visitTimestamp = wrapSet(setTimestamp);\nSetVisitor.prototype.visitTimestampSecond = wrapSet(setTimestampSecond);\nSetVisitor.prototype.visitTimestampMillisecond = wrapSet(setTimestampMillisecond);\nSetVisitor.prototype.visitTimestampMicrosecond = wrapSet(setTimestampMicrosecond);\nSetVisitor.prototype.visitTimestampNanosecond = wrapSet(setTimestampNanosecond);\nSetVisitor.prototype.visitTime = wrapSet(setTime);\nSetVisitor.prototype.visitTimeSecond = wrapSet(setTimeSecond);\nSetVisitor.prototype.visitTimeMillisecond = wrapSet(setTimeMillisecond);\nSetVisitor.prototype.visitTimeMicrosecond = wrapSet(setTimeMicrosecond);\nSetVisitor.prototype.visitTimeNanosecond = wrapSet(setTimeNanosecond);\nSetVisitor.prototype.visitDecimal = wrapSet(setDecimal);\nSetVisitor.prototype.visitList = wrapSet(setList);\nSetVisitor.prototype.visitStruct = wrapSet(setStruct);\nSetVisitor.prototype.visitUnion = wrapSet(setUnion);\nSetVisitor.prototype.visitDenseUnion = wrapSet(setDenseUnion);\nSetVisitor.prototype.visitSparseUnion = wrapSet(setSparseUnion);\nSetVisitor.prototype.visitDictionary = wrapSet(setDictionary);\nSetVisitor.prototype.visitInterval = wrapSet(setIntervalValue);\nSetVisitor.prototype.visitIntervalDayTime = wrapSet(setIntervalDayTime);\nSetVisitor.prototype.visitIntervalYearMonth = wrapSet(setIntervalYearMonth);\nSetVisitor.prototype.visitFixedSizeList = wrapSet(setFixedSizeList);\nSetVisitor.prototype.visitMap = wrapSet(setMap);\n\n/** @ignore */\nexport const instance = new SetVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Field } from '../schema.js';\nimport { Struct, TypeMap } from '../type.js';\nimport { valueToString } from '../util/pretty.js';\nimport { instance as getVisitor } from '../visitor/get.js';\nimport { instance as setVisitor } from '../visitor/set.js';\n\n/** @ignore */ const kParent = Symbol.for('parent');\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\n\nexport type StructRowProxy<T extends TypeMap = any> = StructRow<T> & {\n [P in keyof T]: T[P]['TValue'];\n} & {\n [key: symbol]: any;\n};\n\nexport class StructRow<T extends TypeMap = any> {\n\n declare private [kRowIndex]: number;\n declare private [kParent]: Data<Struct<T>>;\n\n constructor(parent: Data<Struct<T>>, rowIndex: number) {\n this[kParent] = parent;\n this[kRowIndex] = rowIndex;\n return new Proxy(this, new StructRowProxyHandler());\n }\n\n public toArray() { return Object.values(this.toJSON()); }\n\n public toJSON() {\n const i = this[kRowIndex];\n const parent = this[kParent];\n const keys = parent.type.children;\n const json = {} as { [P in string & keyof T]: T[P]['TValue'] };\n for (let j = -1, n = keys.length; ++j < n;) {\n json[keys[j].name as string & keyof T] = getVisitor.visit(parent.children[j], i);\n }\n return json;\n }\n\n public toString() {\n return `{${[...this].map(([key, val]) =>\n `${valueToString(key)}: ${valueToString(val)}`\n ).join(', ')\n }}`;\n }\n\n public [Symbol.for('nodejs.util.inspect.custom')]() {\n return this.toString();\n }\n\n [Symbol.iterator](): IterableIterator<[\n keyof T, { [P in keyof T]: T[P]['TValue'] | null }[keyof T]\n ]> {\n return new StructRowIterator(this[kParent], this[kRowIndex]);\n }\n}\n\nclass StructRowIterator<T extends TypeMap = any>\n implements IterableIterator<[\n keyof T, { [P in keyof T]: T[P]['TValue'] | null }[keyof T]\n ]> {\n\n declare private rowIndex: number;\n declare private childIndex: number;\n declare private numChildren: number;\n declare private children: Data<any>[];\n declare private childFields: Field<T[keyof T]>[];\n\n constructor(data: Data<Struct<T>>, rowIndex: number) {\n this.childIndex = 0;\n this.children = data.children;\n this.rowIndex = rowIndex;\n this.childFields = data.type.children;\n this.numChildren = this.childFields.length;\n }\n\n [Symbol.iterator]() { return this; }\n\n next() {\n const i = this.childIndex;\n if (i < this.numChildren) {\n this.childIndex = i + 1;\n return {\n done: false,\n value: [\n this.childFields[i].name,\n getVisitor.visit(this.children[i], this.rowIndex)\n ]\n } as IteratorYieldResult<[any, any]>;\n }\n return { done: true, value: null } as IteratorReturnResult<null>;\n }\n}\n\nObject.defineProperties(StructRow.prototype, {\n [Symbol.toStringTag]: { enumerable: false, configurable: false, value: 'Row' },\n [kParent]: { writable: true, enumerable: false, configurable: false, value: null },\n [kRowIndex]: { writable: true, enumerable: false, configurable: false, value: -1 },\n});\n\nclass StructRowProxyHandler<T extends TypeMap = any> implements ProxyHandler<StructRow<T>> {\n isExtensible() { return false; }\n deleteProperty() { return false; }\n preventExtensions() { return true; }\n ownKeys(row: StructRow<T>) {\n return row[kParent].type.children.map((f) => f.name);\n }\n has(row: StructRow<T>, key: string) {\n return row[kParent].type.children.findIndex((f) => f.name === key) !== -1;\n }\n getOwnPropertyDescriptor(row: StructRow<T>, key: string) {\n if (row[kParent].type.children.findIndex((f) => f.name === key) !== -1) {\n return { writable: true, enumerable: true, configurable: true };\n }\n return;\n }\n get(row: StructRow<T>, key: string) {\n // Look up key in row first\n if (Reflect.has(row, key)) {\n return (row as any)[key];\n }\n const idx = row[kParent].type.children.findIndex((f) => f.name === key);\n if (idx !== -1) {\n const val = getVisitor.visit(row[kParent].children[idx], row[kRowIndex]);\n // Cache key/val lookups\n Reflect.set(row, key, val);\n return val;\n }\n }\n set(row: StructRow<T>, key: string, val: any) {\n const idx = row[kParent].type.children.findIndex((f) => f.name === key);\n if (idx !== -1) {\n setVisitor.visit(row[kParent].children[idx], row[kRowIndex], val);\n // Cache key/val lookups\n return Reflect.set(row, key, val);\n } else if (Reflect.has(row, key) || typeof key === 'symbol') {\n return Reflect.set(row, key, val);\n }\n return false;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { BN } from '../util/bn.js';\nimport { Vector } from '../vector.js';\nimport { Visitor } from '../visitor.js';\nimport { MapRow } from '../row/map.js';\nimport { StructRow, StructRowProxy } from '../row/struct.js';\nimport { decodeUtf8 } from '../util/utf8.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport { uint16ToFloat64 } from '../util/math.js';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum.js';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type.js';\n\n/** @ignore */\nexport interface GetVisitor extends Visitor {\n visit<T extends DataType>(node: Data<T>, index: number): T['TValue'] | null;\n visitMany<T extends DataType>(nodes: Data<T>[], indices: number[]): (T['TValue'] | null)[];\n getVisitFn<T extends DataType>(node: Vector<T> | Data<T> | T): (data: Data<T>, index: number) => T['TValue'] | null;\n getVisitFn<T extends Type>(node: T): (data: Data<TypeToDataType<T>>, index: number) => TypeToDataType<T>['TValue'];\n visitNull<T extends Null>(data: Data<T>, index: number): T['TValue'] | null;\n visitBool<T extends Bool>(data: Data<T>, index: number): T['TValue'] | null;\n visitInt<T extends Int>(data: Data<T>, index: number): T['TValue'] | null;\n visitInt8<T extends Int8>(data: Data<T>, index: number): T['TValue'] | null;\n visitInt16<T extends Int16>(data: Data<T>, index: number): T['TValue'] | null;\n visitInt32<T extends Int32>(data: Data<T>, index: number): T['TValue'] | null;\n visitInt64<T extends Int64>(data: Data<T>, index: number): T['TValue'] | null;\n visitUint8<T extends Uint8>(data: Data<T>, index: number): T['TValue'] | null;\n visitUint16<T extends Uint16>(data: Data<T>, index: number): T['TValue'] | null;\n visitUint32<T extends Uint32>(data: Data<T>, index: number): T['TValue'] | null;\n visitUint64<T extends Uint64>(data: Data<T>, index: number): T['TValue'] | null;\n visitFloat<T extends Float>(data: Data<T>, index: number): T['TValue'] | null;\n visitFloat16<T extends Float16>(data: Data<T>, index: number): T['TValue'] | null;\n visitFloat32<T extends Float32>(data: Data<T>, index: number): T['TValue'] | null;\n visitFloat64<T extends Float64>(data: Data<T>, index: number): T['TValue'] | null;\n visitUtf8<T extends Utf8>(data: Data<T>, index: number): T['TValue'] | null;\n visitBinary<T extends Binary>(data: Data<T>, index: number): T['TValue'] | null;\n visitFixedSizeBinary<T extends FixedSizeBinary>(data: Data<T>, index: number): T['TValue'] | null;\n visitDate<T extends Date_>(data: Data<T>, index: number): T['TValue'] | null;\n visitDateDay<T extends DateDay>(data: Data<T>, index: number): T['TValue'] | null;\n visitDateMillisecond<T extends DateMillisecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimestamp<T extends Timestamp>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimestampSecond<T extends TimestampSecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimestampMillisecond<T extends TimestampMillisecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimestampMicrosecond<T extends TimestampMicrosecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimestampNanosecond<T extends TimestampNanosecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTime<T extends Time>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimeSecond<T extends TimeSecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimeMillisecond<T extends TimeMillisecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimeMicrosecond<T extends TimeMicrosecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitTimeNanosecond<T extends TimeNanosecond>(data: Data<T>, index: number): T['TValue'] | null;\n visitDecimal<T extends Decimal>(data: Data<T>, index: number): T['TValue'] | null;\n visitList<T extends List>(data: Data<T>, index: number): T['TValue'] | null;\n visitStruct<T extends Struct>(data: Data<T>, index: number): T['TValue'] | null;\n visitUnion<T extends Union>(data: Data<T>, index: number): T['TValue'] | null;\n visitDenseUnion<T extends DenseUnion>(data: Data<T>, index: number): T['TValue'] | null;\n visitSparseUnion<T extends SparseUnion>(data: Data<T>, index: number): T['TValue'] | null;\n visitDictionary<T extends Dictionary>(data: Data<T>, index: number): T['TValue'] | null;\n visitInterval<T extends Interval>(data: Data<T>, index: number): T['TValue'] | null;\n visitIntervalDayTime<T extends IntervalDayTime>(data: Data<T>, index: number): T['TValue'] | null;\n visitIntervalYearMonth<T extends IntervalYearMonth>(data: Data<T>, index: number): T['TValue'] | null;\n visitFixedSizeList<T extends FixedSizeList>(data: Data<T>, index: number): T['TValue'] | null;\n visitMap<T extends Map_>(data: Data<T>, index: number): T['TValue'] | null;\n}\n\n/** @ignore */\nexport class GetVisitor extends Visitor { }\n\n/** @ignore */\nfunction wrapGet<T extends DataType>(fn: (data: Data<T>, _1: any) => any) {\n return (data: Data<T>, _1: any) => data.getValid(_1) ? fn(data, _1) : null;\n}\n\n/** @ignore */const epochDaysToMs = (data: Int32Array, index: number) => 86400000 * data[index];\n/** @ignore */const epochMillisecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1]) + (data[index] >>> 0);\n/** @ignore */const epochMicrosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000) + ((data[index] >>> 0) / 1000);\n/** @ignore */const epochNanosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000000) + ((data[index] >>> 0) / 1000000);\n\n/** @ignore */const epochMillisecondsToDate = (epochMs: number) => new Date(epochMs);\n/** @ignore */const epochDaysToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochDaysToMs(data, index));\n/** @ignore */const epochMillisecondsLongToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochMillisecondsLongToMs(data, index));\n\n/** @ignore */\nconst getNull = <T extends Null>(_data: Data<T>, _index: number): T['TValue'] => null;\n/** @ignore */\nconst getVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number) => {\n if (index + 1 >= valueOffsets.length) {\n return null as any;\n }\n const x = valueOffsets[index];\n const y = valueOffsets[index + 1];\n return values.subarray(x, y);\n};\n\n/** @ignore */\nconst getBool = <T extends Bool>({ offset, values }: Data<T>, index: number): T['TValue'] => {\n const idx = offset + index;\n const byte = values[idx >> 3];\n return (byte & 1 << (idx % 8)) !== 0;\n};\n\n/** @ignore */\ntype Numeric1X = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Float32 | Float64;\n/** @ignore */\ntype Numeric2X = Int64 | Uint64;\n\n/** @ignore */\nconst getDateDay = <T extends DateDay>({ values }: Data<T>, index: number): T['TValue'] => epochDaysToDate(values, index);\n/** @ignore */\nconst getDateMillisecond = <T extends DateMillisecond>({ values }: Data<T>, index: number): T['TValue'] => epochMillisecondsLongToDate(values, index * 2);\n/** @ignore */\nconst getNumeric = <T extends Numeric1X>({ stride, values }: Data<T>, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getFloat16 = <T extends Float16>({ stride, values }: Data<T>, index: number): T['TValue'] => uint16ToFloat64(values[stride * index]);\n/** @ignore */\nconst getBigInts = <T extends Numeric2X>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n/** @ignore */\nconst getFixedSizeBinary = <T extends FixedSizeBinary>({ stride, values }: Data<T>, index: number): T['TValue'] => values.subarray(stride * index, stride * (index + 1));\n\n/** @ignore */\nconst getBinary = <T extends Binary>({ values, valueOffsets }: Data<T>, index: number): T['TValue'] => getVariableWidthBytes(values, valueOffsets, index);\n/** @ignore */\nconst getUtf8 = <T extends Utf8>({ values, valueOffsets }: Data<T>, index: number): T['TValue'] => {\n const bytes = getVariableWidthBytes(values, valueOffsets, index);\n return bytes !== null ? decodeUtf8(bytes) : null as any;\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInt = <T extends Int>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n\n/* istanbul ignore next */\n/** @ignore */\nconst getFloat = <T extends Float>({ type, values }: Data<T>, index: number): T['TValue'] => (\n type.precision !== Precision.HALF ? values[index] : uint16ToFloat64(values[index])\n);\n\n/* istanbul ignore next */\n/** @ignore */\nconst getDate = <T extends Date_>(data: Data<T>, index: number): T['TValue'] => (\n data.type.unit === DateUnit.DAY\n ? getDateDay(data as Data<DateDay>, index)\n : getDateMillisecond(data as Data<DateMillisecond>, index)\n);\n\n/** @ignore */\nconst getTimestampSecond = <T extends TimestampSecond>({ values }: Data<T>, index: number): T['TValue'] => 1000 * epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMillisecond = <T extends TimestampMillisecond>({ values }: Data<T>, index: number): T['TValue'] => epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMicrosecond = <T extends TimestampMicrosecond>({ values }: Data<T>, index: number): T['TValue'] => epochMicrosecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampNanosecond = <T extends TimestampNanosecond>({ values }: Data<T>, index: number): T['TValue'] => epochNanosecondsLongToMs(values, index * 2);\n/* istanbul ignore next */\n/** @ignore */\nconst getTimestamp = <T extends Timestamp>(data: Data<T>, index: number): T['TValue'] => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return getTimestampSecond(data as Data<TimestampSecond>, index);\n case TimeUnit.MILLISECOND: return getTimestampMillisecond(data as Data<TimestampMillisecond>, index);\n case TimeUnit.MICROSECOND: return getTimestampMicrosecond(data as Data<TimestampMicrosecond>, index);\n case TimeUnit.NANOSECOND: return getTimestampNanosecond(data as Data<TimestampNanosecond>, index);\n }\n};\n\n/** @ignore */\nconst getTimeSecond = <T extends TimeSecond>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n/** @ignore */\nconst getTimeMillisecond = <T extends TimeMillisecond>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n/** @ignore */\nconst getTimeMicrosecond = <T extends TimeMicrosecond>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n/** @ignore */\nconst getTimeNanosecond = <T extends TimeNanosecond>({ values }: Data<T>, index: number): T['TValue'] => values[index];\n/* istanbul ignore next */\n/** @ignore */\nconst getTime = <T extends Time>(data: Data<T>, index: number): T['TValue'] => {\n switch (data.type.unit) {\n case TimeUnit.SECOND: return getTimeSecond(data as Data<TimeSecond>, index);\n case TimeUnit.MILLISECOND: return getTimeMillisecond(data as Data<TimeMillisecond>, index);\n case TimeUnit.MICROSECOND: return getTimeMicrosecond(data as Data<TimeMicrosecond>, index);\n case TimeUnit.NANOSECOND: return getTimeNanosecond(data as Data<TimeNanosecond>, index);\n }\n};\n\n/** @ignore */\nconst getDecimal = <T extends Decimal>({ values, stride }: Data<T>, index: number): T['TValue'] => BN.decimal(values.subarray(stride * index, stride * (index + 1)));\n\n/** @ignore */\nconst getList = <T extends List>(data: Data<T>, index: number): T['TValue'] => {\n const { valueOffsets, stride, children } = data;\n const { [index * stride]: begin, [index * stride + 1]: end } = valueOffsets;\n const child: Data<T['valueType']> = children[0];\n const slice = child.slice(begin, end - begin);\n return new Vector([slice]) as T['TValue'];\n};\n\n/** @ignore */\nconst getMap = <T extends Map_>(data: Data<T>, index: number): T['TValue'] => {\n const { valueOffsets, children } = data;\n const { [index]: begin, [index + 1]: end } = valueOffsets;\n const child = children[0] as Data<T['childType']>;\n return new MapRow(child.slice(begin, end - begin));\n};\n\n/** @ignore */\nconst getStruct = <T extends Struct>(data: Data<T>, index: number): T['TValue'] => {\n return new StructRow(data, index) as StructRowProxy<T['TValue']>;\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getUnion = <\n D extends Data<Union> | Data<DenseUnion> | Data<SparseUnion>\n>(data: D, index: number): D['TValue'] => {\n return data.type.mode === UnionMode.Dense ?\n getDenseUnion(data as Data<DenseUnion>, index) :\n getSparseUnion(data as Data<SparseUnion>, index);\n};\n\n/** @ignore */\nconst getDenseUnion = <T extends DenseUnion>(data: Data<T>, index: number): T['TValue'] => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n return instance.visit(child, data.valueOffsets[index]);\n};\n\n/** @ignore */\nconst getSparseUnion = <T extends SparseUnion>(data: Data<T>, index: number): T['TValue'] => {\n const childIndex = data.type.typeIdToChildIndex[data.typeIds[index]];\n const child = data.children[childIndex];\n return instance.visit(child, index);\n};\n\n/** @ignore */\nconst getDictionary = <T extends Dictionary>(data: Data<T>, index: number): T['TValue'] => {\n return data.dictionary?.get(data.values[index]);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInterval = <T extends Interval>(data: Data<T>, index: number): T['TValue'] =>\n (data.type.unit === IntervalUnit.DAY_TIME)\n ? getIntervalDayTime(data as Data<IntervalDayTime>, index)\n : getIntervalYearMonth(data as Data<IntervalYearMonth>, index);\n\n/** @ignore */\nconst getIntervalDayTime = <T extends IntervalDayTime>({ values }: Data<T>, index: number): T['TValue'] => values.subarray(2 * index, 2 * (index + 1));\n\n/** @ignore */\nconst getIntervalYearMonth = <T extends IntervalYearMonth>({ values }: Data<T>, index: number): T['TValue'] => {\n const interval = values[index];\n const int32s = new Int32Array(2);\n int32s[0] = Math.trunc(interval / 12); /* years */\n int32s[1] = Math.trunc(interval % 12); /* months */\n return int32s;\n};\n\n/** @ignore */\nconst getFixedSizeList = <T extends FixedSizeList>(data: Data<T>, index: number): T['TValue'] => {\n const { stride, children } = data;\n const child: Data<T['valueType']> = children[0];\n const slice = child.slice(index * stride, stride);\n return new Vector([slice]);\n};\n\nGetVisitor.prototype.visitNull = wrapGet(getNull);\nGetVisitor.prototype.visitBool = wrapGet(getBool);\nGetVisitor.prototype.visitInt = wrapGet(getInt);\nGetVisitor.prototype.visitInt8 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt16 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitInt64 = wrapGet(getBigInts);\nGetVisitor.prototype.visitUint8 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint16 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUint64 = wrapGet(getBigInts);\nGetVisitor.prototype.visitFloat = wrapGet(getFloat);\nGetVisitor.prototype.visitFloat16 = wrapGet(getFloat16);\nGetVisitor.prototype.visitFloat32 = wrapGet(getNumeric);\nGetVisitor.prototype.visitFloat64 = wrapGet(getNumeric);\nGetVisitor.prototype.visitUtf8 = wrapGet(getUtf8);\nGetVisitor.prototype.visitBinary = wrapGet(getBinary);\nGetVisitor.prototype.visitFixedSizeBinary = wrapGet(getFixedSizeBinary);\nGetVisitor.prototype.visitDate = wrapGet(getDate);\nGetVisitor.prototype.visitDateDay = wrapGet(getDateDay);\nGetVisitor.prototype.visitDateMillisecond = wrapGet(getDateMillisecond);\nGetVisitor.prototype.visitTimestamp = wrapGet(getTimestamp);\nGetVisitor.prototype.visitTimestampSecond = wrapGet(getTimestampSecond);\nGetVisitor.prototype.visitTimestampMillisecond = wrapGet(getTimestampMillisecond);\nGetVisitor.prototype.visitTimestampMicrosecond = wrapGet(getTimestampMicrosecond);\nGetVisitor.prototype.visitTimestampNanosecond = wrapGet(getTimestampNanosecond);\nGetVisitor.prototype.visitTime = wrapGet(getTime);\nGetVisitor.prototype.visitTimeSecond = wrapGet(getTimeSecond);\nGetVisitor.prototype.visitTimeMillisecond = wrapGet(getTimeMillisecond);\nGetVisitor.prototype.visitTimeMicrosecond = wrapGet(getTimeMicrosecond);\nGetVisitor.prototype.visitTimeNanosecond = wrapGet(getTimeNanosecond);\nGetVisitor.prototype.visitDecimal = wrapGet(getDecimal);\nGetVisitor.prototype.visitList = wrapGet(getList);\nGetVisitor.prototype.visitStruct = wrapGet(getStruct);\nGetVisitor.prototype.visitUnion = wrapGet(getUnion);\nGetVisitor.prototype.visitDenseUnion = wrapGet(getDenseUnion);\nGetVisitor.prototype.visitSparseUnion = wrapGet(getSparseUnion);\nGetVisitor.prototype.visitDictionary = wrapGet(getDictionary);\nGetVisitor.prototype.visitInterval = wrapGet(getInterval);\nGetVisitor.prototype.visitIntervalDayTime = wrapGet(getIntervalDayTime);\nGetVisitor.prototype.visitIntervalYearMonth = wrapGet(getIntervalYearMonth);\nGetVisitor.prototype.visitFixedSizeList = wrapGet(getFixedSizeList);\nGetVisitor.prototype.visitMap = wrapGet(getMap);\n\n/** @ignore */\nexport const instance = new GetVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Vector } from '../vector.js';\nimport { DataType, Struct } from '../type.js';\nimport { valueToString } from '../util/pretty.js';\nimport { instance as getVisitor } from '../visitor/get.js';\nimport { instance as setVisitor } from '../visitor/set.js';\n\n/** @ignore */ export const kKeys = Symbol.for('keys');\n/** @ignore */ export const kVals = Symbol.for('vals');\n\nexport class MapRow<K extends DataType = any, V extends DataType = any> {\n\n [key: string]: V['TValue'];\n\n declare private [kKeys]: Vector<K>;\n declare private [kVals]: Data<V>;\n\n constructor(slice: Data<Struct<{ key: K; value: V }>>) {\n this[kKeys] = new Vector([slice.children[0]]).memoize() as Vector<K>;\n this[kVals] = slice.children[1] as Data<V>;\n return new Proxy(this, new MapRowProxyHandler<K, V>());\n }\n\n [Symbol.iterator]() {\n return new MapRowIterator(this[kKeys], this[kVals]);\n }\n\n public get size() { return this[kKeys].length; }\n\n public toArray() { return Object.values(this.toJSON()); }\n\n public toJSON() {\n const keys = this[kKeys];\n const vals = this[kVals];\n const json = {} as { [P in K['TValue']]: V['TValue'] };\n for (let i = -1, n = keys.length; ++i < n;) {\n json[keys.get(i)] = getVisitor.visit(vals, i);\n }\n return json;\n }\n\n public toString() {\n return `{${[...this].map(([key, val]) =>\n `${valueToString(key)}: ${valueToString(val)}`\n ).join(', ')\n }}`;\n }\n\n public [Symbol.for('nodejs.util.inspect.custom')]() {\n return this.toString();\n }\n}\n\nclass MapRowIterator<K extends DataType = any, V extends DataType = any>\n implements IterableIterator<[K['TValue'], V['TValue'] | null]> {\n\n private keys: Vector<K>;\n private vals: Data<V>;\n private numKeys: number;\n private keyIndex: number;\n\n constructor(keys: Vector<K>, vals: Data<V>) {\n this.keys = keys;\n this.vals = vals;\n this.keyIndex = 0;\n this.numKeys = keys.length;\n }\n\n [Symbol.iterator]() { return this; }\n\n next() {\n const i = this.keyIndex;\n if (i === this.numKeys) {\n return { done: true, value: null } as IteratorReturnResult<null>;\n }\n this.keyIndex++;\n return {\n done: false,\n value: [\n this.keys.get(i),\n getVisitor.visit(this.vals, i),\n ] as [K['TValue'], V['TValue'] | null]\n };\n }\n}\n\n/** @ignore */\nclass MapRowProxyHandler<K extends DataType = any, V extends DataType = any> implements ProxyHandler<MapRow<K, V>> {\n isExtensible() { return false; }\n deleteProperty() { return false; }\n preventExtensions() { return true; }\n ownKeys(row: MapRow<K, V>) {\n return row[kKeys].toArray().map(String);\n }\n has(row: MapRow<K, V>, key: string | symbol) {\n return row[kKeys].includes(key);\n }\n getOwnPropertyDescriptor(row: MapRow<K, V>, key: string | symbol) {\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n return { writable: true, enumerable: true, configurable: true };\n }\n return;\n }\n get(row: MapRow<K, V>, key: string | symbol) {\n // Look up key in row first\n if (Reflect.has(row, key)) {\n return (row as any)[key];\n }\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n const val = getVisitor.visit(Reflect.get(row, kVals), idx);\n // Cache key/val lookups\n Reflect.set(row, key, val);\n return val;\n }\n }\n set(row: MapRow<K, V>, key: string | symbol, val: V) {\n const idx = row[kKeys].indexOf(key);\n if (idx !== -1) {\n setVisitor.visit(Reflect.get(row, kVals), idx, val);\n // Cache key/val lookups\n return Reflect.set(row, key, val);\n } else if (Reflect.has(row, key)) {\n return Reflect.set(row, key, val);\n }\n return false;\n }\n}\n\nObject.defineProperties(MapRow.prototype, {\n [Symbol.toStringTag]: { enumerable: false, configurable: false, value: 'Row' },\n [kKeys]: { writable: true, enumerable: false, configurable: false, value: null },\n [kVals]: { writable: true, enumerable: false, configurable: false, value: null },\n});\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector.js';\nimport { MapRow } from '../row/map.js';\nimport { StructRow } from '../row/struct.js';\nimport { compareArrayLike } from '../util/buffer.js';\n\n/** @ignore */\ntype RangeLike = { length: number; stride?: number };\n/** @ignore */\ntype ClampThen<T extends RangeLike> = (source: T, index: number) => any;\n/** @ignore */\ntype ClampRangeThen<T extends RangeLike> = (source: T, offset: number, length: number) => any;\n\nexport function clampIndex<T extends RangeLike>(source: T, index: number): number;\nexport function clampIndex<T extends RangeLike, N extends ClampThen<T> = ClampThen<T>>(source: T, index: number, then: N): ReturnType<N>;\n/** @ignore */\nexport function clampIndex<T extends RangeLike, N extends ClampThen<T> = ClampThen<T>>(source: T, index: number, then?: N) {\n const length = source.length;\n const adjust = index > -1 ? index : (length + (index % length));\n return then ? then(source, adjust) : adjust;\n}\n\n/** @ignore */\nlet tmp: number;\nexport function clampRange<T extends RangeLike>(source: T, begin: number | undefined, end: number | undefined): [number, number];\nexport function clampRange<T extends RangeLike, N extends ClampRangeThen<T> = ClampRangeThen<T>>(source: T, begin: number | undefined, end: number | undefined, then: N): ReturnType<N>;\n/** @ignore */\nexport function clampRange<T extends RangeLike, N extends ClampRangeThen<T> = ClampRangeThen<T>>(source: T, begin: number | undefined, end: number | undefined, then?: N) {\n\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n const { length: len = 0 } = source;\n let lhs = typeof begin !== 'number' ? 0 : begin;\n let rhs = typeof end !== 'number' ? len : end;\n // wrap around on negative start/end positions\n (lhs < 0) && (lhs = ((lhs % len) + len) % len);\n (rhs < 0) && (rhs = ((rhs % len) + len) % len);\n // ensure lhs <= rhs\n (rhs < lhs) && (tmp = lhs, lhs = rhs, rhs = tmp);\n // ensure rhs <= length\n (rhs > len) && (rhs = len);\n\n return then ? then(source, lhs, rhs) : [lhs, rhs];\n}\n\nconst isNaNFast = (value: any) => value !== value;\n\n/** @ignore */\nexport function createElementComparator(search: any) {\n const typeofSearch = typeof search;\n // Compare primitives\n if (typeofSearch !== 'object' || search === null) {\n // Compare NaN\n if (isNaNFast(search)) {\n return isNaNFast;\n }\n return (value: any) => value === search;\n }\n // Compare Dates\n if (search instanceof Date) {\n const valueOfSearch = search.valueOf();\n return (value: any) => value instanceof Date ? (value.valueOf() === valueOfSearch) : false;\n }\n // Compare TypedArrays\n if (ArrayBuffer.isView(search)) {\n return (value: any) => value ? compareArrayLike(search, value) : false;\n }\n // Compare Maps and Rows\n if (search instanceof Map) { return createMapComparator(search); }\n // Compare Array-likes\n if (Array.isArray(search)) { return createArrayLikeComparator(search); }\n // Compare Vectors\n if (search instanceof Vector) { return createVectorComparator(search); }\n return createObjectComparator(search, true);\n // Compare non-empty Objects\n // return createObjectComparator(search, search instanceof Proxy);\n}\n\n/** @ignore */\nfunction createArrayLikeComparator(lhs: ArrayLike<any>) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[i]);\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createMapComparator(lhs: Map<any, any>) {\n let i = -1;\n const comparators = [] as ((x: any) => boolean)[];\n for (const v of lhs.values()) comparators[++i] = createElementComparator(v);\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createVectorComparator(lhs: Vector<any>) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs.get(i));\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createObjectComparator(lhs: any, allowEmpty = false) {\n const keys = Object.keys(lhs);\n // Only compare non-empty Objects\n if (!allowEmpty && keys.length === 0) { return () => false; }\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = keys.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[keys[i]]);\n }\n return createSubElementsComparator(comparators, keys);\n}\n\nfunction createSubElementsComparator(comparators: ((x: any) => boolean)[], keys?: Iterable<string>) {\n return (rhs: any) => {\n if (!rhs || typeof rhs !== 'object') {\n return false;\n }\n switch (rhs.constructor) {\n case Array: return compareArray(comparators, rhs);\n case Map:\n return compareObject(comparators, rhs, rhs.keys());\n case MapRow:\n case StructRow:\n case Object:\n case undefined: // support `Object.create(null)` objects\n return compareObject(comparators, rhs, keys || Object.keys(rhs));\n }\n return rhs instanceof Vector ? compareVector(comparators, rhs) : false;\n };\n}\n\nfunction compareArray(comparators: ((x: any) => boolean)[], arr: any[]) {\n const n = comparators.length;\n if (arr.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](arr[i]))) { return false; }\n }\n return true;\n}\n\nfunction compareVector(comparators: ((x: any) => boolean)[], vec: Vector) {\n const n = comparators.length;\n if (vec.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](vec.get(i)))) { return false; }\n }\n return true;\n}\n\nfunction compareObject(comparators: ((x: any) => boolean)[], obj: Map<any, any>, keys: Iterable<string>) {\n\n const lKeyItr = keys[Symbol.iterator]();\n const rKeyItr = obj instanceof Map ? obj.keys() : Object.keys(obj)[Symbol.iterator]();\n const rValItr = obj instanceof Map ? obj.values() : Object.values(obj)[Symbol.iterator]();\n\n let i = 0;\n const n = comparators.length;\n let rVal = rValItr.next();\n let lKey = lKeyItr.next();\n let rKey = rKeyItr.next();\n\n for (; i < n && !lKey.done && !rKey.done && !rVal.done;\n ++i, lKey = lKeyItr.next(), rKey = rKeyItr.next(), rVal = rValItr.next()) {\n if (lKey.value !== rKey.value || !comparators[i](rVal.value)) {\n break;\n }\n }\n if (i === n && lKey.done && rKey.done && rVal.done) {\n return true;\n }\n lKeyItr.return && lKeyItr.return();\n rKeyItr.return && rKeyItr.return();\n rValItr.return && rValItr.return();\n return false;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { DataType } from '../type.js';\n\n/** @ignore */\nexport class ChunkedIterator<T extends DataType> implements IterableIterator<T['TValue'] | null> {\n private chunkIndex = 0;\n private chunkIterator: IterableIterator<T['TValue'] | null>;\n\n constructor(\n private numChunks: number = 0,\n private getChunkIterator: (chunkIndex: number) => IterableIterator<T['TValue'] | null>\n ) {\n this.chunkIterator = this.getChunkIterator(0);\n }\n\n next(): IteratorResult<T['TValue'] | null> {\n while (this.chunkIndex < this.numChunks) {\n const next = this.chunkIterator.next();\n\n if (!next.done) {\n return next;\n }\n\n if (++this.chunkIndex < this.numChunks) {\n this.chunkIterator = this.getChunkIterator(this.chunkIndex);\n }\n }\n\n return { done: true, value: null };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** @ignore */\nexport function computeChunkNullCounts<T extends DataType>(chunks: ReadonlyArray<Data<T>>) {\n return chunks.reduce((nullCount, chunk) => nullCount + chunk.nullCount, 0);\n}\n\n/** @ignore */\nexport function computeChunkOffsets<T extends DataType>(chunks: ReadonlyArray<Data<T>>) {\n return chunks.reduce((offsets, chunk, index) => {\n offsets[index + 1] = offsets[index] + chunk.length;\n return offsets;\n }, new Uint32Array(chunks.length + 1));\n}\n\n/** @ignore */\nexport function sliceChunks<T extends DataType>(chunks: ReadonlyArray<Data<T>>, offsets: Uint32Array | Array<number>, begin: number, end: number) {\n const slices: Data<T>[] = [];\n for (let i = -1, n = chunks.length; ++i < n;) {\n const chunk = chunks[i];\n const offset = offsets[i];\n const { length } = chunk;\n // Stop if the child is to the right of the slice boundary\n if (offset >= end) { break; }\n // Exclude children to the left of of the slice boundary\n if (begin >= offset + length) { continue; }\n // Include entire child if between both left and right boundaries\n if (offset >= begin && (offset + length) <= end) {\n slices.push(chunk);\n continue;\n }\n // Include the child slice that overlaps one of the slice boundaries\n const from = Math.max(0, begin - offset);\n const to = Math.min(end - offset, length);\n slices.push(chunk.slice(from, to - from));\n }\n if (slices.length === 0) {\n slices.push(chunks[0].slice(0, 0));\n }\n return slices;\n}\n\n/** @ignore */\nexport function binarySearch<\n T extends DataType,\n F extends (chunks: ReadonlyArray<Data<T>>, _1: number, _2: number) => any\n>(chunks: ReadonlyArray<Data<T>>, offsets: Uint32Array | number[], idx: number, fn: F) {\n let lhs = 0, mid = 0, rhs = offsets.length - 1;\n do {\n if (lhs >= rhs - 1) {\n return (idx < offsets[rhs]) ? fn(chunks, lhs, idx - offsets[lhs]) : null;\n }\n mid = lhs + (Math.trunc((rhs - lhs) * .5));\n idx < offsets[mid] ? (rhs = mid) : (lhs = mid);\n } while (lhs < rhs);\n}\n\n/** @ignore */\nexport function isChunkedValid<T extends DataType>(data: Data<T>, index: number): boolean {\n return data.getValid(index);\n}\n\n/** @ignore */\nexport function wrapChunkedCall1<T extends DataType>(fn: (c: Data<T>, _1: number) => any) {\n function chunkedFn(chunks: ReadonlyArray<Data<T>>, i: number, j: number) { return fn(chunks[i], j); }\n return function (this: any, index: number) {\n const data = this.data as ReadonlyArray<Data<T>>;\n return binarySearch(data, this._offsets, index, chunkedFn);\n };\n}\n\n/** @ignore */\nexport function wrapChunkedCall2<T extends DataType>(fn: (c: Data<T>, _1: number, _2: any) => any) {\n let _2: any;\n function chunkedFn(chunks: ReadonlyArray<Data<T>>, i: number, j: number) { return fn(chunks[i], j, _2); }\n return function (this: any, index: number, value: any) {\n const data = this.data as ReadonlyArray<Data<T>>;\n _2 = value;\n const result = binarySearch(data, this._offsets, index, chunkedFn);\n _2 = undefined;\n return result;\n };\n}\n\n/** @ignore */\nexport function wrapChunkedIndexOf<T extends DataType>(indexOf: (c: Data<T>, e: T['TValue'], o?: number) => any) {\n let _1: any;\n function chunkedIndexOf(data: ReadonlyArray<Data<T>>, chunkIndex: number, fromIndex: number) {\n let begin = fromIndex, index = 0, total = 0;\n for (let i = chunkIndex - 1, n = data.length; ++i < n;) {\n const chunk = data[i];\n if (~(index = indexOf(chunk, _1, begin))) {\n return total + index;\n }\n begin = 0;\n total += chunk.length;\n }\n return -1;\n }\n return function (this: any, element: T['TValue'], offset?: number) {\n _1 = element;\n const data = this.data as ReadonlyArray<Data<T>>;\n const result = typeof offset !== 'number'\n ? chunkedIndexOf(data, 0, 0)\n : binarySearch(data, this._offsets, offset, chunkedIndexOf);\n _1 = undefined;\n return result;\n };\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport function getBool(_data: any, _index: number, byte: number, bit: number) {\n return (byte & 1 << bit) !== 0;\n}\n\n/** @ignore */\nexport function getBit(_data: any, _index: number, byte: number, bit: number): 0 | 1 {\n return (byte & 1 << bit) >> bit as (0 | 1);\n}\n\n/** @ignore */\nexport function setBool(bytes: Uint8Array, index: number, value: any) {\n return value ?\n !!(bytes[index >> 3] |= (1 << (index % 8))) || true :\n !(bytes[index >> 3] &= ~(1 << (index % 8))) && false;\n}\n\n/** @ignore */\nexport function truncateBitmap(offset: number, length: number, bitmap: Uint8Array) {\n const alignedSize = (bitmap.byteLength + 7) & ~7;\n if (offset > 0 || bitmap.byteLength < alignedSize) {\n const bytes = new Uint8Array(alignedSize);\n // If the offset is a multiple of 8 bits, it's safe to slice the bitmap\n bytes.set(offset % 8 === 0 ? bitmap.subarray(offset >> 3) :\n // Otherwise iterate each bit from the offset and return a new one\n packBools(new BitIterator(bitmap, offset, length, null, getBool)).subarray(0, alignedSize));\n return bytes;\n }\n return bitmap;\n}\n\n/** @ignore */\nexport function packBools(values: Iterable<any>) {\n const xs: number[] = [];\n let i = 0, bit = 0, byte = 0;\n for (const value of values) {\n value && (byte |= 1 << bit);\n if (++bit === 8) {\n xs[i++] = byte;\n byte = bit = 0;\n }\n }\n if (i === 0 || bit > 0) { xs[i++] = byte; }\n const b = new Uint8Array((xs.length + 7) & ~7);\n b.set(xs);\n return b;\n}\n\n/** @ignore */\nexport class BitIterator<T> implements IterableIterator<T> {\n bit: number;\n byte: number;\n byteIndex: number;\n index: number;\n\n constructor(\n private bytes: Uint8Array,\n begin: number,\n private length: number,\n private context: any,\n private get: (context: any, index: number, byte: number, bit: number) => T\n ) {\n this.bit = begin % 8;\n this.byteIndex = begin >> 3;\n this.byte = bytes[this.byteIndex++];\n this.index = 0;\n }\n\n next(): IteratorResult<T> {\n if (this.index < this.length) {\n if (this.bit === 8) {\n this.bit = 0;\n this.byte = this.bytes[this.byteIndex++];\n }\n return {\n value: this.get(this.context, this.index++, this.byte, this.bit++)\n };\n }\n return { done: true, value: null };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/**\n * Compute the population count (the number of bits set to 1) for a range of bits in a Uint8Array.\n * @param vector The Uint8Array of bits for which to compute the population count.\n * @param lhs The range's left-hand side (or start) bit\n * @param rhs The range's right-hand side (or end) bit\n */\n/** @ignore */\nexport function popcnt_bit_range(data: Uint8Array, lhs: number, rhs: number): number {\n if (rhs - lhs <= 0) { return 0; }\n // If the bit range is less than one byte, sum the 1 bits in the bit range\n if (rhs - lhs < 8) {\n let sum = 0;\n for (const bit of new BitIterator(data, lhs, rhs - lhs, data, getBit)) {\n sum += bit;\n }\n return sum;\n }\n // Get the next lowest multiple of 8 from the right hand side\n const rhsInside = rhs >> 3 << 3;\n // Get the next highest multiple of 8 from the left hand side\n const lhsInside = lhs + (lhs % 8 === 0 ? 0 : 8 - lhs % 8);\n return (\n // Get the popcnt of bits between the left hand side, and the next highest multiple of 8\n popcnt_bit_range(data, lhs, lhsInside) +\n // Get the popcnt of bits between the right hand side, and the next lowest multiple of 8\n popcnt_bit_range(data, rhsInside, rhs) +\n // Get the popcnt of all bits between the left and right hand sides' multiples of 8\n popcnt_array(data, lhsInside >> 3, (rhsInside - lhsInside) >> 3)\n );\n}\n\n/** @ignore */\nexport function popcnt_array(arr: ArrayBufferView, byteOffset?: number, byteLength?: number) {\n let cnt = 0, pos = Math.trunc(byteOffset!);\n const view = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n const len = byteLength === void 0 ? arr.byteLength : pos + byteLength;\n while (len - pos >= 4) {\n cnt += popcnt_uint32(view.getUint32(pos));\n pos += 4;\n }\n while (len - pos >= 2) {\n cnt += popcnt_uint32(view.getUint16(pos));\n pos += 2;\n }\n while (len - pos >= 1) {\n cnt += popcnt_uint32(view.getUint8(pos));\n pos += 1;\n }\n return cnt;\n}\n\n/** @ignore */\nexport function popcnt_uint32(uint32: number): number {\n let i = Math.trunc(uint32);\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n return (((i + (i >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Type } from '../enum.js';\nimport { Visitor } from '../visitor.js';\nimport { instance as getVisitor } from './get.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport { getBool, BitIterator } from '../util/bit.js';\nimport { createElementComparator } from '../util/vector.js';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type.js';\n\n/** @ignore */\nexport interface IndexOfVisitor extends Visitor {\n visit<T extends Data>(node: T, value: T['TValue'] | null, index?: number): number;\n visitMany<T extends Data>(nodes: T[], values: (T['TValue'] | null)[], indices: (number | undefined)[]): number[];\n getVisitFn<T extends DataType>(node: Data<T> | T): (data: Data<T>, value: T['TValue'] | null, index?: number) => number;\n getVisitFn<T extends Type>(node: T): (data: Data<TypeToDataType<T>>, value: TypeToDataType<T>['TValue'] | null, index?: number) => number;\n visitNull<T extends Null>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitBool<T extends Bool>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInt<T extends Int>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInt8<T extends Int8>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInt16<T extends Int16>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInt32<T extends Int32>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInt64<T extends Int64>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUint8<T extends Uint8>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUint16<T extends Uint16>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUint32<T extends Uint32>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUint64<T extends Uint64>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFloat<T extends Float>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFloat16<T extends Float16>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFloat32<T extends Float32>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFloat64<T extends Float64>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUtf8<T extends Utf8>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitBinary<T extends Binary>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeBinary<T extends FixedSizeBinary>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDate<T extends Date_>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDateDay<T extends DateDay>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDateMillisecond<T extends DateMillisecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimestamp<T extends Timestamp>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimestampSecond<T extends TimestampSecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimestampMillisecond<T extends TimestampMillisecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimestampMicrosecond<T extends TimestampMicrosecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimestampNanosecond<T extends TimestampNanosecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTime<T extends Time>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimeSecond<T extends TimeSecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimeMillisecond<T extends TimeMillisecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimeMicrosecond<T extends TimeMicrosecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitTimeNanosecond<T extends TimeNanosecond>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDecimal<T extends Decimal>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitList<T extends List>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitStruct<T extends Struct>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitUnion<T extends Union>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDenseUnion<T extends DenseUnion>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitSparseUnion<T extends SparseUnion>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitDictionary<T extends Dictionary>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitInterval<T extends Interval>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitIntervalDayTime<T extends IntervalDayTime>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitIntervalYearMonth<T extends IntervalYearMonth>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeList<T extends FixedSizeList>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n visitMap<T extends Map_>(data: Data<T>, value: T['TValue'] | null, index?: number): number;\n}\n\n/** @ignore */\nexport class IndexOfVisitor extends Visitor { }\n\n/** @ignore */\nfunction nullIndexOf(data: Data<Null>, searchElement?: null) {\n // if you're looking for nulls and the vector isn't empty, we've got 'em!\n return searchElement === null && data.length > 0 ? 0 : -1;\n}\n\n/** @ignore */\nfunction indexOfNull<T extends DataType>(data: Data<T>, fromIndex?: number): number {\n const { nullBitmap } = data;\n if (!nullBitmap || data.nullCount <= 0) {\n return -1;\n }\n let i = 0;\n for (const isValid of new BitIterator(nullBitmap, data.offset + (fromIndex || 0), data.length, nullBitmap, getBool)) {\n if (!isValid) { return i; }\n ++i;\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfValue<T extends DataType>(data: Data<T>, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n if (searchElement === undefined) { return -1; }\n if (searchElement === null) { return indexOfNull(data, fromIndex); }\n const get = getVisitor.getVisitFn(data);\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = data.length; ++i < n;) {\n if (compare(get(data, i))) {\n return i;\n }\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfUnion<T extends DataType>(data: Data<T>, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n // Unions are special -- they do have a nullBitmap, but so can their children.\n // If the searchElement is null, we don't know whether it came from the Union's\n // bitmap or one of its childrens'. So we don't interrogate the Union's bitmap,\n // since that will report the wrong index if a child has a null before the Union.\n const get = getVisitor.getVisitFn(data);\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = data.length; ++i < n;) {\n if (compare(get(data, i))) {\n return i;\n }\n }\n return -1;\n}\n\nIndexOfVisitor.prototype.visitNull = nullIndexOf;\nIndexOfVisitor.prototype.visitBool = indexOfValue;\nIndexOfVisitor.prototype.visitInt = indexOfValue;\nIndexOfVisitor.prototype.visitInt8 = indexOfValue;\nIndexOfVisitor.prototype.visitInt16 = indexOfValue;\nIndexOfVisitor.prototype.visitInt32 = indexOfValue;\nIndexOfVisitor.prototype.visitInt64 = indexOfValue;\nIndexOfVisitor.prototype.visitUint8 = indexOfValue;\nIndexOfVisitor.prototype.visitUint16 = indexOfValue;\nIndexOfVisitor.prototype.visitUint32 = indexOfValue;\nIndexOfVisitor.prototype.visitUint64 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat = indexOfValue;\nIndexOfVisitor.prototype.visitFloat16 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat32 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat64 = indexOfValue;\nIndexOfVisitor.prototype.visitUtf8 = indexOfValue;\nIndexOfVisitor.prototype.visitBinary = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeBinary = indexOfValue;\nIndexOfVisitor.prototype.visitDate = indexOfValue;\nIndexOfVisitor.prototype.visitDateDay = indexOfValue;\nIndexOfVisitor.prototype.visitDateMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestamp = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTime = indexOfValue;\nIndexOfVisitor.prototype.visitTimeSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitDecimal = indexOfValue;\nIndexOfVisitor.prototype.visitList = indexOfValue;\nIndexOfVisitor.prototype.visitStruct = indexOfValue;\nIndexOfVisitor.prototype.visitUnion = indexOfValue;\nIndexOfVisitor.prototype.visitDenseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitSparseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitDictionary = indexOfValue;\nIndexOfVisitor.prototype.visitInterval = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeList = indexOfValue;\nIndexOfVisitor.prototype.visitMap = indexOfValue;\n\n/** @ignore */\nexport const instance = new IndexOfVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector.js';\nimport { Visitor } from '../visitor.js';\nimport { Type, Precision } from '../enum.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type.js';\nimport { ChunkedIterator } from '../util/chunk.js';\n\n/** @ignore */\nexport interface IteratorVisitor extends Visitor {\n visit<T extends Vector>(node: T): IterableIterator<T['TValue'] | null>;\n visitMany<T extends Vector>(nodes: T[]): IterableIterator<T['TValue'] | null>[];\n getVisitFn<T extends DataType>(node: Vector<T> | T): (vector: Vector<T>) => IterableIterator<T['TValue'] | null>;\n getVisitFn<T extends Type>(node: T): (vector: Vector<TypeToDataType<T>>) => IterableIterator<TypeToDataType<T>['TValue'] | null>;\n visitNull<T extends Null>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitBool<T extends Bool>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInt<T extends Int>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInt8<T extends Int8>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInt16<T extends Int16>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInt32<T extends Int32>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInt64<T extends Int64>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUint8<T extends Uint8>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUint16<T extends Uint16>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUint32<T extends Uint32>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUint64<T extends Uint64>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFloat<T extends Float>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFloat16<T extends Float16>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFloat32<T extends Float32>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFloat64<T extends Float64>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUtf8<T extends Utf8>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitBinary<T extends Binary>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFixedSizeBinary<T extends FixedSizeBinary>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDate<T extends Date_>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDateDay<T extends DateDay>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDateMillisecond<T extends DateMillisecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimestamp<T extends Timestamp>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimestampSecond<T extends TimestampSecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimestampMillisecond<T extends TimestampMillisecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimestampMicrosecond<T extends TimestampMicrosecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimestampNanosecond<T extends TimestampNanosecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTime<T extends Time>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimeSecond<T extends TimeSecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimeMillisecond<T extends TimeMillisecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimeMicrosecond<T extends TimeMicrosecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitTimeNanosecond<T extends TimeNanosecond>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDecimal<T extends Decimal>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitList<T extends List>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitStruct<T extends Struct>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitUnion<T extends Union>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDenseUnion<T extends DenseUnion>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitSparseUnion<T extends SparseUnion>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitDictionary<T extends Dictionary>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitInterval<T extends Interval>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitIntervalDayTime<T extends IntervalDayTime>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitIntervalYearMonth<T extends IntervalYearMonth>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitFixedSizeList<T extends FixedSizeList>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n visitMap<T extends Map_>(vector: Vector<T>): IterableIterator<T['TValue'] | null>;\n}\n\n/** @ignore */\nexport class IteratorVisitor extends Visitor { }\n\n/** @ignore */\nfunction vectorIterator<T extends DataType>(vector: Vector<T>): IterableIterator<T['TValue'] | null> {\n\n const { type } = vector;\n\n // Fast case, defer to native iterators if possible\n if (vector.nullCount === 0 && vector.stride === 1 && (\n (type.typeId === Type.Timestamp) ||\n (type instanceof Int && (type as Int).bitWidth !== 64) ||\n (type instanceof Time && (type as Time).bitWidth !== 64) ||\n (type instanceof Float && (type as Float).precision !== Precision.HALF)\n )) {\n return new ChunkedIterator(vector.data.length, (chunkIndex) => {\n const data = vector.data[chunkIndex];\n return data.values.subarray(0, data.length)[Symbol.iterator]();\n });\n }\n\n // Otherwise, iterate manually\n let offset = 0;\n return new ChunkedIterator(vector.data.length, (chunkIndex) => {\n const data = vector.data[chunkIndex];\n const length = data.length;\n const inner = vector.slice(offset, offset + length);\n offset += length;\n return new VectorIterator(inner);\n });\n}\n\n/** @ignore */\nclass VectorIterator<T extends DataType> implements IterableIterator<T['TValue'] | null> {\n private index = 0;\n\n constructor(private vector: Vector<T>) { }\n\n next(): IteratorResult<T['TValue'] | null> {\n if (this.index < this.vector.length) {\n return {\n value: this.vector.get(this.index++)\n };\n }\n\n return { done: true, value: null };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\nIteratorVisitor.prototype.visitNull = vectorIterator;\nIteratorVisitor.prototype.visitBool = vectorIterator;\nIteratorVisitor.prototype.visitInt = vectorIterator;\nIteratorVisitor.prototype.visitInt8 = vectorIterator;\nIteratorVisitor.prototype.visitInt16 = vectorIterator;\nIteratorVisitor.prototype.visitInt32 = vectorIterator;\nIteratorVisitor.prototype.visitInt64 = vectorIterator;\nIteratorVisitor.prototype.visitUint8 = vectorIterator;\nIteratorVisitor.prototype.visitUint16 = vectorIterator;\nIteratorVisitor.prototype.visitUint32 = vectorIterator;\nIteratorVisitor.prototype.visitUint64 = vectorIterator;\nIteratorVisitor.prototype.visitFloat = vectorIterator;\nIteratorVisitor.prototype.visitFloat16 = vectorIterator;\nIteratorVisitor.prototype.visitFloat32 = vectorIterator;\nIteratorVisitor.prototype.visitFloat64 = vectorIterator;\nIteratorVisitor.prototype.visitUtf8 = vectorIterator;\nIteratorVisitor.prototype.visitBinary = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeBinary = vectorIterator;\nIteratorVisitor.prototype.visitDate = vectorIterator;\nIteratorVisitor.prototype.visitDateDay = vectorIterator;\nIteratorVisitor.prototype.visitDateMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestamp = vectorIterator;\nIteratorVisitor.prototype.visitTimestampSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitTime = vectorIterator;\nIteratorVisitor.prototype.visitTimeSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitDecimal = vectorIterator;\nIteratorVisitor.prototype.visitList = vectorIterator;\nIteratorVisitor.prototype.visitStruct = vectorIterator;\nIteratorVisitor.prototype.visitUnion = vectorIterator;\nIteratorVisitor.prototype.visitDenseUnion = vectorIterator;\nIteratorVisitor.prototype.visitSparseUnion = vectorIterator;\nIteratorVisitor.prototype.visitDictionary = vectorIterator;\nIteratorVisitor.prototype.visitInterval = vectorIterator;\nIteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;\nIteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeList = vectorIterator;\nIteratorVisitor.prototype.visitMap = vectorIterator;\n\n/** @ignore */\nexport const instance = new IteratorVisitor();\n","/* istanbul ignore file */\n\n// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* eslint-disable unicorn/no-array-callback-reference */\n\nimport { Data } from '../data.js';\nimport { Visitor } from '../visitor.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport { Type, TimeUnit, UnionMode } from '../enum.js';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union, DenseUnion, SparseUnion,\n} from '../type.js';\n\n/** @ignore */ const sum = (x: number, y: number) => x + y;\n\n/** @ignore */\nexport interface GetByteLengthVisitor extends Visitor {\n visit<T extends DataType>(node: Data<T>, index: number): number;\n visitMany<T extends DataType>(nodes: Data<T>[], index: number[]): number[];\n getVisitFn<T extends DataType>(node: Data<T> | T): (data: Data<T>, index: number) => number;\n getVisitFn<T extends Type>(node: T): (data: Data<TypeToDataType<T>>, index: number) => number;\n visitBinary<T extends Binary>(data: Data<T>, index: number): number;\n visitUtf8<T extends Utf8>(data: Data<T>, index: number): number;\n visitList<T extends List>(data: Data<T>, index: number): number;\n visitDenseUnion<T extends DenseUnion>(data: Data<T>, index: number): number;\n visitSparseUnion<T extends SparseUnion>(data: Data<T>, index: number): number;\n visitFixedSizeList<T extends FixedSizeList>(data: Data<T>, index: number): number;\n}\n\n/** @ignore */\nexport class GetByteLengthVisitor extends Visitor {\n public visitNull(____: Data<Null>, _: number) {\n return 0;\n }\n public visitInt(data: Data<Int>, _: number) {\n return data.type.bitWidth / 8;\n }\n public visitFloat(data: Data<Float>, _: number) {\n return data.type.ArrayType.BYTES_PER_ELEMENT;\n }\n public visitBool(____: Data<Bool>, _: number) {\n return 1 / 8;\n }\n public visitDecimal(data: Data<Decimal>, _: number) {\n return data.type.bitWidth / 8;\n }\n public visitDate(data: Data<Date_>, _: number) {\n return (data.type.unit + 1) * 4;\n }\n public visitTime(data: Data<Time>, _: number) {\n return data.type.bitWidth / 8;\n }\n public visitTimestamp(data: Data<Timestamp>, _: number) {\n return data.type.unit === TimeUnit.SECOND ? 4 : 8;\n }\n public visitInterval(data: Data<Interval>, _: number) {\n return (data.type.unit + 1) * 4;\n }\n public visitStruct(data: Data<Struct>, i: number) {\n return data.children.reduce((total, child) => total + instance.visit(child, i), 0);\n }\n public visitFixedSizeBinary(data: Data<FixedSizeBinary>, _: number) {\n return data.type.byteWidth;\n }\n public visitMap(data: Data<Map_>, i: number) {\n // 4 + 4 for the indices\n return 8 + data.children.reduce((total, child) => total + instance.visit(child, i), 0);\n }\n public visitDictionary(data: Data<Dictionary>, i: number) {\n return (data.type.indices.bitWidth / 8) + (data.dictionary?.getByteLength(data.values[i]) || 0);\n }\n}\n\n/** @ignore */\nconst getUtf8ByteLength = <T extends Utf8>({ valueOffsets }: Data<T>, index: number): number => {\n // 4 + 4 for the indices, `end - start` for the data bytes\n return 8 + (valueOffsets[index + 1] - valueOffsets[index]);\n};\n\n/** @ignore */\nconst getBinaryByteLength = <T extends Binary>({ valueOffsets }: Data<T>, index: number): number => {\n // 4 + 4 for the indices, `end - start` for the data bytes\n return 8 + (valueOffsets[index + 1] - valueOffsets[index]);\n};\n\n/** @ignore */\nconst getListByteLength = <T extends List>({ valueOffsets, stride, children }: Data<T>, index: number): number => {\n const child: Data<T['valueType']> = children[0];\n const { [index * stride]: start } = valueOffsets;\n const { [index * stride + 1]: end } = valueOffsets;\n const visit = instance.getVisitFn(child.type);\n const slice = child.slice(start, end - start);\n let size = 8; // 4 + 4 for the indices\n for (let idx = -1, len = end - start; ++idx < len;) {\n size += visit(slice, idx);\n }\n return size;\n};\n\n/** @ignore */\nconst getFixedSizeListByteLength = <T extends FixedSizeList>({ stride, children }: Data<T>, index: number): number => {\n const child: Data<T['valueType']> = children[0];\n const slice = child.slice(index * stride, stride);\n const visit = instance.getVisitFn(child.type);\n let size = 0;\n for (let idx = -1, len = slice.length; ++idx < len;) {\n size += visit(slice, idx);\n }\n return size;\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getUnionByteLength = <\n D extends Data<Union> | Data<DenseUnion> | Data<SparseUnion>\n>(data: D, index: number): number => {\n return data.type.mode === UnionMode.Dense ?\n getDenseUnionByteLength(data as Data<DenseUnion>, index) :\n getSparseUnionByteLength(data as Data<SparseUnion>, index);\n};\n\n/** @ignore */\nconst getDenseUnionByteLength = <T extends DenseUnion>({ type, children, typeIds, valueOffsets }: Data<T>, index: number): number => {\n const childIndex = type.typeIdToChildIndex[typeIds[index]];\n // 4 for the typeId, 4 for the valueOffsets, then the child at the offset\n return 8 + instance.visit(children[childIndex], valueOffsets[index]);\n};\n\n/** @ignore */\nconst getSparseUnionByteLength = <T extends SparseUnion>({ children }: Data<T>, index: number): number => {\n // 4 for the typeId, then once each for the children at this index\n return 4 + instance.visitMany(children, children.map(() => index)).reduce(sum, 0);\n};\n\nGetByteLengthVisitor.prototype.visitUtf8 = getUtf8ByteLength;\nGetByteLengthVisitor.prototype.visitBinary = getBinaryByteLength;\nGetByteLengthVisitor.prototype.visitList = getListByteLength;\nGetByteLengthVisitor.prototype.visitFixedSizeList = getFixedSizeListByteLength;\nGetByteLengthVisitor.prototype.visitUnion = getUnionByteLength;\nGetByteLengthVisitor.prototype.visitDenseUnion = getDenseUnionByteLength;\nGetByteLengthVisitor.prototype.visitSparseUnion = getSparseUnionByteLength;\n\n/** @ignore */\nexport const instance = new GetByteLengthVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { clampRange } from './util/vector.js';\nimport { DataType, strideForType } from './type.js';\nimport { Data, makeData, DataProps } from './data.js';\nimport { BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\n\nimport {\n isChunkedValid,\n computeChunkOffsets,\n computeChunkNullCounts,\n sliceChunks,\n wrapChunkedCall1,\n wrapChunkedCall2,\n wrapChunkedIndexOf,\n} from './util/chunk.js';\nimport { BigInt64Array, BigUint64Array } from './util/compat.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.js';\n\n// @ts-ignore\nimport type { vectorFromArray } from './factories.js';\n\nexport interface Vector<T extends DataType = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\nconst visitorsByTypeId = {} as { [typeId: number]: { get: any; set: any; indexOf: any; byteLength: any } };\nconst vectorPrototypesByTypeId = {} as { [typeId: number]: any };\n\n/**\n * Array-like data structure. Use the convenience method {@link makeVector} and {@link vectorFromArray} to create vectors.\n */\nexport class Vector<T extends DataType = any> {\n\n constructor(input: readonly (Data<T> | Vector<T>)[]) {\n const data: Data<T>[] = input[0] instanceof Vector\n ? (input as Vector<T>[]).flatMap(x => x.data)\n : input as Data<T>[];\n if (data.length === 0 || data.some((x) => !(x instanceof Data))) {\n throw new TypeError('Vector constructor expects an Array of Data instances.');\n }\n const type = data[0]?.type;\n switch (data.length) {\n case 0: this._offsets = [0]; break;\n case 1: {\n // special case for unchunked vectors\n const { get, set, indexOf, byteLength } = visitorsByTypeId[type.typeId];\n const unchunkedData = data[0];\n\n this.isValid = (index: number) => isChunkedValid(unchunkedData, index);\n this.get = (index: number) => get(unchunkedData, index);\n this.set = (index: number, value: T) => set(unchunkedData, index, value);\n this.indexOf = (index: number) => indexOf(unchunkedData, index);\n this.getByteLength = (index: number) => byteLength(unchunkedData, index);\n this._offsets = [0, unchunkedData.length];\n break;\n }\n default:\n Object.setPrototypeOf(this, vectorPrototypesByTypeId[type.typeId]);\n this._offsets = computeChunkOffsets(data);\n break;\n }\n this.data = data;\n this.type = type;\n this.stride = strideForType(type);\n this.numChildren = type.children?.length ?? 0;\n this.length = this._offsets[this._offsets.length - 1];\n }\n\n declare protected _offsets: number[] | Uint32Array;\n declare protected _nullCount: number;\n declare protected _byteLength: number;\n\n /**\n * The {@link DataType `DataType`} of this Vector.\n */\n public declare readonly type: T;\n\n /**\n * The primitive {@link Data `Data`} instances for this Vector's elements.\n */\n public declare readonly data: ReadonlyArray<Data<T>>;\n\n /**\n * The number of elements in this Vector.\n */\n public declare readonly length: number;\n\n /**\n * The number of primitive values per Vector element.\n */\n public declare readonly stride: number;\n\n /**\n * The number of child Vectors if this Vector is a nested dtype.\n */\n public declare readonly numChildren: number;\n\n /**\n * The aggregate size (in bytes) of this Vector's buffers and/or child Vectors.\n */\n public get byteLength() {\n if (this._byteLength === -1) {\n this._byteLength = this.data.reduce((byteLength, data) => byteLength + data.byteLength, 0);\n }\n return this._byteLength;\n }\n\n /**\n * The number of null elements in this Vector.\n */\n public get nullCount() {\n if (this._nullCount === -1) {\n this._nullCount = computeChunkNullCounts(this.data);\n }\n return this._nullCount;\n }\n\n /**\n * The Array or TypedAray constructor used for the JS representation\n * of the element's values in {@link Vector.prototype.toArray `toArray()`}.\n */\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n /**\n * The name that should be printed when the Vector is logged in a message.\n */\n public get [Symbol.toStringTag]() {\n return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`;\n }\n\n /**\n * The name of this Vector.\n */\n public get VectorName() { return `${Type[this.type.typeId]}Vector`; }\n\n /**\n * Check whether an element is null.\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n public isValid(index: number): boolean { return false; }\n\n /**\n * Get an element value by position.\n * @param index The index of the element to read.\n */\n // @ts-ignore\n public get(index: number): T['TValue'] | null { return null; }\n\n /**\n * Set an element value by position.\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n public set(index: number, value: T['TValue'] | null): void { return; }\n\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n public indexOf(element: T['TValue'], offset?: number): number { return -1; }\n\n public includes(element: T['TValue'], offset?: number): boolean { return this.indexOf(element, offset) > 0; }\n\n /**\n * Get the size in bytes of an element by index.\n * @param index The index at which to get the byteLength.\n */\n // @ts-ignore\n public getByteLength(index: number): number { return 0; }\n\n /**\n * Iterator for the Vector's elements.\n */\n public [Symbol.iterator](): IterableIterator<T['TValue'] | null> {\n return iteratorVisitor.visit(this);\n }\n\n /**\n * Combines two or more Vectors of the same type.\n * @param others Additional Vectors to add to the end of this Vector.\n */\n public concat(...others: Vector<T>[]): Vector<T> {\n return new Vector(this.data.concat(others.flatMap((x) => x.data).flat(Number.POSITIVE_INFINITY)));\n }\n\n /**\n * Return a zero-copy sub-section of this Vector.\n * @param start The beginning of the specified portion of the Vector.\n * @param end The end of the specified portion of the Vector. This is exclusive of the element at the index 'end'.\n */\n public slice(begin?: number, end?: number): Vector<T> {\n return new Vector(clampRange(this, begin, end, ({ data, _offsets }, begin, end) =>\n sliceChunks(data, _offsets, begin, end)\n ));\n }\n\n public toJSON() { return [...this]; }\n\n /**\n * Return a JavaScript Array or TypedArray of the Vector's elements.\n *\n * @note If this Vector contains a single Data chunk and the Vector's type is a\n * primitive numeric type corresponding to one of the JavaScript TypedArrays, this\n * method returns a zero-copy slice of the underlying TypedArray values. If there's\n * more than one chunk, the resulting TypedArray will be a copy of the data from each\n * chunk's underlying TypedArray values.\n *\n * @returns An Array or TypedArray of the Vector's elements, based on the Vector's DataType.\n */\n public toArray(): T['TArray'] {\n const { type, data, length, stride, ArrayType } = this;\n // Fast case, return subarray if possible\n switch (type.typeId) {\n case Type.Int:\n case Type.Float:\n case Type.Decimal:\n case Type.Time:\n case Type.Timestamp:\n switch (data.length) {\n case 0: return new ArrayType();\n case 1: return data[0].values.subarray(0, length * stride);\n default: return data.reduce((memo, { values, length: chunk_length }) => {\n memo.array.set(values.subarray(0, chunk_length * stride), memo.offset);\n memo.offset += chunk_length * stride;\n return memo;\n }, { array: new ArrayType(length * stride), offset: 0 }).array;\n }\n }\n // Otherwise if not primitive, slow copy\n return [...this] as T['TArray'];\n }\n\n /**\n * Returns a string representation of the Vector.\n *\n * @returns A string representation of the Vector.\n */\n public toString() {\n return `[${[...this].join(',')}]`;\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n public getChild<R extends keyof T['TChildren']>(name: R) {\n return this.getChildAt(this.type.children?.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends DataType = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.numChildren) {\n return new Vector(this.data.map(({ children }) => children[index] as Data<R>));\n }\n return null;\n }\n\n public get isMemoized(): boolean {\n if (DataType.isDictionary(this.type)) {\n return this.data[0].dictionary!.isMemoized;\n }\n return false;\n }\n\n /**\n * Adds memoization to the Vector's {@link get} method. For dictionary\n * vectors, this method return a vector that memoizes only the dictionary\n * values.\n *\n * Memoization is very useful when decoding a value is expensive such as\n * Uft8. The memoization creates a cache of the size of the Vector and\n * therfore increases memory usage.\n *\n * @returns A new vector that memoizes calls to {@link get}.\n */\n public memoize(): MemoizedVector<T> {\n if (DataType.isDictionary(this.type)) {\n const dictionary = new MemoizedVector(this.data[0].dictionary!);\n const newData = this.data.map((data) => {\n const cloned = data.clone();\n cloned.dictionary = dictionary;\n return cloned;\n });\n return new Vector(newData);\n }\n return new MemoizedVector(this);\n }\n\n /**\n * Returns a vector without memoization of the {@link get} method. If this\n * vector is not memoized, this method returns this vector.\n *\n * @returns A a vector without memoization.\n */\n public unmemoize(): Vector<T> {\n if (DataType.isDictionary(this.type) && this.isMemoized) {\n const dictionary = this.data[0].dictionary!.unmemoize();\n const newData = this.data.map((data) => {\n const newData = data.clone();\n newData.dictionary = dictionary;\n return newData;\n });\n return new Vector(newData);\n }\n return this;\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: Vector) => {\n (proto as any).type = DataType.prototype;\n (proto as any).data = [];\n (proto as any).length = 0;\n (proto as any).stride = 1;\n (proto as any).numChildren = 0;\n (proto as any)._nullCount = -1;\n (proto as any)._byteLength = -1;\n (proto as any)._offsets = new Uint32Array([0]);\n (proto as any)[Symbol.isConcatSpreadable] = true;\n\n const typeIds: Type[] = Object.keys(Type)\n .map((T: any) => Type[T] as any)\n .filter((T: any) => typeof T === 'number' && T !== Type.NONE);\n\n for (const typeId of typeIds) {\n const get = getVisitor.getVisitFnByTypeId(typeId);\n const set = setVisitor.getVisitFnByTypeId(typeId);\n const indexOf = indexOfVisitor.getVisitFnByTypeId(typeId);\n const byteLength = byteLengthVisitor.getVisitFnByTypeId(typeId);\n\n visitorsByTypeId[typeId] = { get, set, indexOf, byteLength };\n vectorPrototypesByTypeId[typeId] = Object.create(proto, {\n ['isValid']: { value: wrapChunkedCall1(isChunkedValid) },\n ['get']: { value: wrapChunkedCall1(getVisitor.getVisitFnByTypeId(typeId)) },\n ['set']: { value: wrapChunkedCall2(setVisitor.getVisitFnByTypeId(typeId)) },\n ['indexOf']: { value: wrapChunkedIndexOf(indexOfVisitor.getVisitFnByTypeId(typeId)) },\n ['getByteLength']: { value: wrapChunkedCall1(byteLengthVisitor.getVisitFnByTypeId(typeId)) },\n });\n }\n\n return 'Vector';\n })(Vector.prototype);\n}\n\nclass MemoizedVector<T extends DataType = any> extends Vector<T> {\n\n public constructor(vector: Vector<T>) {\n super(vector.data);\n\n const get = this.get;\n const set = this.set;\n const slice = this.slice;\n\n const cache = new Array<T['TValue'] | null>(this.length);\n\n Object.defineProperty(this, 'get', {\n value(index: number) {\n const cachedValue = cache[index];\n if (cachedValue !== undefined) {\n return cachedValue;\n }\n const value = get.call(this, index);\n cache[index] = value;\n return value;\n }\n });\n\n Object.defineProperty(this, 'set', {\n value(index: number, value: T['TValue'] | null) {\n set.call(this, index, value);\n cache[index] = value;\n }\n });\n\n Object.defineProperty(this, 'slice', {\n value: (begin?: number, end?: number) => new MemoizedVector(slice.call(this, begin, end))\n });\n\n Object.defineProperty(this, 'isMemoized', { value: true });\n\n Object.defineProperty(this, 'unmemoize', {\n value: () => new Vector(this.data)\n });\n\n Object.defineProperty(this, 'memoize', {\n value: () => this\n });\n }\n}\n\nimport * as dtypes from './type.js';\n\n/**\n * Creates a Vector without data copies.\n *\n * @example\n * ```ts\n * const vector = makeVector(new Int32Array([1, 2, 3]));\n * ```\n */\nexport function makeVector<T extends TypedArray | BigIntArray>(data: T | readonly T[]): Vector<TypedArrayDataType<T>>;\nexport function makeVector<T extends DataView>(data: T | readonly T[]): Vector<dtypes.Int8>;\nexport function makeVector<T extends DataType>(data: Data<T> | readonly Data<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: Vector<T> | readonly Vector<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: DataProps<T> | readonly DataProps<T>[]): Vector<T>;\n\nexport function makeVector(init: any) {\n if (init) {\n if (init instanceof Data) { return new Vector([init]); }\n if (init instanceof Vector) { return new Vector(init.data); }\n if (init.type instanceof DataType) { return new Vector([makeData(init)]); }\n if (Array.isArray(init)) {\n return new Vector(init.flatMap(v => unwrapInputs(v)));\n }\n if (ArrayBuffer.isView(init)) {\n if (init instanceof DataView) {\n init = new Uint8Array(init.buffer);\n }\n const props = { offset: 0, length: init.length, nullCount: 0, data: init };\n if (init instanceof Int8Array) { return new Vector([makeData({ ...props, type: new dtypes.Int8 })]); }\n if (init instanceof Int16Array) { return new Vector([makeData({ ...props, type: new dtypes.Int16 })]); }\n if (init instanceof Int32Array) { return new Vector([makeData({ ...props, type: new dtypes.Int32 })]); }\n if (init instanceof BigInt64Array) { return new Vector([makeData({ ...props, type: new dtypes.Int64 })]); }\n if (init instanceof Uint8Array || init instanceof Uint8ClampedArray) { return new Vector([makeData({ ...props, type: new dtypes.Uint8 })]); }\n if (init instanceof Uint16Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint16 })]); }\n if (init instanceof Uint32Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint32 })]); }\n if (init instanceof BigUint64Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint64 })]); }\n if (init instanceof Float32Array) { return new Vector([makeData({ ...props, type: new dtypes.Float32 })]); }\n if (init instanceof Float64Array) { return new Vector([makeData({ ...props, type: new dtypes.Float64 })]); }\n throw new Error('Unrecognized input');\n }\n }\n throw new Error('Unrecognized input');\n}\n\nfunction unwrapInputs(x: any) {\n return x instanceof Data ? [x] : (x instanceof Vector ? x.data : makeVector(x).data);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector.js';\nimport { BufferType, Type } from './enum.js';\nimport { DataType, strideForType } from './type.js';\nimport { popcnt_bit_range, truncateBitmap } from './util/bit.js';\n\n// When slicing, we do not know the null count of the sliced range without\n// doing some computation. To avoid doing this eagerly, we set the null count\n// to -1 (any negative number will do). When Vector.nullCount is called the\n// first time, the null count will be computed. See ARROW-33\n/** @ignore */ export type kUnknownNullCount = -1;\n/** @ignore */ export const kUnknownNullCount = -1;\n\n/** @ignore */ export type NullBuffer = Uint8Array | null | undefined;\n/** @ignore */ export type TypeIdsBuffer = Int8Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type ValueOffsetsBuffer = Int32Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type DataBuffer<T extends DataType> = T['TArray'] | ArrayLike<number> | Iterable<number> | undefined;\n\n/** @ignore */\nexport interface Buffers<T extends DataType> {\n [BufferType.OFFSET]: Int32Array;\n [BufferType.DATA]: T['TArray'];\n [BufferType.VALIDITY]: Uint8Array;\n [BufferType.TYPE]: T['TArray'];\n}\n\n/** @ignore */\nexport interface Data<T extends DataType = DataType> {\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\n/**\n * Data structure underlying {@link Vector}s. Use the convenience method {@link makeData}.\n */\nexport class Data<T extends DataType = DataType> {\n\n declare public readonly type: T;\n declare public readonly length: number;\n declare public readonly offset: number;\n declare public readonly stride: number;\n declare public readonly nullable: boolean;\n declare public readonly children: Data[];\n\n /**\n * The dictionary for this Vector, if any. Only used for Dictionary type.\n */\n declare public dictionary?: Vector;\n\n declare public readonly values: Buffers<T>[BufferType.DATA];\n declare public readonly typeIds: Buffers<T>[BufferType.TYPE];\n declare public readonly nullBitmap: Buffers<T>[BufferType.VALIDITY];\n declare public readonly valueOffsets: Buffers<T>[BufferType.OFFSET];\n\n public get typeId(): T['TType'] { return this.type.typeId; }\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n public get buffers() {\n return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds] as Buffers<T>;\n }\n public get byteLength(): number {\n let byteLength = 0;\n const { valueOffsets, values, nullBitmap, typeIds } = this;\n valueOffsets && (byteLength += valueOffsets.byteLength);\n values && (byteLength += values.byteLength);\n nullBitmap && (byteLength += nullBitmap.byteLength);\n typeIds && (byteLength += typeIds.byteLength);\n return this.children.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n }\n\n protected _nullCount: number | kUnknownNullCount;\n\n public get nullCount() {\n let nullCount = this._nullCount;\n let nullBitmap: Uint8Array | undefined;\n if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n this._nullCount = nullCount = this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n }\n return nullCount;\n }\n\n constructor(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial<Buffers<T>> | Data<T>, children: Data[] = [], dictionary?: Vector) {\n this.type = type;\n this.children = children;\n this.dictionary = dictionary;\n this.offset = Math.floor(Math.max(offset || 0, 0));\n this.length = Math.floor(Math.max(length || 0, 0));\n this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n let buffer: Buffers<T>[keyof Buffers<T>];\n if (buffers instanceof Data) {\n this.stride = buffers.stride;\n this.values = buffers.values;\n this.typeIds = buffers.typeIds;\n this.nullBitmap = buffers.nullBitmap;\n this.valueOffsets = buffers.valueOffsets;\n } else {\n this.stride = strideForType(type);\n if (buffers) {\n (buffer = (buffers as Buffers<T>)[0]) && (this.valueOffsets = buffer);\n (buffer = (buffers as Buffers<T>)[1]) && (this.values = buffer);\n (buffer = (buffers as Buffers<T>)[2]) && (this.nullBitmap = buffer);\n (buffer = (buffers as Buffers<T>)[3]) && (this.typeIds = buffer);\n }\n }\n this.nullable = this._nullCount !== 0 && this.nullBitmap && this.nullBitmap.byteLength > 0;\n }\n\n public getValid(index: number) {\n if (this.nullable && this.nullCount > 0) {\n const pos = this.offset + index;\n const val = this.nullBitmap[pos >> 3];\n return (val & (1 << (pos % 8))) !== 0;\n }\n return true;\n }\n\n public setValid(index: number, value: boolean) {\n // Don't interact w/ nullBitmap if not nullable\n if (!this.nullable) { return value; }\n // If no null bitmap, initialize one on the fly\n if (!this.nullBitmap || this.nullBitmap.byteLength <= (index >> 3)) {\n const { nullBitmap } = this._changeLengthAndBackfillNullBitmap(this.length);\n Object.assign(this, { nullBitmap, _nullCount: 0 });\n }\n const { nullBitmap, offset } = this;\n const pos = (offset + index) >> 3;\n const bit = (offset + index) % 8;\n const val = (nullBitmap[pos] >> bit) & 1;\n // If `val` is truthy and the current bit is 0, flip it to 1 and increment `_nullCount`.\n // If `val` is falsey and the current bit is 1, flip it to 0 and decrement `_nullCount`.\n value ? val === 0 && ((nullBitmap[pos] |= (1 << bit)), (this._nullCount = this.nullCount + 1))\n : val === 1 && ((nullBitmap[pos] &= ~(1 << bit)), (this._nullCount = this.nullCount - 1));\n return value;\n }\n\n public clone<R extends DataType = T>(type: R = this.type as any, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers: Buffers<R> = <any>this, children: Data[] = this.children) {\n return new Data(type, offset, length, nullCount, buffers, children, this.dictionary);\n }\n\n public slice(offset: number, length: number): Data<T> {\n const { stride, typeId, children } = this;\n // +true === 1, +false === 0, so this means\n // we keep nullCount at 0 if it's already 0,\n // otherwise set to the invalidated flag -1\n const nullCount = +(this._nullCount === 0) - 1;\n const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n const buffers = this._sliceBuffers(offset, length, stride, typeId);\n return this.clone<T>(this.type, this.offset + offset, length, nullCount, buffers,\n // Don't slice children if we have value offsets (the variable-width types)\n (children.length === 0 || this.valueOffsets) ? children : this._sliceChildren(children, childStride * offset, childStride * length));\n }\n\n public _changeLengthAndBackfillNullBitmap(newLength: number): Data<T> {\n if (this.typeId === Type.Null) {\n return this.clone(this.type, 0, newLength, 0);\n }\n const { length, nullCount } = this;\n // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (nullCount > 0) {\n bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n }\n const buffers = this.buffers;\n buffers[BufferType.VALIDITY] = bitmap;\n return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);\n }\n\n protected _sliceBuffers(offset: number, length: number, stride: number, typeId: T['TType']): Buffers<T> {\n let arr: any;\n const { buffers } = this;\n // If typeIds exist, slice the typeIds buffer\n (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n // If offsets exist, only slice the offsets buffer\n (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n return buffers;\n }\n\n protected _sliceChildren(children: Data[], offset: number, length: number): Data[] {\n return children.map((child) => child.slice(offset, length));\n }\n}\n\n(Data.prototype as any).children = Object.freeze([]);\n\nimport {\n Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float,\n Int,\n Date_,\n Interval,\n Time,\n Timestamp,\n Union, DenseUnion, SparseUnion,\n} from './type.js';\n\nimport { Visitor } from './visitor.js';\nimport { toArrayBufferView, toInt32Array, toUint8Array } from './util/buffer.js';\n\nclass MakeDataVisitor extends Visitor {\n public visit<T extends DataType>(props: any): Data<T> {\n return this.getVisitFn(props['type']).call(this, props);\n }\n public visitNull<T extends Null>(props: NullDataProps<T>) {\n const {\n ['type']: type,\n ['offset']: offset = 0,\n ['length']: length = 0,\n } = props;\n return new Data(type, offset, length, 0);\n }\n public visitBool<T extends Bool>(props: BoolDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length >> 3, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitInt<T extends Int>(props: IntDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitFloat<T extends Float>(props: FloatDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitUtf8<T extends Utf8>(props: Utf8DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitBinary<T extends Binary>(props: BinaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitFixedSizeBinary<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitDate<T extends Date_>(props: Date_DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitTimestamp<T extends Timestamp>(props: TimestampDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitTime<T extends Time>(props: TimeDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitDecimal<T extends Decimal>(props: DecimalDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitList<T extends List>(props: ListDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n public visitStruct<T extends Struct>(props: StructDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const {\n length = children.reduce((len, { length }) => Math.max(len, length), 0),\n nullCount = props['nullBitmap'] ? -1 : 0\n } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], children);\n }\n public visitUnion<T extends Union>(props: UnionDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const typeIds = toArrayBufferView(type.ArrayType, props['typeIds']);\n const { ['length']: length = typeIds.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n if (DataType.isSparseUnion(type)) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap, typeIds], children);\n }\n const valueOffsets = toInt32Array(props['valueOffsets']);\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap, typeIds], children);\n }\n public visitDictionary<T extends Dictionary>(props: DictionaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.indices.ArrayType, props['data']);\n const { ['dictionary']: dictionary = new Vector([new MakeDataVisitor().visit({ type: type.dictionary })]) } = props;\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap], [], dictionary);\n }\n public visitInterval<T extends Interval>(props: IntervalDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitFixedSizeList<T extends FixedSizeList>(props: FixedSizeListDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.valueType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const { ['length']: length = child.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], [child]);\n }\n public visitMap<T extends Map_>(props: Map_DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.childType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n}\n\n/** @ignore */\ninterface DataProps_<T extends DataType> {\n type: T;\n offset?: number;\n length?: number;\n nullCount?: number;\n nullBitmap?: NullBuffer;\n}\n\ninterface NullDataProps<T extends Null> { type: T; offset?: number; length?: number }\ninterface IntDataProps<T extends Int> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DictionaryDataProps<T extends Dictionary> extends DataProps_<T> { data?: DataBuffer<T>; dictionary?: Vector<T['dictionary']> }\ninterface FloatDataProps<T extends Float> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BoolDataProps<T extends Bool> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DecimalDataProps<T extends Decimal> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface Date_DataProps<T extends Date_> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimeDataProps<T extends Time> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimestampDataProps<T extends Timestamp> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface IntervalDataProps<T extends Interval> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface FixedSizeBinaryDataProps<T extends FixedSizeBinary> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BinaryDataProps<T extends Binary> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface Utf8DataProps<T extends Utf8> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface ListDataProps<T extends List> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data<T['valueType']> }\ninterface FixedSizeListDataProps<T extends FixedSizeList> extends DataProps_<T> { child: Data<T['valueType']> }\ninterface StructDataProps<T extends Struct> extends DataProps_<T> { children: Data[] }\ninterface Map_DataProps<T extends Map_> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data }\ninterface SparseUnionDataProps<T extends SparseUnion> extends DataProps_<T> { typeIds: TypeIdsBuffer; children: Data[] }\ninterface DenseUnionDataProps<T extends DenseUnion> extends DataProps_<T> { typeIds: TypeIdsBuffer; children: Data[]; valueOffsets: ValueOffsetsBuffer }\ninterface UnionDataProps<T extends Union> extends DataProps_<T> { typeIds: TypeIdsBuffer; children: Data[]; valueOffsets?: ValueOffsetsBuffer }\n\nexport type DataProps<T extends DataType> = (\n T extends Null /* */ ? NullDataProps<T> :\n T extends Int /* */ ? IntDataProps<T> :\n T extends Dictionary /* */ ? DictionaryDataProps<T> :\n T extends Float /* */ ? FloatDataProps<T> :\n T extends Bool /* */ ? BoolDataProps<T> :\n T extends Decimal /* */ ? DecimalDataProps<T> :\n T extends Date_ /* */ ? Date_DataProps<T> :\n T extends Time /* */ ? TimeDataProps<T> :\n T extends Timestamp /* */ ? TimestampDataProps<T> :\n T extends Interval /* */ ? IntervalDataProps<T> :\n T extends FixedSizeBinary /* */ ? FixedSizeBinaryDataProps<T> :\n T extends Binary /* */ ? BinaryDataProps<T> :\n T extends Utf8 /* */ ? Utf8DataProps<T> :\n T extends List /* */ ? ListDataProps<T> :\n T extends FixedSizeList /* */ ? FixedSizeListDataProps<T> :\n T extends Struct /* */ ? StructDataProps<T> :\n T extends Map_ /* */ ? Map_DataProps<T> :\n T extends SparseUnion /* */ ? SparseUnionDataProps<T> :\n T extends DenseUnion /* */ ? DenseUnionDataProps<T> :\n T extends Union /* */ ? UnionDataProps<T> :\n /* */ DataProps_<T>\n);\n\nexport function makeData<T extends Null>(props: NullDataProps<T>): Data<T>;\nexport function makeData<T extends Int>(props: IntDataProps<T>): Data<T>;\nexport function makeData<T extends Dictionary>(props: DictionaryDataProps<T>): Data<T>;\nexport function makeData<T extends Float>(props: FloatDataProps<T>): Data<T>;\nexport function makeData<T extends Bool>(props: BoolDataProps<T>): Data<T>;\nexport function makeData<T extends Decimal>(props: DecimalDataProps<T>): Data<T>;\nexport function makeData<T extends Date_>(props: Date_DataProps<T>): Data<T>;\nexport function makeData<T extends Time>(props: TimeDataProps<T>): Data<T>;\nexport function makeData<T extends Timestamp>(props: TimestampDataProps<T>): Data<T>;\nexport function makeData<T extends Interval>(props: IntervalDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>): Data<T>;\nexport function makeData<T extends Binary>(props: BinaryDataProps<T>): Data<T>;\nexport function makeData<T extends Utf8>(props: Utf8DataProps<T>): Data<T>;\nexport function makeData<T extends List>(props: ListDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeList>(props: FixedSizeListDataProps<T>): Data<T>;\nexport function makeData<T extends Struct>(props: StructDataProps<T>): Data<T>;\nexport function makeData<T extends Map_>(props: Map_DataProps<T>): Data<T>;\nexport function makeData<T extends SparseUnion>(props: SparseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends DenseUnion>(props: DenseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends Union>(props: UnionDataProps<T>): Data<T>;\nexport function makeData<T extends DataType>(props: DataProps_<T>): Data<T>;\nexport function makeData(props: any) {\n return new MakeDataVisitor().visit(props);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType, TypeMap } from './type.js';\n\nexport class Schema<T extends TypeMap = any> {\n\n public readonly fields: Field<T[keyof T]>[];\n public readonly metadata: Map<string, string>;\n public readonly dictionaries: Map<number, DataType>;\n\n constructor(\n fields: Field<T[keyof T]>[] = [],\n metadata?: Map<string, string> | null,\n dictionaries?: Map<number, DataType> | null) {\n this.fields = (fields || []) as Field<T[keyof T]>[];\n this.metadata = metadata || new Map();\n if (!dictionaries) {\n dictionaries = generateDictionaryMap(fields);\n }\n this.dictionaries = dictionaries;\n }\n public get [Symbol.toStringTag]() { return 'Schema'; }\n\n public get names(): (keyof T)[] { return this.fields.map((f) => f.name); }\n\n public toString() {\n return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n }\n\n /**\n * Construct a new Schema containing only specified fields.\n *\n * @param fieldNames Names of fields to keep.\n * @returns A new Schema of fields matching the specified names.\n */\n public select<K extends keyof T = any>(fieldNames: K[]) {\n const names = new Set<string | K>(fieldNames);\n const fields = this.fields.filter((f) => names.has(f.name)) as Field<T[K]>[];\n return new Schema<{ [P in K]: T[P] }>(fields, this.metadata);\n }\n\n /**\n * Construct a new Schema containing only fields at the specified indices.\n *\n * @param fieldIndices Indices of fields to keep.\n * @returns A new Schema of fields at the specified indices.\n */\n public selectAt<K extends T = any>(fieldIndices: number[]) {\n const fields = fieldIndices.map((i) => this.fields[i]).filter(Boolean) as Field<K[keyof K]>[];\n return new Schema<K>(fields, this.metadata);\n }\n\n public assign<R extends TypeMap = any>(schema: Schema<R>): Schema<T & R>;\n public assign<R extends TypeMap = any>(...fields: (Field<R[keyof R]> | Field<R[keyof R]>[])[]): Schema<T & R>;\n public assign<R extends TypeMap = any>(...args: (Schema<R> | Field<R[keyof R]> | Field<R[keyof R]>[])[]) {\n\n const other = (args[0] instanceof Schema\n ? args[0] as Schema<R>\n : Array.isArray(args[0])\n ? new Schema<R>(<Field<R[keyof R]>[]>args[0])\n : new Schema<R>(<Field<R[keyof R]>[]>args));\n\n const curFields = [...this.fields] as Field[];\n const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n const newFields = other.fields.filter((f2) => {\n const i = curFields.findIndex((f) => f.name === f2.name);\n return ~i ? (curFields[i] = f2.clone({\n metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n })) && false : true;\n }) as Field[];\n\n const newDictionaries = generateDictionaryMap(newFields, new Map());\n\n return new Schema<T & R>(\n [...curFields, ...newFields], metadata,\n new Map([...this.dictionaries, ...newDictionaries])\n );\n }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Schema.prototype as any).fields = <any>null;\n(Schema.prototype as any).metadata = <any>null;\n(Schema.prototype as any).dictionaries = <any>null;\n\nexport class Field<T extends DataType = any> {\n\n public static new<T extends DataType = any>(props: { name: string | number; type: T; nullable?: boolean; metadata?: Map<string, string> | null }): Field<T>;\n public static new<T extends DataType = any>(name: string | number | Field<T>, type: T, nullable?: boolean, metadata?: Map<string, string> | null): Field<T>;\n /** @nocollapse */\n public static new<T extends DataType = any>(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n if (args[0] && typeof args[0] === 'object') {\n ({ name } = args[0]);\n (type === undefined) && (type = args[0].type);\n (nullable === undefined) && (nullable = args[0].nullable);\n (metadata === undefined) && (metadata = args[0].metadata);\n }\n return new Field<T>(`${name}`, type, nullable, metadata);\n }\n\n public readonly type: T;\n public readonly name: string;\n public readonly nullable: boolean;\n public readonly metadata: Map<string, string>;\n\n constructor(name: string, type: T, nullable = false, metadata?: Map<string, string> | null) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata || new Map();\n }\n\n public get typeId() { return this.type.typeId; }\n public get [Symbol.toStringTag]() { return 'Field'; }\n public toString() { return `${this.name}: ${this.type}`; }\n public clone<R extends DataType = T>(props: { name?: string | number; type?: R; nullable?: boolean; metadata?: Map<string, string> | null }): Field<R>;\n public clone<R extends DataType = T>(name?: string | number | Field<T>, type?: R, nullable?: boolean, metadata?: Map<string, string> | null): Field<R>;\n public clone<R extends DataType = T>(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n (!args[0] || typeof args[0] !== 'object')\n ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n : ({ name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata } = args[0]);\n return Field.new<R>(name, type, nullable, metadata);\n }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Field.prototype as any).type = null;\n(Field.prototype as any).name = null;\n(Field.prototype as any).nullable = null;\n(Field.prototype as any).metadata = null;\n\n/** @ignore */\nfunction mergeMaps<TKey, TVal>(m1?: Map<TKey, TVal> | null, m2?: Map<TKey, TVal> | null): Map<TKey, TVal> {\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n\n/** @ignore */\nfunction generateDictionaryMap(fields: Field[], dictionaries = new Map<number, DataType>()): Map<number, DataType> {\n\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n dictionaries.set(type.id, type.dictionary);\n } else if (dictionaries.get(type.id) !== type.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n generateDictionaryMap(type.children, dictionaries);\n }\n }\n\n return dictionaries;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Vector } from '../vector.js';\nimport { Visitor } from '../visitor.js';\nimport { Schema, Field } from '../schema.js';\nimport {\n DataType, TypeMap, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type.js';\n\n/** @ignore */\nexport interface TypeComparator extends Visitor {\n visit<T extends DataType>(type: T, other?: DataType | null): other is T;\n visitMany<T extends DataType>(nodes: T[], others?: DataType[] | null): boolean[];\n getVisitFn<T extends DataType>(node: Vector<T> | Data<T> | T): (other?: DataType | null) => other is T;\n visitNull<T extends Null>(type: T, other?: DataType | null): other is T;\n visitBool<T extends Bool>(type: T, other?: DataType | null): other is T;\n visitInt<T extends Int>(type: T, other?: DataType | null): other is T;\n visitInt8<T extends Int8>(type: T, other?: DataType | null): other is T;\n visitInt16<T extends Int16>(type: T, other?: DataType | null): other is T;\n visitInt32<T extends Int32>(type: T, other?: DataType | null): other is T;\n visitInt64<T extends Int64>(type: T, other?: DataType | null): other is T;\n visitUint8<T extends Uint8>(type: T, other?: DataType | null): other is T;\n visitUint16<T extends Uint16>(type: T, other?: DataType | null): other is T;\n visitUint32<T extends Uint32>(type: T, other?: DataType | null): other is T;\n visitUint64<T extends Uint64>(type: T, other?: DataType | null): other is T;\n visitFloat<T extends Float>(type: T, other?: DataType | null): other is T;\n visitFloat16<T extends Float16>(type: T, other?: DataType | null): other is T;\n visitFloat32<T extends Float32>(type: T, other?: DataType | null): other is T;\n visitFloat64<T extends Float64>(type: T, other?: DataType | null): other is T;\n visitUtf8<T extends Utf8>(type: T, other?: DataType | null): other is T;\n visitBinary<T extends Binary>(type: T, other?: DataType | null): other is T;\n visitFixedSizeBinary<T extends FixedSizeBinary>(type: T, other?: DataType | null): other is T;\n visitDate<T extends Date_>(type: T, other?: DataType | null): other is T;\n visitDateDay<T extends DateDay>(type: T, other?: DataType | null): other is T;\n visitDateMillisecond<T extends DateMillisecond>(type: T, other?: DataType | null): other is T;\n visitTimestamp<T extends Timestamp>(type: T, other?: DataType | null): other is T;\n visitTimestampSecond<T extends TimestampSecond>(type: T, other?: DataType | null): other is T;\n visitTimestampMillisecond<T extends TimestampMillisecond>(type: T, other?: DataType | null): other is T;\n visitTimestampMicrosecond<T extends TimestampMicrosecond>(type: T, other?: DataType | null): other is T;\n visitTimestampNanosecond<T extends TimestampNanosecond>(type: T, other?: DataType | null): other is T;\n visitTime<T extends Time>(type: T, other?: DataType | null): other is T;\n visitTimeSecond<T extends TimeSecond>(type: T, other?: DataType | null): other is T;\n visitTimeMillisecond<T extends TimeMillisecond>(type: T, other?: DataType | null): other is T;\n visitTimeMicrosecond<T extends TimeMicrosecond>(type: T, other?: DataType | null): other is T;\n visitTimeNanosecond<T extends TimeNanosecond>(type: T, other?: DataType | null): other is T;\n visitDecimal<T extends Decimal>(type: T, other?: DataType | null): other is T;\n visitList<T extends List>(type: T, other?: DataType | null): other is T;\n visitStruct<T extends Struct>(type: T, other?: DataType | null): other is T;\n visitUnion<T extends Union>(type: T, other?: DataType | null): other is T;\n visitDenseUnion<T extends DenseUnion>(type: T, other?: DataType | null): other is T;\n visitSparseUnion<T extends SparseUnion>(type: T, other?: DataType | null): other is T;\n visitDictionary<T extends Dictionary>(type: T, other?: DataType | null): other is T;\n visitInterval<T extends Interval>(type: T, other?: DataType | null): other is T;\n visitIntervalDayTime<T extends IntervalDayTime>(type: T, other?: DataType | null): other is T;\n visitIntervalYearMonth<T extends IntervalYearMonth>(type: T, other?: DataType | null): other is T;\n visitFixedSizeList<T extends FixedSizeList>(type: T, other?: DataType | null): other is T;\n visitMap<T extends Map_>(type: T, other?: DataType | null): other is T;\n}\n\n/** @ignore */\nexport class TypeComparator extends Visitor {\n compareSchemas<T extends TypeMap>(schema: Schema<T>, other?: Schema | null): other is Schema<T> {\n return (schema === other) || (\n other instanceof schema.constructor &&\n this.compareManyFields(schema.fields, other.fields)\n );\n }\n compareManyFields<T extends TypeMap>(fields: Field<T[keyof T]>[], others?: Field[] | null): others is Field<T[keyof T]>[] {\n return (fields === others) || (\n Array.isArray(fields) &&\n Array.isArray(others) &&\n fields.length === others.length &&\n fields.every((f, i) => this.compareFields(f, others[i]))\n );\n }\n compareFields<T extends DataType = any>(field: Field<T>, other?: Field | null): other is Field<T> {\n return (field === other) || (\n other instanceof field.constructor &&\n field.name === other.name &&\n field.nullable === other.nullable &&\n this.visit(field.type, other.type)\n );\n }\n}\n\nfunction compareConstructor<T extends DataType>(type: T, other?: DataType | null): other is T {\n return other instanceof type.constructor;\n}\n\nfunction compareAny<T extends DataType>(type: T, other?: DataType | null): other is T {\n return (type === other) || compareConstructor(type, other);\n}\n\nfunction compareInt<T extends Int>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.bitWidth === other.bitWidth &&\n type.isSigned === other.isSigned\n );\n}\n\nfunction compareFloat<T extends Float>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.precision === other.precision\n );\n}\n\nfunction compareFixedSizeBinary<T extends FixedSizeBinary>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.byteWidth === other.byteWidth\n );\n}\n\nfunction compareDate<T extends Date_>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareTimestamp<T extends Timestamp>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.timezone === other.timezone\n );\n}\n\nfunction compareTime<T extends Time>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.bitWidth === other.bitWidth\n );\n}\n\nfunction compareList<T extends List>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children)\n );\n}\n\nfunction compareStruct<T extends Struct>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children)\n );\n}\n\nfunction compareUnion<T extends Union>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.mode === other.mode &&\n type.typeIds.every((x, i) => x === other.typeIds[i]) &&\n instance.compareManyFields(type.children, other.children)\n );\n}\n\nfunction compareDictionary<T extends Dictionary>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.id === other.id &&\n type.isOrdered === other.isOrdered &&\n instance.visit(<any>type.indices, other.indices) &&\n instance.visit(type.dictionary, other.dictionary)\n );\n}\n\nfunction compareInterval<T extends Interval>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareFixedSizeList<T extends FixedSizeList>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.listSize === other.listSize &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children)\n );\n}\n\nfunction compareMap<T extends Map_>(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.keysSorted === other.keysSorted &&\n type.children.length === other.children.length &&\n instance.compareManyFields(type.children, other.children)\n );\n}\n\nTypeComparator.prototype.visitNull = compareAny;\nTypeComparator.prototype.visitBool = compareAny;\nTypeComparator.prototype.visitInt = compareInt;\nTypeComparator.prototype.visitInt8 = compareInt;\nTypeComparator.prototype.visitInt16 = compareInt;\nTypeComparator.prototype.visitInt32 = compareInt;\nTypeComparator.prototype.visitInt64 = compareInt;\nTypeComparator.prototype.visitUint8 = compareInt;\nTypeComparator.prototype.visitUint16 = compareInt;\nTypeComparator.prototype.visitUint32 = compareInt;\nTypeComparator.prototype.visitUint64 = compareInt;\nTypeComparator.prototype.visitFloat = compareFloat;\nTypeComparator.prototype.visitFloat16 = compareFloat;\nTypeComparator.prototype.visitFloat32 = compareFloat;\nTypeComparator.prototype.visitFloat64 = compareFloat;\nTypeComparator.prototype.visitUtf8 = compareAny;\nTypeComparator.prototype.visitBinary = compareAny;\nTypeComparator.prototype.visitFixedSizeBinary = compareFixedSizeBinary;\nTypeComparator.prototype.visitDate = compareDate;\nTypeComparator.prototype.visitDateDay = compareDate;\nTypeComparator.prototype.visitDateMillisecond = compareDate;\nTypeComparator.prototype.visitTimestamp = compareTimestamp;\nTypeComparator.prototype.visitTimestampSecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMillisecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMicrosecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampNanosecond = compareTimestamp;\nTypeComparator.prototype.visitTime = compareTime;\nTypeComparator.prototype.visitTimeSecond = compareTime;\nTypeComparator.prototype.visitTimeMillisecond = compareTime;\nTypeComparator.prototype.visitTimeMicrosecond = compareTime;\nTypeComparator.prototype.visitTimeNanosecond = compareTime;\nTypeComparator.prototype.visitDecimal = compareAny;\nTypeComparator.prototype.visitList = compareList;\nTypeComparator.prototype.visitStruct = compareStruct;\nTypeComparator.prototype.visitUnion = compareUnion;\nTypeComparator.prototype.visitDenseUnion = compareUnion;\nTypeComparator.prototype.visitSparseUnion = compareUnion;\nTypeComparator.prototype.visitDictionary = compareDictionary;\nTypeComparator.prototype.visitInterval = compareInterval;\nTypeComparator.prototype.visitIntervalDayTime = compareInterval;\nTypeComparator.prototype.visitIntervalYearMonth = compareInterval;\nTypeComparator.prototype.visitFixedSizeList = compareFixedSizeList;\nTypeComparator.prototype.visitMap = compareMap;\n\n/** @ignore */\nexport const instance = new TypeComparator();\n\nexport function compareSchemas<T extends TypeMap>(schema: Schema<T>, other?: Schema | null): other is Schema<T> {\n return instance.compareSchemas(schema, other);\n}\n\nexport function compareFields<T extends DataType = any>(field: Field<T>, other?: Field | null): other is Field<T> {\n return instance.compareFields(field, other);\n}\n\nexport function compareTypes<A extends DataType = any>(type: A, other?: DataType): other is A {\n return instance.visit(type, other);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data, makeData } from './data.js';\nimport { Table } from './table.js';\nimport { Vector } from './vector.js';\nimport { Schema, Field } from './schema.js';\nimport { DataType, Struct, Null, TypeMap } from './type.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.js';\n\n/** @ignore */\nexport interface RecordBatch<T extends TypeMap = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: Struct<T>;\n readonly TArray: Struct<T>['TArray'];\n readonly TValue: Struct<T>['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\n/** @ignore */\nexport class RecordBatch<T extends TypeMap = any> {\n\n constructor(columns: { [P in keyof T]: Data<T[P]> });\n constructor(schema: Schema<T>, data?: Data<Struct<T>>);\n constructor(...args: any[]) {\n switch (args.length) {\n case 2: {\n [this.schema] = args;\n if (!(this.schema instanceof Schema)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [,\n this.data = makeData({\n nullCount: 0,\n type: new Struct<T>(this.schema.fields),\n children: this.schema.fields.map((f) => makeData({ type: f.type, nullCount: 0 }))\n })\n ] = args;\n if (!(this.data instanceof Data)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [this.schema, this.data] = ensureSameLengthData<T>(this.schema, this.data.children as Data<T[keyof T]>[]);\n break;\n }\n case 1: {\n const [obj] = args;\n const { fields, children, length } = Object.keys(obj).reduce((memo, name, i) => {\n memo.children[i] = obj[name];\n memo.length = Math.max(memo.length, obj[name].length);\n memo.fields[i] = Field.new({ name, type: obj[name].type, nullable: true });\n return memo;\n }, {\n length: 0,\n fields: new Array<Field<T[keyof T]>>(),\n children: new Array<Data<T[keyof T]>>(),\n });\n\n const schema = new Schema<T>(fields);\n const data = makeData({ type: new Struct<T>(fields), length, children, nullCount: 0 });\n [this.schema, this.data] = ensureSameLengthData<T>(schema, data.children as Data<T[keyof T]>[], length);\n break;\n }\n default: throw new TypeError('RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.');\n }\n }\n\n protected _dictionaries?: Map<number, Vector>;\n\n public readonly schema: Schema<T>;\n public readonly data: Data<Struct<T>>;\n\n public get dictionaries() {\n return this._dictionaries || (this._dictionaries = collectDictionaries(this.schema.fields, this.data.children));\n }\n\n /**\n * The number of columns in this RecordBatch.\n */\n public get numCols() { return this.schema.fields.length; }\n\n /**\n * The number of rows in this RecordBatch.\n */\n public get numRows() { return this.data.length; }\n\n /**\n * The number of null rows in this RecordBatch.\n */\n public get nullCount() {\n return this.data.nullCount;\n }\n\n /**\n * Check whether an element is null.\n * @param index The index at which to read the validity bitmap.\n */\n public isValid(index: number) {\n return this.data.getValid(index);\n }\n\n /**\n * Get a row by position.\n * @param index The index of the element to read.\n */\n public get(index: number) {\n return getVisitor.visit(this.data, index);\n }\n\n /**\n * Set a row by position.\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n public set(index: number, value: Struct<T>['TValue']) {\n return setVisitor.visit(this.data, index, value);\n }\n\n /**\n * Retrieve the index of the first occurrence of a row in an RecordBatch.\n * @param element The row to locate in the RecordBatch.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n public indexOf(element: Struct<T>['TValue'], offset?: number): number {\n return indexOfVisitor.visit(this.data, element, offset);\n }\n\n /**\n * Get the size (in bytes) of a row by index.\n * @param index The row index for which to compute the byteLength.\n */\n public getByteLength(index: number): number {\n return byteLengthVisitor.visit(this.data, index);\n }\n\n /**\n * Iterator for rows in this RecordBatch.\n */\n public [Symbol.iterator]() {\n return iteratorVisitor.visit(new Vector([this.data])) as IterableIterator<Struct<T>['TValue']>;\n }\n\n /**\n * Return a JavaScript Array of the RecordBatch rows.\n * @returns An Array of RecordBatch rows.\n */\n public toArray() {\n return [...this];\n }\n\n /**\n * Combines two or more RecordBatch of the same schema.\n * @param others Additional RecordBatch to add to the end of this RecordBatch.\n */\n public concat(...others: RecordBatch<T>[]) {\n return new Table(this.schema, [this, ...others]);\n }\n\n /**\n * Return a zero-copy sub-section of this RecordBatch.\n * @param start The beginning of the specified portion of the RecordBatch.\n * @param end The end of the specified portion of the RecordBatch. This is exclusive of the element at the index 'end'.\n */\n public slice(begin?: number, end?: number): RecordBatch<T> {\n const [slice] = new Vector([this.data]).slice(begin, end).data;\n return new RecordBatch(this.schema, slice);\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n public getChild<P extends keyof T>(name: P) {\n return this.getChildAt<T[P]>(this.schema.fields?.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends DataType = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.schema.fields.length) {\n return new Vector([this.data.children[index]]) as Vector<R>;\n }\n return null;\n }\n\n /**\n * Sets a child Vector by name.\n * @param name The name of the child to overwrite.\n * @returns A new RecordBatch with the new child for the specified name.\n */\n public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as RecordBatch<T & { [K in P]: R }>;\n }\n\n /**\n * Sets a child Vector by index.\n * @param index The index of the child to overwrite.\n * @returns A new RecordBatch with the new child at the specified index.\n */\n public setChildAt(index: number, child?: null): RecordBatch;\n public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): RecordBatch;\n public setChildAt(index: number, child: any) {\n let schema: Schema = this.schema;\n let data: Data<Struct> = this.data;\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice() as Field<any>[];\n const children = data.children.slice() as Data<any>[];\n const field = fields[index].clone({ type: child.type });\n [fields[index], children[index]] = [field, child.data[0]];\n schema = new Schema(fields, new Map(this.schema.metadata));\n data = makeData({ type: new Struct<T>(fields), children });\n }\n return new RecordBatch(schema, data);\n }\n\n /**\n * Construct a new RecordBatch containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new RecordBatch of columns matching the specified names.\n */\n public select<K extends keyof T = any>(columnNames: K[]) {\n const schema = this.schema.select(columnNames);\n const type = new Struct(schema.fields);\n const children = [] as Data<T[K]>[];\n for (const name of columnNames) {\n const index = this.schema.fields.findIndex((f) => f.name === name);\n if (~index) {\n children[index] = this.data.children[index] as Data<T[K]>;\n }\n }\n return new RecordBatch(schema, makeData({ type, length: this.numRows, children }));\n }\n\n /**\n * Construct a new RecordBatch containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new RecordBatch of columns matching at the specified indices.\n */\n public selectAt<K extends T = any>(columnIndices: number[]) {\n const schema = this.schema.selectAt<K>(columnIndices);\n const children = columnIndices.map((i) => this.data.children[i]).filter(Boolean);\n const subset = makeData({ type: new Struct(schema.fields), length: this.numRows, children });\n return new RecordBatch<{ [P in keyof K]: K[P] }>(schema, subset);\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: RecordBatch) => {\n (proto as any)._nullCount = -1;\n (proto as any)[Symbol.isConcatSpreadable] = true;\n return 'RecordBatch';\n })(RecordBatch.prototype);\n}\n\n\n/** @ignore */\nfunction ensureSameLengthData<T extends TypeMap = any>(\n schema: Schema<T>,\n chunks: Data<T[keyof T]>[],\n maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)\n) {\n const fields = [...schema.fields];\n const children = [...chunks] as Data<T[keyof T]>[];\n const nullBitmapSize = ((maxLength + 63) & ~63) >> 3;\n\n for (const [idx, field] of schema.fields.entries()) {\n const chunk = chunks[idx];\n if (!chunk || chunk.length !== maxLength) {\n fields[idx] = field.clone({ nullable: true });\n children[idx] = chunk?._changeLengthAndBackfillNullBitmap(maxLength) ?? makeData({\n type: field.type,\n length: maxLength,\n nullCount: maxLength,\n nullBitmap: new Uint8Array(nullBitmapSize)\n });\n }\n }\n\n return [\n schema.assign(fields),\n makeData({ type: new Struct<T>(fields), length: maxLength, children })\n ] as [Schema<T>, Data<Struct<T>>];\n}\n\n/** @ignore */\nfunction collectDictionaries(fields: Field[], children: Data[], dictionaries = new Map<number, Vector>()): Map<number, Vector> {\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n const data = children[i];\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n if (data.dictionary) {\n dictionaries.set(type.id, data.dictionary);\n }\n } else if (dictionaries.get(type.id) !== data.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n collectDictionaries(type.children, data.children, dictionaries);\n }\n }\n return dictionaries;\n}\n\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\nexport class _InternalEmptyPlaceholderRecordBatch<T extends TypeMap = any> extends RecordBatch<T> {\n constructor(schema: Schema<T>) {\n const children = schema.fields.map((f) => makeData({ type: f.type }));\n const data = makeData({ type: new Struct<T>(schema.fields), nullCount: 0, children });\n super(schema, data);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector.js';\nimport { Data, makeData } from '../data.js';\nimport { Struct, TypeMap } from '../type.js';\nimport { Schema, Field } from '../schema.js';\nimport { RecordBatch } from '../recordbatch.js';\n\n/** @ignore */\nexport function distributeVectorsIntoRecordBatches<T extends TypeMap = any>(schema: Schema<T>, vecs: Vector<T[keyof T]>[]): [Schema<T>, RecordBatch<T>[]] {\n return uniformlyDistributeChunksAcrossRecordBatches<T>(schema, vecs.map((v) => v.data.concat()));\n}\n\n/** @ignore */\nfunction uniformlyDistributeChunksAcrossRecordBatches<T extends TypeMap = any>(schema: Schema<T>, cols: Data<T[keyof T]>[][]): [Schema<T>, RecordBatch<T>[]] {\n\n const fields = [...schema.fields];\n const batches = [] as Data<Struct<T>>[];\n const memo = { numBatches: cols.reduce((n, c) => Math.max(n, c.length), 0) };\n\n let numBatches = 0, batchLength = 0;\n let i = -1;\n const numColumns = cols.length;\n let child: Data<T[keyof T]>, children: Data<T[keyof T]>[] = [];\n\n while (memo.numBatches-- > 0) {\n\n for (batchLength = Number.POSITIVE_INFINITY, i = -1; ++i < numColumns;) {\n children[i] = child = cols[i].shift()!;\n batchLength = Math.min(batchLength, child ? child.length : batchLength);\n }\n\n if (Number.isFinite(batchLength)) {\n children = distributeChildren(fields, batchLength, children, cols, memo);\n if (batchLength > 0) {\n batches[numBatches++] = makeData({\n type: new Struct(fields),\n length: batchLength,\n nullCount: 0,\n children: children.slice()\n });\n }\n }\n }\n\n return [\n schema = schema.assign(fields),\n batches.map((data) => new RecordBatch(schema, data))\n ];\n}\n\n/** @ignore */\nfunction distributeChildren<T extends TypeMap = any>(\n fields: Field<T[keyof T]>[],\n batchLength: number,\n children: Data<T[keyof T]>[],\n columns: Data<T[keyof T]>[][],\n memo: { numBatches: number }\n) {\n const nullBitmapSize = ((batchLength + 63) & ~63) >> 3;\n for (let i = -1, n = columns.length; ++i < n;) {\n const child = children[i];\n const length = child?.length;\n if (length >= batchLength) {\n if (length === batchLength) {\n children[i] = child;\n } else {\n children[i] = child.slice(0, batchLength);\n memo.numBatches = Math.max(memo.numBatches, columns[i].unshift(\n child.slice(batchLength, length - batchLength)\n ));\n }\n } else {\n const field = fields[i];\n fields[i] = field.clone({ nullable: true });\n children[i] = child?._changeLengthAndBackfillNullBitmap(batchLength) ?? makeData({\n type: field.type,\n length: batchLength,\n nullCount: batchLength,\n nullBitmap: new Uint8Array(nullBitmapSize)\n }) as Data<T[keyof T]>;\n }\n }\n return children;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { Data, makeData } from './data.js';\nimport { vectorFromArray } from './factories.js';\nimport { makeVector, Vector } from './vector.js';\nimport { Field, Schema } from './schema.js';\nimport { DataType, Null, Struct, TypeMap } from './type.js';\nimport { compareSchemas } from './visitor/typecomparator.js';\nimport { distributeVectorsIntoRecordBatches } from './util/recordbatch.js';\n\nimport {\n isChunkedValid,\n computeChunkOffsets,\n computeChunkNullCounts,\n wrapChunkedCall1,\n wrapChunkedCall2,\n wrapChunkedIndexOf,\n sliceChunks,\n} from './util/chunk.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\nimport { instance as byteLengthVisitor } from './visitor/bytelength.js';\n\nimport { DataProps } from './data.js';\nimport { clampRange } from './util/vector.js';\nimport { ArrayDataType, BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from './recordbatch.js';\n\n/** @ignore */\nexport interface Table<T extends TypeMap = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: Struct<T>;\n readonly TArray: Struct<T>['TArray'];\n readonly TValue: Struct<T>['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\n/**\n * Tables are collections of {@link Vector}s and have a {@link Schema}. Use the convenience methods {@link makeTable}\n * or {@link tableFromArrays} to create a table in JavaScript. To create a table from the IPC format, use\n * {@link tableFromIPC}.\n */\nexport class Table<T extends TypeMap = any> {\n\n constructor();\n constructor(batches: Iterable<RecordBatch<T>>);\n constructor(...batches: readonly RecordBatch<T>[]);\n constructor(...columns: { [P in keyof T]: Vector<T[P]> }[]);\n constructor(...columns: { [P in keyof T]: Data<T[P]> | DataProps<T[P]> }[]);\n constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[]);\n constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[], offsets?: Uint32Array);\n constructor(...args: any[]) {\n\n if (args.length === 0) {\n this.batches = [];\n this.schema = new Schema([]);\n this._offsets = [0];\n return this;\n }\n\n let schema: Schema<T> | undefined;\n let offsets: Uint32Array | number[] | undefined;\n\n if (args[0] instanceof Schema) {\n schema = args.shift() as Schema<T>;\n }\n\n if (args[args.length - 1] instanceof Uint32Array) {\n offsets = args.pop();\n }\n\n const unwrap = (x: any): RecordBatch<T>[] => {\n if (x) {\n if (x instanceof RecordBatch) {\n return [x];\n } else if (x instanceof Table) {\n return x.batches;\n } else if (x instanceof Data) {\n if (x.type instanceof Struct) {\n return [new RecordBatch(new Schema(x.type.children), x)];\n }\n } else if (Array.isArray(x)) {\n return x.flatMap(v => unwrap(v));\n } else if (typeof x[Symbol.iterator] === 'function') {\n return [...x].flatMap(v => unwrap(v));\n } else if (typeof x === 'object') {\n const keys = Object.keys(x) as (keyof T)[];\n const vecs = keys.map((k) => new Vector([x[k]]));\n const schema = new Schema(keys.map((k, i) => new Field(String(k), vecs[i].type)));\n const [, batches] = distributeVectorsIntoRecordBatches(schema, vecs);\n return batches.length === 0 ? [new RecordBatch(x)] : batches;\n }\n }\n return [];\n };\n\n const batches = args.flatMap(v => unwrap(v));\n\n schema = schema ?? batches[0]?.schema ?? new Schema([]);\n\n if (!(schema instanceof Schema)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n\n for (const batch of batches) {\n if (!(batch instanceof RecordBatch)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n if (!compareSchemas(schema, batch.schema)) {\n throw new TypeError('Table and inner RecordBatch schemas must be equivalent.');\n }\n }\n\n this.schema = schema;\n this.batches = batches;\n this._offsets = offsets ?? computeChunkOffsets(this.data);\n }\n\n declare protected _offsets: Uint32Array | number[];\n declare protected _nullCount: number;\n\n declare public readonly schema: Schema<T>;\n\n /**\n * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n */\n declare public readonly batches: RecordBatch<T>[];\n\n /**\n * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n */\n public get data() { return this.batches.map(({ data }) => data); }\n\n /**\n * The number of columns in this Table.\n */\n public get numCols() { return this.schema.fields.length; }\n\n /**\n * The number of rows in this Table.\n */\n public get numRows() {\n return this.data.reduce((numRows, data) => numRows + data.length, 0);\n }\n\n /**\n * The number of null rows in this Table.\n */\n public get nullCount() {\n if (this._nullCount === -1) {\n this._nullCount = computeChunkNullCounts(this.data);\n }\n return this._nullCount;\n }\n\n /**\n * Check whether an element is null.\n *\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n public isValid(index: number): boolean { return false; }\n\n /**\n * Get an element value by position.\n *\n * @param index The index of the element to read.\n */\n // @ts-ignore\n public get(index: number): Struct<T>['TValue'] | null { return null; }\n\n /**\n * Set an element value by position.\n *\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n public set(index: number, value: Struct<T>['TValue'] | null): void { return; }\n\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n *\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n public indexOf(element: Struct<T>['TValue'], offset?: number): number { return -1; }\n\n /**\n * Get the size in bytes of an element by index.\n * @param index The index at which to get the byteLength.\n */\n // @ts-ignore\n public getByteLength(index: number): number { return 0; }\n\n /**\n * Iterator for rows in this Table.\n */\n public [Symbol.iterator]() {\n if (this.batches.length > 0) {\n return iteratorVisitor.visit(new Vector(this.data)) as IterableIterator<Struct<T>['TValue']>;\n }\n return (new Array(0))[Symbol.iterator]();\n }\n\n /**\n * Return a JavaScript Array of the Table rows.\n *\n * @returns An Array of Table rows.\n */\n public toArray() {\n return [...this];\n }\n\n /**\n * Returns a string representation of the Table rows.\n *\n * @returns A string representation of the Table rows.\n */\n public toString() {\n return `[\\n ${this.toArray().join(',\\n ')}\\n]`;\n }\n\n /**\n * Combines two or more Tables of the same schema.\n *\n * @param others Additional Tables to add to the end of this Tables.\n */\n public concat(...others: Table<T>[]) {\n const schema = this.schema;\n const data = this.data.concat(others.flatMap(({ data }) => data));\n return new Table(schema, data.map((data) => new RecordBatch(schema, data)));\n }\n\n /**\n * Return a zero-copy sub-section of this Table.\n *\n * @param begin The beginning of the specified portion of the Table.\n * @param end The end of the specified portion of the Table. This is exclusive of the element at the index 'end'.\n */\n public slice(begin?: number, end?: number): Table<T> {\n const schema = this.schema;\n [begin, end] = clampRange({ length: this.numRows }, begin, end);\n const data = sliceChunks(this.data, this._offsets, begin, end);\n return new Table(schema, data.map((chunk) => new RecordBatch(schema, chunk)));\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n *\n * @param name The name of the child to retrieve.\n */\n public getChild<P extends keyof T>(name: P) {\n return this.getChildAt<T[P]>(this.schema.fields.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n *\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends T[keyof T] = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.schema.fields.length) {\n const data = this.data.map((data) => data.children[index] as Data<R>);\n if (data.length === 0) {\n const { type } = this.schema.fields[index] as Field<R>;\n const empty = makeData<R>({ type, length: 0, nullCount: 0 });\n data.push(empty._changeLengthAndBackfillNullBitmap(this.numRows));\n }\n return new Vector(data);\n }\n return null;\n }\n\n /**\n * Sets a child Vector by name.\n *\n * @param name The name of the child to overwrite.\n * @returns A new Table with the supplied child for the specified name.\n */\n public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as Table<T & { [K in P]: R }>;\n }\n\n /**\n * Sets a child Vector by index.\n *\n * @param index The index of the child to overwrite.\n * @returns A new Table with the supplied child at the specified index.\n */\n public setChildAt(index: number, child?: null): Table;\n public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): Table;\n public setChildAt(index: number, child: any) {\n let schema: Schema = this.schema;\n let batches: RecordBatch[] = [...this.batches];\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice() as Field<any>[];\n const field = fields[index].clone({ type: child.type });\n const children = this.schema.fields.map((_, i) => this.getChildAt(i)!);\n [fields[index], children[index]] = [field, child];\n [schema, batches] = distributeVectorsIntoRecordBatches(schema, children);\n }\n return new Table(schema, batches);\n }\n\n /**\n * Construct a new Table containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new Table of columns matching the specified names.\n */\n public select<K extends keyof T = any>(columnNames: K[]) {\n const nameToIndex = this.schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map<K, number>());\n return this.selectAt(columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n\n /**\n * Construct a new Table containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new Table of columns at the specified indices.\n */\n public selectAt<K extends T[keyof T] = any>(columnIndices: number[]) {\n const schema = this.schema.selectAt(columnIndices);\n const data = this.batches.map((batch) => batch.selectAt(columnIndices));\n return new Table<{ [key: string]: K }>(schema, data);\n }\n\n public assign<R extends TypeMap = any>(other: Table<R>) {\n\n const fields = this.schema.fields;\n const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n const [indices, oldToNew] = memo;\n const i = fields.findIndex((f) => f.name === f2.name);\n ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n return memo;\n }, [[], []] as number[][]);\n\n const schema = this.schema.assign(other.schema);\n const columns = [\n ...fields.map((_, i) => [i, oldToNew[i]]).map(([i, j]) =>\n (j === undefined ? this.getChildAt(i) : other.getChildAt(j))!),\n ...indices.map((i) => other.getChildAt(i)!)\n ].filter(Boolean) as Vector<(T & R)[keyof T | keyof R]>[];\n\n return new Table<T & R>(...distributeVectorsIntoRecordBatches<any>(schema, columns));\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: Table) => {\n (proto as any).schema = null;\n (proto as any).batches = [];\n (proto as any)._offsets = new Uint32Array([0]);\n (proto as any)._nullCount = -1;\n (proto as any)[Symbol.isConcatSpreadable] = true;\n (proto as any)['isValid'] = wrapChunkedCall1(isChunkedValid);\n (proto as any)['get'] = wrapChunkedCall1(getVisitor.getVisitFn(Type.Struct));\n (proto as any)['set'] = wrapChunkedCall2(setVisitor.getVisitFn(Type.Struct));\n (proto as any)['indexOf'] = wrapChunkedIndexOf(indexOfVisitor.getVisitFn(Type.Struct));\n (proto as any)['getByteLength'] = wrapChunkedCall1(byteLengthVisitor.getVisitFn(Type.Struct));\n return 'Table';\n })(Table.prototype);\n}\n\n\ntype VectorsMap<T extends TypeMap> = { [P in keyof T]: Vector<T[P]> };\n\n/**\n * Creates a new Table from an object of typed arrays.\n *\n* @example\n * ```ts\n * const table = makeTable({\n * a: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays.\n * @returns A new Table.\n */\nexport function makeTable<I extends Record<string | number | symbol, TypedArray>>(input: I): Table<{ [P in keyof I]: TypedArrayDataType<I[P]> }> {\n type T = { [P in keyof I]: TypedArrayDataType<I[P]> };\n const vecs = {} as VectorsMap<T>;\n const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n for (const [key, col] of inputs) {\n vecs[key] = makeVector(col);\n }\n return new Table<T>(vecs);\n}\n\n/**\n * Creates a new Table from an object of typed arrays or JavaScript arrays.\n *\n * @example\n * ```ts\n * const table = tableFromArrays({\n * a: [1, 2, 3],\n * b: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays or JavaScript arrays.\n * @returns A new Table.\n */\nexport function tableFromArrays<I extends Record<string | number | symbol, TypedArray | BigIntArray | readonly unknown[]>>(input: I): Table<{ [P in keyof I]: ArrayDataType<I[P]> }> {\n type T = { [P in keyof I]: ArrayDataType<I[P]> };\n const vecs = {} as VectorsMap<T>;\n const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n for (const [key, col] of inputs) {\n vecs[key] = vectorFromArray(col);\n }\n return new Table<T>(vecs);\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class Block {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Block {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\n/**\n * Index to the start of the RecordBlock (note this is past the Message header)\n */\noffset():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n}\n\n/**\n * Length of the metadata\n */\nmetaDataLength():number {\n return this.bb!.readInt32(this.bb_pos + 8);\n}\n\n/**\n * Length of the data (this is aligned so there can be a gap between this and\n * the metadata).\n */\nbodyLength():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 16);\n}\n\nstatic sizeOf():number {\n return 24;\n}\n\nstatic createBlock(builder:flatbuffers.Builder, offset: flatbuffers.Long, metaDataLength: number, bodyLength: flatbuffers.Long):flatbuffers.Offset {\n builder.prep(8, 24);\n builder.writeInt64(bodyLength);\n builder.pad(4);\n builder.writeInt32(metaDataLength);\n builder.writeInt64(offset);\n return builder.offset();\n}\n\n}\n","export const SIZEOF_SHORT = 2;\r\nexport const SIZEOF_INT = 4;\r\nexport const FILE_IDENTIFIER_LENGTH = 4;\r\nexport const SIZE_PREFIX_LENGTH = 4;\r\n","export const int32 = new Int32Array(2);\r\nexport const float32 = new Float32Array(int32.buffer);\r\nexport const float64 = new Float64Array(int32.buffer);\r\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\r\n","export function createLong(low, high) {\r\n return Long.create(low, high);\r\n}\r\nexport class Long {\r\n constructor(low, high) {\r\n this.low = low | 0;\r\n this.high = high | 0;\r\n }\r\n static create(low, high) {\r\n // Special-case zero to avoid GC overhead for default values\r\n return low == 0 && high == 0 ? Long.ZERO : new Long(low, high);\r\n }\r\n toFloat64() {\r\n return (this.low >>> 0) + this.high * 0x100000000;\r\n }\r\n equals(other) {\r\n return this.low == other.low && this.high == other.high;\r\n }\r\n}\r\nLong.ZERO = new Long(0, 0);\r\n","export var Encoding;\r\n(function (Encoding) {\r\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\r\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\r\n})(Encoding || (Encoding = {}));\r\n","// automatically generated by the FlatBuffers compiler, do not modify\n\n/**\n * Logical types, vector layouts, and schemas\n * Format Version History.\n * Version 1.0 - Forward and backwards compatibility guaranteed.\n * Version 1.1 - Add Decimal256 (No format release).\n * Version 1.2 (Pending)- Add Interval MONTH_DAY_NANO\n */\nexport enum MetadataVersion{\n /**\n * 0.1.0 (October 2016).\n */\n V1 = 0,\n\n /**\n * 0.2.0 (February 2017). Non-backwards compatible with V1.\n */\n V2 = 1,\n\n /**\n * 0.3.0 -> 0.7.1 (May - December 2017). Non-backwards compatible with V2.\n */\n V3 = 2,\n\n /**\n * >= 0.8.0 (December 2017). Non-backwards compatible with V3.\n */\n V4 = 3,\n\n /**\n * >= 1.0.0 (July 2020. Backwards compatible with V4 (V5 readers can read V4\n * metadata and IPC messages). Implementations are recommended to provide a\n * V4 compatibility mode with V5 format changes disabled.\n *\n * Incompatible changes between V4 and V5:\n * - Union buffer layout has changed. In V5, Unions don't have a validity\n * bitmap buffer.\n */\n V5 = 4\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\n/**\n * ----------------------------------------------------------------------\n * Endianness of the platform producing the data\n */\nexport enum Endianness{\n Little = 0,\n Big = 1\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\n/**\n * ----------------------------------------------------------------------\n * Dictionary encoding metadata\n * Maintained for forwards compatibility, in the future\n * Dictionaries might be explicit maps between integers and values\n * allowing for non-contiguous index values\n */\nexport enum DictionaryKind{\n DenseArray = 0\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { Binary } from './binary.js';\nimport { Bool } from './bool.js';\nimport { Date } from './date.js';\nimport { Decimal } from './decimal.js';\nimport { Duration } from './duration.js';\nimport { FixedSizeBinary } from './fixed-size-binary.js';\nimport { FixedSizeList } from './fixed-size-list.js';\nimport { FloatingPoint } from './floating-point.js';\nimport { Int } from './int.js';\nimport { Interval } from './interval.js';\nimport { LargeBinary } from './large-binary.js';\nimport { LargeList } from './large-list.js';\nimport { LargeUtf8 } from './large-utf8.js';\nimport { List } from './list.js';\nimport { Map } from './map.js';\nimport { Null } from './null.js';\nimport { Struct_ } from './struct_.js';\nimport { Time } from './time.js';\nimport { Timestamp } from './timestamp.js';\nimport { Union } from './union.js';\nimport { Utf8 } from './utf8.js';\n\n\n/**\n * ----------------------------------------------------------------------\n * Top-level Type value, enabling extensible type-specific metadata. We can\n * add new logical types to Type without breaking backwards compatibility\n */\nexport enum Type{\n NONE = 0,\n Null = 1,\n Int = 2,\n FloatingPoint = 3,\n Binary = 4,\n Utf8 = 5,\n Bool = 6,\n Decimal = 7,\n Date = 8,\n Time = 9,\n Timestamp = 10,\n Interval = 11,\n List = 12,\n Struct_ = 13,\n Union = 14,\n FixedSizeBinary = 15,\n FixedSizeList = 16,\n Map = 17,\n Duration = 18,\n LargeBinary = 19,\n LargeUtf8 = 20,\n LargeList = 21\n}\n\nexport function unionToType(\n type: Type,\n accessor: (obj:Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8) => Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8|null\n): Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8|null {\n switch(Type[type]) {\n case 'NONE': return null;\n case 'Null': return accessor(new Null())! as Null;\n case 'Int': return accessor(new Int())! as Int;\n case 'FloatingPoint': return accessor(new FloatingPoint())! as FloatingPoint;\n case 'Binary': return accessor(new Binary())! as Binary;\n case 'Utf8': return accessor(new Utf8())! as Utf8;\n case 'Bool': return accessor(new Bool())! as Bool;\n case 'Decimal': return accessor(new Decimal())! as Decimal;\n case 'Date': return accessor(new Date())! as Date;\n case 'Time': return accessor(new Time())! as Time;\n case 'Timestamp': return accessor(new Timestamp())! as Timestamp;\n case 'Interval': return accessor(new Interval())! as Interval;\n case 'List': return accessor(new List())! as List;\n case 'Struct_': return accessor(new Struct_())! as Struct_;\n case 'Union': return accessor(new Union())! as Union;\n case 'FixedSizeBinary': return accessor(new FixedSizeBinary())! as FixedSizeBinary;\n case 'FixedSizeList': return accessor(new FixedSizeList())! as FixedSizeList;\n case 'Map': return accessor(new Map())! as Map;\n case 'Duration': return accessor(new Duration())! as Duration;\n case 'LargeBinary': return accessor(new LargeBinary())! as LargeBinary;\n case 'LargeUtf8': return accessor(new LargeUtf8())! as LargeUtf8;\n case 'LargeList': return accessor(new LargeList())! as LargeList;\n default: return null;\n }\n}\n\nexport function unionListToType(\n type: Type,\n accessor: (index: number, obj:Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8) => Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8|null,\n index: number\n): Binary|Bool|Date|Decimal|Duration|FixedSizeBinary|FixedSizeList|FloatingPoint|Int|Interval|LargeBinary|LargeList|LargeUtf8|List|Map|Null|Struct_|Time|Timestamp|Union|Utf8|null {\n switch(Type[type]) {\n case 'NONE': return null;\n case 'Null': return accessor(index, new Null())! as Null;\n case 'Int': return accessor(index, new Int())! as Int;\n case 'FloatingPoint': return accessor(index, new FloatingPoint())! as FloatingPoint;\n case 'Binary': return accessor(index, new Binary())! as Binary;\n case 'Utf8': return accessor(index, new Utf8())! as Utf8;\n case 'Bool': return accessor(index, new Bool())! as Bool;\n case 'Decimal': return accessor(index, new Decimal())! as Decimal;\n case 'Date': return accessor(index, new Date())! as Date;\n case 'Time': return accessor(index, new Time())! as Time;\n case 'Timestamp': return accessor(index, new Timestamp())! as Timestamp;\n case 'Interval': return accessor(index, new Interval())! as Interval;\n case 'List': return accessor(index, new List())! as List;\n case 'Struct_': return accessor(index, new Struct_())! as Struct_;\n case 'Union': return accessor(index, new Union())! as Union;\n case 'FixedSizeBinary': return accessor(index, new FixedSizeBinary())! as FixedSizeBinary;\n case 'FixedSizeList': return accessor(index, new FixedSizeList())! as FixedSizeList;\n case 'Map': return accessor(index, new Map())! as Map;\n case 'Duration': return accessor(index, new Duration())! as Duration;\n case 'LargeBinary': return accessor(index, new LargeBinary())! as LargeBinary;\n case 'LargeUtf8': return accessor(index, new LargeUtf8())! as LargeUtf8;\n case 'LargeList': return accessor(index, new LargeList())! as LargeList;\n default: return null;\n }\n}\n\n","import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants\";\r\nimport { Long } from \"./long\";\r\nimport { int32, isLittleEndian, float32, float64 } from \"./utils\";\r\nimport { Encoding } from \"./encoding\";\r\nexport class ByteBuffer {\r\n /**\r\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\r\n */\r\n constructor(bytes_) {\r\n this.bytes_ = bytes_;\r\n this.position_ = 0;\r\n }\r\n /**\r\n * Create and allocate a new ByteBuffer with a given size.\r\n */\r\n static allocate(byte_size) {\r\n return new ByteBuffer(new Uint8Array(byte_size));\r\n }\r\n clear() {\r\n this.position_ = 0;\r\n }\r\n /**\r\n * Get the underlying `Uint8Array`.\r\n */\r\n bytes() {\r\n return this.bytes_;\r\n }\r\n /**\r\n * Get the buffer's position.\r\n */\r\n position() {\r\n return this.position_;\r\n }\r\n /**\r\n * Set the buffer's position.\r\n */\r\n setPosition(position) {\r\n this.position_ = position;\r\n }\r\n /**\r\n * Get the buffer's capacity.\r\n */\r\n capacity() {\r\n return this.bytes_.length;\r\n }\r\n readInt8(offset) {\r\n return this.readUint8(offset) << 24 >> 24;\r\n }\r\n readUint8(offset) {\r\n return this.bytes_[offset];\r\n }\r\n readInt16(offset) {\r\n return this.readUint16(offset) << 16 >> 16;\r\n }\r\n readUint16(offset) {\r\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\r\n }\r\n readInt32(offset) {\r\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\r\n }\r\n readUint32(offset) {\r\n return this.readInt32(offset) >>> 0;\r\n }\r\n readInt64(offset) {\r\n return new Long(this.readInt32(offset), this.readInt32(offset + 4));\r\n }\r\n readUint64(offset) {\r\n return new Long(this.readUint32(offset), this.readUint32(offset + 4));\r\n }\r\n readFloat32(offset) {\r\n int32[0] = this.readInt32(offset);\r\n return float32[0];\r\n }\r\n readFloat64(offset) {\r\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\r\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\r\n return float64[0];\r\n }\r\n writeInt8(offset, value) {\r\n this.bytes_[offset] = value;\r\n }\r\n writeUint8(offset, value) {\r\n this.bytes_[offset] = value;\r\n }\r\n writeInt16(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n }\r\n writeUint16(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n }\r\n writeInt32(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n this.bytes_[offset + 2] = value >> 16;\r\n this.bytes_[offset + 3] = value >> 24;\r\n }\r\n writeUint32(offset, value) {\r\n this.bytes_[offset] = value;\r\n this.bytes_[offset + 1] = value >> 8;\r\n this.bytes_[offset + 2] = value >> 16;\r\n this.bytes_[offset + 3] = value >> 24;\r\n }\r\n writeInt64(offset, value) {\r\n this.writeInt32(offset, value.low);\r\n this.writeInt32(offset + 4, value.high);\r\n }\r\n writeUint64(offset, value) {\r\n this.writeUint32(offset, value.low);\r\n this.writeUint32(offset + 4, value.high);\r\n }\r\n writeFloat32(offset, value) {\r\n float32[0] = value;\r\n this.writeInt32(offset, int32[0]);\r\n }\r\n writeFloat64(offset, value) {\r\n float64[0] = value;\r\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\r\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\r\n }\r\n /**\r\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\r\n * schema does not include a file_identifier (likely points at padding or the\r\n * start of a the root vtable).\r\n */\r\n getBufferIdentifier() {\r\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\r\n FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\r\n }\r\n let result = \"\";\r\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\r\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\r\n }\r\n return result;\r\n }\r\n /**\r\n * Look up a field in the vtable, return an offset into the object, or 0 if the\r\n * field is not present.\r\n */\r\n __offset(bb_pos, vtable_offset) {\r\n const vtable = bb_pos - this.readInt32(bb_pos);\r\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\r\n }\r\n /**\r\n * Initialize any Table-derived type to point to the union at the given offset.\r\n */\r\n __union(t, offset) {\r\n t.bb_pos = offset + this.readInt32(offset);\r\n t.bb = this;\r\n return t;\r\n }\r\n /**\r\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\r\n * This allocates a new string and converts to wide chars upon each access.\r\n *\r\n * To avoid the conversion to UTF-16, pass Encoding.UTF8_BYTES as\r\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\r\n * and from UTF-16 when the data will just be packaged back up in another\r\n * FlatBuffer later on.\r\n *\r\n * @param offset\r\n * @param opt_encoding Defaults to UTF16_STRING\r\n */\r\n __string(offset, opt_encoding) {\r\n offset += this.readInt32(offset);\r\n const length = this.readInt32(offset);\r\n let result = '';\r\n let i = 0;\r\n offset += SIZEOF_INT;\r\n if (opt_encoding === Encoding.UTF8_BYTES) {\r\n return this.bytes_.subarray(offset, offset + length);\r\n }\r\n while (i < length) {\r\n let codePoint;\r\n // Decode UTF-8\r\n const a = this.readUint8(offset + i++);\r\n if (a < 0xC0) {\r\n codePoint = a;\r\n }\r\n else {\r\n const b = this.readUint8(offset + i++);\r\n if (a < 0xE0) {\r\n codePoint =\r\n ((a & 0x1F) << 6) |\r\n (b & 0x3F);\r\n }\r\n else {\r\n const c = this.readUint8(offset + i++);\r\n if (a < 0xF0) {\r\n codePoint =\r\n ((a & 0x0F) << 12) |\r\n ((b & 0x3F) << 6) |\r\n (c & 0x3F);\r\n }\r\n else {\r\n const d = this.readUint8(offset + i++);\r\n codePoint =\r\n ((a & 0x07) << 18) |\r\n ((b & 0x3F) << 12) |\r\n ((c & 0x3F) << 6) |\r\n (d & 0x3F);\r\n }\r\n }\r\n }\r\n // Encode UTF-16\r\n if (codePoint < 0x10000) {\r\n result += String.fromCharCode(codePoint);\r\n }\r\n else {\r\n codePoint -= 0x10000;\r\n result += String.fromCharCode((codePoint >> 10) + 0xD800, (codePoint & ((1 << 10) - 1)) + 0xDC00);\r\n }\r\n }\r\n return result;\r\n }\r\n /**\r\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\r\n * if a string then return a new one\r\n *\r\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\r\n * makes the behaviour of __union_with_string different compared to __union\r\n */\r\n __union_with_string(o, offset) {\r\n if (typeof o === 'string') {\r\n return this.__string(offset);\r\n }\r\n return this.__union(o, offset);\r\n }\r\n /**\r\n * Retrieve the relative offset stored at \"offset\"\r\n */\r\n __indirect(offset) {\r\n return offset + this.readInt32(offset);\r\n }\r\n /**\r\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\r\n */\r\n __vector(offset) {\r\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\r\n }\r\n /**\r\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\r\n */\r\n __vector_len(offset) {\r\n return this.readInt32(offset + this.readInt32(offset));\r\n }\r\n __has_identifier(ident) {\r\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: file identifier must be length ' +\r\n FILE_IDENTIFIER_LENGTH);\r\n }\r\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\r\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n /**\r\n * A helper function to avoid generated code depending on this file directly.\r\n */\r\n createLong(low, high) {\r\n return Long.create(low, high);\r\n }\r\n /**\r\n * A helper function for generating list for obj api\r\n */\r\n createScalarList(listAccessor, listLength) {\r\n const ret = [];\r\n for (let i = 0; i < listLength; ++i) {\r\n if (listAccessor(i) !== null) {\r\n ret.push(listAccessor(i));\r\n }\r\n }\r\n return ret;\r\n }\r\n /**\r\n * A helper function for generating list for obj api\r\n * @param listAccessor function that accepts an index and return data at that index\r\n * @param listLength listLength\r\n * @param res result list\r\n */\r\n createObjList(listAccessor, listLength) {\r\n const ret = [];\r\n for (let i = 0; i < listLength; ++i) {\r\n const val = listAccessor(i);\r\n if (val !== null) {\r\n ret.push(val.unpack());\r\n }\r\n }\r\n return ret;\r\n }\r\n}\r\n","import { ByteBuffer } from \"./byte-buffer\";\r\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants\";\r\nimport { Long } from \"./long\";\r\nexport class Builder {\r\n /**\r\n * Create a FlatBufferBuilder.\r\n */\r\n constructor(opt_initial_size) {\r\n /** Minimum alignment encountered so far. */\r\n this.minalign = 1;\r\n /** The vtable for the current table. */\r\n this.vtable = null;\r\n /** The amount of fields we're actually using. */\r\n this.vtable_in_use = 0;\r\n /** Whether we are currently serializing a table. */\r\n this.isNested = false;\r\n /** Starting offset of the current struct/table. */\r\n this.object_start = 0;\r\n /** List of offsets of all vtables. */\r\n this.vtables = [];\r\n /** For the current vector being built. */\r\n this.vector_num_elems = 0;\r\n /** False omits default values from the serialized data */\r\n this.force_defaults = false;\r\n this.string_maps = null;\r\n let initial_size;\r\n if (!opt_initial_size) {\r\n initial_size = 1024;\r\n }\r\n else {\r\n initial_size = opt_initial_size;\r\n }\r\n /**\r\n * @type {ByteBuffer}\r\n * @private\r\n */\r\n this.bb = ByteBuffer.allocate(initial_size);\r\n this.space = initial_size;\r\n }\r\n clear() {\r\n this.bb.clear();\r\n this.space = this.bb.capacity();\r\n this.minalign = 1;\r\n this.vtable = null;\r\n this.vtable_in_use = 0;\r\n this.isNested = false;\r\n this.object_start = 0;\r\n this.vtables = [];\r\n this.vector_num_elems = 0;\r\n this.force_defaults = false;\r\n this.string_maps = null;\r\n }\r\n /**\r\n * In order to save space, fields that are set to their default value\r\n * don't get serialized into the buffer. Forcing defaults provides a\r\n * way to manually disable this optimization.\r\n *\r\n * @param forceDefaults true always serializes default values\r\n */\r\n forceDefaults(forceDefaults) {\r\n this.force_defaults = forceDefaults;\r\n }\r\n /**\r\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\r\n * called finish(). The actual data starts at the ByteBuffer's current position,\r\n * not necessarily at 0.\r\n */\r\n dataBuffer() {\r\n return this.bb;\r\n }\r\n /**\r\n * Get the bytes representing the FlatBuffer. Only call this after you've\r\n * called finish().\r\n */\r\n asUint8Array() {\r\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\r\n }\r\n /**\r\n * Prepare to write an element of `size` after `additional_bytes` have been\r\n * written, e.g. if you write a string, you need to align such the int length\r\n * field is aligned to 4 bytes, and the string data follows it directly. If all\r\n * you need to do is alignment, `additional_bytes` will be 0.\r\n *\r\n * @param size This is the of the new element to write\r\n * @param additional_bytes The padding size\r\n */\r\n prep(size, additional_bytes) {\r\n // Track the biggest thing we've ever aligned to.\r\n if (size > this.minalign) {\r\n this.minalign = size;\r\n }\r\n // Find the amount of alignment needed such that `size` is properly\r\n // aligned after `additional_bytes`\r\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\r\n // Reallocate the buffer if needed.\r\n while (this.space < align_size + size + additional_bytes) {\r\n const old_buf_size = this.bb.capacity();\r\n this.bb = Builder.growByteBuffer(this.bb);\r\n this.space += this.bb.capacity() - old_buf_size;\r\n }\r\n this.pad(align_size);\r\n }\r\n pad(byte_size) {\r\n for (let i = 0; i < byte_size; i++) {\r\n this.bb.writeInt8(--this.space, 0);\r\n }\r\n }\r\n writeInt8(value) {\r\n this.bb.writeInt8(this.space -= 1, value);\r\n }\r\n writeInt16(value) {\r\n this.bb.writeInt16(this.space -= 2, value);\r\n }\r\n writeInt32(value) {\r\n this.bb.writeInt32(this.space -= 4, value);\r\n }\r\n writeInt64(value) {\r\n this.bb.writeInt64(this.space -= 8, value);\r\n }\r\n writeFloat32(value) {\r\n this.bb.writeFloat32(this.space -= 4, value);\r\n }\r\n writeFloat64(value) {\r\n this.bb.writeFloat64(this.space -= 8, value);\r\n }\r\n /**\r\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int8` to add the the buffer.\r\n */\r\n addInt8(value) {\r\n this.prep(1, 0);\r\n this.writeInt8(value);\r\n }\r\n /**\r\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int16` to add the the buffer.\r\n */\r\n addInt16(value) {\r\n this.prep(2, 0);\r\n this.writeInt16(value);\r\n }\r\n /**\r\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int32` to add the the buffer.\r\n */\r\n addInt32(value) {\r\n this.prep(4, 0);\r\n this.writeInt32(value);\r\n }\r\n /**\r\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `int64` to add the the buffer.\r\n */\r\n addInt64(value) {\r\n this.prep(8, 0);\r\n this.writeInt64(value);\r\n }\r\n /**\r\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `float32` to add the the buffer.\r\n */\r\n addFloat32(value) {\r\n this.prep(4, 0);\r\n this.writeFloat32(value);\r\n }\r\n /**\r\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\r\n * @param value The `float64` to add the the buffer.\r\n */\r\n addFloat64(value) {\r\n this.prep(8, 0);\r\n this.writeFloat64(value);\r\n }\r\n addFieldInt8(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt8(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt16(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt16(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt32(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addInt32(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldInt64(voffset, value, defaultValue) {\r\n if (this.force_defaults || !value.equals(defaultValue)) {\r\n this.addInt64(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldFloat32(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addFloat32(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldFloat64(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addFloat64(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n addFieldOffset(voffset, value, defaultValue) {\r\n if (this.force_defaults || value != defaultValue) {\r\n this.addOffset(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n /**\r\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\r\n */\r\n addFieldStruct(voffset, value, defaultValue) {\r\n if (value != defaultValue) {\r\n this.nested(value);\r\n this.slot(voffset);\r\n }\r\n }\r\n /**\r\n * Structures are always stored inline, they need to be created right\r\n * where they're used. You'll get this assertion failure if you\r\n * created it elsewhere.\r\n */\r\n nested(obj) {\r\n if (obj != this.offset()) {\r\n throw new Error('FlatBuffers: struct must be serialized inline.');\r\n }\r\n }\r\n /**\r\n * Should not be creating any other object, string or vector\r\n * while an object is being constructed\r\n */\r\n notNested() {\r\n if (this.isNested) {\r\n throw new Error('FlatBuffers: object serialization must not be nested.');\r\n }\r\n }\r\n /**\r\n * Set the current vtable at `voffset` to the current location in the buffer.\r\n */\r\n slot(voffset) {\r\n if (this.vtable !== null)\r\n this.vtable[voffset] = this.offset();\r\n }\r\n /**\r\n * @returns Offset relative to the end of the buffer.\r\n */\r\n offset() {\r\n return this.bb.capacity() - this.space;\r\n }\r\n /**\r\n * Doubles the size of the backing ByteBuffer and copies the old data towards\r\n * the end of the new buffer (since we build the buffer backwards).\r\n *\r\n * @param bb The current buffer with the existing data\r\n * @returns A new byte buffer with the old data copied\r\n * to it. The data is located at the end of the buffer.\r\n *\r\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\r\n * it a uint8Array we need to suppress the type check:\r\n * @suppress {checkTypes}\r\n */\r\n static growByteBuffer(bb) {\r\n const old_buf_size = bb.capacity();\r\n // Ensure we don't grow beyond what fits in an int.\r\n if (old_buf_size & 0xC0000000) {\r\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\r\n }\r\n const new_buf_size = old_buf_size << 1;\r\n const nbb = ByteBuffer.allocate(new_buf_size);\r\n nbb.setPosition(new_buf_size - old_buf_size);\r\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\r\n return nbb;\r\n }\r\n /**\r\n * Adds on offset, relative to where it will be written.\r\n *\r\n * @param offset The offset to add.\r\n */\r\n addOffset(offset) {\r\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\r\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\r\n }\r\n /**\r\n * Start encoding a new object in the buffer. Users will not usually need to\r\n * call this directly. The FlatBuffers compiler will generate helper methods\r\n * that call this method internally.\r\n */\r\n startObject(numfields) {\r\n this.notNested();\r\n if (this.vtable == null) {\r\n this.vtable = [];\r\n }\r\n this.vtable_in_use = numfields;\r\n for (let i = 0; i < numfields; i++) {\r\n this.vtable[i] = 0; // This will push additional elements as needed\r\n }\r\n this.isNested = true;\r\n this.object_start = this.offset();\r\n }\r\n /**\r\n * Finish off writing the object that is under construction.\r\n *\r\n * @returns The offset to the object inside `dataBuffer`\r\n */\r\n endObject() {\r\n if (this.vtable == null || !this.isNested) {\r\n throw new Error('FlatBuffers: endObject called without startObject');\r\n }\r\n this.addInt32(0);\r\n const vtableloc = this.offset();\r\n // Trim trailing zeroes.\r\n let i = this.vtable_in_use - 1;\r\n // eslint-disable-next-line no-empty\r\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\r\n const trimmed_size = i + 1;\r\n // Write out the current vtable.\r\n for (; i >= 0; i--) {\r\n // Offset relative to the start of the table.\r\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\r\n }\r\n const standard_fields = 2; // The fields below:\r\n this.addInt16(vtableloc - this.object_start);\r\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\r\n this.addInt16(len);\r\n // Search for an existing vtable that matches the current one.\r\n let existing_vtable = 0;\r\n const vt1 = this.space;\r\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\r\n const vt2 = this.bb.capacity() - this.vtables[i];\r\n if (len == this.bb.readInt16(vt2)) {\r\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\r\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\r\n continue outer_loop;\r\n }\r\n }\r\n existing_vtable = this.vtables[i];\r\n break;\r\n }\r\n }\r\n if (existing_vtable) {\r\n // Found a match:\r\n // Remove the current vtable.\r\n this.space = this.bb.capacity() - vtableloc;\r\n // Point table to existing vtable.\r\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\r\n }\r\n else {\r\n // No match:\r\n // Add the location of the current vtable to the list of vtables.\r\n this.vtables.push(this.offset());\r\n // Point table to current vtable.\r\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\r\n }\r\n this.isNested = false;\r\n return vtableloc;\r\n }\r\n /**\r\n * Finalize a buffer, poiting to the given `root_table`.\r\n */\r\n finish(root_table, opt_file_identifier, opt_size_prefix) {\r\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\r\n if (opt_file_identifier) {\r\n const file_identifier = opt_file_identifier;\r\n this.prep(this.minalign, SIZEOF_INT +\r\n FILE_IDENTIFIER_LENGTH + size_prefix);\r\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\r\n throw new Error('FlatBuffers: file identifier must be length ' +\r\n FILE_IDENTIFIER_LENGTH);\r\n }\r\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\r\n this.writeInt8(file_identifier.charCodeAt(i));\r\n }\r\n }\r\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\r\n this.addOffset(root_table);\r\n if (size_prefix) {\r\n this.addInt32(this.bb.capacity() - this.space);\r\n }\r\n this.bb.setPosition(this.space);\r\n }\r\n /**\r\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\r\n */\r\n finishSizePrefixed(root_table, opt_file_identifier) {\r\n this.finish(root_table, opt_file_identifier, true);\r\n }\r\n /**\r\n * This checks a required field has been set in a given table that has\r\n * just been constructed.\r\n */\r\n requiredField(table, field) {\r\n const table_start = this.bb.capacity() - table;\r\n const vtable_start = table_start - this.bb.readInt32(table_start);\r\n const ok = this.bb.readInt16(vtable_start + field) != 0;\r\n // If this fails, the caller will show what field needs to be set.\r\n if (!ok) {\r\n throw new Error('FlatBuffers: field ' + field + ' must be set');\r\n }\r\n }\r\n /**\r\n * Start a new array/vector of objects. Users usually will not call\r\n * this directly. The FlatBuffers compiler will create a start/end\r\n * method for vector types in generated code.\r\n *\r\n * @param elem_size The size of each element in the array\r\n * @param num_elems The number of elements in the array\r\n * @param alignment The alignment of the array\r\n */\r\n startVector(elem_size, num_elems, alignment) {\r\n this.notNested();\r\n this.vector_num_elems = num_elems;\r\n this.prep(SIZEOF_INT, elem_size * num_elems);\r\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\r\n }\r\n /**\r\n * Finish off the creation of an array and all its elements. The array must be\r\n * created with `startVector`.\r\n *\r\n * @returns The offset at which the newly created array\r\n * starts.\r\n */\r\n endVector() {\r\n this.writeInt32(this.vector_num_elems);\r\n return this.offset();\r\n }\r\n /**\r\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\r\n * already been seen, we return the offset of the already written string\r\n *\r\n * @param s The string to encode\r\n * @return The offset in the buffer where the encoded string starts\r\n */\r\n createSharedString(s) {\r\n if (!s) {\r\n return 0;\r\n }\r\n if (!this.string_maps) {\r\n this.string_maps = new Map();\r\n }\r\n if (this.string_maps.has(s)) {\r\n return this.string_maps.get(s);\r\n }\r\n const offset = this.createString(s);\r\n this.string_maps.set(s, offset);\r\n return offset;\r\n }\r\n /**\r\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\r\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\r\n *\r\n * @param s The string to encode\r\n * @return The offset in the buffer where the encoded string starts\r\n */\r\n createString(s) {\r\n if (!s) {\r\n return 0;\r\n }\r\n let utf8;\r\n if (s instanceof Uint8Array) {\r\n utf8 = s;\r\n }\r\n else {\r\n utf8 = [];\r\n let i = 0;\r\n while (i < s.length) {\r\n let codePoint;\r\n // Decode UTF-16\r\n const a = s.charCodeAt(i++);\r\n if (a < 0xD800 || a >= 0xDC00) {\r\n codePoint = a;\r\n }\r\n else {\r\n const b = s.charCodeAt(i++);\r\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\r\n }\r\n // Encode UTF-8\r\n if (codePoint < 0x80) {\r\n utf8.push(codePoint);\r\n }\r\n else {\r\n if (codePoint < 0x800) {\r\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\r\n }\r\n else {\r\n if (codePoint < 0x10000) {\r\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\r\n }\r\n else {\r\n utf8.push(((codePoint >> 18) & 0x07) | 0xF0, ((codePoint >> 12) & 0x3F) | 0x80);\r\n }\r\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\r\n }\r\n utf8.push((codePoint & 0x3F) | 0x80);\r\n }\r\n }\r\n }\r\n this.addInt8(0);\r\n this.startVector(1, utf8.length, 1);\r\n this.bb.setPosition(this.space -= utf8.length);\r\n for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\r\n bytes[offset++] = utf8[i];\r\n }\r\n return this.endVector();\r\n }\r\n /**\r\n * A helper function to avoid generated code depending on this file directly.\r\n */\r\n createLong(low, high) {\r\n return Long.create(low, high);\r\n }\r\n /**\r\n * A helper function to pack an object\r\n *\r\n * @returns offset of obj\r\n */\r\n createObjectOffset(obj) {\r\n if (obj === null) {\r\n return 0;\r\n }\r\n if (typeof obj === 'string') {\r\n return this.createString(obj);\r\n }\r\n else {\r\n return obj.pack(this);\r\n }\r\n }\r\n /**\r\n * A helper function to pack a list of object\r\n *\r\n * @returns list of offsets of each non null object\r\n */\r\n createObjectOffsetList(list) {\r\n const ret = [];\r\n for (let i = 0; i < list.length; ++i) {\r\n const val = list[i];\r\n if (val !== null) {\r\n ret.push(this.createObjectOffset(val));\r\n }\r\n else {\r\n throw new Error('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\r\n }\r\n }\r\n return ret;\r\n }\r\n createStructOffsetList(list, startFunc) {\r\n startFunc(this, list.length);\r\n this.createObjectOffsetList(list);\r\n return this.endVector();\r\n }\r\n}\r\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * ----------------------------------------------------------------------\n * user defined key value pairs to add custom metadata to arrow\n * key namespacing is the responsibility of the user\n */\nexport class KeyValue {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):KeyValue {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKeyValue(bb:flatbuffers.ByteBuffer, obj?:KeyValue):KeyValue {\n return (obj || new KeyValue()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKeyValue(bb:flatbuffers.ByteBuffer, obj?:KeyValue):KeyValue {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new KeyValue()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkey():string|null\nkey(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null\nkey(optionalEncoding?:any):string|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nvalue():string|null\nvalue(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null\nvalue(optionalEncoding?:any):string|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKeyValue(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addKey(builder:flatbuffers.Builder, keyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, keyOffset, 0);\n}\n\nstatic addValue(builder:flatbuffers.Builder, valueOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, valueOffset, 0);\n}\n\nstatic endKeyValue(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createKeyValue(builder:flatbuffers.Builder, keyOffset:flatbuffers.Offset, valueOffset:flatbuffers.Offset):flatbuffers.Offset {\n KeyValue.startKeyValue(builder);\n KeyValue.addKey(builder, keyOffset);\n KeyValue.addValue(builder, valueOffset);\n return KeyValue.endKeyValue(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class Int {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Int {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsInt(bb:flatbuffers.ByteBuffer, obj?:Int):Int {\n return (obj || new Int()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsInt(bb:flatbuffers.ByteBuffer, obj?:Int):Int {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Int()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nbitWidth():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nisSigned():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startInt(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addBitWidth(builder:flatbuffers.Builder, bitWidth:number) {\n builder.addFieldInt32(0, bitWidth, 0);\n}\n\nstatic addIsSigned(builder:flatbuffers.Builder, isSigned:boolean) {\n builder.addFieldInt8(1, +isSigned, +false);\n}\n\nstatic endInt(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createInt(builder:flatbuffers.Builder, bitWidth:number, isSigned:boolean):flatbuffers.Offset {\n Int.startInt(builder);\n Int.addBitWidth(builder, bitWidth);\n Int.addIsSigned(builder, isSigned);\n return Int.endInt(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { DictionaryKind } from './dictionary-kind.js';\nimport { Int } from './int.js';\n\n\nexport class DictionaryEncoding {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):DictionaryEncoding {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsDictionaryEncoding(bb:flatbuffers.ByteBuffer, obj?:DictionaryEncoding):DictionaryEncoding {\n return (obj || new DictionaryEncoding()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsDictionaryEncoding(bb:flatbuffers.ByteBuffer, obj?:DictionaryEncoding):DictionaryEncoding {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new DictionaryEncoding()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * The known dictionary id in the application where this data is used. In\n * the file or streaming formats, the dictionary ids are found in the\n * DictionaryBatch messages\n */\nid():flatbuffers.Long {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n}\n\n/**\n * The dictionary indices are constrained to be non-negative integers. If\n * this field is null, the indices must be signed int32. To maximize\n * cross-language compatibility and performance, implementations are\n * recommended to prefer signed integer types over unsigned integer types\n * and to avoid uint64 indices unless they are required by an application.\n */\nindexType(obj?:Int):Int|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Int()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\n/**\n * By default, dictionaries are not ordered, or the order does not have\n * semantic meaning. In some statistical, applications, dictionary-encoding\n * is used to represent ordered categorical data, and we provide a way to\n * preserve that metadata here\n */\nisOrdered():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ndictionaryKind():DictionaryKind {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : DictionaryKind.DenseArray;\n}\n\nstatic startDictionaryEncoding(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addId(builder:flatbuffers.Builder, id:flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n}\n\nstatic addIndexType(builder:flatbuffers.Builder, indexTypeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, indexTypeOffset, 0);\n}\n\nstatic addIsOrdered(builder:flatbuffers.Builder, isOrdered:boolean) {\n builder.addFieldInt8(2, +isOrdered, +false);\n}\n\nstatic addDictionaryKind(builder:flatbuffers.Builder, dictionaryKind:DictionaryKind) {\n builder.addFieldInt16(3, dictionaryKind, DictionaryKind.DenseArray);\n}\n\nstatic endDictionaryEncoding(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { DictionaryEncoding } from './dictionary-encoding.js';\nimport { KeyValue } from './key-value.js';\nimport { Type } from './type.js';\n\n\n/**\n * ----------------------------------------------------------------------\n * A field represents a named column in a record / row batch or child of a\n * nested type.\n */\nexport class Field {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Field {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsField(bb:flatbuffers.ByteBuffer, obj?:Field):Field {\n return (obj || new Field()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsField(bb:flatbuffers.ByteBuffer, obj?:Field):Field {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Field()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Name is not required, in i.e. a List\n */\nname():string|null\nname(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null\nname(optionalEncoding?:any):string|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n}\n\n/**\n * Whether or not this field can contain nulls. Should be true in general.\n */\nnullable():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ntypeType():Type {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : Type.NONE;\n}\n\n/**\n * This is the type of the decoded value if the field is dictionary encoded.\n */\n// @ts-ignore\ntype<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\n/**\n * Present only if the field is dictionary encoded.\n */\ndictionary(obj?:DictionaryEncoding):DictionaryEncoding|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new DictionaryEncoding()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\n/**\n * children apply only to nested data types like Struct, List and Union. For\n * primitive types children will have length 0.\n */\nchildren(index: number, obj?:Field):Field|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? (obj || new Field()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nchildrenLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\n/**\n * User-defined metadata\n */\ncustomMetadata(index: number, obj?:KeyValue):KeyValue|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncustomMetadataLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startField(builder:flatbuffers.Builder) {\n builder.startObject(7);\n}\n\nstatic addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, nameOffset, 0);\n}\n\nstatic addNullable(builder:flatbuffers.Builder, nullable:boolean) {\n builder.addFieldInt8(1, +nullable, +false);\n}\n\nstatic addTypeType(builder:flatbuffers.Builder, typeType:Type) {\n builder.addFieldInt8(2, typeType, Type.NONE);\n}\n\nstatic addType(builder:flatbuffers.Builder, typeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, typeOffset, 0);\n}\n\nstatic addDictionary(builder:flatbuffers.Builder, dictionaryOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, dictionaryOffset, 0);\n}\n\nstatic addChildren(builder:flatbuffers.Builder, childrenOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, childrenOffset, 0);\n}\n\nstatic createChildrenVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startChildrenVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addCustomMetadata(builder:flatbuffers.Builder, customMetadataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, customMetadataOffset, 0);\n}\n\nstatic createCustomMetadataVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCustomMetadataVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endField(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Endianness } from './endianness.js';\nimport { Field } from './field.js';\nimport { KeyValue } from './key-value.js';\n\n\n/**\n * ----------------------------------------------------------------------\n * A Schema describes the columns in a row batch\n */\nexport class Schema {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Schema {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSchema(bb:flatbuffers.ByteBuffer, obj?:Schema):Schema {\n return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSchema(bb:flatbuffers.ByteBuffer, obj?:Schema):Schema {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Schema()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * endianness of the buffer\n * it is Little Endian by default\n * if endianness doesn't match the underlying system then the vectors need to be converted\n */\nendianness():Endianness {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : Endianness.Little;\n}\n\nfields(index: number, obj?:Field):Field|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Field()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nfieldsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncustomMetadata(index: number, obj?:KeyValue):KeyValue|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncustomMetadataLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\n/**\n * Features used in the stream/file.\n */\nfeatures(index: number):flatbuffers.Long|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readInt64(this.bb!.__vector(this.bb_pos + offset) + index * 8) : this.bb!.createLong(0, 0);\n}\n\nfeaturesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startSchema(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addEndianness(builder:flatbuffers.Builder, endianness:Endianness) {\n builder.addFieldInt16(0, endianness, Endianness.Little);\n}\n\nstatic addFields(builder:flatbuffers.Builder, fieldsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, fieldsOffset, 0);\n}\n\nstatic createFieldsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startFieldsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addCustomMetadata(builder:flatbuffers.Builder, customMetadataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, customMetadataOffset, 0);\n}\n\nstatic createCustomMetadataVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCustomMetadataVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addFeatures(builder:flatbuffers.Builder, featuresOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, featuresOffset, 0);\n}\n\nstatic createFeaturesVector(builder:flatbuffers.Builder, data:flatbuffers.Long[]):flatbuffers.Offset {\n builder.startVector(8, data.length, 8);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt64(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startFeaturesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(8, numElems, 8);\n}\n\nstatic endSchema(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic finishSchemaBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset);\n}\n\nstatic finishSizePrefixedSchemaBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset, undefined, true);\n}\n\nstatic createSchema(builder:flatbuffers.Builder, endianness:Endianness, fieldsOffset:flatbuffers.Offset, customMetadataOffset:flatbuffers.Offset, featuresOffset:flatbuffers.Offset):flatbuffers.Offset {\n Schema.startSchema(builder);\n Schema.addEndianness(builder, endianness);\n Schema.addFields(builder, fieldsOffset);\n Schema.addCustomMetadata(builder, customMetadataOffset);\n Schema.addFeatures(builder, featuresOffset);\n return Schema.endSchema(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Block } from './block.js';\nimport { KeyValue } from './key-value.js';\nimport { MetadataVersion } from './metadata-version.js';\nimport { Schema } from './schema.js';\n\n\n/**\n * ----------------------------------------------------------------------\n * Arrow File metadata\n *\n */\nexport class Footer {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Footer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsFooter(bb:flatbuffers.ByteBuffer, obj?:Footer):Footer {\n return (obj || new Footer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsFooter(bb:flatbuffers.ByteBuffer, obj?:Footer):Footer {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Footer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nversion():MetadataVersion {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : MetadataVersion.V1;\n}\n\nschema(obj?:Schema):Schema|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Schema()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\ndictionaries(index: number, obj?:Block):Block|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new Block()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n}\n\ndictionariesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nrecordBatches(index: number, obj?:Block):Block|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new Block()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n}\n\nrecordBatchesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\n/**\n * User-defined metadata\n */\ncustomMetadata(index: number, obj?:KeyValue):KeyValue|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncustomMetadataLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startFooter(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addVersion(builder:flatbuffers.Builder, version:MetadataVersion) {\n builder.addFieldInt16(0, version, MetadataVersion.V1);\n}\n\nstatic addSchema(builder:flatbuffers.Builder, schemaOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, schemaOffset, 0);\n}\n\nstatic addDictionaries(builder:flatbuffers.Builder, dictionariesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, dictionariesOffset, 0);\n}\n\nstatic startDictionariesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(24, numElems, 8);\n}\n\nstatic addRecordBatches(builder:flatbuffers.Builder, recordBatchesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, recordBatchesOffset, 0);\n}\n\nstatic startRecordBatchesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(24, numElems, 8);\n}\n\nstatic addCustomMetadata(builder:flatbuffers.Builder, customMetadataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n}\n\nstatic createCustomMetadataVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCustomMetadataVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endFooter(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic finishFooterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset);\n}\n\nstatic finishSizePrefixedFooterBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset, undefined, true);\n}\n\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { Block as _Block } from '../../fb/block.js';\nimport { Footer as _Footer } from '../../fb/footer.js';\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\n\nimport { Schema } from '../../schema.js';\nimport { MetadataVersion } from '../../enum.js';\nimport { toUint8Array } from '../../util/buffer.js';\nimport { ArrayBufferViewInput } from '../../util/buffer.js';\n\n/** @ignore */\nclass Footer_ {\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const footer = _Footer.getRootAsFooter(buf);\n const schema = Schema.decode(footer.schema()!);\n return new OffHeapFooter(schema, footer) as Footer_;\n }\n\n /** @nocollapse */\n public static encode(footer: Footer_) {\n\n const b: Builder = new Builder();\n const schemaOffset = Schema.encode(b, footer.schema);\n\n _Footer.startRecordBatchesVector(b, footer.numRecordBatches);\n for (const rb of [...footer.recordBatches()].slice().reverse()) {\n FileBlock.encode(b, rb);\n }\n const recordBatchesOffset = b.endVector();\n\n _Footer.startDictionariesVector(b, footer.numDictionaries);\n for (const db of [...footer.dictionaryBatches()].slice().reverse()) {\n FileBlock.encode(b, db);\n }\n\n const dictionaryBatchesOffset = b.endVector();\n\n _Footer.startFooter(b);\n _Footer.addSchema(b, schemaOffset);\n _Footer.addVersion(b, MetadataVersion.V4);\n _Footer.addRecordBatches(b, recordBatchesOffset);\n _Footer.addDictionaries(b, dictionaryBatchesOffset);\n _Footer.finishFooterBuffer(b, _Footer.endFooter(b));\n\n return b.asUint8Array();\n }\n\n declare protected _recordBatches: FileBlock[];\n declare protected _dictionaryBatches: FileBlock[];\n public get numRecordBatches() { return this._recordBatches.length; }\n public get numDictionaries() { return this._dictionaryBatches.length; }\n\n constructor(public schema: Schema,\n public version: MetadataVersion = MetadataVersion.V4,\n recordBatches?: FileBlock[], dictionaryBatches?: FileBlock[]) {\n recordBatches && (this._recordBatches = recordBatches);\n dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);\n }\n\n public *recordBatches(): Iterable<FileBlock> {\n for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {\n if (block = this.getRecordBatch(i)) { yield block; }\n }\n }\n\n public *dictionaryBatches(): Iterable<FileBlock> {\n for (let block, i = -1, n = this.numDictionaries; ++i < n;) {\n if (block = this.getDictionaryBatch(i)) { yield block; }\n }\n }\n\n public getRecordBatch(index: number) {\n return index >= 0\n && index < this.numRecordBatches\n && this._recordBatches[index] || null;\n }\n\n public getDictionaryBatch(index: number) {\n return index >= 0\n && index < this.numDictionaries\n && this._dictionaryBatches[index] || null;\n }\n}\n\nexport { Footer_ as Footer };\n\n/** @ignore */\nclass OffHeapFooter extends Footer_ {\n\n public get numRecordBatches() { return this._footer.recordBatchesLength(); }\n public get numDictionaries() { return this._footer.dictionariesLength(); }\n\n constructor(schema: Schema, protected _footer: _Footer) {\n super(schema, _footer.version());\n }\n\n public getRecordBatch(index: number) {\n if (index >= 0 && index < this.numRecordBatches) {\n const fileBlock = this._footer.recordBatches(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n\n public getDictionaryBatch(index: number) {\n if (index >= 0 && index < this.numDictionaries) {\n const fileBlock = this._footer.dictionaries(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n}\n\n/** @ignore */\nexport class FileBlock {\n\n /** @nocollapse */\n public static decode(block: _Block) {\n return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());\n }\n\n /** @nocollapse */\n public static encode(b: Builder, fileBlock: FileBlock) {\n const { metaDataLength } = fileBlock;\n const offset = new Long(fileBlock.offset, 0);\n const bodyLength = new Long(fileBlock.bodyLength, 0);\n return _Block.createBlock(b, offset, metaDataLength, bodyLength);\n }\n\n public offset: number;\n public bodyLength: number;\n public metaDataLength: number;\n\n constructor(metaDataLength: number, bodyLength: Long | number, offset: Long | number) {\n this.metaDataLength = metaDataLength;\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport {\n toUint8Array,\n joinUint8Arrays,\n ArrayBufferViewInput,\n toUint8ArrayIterator,\n toUint8ArrayAsyncIterator\n} from '../util/buffer.js';\n\nimport { ReadableDOMStreamOptions } from './interfaces.js';\n\ntype Uint8ArrayGenerator = Generator<Uint8Array, null, { cmd: 'peek' | 'read'; size: number }>;\ntype AsyncUint8ArrayGenerator = AsyncGenerator<Uint8Array, null, { cmd: 'peek' | 'read'; size: number }>;\n\n/** @ignore */\nexport default {\n fromIterable<T extends ArrayBufferViewInput>(source: Iterable<T> | T): Uint8ArrayGenerator {\n return pump(fromIterable<T>(source));\n },\n fromAsyncIterable<T extends ArrayBufferViewInput>(source: AsyncIterable<T> | PromiseLike<T>): AsyncUint8ArrayGenerator {\n return pump(fromAsyncIterable<T>(source));\n },\n fromDOMStream<T extends ArrayBufferViewInput>(source: ReadableStream<T>): AsyncUint8ArrayGenerator {\n return pump(fromDOMStream<T>(source));\n },\n fromNodeStream(stream: NodeJS.ReadableStream): AsyncUint8ArrayGenerator {\n return pump(fromNodeStream(stream));\n },\n // @ts-ignore\n toDOMStream<T>(source: Iterable<T> | AsyncIterable<T>, options?: ReadableDOMStreamOptions): ReadableStream<T> {\n throw new Error(`\"toDOMStream\" not available in this environment`);\n },\n // @ts-ignore\n toNodeStream<T>(source: Iterable<T> | AsyncIterable<T>, options?: import('stream').ReadableOptions): import('stream').Readable {\n throw new Error(`\"toNodeStream\" not available in this environment`);\n },\n};\n\n/** @ignore */\nconst pump = <T extends Uint8ArrayGenerator | AsyncUint8ArrayGenerator>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nfunction* fromIterable<T extends ArrayBufferViewInput>(source: Iterable<T> | T): Uint8ArrayGenerator {\n\n let done: boolean | undefined, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source Iterator\n ({ cmd, size } = yield <any>null);\n\n // initialize the iterator\n const it = toUint8ArrayIterator(source)[Symbol.iterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength) ?\n it.next() : it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (it.return(null!));\n }\n return null;\n}\n\n/** @ignore */\nasync function* fromAsyncIterable<T extends ArrayBufferViewInput>(source: AsyncIterable<T> | PromiseLike<T>): AsyncUint8ArrayGenerator {\n\n let done: boolean | undefined, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source AsyncIterator\n ({ cmd, size } = (yield <any>null)!);\n\n // initialize the iterator\n const it = toUint8ArrayAsyncIterator(source)[Symbol.asyncIterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength)\n ? await it.next()\n : await it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (await it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (await it.return(new Uint8Array(0)));\n }\n return null;\n}\n\n// All this manual Uint8Array chunk management can be avoided if/when engines\n// add support for ArrayBuffer.transfer() or ArrayBuffer.prototype.realloc():\n// https://github.com/domenic/proposal-arraybuffer-transfer\n/** @ignore */\nasync function* fromDOMStream<T extends ArrayBufferViewInput>(source: ReadableStream<T>): AsyncUint8ArrayGenerator {\n\n let done = false, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we establish the ReadableStream lock\n ({ cmd, size } = yield <any>null);\n\n // initialize the reader and lock the stream\n const it = new AdaptiveByteReader(source);\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = Number.isNaN(size - bufferLength)\n ? await it['read']()\n : await it['read'](size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(toUint8Array(buffer));\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (await it['cancel'](e));\n } finally {\n (threw === false) ? (await it['cancel']())\n : source['locked'] && it.releaseLock();\n }\n return null;\n}\n\n/** @ignore */\nclass AdaptiveByteReader<T extends ArrayBufferViewInput> {\n\n private reader: ReadableStreamDefaultReader<T> | null = null;\n\n constructor(private source: ReadableStream<T>) {\n this.reader = this.source['getReader']();\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.reader['closed'].catch(() => { });\n }\n\n get closed(): Promise<void> {\n return this.reader ? this.reader['closed'].catch(() => { }) : Promise.resolve();\n }\n\n releaseLock(): void {\n if (this.reader) {\n this.reader.releaseLock();\n }\n this.reader = null;\n }\n\n async cancel(reason?: any): Promise<void> {\n const { reader, source } = this;\n reader && (await reader['cancel'](reason).catch(() => { }));\n source && (source['locked'] && this.releaseLock());\n }\n\n async read(size?: number): Promise<ReadableStreamReadValueResult<Uint8Array>> {\n if (size === 0) {\n return { done: this.reader == null, value: new Uint8Array(0) } as ReadableStreamReadValueResult<Uint8Array>;\n }\n const result = await this.reader!.read() as ReadableStreamReadValueResult<any>;\n !result.done && (result.value = toUint8Array(result));\n return result;\n }\n}\n\n/** @ignore */\ntype EventName = 'end' | 'error' | 'readable';\n/** @ignore */\ntype Event = [EventName, (_: any) => void, Promise<[EventName, Error | null]>];\n/** @ignore */\nconst onEvent = <T extends string>(stream: NodeJS.ReadableStream, event: T) => {\n const handler = (_: any) => resolve([event, _]);\n let resolve: (value: [T, any] | PromiseLike<[T, any]>) => void;\n return [event, handler, new Promise<[T, any]>(\n (r) => (resolve = r) && stream['once'](event, handler)\n )] as Event;\n};\n\n/** @ignore */\nasync function* fromNodeStream(stream: NodeJS.ReadableStream): AsyncUint8ArrayGenerator {\n\n const events: Event[] = [];\n let event: EventName = 'error';\n let done = false, err: Error | null = null;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n let buffers: Uint8Array[] = [], buffer: Uint8Array | Buffer | string;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we\n // add the listener for the source stream's 'readable' event.\n ({ cmd, size } = yield <any>null);\n\n // ignore stdin if it's a TTY\n if ((stream as any)['isTTY']) {\n yield new Uint8Array(0);\n return null;\n }\n\n try {\n // initialize the stream event handlers\n events[0] = onEvent(stream, 'end');\n events[1] = onEvent(stream, 'error');\n\n do {\n events[2] = onEvent(stream, 'readable');\n\n // wait on the first message event from the stream\n [event, err] = await Promise.race(events.map((x) => x[2]));\n\n // if the stream emitted an Error, rethrow it\n if (event === 'error') { break; }\n if (!(done = event === 'end')) {\n // If the size is NaN, request to read everything in the stream's internal buffer\n if (!Number.isFinite(size - bufferLength)) {\n buffer = toUint8Array(stream['read']());\n } else {\n buffer = toUint8Array(stream['read'](size - bufferLength));\n // If the byteLength is 0, then the requested amount is more than the stream has\n // in its internal buffer. In this case the stream needs a \"kick\" to tell it to\n // continue emitting readable events, so request to read everything the stream\n // has in its internal buffer right now.\n if ((buffer as Uint8Array).byteLength < (size - bufferLength)) {\n buffer = toUint8Array(stream['read']());\n }\n }\n // if chunk is not null or empty, push it onto the queue\n if ((buffer as Uint8Array).byteLength > 0) {\n buffers.push(buffer as Uint8Array);\n bufferLength += (buffer as Uint8Array).byteLength;\n }\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } finally {\n await cleanup(events, event === 'error' ? err : null);\n }\n\n return null;\n\n function cleanup<T extends Error | null | void>(events: Event[], err?: T) {\n buffer = buffers = <any>null;\n return new Promise<void>((resolve, reject) => {\n for (const [evt, fn] of events) {\n stream['off'](evt, fn);\n }\n try {\n // Some stream implementations don't call the destroy callback,\n // because it's really a node-internal API. Just calling `destroy`\n // here should be enough to conform to the ReadableStream contract\n const destroy = (stream as any)['destroy'];\n destroy && destroy.call(stream, err);\n err = undefined;\n } catch (e) { err = e as T || err; } finally {\n err != null ? reject(err) : resolve();\n }\n });\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters.js';\n\n/** @ignore */\nexport const ITERATOR_DONE: any = Object.freeze({ done: true, value: void (0) });\n\n/** @ignore */\nexport type FileHandle = import('fs').promises.FileHandle;\n/** @ignore */\nexport type ArrowJSONLike = { schema: any; batches?: any[]; dictionaries?: any[] };\n/** @ignore */\nexport type ReadableDOMStreamOptions = { type: 'bytes' | undefined; autoAllocateChunkSize?: number; highWaterMark?: number };\n\n/** @ignore */\nexport class ArrowJSON {\n constructor(private _json: ArrowJSONLike) { }\n public get schema(): any { return this._json['schema']; }\n public get batches(): any[] { return (this._json['batches'] || []) as any[]; }\n public get dictionaries(): any[] { return (this._json['dictionaries'] || []) as any[]; }\n}\n\n/** @ignore */\nexport interface Readable<T> {\n\n readonly closed: Promise<void>;\n cancel(reason?: any): Promise<void>;\n\n read(size?: number | null): Promise<T | null>;\n peek(size?: number | null): Promise<T | null>;\n throw(value?: any): Promise<IteratorResult<any>>;\n return(value?: any): Promise<IteratorResult<any>>;\n next(size?: number | null): Promise<IteratorResult<T>>;\n}\n\n/** @ignore */\nexport interface Writable<T> {\n readonly closed: Promise<void>;\n close(): void;\n write(chunk: T): void;\n abort(reason?: any): void;\n}\n\n/** @ignore */\nexport interface ReadableWritable<TReadable, TWritable> extends Readable<TReadable>, Writable<TWritable> {\n [Symbol.asyncIterator](): AsyncIterableIterator<TReadable>;\n toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream<TReadable>;\n toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n}\n\n/** @ignore */\nexport abstract class ReadableInterop<T> {\n\n public abstract toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream<T>;\n public abstract toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n\n public tee(): [ReadableStream<T>, ReadableStream<T>] {\n return this._getDOMStream().tee();\n }\n public pipe<R extends NodeJS.WritableStream>(writable: R, options?: { end?: boolean }) {\n return this._getNodeStream().pipe(writable, options);\n }\n public pipeTo(writable: WritableStream<T>, options?: StreamPipeOptions) { return this._getDOMStream().pipeTo(writable, options); }\n public pipeThrough<R extends ReadableStream<any>>(duplex: { writable: WritableStream<T>; readable: R }, options?: StreamPipeOptions) {\n return this._getDOMStream().pipeThrough(duplex, options);\n }\n\n protected _DOMStream?: ReadableStream<T>;\n private _getDOMStream() {\n return this._DOMStream || (this._DOMStream = this.toDOMStream());\n }\n\n protected _nodeStream?: import('stream').Readable;\n private _getNodeStream() {\n return this._nodeStream || (this._nodeStream = this.toNodeStream());\n }\n}\n\n/** @ignore */\ntype Resolution<T> = { resolve: (value: T | PromiseLike<T>) => void; reject: (reason?: any) => void };\n\n/** @ignore */\nexport class AsyncQueue<TReadable = Uint8Array, TWritable = TReadable> extends ReadableInterop<TReadable>\n implements AsyncIterableIterator<TReadable>, ReadableWritable<TReadable, TWritable> {\n\n protected _values: TWritable[] = [];\n protected _error?: { error: any };\n protected _closedPromise: Promise<void>;\n protected _closedPromiseResolve?: (value?: any) => void;\n protected resolvers: Resolution<IteratorResult<TReadable>>[] = [];\n\n constructor() {\n super();\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n\n public get closed(): Promise<void> { return this._closedPromise; }\n public async cancel(reason?: any) { await this.return(reason); }\n public write(value: TWritable) {\n if (this._ensureOpen()) {\n this.resolvers.length <= 0\n ? (this._values.push(value))\n : (this.resolvers.shift()!.resolve({ done: false, value } as any));\n }\n }\n public abort(value?: any) {\n if (this._closedPromiseResolve) {\n this.resolvers.length <= 0\n ? (this._error = { error: value })\n : (this.resolvers.shift()!.reject({ done: true, value }));\n }\n }\n public close() {\n if (this._closedPromiseResolve) {\n const { resolvers } = this;\n while (resolvers.length > 0) {\n resolvers.shift()!.resolve(ITERATOR_DONE);\n }\n this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n }\n }\n\n public [Symbol.asyncIterator]() { return this; }\n public toDOMStream(options?: ReadableDOMStreamOptions) {\n return streamAdapters.toDOMStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable<TReadable>)\n : (this._values as any) as Iterable<TReadable>,\n options);\n }\n public toNodeStream(options?: import('stream').ReadableOptions) {\n return streamAdapters.toNodeStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable<TReadable>)\n : (this._values as any) as Iterable<TReadable>,\n options);\n }\n public async throw(_?: any) { await this.abort(_); return ITERATOR_DONE; }\n public async return(_?: any) { await this.close(); return ITERATOR_DONE; }\n\n public async read(size?: number | null): Promise<TReadable | null> { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise<TReadable | null> { return (await this.next(size, 'peek')).value; }\n public next(..._args: any[]): Promise<IteratorResult<TReadable>> {\n if (this._values.length > 0) {\n return Promise.resolve({ done: false, value: this._values.shift()! } as any);\n } else if (this._error) {\n return Promise.reject({ done: true, value: this._error.error });\n } else if (!this._closedPromiseResolve) {\n return Promise.resolve(ITERATOR_DONE);\n } else {\n return new Promise<IteratorResult<TReadable>>((resolve, reject) => {\n this.resolvers.push({ resolve, reject });\n });\n }\n }\n\n protected _ensureOpen() {\n if (this._closedPromiseResolve) {\n return true;\n }\n throw new Error(`AsyncQueue is closed`);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters.js';\nimport { decodeUtf8 } from '../util/utf8.js';\nimport { ITERATOR_DONE, Readable, Writable, AsyncQueue } from './interfaces.js';\nimport { toUint8Array, joinUint8Arrays, ArrayBufferViewInput } from '../util/buffer.js';\n\nimport {\n isPromise, isFetchResponse,\n isIterable, isAsyncIterable,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat.js';\n\n/** @ignore */\nexport type WritableSink<T> = Writable<T> | WritableStream<T> | NodeJS.WritableStream | null;\n/** @ignore */\nexport type ReadableSource<T> = Readable<T> | PromiseLike<T> | AsyncIterable<T> | ReadableStream<T> | NodeJS.ReadableStream | null;\n\n/** @ignore */\nexport class AsyncByteQueue<T extends ArrayBufferViewInput = Uint8Array> extends AsyncQueue<Uint8Array, T> {\n public write(value: ArrayBufferViewInput | Uint8Array) {\n if ((value = toUint8Array(value)).byteLength > 0) {\n return super.write(value as T);\n }\n }\n public toString(sync: true): string;\n public toString(sync?: false): Promise<string>;\n public toString(sync = false) {\n return sync\n ? decodeUtf8(this.toUint8Array(true))\n : this.toUint8Array(false).then(decodeUtf8);\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise<Uint8Array>;\n public toUint8Array(sync = false) {\n return sync ? joinUint8Arrays(this._values as any[])[0] : (async () => {\n const buffers = [];\n let byteLength = 0;\n for await (const chunk of this) {\n buffers.push(chunk);\n byteLength += chunk.byteLength;\n }\n return joinUint8Arrays(buffers, byteLength)[0];\n })();\n }\n}\n\n/** @ignore */\nexport class ByteStream implements IterableIterator<Uint8Array> {\n declare private source: ByteStreamSource<Uint8Array>;\n constructor(source?: Iterable<ArrayBufferViewInput> | ArrayBufferViewInput) {\n if (source) {\n this.source = new ByteStreamSource(streamAdapters.fromIterable(source));\n }\n }\n [Symbol.iterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\nexport class AsyncByteStream implements Readable<Uint8Array>, AsyncIterableIterator<Uint8Array> {\n declare private source: AsyncByteStreamSource<Uint8Array>;\n constructor(source?: PromiseLike<ArrayBufferViewInput> | Response | ReadableStream<ArrayBufferViewInput> | NodeJS.ReadableStream | AsyncIterable<ArrayBufferViewInput> | Iterable<ArrayBufferViewInput>) {\n if (source instanceof AsyncByteStream) {\n this.source = (source as AsyncByteStream).source;\n } else if (source instanceof AsyncByteQueue) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isReadableNodeStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromNodeStream(source));\n } else if (isReadableDOMStream<ArrayBufferViewInput>(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source));\n } else if (isFetchResponse(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source.body!));\n } else if (isIterable<ArrayBufferViewInput>(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromIterable(source));\n } else if (isPromise<ArrayBufferViewInput>(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isAsyncIterable<ArrayBufferViewInput>(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n }\n [Symbol.asyncIterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public get closed(): Promise<void> { return this.source.closed; }\n public cancel(reason?: any) { return this.source.cancel(reason); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\ntype ByteStreamSourceIterator<T> = Generator<T, null, { cmd: 'peek' | 'read'; size?: number | null }>;\n/** @ignore */\ntype AsyncByteStreamSourceIterator<T> = AsyncGenerator<T, null, { cmd: 'peek' | 'read'; size?: number | null }>;\n\n/** @ignore */\nclass ByteStreamSource<T> {\n constructor(protected source: ByteStreamSourceIterator<T>) { }\n public cancel(reason?: any) { this.return(reason); }\n public peek(size?: number | null): T | null { return this.next(size, 'peek').value; }\n public read(size?: number | null): T | null { return this.next(size, 'read').value; }\n public next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return this.source.next({ cmd, size }); }\n public throw(value?: any) { return Object.create((this.source.throw && this.source.throw(value)) || ITERATOR_DONE); }\n public return(value?: any) { return Object.create((this.source.return && this.source.return(value)) || ITERATOR_DONE); }\n}\n\n/** @ignore */\nclass AsyncByteStreamSource<T> implements Readable<T> {\n\n private _closedPromise: Promise<void>;\n private _closedPromiseResolve?: (value?: any) => void;\n constructor(protected source: ByteStreamSourceIterator<T> | AsyncByteStreamSourceIterator<T>) {\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n public async cancel(reason?: any) { await this.return(reason); }\n public get closed(): Promise<void> { return this._closedPromise; }\n public async read(size?: number | null): Promise<T | null> { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise<T | null> { return (await this.next(size, 'peek')).value; }\n public async next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return (await this.source.next({ cmd, size })); }\n public async throw(value?: any) {\n const result = (this.source.throw && await this.source.throw(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n public async return(value?: any) {\n const result = (this.source.return && await this.source.return(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FileHandle } from './interfaces.js';\nimport { ByteStream, AsyncByteStream } from './stream.js';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer.js';\n\n/** @ignore */\nexport class RandomAccessFile extends ByteStream {\n public size: number;\n public position = 0;\n protected buffer: Uint8Array | null;\n constructor(buffer: ArrayBufferViewInput, byteLength?: number) {\n super();\n this.buffer = toUint8Array(buffer);\n this.size = typeof byteLength === 'undefined' ? this.buffer!.byteLength : byteLength;\n }\n public readInt32(position: number) {\n const { buffer, byteOffset } = this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public seek(position: number) {\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public read(nBytes?: number | null) {\n const { buffer, size, position } = this;\n if (buffer && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Number.POSITIVE_INFINITY; }\n this.position = Math.min(size,\n position + Math.min(size - position, nBytes));\n return buffer.subarray(position, this.position);\n }\n return null;\n }\n public readAt(position: number, nBytes: number) {\n const buf = this.buffer;\n const end = Math.min(this.size, position + nBytes);\n return buf ? buf.subarray(position, end) : new Uint8Array(nBytes);\n }\n public close() { this.buffer && (this.buffer = null); }\n public throw(value?: any) { this.close(); return { done: true, value }; }\n public return(value?: any) { this.close(); return { done: true, value }; }\n}\n\n/** @ignore */\nexport class AsyncRandomAccessFile extends AsyncByteStream {\n declare public size: number;\n public position = 0;\n public _pending?: Promise<void>;\n protected _handle: FileHandle | null;\n constructor(file: FileHandle, byteLength?: number) {\n super();\n this._handle = file;\n if (typeof byteLength === 'number') {\n this.size = byteLength;\n } else {\n this._pending = (async () => {\n this.size = (await file.stat()).size;\n delete this._pending;\n })();\n }\n }\n public async readInt32(position: number) {\n const { buffer, byteOffset } = await this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public async seek(position: number) {\n this._pending && await this._pending;\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public async read(nBytes?: number | null) {\n this._pending && await this._pending;\n const { _handle: file, size, position } = this;\n if (file && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Number.POSITIVE_INFINITY; }\n let pos = position, offset = 0, bytesRead = 0;\n const end = Math.min(size, pos + Math.min(size - pos, nBytes));\n const buffer = new Uint8Array(Math.max(0, (this.position = end) - pos));\n while ((pos += bytesRead) < end && (offset += bytesRead) < buffer.byteLength) {\n ({ bytesRead } = await file.read(buffer, offset, buffer.byteLength - offset, pos));\n }\n return buffer;\n }\n return null;\n }\n public async readAt(position: number, nBytes: number) {\n this._pending && await this._pending;\n const { _handle: file, size } = this;\n if (file && (position + nBytes) < size) {\n const end = Math.min(size, position + nBytes);\n const buffer = new Uint8Array(end - position);\n return (await file.read(buffer, 0, nBytes, position)).buffer;\n }\n return new Uint8Array(nBytes);\n }\n public async close() { const f = this._handle; this._handle = null; f && await f.close(); }\n public async throw(value?: any) { await this.close(); return { done: true, value }; }\n public async return(value?: any) { await this.close(); return { done: true, value }; }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nconst carryBit16 = 1 << 16;\n\n/** @ignore */\nfunction intAsHex(value: number): string {\n if (value < 0) {\n value = 0xFFFFFFFF + value + 1;\n }\n return `0x${value.toString(16)}`;\n}\n\n/** @ignore */\nconst kInt32DecimalDigits = 8;\n/** @ignore */\nconst kPowersOfTen = [\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000\n];\n\n/** @ignore */\nexport class BaseInt64 {\n constructor(protected buffer: Uint32Array) { }\n\n public high(): number { return this.buffer[1]; }\n public low(): number { return this.buffer[0]; }\n\n protected _times(other: BaseInt64) {\n // Break the left and right numbers into 16 bit chunks\n // so that we can multiply them without overflow.\n const L = new Uint32Array([\n this.buffer[1] >>> 16,\n this.buffer[1] & 0xFFFF,\n this.buffer[0] >>> 16,\n this.buffer[0] & 0xFFFF\n ]);\n\n const R = new Uint32Array([\n other.buffer[1] >>> 16,\n other.buffer[1] & 0xFFFF,\n other.buffer[0] >>> 16,\n other.buffer[0] & 0xFFFF\n ]);\n\n let product = L[3] * R[3];\n this.buffer[0] = product & 0xFFFF;\n\n let sum = product >>> 16;\n\n product = L[2] * R[3];\n sum += product;\n\n product = (L[3] * R[2]) >>> 0;\n sum += product;\n\n this.buffer[0] += sum << 16;\n\n this.buffer[1] = (sum >>> 0 < product ? carryBit16 : 0);\n\n this.buffer[1] += sum >>> 16;\n this.buffer[1] += L[1] * R[3] + L[2] * R[2] + L[3] * R[1];\n this.buffer[1] += (L[0] * R[3] + L[1] * R[2] + L[2] * R[1] + L[3] * R[0]) << 16;\n\n return this;\n }\n\n protected _plus(other: BaseInt64) {\n const sum = (this.buffer[0] + other.buffer[0]) >>> 0;\n this.buffer[1] += other.buffer[1];\n if (sum < (this.buffer[0] >>> 0)) {\n ++this.buffer[1];\n }\n this.buffer[0] = sum;\n }\n\n public lessThan(other: BaseInt64): boolean {\n return this.buffer[1] < other.buffer[1] ||\n (this.buffer[1] === other.buffer[1] && this.buffer[0] < other.buffer[0]);\n }\n\n public equals(other: BaseInt64): boolean {\n return this.buffer[1] === other.buffer[1] && this.buffer[0] == other.buffer[0];\n }\n\n public greaterThan(other: BaseInt64): boolean {\n return other.lessThan(this);\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n}\n\n/** @ignore */\nexport class Uint64 extends BaseInt64 {\n public times(other: Uint64): Uint64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Uint64): Uint64 {\n this._plus(other);\n return this;\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Uint64 {\n return Uint64.fromString(\n typeof (val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Uint64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Uint64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Uint64 {\n const length = str.length;\n\n const out = new Uint64(out_buffer);\n for (let posn = 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Uint64(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0]));\n const multiple = new Uint64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string | number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Uint64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Uint64, right: Uint64): Uint64 {\n const rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Uint64, right: Uint64): Uint64 {\n const rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int64 extends BaseInt64 {\n public negate(): Int64 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n return this;\n }\n\n public times(other: Int64): Int64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Int64): Int64 {\n this._plus(other);\n return this;\n }\n\n public lessThan(other: Int64): boolean {\n // force high bytes to be signed\n // eslint-disable-next-line unicorn/prefer-math-trunc\n const this_high = this.buffer[1] << 0;\n // eslint-disable-next-line unicorn/prefer-math-trunc\n const other_high = other.buffer[1] << 0;\n return this_high < other_high ||\n (this_high === other_high && this.buffer[0] < other.buffer[0]);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Int64 {\n return Int64.fromString(\n typeof (val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Int64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Int64 {\n // TODO: Assert that out_buffer is 0 and length = 2\n const negate = str.startsWith('-');\n const length = str.length;\n\n const out = new Int64(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int64(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0]));\n const multiple = new Int64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string | number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Int64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Int64, right: Int64): Int64 {\n const rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int64, right: Int64): Int64 {\n const rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int128 {\n constructor(private buffer: Uint32Array) {\n // buffer[3] MSB (high)\n // buffer[2]\n // buffer[1]\n // buffer[0] LSB (low)\n }\n\n public high(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n }\n\n public low(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset, 2));\n }\n\n public negate(): Int128 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n this.buffer[2] = ~this.buffer[2];\n this.buffer[3] = ~this.buffer[3];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n if (this.buffer[1] == 0) { ++this.buffer[2]; }\n if (this.buffer[2] == 0) { ++this.buffer[3]; }\n return this;\n }\n\n public times(other: Int128): Int128 {\n // Break the left and right numbers into 32 bit chunks\n // so that we can multiply them without overflow.\n const L0 = new Uint64(new Uint32Array([this.buffer[3], 0]));\n const L1 = new Uint64(new Uint32Array([this.buffer[2], 0]));\n const L2 = new Uint64(new Uint32Array([this.buffer[1], 0]));\n const L3 = new Uint64(new Uint32Array([this.buffer[0], 0]));\n\n const R0 = new Uint64(new Uint32Array([other.buffer[3], 0]));\n const R1 = new Uint64(new Uint32Array([other.buffer[2], 0]));\n const R2 = new Uint64(new Uint32Array([other.buffer[1], 0]));\n const R3 = new Uint64(new Uint32Array([other.buffer[0], 0]));\n\n let product = Uint64.multiply(L3, R3);\n this.buffer[0] = product.low();\n\n const sum = new Uint64(new Uint32Array([product.high(), 0]));\n\n product = Uint64.multiply(L2, R3);\n sum.plus(product);\n\n product = Uint64.multiply(L3, R2);\n sum.plus(product);\n\n this.buffer[1] = sum.low();\n\n this.buffer[3] = (sum.lessThan(product) ? 1 : 0);\n\n this.buffer[2] = sum.high();\n const high = new Uint64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n\n high.plus(Uint64.multiply(L1, R3))\n .plus(Uint64.multiply(L2, R2))\n .plus(Uint64.multiply(L3, R1));\n this.buffer[3] += Uint64.multiply(L0, R3)\n .plus(Uint64.multiply(L1, R2))\n .plus(Uint64.multiply(L2, R1))\n .plus(Uint64.multiply(L3, R0)).low();\n\n return this;\n }\n\n public plus(other: Int128): Int128 {\n const sums = new Uint32Array(4);\n sums[3] = (this.buffer[3] + other.buffer[3]) >>> 0;\n sums[2] = (this.buffer[2] + other.buffer[2]) >>> 0;\n sums[1] = (this.buffer[1] + other.buffer[1]) >>> 0;\n sums[0] = (this.buffer[0] + other.buffer[0]) >>> 0;\n\n if (sums[0] < (this.buffer[0] >>> 0)) {\n ++sums[1];\n }\n if (sums[1] < (this.buffer[1] >>> 0)) {\n ++sums[2];\n }\n if (sums[2] < (this.buffer[2] >>> 0)) {\n ++sums[3];\n }\n\n this.buffer[3] = sums[3];\n this.buffer[2] = sums[2];\n this.buffer[1] = sums[1];\n this.buffer[0] = sums[0];\n\n return this;\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[3])} ${intAsHex(this.buffer[2])} ${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n\n /** @nocollapse */\n public static multiply(left: Int128, right: Int128): Int128 {\n const rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int128, right: Int128): Int128 {\n const rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(4)): Int128 {\n return Int128.fromString(\n typeof (val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(4)): Int128 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int128.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(4)): Int128 {\n // TODO: Assert that out_buffer is 0 and length = 4\n const negate = str.startsWith('-');\n const length = str.length;\n\n const out = new Int128(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int128(new Uint32Array([Number.parseInt(str.slice(posn, posn + group), 10), 0, 0, 0]));\n const multiple = new Int128(new Uint32Array([kPowersOfTen[group], 0, 0, 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string | number)[]): Uint32Array {\n // TODO: Distinguish between string and number at compile-time\n const data = new Uint32Array(values.length * 4);\n for (let i = -1, n = values.length; ++i < n;) {\n Int128.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 4 * 4 * i, 4));\n }\n return data;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data, makeData } from '../data.js';\nimport * as type from '../type.js';\nimport { Field } from '../schema.js';\nimport { Vector } from '../vector.js';\nimport { DataType } from '../type.js';\nimport { Visitor } from '../visitor.js';\nimport { packBools } from '../util/bit.js';\nimport { encodeUtf8 } from '../util/utf8.js';\nimport { Int64, Int128 } from '../util/int.js';\nimport { UnionMode, DateUnit } from '../enum.js';\nimport { toArrayBufferView } from '../util/buffer.js';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message.js';\n\n/** @ignore */\nexport interface VectorLoader extends Visitor {\n visit<T extends DataType>(node: Field<T> | T): Data<T>;\n visitMany<T extends DataType>(nodes: (Field<T> | T)[]): Data<T>[];\n}\n\n/** @ignore */\nexport class VectorLoader extends Visitor {\n private bytes: Uint8Array;\n private nodes: FieldNode[];\n private nodesIndex = -1;\n private buffers: BufferRegion[];\n private buffersIndex = -1;\n private dictionaries: Map<number, Vector<any>>;\n constructor(bytes: Uint8Array, nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map<number, Vector<any>>) {\n super();\n this.bytes = bytes;\n this.nodes = nodes;\n this.buffers = buffers;\n this.dictionaries = dictionaries;\n }\n\n public visit<T extends DataType>(node: Field<T> | T): Data<T> {\n return super.visit(node instanceof Field ? node.type : node);\n }\n\n public visitNull<T extends type.Null>(type: T, { length } = this.nextFieldNode()) {\n return makeData({ type, length });\n }\n public visitBool<T extends type.Bool>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitInt<T extends type.Int>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitFloat<T extends type.Float>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitUtf8<T extends type.Utf8>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), data: this.readData(type) });\n }\n public visitBinary<T extends type.Binary>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), data: this.readData(type) });\n }\n public visitFixedSizeBinary<T extends type.FixedSizeBinary>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitDate<T extends type.Date_>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitTimestamp<T extends type.Timestamp>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitTime<T extends type.Time>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitDecimal<T extends type.Decimal>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitList<T extends type.List>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), 'child': this.visit(type.children[0]) });\n }\n public visitStruct<T extends type.Struct>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), children: this.visitMany(type.children) });\n }\n public visitUnion<T extends type.Union>(type: T) {\n return type.mode === UnionMode.Sparse ? this.visitSparseUnion(type as type.SparseUnion) : this.visitDenseUnion(type as type.DenseUnion);\n }\n public visitDenseUnion<T extends type.DenseUnion>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), typeIds: this.readTypeIds(type), valueOffsets: this.readOffsets(type), children: this.visitMany(type.children) });\n }\n public visitSparseUnion<T extends type.SparseUnion>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), typeIds: this.readTypeIds(type), children: this.visitMany(type.children) });\n }\n public visitDictionary<T extends type.Dictionary>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type.indices), dictionary: this.readDictionary(type) });\n }\n public visitInterval<T extends type.Interval>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), data: this.readData(type) });\n }\n public visitFixedSizeList<T extends type.FixedSizeList>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), 'child': this.visit(type.children[0]) });\n }\n public visitMap<T extends type.Map_>(type: T, { length, nullCount } = this.nextFieldNode()) {\n return makeData({ type, length, nullCount, nullBitmap: this.readNullBitmap(type, nullCount), valueOffsets: this.readOffsets(type), 'child': this.visit(type.children[0]) });\n }\n\n protected nextFieldNode() { return this.nodes[++this.nodesIndex]; }\n protected nextBufferRange() { return this.buffers[++this.buffersIndex]; }\n protected readNullBitmap<T extends DataType>(type: T, nullCount: number, buffer = this.nextBufferRange()) {\n return nullCount > 0 && this.readData(type, buffer) || new Uint8Array(0);\n }\n protected readOffsets<T extends DataType>(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readTypeIds<T extends DataType>(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readData<T extends DataType>(_type: T, { length, offset } = this.nextBufferRange()) {\n return this.bytes.subarray(offset, offset + length);\n }\n protected readDictionary<T extends type.Dictionary>(type: T): Vector<T['dictionary']> {\n return this.dictionaries.get(type.id)!;\n }\n}\n\n/** @ignore */\nexport class JSONVectorLoader extends VectorLoader {\n private sources: any[][];\n constructor(sources: any[][], nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map<number, Vector<any>>) {\n super(new Uint8Array(0), nodes, buffers, dictionaries);\n this.sources = sources;\n }\n protected readNullBitmap<T extends DataType>(_type: T, nullCount: number, { offset } = this.nextBufferRange()) {\n return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);\n }\n protected readOffsets<T extends DataType>(_type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(Int32Array, this.sources[offset]));\n }\n protected readTypeIds<T extends DataType>(type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));\n }\n protected readData<T extends DataType>(type: T, { offset } = this.nextBufferRange()) {\n const { sources } = this;\n if (DataType.isTimestamp(type)) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDecimal(type)) {\n return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset] as string[]));\n } else if (DataType.isBinary(type) || DataType.isFixedSizeBinary(type)) {\n return binaryDataFromJSON(sources[offset] as string[]);\n } else if (DataType.isBool(type)) {\n return packBools(sources[offset] as number[]);\n } else if (DataType.isUtf8(type)) {\n return encodeUtf8((sources[offset] as string[]).join(''));\n }\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));\n }\n}\n\n/** @ignore */\nfunction binaryDataFromJSON(values: string[]) {\n // \"DATA\": [\"49BC7D5B6C47D2\",\"3F5FB6D9322026\"]\n // There are definitely more efficient ways to do this... but it gets the\n // job done.\n const joined = values.join('');\n const data = new Uint8Array(joined.length / 2);\n for (let i = 0; i < joined.length; i += 2) {\n data[i >> 1] = Number.parseInt(joined.slice(i, i + 2), 16);\n }\n return data;\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\n/**\n * Provided for forward compatibility in case we need to support different\n * strategies for compressing the IPC message body (like whole-body\n * compression rather than buffer-level) in the future\n */\nexport enum BodyCompressionMethod{\n /**\n * Each constituent buffer is first compressed with the indicated\n * compressor, and then written with the uncompressed length in the first 8\n * bytes as a 64-bit little-endian signed integer followed by the compressed\n * buffer bytes (and then padding as required by the protocol). The\n * uncompressed length may be set to -1 to indicate that the data that\n * follows is not compressed, which can be useful for cases where\n * compression does not yield appreciable savings.\n */\n BUFFER = 0\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum CompressionType{\n LZ4_FRAME = 0,\n ZSTD = 1\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum Precision{\n HALF = 0,\n SINGLE = 1,\n DOUBLE = 2\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum DateUnit{\n DAY = 0,\n MILLISECOND = 1\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum TimeUnit{\n SECOND = 0,\n MILLISECOND = 1,\n MICROSECOND = 2,\n NANOSECOND = 3\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum IntervalUnit{\n YEAR_MONTH = 0,\n DAY_TIME = 1,\n MONTH_DAY_NANO = 2\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nexport enum UnionMode{\n Sparse = 0,\n Dense = 1\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { DictionaryBatch } from './dictionary-batch.js';\nimport { RecordBatch } from './record-batch.js';\nimport { Schema } from './schema.js';\nimport { SparseTensor } from './sparse-tensor.js';\nimport { Tensor } from './tensor.js';\n\n\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n */\nexport enum MessageHeader{\n NONE = 0,\n Schema = 1,\n DictionaryBatch = 2,\n RecordBatch = 3,\n Tensor = 4,\n SparseTensor = 5\n}\n\nexport function unionToMessageHeader(\n type: MessageHeader,\n accessor: (obj:DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor) => DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null\n): DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null {\n switch(MessageHeader[type]) {\n case 'NONE': return null;\n case 'Schema': return accessor(new Schema())! as Schema;\n case 'DictionaryBatch': return accessor(new DictionaryBatch())! as DictionaryBatch;\n case 'RecordBatch': return accessor(new RecordBatch())! as RecordBatch;\n case 'Tensor': return accessor(new Tensor())! as Tensor;\n case 'SparseTensor': return accessor(new SparseTensor())! as SparseTensor;\n default: return null;\n }\n}\n\nexport function unionListToMessageHeader(\n type: MessageHeader,\n accessor: (index: number, obj:DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor) => DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null,\n index: number\n): DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null {\n switch(MessageHeader[type]) {\n case 'NONE': return null;\n case 'Schema': return accessor(index, new Schema())! as Schema;\n case 'DictionaryBatch': return accessor(index, new DictionaryBatch())! as DictionaryBatch;\n case 'RecordBatch': return accessor(index, new RecordBatch())! as RecordBatch;\n case 'Tensor': return accessor(index, new Tensor())! as Tensor;\n case 'SparseTensor': return accessor(index, new SparseTensor())! as SparseTensor;\n default: return null;\n }\n}\n\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { BodyCompressionMethod } from './body-compression-method.js';\nimport { CompressionType } from './compression-type.js';\n\n\n/**\n * Optional compression for the memory buffers constituting IPC message\n * bodies. Intended for use with RecordBatch but could be used for other\n * message types\n */\nexport class BodyCompression {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):BodyCompression {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsBodyCompression(bb:flatbuffers.ByteBuffer, obj?:BodyCompression):BodyCompression {\n return (obj || new BodyCompression()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsBodyCompression(bb:flatbuffers.ByteBuffer, obj?:BodyCompression):BodyCompression {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new BodyCompression()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Compressor library.\n * For LZ4_FRAME, each compressed buffer must consist of a single frame.\n */\ncodec():CompressionType {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt8(this.bb_pos + offset) : CompressionType.LZ4_FRAME;\n}\n\n/**\n * Indicates the way the record batch body was compressed\n */\nmethod():BodyCompressionMethod {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt8(this.bb_pos + offset) : BodyCompressionMethod.BUFFER;\n}\n\nstatic startBodyCompression(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addCodec(builder:flatbuffers.Builder, codec:CompressionType) {\n builder.addFieldInt8(0, codec, CompressionType.LZ4_FRAME);\n}\n\nstatic addMethod(builder:flatbuffers.Builder, method:BodyCompressionMethod) {\n builder.addFieldInt8(1, method, BodyCompressionMethod.BUFFER);\n}\n\nstatic endBodyCompression(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createBodyCompression(builder:flatbuffers.Builder, codec:CompressionType, method:BodyCompressionMethod):flatbuffers.Offset {\n BodyCompression.startBodyCompression(builder);\n BodyCompression.addCodec(builder, codec);\n BodyCompression.addMethod(builder, method);\n return BodyCompression.endBodyCompression(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * ----------------------------------------------------------------------\n * A Buffer represents a single contiguous memory segment\n */\nexport class Buffer {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Buffer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\n/**\n * The relative offset into the shared memory page where the bytes for this\n * buffer starts\n */\noffset():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n}\n\n/**\n * The absolute length (in bytes) of the memory buffer. The memory is found\n * from offset (inclusive) to offset + length (non-inclusive). When building\n * messages using the encapsulated IPC message, padding bytes may be written\n * after a buffer, but such padding bytes do not need to be accounted for in\n * the size here.\n */\nlength():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n}\n\nstatic sizeOf():number {\n return 16;\n}\n\nstatic createBuffer(builder:flatbuffers.Builder, offset: flatbuffers.Long, length: flatbuffers.Long):flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(length);\n builder.writeInt64(offset);\n return builder.offset();\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * ----------------------------------------------------------------------\n * Data structures for describing a table row batch (a collection of\n * equal-length Arrow arrays)\n * Metadata about a field at some level of a nested type tree (but not\n * its children).\n *\n * For example, a List<Int16> with values `[[1, 2, 3], null, [4], [5, 6], null]`\n * would have {length: 5, null_count: 2} for its List node, and {length: 6,\n * null_count: 0} for its Int16 node, as separate FieldNode structs\n */\nexport class FieldNode {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):FieldNode {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\n/**\n * The number of value slots in the Arrow array at this level of a nested\n * tree\n */\nlength():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n}\n\n/**\n * The number of observed nulls. Fields with null_count == 0 may choose not\n * to write their physical validity bitmap out as a materialized buffer,\n * instead setting the length of the bitmap buffer to 0.\n */\nnullCount():flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n}\n\nstatic sizeOf():number {\n return 16;\n}\n\nstatic createFieldNode(builder:flatbuffers.Builder, length: flatbuffers.Long, null_count: flatbuffers.Long):flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(null_count);\n builder.writeInt64(length);\n return builder.offset();\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { BodyCompression } from './body-compression.js';\nimport { Buffer } from './buffer.js';\nimport { FieldNode } from './field-node.js';\n\n\n/**\n * A data header describing the shared memory layout of a \"record\" or \"row\"\n * batch. Some systems call this a \"row batch\" internally and others a \"record\n * batch\".\n */\nexport class RecordBatch {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):RecordBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsRecordBatch(bb:flatbuffers.ByteBuffer, obj?:RecordBatch):RecordBatch {\n return (obj || new RecordBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsRecordBatch(bb:flatbuffers.ByteBuffer, obj?:RecordBatch):RecordBatch {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new RecordBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * number of records / rows. The arrays in the batch should all have this\n * length\n */\nlength():flatbuffers.Long {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n}\n\n/**\n * Nodes correspond to the pre-ordered flattened logical schema\n */\nnodes(index: number, obj?:FieldNode):FieldNode|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new FieldNode()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n}\n\nnodesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\n/**\n * Buffers correspond to the pre-ordered flattened buffer tree\n *\n * The number of buffers appended to this list depends on the schema. For\n * example, most primitive arrays will have 2 buffers, 1 for the validity\n * bitmap and 1 for the values. For struct arrays, there will only be a\n * single buffer for the validity (nulls) bitmap\n */\nbuffers(index: number, obj?:Buffer):Buffer|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new Buffer()).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n}\n\nbuffersLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\n/**\n * Optional compression of the message body\n */\ncompression(obj?:BodyCompression):BodyCompression|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new BodyCompression()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startRecordBatch(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addLength(builder:flatbuffers.Builder, length:flatbuffers.Long) {\n builder.addFieldInt64(0, length, builder.createLong(0, 0));\n}\n\nstatic addNodes(builder:flatbuffers.Builder, nodesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, nodesOffset, 0);\n}\n\nstatic startNodesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(16, numElems, 8);\n}\n\nstatic addBuffers(builder:flatbuffers.Builder, buffersOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, buffersOffset, 0);\n}\n\nstatic startBuffersVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(16, numElems, 8);\n}\n\nstatic addCompression(builder:flatbuffers.Builder, compressionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, compressionOffset, 0);\n}\n\nstatic endRecordBatch(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { RecordBatch } from './record-batch.js';\n\n\n/**\n * For sending dictionary encoding information. Any Field can be\n * dictionary-encoded, but in this case none of its children may be\n * dictionary-encoded.\n * There is one vector / column per dictionary, but that vector / column\n * may be spread across multiple dictionary batches by using the isDelta\n * flag\n */\nexport class DictionaryBatch {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):DictionaryBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsDictionaryBatch(bb:flatbuffers.ByteBuffer, obj?:DictionaryBatch):DictionaryBatch {\n return (obj || new DictionaryBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsDictionaryBatch(bb:flatbuffers.ByteBuffer, obj?:DictionaryBatch):DictionaryBatch {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new DictionaryBatch()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid():flatbuffers.Long {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n}\n\ndata(obj?:RecordBatch):RecordBatch|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new RecordBatch()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\n/**\n * If isDelta is true the values in the dictionary are to be appended to a\n * dictionary with the indicated id. If isDelta is false this dictionary\n * should replace the existing dictionary.\n */\nisDelta():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startDictionaryBatch(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addId(builder:flatbuffers.Builder, id:flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n}\n\nstatic addData(builder:flatbuffers.Builder, dataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, dataOffset, 0);\n}\n\nstatic addIsDelta(builder:flatbuffers.Builder, isDelta:boolean) {\n builder.addFieldInt8(2, +isDelta, +false);\n}\n\nstatic endDictionaryBatch(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Precision } from './precision.js';\n\n\nexport class FloatingPoint {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):FloatingPoint {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsFloatingPoint(bb:flatbuffers.ByteBuffer, obj?:FloatingPoint):FloatingPoint {\n return (obj || new FloatingPoint()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsFloatingPoint(bb:flatbuffers.ByteBuffer, obj?:FloatingPoint):FloatingPoint {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FloatingPoint()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nprecision():Precision {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : Precision.HALF;\n}\n\nstatic startFloatingPoint(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPrecision(builder:flatbuffers.Builder, precision:Precision) {\n builder.addFieldInt16(0, precision, Precision.HALF);\n}\n\nstatic endFloatingPoint(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createFloatingPoint(builder:flatbuffers.Builder, precision:Precision):flatbuffers.Offset {\n FloatingPoint.startFloatingPoint(builder);\n FloatingPoint.addPrecision(builder, precision);\n return FloatingPoint.endFloatingPoint(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * Exact decimal value represented as an integer value in two's\n * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers\n * are used. The representation uses the endianness indicated\n * in the Schema.\n */\nexport class Decimal {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Decimal {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsDecimal(bb:flatbuffers.ByteBuffer, obj?:Decimal):Decimal {\n return (obj || new Decimal()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsDecimal(bb:flatbuffers.ByteBuffer, obj?:Decimal):Decimal {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Decimal()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Total number of decimal digits\n */\nprecision():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\n/**\n * Number of digits after the decimal point \".\"\n */\nscale():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\n/**\n * Number of bits per value. The only accepted widths are 128 and 256.\n * We use bitWidth for consistency with Int::bitWidth.\n */\nbitWidth():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 128;\n}\n\nstatic startDecimal(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addPrecision(builder:flatbuffers.Builder, precision:number) {\n builder.addFieldInt32(0, precision, 0);\n}\n\nstatic addScale(builder:flatbuffers.Builder, scale:number) {\n builder.addFieldInt32(1, scale, 0);\n}\n\nstatic addBitWidth(builder:flatbuffers.Builder, bitWidth:number) {\n builder.addFieldInt32(2, bitWidth, 128);\n}\n\nstatic endDecimal(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createDecimal(builder:flatbuffers.Builder, precision:number, scale:number, bitWidth:number):flatbuffers.Offset {\n Decimal.startDecimal(builder);\n Decimal.addPrecision(builder, precision);\n Decimal.addScale(builder, scale);\n Decimal.addBitWidth(builder, bitWidth);\n return Decimal.endDecimal(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { DateUnit } from './date-unit.js';\n\n\n/**\n * Date is either a 32-bit or 64-bit signed integer type representing an\n * elapsed time since UNIX epoch (1970-01-01), stored in either of two units:\n *\n * * Milliseconds (64 bits) indicating UNIX time elapsed since the epoch (no\n * leap seconds), where the values are evenly divisible by 86400000\n * * Days (32 bits) since the UNIX epoch\n */\nexport class Date {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Date {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsDate(bb:flatbuffers.ByteBuffer, obj?:Date):Date {\n return (obj || new Date()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsDate(bb:flatbuffers.ByteBuffer, obj?:Date):Date {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Date()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nunit():DateUnit {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : DateUnit.MILLISECOND;\n}\n\nstatic startDate(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addUnit(builder:flatbuffers.Builder, unit:DateUnit) {\n builder.addFieldInt16(0, unit, DateUnit.MILLISECOND);\n}\n\nstatic endDate(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createDate(builder:flatbuffers.Builder, unit:DateUnit):flatbuffers.Offset {\n Date.startDate(builder);\n Date.addUnit(builder, unit);\n return Date.endDate(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { TimeUnit } from './time-unit.js';\n\n\n/**\n * Time is either a 32-bit or 64-bit signed integer type representing an\n * elapsed time since midnight, stored in either of four units: seconds,\n * milliseconds, microseconds or nanoseconds.\n *\n * The integer `bitWidth` depends on the `unit` and must be one of the following:\n * * SECOND and MILLISECOND: 32 bits\n * * MICROSECOND and NANOSECOND: 64 bits\n *\n * The allowed values are between 0 (inclusive) and 86400 (=24*60*60) seconds\n * (exclusive), adjusted for the time unit (for example, up to 86400000\n * exclusive for the MILLISECOND unit).\n * This definition doesn't allow for leap seconds. Time values from\n * measurements with leap seconds will need to be corrected when ingesting\n * into Arrow (for example by replacing the value 86400 with 86399).\n */\nexport class Time {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Time {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsTime(bb:flatbuffers.ByteBuffer, obj?:Time):Time {\n return (obj || new Time()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsTime(bb:flatbuffers.ByteBuffer, obj?:Time):Time {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Time()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nunit():TimeUnit {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : TimeUnit.MILLISECOND;\n}\n\nbitWidth():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 32;\n}\n\nstatic startTime(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addUnit(builder:flatbuffers.Builder, unit:TimeUnit) {\n builder.addFieldInt16(0, unit, TimeUnit.MILLISECOND);\n}\n\nstatic addBitWidth(builder:flatbuffers.Builder, bitWidth:number) {\n builder.addFieldInt32(1, bitWidth, 32);\n}\n\nstatic endTime(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createTime(builder:flatbuffers.Builder, unit:TimeUnit, bitWidth:number):flatbuffers.Offset {\n Time.startTime(builder);\n Time.addUnit(builder, unit);\n Time.addBitWidth(builder, bitWidth);\n return Time.endTime(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { TimeUnit } from './time-unit.js';\n\n\n/**\n * Timestamp is a 64-bit signed integer representing an elapsed time since a\n * fixed epoch, stored in either of four units: seconds, milliseconds,\n * microseconds or nanoseconds, and is optionally annotated with a timezone.\n *\n * Timestamp values do not include any leap seconds (in other words, all\n * days are considered 86400 seconds long).\n *\n * Timestamps with a non-empty timezone\n * ------------------------------------\n *\n * If a Timestamp column has a non-empty timezone value, its epoch is\n * 1970-01-01 00:00:00 (January 1st 1970, midnight) in the *UTC* timezone\n * (the Unix epoch), regardless of the Timestamp's own timezone.\n *\n * Therefore, timestamp values with a non-empty timezone correspond to\n * physical points in time together with some additional information about\n * how the data was obtained and/or how to display it (the timezone).\n *\n * For example, the timestamp value 0 with the timezone string \"Europe/Paris\"\n * corresponds to \"January 1st 1970, 00h00\" in the UTC timezone, but the\n * application may prefer to display it as \"January 1st 1970, 01h00\" in\n * the Europe/Paris timezone (which is the same physical point in time).\n *\n * One consequence is that timestamp values with a non-empty timezone\n * can be compared and ordered directly, since they all share the same\n * well-known point of reference (the Unix epoch).\n *\n * Timestamps with an unset / empty timezone\n * -----------------------------------------\n *\n * If a Timestamp column has no timezone value, its epoch is\n * 1970-01-01 00:00:00 (January 1st 1970, midnight) in an *unknown* timezone.\n *\n * Therefore, timestamp values without a timezone cannot be meaningfully\n * interpreted as physical points in time, but only as calendar / clock\n * indications (\"wall clock time\") in an unspecified timezone.\n *\n * For example, the timestamp value 0 with an empty timezone string\n * corresponds to \"January 1st 1970, 00h00\" in an unknown timezone: there\n * is not enough information to interpret it as a well-defined physical\n * point in time.\n *\n * One consequence is that timestamp values without a timezone cannot\n * be reliably compared or ordered, since they may have different points of\n * reference. In particular, it is *not* possible to interpret an unset\n * or empty timezone as the same as \"UTC\".\n *\n * Conversion between timezones\n * ----------------------------\n *\n * If a Timestamp column has a non-empty timezone, changing the timezone\n * to a different non-empty value is a metadata-only operation:\n * the timestamp values need not change as their point of reference remains\n * the same (the Unix epoch).\n *\n * However, if a Timestamp column has no timezone value, changing it to a\n * non-empty value requires to think about the desired semantics.\n * One possibility is to assume that the original timestamp values are\n * relative to the epoch of the timezone being set; timestamp values should\n * then adjusted to the Unix epoch (for example, changing the timezone from\n * empty to \"Europe/Paris\" would require converting the timestamp values\n * from \"Europe/Paris\" to \"UTC\", which seems counter-intuitive but is\n * nevertheless correct).\n *\n * Guidelines for encoding data from external libraries\n * ----------------------------------------------------\n *\n * Date & time libraries often have multiple different data types for temporal\n * data. In order to ease interoperability between different implementations the\n * Arrow project has some recommendations for encoding these types into a Timestamp\n * column.\n *\n * An \"instant\" represents a physical point in time that has no relevant timezone\n * (for example, astronomical data). To encode an instant, use a Timestamp with\n * the timezone string set to \"UTC\", and make sure the Timestamp values\n * are relative to the UTC epoch (January 1st 1970, midnight).\n *\n * A \"zoned date-time\" represents a physical point in time annotated with an\n * informative timezone (for example, the timezone in which the data was\n * recorded). To encode a zoned date-time, use a Timestamp with the timezone\n * string set to the name of the timezone, and make sure the Timestamp values\n * are relative to the UTC epoch (January 1st 1970, midnight).\n *\n * (There is some ambiguity between an instant and a zoned date-time with the\n * UTC timezone. Both of these are stored the same in Arrow. Typically,\n * this distinction does not matter. If it does, then an application should\n * use custom metadata or an extension type to distinguish between the two cases.)\n *\n * An \"offset date-time\" represents a physical point in time combined with an\n * explicit offset from UTC. To encode an offset date-time, use a Timestamp\n * with the timezone string set to the numeric timezone offset string\n * (e.g. \"+03:00\"), and make sure the Timestamp values are relative to\n * the UTC epoch (January 1st 1970, midnight).\n *\n * A \"naive date-time\" (also called \"local date-time\" in some libraries)\n * represents a wall clock time combined with a calendar date, but with\n * no indication of how to map this information to a physical point in time.\n * Naive date-times must be handled with care because of this missing\n * information, and also because daylight saving time (DST) may make\n * some values ambiguous or non-existent. A naive date-time may be\n * stored as a struct with Date and Time fields. However, it may also be\n * encoded into a Timestamp column with an empty timezone. The timestamp\n * values should be computed \"as if\" the timezone of the date-time values\n * was UTC; for example, the naive date-time \"January 1st 1970, 00h00\" would\n * be encoded as timestamp value 0.\n */\nexport class Timestamp {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Timestamp {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsTimestamp(bb:flatbuffers.ByteBuffer, obj?:Timestamp):Timestamp {\n return (obj || new Timestamp()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsTimestamp(bb:flatbuffers.ByteBuffer, obj?:Timestamp):Timestamp {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Timestamp()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nunit():TimeUnit {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : TimeUnit.SECOND;\n}\n\n/**\n * The timezone is an optional string indicating the name of a timezone,\n * one of:\n *\n * * As used in the Olson timezone database (the \"tz database\" or\n * \"tzdata\"), such as \"America/New_York\".\n * * An absolute timezone offset of the form \"+XX:XX\" or \"-XX:XX\",\n * such as \"+07:30\".\n *\n * Whether a timezone string is present indicates different semantics about\n * the data (see above).\n */\ntimezone():string|null\ntimezone(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null\ntimezone(optionalEncoding?:any):string|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startTimestamp(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addUnit(builder:flatbuffers.Builder, unit:TimeUnit) {\n builder.addFieldInt16(0, unit, TimeUnit.SECOND);\n}\n\nstatic addTimezone(builder:flatbuffers.Builder, timezoneOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, timezoneOffset, 0);\n}\n\nstatic endTimestamp(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createTimestamp(builder:flatbuffers.Builder, unit:TimeUnit, timezoneOffset:flatbuffers.Offset):flatbuffers.Offset {\n Timestamp.startTimestamp(builder);\n Timestamp.addUnit(builder, unit);\n Timestamp.addTimezone(builder, timezoneOffset);\n return Timestamp.endTimestamp(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { IntervalUnit } from './interval-unit.js';\n\n\nexport class Interval {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Interval {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsInterval(bb:flatbuffers.ByteBuffer, obj?:Interval):Interval {\n return (obj || new Interval()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsInterval(bb:flatbuffers.ByteBuffer, obj?:Interval):Interval {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Interval()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nunit():IntervalUnit {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : IntervalUnit.YEAR_MONTH;\n}\n\nstatic startInterval(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addUnit(builder:flatbuffers.Builder, unit:IntervalUnit) {\n builder.addFieldInt16(0, unit, IntervalUnit.YEAR_MONTH);\n}\n\nstatic endInterval(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createInterval(builder:flatbuffers.Builder, unit:IntervalUnit):flatbuffers.Offset {\n Interval.startInterval(builder);\n Interval.addUnit(builder, unit);\n return Interval.endInterval(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { UnionMode } from './union-mode.js';\n\n\n/**\n * A union is a complex type with children in Field\n * By default ids in the type vector refer to the offsets in the children\n * optionally typeIds provides an indirection between the child offset and the type id\n * for each child `typeIds[offset]` is the id used in the type vector\n */\nexport class Union {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Union {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsUnion(bb:flatbuffers.ByteBuffer, obj?:Union):Union {\n return (obj || new Union()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsUnion(bb:flatbuffers.ByteBuffer, obj?:Union):Union {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Union()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmode():UnionMode {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : UnionMode.Sparse;\n}\n\ntypeIds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) : 0;\n}\n\ntypeIdsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ntypeIdsArray():Int32Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? new Int32Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\nstatic startUnion(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addMode(builder:flatbuffers.Builder, mode:UnionMode) {\n builder.addFieldInt16(0, mode, UnionMode.Sparse);\n}\n\nstatic addTypeIds(builder:flatbuffers.Builder, typeIdsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, typeIdsOffset, 0);\n}\n\nstatic createTypeIdsVector(builder:flatbuffers.Builder, data:number[]|Int32Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createTypeIdsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createTypeIdsVector(builder:flatbuffers.Builder, data:number[]|Int32Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt32(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTypeIdsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endUnion(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createUnion(builder:flatbuffers.Builder, mode:UnionMode, typeIdsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Union.startUnion(builder);\n Union.addMode(builder, mode);\n Union.addTypeIds(builder, typeIdsOffset);\n return Union.endUnion(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class FixedSizeBinary {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):FixedSizeBinary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsFixedSizeBinary(bb:flatbuffers.ByteBuffer, obj?:FixedSizeBinary):FixedSizeBinary {\n return (obj || new FixedSizeBinary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsFixedSizeBinary(bb:flatbuffers.ByteBuffer, obj?:FixedSizeBinary):FixedSizeBinary {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FixedSizeBinary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Number of bytes per value\n */\nbyteWidth():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nstatic startFixedSizeBinary(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addByteWidth(builder:flatbuffers.Builder, byteWidth:number) {\n builder.addFieldInt32(0, byteWidth, 0);\n}\n\nstatic endFixedSizeBinary(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createFixedSizeBinary(builder:flatbuffers.Builder, byteWidth:number):flatbuffers.Offset {\n FixedSizeBinary.startFixedSizeBinary(builder);\n FixedSizeBinary.addByteWidth(builder, byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class FixedSizeList {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):FixedSizeList {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsFixedSizeList(bb:flatbuffers.ByteBuffer, obj?:FixedSizeList):FixedSizeList {\n return (obj || new FixedSizeList()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsFixedSizeList(bb:flatbuffers.ByteBuffer, obj?:FixedSizeList):FixedSizeList {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new FixedSizeList()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Number of list items per value\n */\nlistSize():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nstatic startFixedSizeList(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addListSize(builder:flatbuffers.Builder, listSize:number) {\n builder.addFieldInt32(0, listSize, 0);\n}\n\nstatic endFixedSizeList(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createFixedSizeList(builder:flatbuffers.Builder, listSize:number):flatbuffers.Offset {\n FixedSizeList.startFixedSizeList(builder);\n FixedSizeList.addListSize(builder, listSize);\n return FixedSizeList.endFixedSizeList(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * A Map is a logical nested type that is represented as\n *\n * List<entries: Struct<key: K, value: V>>\n *\n * In this layout, the keys and values are each respectively contiguous. We do\n * not constrain the key and value types, so the application is responsible\n * for ensuring that the keys are hashable and unique. Whether the keys are sorted\n * may be set in the metadata for this field.\n *\n * In a field with Map type, the field has a child Struct field, which then\n * has two children: key type and the second the value type. The names of the\n * child fields may be respectively \"entries\", \"key\", and \"value\", but this is\n * not enforced.\n *\n * Map\n * ```text\n * - child[0] entries: Struct\n * - child[0] key: K\n * - child[1] value: V\n * ```\n * Neither the \"entries\" field nor the \"key\" field may be nullable.\n *\n * The metadata is structured so that Arrow systems without special handling\n * for Map can make Map an alias for List. The \"layout\" attribute for the Map\n * field must have the same contents as a List.\n */\nexport class Map {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Map {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMap(bb:flatbuffers.ByteBuffer, obj?:Map):Map {\n return (obj || new Map()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMap(bb:flatbuffers.ByteBuffer, obj?:Map):Map {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Map()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\n/**\n * Set to true if the keys within each value are sorted\n */\nkeysSorted():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startMap(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addKeysSorted(builder:flatbuffers.Builder, keysSorted:boolean) {\n builder.addFieldInt8(0, +keysSorted, +false);\n}\n\nstatic endMap(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createMap(builder:flatbuffers.Builder, keysSorted:boolean):flatbuffers.Offset {\n Map.startMap(builder);\n Map.addKeysSorted(builder, keysSorted);\n return Map.endMap(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { KeyValue } from './key-value.js';\nimport { MessageHeader } from './message-header.js';\nimport { MetadataVersion } from './metadata-version.js';\n\n\nexport class Message {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Message {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMessage(bb:flatbuffers.ByteBuffer, obj?:Message):Message {\n return (obj || new Message()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMessage(bb:flatbuffers.ByteBuffer, obj?:Message):Message {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Message()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nversion():MetadataVersion {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt16(this.bb_pos + offset) : MetadataVersion.V1;\n}\n\nheaderType():MessageHeader {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : MessageHeader.NONE;\n}\n\n// @ts-ignore\nheader<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nbodyLength():flatbuffers.Long {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n}\n\ncustomMetadata(index: number, obj?:KeyValue):KeyValue|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncustomMetadataLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMessage(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addVersion(builder:flatbuffers.Builder, version:MetadataVersion) {\n builder.addFieldInt16(0, version, MetadataVersion.V1);\n}\n\nstatic addHeaderType(builder:flatbuffers.Builder, headerType:MessageHeader) {\n builder.addFieldInt8(1, headerType, MessageHeader.NONE);\n}\n\nstatic addHeader(builder:flatbuffers.Builder, headerOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, headerOffset, 0);\n}\n\nstatic addBodyLength(builder:flatbuffers.Builder, bodyLength:flatbuffers.Long) {\n builder.addFieldInt64(3, bodyLength, builder.createLong(0, 0));\n}\n\nstatic addCustomMetadata(builder:flatbuffers.Builder, customMetadataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n}\n\nstatic createCustomMetadataVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCustomMetadataVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic finishMessageBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset);\n}\n\nstatic finishSizePrefixedMessageBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset, undefined, true);\n}\n\nstatic createMessage(builder:flatbuffers.Builder, version:MetadataVersion, headerType:MessageHeader, headerOffset:flatbuffers.Offset, bodyLength:flatbuffers.Long, customMetadataOffset:flatbuffers.Offset):flatbuffers.Offset {\n Message.startMessage(builder);\n Message.addVersion(builder, version);\n Message.addHeaderType(builder, headerType);\n Message.addHeader(builder, headerOffset);\n Message.addBodyLength(builder, bodyLength);\n Message.addCustomMetadata(builder, customMetadataOffset);\n return Message.endMessage(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * These are stored in the flatbuffer in the Type union below\n */\nexport class Null {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Null {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsNull(bb:flatbuffers.ByteBuffer, obj?:Null):Null {\n return (obj || new Null()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsNull(bb:flatbuffers.ByteBuffer, obj?:Null):Null {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Null()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startNull(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endNull(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createNull(builder:flatbuffers.Builder):flatbuffers.Offset {\n Null.startNull(builder);\n return Null.endNull(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * Opaque binary data\n */\nexport class Binary {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Binary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsBinary(bb:flatbuffers.ByteBuffer, obj?:Binary):Binary {\n return (obj || new Binary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsBinary(bb:flatbuffers.ByteBuffer, obj?:Binary):Binary {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Binary()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startBinary(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endBinary(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createBinary(builder:flatbuffers.Builder):flatbuffers.Offset {\n Binary.startBinary(builder);\n return Binary.endBinary(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class Bool {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Bool {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsBool(bb:flatbuffers.ByteBuffer, obj?:Bool):Bool {\n return (obj || new Bool()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsBool(bb:flatbuffers.ByteBuffer, obj?:Bool):Bool {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Bool()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startBool(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endBool(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createBool(builder:flatbuffers.Builder):flatbuffers.Offset {\n Bool.startBool(builder);\n return Bool.endBool(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * Unicode with UTF-8 encoding\n */\nexport class Utf8 {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Utf8 {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsUtf8(bb:flatbuffers.ByteBuffer, obj?:Utf8):Utf8 {\n return (obj || new Utf8()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsUtf8(bb:flatbuffers.ByteBuffer, obj?:Utf8):Utf8 {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Utf8()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startUtf8(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endUtf8(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createUtf8(builder:flatbuffers.Builder):flatbuffers.Offset {\n Utf8.startUtf8(builder);\n return Utf8.endUtf8(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\nexport class List {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):List {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsList(bb:flatbuffers.ByteBuffer, obj?:List):List {\n return (obj || new List()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsList(bb:flatbuffers.ByteBuffer, obj?:List):List {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new List()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startList(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endList(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createList(builder:flatbuffers.Builder):flatbuffers.Offset {\n List.startList(builder);\n return List.endList(builder);\n}\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport * as flatbuffers from 'flatbuffers';\n\n/**\n * A Struct_ in the flatbuffer metadata is the same as an Arrow Struct\n * (according to the physical memory layout). We used Struct_ here as\n * Struct is a reserved word in Flatbuffers\n */\nexport class Struct_ {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n__init(i:number, bb:flatbuffers.ByteBuffer):Struct_ {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsStruct_(bb:flatbuffers.ByteBuffer, obj?:Struct_):Struct_ {\n return (obj || new Struct_()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsStruct_(bb:flatbuffers.ByteBuffer, obj?:Struct_):Struct_ {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Struct_()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startStruct_(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endStruct_(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createStruct_(builder:flatbuffers.Builder):flatbuffers.Offset {\n Struct_.startStruct_(builder);\n return Struct_.endStruct_(builder);\n}\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport * as flatbuffers from 'flatbuffers';\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\n\nimport * as type from '../type.js';\nimport { Visitor } from '../visitor.js';\n\nimport { Null } from '../fb/null.js';\nimport { Int } from '../fb/int.js';\nimport { FloatingPoint } from '../fb/floating-point.js';\nimport { Binary } from '../fb/binary.js';\nimport { Bool } from '../fb/bool.js';\nimport { Utf8 } from '../fb/utf8.js';\nimport { Decimal } from '../fb/decimal.js';\nimport { Date } from '../fb/date.js';\nimport { Time } from '../fb/time.js';\nimport { Timestamp } from '../fb/timestamp.js';\nimport { Interval } from '../fb/interval.js';\nimport { List } from '../fb/list.js';\nimport { Struct_ as Struct } from '../fb/struct_.js';\nimport { Union } from '../fb/union.js';\nimport { DictionaryEncoding } from '../fb/dictionary-encoding.js';\nimport { FixedSizeBinary } from '../fb/fixed-size-binary.js';\nimport { FixedSizeList } from '../fb/fixed-size-list.js';\nimport { Map as Map_ } from '../fb/map.js';\n\n/** @ignore */\nexport interface TypeAssembler extends Visitor {\n visit<T extends type.DataType>(node: T, builder: Builder): number | undefined;\n}\n\n/** @ignore */\nexport class TypeAssembler extends Visitor {\n public visit<T extends type.DataType>(node: T, builder: Builder): number | undefined {\n return (node == null || builder == null) ? undefined : super.visit(node, builder);\n }\n public visitNull<T extends type.Null>(_node: T, b: Builder) {\n Null.startNull(b);\n return Null.endNull(b);\n }\n public visitInt<T extends type.Int>(node: T, b: Builder) {\n Int.startInt(b);\n Int.addBitWidth(b, node.bitWidth);\n Int.addIsSigned(b, node.isSigned);\n return Int.endInt(b);\n }\n public visitFloat<T extends type.Float>(node: T, b: Builder) {\n FloatingPoint.startFloatingPoint(b);\n FloatingPoint.addPrecision(b, node.precision);\n return FloatingPoint.endFloatingPoint(b);\n }\n public visitBinary<T extends type.Binary>(_node: T, b: Builder) {\n Binary.startBinary(b);\n return Binary.endBinary(b);\n }\n public visitBool<T extends type.Bool>(_node: T, b: Builder) {\n Bool.startBool(b);\n return Bool.endBool(b);\n }\n public visitUtf8<T extends type.Utf8>(_node: T, b: Builder) {\n Utf8.startUtf8(b);\n return Utf8.endUtf8(b);\n }\n public visitDecimal<T extends type.Decimal>(node: T, b: Builder) {\n Decimal.startDecimal(b);\n Decimal.addScale(b, node.scale);\n Decimal.addPrecision(b, node.precision);\n Decimal.addBitWidth(b, node.bitWidth);\n return Decimal.endDecimal(b);\n }\n public visitDate<T extends type.Date_>(node: T, b: Builder) {\n Date.startDate(b);\n Date.addUnit(b, node.unit);\n return Date.endDate(b);\n }\n public visitTime<T extends type.Time>(node: T, b: Builder) {\n Time.startTime(b);\n Time.addUnit(b, node.unit);\n Time.addBitWidth(b, node.bitWidth);\n return Time.endTime(b);\n }\n public visitTimestamp<T extends type.Timestamp>(node: T, b: Builder) {\n const timezone = (node.timezone && b.createString(node.timezone)) || undefined;\n Timestamp.startTimestamp(b);\n Timestamp.addUnit(b, node.unit);\n if (timezone !== undefined) {\n Timestamp.addTimezone(b, timezone);\n }\n return Timestamp.endTimestamp(b);\n }\n public visitInterval<T extends type.Interval>(node: T, b: Builder) {\n Interval.startInterval(b);\n Interval.addUnit(b, node.unit);\n return Interval.endInterval(b);\n }\n public visitList<T extends type.List>(_node: T, b: Builder) {\n List.startList(b);\n return List.endList(b);\n }\n public visitStruct<T extends type.Struct>(_node: T, b: Builder) {\n Struct.startStruct_(b);\n return Struct.endStruct_(b);\n }\n public visitUnion<T extends type.Union>(node: T, b: Builder) {\n Union.startTypeIdsVector(b, node.typeIds.length);\n const typeIds = Union.createTypeIdsVector(b, node.typeIds);\n Union.startUnion(b);\n Union.addMode(b, node.mode);\n Union.addTypeIds(b, typeIds);\n return Union.endUnion(b);\n }\n public visitDictionary<T extends type.Dictionary>(node: T, b: Builder) {\n const indexType = this.visit(node.indices, b);\n DictionaryEncoding.startDictionaryEncoding(b);\n DictionaryEncoding.addId(b, new Long(node.id, 0));\n DictionaryEncoding.addIsOrdered(b, node.isOrdered);\n if (indexType !== undefined) {\n DictionaryEncoding.addIndexType(b, indexType);\n }\n return DictionaryEncoding.endDictionaryEncoding(b);\n }\n public visitFixedSizeBinary<T extends type.FixedSizeBinary>(node: T, b: Builder) {\n FixedSizeBinary.startFixedSizeBinary(b);\n FixedSizeBinary.addByteWidth(b, node.byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(b);\n }\n public visitFixedSizeList<T extends type.FixedSizeList>(node: T, b: Builder) {\n FixedSizeList.startFixedSizeList(b);\n FixedSizeList.addListSize(b, node.listSize);\n return FixedSizeList.endFixedSizeList(b);\n }\n public visitMap<T extends type.Map_>(node: T, b: Builder) {\n Map_.startMap(b);\n Map_.addKeysSorted(b, node.keysSorted);\n return Map_.endMap(b);\n }\n}\n\n/** @ignore */\nexport const instance = new TypeAssembler();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* eslint-disable brace-style */\n\nimport { Schema, Field } from '../../schema.js';\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type.js';\n\nimport { DictionaryBatch, RecordBatch, FieldNode, BufferRegion } from './message.js';\nimport { TimeUnit, Precision, IntervalUnit, UnionMode, DateUnit } from '../../enum.js';\n\n/** @ignore */\nexport function schemaFromJSON(_schema: any, dictionaries: Map<number, DataType> = new Map()) {\n return new Schema(\n schemaFieldsFromJSON(_schema, dictionaries),\n customMetadataFromJSON(_schema['customMetadata']),\n dictionaries\n );\n}\n\n/** @ignore */\nexport function recordBatchFromJSON(b: any) {\n return new RecordBatch(\n b['count'],\n fieldNodesFromJSON(b['columns']),\n buffersFromJSON(b['columns'])\n );\n}\n\n/** @ignore */\nexport function dictionaryBatchFromJSON(b: any) {\n return new DictionaryBatch(\n recordBatchFromJSON(b['data']),\n b['id'], b['isDelta']\n );\n}\n\n/** @ignore */\nfunction schemaFieldsFromJSON(_schema: any, dictionaries?: Map<number, DataType>) {\n return (_schema['fields'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldChildrenFromJSON(_field: any, dictionaries?: Map<number, DataType>): Field[] {\n return (_field['children'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldNodesFromJSON(xs: any[]): FieldNode[] {\n return (xs || []).reduce<FieldNode[]>((fieldNodes, column: any) => [\n ...fieldNodes,\n new FieldNode(\n column['count'],\n nullCountFromJSON(column['VALIDITY'])\n ),\n ...fieldNodesFromJSON(column['children'])\n ], [] as FieldNode[]);\n}\n\n/** @ignore */\nfunction buffersFromJSON(xs: any[], buffers: BufferRegion[] = []): BufferRegion[] {\n for (let i = -1, n = (xs || []).length; ++i < n;) {\n const column = xs[i];\n column['VALIDITY'] && buffers.push(new BufferRegion(buffers.length, column['VALIDITY'].length));\n column['TYPE'] && buffers.push(new BufferRegion(buffers.length, column['TYPE'].length));\n column['OFFSET'] && buffers.push(new BufferRegion(buffers.length, column['OFFSET'].length));\n column['DATA'] && buffers.push(new BufferRegion(buffers.length, column['DATA'].length));\n buffers = buffersFromJSON(column['children'], buffers);\n }\n return buffers;\n}\n\n/** @ignore */\nfunction nullCountFromJSON(validity: number[]) {\n return (validity || []).reduce((sum, val) => sum + +(val === 0), 0);\n}\n\n/** @ignore */\nexport function fieldFromJSON(_field: any, dictionaries?: Map<number, DataType>) {\n\n let id: number;\n let keys: TKeys | null;\n let field: Field | void;\n let dictMeta: any;\n let type: DataType<any>;\n let dictType: Dictionary;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = _field['dictionary'])) {\n type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries));\n field = new Field(_field['name'], type, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta['id'])) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictionaries.set(id, type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction customMetadataFromJSON(_metadata?: Record<string, string>) {\n return new Map<string, string>(Object.entries(_metadata || {}));\n}\n\n/** @ignore */\nfunction indexTypeFromJSON(_type: any) {\n return new Int(_type['isSigned'], _type['bitWidth']);\n}\n\n/** @ignore */\nfunction typeFromJSON(f: any, children?: Field[]): DataType<any> {\n\n const typeId = f['type']['name'];\n\n switch (typeId) {\n case 'NONE': return new Null();\n case 'null': return new Null();\n case 'binary': return new Binary();\n case 'utf8': return new Utf8();\n case 'bool': return new Bool();\n case 'list': return new List((children || [])[0]);\n case 'struct': return new Struct(children || []);\n case 'struct_': return new Struct(children || []);\n }\n\n switch (typeId) {\n case 'int': {\n const t = f['type'];\n return new Int(t['isSigned'], t['bitWidth'] as IntBitWidth);\n }\n case 'floatingpoint': {\n const t = f['type'];\n return new Float(Precision[t['precision']] as any);\n }\n case 'decimal': {\n const t = f['type'];\n return new Decimal(t['scale'], t['precision'], t['bitWidth']);\n }\n case 'date': {\n const t = f['type'];\n return new Date_(DateUnit[t['unit']] as any);\n }\n case 'time': {\n const t = f['type'];\n return new Time(TimeUnit[t['unit']] as any, t['bitWidth'] as TimeBitWidth);\n }\n case 'timestamp': {\n const t = f['type'];\n return new Timestamp(TimeUnit[t['unit']] as any, t['timezone']);\n }\n case 'interval': {\n const t = f['type'];\n return new Interval(IntervalUnit[t['unit']] as any);\n }\n case 'union': {\n const t = f['type'];\n return new Union(UnionMode[t['mode']] as any, (t['typeIds'] || []), children || []);\n }\n case 'fixedsizebinary': {\n const t = f['type'];\n return new FixedSizeBinary(t['byteWidth']);\n }\n case 'fixedsizelist': {\n const t = f['type'];\n return new FixedSizeList(t['listSize'], (children || [])[0]);\n }\n case 'map': {\n const t = f['type'];\n return new Map_((children || [])[0], t['keysSorted']);\n }\n }\n throw new Error(`Unrecognized type: \"${typeId}\"`);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* eslint-disable brace-style */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Schema as _Schema } from '../../fb/schema.js';\nimport { Int as _Int } from '../../fb/int.js';\nimport { RecordBatch as _RecordBatch } from '../../fb/record-batch.js';\nimport { DictionaryBatch as _DictionaryBatch } from '../../fb/dictionary-batch.js';\nimport { Buffer as _Buffer } from '../../fb/buffer.js';\nimport { Field as _Field } from '../../fb/field.js';\nimport { FieldNode as _FieldNode } from '../../fb/field-node.js';\nimport { DictionaryEncoding as _DictionaryEncoding } from '../../fb/dictionary-encoding.js';\nimport { Type } from '../../fb/type.js';\nimport { KeyValue as _KeyValue } from '../../fb/key-value.js';\nimport { Endianness as _Endianness } from '../../fb/endianness.js';\nimport { FloatingPoint as _FloatingPoint } from '../../fb/floating-point.js';\nimport { Decimal as _Decimal } from '../../fb/decimal.js';\nimport { Date as _Date } from '../../fb/date.js';\nimport { Time as _Time } from '../../fb/time.js';\nimport { Timestamp as _Timestamp } from '../../fb/timestamp.js';\nimport { Interval as _Interval } from '../../fb/interval.js';\nimport { Union as _Union } from '../../fb/union.js';\nimport { FixedSizeBinary as _FixedSizeBinary } from '../../fb/fixed-size-binary.js';\nimport { FixedSizeList as _FixedSizeList } from '../../fb/fixed-size-list.js';\nimport { Map as _Map } from '../../fb/map.js';\nimport { Message as _Message } from '../../fb/message.js';\n\nimport { Schema, Field } from '../../schema.js';\nimport { toUint8Array } from '../../util/buffer.js';\nimport { ArrayBufferViewInput } from '../../util/buffer.js';\nimport { MessageHeader, MetadataVersion } from '../../enum.js';\nimport { instance as typeAssembler } from '../../visitor/typeassembler.js';\nimport { fieldFromJSON, schemaFromJSON, recordBatchFromJSON, dictionaryBatchFromJSON } from './json.js';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\n\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type.js';\n\n/**\n * @ignore\n * @private\n **/\nexport class Message<T extends MessageHeader = any> {\n\n /** @nocollapse */\n public static fromJSON<T extends MessageHeader>(msg: any, headerType: T): Message<T> {\n const message = new Message(0, MetadataVersion.V4, headerType);\n message._createHeader = messageHeaderFromJSON(msg, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const _message = _Message.getRootAsMessage(buf);\n const bodyLength: Long = _message.bodyLength()!;\n const version: MetadataVersion = _message.version();\n const headerType: MessageHeader = _message.headerType();\n const message = new Message(bodyLength, version, headerType);\n message._createHeader = decodeMessageHeader(_message, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static encode<T extends MessageHeader>(message: Message<T>) {\n const b = new Builder();\n let headerOffset = -1;\n if (message.isSchema()) {\n headerOffset = Schema.encode(b, message.header() as Schema);\n } else if (message.isRecordBatch()) {\n headerOffset = RecordBatch.encode(b, message.header() as RecordBatch);\n } else if (message.isDictionaryBatch()) {\n headerOffset = DictionaryBatch.encode(b, message.header() as DictionaryBatch);\n }\n _Message.startMessage(b);\n _Message.addVersion(b, MetadataVersion.V4);\n _Message.addHeader(b, headerOffset);\n _Message.addHeaderType(b, message.headerType);\n _Message.addBodyLength(b, new Long(message.bodyLength, 0));\n _Message.finishMessageBuffer(b, _Message.endMessage(b));\n return b.asUint8Array();\n }\n\n /** @nocollapse */\n public static from(header: Schema | RecordBatch | DictionaryBatch, bodyLength = 0) {\n if (header instanceof Schema) {\n return new Message(0, MetadataVersion.V4, MessageHeader.Schema, header);\n }\n if (header instanceof RecordBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.RecordBatch, header);\n }\n if (header instanceof DictionaryBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.DictionaryBatch, header);\n }\n throw new Error(`Unrecognized Message header: ${header}`);\n }\n\n public body: Uint8Array;\n protected _headerType: T;\n protected _bodyLength: number;\n protected _version: MetadataVersion;\n public get type() { return this.headerType; }\n public get version() { return this._version; }\n public get headerType() { return this._headerType; }\n public get bodyLength() { return this._bodyLength; }\n declare protected _createHeader: MessageHeaderDecoder;\n public header() { return this._createHeader<T>(); }\n public isSchema(): this is Message<MessageHeader.Schema> { return this.headerType === MessageHeader.Schema; }\n public isRecordBatch(): this is Message<MessageHeader.RecordBatch> { return this.headerType === MessageHeader.RecordBatch; }\n public isDictionaryBatch(): this is Message<MessageHeader.DictionaryBatch> { return this.headerType === MessageHeader.DictionaryBatch; }\n\n constructor(bodyLength: Long | number, version: MetadataVersion, headerType: T, header?: any) {\n this._version = version;\n this._headerType = headerType;\n this.body = new Uint8Array(0);\n header && (this._createHeader = () => header);\n this._bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class RecordBatch {\n protected _length: number;\n protected _nodes: FieldNode[];\n protected _buffers: BufferRegion[];\n public get nodes() { return this._nodes; }\n public get length() { return this._length; }\n public get buffers() { return this._buffers; }\n constructor(length: Long | number, nodes: FieldNode[], buffers: BufferRegion[]) {\n this._nodes = nodes;\n this._buffers = buffers;\n this._length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class DictionaryBatch {\n\n protected _id: number;\n protected _isDelta: boolean;\n protected _data: RecordBatch;\n public get id() { return this._id; }\n public get data() { return this._data; }\n public get isDelta() { return this._isDelta; }\n public get length(): number { return this.data.length; }\n public get nodes(): FieldNode[] { return this.data.nodes; }\n public get buffers(): BufferRegion[] { return this.data.buffers; }\n\n constructor(data: RecordBatch, id: Long | number, isDelta = false) {\n this._data = data;\n this._isDelta = isDelta;\n this._id = typeof id === 'number' ? id : id.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class BufferRegion {\n public offset: number;\n public length: number;\n constructor(offset: Long | number, length: Long | number) {\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class FieldNode {\n public length: number;\n public nullCount: number;\n constructor(length: Long | number, nullCount: Long | number) {\n this.length = typeof length === 'number' ? length : length.low;\n this.nullCount = typeof nullCount === 'number' ? nullCount : nullCount.low;\n }\n}\n\n/** @ignore */\nfunction messageHeaderFromJSON(message: any, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.fromJSON(message);\n case MessageHeader.RecordBatch: return RecordBatch.fromJSON(message);\n case MessageHeader.DictionaryBatch: return DictionaryBatch.fromJSON(message);\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\n/** @ignore */\nfunction decodeMessageHeader(message: _Message, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.decode(message.header(new _Schema())!);\n case MessageHeader.RecordBatch: return RecordBatch.decode(message.header(new _RecordBatch())!, message.version());\n case MessageHeader.DictionaryBatch: return DictionaryBatch.decode(message.header(new _DictionaryBatch())!, message.version());\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\nField['encode'] = encodeField;\nField['decode'] = decodeField;\nField['fromJSON'] = fieldFromJSON;\n\nSchema['encode'] = encodeSchema;\nSchema['decode'] = decodeSchema;\nSchema['fromJSON'] = schemaFromJSON;\n\nRecordBatch['encode'] = encodeRecordBatch;\nRecordBatch['decode'] = decodeRecordBatch;\nRecordBatch['fromJSON'] = recordBatchFromJSON;\n\nDictionaryBatch['encode'] = encodeDictionaryBatch;\nDictionaryBatch['decode'] = decodeDictionaryBatch;\nDictionaryBatch['fromJSON'] = dictionaryBatchFromJSON;\n\nFieldNode['encode'] = encodeFieldNode;\nFieldNode['decode'] = decodeFieldNode;\n\nBufferRegion['encode'] = encodeBufferRegion;\nBufferRegion['decode'] = decodeBufferRegion;\n\ndeclare module '../../schema' {\n namespace Field {\n export { encodeField as encode };\n export { decodeField as decode };\n export { fieldFromJSON as fromJSON };\n }\n namespace Schema {\n export { encodeSchema as encode };\n export { decodeSchema as decode };\n export { schemaFromJSON as fromJSON };\n }\n}\n\ndeclare module './message' {\n namespace RecordBatch {\n export { encodeRecordBatch as encode };\n export { decodeRecordBatch as decode };\n export { recordBatchFromJSON as fromJSON };\n }\n namespace DictionaryBatch {\n export { encodeDictionaryBatch as encode };\n export { decodeDictionaryBatch as decode };\n export { dictionaryBatchFromJSON as fromJSON };\n }\n namespace FieldNode {\n export { encodeFieldNode as encode };\n export { decodeFieldNode as decode };\n }\n namespace BufferRegion {\n export { encodeBufferRegion as encode };\n export { decodeBufferRegion as decode };\n }\n}\n\n/** @ignore */\nfunction decodeSchema(_schema: _Schema, dictionaries: Map<number, DataType> = new Map()) {\n const fields = decodeSchemaFields(_schema, dictionaries);\n return new Schema(fields, decodeCustomMetadata(_schema), dictionaries);\n}\n\n/** @ignore */\nfunction decodeRecordBatch(batch: _RecordBatch, version = MetadataVersion.V4) {\n if (batch.compression() !== null) {\n throw new Error('Record batch compression not implemented');\n }\n return new RecordBatch(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version));\n}\n\n/** @ignore */\nfunction decodeDictionaryBatch(batch: _DictionaryBatch, version = MetadataVersion.V4) {\n return new DictionaryBatch(RecordBatch.decode(batch.data()!, version), batch.id(), batch.isDelta());\n}\n\n/** @ignore */\nfunction decodeBufferRegion(b: _Buffer) {\n return new BufferRegion(b.offset(), b.length());\n}\n\n/** @ignore */\nfunction decodeFieldNode(f: _FieldNode) {\n return new FieldNode(f.length(), f.nullCount());\n}\n\n/** @ignore */\nfunction decodeFieldNodes(batch: _RecordBatch) {\n const nodes = [] as FieldNode[];\n for (let f, i = -1, j = -1, n = batch.nodesLength(); ++i < n;) {\n if (f = batch.nodes(i)) {\n nodes[++j] = FieldNode.decode(f);\n }\n }\n return nodes;\n}\n\n/** @ignore */\nfunction decodeBuffers(batch: _RecordBatch, version: MetadataVersion) {\n const bufferRegions = [] as BufferRegion[];\n for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n;) {\n if (b = batch.buffers(i)) {\n // If this Arrow buffer was written before version 4,\n // advance the buffer's bb_pos 8 bytes to skip past\n // the now-removed page_id field\n if (version < MetadataVersion.V4) {\n b.bb_pos += (8 * (i + 1));\n }\n bufferRegions[++j] = BufferRegion.decode(b);\n }\n }\n return bufferRegions;\n}\n\n/** @ignore */\nfunction decodeSchemaFields(schema: _Schema, dictionaries?: Map<number, DataType>) {\n const fields = [] as Field[];\n for (let f, i = -1, j = -1, n = schema.fieldsLength(); ++i < n;) {\n if (f = schema.fields(i)) {\n fields[++j] = Field.decode(f, dictionaries);\n }\n }\n return fields;\n}\n\n/** @ignore */\nfunction decodeFieldChildren(field: _Field, dictionaries?: Map<number, DataType>): Field[] {\n const children = [] as Field[];\n for (let f, i = -1, j = -1, n = field.childrenLength(); ++i < n;) {\n if (f = field.children(i)) {\n children[++j] = Field.decode(f, dictionaries);\n }\n }\n return children;\n}\n\n/** @ignore */\nfunction decodeField(f: _Field, dictionaries?: Map<number, DataType>) {\n\n let id: number;\n let field: Field | void;\n let type: DataType<any>;\n let keys: _Int | TKeys | null;\n let dictType: Dictionary;\n let dictMeta: _DictionaryEncoding | null;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = f.dictionary())) {\n type = decodeFieldType(f, decodeFieldChildren(f, dictionaries));\n field = new Field(f.name()!, type, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta.id().low)) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictionaries.set(id, type = decodeFieldType(f, decodeFieldChildren(f, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction decodeCustomMetadata(parent?: _Schema | _Field | null) {\n const data = new Map<string, string>();\n if (parent) {\n for (let entry, key, i = -1, n = Math.trunc(parent.customMetadataLength()); ++i < n;) {\n if ((entry = parent.customMetadata(i)) && (key = entry.key()) != null) {\n data.set(key, entry.value()!);\n }\n }\n }\n return data;\n}\n\n/** @ignore */\nfunction decodeIndexType(_type: _Int) {\n return new Int(_type.isSigned(), _type.bitWidth() as IntBitWidth);\n}\n\n/** @ignore */\nfunction decodeFieldType(f: _Field, children?: Field[]): DataType<any> {\n\n const typeId = f.typeType();\n\n switch (typeId) {\n case Type['NONE']: return new Null();\n case Type['Null']: return new Null();\n case Type['Binary']: return new Binary();\n case Type['Utf8']: return new Utf8();\n case Type['Bool']: return new Bool();\n case Type['List']: return new List((children || [])[0]);\n case Type['Struct_']: return new Struct(children || []);\n }\n\n switch (typeId) {\n case Type['Int']: {\n const t = f.type(new _Int())!;\n return new Int(t.isSigned(), t.bitWidth());\n }\n case Type['FloatingPoint']: {\n const t = f.type(new _FloatingPoint())!;\n return new Float(t.precision());\n }\n case Type['Decimal']: {\n const t = f.type(new _Decimal())!;\n return new Decimal(t.scale(), t.precision(), t.bitWidth());\n }\n case Type['Date']: {\n const t = f.type(new _Date())!;\n return new Date_(t.unit());\n }\n case Type['Time']: {\n const t = f.type(new _Time())!;\n return new Time(t.unit(), t.bitWidth() as TimeBitWidth);\n }\n case Type['Timestamp']: {\n const t = f.type(new _Timestamp())!;\n return new Timestamp(t.unit(), t.timezone());\n }\n case Type['Interval']: {\n const t = f.type(new _Interval())!;\n return new Interval(t.unit());\n }\n case Type['Union']: {\n const t = f.type(new _Union())!;\n return new Union(t.mode(), t.typeIdsArray() || [], children || []);\n }\n case Type['FixedSizeBinary']: {\n const t = f.type(new _FixedSizeBinary())!;\n return new FixedSizeBinary(t.byteWidth());\n }\n case Type['FixedSizeList']: {\n const t = f.type(new _FixedSizeList())!;\n return new FixedSizeList(t.listSize(), (children || [])[0]);\n }\n case Type['Map']: {\n const t = f.type(new _Map())!;\n return new Map_((children || [])[0], t.keysSorted());\n }\n }\n throw new Error(`Unrecognized type: \"${Type[typeId]}\" (${typeId})`);\n}\n\n/** @ignore */\nfunction encodeSchema(b: Builder, schema: Schema) {\n\n const fieldOffsets = schema.fields.map((f) => Field.encode(b, f));\n\n _Schema.startFieldsVector(b, fieldOffsets.length);\n\n const fieldsVectorOffset = _Schema.createFieldsVector(b, fieldOffsets);\n\n const metadataOffset = !(schema.metadata && schema.metadata.size > 0) ? -1 :\n _Schema.createCustomMetadataVector(b, [...schema.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n _Schema.startSchema(b);\n _Schema.addFields(b, fieldsVectorOffset);\n _Schema.addEndianness(b, platformIsLittleEndian ? _Endianness.Little : _Endianness.Big);\n\n if (metadataOffset !== -1) { _Schema.addCustomMetadata(b, metadataOffset); }\n\n return _Schema.endSchema(b);\n}\n\n/** @ignore */\nfunction encodeField(b: Builder, field: Field) {\n\n let nameOffset = -1;\n let typeOffset = -1;\n let dictionaryOffset = -1;\n\n const type = field.type;\n let typeId: Type = <any>field.typeId;\n\n if (!DataType.isDictionary(type)) {\n typeOffset = typeAssembler.visit(type, b)!;\n } else {\n typeId = type.dictionary.typeId;\n dictionaryOffset = typeAssembler.visit(type, b)!;\n typeOffset = typeAssembler.visit(type.dictionary, b)!;\n }\n\n const childOffsets = (type.children || []).map((f: Field) => Field.encode(b, f));\n const childrenVectorOffset = _Field.createChildrenVector(b, childOffsets);\n\n const metadataOffset = !(field.metadata && field.metadata.size > 0) ? -1 :\n _Field.createCustomMetadataVector(b, [...field.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n if (field.name) {\n nameOffset = b.createString(field.name);\n }\n\n _Field.startField(b);\n _Field.addType(b, typeOffset);\n _Field.addTypeType(b, typeId);\n _Field.addChildren(b, childrenVectorOffset);\n _Field.addNullable(b, !!field.nullable);\n\n if (nameOffset !== -1) { _Field.addName(b, nameOffset); }\n if (dictionaryOffset !== -1) { _Field.addDictionary(b, dictionaryOffset); }\n if (metadataOffset !== -1) { _Field.addCustomMetadata(b, metadataOffset); }\n\n return _Field.endField(b);\n}\n\n/** @ignore */\nfunction encodeRecordBatch(b: Builder, recordBatch: RecordBatch) {\n\n const nodes = recordBatch.nodes || [];\n const buffers = recordBatch.buffers || [];\n\n _RecordBatch.startNodesVector(b, nodes.length);\n for (const n of nodes.slice().reverse()) FieldNode.encode(b, n);\n\n const nodesVectorOffset = b.endVector();\n\n _RecordBatch.startBuffersVector(b, buffers.length);\n for (const b_ of buffers.slice().reverse()) BufferRegion.encode(b, b_);\n\n const buffersVectorOffset = b.endVector();\n\n _RecordBatch.startRecordBatch(b);\n _RecordBatch.addLength(b, new Long(recordBatch.length, 0));\n _RecordBatch.addNodes(b, nodesVectorOffset);\n _RecordBatch.addBuffers(b, buffersVectorOffset);\n return _RecordBatch.endRecordBatch(b);\n}\n\n/** @ignore */\nfunction encodeDictionaryBatch(b: Builder, dictionaryBatch: DictionaryBatch) {\n const dataOffset = RecordBatch.encode(b, dictionaryBatch.data);\n _DictionaryBatch.startDictionaryBatch(b);\n _DictionaryBatch.addId(b, new Long(dictionaryBatch.id, 0));\n _DictionaryBatch.addIsDelta(b, dictionaryBatch.isDelta);\n _DictionaryBatch.addData(b, dataOffset);\n return _DictionaryBatch.endDictionaryBatch(b);\n}\n\n/** @ignore */\nfunction encodeFieldNode(b: Builder, node: FieldNode) {\n return _FieldNode.createFieldNode(b, new Long(node.length, 0), new Long(node.nullCount, 0));\n}\n\n/** @ignore */\nfunction encodeBufferRegion(b: Builder, node: BufferRegion) {\n return _Buffer.createBuffer(b, new Long(node.offset, 0), new Long(node.length, 0));\n}\n\n/** @ignore */\nconst platformIsLittleEndian = (() => {\n const buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n})();\n\n/** @ignore */\ntype MessageHeaderDecoder = <T extends MessageHeader>() => T extends MessageHeader.Schema ? Schema\n : T extends MessageHeader.RecordBatch ? RecordBatch\n : T extends MessageHeader.DictionaryBatch ? DictionaryBatch : never;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MessageHeader } from '../enum.js';\nimport { ByteBuffer } from 'flatbuffers';\nimport { Message } from './metadata/message.js';\nimport { isFileHandle } from '../util/compat.js';\nimport { AsyncRandomAccessFile } from '../io/file.js';\nimport { toUint8Array, ArrayBufferViewInput } from '../util/buffer.js';\nimport { ByteStream, ReadableSource, AsyncByteStream } from '../io/stream.js';\nimport { ArrowJSON, ArrowJSONLike, ITERATOR_DONE, FileHandle } from '../io/interfaces.js';\n\n/** @ignore */ const invalidMessageType = (type: MessageHeader) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;\n/** @ignore */ const nullMessage = (type: MessageHeader) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;\n/** @ignore */ const invalidMessageMetadata = (expected: number, actual: number) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;\n/** @ignore */ const invalidMessageBodyLength = (expected: number, actual: number) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;\n\n/** @ignore */\nexport class MessageReader implements IterableIterator<Message> {\n protected source: ByteStream;\n constructor(source: ByteStream | ArrayBufferViewInput | Iterable<ArrayBufferViewInput>) {\n this.source = source instanceof ByteStream ? source : new ByteStream(source);\n }\n public [Symbol.iterator](): IterableIterator<Message> { return this as IterableIterator<Message>; }\n public next(): IteratorResult<Message> {\n let r;\n if ((r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return (<any>r) as IteratorResult<Message>;\n }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public readMessage<T extends MessageHeader>(type?: T | null) {\n let r: IteratorResult<Message<T>>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readMessageBody(bodyLength: number): Uint8Array {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message?.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected readMetadataLength(): IteratorResult<number> {\n const buf = this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb?.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected readMetadata(metadataLength: number): IteratorResult<Message> {\n const buf = this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class AsyncMessageReader implements AsyncIterableIterator<Message> {\n protected source: AsyncByteStream;\n constructor(source: ReadableSource<Uint8Array>);\n constructor(source: FileHandle, byteLength?: number);\n constructor(source: any, byteLength?: number) {\n this.source = source instanceof AsyncByteStream ? source\n : isFileHandle(source)\n ? new AsyncRandomAccessFile(source, byteLength!)\n : new AsyncByteStream(source);\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator<Message> { return this as AsyncIterableIterator<Message>; }\n public async next(): Promise<IteratorResult<Message>> {\n let r;\n if ((r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = await this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return (<any>r) as IteratorResult<Message>;\n }\n public async throw(value?: any) { return await this.source.throw(value); }\n public async return(value?: any) { return await this.source.return(value); }\n public async readMessage<T extends MessageHeader>(type?: T | null) {\n let r: IteratorResult<Message<T>>;\n if ((r = await this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public async readMessageBody(bodyLength: number): Promise<Uint8Array> {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(await this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public async readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = await this.readMessage(type);\n const schema = message?.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected async readMetadataLength(): Promise<IteratorResult<number>> {\n const buf = await this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb?.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected async readMetadata(metadataLength: number): Promise<IteratorResult<Message>> {\n const buf = await this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class JSONMessageReader extends MessageReader {\n private _schema = false;\n private _json: ArrowJSON;\n private _body: any[] = [];\n private _batchIndex = 0;\n private _dictionaryIndex = 0;\n constructor(source: ArrowJSON | ArrowJSONLike) {\n super(new Uint8Array(0));\n this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);\n }\n public next() {\n const { _json } = this;\n if (!this._schema) {\n this._schema = true;\n const message = Message.fromJSON(_json.schema, MessageHeader.Schema);\n return { done: false, value: message };\n }\n if (this._dictionaryIndex < _json.dictionaries.length) {\n const batch = _json.dictionaries[this._dictionaryIndex++];\n this._body = batch['data']['columns'];\n const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);\n return { done: false, value: message };\n }\n if (this._batchIndex < _json.batches.length) {\n const batch = _json.batches[this._batchIndex++];\n this._body = batch['columns'];\n const message = Message.fromJSON(batch, MessageHeader.RecordBatch);\n return { done: false, value: message };\n }\n this._body = [];\n return ITERATOR_DONE;\n }\n public readMessageBody(_bodyLength?: number) {\n return flattenDataSources(this._body) as any;\n function flattenDataSources(xs: any[]): any[][] {\n return (xs || []).reduce<any[][]>((buffers, column: any) => [\n ...buffers,\n ...(column['VALIDITY'] && [column['VALIDITY']] || []),\n ...(column['TYPE'] && [column['TYPE']] || []),\n ...(column['OFFSET'] && [column['OFFSET']] || []),\n ...(column['DATA'] && [column['DATA']] || []),\n ...flattenDataSources(column['children'])\n ], [] as any[][]);\n }\n }\n public readMessage<T extends MessageHeader>(type?: T | null) {\n let r: IteratorResult<Message<T>>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readSchema() {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message?.header();\n if (!message || !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n}\n\n/** @ignore */\nexport const PADDING = 4;\n/** @ignore */\nexport const MAGIC_STR = 'ARROW1';\n/** @ignore */\nexport const MAGIC = new Uint8Array(MAGIC_STR.length);\n\nfor (let i = 0; i < MAGIC_STR.length; i += 1) {\n MAGIC[i] = MAGIC_STR.codePointAt(i)!;\n}\n\n/** @ignore */\nexport function checkForMagicArrowString(buffer: Uint8Array, index = 0) {\n for (let i = -1, n = MAGIC.length; ++i < n;) {\n if (MAGIC[i] !== buffer[index + i]) {\n return false;\n }\n }\n return true;\n}\n\n/** @ignore */\nexport const magicLength = MAGIC.length;\n/** @ignore */\nexport const magicAndPadding = magicLength + PADDING;\n/** @ignore */\nexport const magicX2AndPadding = magicLength * 2 + PADDING;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { makeData } from '../data.js';\nimport { Vector } from '../vector.js';\nimport { DataType, Struct, TypeMap } from '../type.js';\nimport { MessageHeader } from '../enum.js';\nimport { Footer } from './metadata/file.js';\nimport { Schema, Field } from '../schema.js';\nimport streamAdapters from '../io/adapters.js';\nimport { Message } from './metadata/message.js';\nimport * as metadata from './metadata/message.js';\nimport { ArrayBufferViewInput } from '../util/buffer.js';\nimport { ByteStream, AsyncByteStream } from '../io/stream.js';\nimport { RandomAccessFile, AsyncRandomAccessFile } from '../io/file.js';\nimport { VectorLoader, JSONVectorLoader } from '../visitor/vectorloader.js';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch.js';\nimport {\n FileHandle,\n ArrowJSONLike,\n ITERATOR_DONE,\n ReadableInterop,\n} from '../io/interfaces.js';\nimport {\n MessageReader, AsyncMessageReader, JSONMessageReader,\n checkForMagicArrowString, magicLength, magicAndPadding, magicX2AndPadding\n} from './message.js';\nimport {\n isPromise,\n isIterable, isAsyncIterable,\n isIteratorResult, isArrowJSON,\n isFileHandle, isFetchResponse,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat.js';\n\n/** @ignore */ export type FromArg0 = ArrowJSONLike;\n/** @ignore */ export type FromArg1 = PromiseLike<ArrowJSONLike>;\n/** @ignore */ export type FromArg2 = Iterable<ArrayBufferViewInput> | ArrayBufferViewInput;\n/** @ignore */ export type FromArg3 = PromiseLike<Iterable<ArrayBufferViewInput> | ArrayBufferViewInput>;\n/** @ignore */ export type FromArg4 = Response | NodeJS.ReadableStream | ReadableStream<ArrayBufferViewInput> | AsyncIterable<ArrayBufferViewInput>;\n/** @ignore */ export type FromArg5 = FileHandle | PromiseLike<FileHandle> | PromiseLike<FromArg4>;\n/** @ignore */ export type FromArgs = FromArg0 | FromArg1 | FromArg2 | FromArg3 | FromArg4 | FromArg5;\n\n/** @ignore */ type OpenOptions = { autoDestroy?: boolean };\n/** @ignore */ type RecordBatchReaders<T extends TypeMap = any> = RecordBatchFileReader<T> | RecordBatchStreamReader<T>;\n/** @ignore */ type AsyncRecordBatchReaders<T extends TypeMap = any> = AsyncRecordBatchFileReader<T> | AsyncRecordBatchStreamReader<T>;\n/** @ignore */ type RecordBatchFileReaders<T extends TypeMap = any> = RecordBatchFileReader<T> | AsyncRecordBatchFileReader<T>;\n/** @ignore */ type RecordBatchStreamReaders<T extends TypeMap = any> = RecordBatchStreamReader<T> | AsyncRecordBatchStreamReader<T>;\n\nexport class RecordBatchReader<T extends TypeMap = any> extends ReadableInterop<RecordBatch<T>> {\n\n protected _impl: RecordBatchReaderImpls<T>;\n protected constructor(impl: RecordBatchReaderImpls<T>) {\n super();\n this._impl = impl;\n }\n\n public get closed() { return this._impl.closed; }\n public get schema() { return this._impl.schema; }\n public get autoDestroy() { return this._impl.autoDestroy; }\n public get dictionaries() { return this._impl.dictionaries; }\n public get numDictionaries() { return this._impl.numDictionaries; }\n public get numRecordBatches() { return this._impl.numRecordBatches; }\n public get footer(): Footer | null { return this._impl.isFile() ? this._impl.footer : null; }\n\n public isSync(): this is RecordBatchReaders<T> { return this._impl.isSync(); }\n public isAsync(): this is AsyncRecordBatchReaders<T> { return this._impl.isAsync(); }\n public isFile(): this is RecordBatchFileReaders<T> { return this._impl.isFile(); }\n public isStream(): this is RecordBatchStreamReaders<T> { return this._impl.isStream(); }\n\n public next() {\n return this._impl.next();\n }\n public throw(value?: any) {\n return this._impl.throw(value);\n }\n public return(value?: any) {\n return this._impl.return(value);\n }\n public cancel() {\n return this._impl.cancel();\n }\n public reset(schema?: Schema<T> | null): this {\n this._impl.reset(schema);\n this._DOMStream = undefined;\n this._nodeStream = undefined;\n return this;\n }\n public open(options?: OpenOptions) {\n const opening = this._impl.open(options);\n return isPromise(opening) ? opening.then(() => this) : this;\n }\n public readRecordBatch(index: number): RecordBatch<T> | null | Promise<RecordBatch<T> | null> {\n return this._impl.isFile() ? this._impl.readRecordBatch(index) : null;\n }\n public [Symbol.iterator](): IterableIterator<RecordBatch<T>> {\n return (<IterableIterator<RecordBatch<T>>>this._impl)[Symbol.iterator]();\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator<RecordBatch<T>> {\n return (<AsyncIterableIterator<RecordBatch<T>>>this._impl)[Symbol.asyncIterator]();\n }\n public toDOMStream() {\n return streamAdapters.toDOMStream<RecordBatch<T>>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable<RecordBatch<T>>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable<RecordBatch<T>>));\n }\n public toNodeStream() {\n return streamAdapters.toNodeStream<RecordBatch<T>>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable<RecordBatch<T>>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable<RecordBatch<T>>),\n { objectMode: true });\n }\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM<T extends TypeMap>(\n // @ts-ignore\n writableStrategy?: ByteLengthQueuingStrategy,\n // @ts-ignore\n readableStrategy?: { autoDestroy: boolean }\n ): { writable: WritableStream<Uint8Array>; readable: ReadableStream<RecordBatch<T>> } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n public static from<T extends RecordBatchReader>(source: T): T;\n public static from<T extends TypeMap = any>(source: FromArg0): RecordBatchStreamReader<T>;\n public static from<T extends TypeMap = any>(source: FromArg1): Promise<RecordBatchStreamReader<T>>;\n public static from<T extends TypeMap = any>(source: FromArg2): RecordBatchFileReader<T> | RecordBatchStreamReader<T>;\n public static from<T extends TypeMap = any>(source: FromArg3): Promise<RecordBatchFileReader<T> | RecordBatchStreamReader<T>>;\n public static from<T extends TypeMap = any>(source: FromArg4): Promise<AsyncRecordBatchFileReader<T> | AsyncRecordBatchStreamReader<T>>;\n public static from<T extends TypeMap = any>(source: FromArg5): Promise<AsyncRecordBatchFileReader<T> | AsyncRecordBatchStreamReader<T>>;\n /** @nocollapse */\n public static from<T extends TypeMap = any>(source: any) {\n if (source instanceof RecordBatchReader) {\n return source;\n } else if (isArrowJSON(source)) {\n return fromArrowJSON<T>(source);\n } else if (isFileHandle(source)) {\n return fromFileHandle<T>(source);\n } else if (isPromise<any>(source)) {\n return (async () => await RecordBatchReader.from<any>(await source))();\n } else if (isFetchResponse(source) || isReadableDOMStream(source) || isReadableNodeStream(source) || isAsyncIterable(source)) {\n return fromAsyncByteStream<T>(new AsyncByteStream(source));\n }\n return fromByteStream<T>(new ByteStream(source));\n }\n\n public static readAll<T extends RecordBatchReader>(source: T): T extends RecordBatchReaders ? IterableIterator<T> : AsyncIterableIterator<T>;\n public static readAll<T extends TypeMap = any>(source: FromArg0): IterableIterator<RecordBatchStreamReader<T>>;\n public static readAll<T extends TypeMap = any>(source: FromArg1): AsyncIterableIterator<RecordBatchStreamReader<T>>;\n public static readAll<T extends TypeMap = any>(source: FromArg2): IterableIterator<RecordBatchFileReader<T> | RecordBatchStreamReader<T>>;\n public static readAll<T extends TypeMap = any>(source: FromArg3): AsyncIterableIterator<RecordBatchFileReader<T> | RecordBatchStreamReader<T>>;\n public static readAll<T extends TypeMap = any>(source: FromArg4): AsyncIterableIterator<AsyncRecordBatchReaders<T>>;\n public static readAll<T extends TypeMap = any>(source: FromArg5): AsyncIterableIterator<AsyncRecordBatchReaders<T>>;\n /** @nocollapse */\n public static readAll<T extends TypeMap = any>(source: any) {\n if (source instanceof RecordBatchReader) {\n return source.isSync() ? readAllSync(source) : readAllAsync(source as AsyncRecordBatchReaders<T>);\n } else if (isArrowJSON(source) || ArrayBuffer.isView(source) || isIterable<ArrayBufferViewInput>(source) || isIteratorResult(source)) {\n return readAllSync<T>(source) as IterableIterator<RecordBatchReaders<T>>;\n }\n return readAllAsync<T>(source) as AsyncIterableIterator<RecordBatchReaders<T> | AsyncRecordBatchReaders<T>>;\n }\n}\n\n//\n// Since TS is a structural type system, we define the following subclass stubs\n// so that concrete types exist to associate with with the interfaces below.\n//\n// The implementation for each RecordBatchReader is hidden away in the set of\n// `RecordBatchReaderImpl` classes in the second half of this file. This allows\n// us to export a single RecordBatchReader class, and swap out the impl based\n// on the io primitives or underlying arrow (JSON, file, or stream) at runtime.\n//\n// Async/await makes our job a bit harder, since it forces everything to be\n// either fully sync or fully async. This is why the logic for the reader impls\n// has been duplicated into both sync and async variants. Since the RBR\n// delegates to its impl, an RBR with an AsyncRecordBatchFileReaderImpl for\n// example will return async/await-friendly Promises, but one with a (sync)\n// RecordBatchStreamReaderImpl will always return values. Nothing should be\n// different about their logic, aside from the async handling. This is also why\n// this code looks highly structured, as it should be nearly identical and easy\n// to follow.\n//\n\n/** @ignore */\nexport class RecordBatchStreamReader<T extends TypeMap = any> extends RecordBatchReader<T> {\n constructor(protected _impl: RecordBatchStreamReaderImpl<T>) { super(_impl); }\n public readAll() { return [...this]; }\n public [Symbol.iterator]() { return (this._impl as IterableIterator<RecordBatch<T>>)[Symbol.iterator](); }\n public async *[Symbol.asyncIterator](): AsyncIterableIterator<RecordBatch<T>> { yield* this[Symbol.iterator](); }\n}\n/** @ignore */\nexport class AsyncRecordBatchStreamReader<T extends TypeMap = any> extends RecordBatchReader<T> {\n constructor(protected _impl: AsyncRecordBatchStreamReaderImpl<T>) { super(_impl); }\n public async readAll() {\n const batches = new Array<RecordBatch<T>>();\n for await (const batch of this) { batches.push(batch); }\n return batches;\n }\n public [Symbol.iterator](): IterableIterator<RecordBatch<T>> { throw new Error(`AsyncRecordBatchStreamReader is not Iterable`); }\n public [Symbol.asyncIterator]() { return (this._impl as AsyncIterableIterator<RecordBatch<T>>)[Symbol.asyncIterator](); }\n}\n/** @ignore */\nexport class RecordBatchFileReader<T extends TypeMap = any> extends RecordBatchStreamReader<T> {\n constructor(protected _impl: RecordBatchFileReaderImpl<T>) { super(_impl); }\n}\n/** @ignore */\nexport class AsyncRecordBatchFileReader<T extends TypeMap = any> extends AsyncRecordBatchStreamReader<T> {\n constructor(protected _impl: AsyncRecordBatchFileReaderImpl<T>) { super(_impl); }\n}\n\n//\n// Now override the return types for each sync/async RecordBatchReader variant\n//\n\n/** @ignore */\nexport interface RecordBatchStreamReader<T extends TypeMap = any> extends RecordBatchReader<T> {\n open(options?: OpenOptions | undefined): this;\n cancel(): void;\n throw(value?: any): IteratorResult<any>;\n return(value?: any): IteratorResult<any>;\n next(value?: any): IteratorResult<RecordBatch<T>>;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchStreamReader<T extends TypeMap = any> extends RecordBatchReader<T> {\n open(options?: OpenOptions | undefined): Promise<this>;\n cancel(): Promise<void>;\n throw(value?: any): Promise<IteratorResult<any>>;\n return(value?: any): Promise<IteratorResult<any>>;\n next(value?: any): Promise<IteratorResult<RecordBatch<T>>>;\n}\n\n/** @ignore */\nexport interface RecordBatchFileReader<T extends TypeMap = any> extends RecordBatchStreamReader<T> {\n readRecordBatch(index: number): RecordBatch<T> | null;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchFileReader<T extends TypeMap = any> extends AsyncRecordBatchStreamReader<T> {\n readRecordBatch(index: number): Promise<RecordBatch<T> | null>;\n}\n\n/** @ignore */\ntype RecordBatchReaderImpls<T extends TypeMap = any> =\n RecordBatchJSONReaderImpl<T> |\n RecordBatchFileReaderImpl<T> |\n RecordBatchStreamReaderImpl<T> |\n AsyncRecordBatchFileReaderImpl<T> |\n AsyncRecordBatchStreamReaderImpl<T>;\n\n/** @ignore */\ninterface RecordBatchReaderImpl<T extends TypeMap = any> {\n\n closed: boolean;\n schema: Schema<T>;\n autoDestroy: boolean;\n dictionaries: Map<number, Vector>;\n\n isFile(): this is RecordBatchFileReaders<T>;\n isStream(): this is RecordBatchStreamReaders<T>;\n isSync(): this is RecordBatchReaders<T>;\n isAsync(): this is AsyncRecordBatchReaders<T>;\n\n reset(schema?: Schema<T> | null): this;\n}\n\n/** @ignore */\ninterface RecordBatchStreamReaderImpl<T extends TypeMap = any> extends RecordBatchReaderImpl<T> {\n\n open(options?: OpenOptions): this;\n cancel(): void;\n\n throw(value?: any): IteratorResult<any>;\n return(value?: any): IteratorResult<any>;\n next(value?: any): IteratorResult<RecordBatch<T>>;\n\n [Symbol.iterator](): IterableIterator<RecordBatch<T>>;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchStreamReaderImpl<T extends TypeMap = any> extends RecordBatchReaderImpl<T> {\n\n open(options?: OpenOptions): Promise<this>;\n cancel(): Promise<void>;\n\n throw(value?: any): Promise<IteratorResult<any>>;\n return(value?: any): Promise<IteratorResult<any>>;\n next(value?: any): Promise<IteratorResult<RecordBatch<T>>>;\n\n [Symbol.asyncIterator](): AsyncIterableIterator<RecordBatch<T>>;\n}\n\n/** @ignore */\ninterface RecordBatchFileReaderImpl<T extends TypeMap = any> extends RecordBatchStreamReaderImpl<T> {\n readRecordBatch(index: number): RecordBatch<T> | null;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchFileReaderImpl<T extends TypeMap = any> extends AsyncRecordBatchStreamReaderImpl<T> {\n readRecordBatch(index: number): Promise<RecordBatch<T> | null>;\n}\n\n/** @ignore */\nabstract class RecordBatchReaderImpl<T extends TypeMap = any> implements RecordBatchReaderImpl<T> {\n\n declare public schema: Schema<T>;\n public closed = false;\n public autoDestroy = true;\n public dictionaries: Map<number, Vector>;\n\n protected _dictionaryIndex = 0;\n protected _recordBatchIndex = 0;\n public get numDictionaries() { return this._dictionaryIndex; }\n public get numRecordBatches() { return this._recordBatchIndex; }\n\n constructor(dictionaries = new Map<number, Vector>()) {\n this.dictionaries = dictionaries;\n }\n\n public isSync(): this is RecordBatchReaders<T> { return false; }\n public isAsync(): this is AsyncRecordBatchReaders<T> { return false; }\n public isFile(): this is RecordBatchFileReaders<T> { return false; }\n public isStream(): this is RecordBatchStreamReaders<T> { return false; }\n\n public reset(schema?: Schema<T> | null) {\n this._dictionaryIndex = 0;\n this._recordBatchIndex = 0;\n this.schema = <any>schema;\n this.dictionaries = new Map();\n return this;\n }\n\n protected _loadRecordBatch(header: metadata.RecordBatch, body: any) {\n const children = this._loadVectors(header, body, this.schema.fields);\n const data = makeData({ type: new Struct(this.schema.fields), length: header.length, children });\n return new RecordBatch(this.schema, data);\n }\n protected _loadDictionaryBatch(header: metadata.DictionaryBatch, body: any) {\n const { id, isDelta } = header;\n const { dictionaries, schema } = this;\n const dictionary = dictionaries.get(id);\n if (isDelta || !dictionary) {\n const type = schema.dictionaries.get(id)!;\n const data = this._loadVectors(header.data, body, [type]);\n return (dictionary && isDelta ? dictionary.concat(\n new Vector(data)) :\n new Vector(data)).memoize() as Vector;\n }\n return dictionary.memoize();\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new VectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n/** @ignore */\nclass RecordBatchStreamReaderImpl<T extends TypeMap = any> extends RecordBatchReaderImpl<T> implements IterableIterator<RecordBatch<T>> {\n\n protected _reader: MessageReader;\n protected _handle: ByteStream | ArrowJSONLike;\n\n constructor(source: ByteStream | ArrowJSONLike, dictionaries?: Map<number, Vector>) {\n super(dictionaries);\n this._reader = !isArrowJSON(source)\n ? new MessageReader(this._handle = source)\n : new JSONMessageReader(this._handle = source);\n }\n\n public isSync(): this is RecordBatchReaders<T> { return true; }\n public isStream(): this is RecordBatchStreamReaders<T> { return true; }\n public [Symbol.iterator](): IterableIterator<RecordBatch<T>> {\n return this as IterableIterator<RecordBatch<T>>;\n }\n public cancel() {\n if (!this.closed && (this.closed = true)) {\n this.reset()._reader.return();\n this._reader = <any>null;\n this.dictionaries = <any>null;\n }\n }\n public open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = this._reader.readSchema()!))) {\n this.cancel();\n }\n }\n return this;\n }\n public throw(value?: any): IteratorResult<any> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public return(value?: any): IteratorResult<any> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public next(): IteratorResult<RecordBatch<T>> {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null;\n const { _reader: reader } = this;\n while (message = this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch<T>(this.schema) };\n }\n return this.return();\n }\n protected _readNextMessageAndValidate<T extends MessageHeader>(type?: T | null) {\n return this._reader.readMessage<T>(type);\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchStreamReaderImpl<T extends TypeMap = any> extends RecordBatchReaderImpl<T> implements AsyncIterableIterator<RecordBatch<T>> {\n\n protected _handle: AsyncByteStream;\n protected _reader: AsyncMessageReader;\n\n constructor(source: AsyncByteStream, dictionaries?: Map<number, Vector>) {\n super(dictionaries);\n this._reader = new AsyncMessageReader(this._handle = source);\n }\n public isAsync(): this is AsyncRecordBatchReaders<T> { return true; }\n public isStream(): this is RecordBatchStreamReaders<T> { return true; }\n public [Symbol.asyncIterator](): AsyncIterableIterator<RecordBatch<T>> {\n return this as AsyncIterableIterator<RecordBatch<T>>;\n }\n public async cancel() {\n if (!this.closed && (this.closed = true)) {\n await this.reset()._reader.return();\n this._reader = <any>null;\n this.dictionaries = <any>null;\n }\n }\n public async open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = (await this._reader.readSchema())!))) {\n await this.cancel();\n }\n }\n return this;\n }\n public async throw(value?: any): Promise<IteratorResult<any>> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public async return(value?: any): Promise<IteratorResult<any>> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public async next() {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null;\n const { _reader: reader } = this;\n while (message = await this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n await this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch<T>(this.schema) };\n }\n return await this.return();\n }\n protected async _readNextMessageAndValidate<T extends MessageHeader>(type?: T | null) {\n return await this._reader.readMessage<T>(type);\n }\n}\n\n/** @ignore */\nclass RecordBatchFileReaderImpl<T extends TypeMap = any> extends RecordBatchStreamReaderImpl<T> {\n\n protected _footer?: Footer;\n declare protected _handle: RandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: RandomAccessFile | ArrayBufferViewInput, dictionaries?: Map<number, Vector>) {\n super(source instanceof RandomAccessFile ? source : new RandomAccessFile(source), dictionaries);\n }\n public isSync(): this is RecordBatchReaders<T> { return true; }\n public isFile(): this is RecordBatchFileReaders<T> { return true; }\n public open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return super.open(options);\n }\n public readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { this.open(); }\n const block = this._footer?.getRecordBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.RecordBatch);\n if (message?.isRecordBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected _readDictionaryBatch(index: number) {\n const block = this._footer?.getDictionaryBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message?.isDictionaryBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected _readFooter() {\n const { _handle } = this;\n const offset = _handle.size - magicAndPadding;\n const length = _handle.readInt32(offset);\n const buffer = _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected _readNextMessageAndValidate<T extends MessageHeader>(type?: T | null): Message<T> | null {\n if (!this._footer) { this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer?.getRecordBatch(this._recordBatchIndex);\n if (block && this._handle.seek(block.offset)) {\n return this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchFileReaderImpl<T extends TypeMap = any> extends AsyncRecordBatchStreamReaderImpl<T>\n implements AsyncRecordBatchFileReaderImpl<T> {\n\n protected _footer?: Footer;\n declare protected _handle: AsyncRandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: FileHandle, byteLength?: number, dictionaries?: Map<number, Vector>);\n constructor(source: FileHandle | AsyncRandomAccessFile, dictionaries?: Map<number, Vector>);\n constructor(source: FileHandle | AsyncRandomAccessFile, ...rest: any[]) {\n const byteLength = typeof rest[0] !== 'number' ? <number>rest.shift() : undefined;\n const dictionaries = rest[0] instanceof Map ? <Map<number, Vector>>rest.shift() : undefined;\n super(source instanceof AsyncRandomAccessFile ? source : new AsyncRandomAccessFile(source, byteLength), dictionaries);\n }\n public isFile(): this is RecordBatchFileReaders<T> { return true; }\n public isAsync(): this is AsyncRecordBatchReaders<T> { return true; }\n public async open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = await this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && await this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return await super.open(options);\n }\n public async readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { await this.open(); }\n const block = this._footer?.getRecordBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.RecordBatch);\n if (message?.isRecordBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected async _readDictionaryBatch(index: number) {\n const block = this._footer?.getDictionaryBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message?.isDictionaryBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected async _readFooter() {\n const { _handle } = this;\n _handle._pending && await _handle._pending;\n const offset = _handle.size - magicAndPadding;\n const length = await _handle.readInt32(offset);\n const buffer = await _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected async _readNextMessageAndValidate<T extends MessageHeader>(type?: T | null): Promise<Message<T> | null> {\n if (!this._footer) { await this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && await this._handle.seek(block.offset)) {\n return await this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass RecordBatchJSONReaderImpl<T extends TypeMap = any> extends RecordBatchStreamReaderImpl<T> {\n constructor(source: ArrowJSONLike, dictionaries?: Map<number, Vector>) {\n super(source, dictionaries);\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new JSONVectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n//\n// Define some helper functions and static implementations down here. There's\n// a bit of branching in the static methods that can lead to the same routines\n// being executed, so we've broken those out here for readability.\n//\n\n/** @ignore */\nfunction shouldAutoDestroy(self: { autoDestroy: boolean }, options?: OpenOptions) {\n return options && (typeof options['autoDestroy'] === 'boolean') ? options['autoDestroy'] : self['autoDestroy'];\n}\n\n/** @ignore */\nfunction* readAllSync<T extends TypeMap = any>(source: RecordBatchReaders<T> | FromArg0 | FromArg2) {\n const reader = RecordBatchReader.from<T>(<any>source) as RecordBatchReaders<T>;\n try {\n if (!reader.open({ autoDestroy: false }).closed) {\n do { yield reader; } while (!(reader.reset().open()).closed);\n }\n } finally { reader.cancel(); }\n}\n\n/** @ignore */\nasync function* readAllAsync<T extends TypeMap = any>(source: AsyncRecordBatchReaders<T> | FromArg1 | FromArg3 | FromArg4 | FromArg5) {\n const reader = await RecordBatchReader.from<T>(<any>source) as RecordBatchReader<T>;\n try {\n if (!(await reader.open({ autoDestroy: false })).closed) {\n do { yield reader; } while (!(await reader.reset().open()).closed);\n }\n } finally { await reader.cancel(); }\n}\n\n/** @ignore */\nfunction fromArrowJSON<T extends TypeMap>(source: ArrowJSONLike) {\n return new RecordBatchStreamReader(new RecordBatchJSONReaderImpl<T>(source));\n}\n\n/** @ignore */\nfunction fromByteStream<T extends TypeMap>(source: ByteStream) {\n const bytes = source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new RecordBatchStreamReader(new RecordBatchStreamReaderImpl<T>(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl<T>(source.read()))\n : new RecordBatchStreamReader(new RecordBatchStreamReaderImpl<T>(function* (): any { }()));\n}\n\n/** @ignore */\nasync function fromAsyncByteStream<T extends TypeMap>(source: AsyncByteStream) {\n const bytes = await source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl<T>(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl<T>(await source.read()))\n : new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl<T>(async function* (): any { }()));\n}\n\n/** @ignore */\nasync function fromFileHandle<T extends TypeMap>(source: FileHandle) {\n const { size } = await source.stat();\n const file = new AsyncRandomAccessFile(source, size);\n if (size >= magicX2AndPadding && checkForMagicArrowString(await file.readAt(0, (magicLength + 7) & ~7))) {\n return new AsyncRecordBatchFileReader(new AsyncRecordBatchFileReaderImpl<T>(file));\n }\n return new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl<T>(file));\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Vector } from '../vector.js';\nimport { Visitor } from '../visitor.js';\nimport { Type, UnionMode } from '../enum.js';\nimport { RecordBatch } from '../recordbatch.js';\nimport { TypeToDataType } from '../interfaces.js';\nimport { rebaseValueOffsets } from '../util/buffer.js';\nimport { packBools, truncateBitmap } from '../util/bit.js';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message.js';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp, Union,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n} from '../type.js';\n\n/** @ignore */\nexport interface VectorAssembler extends Visitor {\n visit<T extends DataType>(node: Vector<T> | Data<T>): this;\n visitMany<T extends DataType>(nodes: readonly Data<T>[]): this[];\n getVisitFn<T extends Type>(node: T): (data: Data<TypeToDataType<T>>) => this;\n getVisitFn<T extends DataType>(node: Vector<T> | Data<T> | T): (data: Data<T>) => this;\n\n visitBool<T extends Bool>(data: Data<T>): this;\n visitInt<T extends Int>(data: Data<T>): this;\n visitFloat<T extends Float>(data: Data<T>): this;\n visitUtf8<T extends Utf8>(data: Data<T>): this;\n visitBinary<T extends Binary>(data: Data<T>): this;\n visitFixedSizeBinary<T extends FixedSizeBinary>(data: Data<T>): this;\n visitDate<T extends Date_>(data: Data<T>): this;\n visitTimestamp<T extends Timestamp>(data: Data<T>): this;\n visitTime<T extends Time>(data: Data<T>): this;\n visitDecimal<T extends Decimal>(data: Data<T>): this;\n visitList<T extends List>(data: Data<T>): this;\n visitStruct<T extends Struct>(data: Data<T>): this;\n visitUnion<T extends Union>(data: Data<T>): this;\n visitInterval<T extends Interval>(data: Data<T>): this;\n visitFixedSizeList<T extends FixedSizeList>(data: Data<T>): this;\n visitMap<T extends Map_>(data: Data<T>): this;\n}\n\n/** @ignore */\nexport class VectorAssembler extends Visitor {\n\n /** @nocollapse */\n public static assemble<T extends Vector | RecordBatch>(...args: (T | T[])[]) {\n const unwrap = (nodes: (T | T[])[]): Data[] =>\n nodes.flatMap((node: T | T[]) => Array.isArray(node) ? unwrap(node) :\n (node instanceof RecordBatch) ? node.data.children : node.data);\n const assembler = new VectorAssembler();\n assembler.visitMany(unwrap(args));\n return assembler;\n }\n\n private constructor() { super(); }\n\n public visit<T extends DataType>(data: Vector<T> | Data<T>): this {\n if (data instanceof Vector) {\n this.visitMany(data.data);\n return this;\n }\n const { type } = data;\n if (!DataType.isDictionary(type)) {\n const { length, nullCount } = data;\n if (length > 2147483647) {\n /* istanbul ignore next */\n throw new RangeError('Cannot write arrays larger than 2^31 - 1 in length');\n }\n if (!DataType.isNull(type)) {\n addBuffer.call(this, nullCount <= 0\n ? new Uint8Array(0) // placeholder validity buffer\n : truncateBitmap(data.offset, length, data.nullBitmap)\n );\n }\n this.nodes.push(new FieldNode(length, nullCount));\n }\n return super.visit(data);\n }\n\n public visitNull<T extends Null>(_null: Data<T>) {\n return this;\n }\n\n public visitDictionary<T extends Dictionary>(data: Data<T>) {\n // Assemble the indices here, Dictionary assembled separately.\n return this.visit(data.clone(data.type.indices));\n }\n\n public get nodes() { return this._nodes; }\n public get buffers() { return this._buffers; }\n public get byteLength() { return this._byteLength; }\n public get bufferRegions() { return this._bufferRegions; }\n\n protected _byteLength = 0;\n protected _nodes: FieldNode[] = [];\n protected _buffers: ArrayBufferView[] = [];\n protected _bufferRegions: BufferRegion[] = [];\n}\n\n/** @ignore */\nfunction addBuffer(this: VectorAssembler, values: ArrayBufferView) {\n const byteLength = (values.byteLength + 7) & ~7; // Round up to a multiple of 8\n this.buffers.push(values);\n this.bufferRegions.push(new BufferRegion(this._byteLength, byteLength));\n this._byteLength += byteLength;\n return this;\n}\n\n/** @ignore */\nfunction assembleUnion<T extends Union>(this: VectorAssembler, data: Data<T>) {\n const { type, length, typeIds, valueOffsets } = data;\n // All Union Vectors have a typeIds buffer\n addBuffer.call(this, typeIds);\n // If this is a Sparse Union, treat it like all other Nested types\n if (type.mode === UnionMode.Sparse) {\n return assembleNestedVector.call(this, data);\n } else if (type.mode === UnionMode.Dense) {\n // If this is a Dense Union, add the valueOffsets buffer and potentially slice the children\n if (data.offset <= 0) {\n // If the Vector hasn't been sliced, write the existing valueOffsets\n addBuffer.call(this, valueOffsets);\n // We can treat this like all other Nested types\n return assembleNestedVector.call(this, data);\n } else {\n // A sliced Dense Union is an unpleasant case. Because the offsets are different for\n // each child vector, we need to \"rebase\" the valueOffsets for each child\n // Union typeIds are not necessary 0-indexed\n const maxChildTypeId = typeIds.reduce((x, y) => Math.max(x, y), typeIds[0]);\n const childLengths = new Int32Array(maxChildTypeId + 1);\n // Set all to -1 to indicate that we haven't observed a first occurrence of a particular child yet\n const childOffsets = new Int32Array(maxChildTypeId + 1).fill(-1);\n const shiftedOffsets = new Int32Array(length);\n // If we have a non-zero offset, then the value offsets do not start at\n // zero. We must a) create a new offsets array with shifted offsets and\n // b) slice the values array accordingly\n const unshiftedOffsets = rebaseValueOffsets(-valueOffsets[0], length, valueOffsets);\n for (let typeId, shift, index = -1; ++index < length;) {\n if ((shift = childOffsets[typeId = typeIds[index]]) === -1) {\n shift = childOffsets[typeId] = unshiftedOffsets[typeId];\n }\n shiftedOffsets[index] = unshiftedOffsets[index] - shift;\n ++childLengths[typeId];\n }\n addBuffer.call(this, shiftedOffsets);\n // Slice and visit children accordingly\n for (let child: Data | null, childIndex = -1, numChildren = type.children.length; ++childIndex < numChildren;) {\n if (child = data.children[childIndex]) {\n const typeId = type.typeIds[childIndex];\n const childLength = Math.min(length, childLengths[typeId]);\n this.visit(child.slice(childOffsets[typeId], childLength));\n }\n }\n }\n }\n return this;\n}\n\n/** @ignore */\nfunction assembleBoolVector<T extends Bool>(this: VectorAssembler, data: Data<T>) {\n // Bool vector is a special case of FlatVector, as its data buffer needs to stay packed\n let values: Uint8Array;\n if (data.nullCount >= data.length) {\n // If all values are null, just insert a placeholder empty data buffer (fastest path)\n return addBuffer.call(this, new Uint8Array(0));\n } else if ((values = data.values) instanceof Uint8Array) {\n // If values is already a Uint8Array, slice the bitmap (fast path)\n return addBuffer.call(this, truncateBitmap(data.offset, data.length, values));\n }\n // Otherwise if the underlying data *isn't* a Uint8Array, enumerate the\n // values as bools and re-pack them into a Uint8Array. This code isn't\n // reachable unless you're trying to manipulate the Data internals,\n // we're only doing this for safety.\n /* istanbul ignore next */\n return addBuffer.call(this, packBools(data.values));\n}\n\n/** @ignore */\nfunction assembleFlatVector<T extends Int | Float | FixedSizeBinary | Date_ | Timestamp | Time | Decimal | Interval>(this: VectorAssembler, data: Data<T>) {\n return addBuffer.call(this, data.values.subarray(0, data.length * data.stride));\n}\n\n/** @ignore */\nfunction assembleFlatListVector<T extends Utf8 | Binary>(this: VectorAssembler, data: Data<T>) {\n const { length, values, valueOffsets } = data;\n const firstOffset = valueOffsets[0];\n const lastOffset = valueOffsets[length];\n const byteLength = Math.min(lastOffset - firstOffset, values.byteLength - firstOffset);\n // Push in the order FlatList types read their buffers\n addBuffer.call(this, rebaseValueOffsets(-valueOffsets[0], length, valueOffsets)); // valueOffsets buffer first\n addBuffer.call(this, values.subarray(firstOffset, firstOffset + byteLength)); // sliced values buffer second\n return this;\n}\n\n/** @ignore */\nfunction assembleListVector<T extends Map_ | List | FixedSizeList>(this: VectorAssembler, data: Data<T>) {\n const { length, valueOffsets } = data;\n // If we have valueOffsets (MapVector, ListVector), push that buffer first\n if (valueOffsets) {\n addBuffer.call(this, rebaseValueOffsets(valueOffsets[0], length, valueOffsets));\n }\n // Then insert the List's values child\n return this.visit(data.children[0]);\n}\n\n/** @ignore */\nfunction assembleNestedVector<T extends Struct | Union>(this: VectorAssembler, data: Data<T>) {\n return this.visitMany(data.type.children.map((_, i) => data.children[i]).filter(Boolean))[0];\n}\n\nVectorAssembler.prototype.visitBool = assembleBoolVector;\nVectorAssembler.prototype.visitInt = assembleFlatVector;\nVectorAssembler.prototype.visitFloat = assembleFlatVector;\nVectorAssembler.prototype.visitUtf8 = assembleFlatListVector;\nVectorAssembler.prototype.visitBinary = assembleFlatListVector;\nVectorAssembler.prototype.visitFixedSizeBinary = assembleFlatVector;\nVectorAssembler.prototype.visitDate = assembleFlatVector;\nVectorAssembler.prototype.visitTimestamp = assembleFlatVector;\nVectorAssembler.prototype.visitTime = assembleFlatVector;\nVectorAssembler.prototype.visitDecimal = assembleFlatVector;\nVectorAssembler.prototype.visitList = assembleListVector;\nVectorAssembler.prototype.visitStruct = assembleNestedVector;\nVectorAssembler.prototype.visitUnion = assembleUnion;\nVectorAssembler.prototype.visitInterval = assembleFlatVector;\nVectorAssembler.prototype.visitFixedSizeList = assembleListVector;\nVectorAssembler.prototype.visitMap = assembleListVector;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data.js';\nimport { Table } from '../table.js';\nimport { MAGIC } from './message.js';\nimport { Vector } from '../vector.js';\nimport { DataType, TypeMap } from '../type.js';\nimport { Schema, Field } from '../schema.js';\nimport { Message } from './metadata/message.js';\nimport * as metadata from './metadata/message.js';\nimport { FileBlock, Footer } from './metadata/file.js';\nimport { MessageHeader, MetadataVersion } from '../enum.js';\nimport { compareSchemas } from '../visitor/typecomparator.js';\nimport { WritableSink, AsyncByteQueue } from '../io/stream.js';\nimport { VectorAssembler } from '../visitor/vectorassembler.js';\nimport { JSONTypeAssembler } from '../visitor/jsontypeassembler.js';\nimport { JSONVectorAssembler } from '../visitor/jsonvectorassembler.js';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer.js';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch.js';\nimport { Writable, ReadableInterop, ReadableDOMStreamOptions } from '../io/interfaces.js';\nimport { isPromise, isAsyncIterable, isWritableDOMStream, isWritableNodeStream, isIterable, isObject } from '../util/compat.js';\n\nexport interface RecordBatchStreamWriterOptions {\n /**\n *\n */\n autoDestroy?: boolean;\n /**\n * A flag indicating whether the RecordBatchWriter should construct pre-0.15.0\n * encapsulated IPC Messages, which reserves 4 bytes for the Message metadata\n * length instead of 8.\n * @see https://issues.apache.org/jira/browse/ARROW-6313\n */\n writeLegacyIpcFormat?: boolean;\n}\n\nexport class RecordBatchWriter<T extends TypeMap = any> extends ReadableInterop<Uint8Array> implements Writable<RecordBatch<T>> {\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM<T extends TypeMap>(\n // @ts-ignore\n writableStrategy?: QueuingStrategy<RecordBatch<T>> & { autoDestroy: boolean },\n // @ts-ignore\n readableStrategy?: { highWaterMark?: number; size?: any }\n ): { writable: WritableStream<Table<T> | RecordBatch<T>>; readable: ReadableStream<Uint8Array> } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n constructor(options?: RecordBatchStreamWriterOptions) {\n super();\n isObject(options) || (options = { autoDestroy: true, writeLegacyIpcFormat: false });\n this._autoDestroy = (typeof options.autoDestroy === 'boolean') ? options.autoDestroy : true;\n this._writeLegacyIpcFormat = (typeof options.writeLegacyIpcFormat === 'boolean') ? options.writeLegacyIpcFormat : false;\n }\n\n protected _position = 0;\n protected _started = false;\n protected _autoDestroy: boolean;\n protected _writeLegacyIpcFormat: boolean;\n // @ts-ignore\n protected _sink = new AsyncByteQueue();\n protected _schema: Schema | null = null;\n protected _dictionaryBlocks: FileBlock[] = [];\n protected _recordBatchBlocks: FileBlock[] = [];\n protected _dictionaryDeltaOffsets = new Map<number, number>();\n\n public toString(sync: true): string;\n public toString(sync?: false): Promise<string>;\n public toString(sync: any = false) {\n return this._sink.toString(sync) as Promise<string> | string;\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise<Uint8Array>;\n public toUint8Array(sync: any = false) {\n return this._sink.toUint8Array(sync) as Promise<Uint8Array> | Uint8Array;\n }\n\n public writeAll(input: Table<T> | Iterable<RecordBatch<T>>): this;\n public writeAll(input: AsyncIterable<RecordBatch<T>>): Promise<this>;\n public writeAll(input: PromiseLike<AsyncIterable<RecordBatch<T>>>): Promise<this>;\n public writeAll(input: PromiseLike<Table<T> | Iterable<RecordBatch<T>>>): Promise<this>;\n public writeAll(input: PromiseLike<any> | Table<T> | Iterable<RecordBatch<T>> | AsyncIterable<RecordBatch<T>>) {\n if (isPromise<any>(input)) {\n return input.then((x) => this.writeAll(x));\n } else if (isAsyncIterable<RecordBatch<T>>(input)) {\n return writeAllAsync(this, input);\n }\n return writeAll(this, <any>input);\n }\n\n public get closed() { return this._sink.closed; }\n public [Symbol.asyncIterator]() { return this._sink[Symbol.asyncIterator](); }\n public toDOMStream(options?: ReadableDOMStreamOptions) { return this._sink.toDOMStream(options); }\n public toNodeStream(options?: import('stream').ReadableOptions) { return this._sink.toNodeStream(options); }\n\n public close() {\n return this.reset()._sink.close();\n }\n public abort(reason?: any) {\n return this.reset()._sink.abort(reason);\n }\n public finish() {\n this._autoDestroy ? this.close() : this.reset(this._sink, this._schema);\n return this;\n }\n public reset(sink: WritableSink<ArrayBufferViewInput> = this._sink, schema: Schema<T> | null = null) {\n if ((sink === this._sink) || (sink instanceof AsyncByteQueue)) {\n this._sink = sink as AsyncByteQueue;\n } else {\n this._sink = new AsyncByteQueue();\n if (sink && isWritableDOMStream(sink)) {\n this.toDOMStream({ type: 'bytes' }).pipeTo(sink);\n } else if (sink && isWritableNodeStream(sink)) {\n this.toNodeStream({ objectMode: false }).pipe(sink);\n }\n }\n\n if (this._started && this._schema) {\n this._writeFooter(this._schema);\n }\n\n this._started = false;\n this._dictionaryBlocks = [];\n this._recordBatchBlocks = [];\n this._dictionaryDeltaOffsets = new Map();\n\n if (!schema || !(compareSchemas(schema, this._schema))) {\n if (schema == null) {\n this._position = 0;\n this._schema = null;\n } else {\n this._started = true;\n this._schema = schema;\n this._writeSchema(schema);\n }\n }\n\n return this;\n }\n\n public write(payload?: Table<T> | RecordBatch<T> | Iterable<RecordBatch<T>> | null) {\n let schema: Schema<T> | null = null;\n\n if (!this._sink) {\n throw new Error(`RecordBatchWriter is closed`);\n } else if (payload == null) {\n return this.finish() && undefined;\n } else if (payload instanceof Table && !(schema = payload.schema)) {\n return this.finish() && undefined;\n } else if (payload instanceof RecordBatch && !(schema = payload.schema)) {\n return this.finish() && undefined;\n }\n\n if (schema && !compareSchemas(schema, this._schema)) {\n if (this._started && this._autoDestroy) {\n return this.close();\n }\n this.reset(this._sink, schema);\n }\n\n if (payload instanceof RecordBatch) {\n if (!(payload instanceof _InternalEmptyPlaceholderRecordBatch)) {\n this._writeRecordBatch(payload);\n }\n } else if (payload instanceof Table) {\n this.writeAll(payload.batches);\n } else if (isIterable(payload)) {\n this.writeAll(payload);\n }\n }\n\n protected _writeMessage<T extends MessageHeader>(message: Message<T>, alignment = 8) {\n const a = alignment - 1;\n const buffer = Message.encode(message);\n const flatbufferSize = buffer.byteLength;\n const prefixSize = !this._writeLegacyIpcFormat ? 8 : 4;\n const alignedSize = (flatbufferSize + prefixSize + a) & ~a;\n const nPaddingBytes = alignedSize - flatbufferSize - prefixSize;\n\n if (message.headerType === MessageHeader.RecordBatch) {\n this._recordBatchBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n } else if (message.headerType === MessageHeader.DictionaryBatch) {\n this._dictionaryBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n }\n\n // If not in legacy pre-0.15.0 mode, write the stream continuation indicator\n if (!this._writeLegacyIpcFormat) {\n this._write(Int32Array.of(-1));\n }\n // Write the flatbuffer size prefix including padding\n this._write(Int32Array.of(alignedSize - prefixSize));\n // Write the flatbuffer\n if (flatbufferSize > 0) { this._write(buffer); }\n // Write any padding\n return this._writePadding(nPaddingBytes);\n }\n\n protected _write(chunk: ArrayBufferViewInput) {\n if (this._started) {\n const buffer = toUint8Array(chunk);\n if (buffer && buffer.byteLength > 0) {\n this._sink.write(buffer);\n this._position += buffer.byteLength;\n }\n }\n return this;\n }\n\n protected _writeSchema(schema: Schema<T>) {\n return this._writeMessage(Message.from(schema));\n }\n\n // @ts-ignore\n protected _writeFooter(schema: Schema<T>) {\n // eos bytes\n return this._writeLegacyIpcFormat\n ? this._write(Int32Array.of(0))\n : this._write(Int32Array.of(-1, 0));\n }\n\n protected _writeMagic() {\n return this._write(MAGIC);\n }\n\n protected _writePadding(nBytes: number) {\n return nBytes > 0 ? this._write(new Uint8Array(nBytes)) : this;\n }\n\n protected _writeRecordBatch(batch: RecordBatch<T>) {\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(batch);\n const recordBatch = new metadata.RecordBatch(batch.numRows, nodes, bufferRegions);\n const message = Message.from(recordBatch, byteLength);\n return this\n ._writeDictionaries(batch)\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeDictionaryBatch(dictionary: Data, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(new Vector([dictionary]));\n const recordBatch = new metadata.RecordBatch(dictionary.length, nodes, bufferRegions);\n const dictionaryBatch = new metadata.DictionaryBatch(recordBatch, id, isDelta);\n const message = Message.from(dictionaryBatch, byteLength);\n return this\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeBodyBuffers(buffers: ArrayBufferView[]) {\n let buffer: ArrayBufferView;\n let size: number, padding: number;\n for (let i = -1, n = buffers.length; ++i < n;) {\n if ((buffer = buffers[i]) && (size = buffer.byteLength) > 0) {\n this._write(buffer);\n if ((padding = ((size + 7) & ~7) - size) > 0) {\n this._writePadding(padding);\n }\n }\n }\n return this;\n }\n\n protected _writeDictionaries(batch: RecordBatch<T>) {\n for (let [id, dictionary] of batch.dictionaries) {\n let offset = this._dictionaryDeltaOffsets.get(id) || 0;\n if (offset === 0 || (dictionary = dictionary?.slice(offset)).length > 0) {\n for (const data of dictionary.data) {\n this._writeDictionaryBatch(data, id, offset > 0);\n offset += data.length;\n }\n }\n }\n return this;\n }\n}\n\n/** @ignore */\nexport class RecordBatchStreamWriter<T extends TypeMap = any> extends RecordBatchWriter<T> {\n public static writeAll<T extends TypeMap = any>(input: Table<T> | Iterable<RecordBatch<T>>, options?: RecordBatchStreamWriterOptions): RecordBatchStreamWriter<T>;\n public static writeAll<T extends TypeMap = any>(input: AsyncIterable<RecordBatch<T>>, options?: RecordBatchStreamWriterOptions): Promise<RecordBatchStreamWriter<T>>;\n public static writeAll<T extends TypeMap = any>(input: PromiseLike<AsyncIterable<RecordBatch<T>>>, options?: RecordBatchStreamWriterOptions): Promise<RecordBatchStreamWriter<T>>;\n public static writeAll<T extends TypeMap = any>(input: PromiseLike<Table<T> | Iterable<RecordBatch<T>>>, options?: RecordBatchStreamWriterOptions): Promise<RecordBatchStreamWriter<T>>;\n /** @nocollapse */\n public static writeAll<T extends TypeMap = any>(input: any, options?: RecordBatchStreamWriterOptions) {\n const writer = new RecordBatchStreamWriter<T>(options);\n if (isPromise<any>(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable<RecordBatch<T>>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n}\n\n/** @ignore */\nexport class RecordBatchFileWriter<T extends TypeMap = any> extends RecordBatchWriter<T> {\n public static writeAll<T extends TypeMap = any>(input: Table<T> | Iterable<RecordBatch<T>>): RecordBatchFileWriter<T>;\n public static writeAll<T extends TypeMap = any>(input: AsyncIterable<RecordBatch<T>>): Promise<RecordBatchFileWriter<T>>;\n public static writeAll<T extends TypeMap = any>(input: PromiseLike<AsyncIterable<RecordBatch<T>>>): Promise<RecordBatchFileWriter<T>>;\n public static writeAll<T extends TypeMap = any>(input: PromiseLike<Table<T> | Iterable<RecordBatch<T>>>): Promise<RecordBatchFileWriter<T>>;\n /** @nocollapse */\n public static writeAll<T extends TypeMap = any>(input: any) {\n const writer = new RecordBatchFileWriter<T>();\n if (isPromise<any>(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable<RecordBatch<T>>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n\n constructor() {\n super();\n this._autoDestroy = true;\n }\n\n // @ts-ignore\n protected _writeSchema(schema: Schema<T>) {\n return this._writeMagic()._writePadding(2);\n }\n\n protected _writeFooter(schema: Schema<T>) {\n const buffer = Footer.encode(new Footer(\n schema, MetadataVersion.V4,\n this._recordBatchBlocks, this._dictionaryBlocks\n ));\n return super\n ._writeFooter(schema) // EOS bytes for sequential readers\n ._write(buffer) // Write the flatbuffer\n ._write(Int32Array.of(buffer.byteLength)) // then the footer size suffix\n ._writeMagic(); // then the magic suffix\n }\n}\n\n/** @ignore */\nexport class RecordBatchJSONWriter<T extends TypeMap = any> extends RecordBatchWriter<T> {\n\n public static writeAll<T extends TypeMap = any>(this: typeof RecordBatchWriter, input: Table<T> | Iterable<RecordBatch<T>>): RecordBatchJSONWriter<T>;\n // @ts-ignore\n public static writeAll<T extends TypeMap = any>(this: typeof RecordBatchWriter, input: AsyncIterable<RecordBatch<T>>): Promise<RecordBatchJSONWriter<T>>;\n public static writeAll<T extends TypeMap = any>(this: typeof RecordBatchWriter, input: PromiseLike<AsyncIterable<RecordBatch<T>>>): Promise<RecordBatchJSONWriter<T>>;\n public static writeAll<T extends TypeMap = any>(this: typeof RecordBatchWriter, input: PromiseLike<Table<T> | Iterable<RecordBatch<T>>>): Promise<RecordBatchJSONWriter<T>>;\n /** @nocollapse */\n public static writeAll<T extends TypeMap = any>(this: typeof RecordBatchWriter, input: any) {\n return new RecordBatchJSONWriter<T>().writeAll(input as any);\n }\n\n private _recordBatches: RecordBatch[];\n private _dictionaries: RecordBatch[];\n\n constructor() {\n super();\n this._autoDestroy = true;\n this._recordBatches = [];\n this._dictionaries = [];\n }\n\n protected _writeMessage() { return this; }\n // @ts-ignore\n protected _writeFooter(schema: Schema<T>) { return this; }\n protected _writeSchema(schema: Schema<T>) {\n return this._write(`{\\n \"schema\": ${JSON.stringify({ fields: schema.fields.map(field => fieldToJSON(field)) }, null, 2)}`);\n }\n protected _writeDictionaries(batch: RecordBatch<T>) {\n if (batch.dictionaries.size > 0) {\n this._dictionaries.push(batch);\n }\n return this;\n }\n protected _writeDictionaryBatch(dictionary: Data, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n this._write(this._dictionaryBlocks.length === 0 ? ` ` : `,\\n `);\n this._write(`${dictionaryBatchToJSON(dictionary, id, isDelta)}`);\n this._dictionaryBlocks.push(new FileBlock(0, 0, 0));\n return this;\n }\n protected _writeRecordBatch(batch: RecordBatch<T>) {\n this._writeDictionaries(batch);\n this._recordBatches.push(batch);\n return this;\n }\n public close() {\n\n if (this._dictionaries.length > 0) {\n this._write(`,\\n \"dictionaries\": [\\n`);\n for (const batch of this._dictionaries) {\n super._writeDictionaries(batch);\n }\n this._write(`\\n ]`);\n }\n\n if (this._recordBatches.length > 0) {\n for (let i = -1, n = this._recordBatches.length; ++i < n;) {\n this._write(i === 0 ? `,\\n \"batches\": [\\n ` : `,\\n `);\n this._write(`${recordBatchToJSON(this._recordBatches[i])}`);\n this._recordBatchBlocks.push(new FileBlock(0, 0, 0));\n }\n this._write(`\\n ]`);\n }\n\n if (this._schema) {\n this._write(`\\n}`);\n }\n\n this._dictionaries = [];\n this._recordBatches = [];\n\n return super.close();\n }\n}\n\n/** @ignore */\nfunction writeAll<T extends TypeMap = any>(writer: RecordBatchWriter<T>, input: Table<T> | Iterable<RecordBatch<T>>) {\n let chunks = input as Iterable<RecordBatch<T>>;\n if (input instanceof Table) {\n chunks = input.batches;\n writer.reset(undefined, input.schema);\n }\n for (const batch of chunks) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nasync function writeAllAsync<T extends TypeMap = any>(writer: RecordBatchWriter<T>, batches: AsyncIterable<RecordBatch<T>>) {\n for await (const batch of batches) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nfunction fieldToJSON({ name, type, nullable }: Field): Record<string, unknown> {\n const assembler = new JSONTypeAssembler();\n return {\n 'name': name, 'nullable': nullable,\n 'type': assembler.visit(type),\n 'children': (type.children || []).map((field: any) => fieldToJSON(field)),\n 'dictionary': !DataType.isDictionary(type) ? undefined : {\n 'id': type.id,\n 'isOrdered': type.isOrdered,\n 'indexType': assembler.visit(type.indices)\n }\n };\n}\n\n/** @ignore */\nfunction dictionaryBatchToJSON(dictionary: Data, id: number, isDelta = false) {\n const [columns] = JSONVectorAssembler.assemble(new RecordBatch({ [id]: dictionary }));\n return JSON.stringify({\n 'id': id,\n 'isDelta': isDelta,\n 'data': {\n 'count': dictionary.length,\n 'columns': columns\n }\n }, null, 2);\n}\n\n/** @ignore */\nfunction recordBatchToJSON(records: RecordBatch) {\n const [columns] = JSONVectorAssembler.assemble(records);\n return JSON.stringify({\n 'count': records.numRows,\n 'columns': columns\n }, null, 2);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Table } from '../table.js';\nimport { TypeMap } from '../type.js';\nimport { isPromise } from '../util/compat.js';\nimport {\n FromArg0, FromArg1, FromArg2, FromArg3, FromArg4, FromArg5,\n RecordBatchReader,\n RecordBatchFileReader, RecordBatchStreamReader,\n AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader\n} from './reader.js';\nimport { RecordBatchFileWriter, RecordBatchStreamWriter } from './writer.js';\n\ntype RecordBatchReaders<T extends TypeMap = any> = RecordBatchFileReader<T> | RecordBatchStreamReader<T>;\ntype AsyncRecordBatchReaders<T extends TypeMap = any> = AsyncRecordBatchFileReader<T> | AsyncRecordBatchStreamReader<T>;\n\n/**\n * Deserialize the IPC format into a {@link Table}. This function is a\n * convenience wrapper for {@link RecordBatchReader}. Opposite of {@link tableToIPC}.\n */\nexport function tableFromIPC<T extends TypeMap = any>(source: FromArg0 | FromArg2): Table<T>;\nexport function tableFromIPC<T extends TypeMap = any>(source: FromArg1): Promise<Table<T>>;\nexport function tableFromIPC<T extends TypeMap = any>(source: FromArg3 | FromArg4 | FromArg5): Promise<Table<T>>;\nexport function tableFromIPC<T extends TypeMap = any>(source: RecordBatchReaders<T>): Table<T>;\nexport function tableFromIPC<T extends TypeMap = any>(source: AsyncRecordBatchReaders<T>): Promise<Table<T>>;\nexport function tableFromIPC<T extends TypeMap = any>(source: RecordBatchReader<T>): Table<T> | Promise<Table<T>>;\nexport function tableFromIPC<T extends TypeMap = any>(input: any): Table<T> | Promise<Table<T>> {\n const reader = RecordBatchReader.from<T>(input) as RecordBatchReader<T> | Promise<RecordBatchReader<T>>;\n if (isPromise<RecordBatchReader<T>>(reader)) {\n return reader.then((reader) => tableFromIPC(reader)) as Promise<Table<T>>;\n }\n if (reader.isAsync()) {\n return (reader as AsyncRecordBatchReaders<T>).readAll().then((xs) => new Table(xs));\n }\n return new Table((reader as RecordBatchReaders<T>).readAll());\n}\n\n/**\n * Serialize a {@link Table} to the IPC format. This function is a convenience\n * wrapper for {@link RecordBatchStreamWriter} and {@link RecordBatchFileWriter}.\n * Opposite of {@link tableFromIPC}.\n *\n * @param table The Table to serialize.\n * @param type Whether to serialize the Table as a file or a stream.\n */\nexport function tableToIPC<T extends TypeMap = any>(table: Table, type: 'file' | 'stream' = 'stream'): Uint8Array {\n return (type === 'stream' ? RecordBatchStreamWriter : RecordBatchFileWriter)\n .writeAll<T>(table)\n .toUint8Array(true);\n}\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { tableToIPC, tableFromIPC, Type } from \"apache-arrow\";\nvar ArrowTable = /** @class */ (function () {\n function ArrowTable(dataBuffer, indexBuffer, columnsBuffer, styler) {\n var _this = this;\n this.getCell = function (rowIndex, columnIndex) {\n var isBlankCell = rowIndex < _this.headerRows && columnIndex < _this.headerColumns;\n var isIndexCell = rowIndex >= _this.headerRows && columnIndex < _this.headerColumns;\n var isColumnsCell = rowIndex < _this.headerRows && columnIndex >= _this.headerColumns;\n if (isBlankCell) {\n var classNames = [\"blank\"];\n if (columnIndex > 0) {\n classNames.push(\"level\" + rowIndex);\n }\n return {\n type: \"blank\",\n classNames: classNames.join(\" \"),\n content: \"\"\n };\n }\n else if (isColumnsCell) {\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"col_heading\",\n \"level\" + rowIndex,\n \"col\" + dataColumnIndex\n ];\n return {\n type: \"columns\",\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.columnsTable, dataColumnIndex, rowIndex)\n };\n }\n else if (isIndexCell) {\n var dataRowIndex = rowIndex - _this.headerRows;\n var classNames = [\n \"row_heading\",\n \"level\" + columnIndex,\n \"row\" + dataRowIndex\n ];\n return {\n type: \"index\",\n id: \"T_\".concat(_this.uuid, \"level\").concat(columnIndex, \"_row\").concat(dataRowIndex),\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.indexTable, dataRowIndex, columnIndex)\n };\n }\n else {\n var dataRowIndex = rowIndex - _this.headerRows;\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"data\",\n \"row\" + dataRowIndex,\n \"col\" + dataColumnIndex\n ];\n var content = _this.styler\n ? _this.getContent(_this.styler.displayValuesTable, dataRowIndex, dataColumnIndex)\n : _this.getContent(_this.dataTable, dataRowIndex, dataColumnIndex);\n return {\n type: \"data\",\n id: \"T_\".concat(_this.uuid, \"row\").concat(dataRowIndex, \"_col\").concat(dataColumnIndex),\n classNames: classNames.join(\" \"),\n content: content\n };\n }\n };\n this.getContent = function (table, rowIndex, columnIndex) {\n var column = table.getChildAt(columnIndex);\n if (column === null) {\n return \"\";\n }\n var columnTypeId = _this.getColumnTypeId(table, columnIndex);\n switch (columnTypeId) {\n case Type.Timestamp: {\n return _this.nanosToDate(column.get(rowIndex));\n }\n default: {\n return column.get(rowIndex);\n }\n }\n };\n this.dataTable = tableFromIPC(dataBuffer);\n this.indexTable = tableFromIPC(indexBuffer);\n this.columnsTable = tableFromIPC(columnsBuffer);\n this.styler = styler\n ? {\n caption: styler.caption,\n displayValuesTable: tableFromIPC(styler.displayValues),\n styles: styler.styles,\n uuid: styler.uuid\n }\n : undefined;\n }\n Object.defineProperty(ArrowTable.prototype, \"rows\", {\n get: function () {\n return this.indexTable.numRows + this.columnsTable.numCols;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columns\", {\n get: function () {\n return this.indexTable.numCols + this.columnsTable.numRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerRows\", {\n get: function () {\n return this.rows - this.dataRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerColumns\", {\n get: function () {\n return this.columns - this.dataColumns;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataRows\", {\n get: function () {\n return this.dataTable.numRows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataColumns\", {\n get: function () {\n return this.dataTable.numCols;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"uuid\", {\n get: function () {\n return this.styler && this.styler.uuid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"caption\", {\n get: function () {\n return this.styler && this.styler.caption;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"styles\", {\n get: function () {\n return this.styler && this.styler.styles;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"table\", {\n get: function () {\n return this.dataTable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"index\", {\n get: function () {\n return this.indexTable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columnTable\", {\n get: function () {\n return this.columnsTable;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Serialize arrow table.\n */\n ArrowTable.prototype.serialize = function () {\n return {\n data: tableToIPC(this.dataTable),\n index: tableToIPC(this.indexTable),\n columns: tableToIPC(this.columnsTable)\n };\n };\n /**\n * Returns apache-arrow specific typeId of column.\n */\n ArrowTable.prototype.getColumnTypeId = function (table, columnIndex) {\n return table.schema.fields[columnIndex].type.typeId;\n };\n ArrowTable.prototype.nanosToDate = function (nanos) {\n return new Date(nanos / 1e6);\n };\n return ArrowTable;\n}());\nexport { ArrowTable };\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Safari doesn't support the EventTarget class, so we use a shim.\nimport { ArrowTable } from \"./ArrowTable\";\n/** Messages from Component -> Streamlit */\nvar ComponentMessageType;\n(function (ComponentMessageType) {\n // A component sends this message when it's ready to receive messages\n // from Streamlit. Streamlit won't send any messages until it gets this.\n // Data: { apiVersion: number }\n ComponentMessageType[\"COMPONENT_READY\"] = \"streamlit:componentReady\";\n // The component has a new widget value. Send it back to Streamlit, which\n // will then re-run the app.\n // Data: { value: any }\n ComponentMessageType[\"SET_COMPONENT_VALUE\"] = \"streamlit:setComponentValue\";\n // The component has a new height for its iframe.\n // Data: { height: number }\n ComponentMessageType[\"SET_FRAME_HEIGHT\"] = \"streamlit:setFrameHeight\";\n})(ComponentMessageType || (ComponentMessageType = {}));\n/**\n * Streamlit communication API.\n *\n * Components can send data to Streamlit via the functions defined here,\n * and receive data from Streamlit via the `events` property.\n */\nexport var Streamlit = /** @class */ (function () {\n function Streamlit() {\n }\n /**\n * The Streamlit component API version we're targeting.\n * There's currently only 1!\n */\n Streamlit.API_VERSION = 1;\n Streamlit.RENDER_EVENT = \"streamlit:render\";\n /** Dispatches events received from Streamlit. */\n Streamlit.events = new EventTarget();\n Streamlit.registeredMessageListener = false;\n /**\n * Tell Streamlit that the component is ready to start receiving data.\n * Streamlit will defer emitting RENDER events until it receives the\n * COMPONENT_READY message.\n */\n Streamlit.setComponentReady = function () {\n if (!Streamlit.registeredMessageListener) {\n // Register for message events if we haven't already\n window.addEventListener(\"message\", Streamlit.onMessageEvent);\n Streamlit.registeredMessageListener = true;\n }\n Streamlit.sendBackMsg(ComponentMessageType.COMPONENT_READY, {\n apiVersion: Streamlit.API_VERSION\n });\n };\n /**\n * Report the component's height to Streamlit.\n * This should be called every time the component changes its DOM - that is,\n * when it's first loaded, and any time it updates.\n */\n Streamlit.setFrameHeight = function (height) {\n if (height === undefined) {\n // `height` is optional. If undefined, it defaults to scrollHeight,\n // which is the entire height of the element minus its border,\n // scrollbar, and margin.\n height = document.body.scrollHeight;\n }\n if (height === Streamlit.lastFrameHeight) {\n // Don't bother updating if our height hasn't changed.\n return;\n }\n Streamlit.lastFrameHeight = height;\n Streamlit.sendBackMsg(ComponentMessageType.SET_FRAME_HEIGHT, { height: height });\n };\n /**\n * Set the component's value. This value will be returned to the Python\n * script, and the script will be re-run.\n *\n * For example:\n *\n * JavaScript:\n * Streamlit.setComponentValue(\"ahoy!\")\n *\n * Python:\n * value = st.my_component(...)\n * st.write(value) # -> \"ahoy!\"\n *\n * The value must be an ArrowTable, a typed array, an ArrayBuffer, or be\n * serializable to JSON.\n */\n Streamlit.setComponentValue = function (value) {\n var dataType;\n if (value instanceof ArrowTable) {\n dataType = \"dataframe\";\n value = value.serialize();\n }\n else if (isTypedArray(value)) {\n // All typed arrays get sent as Uint8Array, because that's what our\n // protobuf library uses for the \"bytes\" field type.\n dataType = \"bytes\";\n value = new Uint8Array(value.buffer);\n }\n else if (value instanceof ArrayBuffer) {\n dataType = \"bytes\";\n value = new Uint8Array(value);\n }\n else {\n dataType = \"json\";\n }\n Streamlit.sendBackMsg(ComponentMessageType.SET_COMPONENT_VALUE, {\n value: value,\n dataType: dataType\n });\n };\n /** Receive a ForwardMsg from the Streamlit app */\n Streamlit.onMessageEvent = function (event) {\n var type = event.data[\"type\"];\n switch (type) {\n case Streamlit.RENDER_EVENT:\n Streamlit.onRenderMessage(event.data);\n break;\n }\n };\n /**\n * Handle an untyped Streamlit render event and redispatch it as a\n * StreamlitRenderEvent.\n */\n Streamlit.onRenderMessage = function (data) {\n var args = data[\"args\"];\n if (args == null) {\n console.error(\"Got null args in onRenderMessage. This should never happen\");\n args = {};\n }\n // Parse our dataframe arguments with arrow, and merge them into our args dict\n var dataframeArgs = data[\"dfs\"] && data[\"dfs\"].length > 0\n ? Streamlit.argsDataframeToObject(data[\"dfs\"])\n : {};\n args = __assign(__assign({}, args), dataframeArgs);\n var disabled = Boolean(data[\"disabled\"]);\n var theme = data[\"theme\"];\n if (theme) {\n _injectTheme(theme);\n }\n // Dispatch a render event!\n var eventData = { disabled: disabled, args: args, theme: theme };\n var event = new CustomEvent(Streamlit.RENDER_EVENT, {\n detail: eventData\n });\n Streamlit.events.dispatchEvent(event);\n };\n Streamlit.argsDataframeToObject = function (argsDataframe) {\n var argsDataframeArrow = argsDataframe.map(function (_a) {\n var key = _a.key, value = _a.value;\n return [key, Streamlit.toArrowTable(value)];\n });\n return Object.fromEntries(argsDataframeArrow);\n };\n Streamlit.toArrowTable = function (df) {\n var _a;\n var data = (_a = df.data, _a.data), index = _a.index, columns = _a.columns, styler = _a.styler;\n return new ArrowTable(data, index, columns, styler);\n };\n /** Post a message to the Streamlit app. */\n Streamlit.sendBackMsg = function (type, data) {\n window.parent.postMessage(__assign({ isStreamlitMessage: true, type: type }, data), \"*\");\n };\n return Streamlit;\n}());\nvar _injectTheme = function (theme) {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n style.innerHTML = \"\\n :root {\\n --primary-color: \".concat(theme.primaryColor, \";\\n --background-color: \").concat(theme.backgroundColor, \";\\n --secondary-background-color: \").concat(theme.secondaryBackgroundColor, \";\\n --text-color: \").concat(theme.textColor, \";\\n --font: \").concat(theme.font, \";\\n }\\n\\n body {\\n background-color: var(--background-color);\\n color: var(--text-color);\\n }\\n \");\n};\n/** True if the value is a TypedArray. */\nfunction isTypedArray(value) {\n var isBigIntArray = false;\n try {\n isBigIntArray =\n value instanceof BigInt64Array || value instanceof BigUint64Array;\n }\n catch (e) {\n // Ignore cause Safari does not support this\n // https://caniuse.com/mdn-javascript_builtins_bigint64array\n }\n return (value instanceof Int8Array ||\n value instanceof Uint8Array ||\n value instanceof Uint8ClampedArray ||\n value instanceof Int16Array ||\n value instanceof Uint16Array ||\n value instanceof Int32Array ||\n value instanceof Uint32Array ||\n value instanceof Float32Array ||\n value instanceof Float64Array ||\n isBigIntArray);\n}\n","/**\n * Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport hoistNonReactStatics from \"hoist-non-react-statics\";\nimport React from \"react\";\nimport { Streamlit } from \"./streamlit\";\n/**\n * Optional Streamlit React-based component base class.\n *\n * You are not required to extend this base class to create a Streamlit\n * component. If you decide not to extend it, you should implement the\n * `componentDidMount` and `componentDidUpdate` functions in your own class,\n * so that your plugin properly resizes.\n */\nvar StreamlitComponentBase = /** @class */ (function (_super) {\n __extends(StreamlitComponentBase, _super);\n function StreamlitComponentBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StreamlitComponentBase.prototype.componentDidMount = function () {\n // After we're rendered for the first time, tell Streamlit that our height\n // has changed.\n Streamlit.setFrameHeight();\n };\n StreamlitComponentBase.prototype.componentDidUpdate = function () {\n // After we're updated, tell Streamlit that our height may have changed.\n Streamlit.setFrameHeight();\n };\n return StreamlitComponentBase;\n}(React.PureComponent));\nexport { StreamlitComponentBase };\n/**\n * Wrapper for React-based Streamlit components.\n *\n * Bootstraps the communication interface between Streamlit and the component.\n */\nexport function withStreamlitConnection(WrappedComponent) {\n var ComponentWrapper = /** @class */ (function (_super) {\n __extends(ComponentWrapper, _super);\n function ComponentWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this.componentDidMount = function () {\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n Streamlit.setComponentReady();\n };\n _this.componentDidUpdate = function () {\n // If our child threw an error, we display it in render(). In this\n // case, the child won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (_this.state.componentError != null) {\n Streamlit.setFrameHeight();\n }\n };\n _this.componentWillUnmount = function () {\n Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n };\n /**\n * Streamlit is telling this component to redraw.\n * We save the render data in State, so that it can be passed to the\n * component in our own render() function.\n */\n _this.onRenderEvent = function (event) {\n // Update our state with the newest render data\n _this.setState({ renderData: event.detail });\n };\n _this.state = {\n renderData: undefined,\n componentError: undefined\n };\n return _this;\n }\n ComponentWrapper.prototype.render = function () {\n // If our wrapped component threw an error, display it.\n if (this.state.componentError != null) {\n return (React.createElement(\"div\", null,\n React.createElement(\"h1\", null, \"Component Error\"),\n React.createElement(\"span\", null, this.state.componentError.message)));\n }\n // Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n if (this.state.renderData == null) {\n return null;\n }\n return (React.createElement(WrappedComponent, { width: window.innerWidth, disabled: this.state.renderData.disabled, args: this.state.renderData.args, theme: this.state.renderData.theme }));\n };\n /**\n * Error boundary function. This will be called if our wrapped\n * component throws an error. We store the caught error in our state,\n * and display it in the next render().\n */\n ComponentWrapper.getDerivedStateFromError = function (error) {\n return { componentError: error };\n };\n return ComponentWrapper;\n }(React.PureComponent));\n return hoistNonReactStatics(ComponentWrapper, WrappedComponent);\n}\n","import { useState, useRef, useCallback, useEffect } from \"react\";\n\n// ── Port type system (ComfyUI-style color coding) ─────────────────────────────\nconst PORT_TYPES = {\n IMAGE: { color: \"#4ade80\", label: \"IMAGE\" },\n LATENT: { color: \"#c084fc\", label: \"LATENT\" },\n MODEL: { color: \"#fb923c\", label: \"MODEL\" },\n CLIP: { color: \"#facc15\", label: \"CLIP\" },\n VAE: { color: \"#f87171\", label: \"VAE\" },\n INT: { color: \"#38bdf8\", label: \"INT\" },\n FLOAT: { color: \"#818cf8\", label: \"FLOAT\" },\n STRING: { color: \"#a8a29e\", label: \"STRING\" },\n MASK: { color: \"#2dd4bf\", label: \"MASK\" },\n ANY: { color: \"#71717a\", label: \"ANY\" },\n};\n\n// ── Node definitions (the \"palette\") ──────────────────────────────────────────\nconst NODE_DEFS = {\n \"Load Checkpoint\": {\n category: \"Loaders\",\n color: \"#1e293b\",\n headerColor: \"#fb923c\",\n inputs: [],\n outputs: [\n { name: \"MODEL\", type: \"MODEL\" },\n { name: \"CLIP\", type: \"CLIP\" },\n { name: \"VAE\", type: \"VAE\" },\n ],\n params: [\n { key: \"ckpt_name\", label: \"Checkpoint\", type: \"select\", options: [\"v1-5-pruned.ckpt\", \"sd_xl_base.safetensors\", \"dreamshaper_8.safetensors\"] },\n ],\n },\n \"CLIP Text Encode\": {\n category: \"Conditioning\",\n color: \"#1e293b\",\n headerColor: \"#facc15\",\n inputs: [{ name: \"clip\", type: \"CLIP\" }],\n outputs: [{ name: \"CONDITIONING\", type: \"LATENT\" }],\n params: [\n { key: \"text\", label: \"Prompt\", type: \"textarea\" },\n ],\n },\n \"KSampler\": {\n category: \"Sampling\",\n color: \"#1e293b\",\n headerColor: \"#818cf8\",\n inputs: [\n { name: \"model\", type: \"MODEL\" },\n { name: \"positive\", type: \"LATENT\" },\n { name: \"negative\", type: \"LATENT\" },\n { name: \"latent_image\", type: \"LATENT\" },\n ],\n outputs: [{ name: \"LATENT\", type: \"LATENT\" }],\n params: [\n { key: \"seed\", label: \"Seed\", type: \"int\", default: 42 },\n { key: \"steps\", label: \"Steps\", type: \"int\", default: 20 },\n { key: \"cfg\", label: \"CFG\", type: \"float\", default: 7.0 },\n { key: \"sampler\", label: \"Sampler\", type: \"select\", options: [\"euler\", \"euler_a\", \"dpm++2m\", \"ddim\"] },\n { key: \"scheduler\", label: \"Scheduler\", type: \"select\", options: [\"normal\", \"karras\", \"exponential\"] },\n { key: \"denoise\", label: \"Denoise\", type: \"float\", default: 1.0 },\n ],\n },\n \"Empty Latent Image\": {\n category: \"Latent\",\n color: \"#1e293b\",\n headerColor: \"#c084fc\",\n inputs: [],\n outputs: [{ name: \"LATENT\", type: \"LATENT\" }],\n params: [\n { key: \"width\", label: \"Width\", type: \"int\", default: 512 },\n { key: \"height\", label: \"Height\", type: \"int\", default: 512 },\n { key: \"batch\", label: \"Batch\", type: \"int\", default: 1 },\n ],\n },\n \"VAE Decode\": {\n category: \"Latent\",\n color: \"#1e293b\",\n headerColor: \"#f87171\",\n inputs: [{ name: \"samples\", type: \"LATENT\" }, { name: \"vae\", type: \"VAE\" }],\n outputs: [{ name: \"IMAGE\", type: \"IMAGE\" }],\n params: [],\n },\n \"Save Image\": {\n category: \"Output\",\n color: \"#1e293b\",\n headerColor: \"#4ade80\",\n inputs: [{ name: \"images\", type: \"IMAGE\" }],\n outputs: [],\n params: [\n { key: \"filename_prefix\", label: \"Filename\", type: \"string\", default: \"output\" },\n ],\n },\n \"Image Scale\": {\n category: \"Image\",\n color: \"#1e293b\",\n headerColor: \"#2dd4bf\",\n inputs: [{ name: \"image\", type: \"IMAGE\" }],\n outputs: [{ name: \"IMAGE\", type: \"IMAGE\" }],\n params: [\n { key: \"upscale_method\", label: \"Method\", type: \"select\", options: [\"nearest\", \"bilinear\", \"bicubic\", \"lanczos\"] },\n { key: \"width\", label: \"Width\", type: \"int\", default: 1024 },\n { key: \"height\", label: \"Height\", type: \"int\", default: 1024 },\n ],\n },\n \"Integer\": {\n category: \"Primitives\",\n color: \"#1e293b\",\n headerColor: \"#38bdf8\",\n inputs: [],\n outputs: [{ name: \"INT\", type: \"INT\" }],\n params: [{ key: \"value\", label: \"Value\", type: \"int\", default: 0 }],\n },\n};\n\n// ── Utilities ─────────────────────────────────────────────────────────────────\nlet _id = 1;\nconst uid = () => `node_${_id++}`;\n\nfunction makeNode(type, x, y) {\n const def = NODE_DEFS[type];\n return {\n id: uid(),\n type,\n x, y,\n width: 240,\n params: Object.fromEntries((def.params || []).map(p => [p.key, p.default ?? \"\"])),\n collapsed: false,\n };\n}\n\nfunction portHeight(index) { return 34 + index * 26; }\nfunction nodeHeight(node) {\n const def = NODE_DEFS[node.type];\n if (node.collapsed) return 36;\n const portRows = Math.max(def.inputs.length, def.outputs.length);\n const paramRows = def.params.length;\n return 36 + portRows * 26 + paramRows * 34 + 12;\n}\n\nfunction getPortPos(node, side, index) {\n const y = node.y + portHeight(index);\n const x = side === \"output\" ? node.x + node.width : node.x;\n return { x, y };\n}\n\nfunction typesCompatible(a, b) {\n if (a === \"ANY\" || b === \"ANY\") return true;\n return a === b;\n}\n\n// ── Wire SVG path (cubic bezier) ─────────────────────────────────────────────\nfunction wirePath(x1, y1, x2, y2) {\n const dx = Math.abs(x2 - x1) * 0.6 + 60;\n return `M ${x1} ${y1} C ${x1 + dx} ${y1} ${x2 - dx} ${y2} ${x2} ${y2}`;\n}\n\n// ── Port dot ──────────────────────────────────────────────────────────────────\nfunction Port({ x, y, type, side, connected, onStartWire, onCompleteWire, onRemoveWire }) {\n const c = PORT_TYPES[type]?.color ?? \"#71717a\";\n return (\n <circle\n cx={x} cy={y} r={6}\n fill={connected ? c : \"transparent\"}\n stroke={c}\n strokeWidth={2}\n style={{ cursor: \"crosshair\" }}\n onMouseDown={e => { e.stopPropagation(); onStartWire && onStartWire(e); }}\n onMouseUp={e => { e.stopPropagation(); onCompleteWire && onCompleteWire(e); }}\n onContextMenu={e => { e.preventDefault(); e.stopPropagation(); onRemoveWire && onRemoveWire(); }}\n />\n );\n}\n\n// ── Node component ─────────────────────────────────────────────────────────────\nfunction GraphNode({ node, selected, wiring, onSelect, onDragStart,\n onPortMouseDown, onPortMouseUp, connections }) {\n const def = NODE_DEFS[node.type];\n const h = nodeHeight(node);\n\n const connectedInputs = new Set(connections.filter(c => c.toNode === node.id).map(c => c.toPort));\n const connectedOutputs = new Set(connections.filter(c => c.fromNode === node.id).map(c => c.fromPort));\n\n return (\n <g transform={`translate(${node.x},${node.y})`}\n onMouseDown={e => { e.stopPropagation(); onDragStart(e, node.id); onSelect(node.id); }}>\n\n {/* Shadow */}\n <rect x={3} y={3} width={node.width} height={h} rx={8}\n fill=\"rgba(0,0,0,0.45)\" />\n\n {/* Body */}\n <rect width={node.width} height={h} rx={8}\n fill={node.collapsed ? def.headerColor + \"22\" : \"#13131f\"}\n stroke={selected ? \"white\" : \"rgba(255,255,255,0.12)\"}\n strokeWidth={selected ? 1.5 : 1} />\n\n {/* Header */}\n <rect width={node.width} height={32} rx={8} fill={def.headerColor} opacity={0.9} />\n <rect y={24} width={node.width} height={8} fill={def.headerColor} opacity={0.9} />\n\n {/* Title */}\n <text x={10} y={21} fontFamily=\"'Fira Code', monospace\" fontSize={12}\n fontWeight={600} fill=\"rgba(0,0,0,0.85)\" style={{ userSelect: \"none\", pointerEvents: \"none\" }}>\n {node.type}\n </text>\n\n {/* Collapse toggle */}\n <text x={node.width - 16} y={21} fontFamily=\"monospace\" fontSize={12}\n fill=\"rgba(0,0,0,0.6)\" style={{ cursor: \"pointer\", userSelect: \"none\" }}\n onMouseDown={e => { e.stopPropagation(); }}>\n {node.collapsed ? \"+\" : \"−\"}\n </text>\n\n {!node.collapsed && (\n <>\n {/* Input ports */}\n {def.inputs.map((port, i) => {\n const py = portHeight(i) - node.y + node.y - node.y + 36 + i * 26;\n const relY = 36 + i * 26;\n const c = PORT_TYPES[port.type]?.color ?? \"#71717a\";\n const isConn = connectedInputs.has(i);\n return (\n <g key={`in-${i}`}>\n <circle cx={0} cy={relY} r={6}\n fill={isConn ? c : \"transparent\"} stroke={c} strokeWidth={2}\n style={{ cursor: \"crosshair\" }}\n onMouseDown={e => { e.stopPropagation(); onPortMouseDown(e, node.id, \"input\", i, port.type); }}\n onMouseUp={e => { e.stopPropagation(); onPortMouseUp(e, node.id, \"input\", i, port.type); }}\n />\n <text x={12} y={relY + 4} fontFamily=\"'Fira Code', monospace\"\n fontSize={10} fill={c} style={{ userSelect: \"none\", pointerEvents: \"none\" }}>\n {port.name}\n </text>\n </g>\n );\n })}\n\n {/* Output ports */}\n {def.outputs.map((port, i) => {\n const relY = 36 + i * 26;\n const c = PORT_TYPES[port.type]?.color ?? \"#71717a\";\n const isConn = connectedOutputs.has(i);\n return (\n <g key={`out-${i}`}>\n <circle cx={node.width} cy={relY} r={6}\n fill={isConn ? c : \"transparent\"} stroke={c} strokeWidth={2}\n style={{ cursor: \"crosshair\" }}\n onMouseDown={e => { e.stopPropagation(); onPortMouseDown(e, node.id, \"output\", i, port.type); }}\n onMouseUp={e => { e.stopPropagation(); onPortMouseUp(e, node.id, \"output\", i, port.type); }}\n />\n <text x={node.width - 12} y={relY + 4} fontFamily=\"'Fira Code', monospace\"\n fontSize={10} fill={c} textAnchor=\"end\"\n style={{ userSelect: \"none\", pointerEvents: \"none\" }}>\n {port.name}\n </text>\n </g>\n );\n })}\n\n {/* Params */}\n {def.params.map((param, i) => {\n const baseY = 36 + Math.max(def.inputs.length, def.outputs.length) * 26 + i * 34 + 8;\n return (\n <foreignObject key={param.key} x={8} y={baseY} width={node.width - 16} height={30}\n style={{ pointerEvents: \"all\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 4 }}>\n <label style={{ fontFamily: \"'Fira Code', monospace\", fontSize: 9, color: \"#64748b\",\n minWidth: 52, textTransform: \"uppercase\", letterSpacing: \"0.05em\" }}>\n {param.label}\n </label>\n {param.type === \"select\" ? (\n <select\n value={node.params[param.key] ?? \"\"}\n onChange={e => e.stopPropagation()}\n onClick={e => e.stopPropagation()}\n style={{ flex: 1, background: \"#0f0f1a\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 4, color: \"#e2e8f0\", fontFamily: \"'Fira Code', monospace\",\n fontSize: 10, padding: \"2px 4px\", outline: \"none\" }}>\n {param.options.map(o => <option key={o}>{o}</option>)}\n </select>\n ) : param.type === \"textarea\" ? (\n <textarea rows={2}\n defaultValue={node.params[param.key] ?? \"\"}\n onClick={e => e.stopPropagation()}\n style={{ flex: 1, background: \"#0f0f1a\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 4, color: \"#e2e8f0\", fontFamily: \"'Fira Code', monospace\",\n fontSize: 10, padding: \"2px 4px\", outline: \"none\", resize: \"none\" }} />\n ) : (\n <input type={param.type === \"float\" || param.type === \"int\" ? \"number\" : \"text\"}\n defaultValue={node.params[param.key] ?? \"\"}\n step={param.type === \"float\" ? 0.1 : 1}\n onClick={e => e.stopPropagation()}\n style={{ flex: 1, background: \"#0f0f1a\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 4, color: \"#e2e8f0\", fontFamily: \"'Fira Code', monospace\",\n fontSize: 10, padding: \"2px 4px\", outline: \"none\" }} />\n )}\n </div>\n </foreignObject>\n );\n })}\n </>\n )}\n </g>\n );\n}\n\n// ── Main Editor ───────────────────────────────────────────────────────────────\nexport default function NodeEditor() {\n const [nodes, setNodes] = useState(() => {\n const n1 = makeNode(\"Load Checkpoint\", 60, 80);\n const n2 = makeNode(\"CLIP Text Encode\", 360, 60);\n const n3 = makeNode(\"CLIP Text Encode\", 360, 240);\n const n4 = makeNode(\"Empty Latent Image\", 360, 440);\n const n5 = makeNode(\"KSampler\", 680, 200);\n const n6 = makeNode(\"VAE Decode\", 1000, 300);\n const n7 = makeNode(\"Save Image\", 1260, 320);\n n3.params.text = \"blurry, bad quality, ugly\";\n return [n1, n2, n3, n4, n5, n6, n7];\n });\n\n const [connections, setConnections] = useState(() => [\n { id: \"w1\", fromNode: null, fromPort: 0, toNode: null, toPort: 0 }, // will fix below\n ].slice(0)); // placeholder — will be empty, nodes wired via UI\n\n const [selected, setSelected] = useState(null);\n const [pan, setPan] = useState({ x: 0, y: 0 });\n const [zoom, setZoom] = useState(1);\n const [draggingNode, setDraggingNode] = useState(null); // { id, startX, startY, mouseX, mouseY }\n const [isPanning, setIsPanning] = useState(false);\n const [panStart, setPanStart] = useState(null);\n const [wiring, setWiring] = useState(null); // { fromNode, fromPort, fromSide, fromType, x, y }\n const [wirePos, setWirePos] = useState({ x: 0, y: 0 });\n const [contextMenu, setContextMenu] = useState(null); // { x, y }\n const [palette, setPalette] = useState(false);\n const [paletteSearch, setPaletteSearch] = useState(\"\");\n const svgRef = useRef(null);\n\n // ── SVG coordinate helpers ──────────────────────────────────────────────────\n const svgPoint = useCallback((e) => {\n const rect = svgRef.current.getBoundingClientRect();\n return {\n x: (e.clientX - rect.left - pan.x) / zoom,\n y: (e.clientY - rect.top - pan.y) / zoom,\n };\n }, [pan, zoom]);\n\n const svgRaw = useCallback((e) => {\n const rect = svgRef.current.getBoundingClientRect();\n return { x: e.clientX - rect.left, y: e.clientY - rect.top };\n }, []);\n\n // ── Drag node ──────────────────────────────────────────────────────────────\n const handleNodeDragStart = useCallback((e, id) => {\n if (wiring) return;\n const pt = svgPoint(e);\n const node = nodes.find(n => n.id === id);\n setDraggingNode({ id, offsetX: pt.x - node.x, offsetY: pt.y - node.y });\n }, [nodes, svgPoint, wiring]);\n\n // ── Pan canvas ────────────────────────────────────────────────────────────\n const handleCanvasMouseDown = useCallback((e) => {\n if (e.button === 1 || e.button === 2 || (e.button === 0 && !wiring)) {\n if (e.button !== 2) {\n setIsPanning(true);\n setPanStart({ x: e.clientX - pan.x, y: e.clientY - pan.y });\n }\n setSelected(null);\n }\n }, [pan, wiring]);\n\n // ── Mouse move ─────────────────────────────────────────────────────────────\n const handleMouseMove = useCallback((e) => {\n if (draggingNode) {\n const pt = svgPoint(e);\n setNodes(ns => ns.map(n => n.id === draggingNode.id\n ? { ...n, x: pt.x - draggingNode.offsetX, y: pt.y - draggingNode.offsetY }\n : n\n ));\n }\n if (isPanning && panStart) {\n setPan({ x: e.clientX - panStart.x, y: e.clientY - panStart.y });\n }\n if (wiring) {\n const raw = svgRaw(e);\n setWirePos(raw);\n }\n }, [draggingNode, isPanning, panStart, wiring, svgPoint, svgRaw]);\n\n const handleMouseUp = useCallback(() => {\n setDraggingNode(null);\n setIsPanning(false);\n if (wiring) setWiring(null);\n }, [wiring]);\n\n // ── Zoom ──────────────────────────────────────────────────────────────────\n const handleWheel = useCallback((e) => {\n e.preventDefault();\n const delta = e.deltaY > 0 ? 0.9 : 1.1;\n setZoom(z => Math.max(0.2, Math.min(3, z * delta)));\n }, []);\n\n // ── Port interactions ──────────────────────────────────────────────────────\n const handlePortMouseDown = useCallback((e, nodeId, side, portIndex, portType) => {\n const raw = svgRaw(e);\n setWiring({ fromNode: nodeId, fromPort: portIndex, fromSide: side, fromType: portType });\n setWirePos(raw);\n }, [svgRaw]);\n\n const handlePortMouseUp = useCallback((e, nodeId, side, portIndex, portType) => {\n if (!wiring) return;\n // Must connect output → input\n const isOutputToInput = wiring.fromSide === \"output\" && side === \"input\";\n const isInputToOutput = wiring.fromSide === \"input\" && side === \"output\";\n if (!(isOutputToInput || isInputToOutput)) { setWiring(null); return; }\n if (wiring.fromNode === nodeId) { setWiring(null); return; }\n if (!typesCompatible(wiring.fromType, portType)) { setWiring(null); return; }\n\n const fromNode = isOutputToInput ? wiring.fromNode : nodeId;\n const fromPort = isOutputToInput ? wiring.fromPort : portIndex;\n const toNode = isOutputToInput ? nodeId : wiring.fromNode;\n const toPort = isOutputToInput ? portIndex : wiring.fromPort;\n\n setConnections(cs => [\n ...cs.filter(c => !(c.toNode === toNode && c.toPort === toPort)), // replace existing input conn\n { id: `w${Date.now()}`, fromNode, fromPort, toNode, toPort },\n ]);\n setWiring(null);\n }, [wiring]);\n\n // ── Context menu (right-click canvas) ────────────────────────────────────\n const handleContextMenu = useCallback((e) => {\n e.preventDefault();\n const raw = svgRaw(e);\n setContextMenu({ x: e.clientX, y: e.clientY, svgX: raw.x, svgY: raw.y });\n }, [svgRaw]);\n\n // ── Add node ──────────────────────────────────────────────────────────────\n const addNode = useCallback((type, rawX, rawY) => {\n const pt = {\n x: (rawX - pan.x) / zoom,\n y: (rawY - pan.y) / zoom,\n };\n setNodes(ns => [...ns, makeNode(type, pt.x - 120, pt.y - 18)]);\n setContextMenu(null);\n setPalette(false);\n }, [pan, zoom]);\n\n // ── Delete selected node ──────────────────────────────────────────────────\n useEffect(() => {\n const handler = (e) => {\n if ((e.key === \"Delete\" || e.key === \"Backspace\") && selected) {\n setNodes(ns => ns.filter(n => n.id !== selected));\n setConnections(cs => cs.filter(c => c.fromNode !== selected && c.toNode !== selected));\n setSelected(null);\n }\n };\n window.addEventListener(\"keydown\", handler);\n return () => window.removeEventListener(\"keydown\", handler);\n }, [selected]);\n\n // ── Wire geometry ─────────────────────────────────────────────────────────\n const getWireEndpoints = (conn) => {\n const fromNode = nodes.find(n => n.id === conn.fromNode);\n const toNode = nodes.find(n => n.id === conn.toNode);\n if (!fromNode || !toNode) return null;\n const from = getPortPos(fromNode, \"output\", conn.fromPort);\n const to = getPortPos(toNode, \"input\", conn.toPort);\n return { from, to };\n };\n\n const getWireColor = (conn) => {\n const fromNode = nodes.find(n => n.id === conn.fromNode);\n if (!fromNode) return \"#71717a\";\n const def = NODE_DEFS[fromNode.type];\n const port = def.outputs[conn.fromPort];\n return PORT_TYPES[port?.type]?.color ?? \"#71717a\";\n };\n\n // ── Filtered palette ──────────────────────────────────────────────────────\n const filteredDefs = Object.entries(NODE_DEFS).filter(([name]) =>\n name.toLowerCase().includes(paletteSearch.toLowerCase())\n );\n const categories = [...new Set(filteredDefs.map(([, d]) => d.category))];\n\n return (\n <>\n <style>{`\n @import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap');\n * { box-sizing: border-box; margin: 0; padding: 0; }\n ::-webkit-scrollbar { width: 4px; }\n ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 4px; }\n select option { background: #0f0f1a; }\n `}</style>\n\n <div style={{ width: \"100vw\", height: \"100vh\", background: \"#080810\", overflow: \"hidden\",\n fontFamily: \"'Fira Code', monospace\", position: \"relative\", userSelect: \"none\" }}>\n\n {/* ── Toolbar ───────────────────────────────────────────────────── */}\n <div style={{ position: \"absolute\", top: 12, left: \"50%\", transform: \"translateX(-50%)\",\n display: \"flex\", gap: 8, zIndex: 100, alignItems: \"center\" }}>\n <div style={{ background: \"rgba(15,15,26,0.95)\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 10, padding: \"6px 14px\", display: \"flex\", gap: 12, alignItems: \"center\" }}>\n <span style={{ fontSize: 11, color: \"#64748b\", letterSpacing: \"0.1em\" }}>NODE GRAPH</span>\n <div style={{ width: 1, height: 16, background: \"rgba(255,255,255,0.1)\" }} />\n <button onClick={() => { setPalette(p => !p); setContextMenu(null); }} style={{\n background: palette ? \"rgba(99,102,241,0.3)\" : \"rgba(255,255,255,0.05)\",\n border: `1px solid ${palette ? \"rgba(99,102,241,0.5)\" : \"rgba(255,255,255,0.1)\"}`,\n borderRadius: 6, color: palette ? \"#818cf8\" : \"#94a3b8\",\n padding: \"4px 12px\", cursor: \"pointer\", fontSize: 11, letterSpacing: \"0.05em\"\n }}>+ ADD NODE</button>\n <span style={{ fontSize: 10, color: \"#334155\" }}>Right-click canvas to add · Del to remove · Drag ports to connect</span>\n <div style={{ width: 1, height: 16, background: \"rgba(255,255,255,0.1)\" }} />\n <span style={{ fontSize: 10, color: \"#475569\" }}>{Math.round(zoom * 100)}%</span>\n <button onClick={() => { setZoom(1); setPan({ x: 0, y: 0 }); }}\n style={{ background: \"none\", border: \"1px solid rgba(255,255,255,0.08)\", borderRadius: 5,\n color: \"#475569\", padding: \"3px 8px\", cursor: \"pointer\", fontSize: 10 }}>RESET</button>\n </div>\n </div>\n\n {/* ── Node palette ──────────────────────────────────────────────── */}\n {palette && (\n <div style={{ position: \"absolute\", top: 60, left: 20, width: 220,\n background: \"rgba(13,13,25,0.98)\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 12, zIndex: 200, overflow: \"hidden\", boxShadow: \"0 16px 48px rgba(0,0,0,0.6)\" }}>\n <div style={{ padding: \"10px 12px 8px\" }}>\n <input autoFocus value={paletteSearch} onChange={e => setPaletteSearch(e.target.value)}\n placeholder=\"Search nodes…\"\n style={{ width: \"100%\", background: \"rgba(255,255,255,0.05)\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 6, color: \"#e2e8f0\", fontFamily: \"'Fira Code', monospace\", fontSize: 11,\n padding: \"6px 10px\", outline: \"none\" }} />\n </div>\n <div style={{ maxHeight: 400, overflowY: \"auto\", paddingBottom: 8 }}>\n {categories.map(cat => (\n <div key={cat}>\n <div style={{ padding: \"4px 12px 2px\", fontSize: 9, color: \"#475569\",\n letterSpacing: \"0.15em\", textTransform: \"uppercase\" }}>{cat}</div>\n {filteredDefs.filter(([, d]) => d.category === cat).map(([name, def]) => (\n <div key={name} onClick={() => addNode(name, window.innerWidth / 2, window.innerHeight / 2)}\n style={{ padding: \"6px 12px\", cursor: \"pointer\", display: \"flex\",\n alignItems: \"center\", gap: 8, transition: \"background 0.1s\" }}\n onMouseEnter={e => e.currentTarget.style.background = \"rgba(255,255,255,0.05)\"}\n onMouseLeave={e => e.currentTarget.style.background = \"transparent\"}>\n <div style={{ width: 8, height: 8, borderRadius: 2, background: def.headerColor, flexShrink: 0 }} />\n <span style={{ fontSize: 11, color: \"#cbd5e1\" }}>{name}</span>\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* ── Port type legend ──────────────────────────────────────────── */}\n <div style={{ position: \"absolute\", bottom: 16, left: 16, zIndex: 100,\n background: \"rgba(13,13,25,0.9)\", border: \"1px solid rgba(255,255,255,0.07)\",\n borderRadius: 8, padding: \"8px 12px\", display: \"flex\", gap: 12, flexWrap: \"wrap\", maxWidth: 500 }}>\n {Object.entries(PORT_TYPES).filter(([k]) => k !== \"ANY\").map(([k, v]) => (\n <div key={k} style={{ display: \"flex\", alignItems: \"center\", gap: 4 }}>\n <div style={{ width: 8, height: 8, borderRadius: \"50%\", background: v.color }} />\n <span style={{ fontSize: 9, color: \"#475569\", letterSpacing: \"0.05em\" }}>{k}</span>\n </div>\n ))}\n </div>\n\n {/* ── Context menu ─────────────────────────────────────────────── */}\n {contextMenu && (\n <div style={{ position: \"fixed\", left: contextMenu.x, top: contextMenu.y,\n background: \"rgba(13,13,25,0.98)\", border: \"1px solid rgba(255,255,255,0.1)\",\n borderRadius: 10, zIndex: 300, overflow: \"hidden\", minWidth: 200,\n boxShadow: \"0 16px 48px rgba(0,0,0,0.6)\" }}\n onMouseLeave={() => setContextMenu(null)}>\n <div style={{ padding: \"6px 12px 4px\", fontSize: 9, color: \"#475569\", letterSpacing: \"0.15em\" }}>\n ADD NODE\n </div>\n {Object.entries(NODE_DEFS).map(([name, def]) => (\n <div key={name}\n onClick={() => addNode(name, contextMenu.svgX, contextMenu.svgY)}\n style={{ padding: \"6px 14px\", cursor: \"pointer\", fontSize: 11, color: \"#cbd5e1\",\n display: \"flex\", alignItems: \"center\", gap: 8 }}\n onMouseEnter={e => e.currentTarget.style.background = \"rgba(255,255,255,0.06)\"}\n onMouseLeave={e => e.currentTarget.style.background = \"transparent\"}>\n <div style={{ width: 8, height: 8, borderRadius: 2, background: def.headerColor, flexShrink: 0 }} />\n {name}\n </div>\n ))}\n </div>\n )}\n\n {/* ── Canvas SVG ───────────────────────────────────────────────── */}\n <svg ref={svgRef} width=\"100%\" height=\"100%\"\n style={{ cursor: isPanning ? \"grabbing\" : wiring ? \"crosshair\" : \"default\" }}\n onMouseDown={handleCanvasMouseDown}\n onMouseMove={handleMouseMove}\n onMouseUp={handleMouseUp}\n onWheel={handleWheel}\n onContextMenu={handleContextMenu}\n onClick={() => setContextMenu(null)}>\n\n <defs>\n <pattern id=\"grid\" width={40 * zoom} height={40 * zoom} patternUnits=\"userSpaceOnUse\"\n x={pan.x % (40 * zoom)} y={pan.y % (40 * zoom)}>\n <path d={`M ${40 * zoom} 0 L 0 0 0 ${40 * zoom}`}\n fill=\"none\" stroke=\"rgba(255,255,255,0.04)\" strokeWidth={1} />\n </pattern>\n </defs>\n\n {/* Grid background */}\n <rect width=\"100%\" height=\"100%\" fill=\"url(#grid)\" />\n\n <g transform={`translate(${pan.x},${pan.y}) scale(${zoom})`}>\n\n {/* Connections */}\n {connections.map(conn => {\n const pts = getWireEndpoints(conn);\n if (!pts) return null;\n const color = getWireColor(conn);\n return (\n <path key={conn.id}\n d={wirePath(pts.from.x, pts.from.y, pts.to.x, pts.to.y)}\n fill=\"none\" stroke={color} strokeWidth={2.5} strokeOpacity={0.85}\n style={{ cursor: \"pointer\" }}\n onClick={e => { e.stopPropagation(); setConnections(cs => cs.filter(c => c.id !== conn.id)); }}\n />\n );\n })}\n\n {/* Nodes */}\n {nodes.map(node => (\n <GraphNode key={node.id} node={node}\n selected={selected === node.id}\n wiring={wiring}\n connections={connections}\n onSelect={setSelected}\n onDragStart={handleNodeDragStart}\n onPortMouseDown={handlePortMouseDown}\n onPortMouseUp={handlePortMouseUp}\n />\n ))}\n </g>\n\n {/* Live wire being dragged */}\n {wiring && (() => {\n const fromNode = nodes.find(n => n.id === wiring.fromNode);\n if (!fromNode) return null;\n const from = getPortPos(fromNode, wiring.fromSide, wiring.fromPort);\n const fx = from.x * zoom + pan.x;\n const fy = from.y * zoom + pan.y;\n const color = PORT_TYPES[wiring.fromType]?.color ?? \"#71717a\";\n return (\n <path d={wirePath(fx, fy, wirePos.x, wirePos.y)}\n fill=\"none\" stroke={color} strokeWidth={2.5} strokeOpacity={0.7}\n strokeDasharray=\"6 3\" />\n );\n })()}\n </svg>\n </div>\n </>\n );\n}\n","import React from \"react\"\nimport ReactDOM from \"react-dom/client\"\nimport { Streamlit } from \"streamlit-component-lib\"\nimport Component from \"./index.jsx\"\n\nStreamlit.setFrameHeight()\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"))\nroot.render(\n <React.StrictMode>\n <Component />\n </React.StrictMode>\n)\n"],"names":["reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","length","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","i","key","descriptor","e","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","hasOwnProperty","propIsEnumerable","propertyIsEnumerable","assign","test1","String","test2","fromCharCode","map","join","test3","split","forEach","letter","err","shouldUseNative","target","source","from","symbols","to","val","undefined","TypeError","toObject","s","call","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","ka","la","ma","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","Ma","Error","stack","trim","match","Na","Oa","prepareStackTrace","set","Reflect","construct","includes","Pa","tag","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","constructor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","value","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","Array","isArray","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","toString","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","apply","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","Ng","Og","index","Pg","Qg","props","Rg","implementation","Sg","Tg","next","done","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","context","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","create","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","console","error","Mi","WeakMap","Ni","Oi","Pi","Qi","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","WeakSet","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","Children","count","toArray","only","Component","PureComponent","act","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","result","keyPrefix","func","suspense","IsSomeRendererActing","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","MetadataVersion","UnionMode","Precision","DateUnit","TimeUnit","IntervalUnit","MessageHeader","Type","BufferType","BigIntCtor","BigIntAvailable","BigIntUnavailableError","BigIntUnavailable","asIntN","asUintN","BigInt","BigInt64ArrayCtor","BigInt64ArrayAvailable","BigInt64ArrayUnavailableError","BigInt64Array","BYTES_PER_ELEMENT","BigUint64ArrayCtor","BigUint64ArrayAvailable","BigUint64ArrayUnavailableError","BigUint64Array","isNumber","isBoolean","isFunction","isObject","isPromise","isIterable","isAsyncIterable","asyncIterator","isArrowJSON","isIteratorResult","isFileHandle","isFetchResponse","isReadableDOMStream","isReadableInterop","isReadableNodeStream","valueToString","toPrimitive","ArrayBuffer","isView","_","__awaiter","thisArg","_arguments","generator","reject","fulfilled","step","rejected","__values","o","__await","__asyncGenerator","AsyncIterator","verb","resume","fulfill","settle","__asyncDelegator","__asyncValues","SuppressedError","decoder","TextDecoder","decodeUtf8","buffer","decode","encoder","TextEncoder","encodeUtf8","encode","SharedArrayBuf","SharedArrayBuffer","memcpy","targetByteOffset","sourceByteLength","byteLength","targetByteLength","dst","Uint8Array","byteOffset","joinUint8Arrays","chunks","xOffset","yOffset","xLen","yLen","j","collapseContiguousByteRanges","reduce","sliced","Number","POSITIVE_INFINITY","subarray","toArrayBufferView","ArrayBufferViewCtor","bytes","toInt32Array","Int32Array","toUint8Array","pump","toArrayBufferViewIterator","ArrayCtor","wrap","buffers","it","toArrayBufferViewAsyncIterator","emit","rebaseValueOffsets","valueOffsets","isArrowBigNumSymbol","BigNum","_len","xs","_key","setPrototypeOf","SignedBigNum","_len2","args","_key2","UnsignedBigNum","_len3","_key3","DecimalBigNum","_len4","_key4","bignumToNumber","bn","signed","words","negative","word","bignumToString","bignumToBigInt","decimalToString","digits","base64","Uint32Array","base32","Uint16Array","checks","reverse","toJSON","BN","new","num","isSigned","Int8Array","Int16Array","unsigned","decimal","proto","DataType","isNull","typeId","Null","isInt","Int","isFloat","Float","isBinary","Binary","isUtf8","Utf8","isBool","Bool","isDecimal","Decimal","isDate","isTime","Time","isTimestamp","Timestamp","isInterval","Interval","isList","List","isStruct","Struct","isUnion","Union","isFixedSizeBinary","FixedSizeBinary","isFixedSizeList","FixedSizeList","isMap","isDictionary","Dictionary","isDenseUnion","Dense","isSparseUnion","Sparse","NONE","toStringTag","_a","ArrayType","_b","Int_","bitWidth","super","_c","Int32","precision","HALF","SINGLE","Float32Array","DOUBLE","Float64Array","_d","_e","_f","_g","scale","_h","Date_","unit","_j","Time_","_k","Timestamp_","timezone","_l","Interval_","_m","valueType","valueField","_o","_p","Union_","typeIds","typeIdToChildIndex","idx","_q","byteWidth","_r","listSize","_s","Map_","keysSorted","keyType","childType","_t","getId","atomicDictionaryId","dictionary","indices","isOrdered","low","strideForType","_u","Visitor","visitMany","nodes","visit","getVisitFn","visitor","throwIfNotFound","getVisitFnByTypeId","inferDType","visitNull","_node","visitBool","visitInt","visitFloat","visitUtf8","visitBinary","visitFixedSizeBinary","visitDate","visitTimestamp","visitTime","visitDecimal","visitList","visitStruct","visitUnion","visitDictionary","visitInterval","visitFixedSizeList","visitMap","dtype","fn","Int8","visitInt8","Int16","visitInt16","visitInt32","Int64","visitInt64","Uint8","visitUint8","Uint16","visitUint16","Uint32","visitUint32","Uint64","visitUint64","Float16","visitFloat16","Float32","visitFloat32","Float64","visitFloat64","DateDay","visitDateDay","DateMillisecond","visitDateMillisecond","TimestampSecond","visitTimestampSecond","TimestampMillisecond","visitTimestampMillisecond","TimestampMicrosecond","visitTimestampMicrosecond","TimestampNanosecond","visitTimestampNanosecond","TimeSecond","visitTimeSecond","TimeMillisecond","visitTimeMillisecond","TimeMicrosecond","visitTimeMicrosecond","TimeNanosecond","visitTimeNanosecond","DenseUnion","visitDenseUnion","SparseUnion","visitSparseUnion","IntervalDayTime","visitIntervalDayTime","IntervalYearMonth","visitIntervalYearMonth","SECOND","MILLISECOND","MICROSECOND","NANOSECOND","DAY","DAY_TIME","YEAR_MONTH","f64","u32","uint16ToFloat64","expo","sigf","sign","pow","NaN","SetVisitor","wrapSet","_1","_2","setValid","setEpochMsToMillisecondsLong","epochMs","trunc","setVariableWidthBytes","values","setInt","_ref2","setFloat","_ref3","setFloat16","_ref4","float64ToUint16","setDateDay","_ref5","setEpochMsToDays","setDateMillisecond","_ref6","setTimestampSecond","_ref0","setTimestampMillisecond","_ref1","setTimestampMicrosecond","_ref10","setEpochMsToMicrosecondsLong","setTimestampNanosecond","_ref11","setEpochMsToNanosecondsLong","setTimeSecond","_ref12","setTimeMillisecond","_ref13","setTimeMicrosecond","_ref14","setTimeNanosecond","_ref15","setDenseUnion","childIndex","setSparseUnion","setIntervalDayTime","_ref17","setIntervalYearMonth","_ref18","setBool","_ref","setAnyFloat","setUtf8","_ref9","setBinary","_ref8","setFixedSizeBinary","_ref7","stride","setDate","setTimestamp","setTime","setDecimal","_ref16","setList","itr","setStruct","childSetters","Vector","_setStructVectorValue","_setStructArrayValue","_setStructObjectValue","_setStructMapValue","setUnion","setDictionary","setIntervalValue","setFixedSizeList","setMap","entries","kParent","kRowIndex","StructRow","parent","rowIndex","Proxy","StructRowProxyHandler","json","getVisitor","StructRowIterator","childFields","numChildren","defineProperties","writable","isExtensible","deleteProperty","preventExtensions","ownKeys","row","findIndex","setVisitor","GetVisitor","wrapGet","getValid","epochMillisecondsLongToMs","epochMillisecondsToDate","getVariableWidthBytes","getDateDay","epochDaysToDate","epochDaysToMs","getDateMillisecond","epochMillisecondsLongToDate","getNumeric","getBigInts","getTimestampSecond","getTimestampMillisecond","getTimestampMicrosecond","epochMicrosecondsLongToMs","getTimestampNanosecond","epochNanosecondsLongToMs","getTimeSecond","getTimeMillisecond","getTimeMicrosecond","getTimeNanosecond","getDenseUnion","getSparseUnion","getIntervalDayTime","_ref19","getIntervalYearMonth","_ref20","interval","int32s","getNull","_data","_index","getBool","getInt","getFloat","getFloat16","getUtf8","getBinary","getFixedSizeBinary","getDate","getTimestamp","getTime","getDecimal","getList","begin","getStruct","getUnion","getDictionary","getInterval","getFixedSizeList","getMap","MapRow","kKeys","kVals","memoize","MapRowProxyHandler","MapRowIterator","vals","keyIndex","numKeys","tmp","clampRange","len","lhs","rhs","isNaNFast","createElementComparator","valueOfSearch","compareArrayLike","comparators","createSubElementsComparator","createMapComparator","createArrayLikeComparator","createVectorComparator","allowEmpty","createObjectComparator","arr","compareArray","compareObject","vec","compareVector","obj","lKeyItr","rKeyItr","rValItr","rVal","lKey","rKey","ChunkedIterator","numChunks","getChunkIterator","chunkIndex","chunkIterator","computeChunkNullCounts","nullCount","chunk","computeChunkOffsets","offsets","sliceChunks","slices","max","binarySearch","mid","isChunkedValid","wrapChunkedCall1","chunkedFn","_offsets","wrapChunkedCall2","wrapChunkedIndexOf","chunkedIndexOf","fromIndex","total","byte","bit","getBit","truncateBitmap","bitmap","alignedSize","packBools","BitIterator","byteIndex","popcnt_bit_range","sum","rhsInside","lhsInside","cnt","pos","DataView","popcnt_uint32","getUint32","getUint16","getUint8","popcnt_array","uint32","IndexOfVisitor","indexOfValue","searchElement","nullBitmap","isValid","indexOfNull","indexOfUnion","IteratorVisitor","vectorIterator","vector","inner","VectorIterator","GetByteLengthVisitor","____","getByteLength","getDenseUnionByteLength","getSparseUnionByteLength","getUtf8ByteLength","getBinaryByteLength","getListByteLength","getFixedSizeListByteLength","getUnionByteLength","visitorsByTypeId","vectorPrototypesByTypeId","flatMap","some","Data","unchunkedData","_byteLength","_nullCount","VectorName","iteratorVisitor","others","flat","chunk_length","array","getChild","getChildAt","isMemoized","MemoizedVector","newData","cloned","clone","unmemoize","isConcatSpreadable","filter","indexOfVisitor","byteLengthVisitor","cachedValue","nullable","_changeLengthAndBackfillNullBitmap","childStride","_sliceBuffers","_sliceChildren","newLength","fill","VALIDITY","TYPE","OFFSET","DATA","freeze","MakeDataVisitor","makeData","Schema","fields","metadata","dictionaries","generateDictionaryMap","names","select","fieldNames","selectAt","fieldIndices","Boolean","other","curFields","mergeMaps","newFields","f2","newDictionaries","Field","m1","m2","TypeComparator","compareSchemas","schema","compareManyFields","every","compareFields","field","compareConstructor","compareAny","compareInt","compareFloat","compareDate","compareTimestamp","compareTime","compareUnion","compareInterval","RecordBatch","ensureSameLengthData","_dictionaries","collectDictionaries","numCols","numRows","Table","setChild","setChildAt","columnNames","columnIndices","subset","maxLength","nullBitmapSize","_InternalEmptyPlaceholderRecordBatch","distributeVectorsIntoRecordBatches","vecs","cols","batches","numBatches","batchLength","numColumns","isFinite","distributeChildren","uniformlyDistributeChunksAcrossRecordBatches","unwrap","batch","empty","nameToIndex","columnName","oldToNew","newIdx","Block","bb_pos","__init","readInt64","metaDataLength","readInt32","bodyLength","sizeOf","createBlock","builder","prep","writeInt64","pad","writeInt32","int32","float32","float64","isLittleEndian","Long","high","ZERO","toFloat64","equals","Encoding","Endianness","DictionaryKind","ByteBuffer","bytes_","position_","allocate","byte_size","clear","position","setPosition","capacity","readInt8","readUint8","readInt16","readUint16","readUint32","readUint64","readFloat32","readFloat64","writeInt8","writeUint8","writeInt16","writeUint16","writeUint32","writeUint64","writeFloat32","writeFloat64","getBufferIdentifier","__offset","vtable_offset","vtable","__union","__string","opt_encoding","UTF8_BYTES","codePoint","__union_with_string","__indirect","__vector","__vector_len","__has_identifier","ident","charCodeAt","createLong","createScalarList","listAccessor","listLength","ret","createObjList","unpack","Builder","opt_initial_size","initial_size","minalign","vtable_in_use","isNested","object_start","vtables","vector_num_elems","force_defaults","string_maps","space","forceDefaults","dataBuffer","asUint8Array","additional_bytes","align_size","old_buf_size","growByteBuffer","addInt8","addInt16","addInt32","addInt64","addFloat32","addFloat64","addFieldInt8","voffset","slot","addFieldInt16","addFieldInt32","addFieldInt64","addFieldFloat32","addFieldFloat64","addFieldOffset","addOffset","addFieldStruct","nested","notNested","new_buf_size","nbb","startObject","numfields","endObject","vtableloc","trimmed_size","existing_vtable","vt1","outer_loop","vt2","finish","root_table","opt_file_identifier","opt_size_prefix","size_prefix","file_identifier","SIZEOF_INT","FILE_IDENTIFIER_LENGTH","finishSizePrefixed","requiredField","table","table_start","vtable_start","startVector","elem_size","num_elems","alignment","endVector","createSharedString","createString","utf8","createObjectOffset","pack","createObjectOffsetList","list","createStructOffsetList","startFunc","KeyValue","getRootAsKeyValue","getSizePrefixedRootAsKeyValue","optionalEncoding","startKeyValue","addKey","keyOffset","addValue","valueOffset","endKeyValue","createKeyValue","getRootAsInt","getSizePrefixedRootAsInt","startInt","addBitWidth","addIsSigned","endInt","createInt","DictionaryEncoding","getRootAsDictionaryEncoding","getSizePrefixedRootAsDictionaryEncoding","indexType","dictionaryKind","DenseArray","startDictionaryEncoding","addId","addIndexType","indexTypeOffset","addIsOrdered","addDictionaryKind","endDictionaryEncoding","getRootAsField","getSizePrefixedRootAsField","typeType","childrenLength","customMetadata","customMetadataLength","startField","addName","nameOffset","addNullable","addTypeType","addType","typeOffset","addDictionary","dictionaryOffset","addChildren","childrenOffset","createChildrenVector","startChildrenVector","numElems","addCustomMetadata","customMetadataOffset","createCustomMetadataVector","startCustomMetadataVector","endField","getRootAsSchema","getSizePrefixedRootAsSchema","endianness","Little","fieldsLength","features","featuresLength","startSchema","addEndianness","addFields","fieldsOffset","createFieldsVector","startFieldsVector","addFeatures","featuresOffset","createFeaturesVector","startFeaturesVector","endSchema","finishSchemaBuffer","finishSizePrefixedSchemaBuffer","createSchema","Footer","getRootAsFooter","getSizePrefixedRootAsFooter","V1","dictionariesLength","recordBatches","recordBatchesLength","startFooter","addVersion","addSchema","schemaOffset","addDictionaries","dictionariesOffset","startDictionariesVector","addRecordBatches","recordBatchesOffset","startRecordBatchesVector","endFooter","finishFooterBuffer","finishSizePrefixedFooterBuffer","flatbuffers","Footer_","V4","dictionaryBatches","_recordBatches","_dictionaryBatches","buf","footer","_Footer","OffHeapFooter","numRecordBatches","FileBlock","numDictionaries","dictionaryBatchesOffset","block","getRecordBatch","getDictionaryBatch","_footer","fileBlock","_Block","fromIterable","cmd","threw","bufferLength","byteRange","throw","fromAsyncIterable","fromDOMStream","AdaptiveByteReader","releaseLock","fromNodeStream","stream","events","onEvent","race","cleanup","evt","toDOMStream","toNodeStream","reader","closed","cancel","reason","read","handler","ITERATOR_DONE","ArrowJSON","_json","ReadableInterop","tee","_getDOMStream","pipe","_getNodeStream","pipeTo","pipeThrough","duplex","_DOMStream","_nodeStream","AsyncQueue","_values","resolvers","_closedPromise","_closedPromiseResolve","write","_ensureOpen","abort","_error","close","streamAdapters","peek","AsyncByteQueue","ByteStream","ByteStreamSource","AsyncByteStream","AsyncByteStreamSource","RandomAccessFile","readAt","getInt32","seek","nBytes","AsyncRandomAccessFile","file","_handle","_pending","stat","bytesRead","intAsHex","kPowersOfTen","BaseInt64","_times","product","_plus","lessThan","greaterThan","hex","times","plus","out_buffer","fromString","fromNumber","str","out","posn","group","parseInt","convertArray","multiply","right","negate","this_high","other_high","startsWith","Int128","L0","L1","L2","L3","R0","R1","R2","R3","sums","VectorLoader","nodesIndex","buffersIndex","nextFieldNode","readNullBitmap","readData","readOffsets","readTypeIds","readDictionary","nextBufferRange","_type","JSONVectorLoader","sources","joined","binaryDataFromJSON","BodyCompressionMethod","CompressionType","BodyCompression","getRootAsBodyCompression","getSizePrefixedRootAsBodyCompression","codec","LZ4_FRAME","method","BUFFER","startBodyCompression","addCodec","addMethod","endBodyCompression","createBodyCompression","Buffer","createBuffer","FieldNode","createFieldNode","null_count","getRootAsRecordBatch","getSizePrefixedRootAsRecordBatch","nodesLength","buffersLength","compression","startRecordBatch","addLength","addNodes","nodesOffset","startNodesVector","addBuffers","buffersOffset","startBuffersVector","addCompression","compressionOffset","endRecordBatch","DictionaryBatch","getRootAsDictionaryBatch","getSizePrefixedRootAsDictionaryBatch","isDelta","startDictionaryBatch","addData","dataOffset","addIsDelta","endDictionaryBatch","FloatingPoint","getRootAsFloatingPoint","getSizePrefixedRootAsFloatingPoint","startFloatingPoint","addPrecision","endFloatingPoint","createFloatingPoint","getRootAsDecimal","getSizePrefixedRootAsDecimal","startDecimal","addScale","endDecimal","createDecimal","getRootAsDate","getSizePrefixedRootAsDate","startDate","addUnit","endDate","createDate","getRootAsTime","getSizePrefixedRootAsTime","endTime","createTime","getRootAsTimestamp","getSizePrefixedRootAsTimestamp","startTimestamp","addTimezone","timezoneOffset","endTimestamp","createTimestamp","getRootAsInterval","getSizePrefixedRootAsInterval","startInterval","endInterval","createInterval","getRootAsUnion","getSizePrefixedRootAsUnion","typeIdsLength","typeIdsArray","startUnion","addMode","addTypeIds","typeIdsOffset","createTypeIdsVector","startTypeIdsVector","endUnion","createUnion","getRootAsFixedSizeBinary","getSizePrefixedRootAsFixedSizeBinary","startFixedSizeBinary","addByteWidth","endFixedSizeBinary","createFixedSizeBinary","getRootAsFixedSizeList","getSizePrefixedRootAsFixedSizeList","startFixedSizeList","addListSize","endFixedSizeList","createFixedSizeList","getRootAsMap","getSizePrefixedRootAsMap","startMap","addKeysSorted","endMap","createMap","Message","getRootAsMessage","getSizePrefixedRootAsMessage","headerType","header","startMessage","addHeaderType","addHeader","headerOffset","addBodyLength","endMessage","finishMessageBuffer","finishSizePrefixedMessageBuffer","createMessage","getRootAsNull","getSizePrefixedRootAsNull","startNull","endNull","createNull","getRootAsBinary","getSizePrefixedRootAsBinary","startBinary","endBinary","createBinary","getRootAsBool","getSizePrefixedRootAsBool","startBool","endBool","createBool","getRootAsUtf8","getSizePrefixedRootAsUtf8","startUtf8","endUtf8","createUtf8","getRootAsList","getSizePrefixedRootAsList","startList","endList","createList","Struct_","getRootAsStruct_","getSizePrefixedRootAsStruct_","startStruct_","endStruct_","createStruct_","recordBatchFromJSON","fieldNodesFromJSON","buffersFromJSON","fieldChildrenFromJSON","_field","fromJSON","fieldNodes","column","validity","BufferRegion","customMetadataFromJSON","_metadata","indexTypeFromJSON","typeFromJSON","_version","_headerType","_createHeader","_bodyLength","msg","messageHeaderFromJSON","_message","_Message","_Schema","_RecordBatch","_DictionaryBatch","decodeMessageHeader","isSchema","isRecordBatch","isDictionaryBatch","_nodes","_buffers","_length","_isDelta","_id","decodeFieldChildren","decodeCustomMetadata","entry","decodeIndexType","decodeFieldType","_Int","_FloatingPoint","_Decimal","_Date","_Time","_Timestamp","_Interval","_Union","_FixedSizeBinary","_FixedSizeList","_Map","typeAssembler","childOffsets","childrenVectorOffset","_Field","metadataOffset","_KeyValue","dictType","dictMeta","fieldOffsets","fieldsVectorOffset","platformIsLittleEndian","_Endianness","Big","_schema","decodeSchemaFields","schemaFieldsFromJSON","recordBatch","nodesVectorOffset","b_","buffersVectorOffset","decodeFieldNodes","bufferRegions","decodeBuffers","dictionaryBatch","_FieldNode","_Buffer","setInt16","invalidMessageType","nullMessage","invalidMessageMetadata","expected","actual","invalidMessageBodyLength","MessageReader","readMetadataLength","readMetadata","readMessage","readMessageBody","readSchema","throwIfNull","PADDING","metadataLength","AsyncMessageReader","JSONMessageReader","_body","_batchIndex","_dictionaryIndex","flattenDataSources","MAGIC_STR","MAGIC","codePointAt","checkForMagicArrowString","magicLength","magicAndPadding","magicX2AndPadding","RecordBatchReader","impl","_impl","autoDestroy","isFile","isSync","isAsync","isStream","reset","open","opening","readRecordBatch","objectMode","throughNode","throughDOM","writableStrategy","readableStrategy","RecordBatchStreamReader","RecordBatchJSONReaderImpl","fromArrowJSON","AsyncRecordBatchFileReader","AsyncRecordBatchFileReaderImpl","AsyncRecordBatchStreamReader","AsyncRecordBatchStreamReaderImpl","fromFileHandle","RecordBatchFileReader","RecordBatchFileReaderImpl","fromAsyncByteStream","RecordBatchStreamReaderImpl","fromByteStream","readAll","readAllSync","readAllAsync","RecordBatchReaderImpl","_recordBatchIndex","_loadRecordBatch","_loadVectors","_loadDictionaryBatch","types","_reader","shouldAutoDestroy","_readNextMessageAndValidate","_readFooter","_readDictionaryBatch","rest","_super","self","VectorAssembler","_bufferRegions","assemble","assembler","RangeError","addBuffer","_null","assembleFlatVector","assembleFlatListVector","firstOffset","lastOffset","assembleListVector","assembleNestedVector","maxChildTypeId","childLengths","shiftedOffsets","unshiftedOffsets","childLength","RecordBatchWriter","_position","_started","_sink","_dictionaryBlocks","_recordBatchBlocks","_dictionaryDeltaOffsets","writeLegacyIpcFormat","_autoDestroy","_writeLegacyIpcFormat","sync","writeAll","writeAllAsync","sink","isWritableNodeStream","_writeFooter","_writeSchema","_writeRecordBatch","_writeMessage","flatbufferSize","prefixSize","nPaddingBytes","_write","_writePadding","_writeMagic","_writeDictionaries","_writeBodyBuffers","_writeDictionaryBatch","padding","RecordBatchStreamWriter","writer","RecordBatchFileWriter","batches_1","batches_1_1","tableFromIPC","tableToIPC","ComponentMessageType","ArrowTable","indexBuffer","columnsBuffer","styler","_this","getCell","columnIndex","isBlankCell","headerRows","headerColumns","isIndexCell","isColumnsCell","classNames","content","dataColumnIndex","getContent","columnsTable","dataRowIndex","uuid","indexTable","displayValuesTable","dataTable","getColumnTypeId","nanosToDate","caption","displayValues","styles","rows","dataRows","dataColumns","serialize","nanos","__assign","Streamlit","API_VERSION","RENDER_EVENT","EventTarget","registeredMessageListener","setComponentReady","onMessageEvent","sendBackMsg","COMPONENT_READY","apiVersion","setFrameHeight","scrollHeight","lastFrameHeight","SET_FRAME_HEIGHT","setComponentValue","dataType","isBigIntArray","Uint8ClampedArray","isTypedArray","SET_COMPONENT_VALUE","onRenderMessage","dataframeArgs","argsDataframeToObject","theme","_injectTheme","eventData","CustomEvent","argsDataframe","argsDataframeArrow","toArrowTable","fromEntries","isStreamlitMessage","head","primaryColor","backgroundColor","secondaryBackgroundColor","textColor","font","__extends","extendStatics","__proto__","__","StreamlitComponentBase","React","PORT_TYPES","IMAGE","label","LATENT","MODEL","CLIP","VAE","INT","FLOAT","STRING","MASK","ANY","NODE_DEFS","category","headerColor","inputs","outputs","params","makeNode","def","_p$default","collapsed","portHeight","getPortPos","side","wirePath","x1","y1","x2","y2","dx","abs","GraphNode","wiring","onSelect","onDragStart","onPortMouseDown","onPortMouseUp","connections","nodeHeight","connectedInputs","toNode","toPort","connectedOutputs","fromNode","fromPort","_jsxs","transform","onMouseDown","_jsx","rx","stroke","fontFamily","fontSize","userSelect","pointerEvents","cursor","_Fragment","port","_PORT_TYPES$port$type","_PORT_TYPES$port$type2","relY","isConn","cx","cy","onMouseUp","_PORT_TYPES$port$type3","_PORT_TYPES$port$type4","textAnchor","_node$params$param$ke","_node$params$param$ke2","_node$params$param$ke3","baseY","alignItems","gap","minWidth","textTransform","letterSpacing","onChange","background","border","borderRadius","outline","resize","NodeEditor","setNodes","n1","n2","n3","n4","n5","n6","n7","setConnections","setSelected","pan","setPan","setZoom","draggingNode","setDraggingNode","isPanning","setIsPanning","panStart","setPanStart","setWiring","wirePos","setWirePos","contextMenu","setContextMenu","palette","setPalette","paletteSearch","setPaletteSearch","svgRef","svgPoint","rect","getBoundingClientRect","svgRaw","handleNodeDragStart","pt","find","offsetX","offsetY","handleCanvasMouseDown","handleMouseMove","ns","raw","handleMouseUp","handleWheel","delta","handlePortMouseDown","nodeId","portIndex","portType","fromSide","fromType","handlePortMouseUp","isOutputToInput","isInputToOutput","cs","handleContextMenu","svgX","svgY","addNode","rawX","rawY","filteredDefs","categories","round","boxShadow","placeholder","maxHeight","overflowY","paddingBottom","cat","innerWidth","innerHeight","onMouseEnter","onMouseLeave","bottom","flexWrap","maxWidth","onMouseMove","onWheel","onContextMenu","patternUnits","conn","pts","getWireEndpoints","_PORT_TYPES$port$type5","_PORT_TYPES$port$type6","getWireColor","_PORT_TYPES$wiring$fr","_PORT_TYPES$wiring$fr2","fx","fy","ReactDOM","getElementById"],"sourceRoot":""}