@iwer/devui 1.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,7 +87,7 @@ function requireReact_production () {
87
87
  }
88
88
  var ReactNoopUpdateQueue = {
89
89
  isMounted: function () {
90
- return !1;
90
+ return false;
91
91
  },
92
92
  enqueueForceUpdate: function () {},
93
93
  enqueueReplaceState: function () {},
@@ -127,7 +127,7 @@ function requireReact_production () {
127
127
  var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());
128
128
  pureComponentPrototype.constructor = PureComponent;
129
129
  assign(pureComponentPrototype, Component.prototype);
130
- pureComponentPrototype.isPureReactComponent = !0;
130
+ pureComponentPrototype.isPureReactComponent = true;
131
131
  var isArrayImpl = Array.isArray,
132
132
  ReactSharedInternals = { H: null, A: null, T: null, S: null, V: null },
133
133
  hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -209,20 +209,20 @@ function requireReact_production () {
209
209
  function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
210
210
  var type = typeof children;
211
211
  if ("undefined" === type || "boolean" === type) children = null;
212
- var invokeCallback = !1;
213
- if (null === children) invokeCallback = !0;
212
+ var invokeCallback = false;
213
+ if (null === children) invokeCallback = true;
214
214
  else
215
215
  switch (type) {
216
216
  case "bigint":
217
217
  case "string":
218
218
  case "number":
219
- invokeCallback = !0;
219
+ invokeCallback = true;
220
220
  break;
221
221
  case "object":
222
222
  switch (children.$$typeof) {
223
223
  case REACT_ELEMENT_TYPE:
224
224
  case REACT_PORTAL_TYPE:
225
- invokeCallback = !0;
225
+ invokeCallback = true;
226
226
  break;
227
227
  case REACT_LAZY_TYPE:
228
228
  return (
@@ -352,8 +352,8 @@ function requireReact_production () {
352
352
  "function" === typeof window.ErrorEvent
353
353
  ) {
354
354
  var event = new window.ErrorEvent("error", {
355
- bubbles: !0,
356
- cancelable: !0,
355
+ bubbles: true,
356
+ cancelable: true,
357
357
  message:
358
358
  "object" === typeof error &&
359
359
  null !== error &&
@@ -862,19 +862,11 @@ var mo = {
862
862
  Io = {
863
863
  kit: {
864
864
  "fa-kit": "fak"
865
- },
866
- "kit-duotone": {
867
- "fa-kit-duotone": "fakd"
868
- }
869
- },
865
+ }},
870
866
  Fo = {
871
867
  kit: {
872
868
  fak: "fa-kit"
873
- },
874
- "kit-duotone": {
875
- fakd: "fa-kit-duotone"
876
- }
877
- },
869
+ }},
878
870
  So = {
879
871
  kit: {
880
872
  kit: "fak"
@@ -3822,7 +3814,7 @@ function ownKeys(object, enumerableOnly) {
3822
3814
  function _objectSpread2(target) {
3823
3815
  for (var i = 1; i < arguments.length; i++) {
3824
3816
  var source = null != arguments[i] ? arguments[i] : {};
3825
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
3817
+ i % 2 ? ownKeys(Object(source), true).forEach(function (key) {
3826
3818
  _defineProperty(target, key, source[key]);
3827
3819
  }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
3828
3820
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
@@ -4274,26 +4266,6 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
4274
4266
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
4275
4267
  };
4276
4268
 
4277
- function memoize(fn) {
4278
- var cache = Object.create(null);
4279
- return function (arg) {
4280
- if (cache[arg] === undefined) cache[arg] = fn(arg);
4281
- return cache[arg];
4282
- };
4283
- }
4284
-
4285
- var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
4286
-
4287
- var isPropValid = /* #__PURE__ */memoize(function (prop) {
4288
- return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
4289
- /* o */
4290
- && prop.charCodeAt(1) === 110
4291
- /* n */
4292
- && prop.charCodeAt(2) < 91;
4293
- }
4294
- /* Z+1 */
4295
- );
4296
-
4297
4269
  var shallowequal;
4298
4270
  var hasRequiredShallowequal;
4299
4271
 
@@ -5205,7 +5177,7 @@ var unitlessKeys = {
5205
5177
  strokeWidth: 1
5206
5178
  };
5207
5179
 
5208
- var f="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",m="active",y="data-styled-version",v="6.1.19",g="/*!sc*/\n",S="undefined"!=typeof window&&"undefined"!=typeof document,w=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!=="production"),_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),O=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,"-").replace(D,"")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n="";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return (j(t%k)+n).replace(T,"$1-$2")}var V,F=5381,z=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},M=function(e){return z(F,e)};function $(e){return x(M(e)>>>0)}function B(e){return e.displayName||e.name||"Component"}function G(e){return "string"==typeof e&&("production"==="production")}var L="function"==typeof Symbol&&Symbol.for,Y=L?Symbol.for("react.memo"):60115,q=L?Symbol.for("react.forward_ref"):60112,W={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[q]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return ("type"in(t=e)&&t.type.$$typeof)===Y?U:"$$typeof"in e?J[e.$$typeof]:W;var t;}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if("string"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n);}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l);}catch(e){}}}}return e}function re(e){return "function"==typeof e}function se(e){return "object"==typeof e&&"styledComponentId"in e}function ie(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function ae(e,t){if(0===e.length)return "";for(var n=e[0],o=1;o<e.length;o++)n+=e[o];return n}function ce(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,"toString",{value:t});}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t," for more information.").concat(n.length>0?" Args: ".concat(n.join(", ")):""))}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e;}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0;}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++);},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n);}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+="".concat(this.tag.getRule(s)).concat(g);return t},e}(),ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e);},be="style[".concat(f,"][").concat(y,'="').concat(v,'"]'),Ee=new RegExp("^".concat(f,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Ne=function(e,t,n){for(var o,r=n.split(","),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o);},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:"").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0;}else r.push(a);}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r));}};function Ce(){return "undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement("style"),r=function(e){var t=Array.from(e.querySelectorAll("style[".concat(f,"]")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute("nonce",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0;}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return !1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--;},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0;}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return !1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),De=function(){function e(e){this.rules=[],this.length=0;}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=__assign(__assign({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o="",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return "continue";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return "continue";var a="".concat(f,".g").concat(n,'[id="').concat(r,'"]'),c="";void 0!==s&&s.forEach(function(e){e.length>0&&(c+="".concat(e,","));}),o+="".concat(i).concat(a,'{content:"').concat(c,'"}').concat(g);},s=0;s<n;s++)r(s);return o}(r)});}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this);},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=!0),new e(__assign(__assign({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e;},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else {var n=new Set;n.add(t),this.names.set(e,n);}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n);},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear();},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e);},e.prototype.clearTag=function(){this.tag=void 0;},e}(),je=/&/g,xe=/^\s*\/\/.*$/gm;function Ve(e,t){return e.map(function(e){return "rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return "".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,"").length>0?".".concat(t):e},u=c.slice();u.push(function(e){e.type===RULESET&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l));}),i.prefix&&u.push(prefixer),u.push(stringify);var p=function(e,r,s,a){void 0===r&&(r=""),void 0===s&&(s=""),void 0===a&&(a="&"),t=a,n=r,o=new RegExp("\\".concat(n,"\\b"),"g");var c=e.replace(xe,""),l=compile(s||r?"".concat(s," ").concat(r," { ").concat(c," }"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return serialize(l,middleware(u.concat(rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),z(e,t.name)},F).toString():"",p}var ze=new ke,Me=Fe(),$e=React.createContext({shouldForwardProp:void 0,styleSheet:ze,stylis:Me});$e.Consumer;var Ge=React.createContext(void 0);function Le(){return reactExports.useContext($e)}function Ye(e){var t=reactExports.useState(e.stylisPlugins),n=t[0],r=t[1],c=Le().styleSheet,l=reactExports.useMemo(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=reactExports.useMemo(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);reactExports.useEffect(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins);},[e.stylisPlugins]);var d=reactExports.useMemo(function(){return {shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return React.createElement($e.Provider,{value:d},React.createElement(Ge.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=Me);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,"@keyframes"));},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))});}return e.prototype.getName=function(e){return void 0===e&&(e=Me),this.name+e.hash},e}(),We=function(e){return e>="A"&&e<="Z"};function He(e){for(var t="",n=0;n<e.length;n++){var o=e[n];if(1===n&&"-"===o&&"-"===e[0])return e;We(o)?t+="-"+o.toLowerCase():t+=o;}return t.startsWith("ms-")?"-"+t:t}var Ue=function(e){return null==e||!1===e||""===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push("".concat(He(s),":"),i,";"):ce(i)?r.push.apply(r,__spreadArray(__spreadArray(["".concat(s," {")],Je(i),!1),["}"],!1)):r.push("".concat(He(s),": ").concat((n=s,null==(o=i)||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||n in unitlessKeys||n.startsWith("--")?String(o).trim():"".concat(o,"px")),";")));}return r};function Xe(e,t,n,o){if(Ue(e))return [];if(se(e))return [".".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return [e];var r=e(t);return Xe(r,t,n,o)}var s;return e instanceof qe?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return !1}return !0}var Ke=M(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=z(Ke,t),this.baseStyle=n,ke.registerId(t);}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else {var r=ae(Xe(this.rules,e,t,n)),s=x(z(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,".".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i);}o=ie(o,s),this.staticRulesId=s;}else {for(var a=z(this.baseHash,n.hash),c="",l=0;l<this.rules.length;l++){var u=this.rules[l];if("string"==typeof u)c+=u;else if(u){var p=ae(Xe(u,e,t,n));a=z(a,p+l),c+=p;}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,".".concat(d),void 0,this.componentId)),o=ie(o,d);}}return o},e}(),et=React.createContext(void 0);et.Consumer;var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!G(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n="string"!=typeof e?"sc":R(e);rt[n]=(rt[n]||0)+1;var o="".concat(n,"-").concat($(v+n+rt[n]));return t?"".concat(t,"-").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return G(e)?"styled.".concat(e):"Styled(".concat(B(e),")")}(e):m,g=r.displayName&&r.componentId?"".concat(R(r.displayName),"-").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)};}else w=b;}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=React.useContext(et),m=Le(),y=e.shouldForwardProp||m.shouldForwardProp;var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=__assign(__assign({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]="className"===c?ie(s[c],a[c]):"style"===c?__assign(__assign({},s[c]),a[c]):a[c];}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||"$"===b[0]||"as"===b||"theme"===b&&g.theme===v||("forwardedAs"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||"development"!=="production"||isPropValid(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop "'.concat(b,'" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Le(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return o}(a,g);var N=ie(p,d);return E&&(N+=" "+E),g.className&&(N+=" "+g.className),w[G(S)&&!A.has(S)?"class":"className"]=N,s&&(w.ref=s),reactExports.createElement(S,w)}(D,e,r)}O.displayName=y;var D=React.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):"",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],!0);return e}({},a.defaultProps,e):e;}}),ue(D,function(){return ".".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,__spreadArray([t],n,!0))));var r=t;return 0===n.length&&1===r.length&&"string"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,__spreadArray([t],s,!1)))};return s.attrs=function(e){return ut(n,o,__assign(__assign({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,__assign(__assign({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e);});
5180
+ var f="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",m="active",y="data-styled-version",v="6.1.19",g="/*!sc*/\n",S="undefined"!=typeof window&&"undefined"!=typeof document,w=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!=="production"),_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),O=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,"-").replace(D,"")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n="";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return (j(t%k)+n).replace(T,"$1-$2")}var V,F=5381,z=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},M=function(e){return z(F,e)};function $(e){return x(M(e)>>>0)}function B(e){return e.displayName||e.name||"Component"}function G(e){return "string"==typeof e&&("production"==="production")}var L="function"==typeof Symbol&&Symbol.for,Y=L?Symbol.for("react.memo"):60115,q=L?Symbol.for("react.forward_ref"):60112,W={childContextTypes:true,contextType:true,contextTypes:true,defaultProps:true,displayName:true,getDefaultProps:true,getDerivedStateFromError:true,getDerivedStateFromProps:true,mixins:true,propTypes:true,type:true},H={name:true,length:true,prototype:true,caller:true,callee:true,arguments:true,arity:true},U={$$typeof:true,compare:true,defaultProps:true,displayName:true,propTypes:true,type:true},J=((V={})[q]={$$typeof:true,render:true,defaultProps:true,displayName:true,propTypes:true},V[Y]=U,V);function X(e){return ("type"in(t=e)&&t.type.$$typeof)===Y?U:"$$typeof"in e?J[e.$$typeof]:W;var t;}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if("string"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n);}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l);}catch(e){}}}}return e}function re(e){return "function"==typeof e}function se(e){return "object"==typeof e&&"styledComponentId"in e}function ie(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function ae(e,t){if(0===e.length)return "";for(var n=e[0],o=1;o<e.length;o++)n+=e[o];return n}function ce(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=false),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,"toString",{value:t});}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t," for more information.").concat(n.length>0?" Args: ".concat(n.join(", ")):""))}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e;}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0;}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++);},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n);}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+="".concat(this.tag.getRule(s)).concat(g);return t},e}(),ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e);},be="style[".concat(f,"][").concat(y,'="').concat(v,'"]'),Ee=new RegExp("^".concat(f,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Ne=function(e,t,n){for(var o,r=n.split(","),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o);},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:"").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0;}else r.push(a);}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r));}};function Ce(){return "undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement("style"),r=function(e){var t=Array.from(e.querySelectorAll("style[".concat(f,"]")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute("nonce",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0;}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return false}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--;},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0;}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,true}return false},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),De=function(){function e(e){this.rules=[],this.length=0;}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,true)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){ void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=__assign(__assign({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=false,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o="",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return "continue";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return "continue";var a="".concat(f,".g").concat(n,'[id="').concat(r,'"]'),c="";void 0!==s&&s.forEach(function(e){e.length>0&&(c+="".concat(e,","));}),o+="".concat(i).concat(a,'{content:"').concat(c,'"}').concat(g);},s=0;s<n;s++)r(s);return o}(r)});}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this);},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=true),new e(__assign(__assign({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e;},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else {var n=new Set;n.add(t),this.names.set(e,n);}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n);},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear();},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e);},e.prototype.clearTag=function(){this.tag=void 0;},e}(),je=/&/g,xe=/^\s*\/\/.*$/gm;function Ve(e,t){return e.map(function(e){return "rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return "".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,"").length>0?".".concat(t):e},u=c.slice();u.push(function(e){e.type===RULESET&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l));}),i.prefix&&u.push(prefixer),u.push(stringify);var p=function(e,r,s,a){ void 0===r&&(r=""),void 0===s&&(s=""),void 0===a&&(a="&"),t=a,n=r,o=new RegExp("\\".concat(n,"\\b"),"g");var c=e.replace(xe,""),l=compile(s||r?"".concat(s," ").concat(r," { ").concat(c," }"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return serialize(l,middleware(u.concat(rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),z(e,t.name)},F).toString():"",p}var ze=new ke,Me=Fe(),$e=React.createContext({shouldForwardProp:void 0,styleSheet:ze,stylis:Me});$e.Consumer;var Ge=React.createContext(void 0);function Le(){return reactExports.useContext($e)}function Ye(e){var t=reactExports.useState(e.stylisPlugins),n=t[0],r=t[1],c=Le().styleSheet,l=reactExports.useMemo(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},false)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:false})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=reactExports.useMemo(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);reactExports.useEffect(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins);},[e.stylisPlugins]);var d=reactExports.useMemo(function(){return {shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return React.createElement($e.Provider,{value:d},React.createElement(Ge.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){ void 0===t&&(t=Me);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,"@keyframes"));},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))});}return e.prototype.getName=function(e){return void 0===e&&(e=Me),this.name+e.hash},e}(),We=function(e){return e>="A"&&e<="Z"};function He(e){for(var t="",n=0;n<e.length;n++){var o=e[n];if(1===n&&"-"===o&&"-"===e[0])return e;We(o)?t+="-"+o.toLowerCase():t+=o;}return t.startsWith("ms-")?"-"+t:t}var Ue=function(e){return null==e||false===e||""===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push("".concat(He(s),":"),i,";"):ce(i)?r.push.apply(r,__spreadArray(__spreadArray(["".concat(s," {")],Je(i),false),["}"],false)):r.push("".concat(He(s),": ").concat((n=s,null==(o=i)||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||n in unitlessKeys||n.startsWith("--")?String(o).trim():"".concat(o,"px")),";")));}return r};function Xe(e,t,n,o){if(Ue(e))return [];if(se(e))return [".".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return [e];var r=e(t);return Xe(r,t,n,o)}var s;return e instanceof qe?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return false}return true}var Ke=M(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=z(Ke,t),this.baseStyle=n,ke.registerId(t);}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else {var r=ae(Xe(this.rules,e,t,n)),s=x(z(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,".".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i);}o=ie(o,s),this.staticRulesId=s;}else {for(var a=z(this.baseHash,n.hash),c="",l=0;l<this.rules.length;l++){var u=this.rules[l];if("string"==typeof u)c+=u;else if(u){var p=ae(Xe(u,e,t,n));a=z(a,p+l),c+=p;}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,".".concat(d),void 0,this.componentId)),o=ie(o,d);}}return o},e}(),et=React.createContext(void 0);et.Consumer;var rt={};function it(e,r,s){var i=se(e),a=e,c=!G(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n="string"!=typeof e?"sc":R(e);rt[n]=(rt[n]||0)+1;var o="".concat(n,"-").concat($(v+n+rt[n]));return t?"".concat(t,"-").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return G(e)?"styled.".concat(e):"Styled(".concat(B(e),")")}(e):m,g=r.displayName&&r.componentId?"".concat(R(r.displayName),"-").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)};}else w=b;}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=React.useContext(et),m=Le(),y=e.shouldForwardProp||m.shouldForwardProp;var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=__assign(__assign({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]="className"===c?ie(s[c],a[c]):"style"===c?__assign(__assign({},s[c]),a[c]):a[c];}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g) void 0===g[b]||"$"===b[0]||"as"===b||"theme"===b&&g.theme===v||("forwardedAs"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||"development"!=="production"));var E=function(e,t){var n=Le(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return o}(a,g);var N=ie(p,d);return E&&(N+=" "+E),g.className&&(N+=" "+g.className),w[G(S)&&!A.has(S)?"class":"className"]=N,s&&(w.ref=s),reactExports.createElement(S,w)}(D,e,r)}O.displayName=y;var D=React.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):"",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],true);return e}({},a.defaultProps,e):e;}}),ue(D,function(){return ".".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:true,componentStyle:true,displayName:true,foldedComponentIds:true,shouldForwardProp:true,styledComponentId:true,target:true}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:true})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,__spreadArray([t],n,true))));var r=t;return 0===n.length&&1===r.length&&"string"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,__spreadArray([t],s,false)))};return s.attrs=function(e){return ut(n,o,__assign(__assign({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,__assign(__assign({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e);});
5209
5181
 
5210
5182
  /**
5211
5183
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -5221,7 +5193,6 @@ const Colors = {
5221
5193
  panelBackground: 'rgba(38, 38, 38, 0.7)',
5222
5194
  panelBorder: 'rgba(61, 61, 63, 0.7)',
5223
5195
  buttonBackground: 'rgba(61, 61, 63, 0.6)',
5224
- buttonHovered: 'rgba(61, 61, 63, 0.8)',
5225
5196
  buttonPressed: 'rgba(61, 61, 63, 1)',
5226
5197
  gradientGrey: 'linear-gradient(to bottom, #343434, #393939)',
5227
5198
  gradientGreyTranslucent: 'linear-gradient(to bottom, rgba(52, 52, 52, 0.75), rgba(57, 57, 57, 0.75))',
@@ -6116,7 +6087,7 @@ function requireUseSyncExternalStoreShim_production () {
6116
6087
  var nextValue = latestGetSnapshot();
6117
6088
  return !objectIs(inst, nextValue);
6118
6089
  } catch (error) {
6119
- return !0;
6090
+ return true;
6120
6091
  }
6121
6092
  }
6122
6093
  function useSyncExternalStore$1(subscribe, getSnapshot) {
@@ -6180,14 +6151,14 @@ function requireWithSelector_production () {
6180
6151
  ) {
6181
6152
  var instRef = useRef(null);
6182
6153
  if (null === instRef.current) {
6183
- var inst = { hasValue: !1, value: null };
6154
+ var inst = { hasValue: false, value: null };
6184
6155
  instRef.current = inst;
6185
6156
  } else inst = instRef.current;
6186
6157
  instRef = useMemo(
6187
6158
  function () {
6188
6159
  function memoizedSelector(nextSnapshot) {
6189
6160
  if (!hasMemo) {
6190
- hasMemo = !0;
6161
+ hasMemo = true;
6191
6162
  memoizedSnapshot = nextSnapshot;
6192
6163
  nextSnapshot = selector(nextSnapshot);
6193
6164
  if (void 0 !== isEqual && inst.hasValue) {
@@ -6205,7 +6176,7 @@ function requireWithSelector_production () {
6205
6176
  memoizedSnapshot = nextSnapshot;
6206
6177
  return (memoizedSelection = nextSelection);
6207
6178
  }
6208
- var hasMemo = !1,
6179
+ var hasMemo = false,
6209
6180
  memoizedSnapshot,
6210
6181
  memoizedSelection,
6211
6182
  maybeGetServerSnapshot =
@@ -6226,7 +6197,7 @@ function requireWithSelector_production () {
6226
6197
  var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);
6227
6198
  useEffect(
6228
6199
  function () {
6229
- inst.hasValue = !0;
6200
+ inst.hasValue = true;
6230
6201
  inst.value = value;
6231
6202
  },
6232
6203
  [value]
@@ -7512,7 +7483,7 @@ class EventDispatcher {
7512
7483
 
7513
7484
  }
7514
7485
 
7515
- if ( listeners[ type ].indexOf( listener ) === - 1 ) {
7486
+ if ( listeners[ type ].indexOf( listener ) === -1 ) {
7516
7487
 
7517
7488
  listeners[ type ].push( listener );
7518
7489
 
@@ -7526,7 +7497,7 @@ class EventDispatcher {
7526
7497
 
7527
7498
  const listeners = this._listeners;
7528
7499
 
7529
- return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;
7500
+ return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== -1;
7530
7501
 
7531
7502
  }
7532
7503
 
@@ -7541,7 +7512,7 @@ class EventDispatcher {
7541
7512
 
7542
7513
  const index = listenerArray.indexOf( listener );
7543
7514
 
7544
- if ( index !== - 1 ) {
7515
+ if ( index !== -1 ) {
7545
7516
 
7546
7517
  listenerArray.splice( index, 1 );
7547
7518
 
@@ -7645,15 +7616,15 @@ function denormalize( value, array ) {
7645
7616
 
7646
7617
  case Int32Array:
7647
7618
 
7648
- return Math.max( value / 2147483647.0, - 1.0 );
7619
+ return Math.max( value / 2147483647.0, -1 );
7649
7620
 
7650
7621
  case Int16Array:
7651
7622
 
7652
- return Math.max( value / 32767.0, - 1.0 );
7623
+ return Math.max( value / 32767.0, -1 );
7653
7624
 
7654
7625
  case Int8Array:
7655
7626
 
7656
- return Math.max( value / 127.0, - 1.0 );
7627
+ return Math.max( value / 127.0, -1 );
7657
7628
 
7658
7629
  default:
7659
7630
 
@@ -8068,7 +8039,7 @@ class Vector2 {
8068
8039
 
8069
8040
  // clamp, to handle numerical problems
8070
8041
 
8071
- return Math.acos( clamp$1( theta, - 1, 1 ) );
8042
+ return Math.acos( clamp$1( theta, -1, 1 ) );
8072
8043
 
8073
8044
  }
8074
8045
 
@@ -8655,9 +8626,9 @@ const LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = /*@__PURE__*/ new Matrix3().set(
8655
8626
  );
8656
8627
 
8657
8628
  const LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = /*@__PURE__*/ new Matrix3().set(
8658
- 1.2249401, - 0.2249404, 0.0,
8659
- - 0.0420569, 1.0420571, 0.0,
8660
- - 0.0196376, - 0.0786361, 1.0982735
8629
+ 1.2249401, -0.2249404, 0.0,
8630
+ -0.0420569, 1.0420571, 0.0,
8631
+ -0.0196376, -0.0786361, 1.0982735
8661
8632
  );
8662
8633
 
8663
8634
  /**
@@ -10253,7 +10224,7 @@ class Quaternion {
10253
10224
 
10254
10225
  let s = 1 - t;
10255
10226
  const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1,
10256
- dir = ( cos >= 0 ? 1 : - 1 ),
10227
+ dir = ( cos >= 0 ? 1 : -1 ),
10257
10228
  sqrSin = 1 - cos * cos;
10258
10229
 
10259
10230
  // Skip the Slerp for tiny steps to avoid numeric problems:
@@ -10596,7 +10567,7 @@ class Quaternion {
10596
10567
 
10597
10568
  angleTo( q ) {
10598
10569
 
10599
- return 2 * Math.acos( Math.abs( clamp$1( this.dot( q ), - 1, 1 ) ) );
10570
+ return 2 * Math.acos( Math.abs( clamp$1( this.dot( q ), -1, 1 ) ) );
10600
10571
 
10601
10572
  }
10602
10573
 
@@ -10630,9 +10601,9 @@ class Quaternion {
10630
10601
 
10631
10602
  conjugate() {
10632
10603
 
10633
- this._x *= - 1;
10634
- this._y *= - 1;
10635
- this._z *= - 1;
10604
+ this._x *= -1;
10605
+ this._y *= -1;
10606
+ this._z *= -1;
10636
10607
 
10637
10608
  this._onChangeCallback();
10638
10609
 
@@ -11414,7 +11385,7 @@ class Vector3 {
11414
11385
 
11415
11386
  // clamp, to handle numerical problems
11416
11387
 
11417
- return Math.acos( clamp$1( theta, - 1, 1 ) );
11388
+ return Math.acos( clamp$1( theta, -1, 1 ) );
11418
11389
 
11419
11390
  }
11420
11391
 
@@ -12142,7 +12113,7 @@ const _v2$3 = /*@__PURE__*/ new Vector3();
12142
12113
 
12143
12114
  class Sphere {
12144
12115
 
12145
- constructor( center = new Vector3(), radius = - 1 ) {
12116
+ constructor( center = new Vector3(), radius = -1 ) {
12146
12117
 
12147
12118
  this.isSphere = true;
12148
12119
 
@@ -12206,7 +12177,7 @@ class Sphere {
12206
12177
  makeEmpty() {
12207
12178
 
12208
12179
  this.center.set( 0, 0, 0 );
12209
- this.radius = - 1;
12180
+ this.radius = -1;
12210
12181
 
12211
12182
  return this;
12212
12183
 
@@ -12388,7 +12359,7 @@ const _normal$1 = /*@__PURE__*/ new Vector3();
12388
12359
 
12389
12360
  class Ray {
12390
12361
 
12391
- constructor( origin = new Vector3(), direction = new Vector3( 0, 0, - 1 ) ) {
12362
+ constructor( origin = new Vector3(), direction = new Vector3( 0, 0, -1 ) ) {
12392
12363
 
12393
12364
  this.origin = origin;
12394
12365
  this.direction = direction;
@@ -12794,7 +12765,7 @@ class Ray {
12794
12765
 
12795
12766
  } else if ( DdN < 0 ) {
12796
12767
 
12797
- sign = - 1;
12768
+ sign = -1;
12798
12769
  DdN = - DdN;
12799
12770
 
12800
12771
  } else {
@@ -13654,7 +13625,7 @@ class Matrix4 {
13654
13625
  if ( coordinateSystem === WebGLCoordinateSystem ) {
13655
13626
 
13656
13627
  c = - ( far + near ) / ( far - near );
13657
- d = ( - 2 * far * near ) / ( far - near );
13628
+ d = ( -2 * far * near ) / ( far - near );
13658
13629
 
13659
13630
  } else if ( coordinateSystem === WebGPUCoordinateSystem ) {
13660
13631
 
@@ -13670,7 +13641,7 @@ class Matrix4 {
13670
13641
  te[ 0 ] = x; te[ 4 ] = 0; te[ 8 ] = a; te[ 12 ] = 0;
13671
13642
  te[ 1 ] = 0; te[ 5 ] = y; te[ 9 ] = b; te[ 13 ] = 0;
13672
13643
  te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = c; te[ 14 ] = d;
13673
- te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = - 1; te[ 15 ] = 0;
13644
+ te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = -1; te[ 15 ] = 0;
13674
13645
 
13675
13646
  return this;
13676
13647
 
@@ -13691,12 +13662,12 @@ class Matrix4 {
13691
13662
  if ( coordinateSystem === WebGLCoordinateSystem ) {
13692
13663
 
13693
13664
  z = ( far + near ) * p;
13694
- zInv = - 2 * p;
13665
+ zInv = -2 * p;
13695
13666
 
13696
13667
  } else if ( coordinateSystem === WebGPUCoordinateSystem ) {
13697
13668
 
13698
13669
  z = near * p;
13699
- zInv = - 1 * p;
13670
+ zInv = -1 * p;
13700
13671
 
13701
13672
  } else {
13702
13673
 
@@ -13891,7 +13862,7 @@ class Euler {
13891
13862
 
13892
13863
  case 'XYZ':
13893
13864
 
13894
- this._y = Math.asin( clamp$1( m13, - 1, 1 ) );
13865
+ this._y = Math.asin( clamp$1( m13, -1, 1 ) );
13895
13866
 
13896
13867
  if ( Math.abs( m13 ) < 0.9999999 ) {
13897
13868
 
@@ -13909,7 +13880,7 @@ class Euler {
13909
13880
 
13910
13881
  case 'YXZ':
13911
13882
 
13912
- this._x = Math.asin( - clamp$1( m23, - 1, 1 ) );
13883
+ this._x = Math.asin( - clamp$1( m23, -1, 1 ) );
13913
13884
 
13914
13885
  if ( Math.abs( m23 ) < 0.9999999 ) {
13915
13886
 
@@ -13927,7 +13898,7 @@ class Euler {
13927
13898
 
13928
13899
  case 'ZXY':
13929
13900
 
13930
- this._x = Math.asin( clamp$1( m32, - 1, 1 ) );
13901
+ this._x = Math.asin( clamp$1( m32, -1, 1 ) );
13931
13902
 
13932
13903
  if ( Math.abs( m32 ) < 0.9999999 ) {
13933
13904
 
@@ -13945,7 +13916,7 @@ class Euler {
13945
13916
 
13946
13917
  case 'ZYX':
13947
13918
 
13948
- this._y = Math.asin( - clamp$1( m31, - 1, 1 ) );
13919
+ this._y = Math.asin( - clamp$1( m31, -1, 1 ) );
13949
13920
 
13950
13921
  if ( Math.abs( m31 ) < 0.9999999 ) {
13951
13922
 
@@ -13963,7 +13934,7 @@ class Euler {
13963
13934
 
13964
13935
  case 'YZX':
13965
13936
 
13966
- this._z = Math.asin( clamp$1( m21, - 1, 1 ) );
13937
+ this._z = Math.asin( clamp$1( m21, -1, 1 ) );
13967
13938
 
13968
13939
  if ( Math.abs( m21 ) < 0.9999999 ) {
13969
13940
 
@@ -13981,7 +13952,7 @@ class Euler {
13981
13952
 
13982
13953
  case 'XZY':
13983
13954
 
13984
- this._z = Math.asin( - clamp$1( m12, - 1, 1 ) );
13955
+ this._z = Math.asin( - clamp$1( m12, -1, 1 ) );
13985
13956
 
13986
13957
  if ( Math.abs( m12 ) < 0.9999999 ) {
13987
13958
 
@@ -14508,7 +14479,7 @@ class Object3D extends EventDispatcher {
14508
14479
 
14509
14480
  const index = this.children.indexOf( object );
14510
14481
 
14511
- if ( index !== - 1 ) {
14482
+ if ( index !== -1 ) {
14512
14483
 
14513
14484
  object.parent = null;
14514
14485
  this.children.splice( index, 1 );
@@ -15826,7 +15797,7 @@ class Color {
15826
15797
 
15827
15798
  getHexString( colorSpace = SRGBColorSpace ) {
15828
15799
 
15829
- return ( '000000' + this.getHex( colorSpace ).toString( 16 ) ).slice( - 6 );
15800
+ return ( '000000' + this.getHex( colorSpace ).toString( 16 ) ).slice( -6 );
15830
15801
 
15831
15802
  }
15832
15803
 
@@ -16706,7 +16677,7 @@ class BufferAttribute {
16706
16677
  this.normalized = normalized;
16707
16678
 
16708
16679
  this.usage = StaticDrawUsage;
16709
- this._updateRange = { offset: 0, count: - 1 };
16680
+ this._updateRange = { offset: 0, count: -1 };
16710
16681
  this.updateRanges = [];
16711
16682
  this.gpuType = FloatType;
16712
16683
 
@@ -17690,7 +17661,7 @@ class BufferGeometry extends EventDispatcher {
17690
17661
 
17691
17662
  tmp2.crossVectors( n2, t );
17692
17663
  const test = tmp2.dot( tan2[ v ] );
17693
- const w = ( test < 0.0 ) ? - 1.0 : 1.0;
17664
+ const w = ( test < 0.0 ) ? -1 : 1.0;
17694
17665
 
17695
17666
  tangentAttribute.setXYZW( v, tmp.x, tmp.y, tmp.z, w );
17696
17667
 
@@ -18549,7 +18520,7 @@ function checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, n
18549
18520
 
18550
18521
  if ( intersection.normal.dot( ray.direction ) > 0 ) {
18551
18522
 
18552
- intersection.normal.multiplyScalar( - 1 );
18523
+ intersection.normal.multiplyScalar( -1 );
18553
18524
 
18554
18525
  }
18555
18526
 
@@ -18612,12 +18583,12 @@ class BoxGeometry extends BufferGeometry {
18612
18583
 
18613
18584
  // build each side of the box geometry
18614
18585
 
18615
- buildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px
18616
- buildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx
18586
+ buildPlane( 'z', 'y', 'x', -1, -1, depth, height, width, depthSegments, heightSegments, 0 ); // px
18587
+ buildPlane( 'z', 'y', 'x', 1, -1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx
18617
18588
  buildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py
18618
- buildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny
18619
- buildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz
18620
- buildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz
18589
+ buildPlane( 'x', 'z', 'y', 1, -1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny
18590
+ buildPlane( 'x', 'y', 'z', 1, -1, width, height, depth, widthSegments, heightSegments, 4 ); // pz
18591
+ buildPlane( 'x', 'y', 'z', -1, -1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz
18621
18592
 
18622
18593
  // build geometry
18623
18594
 
@@ -18667,7 +18638,7 @@ class BoxGeometry extends BufferGeometry {
18667
18638
 
18668
18639
  vector[ u ] = 0;
18669
18640
  vector[ v ] = 0;
18670
- vector[ w ] = depth > 0 ? 1 : - 1;
18641
+ vector[ w ] = depth > 0 ? 1 : -1;
18671
18642
 
18672
18643
  // now apply vector to normal buffer
18673
18644
 
@@ -19213,7 +19184,7 @@ class PerspectiveCamera extends Camera {
19213
19184
  */
19214
19185
  getViewBounds( distance, minTarget, maxTarget ) {
19215
19186
 
19216
- _v3$1.set( - 1, - 1, 0.5 ).applyMatrix4( this.projectionMatrixInverse );
19187
+ _v3$1.set( -1, -1, 0.5 ).applyMatrix4( this.projectionMatrixInverse );
19217
19188
 
19218
19189
  minTarget.set( _v3$1.x, _v3$1.y ).multiplyScalar( - distance / _v3$1.z );
19219
19190
 
@@ -19318,7 +19289,7 @@ class PerspectiveCamera extends Camera {
19318
19289
  let top = near * Math.tan( DEG2RAD * 0.5 * this.fov ) / this.zoom;
19319
19290
  let height = 2 * top;
19320
19291
  let width = this.aspect * height;
19321
- let left = - 0.5 * width;
19292
+ let left = -0.5 * width;
19322
19293
  const view = this.view;
19323
19294
 
19324
19295
  if ( this.view !== null && this.view.enabled ) {
@@ -19366,7 +19337,7 @@ class PerspectiveCamera extends Camera {
19366
19337
 
19367
19338
  }
19368
19339
 
19369
- const fov = - 90; // negative fov is not an error
19340
+ const fov = -90; // negative fov is not an error
19370
19341
  const aspect = 1;
19371
19342
 
19372
19343
  class CubeCamera extends Object3D {
@@ -19423,39 +19394,39 @@ class CubeCamera extends Object3D {
19423
19394
  cameraPX.lookAt( 1, 0, 0 );
19424
19395
 
19425
19396
  cameraNX.up.set( 0, 1, 0 );
19426
- cameraNX.lookAt( - 1, 0, 0 );
19397
+ cameraNX.lookAt( -1, 0, 0 );
19427
19398
 
19428
- cameraPY.up.set( 0, 0, - 1 );
19399
+ cameraPY.up.set( 0, 0, -1 );
19429
19400
  cameraPY.lookAt( 0, 1, 0 );
19430
19401
 
19431
19402
  cameraNY.up.set( 0, 0, 1 );
19432
- cameraNY.lookAt( 0, - 1, 0 );
19403
+ cameraNY.lookAt( 0, -1, 0 );
19433
19404
 
19434
19405
  cameraPZ.up.set( 0, 1, 0 );
19435
19406
  cameraPZ.lookAt( 0, 0, 1 );
19436
19407
 
19437
19408
  cameraNZ.up.set( 0, 1, 0 );
19438
- cameraNZ.lookAt( 0, 0, - 1 );
19409
+ cameraNZ.lookAt( 0, 0, -1 );
19439
19410
 
19440
19411
  } else if ( coordinateSystem === WebGPUCoordinateSystem ) {
19441
19412
 
19442
- cameraPX.up.set( 0, - 1, 0 );
19443
- cameraPX.lookAt( - 1, 0, 0 );
19413
+ cameraPX.up.set( 0, -1, 0 );
19414
+ cameraPX.lookAt( -1, 0, 0 );
19444
19415
 
19445
- cameraNX.up.set( 0, - 1, 0 );
19416
+ cameraNX.up.set( 0, -1, 0 );
19446
19417
  cameraNX.lookAt( 1, 0, 0 );
19447
19418
 
19448
19419
  cameraPY.up.set( 0, 0, 1 );
19449
19420
  cameraPY.lookAt( 0, 1, 0 );
19450
19421
 
19451
- cameraNY.up.set( 0, 0, - 1 );
19452
- cameraNY.lookAt( 0, - 1, 0 );
19422
+ cameraNY.up.set( 0, 0, -1 );
19423
+ cameraNY.lookAt( 0, -1, 0 );
19453
19424
 
19454
- cameraPZ.up.set( 0, - 1, 0 );
19425
+ cameraPZ.up.set( 0, -1, 0 );
19455
19426
  cameraPZ.lookAt( 0, 0, 1 );
19456
19427
 
19457
- cameraNZ.up.set( 0, - 1, 0 );
19458
- cameraNZ.lookAt( 0, 0, - 1 );
19428
+ cameraNZ.up.set( 0, -1, 0 );
19429
+ cameraNZ.lookAt( 0, 0, -1 );
19459
19430
 
19460
19431
  } else {
19461
19432
 
@@ -19778,7 +19749,7 @@ class Plane {
19778
19749
 
19779
19750
  negate() {
19780
19751
 
19781
- this.constant *= - 1;
19752
+ this.constant *= -1;
19782
19753
  this.normal.negate();
19783
19754
 
19784
19755
  return this;
@@ -20214,7 +20185,7 @@ function WebGLAttributes( gl ) {
20214
20185
 
20215
20186
  gl.bindBuffer( bufferType, buffer );
20216
20187
 
20217
- if ( updateRange.count === - 1 && updateRanges.length === 0 ) {
20188
+ if ( updateRange.count === -1 && updateRanges.length === 0 ) {
20218
20189
 
20219
20190
  // Not using update ranges
20220
20191
  gl.bufferSubData( bufferType, 0, array );
@@ -20237,12 +20208,12 @@ function WebGLAttributes( gl ) {
20237
20208
  }
20238
20209
 
20239
20210
  // @deprecated, r159
20240
- if ( updateRange.count !== - 1 ) {
20211
+ if ( updateRange.count !== -1 ) {
20241
20212
 
20242
20213
  gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,
20243
20214
  array, updateRange.offset, updateRange.count );
20244
20215
 
20245
- updateRange.count = - 1; // reset range
20216
+ updateRange.count = -1; // reset range
20246
20217
 
20247
20218
  }
20248
20219
 
@@ -20884,7 +20855,7 @@ const UniformsLib = {
20884
20855
 
20885
20856
  envMap: { value: null },
20886
20857
  envMapRotation: { value: /*@__PURE__*/ new Matrix3() },
20887
- flipEnvMap: { value: - 1 },
20858
+ flipEnvMap: { value: -1 },
20888
20859
  reflectivity: { value: 1.0 }, // basic, lambert, phong
20889
20860
  ior: { value: 1.5 }, // physical
20890
20861
  refractionRatio: { value: 0.98 }, // basic, lambert, phong
@@ -21302,7 +21273,7 @@ const ShaderLib = {
21302
21273
 
21303
21274
  uniforms: {
21304
21275
  envMap: { value: null },
21305
- flipEnvMap: { value: - 1 },
21276
+ flipEnvMap: { value: -1 },
21306
21277
  backgroundBlurriness: { value: 0 },
21307
21278
  backgroundIntensity: { value: 1 },
21308
21279
  backgroundRotation: { value: /*@__PURE__*/ new Matrix3() }
@@ -21317,7 +21288,7 @@ const ShaderLib = {
21317
21288
 
21318
21289
  uniforms: {
21319
21290
  tCube: { value: null },
21320
- tFlip: { value: - 1 },
21291
+ tFlip: { value: -1 },
21321
21292
  opacity: { value: 1.0 }
21322
21293
  },
21323
21294
 
@@ -21551,18 +21522,18 @@ function WebGLBackground( renderer, cubemaps, cubeuvmaps, state, objects, alpha,
21551
21522
  _e1$1.copy( scene.backgroundRotation );
21552
21523
 
21553
21524
  // accommodate left-handed frame
21554
- _e1$1.x *= - 1; _e1$1.y *= - 1; _e1$1.z *= - 1;
21525
+ _e1$1.x *= -1; _e1$1.y *= -1; _e1$1.z *= -1;
21555
21526
 
21556
21527
  if ( background.isCubeTexture && background.isRenderTargetTexture === false ) {
21557
21528
 
21558
21529
  // environment maps which are not cube render targets or PMREMs follow a different convention
21559
- _e1$1.y *= - 1;
21560
- _e1$1.z *= - 1;
21530
+ _e1$1.y *= -1;
21531
+ _e1$1.z *= -1;
21561
21532
 
21562
21533
  }
21563
21534
 
21564
21535
  boxMesh.material.uniforms.envMap.value = background;
21565
- boxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? - 1 : 1;
21536
+ boxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? -1 : 1;
21566
21537
  boxMesh.material.uniforms.backgroundBlurriness.value = scene.backgroundBlurriness;
21567
21538
  boxMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity;
21568
21539
  boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4( _m1$1.makeRotationFromEuler( _e1$1 ) );
@@ -22788,7 +22759,7 @@ function WebGLCubeMaps( renderer ) {
22788
22759
 
22789
22760
  class OrthographicCamera extends Camera {
22790
22761
 
22791
- constructor( left = - 1, right = 1, top = 1, bottom = - 1, near = 0.1, far = 2000 ) {
22762
+ constructor( left = -1, right = 1, top = 1, bottom = -1, near = 0.1, far = 2000 ) {
22792
22763
 
22793
22764
  super();
22794
22765
 
@@ -22951,9 +22922,9 @@ const _axisDirections = [
22951
22922
  /*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ),
22952
22923
  /*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ),
22953
22924
  /*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ),
22954
- /*@__PURE__*/ new Vector3( - 1, 1, - 1 ),
22955
- /*@__PURE__*/ new Vector3( 1, 1, - 1 ),
22956
- /*@__PURE__*/ new Vector3( - 1, 1, 1 ),
22925
+ /*@__PURE__*/ new Vector3( -1, 1, -1 ),
22926
+ /*@__PURE__*/ new Vector3( 1, 1, -1 ),
22927
+ /*@__PURE__*/ new Vector3( -1, 1, 1 ),
22957
22928
  /*@__PURE__*/ new Vector3( 1, 1, 1 ) ];
22958
22929
 
22959
22930
  /**
@@ -23207,8 +23178,8 @@ class PMREMGenerator {
23207
23178
  const fov = 90;
23208
23179
  const aspect = 1;
23209
23180
  const cubeCamera = new PerspectiveCamera( fov, aspect, near, far );
23210
- const upSign = [ 1, - 1, 1, 1, 1, 1 ];
23211
- const forwardSign = [ 1, 1, 1, - 1, - 1, - 1 ];
23181
+ const upSign = [ 1, -1, 1, 1, 1, 1 ];
23182
+ const forwardSign = [ 1, 1, 1, -1, -1, -1 ];
23212
23183
  const renderer = this._renderer;
23213
23184
 
23214
23185
  const originalAutoClear = renderer.autoClear;
@@ -23307,7 +23278,7 @@ class PMREMGenerator {
23307
23278
 
23308
23279
  }
23309
23280
 
23310
- this._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? - 1 : 1;
23281
+ this._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? -1 : 1;
23311
23282
 
23312
23283
  } else {
23313
23284
 
@@ -23520,7 +23491,7 @@ function _createPlanes( lodMax ) {
23520
23491
  for ( let face = 0; face < cubeFaces; face ++ ) {
23521
23492
 
23522
23493
  const x = ( face % 3 ) * 2 / 3 - 1;
23523
- const y = face > 2 ? 0 : - 1;
23494
+ const y = face > 2 ? 0 : -1;
23524
23495
  const coordinates = [
23525
23496
  x, y, 0,
23526
23497
  x + 2 / 3, y, 0,
@@ -23719,7 +23690,7 @@ function _getCubemapMaterial() {
23719
23690
 
23720
23691
  uniforms: {
23721
23692
  'envMap': { value: null },
23722
- 'flipEnvMap': { value: - 1 }
23693
+ 'flipEnvMap': { value: -1 }
23723
23694
  },
23724
23695
 
23725
23696
  vertexShader: _getCommonVertexShader(),
@@ -28136,18 +28107,18 @@ function WebGLLights( extensions ) {
28136
28107
  version: 0,
28137
28108
 
28138
28109
  hash: {
28139
- directionalLength: - 1,
28140
- pointLength: - 1,
28141
- spotLength: - 1,
28142
- rectAreaLength: - 1,
28143
- hemiLength: - 1,
28144
-
28145
- numDirectionalShadows: - 1,
28146
- numPointShadows: - 1,
28147
- numSpotShadows: - 1,
28148
- numSpotMaps: - 1,
28149
-
28150
- numLightProbes: - 1
28110
+ directionalLength: -1,
28111
+ pointLength: -1,
28112
+ spotLength: -1,
28113
+ rectAreaLength: -1,
28114
+ hemiLength: -1,
28115
+
28116
+ numDirectionalShadows: -1,
28117
+ numPointShadows: -1,
28118
+ numSpotShadows: -1,
28119
+ numSpotMaps: -1,
28120
+
28121
+ numLightProbes: -1
28151
28122
  },
28152
28123
 
28153
28124
  ambient: [ 0, 0, 0 ],
@@ -28775,7 +28746,7 @@ function WebGLShadowMap( renderer, objects, capabilities ) {
28775
28746
  fullScreenTri.setAttribute(
28776
28747
  'position',
28777
28748
  new BufferAttribute(
28778
- new Float32Array( [ - 1, - 1, 0.5, 3, - 1, 0.5, - 1, 3, 0.5 ] ),
28749
+ new Float32Array( [ -1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5 ] ),
28779
28750
  3
28780
28751
  )
28781
28752
  );
@@ -29196,7 +29167,7 @@ function WebGLState( gl ) {
29196
29167
  locked = false;
29197
29168
 
29198
29169
  currentColorMask = null;
29199
- currentColorClear.set( - 1, 0, 0, 0 ); // set to invalid state
29170
+ currentColorClear.set( -1, 0, 0, 0 ); // set to invalid state
29200
29171
 
29201
29172
  }
29202
29173
 
@@ -29483,12 +29454,12 @@ function WebGLState( gl ) {
29483
29454
  let version = 0;
29484
29455
  const glVersion = gl.getParameter( gl.VERSION );
29485
29456
 
29486
- if ( glVersion.indexOf( 'WebGL' ) !== - 1 ) {
29457
+ if ( glVersion.indexOf( 'WebGL' ) !== -1 ) {
29487
29458
 
29488
29459
  version = parseFloat( /^WebGL (\d)/.exec( glVersion )[ 1 ] );
29489
29460
  lineWidthAvailable = ( version >= 1.0 );
29490
29461
 
29491
- } else if ( glVersion.indexOf( 'OpenGL ES' ) !== - 1 ) {
29462
+ } else if ( glVersion.indexOf( 'OpenGL ES' ) !== -1 ) {
29492
29463
 
29493
29464
  version = parseFloat( /^OpenGL ES (\d)/.exec( glVersion )[ 1 ] );
29494
29465
  lineWidthAvailable = ( version >= 2.0 );
@@ -33320,7 +33291,7 @@ class WebXRManager extends EventDispatcher {
33320
33291
 
33321
33292
  const controllerIndex = controllerInputSources.indexOf( event.inputSource );
33322
33293
 
33323
- if ( controllerIndex === - 1 ) {
33294
+ if ( controllerIndex === -1 ) {
33324
33295
 
33325
33296
  return;
33326
33297
 
@@ -33600,7 +33571,7 @@ class WebXRManager extends EventDispatcher {
33600
33571
 
33601
33572
  let controllerIndex = controllerInputSources.indexOf( inputSource );
33602
33573
 
33603
- if ( controllerIndex === - 1 ) {
33574
+ if ( controllerIndex === -1 ) {
33604
33575
 
33605
33576
  // Assign input source a controller that currently has no input source
33606
33577
 
@@ -33624,7 +33595,7 @@ class WebXRManager extends EventDispatcher {
33624
33595
 
33625
33596
  // If all controllers do currently receive input we ignore new ones
33626
33597
 
33627
- if ( controllerIndex === - 1 ) break;
33598
+ if ( controllerIndex === -1 ) break;
33628
33599
 
33629
33600
  }
33630
33601
 
@@ -34174,7 +34145,7 @@ function WebGLMaterials( renderer, properties ) {
34174
34145
 
34175
34146
  if ( material.side === BackSide ) {
34176
34147
 
34177
- uniforms.bumpScale.value *= - 1;
34148
+ uniforms.bumpScale.value *= -1;
34178
34149
 
34179
34150
  }
34180
34151
 
@@ -34241,19 +34212,19 @@ function WebGLMaterials( renderer, properties ) {
34241
34212
  _e1.copy( envMapRotation );
34242
34213
 
34243
34214
  // accommodate left-handed frame
34244
- _e1.x *= - 1; _e1.y *= - 1; _e1.z *= - 1;
34215
+ _e1.x *= -1; _e1.y *= -1; _e1.z *= -1;
34245
34216
 
34246
34217
  if ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) {
34247
34218
 
34248
34219
  // environment maps which are not cube render targets or PMREMs follow a different convention
34249
- _e1.y *= - 1;
34250
- _e1.z *= - 1;
34220
+ _e1.y *= -1;
34221
+ _e1.z *= -1;
34251
34222
 
34252
34223
  }
34253
34224
 
34254
34225
  uniforms.envMapRotation.value.setFromMatrix4( _m1.makeRotationFromEuler( _e1 ) );
34255
34226
 
34256
- uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1;
34227
+ uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? -1 : 1;
34257
34228
 
34258
34229
  uniforms.reflectivity.value = material.reflectivity;
34259
34230
  uniforms.ior.value = material.ior;
@@ -34676,7 +34647,7 @@ function WebGLUniformsGroups( gl, info, capabilities, state ) {
34676
34647
 
34677
34648
  for ( let i = 0; i < maxBindingPoints; i ++ ) {
34678
34649
 
34679
- if ( allocatedBindingPoints.indexOf( i ) === - 1 ) {
34650
+ if ( allocatedBindingPoints.indexOf( i ) === -1 ) {
34680
34651
 
34681
34652
  allocatedBindingPoints.push( i );
34682
34653
  return i;
@@ -35097,7 +35068,7 @@ class WebGLRenderer {
35097
35068
  let _currentActiveCubeFace = 0;
35098
35069
  let _currentActiveMipmapLevel = 0;
35099
35070
  let _currentRenderTarget = null;
35100
- let _currentMaterialId = - 1;
35071
+ let _currentMaterialId = -1;
35101
35072
 
35102
35073
  let _currentCamera = null;
35103
35074
 
@@ -36186,7 +36157,7 @@ class WebGLRenderer {
36186
36157
  // _gl.finish();
36187
36158
 
36188
36159
  bindingStates.resetDefaultState();
36189
- _currentMaterialId = - 1;
36160
+ _currentMaterialId = -1;
36190
36161
  _currentCamera = null;
36191
36162
 
36192
36163
  renderStateStack.pop();
@@ -36991,7 +36962,7 @@ class WebGLRenderer {
36991
36962
 
36992
36963
  m_uniforms.envMap.value = envMap;
36993
36964
 
36994
- m_uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1;
36965
+ m_uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? -1 : 1;
36995
36966
 
36996
36967
  }
36997
36968
 
@@ -37262,7 +37233,7 @@ class WebGLRenderer {
37262
37233
 
37263
37234
  }
37264
37235
 
37265
- _currentMaterialId = - 1; // reset current material to ensure correct uniform bindings
37236
+ _currentMaterialId = -1; // reset current material to ensure correct uniform bindings
37266
37237
 
37267
37238
  };
37268
37239
 
@@ -38299,7 +38270,7 @@ class CylinderGeometry extends BufferGeometry {
38299
38270
  let groupCount = 0;
38300
38271
 
38301
38272
  const radius = ( top === true ) ? radiusTop : radiusBottom;
38302
- const sign = ( top === true ) ? 1 : - 1;
38273
+ const sign = ( top === true ) ? 1 : -1;
38303
38274
 
38304
38275
  // first we generate the center vertex data of the cap.
38305
38276
  // because the geometry needs one set of uvs per face,
@@ -38734,8 +38705,8 @@ class OctahedronGeometry extends PolyhedronGeometry {
38734
38705
  constructor( radius = 1, detail = 0 ) {
38735
38706
 
38736
38707
  const vertices = [
38737
- 1, 0, 0, - 1, 0, 0, 0, 1, 0,
38738
- 0, - 1, 0, 0, 0, 1, 0, 0, - 1
38708
+ 1, 0, 0, -1, 0, 0, 0, 1, 0,
38709
+ 0, -1, 0, 0, 0, 1, 0, 0, -1
38739
38710
  ];
38740
38711
 
38741
38712
  const indices = [
@@ -38938,7 +38909,7 @@ class SphereGeometry extends BufferGeometry {
38938
38909
 
38939
38910
  } else if ( iy === heightSegments && thetaEnd === Math.PI ) {
38940
38911
 
38941
- uOffset = - 0.5 / widthSegments;
38912
+ uOffset = -0.5 / widthSegments;
38942
38913
 
38943
38914
  }
38944
38915
 
@@ -39174,7 +39145,7 @@ class Raycaster {
39174
39145
  } else if ( camera.isOrthographicCamera ) {
39175
39146
 
39176
39147
  this.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera
39177
- this.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld );
39148
+ this.ray.direction.set( 0, 0, -1 ).transformDirection( camera.matrixWorld );
39178
39149
  this.camera = camera;
39179
39150
 
39180
39151
  } else {
@@ -39190,7 +39161,7 @@ class Raycaster {
39190
39161
  _matrix.identity().extractRotation( controller.matrixWorld );
39191
39162
 
39192
39163
  this.ray.origin.setFromMatrixPosition( controller.matrixWorld );
39193
- this.ray.direction.set( 0, 0, - 1 ).applyMatrix4( _matrix );
39164
+ this.ray.direction.set( 0, 0, -1 ).applyMatrix4( _matrix );
39194
39165
 
39195
39166
  return this;
39196
39167
 
@@ -39387,104 +39358,6 @@ if ( typeof window !== 'undefined' ) {
39387
39358
 
39388
39359
  }
39389
39360
 
39390
- class SubtractedHandleTransformStateImpl {
39391
- t1;
39392
- t2;
39393
- _position;
39394
- _quaternion;
39395
- _rotation;
39396
- _scale;
39397
- constructor(t1, t2) {
39398
- this.t1 = t1;
39399
- this.t2 = t2;
39400
- }
39401
- get time() {
39402
- return this.t1.time - this.t2.time;
39403
- }
39404
- get position() {
39405
- return (this._position ??= this.t1.position.clone().sub(this.t2.position));
39406
- }
39407
- get quaternion() {
39408
- return (this._quaternion ??= this.t2.quaternion.clone().invert().premultiply(this.t1.quaternion));
39409
- }
39410
- get rotation() {
39411
- return (this._rotation ??= new Euler().setFromQuaternion(this.quaternion));
39412
- }
39413
- get scale() {
39414
- return (this._scale ??= this.t1.scale.clone().sub(this.t2.scale));
39415
- }
39416
- }
39417
- class HandleStateImpl {
39418
- cancel;
39419
- previous;
39420
- memo;
39421
- event;
39422
- //will be set by start before the first read
39423
- initial;
39424
- current;
39425
- first;
39426
- last;
39427
- //cache
39428
- _delta;
39429
- _offset;
39430
- constructor(cancel) {
39431
- this.cancel = cancel;
39432
- }
39433
- start(event, current) {
39434
- this.event = event;
39435
- this.previous = undefined;
39436
- this.current = current;
39437
- this.initial = current;
39438
- this.first = true;
39439
- this.last = false;
39440
- this.memo = undefined;
39441
- this._delta = undefined;
39442
- this._offset = undefined;
39443
- }
39444
- update(event, current) {
39445
- this.event = event;
39446
- this.previous = this.current;
39447
- this.current = current;
39448
- this.first = false;
39449
- this.last = false;
39450
- this._delta = undefined;
39451
- this._offset = undefined;
39452
- }
39453
- end(event) {
39454
- this.event = event;
39455
- this.first = false;
39456
- this.last = true;
39457
- this._delta = undefined;
39458
- this._offset = undefined;
39459
- }
39460
- get delta() {
39461
- if (this.previous == null) {
39462
- return undefined;
39463
- }
39464
- return (this._delta ??= new SubtractedHandleTransformStateImpl(this.current, this.previous));
39465
- }
39466
- get offset() {
39467
- return (this._offset ??= new SubtractedHandleTransformStateImpl(this.current, this.initial));
39468
- }
39469
- }
39470
-
39471
- function getWorldDirection(event, target) {
39472
- if (event.details.type === 'sphere') {
39473
- return false;
39474
- }
39475
- if (event.details.type === 'lines') {
39476
- const { line } = event.details;
39477
- target.copy(line.end).sub(line.start).normalize();
39478
- return true;
39479
- }
39480
- if (event.details.type === 'screen-ray') {
39481
- target.copy(event.details.direction);
39482
- return true;
39483
- }
39484
- target.set(0, 0, -1).applyQuaternion(event.pointerQuaternion);
39485
- return true;
39486
- }
39487
-
39488
39361
  function clamp( value, min, max ) {
39489
39362
 
39490
39363
  return Math.max( min, Math.min( max, value ) );
@@ -39546,7 +39419,9 @@ function computeHandleTransformState(time, pointerAmount, targetWorldMatrix, sto
39546
39419
  rotation = applyTransformOptionsToRotation(quaternion, storeData.initialTargetRotation, rotateOptions);
39547
39420
  }
39548
39421
  //compute scale
39549
- applyTransformOptionsToVector(scale, storeData.initialTargetScale, options.scale ?? true);
39422
+ if (typeof options.scale != 'object' || !options.scale.uniform) {
39423
+ applyTransformOptionsToVector(scale, storeData.initialTargetScale, options.scale ?? true);
39424
+ }
39550
39425
  return {
39551
39426
  pointerAmount,
39552
39427
  position,
@@ -39941,16 +39816,17 @@ function computeTwoPointerHandleTransformState(time, pointer1Data, pointer2Data,
39941
39816
  (storeData.prevAngle ?? 0);
39942
39817
  storeData.prevAngle = angle;
39943
39818
  qHelper1$1.premultiply(quaterionHelper2.setFromAxisAngle(vectorHelper2$1, angle));
39819
+ //compute the initial world quaternion and initial world scale
39820
+ matrixHelper3.compose(storeData.initialTargetPosition, storeData.initialTargetQuaternion, storeData.initialTargetScale);
39821
+ if (storeData.initialTargetParentWorldMatrix != null) {
39822
+ matrixHelper3.premultiply(storeData.initialTargetParentWorldMatrix);
39823
+ }
39944
39824
  //compute delta scale
39945
39825
  if (typeof options.scale === 'object' && (options.scale.uniform ?? false)) {
39946
39826
  scaleHelper$2.setScalar(deltaHelper2$1.length() / deltaHelper1$1.length());
39947
39827
  }
39948
39828
  else {
39949
- //compute the initial world quaternion and initial world scale
39950
- matrixHelper3.compose(storeData.initialTargetPosition, storeData.initialTargetQuaternion, storeData.initialTargetScale);
39951
- if (storeData.initialTargetParentWorldMatrix != null) {
39952
- matrixHelper3.premultiply(storeData.initialTargetParentWorldMatrix);
39953
- }
39829
+ //decompose the initial target world matrix
39954
39830
  matrixHelper3.decompose(vectorHelper3$1, quaterionHelper2, vectorHelper4);
39955
39831
  //compute the initial scale axis
39956
39832
  vectorHelper1$1.copy(deltaHelper1$1).applyQuaternion(quaterionHelper2.invert()).divide(vectorHelper4);
@@ -40100,6 +39976,104 @@ function computeTranslateAsHandleTransformState(time, pointerData, storeData, ta
40100
39976
  return computeHandleTransformState(time, 1, matrixHelper, storeData, undefined, options);
40101
39977
  }
40102
39978
 
39979
+ class SubtractedHandleTransformStateImpl {
39980
+ t1;
39981
+ t2;
39982
+ _position;
39983
+ _quaternion;
39984
+ _rotation;
39985
+ _scale;
39986
+ constructor(t1, t2) {
39987
+ this.t1 = t1;
39988
+ this.t2 = t2;
39989
+ }
39990
+ get time() {
39991
+ return this.t1.time - this.t2.time;
39992
+ }
39993
+ get position() {
39994
+ return (this._position ??= this.t1.position.clone().sub(this.t2.position));
39995
+ }
39996
+ get quaternion() {
39997
+ return (this._quaternion ??= this.t2.quaternion.clone().invert().premultiply(this.t1.quaternion));
39998
+ }
39999
+ get rotation() {
40000
+ return (this._rotation ??= new Euler().setFromQuaternion(this.quaternion));
40001
+ }
40002
+ get scale() {
40003
+ return (this._scale ??= this.t1.scale.clone().sub(this.t2.scale));
40004
+ }
40005
+ }
40006
+ class HandleStateImpl {
40007
+ cancel;
40008
+ previous;
40009
+ memo;
40010
+ event;
40011
+ //will be set by start before the first read
40012
+ initial;
40013
+ current;
40014
+ first;
40015
+ last;
40016
+ //cache
40017
+ _delta;
40018
+ _offset;
40019
+ constructor(cancel) {
40020
+ this.cancel = cancel;
40021
+ }
40022
+ start(event, current) {
40023
+ this.event = event;
40024
+ this.previous = undefined;
40025
+ this.current = current;
40026
+ this.initial = current;
40027
+ this.first = true;
40028
+ this.last = false;
40029
+ this.memo = undefined;
40030
+ this._delta = undefined;
40031
+ this._offset = undefined;
40032
+ }
40033
+ update(event, current) {
40034
+ this.event = event;
40035
+ this.previous = this.current;
40036
+ this.current = current;
40037
+ this.first = false;
40038
+ this.last = false;
40039
+ this._delta = undefined;
40040
+ this._offset = undefined;
40041
+ }
40042
+ end(event) {
40043
+ this.event = event;
40044
+ this.first = false;
40045
+ this.last = true;
40046
+ this._delta = undefined;
40047
+ this._offset = undefined;
40048
+ }
40049
+ get delta() {
40050
+ if (this.previous == null) {
40051
+ return undefined;
40052
+ }
40053
+ return (this._delta ??= new SubtractedHandleTransformStateImpl(this.current, this.previous));
40054
+ }
40055
+ get offset() {
40056
+ return (this._offset ??= new SubtractedHandleTransformStateImpl(this.current, this.initial));
40057
+ }
40058
+ }
40059
+
40060
+ function getWorldDirection(event, target) {
40061
+ if (event.details.type === 'sphere') {
40062
+ return false;
40063
+ }
40064
+ if (event.details.type === 'lines') {
40065
+ const { line } = event.details;
40066
+ target.copy(line.end).sub(line.start).normalize();
40067
+ return true;
40068
+ }
40069
+ if (event.details.type === 'screen-ray') {
40070
+ target.copy(event.details.direction);
40071
+ return true;
40072
+ }
40073
+ target.set(0, 0, -1).applyQuaternion(event.pointerQuaternion);
40074
+ return true;
40075
+ }
40076
+
40103
40077
  const vectorHelper$3 = new Vector3();
40104
40078
  class HandleStore {
40105
40079
  target;
@@ -40453,8 +40427,14 @@ const handleXRayMaterialProperties = {
40453
40427
  toneMapped: false,
40454
40428
  transparent: true,
40455
40429
  };
40456
- function setupHandlesContextHoverMaterial(context, material, tag, { color, hoverColor, hoverOpacity, opacity, }) {
40457
- if (hoverColor == null && hoverOpacity == null) {
40430
+ function setupHandlesContextHoverMaterial(context, material, tag, { color, hoverColor, hoverOpacity, opacity, disabled = false, }) {
40431
+ if ((hoverColor == null && hoverOpacity == null) || disabled) {
40432
+ material.color.set(color);
40433
+ material.opacity = opacity ?? 1;
40434
+ if (disabled) {
40435
+ material.opacity *= 0.5;
40436
+ material.color.lerp(new Color(1, 1, 1), 0.5);
40437
+ }
40458
40438
  return;
40459
40439
  }
40460
40440
  hoverColor ??= color;
@@ -40466,11 +40446,13 @@ function setupHandlesContextHoverMaterial(context, material, tag, { color, hover
40466
40446
  }
40467
40447
 
40468
40448
  const quaternionHelper$5 = new Quaternion();
40449
+ const geometry = new BufferGeometry();
40450
+ geometry.setAttribute('position', new Float32BufferAttribute([-1e3, 0, 0, 1e3, 0, 0], 3));
40469
40451
  class HandlesAxisHighlight extends LineSegments {
40470
40452
  context;
40471
40453
  rotationOffset;
40472
40454
  constructor(context, rotationOffset) {
40473
- super();
40455
+ super(geometry);
40474
40456
  this.context = context;
40475
40457
  this.rotationOffset = rotationOffset;
40476
40458
  this.renderOrder = Infinity;
@@ -40484,8 +40466,6 @@ class HandlesAxisHighlight extends LineSegments {
40484
40466
  }
40485
40467
  }
40486
40468
  bind(tag) {
40487
- this.geometry = new BufferGeometry();
40488
- this.geometry.setAttribute('position', new Float32BufferAttribute([-1e3, 0, 0, 1e3, 0, 0], 3));
40489
40469
  this.material = new LineBasicMaterial({
40490
40470
  ...handleXRayMaterialProperties,
40491
40471
  color: this.material.color ?? 'white',
@@ -40508,7 +40488,6 @@ class HandlesAxisHighlight extends LineSegments {
40508
40488
  }
40509
40489
  });
40510
40490
  return () => {
40511
- this.geometry.dispose();
40512
40491
  this.material.dispose();
40513
40492
  unsubscribeHover();
40514
40493
  unsubscribeApply();
@@ -40533,7 +40512,7 @@ class RegisteredHandle extends Group {
40533
40512
 
40534
40513
  function extractHandleTransformOptions(key, properties = true) {
40535
40514
  if (properties === false) {
40536
- return false;
40515
+ return { options: false, disabled: true };
40537
40516
  }
40538
40517
  if (properties === true) {
40539
40518
  const result = {
@@ -40545,18 +40524,24 @@ function extractHandleTransformOptions(key, properties = true) {
40545
40524
  for (const axis of key) {
40546
40525
  result[axis] = true;
40547
40526
  }
40548
- return result;
40527
+ return { options: result, disabled: false };
40528
+ }
40529
+ if (properties === 'disabled') {
40530
+ return { options: { x: true, y: true, z: true, e: true }, disabled: true };
40549
40531
  }
40550
40532
  if (typeof properties === 'string') {
40551
- return properties === key
40552
- ? {
40553
- x: false,
40554
- y: false,
40555
- z: false,
40556
- e: false,
40557
- [key]: true,
40558
- }
40559
- : false;
40533
+ return {
40534
+ options: properties === key
40535
+ ? {
40536
+ x: false,
40537
+ y: false,
40538
+ z: false,
40539
+ e: false,
40540
+ [key]: true,
40541
+ }
40542
+ : false,
40543
+ disabled: false,
40544
+ };
40560
40545
  }
40561
40546
  const result = {
40562
40547
  x: false,
@@ -40564,14 +40549,19 @@ function extractHandleTransformOptions(key, properties = true) {
40564
40549
  z: false,
40565
40550
  e: false,
40566
40551
  };
40552
+ let disabled = false;
40567
40553
  for (const axis of key) {
40568
- const axisOption = properties[axis] ?? true;
40554
+ let axisOption = properties[axis] ?? true;
40569
40555
  if (axisOption === false) {
40570
- return false;
40556
+ return { options: false, disabled: true };
40557
+ }
40558
+ if (axisOption === 'disabled') {
40559
+ disabled = true;
40560
+ axisOption = true;
40571
40561
  }
40572
40562
  result[axis] = axisOption;
40573
40563
  }
40574
- return result;
40564
+ return { options: result, disabled };
40575
40565
  }
40576
40566
  const worldPositionHelper = new Vector3();
40577
40567
  const cameraPositionHelper = new Vector3();
@@ -40598,8 +40588,8 @@ const arrowHeadGeometry = new CylinderGeometry(0, 0.04, 0.1, 12);
40598
40588
  arrowHeadGeometry.translate(0, 0.05, 0);
40599
40589
  const arrowBodyGeometry = new CylinderGeometry(0.0075, 0.0075, 0.5, 3);
40600
40590
  arrowBodyGeometry.translate(0, 0.25, 0);
40601
- const normalRotation$1 = new Euler(0, 0, -Math.PI / 2);
40602
- const invertedRotation$1 = new Euler(0, 0, Math.PI / 2);
40591
+ const normalRotation$2 = new Euler(0, 0, -Math.PI / 2);
40592
+ const invertedRotation$2 = new Euler(0, 0, Math.PI / 2);
40603
40593
  class AxisTranslateHandle extends RegisteredHandle {
40604
40594
  invert;
40605
40595
  showArrowBody;
@@ -40614,17 +40604,18 @@ class AxisTranslateHandle extends RegisteredHandle {
40614
40604
  this.showArrowBody = showArrowBody;
40615
40605
  }
40616
40606
  bind(defaultColor, defaultHoverColor, config) {
40617
- const options = extractHandleTransformOptions(this.axis, config);
40607
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
40618
40608
  if (options === false) {
40619
40609
  return undefined;
40620
40610
  }
40621
40611
  this.options = options;
40622
- const rotation = this.invert ? invertedRotation$1 : normalRotation$1;
40612
+ const rotation = this.invert ? invertedRotation$2 : normalRotation$2;
40623
40613
  //visualization
40624
40614
  const material = new MeshBasicMaterial(handleXRayMaterialProperties);
40625
40615
  const cleanupHeadHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
40626
40616
  color: defaultColor,
40627
40617
  hoverColor: defaultHoverColor,
40618
+ disabled,
40628
40619
  });
40629
40620
  const visualizationHeadMesh = new Mesh(arrowHeadGeometry, material);
40630
40621
  visualizationHeadMesh.renderOrder = Infinity;
@@ -40638,6 +40629,7 @@ class AxisTranslateHandle extends RegisteredHandle {
40638
40629
  cleanupBodyHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
40639
40630
  color: defaultColor,
40640
40631
  hoverColor: 0xffff40,
40632
+ disabled,
40641
40633
  });
40642
40634
  visualizationBodyMesh = new Mesh(arrowBodyGeometry, material);
40643
40635
  visualizationBodyMesh.renderOrder = Infinity;
@@ -40651,10 +40643,10 @@ class AxisTranslateHandle extends RegisteredHandle {
40651
40643
  interactionMesh.rotation.copy(rotation);
40652
40644
  interactionMesh.visible = false;
40653
40645
  this.add(interactionMesh);
40654
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
40646
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
40655
40647
  return () => {
40656
40648
  material.dispose();
40657
- unregister();
40649
+ unregister?.();
40658
40650
  cleanupHeadHover?.();
40659
40651
  cleanupBodyHover?.();
40660
40652
  this.remove(visualizationHeadMesh);
@@ -40676,7 +40668,7 @@ class PlaneTranslateHandle extends RegisteredHandle {
40676
40668
  }));
40677
40669
  }
40678
40670
  bind(defaultColor, defaultHoverColor, config) {
40679
- const options = extractHandleTransformOptions(this.axis, config);
40671
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
40680
40672
  if (options === false) {
40681
40673
  return undefined;
40682
40674
  }
@@ -40687,17 +40679,18 @@ class PlaneTranslateHandle extends RegisteredHandle {
40687
40679
  hoverOpacity: 1,
40688
40680
  color: defaultColor,
40689
40681
  hoverColor: defaultHoverColor,
40682
+ disabled,
40690
40683
  });
40691
40684
  const mesh = new Mesh(new BoxGeometry(0.2, 0.2, 0.01), material);
40692
40685
  mesh.renderOrder = Infinity;
40693
40686
  mesh.pointerEventsOrder = Infinity;
40694
40687
  mesh.position.set(0.15, 0.15, 0);
40695
- const unregister = this.context.registerHandle(this.store, mesh, this.tag);
40688
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, mesh, this.tag);
40696
40689
  this.add(mesh);
40697
40690
  return () => {
40698
40691
  material.dispose();
40699
40692
  mesh.geometry.dispose();
40700
- unregister();
40693
+ unregister?.();
40701
40694
  cleanupHover?.();
40702
40695
  this.remove(mesh);
40703
40696
  };
@@ -40761,7 +40754,7 @@ class FreeTranslateHandle extends RegisteredHandle {
40761
40754
  }));
40762
40755
  }
40763
40756
  bind(config) {
40764
- const options = extractHandleTransformOptions(this.axis, config);
40757
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
40765
40758
  if (options === false) {
40766
40759
  return undefined;
40767
40760
  }
@@ -40773,6 +40766,7 @@ class FreeTranslateHandle extends RegisteredHandle {
40773
40766
  hoverColor: 0xffff00,
40774
40767
  opacity: 0.25,
40775
40768
  hoverOpacity: 1,
40769
+ disabled,
40776
40770
  });
40777
40771
  const visualizationMesh = new Mesh(new OctahedronGeometry(0.1, 0), material);
40778
40772
  visualizationMesh.renderOrder = Infinity;
@@ -40782,12 +40776,12 @@ class FreeTranslateHandle extends RegisteredHandle {
40782
40776
  interactionMesh.pointerEventsOrder = Infinity;
40783
40777
  interactionMesh.visible = false;
40784
40778
  this.add(interactionMesh);
40785
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
40779
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
40786
40780
  return () => {
40787
40781
  material.dispose();
40788
40782
  visualizationMesh.geometry.dispose();
40789
40783
  interactionMesh.geometry.dispose();
40790
- unregister();
40784
+ unregister?.();
40791
40785
  cleanupHeadHover?.();
40792
40786
  this.remove(visualizationMesh);
40793
40787
  this.remove(interactionMesh);
@@ -40930,83 +40924,8 @@ class TranslateHandles extends Group {
40930
40924
  }
40931
40925
  }
40932
40926
 
40933
- class FreeScaleHandle extends RegisteredHandle {
40934
- constructor(context) {
40935
- super(context, 'xyz', '', () => ({
40936
- scale: { uniform: true, ...this.options },
40937
- rotate: false,
40938
- translate: 'as-scale',
40939
- multitouch: false,
40940
- }));
40941
- }
40942
- bind(config) {
40943
- const options = extractHandleTransformOptions(this.axis, config);
40944
- if (options === false) {
40945
- return undefined;
40946
- }
40947
- this.options = options;
40948
- //visualization
40949
- const material = new MeshBasicMaterial(handleXRayMaterialProperties);
40950
- const cleanupHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
40951
- opacity: 0.25,
40952
- hoverOpacity: 1,
40953
- color: 0xffffff,
40954
- hoverColor: 0xffff00,
40955
- });
40956
- const visualizationMesh = new Mesh(new BoxGeometry(0.1, 0.1, 0.1), material);
40957
- visualizationMesh.renderOrder = Infinity;
40958
- this.add(visualizationMesh);
40959
- //interaction
40960
- const interactionMesh = new Mesh(new BoxGeometry(0.2, 0.2, 0.2));
40961
- interactionMesh.visible = false;
40962
- interactionMesh.pointerEventsOrder = Infinity;
40963
- this.add(interactionMesh);
40964
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
40965
- return () => {
40966
- material.dispose();
40967
- interactionMesh.geometry.dispose();
40968
- visualizationMesh.geometry.dispose();
40969
- unregister();
40970
- cleanupHover?.();
40971
- this.remove(interactionMesh);
40972
- this.remove(visualizationMesh);
40973
- };
40974
- }
40975
- }
40976
- /*import { HandleTransformOptions } from '@pmndrs/handle'
40977
- import { RegisteredHandle } from '../context.js'
40978
- import { MeshHandlesContextMaterial } from '../material.js'
40979
- import { Vector3Tuple } from 'three'
40980
- import { useExtractHandleTransformOptions } from '../utils.js'
40981
-
40982
- export function FreeScaleControl({ enabled }: { enabled?: Exclude<HandleTransformOptions, Array<Vector3Tuple>> }) {
40983
- const scaleOptions = useExtractHandleTransformOptions('xyz', enabled)
40984
- if (scaleOptions === false) {
40985
- return null
40986
- }
40987
- return (
40988
- <>
40989
- <RegisteredHandle
40990
- tag="xyz"
40991
- translate="as-scale"
40992
- rotate={false}
40993
- scale={{ uniform: true, ...scaleOptions }}
40994
- multitouch={false}
40995
- >
40996
- <mesh pointerEventsOrder={Infinity} visible={false}>
40997
- <boxGeometry args={[0.2, 0.2, 0.2]} />
40998
- </mesh>
40999
- </RegisteredHandle>
41000
- <mesh renderOrder={Infinity}>
41001
- <boxGeometry args={[0.1, 0.1, 0.1]} />
41002
- <MeshHandlesContextMaterial tag="xyz" color={0xffffff} opacity={0.25} hoverOpacity={1} hoverColor={0xffff00} />
41003
- </mesh>
41004
- </>
41005
- )
41006
- }*/
41007
-
41008
- const normalRotation = new Euler(0, 0, -Math.PI / 2);
41009
- const invertedRotation = new Euler(0, 0, Math.PI / 2);
40927
+ const normalRotation$1 = new Euler(0, 0, -Math.PI / 2);
40928
+ const invertedRotation$1 = new Euler(0, 0, Math.PI / 2);
41010
40929
  class AxisScaleHandle extends RegisteredHandle {
41011
40930
  invert;
41012
40931
  showHandleLine;
@@ -41021,12 +40940,12 @@ class AxisScaleHandle extends RegisteredHandle {
41021
40940
  this.showHandleLine = showHandleLine;
41022
40941
  }
41023
40942
  bind(defaultColor, defaultHoverColor, config) {
41024
- const options = extractHandleTransformOptions(this.axis, config);
40943
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
41025
40944
  if (options === false) {
41026
40945
  return undefined;
41027
40946
  }
41028
40947
  this.options = options;
41029
- const rotation = this.invert ? invertedRotation : normalRotation;
40948
+ const rotation = this.invert ? invertedRotation$1 : normalRotation$1;
41030
40949
  //visualization
41031
40950
  const visualizationHeadGroup = new Group();
41032
40951
  visualizationHeadGroup.position.x = this.invert ? -0.5 : 0.5;
@@ -41036,6 +40955,7 @@ class AxisScaleHandle extends RegisteredHandle {
41036
40955
  const cleanupHeadHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
41037
40956
  color: defaultColor,
41038
40957
  hoverColor: defaultHoverColor,
40958
+ disabled,
41039
40959
  });
41040
40960
  const visualizationHeadMesh = new Mesh(new BoxGeometry(0.08, 0.08, 0.08), material);
41041
40961
  visualizationHeadMesh.renderOrder = Infinity;
@@ -41052,6 +40972,7 @@ class AxisScaleHandle extends RegisteredHandle {
41052
40972
  cleanupLineHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
41053
40973
  color: defaultColor,
41054
40974
  hoverColor: defaultHoverColor,
40975
+ disabled,
41055
40976
  });
41056
40977
  visualizationLineMesh = new Mesh(new CylinderGeometry(0.0075, 0.0075, 0.5, 3), material);
41057
40978
  visualizationLineMesh.renderOrder = Infinity;
@@ -41064,20 +40985,19 @@ class AxisScaleHandle extends RegisteredHandle {
41064
40985
  interactionGroup.rotation.copy(rotation);
41065
40986
  interactionGroup.position.x = this.invert ? -0.3 : 0.3;
41066
40987
  this.add(interactionGroup);
41067
- const interactionMesh = new Mesh(new CylinderGeometry(0.2, 0, 0.6, 4));
40988
+ const interactionMesh = new Mesh(new CylinderGeometry(0.2, 0, 0.5, 4));
41068
40989
  interactionMesh.pointerEventsOrder = Infinity;
41069
40990
  interactionMesh.position.y = 0.04;
41070
40991
  interactionGroup.add(interactionMesh);
41071
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
40992
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
41072
40993
  return () => {
41073
40994
  material.dispose();
41074
40995
  interactionMesh.geometry.dispose();
41075
40996
  visualizationHeadMesh.geometry.dispose();
41076
40997
  visualizationLineMesh?.geometry.dispose();
41077
- unregister();
40998
+ unregister?.();
41078
40999
  cleanupHeadHover?.();
41079
41000
  cleanupLineHover?.();
41080
- this.remove(visualizationHeadMesh);
41081
41001
  if (visualizationLineGroup != null) {
41082
41002
  this.remove(visualizationLineGroup);
41083
41003
  }
@@ -41097,7 +41017,7 @@ class PlaneScaleHandle extends RegisteredHandle {
41097
41017
  }));
41098
41018
  }
41099
41019
  bind(defaultColor, defaultHoverColor, config) {
41100
- const options = extractHandleTransformOptions(this.axis, config);
41020
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
41101
41021
  if (options === false) {
41102
41022
  return undefined;
41103
41023
  }
@@ -41108,29 +41028,90 @@ class PlaneScaleHandle extends RegisteredHandle {
41108
41028
  hoverOpacity: 1,
41109
41029
  color: defaultColor,
41110
41030
  hoverColor: defaultHoverColor,
41031
+ disabled,
41111
41032
  });
41112
41033
  const mesh = new Mesh(new BoxGeometry(0.2, 0.2, 0.01), material);
41113
41034
  mesh.renderOrder = Infinity;
41114
41035
  mesh.pointerEventsOrder = Infinity;
41115
41036
  mesh.position.set(0.15, 0.15, 0);
41116
- const unregister = this.context.registerHandle(this.store, mesh, this.tag);
41037
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, mesh, this.tag);
41117
41038
  this.add(mesh);
41118
41039
  return () => {
41119
41040
  material.dispose();
41120
41041
  mesh.geometry.dispose();
41121
- unregister();
41042
+ unregister?.();
41122
41043
  cleanupHover?.();
41123
41044
  this.remove(mesh);
41124
41045
  };
41125
41046
  }
41126
41047
  }
41127
41048
 
41049
+ const normalRotation = new Euler(0, 0, -Math.PI / 2);
41050
+ const invertedRotation = new Euler(0, 0, Math.PI / 2);
41051
+ class UniformAxisScaleHandle extends RegisteredHandle {
41052
+ actualAxis;
41053
+ invert;
41054
+ constructor(context, tagPrefix = '', actualAxis, invert = false) {
41055
+ super(context, 'xyz', tagPrefix, () => ({
41056
+ scale: { uniform: true, ...this.options },
41057
+ rotate: false,
41058
+ translate: 'as-scale',
41059
+ multitouch: false,
41060
+ }));
41061
+ this.actualAxis = actualAxis;
41062
+ this.invert = invert;
41063
+ }
41064
+ bind(defaultColor, defaultHoverColor, config) {
41065
+ const { options, disabled } = extractHandleTransformOptions(this.actualAxis, config);
41066
+ if (options === false) {
41067
+ return undefined;
41068
+ }
41069
+ this.options = options;
41070
+ const rotation = this.invert ? invertedRotation : normalRotation;
41071
+ //visualization
41072
+ const headGroup = new Group();
41073
+ headGroup.position.x = this.invert ? -0.7 : 0.7;
41074
+ headGroup.rotation.copy(rotation);
41075
+ this.add(headGroup);
41076
+ const material = new MeshBasicMaterial(handleXRayMaterialProperties);
41077
+ const cleanupHeadHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
41078
+ color: defaultColor,
41079
+ hoverColor: defaultHoverColor,
41080
+ opacity: 0.5,
41081
+ hoverOpacity: 1,
41082
+ disabled,
41083
+ });
41084
+ const visualizationHeadMesh = new Mesh(new BoxGeometry(0.08, 0.08, 0.08), material);
41085
+ visualizationHeadMesh.renderOrder = Infinity;
41086
+ visualizationHeadMesh.rotation.copy(rotation);
41087
+ headGroup.add(visualizationHeadMesh);
41088
+ const interactionHeadMesh = new Mesh(new BoxGeometry(0.15, 0.15, 0.15), material);
41089
+ interactionHeadMesh.visible = false;
41090
+ interactionHeadMesh.pointerEventsOrder = Infinity;
41091
+ interactionHeadMesh.rotation.copy(rotation);
41092
+ headGroup.add(interactionHeadMesh);
41093
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionHeadMesh, this.tag);
41094
+ return () => {
41095
+ material.dispose();
41096
+ visualizationHeadMesh.geometry.dispose();
41097
+ unregister?.();
41098
+ cleanupHeadHover?.();
41099
+ this.remove(headGroup);
41100
+ };
41101
+ }
41102
+ }
41103
+
41128
41104
  const vectorHelper$1 = new Vector3();
41129
41105
  class ScaleHandles extends Group {
41130
41106
  context;
41131
41107
  size;
41132
41108
  fixed;
41133
- free;
41109
+ scaleX;
41110
+ scaleY;
41111
+ scaleZ;
41112
+ scaleNegX;
41113
+ scaleNegY;
41114
+ scaleNegZ;
41134
41115
  translationX;
41135
41116
  translationY;
41136
41117
  translationZ;
@@ -41145,8 +41126,22 @@ class ScaleHandles extends Group {
41145
41126
  this.context = context;
41146
41127
  this.size = size;
41147
41128
  this.fixed = fixed;
41148
- this.free = new FreeScaleHandle(this.context);
41149
- this.add(this.free);
41129
+ this.scaleX = new UniformAxisScaleHandle(this.context, undefined, 'x');
41130
+ this.add(this.scaleX);
41131
+ this.scaleY = new UniformAxisScaleHandle(this.context, undefined, 'y');
41132
+ this.scaleY.rotation.z = Math.PI / 2;
41133
+ this.add(this.scaleY);
41134
+ this.scaleZ = new UniformAxisScaleHandle(this.context, undefined, 'z');
41135
+ this.scaleZ.rotation.y = -Math.PI / 2;
41136
+ this.add(this.scaleZ);
41137
+ this.scaleNegX = new UniformAxisScaleHandle(this.context, undefined, 'x', true);
41138
+ this.add(this.scaleNegX);
41139
+ this.scaleNegY = new UniformAxisScaleHandle(this.context, undefined, 'y', true);
41140
+ this.scaleNegY.rotation.z = Math.PI / 2;
41141
+ this.add(this.scaleNegY);
41142
+ this.scaleNegZ = new UniformAxisScaleHandle(this.context, undefined, 'z', true);
41143
+ this.scaleNegZ.rotation.y = -Math.PI / 2;
41144
+ this.add(this.scaleNegZ);
41150
41145
  this.translationX = new AxisScaleHandle(this.context, 'x');
41151
41146
  this.add(this.translationX);
41152
41147
  this.translationY = new AxisScaleHandle(this.context, 'y');
@@ -41183,6 +41178,12 @@ class ScaleHandles extends Group {
41183
41178
  this.scale.multiplyScalar(computeHandlesScale(this, camera, this.fixed ?? true, this.size ?? 1));
41184
41179
  }
41185
41180
  bind(options) {
41181
+ const unbindScaleX = this.scaleX.bind(0xffffff, 0xffff00, options);
41182
+ const unbindScaleY = this.scaleY.bind(0xffffff, 0xffff00, options);
41183
+ const unbindScaleZ = this.scaleZ.bind(0xffffff, 0xffff00, options);
41184
+ const unbindScaleNegX = this.scaleNegX.bind(0xffffff, 0xffff00, options);
41185
+ const unbindScaleNegY = this.scaleNegY.bind(0xffffff, 0xffff00, options);
41186
+ const unbindScaleNegZ = this.scaleNegZ.bind(0xffffff, 0xffff00, options);
41186
41187
  const unbindTranslationX = this.translationX.bind(0xff0000, 0xffff00, options);
41187
41188
  const unbindTranslationY = this.translationY.bind(0x00ff00, 0xffff00, options);
41188
41189
  const unbindTranslationZ = this.translationZ.bind(0x0000ff, 0xffff00, options);
@@ -41192,7 +41193,6 @@ class ScaleHandles extends Group {
41192
41193
  const unbindTranslationXY = this.translationXY.bind(0x0000ff, 0xffff00, options);
41193
41194
  const unbindTranslationYZ = this.translationYZ.bind(0xff0000, 0xffff00, options);
41194
41195
  const unbindTranslationXZ = this.translationXZ.bind(0x00ff00, 0xffff00, options);
41195
- const unbindFree = this.free.bind(options);
41196
41196
  return () => {
41197
41197
  unbindTranslationX?.();
41198
41198
  unbindTranslationY?.();
@@ -41203,7 +41203,12 @@ class ScaleHandles extends Group {
41203
41203
  unbindTranslationXY?.();
41204
41204
  unbindTranslationYZ?.();
41205
41205
  unbindTranslationXZ?.();
41206
- unbindFree?.();
41206
+ unbindScaleX?.();
41207
+ unbindScaleY?.();
41208
+ unbindScaleZ?.();
41209
+ unbindScaleNegX?.();
41210
+ unbindScaleNegY?.();
41211
+ unbindScaleNegZ?.();
41207
41212
  };
41208
41213
  }
41209
41214
  }
@@ -41419,7 +41424,7 @@ class AxisRotateHandle extends RegisteredHandle {
41419
41424
  }
41420
41425
  }
41421
41426
  bind(defaultColor, config) {
41422
- const options = extractHandleTransformOptions(this.axis, config);
41427
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
41423
41428
  if (options === false) {
41424
41429
  return undefined;
41425
41430
  }
@@ -41429,6 +41434,7 @@ class AxisRotateHandle extends RegisteredHandle {
41429
41434
  const cleanupHover = setupHandlesContextHoverMaterial(this.context, material, this.tag, {
41430
41435
  color: defaultColor,
41431
41436
  hoverColor: 0xffff00,
41437
+ disabled,
41432
41438
  });
41433
41439
  const visualizationMesh = new Mesh(createCircleGeometry(0.5, 0.5), material);
41434
41440
  visualizationMesh.renderOrder = Infinity;
@@ -41439,12 +41445,12 @@ class AxisRotateHandle extends RegisteredHandle {
41439
41445
  interactionMesh.pointerEventsOrder = Infinity;
41440
41446
  interactionMesh.rotation.set(0, -Math.PI / 2, -Math.PI / 2);
41441
41447
  this.add(interactionMesh);
41442
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
41448
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
41443
41449
  return () => {
41444
41450
  material.dispose();
41445
41451
  interactionMesh.geometry.dispose();
41446
41452
  visualizationMesh.geometry.dispose();
41447
- unregister();
41453
+ unregister?.();
41448
41454
  cleanupHover?.();
41449
41455
  this.remove(interactionMesh);
41450
41456
  this.remove(visualizationMesh);
@@ -41481,7 +41487,7 @@ class FreeRotateHandle extends RegisteredHandle {
41481
41487
  }
41482
41488
  }
41483
41489
  bind(config) {
41484
- const options = extractHandleTransformOptions(this.axis, config);
41490
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
41485
41491
  if (options === false) {
41486
41492
  return undefined;
41487
41493
  }
@@ -41492,6 +41498,7 @@ class FreeRotateHandle extends RegisteredHandle {
41492
41498
  color: 0xffffff,
41493
41499
  hoverColor: 0xffff00,
41494
41500
  opacity: 0.25,
41501
+ disabled,
41495
41502
  });
41496
41503
  const visualizationMesh = new Mesh(createCircleGeometry(0.5, 1), material);
41497
41504
  visualizationMesh.renderOrder = Infinity;
@@ -41501,13 +41508,13 @@ class FreeRotateHandle extends RegisteredHandle {
41501
41508
  interactionMesh.visible = false;
41502
41509
  interactionMesh.pointerEventsOrder = Infinity;
41503
41510
  this.add(interactionMesh);
41504
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
41511
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
41505
41512
  return () => {
41506
41513
  this.pointerEvents = 'none';
41507
41514
  material.dispose();
41508
41515
  interactionMesh.geometry.dispose();
41509
41516
  visualizationMesh.geometry.dispose();
41510
- unregister();
41517
+ unregister?.();
41511
41518
  cleanupHover?.();
41512
41519
  this.remove(interactionMesh);
41513
41520
  this.remove(visualizationMesh);
@@ -41547,7 +41554,7 @@ class ScreenSpaceRotateHandle extends RegisteredHandle {
41547
41554
  this.direction.negate();
41548
41555
  }
41549
41556
  bind(config) {
41550
- const options = extractHandleTransformOptions(this.axis, config);
41557
+ const { options, disabled } = extractHandleTransformOptions(this.axis, config);
41551
41558
  if (options === false) {
41552
41559
  return undefined;
41553
41560
  }
@@ -41558,6 +41565,7 @@ class ScreenSpaceRotateHandle extends RegisteredHandle {
41558
41565
  color: 0xffff00,
41559
41566
  hoverColor: 0xffff00,
41560
41567
  opacity: 0.5,
41568
+ disabled,
41561
41569
  });
41562
41570
  const visualizationMesh = new Mesh(createCircleGeometry(0.75, 1), material);
41563
41571
  visualizationMesh.renderOrder = Infinity;
@@ -41568,12 +41576,12 @@ class ScreenSpaceRotateHandle extends RegisteredHandle {
41568
41576
  interactionMesh.rotation.y = Math.PI / 2;
41569
41577
  interactionMesh.pointerEventsOrder = Infinity;
41570
41578
  this.add(interactionMesh);
41571
- const unregister = this.context.registerHandle(this.store, interactionMesh, this.tag);
41579
+ const unregister = disabled ? undefined : this.context.registerHandle(this.store, interactionMesh, this.tag);
41572
41580
  return () => {
41573
41581
  material.dispose();
41574
41582
  interactionMesh.geometry.dispose();
41575
41583
  visualizationMesh.geometry.dispose();
41576
- unregister();
41584
+ unregister?.();
41577
41585
  cleanupHover?.();
41578
41586
  this.remove(interactionMesh);
41579
41587
  this.remove(visualizationMesh);
@@ -42252,7 +42260,7 @@ function pushTimes(target, value, times) {
42252
42260
 
42253
42261
  const buttonsDownTimeKey = Symbol('buttonsDownTime');
42254
42262
  const buttonsClickTimeKey = Symbol('buttonsClickTime');
42255
- const pointerMap = new Map();
42263
+ globalThis.pointerEventspointerMap ??= new Map();
42256
42264
  Object3D.prototype.setPointerCapture = function (pointerId) {
42257
42265
  getPointerById(pointerId)?.setCapture(this);
42258
42266
  };
@@ -42267,7 +42275,7 @@ Object3D.prototype.hasPointerCapture = function (pointerId) {
42267
42275
  return getPointerById(pointerId)?.hasCaptured(this) ?? false;
42268
42276
  };
42269
42277
  function getPointerById(pointerId) {
42270
- return pointerMap.get(pointerId);
42278
+ return globalThis.pointerEventspointerMap?.get(pointerId);
42271
42279
  }
42272
42280
  class Pointer {
42273
42281
  id;
@@ -42307,7 +42315,7 @@ class Pointer {
42307
42315
  this.parentSetPointerCapture = parentSetPointerCapture;
42308
42316
  this.parentReleasePointerCapture = parentReleasePointerCapture;
42309
42317
  this.options = options;
42310
- pointerMap.set(id, this);
42318
+ globalThis.pointerEventspointerMap?.set(id, this);
42311
42319
  }
42312
42320
  getPointerCapture() {
42313
42321
  return this.pointerCapture;
@@ -42457,9 +42465,9 @@ class Pointer {
42457
42465
  if (this.intersection == null) {
42458
42466
  return;
42459
42467
  }
42460
- const { contextMenuButton = 2, dblClickThresholdMs = 500, clickThesholdMs = 300 } = this.options;
42468
+ const { clickThesholdMs, contextMenuButton = 2, dblClickThresholdMs = 500, clickThresholdMs = clickThesholdMs ?? 300, } = this.options;
42461
42469
  this.pointerCapture = undefined;
42462
- const isClicked = getIsClicked(this.buttonsDownTime, this.intersection.object[buttonsDownTimeKey], nativeEvent.button, nativeEvent.timeStamp, clickThesholdMs);
42470
+ const isClicked = getIsClicked(this.buttonsDownTime, this.intersection.object[buttonsDownTimeKey], nativeEvent.button, nativeEvent.timeStamp, clickThresholdMs);
42463
42471
  const camera = this.getCamera();
42464
42472
  //context menu
42465
42473
  if (isClicked && nativeEvent.button === contextMenuButton) {
@@ -42561,7 +42569,7 @@ function computeEnterLeave(currentObject, targetAllAncestors, targeDiffRemovedAn
42561
42569
  targetAllAncestors.push(currentObject);
42562
42570
  computeEnterLeave(currentObject.parent, targetAllAncestors, targeDiffRemovedAncestors, targetDiffAddedAncestors);
42563
42571
  }
42564
- function getIsClicked(pointerButtonsPressTime, objectButtonsDownTime, button, buttonUpTime, clickThesholdMs) {
42572
+ function getIsClicked(pointerButtonsPressTime, objectButtonsDownTime, button, buttonUpTime, clickThresholdMs) {
42565
42573
  if (objectButtonsDownTime == null) {
42566
42574
  return false;
42567
42575
  }
@@ -42569,7 +42577,7 @@ function getIsClicked(pointerButtonsPressTime, objectButtonsDownTime, button, bu
42569
42577
  if (objectButtonPressTime == null) {
42570
42578
  return false;
42571
42579
  }
42572
- if (buttonUpTime - objectButtonPressTime > clickThesholdMs) {
42580
+ if (buttonUpTime - objectButtonPressTime > clickThresholdMs) {
42573
42581
  return false;
42574
42582
  }
42575
42583
  if (objectButtonPressTime != pointerButtonsPressTime.get(button)) {
@@ -42788,7 +42796,11 @@ function htmlEventToCoords(element, e, target) {
42788
42796
  function forwardHtmlEvents(fromElement, getCamera, scene, options) {
42789
42797
  return forwardEvents(fromElement,
42790
42798
  //backwards compatibility
42791
- typeof getCamera === 'function' ? getCamera : () => getCamera, scene, htmlEventToCoords.bind(null, fromElement), fromElement.setPointerCapture.bind(fromElement), fromElement.releasePointerCapture.bind(fromElement), {
42799
+ typeof getCamera === 'function' ? getCamera : () => getCamera, scene, htmlEventToCoords.bind(null, fromElement), fromElement.setPointerCapture.bind(fromElement), (pointerId) => {
42800
+ if (fromElement.hasPointerCapture(pointerId)) {
42801
+ fromElement.releasePointerCapture(pointerId);
42802
+ }
42803
+ }, {
42792
42804
  pointerTypePrefix: 'screen-',
42793
42805
  ...options,
42794
42806
  });
@@ -42960,6 +42972,8 @@ class InputLayer {
42960
42972
  this.isPointerLocked = false;
42961
42973
  this.vec3 = new Vector3();
42962
42974
  this.quat = new Quaternion();
42975
+ this.quatB = new Quaternion();
42976
+ this.euler = new Euler();
42963
42977
  this.keyState = {
42964
42978
  ShiftLeft: false,
42965
42979
  KeyW: false,
@@ -42970,6 +42984,15 @@ class InputLayer {
42970
42984
  ArrowDown: false,
42971
42985
  };
42972
42986
  this.lastTime = 0;
42987
+ /**
42988
+ * Whether the device is in programmatic control mode.
42989
+ * When true, this layer won't sync TO the device (device controls us instead).
42990
+ */
42991
+ this.isInProgrammaticMode = false;
42992
+ /**
42993
+ * Whether user interactions (pointer lock, mouse movement) are enabled.
42994
+ */
42995
+ this.interactionsEnabled = true;
42973
42996
  this.scene = new Scene();
42974
42997
  this.camera = new PerspectiveCamera(50, window.innerWidth / window.innerHeight, 0.1, 40);
42975
42998
  this.playerRig = new Group();
@@ -43027,7 +43050,7 @@ class InputLayer {
43027
43050
  // @ts-ignore
43028
43051
  window.transformHandles = this.transformHandles;
43029
43052
  this.mouseMoveHandler = (event) => {
43030
- if (!this.isPointerLocked)
43053
+ if (!this.isPointerLocked || this.isInProgrammaticMode)
43031
43054
  return;
43032
43055
  const movementX =
43033
43056
  // @ts-ignore
@@ -43050,6 +43073,10 @@ class InputLayer {
43050
43073
  document.addEventListener('keyup', this.keyUpHandler.bind(this), false);
43051
43074
  }
43052
43075
  lockPointer() {
43076
+ // Don't allow pointer lock in programmatic mode or when interactions disabled
43077
+ if (this.isInProgrammaticMode || !this.interactionsEnabled) {
43078
+ return;
43079
+ }
43053
43080
  this.renderer.domElement.requestPointerLock =
43054
43081
  this.renderer.domElement.requestPointerLock ||
43055
43082
  // @ts-ignore
@@ -43074,7 +43101,7 @@ class InputLayer {
43074
43101
  else {
43075
43102
  document.removeEventListener('mousemove', this.mouseMoveHandler, false);
43076
43103
  Object.values(this.transformHandles).forEach((transformHandle) => {
43077
- transformHandle.visible = true;
43104
+ transformHandle.visible = !this.isInProgrammaticMode;
43078
43105
  });
43079
43106
  }
43080
43107
  }
@@ -43083,6 +43110,8 @@ class InputLayer {
43083
43110
  if (event.code in keyState) {
43084
43111
  keyState[event.code] = true;
43085
43112
  }
43113
+ if (this.isInProgrammaticMode)
43114
+ return;
43086
43115
  if (keyState.ShiftLeft && keyState.ArrowUp) {
43087
43116
  this.cameraRig.position.y += 0.05;
43088
43117
  }
@@ -43130,6 +43159,58 @@ class InputLayer {
43130
43159
  emulatedInput.quaternion.copy(transformHandle.getWorldQuaternion(this.quat));
43131
43160
  });
43132
43161
  }
43162
+ /**
43163
+ * Sync DevUI's local transforms FROM the device's global transforms.
43164
+ * This is the reverse of syncDeviceTransforms() - used when device
43165
+ * is controlled programmatically and we need to follow its state.
43166
+ */
43167
+ syncFromDevice() {
43168
+ const { xrDevice, playerRig, cameraRig, transformHandles } = this;
43169
+ // Get headset world position and rotation from device
43170
+ const headsetPos = xrDevice.position;
43171
+ const headsetQuat = xrDevice.quaternion;
43172
+ // Update combined camera position
43173
+ this.combinedCameraPosition.set(headsetPos.x, headsetPos.y, headsetPos.z);
43174
+ // Decompose quaternion into Euler angles (YXZ order for gimbal)
43175
+ // Y = yaw (playerRig), pitch+roll preserved on cameraRig
43176
+ this.quatB.set(headsetQuat.x, headsetQuat.y, headsetQuat.z, headsetQuat.w);
43177
+ this.euler.setFromQuaternion(this.quatB, 'YXZ');
43178
+ // Set playerRig position (x/z) and yaw
43179
+ playerRig.position.set(headsetPos.x, 0, headsetPos.z);
43180
+ playerRig.rotation.set(0, this.euler.y, 0);
43181
+ // Set cameraRig position (y) and full local rotation (preserving roll)
43182
+ // cameraRig local quat = inv(playerRig yaw quat) * headset world quat
43183
+ cameraRig.position.set(0, headsetPos.y, 0);
43184
+ this.quat.setFromEuler(this.euler.set(0, this.euler.y, 0, 'YXZ'));
43185
+ cameraRig.quaternion.multiplyQuaternions(this.quat.invert(), this.quatB);
43186
+ // Force Three.js to update world matrices
43187
+ playerRig.updateMatrixWorld(true);
43188
+ // Sync controller/hand transforms
43189
+ transformHandles.forEach((transformHandle, handedness) => {
43190
+ const emulatedInput = xrDevice.primaryInputMode === 'controller'
43191
+ ? xrDevice.controllers[handedness]
43192
+ : xrDevice.hands[handedness];
43193
+ // Convert world position to cameraRig local position
43194
+ const worldPos = this.vec3.set(emulatedInput.position.x, emulatedInput.position.y, emulatedInput.position.z);
43195
+ cameraRig.worldToLocal(worldPos);
43196
+ transformHandle.position.copy(worldPos);
43197
+ // Convert world quaternion to cameraRig local quaternion
43198
+ cameraRig.getWorldQuaternion(this.quat);
43199
+ this.quatB.set(emulatedInput.quaternion.x, emulatedInput.quaternion.y, emulatedInput.quaternion.z, emulatedInput.quaternion.w);
43200
+ this.quatB.premultiply(this.quat.invert());
43201
+ transformHandle.quaternion.copy(this.quatB);
43202
+ });
43203
+ }
43204
+ /**
43205
+ * Enable or disable user interactions (pointer lock, keyboard controls).
43206
+ * When disabled, the DevUI still renders but doesn't respond to user input.
43207
+ */
43208
+ setInteractionsEnabled(enabled) {
43209
+ this.interactionsEnabled = enabled;
43210
+ if (!enabled && this.isPointerLocked) {
43211
+ document.exitPointerLock();
43212
+ }
43213
+ }
43133
43214
  renderScene(time) {
43134
43215
  const xrDeviceFOV = (this.xrDevice.fovy / Math.PI) * 180;
43135
43216
  let cameraMatrixNeedsUpdate = false;
@@ -43152,26 +43233,32 @@ class InputLayer {
43152
43233
  if (cameraMatrixNeedsUpdate) {
43153
43234
  this.camera.updateProjectionMatrix();
43154
43235
  }
43155
- if (!this.isPointerLocked) {
43156
- this.cameraRig.position.y = this.combinedCameraPosition.y;
43157
- this.playerRig.position.x = this.combinedCameraPosition.x;
43158
- this.playerRig.position.z = this.combinedCameraPosition.z;
43159
- }
43160
- else {
43161
- this.cameraRig.getWorldPosition(this.combinedCameraPosition);
43236
+ if (!this.isInProgrammaticMode) {
43237
+ if (!this.isPointerLocked) {
43238
+ this.cameraRig.position.y = this.combinedCameraPosition.y;
43239
+ this.playerRig.position.x = this.combinedCameraPosition.x;
43240
+ this.playerRig.position.z = this.combinedCameraPosition.z;
43241
+ }
43242
+ else {
43243
+ this.cameraRig.getWorldPosition(this.combinedCameraPosition);
43244
+ }
43162
43245
  }
43163
43246
  this.forwardHtmlEvents();
43164
43247
  this.transformHandles.forEach((transformHandle, handedness) => {
43165
43248
  var _a;
43166
43249
  const connected = Boolean((_a = this.xrDevice.controllers[handedness]) === null || _a === void 0 ? void 0 : _a.connected);
43167
- transformHandle.visible = connected && !this.isPointerLocked;
43250
+ transformHandle.visible = connected && !this.isPointerLocked && !this.isInProgrammaticMode;
43168
43251
  if (connected) {
43169
43252
  transformHandle.update(time, this.camera);
43170
43253
  }
43171
43254
  });
43172
43255
  const delta = Math.min((time - this.lastTime) / 1000, 0.1);
43173
- this.movePlayerRig(delta);
43174
- this.syncDeviceTransforms();
43256
+ // Only process user input and sync TO device in manual mode
43257
+ // In programmatic mode, the device controls us (via syncFromDevice)
43258
+ if (!this.isInProgrammaticMode) {
43259
+ this.movePlayerRig(delta);
43260
+ this.syncDeviceTransforms();
43261
+ }
43175
43262
  this.renderer.render(this.scene, this.camera);
43176
43263
  this.lastTime = time;
43177
43264
  }
@@ -43189,7 +43276,7 @@ class InputLayer {
43189
43276
  }
43190
43277
  }
43191
43278
 
43192
- const VERSION = "1.1.1";
43279
+ const VERSION = "2.2.0";
43193
43280
 
43194
43281
  var client = {exports: {}};
43195
43282
 
@@ -43281,10 +43368,10 @@ function requireScheduler_production () {
43281
43368
  taskIdCounter = 1,
43282
43369
  currentTask = null,
43283
43370
  currentPriorityLevel = 3,
43284
- isPerformingWork = !1,
43285
- isHostCallbackScheduled = !1,
43286
- isHostTimeoutScheduled = !1,
43287
- needsPaint = !1,
43371
+ isPerformingWork = false,
43372
+ isHostCallbackScheduled = false,
43373
+ isHostTimeoutScheduled = false,
43374
+ needsPaint = false,
43288
43375
  localSetTimeout = "function" === typeof setTimeout ? setTimeout : null,
43289
43376
  localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null,
43290
43377
  localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null;
@@ -43300,36 +43387,36 @@ function requireScheduler_production () {
43300
43387
  }
43301
43388
  }
43302
43389
  function handleTimeout(currentTime) {
43303
- isHostTimeoutScheduled = !1;
43390
+ isHostTimeoutScheduled = false;
43304
43391
  advanceTimers(currentTime);
43305
43392
  if (!isHostCallbackScheduled)
43306
43393
  if (null !== peek(taskQueue))
43307
- (isHostCallbackScheduled = !0),
43394
+ (isHostCallbackScheduled = true),
43308
43395
  isMessageLoopRunning ||
43309
- ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());
43396
+ ((isMessageLoopRunning = true), schedulePerformWorkUntilDeadline());
43310
43397
  else {
43311
43398
  var firstTimer = peek(timerQueue);
43312
43399
  null !== firstTimer &&
43313
43400
  requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);
43314
43401
  }
43315
43402
  }
43316
- var isMessageLoopRunning = !1,
43403
+ var isMessageLoopRunning = false,
43317
43404
  taskTimeoutID = -1,
43318
43405
  frameInterval = 5,
43319
43406
  startTime = -1;
43320
43407
  function shouldYieldToHost() {
43321
43408
  return needsPaint
43322
- ? !0
43409
+ ? true
43323
43410
  : exports.unstable_now() - startTime < frameInterval
43324
- ? !1
43325
- : !0;
43411
+ ? false
43412
+ : true;
43326
43413
  }
43327
43414
  function performWorkUntilDeadline() {
43328
- needsPaint = !1;
43415
+ needsPaint = false;
43329
43416
  if (isMessageLoopRunning) {
43330
43417
  var currentTime = exports.unstable_now();
43331
43418
  startTime = currentTime;
43332
- var hasMoreWork = !0;
43419
+ var hasMoreWork = true;
43333
43420
  try {
43334
43421
  a: {
43335
43422
  isHostCallbackScheduled = !1;
@@ -43391,7 +43478,7 @@ function requireScheduler_production () {
43391
43478
  } finally {
43392
43479
  hasMoreWork
43393
43480
  ? schedulePerformWorkUntilDeadline()
43394
- : (isMessageLoopRunning = !1);
43481
+ : (isMessageLoopRunning = false);
43395
43482
  }
43396
43483
  }
43397
43484
  }
@@ -43454,7 +43541,7 @@ function requireScheduler_production () {
43454
43541
  }
43455
43542
  };
43456
43543
  exports.unstable_requestPaint = function () {
43457
- needsPaint = !0;
43544
+ needsPaint = true;
43458
43545
  };
43459
43546
  exports.unstable_runWithPriority = function (priorityLevel, eventHandler) {
43460
43547
  switch (priorityLevel) {
@@ -43520,15 +43607,15 @@ function requireScheduler_production () {
43520
43607
  priorityLevel === peek(timerQueue) &&
43521
43608
  (isHostTimeoutScheduled
43522
43609
  ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))
43523
- : (isHostTimeoutScheduled = !0),
43610
+ : (isHostTimeoutScheduled = true),
43524
43611
  requestHostTimeout(handleTimeout, options - currentTime)))
43525
43612
  : ((priorityLevel.sortIndex = timeout),
43526
43613
  push(taskQueue, priorityLevel),
43527
43614
  isHostCallbackScheduled ||
43528
43615
  isPerformingWork ||
43529
- ((isHostCallbackScheduled = !0),
43616
+ ((isHostCallbackScheduled = true),
43530
43617
  isMessageLoopRunning ||
43531
- ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));
43618
+ ((isMessageLoopRunning = true), schedulePerformWorkUntilDeadline())));
43532
43619
  return priorityLevel;
43533
43620
  };
43534
43621
  exports.unstable_shouldYield = shouldYieldToHost;
@@ -43910,15 +43997,15 @@ function requireReactDomClient_production () {
43910
43997
  }
43911
43998
  if (a.return !== b.return) (a = parentA), (b = parentB);
43912
43999
  else {
43913
- for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {
44000
+ for (var didFindChild = false, child$0 = parentA.child; child$0; ) {
43914
44001
  if (child$0 === a) {
43915
- didFindChild = !0;
44002
+ didFindChild = true;
43916
44003
  a = parentA;
43917
44004
  b = parentB;
43918
44005
  break;
43919
44006
  }
43920
44007
  if (child$0 === b) {
43921
- didFindChild = !0;
44008
+ didFindChild = true;
43922
44009
  b = parentA;
43923
44010
  a = parentB;
43924
44011
  break;
@@ -43928,13 +44015,13 @@ function requireReactDomClient_production () {
43928
44015
  if (!didFindChild) {
43929
44016
  for (child$0 = parentB.child; child$0; ) {
43930
44017
  if (child$0 === a) {
43931
- didFindChild = !0;
44018
+ didFindChild = true;
43932
44019
  a = parentB;
43933
44020
  b = parentA;
43934
44021
  break;
43935
44022
  }
43936
44023
  if (child$0 === b) {
43937
- didFindChild = !0;
44024
+ didFindChild = true;
43938
44025
  b = parentB;
43939
44026
  a = parentA;
43940
44027
  break;
@@ -44043,7 +44130,7 @@ function requireReactDomClient_production () {
44043
44130
  ReactDOMSharedInternals =
44044
44131
  ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
44045
44132
  sharedNotPendingObject = {
44046
- pending: !1,
44133
+ pending: false,
44047
44134
  data: null,
44048
44135
  method: null,
44049
44136
  action: null
@@ -44523,7 +44610,7 @@ function requireReactDomClient_production () {
44523
44610
  return resources;
44524
44611
  }
44525
44612
  function markNodeAsHoistable(node) {
44526
- node[internalHoistableMarker] = !0;
44613
+ node[internalHoistableMarker] = true;
44527
44614
  }
44528
44615
  var allNativeEvents = new Set(),
44529
44616
  registrationNameDependencies = {};
@@ -44547,12 +44634,12 @@ function requireReactDomClient_production () {
44547
44634
  validatedAttributeNameCache = {};
44548
44635
  function isAttributeNameSafe(attributeName) {
44549
44636
  if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))
44550
- return !0;
44551
- if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;
44637
+ return true;
44638
+ if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false;
44552
44639
  if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))
44553
- return (validatedAttributeNameCache[attributeName] = !0);
44554
- illegalAttributeNameCache[attributeName] = !0;
44555
- return !1;
44640
+ return (validatedAttributeNameCache[attributeName] = true);
44641
+ illegalAttributeNameCache[attributeName] = true;
44642
+ return false;
44556
44643
  }
44557
44644
  function setValueForAttribute(node, name, value) {
44558
44645
  if (isAttributeNameSafe(name))
@@ -44619,10 +44706,10 @@ function requireReactDomClient_production () {
44619
44706
  }
44620
44707
  return "\n" + prefix + name + suffix;
44621
44708
  }
44622
- var reentry = !1;
44709
+ var reentry = false;
44623
44710
  function describeNativeComponentFrame(fn, construct) {
44624
44711
  if (!fn || reentry) return "";
44625
- reentry = !0;
44712
+ reentry = true;
44626
44713
  var previousPrepareStackTrace = Error.prepareStackTrace;
44627
44714
  Error.prepareStackTrace = void 0;
44628
44715
  try {
@@ -44747,7 +44834,7 @@ function requireReactDomClient_production () {
44747
44834
  }
44748
44835
  }
44749
44836
  } finally {
44750
- (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);
44837
+ (reentry = false), (Error.prepareStackTrace = previousPrepareStackTrace);
44751
44838
  }
44752
44839
  return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "")
44753
44840
  ? describeBuiltInComponentFrame(previousPrepareStackTrace)
@@ -44767,11 +44854,11 @@ function requireReactDomClient_production () {
44767
44854
  return describeBuiltInComponentFrame("SuspenseList");
44768
44855
  case 0:
44769
44856
  case 15:
44770
- return describeNativeComponentFrame(fiber.type, !1);
44857
+ return describeNativeComponentFrame(fiber.type, false);
44771
44858
  case 11:
44772
- return describeNativeComponentFrame(fiber.type.render, !1);
44859
+ return describeNativeComponentFrame(fiber.type.render, false);
44773
44860
  case 1:
44774
- return describeNativeComponentFrame(fiber.type, !0);
44861
+ return describeNativeComponentFrame(fiber.type, true);
44775
44862
  case 31:
44776
44863
  return describeBuiltInComponentFrame("Activity");
44777
44864
  default:
@@ -44828,7 +44915,7 @@ function requireReactDomClient_production () {
44828
44915
  var get = descriptor.get,
44829
44916
  set = descriptor.set;
44830
44917
  Object.defineProperty(node, valueField, {
44831
- configurable: !0,
44918
+ configurable: true,
44832
44919
  get: function () {
44833
44920
  return get.call(this);
44834
44921
  },
@@ -44858,9 +44945,9 @@ function requireReactDomClient_production () {
44858
44945
  node._valueTracker || (node._valueTracker = trackValueOnNode(node));
44859
44946
  }
44860
44947
  function updateValueIfChanged(node) {
44861
- if (!node) return !1;
44948
+ if (!node) return false;
44862
44949
  var tracker = node._valueTracker;
44863
- if (!tracker) return !0;
44950
+ if (!tracker) return true;
44864
44951
  var lastValue = tracker.getValue();
44865
44952
  var value = "";
44866
44953
  node &&
@@ -44870,7 +44957,7 @@ function requireReactDomClient_production () {
44870
44957
  : "false"
44871
44958
  : node.value);
44872
44959
  node = value;
44873
- return node !== lastValue ? (tracker.setValue(node), !0) : !1;
44960
+ return node !== lastValue ? (tracker.setValue(node), true) : false;
44874
44961
  }
44875
44962
  function getActiveElement(doc) {
44876
44963
  doc = doc || ("undefined" !== typeof document ? document : void 0);
@@ -44984,23 +45071,23 @@ function requireReactDomClient_production () {
44984
45071
  if (multiple) {
44985
45072
  multiple = {};
44986
45073
  for (var i = 0; i < propValue.length; i++)
44987
- multiple["$" + propValue[i]] = !0;
45074
+ multiple["$" + propValue[i]] = true;
44988
45075
  for (propValue = 0; propValue < node.length; propValue++)
44989
45076
  (i = multiple.hasOwnProperty("$" + node[propValue].value)),
44990
45077
  node[propValue].selected !== i && (node[propValue].selected = i),
44991
- i && setDefaultSelected && (node[propValue].defaultSelected = !0);
45078
+ i && setDefaultSelected && (node[propValue].defaultSelected = true);
44992
45079
  } else {
44993
45080
  propValue = "" + getToStringValue(propValue);
44994
45081
  multiple = null;
44995
45082
  for (i = 0; i < node.length; i++) {
44996
45083
  if (node[i].value === propValue) {
44997
- node[i].selected = !0;
44998
- setDefaultSelected && (node[i].defaultSelected = !0);
45084
+ node[i].selected = true;
45085
+ setDefaultSelected && (node[i].defaultSelected = true);
44999
45086
  return;
45000
45087
  }
45001
45088
  null !== multiple || node[i].disabled || (multiple = node[i]);
45002
45089
  }
45003
- null !== multiple && (multiple.selected = !0);
45090
+ null !== multiple && (multiple.selected = true);
45004
45091
  }
45005
45092
  }
45006
45093
  function updateTextarea(element, value, defaultValue) {
@@ -45098,7 +45185,7 @@ function requireReactDomClient_production () {
45098
45185
  setValueForStyle(node, styleName$17, styles[styleName$17]);
45099
45186
  }
45100
45187
  function isCustomElement(tagName) {
45101
- if (-1 === tagName.indexOf("-")) return !1;
45188
+ if (-1 === tagName.indexOf("-")) return false;
45102
45189
  switch (tagName) {
45103
45190
  case "annotation-xml":
45104
45191
  case "color-profile":
@@ -45108,9 +45195,9 @@ function requireReactDomClient_production () {
45108
45195
  case "font-face-format":
45109
45196
  case "font-face-name":
45110
45197
  case "missing-glyph":
45111
- return !1;
45198
+ return false;
45112
45199
  default:
45113
- return !0;
45200
+ return true;
45114
45201
  }
45115
45202
  }
45116
45203
  var aliases = new Map([
@@ -45271,20 +45358,20 @@ function requireReactDomClient_production () {
45271
45358
  case "select":
45272
45359
  (internalInstance = props.value),
45273
45360
  null != internalInstance &&
45274
- updateOptions(target, !!props.multiple, internalInstance, !1);
45361
+ updateOptions(target, !!props.multiple, internalInstance, false);
45275
45362
  }
45276
45363
  }
45277
45364
  }
45278
- var isInsideEventHandler = !1;
45365
+ var isInsideEventHandler = false;
45279
45366
  function batchedUpdates$1(fn, a, b) {
45280
45367
  if (isInsideEventHandler) return fn(a, b);
45281
- isInsideEventHandler = !0;
45368
+ isInsideEventHandler = true;
45282
45369
  try {
45283
45370
  var JSCompiler_inline_result = fn(a);
45284
45371
  return JSCompiler_inline_result;
45285
45372
  } finally {
45286
45373
  if (
45287
- ((isInsideEventHandler = !1),
45374
+ ((isInsideEventHandler = false),
45288
45375
  null !== restoreTarget || null !== restoreQueue)
45289
45376
  )
45290
45377
  if (
@@ -45328,7 +45415,7 @@ function requireReactDomClient_production () {
45328
45415
  inst = !props;
45329
45416
  break a;
45330
45417
  default:
45331
- inst = !1;
45418
+ inst = false;
45332
45419
  }
45333
45420
  if (inst) return null;
45334
45421
  if (stateNode && "function" !== typeof stateNode)
@@ -45342,7 +45429,7 @@ function requireReactDomClient_production () {
45342
45429
  "undefined" === typeof window.document ||
45343
45430
  "undefined" === typeof window.document.createElement
45344
45431
  ),
45345
- passiveBrowserEventsSupported = !1;
45432
+ passiveBrowserEventsSupported = false;
45346
45433
  if (canUseDOM)
45347
45434
  try {
45348
45435
  var options = {};
@@ -45354,7 +45441,7 @@ function requireReactDomClient_production () {
45354
45441
  window.addEventListener("test", options, options);
45355
45442
  window.removeEventListener("test", options, options);
45356
45443
  } catch (e) {
45357
- passiveBrowserEventsSupported = !1;
45444
+ passiveBrowserEventsSupported = false;
45358
45445
  }
45359
45446
  var root = null,
45360
45447
  startText = null,
@@ -45391,10 +45478,10 @@ function requireReactDomClient_production () {
45391
45478
  return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;
45392
45479
  }
45393
45480
  function functionThatReturnsTrue() {
45394
- return !0;
45481
+ return true;
45395
45482
  }
45396
45483
  function functionThatReturnsFalse() {
45397
- return !1;
45484
+ return false;
45398
45485
  }
45399
45486
  function createSyntheticEvent(Interface) {
45400
45487
  function SyntheticBaseEvent(
@@ -45419,7 +45506,7 @@ function requireReactDomClient_production () {
45419
45506
  this.isDefaultPrevented = (
45420
45507
  null != nativeEvent.defaultPrevented
45421
45508
  ? nativeEvent.defaultPrevented
45422
- : !1 === nativeEvent.returnValue
45509
+ : false === nativeEvent.returnValue
45423
45510
  )
45424
45511
  ? functionThatReturnsTrue
45425
45512
  : functionThatReturnsFalse;
@@ -45428,12 +45515,12 @@ function requireReactDomClient_production () {
45428
45515
  }
45429
45516
  assign(SyntheticBaseEvent.prototype, {
45430
45517
  preventDefault: function () {
45431
- this.defaultPrevented = !0;
45518
+ this.defaultPrevented = true;
45432
45519
  var event = this.nativeEvent;
45433
45520
  event &&
45434
45521
  (event.preventDefault
45435
45522
  ? event.preventDefault()
45436
- : "unknown" !== typeof event.returnValue && (event.returnValue = !1),
45523
+ : "unknown" !== typeof event.returnValue && (event.returnValue = false),
45437
45524
  (this.isDefaultPrevented = functionThatReturnsTrue));
45438
45525
  },
45439
45526
  stopPropagation: function () {
@@ -45442,7 +45529,7 @@ function requireReactDomClient_production () {
45442
45529
  (event.stopPropagation
45443
45530
  ? event.stopPropagation()
45444
45531
  : "unknown" !== typeof event.cancelBubble &&
45445
- (event.cancelBubble = !0),
45532
+ (event.cancelBubble = true),
45446
45533
  (this.isPropagationStopped = functionThatReturnsTrue));
45447
45534
  },
45448
45535
  persist: function () {},
@@ -45586,7 +45673,7 @@ function requireReactDomClient_production () {
45586
45673
  ? nativeEvent.getModifierState(keyArg)
45587
45674
  : (keyArg = modifierKeyToProp[keyArg])
45588
45675
  ? !!nativeEvent[keyArg]
45589
- : !1;
45676
+ : false;
45590
45677
  }
45591
45678
  function getEventModifierState() {
45592
45679
  return modifierStateGetter;
@@ -45698,7 +45785,7 @@ function requireReactDomClient_production () {
45698
45785
  (!canUseCompositionEvent ||
45699
45786
  (documentMode && 8 < documentMode && 11 >= documentMode)),
45700
45787
  SPACEBAR_CHAR = String.fromCharCode(32),
45701
- hasSpaceKeypress = !1;
45788
+ hasSpaceKeypress = false;
45702
45789
  function isFallbackCompositionEnd(domEventName, nativeEvent) {
45703
45790
  switch (domEventName) {
45704
45791
  case "keyup":
@@ -45708,9 +45795,9 @@ function requireReactDomClient_production () {
45708
45795
  case "keypress":
45709
45796
  case "mousedown":
45710
45797
  case "focusout":
45711
- return !0;
45798
+ return true;
45712
45799
  default:
45713
- return !1;
45800
+ return false;
45714
45801
  }
45715
45802
  }
45716
45803
  function getDataFromCustomEvent(nativeEvent) {
@@ -45719,14 +45806,14 @@ function requireReactDomClient_production () {
45719
45806
  ? nativeEvent.data
45720
45807
  : null;
45721
45808
  }
45722
- var isComposing = !1;
45809
+ var isComposing = false;
45723
45810
  function getNativeBeforeInputChars(domEventName, nativeEvent) {
45724
45811
  switch (domEventName) {
45725
45812
  case "compositionend":
45726
45813
  return getDataFromCustomEvent(nativeEvent);
45727
45814
  case "keypress":
45728
45815
  if (32 !== nativeEvent.which) return null;
45729
- hasSpaceKeypress = !0;
45816
+ hasSpaceKeypress = true;
45730
45817
  return SPACEBAR_CHAR;
45731
45818
  case "textInput":
45732
45819
  return (
@@ -45744,7 +45831,7 @@ function requireReactDomClient_production () {
45744
45831
  isFallbackCompositionEnd(domEventName, nativeEvent))
45745
45832
  ? ((domEventName = getData()),
45746
45833
  (fallbackText = startText = root = null),
45747
- (isComposing = !1),
45834
+ (isComposing = false),
45748
45835
  domEventName)
45749
45836
  : null;
45750
45837
  switch (domEventName) {
@@ -45769,29 +45856,29 @@ function requireReactDomClient_production () {
45769
45856
  }
45770
45857
  }
45771
45858
  var supportedInputTypes = {
45772
- color: !0,
45773
- date: !0,
45774
- datetime: !0,
45775
- "datetime-local": !0,
45776
- email: !0,
45777
- month: !0,
45778
- number: !0,
45779
- password: !0,
45780
- range: !0,
45781
- search: !0,
45782
- tel: !0,
45783
- text: !0,
45784
- time: !0,
45785
- url: !0,
45786
- week: !0
45859
+ color: true,
45860
+ date: true,
45861
+ datetime: true,
45862
+ "datetime-local": true,
45863
+ email: true,
45864
+ month: true,
45865
+ number: true,
45866
+ password: true,
45867
+ range: true,
45868
+ search: true,
45869
+ tel: true,
45870
+ text: true,
45871
+ time: true,
45872
+ url: true,
45873
+ week: true
45787
45874
  };
45788
45875
  function isTextInputElement(elem) {
45789
45876
  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
45790
45877
  return "input" === nodeName
45791
45878
  ? !!supportedInputTypes[elem.type]
45792
45879
  : "textarea" === nodeName
45793
- ? !0
45794
- : !1;
45880
+ ? true
45881
+ : false;
45795
45882
  }
45796
45883
  function createAndAccumulateChangeEvent(
45797
45884
  dispatchQueue,
@@ -45827,7 +45914,7 @@ function requireReactDomClient_production () {
45827
45914
  function getTargetInstForChangeEvent(domEventName, targetInst) {
45828
45915
  if ("change" === domEventName) return targetInst;
45829
45916
  }
45830
- var isInputEventSupported = !1;
45917
+ var isInputEventSupported = false;
45831
45918
  if (canUseDOM) {
45832
45919
  var JSCompiler_inline_result$jscomp$282;
45833
45920
  if (canUseDOM) {
@@ -45839,7 +45926,7 @@ function requireReactDomClient_production () {
45839
45926
  "function" === typeof element$jscomp$inline_418.oninput;
45840
45927
  }
45841
45928
  JSCompiler_inline_result$jscomp$282 = isSupported$jscomp$inline_417;
45842
- } else JSCompiler_inline_result$jscomp$282 = !1;
45929
+ } else JSCompiler_inline_result$jscomp$282 = false;
45843
45930
  isInputEventSupported =
45844
45931
  JSCompiler_inline_result$jscomp$282 &&
45845
45932
  (!document.documentMode || 9 < document.documentMode);
@@ -45892,26 +45979,26 @@ function requireReactDomClient_production () {
45892
45979
  }
45893
45980
  var objectIs = "function" === typeof Object.is ? Object.is : is;
45894
45981
  function shallowEqual(objA, objB) {
45895
- if (objectIs(objA, objB)) return !0;
45982
+ if (objectIs(objA, objB)) return true;
45896
45983
  if (
45897
45984
  "object" !== typeof objA ||
45898
45985
  null === objA ||
45899
45986
  "object" !== typeof objB ||
45900
45987
  null === objB
45901
45988
  )
45902
- return !1;
45989
+ return false;
45903
45990
  var keysA = Object.keys(objA),
45904
45991
  keysB = Object.keys(objB);
45905
- if (keysA.length !== keysB.length) return !1;
45992
+ if (keysA.length !== keysB.length) return false;
45906
45993
  for (keysB = 0; keysB < keysA.length; keysB++) {
45907
45994
  var currentKey = keysA[keysB];
45908
45995
  if (
45909
45996
  !hasOwnProperty.call(objB, currentKey) ||
45910
45997
  !objectIs(objA[currentKey], objB[currentKey])
45911
45998
  )
45912
- return !1;
45999
+ return false;
45913
46000
  }
45914
- return !0;
46001
+ return true;
45915
46002
  }
45916
46003
  function getLeafNode(node) {
45917
46004
  for (; node && node.firstChild; ) node = node.firstChild;
@@ -45943,17 +46030,17 @@ function requireReactDomClient_production () {
45943
46030
  function containsNode(outerNode, innerNode) {
45944
46031
  return outerNode && innerNode
45945
46032
  ? outerNode === innerNode
45946
- ? !0
46033
+ ? true
45947
46034
  : outerNode && 3 === outerNode.nodeType
45948
- ? !1
46035
+ ? false
45949
46036
  : innerNode && 3 === innerNode.nodeType
45950
46037
  ? containsNode(outerNode, innerNode.parentNode)
45951
46038
  : "contains" in outerNode
45952
46039
  ? outerNode.contains(innerNode)
45953
46040
  : outerNode.compareDocumentPosition
45954
46041
  ? !!(outerNode.compareDocumentPosition(innerNode) & 16)
45955
- : !1
45956
- : !1;
46042
+ : false
46043
+ : false;
45957
46044
  }
45958
46045
  function getActiveElementDeep(containerInfo) {
45959
46046
  containerInfo =
@@ -45971,7 +46058,7 @@ function requireReactDomClient_production () {
45971
46058
  var JSCompiler_inline_result =
45972
46059
  "string" === typeof element.contentWindow.location.href;
45973
46060
  } catch (err) {
45974
- JSCompiler_inline_result = !1;
46061
+ JSCompiler_inline_result = false;
45975
46062
  }
45976
46063
  if (JSCompiler_inline_result) containerInfo = element.contentWindow;
45977
46064
  else break;
@@ -45998,7 +46085,7 @@ function requireReactDomClient_production () {
45998
46085
  activeElement = null,
45999
46086
  activeElementInst = null,
46000
46087
  lastSelection = null,
46001
- mouseDown = !1;
46088
+ mouseDown = false;
46002
46089
  function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {
46003
46090
  var doc =
46004
46091
  nativeEventTarget.window === nativeEventTarget
@@ -46158,13 +46245,13 @@ function requireReactDomClient_production () {
46158
46245
  sourceFiber.lanes |= lane;
46159
46246
  var alternate = sourceFiber.alternate;
46160
46247
  null !== alternate && (alternate.lanes |= lane);
46161
- for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )
46248
+ for (var isHidden = false, parent = sourceFiber.return; null !== parent; )
46162
46249
  (parent.childLanes |= lane),
46163
46250
  (alternate = parent.alternate),
46164
46251
  null !== alternate && (alternate.childLanes |= lane),
46165
46252
  22 === parent.tag &&
46166
46253
  ((sourceFiber = parent.stateNode),
46167
- null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),
46254
+ null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = true)),
46168
46255
  (sourceFiber = parent),
46169
46256
  (parent = parent.return);
46170
46257
  return 3 === sourceFiber.tag
@@ -46472,9 +46559,9 @@ function requireReactDomClient_production () {
46472
46559
  }
46473
46560
  var hydrationParentFiber = null,
46474
46561
  nextHydratableInstance = null,
46475
- isHydrating = !1,
46562
+ isHydrating = false,
46476
46563
  hydrationErrors = null,
46477
- rootOrSingletonContext = !1,
46564
+ rootOrSingletonContext = false,
46478
46565
  HydrationMismatchException = Error(formatProdErrorMessage(519));
46479
46566
  function throwOnHydrationMismatch(fiber) {
46480
46567
  var error = Error(formatProdErrorMessage(418, ""));
@@ -46524,7 +46611,7 @@ function requireReactDomClient_production () {
46524
46611
  props.defaultChecked,
46525
46612
  props.type,
46526
46613
  props.name,
46527
- !0
46614
+ true
46528
46615
  );
46529
46616
  track(instance);
46530
46617
  break;
@@ -46541,7 +46628,7 @@ function requireReactDomClient_production () {
46541
46628
  "number" !== typeof type &&
46542
46629
  "bigint" !== typeof type) ||
46543
46630
  instance.textContent === "" + type ||
46544
- !0 === props.suppressHydrationWarning ||
46631
+ true === props.suppressHydrationWarning ||
46545
46632
  checkForUnmatchedText(instance.textContent, type)
46546
46633
  ? (null != props.popover &&
46547
46634
  (listenToNonDelegatedEvent("beforetoggle", instance),
@@ -46550,8 +46637,8 @@ function requireReactDomClient_production () {
46550
46637
  null != props.onScrollEnd &&
46551
46638
  listenToNonDelegatedEvent("scrollend", instance),
46552
46639
  null != props.onClick && (instance.onclick = noop$1),
46553
- (instance = !0))
46554
- : (instance = !1);
46640
+ (instance = true))
46641
+ : (instance = false);
46555
46642
  instance || throwOnHydrationMismatch(fiber);
46556
46643
  }
46557
46644
  function popToNextHostParent(fiber) {
@@ -46559,19 +46646,19 @@ function requireReactDomClient_production () {
46559
46646
  switch (hydrationParentFiber.tag) {
46560
46647
  case 5:
46561
46648
  case 13:
46562
- rootOrSingletonContext = !1;
46649
+ rootOrSingletonContext = false;
46563
46650
  return;
46564
46651
  case 27:
46565
46652
  case 3:
46566
- rootOrSingletonContext = !0;
46653
+ rootOrSingletonContext = true;
46567
46654
  return;
46568
46655
  default:
46569
46656
  hydrationParentFiber = hydrationParentFiber.return;
46570
46657
  }
46571
46658
  }
46572
46659
  function popHydrationState(fiber) {
46573
- if (fiber !== hydrationParentFiber) return !1;
46574
- if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;
46660
+ if (fiber !== hydrationParentFiber) return false;
46661
+ if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = true), false;
46575
46662
  var tag = fiber.tag,
46576
46663
  JSCompiler_temp;
46577
46664
  if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {
@@ -46618,11 +46705,11 @@ function requireReactDomClient_production () {
46618
46705
  : (nextHydratableInstance = hydrationParentFiber
46619
46706
  ? getNextHydratable(fiber.stateNode.nextSibling)
46620
46707
  : null);
46621
- return !0;
46708
+ return true;
46622
46709
  }
46623
46710
  function resetHydrationState() {
46624
46711
  nextHydratableInstance = hydrationParentFiber = null;
46625
- isHydrating = !1;
46712
+ isHydrating = false;
46626
46713
  }
46627
46714
  function upgradeHydrationErrorsToRecoverable() {
46628
46715
  var queuedErrors = hydrationErrors;
@@ -46731,12 +46818,12 @@ function requireReactDomClient_production () {
46731
46818
  ) {
46732
46819
  current = null;
46733
46820
  for (
46734
- var parent = workInProgress, isInsidePropagationBailout = !1;
46821
+ var parent = workInProgress, isInsidePropagationBailout = false;
46735
46822
  null !== parent;
46736
46823
 
46737
46824
  ) {
46738
46825
  if (!isInsidePropagationBailout)
46739
- if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;
46826
+ if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
46740
46827
  else if (0 !== (parent.flags & 262144)) break;
46741
46828
  if (10 === parent.tag) {
46742
46829
  var currentParent = parent.alternate;
@@ -46779,10 +46866,10 @@ function requireReactDomClient_production () {
46779
46866
  currentDependencies.memoizedValue
46780
46867
  )
46781
46868
  )
46782
- return !0;
46869
+ return true;
46783
46870
  currentDependencies = currentDependencies.next;
46784
46871
  }
46785
- return !1;
46872
+ return false;
46786
46873
  }
46787
46874
  function prepareToReadContext(workInProgress) {
46788
46875
  currentlyRenderingFiber$1 = workInProgress;
@@ -46814,13 +46901,13 @@ function requireReactDomClient_production () {
46814
46901
  : function () {
46815
46902
  var listeners = [],
46816
46903
  signal = (this.signal = {
46817
- aborted: !1,
46904
+ aborted: false,
46818
46905
  addEventListener: function (type, listener) {
46819
46906
  listeners.push(listener);
46820
46907
  }
46821
46908
  });
46822
46909
  this.abort = function () {
46823
- signal.aborted = !0;
46910
+ signal.aborted = true;
46824
46911
  listeners.forEach(function (listener) {
46825
46912
  return listener();
46826
46913
  });
@@ -47013,7 +47100,7 @@ function requireReactDomClient_production () {
47013
47100
  )
47014
47101
  throw Error(formatProdErrorMessage(483));
47015
47102
  }
47016
- var hasForceUpdate = !1;
47103
+ var hasForceUpdate = false;
47017
47104
  function initializeUpdateQueue(fiber) {
47018
47105
  fiber.updateQueue = {
47019
47106
  baseState: fiber.memoizedState,
@@ -47108,7 +47195,7 @@ function requireReactDomClient_production () {
47108
47195
  : (workInProgress.next = capturedUpdate);
47109
47196
  queue.lastBaseUpdate = capturedUpdate;
47110
47197
  }
47111
- var didReadFromEntangledAsyncAction = !1;
47198
+ var didReadFromEntangledAsyncAction = false;
47112
47199
  function suspendIfUpdateReadFromEntangledAsyncAction() {
47113
47200
  if (didReadFromEntangledAsyncAction) {
47114
47201
  var entangledActionThenable = currentEntangledActionThenable;
@@ -47121,9 +47208,9 @@ function requireReactDomClient_production () {
47121
47208
  instance$jscomp$0,
47122
47209
  renderLanes
47123
47210
  ) {
47124
- didReadFromEntangledAsyncAction = !1;
47211
+ didReadFromEntangledAsyncAction = false;
47125
47212
  var queue = workInProgress$jscomp$0.updateQueue;
47126
- hasForceUpdate = !1;
47213
+ hasForceUpdate = false;
47127
47214
  var firstBaseUpdate = queue.firstBaseUpdate,
47128
47215
  lastBaseUpdate = queue.lastBaseUpdate,
47129
47216
  pendingQueue = queue.shared.pending;
@@ -47161,7 +47248,7 @@ function requireReactDomClient_production () {
47161
47248
  ) {
47162
47249
  0 !== updateLane &&
47163
47250
  updateLane === currentEntangledLane &&
47164
- (didReadFromEntangledAsyncAction = !0);
47251
+ (didReadFromEntangledAsyncAction = true);
47165
47252
  null !== current &&
47166
47253
  (current = current.next =
47167
47254
  {
@@ -47197,7 +47284,7 @@ function requireReactDomClient_production () {
47197
47284
  newState = assign({}, newState, updateLane);
47198
47285
  break a;
47199
47286
  case 2:
47200
- hasForceUpdate = !0;
47287
+ hasForceUpdate = true;
47201
47288
  }
47202
47289
  }
47203
47290
  updateLane = pendingQueue.callback;
@@ -47278,9 +47365,9 @@ function requireReactDomClient_production () {
47278
47365
  currentlyRenderingFiber = null,
47279
47366
  currentHook = null,
47280
47367
  workInProgressHook = null,
47281
- didScheduleRenderPhaseUpdate = !1,
47282
- didScheduleRenderPhaseUpdateDuringThisPass = !1,
47283
- shouldDoubleInvokeUserFnsInHooksDEV = !1,
47368
+ didScheduleRenderPhaseUpdate = false,
47369
+ didScheduleRenderPhaseUpdateDuringThisPass = false,
47370
+ shouldDoubleInvokeUserFnsInHooksDEV = false,
47284
47371
  localIdCounter = 0,
47285
47372
  thenableIndexCounter$1 = 0,
47286
47373
  thenableState$1 = null,
@@ -47289,10 +47376,10 @@ function requireReactDomClient_production () {
47289
47376
  throw Error(formatProdErrorMessage(321));
47290
47377
  }
47291
47378
  function areHookInputsEqual(nextDeps, prevDeps) {
47292
- if (null === prevDeps) return !1;
47379
+ if (null === prevDeps) return false;
47293
47380
  for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)
47294
- if (!objectIs(nextDeps[i], prevDeps[i])) return !1;
47295
- return !0;
47381
+ if (!objectIs(nextDeps[i], prevDeps[i])) return false;
47382
+ return true;
47296
47383
  }
47297
47384
  function renderWithHooks(
47298
47385
  current,
@@ -47311,9 +47398,9 @@ function requireReactDomClient_production () {
47311
47398
  null === current || null === current.memoizedState
47312
47399
  ? HooksDispatcherOnMount
47313
47400
  : HooksDispatcherOnUpdate;
47314
- shouldDoubleInvokeUserFnsInHooksDEV = !1;
47401
+ shouldDoubleInvokeUserFnsInHooksDEV = false;
47315
47402
  nextRenderLanes = Component(props, secondArg);
47316
- shouldDoubleInvokeUserFnsInHooksDEV = !1;
47403
+ shouldDoubleInvokeUserFnsInHooksDEV = false;
47317
47404
  didScheduleRenderPhaseUpdateDuringThisPass &&
47318
47405
  (nextRenderLanes = renderWithHooksAgain(
47319
47406
  workInProgress,
@@ -47329,7 +47416,7 @@ function requireReactDomClient_production () {
47329
47416
  var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;
47330
47417
  renderLanes = 0;
47331
47418
  workInProgressHook = currentHook = currentlyRenderingFiber = null;
47332
- didScheduleRenderPhaseUpdate = !1;
47419
+ didScheduleRenderPhaseUpdate = false;
47333
47420
  thenableIndexCounter$1 = 0;
47334
47421
  thenableState$1 = null;
47335
47422
  if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));
@@ -47338,7 +47425,7 @@ function requireReactDomClient_production () {
47338
47425
  ((current = current.dependencies),
47339
47426
  null !== current &&
47340
47427
  checkIfContextChanged(current) &&
47341
- (didReceiveUpdate = !0));
47428
+ (didReceiveUpdate = true));
47342
47429
  }
47343
47430
  function renderWithHooksAgain(workInProgress, Component, props, secondArg) {
47344
47431
  currentlyRenderingFiber = workInProgress;
@@ -47346,7 +47433,7 @@ function requireReactDomClient_production () {
47346
47433
  do {
47347
47434
  didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);
47348
47435
  thenableIndexCounter$1 = 0;
47349
- didScheduleRenderPhaseUpdateDuringThisPass = !1;
47436
+ didScheduleRenderPhaseUpdateDuringThisPass = false;
47350
47437
  if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));
47351
47438
  numberOfReRenders += 1;
47352
47439
  workInProgressHook = currentHook = null;
@@ -47395,11 +47482,11 @@ function requireReactDomClient_production () {
47395
47482
  null !== queue && (queue.pending = null);
47396
47483
  workInProgress = workInProgress.next;
47397
47484
  }
47398
- didScheduleRenderPhaseUpdate = !1;
47485
+ didScheduleRenderPhaseUpdate = false;
47399
47486
  }
47400
47487
  renderLanes = 0;
47401
47488
  workInProgressHook = currentHook = currentlyRenderingFiber = null;
47402
- didScheduleRenderPhaseUpdateDuringThisPass = !1;
47489
+ didScheduleRenderPhaseUpdateDuringThisPass = false;
47403
47490
  thenableIndexCounter$1 = localIdCounter = 0;
47404
47491
  thenableState$1 = null;
47405
47492
  }
@@ -47540,7 +47627,7 @@ function requireReactDomClient_production () {
47540
47627
  var newBaseQueueFirst = (baseFirst = null),
47541
47628
  newBaseQueueLast = null,
47542
47629
  update = current,
47543
- didReadFromEntangledAsyncAction$32 = !1;
47630
+ didReadFromEntangledAsyncAction$32 = false;
47544
47631
  do {
47545
47632
  var updateLane = update.lane & -536870913;
47546
47633
  if (
@@ -47561,11 +47648,11 @@ function requireReactDomClient_production () {
47561
47648
  next: null
47562
47649
  }),
47563
47650
  updateLane === currentEntangledLane &&
47564
- (didReadFromEntangledAsyncAction$32 = !0);
47651
+ (didReadFromEntangledAsyncAction$32 = true);
47565
47652
  else if ((renderLanes & revertLane) === revertLane) {
47566
47653
  update = update.next;
47567
47654
  revertLane === currentEntangledLane &&
47568
- (didReadFromEntangledAsyncAction$32 = !0);
47655
+ (didReadFromEntangledAsyncAction$32 = true);
47569
47656
  continue;
47570
47657
  } else
47571
47658
  (updateLane = {
@@ -47610,7 +47697,7 @@ function requireReactDomClient_production () {
47610
47697
  : (newBaseQueueLast.next = newBaseQueueFirst);
47611
47698
  if (
47612
47699
  !objectIs(pendingQueue, hook.memoizedState) &&
47613
- ((didReceiveUpdate = !0),
47700
+ ((didReceiveUpdate = true),
47614
47701
  didReadFromEntangledAsyncAction$32 &&
47615
47702
  ((reducer = currentEntangledActionThenable), null !== reducer))
47616
47703
  )
@@ -47636,7 +47723,7 @@ function requireReactDomClient_production () {
47636
47723
  var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);
47637
47724
  do (newState = reducer(newState, update.action)), (update = update.next);
47638
47725
  while (update !== lastRenderPhaseUpdate);
47639
- objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);
47726
+ objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
47640
47727
  hook.memoizedState = newState;
47641
47728
  null === hook.baseQueue && (hook.baseState = newState);
47642
47729
  queue.lastRenderedState = newState;
@@ -47656,7 +47743,7 @@ function requireReactDomClient_production () {
47656
47743
  getServerSnapshot
47657
47744
  );
47658
47745
  snapshotChanged &&
47659
- ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));
47746
+ ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = true));
47660
47747
  hook = hook.queue;
47661
47748
  var create = subscribeToStore.bind(null, fiber, hook, subscribe);
47662
47749
  updateEffectImpl(2048, 8, create, [subscribe]);
@@ -47715,7 +47802,7 @@ function requireReactDomClient_production () {
47715
47802
  var nextValue = latestGetSnapshot();
47716
47803
  return !objectIs(inst, nextValue);
47717
47804
  } catch (error) {
47718
- return !0;
47805
+ return true;
47719
47806
  }
47720
47807
  }
47721
47808
  function forceStoreRerender(fiber) {
@@ -47728,11 +47815,11 @@ function requireReactDomClient_production () {
47728
47815
  var initialStateInitializer = initialState;
47729
47816
  initialState = initialStateInitializer();
47730
47817
  if (shouldDoubleInvokeUserFnsInHooksDEV) {
47731
- setIsStrictModeForDevtools(!0);
47818
+ setIsStrictModeForDevtools(true);
47732
47819
  try {
47733
47820
  initialStateInitializer();
47734
47821
  } finally {
47735
- setIsStrictModeForDevtools(!1);
47822
+ setIsStrictModeForDevtools(false);
47736
47823
  }
47737
47824
  }
47738
47825
  }
@@ -47768,7 +47855,7 @@ function requireReactDomClient_production () {
47768
47855
  payload: payload,
47769
47856
  action: fiber,
47770
47857
  next: null,
47771
- isTransition: !0,
47858
+ isTransition: true,
47772
47859
  status: "pending",
47773
47860
  value: null,
47774
47861
  reason: null,
@@ -47778,8 +47865,8 @@ function requireReactDomClient_production () {
47778
47865
  }
47779
47866
  };
47780
47867
  null !== ReactSharedInternals.T
47781
- ? setPendingState(!0)
47782
- : (actionNode.isTransition = !1);
47868
+ ? setPendingState(true)
47869
+ : (actionNode.isTransition = false);
47783
47870
  setState(actionNode);
47784
47871
  setPendingState = actionQueue.pending;
47785
47872
  null === setPendingState
@@ -47909,7 +47996,7 @@ function requireReactDomClient_production () {
47909
47996
  }
47910
47997
  throwOnHydrationMismatch(JSCompiler_inline_result);
47911
47998
  }
47912
- JSCompiler_inline_result = !1;
47999
+ JSCompiler_inline_result = false;
47913
48000
  }
47914
48001
  JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);
47915
48002
  }
@@ -47930,11 +48017,11 @@ function requireReactDomClient_production () {
47930
48017
  JSCompiler_inline_result
47931
48018
  );
47932
48019
  JSCompiler_inline_result.dispatch = ssrFormState;
47933
- JSCompiler_inline_result = mountStateImpl(!1);
48020
+ JSCompiler_inline_result = mountStateImpl(false);
47934
48021
  inRootOrSingleton = dispatchOptimisticSetState.bind(
47935
48022
  null,
47936
48023
  currentlyRenderingFiber,
47937
- !1,
48024
+ false,
47938
48025
  JSCompiler_inline_result.queue
47939
48026
  );
47940
48027
  JSCompiler_inline_result = mountWorkInProgressHook();
@@ -47954,7 +48041,7 @@ function requireReactDomClient_production () {
47954
48041
  );
47955
48042
  JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;
47956
48043
  JSCompiler_inline_result.memoizedState = action;
47957
- return [initialStateProp, ssrFormState, !1];
48044
+ return [initialStateProp, ssrFormState, false];
47958
48045
  }
47959
48046
  function updateActionState(action) {
47960
48047
  var stateHook = updateWorkInProgressHook();
@@ -48005,7 +48092,7 @@ function requireReactDomClient_production () {
48005
48092
  currentStateHook = updateWorkInProgressHook();
48006
48093
  var dispatch = currentStateHook.queue.dispatch;
48007
48094
  currentStateHook.memoizedState = action;
48008
- return [stateHook, dispatch, !1];
48095
+ return [stateHook, dispatch, false];
48009
48096
  }
48010
48097
  function pushSimpleEffect(tag, inst, create, createDeps) {
48011
48098
  tag = { tag: tag, create: create, deps: createDeps, inst: inst, next: null };
@@ -48106,11 +48193,11 @@ function requireReactDomClient_production () {
48106
48193
  return prevState[0];
48107
48194
  prevState = nextCreate();
48108
48195
  if (shouldDoubleInvokeUserFnsInHooksDEV) {
48109
- setIsStrictModeForDevtools(!0);
48196
+ setIsStrictModeForDevtools(true);
48110
48197
  try {
48111
48198
  nextCreate();
48112
48199
  } finally {
48113
- setIsStrictModeForDevtools(!1);
48200
+ setIsStrictModeForDevtools(false);
48114
48201
  }
48115
48202
  }
48116
48203
  hook.memoizedState = [prevState, deps];
@@ -48130,11 +48217,11 @@ function requireReactDomClient_production () {
48130
48217
  if (null !== currentTreeHiddenStackCursor.current)
48131
48218
  return (
48132
48219
  (hook = mountDeferredValueImpl(hook, value, initialValue)),
48133
- objectIs(hook, prevValue) || (didReceiveUpdate = !0),
48220
+ objectIs(hook, prevValue) || (didReceiveUpdate = true),
48134
48221
  hook
48135
48222
  );
48136
48223
  if (0 === (renderLanes & 42))
48137
- return (didReceiveUpdate = !0), (hook.memoizedState = value);
48224
+ return (didReceiveUpdate = true), (hook.memoizedState = value);
48138
48225
  hook = requestDeferredLane();
48139
48226
  currentlyRenderingFiber.lanes |= hook;
48140
48227
  workInProgressRootSkippedLanes |= hook;
@@ -48147,7 +48234,7 @@ function requireReactDomClient_production () {
48147
48234
  var prevTransition = ReactSharedInternals.T,
48148
48235
  currentTransition = {};
48149
48236
  ReactSharedInternals.T = currentTransition;
48150
- dispatchOptimisticSetState(fiber, !1, queue, pendingState);
48237
+ dispatchOptimisticSetState(fiber, false, queue, pendingState);
48151
48238
  try {
48152
48239
  var returnValue = callback(),
48153
48240
  onStartTransitionFinish = ReactSharedInternals.S;
@@ -48276,7 +48363,7 @@ function requireReactDomClient_production () {
48276
48363
  lane: lane,
48277
48364
  revertLane: 0,
48278
48365
  action: action,
48279
- hasEagerState: !1,
48366
+ hasEagerState: false,
48280
48367
  eagerState: null,
48281
48368
  next: null
48282
48369
  };
@@ -48296,7 +48383,7 @@ function requireReactDomClient_production () {
48296
48383
  lane: lane,
48297
48384
  revertLane: 0,
48298
48385
  action: action,
48299
- hasEagerState: !1,
48386
+ hasEagerState: false,
48300
48387
  eagerState: null,
48301
48388
  next: null
48302
48389
  };
@@ -48327,17 +48414,17 @@ function requireReactDomClient_production () {
48327
48414
  return (
48328
48415
  scheduleUpdateOnFiber(action, fiber, lane),
48329
48416
  entangleTransitionUpdate(action, queue, lane),
48330
- !0
48417
+ true
48331
48418
  );
48332
48419
  }
48333
- return !1;
48420
+ return false;
48334
48421
  }
48335
48422
  function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
48336
48423
  action = {
48337
48424
  lane: 2,
48338
48425
  revertLane: requestTransitionLane(),
48339
48426
  action: action,
48340
- hasEagerState: !1,
48427
+ hasEagerState: false,
48341
48428
  eagerState: null,
48342
48429
  next: null
48343
48430
  };
@@ -48362,7 +48449,7 @@ function requireReactDomClient_production () {
48362
48449
  }
48363
48450
  function enqueueRenderPhaseUpdate(queue, update) {
48364
48451
  didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =
48365
- !0;
48452
+ true;
48366
48453
  var pending = queue.pending;
48367
48454
  null === pending
48368
48455
  ? (update.next = update)
@@ -48435,11 +48522,11 @@ function requireReactDomClient_production () {
48435
48522
  deps = void 0 === deps ? null : deps;
48436
48523
  var nextValue = nextCreate();
48437
48524
  if (shouldDoubleInvokeUserFnsInHooksDEV) {
48438
- setIsStrictModeForDevtools(!0);
48525
+ setIsStrictModeForDevtools(true);
48439
48526
  try {
48440
48527
  nextCreate();
48441
48528
  } finally {
48442
- setIsStrictModeForDevtools(!1);
48529
+ setIsStrictModeForDevtools(false);
48443
48530
  }
48444
48531
  }
48445
48532
  hook.memoizedState = [nextValue, deps];
@@ -48450,11 +48537,11 @@ function requireReactDomClient_production () {
48450
48537
  if (void 0 !== init) {
48451
48538
  var initialState = init(initialArg);
48452
48539
  if (shouldDoubleInvokeUserFnsInHooksDEV) {
48453
- setIsStrictModeForDevtools(!0);
48540
+ setIsStrictModeForDevtools(true);
48454
48541
  try {
48455
48542
  init(initialArg);
48456
48543
  } finally {
48457
- setIsStrictModeForDevtools(!1);
48544
+ setIsStrictModeForDevtools(false);
48458
48545
  }
48459
48546
  }
48460
48547
  } else initialState = initialArg;
@@ -48492,16 +48579,16 @@ function requireReactDomClient_production () {
48492
48579
  return mountDeferredValueImpl(hook, value, initialValue);
48493
48580
  },
48494
48581
  useTransition: function () {
48495
- var stateHook = mountStateImpl(!1);
48582
+ var stateHook = mountStateImpl(false);
48496
48583
  stateHook = startTransition.bind(
48497
48584
  null,
48498
48585
  currentlyRenderingFiber,
48499
48586
  stateHook.queue,
48500
- !0,
48501
- !1
48587
+ true,
48588
+ false
48502
48589
  );
48503
48590
  mountWorkInProgressHook().memoizedState = stateHook;
48504
- return [!1, stateHook];
48591
+ return [false, stateHook];
48505
48592
  },
48506
48593
  useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {
48507
48594
  var fiber = currentlyRenderingFiber,
@@ -48581,7 +48668,7 @@ function requireReactDomClient_production () {
48581
48668
  hook = dispatchOptimisticSetState.bind(
48582
48669
  null,
48583
48670
  currentlyRenderingFiber,
48584
- !0,
48671
+ true,
48585
48672
  queue
48586
48673
  );
48587
48674
  queue.dispatch = hook;
@@ -49402,8 +49489,8 @@ function requireReactDomClient_production () {
49402
49489
  }
49403
49490
  };
49404
49491
  }
49405
- var reconcileChildFibers = createChildReconciler(!0),
49406
- mountChildFibers = createChildReconciler(!1),
49492
+ var reconcileChildFibers = createChildReconciler(true),
49493
+ mountChildFibers = createChildReconciler(false),
49407
49494
  suspenseHandlerStackCursor = createCursor(null),
49408
49495
  shellBoundary = null;
49409
49496
  function pushPrimaryTreeSuspenseHandler(handler) {
@@ -49534,7 +49621,7 @@ function requireReactDomClient_production () {
49534
49621
  ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)
49535
49622
  : ctor.prototype && ctor.prototype.isPureReactComponent
49536
49623
  ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)
49537
- : !0;
49624
+ : true;
49538
49625
  }
49539
49626
  function callComponentWillReceiveProps(
49540
49627
  workInProgress,
@@ -49574,8 +49661,8 @@ function requireReactDomClient_production () {
49574
49661
  "function" === typeof window.ErrorEvent
49575
49662
  ) {
49576
49663
  var event = new window.ErrorEvent("error", {
49577
- bubbles: !0,
49578
- cancelable: !0,
49664
+ bubbles: true,
49665
+ cancelable: true,
49579
49666
  message:
49580
49667
  "object" === typeof error &&
49581
49668
  null !== error &&
@@ -49685,7 +49772,7 @@ function requireReactDomClient_production () {
49685
49772
  returnFiber,
49686
49773
  sourceFiber,
49687
49774
  rootRenderLanes,
49688
- !0
49775
+ true
49689
49776
  );
49690
49777
  sourceFiber = suspenseHandlerStackCursor.current;
49691
49778
  if (null !== sourceFiber) {
@@ -49707,7 +49794,7 @@ function requireReactDomClient_production () {
49707
49794
  ? (sourceFiber.updateQueue = new Set([value]))
49708
49795
  : returnFiber.add(value),
49709
49796
  attachPingListener(root, value, rootRenderLanes)),
49710
- !1
49797
+ false
49711
49798
  );
49712
49799
  case 22:
49713
49800
  return (
@@ -49727,14 +49814,14 @@ function requireReactDomClient_production () {
49727
49814
  ? (returnFiber.retryQueue = new Set([value]))
49728
49815
  : sourceFiber.add(value)),
49729
49816
  attachPingListener(root, value, rootRenderLanes)),
49730
- !1
49817
+ false
49731
49818
  );
49732
49819
  }
49733
49820
  throw Error(formatProdErrorMessage(435, sourceFiber.tag));
49734
49821
  }
49735
49822
  attachPingListener(root, value, rootRenderLanes);
49736
49823
  renderDidSuspendDelayIfPossible();
49737
- return !1;
49824
+ return false;
49738
49825
  }
49739
49826
  if (isHydrating)
49740
49827
  return (
@@ -49766,7 +49853,7 @@ function requireReactDomClient_production () {
49766
49853
  enqueueCapturedUpdate(root, rootRenderLanes),
49767
49854
  4 !== workInProgressRootExitStatus &&
49768
49855
  (workInProgressRootExitStatus = 2)),
49769
- !1
49856
+ false
49770
49857
  );
49771
49858
  var wrapperError = Error(formatProdErrorMessage(520), { cause: value });
49772
49859
  wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);
@@ -49774,7 +49861,7 @@ function requireReactDomClient_production () {
49774
49861
  ? (workInProgressRootConcurrentErrors = [wrapperError])
49775
49862
  : workInProgressRootConcurrentErrors.push(wrapperError);
49776
49863
  4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);
49777
- if (null === returnFiber) return !0;
49864
+ if (null === returnFiber) return true;
49778
49865
  value = createCapturedValueAtFiber(value, sourceFiber);
49779
49866
  sourceFiber = returnFiber;
49780
49867
  do {
@@ -49786,7 +49873,7 @@ function requireReactDomClient_production () {
49786
49873
  (sourceFiber.lanes |= root),
49787
49874
  (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),
49788
49875
  enqueueCapturedUpdate(sourceFiber, root),
49789
- !1
49876
+ false
49790
49877
  );
49791
49878
  case 1:
49792
49879
  if (
@@ -49811,15 +49898,15 @@ function requireReactDomClient_production () {
49811
49898
  value
49812
49899
  ),
49813
49900
  enqueueCapturedUpdate(sourceFiber, rootRenderLanes),
49814
- !1
49901
+ false
49815
49902
  );
49816
49903
  }
49817
49904
  sourceFiber = sourceFiber.return;
49818
49905
  } while (null !== sourceFiber);
49819
- return !1;
49906
+ return false;
49820
49907
  }
49821
49908
  var SelectiveHydrationException = Error(formatProdErrorMessage(461)),
49822
- didReceiveUpdate = !1;
49909
+ didReceiveUpdate = false;
49823
49910
  function reconcileChildren(current, workInProgress, nextChildren, renderLanes) {
49824
49911
  workInProgress.child =
49825
49912
  null === current
@@ -49931,11 +50018,11 @@ function requireReactDomClient_production () {
49931
50018
  current.ref === workInProgress.ref
49932
50019
  )
49933
50020
  if (
49934
- ((didReceiveUpdate = !1),
50021
+ ((didReceiveUpdate = false),
49935
50022
  (workInProgress.pendingProps = nextProps = prevProps),
49936
50023
  checkScheduledUpdateOrContext(current, renderLanes))
49937
50024
  )
49938
- 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);
50025
+ 0 !== (current.flags & 131072) && (didReceiveUpdate = true);
49939
50026
  else
49940
50027
  return (
49941
50028
  (workInProgress.lanes = current.lanes),
@@ -50025,7 +50112,7 @@ function requireReactDomClient_production () {
50025
50112
  reuseHiddenContextOnStack();
50026
50113
  pushOffscreenSuspenseHandler(workInProgress);
50027
50114
  null !== current &&
50028
- propagateParentContextChanges(current, workInProgress, renderLanes, !0);
50115
+ propagateParentContextChanges(current, workInProgress, renderLanes, true);
50029
50116
  return null;
50030
50117
  }
50031
50118
  function markRef(current, workInProgress) {
@@ -50152,7 +50239,7 @@ function requireReactDomClient_production () {
50152
50239
  (context.state = workInProgress.memoizedState));
50153
50240
  "function" === typeof context.componentDidMount &&
50154
50241
  (workInProgress.flags |= 4194308);
50155
- nextProps = !0;
50242
+ nextProps = true;
50156
50243
  } else if (null === current) {
50157
50244
  context = workInProgress.stateNode;
50158
50245
  var unresolvedOldProps = workInProgress.memoizedProps,
@@ -50179,7 +50266,7 @@ function requireReactDomClient_production () {
50179
50266
  nextProps,
50180
50267
  contextType
50181
50268
  ));
50182
- hasForceUpdate = !1;
50269
+ hasForceUpdate = false;
50183
50270
  var oldState = workInProgress.memoizedState;
50184
50271
  context.state = oldState;
50185
50272
  processUpdateQueue(workInProgress, nextProps, context, renderLanes);
@@ -50224,7 +50311,7 @@ function requireReactDomClient_production () {
50224
50311
  (nextProps = oldProps))
50225
50312
  : ("function" === typeof context.componentDidMount &&
50226
50313
  (workInProgress.flags |= 4194308),
50227
- (nextProps = !1));
50314
+ (nextProps = false));
50228
50315
  } else {
50229
50316
  context = workInProgress.stateNode;
50230
50317
  cloneUpdateQueue(current, workInProgress);
@@ -50251,7 +50338,7 @@ function requireReactDomClient_production () {
50251
50338
  nextProps,
50252
50339
  oldProps
50253
50340
  ));
50254
- hasForceUpdate = !1;
50341
+ hasForceUpdate = false;
50255
50342
  oldState = workInProgress.memoizedState;
50256
50343
  context.state = oldState;
50257
50344
  processUpdateQueue(workInProgress, nextProps, context, renderLanes);
@@ -50322,7 +50409,7 @@ function requireReactDomClient_production () {
50322
50409
  (contextType === current.memoizedProps &&
50323
50410
  oldState === current.memoizedState) ||
50324
50411
  (workInProgress.flags |= 1024),
50325
- (nextProps = !1));
50412
+ (nextProps = false));
50326
50413
  }
50327
50414
  context = nextProps;
50328
50415
  markRef(current, workInProgress);
@@ -50388,15 +50475,15 @@ function requireReactDomClient_production () {
50388
50475
  }
50389
50476
  function updateSuspenseComponent(current, workInProgress, renderLanes) {
50390
50477
  var nextProps = workInProgress.pendingProps,
50391
- showFallback = !1,
50478
+ showFallback = false,
50392
50479
  didSuspend = 0 !== (workInProgress.flags & 128),
50393
50480
  JSCompiler_temp;
50394
50481
  (JSCompiler_temp = didSuspend) ||
50395
50482
  (JSCompiler_temp =
50396
50483
  null !== current && null === current.memoizedState
50397
- ? !1
50484
+ ? false
50398
50485
  : 0 !== (suspenseStackCursor.current & 2));
50399
- JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));
50486
+ JSCompiler_temp && ((showFallback = true), (workInProgress.flags &= -129));
50400
50487
  JSCompiler_temp = 0 !== (workInProgress.flags & 32);
50401
50488
  workInProgress.flags &= -33;
50402
50489
  if (null === current) {
@@ -50450,8 +50537,8 @@ function requireReactDomClient_production () {
50450
50537
  (workInProgress.child = JSCompiler_temp$jscomp$0),
50451
50538
  (hydrationParentFiber = workInProgress),
50452
50539
  (nextHydratableInstance = null),
50453
- (JSCompiler_temp$jscomp$0 = !0))
50454
- : (JSCompiler_temp$jscomp$0 = !1);
50540
+ (JSCompiler_temp$jscomp$0 = true))
50541
+ : (JSCompiler_temp$jscomp$0 = false);
50455
50542
  }
50456
50543
  JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);
50457
50544
  }
@@ -50574,7 +50661,7 @@ function requireReactDomClient_production () {
50574
50661
  );
50575
50662
  } else if (
50576
50663
  (didReceiveUpdate ||
50577
- propagateParentContextChanges(current, workInProgress, renderLanes, !1),
50664
+ propagateParentContextChanges(current, workInProgress, renderLanes, false),
50578
50665
  (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),
50579
50666
  didReceiveUpdate || JSCompiler_temp)
50580
50667
  ) {
@@ -50614,9 +50701,9 @@ function requireReactDomClient_production () {
50614
50701
  nextInstance.nextSibling
50615
50702
  )),
50616
50703
  (hydrationParentFiber = workInProgress),
50617
- (isHydrating = !0),
50704
+ (isHydrating = true),
50618
50705
  (hydrationErrors = null),
50619
- (rootOrSingletonContext = !1),
50706
+ (rootOrSingletonContext = false),
50620
50707
  null !== current &&
50621
50708
  ((idStack[idStackIndex++] = treeContextId),
50622
50709
  (idStack[idStackIndex++] = treeContextOverflow),
@@ -50812,7 +50899,7 @@ function requireReactDomClient_production () {
50812
50899
  : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));
50813
50900
  initSuspenseListRenderState(
50814
50901
  workInProgress,
50815
- !1,
50902
+ false,
50816
50903
  revealOrder,
50817
50904
  renderLanes,
50818
50905
  tailMode
@@ -50834,14 +50921,14 @@ function requireReactDomClient_production () {
50834
50921
  }
50835
50922
  initSuspenseListRenderState(
50836
50923
  workInProgress,
50837
- !0,
50924
+ true,
50838
50925
  renderLanes,
50839
50926
  null,
50840
50927
  tailMode
50841
50928
  );
50842
50929
  break;
50843
50930
  case "together":
50844
- initSuspenseListRenderState(workInProgress, !1, null, null, void 0);
50931
+ initSuspenseListRenderState(workInProgress, false, null, null, void 0);
50845
50932
  break;
50846
50933
  default:
50847
50934
  workInProgress.memoizedState = null;
@@ -50858,7 +50945,7 @@ function requireReactDomClient_production () {
50858
50945
  current,
50859
50946
  workInProgress,
50860
50947
  renderLanes,
50861
- !1
50948
+ false
50862
50949
  ),
50863
50950
  0 === (renderLanes & workInProgress.childLanes))
50864
50951
  )
@@ -50880,9 +50967,9 @@ function requireReactDomClient_production () {
50880
50967
  return workInProgress.child;
50881
50968
  }
50882
50969
  function checkScheduledUpdateOrContext(current, renderLanes) {
50883
- if (0 !== (current.lanes & renderLanes)) return !0;
50970
+ if (0 !== (current.lanes & renderLanes)) return true;
50884
50971
  current = current.dependencies;
50885
- return null !== current && checkIfContextChanged(current) ? !0 : !1;
50972
+ return null !== current && checkIfContextChanged(current) ? true : false;
50886
50973
  }
50887
50974
  function attemptEarlyBailoutIfNoScheduledUpdate(
50888
50975
  current,
@@ -50938,7 +51025,7 @@ function requireReactDomClient_production () {
50938
51025
  current,
50939
51026
  workInProgress,
50940
51027
  renderLanes,
50941
- !1
51028
+ false
50942
51029
  ),
50943
51030
  (state = 0 !== (renderLanes & workInProgress.childLanes)));
50944
51031
  if (didSuspendBefore) {
@@ -50972,24 +51059,24 @@ function requireReactDomClient_production () {
50972
51059
  function beginWork(current, workInProgress, renderLanes) {
50973
51060
  if (null !== current)
50974
51061
  if (current.memoizedProps !== workInProgress.pendingProps)
50975
- didReceiveUpdate = !0;
51062
+ didReceiveUpdate = true;
50976
51063
  else {
50977
51064
  if (
50978
51065
  !checkScheduledUpdateOrContext(current, renderLanes) &&
50979
51066
  0 === (workInProgress.flags & 128)
50980
51067
  )
50981
51068
  return (
50982
- (didReceiveUpdate = !1),
51069
+ (didReceiveUpdate = false),
50983
51070
  attemptEarlyBailoutIfNoScheduledUpdate(
50984
51071
  current,
50985
51072
  workInProgress,
50986
51073
  renderLanes
50987
51074
  )
50988
51075
  );
50989
- didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;
51076
+ didReceiveUpdate = 0 !== (current.flags & 131072) ? true : false;
50990
51077
  }
50991
51078
  else
50992
- (didReceiveUpdate = !1),
51079
+ (didReceiveUpdate = false),
50993
51080
  isHydrating &&
50994
51081
  0 !== (workInProgress.flags & 1048576) &&
50995
51082
  pushTreeId(workInProgress, treeForkCount, workInProgress.index);
@@ -51095,7 +51182,7 @@ function requireReactDomClient_production () {
51095
51182
  workInProgress,
51096
51183
  [CacheContext],
51097
51184
  renderLanes,
51098
- !0
51185
+ true
51099
51186
  );
51100
51187
  suspendIfUpdateReadFromEntangledAsyncAction();
51101
51188
  lazyComponent = nextState.element;
@@ -51103,7 +51190,7 @@ function requireReactDomClient_production () {
51103
51190
  if (
51104
51191
  ((prevState = {
51105
51192
  element: lazyComponent,
51106
- isDehydrated: !1,
51193
+ isDehydrated: false,
51107
51194
  cache: nextState.cache
51108
51195
  }),
51109
51196
  (workInProgress.updateQueue.baseState = prevState),
@@ -51144,9 +51231,9 @@ function requireReactDomClient_production () {
51144
51231
  }
51145
51232
  nextHydratableInstance = getNextHydratable(current.firstChild);
51146
51233
  hydrationParentFiber = workInProgress;
51147
- isHydrating = !0;
51234
+ isHydrating = true;
51148
51235
  hydrationErrors = null;
51149
- rootOrSingletonContext = !0;
51236
+ rootOrSingletonContext = true;
51150
51237
  renderLanes = mountChildFibers(
51151
51238
  workInProgress,
51152
51239
  null,
@@ -51219,7 +51306,7 @@ function requireReactDomClient_production () {
51219
51306
  rootInstanceStackCursor.current
51220
51307
  )),
51221
51308
  (hydrationParentFiber = workInProgress),
51222
- (rootOrSingletonContext = !0),
51309
+ (rootOrSingletonContext = true),
51223
51310
  (init = nextHydratableInstance),
51224
51311
  isSingletonScope(workInProgress.type)
51225
51312
  ? ((previousHydratableOnEnteringScopedSingleton = init),
@@ -51252,9 +51339,9 @@ function requireReactDomClient_production () {
51252
51339
  (nextHydratableInstance = getNextHydratable(
51253
51340
  lazyComponent.firstChild
51254
51341
  )),
51255
- (rootOrSingletonContext = !1),
51256
- (init = !0))
51257
- : (init = !1);
51342
+ (rootOrSingletonContext = false),
51343
+ (init = true))
51344
+ : (init = false);
51258
51345
  init || throwOnHydrationMismatch(workInProgress);
51259
51346
  }
51260
51347
  pushHostContext(workInProgress);
@@ -51292,8 +51379,8 @@ function requireReactDomClient_production () {
51292
51379
  ? ((workInProgress.stateNode = renderLanes),
51293
51380
  (hydrationParentFiber = workInProgress),
51294
51381
  (nextHydratableInstance = null),
51295
- (current = !0))
51296
- : (current = !1);
51382
+ (current = true))
51383
+ : (current = false);
51297
51384
  current || throwOnHydrationMismatch(workInProgress);
51298
51385
  }
51299
51386
  return null;
@@ -51466,7 +51553,7 @@ function requireReactDomClient_production () {
51466
51553
  workInProgress,
51467
51554
  [CacheContext],
51468
51555
  renderLanes,
51469
- !0
51556
+ true
51470
51557
  ))),
51471
51558
  reconcileChildren(
51472
51559
  current,
@@ -51702,7 +51789,7 @@ function requireReactDomClient_production () {
51702
51789
  ? type.createElement("select", { is: newProps.is })
51703
51790
  : type.createElement("select");
51704
51791
  newProps.multiple
51705
- ? (current.multiple = !0)
51792
+ ? (current.multiple = true)
51706
51793
  : newProps.size && (current.size = newProps.size);
51707
51794
  break;
51708
51795
  default:
@@ -51742,10 +51829,10 @@ function requireReactDomClient_production () {
51742
51829
  current = !!newProps.autoFocus;
51743
51830
  break a;
51744
51831
  case "img":
51745
- current = !0;
51832
+ current = true;
51746
51833
  break a;
51747
51834
  default:
51748
- current = !1;
51835
+ current = false;
51749
51836
  }
51750
51837
  current && markUpdate(workInProgress);
51751
51838
  }
@@ -51774,10 +51861,10 @@ function requireReactDomClient_production () {
51774
51861
  current[internalInstanceKey] = workInProgress;
51775
51862
  current =
51776
51863
  current.nodeValue === renderLanes ||
51777
- (null !== newProps && !0 === newProps.suppressHydrationWarning) ||
51864
+ (null !== newProps && true === newProps.suppressHydrationWarning) ||
51778
51865
  checkForUnmatchedText(current.nodeValue, renderLanes)
51779
- ? !0
51780
- : !1;
51866
+ ? true
51867
+ : false;
51781
51868
  current || throwOnHydrationMismatch(workInProgress);
51782
51869
  } else
51783
51870
  (current =
@@ -51810,13 +51897,13 @@ function requireReactDomClient_production () {
51810
51897
  (workInProgress.memoizedState = null),
51811
51898
  (workInProgress.flags |= 4);
51812
51899
  bubbleProperties(workInProgress);
51813
- type = !1;
51900
+ type = false;
51814
51901
  } else
51815
51902
  (type = upgradeHydrationErrorsToRecoverable()),
51816
51903
  null !== current &&
51817
51904
  null !== current.memoizedState &&
51818
51905
  (current.memoizedState.hydrationErrors = type),
51819
- (type = !0);
51906
+ (type = true);
51820
51907
  if (!type) {
51821
51908
  if (workInProgress.flags & 256)
51822
51909
  return popSuspenseHandler(workInProgress), workInProgress;
@@ -51867,7 +51954,7 @@ function requireReactDomClient_production () {
51867
51954
  newProps = 0 !== (workInProgress.flags & 128);
51868
51955
  cache$127 = type.rendering;
51869
51956
  if (null === cache$127)
51870
- if (newProps) cutOffTailIfNeeded(type, !1);
51957
+ if (newProps) cutOffTailIfNeeded(type, false);
51871
51958
  else {
51872
51959
  if (
51873
51960
  0 !== workInProgressRootExitStatus ||
@@ -51877,7 +51964,7 @@ function requireReactDomClient_production () {
51877
51964
  cache$127 = findFirstSuspended(current);
51878
51965
  if (null !== cache$127) {
51879
51966
  workInProgress.flags |= 128;
51880
- cutOffTailIfNeeded(type, !1);
51967
+ cutOffTailIfNeeded(type, false);
51881
51968
  current = cache$127.updateQueue;
51882
51969
  workInProgress.updateQueue = current;
51883
51970
  scheduleRetryEffect(workInProgress, current);
@@ -51897,8 +51984,8 @@ function requireReactDomClient_production () {
51897
51984
  null !== type.tail &&
51898
51985
  now() > workInProgressRootRenderTargetTime &&
51899
51986
  ((workInProgress.flags |= 128),
51900
- (newProps = !0),
51901
- cutOffTailIfNeeded(type, !1),
51987
+ (newProps = true),
51988
+ cutOffTailIfNeeded(type, false),
51902
51989
  (workInProgress.lanes = 4194304));
51903
51990
  }
51904
51991
  else {
@@ -51906,11 +51993,11 @@ function requireReactDomClient_production () {
51906
51993
  if (((current = findFirstSuspended(cache$127)), null !== current)) {
51907
51994
  if (
51908
51995
  ((workInProgress.flags |= 128),
51909
- (newProps = !0),
51996
+ (newProps = true),
51910
51997
  (current = current.updateQueue),
51911
51998
  (workInProgress.updateQueue = current),
51912
51999
  scheduleRetryEffect(workInProgress, current),
51913
- cutOffTailIfNeeded(type, !0),
52000
+ cutOffTailIfNeeded(type, true),
51914
52001
  null === type.tail &&
51915
52002
  "hidden" === type.tailMode &&
51916
52003
  !cache$127.alternate &&
@@ -51922,8 +52009,8 @@ function requireReactDomClient_production () {
51922
52009
  workInProgressRootRenderTargetTime &&
51923
52010
  536870912 !== renderLanes &&
51924
52011
  ((workInProgress.flags |= 128),
51925
- (newProps = !0),
51926
- cutOffTailIfNeeded(type, !1),
52012
+ (newProps = true),
52013
+ cutOffTailIfNeeded(type, false),
51927
52014
  (workInProgress.lanes = 4194304));
51928
52015
  type.isBackwards
51929
52016
  ? ((cache$127.sibling = workInProgress.child),
@@ -52356,9 +52443,9 @@ function requireReactDomClient_production () {
52356
52443
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
52357
52444
  }
52358
52445
  }
52359
- var offscreenSubtreeIsHidden = !1,
52360
- offscreenSubtreeWasHidden = !1,
52361
- needsFormReset = !1,
52446
+ var offscreenSubtreeIsHidden = false,
52447
+ offscreenSubtreeWasHidden = false,
52448
+ needsFormReset = false,
52362
52449
  PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set,
52363
52450
  nextEffect = null;
52364
52451
  function commitBeforeMutationEffects(root, firstChild) {
@@ -52431,7 +52518,7 @@ function requireReactDomClient_production () {
52431
52518
  JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };
52432
52519
  } else JSCompiler_temp = null;
52433
52520
  selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };
52434
- _enabled = !1;
52521
+ _enabled = false;
52435
52522
  for (nextEffect = firstChild; null !== nextEffect; )
52436
52523
  if (
52437
52524
  ((firstChild = nextEffect),
@@ -52652,7 +52739,7 @@ function requireReactDomClient_production () {
52652
52739
  fiber.updateQueue = null;
52653
52740
  }
52654
52741
  var hostParent = null,
52655
- hostParentIsContainer = !1;
52742
+ hostParentIsContainer = false;
52656
52743
  function recursivelyTraverseDeletionEffects(
52657
52744
  finishedRoot,
52658
52745
  nearestMountedAncestor,
@@ -52692,7 +52779,7 @@ function requireReactDomClient_production () {
52692
52779
  var prevHostParent = hostParent,
52693
52780
  prevHostParentIsContainer = hostParentIsContainer;
52694
52781
  isSingletonScope(deletedFiber.type) &&
52695
- ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));
52782
+ ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = false));
52696
52783
  recursivelyTraverseDeletionEffects(
52697
52784
  finishedRoot,
52698
52785
  nearestMountedAncestor,
@@ -52762,7 +52849,7 @@ function requireReactDomClient_production () {
52762
52849
  prevHostParent = hostParent;
52763
52850
  prevHostParentIsContainer = hostParentIsContainer;
52764
52851
  hostParent = deletedFiber.stateNode.containerInfo;
52765
- hostParentIsContainer = !0;
52852
+ hostParentIsContainer = true;
52766
52853
  recursivelyTraverseDeletionEffects(
52767
52854
  finishedRoot,
52768
52855
  nearestMountedAncestor,
@@ -52883,18 +52970,18 @@ function requireReactDomClient_production () {
52883
52970
  case 27:
52884
52971
  if (isSingletonScope(parent.type)) {
52885
52972
  hostParent = parent.stateNode;
52886
- hostParentIsContainer = !1;
52973
+ hostParentIsContainer = false;
52887
52974
  break a;
52888
52975
  }
52889
52976
  break;
52890
52977
  case 5:
52891
52978
  hostParent = parent.stateNode;
52892
- hostParentIsContainer = !1;
52979
+ hostParentIsContainer = false;
52893
52980
  break a;
52894
52981
  case 3:
52895
52982
  case 4:
52896
52983
  hostParent = parent.stateNode.containerInfo;
52897
- hostParentIsContainer = !0;
52984
+ hostParentIsContainer = true;
52898
52985
  break a;
52899
52986
  }
52900
52987
  parent = parent.return;
@@ -52902,7 +52989,7 @@ function requireReactDomClient_production () {
52902
52989
  if (null === hostParent) throw Error(formatProdErrorMessage(160));
52903
52990
  commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);
52904
52991
  hostParent = null;
52905
- hostParentIsContainer = !1;
52992
+ hostParentIsContainer = false;
52906
52993
  root = childToDelete.alternate;
52907
52994
  null !== root && (root.return = null);
52908
52995
  childToDelete.return = null;
@@ -53137,7 +53224,7 @@ function requireReactDomClient_production () {
53137
53224
  hoistableRoot,
53138
53225
  null !== current ? current.memoizedProps : hoistableRoot
53139
53226
  ));
53140
- flags & 1024 && (needsFormReset = !0);
53227
+ flags & 1024 && (needsFormReset = true);
53141
53228
  break;
53142
53229
  case 6:
53143
53230
  recursivelyTraverseMutationEffects(root, finishedWork);
@@ -53168,7 +53255,7 @@ function requireReactDomClient_production () {
53168
53255
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
53169
53256
  }
53170
53257
  needsFormReset &&
53171
- ((needsFormReset = !1), recursivelyResetForms(finishedWork));
53258
+ ((needsFormReset = false), recursivelyResetForms(finishedWork));
53172
53259
  break;
53173
53260
  case 4:
53174
53261
  flags = currentHoistableRoot;
@@ -54012,9 +54099,9 @@ function requireReactDomClient_production () {
54012
54099
  workInProgressRootRenderLanes = 0,
54013
54100
  workInProgressSuspendedReason = 0,
54014
54101
  workInProgressThrownValue = null,
54015
- workInProgressRootDidSkipSuspendedSiblings = !1,
54016
- workInProgressRootIsPrerendering = !1,
54017
- workInProgressRootDidAttachPingListener = !1,
54102
+ workInProgressRootDidSkipSuspendedSiblings = false,
54103
+ workInProgressRootIsPrerendering = false,
54104
+ workInProgressRootDidAttachPingListener = false,
54018
54105
  entangledRenderLanes = 0,
54019
54106
  workInProgressRootExitStatus = 0,
54020
54107
  workInProgressRootSkippedLanes = 0,
@@ -54024,7 +54111,7 @@ function requireReactDomClient_production () {
54024
54111
  workInProgressSuspendedRetryLanes = 0,
54025
54112
  workInProgressRootConcurrentErrors = null,
54026
54113
  workInProgressRootRecoverableErrors = null,
54027
- workInProgressRootDidIncludeRecursiveRenderUpdate = !1,
54114
+ workInProgressRootDidIncludeRecursiveRenderUpdate = false,
54028
54115
  globalMostRecentFallbackTime = 0,
54029
54116
  workInProgressRootRenderTargetTime = Infinity,
54030
54117
  workInProgressTransitions = null,
@@ -54069,7 +54156,7 @@ function requireReactDomClient_production () {
54069
54156
  root,
54070
54157
  workInProgressRootRenderLanes,
54071
54158
  workInProgressDeferredLane,
54072
- !1
54159
+ false
54073
54160
  );
54074
54161
  markRootUpdated$1(root, lane);
54075
54162
  if (0 === (executionContext & 2) || root !== workInProgressRoot)
@@ -54081,7 +54168,7 @@ function requireReactDomClient_production () {
54081
54168
  root,
54082
54169
  workInProgressRootRenderLanes,
54083
54170
  workInProgressDeferredLane,
54084
- !1
54171
+ false
54085
54172
  )),
54086
54173
  ensureRootIsScheduled(root);
54087
54174
  }
@@ -54094,13 +54181,13 @@ function requireReactDomClient_production () {
54094
54181
  checkIfRootIsPrerendering(root$jscomp$0, lanes),
54095
54182
  exitStatus = shouldTimeSlice
54096
54183
  ? renderRootConcurrent(root$jscomp$0, lanes)
54097
- : renderRootSync(root$jscomp$0, lanes, !0),
54184
+ : renderRootSync(root$jscomp$0, lanes, true),
54098
54185
  renderWasConcurrent = shouldTimeSlice;
54099
54186
  do {
54100
54187
  if (0 === exitStatus) {
54101
54188
  workInProgressRootIsPrerendering &&
54102
54189
  !shouldTimeSlice &&
54103
- markRootSuspended(root$jscomp$0, lanes, 0, !1);
54190
+ markRootSuspended(root$jscomp$0, lanes, 0, false);
54104
54191
  break;
54105
54192
  } else {
54106
54193
  forceSync = root$jscomp$0.current.alternate;
@@ -54108,8 +54195,8 @@ function requireReactDomClient_production () {
54108
54195
  renderWasConcurrent &&
54109
54196
  !isRenderConsistentWithExternalStores(forceSync)
54110
54197
  ) {
54111
- exitStatus = renderRootSync(root$jscomp$0, lanes, !1);
54112
- renderWasConcurrent = !1;
54198
+ exitStatus = renderRootSync(root$jscomp$0, lanes, false);
54199
+ renderWasConcurrent = false;
54113
54200
  continue;
54114
54201
  }
54115
54202
  if (2 === exitStatus) {
@@ -54135,7 +54222,7 @@ function requireReactDomClient_production () {
54135
54222
  JSCompiler_inline_result = renderRootSync(
54136
54223
  root,
54137
54224
  JSCompiler_inline_result,
54138
- !1
54225
+ false
54139
54226
  );
54140
54227
  if (2 !== JSCompiler_inline_result) {
54141
54228
  if (
@@ -54160,13 +54247,13 @@ function requireReactDomClient_production () {
54160
54247
  }
54161
54248
  exitStatus = JSCompiler_inline_result;
54162
54249
  }
54163
- renderWasConcurrent = !1;
54250
+ renderWasConcurrent = false;
54164
54251
  if (2 !== exitStatus) continue;
54165
54252
  }
54166
54253
  }
54167
54254
  if (1 === exitStatus) {
54168
54255
  prepareFreshStack(root$jscomp$0, 0);
54169
- markRootSuspended(root$jscomp$0, lanes, 0, !0);
54256
+ markRootSuspended(root$jscomp$0, lanes, 0, true);
54170
54257
  break;
54171
54258
  }
54172
54259
  a: {
@@ -54206,7 +54293,7 @@ function requireReactDomClient_production () {
54206
54293
  workInProgressDeferredLane,
54207
54294
  !workInProgressRootDidSkipSuspendedSiblings
54208
54295
  );
54209
- if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;
54296
+ if (0 !== getNextLanes(shouldTimeSlice, 0, true)) break a;
54210
54297
  shouldTimeSlice.timeoutHandle = scheduleTimeout(
54211
54298
  commitRootWhenReady.bind(
54212
54299
  null,
@@ -54328,7 +54415,7 @@ function requireReactDomClient_production () {
54328
54415
  try {
54329
54416
  if (!objectIs(getSnapshot(), check)) return !1;
54330
54417
  } catch (error) {
54331
- return !1;
54418
+ return false;
54332
54419
  }
54333
54420
  }
54334
54421
  tag = node.child;
@@ -54337,14 +54424,14 @@ function requireReactDomClient_production () {
54337
54424
  else {
54338
54425
  if (node === finishedWork) break;
54339
54426
  for (; null === node.sibling; ) {
54340
- if (null === node.return || node.return === finishedWork) return !0;
54427
+ if (null === node.return || node.return === finishedWork) return true;
54341
54428
  node = node.return;
54342
54429
  }
54343
54430
  node.sibling.return = node.return;
54344
54431
  node = node.sibling;
54345
54432
  }
54346
54433
  }
54347
- return !0;
54434
+ return true;
54348
54435
  }
54349
54436
  function markRootSuspended(
54350
54437
  root,
@@ -54369,8 +54456,8 @@ function requireReactDomClient_production () {
54369
54456
  }
54370
54457
  function flushSyncWork$1() {
54371
54458
  return 0 === (executionContext & 6)
54372
- ? (flushSyncWorkAcrossRoots_impl(0), !1)
54373
- : !0;
54459
+ ? (flushSyncWorkAcrossRoots_impl(0), false)
54460
+ : true;
54374
54461
  }
54375
54462
  function resetWorkInProgressStack() {
54376
54463
  if (null !== workInProgress) {
@@ -54402,9 +54489,9 @@ function requireReactDomClient_production () {
54402
54489
  workInProgressRootRenderLanes = lanes;
54403
54490
  workInProgressSuspendedReason = 0;
54404
54491
  workInProgressThrownValue = null;
54405
- workInProgressRootDidSkipSuspendedSiblings = !1;
54492
+ workInProgressRootDidSkipSuspendedSiblings = false;
54406
54493
  workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);
54407
- workInProgressRootDidAttachPingListener = !1;
54494
+ workInProgressRootDidAttachPingListener = false;
54408
54495
  workInProgressSuspendedRetryLanes =
54409
54496
  workInProgressDeferredLane =
54410
54497
  workInProgressRootPingedLanes =
@@ -54414,7 +54501,7 @@ function requireReactDomClient_production () {
54414
54501
  0;
54415
54502
  workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =
54416
54503
  null;
54417
- workInProgressRootDidIncludeRecursiveRenderUpdate = !1;
54504
+ workInProgressRootDidIncludeRecursiveRenderUpdate = false;
54418
54505
  0 !== (lanes & 8) && (lanes |= lanes & 32);
54419
54506
  var allEntangledLanes = root.entangledLanes;
54420
54507
  if (0 !== allEntangledLanes)
@@ -54473,7 +54560,7 @@ function requireReactDomClient_production () {
54473
54560
  ((workInProgressRootRenderLanes & 4194048) !==
54474
54561
  workInProgressRootRenderLanes &&
54475
54562
  null !== suspenseHandlerStackCursor.current) ||
54476
- (workInProgressRootIsPrerendering = !0);
54563
+ (workInProgressRootIsPrerendering = true);
54477
54564
  (0 === (workInProgressRootSkippedLanes & 134217727) &&
54478
54565
  0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||
54479
54566
  null === workInProgressRoot ||
@@ -54481,7 +54568,7 @@ function requireReactDomClient_production () {
54481
54568
  workInProgressRoot,
54482
54569
  workInProgressRootRenderLanes,
54483
54570
  workInProgressDeferredLane,
54484
- !1
54571
+ false
54485
54572
  );
54486
54573
  }
54487
54574
  function renderRootSync(root, lanes, shouldYieldForPrerendering) {
@@ -54491,7 +54578,7 @@ function requireReactDomClient_production () {
54491
54578
  prevAsyncDispatcher = pushAsyncDispatcher();
54492
54579
  if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)
54493
54580
  (workInProgressTransitions = null), prepareFreshStack(root, lanes);
54494
- lanes = !1;
54581
+ lanes = false;
54495
54582
  var exitStatus = workInProgressRootExitStatus;
54496
54583
  a: do
54497
54584
  try {
@@ -54745,14 +54832,14 @@ function requireReactDomClient_production () {
54745
54832
  return;
54746
54833
  }
54747
54834
  if (unitOfWork.flags & 32768) {
54748
- if (isHydrating || 1 === suspendedReason) root = !0;
54835
+ if (isHydrating || 1 === suspendedReason) root = true;
54749
54836
  else if (
54750
54837
  workInProgressRootIsPrerendering ||
54751
54838
  0 !== (workInProgressRootRenderLanes & 536870912)
54752
54839
  )
54753
- root = !1;
54840
+ root = false;
54754
54841
  else if (
54755
- ((workInProgressRootDidSkipSuspendedSiblings = root = !0),
54842
+ ((workInProgressRootDidSkipSuspendedSiblings = root = true),
54756
54843
  2 === suspendedReason ||
54757
54844
  9 === suspendedReason ||
54758
54845
  3 === suspendedReason ||
@@ -55102,7 +55189,7 @@ function requireReactDomClient_production () {
55102
55189
  return flushPassiveEffects();
55103
55190
  }
55104
55191
  function flushPassiveEffects() {
55105
- if (5 !== pendingEffectsStatus) return !1;
55192
+ if (5 !== pendingEffectsStatus) return false;
55106
55193
  var root = pendingEffectsRoot,
55107
55194
  remainingLanes = pendingEffectsRemainingLanes;
55108
55195
  pendingEffectsRemainingLanes = 0;
@@ -55202,7 +55289,7 @@ function requireReactDomClient_production () {
55202
55289
  void 0 === threadIDs &&
55203
55290
  ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));
55204
55291
  threadIDs.has(lanes) ||
55205
- ((workInProgressRootDidAttachPingListener = !0),
55292
+ ((workInProgressRootDidAttachPingListener = true),
55206
55293
  threadIDs.add(lanes),
55207
55294
  (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),
55208
55295
  wakeable.then(root, root));
@@ -55263,9 +55350,9 @@ function requireReactDomClient_production () {
55263
55350
  }
55264
55351
  var firstScheduledRoot = null,
55265
55352
  lastScheduledRoot = null,
55266
- didScheduleMicrotask = !1,
55267
- mightHavePendingSyncWork = !1,
55268
- isFlushingWork = !1,
55353
+ didScheduleMicrotask = false,
55354
+ mightHavePendingSyncWork = false,
55355
+ isFlushingWork = false,
55269
55356
  currentEventTransitionLane = 0;
55270
55357
  function ensureRootIsScheduled(root) {
55271
55358
  root !== lastScheduledRoot &&
@@ -55273,15 +55360,15 @@ function requireReactDomClient_production () {
55273
55360
  (null === lastScheduledRoot
55274
55361
  ? (firstScheduledRoot = lastScheduledRoot = root)
55275
55362
  : (lastScheduledRoot = lastScheduledRoot.next = root));
55276
- mightHavePendingSyncWork = !0;
55363
+ mightHavePendingSyncWork = true;
55277
55364
  didScheduleMicrotask ||
55278
- ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());
55365
+ ((didScheduleMicrotask = true), scheduleImmediateRootScheduleTask());
55279
55366
  }
55280
55367
  function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
55281
55368
  if (!isFlushingWork && mightHavePendingSyncWork) {
55282
- isFlushingWork = !0;
55369
+ isFlushingWork = true;
55283
55370
  do {
55284
- var didPerformSomeWork = !1;
55371
+ var didPerformSomeWork = false;
55285
55372
  for (var root$174 = firstScheduledRoot; null !== root$174; ) {
55286
55373
  if (0 !== syncTransitionLanes) {
55287
55374
  var pendingLanes = root$174.pendingLanes;
@@ -55301,7 +55388,7 @@ function requireReactDomClient_production () {
55301
55388
  : 0;
55302
55389
  }
55303
55390
  0 !== JSCompiler_inline_result &&
55304
- ((didPerformSomeWork = !0),
55391
+ ((didPerformSomeWork = true),
55305
55392
  performSyncWorkOnRoot(root$174, JSCompiler_inline_result));
55306
55393
  } else
55307
55394
  (JSCompiler_inline_result = workInProgressRootRenderLanes),
@@ -55313,19 +55400,19 @@ function requireReactDomClient_production () {
55313
55400
  )),
55314
55401
  0 === (JSCompiler_inline_result & 3) ||
55315
55402
  checkIfRootIsPrerendering(root$174, JSCompiler_inline_result) ||
55316
- ((didPerformSomeWork = !0),
55403
+ ((didPerformSomeWork = true),
55317
55404
  performSyncWorkOnRoot(root$174, JSCompiler_inline_result));
55318
55405
  root$174 = root$174.next;
55319
55406
  }
55320
55407
  } while (didPerformSomeWork);
55321
- isFlushingWork = !1;
55408
+ isFlushingWork = false;
55322
55409
  }
55323
55410
  }
55324
55411
  function processRootScheduleInImmediateTask() {
55325
55412
  processRootScheduleInMicrotask();
55326
55413
  }
55327
55414
  function processRootScheduleInMicrotask() {
55328
- mightHavePendingSyncWork = didScheduleMicrotask = !1;
55415
+ mightHavePendingSyncWork = didScheduleMicrotask = false;
55329
55416
  var syncTransitionLanes = 0;
55330
55417
  0 !== currentEventTransitionLane &&
55331
55418
  (shouldAttemptEagerTransition() &&
@@ -55345,7 +55432,7 @@ function requireReactDomClient_production () {
55345
55432
  else if (
55346
55433
  ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))
55347
55434
  )
55348
- mightHavePendingSyncWork = !0;
55435
+ mightHavePendingSyncWork = true;
55349
55436
  root = next;
55350
55437
  }
55351
55438
  flushSyncWorkAcrossRoots_impl(syncTransitionLanes);
@@ -55443,7 +55530,7 @@ function requireReactDomClient_production () {
55443
55530
  }
55444
55531
  function performSyncWorkOnRoot(root, lanes) {
55445
55532
  if (flushPendingEffects()) return null;
55446
- performWorkOnRoot(root, lanes, !0);
55533
+ performWorkOnRoot(root, lanes, true);
55447
55534
  }
55448
55535
  function scheduleImmediateRootScheduleTask() {
55449
55536
  scheduleMicrotask(function () {
@@ -55521,7 +55608,7 @@ function requireReactDomClient_production () {
55521
55608
  startHostTransition(
55522
55609
  maybeTargetInst,
55523
55610
  {
55524
- pending: !0,
55611
+ pending: true,
55525
55612
  data: formData,
55526
55613
  method: nativeEventTarget.method,
55527
55614
  action: action
@@ -55539,7 +55626,7 @@ function requireReactDomClient_production () {
55539
55626
  startHostTransition(
55540
55627
  maybeTargetInst,
55541
55628
  {
55542
- pending: !0,
55629
+ pending: true,
55543
55630
  data: formData,
55544
55631
  method: nativeEventTarget.method,
55545
55632
  action: action
@@ -55684,7 +55771,7 @@ function requireReactDomClient_production () {
55684
55771
  new Set());
55685
55772
  var listenerSetKey = domEventName + "__bubble";
55686
55773
  JSCompiler_inline_result.has(listenerSetKey) ||
55687
- (addTrappedEventListener(targetElement, domEventName, 2, !1),
55774
+ (addTrappedEventListener(targetElement, domEventName, 2, false),
55688
55775
  JSCompiler_inline_result.add(listenerSetKey));
55689
55776
  }
55690
55777
  function listenToNativeEvent(domEventName, isCapturePhaseListener, target) {
@@ -55700,12 +55787,12 @@ function requireReactDomClient_production () {
55700
55787
  var listeningMarker = "_reactListening" + Math.random().toString(36).slice(2);
55701
55788
  function listenToAllSupportedEvents(rootContainerElement) {
55702
55789
  if (!rootContainerElement[listeningMarker]) {
55703
- rootContainerElement[listeningMarker] = !0;
55790
+ rootContainerElement[listeningMarker] = true;
55704
55791
  allNativeEvents.forEach(function (domEventName) {
55705
55792
  "selectionchange" !== domEventName &&
55706
55793
  (nonDelegatedEvents.has(domEventName) ||
55707
- listenToNativeEvent(domEventName, !1, rootContainerElement),
55708
- listenToNativeEvent(domEventName, !0, rootContainerElement));
55794
+ listenToNativeEvent(domEventName, false, rootContainerElement),
55795
+ listenToNativeEvent(domEventName, true, rootContainerElement));
55709
55796
  });
55710
55797
  var ownerDocument =
55711
55798
  9 === rootContainerElement.nodeType
@@ -55713,8 +55800,8 @@ function requireReactDomClient_production () {
55713
55800
  : rootContainerElement.ownerDocument;
55714
55801
  null === ownerDocument ||
55715
55802
  ownerDocument[listeningMarker] ||
55716
- ((ownerDocument[listeningMarker] = !0),
55717
- listenToNativeEvent("selectionchange", !1, ownerDocument));
55803
+ ((ownerDocument[listeningMarker] = true),
55804
+ listenToNativeEvent("selectionchange", false, ownerDocument));
55718
55805
  }
55719
55806
  }
55720
55807
  function addTrappedEventListener(
@@ -55744,19 +55831,19 @@ function requireReactDomClient_production () {
55744
55831
  ("touchstart" !== domEventName &&
55745
55832
  "touchmove" !== domEventName &&
55746
55833
  "wheel" !== domEventName) ||
55747
- (listenerWrapper = !0);
55834
+ (listenerWrapper = true);
55748
55835
  isCapturePhaseListener
55749
55836
  ? void 0 !== listenerWrapper
55750
55837
  ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
55751
- capture: !0,
55838
+ capture: true,
55752
55839
  passive: listenerWrapper
55753
55840
  })
55754
- : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)
55841
+ : targetContainer.addEventListener(domEventName, eventSystemFlags, true)
55755
55842
  : void 0 !== listenerWrapper
55756
55843
  ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
55757
55844
  passive: listenerWrapper
55758
55845
  })
55759
- : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);
55846
+ : targetContainer.addEventListener(domEventName, eventSystemFlags, false);
55760
55847
  }
55761
55848
  function dispatchEventForPluginEventSystem(
55762
55849
  domEventName,
@@ -56307,7 +56394,7 @@ function requireReactDomClient_production () {
56307
56394
  }
56308
56395
  function checkForUnmatchedText(serverText, clientText) {
56309
56396
  clientText = normalizeMarkupForTextOrAttribute(clientText);
56310
- return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
56397
+ return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false;
56311
56398
  }
56312
56399
  function noop$1() {}
56313
56400
  function setProp(domElement, tag, key, value, props, prevValue) {
@@ -56506,9 +56593,9 @@ function requireReactDomClient_production () {
56506
56593
  break;
56507
56594
  case "capture":
56508
56595
  case "download":
56509
- !0 === value
56596
+ true === value
56510
56597
  ? domElement.setAttribute(key, "")
56511
- : !1 !== value &&
56598
+ : false !== value &&
56512
56599
  null != value &&
56513
56600
  "function" !== typeof value &&
56514
56601
  "symbol" !== typeof value
@@ -56693,7 +56780,7 @@ function requireReactDomClient_production () {
56693
56780
  }
56694
56781
  key in domElement
56695
56782
  ? (domElement[key] = value)
56696
- : !0 === value
56783
+ : true === value
56697
56784
  ? domElement.setAttribute(key, "")
56698
56785
  : setValueForAttribute(domElement, key, value);
56699
56786
  }
@@ -56713,8 +56800,8 @@ function requireReactDomClient_production () {
56713
56800
  case "img":
56714
56801
  listenToNonDelegatedEvent("error", domElement);
56715
56802
  listenToNonDelegatedEvent("load", domElement);
56716
- var hasSrc = !1,
56717
- hasSrcSet = !1,
56803
+ var hasSrc = false,
56804
+ hasSrcSet = false,
56718
56805
  propKey;
56719
56806
  for (propKey in props)
56720
56807
  if (props.hasOwnProperty(propKey)) {
@@ -56722,10 +56809,10 @@ function requireReactDomClient_production () {
56722
56809
  if (null != propValue)
56723
56810
  switch (propKey) {
56724
56811
  case "src":
56725
- hasSrc = !0;
56812
+ hasSrc = true;
56726
56813
  break;
56727
56814
  case "srcSet":
56728
- hasSrcSet = !0;
56815
+ hasSrcSet = true;
56729
56816
  break;
56730
56817
  case "children":
56731
56818
  case "dangerouslySetInnerHTML":
@@ -56783,7 +56870,7 @@ function requireReactDomClient_production () {
56783
56870
  defaultChecked,
56784
56871
  propValue,
56785
56872
  hasSrcSet,
56786
- !1
56873
+ false
56787
56874
  );
56788
56875
  track(domElement);
56789
56876
  return;
@@ -56811,8 +56898,8 @@ function requireReactDomClient_production () {
56811
56898
  props = propValue;
56812
56899
  domElement.multiple = !!hasSrc;
56813
56900
  null != tag
56814
- ? updateOptions(domElement, !!hasSrc, tag, !1)
56815
- : null != props && updateOptions(domElement, !!hasSrc, props, !0);
56901
+ ? updateOptions(domElement, !!hasSrc, tag, false)
56902
+ : null != props && updateOptions(domElement, !!hasSrc, props, true);
56816
56903
  return;
56817
56904
  case "textarea":
56818
56905
  listenToNonDelegatedEvent("invalid", domElement);
@@ -57074,11 +57161,11 @@ function requireReactDomClient_production () {
57074
57161
  lastProps = value;
57075
57162
  nextProps = propKey;
57076
57163
  null != propKey$205
57077
- ? updateOptions(domElement, !!lastProps, propKey$205, !1)
57164
+ ? updateOptions(domElement, !!lastProps, propKey$205, false)
57078
57165
  : !!nextProps !== !!lastProps &&
57079
57166
  (null != tag
57080
- ? updateOptions(domElement, !!lastProps, tag, !0)
57081
- : updateOptions(domElement, !!lastProps, lastProps ? [] : "", !1));
57167
+ ? updateOptions(domElement, !!lastProps, tag, true)
57168
+ : updateOptions(domElement, !!lastProps, lastProps ? [] : "", false));
57082
57169
  return;
57083
57170
  case "textarea":
57084
57171
  propKey = propKey$205 = null;
@@ -57131,7 +57218,7 @@ function requireReactDomClient_production () {
57131
57218
  )
57132
57219
  switch (propKey$221) {
57133
57220
  case "selected":
57134
- domElement.selected = !1;
57221
+ domElement.selected = false;
57135
57222
  break;
57136
57223
  default:
57137
57224
  setProp(
@@ -57308,12 +57395,12 @@ function requireReactDomClient_production () {
57308
57395
  function shouldAttemptEagerTransition() {
57309
57396
  var event = window.event;
57310
57397
  if (event && "popstate" === event.type) {
57311
- if (event === currentPopstateTransitionEvent) return !1;
57398
+ if (event === currentPopstateTransitionEvent) return false;
57312
57399
  currentPopstateTransitionEvent = event;
57313
- return !0;
57400
+ return true;
57314
57401
  }
57315
57402
  currentPopstateTransitionEvent = null;
57316
- return !1;
57403
+ return false;
57317
57404
  }
57318
57405
  var scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0,
57319
57406
  cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0,
@@ -57791,7 +57878,7 @@ function requireReactDomClient_production () {
57791
57878
  resource ||
57792
57879
  ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),
57793
57880
  resource ||
57794
- ((src = assign({ src: src, async: !0 }, options)),
57881
+ ((src = assign({ src: src, async: true }, options)),
57795
57882
  (options = preloadPropsMap.get(key)) &&
57796
57883
  adoptPreloadPropsForScript(src, options),
57797
57884
  (resource = ownerDocument.createElement("script")),
@@ -57817,7 +57904,7 @@ function requireReactDomClient_production () {
57817
57904
  resource ||
57818
57905
  ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),
57819
57906
  resource ||
57820
- ((src = assign({ src: src, async: !0, type: "module" }, options)),
57907
+ ((src = assign({ src: src, async: true, type: "module" }, options)),
57821
57908
  (options = preloadPropsMap.get(key)) &&
57822
57909
  adoptPreloadPropsForScript(src, options),
57823
57910
  (resource = ownerDocument.createElement("script")),
@@ -58141,11 +58228,11 @@ function requireReactDomClient_production () {
58141
58228
  );
58142
58229
  }
58143
58230
  function isHostHoistableType(type, props, hostContext) {
58144
- if (1 === hostContext || null != props.itemProp) return !1;
58231
+ if (1 === hostContext || null != props.itemProp) return false;
58145
58232
  switch (type) {
58146
58233
  case "meta":
58147
58234
  case "title":
58148
- return !0;
58235
+ return true;
58149
58236
  case "style":
58150
58237
  if (
58151
58238
  "string" !== typeof props.precedence ||
@@ -58153,7 +58240,7 @@ function requireReactDomClient_production () {
58153
58240
  "" === props.href
58154
58241
  )
58155
58242
  break;
58156
- return !0;
58243
+ return true;
58157
58244
  case "link":
58158
58245
  if (
58159
58246
  "string" !== typeof props.rel ||
@@ -58170,7 +58257,7 @@ function requireReactDomClient_production () {
58170
58257
  "string" === typeof props.precedence && null == type
58171
58258
  );
58172
58259
  default:
58173
- return !0;
58260
+ return true;
58174
58261
  }
58175
58262
  case "script":
58176
58263
  if (
@@ -58182,14 +58269,14 @@ function requireReactDomClient_production () {
58182
58269
  props.src &&
58183
58270
  "string" === typeof props.src
58184
58271
  )
58185
- return !0;
58272
+ return true;
58186
58273
  }
58187
- return !1;
58274
+ return false;
58188
58275
  }
58189
58276
  function preloadResource(resource) {
58190
58277
  return "stylesheet" === resource.type && 0 === (resource.state.loading & 3)
58191
- ? !1
58192
- : !0;
58278
+ ? false
58279
+ : true;
58193
58280
  }
58194
58281
  var suspendedState = null;
58195
58282
  function noop() {}
@@ -58199,7 +58286,7 @@ function requireReactDomClient_production () {
58199
58286
  if (
58200
58287
  "stylesheet" === resource.type &&
58201
58288
  ("string" !== typeof props.media ||
58202
- !1 !== matchMedia(props.media).matches) &&
58289
+ false !== matchMedia(props.media).matches) &&
58203
58290
  0 === (resource.state.loading & 4)
58204
58291
  ) {
58205
58292
  if (null === resource.instance) {
@@ -58404,7 +58491,7 @@ function requireReactDomClient_production () {
58404
58491
  formState
58405
58492
  );
58406
58493
  tag = 1;
58407
- !0 === isStrictMode && (tag |= 24);
58494
+ true === isStrictMode && (tag |= 24);
58408
58495
  isStrictMode = createFiberImplClass(3, null, null, tag);
58409
58496
  containerInfo.current = isStrictMode;
58410
58497
  isStrictMode.stateNode = containerInfo;
@@ -58464,7 +58551,7 @@ function requireReactDomClient_production () {
58464
58551
  markRetryLaneIfNotHydrated(fiber, 67108864);
58465
58552
  }
58466
58553
  }
58467
- var _enabled = !0;
58554
+ var _enabled = true;
58468
58555
  function dispatchDiscreteEvent(
58469
58556
  domEventName,
58470
58557
  eventSystemFlags,
@@ -58705,7 +58792,7 @@ function requireReactDomClient_production () {
58705
58792
  return 32;
58706
58793
  }
58707
58794
  }
58708
- var hasScheduledReplayAttempt = !1,
58795
+ var hasScheduledReplayAttempt = false,
58709
58796
  queuedFocus = null,
58710
58797
  queuedDrag = null,
58711
58798
  queuedMouse = null,
@@ -58789,7 +58876,7 @@ function requireReactDomClient_production () {
58789
58876
  targetContainer,
58790
58877
  nativeEvent
58791
58878
  )),
58792
- !0
58879
+ true
58793
58880
  );
58794
58881
  case "dragenter":
58795
58882
  return (
@@ -58801,7 +58888,7 @@ function requireReactDomClient_production () {
58801
58888
  targetContainer,
58802
58889
  nativeEvent
58803
58890
  )),
58804
- !0
58891
+ true
58805
58892
  );
58806
58893
  case "mouseover":
58807
58894
  return (
@@ -58813,7 +58900,7 @@ function requireReactDomClient_production () {
58813
58900
  targetContainer,
58814
58901
  nativeEvent
58815
58902
  )),
58816
- !0
58903
+ true
58817
58904
  );
58818
58905
  case "pointerover":
58819
58906
  var pointerId = nativeEvent.pointerId;
@@ -58828,7 +58915,7 @@ function requireReactDomClient_production () {
58828
58915
  nativeEvent
58829
58916
  )
58830
58917
  );
58831
- return !0;
58918
+ return true;
58832
58919
  case "gotpointercapture":
58833
58920
  return (
58834
58921
  (pointerId = nativeEvent.pointerId),
@@ -58843,10 +58930,10 @@ function requireReactDomClient_production () {
58843
58930
  nativeEvent
58844
58931
  )
58845
58932
  ),
58846
- !0
58933
+ true
58847
58934
  );
58848
58935
  }
58849
- return !1;
58936
+ return false;
58850
58937
  }
58851
58938
  function attemptExplicitHydrationTarget(queuedTarget) {
58852
58939
  var targetInst = getClosestInstanceFromNode(queuedTarget.target);
@@ -58885,7 +58972,7 @@ function requireReactDomClient_production () {
58885
58972
  queuedTarget.blockedOn = null;
58886
58973
  }
58887
58974
  function attemptReplayContinuousQueuedEvent(queuedEvent) {
58888
- if (null !== queuedEvent.blockedOn) return !1;
58975
+ if (null !== queuedEvent.blockedOn) return false;
58889
58976
  for (
58890
58977
  var targetContainers = queuedEvent.targetContainers;
58891
58978
  0 < targetContainers.length;
@@ -58907,17 +58994,17 @@ function requireReactDomClient_production () {
58907
58994
  null !== targetContainers &&
58908
58995
  attemptContinuousHydration(targetContainers),
58909
58996
  (queuedEvent.blockedOn = nextBlockedOn),
58910
- !1
58997
+ false
58911
58998
  );
58912
58999
  targetContainers.shift();
58913
59000
  }
58914
- return !0;
59001
+ return true;
58915
59002
  }
58916
59003
  function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
58917
59004
  attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);
58918
59005
  }
58919
59006
  function replayUnblockedEvents() {
58920
- hasScheduledReplayAttempt = !1;
59007
+ hasScheduledReplayAttempt = false;
58921
59008
  null !== queuedFocus &&
58922
59009
  attemptReplayContinuousQueuedEvent(queuedFocus) &&
58923
59010
  (queuedFocus = null);
@@ -58934,7 +59021,7 @@ function requireReactDomClient_production () {
58934
59021
  queuedEvent.blockedOn === unblocked &&
58935
59022
  ((queuedEvent.blockedOn = null),
58936
59023
  hasScheduledReplayAttempt ||
58937
- ((hasScheduledReplayAttempt = !0),
59024
+ ((hasScheduledReplayAttempt = true),
58938
59025
  Scheduler.unstable_scheduleCallback(
58939
59026
  Scheduler.unstable_NormalPriority,
58940
59027
  replayUnblockedEvents
@@ -58964,7 +59051,7 @@ function requireReactDomClient_production () {
58964
59051
  startHostTransition(
58965
59052
  formInst,
58966
59053
  {
58967
- pending: !0,
59054
+ pending: true,
58968
59055
  data: formData,
58969
59056
  method: form.method,
58970
59057
  action: submitterOrAction
@@ -59115,7 +59202,7 @@ function requireReactDomClient_production () {
59115
59202
  }
59116
59203
  reactDomClient_production.createRoot = function (container, options) {
59117
59204
  if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));
59118
- var isStrictMode = !1,
59205
+ var isStrictMode = false,
59119
59206
  identifierPrefix = "",
59120
59207
  onUncaughtError = defaultOnUncaughtError,
59121
59208
  onCaughtError = defaultOnCaughtError,
@@ -59123,7 +59210,7 @@ function requireReactDomClient_production () {
59123
59210
  transitionCallbacks = null;
59124
59211
  null !== options &&
59125
59212
  void 0 !== options &&
59126
- (!0 === options.unstable_strictMode && (isStrictMode = !0),
59213
+ (true === options.unstable_strictMode && (isStrictMode = true),
59127
59214
  void 0 !== options.identifierPrefix &&
59128
59215
  (identifierPrefix = options.identifierPrefix),
59129
59216
  void 0 !== options.onUncaughtError &&
@@ -59136,7 +59223,7 @@ function requireReactDomClient_production () {
59136
59223
  options = createFiberRoot(
59137
59224
  container,
59138
59225
  1,
59139
- !1,
59226
+ false,
59140
59227
  null,
59141
59228
  null,
59142
59229
  isStrictMode,
@@ -59153,7 +59240,7 @@ function requireReactDomClient_production () {
59153
59240
  };
59154
59241
  reactDomClient_production.hydrateRoot = function (container, initialChildren, options) {
59155
59242
  if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));
59156
- var isStrictMode = !1,
59243
+ var isStrictMode = false,
59157
59244
  identifierPrefix = "",
59158
59245
  onUncaughtError = defaultOnUncaughtError,
59159
59246
  onCaughtError = defaultOnCaughtError,
@@ -59162,7 +59249,7 @@ function requireReactDomClient_production () {
59162
59249
  formState = null;
59163
59250
  null !== options &&
59164
59251
  void 0 !== options &&
59165
- (!0 === options.unstable_strictMode && (isStrictMode = !0),
59252
+ (true === options.unstable_strictMode && (isStrictMode = true),
59166
59253
  void 0 !== options.identifierPrefix &&
59167
59254
  (identifierPrefix = options.identifierPrefix),
59168
59255
  void 0 !== options.onUncaughtError &&
@@ -59176,7 +59263,7 @@ function requireReactDomClient_production () {
59176
59263
  initialChildren = createFiberRoot(
59177
59264
  container,
59178
59265
  1,
59179
- !0,
59266
+ true,
59180
59267
  initialChildren,
59181
59268
  null != options ? options : null,
59182
59269
  isStrictMode,
@@ -59258,6 +59345,23 @@ class DevUI {
59258
59345
  mode: 'open',
59259
59346
  });
59260
59347
  this.inputLayer = new InputLayer(xrDevice);
59348
+ // Subscribe to control mode changes
59349
+ this.unsubscribeControlMode = xrDevice.onControlModeChange((mode) => {
59350
+ this.inputLayer.isInProgrammaticMode = mode === 'programmatic';
59351
+ if (mode === 'programmatic') {
59352
+ this.inputLayer.syncFromDevice();
59353
+ this.inputLayer.setInteractionsEnabled(false);
59354
+ }
59355
+ else {
59356
+ this.inputLayer.setInteractionsEnabled(true);
59357
+ }
59358
+ });
59359
+ // Subscribe to state changes when in programmatic mode
59360
+ this.unsubscribeStateChange = xrDevice.onStateChange(() => {
59361
+ if (this.inputLayer.isInProgrammaticMode) {
59362
+ this.inputLayer.syncFromDevice();
59363
+ }
59364
+ });
59261
59365
  const root = clientExports.createRoot(devUIShadowRoot);
59262
59366
  root.render(jsxRuntimeExports.jsx(Overlay, { xrDevice: xrDevice, inputLayer: this.inputLayer, shadowRoot: devUIShadowRoot }));
59263
59367
  const installOfferSessionUI = () => {
@@ -59279,12 +59383,18 @@ class DevUI {
59279
59383
  render(time) {
59280
59384
  this.inputLayer.renderScene(time);
59281
59385
  }
59386
+ dispose() {
59387
+ this.unsubscribeControlMode();
59388
+ this.unsubscribeStateChange();
59389
+ this.inputLayer.dispose();
59390
+ }
59282
59391
  get devUICanvas() {
59283
59392
  return this.inputLayer.domElement;
59284
59393
  }
59285
59394
  }
59286
59395
  const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
59287
59396
  const [pointerLocked, setPointerLocked] = reactExports.useState(false);
59397
+ const [controlMode, setControlMode] = reactExports.useState(xrDevice.controlMode);
59288
59398
  reactExports.useEffect(() => {
59289
59399
  const pointerLockChangeHandler = () => {
59290
59400
  const locked = document.pointerLockElement ||
@@ -59297,12 +59407,17 @@ const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
59297
59407
  document.addEventListener('pointerlockchange', pointerLockChangeHandler, false);
59298
59408
  document.addEventListener('mozpointerlockchange', pointerLockChangeHandler, false);
59299
59409
  document.addEventListener('webkitpointerlockchange', pointerLockChangeHandler, false);
59410
+ // Subscribe to control mode changes
59411
+ const unsubscribe = xrDevice.onControlModeChange((mode) => {
59412
+ setControlMode(mode);
59413
+ });
59300
59414
  return () => {
59301
59415
  document.removeEventListener('pointerlockchange', pointerLockChangeHandler, false);
59302
59416
  document.removeEventListener('mozpointerlockchange', pointerLockChangeHandler, false);
59303
59417
  document.removeEventListener('webkitpointerlockchange', pointerLockChangeHandler, false);
59418
+ unsubscribe();
59304
59419
  };
59305
- }, []);
59420
+ }, [xrDevice]);
59306
59421
  return (jsxRuntimeExports.jsx(Ye, { target: shadowRoot, disableCSSOMInjection: true, children: jsxRuntimeExports.jsxs("div", { style: {
59307
59422
  width: '100vw',
59308
59423
  height: '100vh',
@@ -59310,7 +59425,33 @@ const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
59310
59425
  flexDirection: 'column',
59311
59426
  justifyContent: 'space-between',
59312
59427
  pointerEvents: 'none',
59313
- }, children: [jsxRuntimeExports.jsx(HeaderUI, { xrDevice: xrDevice, inputLayer: inputLayer }), jsxRuntimeExports.jsx(HeadsetUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked }), jsxRuntimeExports.jsx(ControlsUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked })] }) }));
59428
+ }, children: [controlMode === 'programmatic' && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("div", { style: {
59429
+ position: 'absolute',
59430
+ top: 0,
59431
+ left: 0,
59432
+ right: 0,
59433
+ bottom: 0,
59434
+ pointerEvents: 'none',
59435
+ zIndex: 999,
59436
+ boxShadow: 'inset 0 0 20px 5px rgba(59, 130, 246, 0.5)',
59437
+ } }), jsxRuntimeExports.jsxs("div", { style: {
59438
+ position: 'absolute',
59439
+ bottom: '8px',
59440
+ left: '50%',
59441
+ transform: 'translateX(-50%)',
59442
+ backgroundColor: 'rgba(59, 130, 246, 0.9)',
59443
+ color: 'white',
59444
+ padding: '6px 16px',
59445
+ borderRadius: '16px',
59446
+ fontSize: '12px',
59447
+ fontFamily: 'system-ui, sans-serif',
59448
+ fontWeight: 500,
59449
+ zIndex: 1000,
59450
+ display: 'flex',
59451
+ alignItems: 'center',
59452
+ gap: '6px',
59453
+ boxShadow: '0 2px 8px rgba(0,0,0,0.3)',
59454
+ }, children: [jsxRuntimeExports.jsx("span", { style: { fontSize: '14px' }, children: "\u25CF" }), "Remote Control Active"] })] })), controlMode !== 'programmatic' && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(HeaderUI, { xrDevice: xrDevice, inputLayer: inputLayer }), jsxRuntimeExports.jsx(HeadsetUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked }), jsxRuntimeExports.jsx(ControlsUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked })] }))] }) }));
59314
59455
  };
59315
59456
  const OfferSessionUI = ({ xrDevice, shadowRoot, }) => {
59316
59457
  const [showOffer, setShowOffer] = React.useState(xrDevice.sessionOffered && !xrDevice.activeSession);