diff --git a/assets/compute.worker.dfd04421.js b/assets/compute.worker-155b2df9.js similarity index 85% rename from assets/compute.worker.dfd04421.js rename to assets/compute.worker-155b2df9.js index d4e845f..841876a 100644 --- a/assets/compute.worker.dfd04421.js +++ b/assets/compute.worker-155b2df9.js @@ -1,4 +1,11 @@ +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; (function() { + var _a, _b; "use strict"; var EPSILON$1 = 1e-6; var ARRAY_TYPE = typeof Float32Array !== "undefined" ? Float32Array : Array; @@ -570,12 +577,13 @@ })(); class HitRecord { constructor() { - this.p = create$2(); - this.normal = create$2(); - this.t = 0; - this.u = 0; - this.v = 0; - this.frontFace = true; + __publicField(this, "p", create$2()); + __publicField(this, "normal", create$2()); + __publicField(this, "t", 0); + __publicField(this, "u", 0); + __publicField(this, "v", 0); + __publicField(this, "frontFace", true); + __publicField(this, "mat"); } setFaceNormal(r, outward_normal) { this.frontFace = dot(r.direction, outward_normal) < 0; @@ -593,6 +601,9 @@ } class Ray { constructor(origin, direction, time = 0) { + __publicField(this, "_orig"); + __publicField(this, "_dir"); + __publicField(this, "_time"); if (origin) { this._orig = origin; } @@ -639,10 +650,14 @@ if (!rec.mat.scatter(ray, rec, attenuation, scattered)) { return emitted; } - return add(create$2(), emitted, multiply$1(create$2(), attenuation, rayColor(scattered, background2, world2, depth - 1))); + return add( + create$2(), + emitted, + multiply$1(create$2(), attenuation, rayColor(scattered, background2, world2, depth - 1)) + ); } const CLASSNAME_KEY = "__CLASSNAME__"; - const _metaMap = new Map(); + const _metaMap = /* @__PURE__ */ new Map(); function addClassName(type) { _metaMap.set(type.name, type); } @@ -774,12 +789,16 @@ }; let Camera = class { constructor() { - this.lowerLeftCorner = create$2(); - this.horizontal = create$2(); - this.vertical = create$2(); - this.u = create$2(); - this.v = create$2(); - this.w = create$2(); + __publicField(this, "lookFrom"); + __publicField(this, "lowerLeftCorner", create$2()); + __publicField(this, "horizontal", create$2()); + __publicField(this, "vertical", create$2()); + __publicField(this, "u", create$2()); + __publicField(this, "v", create$2()); + __publicField(this, "w", create$2()); + __publicField(this, "lenseRadius"); + __publicField(this, "time0"); + __publicField(this, "time1"); } init(lookFrom, lookAt, vUp, fovY, aspectRatio, aperture, focusDist, t0 = 0, t1 = 0) { const theta = degreeToRadians(fovY); @@ -795,7 +814,11 @@ const half_horizontal = scale(create$2(), this.horizontal, 0.5); const half_vertical = scale(create$2(), this.vertical, 0.5); const focusW = scale(create$2(), this.w, focusDist); - subtract(this.lowerLeftCorner, subtract(create$2(), subtract(create$2(), this.lookFrom, half_horizontal), half_vertical), focusW); + subtract( + this.lowerLeftCorner, + subtract(create$2(), subtract(create$2(), this.lookFrom, half_horizontal), half_vertical), + focusW + ); this.lenseRadius = aperture / 2; this.time0 = t0; this.time1 = t1; @@ -807,7 +830,15 @@ const offset = add(create$2(), vecU, vecV); const sHor = scale(create$2(), this.horizontal, s); const tVer = scale(create$2(), this.vertical, t); - return new Ray(add(create$2(), this.lookFrom, offset), sub(create$2(), sub(create$2(), add(create$2(), add(create$2(), this.lowerLeftCorner, sHor), tVer), this.lookFrom), offset), randomNumberRange(this.time0, this.time1)); + return new Ray( + add(create$2(), this.lookFrom, offset), + sub( + create$2(), + sub(create$2(), add(create$2(), add(create$2(), this.lowerLeftCorner, sHor), tVer), this.lookFrom), + offset + ), + randomNumberRange(this.time0, this.time1) + ); } getUniformArray() { const array = []; @@ -821,6 +852,7 @@ array.push(this.lenseRadius); array.push(this.time0); array.push(this.time1); + array.push([0, 0, 0, 0]); return new Float32Array(array); } }; @@ -839,14 +871,21 @@ return result; }; let AABB = class { + // private _size: vec3; + // private _center: vec3; constructor(min, max) { - this._min = min != null ? min : [0, 0, 0]; - this._max = max != null ? max : [0, 0, 0]; + __publicField(this, "_min"); + __publicField(this, "_max"); + this._min = min ?? [0, 0, 0]; + this._max = max ?? [0, 0, 0]; } copyTo(dest) { dest._min = copy(create$2(), this._min); dest._max = copy(create$2(), this._max); } + // public logBox(): string { + // return `center: ${this._center.toString()} | size: ${this._size.toString()}`; + // } get min() { return this._min; } @@ -867,6 +906,24 @@ } return true; } + // public hit(ray: Ray, tMin: number, tMax: number): boolean { + // for (let a = 0; a < 3; a++) { + // const invD = 1.0 / ray.direction[a]; + // let t0 = (this._min[a] - ray.origin[a]) * invD; + // let t1 = (this._max[a] - ray.origin[a]) * invD; + // if (invD < 0.0) { + // const tmp = t0; + // t0 = t1; + // t1 = tmp; + // } + // tMin = t0 > tMin ? t0 : tMin; + // tMax = t1 < tMax ? t1 : tMax; + // if (tMax <= tMin) { + // return false; + // } + // } + // return true; + // } static surroundingBox(box0, box1) { const small = [ Math.min(box0.min[0], box1.min[0]), @@ -897,14 +954,14 @@ }; let Transform = class { constructor() { - this._objectToWorldMatrix = create$3(); - this._worldToObjectMatrix = create$3(); - this._rotationMatrix = create$3(); - this._inverseRotationMatrix = create$3(); - this._normalMatrix = create$3(); - this._position = create$2(); - this._rotation = create(); - this._isTransformed = false; + __publicField(this, "_objectToWorldMatrix", create$3()); + __publicField(this, "_worldToObjectMatrix", create$3()); + __publicField(this, "_rotationMatrix", create$3()); + __publicField(this, "_inverseRotationMatrix", create$3()); + __publicField(this, "_normalMatrix", create$3()); + __publicField(this, "_position", create$2()); + __publicField(this, "_rotation", create()); + __publicField(this, "_isTransformed", false); } get objectToWorld() { return this._objectToWorldMatrix; @@ -923,7 +980,12 @@ transformMat4(movedOrigin, movedOrigin, this._worldToObjectMatrix); const movedDirection = fromValues(ray.direction[0], ray.direction[1], ray.direction[2]); transformMat4(movedDirection, movedDirection, this._inverseRotationMatrix); - return new Ray([movedOrigin[0], movedOrigin[1], movedOrigin[2]], [movedDirection[0], movedDirection[1], movedDirection[2]], ray.time); + return new Ray( + [movedOrigin[0], movedOrigin[1], movedOrigin[2]], + [movedDirection[0], movedDirection[1], movedDirection[2]], + // ray.direction, + ray.time + ); } transformRecord(ray, rec) { if (!this._isTransformed) { @@ -950,6 +1012,12 @@ tempQuat = fromEuler(tempQuat, angleX, angelY, angleZ); this.rotateQuat(tempQuat); } + // public transformVec3(v: vec3): vec3 { + // if(!this._isTransformed) { + // return v; + // } + // return vec3.transformMat4(vec3.create(), v, this._objectToWorldMatrix); + // } _updateMatrix() { this._isTransformed = true; const translationMatrix = create$3(); @@ -967,8 +1035,9 @@ ], Transform); class Hittable { constructor() { - this.name = ""; - this.transform = new Transform(); + __publicField(this, "material"); + __publicField(this, "name", ""); + __publicField(this, "transform", new Transform()); } } var __defProp$j = Object.defineProperty; @@ -985,6 +1054,12 @@ let XYRect = class extends Hittable { constructor(x0, x1, y0, y1, k, material) { super(); + __publicField(this, "x0"); + __publicField(this, "x1"); + __publicField(this, "y0"); + __publicField(this, "y1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.x0 = x0; this.x1 = x1; this.y0 = y0; @@ -1024,6 +1099,12 @@ let XZRect = class extends Hittable { constructor(x0, x1, z0, z1, k, material) { super(); + __publicField(this, "x0"); + __publicField(this, "x1"); + __publicField(this, "z0"); + __publicField(this, "z1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.x0 = x0; this.x1 = x1; this.z0 = z0; @@ -1063,6 +1144,12 @@ let YZRect = class extends Hittable { constructor(y0, y1, z0, z1, k, material) { super(); + __publicField(this, "y0"); + __publicField(this, "y1"); + __publicField(this, "z0"); + __publicField(this, "z1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.y0 = y0; this.y1 = y1; this.z0 = z0; @@ -1113,7 +1200,7 @@ let HittableList = class extends Hittable { constructor(object) { super(); - this._objects = []; + __publicField(this, "_objects", []); if (object) { this.add(object); } @@ -1121,6 +1208,9 @@ get objects() { return this._objects; } + // public clear(): void { + // this._objects.length = 0; + // } add(object) { this._objects.push(object); } @@ -1164,7 +1254,9 @@ let Box = class extends Hittable { constructor(p0, p1, mat) { super(); - this._sides = new HittableList(); + __publicField(this, "_boxMin"); + __publicField(this, "_boxMax"); + __publicField(this, "_sides", new HittableList()); this._boxMin = p0; this._boxMax = p1; this._sides.add(new XYRect(p0[0], p1[0], p0[1], p1[1], p1[2], mat)); @@ -1210,8 +1302,11 @@ let BVHNode = class extends Hittable { constructor() { super(); - this.bbox = new AABB(); - this.id = _id; + __publicField(this, "bbox", new AABB()); + __publicField(this, "left"); + __publicField(this, "right"); + __publicField(this, "id", _id); + __publicField(this, "level"); _id++; } static createFromHitableList(list, time0, time1) { @@ -1270,6 +1365,17 @@ const boxRight = this.right.boundingBox(time0, time1); this.bbox = AABB.surroundingBox(boxLeft, boxRight); } + // public hit(r: Ray, tMin: number, tMax: number, rec: HitRecord): boolean { + // //console.time(`BVH-hit #${this.id}`); + // if (!this.box.hit(r, tMin, tMax)) { + // return false; + // //console.timeEnd(`BVH-hit #${this.id}`); + // } + // const hitLeft = this.left.hit(r, tMin, tMax, rec); + // const hitRight = this.right.hit(r, tMin, hitLeft ? rec.t : tMax, rec); + // //console.timeEnd(`BVH-hit #${this.id}`); + // return hitLeft || hitRight; + // } hit(ray, tMin, tMax, rec) { if (!this.bbox.hit(ray, tMin, tMax)) { return false; @@ -1321,6 +1427,7 @@ let DielectricMaterial = class extends Material { constructor(refIdx) { super(); + __publicField(this, "_indexOfRefraction"); this._indexOfRefraction = refIdx; } get indexOfRefraction() { @@ -1372,6 +1479,7 @@ let SolidColor = class extends Texture { constructor(color) { super(); + __publicField(this, "_color"); this._color = color; } value(_u, _v, _p) { @@ -1398,6 +1506,9 @@ let CheckerTexture = class extends Texture { constructor(odd, even, scale2) { super(); + __publicField(this, "_odd"); + __publicField(this, "_even"); + __publicField(this, "_scale"); this._odd = new SolidColor(odd); this._even = new SolidColor(even); this._scale = scale2 || 5; @@ -1438,13 +1549,14 @@ __defProp$c(target, key, result); return result; }; - let ImageTexture = class extends Texture { + let ImageTexture = (_a = class extends Texture { constructor() { super(); - this._width = 0; - this._height = 0; - this._bytesPerScanLine = 0; - this._url = ""; + __publicField(this, "_width", 0); + __publicField(this, "_height", 0); + __publicField(this, "_bytesPerScanLine", 0); + __publicField(this, "_data"); + __publicField(this, "_url", ""); } async load(imageUrl) { this._url = imageUrl; @@ -1494,18 +1606,109 @@ get url() { return this._url; } - }; - ImageTexture.BytesPerPixel = 4; + }, __publicField(_a, "BytesPerPixel", 4), _a); ImageTexture = __decorateClass$c([ serializable ], ImageTexture); - const F2 = 0.5 * (Math.sqrt(3) - 1); - const G2 = (3 - Math.sqrt(3)) / 6; + var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; + function getDefaultExportFromCjs(x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; + } + var alea$1 = { exports: {} }; + (function(module, exports) { + (function(root, factory) { + { + module.exports = factory(); + } + })(commonjsGlobal, function() { + Alea.importState = function(i) { + var random = new Alea(); + random.importState(i); + return random; + }; + return Alea; + function Alea() { + return function(args) { + var s0 = 0; + var s1 = 0; + var s2 = 0; + var c = 1; + if (args.length == 0) { + args = [+/* @__PURE__ */ new Date()]; + } + var mash = Mash(); + s0 = mash(" "); + s1 = mash(" "); + s2 = mash(" "); + for (var i = 0; i < args.length; i++) { + s0 -= mash(args[i]); + if (s0 < 0) { + s0 += 1; + } + s1 -= mash(args[i]); + if (s1 < 0) { + s1 += 1; + } + s2 -= mash(args[i]); + if (s2 < 0) { + s2 += 1; + } + } + mash = null; + var random = function() { + var t = 2091639 * s0 + c * 23283064365386963e-26; + s0 = s1; + s1 = s2; + return s2 = t - (c = t | 0); + }; + random.next = random; + random.uint32 = function() { + return random() * 4294967296; + }; + random.fract53 = function() { + return random() + (random() * 2097152 | 0) * 11102230246251565e-32; + }; + random.version = "Alea 0.9"; + random.args = args; + random.exportState = function() { + return [s0, s1, s2, c]; + }; + random.importState = function(i2) { + s0 = +i2[0] || 0; + s1 = +i2[1] || 0; + s2 = +i2[2] || 0; + c = +i2[3] || 0; + }; + return random; + }(Array.prototype.slice.call(arguments)); + } + function Mash() { + var n = 4022871197; + var mash = function(data) { + data = data.toString(); + for (var i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + var h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 4294967296; + } + return (n >>> 0) * 23283064365386963e-26; + }; + mash.version = "Mash 0.9"; + return mash; + } + }); + })(alea$1); + var aleaExports = alea$1.exports; + var alea = /* @__PURE__ */ getDefaultExportFromCjs(aleaExports); const F3 = 1 / 3; const G3 = 1 / 6; - const F4 = (Math.sqrt(5) - 1) / 4; - const G4 = (5 - Math.sqrt(5)) / 20; - const grad3 = new Float32Array([ + const fastFloor = (x) => Math.floor(x) | 0; + const grad3 = /* @__PURE__ */ new Float64Array([ 1, 1, 0, @@ -1543,203 +1746,17 @@ -1, -1 ]); - const grad4 = new Float32Array([ - 0, - 1, - 1, - 1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - 1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - -1, - -1, - -1, - 1, - 0, - 1, - 1, - 1, - 0, - 1, - -1, - 1, - 0, - -1, - 1, - 1, - 0, - -1, - -1, - -1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 1, - 0, - 1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - 1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - 1, - -1, - 1, - 0, - -1, - -1, - -1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - 1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - -1, - -1, - -1, - 0 - ]); - class SimplexNoise { - constructor(randomOrSeed = Math.random) { - const random = typeof randomOrSeed == "function" ? randomOrSeed : alea(randomOrSeed); - this.p = buildPermutationTable(random); - this.perm = new Uint8Array(512); - this.permMod12 = new Uint8Array(512); - for (let i = 0; i < 512; i++) { - this.perm[i] = this.p[i & 255]; - this.permMod12[i] = this.perm[i] % 12; - } - } - noise2D(x, y) { - const permMod12 = this.permMod12; - const perm = this.perm; - let n0 = 0; - let n1 = 0; - let n2 = 0; - const s = (x + y) * F2; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const t = (i + j) * G2; - const X0 = i - t; - const Y0 = j - t; - const x0 = x - X0; - const y0 = y - Y0; - let i1, j1; - if (x0 > y0) { - i1 = 1; - j1 = 0; - } else { - i1 = 0; - j1 = 1; - } - const x1 = x0 - i1 + G2; - const y1 = y0 - j1 + G2; - const x2 = x0 - 1 + 2 * G2; - const y2 = y0 - 1 + 2 * G2; - const ii = i & 255; - const jj = j & 255; - let t0 = 0.5 - x0 * x0 - y0 * y0; - if (t0 >= 0) { - const gi0 = permMod12[ii + perm[jj]] * 3; - t0 *= t0; - n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0); - } - let t1 = 0.5 - x1 * x1 - y1 * y1; - if (t1 >= 0) { - const gi1 = permMod12[ii + i1 + perm[jj + j1]] * 3; - t1 *= t1; - n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1); - } - let t2 = 0.5 - x2 * x2 - y2 * y2; - if (t2 >= 0) { - const gi2 = permMod12[ii + 1 + perm[jj + 1]] * 3; - t2 *= t2; - n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2); - } - return 70 * (n0 + n1 + n2); - } - noise3D(x, y, z) { - const permMod12 = this.permMod12; - const perm = this.perm; + function createNoise3D(random = Math.random) { + const perm = buildPermutationTable(random); + const permGrad3x = new Float64Array(perm).map((v) => grad3[v % 12 * 3]); + const permGrad3y = new Float64Array(perm).map((v) => grad3[v % 12 * 3 + 1]); + const permGrad3z = new Float64Array(perm).map((v) => grad3[v % 12 * 3 + 2]); + return function noise3D2(x, y, z) { let n0, n1, n2, n3; const s = (x + y + z) * F3; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const k = Math.floor(z + s); + const i = fastFloor(x + s); + const j = fastFloor(y + s); + const k = fastFloor(z + s); const t = (i + j + k) * G3; const X0 = i - t; const Y0 = j - t; @@ -1812,215 +1829,54 @@ if (t0 < 0) n0 = 0; else { - const gi0 = permMod12[ii + perm[jj + perm[kk]]] * 3; + const gi0 = ii + perm[jj + perm[kk]]; t0 *= t0; - n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0 + grad3[gi0 + 2] * z0); + n0 = t0 * t0 * (permGrad3x[gi0] * x0 + permGrad3y[gi0] * y0 + permGrad3z[gi0] * z0); } let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1; if (t1 < 0) n1 = 0; else { - const gi1 = permMod12[ii + i1 + perm[jj + j1 + perm[kk + k1]]] * 3; + const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1]]; t1 *= t1; - n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1 + grad3[gi1 + 2] * z1); + n1 = t1 * t1 * (permGrad3x[gi1] * x1 + permGrad3y[gi1] * y1 + permGrad3z[gi1] * z1); } let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2; if (t2 < 0) n2 = 0; else { - const gi2 = permMod12[ii + i2 + perm[jj + j2 + perm[kk + k2]]] * 3; + const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2]]; t2 *= t2; - n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2 + grad3[gi2 + 2] * z2); + n2 = t2 * t2 * (permGrad3x[gi2] * x2 + permGrad3y[gi2] * y2 + permGrad3z[gi2] * z2); } let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3; if (t3 < 0) n3 = 0; else { - const gi3 = permMod12[ii + 1 + perm[jj + 1 + perm[kk + 1]]] * 3; + const gi3 = ii + 1 + perm[jj + 1 + perm[kk + 1]]; t3 *= t3; - n3 = t3 * t3 * (grad3[gi3] * x3 + grad3[gi3 + 1] * y3 + grad3[gi3 + 2] * z3); + n3 = t3 * t3 * (permGrad3x[gi3] * x3 + permGrad3y[gi3] * y3 + permGrad3z[gi3] * z3); } return 32 * (n0 + n1 + n2 + n3); - } - noise4D(x, y, z, w) { - const perm = this.perm; - let n0, n1, n2, n3, n4; - const s = (x + y + z + w) * F4; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const k = Math.floor(z + s); - const l = Math.floor(w + s); - const t = (i + j + k + l) * G4; - const X0 = i - t; - const Y0 = j - t; - const Z0 = k - t; - const W0 = l - t; - const x0 = x - X0; - const y0 = y - Y0; - const z0 = z - Z0; - const w0 = w - W0; - let rankx = 0; - let ranky = 0; - let rankz = 0; - let rankw = 0; - if (x0 > y0) - rankx++; - else - ranky++; - if (x0 > z0) - rankx++; - else - rankz++; - if (x0 > w0) - rankx++; - else - rankw++; - if (y0 > z0) - ranky++; - else - rankz++; - if (y0 > w0) - ranky++; - else - rankw++; - if (z0 > w0) - rankz++; - else - rankw++; - const i1 = rankx >= 3 ? 1 : 0; - const j1 = ranky >= 3 ? 1 : 0; - const k1 = rankz >= 3 ? 1 : 0; - const l1 = rankw >= 3 ? 1 : 0; - const i2 = rankx >= 2 ? 1 : 0; - const j2 = ranky >= 2 ? 1 : 0; - const k2 = rankz >= 2 ? 1 : 0; - const l2 = rankw >= 2 ? 1 : 0; - const i3 = rankx >= 1 ? 1 : 0; - const j3 = ranky >= 1 ? 1 : 0; - const k3 = rankz >= 1 ? 1 : 0; - const l3 = rankw >= 1 ? 1 : 0; - const x1 = x0 - i1 + G4; - const y1 = y0 - j1 + G4; - const z1 = z0 - k1 + G4; - const w1 = w0 - l1 + G4; - const x2 = x0 - i2 + 2 * G4; - const y2 = y0 - j2 + 2 * G4; - const z2 = z0 - k2 + 2 * G4; - const w2 = w0 - l2 + 2 * G4; - const x3 = x0 - i3 + 3 * G4; - const y3 = y0 - j3 + 3 * G4; - const z3 = z0 - k3 + 3 * G4; - const w3 = w0 - l3 + 3 * G4; - const x4 = x0 - 1 + 4 * G4; - const y4 = y0 - 1 + 4 * G4; - const z4 = z0 - 1 + 4 * G4; - const w4 = w0 - 1 + 4 * G4; - const ii = i & 255; - const jj = j & 255; - const kk = k & 255; - const ll = l & 255; - let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0; - if (t0 < 0) - n0 = 0; - else { - const gi0 = perm[ii + perm[jj + perm[kk + perm[ll]]]] % 32 * 4; - t0 *= t0; - n0 = t0 * t0 * (grad4[gi0] * x0 + grad4[gi0 + 1] * y0 + grad4[gi0 + 2] * z0 + grad4[gi0 + 3] * w0); - } - let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1; - if (t1 < 0) - n1 = 0; - else { - const gi1 = perm[ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]]] % 32 * 4; - t1 *= t1; - n1 = t1 * t1 * (grad4[gi1] * x1 + grad4[gi1 + 1] * y1 + grad4[gi1 + 2] * z1 + grad4[gi1 + 3] * w1); - } - let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2; - if (t2 < 0) - n2 = 0; - else { - const gi2 = perm[ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]]] % 32 * 4; - t2 *= t2; - n2 = t2 * t2 * (grad4[gi2] * x2 + grad4[gi2 + 1] * y2 + grad4[gi2 + 2] * z2 + grad4[gi2 + 3] * w2); - } - let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3; - if (t3 < 0) - n3 = 0; - else { - const gi3 = perm[ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]]] % 32 * 4; - t3 *= t3; - n3 = t3 * t3 * (grad4[gi3] * x3 + grad4[gi3 + 1] * y3 + grad4[gi3 + 2] * z3 + grad4[gi3 + 3] * w3); - } - let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4; - if (t4 < 0) - n4 = 0; - else { - const gi4 = perm[ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]]] % 32 * 4; - t4 *= t4; - n4 = t4 * t4 * (grad4[gi4] * x4 + grad4[gi4 + 1] * y4 + grad4[gi4 + 2] * z4 + grad4[gi4 + 3] * w4); - } - return 27 * (n0 + n1 + n2 + n3 + n4); - } + }; } - var SimplexNoise$1 = SimplexNoise; function buildPermutationTable(random) { - const p = new Uint8Array(256); - for (let i = 0; i < 256; i++) { + const tableSize = 512; + const p = new Uint8Array(tableSize); + for (let i = 0; i < tableSize / 2; i++) { p[i] = i; } - for (let i = 0; i < 255; i++) { + for (let i = 0; i < tableSize / 2 - 1; i++) { const r = i + ~~(random() * (256 - i)); const aux = p[i]; p[i] = p[r]; p[r] = aux; } + for (let i = 256; i < tableSize; i++) { + p[i] = p[i - 256]; + } return p; } - function alea(seed) { - let s0 = 0; - let s1 = 0; - let s2 = 0; - let c = 1; - const mash = masher(); - s0 = mash(" "); - s1 = mash(" "); - s2 = mash(" "); - s0 -= mash(seed); - if (s0 < 0) { - s0 += 1; - } - s1 -= mash(seed); - if (s1 < 0) { - s1 += 1; - } - s2 -= mash(seed); - if (s2 < 0) { - s2 += 1; - } - return function() { - const t = 2091639 * s0 + c * 23283064365386963e-26; - s0 = s1; - s1 = s2; - return s2 = t - (c = t | 0); - }; - } - function masher() { - let n = 4022871197; - return function(data) { - data = data.toString(); - for (let i = 0; i < data.length; i++) { - n += data.charCodeAt(i); - let h = 0.02519603282416938 * n; - n = h >>> 0; - h -= n; - h *= n; - n = h >>> 0; - h -= n; - n += h * 4294967296; - } - return (n >>> 0) * 23283064365386963e-26; - }; - } var __defProp$b = Object.defineProperty; var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor; var __decorateClass$b = (decorators, target, key, kind) => { @@ -2032,8 +1888,12 @@ __defProp$b(target, key, result); return result; }; - let Perlin = class { + let Perlin = (_b = class { constructor() { + __publicField(this, "_ranVecs"); + __publicField(this, "_permX"); + __publicField(this, "_permY"); + __publicField(this, "_permZ"); this._ranVecs = new Array(Perlin._pointCount); for (let i = 0; i < Perlin._pointCount; i++) { this._ranVecs[i] = normalize$2(create$2(), randomRange(-1, 1)); @@ -2090,8 +1950,7 @@ array[target] = tmp; } } - }; - Perlin._pointCount = 256; + }, __publicField(_b, "_pointCount", 256), _b); Perlin = __decorateClass$b([ serializable ], Perlin); @@ -2121,32 +1980,36 @@ __defProp$a(target, key, result); return result; }; - const RANDOMSEED = "just a random seed string"; + const prng = alea("just a random seed string"); + const noise3D = createNoise3D(prng); let NoiseTexture = class extends Texture { + // private _simplexNoise: SimplexNoise; constructor(scale2) { super(); - this._noise = new Perlin(); + __publicField(this, "_noise", new Perlin()); + __publicField(this, "_scale"); this._scale = scale2; } get scale() { return this._scale; } turb(p, depth = 7) { - if (!this._simplexNoise) { - this._simplexNoise = new SimplexNoise$1(RANDOMSEED); - } let accum = 0; const tempP = p; let weight = 1; for (let i = 0; i < depth; i++) { - accum += weight * this._simplexNoise.noise3D(p[0], p[1], p[2]); + accum += weight * noise3D(p[0], p[1], p[2]); weight *= 0.5; scale(tempP, tempP, 2); } return Math.abs(accum); } value(u, v, p) { - return scale(create$2(), scale(create$2(), fromValues(1, 1, 1), 0.5), 1 + Math.sin(this._scale * p[2] + 10 * this.turb(p))); + return scale( + create$2(), + scale(create$2(), fromValues(1, 1, 1), 0.5), + 1 + Math.sin(this._scale * p[2] + 10 * this.turb(p)) + ); } }; NoiseTexture = __decorateClass$a([ @@ -2166,6 +2029,7 @@ let DiffuseLight = class extends Material { constructor(color) { super(); + __publicField(this, "_emit"); if (color) { this._emit = new SolidColor(color); } @@ -2197,6 +2061,7 @@ let IsoTropic = class extends Material { constructor(albedo) { super(); + __publicField(this, "_albedo"); if (albedo instanceof Texture) { this._albedo = albedo; } else { @@ -2226,6 +2091,7 @@ let LambertianMaterial = class extends Material { constructor(color) { super(); + __publicField(this, "_albedo"); if (color) { this._albedo = new SolidColor(color); } @@ -2261,6 +2127,8 @@ let MetalMaterial = class extends Material { constructor(color, roughness) { super(); + __publicField(this, "_baseColor"); + __publicField(this, "_roughness"); this._baseColor = color; this._roughness = roughness; } @@ -2272,7 +2140,11 @@ } scatter(r_in, rec, attenuation, scattered) { const refl = reflect(normalize$2(create$2(), r_in.direction), rec.normal); - new Ray(rec.p, add(create$2(), refl, scale(create$2(), randomInUnitSphere(), this._roughness)), r_in.time).copyTo(scattered); + new Ray( + rec.p, + add(create$2(), refl, scale(create$2(), randomInUnitSphere(), this._roughness)), + r_in.time + ).copyTo(scattered); copy(attenuation, this._baseColor); return dot(scattered.direction, rec.normal) > 0; } @@ -2294,7 +2166,7 @@ let NormalMaterial = class extends Material { constructor() { super(...arguments); - this.corrected = false; + __publicField(this, "corrected", false); } scatter(ray, rec, attenuation, scattered) { const scatter_direction = add(create$2(), rec.normal, randomUnitVector()); @@ -2349,6 +2221,9 @@ let ConstantMedium = class extends Hittable { constructor(boundary, density, material) { super(); + __publicField(this, "_boundary"); + __publicField(this, "_phaseFunction"); + __publicField(this, "_negInvDensity"); this._boundary = boundary; this._negInvDensity = -1 / density; this._phaseFunction = new IsoTropic(material); @@ -2408,6 +2283,11 @@ let MovingSphere = class extends Hittable { constructor(center0, center1, t0, t1, radius, mat) { super(); + __publicField(this, "_center0"); + __publicField(this, "_center1"); + __publicField(this, "_time0"); + __publicField(this, "_time1"); + __publicField(this, "_radius"); this._center0 = center0; this._center1 = center1; this._time0 = t0; @@ -2482,8 +2362,14 @@ const transformedCenterT0 = transformMat4(create$2(), this.center(t0), this.transform.objectToWorld); const transformedCenterT1 = transformMat4(create$2(), this.center(t1), this.transform.objectToWorld); const r = fromValues(this._radius, this._radius, this._radius); - const box0 = new AABB(sub(create$2(), transformedCenterT0, r), add(create$2(), transformedCenterT0, r)); - const box1 = new AABB(sub(create$2(), transformedCenterT1, r), add(create$2(), transformedCenterT1, r)); + const box0 = new AABB( + sub(create$2(), transformedCenterT0, r), + add(create$2(), transformedCenterT0, r) + ); + const box1 = new AABB( + sub(create$2(), transformedCenterT1, r), + add(create$2(), transformedCenterT1, r) + ); return AABB.surroundingBox(box0, box1); } }; @@ -2504,6 +2390,8 @@ let Sphere = class extends Hittable { constructor(center, radius, mat) { super(); + __publicField(this, "_center"); + __publicField(this, "_radius"); this._center = center; this._radius = radius; this.material = mat; @@ -2565,7 +2453,7 @@ Sphere = __decorateClass$1([ serializable ], Sphere); - var __defProp = Object.defineProperty; + var __defProp2 = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; @@ -2573,7 +2461,7 @@ if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) - __defProp(target, key, result); + __defProp2(target, key, result); return result; }; function avgVector3(vectors) { @@ -2589,8 +2477,19 @@ let Triangle = class extends Hittable { constructor(v0, v1, v2, n0, n1, n2, uv0, uv1, uv2) { super(); - this.transform = new Transform(); - this.doubleSided = false; + __publicField(this, "v0"); + __publicField(this, "n0"); + __publicField(this, "uv0"); + __publicField(this, "v1"); + __publicField(this, "n1"); + __publicField(this, "uv1"); + __publicField(this, "v2"); + __publicField(this, "n2"); + __publicField(this, "uv2"); + __publicField(this, "surfaceNormal"); + __publicField(this, "transform", new Transform()); + __publicField(this, "material"); + __publicField(this, "doubleSided", false); this.v0 = v0; this.v1 = v1; this.v2 = v2; @@ -2611,9 +2510,9 @@ } this.surfaceNormal = create$2(); normalize$2(this.surfaceNormal, avgVector3([this.n0, this.n1, this.n2])); - this.uv0 = uv0 != null ? uv0 : [0, 0]; - this.uv1 = uv1 != null ? uv1 : [0, 0]; - this.uv2 = uv2 != null ? uv2 : [0, 0]; + this.uv0 = uv0 ?? [0, 0]; + this.uv1 = uv1 ?? [0, 0]; + this.uv2 = uv2 ?? [0, 0]; } applyTransform() { transformMat4(this.v0, this.v0, this.transform.objectToWorld); @@ -2626,6 +2525,7 @@ normalize$2(this.n1, this.n1); normalize$2(this.n2, this.n2); } + /* from https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf */ hit(ray, tMin, tMax, rec) { const transformedRay = this.transform.transformRay(ray); const edge1 = subtract(create$2(), this.v1, this.v0); @@ -2709,22 +2609,13 @@ Triangle = __decorateClass([ serializable ], Triangle); - var ControllerCommands; - (function(ControllerCommands2) { - ControllerCommands2[ControllerCommands2["START"] = 0] = "START"; - ControllerCommands2[ControllerCommands2["STOP"] = 1] = "STOP"; - ControllerCommands2[ControllerCommands2["READY"] = 2] = "READY"; - ControllerCommands2[ControllerCommands2["UPDATE"] = 3] = "UPDATE"; - ControllerCommands2[ControllerCommands2["WORKERDONE"] = 4] = "WORKERDONE"; - ControllerCommands2[ControllerCommands2["END"] = 5] = "END"; - })(ControllerCommands || (ControllerCommands = {})); - var ComputeCommands; - (function(ComputeCommands2) { + var ComputeCommands = /* @__PURE__ */ ((ComputeCommands2) => { ComputeCommands2[ComputeCommands2["INIT"] = 0] = "INIT"; ComputeCommands2[ComputeCommands2["READY"] = 1] = "READY"; ComputeCommands2[ComputeCommands2["START"] = 2] = "START"; ComputeCommands2[ComputeCommands2["END"] = 3] = "END"; - })(ComputeCommands || (ComputeCommands = {})); + return ComputeCommands2; + })(ComputeCommands || {}); const controllerCtx = self; let workerId; let camera; diff --git a/assets/controller.worker.1171e6ae.js b/assets/controller.worker-62292851.js similarity index 85% rename from assets/controller.worker.1171e6ae.js rename to assets/controller.worker-62292851.js index cb13235..50dd3be 100644 --- a/assets/controller.worker.1171e6ae.js +++ b/assets/controller.worker-62292851.js @@ -1,6 +1,13 @@ +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; (function() { + var _a, _b; "use strict"; - const _metaMap = new Map(); + const _metaMap = /* @__PURE__ */ new Map(); function addClassName(type) { _metaMap.set(type.name, type); } @@ -581,14 +588,21 @@ return result; }; let AABB = class { + // private _size: vec3; + // private _center: vec3; constructor(min, max) { - this._min = min != null ? min : [0, 0, 0]; - this._max = max != null ? max : [0, 0, 0]; + __publicField(this, "_min"); + __publicField(this, "_max"); + this._min = min ?? [0, 0, 0]; + this._max = max ?? [0, 0, 0]; } copyTo(dest) { dest._min = copy(create$2(), this._min); dest._max = copy(create$2(), this._max); } + // public logBox(): string { + // return `center: ${this._center.toString()} | size: ${this._size.toString()}`; + // } get min() { return this._min; } @@ -609,6 +623,24 @@ } return true; } + // public hit(ray: Ray, tMin: number, tMax: number): boolean { + // for (let a = 0; a < 3; a++) { + // const invD = 1.0 / ray.direction[a]; + // let t0 = (this._min[a] - ray.origin[a]) * invD; + // let t1 = (this._max[a] - ray.origin[a]) * invD; + // if (invD < 0.0) { + // const tmp = t0; + // t0 = t1; + // t1 = tmp; + // } + // tMin = t0 > tMin ? t0 : tMin; + // tMax = t1 < tMax ? t1 : tMax; + // if (tMax <= tMin) { + // return false; + // } + // } + // return true; + // } static surroundingBox(box0, box1) { const small = [ Math.min(box0.min[0], box1.min[0]), @@ -628,12 +660,13 @@ ], AABB); class HitRecord { constructor() { - this.p = create$2(); - this.normal = create$2(); - this.t = 0; - this.u = 0; - this.v = 0; - this.frontFace = true; + __publicField(this, "p", create$2()); + __publicField(this, "normal", create$2()); + __publicField(this, "t", 0); + __publicField(this, "u", 0); + __publicField(this, "v", 0); + __publicField(this, "frontFace", true); + __publicField(this, "mat"); } setFaceNormal(r, outward_normal) { this.frontFace = dot(r.direction, outward_normal) < 0; @@ -651,6 +684,9 @@ } class Ray { constructor(origin, direction, time = 0) { + __publicField(this, "_orig"); + __publicField(this, "_dir"); + __publicField(this, "_time"); if (origin) { this._orig = origin; } @@ -696,14 +732,14 @@ }; let Transform = class { constructor() { - this._objectToWorldMatrix = create$3(); - this._worldToObjectMatrix = create$3(); - this._rotationMatrix = create$3(); - this._inverseRotationMatrix = create$3(); - this._normalMatrix = create$3(); - this._position = create$2(); - this._rotation = create(); - this._isTransformed = false; + __publicField(this, "_objectToWorldMatrix", create$3()); + __publicField(this, "_worldToObjectMatrix", create$3()); + __publicField(this, "_rotationMatrix", create$3()); + __publicField(this, "_inverseRotationMatrix", create$3()); + __publicField(this, "_normalMatrix", create$3()); + __publicField(this, "_position", create$2()); + __publicField(this, "_rotation", create()); + __publicField(this, "_isTransformed", false); } get objectToWorld() { return this._objectToWorldMatrix; @@ -722,7 +758,12 @@ transformMat4(movedOrigin, movedOrigin, this._worldToObjectMatrix); const movedDirection = fromValues(ray.direction[0], ray.direction[1], ray.direction[2]); transformMat4(movedDirection, movedDirection, this._inverseRotationMatrix); - return new Ray([movedOrigin[0], movedOrigin[1], movedOrigin[2]], [movedDirection[0], movedDirection[1], movedDirection[2]], ray.time); + return new Ray( + [movedOrigin[0], movedOrigin[1], movedOrigin[2]], + [movedDirection[0], movedDirection[1], movedDirection[2]], + // ray.direction, + ray.time + ); } transformRecord(ray, rec) { if (!this._isTransformed) { @@ -749,6 +790,12 @@ tempQuat = fromEuler(tempQuat, angleX, angelY, angleZ); this.rotateQuat(tempQuat); } + // public transformVec3(v: vec3): vec3 { + // if(!this._isTransformed) { + // return v; + // } + // return vec3.transformMat4(vec3.create(), v, this._objectToWorldMatrix); + // } _updateMatrix() { this._isTransformed = true; const translationMatrix = create$3(); @@ -766,8 +813,9 @@ ], Transform); class Hittable { constructor() { - this.name = ""; - this.transform = new Transform(); + __publicField(this, "material"); + __publicField(this, "name", ""); + __publicField(this, "transform", new Transform()); } } var __defProp$j = Object.defineProperty; @@ -784,6 +832,12 @@ let XYRect = class extends Hittable { constructor(x0, x1, y0, y1, k, material) { super(); + __publicField(this, "x0"); + __publicField(this, "x1"); + __publicField(this, "y0"); + __publicField(this, "y1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.x0 = x0; this.x1 = x1; this.y0 = y0; @@ -823,6 +877,12 @@ let XZRect = class extends Hittable { constructor(x0, x1, z0, z1, k, material) { super(); + __publicField(this, "x0"); + __publicField(this, "x1"); + __publicField(this, "z0"); + __publicField(this, "z1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.x0 = x0; this.x1 = x1; this.z0 = z0; @@ -862,6 +922,12 @@ let YZRect = class extends Hittable { constructor(y0, y1, z0, z1, k, material) { super(); + __publicField(this, "y0"); + __publicField(this, "y1"); + __publicField(this, "z0"); + __publicField(this, "z1"); + __publicField(this, "k"); + __publicField(this, "bbox"); this.y0 = y0; this.y1 = y1; this.z0 = z0; @@ -912,7 +978,7 @@ let HittableList = class extends Hittable { constructor(object) { super(); - this._objects = []; + __publicField(this, "_objects", []); if (object) { this.add(object); } @@ -920,6 +986,9 @@ get objects() { return this._objects; } + // public clear(): void { + // this._objects.length = 0; + // } add(object) { this._objects.push(object); } @@ -963,7 +1032,9 @@ let Box = class extends Hittable { constructor(p0, p1, mat) { super(); - this._sides = new HittableList(); + __publicField(this, "_boxMin"); + __publicField(this, "_boxMax"); + __publicField(this, "_sides", new HittableList()); this._boxMin = p0; this._boxMax = p1; this._sides.add(new XYRect(p0[0], p1[0], p0[1], p1[1], p1[2], mat)); @@ -1065,8 +1136,11 @@ let BVHNode = class extends Hittable { constructor() { super(); - this.bbox = new AABB(); - this.id = _id; + __publicField(this, "bbox", new AABB()); + __publicField(this, "left"); + __publicField(this, "right"); + __publicField(this, "id", _id); + __publicField(this, "level"); _id++; } static createFromHitableList(list, time0, time1) { @@ -1125,6 +1199,17 @@ const boxRight = this.right.boundingBox(time0, time1); this.bbox = AABB.surroundingBox(boxLeft, boxRight); } + // public hit(r: Ray, tMin: number, tMax: number, rec: HitRecord): boolean { + // //console.time(`BVH-hit #${this.id}`); + // if (!this.box.hit(r, tMin, tMax)) { + // return false; + // //console.timeEnd(`BVH-hit #${this.id}`); + // } + // const hitLeft = this.left.hit(r, tMin, tMax, rec); + // const hitRight = this.right.hit(r, tMin, hitLeft ? rec.t : tMax, rec); + // //console.timeEnd(`BVH-hit #${this.id}`); + // return hitLeft || hitRight; + // } hit(ray, tMin, tMax, rec) { if (!this.bbox.hit(ray, tMin, tMax)) { return false; @@ -1176,6 +1261,7 @@ let DielectricMaterial = class extends Material { constructor(refIdx) { super(); + __publicField(this, "_indexOfRefraction"); this._indexOfRefraction = refIdx; } get indexOfRefraction() { @@ -1227,6 +1313,7 @@ let SolidColor = class extends Texture { constructor(color) { super(); + __publicField(this, "_color"); this._color = color; } value(_u, _v, _p) { @@ -1253,6 +1340,9 @@ let CheckerTexture = class extends Texture { constructor(odd, even, scale2) { super(); + __publicField(this, "_odd"); + __publicField(this, "_even"); + __publicField(this, "_scale"); this._odd = new SolidColor(odd); this._even = new SolidColor(even); this._scale = scale2 || 5; @@ -1293,13 +1383,14 @@ __defProp$c(target, key, result); return result; }; - let ImageTexture = class extends Texture { + let ImageTexture = (_a = class extends Texture { constructor() { super(); - this._width = 0; - this._height = 0; - this._bytesPerScanLine = 0; - this._url = ""; + __publicField(this, "_width", 0); + __publicField(this, "_height", 0); + __publicField(this, "_bytesPerScanLine", 0); + __publicField(this, "_data"); + __publicField(this, "_url", ""); } async load(imageUrl) { this._url = imageUrl; @@ -1349,18 +1440,109 @@ get url() { return this._url; } - }; - ImageTexture.BytesPerPixel = 4; + }, __publicField(_a, "BytesPerPixel", 4), _a); ImageTexture = __decorateClass$c([ serializable ], ImageTexture); - const F2 = 0.5 * (Math.sqrt(3) - 1); - const G2 = (3 - Math.sqrt(3)) / 6; + var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; + function getDefaultExportFromCjs(x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; + } + var alea$1 = { exports: {} }; + (function(module, exports) { + (function(root, factory) { + { + module.exports = factory(); + } + })(commonjsGlobal, function() { + Alea.importState = function(i) { + var random = new Alea(); + random.importState(i); + return random; + }; + return Alea; + function Alea() { + return function(args) { + var s0 = 0; + var s1 = 0; + var s2 = 0; + var c = 1; + if (args.length == 0) { + args = [+/* @__PURE__ */ new Date()]; + } + var mash = Mash(); + s0 = mash(" "); + s1 = mash(" "); + s2 = mash(" "); + for (var i = 0; i < args.length; i++) { + s0 -= mash(args[i]); + if (s0 < 0) { + s0 += 1; + } + s1 -= mash(args[i]); + if (s1 < 0) { + s1 += 1; + } + s2 -= mash(args[i]); + if (s2 < 0) { + s2 += 1; + } + } + mash = null; + var random = function() { + var t = 2091639 * s0 + c * 23283064365386963e-26; + s0 = s1; + s1 = s2; + return s2 = t - (c = t | 0); + }; + random.next = random; + random.uint32 = function() { + return random() * 4294967296; + }; + random.fract53 = function() { + return random() + (random() * 2097152 | 0) * 11102230246251565e-32; + }; + random.version = "Alea 0.9"; + random.args = args; + random.exportState = function() { + return [s0, s1, s2, c]; + }; + random.importState = function(i2) { + s0 = +i2[0] || 0; + s1 = +i2[1] || 0; + s2 = +i2[2] || 0; + c = +i2[3] || 0; + }; + return random; + }(Array.prototype.slice.call(arguments)); + } + function Mash() { + var n = 4022871197; + var mash = function(data) { + data = data.toString(); + for (var i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + var h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 4294967296; + } + return (n >>> 0) * 23283064365386963e-26; + }; + mash.version = "Mash 0.9"; + return mash; + } + }); + })(alea$1); + var aleaExports = alea$1.exports; + var alea = /* @__PURE__ */ getDefaultExportFromCjs(aleaExports); const F3 = 1 / 3; const G3 = 1 / 6; - const F4 = (Math.sqrt(5) - 1) / 4; - const G4 = (5 - Math.sqrt(5)) / 20; - const grad3 = new Float32Array([ + const fastFloor = (x) => Math.floor(x) | 0; + const grad3 = /* @__PURE__ */ new Float64Array([ 1, 1, 0, @@ -1398,203 +1580,17 @@ -1, -1 ]); - const grad4 = new Float32Array([ - 0, - 1, - 1, - 1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - 1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - -1, - -1, - -1, - 1, - 0, - 1, - 1, - 1, - 0, - 1, - -1, - 1, - 0, - -1, - 1, - 1, - 0, - -1, - -1, - -1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 1, - 0, - 1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - 1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - 1, - -1, - 1, - 0, - -1, - -1, - -1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 1, - 0, - 1, - 1, - -1, - 0, - 1, - -1, - 1, - 0, - 1, - -1, - -1, - 0, - -1, - 1, - 1, - 0, - -1, - 1, - -1, - 0, - -1, - -1, - 1, - 0, - -1, - -1, - -1, - 0 - ]); - class SimplexNoise { - constructor(randomOrSeed = Math.random) { - const random = typeof randomOrSeed == "function" ? randomOrSeed : alea(randomOrSeed); - this.p = buildPermutationTable(random); - this.perm = new Uint8Array(512); - this.permMod12 = new Uint8Array(512); - for (let i = 0; i < 512; i++) { - this.perm[i] = this.p[i & 255]; - this.permMod12[i] = this.perm[i] % 12; - } - } - noise2D(x, y) { - const permMod12 = this.permMod12; - const perm = this.perm; - let n0 = 0; - let n1 = 0; - let n2 = 0; - const s = (x + y) * F2; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const t = (i + j) * G2; - const X0 = i - t; - const Y0 = j - t; - const x0 = x - X0; - const y0 = y - Y0; - let i1, j1; - if (x0 > y0) { - i1 = 1; - j1 = 0; - } else { - i1 = 0; - j1 = 1; - } - const x1 = x0 - i1 + G2; - const y1 = y0 - j1 + G2; - const x2 = x0 - 1 + 2 * G2; - const y2 = y0 - 1 + 2 * G2; - const ii = i & 255; - const jj = j & 255; - let t0 = 0.5 - x0 * x0 - y0 * y0; - if (t0 >= 0) { - const gi0 = permMod12[ii + perm[jj]] * 3; - t0 *= t0; - n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0); - } - let t1 = 0.5 - x1 * x1 - y1 * y1; - if (t1 >= 0) { - const gi1 = permMod12[ii + i1 + perm[jj + j1]] * 3; - t1 *= t1; - n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1); - } - let t2 = 0.5 - x2 * x2 - y2 * y2; - if (t2 >= 0) { - const gi2 = permMod12[ii + 1 + perm[jj + 1]] * 3; - t2 *= t2; - n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2); - } - return 70 * (n0 + n1 + n2); - } - noise3D(x, y, z) { - const permMod12 = this.permMod12; - const perm = this.perm; + function createNoise3D(random = Math.random) { + const perm = buildPermutationTable(random); + const permGrad3x = new Float64Array(perm).map((v) => grad3[v % 12 * 3]); + const permGrad3y = new Float64Array(perm).map((v) => grad3[v % 12 * 3 + 1]); + const permGrad3z = new Float64Array(perm).map((v) => grad3[v % 12 * 3 + 2]); + return function noise3D2(x, y, z) { let n0, n1, n2, n3; const s = (x + y + z) * F3; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const k = Math.floor(z + s); + const i = fastFloor(x + s); + const j = fastFloor(y + s); + const k = fastFloor(z + s); const t = (i + j + k) * G3; const X0 = i - t; const Y0 = j - t; @@ -1667,215 +1663,54 @@ if (t0 < 0) n0 = 0; else { - const gi0 = permMod12[ii + perm[jj + perm[kk]]] * 3; + const gi0 = ii + perm[jj + perm[kk]]; t0 *= t0; - n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0 + grad3[gi0 + 2] * z0); + n0 = t0 * t0 * (permGrad3x[gi0] * x0 + permGrad3y[gi0] * y0 + permGrad3z[gi0] * z0); } let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1; if (t1 < 0) n1 = 0; else { - const gi1 = permMod12[ii + i1 + perm[jj + j1 + perm[kk + k1]]] * 3; + const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1]]; t1 *= t1; - n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1 + grad3[gi1 + 2] * z1); + n1 = t1 * t1 * (permGrad3x[gi1] * x1 + permGrad3y[gi1] * y1 + permGrad3z[gi1] * z1); } let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2; if (t2 < 0) n2 = 0; else { - const gi2 = permMod12[ii + i2 + perm[jj + j2 + perm[kk + k2]]] * 3; + const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2]]; t2 *= t2; - n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2 + grad3[gi2 + 2] * z2); + n2 = t2 * t2 * (permGrad3x[gi2] * x2 + permGrad3y[gi2] * y2 + permGrad3z[gi2] * z2); } let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3; if (t3 < 0) n3 = 0; else { - const gi3 = permMod12[ii + 1 + perm[jj + 1 + perm[kk + 1]]] * 3; + const gi3 = ii + 1 + perm[jj + 1 + perm[kk + 1]]; t3 *= t3; - n3 = t3 * t3 * (grad3[gi3] * x3 + grad3[gi3 + 1] * y3 + grad3[gi3 + 2] * z3); + n3 = t3 * t3 * (permGrad3x[gi3] * x3 + permGrad3y[gi3] * y3 + permGrad3z[gi3] * z3); } return 32 * (n0 + n1 + n2 + n3); - } - noise4D(x, y, z, w) { - const perm = this.perm; - let n0, n1, n2, n3, n4; - const s = (x + y + z + w) * F4; - const i = Math.floor(x + s); - const j = Math.floor(y + s); - const k = Math.floor(z + s); - const l = Math.floor(w + s); - const t = (i + j + k + l) * G4; - const X0 = i - t; - const Y0 = j - t; - const Z0 = k - t; - const W0 = l - t; - const x0 = x - X0; - const y0 = y - Y0; - const z0 = z - Z0; - const w0 = w - W0; - let rankx = 0; - let ranky = 0; - let rankz = 0; - let rankw = 0; - if (x0 > y0) - rankx++; - else - ranky++; - if (x0 > z0) - rankx++; - else - rankz++; - if (x0 > w0) - rankx++; - else - rankw++; - if (y0 > z0) - ranky++; - else - rankz++; - if (y0 > w0) - ranky++; - else - rankw++; - if (z0 > w0) - rankz++; - else - rankw++; - const i1 = rankx >= 3 ? 1 : 0; - const j1 = ranky >= 3 ? 1 : 0; - const k1 = rankz >= 3 ? 1 : 0; - const l1 = rankw >= 3 ? 1 : 0; - const i2 = rankx >= 2 ? 1 : 0; - const j2 = ranky >= 2 ? 1 : 0; - const k2 = rankz >= 2 ? 1 : 0; - const l2 = rankw >= 2 ? 1 : 0; - const i3 = rankx >= 1 ? 1 : 0; - const j3 = ranky >= 1 ? 1 : 0; - const k3 = rankz >= 1 ? 1 : 0; - const l3 = rankw >= 1 ? 1 : 0; - const x1 = x0 - i1 + G4; - const y1 = y0 - j1 + G4; - const z1 = z0 - k1 + G4; - const w1 = w0 - l1 + G4; - const x2 = x0 - i2 + 2 * G4; - const y2 = y0 - j2 + 2 * G4; - const z2 = z0 - k2 + 2 * G4; - const w2 = w0 - l2 + 2 * G4; - const x3 = x0 - i3 + 3 * G4; - const y3 = y0 - j3 + 3 * G4; - const z3 = z0 - k3 + 3 * G4; - const w3 = w0 - l3 + 3 * G4; - const x4 = x0 - 1 + 4 * G4; - const y4 = y0 - 1 + 4 * G4; - const z4 = z0 - 1 + 4 * G4; - const w4 = w0 - 1 + 4 * G4; - const ii = i & 255; - const jj = j & 255; - const kk = k & 255; - const ll = l & 255; - let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0; - if (t0 < 0) - n0 = 0; - else { - const gi0 = perm[ii + perm[jj + perm[kk + perm[ll]]]] % 32 * 4; - t0 *= t0; - n0 = t0 * t0 * (grad4[gi0] * x0 + grad4[gi0 + 1] * y0 + grad4[gi0 + 2] * z0 + grad4[gi0 + 3] * w0); - } - let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1; - if (t1 < 0) - n1 = 0; - else { - const gi1 = perm[ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]]] % 32 * 4; - t1 *= t1; - n1 = t1 * t1 * (grad4[gi1] * x1 + grad4[gi1 + 1] * y1 + grad4[gi1 + 2] * z1 + grad4[gi1 + 3] * w1); - } - let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2; - if (t2 < 0) - n2 = 0; - else { - const gi2 = perm[ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]]] % 32 * 4; - t2 *= t2; - n2 = t2 * t2 * (grad4[gi2] * x2 + grad4[gi2 + 1] * y2 + grad4[gi2 + 2] * z2 + grad4[gi2 + 3] * w2); - } - let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3; - if (t3 < 0) - n3 = 0; - else { - const gi3 = perm[ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]]] % 32 * 4; - t3 *= t3; - n3 = t3 * t3 * (grad4[gi3] * x3 + grad4[gi3 + 1] * y3 + grad4[gi3 + 2] * z3 + grad4[gi3 + 3] * w3); - } - let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4; - if (t4 < 0) - n4 = 0; - else { - const gi4 = perm[ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]]] % 32 * 4; - t4 *= t4; - n4 = t4 * t4 * (grad4[gi4] * x4 + grad4[gi4 + 1] * y4 + grad4[gi4 + 2] * z4 + grad4[gi4 + 3] * w4); - } - return 27 * (n0 + n1 + n2 + n3 + n4); - } + }; } - var SimplexNoise$1 = SimplexNoise; function buildPermutationTable(random) { - const p = new Uint8Array(256); - for (let i = 0; i < 256; i++) { + const tableSize = 512; + const p = new Uint8Array(tableSize); + for (let i = 0; i < tableSize / 2; i++) { p[i] = i; } - for (let i = 0; i < 255; i++) { + for (let i = 0; i < tableSize / 2 - 1; i++) { const r = i + ~~(random() * (256 - i)); const aux = p[i]; p[i] = p[r]; p[r] = aux; } + for (let i = 256; i < tableSize; i++) { + p[i] = p[i - 256]; + } return p; } - function alea(seed) { - let s0 = 0; - let s1 = 0; - let s2 = 0; - let c = 1; - const mash = masher(); - s0 = mash(" "); - s1 = mash(" "); - s2 = mash(" "); - s0 -= mash(seed); - if (s0 < 0) { - s0 += 1; - } - s1 -= mash(seed); - if (s1 < 0) { - s1 += 1; - } - s2 -= mash(seed); - if (s2 < 0) { - s2 += 1; - } - return function() { - const t = 2091639 * s0 + c * 23283064365386963e-26; - s0 = s1; - s1 = s2; - return s2 = t - (c = t | 0); - }; - } - function masher() { - let n = 4022871197; - return function(data) { - data = data.toString(); - for (let i = 0; i < data.length; i++) { - n += data.charCodeAt(i); - let h = 0.02519603282416938 * n; - n = h >>> 0; - h -= n; - h *= n; - n = h >>> 0; - h -= n; - n += h * 4294967296; - } - return (n >>> 0) * 23283064365386963e-26; - }; - } var __defProp$b = Object.defineProperty; var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor; var __decorateClass$b = (decorators, target, key, kind) => { @@ -1887,8 +1722,12 @@ __defProp$b(target, key, result); return result; }; - let Perlin = class { + let Perlin = (_b = class { constructor() { + __publicField(this, "_ranVecs"); + __publicField(this, "_permX"); + __publicField(this, "_permY"); + __publicField(this, "_permZ"); this._ranVecs = new Array(Perlin._pointCount); for (let i = 0; i < Perlin._pointCount; i++) { this._ranVecs[i] = normalize$2(create$2(), randomRange(-1, 1)); @@ -1945,8 +1784,7 @@ array[target] = tmp; } } - }; - Perlin._pointCount = 256; + }, __publicField(_b, "_pointCount", 256), _b); Perlin = __decorateClass$b([ serializable ], Perlin); @@ -1976,32 +1814,36 @@ __defProp$a(target, key, result); return result; }; - const RANDOMSEED = "just a random seed string"; + const prng = alea("just a random seed string"); + const noise3D = createNoise3D(prng); let NoiseTexture = class extends Texture { + // private _simplexNoise: SimplexNoise; constructor(scale2) { super(); - this._noise = new Perlin(); + __publicField(this, "_noise", new Perlin()); + __publicField(this, "_scale"); this._scale = scale2; } get scale() { return this._scale; } turb(p, depth = 7) { - if (!this._simplexNoise) { - this._simplexNoise = new SimplexNoise$1(RANDOMSEED); - } let accum = 0; const tempP = p; let weight = 1; for (let i = 0; i < depth; i++) { - accum += weight * this._simplexNoise.noise3D(p[0], p[1], p[2]); + accum += weight * noise3D(p[0], p[1], p[2]); weight *= 0.5; scale(tempP, tempP, 2); } return Math.abs(accum); } value(u, v, p) { - return scale(create$2(), scale(create$2(), fromValues(1, 1, 1), 0.5), 1 + Math.sin(this._scale * p[2] + 10 * this.turb(p))); + return scale( + create$2(), + scale(create$2(), fromValues(1, 1, 1), 0.5), + 1 + Math.sin(this._scale * p[2] + 10 * this.turb(p)) + ); } }; NoiseTexture = __decorateClass$a([ @@ -2021,6 +1863,7 @@ let DiffuseLight = class extends Material { constructor(color) { super(); + __publicField(this, "_emit"); if (color) { this._emit = new SolidColor(color); } @@ -2052,6 +1895,7 @@ let IsoTropic = class extends Material { constructor(albedo) { super(); + __publicField(this, "_albedo"); if (albedo instanceof Texture) { this._albedo = albedo; } else { @@ -2081,6 +1925,7 @@ let LambertianMaterial = class extends Material { constructor(color) { super(); + __publicField(this, "_albedo"); if (color) { this._albedo = new SolidColor(color); } @@ -2116,6 +1961,8 @@ let MetalMaterial = class extends Material { constructor(color, roughness) { super(); + __publicField(this, "_baseColor"); + __publicField(this, "_roughness"); this._baseColor = color; this._roughness = roughness; } @@ -2127,7 +1974,11 @@ } scatter(r_in, rec, attenuation, scattered) { const refl = reflect(normalize$2(create$2(), r_in.direction), rec.normal); - new Ray(rec.p, add(create$2(), refl, scale(create$2(), randomInUnitSphere(), this._roughness)), r_in.time).copyTo(scattered); + new Ray( + rec.p, + add(create$2(), refl, scale(create$2(), randomInUnitSphere(), this._roughness)), + r_in.time + ).copyTo(scattered); copy(attenuation, this._baseColor); return dot(scattered.direction, rec.normal) > 0; } @@ -2149,7 +2000,7 @@ let NormalMaterial = class extends Material { constructor() { super(...arguments); - this.corrected = false; + __publicField(this, "corrected", false); } scatter(ray, rec, attenuation, scattered) { const scatter_direction = add(create$2(), rec.normal, randomUnitVector()); @@ -2204,6 +2055,9 @@ let ConstantMedium = class extends Hittable { constructor(boundary, density, material) { super(); + __publicField(this, "_boundary"); + __publicField(this, "_phaseFunction"); + __publicField(this, "_negInvDensity"); this._boundary = boundary; this._negInvDensity = -1 / density; this._phaseFunction = new IsoTropic(material); @@ -2263,6 +2117,11 @@ let MovingSphere = class extends Hittable { constructor(center0, center1, t0, t1, radius, mat) { super(); + __publicField(this, "_center0"); + __publicField(this, "_center1"); + __publicField(this, "_time0"); + __publicField(this, "_time1"); + __publicField(this, "_radius"); this._center0 = center0; this._center1 = center1; this._time0 = t0; @@ -2337,8 +2196,14 @@ const transformedCenterT0 = transformMat4(create$2(), this.center(t0), this.transform.objectToWorld); const transformedCenterT1 = transformMat4(create$2(), this.center(t1), this.transform.objectToWorld); const r = fromValues(this._radius, this._radius, this._radius); - const box0 = new AABB(sub(create$2(), transformedCenterT0, r), add(create$2(), transformedCenterT0, r)); - const box1 = new AABB(sub(create$2(), transformedCenterT1, r), add(create$2(), transformedCenterT1, r)); + const box0 = new AABB( + sub(create$2(), transformedCenterT0, r), + add(create$2(), transformedCenterT0, r) + ); + const box1 = new AABB( + sub(create$2(), transformedCenterT1, r), + add(create$2(), transformedCenterT1, r) + ); return AABB.surroundingBox(box0, box1); } }; @@ -2359,6 +2224,8 @@ let Sphere = class extends Hittable { constructor(center, radius, mat) { super(); + __publicField(this, "_center"); + __publicField(this, "_radius"); this._center = center; this._radius = radius; this.material = mat; @@ -2420,7 +2287,7 @@ Sphere = __decorateClass$1([ serializable ], Sphere); - var __defProp = Object.defineProperty; + var __defProp2 = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; @@ -2428,7 +2295,7 @@ if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) - __defProp(target, key, result); + __defProp2(target, key, result); return result; }; function avgVector3(vectors) { @@ -2444,8 +2311,19 @@ let Triangle = class extends Hittable { constructor(v0, v1, v2, n0, n1, n2, uv0, uv1, uv2) { super(); - this.transform = new Transform(); - this.doubleSided = false; + __publicField(this, "v0"); + __publicField(this, "n0"); + __publicField(this, "uv0"); + __publicField(this, "v1"); + __publicField(this, "n1"); + __publicField(this, "uv1"); + __publicField(this, "v2"); + __publicField(this, "n2"); + __publicField(this, "uv2"); + __publicField(this, "surfaceNormal"); + __publicField(this, "transform", new Transform()); + __publicField(this, "material"); + __publicField(this, "doubleSided", false); this.v0 = v0; this.v1 = v1; this.v2 = v2; @@ -2466,9 +2344,9 @@ } this.surfaceNormal = create$2(); normalize$2(this.surfaceNormal, avgVector3([this.n0, this.n1, this.n2])); - this.uv0 = uv0 != null ? uv0 : [0, 0]; - this.uv1 = uv1 != null ? uv1 : [0, 0]; - this.uv2 = uv2 != null ? uv2 : [0, 0]; + this.uv0 = uv0 ?? [0, 0]; + this.uv1 = uv1 ?? [0, 0]; + this.uv2 = uv2 ?? [0, 0]; } applyTransform() { transformMat4(this.v0, this.v0, this.transform.objectToWorld); @@ -2481,6 +2359,7 @@ normalize$2(this.n1, this.n1); normalize$2(this.n2, this.n2); } + /* from https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf */ hit(ray, tMin, tMax, rec) { const transformedRay = this.transform.transformRay(ray); const edge1 = subtract(create$2(), this.v1, this.v0); @@ -2564,22 +2443,15 @@ Triangle = __decorateClass([ serializable ], Triangle); - var ControllerCommands; - (function(ControllerCommands2) { + var ControllerCommands = /* @__PURE__ */ ((ControllerCommands2) => { ControllerCommands2[ControllerCommands2["START"] = 0] = "START"; ControllerCommands2[ControllerCommands2["STOP"] = 1] = "STOP"; ControllerCommands2[ControllerCommands2["READY"] = 2] = "READY"; ControllerCommands2[ControllerCommands2["UPDATE"] = 3] = "UPDATE"; ControllerCommands2[ControllerCommands2["WORKERDONE"] = 4] = "WORKERDONE"; ControllerCommands2[ControllerCommands2["END"] = 5] = "END"; - })(ControllerCommands || (ControllerCommands = {})); - var ComputeCommands; - (function(ComputeCommands2) { - ComputeCommands2[ComputeCommands2["INIT"] = 0] = "INIT"; - ComputeCommands2[ComputeCommands2["READY"] = 1] = "READY"; - ComputeCommands2[ComputeCommands2["START"] = 2] = "START"; - ComputeCommands2[ComputeCommands2["END"] = 3] = "END"; - })(ComputeCommands || (ComputeCommands = {})); + return ControllerCommands2; + })(ControllerCommands || {}); const _controllerCtx = self; let _pixelArray; let _imageWidth; diff --git a/assets/index-87efcf0d.js b/assets/index-87efcf0d.js new file mode 100644 index 0000000..20b3ced --- /dev/null +++ b/assets/index-87efcf0d.js @@ -0,0 +1,17963 @@ +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +var _a, _b; +(function polyfill() { + const relList = document.createElement("link").relList; + if (relList && relList.supports && relList.supports("modulepreload")) { + return; + } + for (const link of document.querySelectorAll('link[rel="modulepreload"]')) { + processPreload(link); + } + new MutationObserver((mutations) => { + for (const mutation of mutations) { + if (mutation.type !== "childList") { + continue; + } + for (const node of mutation.addedNodes) { + if (node.tagName === "LINK" && node.rel === "modulepreload") + processPreload(node); + } + } + }).observe(document, { childList: true, subtree: true }); + function getFetchOpts(link) { + const fetchOpts = {}; + if (link.integrity) + fetchOpts.integrity = link.integrity; + if (link.referrerPolicy) + fetchOpts.referrerPolicy = link.referrerPolicy; + if (link.crossOrigin === "use-credentials") + fetchOpts.credentials = "include"; + else if (link.crossOrigin === "anonymous") + fetchOpts.credentials = "omit"; + else + fetchOpts.credentials = "same-origin"; + return fetchOpts; + } + function processPreload(link) { + if (link.ep) + return; + link.ep = true; + const fetchOpts = getFetchOpts(link); + fetch(link.href, fetchOpts); + } +})(); +var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +function getDefaultExportFromCjs(x2) { + return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2; +} +var jsxRuntime = { exports: {} }; +var reactJsxRuntime_production_min = {}; +var react = { exports: {} }; +var react_production_min = {}; +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var l$1 = Symbol.for("react.element"), n$1 = Symbol.for("react.portal"), p$2 = Symbol.for("react.fragment"), q$1 = Symbol.for("react.strict_mode"), r = Symbol.for("react.profiler"), t = Symbol.for("react.provider"), u = Symbol.for("react.context"), v$1 = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), x = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), z$1 = Symbol.iterator; +function A$1(a) { + if (null === a || "object" !== typeof a) + return null; + a = z$1 && a[z$1] || a["@@iterator"]; + return "function" === typeof a ? a : null; +} +var B$1 = { isMounted: function() { + return false; +}, enqueueForceUpdate: function() { +}, enqueueReplaceState: function() { +}, enqueueSetState: function() { +} }, C$1 = Object.assign, D$1 = {}; +function E$1(a, b, e) { + this.props = a; + this.context = b; + this.refs = D$1; + this.updater = e || B$1; +} +E$1.prototype.isReactComponent = {}; +E$1.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$1.prototype.forceUpdate = function(a) { + this.updater.enqueueForceUpdate(this, a, "forceUpdate"); +}; +function F() { +} +F.prototype = E$1.prototype; +function G$1(a, b, e) { + this.props = a; + this.context = b; + this.refs = D$1; + this.updater = e || B$1; +} +var H$1 = G$1.prototype = new F(); +H$1.constructor = G$1; +C$1(H$1, E$1.prototype); +H$1.isPureReactComponent = true; +var I$1 = Array.isArray, J = Object.prototype.hasOwnProperty, K$1 = { current: null }, L$1 = { key: true, ref: true, __self: true, __source: true }; +function M$1(a, b, e) { + var d, c = {}, k2 = null, h = null; + if (null != b) + for (d in void 0 !== b.ref && (h = b.ref), void 0 !== b.key && (k2 = "" + b.key), b) + J.call(b, d) && !L$1.hasOwnProperty(d) && (c[d] = b[d]); + var g = arguments.length - 2; + if (1 === g) + c.children = e; + else if (1 < g) { + for (var f2 = Array(g), m2 = 0; m2 < g; m2++) + f2[m2] = arguments[m2 + 2]; + c.children = f2; + } + if (a && a.defaultProps) + for (d in g = a.defaultProps, g) + void 0 === c[d] && (c[d] = g[d]); + return { $$typeof: l$1, type: a, key: k2, ref: h, props: c, _owner: K$1.current }; +} +function N$1(a, b) { + return { $$typeof: l$1, type: a.type, key: b, ref: a.ref, props: a.props, _owner: a._owner }; +} +function O$1(a) { + return "object" === typeof a && null !== a && a.$$typeof === l$1; +} +function escape(a) { + var b = { "=": "=0", ":": "=2" }; + return "$" + a.replace(/[=:]/g, function(a2) { + return b[a2]; + }); +} +var P$1 = /\/+/g; +function Q$1(a, b) { + return "object" === typeof a && null !== a && null != a.key ? escape("" + a.key) : b.toString(36); +} +function R$1(a, b, e, d, c) { + var k2 = typeof a; + if ("undefined" === k2 || "boolean" === k2) + a = null; + var h = false; + if (null === a) + h = true; + else + switch (k2) { + case "string": + case "number": + h = true; + break; + case "object": + switch (a.$$typeof) { + case l$1: + case n$1: + h = true; + } + } + if (h) + return h = a, c = c(h), a = "" === d ? "." + Q$1(h, 0) : d, I$1(c) ? (e = "", null != a && (e = a.replace(P$1, "$&/") + "/"), R$1(c, b, e, "", function(a2) { + return a2; + })) : null != c && (O$1(c) && (c = N$1(c, e + (!c.key || h && h.key === c.key ? "" : ("" + c.key).replace(P$1, "$&/") + "/") + a)), b.push(c)), 1; + h = 0; + d = "" === d ? "." : d + ":"; + if (I$1(a)) + for (var g = 0; g < a.length; g++) { + k2 = a[g]; + var f2 = d + Q$1(k2, g); + h += R$1(k2, b, e, f2, c); + } + else if (f2 = A$1(a), "function" === typeof f2) + for (a = f2.call(a), g = 0; !(k2 = a.next()).done; ) + k2 = k2.value, f2 = d + Q$1(k2, g++), h += R$1(k2, b, e, f2, c); + else if ("object" === k2) + 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; +} +function S$1(a, b, e) { + if (null == a) + return a; + var d = [], c = 0; + R$1(a, d, "", "", function(a2) { + return b.call(e, a2, c++); + }); + return d; +} +function T$1(a) { + if (-1 === a._status) { + var b = a._result; + b = b(); + b.then(function(b2) { + if (0 === a._status || -1 === a._status) + a._status = 1, a._result = b2; + }, function(b2) { + if (0 === a._status || -1 === a._status) + a._status = 2, a._result = b2; + }); + -1 === a._status && (a._status = 0, a._result = b); + } + if (1 === a._status) + return a._result.default; + throw a._result; +} +var U$1 = { current: null }, V$1 = { transition: null }, W$1 = { ReactCurrentDispatcher: U$1, ReactCurrentBatchConfig: V$1, ReactCurrentOwner: K$1 }; +react_production_min.Children = { map: S$1, forEach: function(a, b, e) { + S$1(a, function() { + b.apply(this, arguments); + }, e); +}, count: function(a) { + var b = 0; + S$1(a, function() { + b++; + }); + return b; +}, toArray: function(a) { + return S$1(a, function(a2) { + return a2; + }) || []; +}, only: function(a) { + if (!O$1(a)) + throw Error("React.Children.only expected to receive a single React element child."); + return a; +} }; +react_production_min.Component = E$1; +react_production_min.Fragment = p$2; +react_production_min.Profiler = r; +react_production_min.PureComponent = G$1; +react_production_min.StrictMode = q$1; +react_production_min.Suspense = w; +react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = W$1; +react_production_min.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$1({}, a.props), c = a.key, k2 = a.ref, h = a._owner; + if (null != b) { + void 0 !== b.ref && (k2 = b.ref, h = K$1.current); + void 0 !== b.key && (c = "" + b.key); + if (a.type && a.type.defaultProps) + var g = a.type.defaultProps; + for (f2 in b) + J.call(b, f2) && !L$1.hasOwnProperty(f2) && (d[f2] = void 0 === b[f2] && void 0 !== g ? g[f2] : b[f2]); + } + var f2 = arguments.length - 2; + if (1 === f2) + d.children = e; + else if (1 < f2) { + g = Array(f2); + for (var m2 = 0; m2 < f2; m2++) + g[m2] = arguments[m2 + 2]; + d.children = g; + } + return { $$typeof: l$1, type: a.type, key: c, ref: k2, props: d, _owner: h }; +}; +react_production_min.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; +}; +react_production_min.createElement = M$1; +react_production_min.createFactory = function(a) { + var b = M$1.bind(null, a); + b.type = a; + return b; +}; +react_production_min.createRef = function() { + return { current: null }; +}; +react_production_min.forwardRef = function(a) { + return { $$typeof: v$1, render: a }; +}; +react_production_min.isValidElement = O$1; +react_production_min.lazy = function(a) { + return { $$typeof: y, _payload: { _status: -1, _result: a }, _init: T$1 }; +}; +react_production_min.memo = function(a, b) { + return { $$typeof: x, type: a, compare: void 0 === b ? null : b }; +}; +react_production_min.startTransition = function(a) { + var b = V$1.transition; + V$1.transition = {}; + try { + a(); + } finally { + V$1.transition = b; + } +}; +react_production_min.unstable_act = function() { + throw Error("act(...) is not supported in production builds of React."); +}; +react_production_min.useCallback = function(a, b) { + return U$1.current.useCallback(a, b); +}; +react_production_min.useContext = function(a) { + return U$1.current.useContext(a); +}; +react_production_min.useDebugValue = function() { +}; +react_production_min.useDeferredValue = function(a) { + return U$1.current.useDeferredValue(a); +}; +react_production_min.useEffect = function(a, b) { + return U$1.current.useEffect(a, b); +}; +react_production_min.useId = function() { + return U$1.current.useId(); +}; +react_production_min.useImperativeHandle = function(a, b, e) { + return U$1.current.useImperativeHandle(a, b, e); +}; +react_production_min.useInsertionEffect = function(a, b) { + return U$1.current.useInsertionEffect(a, b); +}; +react_production_min.useLayoutEffect = function(a, b) { + return U$1.current.useLayoutEffect(a, b); +}; +react_production_min.useMemo = function(a, b) { + return U$1.current.useMemo(a, b); +}; +react_production_min.useReducer = function(a, b, e) { + return U$1.current.useReducer(a, b, e); +}; +react_production_min.useRef = function(a) { + return U$1.current.useRef(a); +}; +react_production_min.useState = function(a) { + return U$1.current.useState(a); +}; +react_production_min.useSyncExternalStore = function(a, b, e) { + return U$1.current.useSyncExternalStore(a, b, e); +}; +react_production_min.useTransition = function() { + return U$1.current.useTransition(); +}; +react_production_min.version = "18.2.0"; +{ + react.exports = react_production_min; +} +var reactExports = react.exports; +const React = /* @__PURE__ */ getDefaultExportFromCjs(reactExports); +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var f = reactExports, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m$1 = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p$1 = { key: true, ref: true, __self: true, __source: true }; +function 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$1.call(a, b) && !p$1.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 }; +} +reactJsxRuntime_production_min.Fragment = l; +reactJsxRuntime_production_min.jsx = q; +reactJsxRuntime_production_min.jsxs = q; +{ + jsxRuntime.exports = reactJsxRuntime_production_min; +} +var jsxRuntimeExports = jsxRuntime.exports; +var reactDom$1 = { exports: {} }; +var reactDom_production_min = {}; +var scheduler = { exports: {} }; +var scheduler_production_min = {}; +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +(function(exports) { + function f2(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 k2(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, w2 = e >>> 1; d < w2; ) { + var m2 = 2 * (d + 1) - 1, C2 = a[m2], n2 = m2 + 1, x2 = a[n2]; + if (0 > g(C2, c)) + n2 < e && 0 > g(x2, C2) ? (a[d] = x2, a[n2] = c, d = n2) : (a[d] = C2, a[m2] = c, d = m2); + else if (n2 < e && 0 > g(x2, c)) + a[d] = x2, a[n2] = c, d = n2; + else + break a; + } + } + return b; + } + function 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 l2 = performance; + exports.unstable_now = function() { + return l2.now(); + }; + } else { + var p2 = Date, q2 = p2.now(); + exports.unstable_now = function() { + return p2.now() - q2; + }; + } + var r2 = [], t2 = [], u2 = 1, v2 = null, y2 = 3, z2 = false, A2 = false, B2 = false, D2 = "function" === typeof setTimeout ? setTimeout : null, E2 = "function" === typeof clearTimeout ? clearTimeout : null, F2 = "undefined" !== typeof setImmediate ? setImmediate : null; + "undefined" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling); + function G2(a) { + for (var b = h(t2); null !== b; ) { + if (null === b.callback) + k2(t2); + else if (b.startTime <= a) + k2(t2), b.sortIndex = b.expirationTime, f2(r2, b); + else + break; + b = h(t2); + } + } + function H2(a) { + B2 = false; + G2(a); + if (!A2) + if (null !== h(r2)) + A2 = true, I2(J2); + else { + var b = h(t2); + null !== b && K2(H2, b.startTime - a); + } + } + function J2(a, b) { + A2 = false; + B2 && (B2 = false, E2(L2), L2 = -1); + z2 = true; + var c = y2; + try { + G2(b); + for (v2 = h(r2); null !== v2 && (!(v2.expirationTime > b) || a && !M2()); ) { + var d = v2.callback; + if ("function" === typeof d) { + v2.callback = null; + y2 = v2.priorityLevel; + var e = d(v2.expirationTime <= b); + b = exports.unstable_now(); + "function" === typeof e ? v2.callback = e : v2 === h(r2) && k2(r2); + G2(b); + } else + k2(r2); + v2 = h(r2); + } + if (null !== v2) + var w2 = true; + else { + var m2 = h(t2); + null !== m2 && K2(H2, m2.startTime - b); + w2 = false; + } + return w2; + } finally { + v2 = null, y2 = c, z2 = false; + } + } + var N2 = false, O2 = null, L2 = -1, P2 = 5, Q2 = -1; + function M2() { + return exports.unstable_now() - Q2 < P2 ? false : true; + } + function R2() { + if (null !== O2) { + var a = exports.unstable_now(); + Q2 = a; + var b = true; + try { + b = O2(true, a); + } finally { + b ? S2() : (N2 = false, O2 = null); + } + } else + N2 = false; + } + var S2; + if ("function" === typeof F2) + S2 = function() { + F2(R2); + }; + else if ("undefined" !== typeof MessageChannel) { + var T2 = new MessageChannel(), U2 = T2.port2; + T2.port1.onmessage = R2; + S2 = function() { + U2.postMessage(null); + }; + } else + S2 = function() { + D2(R2, 0); + }; + function I2(a) { + O2 = a; + N2 || (N2 = true, S2()); + } + function K2(a, b) { + L2 = D2(function() { + a(exports.unstable_now()); + }, b); + } + exports.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() { + A2 || z2 || (A2 = true, I2(J2)); + }; + exports.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") : P2 = 0 < a ? Math.floor(1e3 / a) : 5; + }; + exports.unstable_getCurrentPriorityLevel = function() { + return y2; + }; + exports.unstable_getFirstCallbackNode = function() { + return h(r2); + }; + exports.unstable_next = function(a) { + switch (y2) { + case 1: + case 2: + case 3: + var b = 3; + break; + default: + b = y2; + } + var c = y2; + y2 = b; + try { + return a(); + } finally { + y2 = c; + } + }; + exports.unstable_pauseExecution = function() { + }; + exports.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 = y2; + y2 = a; + try { + return b(); + } finally { + y2 = c; + } + }; + exports.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: u2++, callback: b, priorityLevel: a, startTime: c, expirationTime: e, sortIndex: -1 }; + c > d ? (a.sortIndex = c, f2(t2, a), null === h(r2) && a === h(t2) && (B2 ? (E2(L2), L2 = -1) : B2 = true, K2(H2, c - d))) : (a.sortIndex = e, f2(r2, a), A2 || z2 || (A2 = true, I2(J2))); + return a; + }; + exports.unstable_shouldYield = M2; + exports.unstable_wrapCallback = function(a) { + var b = y2; + return function() { + var c = y2; + y2 = b; + try { + return a.apply(this, arguments); + } finally { + y2 = c; + } + }; + }; +})(scheduler_production_min); +{ + scheduler.exports = scheduler_production_min; +} +var schedulerExports = scheduler.exports; +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var aa = reactExports, ca = schedulerExports; +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 = /* @__PURE__ */ new Set(), ea = {}; +function fa(a, b) { + ha(a, b); + ha(a + "Capture", b); +} +function ha(a, b) { + ea[a] = b; + for (a = 0; a < b.length; a++) + da.add(b[a]); +} +var 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 = {}, ma = {}; +function oa(a) { + if (ja.call(ma, a)) + return true; + if (ja.call(la, a)) + return false; + if (ka.test(a)) + return ma[a] = true; + la[a] = true; + return false; +} +function pa(a, b, c, d) { + if (null !== c && 0 === c.type) + return false; + switch (typeof b) { + case "function": + case "symbol": + return true; + case "boolean": + if (d) + return false; + if (null !== c) + return !c.acceptsBooleans; + a = a.toLowerCase().slice(0, 5); + return "data-" !== a && "aria-" !== a; + default: + return false; + } +} +function qa(a, b, c, d) { + if (null === b || "undefined" === typeof b || pa(a, b, c, d)) + return true; + if (d) + return false; + if (null !== c) + switch (c.type) { + case 3: + return !b; + case 4: + return false === b; + case 5: + return isNaN(b); + case 6: + return isNaN(b) || 1 > b; + } + return false; +} +function v(a, b, c, d, e, f2, 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 = f2; + this.removeEmptyString = g; +} +var z = {}; +"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a) { + z[a] = new v(a, 0, false, a, null, false, false); +}); +[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(a) { + var b = a[0]; + z[b] = new v(b, 1, false, a[1], null, false, false); +}); +["contentEditable", "draggable", "spellCheck", "value"].forEach(function(a) { + z[a] = new v(a, 2, false, a.toLowerCase(), null, false, false); +}); +["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(a) { + z[a] = new v(a, 2, false, a, null, false, false); +}); +"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, false, a.toLowerCase(), null, false, false); +}); +["checked", "multiple", "muted", "selected"].forEach(function(a) { + z[a] = new v(a, 3, true, a, null, false, false); +}); +["capture", "download"].forEach(function(a) { + z[a] = new v(a, 4, false, a, null, false, false); +}); +["cols", "rows", "size", "span"].forEach(function(a) { + z[a] = new v(a, 6, false, a, null, false, false); +}); +["rowSpan", "start"].forEach(function(a) { + z[a] = new v(a, 5, false, a.toLowerCase(), null, false, false); +}); +var ra = /[\-:]([a-z])/g; +function sa(a) { + return a[1].toUpperCase(); +} +"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, + sa + ); + z[b] = new v(b, 1, false, a, null, false, false); +}); +"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, false, a, "http://www.w3.org/1999/xlink", false, false); +}); +["xml:base", "xml:lang", "xml:space"].forEach(function(a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, false, a, "http://www.w3.org/XML/1998/namespace", false, false); +}); +["tabIndex", "crossOrigin"].forEach(function(a) { + z[a] = new v(a, 1, false, a.toLowerCase(), null, false, false); +}); +z.xlinkHref = new v("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false); +["src", "href", "action", "formAction"].forEach(function(a) { + z[a] = new v(a, 1, false, a.toLowerCase(), null, true, true); +}); +function 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 ? false : "" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && true === c ? "" : "" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))); +} +var 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"); +var Ia = Symbol.for("react.offscreen"); +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 = false; +function Oa(a, b) { + if (!a || Na) + return ""; + Na = true; + 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 (l2) { + var d = l2; + } + Reflect.construct(a, [], b); + } else { + try { + b.call(); + } catch (l2) { + d = l2; + } + a.call(b.prototype); + } + else { + try { + throw Error(); + } catch (l2) { + d = l2; + } + a(); + } + } catch (l2) { + if (l2 && d && "string" === typeof l2.stack) { + for (var e = l2.stack.split("\n"), f2 = d.stack.split("\n"), g = e.length - 1, h = f2.length - 1; 1 <= g && 0 <= h && e[g] !== f2[h]; ) + h--; + for (; 1 <= g && 0 <= h; g--, h--) + if (e[g] !== f2[h]) { + if (1 !== g || 1 !== h) { + do + if (g--, h--, 0 > h || e[g] !== f2[h]) { + var k2 = "\n" + e[g].replace(" at new ", " at "); + a.displayName && k2.includes("") && (k2 = k2.replace("", a.displayName)); + return k2; + } + while (1 <= g && 0 <= h); + } + break; + } + } + } finally { + Na = false, Error.prepareStackTrace = c; + } + return (a = a ? a.displayName || a.name : "") ? Ma(a) : ""; +} +function 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, false), a; + case 11: + return a = Oa(a.type.render, false), a; + case 1: + return a = Oa(a.type, true), a; + default: + return ""; + } +} +function 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 || b.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; +} +function 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"; + case 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 ""; + } +} +function Ta(a) { + var b = a.type; + return (a = a.nodeName) && "input" === a.toLowerCase() && ("checkbox" === b || "radio" === b); +} +function 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, f2 = c.set; + Object.defineProperty(a, b, { configurable: true, get: function() { + return e.call(this); + }, set: function(a2) { + d = "" + a2; + f2.call(this, a2); + } }); + Object.defineProperty(a, b, { enumerable: c.enumerable }); + return { getValue: function() { + return d; + }, setValue: function(a2) { + d = "" + a2; + }, stopTracking: function() { + a._valueTracker = null; + delete a[b]; + } }; + } +} +function Va(a) { + a._valueTracker || (a._valueTracker = Ua(a)); +} +function Wa(a) { + if (!a) + return false; + var b = a._valueTracker; + if (!b) + return true; + var c = b.getValue(); + var d = ""; + a && (d = Ta(a) ? a.checked ? "true" : "false" : a.value); + a = d; + return a !== c ? (b.setValue(a), true) : false; +} +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; + } +} +function 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, false); +} +function 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); +} +function 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); +} +function 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; +function fb(a, b, c, d) { + a = a.options; + if (b) { + b = {}; + for (var e = 0; e < c.length; e++) + b["$" + c[e]] = true; + 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 = true); + } else { + c = "" + Sa(c); + b = null; + for (e = 0; e < a.length; e++) { + if (a[e].value === c) { + a[e].selected = true; + d && (a[e].defaultSelected = true); + return; + } + null !== b || a[e].disabled || (b = a[e]); + } + null !== b && (b.selected = true); + } +} +function 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) }; +} +function 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"; + } +} +function 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; +} +var 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 = "" + b.valueOf().toString() + ""; + for (b = mb.firstChild; a.firstChild; ) + a.removeChild(a.firstChild); + for (; b.firstChild; ) + a.appendChild(b.firstChild); + } +}); +function ob(a, b) { + if (b) { + var c = a.firstChild; + if (c && c === a.lastChild && 3 === c.nodeType) { + c.nodeValue = b; + return; + } + } + a.textContent = b; +} +var pb = { + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + columns: true, + flex: true, + flexGrow: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + flexOrder: true, + gridArea: true, + gridRow: true, + gridRowEnd: true, + gridRowSpan: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnSpan: true, + gridColumnStart: true, + fontWeight: true, + lineClamp: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true +}, 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"; +} +function 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: true }, { area: true, base: true, br: true, col: true, embed: true, hr: true, img: true, input: true, keygen: true, link: true, meta: true, param: true, source: true, track: true, wbr: true }); +function 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)); + } +} +function 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 false; + default: + return true; + } +} +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; +function 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 = false; +function Jb(a, b, c) { + if (Ib) + return a(b, c); + Ib = true; + try { + return Gb(a, b, c); + } finally { + if (Ib = false, null !== zb || null !== Ab) + Hb(), Fb(); + } +} +function 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 = false; + } + if (a) + return null; + if (c && "function" !== typeof c) + throw Error(p(231, b, typeof c)); + return c; +} +var Lb = false; +if (ia) + try { + var Mb = {}; + Object.defineProperty(Mb, "passive", { get: function() { + Lb = true; + } }); + window.addEventListener("test", Mb, Mb); + window.removeEventListener("test", Mb, Mb); + } catch (a) { + Lb = false; + } +function Nb(a, b, c, d, e, f2, g, h, k2) { + var l2 = Array.prototype.slice.call(arguments, 3); + try { + b.apply(c, l2); + } catch (m2) { + this.onError(m2); + } +} +var Ob = false, Pb = null, Qb = false, Rb = null, Sb = { onError: function(a) { + Ob = true; + Pb = a; +} }; +function Tb(a, b, c, d, e, f2, g, h, k2) { + Ob = false; + Pb = null; + Nb.apply(Sb, arguments); +} +function Ub(a, b, c, d, e, f2, g, h, k2) { + Tb.apply(this, arguments); + if (Ob) { + if (Ob) { + var l2 = Pb; + Ob = false; + Pb = null; + } else + throw Error(p(198)); + Qb || (Qb = true, Rb = l2); + } +} +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)); +} +function 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 f2 = e.alternate; + if (null === f2) { + d = e.return; + if (null !== d) { + c = d; + continue; + } + break; + } + if (e.child === f2.child) { + for (f2 = e.child; f2; ) { + if (f2 === c) + return Xb(e), a; + if (f2 === d) + return Xb(e), b; + f2 = f2.sibling; + } + throw Error(p(188)); + } + if (c.return !== d.return) + c = e, d = f2; + else { + for (var g = false, h = e.child; h; ) { + if (h === c) { + g = true; + c = e; + d = f2; + break; + } + if (h === d) { + g = true; + d = e; + c = f2; + break; + } + h = h.sibling; + } + if (!g) { + for (h = f2.child; h; ) { + if (h === c) { + g = true; + c = f2; + d = e; + break; + } + if (h === d) { + g = true; + d = f2; + 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; +} +var 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) { + } +} +var 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; +function 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; + default: + return a; + } +} +function uc(a, b) { + var c = a.pendingLanes; + if (0 === c) + return 0; + var d = 0, e = a.suspendedLanes, f2 = a.pingedLanes, g = c & 268435455; + if (0 !== g) { + var h = g & ~e; + 0 !== h ? d = tc(h) : (f2 &= g, 0 !== f2 && (d = tc(f2))); + } else + g = c & ~e, 0 !== g ? d = tc(g) : 0 !== f2 && (d = tc(f2)); + if (0 === d) + return 0; + if (0 !== b && b !== d && 0 === (b & e) && (e = d & -d, f2 = b & -b, e >= f2 || 16 === e && 0 !== (f2 & 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; +} +function 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; + } +} +function wc(a, b) { + for (var c = a.suspendedLanes, d = a.pingedLanes, e = a.expirationTimes, f2 = a.pendingLanes; 0 < f2; ) { + var g = 31 - oc(f2), h = 1 << g, k2 = e[g]; + if (-1 === k2) { + if (0 === (h & c) || 0 !== (h & d)) + e[g] = vc(h, b); + } else + k2 <= b && (a.expiredLanes |= h); + f2 &= ~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; +} +function 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), f2 = 1 << e; + b[e] = 0; + d[e] = -1; + a[e] = -1; + c &= ~f2; + } +} +function 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 = false, Kc = [], Lc = null, Mc = null, Nc = null, Oc = /* @__PURE__ */ new Map(), Pc = /* @__PURE__ */ 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(" "); +function 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); + } +} +function Tc(a, b, c, d, e, f2) { + if (null === a || a.nativeEvent !== f2) + return a = { blockedOn: b, domEventName: c, eventSystemFlags: d, nativeEvent: f2, 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; +} +function Uc(a, b, c, d, e) { + switch (b) { + case "focusin": + return Lc = Tc(Lc, a, b, c, d, e), true; + case "dragenter": + return Mc = Tc(Mc, a, b, c, d, e), true; + case "mouseover": + return Nc = Tc(Nc, a, b, c, d, e), true; + case "pointerover": + var f2 = e.pointerId; + Oc.set(f2, Tc(Oc.get(f2) || null, a, b, c, d, e)); + return true; + case "gotpointercapture": + return f2 = e.pointerId, Pc.set(f2, Tc(Pc.get(f2) || null, a, b, c, d, e)), true; + } + return false; +} +function 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; +} +function Xc(a) { + if (null !== a.blockedOn) + return false; + 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, false; + b.shift(); + } + return true; +} +function Zc(a, b, c) { + Xc(a) && c.delete(b); +} +function $c() { + Jc = false; + null !== Lc && Xc(Lc) && (Lc = null); + null !== Mc && Xc(Mc) && (Mc = null); + null !== Nc && Xc(Nc) && (Nc = null); + Oc.forEach(Zc); + Pc.forEach(Zc); +} +function ad(a, b) { + a.blockedOn === b && (a.blockedOn = null, Jc || (Jc = true, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c))); +} +function bd(a) { + function b(b2) { + return ad(b2, 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 = true; +function ed(a, b, c, d) { + var e = C, f2 = cd.transition; + cd.transition = null; + try { + C = 1, fd(a, b, c, d); + } finally { + C = e, cd.transition = f2; + } +} +function gd(a, b, c, d) { + var e = C, f2 = cd.transition; + cd.transition = null; + try { + C = 4, fd(a, b, c, d); + } finally { + C = e, cd.transition = f2; + } +} +function 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 f2 = Cb(e); + null !== f2 && Ec(f2); + f2 = Yc(a, b, c, d); + null === f2 && hd(a, b, d, id, c); + if (f2 === e) + break; + e = f2; + } + null !== e && d.stopPropagation(); + } else + hd(a, b, d, null, c); + } +} +var id = null; +function 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; +} +function 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; + case "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, f2 = 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[f2 - d]; d++) + ; + return md = e.slice(a, 1 < d ? 1 - d : void 0); +} +function 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 true; +} +function qd() { + return false; +} +function rd(a) { + function b(b2, d, e, f2, g) { + this._reactName = b2; + this._targetInst = e; + this.type = d; + this.nativeEvent = f2; + this.target = g; + this.currentTarget = null; + for (var c in a) + a.hasOwnProperty(c) && (b2 = a[c], this[c] = b2 ? b2(f2) : f2[c]); + this.isDefaultPrevented = (null != f2.defaultPrevented ? f2.defaultPrevented : false === f2.returnValue) ? pd : qd; + this.isPropagationStopped = qd; + return this; + } + A(b.prototype, { preventDefault: function() { + this.defaultPrevented = true; + var a2 = this.nativeEvent; + a2 && (a2.preventDefault ? a2.preventDefault() : "unknown" !== typeof a2.returnValue && (a2.returnValue = false), this.isDefaultPrevented = pd); + }, stopPropagation: function() { + var a2 = this.nativeEvent; + a2 && (a2.stopPropagation ? a2.stopPropagation() : "unknown" !== typeof a2.cancelBubble && (a2.cancelBubble = true), this.isPropagationStopped = pd); + }, persist: function() { + }, isPersistent: pd }); + return b; +} +var 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 a) + 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", + Spacebar: " ", + 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", + 119: "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] : false; +} +function zd() { + return Pd; +} +var 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" === a.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; + }, + deltaY: 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 = false; +function 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 true; + default: + return false; + } +} +function he(a) { + a = a.detail; + return "object" === typeof a && "data" in a ? a.data : null; +} +var ie = false; +function je(a, b) { + switch (a) { + case "compositionend": + return he(b); + case "keypress": + if (32 !== b.which) + return null; + fe = true; + return ee; + case "textInput": + return a = b.data, a === ee && fe ? null : a; + default: + return null; + } +} +function ke(a, b) { + if (ie) + return "compositionend" === a || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = false, 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; + } +} +var le = { color: true, date: true, datetime: true, "datetime-local": true, email: true, month: true, number: true, password: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true }; +function me(a) { + var b = a && a.nodeName && a.nodeName.toLowerCase(); + return "input" === b ? !!le[a.type] : "textarea" === b ? true : false; +} +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; +} +function ve(a, b) { + if ("change" === a) + return b; +} +var we = false; +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 = false; + 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); + } +} +function 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; +function Ie(a, b) { + if (He(a, b)) + return true; + if ("object" !== typeof a || null === a || "object" !== typeof b || null === b) + return false; + var c = Object.keys(a), d = Object.keys(b); + if (c.length !== d.length) + return false; + for (d = 0; d < c.length; d++) { + var e = c[d]; + if (!ja.call(b, e) || !He(a[e], b[e])) + return false; + } + return true; +} +function Je(a) { + for (; a && a.firstChild; ) + a = a.firstChild; + return a; +} +function 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 ? true : a && 3 === a.nodeType ? false : b && 3 === b.nodeType ? Le(a, b.parentNode) : "contains" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : false : false; +} +function Me() { + for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement; ) { + try { + var c = "string" === typeof b.contentWindow.location.href; + } catch (d) { + c = false; + } + 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); +} +function 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, f2 = Math.min(d.start, e); + d = void 0 === d.end ? f2 : Math.min(d.end, e); + !a.extend && f2 > d && (e = d, d = f2, f2 = e); + e = Ke(c, f2); + var g = Ke( + c, + d + ); + 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(), f2 > 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; + } +} +var Pe = ia && "documentMode" in document && 11 >= document.documentMode, Qe = null, Re = null, Se = null, Te = false; +function 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))); +} +function 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 = {}; +ia && (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 = /* @__PURE__ */ 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(" "); +function 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"]); +ha("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(" ")); +fa("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)); +function nf(a, b, c) { + var d = a.type || "unknown-event"; + a.currentTarget = c; + Ub(d, b, void 0, a); + a.currentTarget = null; +} +function 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 f2 = void 0; + if (b) + for (var g = d.length - 1; 0 <= g; g--) { + var h = d[g], k2 = h.instance, l2 = h.currentTarget; + h = h.listener; + if (k2 !== f2 && e.isPropagationStopped()) + break a; + nf(e, h, l2); + f2 = k2; + } + else + for (g = 0; g < d.length; g++) { + h = d[g]; + k2 = h.instance; + l2 = h.currentTarget; + h = h.listener; + if (k2 !== f2 && e.isPropagationStopped()) + break a; + nf(e, h, l2); + f2 = k2; + } + } + } + if (Qb) + throw a = Rb, Qb = false, Rb = null, a; +} +function D(a, b) { + var c = b[of]; + void 0 === c && (c = b[of] = /* @__PURE__ */ new Set()); + var d = a + "__bubble"; + c.has(d) || (pf(b, a, 2, false), 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] = true; + da.forEach(function(b2) { + "selectionchange" !== b2 && (mf.has(b2) || qf(b2, false, a), qf(b2, true, a)); + }); + var b = 9 === a.nodeType ? a : a.ownerDocument; + null === b || b[rf] || (b[rf] = true, qf("selectionchange", false, b)); + } +} +function 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 = true); + d ? void 0 !== e ? a.addEventListener(b, c, { capture: true, passive: e }) : a.addEventListener(b, c, true) : void 0 !== e ? a.addEventListener(b, c, { passive: e }) : a.addEventListener(b, c, false); +} +function hd(a, b, c, d, e) { + var f2 = 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 k2 = g.tag; + if (3 === k2 || 4 === k2) { + if (k2 = g.stateNode.containerInfo, k2 === e || 8 === k2.nodeType && k2.parentNode === e) + return; + } + g = g.return; + } + for (; null !== h; ) { + g = Wc(h); + if (null === g) + return; + k2 = g.tag; + if (5 === k2 || 6 === k2) { + d = f2 = g; + continue a; + } + h = h.parentNode; + } + } + d = d.return; + } + Jb(function() { + var d2 = f2, e2 = xb(c), g2 = []; + a: { + var h2 = df.get(a); + if (void 0 !== h2) { + var k3 = td, n2 = a; + switch (a) { + case "keypress": + if (0 === od(c)) + break a; + case "keydown": + case "keyup": + k3 = Rd; + break; + case "focusin": + n2 = "focus"; + k3 = Fd; + break; + case "focusout": + n2 = "blur"; + k3 = Fd; + break; + case "beforeblur": + case "afterblur": + k3 = 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": + k3 = Bd; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + k3 = Dd; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + k3 = Vd; + break; + case $e: + case af: + case bf: + k3 = Hd; + break; + case cf: + k3 = Xd; + break; + case "scroll": + k3 = vd; + break; + case "wheel": + k3 = Zd; + break; + case "copy": + case "cut": + case "paste": + k3 = Jd; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + k3 = Td; + } + var t2 = 0 !== (b & 4), J2 = !t2 && "scroll" === a, x2 = t2 ? null !== h2 ? h2 + "Capture" : null : h2; + t2 = []; + for (var w2 = d2, u2; null !== w2; ) { + u2 = w2; + var F2 = u2.stateNode; + 5 === u2.tag && null !== F2 && (u2 = F2, null !== x2 && (F2 = Kb(w2, x2), null != F2 && t2.push(tf(w2, F2, u2)))); + if (J2) + break; + w2 = w2.return; + } + 0 < t2.length && (h2 = new k3(h2, n2, null, c, e2), g2.push({ event: h2, listeners: t2 })); + } + } + if (0 === (b & 7)) { + a: { + h2 = "mouseover" === a || "pointerover" === a; + k3 = "mouseout" === a || "pointerout" === a; + if (h2 && c !== wb && (n2 = c.relatedTarget || c.fromElement) && (Wc(n2) || n2[uf])) + break a; + if (k3 || h2) { + h2 = e2.window === e2 ? e2 : (h2 = e2.ownerDocument) ? h2.defaultView || h2.parentWindow : window; + if (k3) { + if (n2 = c.relatedTarget || c.toElement, k3 = d2, n2 = n2 ? Wc(n2) : null, null !== n2 && (J2 = Vb(n2), n2 !== J2 || 5 !== n2.tag && 6 !== n2.tag)) + n2 = null; + } else + k3 = null, n2 = d2; + if (k3 !== n2) { + t2 = Bd; + F2 = "onMouseLeave"; + x2 = "onMouseEnter"; + w2 = "mouse"; + if ("pointerout" === a || "pointerover" === a) + t2 = Td, F2 = "onPointerLeave", x2 = "onPointerEnter", w2 = "pointer"; + J2 = null == k3 ? h2 : ue(k3); + u2 = null == n2 ? h2 : ue(n2); + h2 = new t2(F2, w2 + "leave", k3, c, e2); + h2.target = J2; + h2.relatedTarget = u2; + F2 = null; + Wc(e2) === d2 && (t2 = new t2(x2, w2 + "enter", n2, c, e2), t2.target = u2, t2.relatedTarget = J2, F2 = t2); + J2 = F2; + if (k3 && n2) + b: { + t2 = k3; + x2 = n2; + w2 = 0; + for (u2 = t2; u2; u2 = vf(u2)) + w2++; + u2 = 0; + for (F2 = x2; F2; F2 = vf(F2)) + u2++; + for (; 0 < w2 - u2; ) + t2 = vf(t2), w2--; + for (; 0 < u2 - w2; ) + x2 = vf(x2), u2--; + for (; w2--; ) { + if (t2 === x2 || null !== x2 && t2 === x2.alternate) + break b; + t2 = vf(t2); + x2 = vf(x2); + } + t2 = null; + } + else + t2 = null; + null !== k3 && wf(g2, h2, k3, t2, false); + null !== n2 && null !== J2 && wf(g2, J2, n2, t2, true); + } + } + } + a: { + h2 = d2 ? ue(d2) : window; + k3 = h2.nodeName && h2.nodeName.toLowerCase(); + if ("select" === k3 || "input" === k3 && "file" === h2.type) + var na = ve; + else if (me(h2)) + if (we) + na = Fe; + else { + na = De; + var xa = Ce; + } + else + (k3 = h2.nodeName) && "input" === k3.toLowerCase() && ("checkbox" === h2.type || "radio" === h2.type) && (na = Ee); + if (na && (na = na(a, d2))) { + ne(g2, na, c, e2); + break a; + } + xa && xa(a, h2, d2); + "focusout" === a && (xa = h2._wrapperState) && xa.controlled && "number" === h2.type && cb(h2, "number", h2.value); + } + xa = d2 ? ue(d2) : window; + switch (a) { + case "focusin": + if (me(xa) || "true" === xa.contentEditable) + Qe = xa, Re = d2, Se = null; + break; + case "focusout": + Se = Re = Qe = null; + break; + case "mousedown": + Te = true; + break; + case "contextmenu": + case "mouseup": + case "dragend": + Te = false; + Ue(g2, c, e2); + break; + case "selectionchange": + if (Pe) + break; + case "keydown": + case "keyup": + Ue(g2, c, e2); + } + var $a; + if (ae) + b: { + switch (a) { + case "compositionstart": + var ba = "onCompositionStart"; + break b; + case "compositionend": + ba = "onCompositionEnd"; + break 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 = e2, ld = "value" in kd ? kd.value : kd.textContent, ie = true)), xa = oe(d2, ba), 0 < xa.length && (ba = new Ld(ba, a, null, c, e2), g2.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)) + d2 = oe(d2, "onBeforeInput"), 0 < d2.length && (e2 = new Ld("onBeforeInput", "beforeinput", null, c, e2), g2.push({ event: e2, listeners: d2 }), e2.data = $a); + } + se(g2, 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, f2 = e.stateNode; + 5 === e.tag && null !== f2 && (e = f2, f2 = Kb(a, c), null != f2 && d.unshift(tf(a, f2, e)), f2 = Kb(a, b), null != f2 && d.push(tf(a, f2, 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; +} +function wf(a, b, c, d, e) { + for (var f2 = b._reactName, g = []; null !== c && c !== d; ) { + var h = c, k2 = h.alternate, l2 = h.stateNode; + if (null !== k2 && k2 === d) + break; + 5 === h.tag && null !== l2 && (h = l2, e ? (k2 = Kb(c, f2), null != k2 && g.unshift(tf(c, k2, h))) : e || (k2 = Kb(c, f2), null != k2 && g.push(tf(c, k2, 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() { +} +var 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; +} +var 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; + }); +} +function 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; +} +function 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; +function 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 }; +} +function 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(false), 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 = {}, f2; + for (f2 in c) + e[f2] = b[f2]; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e); + return e; +} +function 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); +} +function cg(a) { + a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Vf; + Xf = H.current; + G(H, a); + G(Wf, Wf.current); + return true; +} +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 = false, gg = false; +function hg(a) { + null === eg ? eg = [a] : eg.push(a); +} +function ig(a) { + fg = true; + hg(a); +} +function jg() { + if (!gg && null !== eg) { + gg = true; + var a = 0, b = C; + try { + var c = eg; + for (C = 1; a < c.length; a++) { + var d = c[a]; + do + d = d(true); + while (null !== d); + } + eg = null; + fg = false; + } catch (e) { + throw null !== eg && (eg = eg.slice(a + 1)), ac(fc, jg), e; + } finally { + C = b, gg = false; + } + } + 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; +} +function 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 f2 = 32 - oc(b) + e; + if (30 < f2) { + var g = e - e % 5; + f2 = (d & (1 << g) - 1).toString(32); + d >>= g; + e -= g; + rg = 1 << 32 - oc(b) + e | c << e | d; + sg = f2 + a; + } else + rg = 1 << f2 | 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 = false, zg = null; +function 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); +} +function 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), true) : false; + case 6: + return b = "" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, xg = a, yg = null, true) : false; + 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 = null, true) : false; + default: + return false; + } +} +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 = false, xg = a); + } + } else { + if (Dg(a)) + throw Error(p(418)); + a.flags = a.flags & -4097 | 2; + I = false; + 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; +} +function Gg(a) { + if (a !== xg) + return false; + if (!I) + return Fg(a), I = true, false; + 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 = null; + } + } else + yg = xg ? Lf(a.stateNode.nextSibling) : null; + return true; +} +function Hg() { + for (var a = yg; a; ) + a = Lf(a.nextSibling); +} +function Ig() { + yg = xg = null; + I = false; +} +function Jg(a) { + null === zg ? zg = [a] : zg.push(a); +} +var Kg = ua.ReactCurrentBatchConfig; +function Lg(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; +} +var Mg = Uf(null), Ng = null, Og = null, Pg = null; +function Qg() { + Pg = Og = Ng = null; +} +function Rg(a) { + var b = Mg.current; + E(Mg); + a._currentValue = b; +} +function Sg(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; + } +} +function Tg(a, b) { + Ng = a; + Pg = Og = null; + a = a.dependencies; + null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (Ug = true), a.firstContext = null); +} +function Vg(a) { + var b = a._currentValue; + if (Pg !== a) + if (a = { context: a, memoizedValue: b, next: null }, null === Og) { + if (null === Ng) + throw Error(p(308)); + Og = a; + Ng.dependencies = { lanes: 0, firstContext: a }; + } else + Og = Og.next = a; + return b; +} +var Wg = null; +function Xg(a) { + null === Wg ? Wg = [a] : Wg.push(a); +} +function Yg(a, b, c, d) { + var e = b.interleaved; + null === e ? (c.next = c, Xg(b)) : (c.next = e.next, e.next = c); + b.interleaved = c; + return Zg(a, d); +} +function Zg(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 $g = false; +function ah(a) { + a.updateQueue = { baseState: a.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null }; +} +function bh(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 ch(a, b) { + return { eventTime: a, lane: b, tag: 0, payload: null, callback: null, next: null }; +} +function dh(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 Zg(a, c); + } + e = d.interleaved; + null === e ? (b.next = b, Xg(d)) : (b.next = e.next, e.next = b); + d.interleaved = b; + return Zg(a, c); +} +function eh(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); + } +} +function fh(a, b) { + var c = a.updateQueue, d = a.alternate; + if (null !== d && (d = d.updateQueue, c === d)) { + var e = null, f2 = 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 === f2 ? e = f2 = g : f2 = f2.next = g; + c = c.next; + } while (null !== c); + null === f2 ? e = f2 = b : f2 = f2.next = b; + } else + e = f2 = b; + c = { baseState: d.baseState, firstBaseUpdate: e, lastBaseUpdate: f2, shared: d.shared, effects: d.effects }; + a.updateQueue = c; + return; + } + a = c.lastBaseUpdate; + null === a ? c.firstBaseUpdate = b : a.next = b; + c.lastBaseUpdate = b; +} +function gh(a, b, c, d) { + var e = a.updateQueue; + $g = false; + var f2 = e.firstBaseUpdate, g = e.lastBaseUpdate, h = e.shared.pending; + if (null !== h) { + e.shared.pending = null; + var k2 = h, l2 = k2.next; + k2.next = null; + null === g ? f2 = l2 : g.next = l2; + g = k2; + var m2 = a.alternate; + null !== m2 && (m2 = m2.updateQueue, h = m2.lastBaseUpdate, h !== g && (null === h ? m2.firstBaseUpdate = l2 : h.next = l2, m2.lastBaseUpdate = k2)); + } + if (null !== f2) { + var q2 = e.baseState; + g = 0; + m2 = l2 = k2 = null; + h = f2; + do { + var r2 = h.lane, y2 = h.eventTime; + if ((d & r2) === r2) { + null !== m2 && (m2 = m2.next = { + eventTime: y2, + lane: 0, + tag: h.tag, + payload: h.payload, + callback: h.callback, + next: null + }); + a: { + var n2 = a, t2 = h; + r2 = b; + y2 = c; + switch (t2.tag) { + case 1: + n2 = t2.payload; + if ("function" === typeof n2) { + q2 = n2.call(y2, q2, r2); + break a; + } + q2 = n2; + break a; + case 3: + n2.flags = n2.flags & -65537 | 128; + case 0: + n2 = t2.payload; + r2 = "function" === typeof n2 ? n2.call(y2, q2, r2) : n2; + if (null === r2 || void 0 === r2) + break a; + q2 = A({}, q2, r2); + break a; + case 2: + $g = true; + } + } + null !== h.callback && 0 !== h.lane && (a.flags |= 64, r2 = e.effects, null === r2 ? e.effects = [h] : r2.push(h)); + } else + y2 = { eventTime: y2, lane: r2, tag: h.tag, payload: h.payload, callback: h.callback, next: null }, null === m2 ? (l2 = m2 = y2, k2 = q2) : m2 = m2.next = y2, g |= r2; + h = h.next; + if (null === h) + if (h = e.shared.pending, null === h) + break; + else + r2 = h, h = r2.next, r2.next = null, e.lastBaseUpdate = r2, e.shared.pending = null; + } while (1); + null === m2 && (k2 = q2); + e.baseState = k2; + e.firstBaseUpdate = l2; + e.lastBaseUpdate = m2; + b = e.shared.interleaved; + if (null !== b) { + e = b; + do + g |= e.lane, e = e.next; + while (e !== b); + } else + null === f2 && (e.shared.lanes = 0); + hh |= g; + a.lanes = g; + a.memoizedState = q2; + } +} +function ih(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 jh = new aa.Component().refs; +function kh(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); +} +var nh = { isMounted: function(a) { + return (a = a._reactInternals) ? Vb(a) === a : false; +}, enqueueSetState: function(a, b, c) { + a = a._reactInternals; + var d = L(), e = lh(a), f2 = ch(d, e); + f2.payload = b; + void 0 !== c && null !== c && (f2.callback = c); + b = dh(a, f2, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); +}, enqueueReplaceState: function(a, b, c) { + a = a._reactInternals; + var d = L(), e = lh(a), f2 = ch(d, e); + f2.tag = 1; + f2.payload = b; + void 0 !== c && null !== c && (f2.callback = c); + b = dh(a, f2, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); +}, enqueueForceUpdate: function(a, b) { + a = a._reactInternals; + var c = L(), d = lh(a), e = ch(c, d); + e.tag = 2; + void 0 !== b && null !== b && (e.callback = b); + b = dh(a, e, d); + null !== b && (mh(b, a, d, c), eh(b, a, d)); +} }; +function oh(a, b, c, d, e, f2, g) { + a = a.stateNode; + return "function" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f2, g) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c, d) || !Ie(e, f2) : true; +} +function ph(a, b, c) { + var d = false, e = Vf; + var f2 = b.contextType; + "object" === typeof f2 && null !== f2 ? f2 = Vg(f2) : (e = Zf(b) ? Xf : H.current, d = b.contextTypes, f2 = (d = null !== d && void 0 !== d) ? Yf(a, e) : Vf); + b = new b(c, f2); + a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null; + b.updater = nh; + a.stateNode = b; + b._reactInternals = a; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f2); + return b; +} +function qh(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 && nh.enqueueReplaceState(b, b.state, null); +} +function rh(a, b, c, d) { + var e = a.stateNode; + e.props = c; + e.state = a.memoizedState; + e.refs = jh; + ah(a); + var f2 = b.contextType; + "object" === typeof f2 && null !== f2 ? e.context = Vg(f2) : (f2 = Zf(b) ? Xf : H.current, e.context = Yf(a, f2)); + e.state = a.memoizedState; + f2 = b.getDerivedStateFromProps; + "function" === typeof f2 && (kh(a, b, f2, 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, "function" === typeof e.componentWillMount && e.componentWillMount(), "function" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && nh.enqueueReplaceState(e, e.state, null), gh(a, c, e, d), e.state = a.memoizedState); + "function" === typeof e.componentDidMount && (a.flags |= 4194308); +} +function sh(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, f2 = "" + a; + if (null !== b && null !== b.ref && "function" === typeof b.ref && b.ref._stringRef === f2) + return b.ref; + b = function(a2) { + var b2 = e.refs; + b2 === jh && (b2 = e.refs = {}); + null === a2 ? delete b2[f2] : b2[f2] = a2; + }; + b._stringRef = f2; + return b; + } + if ("string" !== typeof a) + throw Error(p(284)); + if (!c._owner) + throw Error(p(290, a)); + } + return a; +} +function th(a, b) { + a = Object.prototype.toString.call(b); + throw Error(p(31, "[object Object]" === a ? "object with keys {" + Object.keys(b).join(", ") + "}" : a)); +} +function uh(a) { + var b = a._init; + return b(a._payload); +} +function vh(a) { + function b(b2, c2) { + if (a) { + var d2 = b2.deletions; + null === d2 ? (b2.deletions = [c2], b2.flags |= 16) : d2.push(c2); + } + } + function c(c2, d2) { + if (!a) + return null; + for (; null !== d2; ) + b(c2, d2), d2 = d2.sibling; + return null; + } + function d(a2, b2) { + for (a2 = /* @__PURE__ */ new Map(); null !== b2; ) + null !== b2.key ? a2.set(b2.key, b2) : a2.set(b2.index, b2), b2 = b2.sibling; + return a2; + } + function e(a2, b2) { + a2 = wh(a2, b2); + a2.index = 0; + a2.sibling = null; + return a2; + } + function f2(b2, c2, d2) { + b2.index = d2; + if (!a) + return b2.flags |= 1048576, c2; + d2 = b2.alternate; + if (null !== d2) + return d2 = d2.index, d2 < c2 ? (b2.flags |= 2, c2) : d2; + b2.flags |= 2; + return c2; + } + function g(b2) { + a && null === b2.alternate && (b2.flags |= 2); + return b2; + } + function h(a2, b2, c2, d2) { + if (null === b2 || 6 !== b2.tag) + return b2 = xh(c2, a2.mode, d2), b2.return = a2, b2; + b2 = e(b2, c2); + b2.return = a2; + return b2; + } + function k2(a2, b2, c2, d2) { + var f3 = c2.type; + if (f3 === ya) + return m2(a2, b2, c2.props.children, d2, c2.key); + if (null !== b2 && (b2.elementType === f3 || "object" === typeof f3 && null !== f3 && f3.$$typeof === Ha && uh(f3) === b2.type)) + return d2 = e(b2, c2.props), d2.ref = sh(a2, b2, c2), d2.return = a2, d2; + d2 = yh(c2.type, c2.key, c2.props, null, a2.mode, d2); + d2.ref = sh(a2, b2, c2); + d2.return = a2; + return d2; + } + function l2(a2, b2, c2, d2) { + if (null === b2 || 4 !== b2.tag || b2.stateNode.containerInfo !== c2.containerInfo || b2.stateNode.implementation !== c2.implementation) + return b2 = zh(c2, a2.mode, d2), b2.return = a2, b2; + b2 = e(b2, c2.children || []); + b2.return = a2; + return b2; + } + function m2(a2, b2, c2, d2, f3) { + if (null === b2 || 7 !== b2.tag) + return b2 = Ah(c2, a2.mode, d2, f3), b2.return = a2, b2; + b2 = e(b2, c2); + b2.return = a2; + return b2; + } + function q2(a2, b2, c2) { + if ("string" === typeof b2 && "" !== b2 || "number" === typeof b2) + return b2 = xh("" + b2, a2.mode, c2), b2.return = a2, b2; + if ("object" === typeof b2 && null !== b2) { + switch (b2.$$typeof) { + case va: + return c2 = yh(b2.type, b2.key, b2.props, null, a2.mode, c2), c2.ref = sh(a2, null, b2), c2.return = a2, c2; + case wa: + return b2 = zh(b2, a2.mode, c2), b2.return = a2, b2; + case Ha: + var d2 = b2._init; + return q2(a2, d2(b2._payload), c2); + } + if (eb(b2) || Ka(b2)) + return b2 = Ah(b2, a2.mode, c2, null), b2.return = a2, b2; + th(a2, b2); + } + return null; + } + function r2(a2, b2, c2, d2) { + var e2 = null !== b2 ? b2.key : null; + if ("string" === typeof c2 && "" !== c2 || "number" === typeof c2) + return null !== e2 ? null : h(a2, b2, "" + c2, d2); + if ("object" === typeof c2 && null !== c2) { + switch (c2.$$typeof) { + case va: + return c2.key === e2 ? k2(a2, b2, c2, d2) : null; + case wa: + return c2.key === e2 ? l2(a2, b2, c2, d2) : null; + case Ha: + return e2 = c2._init, r2( + a2, + b2, + e2(c2._payload), + d2 + ); + } + if (eb(c2) || Ka(c2)) + return null !== e2 ? null : m2(a2, b2, c2, d2, null); + th(a2, c2); + } + return null; + } + function y2(a2, b2, c2, d2, e2) { + if ("string" === typeof d2 && "" !== d2 || "number" === typeof d2) + return a2 = a2.get(c2) || null, h(b2, a2, "" + d2, e2); + if ("object" === typeof d2 && null !== d2) { + switch (d2.$$typeof) { + case va: + return a2 = a2.get(null === d2.key ? c2 : d2.key) || null, k2(b2, a2, d2, e2); + case wa: + return a2 = a2.get(null === d2.key ? c2 : d2.key) || null, l2(b2, a2, d2, e2); + case Ha: + var f3 = d2._init; + return y2(a2, b2, c2, f3(d2._payload), e2); + } + if (eb(d2) || Ka(d2)) + return a2 = a2.get(c2) || null, m2(b2, a2, d2, e2, null); + th(b2, d2); + } + return null; + } + function n2(e2, g2, h2, k3) { + for (var l3 = null, m3 = null, u2 = g2, w2 = g2 = 0, x2 = null; null !== u2 && w2 < h2.length; w2++) { + u2.index > w2 ? (x2 = u2, u2 = null) : x2 = u2.sibling; + var n3 = r2(e2, u2, h2[w2], k3); + if (null === n3) { + null === u2 && (u2 = x2); + break; + } + a && u2 && null === n3.alternate && b(e2, u2); + g2 = f2(n3, g2, w2); + null === m3 ? l3 = n3 : m3.sibling = n3; + m3 = n3; + u2 = x2; + } + if (w2 === h2.length) + return c(e2, u2), I && tg(e2, w2), l3; + if (null === u2) { + for (; w2 < h2.length; w2++) + u2 = q2(e2, h2[w2], k3), null !== u2 && (g2 = f2(u2, g2, w2), null === m3 ? l3 = u2 : m3.sibling = u2, m3 = u2); + I && tg(e2, w2); + return l3; + } + for (u2 = d(e2, u2); w2 < h2.length; w2++) + x2 = y2(u2, e2, w2, h2[w2], k3), null !== x2 && (a && null !== x2.alternate && u2.delete(null === x2.key ? w2 : x2.key), g2 = f2(x2, g2, w2), null === m3 ? l3 = x2 : m3.sibling = x2, m3 = x2); + a && u2.forEach(function(a2) { + return b(e2, a2); + }); + I && tg(e2, w2); + return l3; + } + function t2(e2, g2, h2, k3) { + var l3 = Ka(h2); + if ("function" !== typeof l3) + throw Error(p(150)); + h2 = l3.call(h2); + if (null == h2) + throw Error(p(151)); + for (var u2 = l3 = null, m3 = g2, w2 = g2 = 0, x2 = null, n3 = h2.next(); null !== m3 && !n3.done; w2++, n3 = h2.next()) { + m3.index > w2 ? (x2 = m3, m3 = null) : x2 = m3.sibling; + var t3 = r2(e2, m3, n3.value, k3); + if (null === t3) { + null === m3 && (m3 = x2); + break; + } + a && m3 && null === t3.alternate && b(e2, m3); + g2 = f2(t3, g2, w2); + null === u2 ? l3 = t3 : u2.sibling = t3; + u2 = t3; + m3 = x2; + } + if (n3.done) + return c( + e2, + m3 + ), I && tg(e2, w2), l3; + if (null === m3) { + for (; !n3.done; w2++, n3 = h2.next()) + n3 = q2(e2, n3.value, k3), null !== n3 && (g2 = f2(n3, g2, w2), null === u2 ? l3 = n3 : u2.sibling = n3, u2 = n3); + I && tg(e2, w2); + return l3; + } + for (m3 = d(e2, m3); !n3.done; w2++, n3 = h2.next()) + n3 = y2(m3, e2, w2, n3.value, k3), null !== n3 && (a && null !== n3.alternate && m3.delete(null === n3.key ? w2 : n3.key), g2 = f2(n3, g2, w2), null === u2 ? l3 = n3 : u2.sibling = n3, u2 = n3); + a && m3.forEach(function(a2) { + return b(e2, a2); + }); + I && tg(e2, w2); + return l3; + } + function J2(a2, d2, f3, h2) { + "object" === typeof f3 && null !== f3 && f3.type === ya && null === f3.key && (f3 = f3.props.children); + if ("object" === typeof f3 && null !== f3) { + switch (f3.$$typeof) { + case va: + a: { + for (var k3 = f3.key, l3 = d2; null !== l3; ) { + if (l3.key === k3) { + k3 = f3.type; + if (k3 === ya) { + if (7 === l3.tag) { + c(a2, l3.sibling); + d2 = e(l3, f3.props.children); + d2.return = a2; + a2 = d2; + break a; + } + } else if (l3.elementType === k3 || "object" === typeof k3 && null !== k3 && k3.$$typeof === Ha && uh(k3) === l3.type) { + c(a2, l3.sibling); + d2 = e(l3, f3.props); + d2.ref = sh(a2, l3, f3); + d2.return = a2; + a2 = d2; + break a; + } + c(a2, l3); + break; + } else + b(a2, l3); + l3 = l3.sibling; + } + f3.type === ya ? (d2 = Ah(f3.props.children, a2.mode, h2, f3.key), d2.return = a2, a2 = d2) : (h2 = yh(f3.type, f3.key, f3.props, null, a2.mode, h2), h2.ref = sh(a2, d2, f3), h2.return = a2, a2 = h2); + } + return g(a2); + case wa: + a: { + for (l3 = f3.key; null !== d2; ) { + if (d2.key === l3) + if (4 === d2.tag && d2.stateNode.containerInfo === f3.containerInfo && d2.stateNode.implementation === f3.implementation) { + c(a2, d2.sibling); + d2 = e(d2, f3.children || []); + d2.return = a2; + a2 = d2; + break a; + } else { + c(a2, d2); + break; + } + else + b(a2, d2); + d2 = d2.sibling; + } + d2 = zh(f3, a2.mode, h2); + d2.return = a2; + a2 = d2; + } + return g(a2); + case Ha: + return l3 = f3._init, J2(a2, d2, l3(f3._payload), h2); + } + if (eb(f3)) + return n2(a2, d2, f3, h2); + if (Ka(f3)) + return t2(a2, d2, f3, h2); + th(a2, f3); + } + return "string" === typeof f3 && "" !== f3 || "number" === typeof f3 ? (f3 = "" + f3, null !== d2 && 6 === d2.tag ? (c(a2, d2.sibling), d2 = e(d2, f3), d2.return = a2, a2 = d2) : (c(a2, d2), d2 = xh(f3, a2.mode, h2), d2.return = a2, a2 = d2), g(a2)) : c(a2, d2); + } + return J2; +} +var Bh = vh(true), Ch = vh(false), Dh = {}, Eh = Uf(Dh), Fh = Uf(Dh), Gh = Uf(Dh); +function Hh(a) { + if (a === Dh) + throw Error(p(174)); + return a; +} +function Ih(a, b) { + G(Gh, b); + G(Fh, a); + G(Eh, Dh); + 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(Eh); + G(Eh, b); +} +function Jh() { + E(Eh); + E(Fh); + E(Gh); +} +function Kh(a) { + Hh(Gh.current); + var b = Hh(Eh.current); + var c = lb(b, a.type); + b !== c && (G(Fh, a), G(Eh, c)); +} +function Lh(a) { + Fh.current === a && (E(Eh), E(Fh)); +} +var M = Uf(0); +function Mh(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 Nh = []; +function Oh() { + for (var a = 0; a < Nh.length; a++) + Nh[a]._workInProgressVersionPrimary = null; + Nh.length = 0; +} +var Ph = ua.ReactCurrentDispatcher, Qh = ua.ReactCurrentBatchConfig, Rh = 0, N = null, O = null, P = null, Sh = false, Th = false, Uh = 0, Vh = 0; +function Q() { + throw Error(p(321)); +} +function Wh(a, b) { + if (null === b) + return false; + for (var c = 0; c < b.length && c < a.length; c++) + if (!He(a[c], b[c])) + return false; + return true; +} +function Xh(a, b, c, d, e, f2) { + Rh = f2; + N = b; + b.memoizedState = null; + b.updateQueue = null; + b.lanes = 0; + Ph.current = null === a || null === a.memoizedState ? Yh : Zh; + a = c(d, e); + if (Th) { + f2 = 0; + do { + Th = false; + Uh = 0; + if (25 <= f2) + throw Error(p(301)); + f2 += 1; + P = O = null; + b.updateQueue = null; + Ph.current = $h; + a = c(d, e); + } while (Th); + } + Ph.current = ai; + b = null !== O && null !== O.next; + Rh = 0; + P = O = N = null; + Sh = false; + if (b) + throw Error(p(300)); + return a; +} +function bi() { + var a = 0 !== Uh; + Uh = 0; + return a; +} +function ci() { + var a = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; + null === P ? N.memoizedState = P = a : P = P.next = a; + return P; +} +function di() { + if (null === O) { + var a = N.alternate; + a = null !== a ? a.memoizedState : null; + } else + a = O.next; + var b = null === P ? N.memoizedState : P.next; + if (null !== b) + P = b, O = a; + else { + if (null === a) + throw Error(p(310)); + O = a; + a = { memoizedState: O.memoizedState, baseState: O.baseState, baseQueue: O.baseQueue, queue: O.queue, next: null }; + null === P ? N.memoizedState = P = a : P = P.next = a; + } + return P; +} +function ei(a, b) { + return "function" === typeof b ? b(a) : b; +} +function fi(a) { + var b = di(), c = b.queue; + if (null === c) + throw Error(p(311)); + c.lastRenderedReducer = a; + var d = O, e = d.baseQueue, f2 = c.pending; + if (null !== f2) { + if (null !== e) { + var g = e.next; + e.next = f2.next; + f2.next = g; + } + d.baseQueue = e = f2; + c.pending = null; + } + if (null !== e) { + f2 = e.next; + d = d.baseState; + var h = g = null, k2 = null, l2 = f2; + do { + var m2 = l2.lane; + if ((Rh & m2) === m2) + null !== k2 && (k2 = k2.next = { lane: 0, action: l2.action, hasEagerState: l2.hasEagerState, eagerState: l2.eagerState, next: null }), d = l2.hasEagerState ? l2.eagerState : a(d, l2.action); + else { + var q2 = { + lane: m2, + action: l2.action, + hasEagerState: l2.hasEagerState, + eagerState: l2.eagerState, + next: null + }; + null === k2 ? (h = k2 = q2, g = d) : k2 = k2.next = q2; + N.lanes |= m2; + hh |= m2; + } + l2 = l2.next; + } while (null !== l2 && l2 !== f2); + null === k2 ? g = d : k2.next = h; + He(d, b.memoizedState) || (Ug = true); + b.memoizedState = d; + b.baseState = g; + b.baseQueue = k2; + c.lastRenderedState = d; + } + a = c.interleaved; + if (null !== a) { + e = a; + do + f2 = e.lane, N.lanes |= f2, hh |= f2, e = e.next; + while (e !== a); + } else + null === e && (c.lanes = 0); + return [b.memoizedState, c.dispatch]; +} +function gi(a) { + var b = di(), c = b.queue; + if (null === c) + throw Error(p(311)); + c.lastRenderedReducer = a; + var d = c.dispatch, e = c.pending, f2 = b.memoizedState; + if (null !== e) { + c.pending = null; + var g = e = e.next; + do + f2 = a(f2, g.action), g = g.next; + while (g !== e); + He(f2, b.memoizedState) || (Ug = true); + b.memoizedState = f2; + null === b.baseQueue && (b.baseState = f2); + c.lastRenderedState = f2; + } + return [f2, d]; +} +function hi() { +} +function ii(a, b) { + var c = N, d = di(), e = b(), f2 = !He(d.memoizedState, e); + f2 && (d.memoizedState = e, Ug = true); + d = d.queue; + ji(ki.bind(null, c, d, a), [a]); + if (d.getSnapshot !== b || f2 || null !== P && P.memoizedState.tag & 1) { + c.flags |= 2048; + li(9, mi.bind(null, c, d, e, b), void 0, null); + if (null === R) + throw Error(p(349)); + 0 !== (Rh & 30) || ni(c, b, e); + } + return e; +} +function ni(a, b, c) { + a.flags |= 16384; + a = { getSnapshot: b, value: c }; + b = N.updateQueue; + null === b ? (b = { lastEffect: null, stores: null }, N.updateQueue = b, b.stores = [a]) : (c = b.stores, null === c ? b.stores = [a] : c.push(a)); +} +function mi(a, b, c, d) { + b.value = c; + b.getSnapshot = d; + oi(b) && pi(a); +} +function ki(a, b, c) { + return c(function() { + oi(b) && pi(a); + }); +} +function oi(a) { + var b = a.getSnapshot; + a = a.value; + try { + var c = b(); + return !He(a, c); + } catch (d) { + return true; + } +} +function pi(a) { + var b = Zg(a, 1); + null !== b && mh(b, a, 1, -1); +} +function qi(a) { + var b = ci(); + "function" === typeof a && (a = a()); + b.memoizedState = b.baseState = a; + a = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ei, lastRenderedState: a }; + b.queue = a; + a = a.dispatch = ri.bind(null, N, a); + return [b.memoizedState, a]; +} +function li(a, b, c, d) { + a = { tag: a, create: b, destroy: c, deps: d, next: null }; + b = N.updateQueue; + null === b ? (b = { lastEffect: null, stores: null }, N.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 si() { + return di().memoizedState; +} +function ti(a, b, c, d) { + var e = ci(); + N.flags |= a; + e.memoizedState = li(1 | b, c, void 0, void 0 === d ? null : d); +} +function ui(a, b, c, d) { + var e = di(); + d = void 0 === d ? null : d; + var f2 = void 0; + if (null !== O) { + var g = O.memoizedState; + f2 = g.destroy; + if (null !== d && Wh(d, g.deps)) { + e.memoizedState = li(b, c, f2, d); + return; + } + } + N.flags |= a; + e.memoizedState = li(1 | b, c, f2, d); +} +function vi(a, b) { + return ti(8390656, 8, a, b); +} +function ji(a, b) { + return ui(2048, 8, a, b); +} +function wi(a, b) { + return ui(4, 2, a, b); +} +function xi(a, b) { + return ui(4, 4, a, b); +} +function yi(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 zi(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ui(4, 4, yi.bind(null, b, a), c); +} +function Ai() { +} +function Bi(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) + return d[0]; + c.memoizedState = [a, b]; + return a; +} +function Ci(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) + return d[0]; + a = a(); + c.memoizedState = [a, b]; + return a; +} +function Di(a, b, c) { + if (0 === (Rh & 21)) + return a.baseState && (a.baseState = false, Ug = true), a.memoizedState = c; + He(c, b) || (c = yc(), N.lanes |= c, hh |= c, a.baseState = true); + return b; +} +function Ei(a, b) { + var c = C; + C = 0 !== c && 4 > c ? c : 4; + a(true); + var d = Qh.transition; + Qh.transition = {}; + try { + a(false), b(); + } finally { + C = c, Qh.transition = d; + } +} +function Fi() { + return di().memoizedState; +} +function Gi(a, b, c) { + var d = lh(a); + c = { lane: d, action: c, hasEagerState: false, eagerState: null, next: null }; + if (Hi(a)) + Ii(b, c); + else if (c = Yg(a, b, c, d), null !== c) { + var e = L(); + mh(c, a, d, e); + Ji(c, b, d); + } +} +function ri(a, b, c) { + var d = lh(a), e = { lane: d, action: c, hasEagerState: false, eagerState: null, next: null }; + if (Hi(a)) + Ii(b, e); + else { + var f2 = a.alternate; + if (0 === a.lanes && (null === f2 || 0 === f2.lanes) && (f2 = b.lastRenderedReducer, null !== f2)) + try { + var g = b.lastRenderedState, h = f2(g, c); + e.hasEagerState = true; + e.eagerState = h; + if (He(h, g)) { + var k2 = b.interleaved; + null === k2 ? (e.next = e, Xg(b)) : (e.next = k2.next, k2.next = e); + b.interleaved = e; + return; + } + } catch (l2) { + } finally { + } + c = Yg(a, b, e, d); + null !== c && (e = L(), mh(c, a, d, e), Ji(c, b, d)); + } +} +function Hi(a) { + var b = a.alternate; + return a === N || null !== b && b === N; +} +function Ii(a, b) { + Th = Sh = true; + var c = a.pending; + null === c ? b.next = b : (b.next = c.next, c.next = b); + a.pending = b; +} +function Ji(a, b, c) { + if (0 !== (c & 4194240)) { + var d = b.lanes; + d &= a.pendingLanes; + c |= d; + b.lanes = c; + Cc(a, c); + } +} +var ai = { readContext: Vg, useCallback: Q, useContext: Q, useEffect: Q, useImperativeHandle: Q, useInsertionEffect: Q, useLayoutEffect: Q, useMemo: Q, useReducer: Q, useRef: Q, useState: Q, useDebugValue: Q, useDeferredValue: Q, useTransition: Q, useMutableSource: Q, useSyncExternalStore: Q, useId: Q, unstable_isNewReconciler: false }, Yh = { readContext: Vg, useCallback: function(a, b) { + ci().memoizedState = [a, void 0 === b ? null : b]; + return a; +}, useContext: Vg, useEffect: vi, useImperativeHandle: function(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ti( + 4194308, + 4, + yi.bind(null, b, a), + c + ); +}, useLayoutEffect: function(a, b) { + return ti(4194308, 4, a, b); +}, useInsertionEffect: function(a, b) { + return ti(4, 2, a, b); +}, useMemo: function(a, b) { + var c = ci(); + b = void 0 === b ? null : b; + a = a(); + c.memoizedState = [a, b]; + return a; +}, useReducer: function(a, b, c) { + var d = ci(); + 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 = Gi.bind(null, N, a); + return [d.memoizedState, a]; +}, useRef: function(a) { + var b = ci(); + a = { current: a }; + return b.memoizedState = a; +}, useState: qi, useDebugValue: Ai, useDeferredValue: function(a) { + return ci().memoizedState = a; +}, useTransition: function() { + var a = qi(false), b = a[0]; + a = Ei.bind(null, a[1]); + ci().memoizedState = a; + return [b, a]; +}, useMutableSource: function() { +}, useSyncExternalStore: function(a, b, c) { + var d = N, e = ci(); + if (I) { + if (void 0 === c) + throw Error(p(407)); + c = c(); + } else { + c = b(); + if (null === R) + throw Error(p(349)); + 0 !== (Rh & 30) || ni(d, b, c); + } + e.memoizedState = c; + var f2 = { value: c, getSnapshot: b }; + e.queue = f2; + vi(ki.bind( + null, + d, + f2, + a + ), [a]); + d.flags |= 2048; + li(9, mi.bind(null, d, f2, c, b), void 0, null); + return c; +}, useId: function() { + var a = ci(), b = R.identifierPrefix; + if (I) { + var c = sg; + var d = rg; + c = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c; + b = ":" + b + "R" + c; + c = Uh++; + 0 < c && (b += "H" + c.toString(32)); + b += ":"; + } else + c = Vh++, b = ":" + b + "r" + c.toString(32) + ":"; + return a.memoizedState = b; +}, unstable_isNewReconciler: false }, Zh = { + readContext: Vg, + useCallback: Bi, + useContext: Vg, + useEffect: ji, + useImperativeHandle: zi, + useInsertionEffect: wi, + useLayoutEffect: xi, + useMemo: Ci, + useReducer: fi, + useRef: si, + useState: function() { + return fi(ei); + }, + useDebugValue: Ai, + useDeferredValue: function(a) { + var b = di(); + return Di(b, O.memoizedState, a); + }, + useTransition: function() { + var a = fi(ei)[0], b = di().memoizedState; + return [a, b]; + }, + useMutableSource: hi, + useSyncExternalStore: ii, + useId: Fi, + unstable_isNewReconciler: false +}, $h = { readContext: Vg, useCallback: Bi, useContext: Vg, useEffect: ji, useImperativeHandle: zi, useInsertionEffect: wi, useLayoutEffect: xi, useMemo: Ci, useReducer: gi, useRef: si, useState: function() { + return gi(ei); +}, useDebugValue: Ai, useDeferredValue: function(a) { + var b = di(); + return null === O ? b.memoizedState = a : Di(b, O.memoizedState, a); +}, useTransition: function() { + var a = gi(ei)[0], b = di().memoizedState; + return [a, b]; +}, useMutableSource: hi, useSyncExternalStore: ii, useId: Fi, unstable_isNewReconciler: false }; +function Ki(a, b) { + try { + var c = "", d = b; + do + c += Pa(d), d = d.return; + while (d); + var e = c; + } catch (f2) { + e = "\nError generating stack: " + f2.message + "\n" + f2.stack; + } + return { value: a, source: b, stack: e, digest: null }; +} +function Li(a, b, c) { + return { value: a, source: null, stack: null != c ? c : null, digest: null != b ? b : null }; +} +function Mi(a, b) { + try { + console.error(b.value); + } catch (c) { + setTimeout(function() { + throw c; + }); + } +} +var Ni = "function" === typeof WeakMap ? WeakMap : Map; +function Oi(a, b, c) { + c = ch(-1, c); + c.tag = 3; + c.payload = { element: null }; + var d = b.value; + c.callback = function() { + Pi || (Pi = true, Qi = d); + Mi(a, b); + }; + return c; +} +function Ri(a, b, c) { + c = ch(-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() { + Mi(a, b); + }; + } + var f2 = a.stateNode; + null !== f2 && "function" === typeof f2.componentDidCatch && (c.callback = function() { + Mi(a, b); + "function" !== typeof d && (null === Si ? Si = /* @__PURE__ */ new Set([this]) : Si.add(this)); + var c2 = b.stack; + this.componentDidCatch(b.value, { componentStack: null !== c2 ? c2 : "" }); + }); + return c; +} +function Ti(a, b, c) { + var d = a.pingCache; + if (null === d) { + d = a.pingCache = new Ni(); + var e = /* @__PURE__ */ new Set(); + d.set(b, e); + } else + e = d.get(b), void 0 === e && (e = /* @__PURE__ */ new Set(), d.set(b, e)); + e.has(c) || (e.add(c), a = Ui.bind(null, a, b, c), b.then(a, a)); +} +function Vi(a) { + do { + var b; + if (b = 13 === a.tag) + b = a.memoizedState, b = null !== b ? null !== b.dehydrated ? true : false : true; + if (b) + return a; + a = a.return; + } while (null !== a); + return null; +} +function Wi(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 = ch(-1, 1), b.tag = 2, dh(c, b, 1))), c.lanes |= 1), a; + a.flags |= 65536; + a.lanes = e; + return a; +} +var Xi = ua.ReactCurrentOwner, Ug = false; +function Yi(a, b, c, d) { + b.child = null === a ? Ch(b, null, c, d) : Bh(b, a.child, c, d); +} +function Zi(a, b, c, d, e) { + c = c.render; + var f2 = b.ref; + Tg(b, e); + d = Xh(a, b, c, d, f2, e); + c = bi(); + if (null !== a && !Ug) + return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && c && vg(b); + b.flags |= 1; + Yi(a, b, d, e); + return b.child; +} +function aj(a, b, c, d, e) { + if (null === a) { + var f2 = c.type; + if ("function" === typeof f2 && !bj(f2) && void 0 === f2.defaultProps && null === c.compare && void 0 === c.defaultProps) + return b.tag = 15, b.type = f2, cj(a, b, f2, d, e); + a = yh(c.type, null, d, b, b.mode, e); + a.ref = b.ref; + a.return = b; + return b.child = a; + } + f2 = a.child; + if (0 === (a.lanes & e)) { + var g = f2.memoizedProps; + c = c.compare; + c = null !== c ? c : Ie; + if (c(g, d) && a.ref === b.ref) + return $i(a, b, e); + } + b.flags |= 1; + a = wh(f2, d); + a.ref = b.ref; + a.return = b; + return b.child = a; +} +function cj(a, b, c, d, e) { + if (null !== a) { + var f2 = a.memoizedProps; + if (Ie(f2, d) && a.ref === b.ref) + if (Ug = false, b.pendingProps = d = f2, 0 !== (a.lanes & e)) + 0 !== (a.flags & 131072) && (Ug = true); + else + return b.lanes = a.lanes, $i(a, b, e); + } + return dj(a, b, c, d, e); +} +function ej(a, b, c) { + var d = b.pendingProps, e = d.children, f2 = null !== a ? a.memoizedState : null; + if ("hidden" === d.mode) + if (0 === (b.mode & 1)) + b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, G(fj, gj), gj |= c; + else { + if (0 === (c & 1073741824)) + return a = null !== f2 ? f2.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = { baseLanes: a, cachePool: null, transitions: null }, b.updateQueue = null, G(fj, gj), gj |= a, null; + b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }; + d = null !== f2 ? f2.baseLanes : c; + G(fj, gj); + gj |= d; + } + else + null !== f2 ? (d = f2.baseLanes | c, b.memoizedState = null) : d = c, G(fj, gj), gj |= d; + Yi(a, b, e, c); + return b.child; +} +function hj(a, b) { + var c = b.ref; + if (null === a && null !== c || null !== a && a.ref !== c) + b.flags |= 512, b.flags |= 2097152; +} +function dj(a, b, c, d, e) { + var f2 = Zf(c) ? Xf : H.current; + f2 = Yf(b, f2); + Tg(b, e); + c = Xh(a, b, c, d, f2, e); + d = bi(); + if (null !== a && !Ug) + return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && d && vg(b); + b.flags |= 1; + Yi(a, b, c, e); + return b.child; +} +function ij(a, b, c, d, e) { + if (Zf(c)) { + var f2 = true; + cg(b); + } else + f2 = false; + Tg(b, e); + if (null === b.stateNode) + jj(a, b), ph(b, c, d), rh(b, c, d, e), d = true; + else if (null === a) { + var g = b.stateNode, h = b.memoizedProps; + g.props = h; + var k2 = g.context, l2 = c.contextType; + "object" === typeof l2 && null !== l2 ? l2 = Vg(l2) : (l2 = Zf(c) ? Xf : H.current, l2 = Yf(b, l2)); + var m2 = c.getDerivedStateFromProps, q2 = "function" === typeof m2 || "function" === typeof g.getSnapshotBeforeUpdate; + q2 || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== d || k2 !== l2) && qh(b, g, d, l2); + $g = false; + var r2 = b.memoizedState; + g.state = r2; + gh(b, d, g, e); + k2 = b.memoizedState; + h !== d || r2 !== k2 || Wf.current || $g ? ("function" === typeof m2 && (kh(b, c, m2, d), k2 = b.memoizedState), (h = $g || oh(b, c, h, d, r2, k2, l2)) ? (q2 || "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)) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k2), g.props = d, g.state = k2, g.context = l2, d = h) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), d = false); + } else { + g = b.stateNode; + bh(a, b); + h = b.memoizedProps; + l2 = b.type === b.elementType ? h : Lg(b.type, h); + g.props = l2; + q2 = b.pendingProps; + r2 = g.context; + k2 = c.contextType; + "object" === typeof k2 && null !== k2 ? k2 = Vg(k2) : (k2 = Zf(c) ? Xf : H.current, k2 = Yf(b, k2)); + var y2 = c.getDerivedStateFromProps; + (m2 = "function" === typeof y2 || "function" === typeof g.getSnapshotBeforeUpdate) || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== q2 || r2 !== k2) && qh(b, g, d, k2); + $g = false; + r2 = b.memoizedState; + g.state = r2; + gh(b, d, g, e); + var n2 = b.memoizedState; + h !== q2 || r2 !== n2 || Wf.current || $g ? ("function" === typeof y2 && (kh(b, c, y2, d), n2 = b.memoizedState), (l2 = $g || oh(b, c, l2, d, r2, n2, k2) || false) ? (m2 || "function" !== typeof g.UNSAFE_componentWillUpdate && "function" !== typeof g.componentWillUpdate || ("function" === typeof g.componentWillUpdate && g.componentWillUpdate(d, n2, k2), "function" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, n2, k2)), "function" === typeof g.componentDidUpdate && (b.flags |= 4), "function" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 1024)) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r2 === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r2 === a.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n2), g.props = d, g.state = n2, g.context = k2, d = l2) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r2 === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r2 === a.memoizedState || (b.flags |= 1024), d = false); + } + return kj(a, b, c, d, f2, e); +} +function kj(a, b, c, d, e, f2) { + hj(a, b); + var g = 0 !== (b.flags & 128); + if (!d && !g) + return e && dg(b, c, false), $i(a, b, f2); + d = b.stateNode; + Xi.current = b; + var h = g && "function" !== typeof c.getDerivedStateFromError ? null : d.render(); + b.flags |= 1; + null !== a && g ? (b.child = Bh(b, a.child, null, f2), b.child = Bh(b, null, h, f2)) : Yi(a, b, h, f2); + b.memoizedState = d.state; + e && dg(b, c, true); + return b.child; +} +function lj(a) { + var b = a.stateNode; + b.pendingContext ? ag(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a, b.context, false); + Ih(a, b.containerInfo); +} +function mj(a, b, c, d, e) { + Ig(); + Jg(e); + b.flags |= 256; + Yi(a, b, c, d); + return b.child; +} +var nj = { dehydrated: null, treeContext: null, retryLane: 0 }; +function oj(a) { + return { baseLanes: a, cachePool: null, transitions: null }; +} +function pj(a, b, c) { + var d = b.pendingProps, e = M.current, f2 = false, g = 0 !== (b.flags & 128), h; + (h = g) || (h = null !== a && null === a.memoizedState ? false : 0 !== (e & 2)); + if (h) + f2 = true, b.flags &= -129; + else if (null === a || null !== a.memoizedState) + e |= 1; + G(M, 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 f2 ? (d = b.mode, f2 = b.child, g = { mode: "hidden", children: g }, 0 === (d & 1) && null !== f2 ? (f2.childLanes = 0, f2.pendingProps = g) : f2 = qj(g, d, 0, null), a = Ah(a, d, c, null), f2.return = b, a.return = b, f2.sibling = a, b.child = f2, b.child.memoizedState = oj(c), b.memoizedState = nj, a) : rj(b, g); + } + e = a.memoizedState; + if (null !== e && (h = e.dehydrated, null !== h)) + return sj(a, b, g, d, h, e, c); + if (f2) { + f2 = d.fallback; + g = b.mode; + e = a.child; + h = e.sibling; + var k2 = { mode: "hidden", children: d.children }; + 0 === (g & 1) && b.child !== e ? (d = b.child, d.childLanes = 0, d.pendingProps = k2, b.deletions = null) : (d = wh(e, k2), d.subtreeFlags = e.subtreeFlags & 14680064); + null !== h ? f2 = wh(h, f2) : (f2 = Ah(f2, g, c, null), f2.flags |= 2); + f2.return = b; + d.return = b; + d.sibling = f2; + b.child = d; + d = f2; + f2 = b.child; + g = a.child.memoizedState; + g = null === g ? oj(c) : { baseLanes: g.baseLanes | c, cachePool: null, transitions: g.transitions }; + f2.memoizedState = g; + f2.childLanes = a.childLanes & ~c; + b.memoizedState = nj; + return d; + } + f2 = a.child; + a = f2.sibling; + d = wh(f2, { 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; +} +function rj(a, b) { + b = qj({ mode: "visible", children: b }, a.mode, 0, null); + b.return = a; + return a.child = b; +} +function tj(a, b, c, d) { + null !== d && Jg(d); + Bh(b, a.child, null, c); + a = rj(b, b.pendingProps.children); + a.flags |= 2; + b.memoizedState = null; + return a; +} +function sj(a, b, c, d, e, f2, g) { + if (c) { + if (b.flags & 256) + return b.flags &= -257, d = Li(Error(p(422))), tj(a, b, g, d); + if (null !== b.memoizedState) + return b.child = a.child, b.flags |= 128, null; + f2 = d.fallback; + e = b.mode; + d = qj({ mode: "visible", children: d.children }, e, 0, null); + f2 = Ah(f2, e, g, null); + f2.flags |= 2; + d.return = b; + f2.return = b; + d.sibling = f2; + b.child = d; + 0 !== (b.mode & 1) && Bh(b, a.child, null, g); + b.child.memoizedState = oj(g); + b.memoizedState = nj; + return f2; + } + if (0 === (b.mode & 1)) + return tj(a, b, g, null); + if ("$!" === e.data) { + d = e.nextSibling && e.nextSibling.dataset; + if (d) + var h = d.dgst; + d = h; + f2 = Error(p(419)); + d = Li(f2, d, void 0); + return tj(a, b, g, d); + } + h = 0 !== (g & a.childLanes); + if (Ug || h) { + d = R; + 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; + 0 !== e && e !== f2.retryLane && (f2.retryLane = e, Zg(a, e), mh(d, a, e, -1)); + } + uj(); + d = Li(Error(p(421))); + return tj(a, b, g, d); + } + if ("$?" === e.data) + return b.flags |= 128, b.child = a.child, b = vj.bind(null, a), e._reactRetry = b, null; + a = f2.treeContext; + yg = Lf(e.nextSibling); + xg = b; + I = true; + zg = null; + null !== a && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a.id, sg = a.overflow, qg = b); + b = rj(b, d.children); + b.flags |= 4096; + return b; +} +function wj(a, b, c) { + a.lanes |= b; + var d = a.alternate; + null !== d && (d.lanes |= b); + Sg(a.return, b, c); +} +function xj(a, b, c, d, e) { + var f2 = a.memoizedState; + null === f2 ? a.memoizedState = { isBackwards: b, rendering: null, renderingStartTime: 0, last: d, tail: c, tailMode: e } : (f2.isBackwards = b, f2.rendering = null, f2.renderingStartTime = 0, f2.last = d, f2.tail = c, f2.tailMode = e); +} +function yj(a, b, c) { + var d = b.pendingProps, e = d.revealOrder, f2 = d.tail; + Yi(a, b, d.children, c); + d = M.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 && wj(a, c, b); + else if (19 === a.tag) + wj(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(M, d); + if (0 === (b.mode & 1)) + b.memoizedState = null; + else + switch (e) { + case "forwards": + c = b.child; + for (e = null; null !== c; ) + a = c.alternate, null !== a && null === Mh(a) && (e = c), c = c.sibling; + c = e; + null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null); + xj(b, false, e, c, f2); + break; + case "backwards": + c = null; + e = b.child; + for (b.child = null; null !== e; ) { + a = e.alternate; + if (null !== a && null === Mh(a)) { + b.child = e; + break; + } + a = e.sibling; + e.sibling = c; + c = e; + e = a; + } + xj(b, true, c, null, f2); + break; + case "together": + xj(b, false, null, null, void 0); + break; + default: + b.memoizedState = null; + } + return b.child; +} +function jj(a, b) { + 0 === (b.mode & 1) && null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2); +} +function $i(a, b, c) { + null !== a && (b.dependencies = a.dependencies); + hh |= 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 = wh(a, a.pendingProps); + b.child = c; + for (c.return = b; null !== a.sibling; ) + a = a.sibling, c = c.sibling = wh(a, a.pendingProps), c.return = b; + c.sibling = null; + } + return b.child; +} +function zj(a, b, c) { + switch (b.tag) { + case 3: + lj(b); + Ig(); + break; + case 5: + Kh(b); + break; + case 1: + Zf(b.type) && cg(b); + break; + case 4: + Ih(b, b.stateNode.containerInfo); + break; + case 10: + var d = b.type._context, e = b.memoizedProps.value; + G(Mg, d._currentValue); + d._currentValue = e; + break; + case 13: + d = b.memoizedState; + if (null !== d) { + if (null !== d.dehydrated) + return G(M, M.current & 1), b.flags |= 128, null; + if (0 !== (c & b.child.childLanes)) + return pj(a, b, c); + G(M, M.current & 1); + a = $i(a, b, c); + return null !== a ? a.sibling : null; + } + G(M, M.current & 1); + break; + case 19: + d = 0 !== (c & b.childLanes); + if (0 !== (a.flags & 128)) { + if (d) + return yj(a, b, c); + b.flags |= 128; + } + e = b.memoizedState; + null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null); + G(M, M.current); + if (d) + break; + else + return null; + case 22: + case 23: + return b.lanes = 0, ej(a, b, c); + } + return $i(a, b, c); +} +var Aj, Bj, Cj, Dj; +Aj = 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; + } +}; +Bj = function() { +}; +Cj = function(a, b, c, d) { + var e = a.memoizedProps; + if (e !== d) { + a = b.stateNode; + Hh(Eh.current); + var f2 = null; + switch (c) { + case "input": + e = Ya(a, e); + d = Ya(a, d); + f2 = []; + break; + case "select": + e = A({}, e, { value: void 0 }); + d = A({}, d, { value: void 0 }); + f2 = []; + break; + case "textarea": + e = gb(a, e); + d = gb(a, d); + f2 = []; + break; + default: + "function" !== typeof e.onClick && "function" === typeof d.onClick && (a.onclick = Bf); + } + ub(c, d); + var g; + c = null; + for (l2 in e) + if (!d.hasOwnProperty(l2) && e.hasOwnProperty(l2) && null != e[l2]) + if ("style" === l2) { + var h = e[l2]; + for (g in h) + h.hasOwnProperty(g) && (c || (c = {}), c[g] = ""); + } else + "dangerouslySetInnerHTML" !== l2 && "children" !== l2 && "suppressContentEditableWarning" !== l2 && "suppressHydrationWarning" !== l2 && "autoFocus" !== l2 && (ea.hasOwnProperty(l2) ? f2 || (f2 = []) : (f2 = f2 || []).push(l2, null)); + for (l2 in d) { + var k2 = d[l2]; + h = null != e ? e[l2] : void 0; + if (d.hasOwnProperty(l2) && k2 !== h && (null != k2 || null != h)) + if ("style" === l2) + if (h) { + for (g in h) + !h.hasOwnProperty(g) || k2 && k2.hasOwnProperty(g) || (c || (c = {}), c[g] = ""); + for (g in k2) + k2.hasOwnProperty(g) && h[g] !== k2[g] && (c || (c = {}), c[g] = k2[g]); + } else + c || (f2 || (f2 = []), f2.push( + l2, + c + )), c = k2; + else + "dangerouslySetInnerHTML" === l2 ? (k2 = k2 ? k2.__html : void 0, h = h ? h.__html : void 0, null != k2 && h !== k2 && (f2 = f2 || []).push(l2, k2)) : "children" === l2 ? "string" !== typeof k2 && "number" !== typeof k2 || (f2 = f2 || []).push(l2, "" + k2) : "suppressContentEditableWarning" !== l2 && "suppressHydrationWarning" !== l2 && (ea.hasOwnProperty(l2) ? (null != k2 && "onScroll" === l2 && D("scroll", a), f2 || h === k2 || (f2 = [])) : (f2 = f2 || []).push(l2, k2)); + } + c && (f2 = f2 || []).push("style", c); + var l2 = f2; + if (b.updateQueue = l2) + b.flags |= 4; + } +}; +Dj = function(a, b, c, d) { + c !== d && (b.flags |= 4); +}; +function Ej(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; + } +} +function 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; +} +function Fj(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; + Jh(); + E(Wf); + E(H); + Oh(); + 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 && (Gj(zg), zg = null)); + Bj(a, b); + S(b); + return null; + case 5: + Lh(b); + var e = Hh(Gh.current); + c = b.type; + if (null !== a && null != b.stateNode) + Cj(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 = Hh(Eh.current); + if (Gg(b)) { + d = b.stateNode; + c = b.type; + var f2 = b.memoizedProps; + d[Of] = b; + d[Pf] = f2; + 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", + d + ); + D("load", d); + break; + case "details": + D("toggle", d); + break; + case "input": + Za(d, f2); + D("invalid", d); + break; + case "select": + d._wrapperState = { wasMultiple: !!f2.multiple }; + D("invalid", d); + break; + case "textarea": + hb(d, f2), D("invalid", d); + } + ub(c, f2); + e = null; + for (var g in f2) + if (f2.hasOwnProperty(g)) { + var h = f2[g]; + "children" === g ? "string" === typeof h ? d.textContent !== h && (true !== f2.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", h]) : "number" === typeof h && d.textContent !== "" + h && (true !== f2.suppressHydrationWarning && Af( + d.textContent, + h, + a + ), e = ["children", "" + h]) : ea.hasOwnProperty(g) && null != h && "onScroll" === g && D("scroll", d); + } + switch (c) { + case "input": + Va(d); + db(d, f2, true); + break; + case "textarea": + Va(d); + jb(d); + break; + case "select": + case "option": + break; + default: + "function" === typeof f2.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 = " - - + +