@waica/cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +2 -0
  2. package/dist/editor/assets/{cssMode-DM5x3eXD.js → cssMode-CsrF1RoW.js} +1 -1
  3. package/dist/editor/assets/{freemarker2-CmlzUOOI.js → freemarker2-xnFFfixz.js} +1 -1
  4. package/dist/editor/assets/{handlebars-Dlz-T3Pu.js → handlebars-BfGIoIBs.js} +1 -1
  5. package/dist/editor/assets/{html-B-NfgvUd.js → html-y4kaWpJw.js} +1 -1
  6. package/dist/editor/assets/{htmlMode-K4hF3BAu.js → htmlMode-B6r-yNC4.js} +1 -1
  7. package/dist/editor/assets/{index-Ca2oPxGt.js → index-Ch7wzsKM.js} +3 -3
  8. package/dist/editor/assets/{javascript-COj32tw-.js → javascript-DcDNwAaJ.js} +1 -1
  9. package/dist/editor/assets/{jsonMode-DyL12Tvg.js → jsonMode-CmJrpJMj.js} +1 -1
  10. package/dist/editor/assets/{liquid-CGaRZ9Iu.js → liquid-7c5A-YcM.js} +1 -1
  11. package/dist/editor/assets/{mdx-L4fRd4xO.js → mdx-DgVJ1J2a.js} +1 -1
  12. package/dist/editor/assets/{python-Z6FCrHUG.js → python-Ciia0b5V.js} +1 -1
  13. package/dist/editor/assets/{razor-6XSfF-a3.js → razor-ByuPxMC9.js} +1 -1
  14. package/dist/editor/assets/{tsMode-C24rNZgD.js → tsMode-CTxJzYWp.js} +1 -1
  15. package/dist/editor/assets/{typescript-BcFln1pD.js → typescript-B6FQrPBO.js} +1 -1
  16. package/dist/editor/assets/{xml-DJCue8rm.js → xml-B6MqXy1A.js} +1 -1
  17. package/dist/editor/assets/{yaml-DiJf3V99.js → yaml-DhgyueAk.js} +1 -1
  18. package/dist/editor/index.html +1 -1
  19. package/dist/mcp/clip-resolution.js +24 -0
  20. package/dist/mcp/node_modules/@waica/archetype-isometric/assets/ATTRIBUTION.md +2 -1
  21. package/dist/mcp/node_modules/@waica/archetype-isometric/package.json +3 -3
  22. package/dist/mcp/node_modules/@waica/archetype-platformer/package.json +3 -3
  23. package/dist/mcp/node_modules/@waica/archetype-topdown/package.json +3 -3
  24. package/dist/mcp/node_modules/@waica/behaviors/package.json +2 -2
  25. package/dist/mcp/node_modules/@waica/engine/package.json +1 -1
  26. package/dist/mcp/validation.js +3 -2
  27. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/javascript-COj32tw-.js","assets/typescript-BcFln1pD.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/javascript-DcDNwAaJ.js","assets/typescript-B6FQrPBO.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,ee());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ee():S=!1}}}var ee;if(typeof y==`function`)ee=function(){y(D)};else if(typeof MessageChannel<`u`){var te=new MessageChannel,O=te.port2;te.port1.onmessage=D,ee=function(){O.postMessage(null)}}else ee=function(){_(D,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ee()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function ee(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function te(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var O=/\/+/g;function ne(e,t){return typeof e==`object`&&e&&e.key!=null?te(``+e.key):t.toString(36)}function re(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ie(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ne(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(O,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(ee(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(O,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ne(a,u),c+=ie(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ne(a,u++),c+=ie(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ie(re(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ae(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var se=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ce={map:ae,forEach:function(e,t,n){ae(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ae(e,function(){t++}),t},toArray:function(e){return ae(e,function(e){return e})||[]},only:function(e){if(!ee(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ce,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=ee,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,se)}catch(e){se(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=p();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.7`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=d(),n=p(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),ee=Symbol.for(`react.lazy`),te=Symbol.for(`react.activity`),O=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case te:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case ee:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,se=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ce=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,le={pending:!1,data:null,method:null,action:null},ue=[],de=-1;function fe(e){return{current:e}}function pe(e){0>de||(e.current=ue[de],ue[de]=null,de--)}function me(e,t){de++,ue[de]=e.current,e.current=t}var he=fe(null),ge=fe(null),_e=fe(null),ve=fe(null);function ye(e,t){switch(me(_e,t),me(ge,e),me(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qd(t),e=$d(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}pe(he),me(he,e)}function be(){pe(he),pe(ge),pe(_e)}function xe(e){e.memoizedState!==null&&me(ve,e);var t=he.current,n=$d(t,e.type);t!==n&&(me(ge,e),me(he,n))}function Se(e){ge.current===e&&(pe(he),pe(ge)),ve.current===e&&(pe(ve),$f._currentValue=le)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+Ce+e+we}var Ee=!1;function De(e,t){if(!e||Ee)return``;Ee=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -4322,7 +4322,7 @@ void main() {
4322
4322
 
4323
4323
  }
4324
4324
 
4325
- }`,One=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new ec(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new eu({vertexShader:Ene,fragmentShader:Dne,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Co(new Nl(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},kne=class extends qn{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=typeof XRWebGLBinding<`u`,h=new One,g={},_=t.getContextAttributes(),v=null,y=null,b=[],x=[],S=new _r,C=null,w=new ld;w.viewport=new Lr;let T=new ld;T.viewport=new Lr;let E=[w,T],D=new Hd,ee=null,te=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getGripSpace()},this.getHand=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getHandSpace()};function O(e){let t=x.indexOf(e.inputSource);if(t===-1)return;let n=b[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function ne(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,ne),r.removeEventListener(`inputsourceschange`,re);for(let e=0;e<b.length;e++){let t=x[e];t!==null&&(x[e]=null,b[e].disconnect(t))}ee=null,te=null,h.reset();for(let e in g)delete g[e];e.setRenderTarget(v),f=null,d=null,u=null,r=null,y=null,de.stop(),n.isPresenting=!1,e.setPixelRatio(C),e.setSize(S.width,S.height,!1),n.dispatchEvent({type:`sessionend`})}this.setFramebufferScaleFactor=function(e){i=e,n.isPresenting===!0&&Hn(`WebXRManager: Cannot change framebuffer scale while presenting.`)},this.setReferenceSpaceType=function(e){o=e,n.isPresenting===!0&&Hn(`WebXRManager: Cannot change reference space type while presenting.`)},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(e){c=e},this.getBaseLayer=function(){return d===null?f:d},this.getBinding=function(){return u===null&&m&&(u=new XRWebGLBinding(r,t)),u},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=async function(l){if(r=l,r!==null){if(v=e.getRenderTarget(),r.addEventListener(`select`,O),r.addEventListener(`selectstart`,O),r.addEventListener(`selectend`,O),r.addEventListener(`squeeze`,O),r.addEventListener(`squeezestart`,O),r.addEventListener(`squeezeend`,O),r.addEventListener(`end`,ne),r.addEventListener(`inputsourceschange`,re),_.xrCompatible!==!0&&await t.makeXRCompatible(),C=e.getPixelRatio(),e.getSize(S),m&&`createProjectionLayer`in XRWebGLBinding.prototype){let n=null,a=null,o=null;_.depth&&(o=_.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=_.stencil?Qe:Ze,a=_.stencil?Ge:Be);let s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:i};u=this.getBinding(),d=u.createProjectionLayer(s),r.updateRenderState({layers:[d]}),e.setPixelRatio(1),e.setSize(d.textureWidth,d.textureHeight,!1),y=new zr(d.textureWidth,d.textureHeight,{format:Xe,type:Fe,depthTexture:new Qs(d.textureWidth,d.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:_.stencil,colorSpace:e.outputColorSpace,samples:_.antialias?4:0,resolveDepthBuffer:d.ignoreDepthValues===!1,resolveStencilBuffer:d.ignoreDepthValues===!1})}else{let n={antialias:_.antialias,alpha:!0,depth:_.depth,stencil:_.stencil,framebufferScaleFactor:i};f=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),y=new zr(f.framebufferWidth,f.framebufferHeight,{format:Xe,type:Fe,colorSpace:e.outputColorSpace,stencilBuffer:_.stencil,resolveDepthBuffer:f.ignoreDepthValues===!1,resolveStencilBuffer:f.ignoreDepthValues===!1})}y.isXRRenderTarget=!0,this.setFoveation(s),c=null,a=await r.requestReferenceSpace(o),de.setContext(r),de.start(),n.isPresenting=!0,n.dispatchEvent({type:`sessionstart`})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return h.getDepthTexture()};function re(e){for(let t=0;t<e.removed.length;t++){let n=e.removed[t],r=x.indexOf(n);r>=0&&(x[r]=null,b[r].disconnect(n))}for(let t=0;t<e.added.length;t++){let n=e.added[t],r=x.indexOf(n);if(r===-1){for(let e=0;e<b.length;e++)if(e>=x.length){x.push(n),r=e;break}else if(x[e]===null){x[e]=n,r=e;break}if(r===-1)break}let i=b[r];i&&i.connect(n)}}let ie=new A,ae=new A;function oe(e,t,n){ie.setFromMatrixPosition(t.matrixWorld),ae.setFromMatrixPosition(n.matrixWorld);let r=ie.distanceTo(ae),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function se(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),D.near=T.near=w.near=t,D.far=T.far=w.far=n,(ee!==D.near||te!==D.far)&&(r.updateRenderState({depthNear:D.near,depthFar:D.far}),ee=D.near,te=D.far),D.layers.mask=e.layers.mask|6,w.layers.mask=D.layers.mask&-5,T.layers.mask=D.layers.mask&-3;let i=e.parent,a=D.cameras;se(D,i);for(let e=0;e<a.length;e++)se(a[e],i);a.length===2?oe(D,w,T):D.projectionMatrix.copy(w.projectionMatrix),ce(e,D,i)};function ce(e,t,n){n===null?e.matrix.copy(t.matrixWorld):(e.matrix.copy(n.matrixWorld),e.matrix.invert(),e.matrix.multiply(t.matrixWorld)),e.matrix.decompose(e.position,e.quaternion,e.scale),e.updateMatrixWorld(!0),e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse),e.isPerspectiveCamera&&(e.fov=Zn*2*Math.atan(1/e.projectionMatrix.elements[5]),e.zoom=1)}this.getCamera=function(){return D},this.getFoveation=function(){if(!(d===null&&f===null))return s},this.setFoveation=function(e){s=e,d!==null&&(d.fixedFoveation=e),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=e)},this.hasDepthSensing=function(){return h.texture!==null},this.getDepthSensingMesh=function(){return h.getMesh(D)},this.getCameraTexture=function(e){return g[e]};let le=null;function ue(t,i){if(l=i.getViewerPose(c||a),p=i,l!==null){let t=l.views;f!==null&&(e.setRenderTargetFramebuffer(y,f.framebuffer),e.setRenderTarget(y));let i=!1;t.length!==D.cameras.length&&(D.cameras.length=0,i=!0);for(let n=0;n<t.length;n++){let r=t[n],a=null;if(f!==null)a=f.getViewport(r);else{let t=u.getViewSubImage(d,r);a=t.viewport,n===0&&(e.setRenderTargetTextures(y,t.colorTexture,t.depthStencilTexture),e.setRenderTarget(y))}let o=E[n];o===void 0&&(o=new ld,o.layers.enable(n),o.viewport=new Lr,E[n]=o),o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.quaternion,o.scale),o.projectionMatrix.fromArray(r.projectionMatrix),o.projectionMatrixInverse.copy(o.projectionMatrix).invert(),o.viewport.set(a.x,a.y,a.width,a.height),n===0&&(D.matrix.copy(o.matrix),D.matrix.decompose(D.position,D.quaternion,D.scale)),i===!0&&D.cameras.push(o)}let a=r.enabledFeatures;if(a&&a.includes(`depth-sensing`)&&r.depthUsage==`gpu-optimized`&&m){u=n.getBinding();let e=u.getDepthInformation(t[0]);e&&e.isValid&&e.texture&&h.init(e,r.renderState)}if(a&&a.includes(`camera-access`)&&m){e.state.unbindTexture(),u=n.getBinding();for(let e=0;e<t.length;e++){let n=t[e].camera;if(n){let e=g[n];e||(e=new ec,g[n]=e);let t=u.getCameraImage(n);e.sourceTexture=t}}}}for(let e=0;e<b.length;e++){let t=x[e],n=b[e];t!==null&&n!==void 0&&n.update(t,i,c||a)}le&&le(t,i),i.detectedPlanes&&n.dispatchEvent({type:`planesdetected`,data:i}),p=null}let de=new xp;de.setAnimationLoop(ue),this.setAnimationLoop=function(e){le=e},this.dispose=function(){}}},Ane=new Wr,jne=new xr;jne.set(-1,0,0,0,1,0,0,0,1);function Mne(e,t){function n(e,t){e.matrixAutoUpdate===!0&&e.updateMatrix(),t.value.copy(e.matrix)}function r(t,n){n.color.getRGB(t.fogColor.value,Xl(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)}function i(e,t,n,r,i){t.isNodeMaterial?t.uniformsNeedUpdate=!1:t.isMeshBasicMaterial?a(e,t):t.isMeshLambertMaterial?(a(e,t),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)):t.isMeshToonMaterial?(a(e,t),d(e,t)):t.isMeshPhongMaterial?(a(e,t),u(e,t),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)):t.isMeshStandardMaterial?(a(e,t),f(e,t),t.isMeshPhysicalMaterial&&p(e,t,i)):t.isMeshMatcapMaterial?(a(e,t),m(e,t)):t.isMeshDepthMaterial?a(e,t):t.isMeshDistanceMaterial?(a(e,t),h(e,t)):t.isMeshNormalMaterial?a(e,t):t.isLineBasicMaterial?(o(e,t),t.isLineDashedMaterial&&s(e,t)):t.isPointsMaterial?c(e,t,n,r):t.isSpriteMaterial?l(e,t):t.isShadowMaterial?(e.color.value.copy(t.color),e.opacity.value=t.opacity):t.isShaderMaterial&&(t.uniformsNeedUpdate=!1)}function a(e,r){e.opacity.value=r.opacity,r.color&&e.diffuse.value.copy(r.color),r.emissive&&e.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(e.map.value=r.map,n(r.map,e.mapTransform)),r.alphaMap&&(e.alphaMap.value=r.alphaMap,n(r.alphaMap,e.alphaMapTransform)),r.bumpMap&&(e.bumpMap.value=r.bumpMap,n(r.bumpMap,e.bumpMapTransform),e.bumpScale.value=r.bumpScale,r.side===1&&(e.bumpScale.value*=-1)),r.normalMap&&(e.normalMap.value=r.normalMap,n(r.normalMap,e.normalMapTransform),e.normalScale.value.copy(r.normalScale),r.side===1&&e.normalScale.value.negate()),r.displacementMap&&(e.displacementMap.value=r.displacementMap,n(r.displacementMap,e.displacementMapTransform),e.displacementScale.value=r.displacementScale,e.displacementBias.value=r.displacementBias),r.emissiveMap&&(e.emissiveMap.value=r.emissiveMap,n(r.emissiveMap,e.emissiveMapTransform)),r.specularMap&&(e.specularMap.value=r.specularMap,n(r.specularMap,e.specularMapTransform)),r.alphaTest>0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,e.envMapRotation.value.setFromMatrix4(Ane.makeRotationFromEuler(o)).transpose(),a.isCubeTexture&&a.isRenderTargetTexture===!1&&e.envMapRotation.value.premultiply(jne),e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function Nne(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(g(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,v));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e<s;e++)if(o.indexOf(e)===-1)return o.push(e),e;return Un(`WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.`),0}function f(t){let n=i[t.id],r=t.uniforms,a=t.__cache;e.bindBuffer(e.UNIFORM_BUFFER,n);for(let e=0,t=r.length;e<t;e++){let t=r[e];if(Array.isArray(t))for(let n=0,r=t.length;n<r;n++)p(t[n],e,n,a);else p(t,e,0,a)}e.bindBuffer(e.UNIFORM_BUFFER,null)}function p(t,n,r,i){if(h(t,n,r,i)===!0){let n=t.__offset,r=t.value;if(Array.isArray(r)){let e=0;for(let n=0;n<r.length;n++){let i=r[n],a=_(i);m(i,t.__data,e),typeof i!=`number`&&typeof i!=`boolean`&&!i.isMatrix3&&!ArrayBuffer.isView(i)&&(e+=a.storage/Float32Array.BYTES_PER_ELEMENT)}}else m(r,t.__data,0);e.bufferSubData(e.UNIFORM_BUFFER,n,t.__data)}}function m(e,t,n){typeof e==`number`||typeof e==`boolean`?t[0]=e:e.isMatrix3?(t[0]=e.elements[0],t[1]=e.elements[1],t[2]=e.elements[2],t[3]=0,t[4]=e.elements[3],t[5]=e.elements[4],t[6]=e.elements[5],t[7]=0,t[8]=e.elements[6],t[9]=e.elements[7],t[10]=e.elements[8],t[11]=0):ArrayBuffer.isView(e)?t.set(new e.constructor(e.buffer,e.byteOffset,t.length)):e.toArray(t,n)}function h(e,t,n,r){let i=e.value,a=t+`_`+n;if(r[a]===void 0)return typeof i==`number`||typeof i==`boolean`?r[a]=i:ArrayBuffer.isView(i)?r[a]=i.slice():r[a]=i.clone(),!0;{let e=r[a];if(typeof i==`number`||typeof i==`boolean`){if(e!==i)return r[a]=i,!0}else if(ArrayBuffer.isView(i))return!0;else if(e.equals(i)===!1)return e.copy(i),!0}return!1}function g(e){let t=e.uniforms,n=0;for(let e=0,r=t.length;e<r;e++){let r=Array.isArray(t[e])?t[e]:[t[e]];for(let e=0,t=r.length;e<t;e++){let t=r[e],i=Array.isArray(t.value)?t.value:[t.value];for(let e=0,r=i.length;e<r;e++){let r=i[e],a=_(r),o=n%16,s=o%a.boundary,c=o+s;n+=s,c!==0&&16-c<a.storage&&(n+=16-c),t.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT),t.__offset=n,n+=a.storage}}}let r=n%16;return r>0&&(n+=16-r),e.__size=n,e.__cache={},this}function _(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?Hn(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):ArrayBuffer.isView(e)?(t.boundary=16,t.storage=e.byteLength):Hn(`WebGLRenderer: Unsupported uniform value type.`,e),t}function v(t){let n=t.target;n.removeEventListener(`dispose`,v);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function y(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:y}}var Pne=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),wm=null;function Fne(){return wm===null&&(wm=new Lo(Pne,16,16,tt,He),wm.name=`DFG_LUT`,wm.minFilter=Ae,wm.magFilter=Ae,wm.wrapS=we,wm.wrapT=we,wm.generateMipmaps=!1,wm.needsUpdate=!0),wm}var Ine=class{constructor(e={}){let{canvas:t=In(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=Fe}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([it,nt,et]),g=new Set([Fe,Be,Re,Ge,Ue,We]),_=new Uint32Array(4),v=new Int32Array(4),y=new A,b=null,x=null,S=[],C=[],w=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let T=this,E=!1,D=null,ee=null,te=null,O=null;this._outputColorSpace=rn;let ne=0,re=0,ie=null,ae=-1,oe=null,se=new Lr,ce=new Lr,le=null,ue=new Ci(0),de=0,fe=t.width,pe=t.height,me=1,he=null,ge=null,_e=new Lr(0,0,fe,pe),ve=new Lr(0,0,fe,pe),ye=!1,be=new ns,xe=!1,Se=!1,Ce=new Wr,we=new A,Te=new Lr,Ee={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},De=!1;function Oe(){return ie===null?me:1}let k=n;function ke(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r185`),t.addEventListener(`webglcontextlost`,ft,!1),t.addEventListener(`webglcontextrestored`,pt,!1),t.addEventListener(`webglcontextcreationerror`,mt,!1),k===null){let t=`webgl2`;if(k=ke(t,e),k===null)throw ke(t)?Error(`THREE.WebGLRenderer: Error creating WebGL context with your selected attributes.`):Error(`THREE.WebGLRenderer: Error creating WebGL context.`)}}catch(e){throw Un(`WebGLRenderer: `+e.message),e}let Ae,je,Me,Pe,Ie,Le,ze,Ve,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,tt,rt,at,ot,st,ct,lt;function ut(){Ae=new Mee(k),Ae.init(),st=new Tne(k,Ae),je=new jp(k,Ae,e,st),Me=new Cne(k,Ae),je.reversedDepthBuffer&&d&&Me.buffers.depth.setReversed(!0),ee=k.createFramebuffer(),te=k.createFramebuffer(),O=k.createFramebuffer(),Pe=new Fee(k),Ie=new lne,Le=new wne(k,Ae,Me,Ie,je,st,Pe),ze=new jee(T),Ve=new Sp(k),ct=new kp(k,Ve),Ke=new Nee(k,Ve,Pe,ct),qe=new Lee(k,Ke,Ve,ct,Pe),rt=new Iee(k,je,Le),Qe=new Mp(Ie),Je=new cne(T,ze,Ae,je,ct,Qe),Ye=new Mne(T,Ie),Xe=new dne,Ze=new _ne(Ae),tt=new Cee(T,ze,Me,qe,p,s),$e=new Sne(T,qe,je),lt=new Nne(k,Pe,je,Me),at=new Ap(k,Ae,Pe),ot=new Pee(k,Ae,Pe),Pe.programs=Je.programs,T.capabilities=je,T.extensions=Ae,T.properties=Ie,T.renderLists=Xe,T.shadowMap=$e,T.state=Me,T.info=Pe}ut(),m!==1009&&(w=new zee(m,t.width,t.height,o,r,i));let dt=new kne(T,k);this.xr=dt,this.getContext=function(){return k},this.getContextAttributes=function(){return k.getContextAttributes()},this.forceContextLoss=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return me},this.setPixelRatio=function(e){e!==void 0&&(me=e,this.setSize(fe,pe,!1))},this.getSize=function(e){return e.set(fe,pe)},this.setSize=function(e,n,r=!0){if(dt.isPresenting){Hn(`WebGLRenderer: Can't change size while VR device is presenting.`);return}fe=e,pe=n,t.width=Math.floor(e*me),t.height=Math.floor(n*me),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),w!==null&&w.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(fe*me,pe*me).floor()},this.setDrawingBufferSize=function(e,n,r){fe=e,pe=n,me=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){Un(`WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t<e.length;t++)if(e[t].isOutputPass===!0){Hn(`WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.`);break}}w.setEffects(e||[])},this.getCurrentViewport=function(e){return e.copy(se)},this.getViewport=function(e){return e.copy(_e)},this.setViewport=function(e,t,n,r){e.isVector4?_e.set(e.x,e.y,e.z,e.w):_e.set(e,t,n,r),Me.viewport(se.copy(_e).multiplyScalar(me).round())},this.getScissor=function(e){return e.copy(ve)},this.setScissor=function(e,t,n,r){e.isVector4?ve.set(e.x,e.y,e.z,e.w):ve.set(e,t,n,r),Me.scissor(ce.copy(ve).multiplyScalar(me).round())},this.getScissorTest=function(){return ye},this.setScissorTest=function(e){Me.setScissorTest(ye=e)},this.setOpaqueSort=function(e){he=e},this.setTransparentSort=function(e){ge=e},this.getClearColor=function(e){return e.copy(tt.getClearColor())},this.setClearColor=function(){tt.setClearColor(...arguments)},this.getClearAlpha=function(){return tt.getClearAlpha()},this.setClearAlpha=function(){tt.setClearAlpha(...arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(ie!==null){let t=ie.texture.format;e=h.has(t)}if(e){let e=ie.texture.type,t=g.has(e),n=tt.getClearColor(),r=tt.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(_[0]=i,_[1]=a,_[2]=o,_[3]=r,k.clearBufferuiv(k.COLOR,0,_)):(v[0]=i,v[1]=a,v[2]=o,v[3]=r,k.clearBufferiv(k.COLOR,0,v))}else r|=k.COLOR_BUFFER_BIT}t&&(r|=k.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),n&&(r|=k.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),r!==0&&k.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.setNodesHandler=function(e){e.setRenderer(this),D=e},this.dispose=function(){t.removeEventListener(`webglcontextlost`,ft,!1),t.removeEventListener(`webglcontextrestored`,pt,!1),t.removeEventListener(`webglcontextcreationerror`,mt,!1),tt.dispose(),Xe.dispose(),Ze.dispose(),Ie.dispose(),ze.dispose(),qe.dispose(),ct.dispose(),lt.dispose(),Je.dispose(),dt.dispose(),dt.removeEventListener(`sessionstart`,xt),dt.removeEventListener(`sessionend`,St),Ct.stop()};function ft(e){e.preventDefault(),Bn(`WebGLRenderer: Context Lost.`),E=!0}function pt(){Bn(`WebGLRenderer: Context Restored.`),E=!1;let e=Pe.autoReset,t=$e.enabled,n=$e.autoUpdate,r=$e.needsUpdate,i=$e.type;ut(),Pe.autoReset=e,$e.enabled=t,$e.autoUpdate=n,$e.needsUpdate=r,$e.type=i}function mt(e){Un(`WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function ht(e){let t=e.target;t.removeEventListener(`dispose`,ht),gt(t)}function gt(e){_t(e),Ie.remove(e)}function _t(e){let t=Ie.get(e).programs;t!==void 0&&(t.forEach(function(e){Je.releaseProgram(e)}),e.isShaderMaterial&&Je.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=Ee);let o=i.isMesh&&i.matrixWorld.determinantAffine()<0,s=Nt(e,t,n,r,i);Me.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=Ke.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;ct.setup(i,r,s,n,c);let h,g=at;if(c!==null&&(h=Ve.get(c),g=ot,g.setIndex(h)),i.isMesh)r.wireframe===!0?(Me.setLineWidth(r.wireframeLinewidth*Oe()),g.setMode(k.LINES)):g.setMode(k.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),Me.setLineWidth(e*Oe()),i.isLineSegments?g.setMode(k.LINES):i.isLineLoop?g.setMode(k.LINE_LOOP):g.setMode(k.LINE_STRIP)}else i.isPoints?g.setMode(k.POINTS):i.isSprite&&g.setMode(k.TRIANGLES);if(i.isBatchedMesh)if(Ae.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?Ve.get(c).bytesPerElement:1,o=Ie.get(r).currentProgram.getUniforms();for(let r=0;r<n;r++)o.setValue(k,`_gl_DrawID`,r),g.render(e[r]/a,t[r])}else if(i.isInstancedMesh)g.renderInstances(f,m,i.count);else if(n.isInstancedBufferGeometry){let e=n._maxInstanceCount===void 0?1/0:n._maxInstanceCount,t=Math.min(n.instanceCount,e);g.renderInstances(f,m,t)}else g.render(f,m)};function vt(e,t,n){e.transparent===!0&&e.side===2&&e.forceSinglePass===!1?(e.side=1,e.needsUpdate=!0,kt(e,t,n),e.side=0,e.needsUpdate=!0,kt(e,t,n),e.side=2):kt(e,t,n)}this.compile=function(e,t,n=null){n===null&&(n=e),x=Ze.get(n),x.init(t),C.push(x),n.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(x.pushLight(e),e.castShadow&&x.pushShadow(e))}),e!==n&&e.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(x.pushLight(e),e.castShadow&&x.pushShadow(e))}),x.setupLights();let r=new Set;return e.traverse(function(e){if(!(e.isMesh||e.isPoints||e.isLine||e.isSprite))return;let t=e.material;if(t)if(Array.isArray(t))for(let i=0;i<t.length;i++){let a=t[i];vt(a,n,e),r.add(a)}else vt(t,n,e),r.add(t)}),x=C.pop(),r},this.compileAsync=function(e,t,n=null){let r=this.compile(e,t,n);return new Promise(t=>{function n(){if(r.forEach(function(e){Ie.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}Ae.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let yt=null;function bt(e){yt&&yt(e)}function xt(){Ct.stop()}function St(){Ct.start()}let Ct=new xp;Ct.setAnimationLoop(bt),typeof self<`u`&&Ct.setContext(self),this.setAnimationLoop=function(e){yt=e,dt.setAnimationLoop(e),e===null?Ct.stop():Ct.start()},dt.addEventListener(`sessionstart`,xt),dt.addEventListener(`sessionend`,St),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){Un(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(E===!0)return;D!==null&&D.renderStart(e,t);let n=dt.enabled===!0&&dt.isPresenting===!0,r=w!==null&&(ie===null||n)&&w.begin(T,ie);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),dt.enabled===!0&&dt.isPresenting===!0&&(w===null||w.isCompositing()===!1)&&(dt.cameraAutoUpdate===!0&&dt.updateCamera(t),t=dt.getCamera()),e.isScene===!0&&e.onBeforeRender(T,e,t,ie),x=Ze.get(e,C.length),x.init(t),x.state.textureUnits=Le.getTextureUnits(),C.push(x),Ce.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),be.setFromProjectionMatrix(Ce,Tn,t.reversedDepth),Se=this.localClippingEnabled,xe=Qe.init(this.clippingPlanes,Se),b=Xe.get(e,S.length),b.init(),S.push(b),dt.enabled===!0&&dt.isPresenting===!0){let e=T.xr.getDepthSensingMesh();e!==null&&wt(e,t,-1/0,T.sortObjects)}wt(e,t,0,T.sortObjects),b.finish(),T.sortObjects===!0&&b.sort(he,ge,t.reversedDepth),De=dt.enabled===!1||dt.isPresenting===!1||dt.hasDepthSensing()===!1,De&&tt.addToRenderList(b,e),this.info.render.frame++,this.info.autoReset===!0&&this.info.reset(),xe===!0&&Qe.beginShadows();let i=x.state.shadowsArray;if($e.render(i,e,t),xe===!0&&Qe.endShadows(),(r&&w.hasRenderPass())===!1){let n=b.opaque,r=b.transmissive;if(x.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t<a;t++){let a=i[t];Et(n,r,e,a)}De&&tt.render(e);for(let t=0,n=i.length;t<n;t++){let n=i[t];Tt(b,e,n,n.viewport)}}else r.length>0&&Et(n,r,e,t),De&&tt.render(e),Tt(b,e,t)}ie!==null&&re===0&&(Le.updateMultisampleRenderTarget(ie),Le.updateRenderTargetMipmap(ie)),r&&w.end(T),e.isScene===!0&&e.onAfterRender(T,e,t),ct.resetDefaultState(),ae=-1,oe=null,C.pop(),C.length>0?(x=C[C.length-1],Le.setTextureUnits(x.state.textureUnits),xe===!0&&Qe.setGlobalState(T.clippingPlanes,x.state.camera)):x=null,S.pop(),b=S.length>0?S[S.length-1]:null,D!==null&&D.renderEnd()};function wt(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLightProbeGrid)x.pushLightProbeGrid(e);else if(e.isLight)x.pushLight(e),e.castShadow&&x.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||be.intersectsSprite(e)){r&&Te.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ce);let t=qe.update(e),i=e.material;i.visible&&b.push(e,t,i,n,Te.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||be.intersectsObject(e))){let t=qe.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),Te.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),Te.copy(e.boundingSphere.center)),Te.applyMatrix4(e.matrixWorld).applyMatrix4(Ce)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a<o;a++){let o=r[a],s=i[o.materialIndex];s&&s.visible&&b.push(e,t,s,n,Te.z,o)}}else i.visible&&b.push(e,t,i,n,Te.z,null)}}let i=e.children;for(let e=0,a=i.length;e<a;e++)wt(i[e],t,n,r)}function Tt(e,t,n,r){let{opaque:i,transmissive:a,transparent:o}=e;x.setupLightsView(n),xe===!0&&Qe.setGlobalState(T.clippingPlanes,n),r&&Me.viewport(se.copy(r)),i.length>0&&Dt(i,t,n),a.length>0&&Dt(a,t,n),o.length>0&&Dt(o,t,n),Me.buffers.depth.setTest(!0),Me.buffers.depth.setMask(!0),Me.buffers.color.setMask(!0),Me.setPolygonOffset(!1)}function Et(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(x.state.transmissionRenderTarget[r.id]===void 0){let e=Ae.has(`EXT_color_buffer_half_float`)||Ae.has(`EXT_color_buffer_float`);x.state.transmissionRenderTarget[r.id]=new zr(1,1,{generateMipmaps:!0,type:e?He:Fe,minFilter:Ne,samples:Math.max(4,je.samples),stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Er.workingColorSpace})}let a=x.state.transmissionRenderTarget[r.id],o=r.viewport||se;a.setSize(o.z*T.transmissionResolutionScale,o.w*T.transmissionResolutionScale);let s=T.getRenderTarget(),c=T.getActiveCubeFace(),l=T.getActiveMipmapLevel();T.setRenderTarget(a),T.getClearColor(ue),de=T.getClearAlpha(),de<1&&T.setClearColor(16777215,.5),T.clear(),De&&tt.render(n);let u=T.toneMapping;T.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),x.setupLightsView(r),xe===!0&&Qe.setGlobalState(T.clippingPlanes,r),Dt(e,n,r),Le.updateMultisampleRenderTarget(a),Le.updateRenderTargetMipmap(a),Ae.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i<a;i++){let{object:a,geometry:o,material:s,group:c}=t[i];if(s.side===2&&a.layers.test(r.layers)){let t=s.side;s.side=1,s.needsUpdate=!0,Ot(a,n,r,o,s,c),s.side=t,s.needsUpdate=!0,e=!0}}e===!0&&(Le.updateMultisampleRenderTarget(a),Le.updateRenderTargetMipmap(a))}T.setRenderTarget(s,c,l),T.setClearColor(ue,de),d!==void 0&&(r.viewport=d),T.toneMapping=u}function Dt(e,t,n){let r=t.isScene===!0?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){let a=e[i],{object:o,geometry:s,group:c}=a,l=a.material;l.allowOverride===!0&&r!==null&&(l=r),o.layers.test(n.layers)&&Ot(o,t,n,s,l,c)}}function Ot(e,t,n,r,i,a){e.onBeforeRender(T,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(T,t,n,r,e,a),i.transparent===!0&&i.side===2&&i.forceSinglePass===!1?(i.side=1,i.needsUpdate=!0,T.renderBufferDirect(n,t,r,i,e,a),i.side=0,i.needsUpdate=!0,T.renderBufferDirect(n,t,r,i,e,a),i.side=2):T.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(T,t,n,r,i,a)}function kt(e,t,n){t.isScene!==!0&&(t=Ee);let r=Ie.get(e),i=x.state.lights,a=x.state.shadowsArray,o=i.state.version,s=Je.getParameters(e,i.state,a,t,n,x.state.lightProbeGridArray),c=Je.getProgramCacheKey(s),l=r.programs;r.environment=e.isMeshStandardMaterial||e.isMeshLambertMaterial||e.isMeshPhongMaterial?t.environment:null,r.fog=t.fog;let u=e.isMeshStandardMaterial||e.isMeshLambertMaterial&&!e.envMap||e.isMeshPhongMaterial&&!e.envMap;r.envMap=ze.get(e.envMap||r.environment,u),r.envMapRotation=r.environment!==null&&e.envMap===null?t.environmentRotation:e.envMapRotation,l===void 0&&(e.addEventListener(`dispose`,ht),l=new Map,r.programs=l);let d=l.get(c);if(d!==void 0){if(r.currentProgram===d&&r.lightsStateVersion===o)return jt(e,s),d}else s.uniforms=Je.getUniforms(e),D!==null&&e.isNodeMaterial&&D.build(e,n,s),e.onBeforeCompile(s,T),d=Je.acquireProgram(s,c),l.set(c,d),r.uniforms=s.uniforms;let f=r.uniforms;return(!e.isShaderMaterial&&!e.isRawShaderMaterial||e.clipping===!0)&&(f.clippingPlanes=Qe.uniform),jt(e,s),r.needsLights=Ft(e),r.lightsStateVersion=o,r.needsLights&&(f.ambientLightColor.value=i.state.ambient,f.lightProbe.value=i.state.probe,f.directionalLights.value=i.state.directional,f.directionalLightShadows.value=i.state.directionalShadow,f.spotLights.value=i.state.spot,f.spotLightShadows.value=i.state.spotShadow,f.rectAreaLights.value=i.state.rectArea,f.ltc_1.value=i.state.rectAreaLTC1,f.ltc_2.value=i.state.rectAreaLTC2,f.pointLights.value=i.state.point,f.pointLightShadows.value=i.state.pointShadow,f.hemisphereLights.value=i.state.hemi,f.directionalShadowMatrix.value=i.state.directionalShadowMatrix,f.spotLightMatrix.value=i.state.spotLightMatrix,f.spotLightMap.value=i.state.spotLightMap,f.pointShadowMatrix.value=i.state.pointShadowMatrix),r.lightProbeGrid=x.state.lightProbeGridArray.length>0,r.currentProgram=d,r.uniformsList=null,d}function At(e){if(e.uniformsList===null){let t=e.currentProgram.getUniforms();e.uniformsList=sm.seqWithValue(t.seq,e.uniforms)}return e.uniformsList}function jt(e,t){let n=Ie.get(e);n.outputColorSpace=t.outputColorSpace,n.batching=t.batching,n.batchingColor=t.batchingColor,n.instancing=t.instancing,n.instancingColor=t.instancingColor,n.instancingMorph=t.instancingMorph,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}function Mt(e,t){if(e.length===0)return null;if(e.length===1)return e[0].texture===null?null:e[0];y.setFromMatrixPosition(t.matrixWorld);for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n.texture!==null&&n.boundingBox.containsPoint(y))return n}return null}function Nt(e,t,n,r,i){t.isScene!==!0&&(t=Ee),Le.resetTextureUnits();let a=t.fog,o=r.isMeshStandardMaterial||r.isMeshLambertMaterial||r.isMeshPhongMaterial?t.environment:null,s=ie===null?T.outputColorSpace:ie.isXRRenderTarget===!0?ie.texture.colorSpace:Er.workingColorSpace,c=r.isMeshStandardMaterial||r.isMeshLambertMaterial&&!r.envMap||r.isMeshPhongMaterial&&!r.envMap,l=ze.get(r.envMap||o,c),u=r.vertexColors===!0&&!!n.attributes.color&&n.attributes.color.itemSize===4,d=!!n.attributes.tangent&&(!!r.normalMap||r.anisotropy>0),f=!!n.morphAttributes.position,p=!!n.morphAttributes.normal,m=!!n.morphAttributes.color,h=0;r.toneMapped&&(ie===null||ie.isXRRenderTarget===!0)&&(h=T.toneMapping);let g=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=g===void 0?0:g.length,v=Ie.get(r),y=x.state.lights;if(xe===!0&&(Se===!0||e!==oe)){let t=e===oe&&r.id===ae;Qe.setState(r,e,t)}let b=!1;r.version===v.__version?v.needsLights&&v.lightsStateVersion!==y.state.version?b=!0:v.outputColorSpace===s?i.isBatchedMesh&&v.batching===!1||!i.isBatchedMesh&&v.batching===!0||i.isBatchedMesh&&v.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&v.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&v.instancing===!1||!i.isInstancedMesh&&v.instancing===!0||i.isSkinnedMesh&&v.skinning===!1||!i.isSkinnedMesh&&v.skinning===!0||i.isInstancedMesh&&v.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&v.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&v.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&v.instancingMorph===!1&&i.morphTexture!==null?b=!0:v.envMap===l?r.fog===!0&&v.fog!==a||v.numClippingPlanes!==void 0&&(v.numClippingPlanes!==Qe.numPlanes||v.numIntersection!==Qe.numIntersection)?b=!0:v.vertexAlphas===u&&v.vertexTangents===d&&v.morphTargets===f&&v.morphNormals===p&&v.morphColors===m&&v.toneMapping===h&&v.morphTargetsCount===_?!!v.lightProbeGrid!=x.state.lightProbeGridArray.length>0&&(b=!0):b=!0:b=!0:b=!0:(b=!0,v.__version=r.version);let S=v.currentProgram;b===!0&&(S=kt(r,t,i),D&&r.isNodeMaterial&&D.onUpdateProgram(r,S,v));let C=!1,w=!1,E=!1,ee=S.getUniforms(),te=v.uniforms;if(Me.useProgram(S.program)&&(C=!0,w=!0,E=!0),r.id!==ae&&(ae=r.id,w=!0),v.needsLights){let e=Mt(x.state.lightProbeGridArray,i);v.lightProbeGrid!==e&&(v.lightProbeGrid=e,w=!0)}if(C||oe!==e){Me.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),ee.setValue(k,`projectionMatrix`,e.projectionMatrix),ee.setValue(k,`viewMatrix`,e.matrixWorldInverse);let t=ee.map.cameraPosition;t!==void 0&&t.setValue(k,we.setFromMatrixPosition(e.matrixWorld)),je.logarithmicDepthBuffer&&ee.setValue(k,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&ee.setValue(k,`isOrthographic`,e.isOrthographicCamera===!0),oe!==e&&(oe=e,w=!0,E=!0)}if(v.needsLights&&(y.state.directionalShadowMap.length>0&&ee.setValue(k,`directionalShadowMap`,y.state.directionalShadowMap,Le),y.state.spotShadowMap.length>0&&ee.setValue(k,`spotShadowMap`,y.state.spotShadowMap,Le),y.state.pointShadowMap.length>0&&ee.setValue(k,`pointShadowMap`,y.state.pointShadowMap,Le)),i.isSkinnedMesh){ee.setOptional(k,i,`bindMatrix`),ee.setOptional(k,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),ee.setValue(k,`boneTexture`,e.boneTexture,Le))}i.isBatchedMesh&&(ee.setOptional(k,i,`batchingTexture`),ee.setValue(k,`batchingTexture`,i._matricesTexture,Le),ee.setOptional(k,i,`batchingIdTexture`),ee.setValue(k,`batchingIdTexture`,i._indirectTexture,Le),ee.setOptional(k,i,`batchingColorTexture`),i._colorsTexture!==null&&ee.setValue(k,`batchingColorTexture`,i._colorsTexture,Le));let O=n.morphAttributes;if((O.position!==void 0||O.normal!==void 0||O.color!==void 0)&&rt.update(i,n,S),(w||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,ee.setValue(k,`receiveShadow`,i.receiveShadow)),(r.isMeshStandardMaterial||r.isMeshLambertMaterial||r.isMeshPhongMaterial)&&r.envMap===null&&t.environment!==null&&(te.envMapIntensity.value=t.environmentIntensity),te.dfgLUT!==void 0&&(te.dfgLUT.value=Fne()),w){if(ee.setValue(k,`toneMappingExposure`,T.toneMappingExposure),v.needsLights&&Pt(te,E),a&&r.fog===!0&&Ye.refreshFogUniforms(te,a),Ye.refreshMaterialUniforms(te,r,me,pe,x.state.transmissionRenderTarget[e.id]),v.needsLights&&v.lightProbeGrid){let e=v.lightProbeGrid;te.probesSH.value=e.texture,te.probesMin.value.copy(e.boundingBox.min),te.probesMax.value.copy(e.boundingBox.max),te.probesResolution.value.copy(e.resolution)}sm.upload(k,At(v),te,Le)}if(r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(sm.upload(k,At(v),te,Le),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&ee.setValue(k,`center`,i.center),ee.setValue(k,`modelViewMatrix`,i.modelViewMatrix),ee.setValue(k,`normalMatrix`,i.normalMatrix),ee.setValue(k,`modelMatrix`,i.matrixWorld),r.uniformsGroups!==void 0){let e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++){let n=e[t];lt.update(n,S),lt.bind(n,S)}}return S}function Pt(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function Ft(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&e.lights===!0}this.getActiveCubeFace=function(){return ne},this.getActiveMipmapLevel=function(){return re},this.getRenderTarget=function(){return ie},this.setRenderTargetTextures=function(e,t,n){let r=Ie.get(e);r.__autoAllocateDepthBuffer=e.resolveDepthBuffer===!1,r.__autoAllocateDepthBuffer===!1&&(r.__useRenderToTexture=!1),Ie.get(e.texture).__webglTexture=t,Ie.get(e.depthTexture).__webglTexture=r.__autoAllocateDepthBuffer?void 0:n,r.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(e,t){let n=Ie.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=t===void 0},this.setRenderTarget=function(e,t=0,n=0){ie=e,ne=t,re=n;let r=null,i=!1,a=!1;if(e){let o=Ie.get(e);if(o.__useDefaultFramebuffer!==void 0){Me.bindFramebuffer(k.FRAMEBUFFER,o.__webglFramebuffer),se.copy(e.viewport),ce.copy(e.scissor),le=e.scissorTest,Me.viewport(se),Me.scissor(ce),Me.setScissorTest(le),ae=-1;return}else if(o.__webglFramebuffer===void 0)Le.setupRenderTarget(e);else if(o.__hasExternalTextures)Le.rebindTextures(e,Ie.get(e.texture).__webglTexture,Ie.get(e.depthTexture).__webglTexture);else if(e.depthBuffer){let t=e.depthTexture;if(o.__boundDepthTexture!==t){if(t!==null&&Ie.has(t)&&(e.width!==t.image.width||e.height!==t.image.height))throw Error(`THREE.WebGLRenderer: Attached DepthTexture is initialized to the incorrect size.`);Le.setupDepthRenderbuffer(e)}}let s=e.texture;(s.isData3DTexture||s.isDataArrayTexture||s.isCompressedArrayTexture)&&(a=!0);let c=Ie.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(r=Array.isArray(c[t])?c[t][n]:c[t],i=!0):r=e.samples>0&&Le.useMultisampledRTT(e)===!1?Ie.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,se.copy(e.viewport),ce.copy(e.scissor),le=e.scissorTest}else se.copy(_e).multiplyScalar(me).floor(),ce.copy(ve).multiplyScalar(me).floor(),le=ye;if(n!==0&&(r=ee),Me.bindFramebuffer(k.FRAMEBUFFER,r)&&Me.drawBuffers(e,r),Me.viewport(se),Me.scissor(ce),Me.setScissorTest(le),i){let r=Ie.get(e.texture);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t<e.textures.length;t++){let i=Ie.get(e.textures[t]);k.framebufferTextureLayer(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0+t,i.__webglTexture,n,r)}}else if(e!==null&&n!==0){let t=Ie.get(e.texture);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,t.__webglTexture,n)}ae=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let c=Ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){Me.bindFramebuffer(k.FRAMEBUFFER,c);try{let o=e.textures[s],c=o.format,l=o.type;if(e.textures.length>1&&k.readBuffer(k.COLOR_ATTACHMENT0+s),!je.textureFormatReadable(c)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!je.textureTypeReadable(l)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&k.readPixels(t,n,r,i,st.convert(c),st.convert(l),a)}finally{let e=ie===null?null:Ie.get(ie).__webglFramebuffer;Me.bindFramebuffer(k.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=Ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){Me.bindFramebuffer(k.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(e.textures.length>1&&k.readBuffer(k.COLOR_ATTACHMENT0+s),!je.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!je.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=k.createBuffer();k.bindBuffer(k.PIXEL_PACK_BUFFER,d),k.bufferData(k.PIXEL_PACK_BUFFER,a.byteLength,k.STREAM_READ),k.readPixels(t,n,r,i,st.convert(l),st.convert(u),0);let f=ie===null?null:Ie.get(ie).__webglFramebuffer;Me.bindFramebuffer(k.FRAMEBUFFER,f);let p=k.fenceSync(k.SYNC_GPU_COMMANDS_COMPLETE,0);return k.flush(),await Gn(k,p,4),k.bindBuffer(k.PIXEL_PACK_BUFFER,d),k.getBufferSubData(k.PIXEL_PACK_BUFFER,0,a),k.deleteBuffer(d),k.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;Le.setTexture2D(e,0),k.copyTexSubImage2D(k.TEXTURE_2D,n,0,0,o,s,i,a),Me.unbindTexture()},this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=0){let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=st.convert(t.format),_=st.convert(t.type),v;t.isData3DTexture?(Le.setTexture3D(t,0),v=k.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(Le.setTexture2DArray(t,0),v=k.TEXTURE_2D_ARRAY):(Le.setTexture2D(t,0),v=k.TEXTURE_2D),Me.activeTexture(k.TEXTURE0),Me.pixelStorei(k.UNPACK_FLIP_Y_WEBGL,t.flipY),Me.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),Me.pixelStorei(k.UNPACK_ALIGNMENT,t.unpackAlignment);let y=Me.getParameter(k.UNPACK_ROW_LENGTH),b=Me.getParameter(k.UNPACK_IMAGE_HEIGHT),x=Me.getParameter(k.UNPACK_SKIP_PIXELS),S=Me.getParameter(k.UNPACK_SKIP_ROWS),C=Me.getParameter(k.UNPACK_SKIP_IMAGES);Me.pixelStorei(k.UNPACK_ROW_LENGTH,h.width),Me.pixelStorei(k.UNPACK_IMAGE_HEIGHT,h.height),Me.pixelStorei(k.UNPACK_SKIP_PIXELS,l),Me.pixelStorei(k.UNPACK_SKIP_ROWS,u),Me.pixelStorei(k.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=Ie.get(e),r=Ie.get(t),h=Ie.get(n.__renderTarget),g=Ie.get(r.__renderTarget);Me.bindFramebuffer(k.READ_FRAMEBUFFER,h.__webglFramebuffer),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n<c;n++)w&&(k.framebufferTextureLayer(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,Ie.get(e).__webglTexture,i,d+n),k.framebufferTextureLayer(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,Ie.get(t).__webglTexture,a,m+n)),k.blitFramebuffer(l,u,o,s,f,p,o,s,k.DEPTH_BUFFER_BIT,k.NEAREST);Me.bindFramebuffer(k.READ_FRAMEBUFFER,null),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,null)}else if(i!==0||e.isRenderTargetTexture||Ie.has(e)){let n=Ie.get(e),r=Ie.get(t);Me.bindFramebuffer(k.READ_FRAMEBUFFER,te),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,O);for(let e=0;e<c;e++)w?k.framebufferTextureLayer(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,n.__webglTexture,i,d+e):k.framebufferTexture2D(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,n.__webglTexture,i),T?k.framebufferTextureLayer(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,r.__webglTexture,a,m+e):k.framebufferTexture2D(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,r.__webglTexture,a),i===0?T?k.copyTexSubImage3D(v,a,f,p,m+e,l,u,o,s):k.copyTexSubImage2D(v,a,f,p,l,u,o,s):k.blitFramebuffer(l,u,o,s,f,p,o,s,k.COLOR_BUFFER_BIT,k.NEAREST);Me.bindFramebuffer(k.READ_FRAMEBUFFER,null),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,null)}else T?e.isDataTexture||e.isData3DTexture?k.texSubImage3D(v,a,f,p,m,o,s,c,g,_,h.data):t.isCompressedArrayTexture?k.compressedTexSubImage3D(v,a,f,p,m,o,s,c,g,h.data):k.texSubImage3D(v,a,f,p,m,o,s,c,g,_,h):e.isDataTexture?k.texSubImage2D(k.TEXTURE_2D,a,f,p,o,s,g,_,h.data):e.isCompressedTexture?k.compressedTexSubImage2D(k.TEXTURE_2D,a,f,p,h.width,h.height,g,h.data):k.texSubImage2D(k.TEXTURE_2D,a,f,p,o,s,g,_,h);Me.pixelStorei(k.UNPACK_ROW_LENGTH,y),Me.pixelStorei(k.UNPACK_IMAGE_HEIGHT,b),Me.pixelStorei(k.UNPACK_SKIP_PIXELS,x),Me.pixelStorei(k.UNPACK_SKIP_ROWS,S),Me.pixelStorei(k.UNPACK_SKIP_IMAGES,C),a===0&&t.generateMipmaps&&k.generateMipmap(v),Me.unbindTexture()},this.initRenderTarget=function(e){Ie.get(e).__webglFramebuffer===void 0&&Le.setupRenderTarget(e)},this.initTexture=function(e){e.isCubeTexture?Le.setTextureCube(e,0):e.isData3DTexture?Le.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?Le.setTexture2DArray(e,0):Le.setTexture2D(e,0),Me.unbindTexture()},this.resetState=function(){ne=0,re=0,ie=null,Me.reset(),ct.reset()},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}get coordinateSystem(){return Tn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;let t=this.getContext();t.drawingBufferColorSpace=Er._getDrawingBufferColorSpace(e),t.unpackColorSpace=Er._getUnpackColorSpace()}},Lne=[`rectangle`,`circle`,`polygon`],Tm=[[-.5,-.5],[.5,-.5],[0,.5]],Rne=32,Em=1e-9;function Dm(e){if(Array.isArray(e)&&e.length>=3){let t=[];for(let n of e){if(!Array.isArray(n)||n.length<2||typeof n[0]!=`number`||typeof n[1]!=`number`||!Number.isFinite(n[0])||!Number.isFinite(n[1]))return Tm.map(([e,t])=>[e,t]);t.push([n[0],n[1]])}return t}return Tm.map(([e,t])=>[e,t])}function Om(e){let t=Math.abs(e.width),n=Math.abs(e.height);return(e.shape===`circle`?Array.from({length:Rne},(e,t)=>{let n=t/Rne*Math.PI*2;return[Math.cos(n)*.5,Math.sin(n)*.5]}):e.shape===`polygon`?Dm(e.points):[[-.5,-.5],[.5,-.5],[.5,.5],[-.5,.5]]).map(([r,i])=>[e.x+r*t,e.y+i*n])}function km(e){let t=Om(e),n=1/0,r=-1/0,i=-1/0,a=1/0;for(let[e,o]of t)n=Math.min(n,e),r=Math.max(r,e),i=Math.max(i,o),a=Math.min(a,o);return{left:n,right:r,top:i,bottom:a}}function Am(e,t){let n=km(e),r=km(t);if(n.right<=r.left||n.left>=r.right||n.top<=r.bottom||n.bottom>=r.top)return!1;let i=Om(e),a=Om(t);for(let e=0;e<i.length;e++){let t=i[e],n=i[(e+1)%i.length];for(let e=0;e<a.length;e++){let r=a[e],i=a[(e+1)%a.length];if(Bne(t,n,r,i))return!0}}return zne(i,a)||zne(a,i)}function zne(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(Mm(r,t))return!0;let i=e[(n+1)%e.length];if(Mm([(r[0]+i[0])/2,(r[1]+i[1])/2],t))return!0}return Mm([e.reduce((e,[t])=>e+t,0)/e.length,e.reduce((e,[,t])=>e+t,0)/e.length],t)}function Bne(e,t,n,r){let i=jm(e,t,n),a=jm(e,t,r),o=jm(n,r,e),s=jm(n,r,t);return i*a<-1e-9&&o*s<-1e-9}function jm(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}function Mm(e,t){let n=!1;for(let r=0,i=t.length-1;r<t.length;i=r++){let a=t[r],o=t[i];if(Vne(e,a,o))return!1;a[1]>e[1]!=o[1]>e[1]&&e[0]<(o[0]-a[0])*(e[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}return n}function Vne(e,t,n){return Math.abs(jm(t,n,e))>Em?!1:e[0]>=Math.min(t[0],n[0])-Em&&e[0]<=Math.max(t[0],n[0])+Em&&e[1]>=Math.min(t[1],n[1])-Em&&e[1]<=Math.max(t[1],n[1])+Em}var Nm={position:[0,0],zoom:12,follow:``,deadzoneWidth:2,deadzoneHeight:2.5,lookahead:1.5,lookaheadY:0,smoothing:6};function Pm(e){return{position:e?.position??Nm.position,zoom:e?.zoom??Nm.zoom,follow:e?.follow??Nm.follow,deadzoneWidth:e?.deadzoneWidth??Nm.deadzoneWidth,deadzoneHeight:e?.deadzoneHeight??Nm.deadzoneHeight,lookahead:e?.lookahead??Nm.lookahead,lookaheadY:e?.lookaheadY??Nm.lookaheadY,smoothing:e?.smoothing??Nm.smoothing,limits:e?.limits??null}}function Hne(e,t,n,r){return r-n<=t*2?(n+r)/2:Math.min(Math.max(e,n+t),r-t)}function Une(e){return typeof e==`object`&&!!e&&typeof e.getCameraVelocity==`function`}function Wne(e,t){let n=t.x,r=t.y;if(t.target){let i=n,a=r,o=t.target.x-n,s=t.target.y-r,c=e.deadzoneWidth/2,l=e.deadzoneHeight/2;Math.abs(o)>c&&(i=t.target.x-Math.sign(o)*c),Math.abs(s)>l&&(a=t.target.y-Math.sign(s)*l),Math.abs(t.vx)>1&&(i+=Math.sign(t.vx)*e.lookahead);let u=t.vy??0;Math.abs(u)>1&&(a+=Math.sign(u)*e.lookaheadY),n=gr.damp(n,i,e.smoothing,t.dt),r=gr.damp(r,a,e.smoothing,t.dt)}return e.limits&&(n=Hne(n,t.halfW,e.limits.minX,e.limits.maxX),r=Hne(r,t.halfH,e.limits.minY,e.limits.maxY)),{x:n,y:r}}function Fm(e,t){return e<t?-1:+(e>t)}function Im(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function Gne(e){return typeof e?.prototype.onUpdate==`function`}function Kne(e,t){let n=0,r=new Map,i=new Map,a=[],o=new Set,s=[],c=e=>{let l=n++;r.set(e,l),i.set(e,l),a.push(e),o.add(e);for(let n of[...t.get(e)??[]].sort(Fm))r.has(n)?o.has(n)&&i.set(e,Math.min(i.get(e),r.get(n))):(c(n),i.set(e,Math.min(i.get(e),i.get(n))));if(i.get(e)!==r.get(e))return;let u=[];for(;a.length>0;){let t=a.pop();if(o.delete(t),u.push(t),t===e)break}u.length>1&&s.push(u.sort(Fm))};for(let t of e)r.has(t)||c(t);return s.sort((e,t)=>Fm(e[0],t[0]))}function Lm(e,t){let n=new Set(e),r=[...n].filter(e=>Gne(Im(t,e))).sort(Fm),i=new Map(r.map(e=>[e,new Set])),a=new Map(r.map(e=>[e,0])),o=[],s=new Map;for(let t of e)s.set(t,(s.get(t)??0)+1);for(let[e,t]of[...s].sort(([e],[t])=>Fm(e,t)))t<2||o.push({code:`duplicate-component`,componentName:e,componentNames:[e],count:t,cause:`Component "${e}" appears ${t} times on the same entity; component identity must be unique.`});for(let e of[...n].sort(Fm)){let n=Im(t,e);n?.updateAfter!==void 0&&!Gne(n)&&o.push({code:`invalid-update-constraint`,reason:`passive-declarer`,declarer:e,componentNames:[e],cause:`Passive component "${e}" declares updateAfter but does not implement onUpdate.`})}for(let e of r){let r=Im(t,e);for(let s of new Set(r?.updateAfter??[])){if(!n.has(s)){Im(t,s)||o.push({code:`invalid-update-constraint`,reason:`unknown-target`,declarer:e,target:s,componentNames:[e,s],cause:`Component "${e}" declares updateAfter target "${s}", which is neither present nor registered.`});continue}if(s===e){o.push({code:`invalid-update-constraint`,reason:`self-edge`,declarer:e,target:s,componentNames:[e],cause:`Component "${e}" cannot declare itself in updateAfter.`});continue}if(!i.has(s)){o.push({code:`invalid-update-constraint`,reason:`passive-target`,declarer:e,target:s,componentNames:[e,s],cause:`Component "${e}" declares updateAfter target "${s}", but "${s}" does not implement onUpdate.`});continue}let r=i.get(s);r.has(e)||(r.add(e),a.set(e,(a.get(e)??0)+1))}}for(let e of Kne(r,i))o.push({code:`component-update-cycle`,componentNames:e,cause:`Component update cycle among ${e.map(e=>`"${e}"`).join(`, `)}.`});if(o.length>0)return{ok:!1,issues:o};let c=r.filter(e=>a.get(e)===0),l=[];for(;c.length>0;){c.sort(Fm);let e=c.shift();l.push(e);for(let t of[...i.get(e)??[]].sort(Fm)){let e=(a.get(t)??0)-1;a.set(t,e),e===0&&c.push(t)}}return{ok:!0,order:l,issues:[]}}var Rm=class{static componentName=`Component`;static displayName;static params;static updateAfter;static transient;entity;game},zm=class extends Rm{static componentName=`Hitbox`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`}};shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0)},qne=class{game;name;node=new gi;components=[];logicalPosition=null;destroyed=!1;get alive(){return!this.destroyed}constructor(e,t){this.game=e,this.name=t}get position(){return this.logicalPosition??this.node.position}setProjected(e){if(e!==(this.logicalPosition!==null)){if(e){this.logicalPosition=this.node.position.clone();return}this.node.position.copy(this.logicalPosition),this.logicalPosition=null}}get scale(){return this.node.scale}add(e,t){let n=new e;return n.entity=this,n.game=this.game,t&&Object.assign(n,t),this.game.applyParamOverrides(this,n),this.components.push(n),n.onReady?.(),n}get(e){return this.components.find(t=>t instanceof e)}has(e){return this.components.some(t=>t instanceof e)}destroy(){if(!this.destroyed){this.destroyed=!0;for(let e of[...this.components])e.onDestroy?.();this.components.length=0,this.node.removeFromParent(),this.game.removeEntity(this)}}},Bm=class{handlers=new Map;on(e,t){let n=this.handlers.get(e);return n||(n=new Set,this.handlers.set(e,n)),n.add(t),()=>n.delete(t)}emit(e,...t){let n=this.handlers.get(e);if(n)for(let e of[...n])e(...t)}},Vm={},Jne=class{bindings=new Map;down=new Set;justDown=new Set;injectedDown=new Set;injectedJustDown=new Set;injectedPresses=new Set;used=new Set;constructor(e=Vm){for(let[t,n]of Object.entries(e))this.bindings.set(t,new Set(n));window.addEventListener(`keydown`,this.onKeyDown),window.addEventListener(`keyup`,this.onKeyUp),window.addEventListener(`blur`,this.releaseAll),document.addEventListener(`visibilitychange`,this.onVisibilityChange)}held(e){return this.injectedDown.has(e)||this.isActive(e,this.down)}justPressed(e){return this.injectedJustDown.has(e)||this.isActive(e,this.justDown)}availableActions(){return[...this.bindings.keys()].sort()}heldActions(){return this.availableActions().filter(e=>this.held(e))}injectAction(e,t){return this.bindings.has(e)?t===`release`?(this.injectedDown.delete(e),this.injectedPresses.delete(e),!0):this.held(e)?(t===`hold`&&this.injectedPresses.delete(e),!0):(this.injectedDown.add(e),this.injectedJustDown.add(e),t===`press`&&this.injectedPresses.add(e),!0):!1}axis(e=`left`,t=`right`){return!!this.held(t)-+!!this.held(e)}consume(e){this.used.add(e)}consumed(e){return this.used.has(e)}endFrame(){this.justDown.clear(),this.injectedJustDown.clear();for(let e of this.injectedPresses)this.injectedDown.delete(e);this.injectedPresses.clear(),this.used.clear()}dispose(){this.injectedDown.clear(),this.injectedJustDown.clear(),this.injectedPresses.clear(),window.removeEventListener(`keydown`,this.onKeyDown),window.removeEventListener(`keyup`,this.onKeyUp),window.removeEventListener(`blur`,this.releaseAll),document.removeEventListener(`visibilitychange`,this.onVisibilityChange)}isActive(e,t){let n=this.bindings.get(e);if(!n)return!1;for(let e of n)if(t.has(e))return!0;return!1}releaseAll=()=>{this.down.clear(),this.justDown.clear()};onVisibilityChange=()=>{document.visibilityState===`hidden`&&this.releaseAll()};onKeyDown=e=>{e.repeat||(this.down.add(e.code),this.justDown.add(e.code))};onKeyUp=e=>{this.down.delete(e.code)}},Yne={name:`@waica/engine`,version:`0.9.0`,description:`Waica game engine core — archetype-driven, web-first, 2D & 3D`,license:`MIT`,type:`module`,repository:{type:`git`,url:`https://github.com/chichex/waica`,directory:`packages/engine`},files:[`dist`,`README.md`],exports:{".":`./src/index.ts`},publishConfig:{exports:{".":{types:`./dist/index.d.ts`,default:`./dist/index.js`}}},scripts:{build:`node ../../scripts/clean-dist.mjs && tsc -p tsconfig.build.json`,typecheck:`tsc --noEmit`},dependencies:{"@types/three":`^0.185.1`,three:`^0.185.1`},devDependencies:{vitest:`^4.1.10`}},Xne=Symbol.for(`@waica/runtime-bridge/v1`),Hm=class extends Error{code;availableActions;stage=`control`;constructor(e,t,n){super(t),this.code=e,this.availableActions=n,this.name=`RuntimeBridgeOperationError`}};function Zne(){let e=globalThis[Xne];if(!e||typeof e!=`object`)return null;let t=e;return t.protocolVersion!==1||typeof t.register!=`function`||typeof t.unregister!=`function`?null:t}var Qne=class{surface;activation;host;engineVersion=Yne.version;registered=!0;mode=`paused`;frame=0;simulationTime=0;constructor(e,t,n){this.surface=e,this.activation=t,this.host=n}metadata(){return{bridgeVersion:1,engineVersion:this.engineVersion,mode:this.mode,frame:this.frame,simulationTime:this.simulationTime}}inspect(e={}){return this.host.inspect(this.metadata(),e)}control(e){switch(e.operation){case`pause`:this.mode===`real-time`&&(this.host.pause(),this.mode=`paused`);break;case`resume`:this.mode===`paused`&&(this.mode=`real-time`,this.host.resume(e=>this.advance(e)));break;case`press`:case`hold`:case`release`:if(!this.host.injectAction(e.action,e.operation)){let t=this.host.availableActions();throw new Hm(`runtime-operation-failed`,`Unknown action "${e.action}". Available actions: ${t.join(`, `)||`(none)`}.`,t)}break;case`step`:{if(this.mode!==`paused`)throw new Hm(`runtime-invalid-state`,`step is only available while the Runtime Bridge is paused.`);let t=e.dt??1/60,n=e.frames??1;if(!Number.isFinite(t)||t<=0||t>.1)throw new Hm(`runtime-operation-failed`,`dt must be finite and greater than 0 and at most 0.1.`);if(!Number.isInteger(n)||n<1||n>600)throw new Hm(`runtime-operation-failed`,`frames must be an integer from 1 through 600.`);for(let e=0;e<n;e+=1)this.advance(t);break}}return{...this.metadata(),heldActions:this.host.heldActions()}}advance(e){this.host.step(e),this.frame+=1,this.simulationTime+=e}unregister(){this.registered&&(this.registered=!1,this.activation.unregister(this))}},Um={depth:5,entries:100,stringBytes:4*1024,componentBytes:64*1024,snapshotBytes:1024*1024};function Wm(e,t,n,r={}){return e.issues.push({path:t,marker:n}),{$waica:n,...r}}function $ne(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var ere=new TextEncoder;function Gm(e){return ere.encode(e).byteLength}function tre(e,t){let n=0,r=e.length;for(;n<r;){let i=Math.ceil((n+r)/2);Gm(e.slice(0,i))<=t?n=i:r=i-1}let i=e.slice(0,n),a=i.charCodeAt(i.length-1);return a>=55296&&a<=56319?i.slice(0,-1):i}function Km(e,t,n,r=0){if(r>Um.depth)return Wm(n,t,`truncated`,{reason:`depth`,maxDepth:Um.depth});if(e===null||typeof e==`boolean`)return e;if(typeof e==`string`){let r=Gm(e);return r<=Um.stringBytes?e:Wm(n,t,`truncated`,{reason:`string`,preview:tre(e,Um.stringBytes),originalLength:e.length,originalBytes:r})}if(typeof e==`bigint`)return{$waica:`bigint`,value:e.toString()};if(typeof e==`number`)return Number.isFinite(e)?e:Wm(n,t,`unsupported`,{type:`non-finite-number`});if(typeof e!=`object`)return Wm(n,t,`unsupported`,{type:typeof e});let i=n.seen.get(e);if(i)return Wm(n,t,`cycle`,{path:i});if(n.seen.set(e,t),e instanceof Date)return Number.isFinite(e.getTime())?{$waica:`date`,value:e.toISOString()}:Wm(n,t,`error`,{message:`Invalid Date`});if(Array.isArray(e)){let i=e.slice(0,Um.entries).map((e,i)=>Km(e,`${t}[${i}]`,n,r+1)),a=e.length-i.length;return a>0&&i.push(Wm(n,t,`truncated`,{reason:`entries`,omitted:a})),i}if(e instanceof Map){let i=[...e.entries()],a=i.slice(0,Um.entries).map(([e,i],a)=>[Km(e,`${t}.entries[${a}].key`,n,r+1),Km(i,`${t}.entries[${a}].value`,n,r+1)]),o=i.length-a.length;return{$waica:`map`,entries:a,...o>0?{truncated:Wm(n,t,`truncated`,{reason:`entries`,omitted:o})}:{}}}if(e instanceof Set){let i=[...e],a=i.slice(0,Um.entries).map((e,i)=>Km(e,`${t}.values[${i}]`,n,r+1)),o=i.length-a.length;return{$waica:`set`,values:a,...o>0?{truncated:Wm(n,t,`truncated`,{reason:`entries`,omitted:o})}:{}}}if($ne(e)){let i=Object.keys(e).sort(),a=Object.fromEntries(i.slice(0,Um.entries).map(i=>[i,Km(e[i],`${t}.${i}`,n,r+1)])),o=i.length-Object.keys(a).length;return o===0?a:Wm(n,t,`truncated`,{reason:`entries`,omitted:o,value:a})}return Wm(n,t,`unsupported`,{type:e.constructor?.name??`object`})}function nre(e){return e instanceof Error?e.message:String(e)}function rre(e,t,n){if(typeof e.inspectState==`function`)try{return Km(e.inspectState(),t,n)}catch(e){return Wm(n,t,`error`,{message:nre(e)})}let r=new Set(Object.keys(e));for(let t=Object.getPrototypeOf(e);t&&t!==Object.prototype;t=Object.getPrototypeOf(t))for(let[e,n]of Object.entries(Object.getOwnPropertyDescriptors(t)))typeof n.set==`function`&&r.add(e);let i={};for(let a of[...r].sort()){if(a===`entity`||a===`game`||a.startsWith(`_`))continue;let r=`${t}.${a}`;try{let t=e[a];if(typeof t==`function`)continue;i[a]=Km(t,r,n,1)}catch(e){i[a]=Wm(n,r,`error`,{message:nre(e)})}}return i}function ire(e,t,n){let r=rre(e,t,n),i=Gm(JSON.stringify(r));return i<=Um.componentBytes?r:Wm(n,t,`truncated`,{reason:`component-size`,limit:Um.componentBytes,originalBytes:i,path:t})}var are=class{game;ids=new WeakMap;nextId=1;constructor(e){this.game=e}snapshot(e,t={}){let n=[],r=t.entity_ids?new Set(t.entity_ids):null,i=t.entity_names?new Set(t.entity_names):null,a=t.component_types?new Set(t.component_types):null,o=this.game.entities.map(e=>({entity:e,id:this.idFor(e)})).flatMap(({entity:e,id:t})=>{if(r&&!r.has(t)||i&&!i.has(e.name))return[];let o=e.components.flatMap((e,r)=>{let i=e.constructor;if(a&&!a.has(i.componentName))return[];let o={issues:n,seen:new Map};return[{type:i.componentName,index:r,state:ire(e,`entities[${t}].components[${r}].state`,o)}]});return a&&o.length===0?[]:[{id:t,name:e.name,transform:{position:{x:e.position.x,y:e.position.y,z:e.position.z},rotation:{x:e.node.rotation.x,y:e.node.rotation.y,z:e.node.rotation.z,order:e.node.rotation.order},scale:{x:e.scale.x,y:e.scale.y,z:e.scale.z}},components:o}]});return this.capSnapshot({...e,stats:Object.fromEntries([...this.game.stats.entries()].sort(([e],[t])=>e<t?-1:+(e>t))),entities:o,projectionIssues:n})}capSnapshot(e){if(Gm(JSON.stringify(e))<=Um.snapshotBytes)return e;let t=[...e.entities],n=new Set;for(;t.length>0;){let r=t.pop();r&&n.add(r.id);let i=e.entities.length-t.length,a=e.projectionIssues.filter(e=>[...n].every(t=>!e.path.startsWith(`entities[${t}]`))).concat({path:`entities[${t.length}]`,marker:`truncated`,omitted:i}),o={...e,entities:t,projectionIssues:a};if(Gm(JSON.stringify(o))<=Um.snapshotBytes)return o}return{...e,entities:[],projectionIssues:[{path:`entities[0]`,marker:`truncated`,omitted:e.entities.length}]}}idFor(e){let t=this.ids.get(e);if(t)return t;let n=`entity-${this.nextId}`;return this.nextId+=1,this.ids.set(e,n),n}},qm=e=>e===0?0:e;function Jm(e,t){let n=(e-t)/Math.SQRT2,r=(-e-t)/Math.SQRT2,i=Math.hypot(n,r);return i>1&&(n/=i,r/=i),{x:qm(n),y:qm(r)}}function Ym(e,t){return{x:qm(e-t),y:qm(-(e+t)/2)}}function Xm(e,t){return{x:qm(e/2-t),y:qm(-e/2-t)}}function ore(e){return typeof e==`object`&&!!e&&typeof e.layer==`number`&&typeof e.setSortZ==`function`}function sre(e){let t=new Map;for(let[n,r]of e.entries()){let e=t.get(r.layer);e?e.push(n):t.set(r.layer,[n])}let n=[...t.keys()].sort((e,t)=>e-t),r=Array(e.length);for(let[i,a]of n.entries()){let o=t.get(a),s=n[i+1],c=s===void 0?.01:Math.min(.01,(s-a)*.01),l=[...o].sort((t,n)=>e[n].y-e[t].y),u=c/(l.length+1);for(let[e,t]of l.entries())r[t]=a*.01+(e+1)*u}return r}function Zm(e,t){if(!(!e||!Object.prototype.hasOwnProperty.call(e,t)))return e[t]}function cre(e,t){if(!e)return{};let n=t.resolveAsset;if(!n)return{...e};let r=e=>{if(typeof e==`string`)return n(e);if(Array.isArray(e))return e.map(r);if(e&&typeof e==`object`&&e.constructor===Object){let t={};for(let[n,i]of Object.entries(e))t[n]=r(i);return t}return e};return r(e)}function Qm(e,t){let n=e.components??[];if(!e.prefab)return n;let r=Zm(t,e.prefab);return r?[...r.components.map(t=>({type:t.type,props:{...t.props,...e.overrides?.[t.type]}})),...n]:(console.warn(`[waica] unknown prefab in scene: "${e.prefab}" (${e.name})`),n)}function $m(e,t,n){let r=e.spawn(t.name);t.position&&r.position.set(t.position[0],t.position[1],0);for(let e of Qm(t,n.prefabs)){let i=Zm(n.components,e.type);if(!i){console.warn(`[waica] unknown component in scene: "${e.type}" (${t.name})`);continue}try{r.add(i,cre(e.props,n))}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[waica] component "${e.type}" failed on "${t.name}": ${r}`)}}return r}function lre(e,t,n){e.registry=n,e.setSceneRender(t.render);for(let r of t.entities)$m(e,r,n);e.setSceneCamera(t.camera),n.ui&&e.ui.defineAll(n.ui);for(let n of t.ui??[])e.ui.show(n)}var eh=class{initial;values;emitter=new Bm;constructor(e={}){this.initial={...e},this.values={...e}}get(e){return this.values[e]}count(e){let t=this.values[e];return typeof t==`number`?t:0}set(e,t){this.values[e]!==t&&(this.values[e]=t,this.emitter.emit(e,t))}add(e,t=1){let n=this.count(e)+t;return this.set(e,n),n}reset(){let e=this.values;this.values={...this.initial};for(let t of new Set([...Object.keys(e),...Object.keys(this.values)]))e[t]!==this.values[t]&&this.emitter.emit(t,this.values[t])}onChange(e,t){return this.emitter.on(e,t)}entries(){return Object.entries(this.values)}},th=class{stats;host;sources=new Map;pieces=new Map;overlay;active=!0;constructor(e,t){this.stats=e,this.host=t}define(e,t){this.sources.set(e,t)}defineAll(e){for(let[t,n]of Object.entries(e))this.define(t,n)}names(){return[...this.sources.keys()]}show(e){let t=this.mount(e);t&&(t.visible=!0),this.sync()}hide(e){let t=this.pieces.get(e);t&&(t.visible=!1),this.sync()}toggle(e){this.isVisible(e)?this.hide(e):this.show(e)}isVisible(e){return this.pieces.get(e)?.visible??!1}element(e){return this.mount(e)?.root??null}setActive(e){this.active!==e&&(this.active=e,this.sync())}dispose(){for(let e of this.pieces.values())for(let t of e.unsubs)t();this.pieces.clear(),this.overlay?.remove(),this.overlay=void 0}mount(e){let t=this.pieces.get(e);if(t)return t;let n=this.sources.get(e);if(n==null)return console.warn(`[waica] unknown ui piece: "${e}"`),null;let r=document.createElement(`div`);r.style.cssText=`position:absolute;inset:0;pointer-events:none`;let i=r.attachShadow({mode:`open`}),a=document.createElement(`div`);a.style.display=`contents`,a.innerHTML=n,i.append(a);let o={shell:r,root:a,visible:!1,unsubs:fre(a,this.stats)};return this.mountOverlay().append(r),this.pieces.set(e,o),o}mountOverlay(){if(this.overlay)return this.overlay;let e=document.createElement(`div`);e.style.cssText=`position:absolute;inset:0;z-index:9000;pointer-events:none`;let t=this.host();return getComputedStyle(t).position===`static`&&(t.style.position=`relative`),t.append(e),this.overlay=e,this.sync(),e}sync(){this.overlay&&(this.overlay.style.display=this.active?``:`none`);for(let e of this.pieces.values())e.shell.style.display=e.visible?``:`none`}},ure=/\{\{\s*([\w-]+)\s*\}\}/g;function dre(e){return e===void 0?``:typeof e==`boolean`?e?`✓`:`✕`:String(e)}function fre(e,t){let n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=[];for(let e=r.nextNode();e;e=r.nextNode())e.parentElement?.closest(`style, script`)||(e.nodeValue??``).includes(`{{`)&&i.push(e);for(let e of i){let r=e.nodeValue??``,i=[],a=0;for(let e of r.matchAll(ure)){let o=e[1];if(o===void 0)continue;e.index>a&&i.push(document.createTextNode(r.slice(a,e.index)));let s=document.createTextNode(dre(t.get(o)));n.push(t.onChange(o,e=>s.nodeValue=dre(e))),i.push(s),a=e.index+e[0].length}i.length!==0&&(a<r.length&&i.push(document.createTextNode(r.slice(a))),e.replaceWith(...i))}return n}var pre=class{scene=new Di;camera;input;entities=[];events=new Bm;stats;ui;registry=null;paramOverrides={};simulate=!0;renderer;resizeObserver;updateFns=new Set;invalidUpdateCompositions=new WeakMap;resolution;viewHeight;sceneCamera=null;renderSort=null;sceneProjection=null;lastTime=0;runtimeBridge=null;constructor(e){let{canvas:t,background:n=1710638,viewHeight:r=10}=e;this.viewHeight=r,this.resolution=e.resolution??null,this.input=new Jne(e.bindings),this.stats=new eh(e.stats),this.ui=new th(this.stats,()=>t.parentElement??document.body),this.renderer=new Ine({canvas:t,antialias:!0}),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.scene.background=new Ci(n),this.camera=new md,this.camera.position.z=10,this.resize(),this.resizeObserver=new ResizeObserver(()=>this.resize()),this.resizeObserver.observe(t)}spawn(e){let t=new qne(this,e);return t.setProjected(this.sceneProjection===`isometric`),this.entities.push(t),this.scene.add(t.node),t}spawnPrefab(e,t={}){let n=this.registry;if(!n)return console.warn(`[waica] cannot spawn prefab before loadScene: "${e}"`),null;if(!Zm(n.prefabs,e))return console.warn(`[waica] unknown runtime prefab: "${e}"`),null;let r=e.slice(e.lastIndexOf(`/`)+1)||`Entity`,i=t.name??r.charAt(0).toUpperCase()+r.slice(1);return $m(this,{name:i,prefab:e,...t.position?{position:t.position}:{}},n)}find(e){return this.entities.find(t=>t.name===e)}async loadParams(e){try{let t=await fetch(e);t.ok&&(this.paramOverrides=await t.json())}catch{}}applyParamOverrides(e,t){let n=t.constructor,r=this.paramOverrides[e.name]?.[n.componentName];r&&Object.assign(t,r)}onUpdate(e){return this.updateFns.add(e),()=>this.updateFns.delete(e)}setSceneRender(e){this.renderSort=e?.sort===`y`?`y`:null;let t=e?.projection===`isometric`?`isometric`:null;if(t!==this.sceneProjection){this.sceneProjection=t;for(let e of this.entities){e.setProjected(t===`isometric`);for(let n of e.components)n.onProjectionChange?.(t)}}}setSceneCamera(e){if(!e){this.sceneCamera=null;return}this.sceneCamera=Pm(e);let t=this.sceneCamera.follow?this.find(this.sceneCamera.follow):void 0,n=t?this.renderPoint(t.position.x,t.position.y):{x:this.sceneCamera.position[0],y:this.sceneCamera.position[1]};this.camera.position.x=n.x,this.camera.position.y=n.y,this.setViewHeight(this.sceneCamera.zoom)}start(){let e=Zne();if(e){if(!this.runtimeBridge){let t=new are(this);this.runtimeBridge=new Qne(this.renderer.domElement,e,{step:e=>this.runFrame(e),resume:e=>this.resumeRuntime(e),pause:()=>this.stop(),injectAction:(e,t)=>this.input.injectAction(e,t),availableActions:()=>this.input.availableActions(),heldActions:()=>this.input.heldActions(),inspect:(e,n)=>t.snapshot(e,n)}),e.register(this.runtimeBridge),window.addEventListener(`pagehide`,this.unregisterRuntimeBridge)}this.renderSurface();return}this.renderer.setAnimationLoop(e=>this.tick(e))}stop(){this.renderer.setAnimationLoop(null)}removeEntity(e){let t=this.entities.indexOf(e);t!==-1&&this.entities.splice(t,1)}get projection(){return this.sceneProjection}get view(){return this.viewHeight}setViewHeight(e){this.viewHeight=Math.min(Math.max(e,2),80),this.resize()}dispose(){this.stop(),this.unregisterRuntimeBridge(),this.input.dispose(),this.resizeObserver.disconnect(),this.ui.dispose();for(let e of[...this.entities])e.destroy();this.renderer.dispose()}resumeRuntime(e){let t=null;this.renderer.setAnimationLoop(n=>{let r=t===null?0:Math.min((n-t)/1e3,.1);t=n,e(r)})}tick(e){let t=Math.min((e-this.lastTime)/1e3,.1);this.lastTime=e,this.runFrame(t)}runFrame(e){if(this.simulate){for(let t of[...this.entities]){let n=this.componentUpdateSchedule(t);if(n)for(let t of n)t.onUpdate?.(e)}this.dispatchCollisions(),this.updateSceneCamera(e)}this.ui.setActive(this.simulate);for(let t of this.updateFns)t(e);this.input.endFrame(),this.renderSurface()}unregisterRuntimeBridge=()=>{window.removeEventListener(`pagehide`,this.unregisterRuntimeBridge),this.runtimeBridge?.unregister(),this.runtimeBridge=null};applyYSort(){let e=[],t=[];for(let n of this.entities)for(let r of n.components)ore(r)&&(e.push(r),t.push({layer:r.layer,y:n.node.position.y}));let n=sre(t);for(let[t,r]of e.entries())r.setSortZ(n[t])}renderSurface(){if(this.sceneProjection===`isometric`)for(let e of this.entities){let t=Ym(e.position.x,e.position.y);e.node.position.x=t.x,e.node.position.y=t.y}this.renderSort===`y`&&this.applyYSort(),this.ui.setActive(this.simulate),this.resolution&&(this.renderer.setScissorTest(!1),this.renderer.setClearColor(0,1),this.renderer.clear(!0,!1,!1),this.renderer.setScissorTest(!0)),this.renderer.render(this.scene,this.camera)}componentUpdateSchedule(e){let t=[...e.components],n={...this.registry?.components??{}},r=new Map,i=[],a=[];for(let e of t){let t=e.constructor,o=t.componentName;n[o]=t,i.push(o),r.set(o,e),a.push(`${o}:${typeof t.prototype.onUpdate==`function`?`updates`:`passive`}:`+[...new Set(t.updateAfter??[])].sort().join(`,`))}let o=Lm(i,n);if(!o.ok){let t=a.sort().join(`|`);return this.invalidUpdateCompositions.get(e)!==t&&(this.invalidUpdateCompositions.set(e,t),console.error(`[waica] invalid component update schedule for "${e.name}": `+o.issues.map(e=>e.cause).join(` `))),null}return this.invalidUpdateCompositions.delete(e),o.order.map(e=>r.get(e))}updateSceneCamera(e){let t=this.sceneCamera;if(!t)return;let n=t.follow?this.find(t.follow):void 0,r=(n?.components.find(e=>Une(e)))?.getCameraVelocity(),i=n?this.renderPoint(n.position.x,n.position.y):null,a=r?this.renderPoint(r.vx,r.vy):{x:0,y:0},o=Wne(t,{x:this.camera.position.x,y:this.camera.position.y,halfW:(this.camera.right-this.camera.left)/2,halfH:this.viewHeight/2,target:i,vx:a.x,vy:a.y,dt:e});this.camera.position.x=o.x,this.camera.position.y=o.y}renderPoint(e,t){return this.sceneProjection===`isometric`?Ym(e,t):{x:e,y:t}}dispatchCollisions(){let e=this.entities.filter(e=>e.has(zm));for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(!r?.alive||!i?.alive)continue;let a=r.get(zm),o=i.get(zm);if(!(!a||!o)&&Am({x:r.position.x+a.offsetX,y:r.position.y+a.offsetY,width:a.width,height:a.height,shape:a.shape,points:a.points},{x:i.position.x+o.offsetX,y:i.position.y+o.offsetY,width:o.width,height:o.height,shape:o.shape,points:o.points})){for(let e of[...r.components])e.onCollide?.(i);if(!(!r.alive||!i.alive))for(let e of[...i.components])e.onCollide?.(r)}}}resize(){let{clientWidth:e,clientHeight:t}=this.renderer.domElement;if(e===0||t===0)return;this.renderer.setSize(e,t,!1);let n=e/t;if(this.resolution){n=this.resolution.width/this.resolution.height;let r=Math.min(e,t*n),i=r/n,a=(e-r)/2,o=(t-i)/2;this.renderer.setViewport(a,o,r,i),this.renderer.setScissor(a,o,r,i)}let r=this.viewHeight/2,i=r*n;this.camera.left=-i,this.camera.right=i,this.camera.top=r,this.camera.bottom=-r,this.camera.updateProjectionMatrix()}};function mre(e,t,n,r){let i=new Set,a=r,o=!1;for(;a&&!i.has(a);){let r=`${n}-${a}`;if(t.has(r))return{clip:r,flip:o};i.add(a);let s=e.fallbacks?.[a];if(!s)break;s.flip&&(o=!o),a=s.dir}}function hre(e,t,n,r){if(!e.directions.includes(r))return{clip:void 0,flip:!1};let i=new Set(t),a=mre(e,i,n,r);if(a)return a;let o=new Set,s=n;for(;s&&!o.has(s);){if(o.add(s),s!==n){let t=mre(e,i,s,r);if(t)return t}if(i.has(s))return{clip:s,flip:!1};s=e.contract.fallbacks[s]}return{clip:void 0,flip:!1}}var gre=null;function nh(e){gre=e}function rh(){return gre}function _re(e){return typeof e==`object`&&!!e&&typeof e.getAnimationFacing==`function`}function ih(e){let t=e.offsetX+(.5-e.anchorX)*e.width,n=e.offsetY-e.anchorY*e.height;return{x:e.flipX?-t:t,y:n+e.height*e.frameScaleY/2,scaleX:e.width*e.frameScaleX*(e.flipX?-1:1),scaleY:e.height*e.frameScaleY}}var vre=new Set([`entity`,`game`]);function yre(e){if(e===null)return!0;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return!0;if(t!==`object`)return!1;if(Array.isArray(e))return!0;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function bre(e,t){let n;try{n=new e}catch(e){return t?.(e),{}}let r=new Set(e.transient??[]),i=new Set(Object.keys(n));for(let e=Object.getPrototypeOf(n);e&&e!==Object.prototype;e=Object.getPrototypeOf(e))for(let[t,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))n.set&&i.add(t);let a={};for(let e of i){if(vre.has(e)||e.startsWith(`_`)||r.has(e))continue;let t=n[e];t===void 0||!yre(t)||(a[e]=t)}return a}function xre(e,t=console.warn){let n={};for(let r of e)for(let e of Object.values(r)){if(typeof e!=`function`)continue;let r=e;if(r.prototype instanceof Rm){if(typeof r.componentName!=`string`||r.componentName===`Component`){t(`[waica] component class "${r.name||`(anonymous)`}" declares no static componentName — scenes cannot reference it`);continue}n[r.componentName]=r}}return n}function Sre(e,t,n=console.warn){for(let r of Object.keys(t))e.components[r]&&n(`[waica] project component "${r}" shadows registry component "${r}"`);return{...e,components:{...e.components,...t}}}var Cre=new Yu,wre=e=>Math.min(1,Math.max(0,e)),ah=class extends Rm{static componentName=`Sprite`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`},anchorX:{label:`x anchor`,min:0,max:1,step:.25},anchorY:{label:`y anchor`,min:0,max:1,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`mesh`];_width=1;_height=1;get width(){return this._width}set width(e){this._width=e,this.syncQuad()}get height(){return this._height}set height(e){this._height=e,this.syncQuad()}_color=16777215;get color(){return this._color}set color(e){this._color=e,this.mesh?.material.color.setHex(e)}_offsetX=0;_offsetY=0;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this.syncQuad()}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this.syncQuad()}_anchorX=.5;_anchorY=.5;get anchorX(){return this._anchorX}set anchorX(e){this._anchorX=wre(e),this.syncQuad()}get anchorY(){return this._anchorY}set anchorY(e){this._anchorY=wre(e),this.syncQuad()}texture;pixelArt=!1;_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.mesh&&(this.mesh.position.z=e*.01)}setSortZ(e){this.mesh&&(this.mesh.position.z=e)}_shape=`rectangle`;get shape(){return this._shape}set shape(e){this._shape=e===`circle`?`circle`:`rectangle`,this.mesh&&(this.mesh.geometry.dispose(),this.mesh.geometry=this.createGeometry())}mesh;onReady(){let e=new uo({color:this.color,transparent:!0});if(this.texture){let t=Cre.load(this.texture);this.pixelArt&&(t.magFilter=Ee,t.minFilter=Ee),t.colorSpace=rn,e.map=t,e.color.set(16777215)}this.mesh=new Co(this.createGeometry(),e),this.mesh.position.z=this.layer*.01,this.syncQuad(),this.entity.node.add(this.mesh)}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose()}syncQuad(){if(!this.mesh)return;let e=ih({width:this.width,height:this.height,offsetX:this.offsetX,offsetY:this.offsetY,anchorX:this.anchorX,anchorY:this.anchorY,flipX:!1,frameScaleX:1,frameScaleY:1});this.mesh.position.x=e.x,this.mesh.position.y=e.y,this.mesh.scale.set(e.scaleX,e.scaleY,1)}createGeometry(){return this._shape===`circle`?new rc(.5,32):new Nl(1,1)}},oh=class extends Rm{static componentName=`Solid`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`}};shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0);get bounds(){return km({x:this.entity.position.x+this.offsetX,y:this.entity.position.y+this.offsetY,width:this.width,height:this.height,shape:this.shape,points:this.points})}get left(){return this.bounds.left}get right(){return this.bounds.right}get top(){return this.bounds.top}get bottom(){return this.bounds.bottom}},sh=Symbol(`waica.solidSource`);function Tre(e){if(typeof e!=`object`||!e)return!1;let t=e;return t[sh]===!0&&typeof t.solids==`function`}function ch(e,t){let n=[];for(let r of e.entities){if(r===t)continue;let e=r.get(oh);e&&n.push(e);for(let e of r.components??[])Tre(e)&&n.push(...e.solids())}return n}var Ere=1e-7;function lh(e){return{x:e.entity.position.x+e.offsetX,y:e.entity.position.y+e.offsetY,width:e.width,height:e.height,shape:e.shape,points:e.points}}function uh({entity:e,axis:t,previous:n,body:r,onContact:i}){let a=e.position,o=a[t],s=ch(e.game,e);a[t]=n;let c=new Set(s.filter(e=>Am(r(),lh(e)))),l=km(r()),u=t===`x`?l.right-l.left:l.top-l.bottom,d=Math.max(u/2,.05),f=o-n,p=Math.max(1,Math.ceil(Math.abs(f)/d)),m=n;for(let e=1;e<=p;e++){let o=n+e/p*f;a[t]=o;let l=s.filter(e=>!c.has(e)&&Am(r(),lh(e)));if(l.length===0){m=o;continue}let u=o,d=1/0,h=[];for(let e of l){let n=m,i=o;for(let o=0;o<14;o++){let o=(n+i)/2;a[t]=o,Am(r(),lh(e))?i=o:n=o}let s=Math.abs(n-m);s<d-Ere?(u=n,d=s,h=[e]):Math.abs(s-d)<=Ere&&h.push(e)}a[t]=u;for(let e of h)i?.(e);return!0}return a[t]=o,!1}var Dre=[{axis:`x`,sign:-1,normal:{x:-1,y:0}},{axis:`x`,sign:1,normal:{x:1,y:0}},{axis:`y`,sign:-1,normal:{x:0,y:-1}},{axis:`y`,sign:1,normal:{x:0,y:1}}],Ore=24,dh=class extends Rm{static componentName=`DynamicBody`;static params={vx:{label:`x velocity`,step:.1},vy:{label:`y velocity`,step:.1},shape:{label:`shape`,options:[...Lne]},width:{label:`width`,min:0,step:.1},height:{label:`height`,min:0,step:.1},offsetX:{label:`x offset`,step:.1},offsetY:{label:`y offset`,step:.1},points:{label:`polygon points`}};vx=0;vy=0;shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0);onUpdate(e){let t=new Map,n=this.recoverInitialOverlap();n&&!this.deliver(n.contacts,t)||this.moveAxis(`x`,this.vx*e,t)&&this.moveAxis(`y`,this.vy*e,t)}moveAxis(e,t,n){if(t===0)return this.entity.alive;let r=this.entity.position[e];this.entity.position[e]+=t;let i=[];if(!uh({entity:this.entity,axis:e,previous:r,body:()=>this.collisionBody(),onContact:e=>i.push(e)}))return this.entity.alive;e===`x`?this.vx=0:this.vy=0;let a=e===`x`?{x:t>0?-1:1,y:0}:{x:0,y:t>0?-1:1};return this.deliver(i.map(t=>this.contact(t,e,a)),n)}recoverInitialOverlap(){let e=this.solids(),t=e.filter(e=>Am(this.collisionBody(),this.solidBody(e)));if(t.length===0)return null;let n={x:this.entity.position.x,y:this.entity.position.y},r=km(this.collisionBody()),i=null;for(let a of Dre){let o=e.map(e=>{let t=km(this.solidBody(e));return a.axis===`x`?a.sign<0?t.left-r.right:t.right-r.left:a.sign<0?t.bottom-r.top:t.top-r.bottom}).filter(e=>e*a.sign>0).sort((e,t)=>Math.abs(e)-Math.abs(t)),s=null;for(let t of o)if(this.setShift(n,a.axis,t),!this.overlapsAny(e)){s=t;break}if(this.resetPosition(n),s===null)continue;let c=0,l=s;for(let t=0;t<Ore;t++){let t=(c+l)/2;this.setShift(n,a.axis,t),this.overlapsAny(e)?c=t:l=t}this.resetPosition(n),!(i&&Math.abs(l)>=Math.abs(i.shift))&&(i={direction:a,shift:l,contacts:t.map(e=>this.contact(e,a.axis,a.normal))})}return i?(this.setShift(n,i.direction.axis,i.shift),i):null}setShift(e,t,n){this.entity.position[t]=e[t]+n}resetPosition(e){this.entity.position.x=e.x,this.entity.position.y=e.y}overlapsAny(e){let t=this.collisionBody();return e.some(e=>Am(t,this.solidBody(e)))}deliver(e,t){for(let n of e){let e=`${n.axis}:${n.normal.x}:${n.normal.y}`,r=t.get(n.solid)??new Set;if(!r.has(e)){r.add(e),t.set(n.solid,r);for(let e of[...this.entity.components]){if(!this.entity.alive)return!1;e.onContact?.(n)}}}return this.entity.alive}contact(e,t,n){return{entity:e.entity,solid:e,axis:t,normal:n}}solids(){return ch(this.game,this.entity)}collisionBody(){return{x:this.entity.position.x+this.offsetX,y:this.entity.position.y+this.offsetY,width:this.width,height:this.height,shape:this.shape,points:this.points}}solidBody(e){return{x:e.entity.position.x+e.offsetX,y:e.entity.position.y+e.offsetY,width:e.width,height:e.height,shape:e.shape,points:e.points}}},fh=class{frames=[0];fps=1;loop=!0;t=0;set(e){this.frames=e.frames.length>0?e.frames:[0],this.fps=e.fps,this.loop=e.loop??!0,this.t=0}advance(e){this.t+=e;let t=Math.floor(this.t*this.fps),n=this.frames.length,r=this.loop?t%n:Math.min(t,n-1);return this.frames[r]??0}};function ph(e){return e.cells?.length?e.cells.length:Math.max(1,Math.floor(e.cols))*Math.max(1,Math.floor(e.rows))}function mh(e,t){let n=Math.max(0,Math.floor(t));for(let t=0;t<e.length;t++){let r=ph(e[t]);if(n<r||t===e.length-1)return{sheet:t,frame:Math.min(n,r-1)};n-=r}return{sheet:0,frame:0}}var hh=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?e:0;function gh(e,t,n,r,i,a={}){if(a.cells?.length){let e=Math.min(Math.max(0,Math.floor(i)),a.cells.length-1);return a.cells[e]}let o=Math.max(1,Math.floor(n)),s=Math.max(1,Math.floor(r)),c=hh(a.gridOffsetX),l=hh(a.gridOffsetY),u=hh(a.spacingX),d=hh(a.spacingY),f=hh(a.cellWidth)||Math.max(1,(e-c-u*(o-1))/o),p=hh(a.cellHeight)||Math.max(1,(t-l-d*(s-1))/s),m=i%o,h=Math.floor(i/o);return{x:c+m*(f+u),y:l+h*(p+d),width:f,height:p}}var kre=new Yu,_h=e=>Math.min(1,Math.max(0,e)),vh=class extends Rm{static componentName=`AnimatedSprite`;static updateAfter=[`StateMachine`];static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`},anchorX:{label:`x anchor`,min:0,max:1,step:.25},anchorY:{label:`y anchor`,min:0,max:1,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`current`,`flipX`,`player`,`sheets`,`texs`,`mesh`,`frame`,`frameScaleX`,`frameScaleY`];texture=``;cols=1;rows=1;gridOffsetX=0;gridOffsetY=0;spacingX=0;spacingY=0;cellWidth=0;cellHeight=0;cells=[];extraSheets=[];_width=1;_height=1;get width(){return this._width}set width(e){this._width=e,this.syncQuad()}get height(){return this._height}set height(e){this._height=e,this.syncQuad()}_offsetX=0;_offsetY=0;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this.syncQuad()}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this.syncQuad()}_anchorX=.5;_anchorY=.5;get anchorX(){return this._anchorX}set anchorX(e){this._anchorX=_h(e),this.syncQuad()}get anchorY(){return this._anchorY}set anchorY(e){this._anchorY=_h(e),this.syncQuad()}pixelArt=!0;_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.mesh&&(this.mesh.position.z=e*.01)}setSortZ(e){this.mesh&&(this.mesh.position.z=e)}flipX=!1;setFlipX(e){this.flipX!==e&&(this.flipX=e,this.syncQuad())}clips={};initialClip;current;player=new fh;sheets=[];texs=[];mesh;frame=0;frameScaleX=1;frameScaleY=1;onReady(){let e={texture:this.texture,cols:this.cols,rows:this.rows,gridOffsetX:this.gridOffsetX,gridOffsetY:this.gridOffsetY,spacingX:this.spacingX,spacingY:this.spacingY,cellWidth:this.cellWidth,cellHeight:this.cellHeight};this.cells.length&&(e.cells=this.cells),this.sheets=[e,...this.extraSheets],this.texs=this.sheets.map(e=>{let t=kre.load(e.texture,()=>this.applyFrame());return t.colorSpace=rn,this.pixelArt&&(t.magFilter=Ee,t.minFilter=Ee),t.repeat.set(1/Math.max(1,e.cols),1/Math.max(1,e.rows)),t});let t=new uo({map:this.texs[0],transparent:!0});this.mesh=new Co(new Nl(1,1),t),this.mesh.position.z=this.layer*.01,this.syncQuad(),this.entity.node.add(this.mesh),this.initialClip&&this.play(this.initialClip)}play(e){if(this.current===e)return;let t=this.clips[e];t&&(this.player.set(t),this.current=e)}onUpdate(e){this.texs.length===0||!this.current||this.showFrame(this.player.advance(e))}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose();for(let e of this.texs)e.dispose()}showFrame(e){this.frame=e,this.applyFrame()}syncQuad(){if(!this.mesh)return;let e=ih({width:this.width,height:this.height,offsetX:this.offsetX,offsetY:this.offsetY,anchorX:this.anchorX,anchorY:this.anchorY,flipX:this.flipX,frameScaleX:this.frameScaleX,frameScaleY:this.frameScaleY});this.mesh.position.x=e.x,this.mesh.position.y=e.y,this.mesh.scale.set(e.scaleX,e.scaleY,1)}applyFrame(){let e=mh(this.sheets,this.frame),t=this.sheets[e.sheet],n=this.texs[e.sheet];if(!t||!n)return;this.mesh&&this.mesh.material.map!==n&&(this.mesh.material.map=n,this.mesh.material.needsUpdate=!0);let r=t.cells;if(r?.length){let i=gh(0,0,t.cols,t.rows,e.frame,t),a=Math.max(...r.map(e=>e.width)),o=Math.max(...r.map(e=>e.height));this.frameScaleX=a>0?i.width/a:1,this.frameScaleY=o>0?i.height/o:1,this.syncQuad();let s=n.image;s?.width&&s?.height&&(n.repeat.set(i.width/s.width,i.height/s.height),n.offset.set(i.x/s.width,1-(i.y+i.height)/s.height));return}(this.frameScaleX!==1||this.frameScaleY!==1)&&(this.frameScaleX=1,this.frameScaleY=1,this.syncQuad());let i=n.image;if(i?.width&&i?.height){let r=gh(i.width,i.height,t.cols,t.rows,e.frame,t);n.repeat.set(r.width/i.width,r.height/i.height),n.offset.set(r.x/i.width,1-(r.y+r.height)/i.height);return}let a=Math.max(1,t.cols),o=Math.max(1,t.rows);n.offset.set(e.frame%a/a,1-(Math.floor(e.frame/a)+1)/o)}};function yh(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function bh(e,t,n,r){let i=yh(e),a=yh(t);return!Number.isInteger(n)||!Number.isInteger(r)||n<0||r<0||n>=i||r>=a?null:r*i+n}function xh(e,t,n){let r=e.cellSize;if(!Number.isFinite(r)||r<=0)return null;let i=Math.floor((t-(e.originX??0))/r),a=Math.floor((n-(e.originY??0))/r),o=bh(e.mapWidth,e.mapHeight,i,a);return o===null?null:{column:i,row:a,index:o}}function Sh(e,t,n){if(bh(e.mapWidth,e.mapHeight,t,n)===null)return null;let r=e.cellSize;if(!Number.isFinite(r)||r<=0)return null;let i=(e.originX??0)+t*r,a=(e.originY??0)+n*r;return{left:i,right:i+r,bottom:a,top:a+r,centerX:i+r/2,centerY:a+r/2}}var Are=new Yu,Ch=class extends Rm{static componentName=`Tilemap`;static params={color:{label:`color`},cols:{label:`tileset columns`,min:1,step:1},rows:{label:`tileset rows`,min:1,step:1},mapWidth:{label:`map width`,min:1,step:1},mapHeight:{label:`map height`,min:1,step:1},cellSize:{label:`cell size`,min:.05,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`mesh`,`loadedTexture`,`derivedSolids`];[sh]=!0;_texture=``;get texture(){return this._texture}set texture(e){this._texture=e,this.rebuildMaterial()}_color=16777215;get color(){return this._color}set color(e){this._color=e,this.rebuildMaterial()}_cols=1;get cols(){return this._cols}set cols(e){this._cols=e,this.rebuildGeometry()}_rows=1;get rows(){return this._rows}set rows(e){this._rows=e,this.rebuildGeometry()}_gridOffsetX=0;get gridOffsetX(){return this._gridOffsetX}set gridOffsetX(e){this._gridOffsetX=e,this.rebuildGeometry()}_gridOffsetY=0;get gridOffsetY(){return this._gridOffsetY}set gridOffsetY(e){this._gridOffsetY=e,this.rebuildGeometry()}_spacingX=0;get spacingX(){return this._spacingX}set spacingX(e){this._spacingX=e,this.rebuildGeometry()}_spacingY=0;get spacingY(){return this._spacingY}set spacingY(e){this._spacingY=e,this.rebuildGeometry()}_cellWidth=0;get cellWidth(){return this._cellWidth}set cellWidth(e){this._cellWidth=e,this.rebuildGeometry()}_cellHeight=0;get cellHeight(){return this._cellHeight}set cellHeight(e){this._cellHeight=e,this.rebuildGeometry()}_pixelArt=!0;get pixelArt(){return this._pixelArt}set pixelArt(e){this._pixelArt=e,this.rebuildMaterial()}_mapWidth=1;get mapWidth(){return this._mapWidth}set mapWidth(e){this._mapWidth=e,this.rebuildMap()}_mapHeight=1;get mapHeight(){return this._mapHeight}set mapHeight(e){this._mapHeight=e,this.rebuildMap()}_cellSize=1;get cellSize(){return this._cellSize}set cellSize(e){this._cellSize=e,this.rebuildMap()}_cells=[];get cells(){return this._cells}set cells(e){this._cells=[...e],this.rebuildMap()}_solidTiles=[];get solidTiles(){return this._solidTiles}set solidTiles(e){this._solidTiles=[...e],this.rebuildSolids()}_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.rebuildGeometry()}mesh;loadedTexture;derivedSolids=[];onReady(){this.mesh=new Co(new ja,this.makeMaterial()),this.entity.node.add(this.mesh),this.rebuildMaterial(),this.rebuildMap()}onProjectionChange(){this.rebuildGeometry()}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose(),this.loadedTexture?.dispose(),this.loadedTexture=void 0,this.derivedSolids=[]}solids(){return this.derivedSolids}cellIndex(e,t){return bh(this.mapWidth,this.mapHeight,e,t)}cellAt(e,t){return xh(this.gridSpec(),e,t)}cellBounds(e,t){return Sh(this.gridSpec(),e,t)}gridSpec(){return{mapWidth:this.mapWidth,mapHeight:this.mapHeight,cellSize:this.cellSize,originX:this.entity?.position.x??0,originY:this.entity?.position.y??0}}rebuildMap(){this.rebuildGeometry(),this.rebuildSolids()}rebuildMaterial(){let e=this.mesh;if(!e||(this.loadedTexture?.dispose(),this.loadedTexture=void 0,e.material.dispose(),e.material=this.makeMaterial(),!this.texture))return;let t=this.texture,n=Are.load(t,()=>{this.loadedTexture===n&&this.texture===t&&this.rebuildGeometry()});this.pixelArt&&(n.magFilter=Ee,n.minFilter=Ee),n.colorSpace=rn,this.loadedTexture=n,e.material.map=n,e.material.color.set(16777215),e.material.needsUpdate=!0}makeMaterial(){return new uo({color:this.color,transparent:!0})}rebuildGeometry(){let e=this.mesh;if(!e)return;let t=[],n=[],r=[],i=Math.max(0,Math.floor(this.mapWidth)),a=Math.max(0,Math.floor(this.mapHeight)),o=this.cellSize;if(Number.isFinite(o)&&o>0){let e=this.loadedTexture?.image,s=e?.width&&e.width>0?e.width:Math.max(1,this.cols),c=e?.height&&e.height>0?e.height:Math.max(1,this.rows),l={gridOffsetX:this.gridOffsetX,gridOffsetY:this.gridOffsetY,spacingX:this.spacingX,spacingY:this.spacingY,cellWidth:this.cellWidth,cellHeight:this.cellHeight};for(let e=0;e<i*a;e++){let a=this.cells[e]??-1;if(!Number.isFinite(a)||a<0)continue;let u=e%i,d=Math.floor(e/i),f=(u+.5)*o,p=(d+.5)*o,m=this.game.projection===`isometric`?Ym(f,p):{x:f,y:p},h=this.game.projection===`isometric`?o:o/2,g=o/2,_=this.layer*.01;t.push(m.x-h,m.y-g,_,m.x+h,m.y-g,_,m.x+h,m.y+g,_,m.x-h,m.y+g,_);let v=gh(s,c,this.cols,this.rows,a,l),y=v.x/s,b=(v.x+v.width)/s,x=1-(v.y+v.height)/c,S=1-v.y/c;n.push(y,x,b,x,b,S,y,S);let C=t.length/3-4;r.push(C,C+1,C+2,C,C+2,C+3)}}let s=new ja;s.setAttribute(`position`,new ya(t,3)),s.setAttribute(`uv`,new ya(n,2)),s.setIndex(new ua(new Uint32Array(r),1)),e.geometry.dispose(),e.geometry=s}rebuildSolids(){if(!this.entity||!this.game)return;let e=new Set(this.solidTiles),t=Math.max(0,Math.floor(this.mapWidth)),n=Math.max(0,Math.floor(this.mapHeight)),r=[];for(let i=0;i<t*n;i++){let n=this.cells[i]??-1;if(!e.has(n))continue;let a=i%t,o=Math.floor(i/t),s=this.cellBounds(a,o);if(!s)continue;let c=new oh;c.entity=this.entity,c.game=this.game,c.width=this.cellSize,c.height=this.cellSize,c.offsetX=s.centerX-this.entity.position.x,c.offsetY=s.centerY-this.entity.position.y,r.push(c)}this.derivedSolids=r}};function jre(e,t,n,r,i,a,o,s){return Math.abs(e-i)*2<n+o&&Math.abs(t-a)*2<r+s}function Mre(e,t,n){let r=new Set(t),i=new Set,a=n;for(;a&&!i.has(a);){if(r.has(a))return a;i.add(a),a=e.fallbacks[a]}let[o]=r;return o}function wh(e,t){let n=new Set(t);return e.required.filter(e=>!n.has(e))}var Th=new Map;function Eh(e,t){Th.set(e,{...Th.get(e),...t})}var Dh=new Map;function Oh(){Dh.clear(),Th.clear(),nh(null)}function kh(e){Oh();for(let[t,n]of Object.entries(e.roles))Ah(t,n);for(let[t,n]of Object.entries(e.logicSets??{}))Eh(t,n)}function Ah(e,t){Dh.set(e,{...Dh.get(e),...t}),t.states&&Eh(e,t.states)}function jh(e){return Dh.get(e)}function Mh(){return[...Dh.keys()]}function Nh(e){return Th.get(e)}function Ph(){return[...Th.keys()]}function Nre(e){let t,n=1/0;for(let r of Th.keys()){let i=Pre(e,r);i<n&&(n=i,t=r)}return n<=Math.max(2,Math.floor(e.length/3))?t:void 0}function Pre(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=n[0];n[0]=r;for(let a=1;a<=t.length;a++){let o=n[a];n[a]=Math.min(o+1,n[a-1]+1,i+(e[r-1]===t[a-1]?0:1)),i=o}}return n[t.length]}function Fh(e,t){let n=e.indexOf(`:`);if(n<=0)return!1;let r=e.slice(0,n),i=e.slice(n+1);return r===`input`?t.justPressed(i):r===`timer`?t.elapsed>=Number(i):r===`signal`&&t.signals.has(i)}function Ih(e,t,n){return[...e[t]?.transitions??[],...e[`*`]?.transitions??[]].find(e=>Fh(e.on,n))}function Lh(e,t,n){return e.some(e=>e[n])?e:t?.[n]?[t]:e}var Rh=class extends Rm{static componentName=`StateMachine`;static displayName=`State Machine`;static params={role:{label:`Role`}};static transient=[`current`,`elapsed`,`instanceHooks`,`signals`,`warnedClips`,`lastFacing`];role=``;initial=``;states={};current=``;elapsed=0;instanceHooks=new Map;signals=new Set;warnedClips=new Set;lastFacing;onReady(){if(this.role&&!Nh(this.role)){let e=Ph(),t=Nre(this.role);console.error(`[waica] "${this.entity.name}": role "${this.role}" has no registered state code. Known: ${e.length?e.join(`, `):`(none)`}.`+(t?` Did you mean "${t}"?`:``))}let e=this.initial||Object.keys(this.states).find(e=>e!==`*`);e&&this.enter(e)}on(e,t){let n=this.instanceHooks.get(e)??[];n.push(t),this.instanceHooks.set(e,n)}signal(e){this.signals.add(e)}goto(e){e!==this.current&&this.enter(e)}onUpdate(e){if(this.current){this.run(`*`,`onUpdate`,e),this.run(this.current,`onUpdate`,e),this.elapsed+=e;for(let e=0;e<8;e++){let e=Ih(this.states,this.current,this.env());if(!e||e.to===this.current)break;e.on.startsWith(`input:`)&&this.game.input.consume(e.on.slice(6)),this.enter(e.to)}this.signals.clear(),this.reresolveOnFacingChange()}}onCollide(e){let t=this.current;t&&(this.runCollision(`*`,e),!(!this.entity.alive||!e.alive)&&this.runCollision(t,e))}env(){return{justPressed:e=>this.game.input.justPressed(e)&&!this.game.input.consumed(e),elapsed:this.elapsed,signals:this.signals}}hooksFor(e){let t=this.role?Nh(this.role)?.[e]:void 0;return[...t?[t]:[],...this.instanceHooks.get(e)??[]]}run(e,t,n=0){let r={entity:this.entity,game:this.game,fsm:this},i=e!==`*`&&this.role?Nh(this.role)?.default:void 0;for(let a of Lh(this.hooksFor(e),i,t))t===`onUpdate`?a.onUpdate?.(r,n):a[t]?.(r)}runCollision(e,t){let n={entity:this.entity,game:this.game,fsm:this},r=e!==`*`&&this.role?Nh(this.role)?.default:void 0;for(let i of Lh(this.hooksFor(e),r,`onCollide`))i.onCollide?.(n,t)}enter(e){this.current&&this.run(this.current,`onExit`),this.current=e,this.elapsed=0,this.playClip(e),this.run(e,`onEnter`)}playClip(e){let t=this.entity.get(vh);if(!t)return;let n=this.states[e]?.clip??e;this.playDirectionalClip(t,n)||(t.clips[n]?t.play(n):this.warnedClips.has(e)||(this.warnedClips.add(e),console.warn(`[waica] "${this.entity.name}": no clip "${n}" for state "${e}" — keeping "${t.current??`none`}"`)))}playDirectionalClip(e,t){let n=rh();if(!n)return!1;let r=this.facingProvider();if(!r)return!1;let i=r.getAnimationFacing();this.lastFacing=i;let a=hre(n,Object.keys(e.clips),t,i);return!a.clip||!e.clips[a.clip]?!1:(e.setFlipX(a.flip),e.play(a.clip),!0)}facingProvider(){return this.entity.components.find(e=>_re(e))}reresolveOnFacingChange(){if(!this.current||!rh())return;let e=this.entity.get(vh);if(!e)return;let t=this.facingProvider();!t||t.getAnimationFacing()===this.lastFacing||this.playDirectionalClip(e,this.states[this.current]?.clip??this.current)}},Fre=s({AnimatedSprite:()=>vh,CAMERA_DEFAULTS:()=>Nm,COLLISION_SHAPES:()=>Lne,ClipPlayer:()=>fh,Component:()=>Rm,DEFAULT_BINDINGS:()=>Vm,DEFAULT_COLLISION_POLYGON:()=>Tm,DynamicBody:()=>dh,Emitter:()=>Bm,Entity:()=>qne,Game:()=>pre,GameUi:()=>th,Hitbox:()=>zm,Input:()=>Jne,RUNTIME_BRIDGE_PROTOCOL_VERSION:()=>1,RUNTIME_BRIDGE_SYMBOL:()=>Xne,RUNTIME_PROJECTION_LIMITS:()=>Um,RuntimeBridgeOperationError:()=>Hm,SOLID_SOURCE_SYMBOL:()=>sh,Solid:()=>oh,Sprite:()=>ah,StateMachine:()=>Rh,Stats:()=>eh,THREE:()=>bp,Tilemap:()=>Ch,aabbOverlap:()=>jre,authoringDefaults:()=>bre,cellAt:()=>xh,cellBounds:()=>Sh,cellIndex:()=>bh,collectModuleComponents:()=>xre,collisionBounds:()=>km,collisionOverlap:()=>Am,collisionVertices:()=>Om,defineRole:()=>Ah,defineStates:()=>Eh,evaluateTrigger:()=>Fh,installArchetype:()=>kh,installDirectionalAnimation:()=>nh,installedDirectionalAnimation:()=>rh,isAnimationFacingProvider:()=>_re,isCameraVelocityProvider:()=>Une,isSolidSource:()=>Tre,isYSortParticipant:()=>ore,loadScene:()=>lre,locateFrame:()=>mh,logicSet:()=>Nh,mergeRegistryComponents:()=>Sre,missingClips:()=>wh,nextTransition:()=>Ih,projectIsometric:()=>Ym,registeredLogicSets:()=>Ph,registeredRoles:()=>Mh,resetRegistries:()=>Oh,resolveClip:()=>Mre,resolveCollisionPoints:()=>Dm,resolveComponentUpdateSchedule:()=>Lm,resolveDirectionalClip:()=>hre,resolveEntityComponents:()=>Qm,resolveProps:()=>cre,resolveSceneCamera:()=>Pm,resolveSolidAxis:()=>uh,roleDefinition:()=>jh,sceneSolids:()=>ch,screenInputToLogical:()=>Jm,sheetCell:()=>gh,sheetFrameCount:()=>ph,spawnFromJson:()=>$m,spritePlacement:()=>ih,stepSceneCamera:()=>Wne,unprojectIsometric:()=>Xm,ySortZ:()=>sre}),zh=[{file:`waica-dog.png`,uri:`waica:dog`},{file:`waica-coin.png`,uri:`waica:coin`},{file:`waica-slime.png`,uri:`waica:slime`}],Bh=class extends Rm{static componentName=`PlatformerMotor`;static displayName=`Motor`;static params={moveSpeed:{label:`Speed`,min:1,max:30,step:.5},acceleration:{label:`Acceleration`,min:5,max:200,step:5},deceleration:{label:`Deceleration`,min:5,max:200,step:5},jumpVelocity:{label:`Jump impulse`,min:2,max:40,step:.5},gravity:{label:`Gravity`,min:5,max:120,step:1},maxFallSpeed:{label:`Max fall speed`,min:5,max:60,step:1},coyoteTime:{label:`Coyote time (s)`,min:0,max:.4,step:.01},jumpBuffer:{label:`Jump buffer (s)`,min:0,max:.4,step:.01},jumpCutStrength:{label:`Jump cut`,min:1,max:6,step:.1},runThreshold:{label:`Run threshold`,min:0,max:5,step:.1},squashStretch:{label:`Squash & stretch`}};static transient=[`vx`,`vy`,`grounded`,`facing`,`coyoteTimer`,`bufferTimer`,`squashX`,`squashY`];moveSpeed=9;acceleration=60;deceleration=80;jumpVelocity=14;gravity=42;maxFallSpeed=22;coyoteTime=.1;jumpBuffer=.12;jumpCutStrength=2.5;runThreshold=.5;squashStretch=!0;hitboxWidth=.9;hitboxHeight=.95;vx=0;vy=0;grounded=!1;facing=1;coyoteTimer=0;bufferTimer=0;squashX=1;squashY=1;getCameraVelocity(){return{vx:this.vx,vy:this.vy}}tick(e){this.coyoteTimer=this.grounded?this.coyoteTime:this.coyoteTimer-e,this.bufferTimer=this.game.input.justPressed(`jump`)?this.jumpBuffer:this.bufferTimer-e,this.squashX=gr.damp(this.squashX,1,12,e),this.squashY=gr.damp(this.squashY,1,12,e),this.entity.scale.set(this.facing*this.squashX,this.squashY,1)}runTowards(e,t){let n=e*this.moveSpeed,r=e===0?this.deceleration:this.acceleration;this.vx=gr.damp(this.vx,n,r/this.moveSpeed,t),e!==0&&(this.facing=e<0?-1:1)}wantsJump(){return this.bufferTimer>0&&this.coyoteTimer>0}jump(){this.vy=this.jumpVelocity,this.coyoteTimer=0,this.bufferTimer=0,this.game.input.consume(`jump`),this.applySquash(.8,1.25)}applyGravity(e){let t=this.vy>0&&!this.game.input.held(`jump`)?this.jumpCutStrength:1;this.vy=Math.max(this.vy-this.gravity*t*e,-this.maxFallSpeed)}step(e){let t=this.entity.position,n=!this.grounded,r=t.x;t.x+=this.vx*e,this.resolveAxis(`x`,r),this.grounded=!1;let i=t.y;t.y+=this.vy*e,this.resolveAxis(`y`,i),n&&this.grounded&&this.applySquash(1.25,.8)}halt(){this.vx=0,this.vy=0}applySquash(e,t){this.squashStretch&&(this.squashX=e,this.squashY=t)}resolveAxis(e,t){uh({entity:this.entity,axis:e,previous:t,body:()=>this.collisionBody()})&&(e===`x`?this.vx=0:this.vy<=0?(this.vy=0,this.grounded=!0):this.vy=0)}collisionBody(){return{x:this.entity.position.x,y:this.entity.position.y,width:this.hitboxWidth,height:this.hitboxHeight,shape:`rectangle`}}},Ire=1e-9,Lre=.1;function Vh(e,t){return[...e[t]?.transitions??[],...e[`*`]?.transitions??[]].filter(e=>e.on===`signal:death`).map(e=>e.to)}function Rre(e,t){return Vh(e,t).length>0}var Hh=class extends Rm{static componentName=`Health`;static updateAfter=[`StateMachine`];static params={max:{label:`Max health`,min:1,max:20,step:1},invulnerability:{label:`Invulnerability`,min:0,max:5,step:.1},stat:{label:`Stat`,ref:`stat`}};static transient=[`current`,`invulnerable`,`deathPending`,`expectedStates`,`lastDamageSource`,`blinkClock`];max=3;invulnerability=0;stat=``;current=0;lastDamageSource;invulnerable=0;blinkClock=0;get blinking(){return this.invulnerable>0}deathPending=!1;expectedStates=[];inspectState(){return{max:this.max,invulnerability:this.invulnerability,stat:this.stat,current:this.current,invulnerable:this.invulnerable,blinking:this.blinking,lastDamageSource:this.lastDamageSource?.name??null}}onReady(){this.current=Math.max(0,this.max),this.publish(),this.current===0&&this.die()}onUpdate(e){this.invulnerable>0&&(this.invulnerable=Math.max(0,this.invulnerable-e),this.blink(e)),this.deathPending&&(this.deathPending=!1,this.settleDeath())}settleDeath(){let e=this.expectedStates;if(this.expectedStates=[],!this.entity.alive||this.current>0)return;let t=this.entity.get(Rh);t&&e.includes(t.current)||this.entity.destroy()}damage(e,t){if(!(!(e>0)||this.current<=0||this.invulnerable>0)){if(this.current=Math.max(0,this.current-e),this.current<Ire&&(this.current=0),this.lastDamageSource=t,this.publish(),this.game.events.emit(`damage`,{entity:this.entity,amount:e,current:this.current,source:t}),this.invulnerable=this.invulnerability,this.blinkClock=0,this.current===0){this.die();return}this.entity.get(Rh)?.signal(`hurt`)}}heal(e){e<=0||(this.current=Math.min(this.max,this.current+e),this.publish())}publish(){this.stat&&this.game.stats.set(this.stat,this.current)}blink(e){if(this.invulnerable>0){this.blinkClock+=e,this.entity.node.visible=Math.floor(this.blinkClock/Lre)%2==0;return}this.entity.node.visible=!0}die(){this.invulnerable=0,this.blinkClock=0,this.game.events.emit(`death`,{entity:this.entity});let e=this.entity.get(Rh),t=e?Vh(e.states,e.current):[];if(e&&t.length>0){e.signal(`death`),this.expectedStates=t,this.deathPending=!0;return}this.entity.destroy()}},Uh=class extends Rm{static componentName=`Respawnable`;static displayName=`Respawn`;static transient=[`spawn`];spawn=new A;onReady(){this.spawn.copy(this.entity.position)}respawn(){this.entity.position.copy(this.spawn),this.entity.get(Bh)?.halt()}},Wh={initial:`idle`,states:{idle:{transitions:[{on:`signal:move`,to:`run`},{on:`signal:rise`,to:`jump`},{on:`signal:fall`,to:`fall`}]},run:{transitions:[{on:`signal:stop`,to:`idle`},{on:`signal:rise`,to:`jump`},{on:`signal:fall`,to:`fall`}]},jump:{transitions:[{on:`signal:fall`,to:`fall`},{on:`signal:land`,to:`idle`}]},fall:{transitions:[{on:`signal:rise`,to:`jump`},{on:`signal:land`,to:`idle`}]},dead:{clip:`idle`,transitions:[{on:`timer:0.8`,to:`idle`}]},"*":{transitions:[{on:`signal:death`,to:`dead`}]}}};function Gh({entity:e,game:t,fsm:n},r){let i=e.get(Bh);i&&(i.runTowards(t.input.axis(),r),i.wantsJump()&&i.jump(),i.applyGravity(r),i.step(r),i.grounded?(n.signal(`land`),n.signal(Math.abs(i.vx)>i.runThreshold?`move`:`stop`)):n.signal(i.vy>0?`rise`:`fall`))}var Kh={description:`You control this character with the project controls: run and jump with platformer physics and curated game feel (coyote time, jump buffering). Its states move the Motor.`,driver:`PlatformerMotor`,graph:Wh,signals:{move:`on the ground and moving`,stop:`on the ground and standing still`,rise:`airborne, going up`,fall:`airborne, going down`,land:`just touched the ground`},states:{"*":{onUpdate({entity:e},t){e.get(Bh)?.tick(t)}},default:{onUpdate:Gh},idle:{onUpdate:Gh},run:{onUpdate:Gh},jump:{onUpdate:Gh},fall:{onUpdate:Gh},dead:{onUpdate(){},onExit({entity:e}){e.get(Uh)?.respawn(),e.get(Hh)?.heal(1/0)}}}},qh=class extends Rm{static displayName=`Motor`;static params={moveSpeed:{label:`Speed`,min:1,max:30,step:.5},acceleration:{label:`Acceleration`,min:5,max:200,step:5},deceleration:{label:`Deceleration`,min:5,max:200,step:5},walkThreshold:{label:`Walk threshold`,min:0,max:5,step:.1},knockbackSpeed:{label:`Knockback speed`,min:0,max:30,step:.5}};static transient=[`vx`,`vy`,`facing`];moveSpeed=6;acceleration=60;deceleration=80;walkThreshold=.5;knockbackSpeed=8;hitboxWidth=.9;hitboxHeight=.6;vx=0;vy=0;getCameraVelocity(){return{vx:this.vx,vy:this.vy}}getAnimationFacing(){return this.facing}accelerateToward(e,t,n){let r=e===0?this.deceleration:this.acceleration,i=t===0?this.deceleration:this.acceleration;this.vx=gr.damp(this.vx,e*this.moveSpeed,r/this.moveSpeed,n),this.vy=gr.damp(this.vy,t*this.moveSpeed,i/this.moveSpeed,n)}speed(){return Math.hypot(this.vx,this.vy)}step(e){let t=this.entity.position,n=t.x;t.x+=this.vx*e,this.resolveAxis(`x`,n)&&(this.vx=0);let r=t.y;t.y+=this.vy*e,this.resolveAxis(`y`,r)&&(this.vy=0)}halt(){this.vx=0,this.vy=0}resolveAxis(e,t){return uh({entity:this.entity,axis:e,previous:t,body:()=>this.collisionBody()})}collisionBody(){return{x:this.entity.position.x,y:this.entity.position.y,width:this.hitboxWidth,height:this.hitboxHeight,shape:`rectangle`}}},Jh=class extends qh{static componentName=`TopDownMotor`;facing=`s`;run(e,t,n){let r=e,i=t,a=Math.hypot(r,i);a>1&&(r/=a,i/=a),this.accelerateToward(r,i,n);let o=Math.abs(e),s=Math.abs(t);o>s?this.facing=e<0?`w`:`e`:s>o&&(this.facing=t<0?`s`:`n`)}},zre={n:{x:0,y:1},ne:{x:1,y:1},e:{x:1,y:0},se:{x:1,y:-1},s:{x:0,y:-1},sw:{x:-1,y:-1},w:{x:-1,y:0},nw:{x:-1,y:1}};function Yh(e,t){if(!(e===0&&t===0))return t>0?e>0?`ne`:e<0?`nw`:`n`:t<0?e>0?`se`:e<0?`sw`:`s`:e>0?`e`:`w`}function Bre(e){let t=zre[e];return t?{...t}:void 0}function Xh(e,t){let n=Bre(e);if(!n)return;if(t===`isometric`)return Jm(n.x,n.y);let r=Math.hypot(n.x,n.y);return{x:n.x/r,y:n.y/r}}var Zh=class extends qh{static componentName=`IsoMotor`;facing=`s`;hitboxHeight=.9;run(e,t,n){let r=Jm(e,t);this.accelerateToward(r.x,r.y,n),this.facing=Yh(e,t)??this.facing}},Qh=class extends Rm{static componentName=`Interactable`;static params={line:{label:`Line`},radius:{label:`Radius`,min:.5,max:10,step:.25}};line=`Hello, traveler!`;radius=1.5},$h=`npc-line`,eg={[$h]:`<style>
4325
+ }`,One=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new ec(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new eu({vertexShader:Ene,fragmentShader:Dne,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Co(new Nl(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},kne=class extends qn{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=typeof XRWebGLBinding<`u`,h=new One,g={},_=t.getContextAttributes(),v=null,y=null,b=[],x=[],S=new _r,C=null,w=new ld;w.viewport=new Lr;let T=new ld;T.viewport=new Lr;let E=[w,T],D=new Hd,ee=null,te=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getGripSpace()},this.getHand=function(e){let t=b[e];return t===void 0&&(t=new vi,b[e]=t),t.getHandSpace()};function O(e){let t=x.indexOf(e.inputSource);if(t===-1)return;let n=b[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function ne(){r.removeEventListener(`select`,O),r.removeEventListener(`selectstart`,O),r.removeEventListener(`selectend`,O),r.removeEventListener(`squeeze`,O),r.removeEventListener(`squeezestart`,O),r.removeEventListener(`squeezeend`,O),r.removeEventListener(`end`,ne),r.removeEventListener(`inputsourceschange`,re);for(let e=0;e<b.length;e++){let t=x[e];t!==null&&(x[e]=null,b[e].disconnect(t))}ee=null,te=null,h.reset();for(let e in g)delete g[e];e.setRenderTarget(v),f=null,d=null,u=null,r=null,y=null,de.stop(),n.isPresenting=!1,e.setPixelRatio(C),e.setSize(S.width,S.height,!1),n.dispatchEvent({type:`sessionend`})}this.setFramebufferScaleFactor=function(e){i=e,n.isPresenting===!0&&Hn(`WebXRManager: Cannot change framebuffer scale while presenting.`)},this.setReferenceSpaceType=function(e){o=e,n.isPresenting===!0&&Hn(`WebXRManager: Cannot change reference space type while presenting.`)},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(e){c=e},this.getBaseLayer=function(){return d===null?f:d},this.getBinding=function(){return u===null&&m&&(u=new XRWebGLBinding(r,t)),u},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=async function(l){if(r=l,r!==null){if(v=e.getRenderTarget(),r.addEventListener(`select`,O),r.addEventListener(`selectstart`,O),r.addEventListener(`selectend`,O),r.addEventListener(`squeeze`,O),r.addEventListener(`squeezestart`,O),r.addEventListener(`squeezeend`,O),r.addEventListener(`end`,ne),r.addEventListener(`inputsourceschange`,re),_.xrCompatible!==!0&&await t.makeXRCompatible(),C=e.getPixelRatio(),e.getSize(S),m&&`createProjectionLayer`in XRWebGLBinding.prototype){let n=null,a=null,o=null;_.depth&&(o=_.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=_.stencil?Qe:Ze,a=_.stencil?Ge:Be);let s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:i};u=this.getBinding(),d=u.createProjectionLayer(s),r.updateRenderState({layers:[d]}),e.setPixelRatio(1),e.setSize(d.textureWidth,d.textureHeight,!1),y=new zr(d.textureWidth,d.textureHeight,{format:Xe,type:Fe,depthTexture:new Qs(d.textureWidth,d.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:_.stencil,colorSpace:e.outputColorSpace,samples:_.antialias?4:0,resolveDepthBuffer:d.ignoreDepthValues===!1,resolveStencilBuffer:d.ignoreDepthValues===!1})}else{let n={antialias:_.antialias,alpha:!0,depth:_.depth,stencil:_.stencil,framebufferScaleFactor:i};f=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),y=new zr(f.framebufferWidth,f.framebufferHeight,{format:Xe,type:Fe,colorSpace:e.outputColorSpace,stencilBuffer:_.stencil,resolveDepthBuffer:f.ignoreDepthValues===!1,resolveStencilBuffer:f.ignoreDepthValues===!1})}y.isXRRenderTarget=!0,this.setFoveation(s),c=null,a=await r.requestReferenceSpace(o),de.setContext(r),de.start(),n.isPresenting=!0,n.dispatchEvent({type:`sessionstart`})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode},this.getDepthTexture=function(){return h.getDepthTexture()};function re(e){for(let t=0;t<e.removed.length;t++){let n=e.removed[t],r=x.indexOf(n);r>=0&&(x[r]=null,b[r].disconnect(n))}for(let t=0;t<e.added.length;t++){let n=e.added[t],r=x.indexOf(n);if(r===-1){for(let e=0;e<b.length;e++)if(e>=x.length){x.push(n),r=e;break}else if(x[e]===null){x[e]=n,r=e;break}if(r===-1)break}let i=b[r];i&&i.connect(n)}}let ie=new A,ae=new A;function oe(e,t,n){ie.setFromMatrixPosition(t.matrixWorld),ae.setFromMatrixPosition(n.matrixWorld);let r=ie.distanceTo(ae),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function se(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),D.near=T.near=w.near=t,D.far=T.far=w.far=n,(ee!==D.near||te!==D.far)&&(r.updateRenderState({depthNear:D.near,depthFar:D.far}),ee=D.near,te=D.far),D.layers.mask=e.layers.mask|6,w.layers.mask=D.layers.mask&-5,T.layers.mask=D.layers.mask&-3;let i=e.parent,a=D.cameras;se(D,i);for(let e=0;e<a.length;e++)se(a[e],i);a.length===2?oe(D,w,T):D.projectionMatrix.copy(w.projectionMatrix),ce(e,D,i)};function ce(e,t,n){n===null?e.matrix.copy(t.matrixWorld):(e.matrix.copy(n.matrixWorld),e.matrix.invert(),e.matrix.multiply(t.matrixWorld)),e.matrix.decompose(e.position,e.quaternion,e.scale),e.updateMatrixWorld(!0),e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse),e.isPerspectiveCamera&&(e.fov=Zn*2*Math.atan(1/e.projectionMatrix.elements[5]),e.zoom=1)}this.getCamera=function(){return D},this.getFoveation=function(){if(!(d===null&&f===null))return s},this.setFoveation=function(e){s=e,d!==null&&(d.fixedFoveation=e),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=e)},this.hasDepthSensing=function(){return h.texture!==null},this.getDepthSensingMesh=function(){return h.getMesh(D)},this.getCameraTexture=function(e){return g[e]};let le=null;function ue(t,i){if(l=i.getViewerPose(c||a),p=i,l!==null){let t=l.views;f!==null&&(e.setRenderTargetFramebuffer(y,f.framebuffer),e.setRenderTarget(y));let i=!1;t.length!==D.cameras.length&&(D.cameras.length=0,i=!0);for(let n=0;n<t.length;n++){let r=t[n],a=null;if(f!==null)a=f.getViewport(r);else{let t=u.getViewSubImage(d,r);a=t.viewport,n===0&&(e.setRenderTargetTextures(y,t.colorTexture,t.depthStencilTexture),e.setRenderTarget(y))}let o=E[n];o===void 0&&(o=new ld,o.layers.enable(n),o.viewport=new Lr,E[n]=o),o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.quaternion,o.scale),o.projectionMatrix.fromArray(r.projectionMatrix),o.projectionMatrixInverse.copy(o.projectionMatrix).invert(),o.viewport.set(a.x,a.y,a.width,a.height),n===0&&(D.matrix.copy(o.matrix),D.matrix.decompose(D.position,D.quaternion,D.scale)),i===!0&&D.cameras.push(o)}let a=r.enabledFeatures;if(a&&a.includes(`depth-sensing`)&&r.depthUsage==`gpu-optimized`&&m){u=n.getBinding();let e=u.getDepthInformation(t[0]);e&&e.isValid&&e.texture&&h.init(e,r.renderState)}if(a&&a.includes(`camera-access`)&&m){e.state.unbindTexture(),u=n.getBinding();for(let e=0;e<t.length;e++){let n=t[e].camera;if(n){let e=g[n];e||(e=new ec,g[n]=e);let t=u.getCameraImage(n);e.sourceTexture=t}}}}for(let e=0;e<b.length;e++){let t=x[e],n=b[e];t!==null&&n!==void 0&&n.update(t,i,c||a)}le&&le(t,i),i.detectedPlanes&&n.dispatchEvent({type:`planesdetected`,data:i}),p=null}let de=new xp;de.setAnimationLoop(ue),this.setAnimationLoop=function(e){le=e},this.dispose=function(){}}},Ane=new Wr,jne=new xr;jne.set(-1,0,0,0,1,0,0,0,1);function Mne(e,t){function n(e,t){e.matrixAutoUpdate===!0&&e.updateMatrix(),t.value.copy(e.matrix)}function r(t,n){n.color.getRGB(t.fogColor.value,Xl(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)}function i(e,t,n,r,i){t.isNodeMaterial?t.uniformsNeedUpdate=!1:t.isMeshBasicMaterial?a(e,t):t.isMeshLambertMaterial?(a(e,t),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)):t.isMeshToonMaterial?(a(e,t),d(e,t)):t.isMeshPhongMaterial?(a(e,t),u(e,t),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)):t.isMeshStandardMaterial?(a(e,t),f(e,t),t.isMeshPhysicalMaterial&&p(e,t,i)):t.isMeshMatcapMaterial?(a(e,t),m(e,t)):t.isMeshDepthMaterial?a(e,t):t.isMeshDistanceMaterial?(a(e,t),h(e,t)):t.isMeshNormalMaterial?a(e,t):t.isLineBasicMaterial?(o(e,t),t.isLineDashedMaterial&&s(e,t)):t.isPointsMaterial?c(e,t,n,r):t.isSpriteMaterial?l(e,t):t.isShadowMaterial?(e.color.value.copy(t.color),e.opacity.value=t.opacity):t.isShaderMaterial&&(t.uniformsNeedUpdate=!1)}function a(e,r){e.opacity.value=r.opacity,r.color&&e.diffuse.value.copy(r.color),r.emissive&&e.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(e.map.value=r.map,n(r.map,e.mapTransform)),r.alphaMap&&(e.alphaMap.value=r.alphaMap,n(r.alphaMap,e.alphaMapTransform)),r.bumpMap&&(e.bumpMap.value=r.bumpMap,n(r.bumpMap,e.bumpMapTransform),e.bumpScale.value=r.bumpScale,r.side===1&&(e.bumpScale.value*=-1)),r.normalMap&&(e.normalMap.value=r.normalMap,n(r.normalMap,e.normalMapTransform),e.normalScale.value.copy(r.normalScale),r.side===1&&e.normalScale.value.negate()),r.displacementMap&&(e.displacementMap.value=r.displacementMap,n(r.displacementMap,e.displacementMapTransform),e.displacementScale.value=r.displacementScale,e.displacementBias.value=r.displacementBias),r.emissiveMap&&(e.emissiveMap.value=r.emissiveMap,n(r.emissiveMap,e.emissiveMapTransform)),r.specularMap&&(e.specularMap.value=r.specularMap,n(r.specularMap,e.specularMapTransform)),r.alphaTest>0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,e.envMapRotation.value.setFromMatrix4(Ane.makeRotationFromEuler(o)).transpose(),a.isCubeTexture&&a.isRenderTargetTexture===!1&&e.envMapRotation.value.premultiply(jne),e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function Nne(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(g(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,v));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e<s;e++)if(o.indexOf(e)===-1)return o.push(e),e;return Un(`WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.`),0}function f(t){let n=i[t.id],r=t.uniforms,a=t.__cache;e.bindBuffer(e.UNIFORM_BUFFER,n);for(let e=0,t=r.length;e<t;e++){let t=r[e];if(Array.isArray(t))for(let n=0,r=t.length;n<r;n++)p(t[n],e,n,a);else p(t,e,0,a)}e.bindBuffer(e.UNIFORM_BUFFER,null)}function p(t,n,r,i){if(h(t,n,r,i)===!0){let n=t.__offset,r=t.value;if(Array.isArray(r)){let e=0;for(let n=0;n<r.length;n++){let i=r[n],a=_(i);m(i,t.__data,e),typeof i!=`number`&&typeof i!=`boolean`&&!i.isMatrix3&&!ArrayBuffer.isView(i)&&(e+=a.storage/Float32Array.BYTES_PER_ELEMENT)}}else m(r,t.__data,0);e.bufferSubData(e.UNIFORM_BUFFER,n,t.__data)}}function m(e,t,n){typeof e==`number`||typeof e==`boolean`?t[0]=e:e.isMatrix3?(t[0]=e.elements[0],t[1]=e.elements[1],t[2]=e.elements[2],t[3]=0,t[4]=e.elements[3],t[5]=e.elements[4],t[6]=e.elements[5],t[7]=0,t[8]=e.elements[6],t[9]=e.elements[7],t[10]=e.elements[8],t[11]=0):ArrayBuffer.isView(e)?t.set(new e.constructor(e.buffer,e.byteOffset,t.length)):e.toArray(t,n)}function h(e,t,n,r){let i=e.value,a=t+`_`+n;if(r[a]===void 0)return typeof i==`number`||typeof i==`boolean`?r[a]=i:ArrayBuffer.isView(i)?r[a]=i.slice():r[a]=i.clone(),!0;{let e=r[a];if(typeof i==`number`||typeof i==`boolean`){if(e!==i)return r[a]=i,!0}else if(ArrayBuffer.isView(i))return!0;else if(e.equals(i)===!1)return e.copy(i),!0}return!1}function g(e){let t=e.uniforms,n=0;for(let e=0,r=t.length;e<r;e++){let r=Array.isArray(t[e])?t[e]:[t[e]];for(let e=0,t=r.length;e<t;e++){let t=r[e],i=Array.isArray(t.value)?t.value:[t.value];for(let e=0,r=i.length;e<r;e++){let r=i[e],a=_(r),o=n%16,s=o%a.boundary,c=o+s;n+=s,c!==0&&16-c<a.storage&&(n+=16-c),t.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT),t.__offset=n,n+=a.storage}}}let r=n%16;return r>0&&(n+=16-r),e.__size=n,e.__cache={},this}function _(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?Hn(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):ArrayBuffer.isView(e)?(t.boundary=16,t.storage=e.byteLength):Hn(`WebGLRenderer: Unsupported uniform value type.`,e),t}function v(t){let n=t.target;n.removeEventListener(`dispose`,v);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function y(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:y}}var Pne=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),wm=null;function Fne(){return wm===null&&(wm=new Lo(Pne,16,16,tt,He),wm.name=`DFG_LUT`,wm.minFilter=Ae,wm.magFilter=Ae,wm.wrapS=we,wm.wrapT=we,wm.generateMipmaps=!1,wm.needsUpdate=!0),wm}var Ine=class{constructor(e={}){let{canvas:t=In(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=Fe}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([it,nt,et]),g=new Set([Fe,Be,Re,Ge,Ue,We]),_=new Uint32Array(4),v=new Int32Array(4),y=new A,b=null,x=null,S=[],C=[],w=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let T=this,E=!1,D=null,ee=null,te=null,O=null;this._outputColorSpace=rn;let ne=0,re=0,ie=null,ae=-1,oe=null,se=new Lr,ce=new Lr,le=null,ue=new Ci(0),de=0,fe=t.width,pe=t.height,me=1,he=null,ge=null,_e=new Lr(0,0,fe,pe),ve=new Lr(0,0,fe,pe),ye=!1,be=new ns,xe=!1,Se=!1,Ce=new Wr,we=new A,Te=new Lr,Ee={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},De=!1;function Oe(){return ie===null?me:1}let k=n;function ke(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r185`),t.addEventListener(`webglcontextlost`,ft,!1),t.addEventListener(`webglcontextrestored`,pt,!1),t.addEventListener(`webglcontextcreationerror`,mt,!1),k===null){let t=`webgl2`;if(k=ke(t,e),k===null)throw ke(t)?Error(`THREE.WebGLRenderer: Error creating WebGL context with your selected attributes.`):Error(`THREE.WebGLRenderer: Error creating WebGL context.`)}}catch(e){throw Un(`WebGLRenderer: `+e.message),e}let Ae,je,Me,Pe,Ie,Le,ze,Ve,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,tt,rt,at,ot,st,ct,lt;function ut(){Ae=new Mee(k),Ae.init(),st=new Tne(k,Ae),je=new jp(k,Ae,e,st),Me=new Cne(k,Ae),je.reversedDepthBuffer&&d&&Me.buffers.depth.setReversed(!0),ee=k.createFramebuffer(),te=k.createFramebuffer(),O=k.createFramebuffer(),Pe=new Fee(k),Ie=new lne,Le=new wne(k,Ae,Me,Ie,je,st,Pe),ze=new jee(T),Ve=new Sp(k),ct=new kp(k,Ve),Ke=new Nee(k,Ve,Pe,ct),qe=new Lee(k,Ke,Ve,ct,Pe),rt=new Iee(k,je,Le),Qe=new Mp(Ie),Je=new cne(T,ze,Ae,je,ct,Qe),Ye=new Mne(T,Ie),Xe=new dne,Ze=new _ne(Ae),tt=new Cee(T,ze,Me,qe,p,s),$e=new Sne(T,qe,je),lt=new Nne(k,Pe,je,Me),at=new Ap(k,Ae,Pe),ot=new Pee(k,Ae,Pe),Pe.programs=Je.programs,T.capabilities=je,T.extensions=Ae,T.properties=Ie,T.renderLists=Xe,T.shadowMap=$e,T.state=Me,T.info=Pe}ut(),m!==1009&&(w=new zee(m,t.width,t.height,o,r,i));let dt=new kne(T,k);this.xr=dt,this.getContext=function(){return k},this.getContextAttributes=function(){return k.getContextAttributes()},this.forceContextLoss=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return me},this.setPixelRatio=function(e){e!==void 0&&(me=e,this.setSize(fe,pe,!1))},this.getSize=function(e){return e.set(fe,pe)},this.setSize=function(e,n,r=!0){if(dt.isPresenting){Hn(`WebGLRenderer: Can't change size while VR device is presenting.`);return}fe=e,pe=n,t.width=Math.floor(e*me),t.height=Math.floor(n*me),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),w!==null&&w.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(fe*me,pe*me).floor()},this.setDrawingBufferSize=function(e,n,r){fe=e,pe=n,me=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){Un(`WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t<e.length;t++)if(e[t].isOutputPass===!0){Hn(`WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.`);break}}w.setEffects(e||[])},this.getCurrentViewport=function(e){return e.copy(se)},this.getViewport=function(e){return e.copy(_e)},this.setViewport=function(e,t,n,r){e.isVector4?_e.set(e.x,e.y,e.z,e.w):_e.set(e,t,n,r),Me.viewport(se.copy(_e).multiplyScalar(me).round())},this.getScissor=function(e){return e.copy(ve)},this.setScissor=function(e,t,n,r){e.isVector4?ve.set(e.x,e.y,e.z,e.w):ve.set(e,t,n,r),Me.scissor(ce.copy(ve).multiplyScalar(me).round())},this.getScissorTest=function(){return ye},this.setScissorTest=function(e){Me.setScissorTest(ye=e)},this.setOpaqueSort=function(e){he=e},this.setTransparentSort=function(e){ge=e},this.getClearColor=function(e){return e.copy(tt.getClearColor())},this.setClearColor=function(){tt.setClearColor(...arguments)},this.getClearAlpha=function(){return tt.getClearAlpha()},this.setClearAlpha=function(){tt.setClearAlpha(...arguments)},this.clear=function(e=!0,t=!0,n=!0){let r=0;if(e){let e=!1;if(ie!==null){let t=ie.texture.format;e=h.has(t)}if(e){let e=ie.texture.type,t=g.has(e),n=tt.getClearColor(),r=tt.getClearAlpha(),i=n.r,a=n.g,o=n.b;t?(_[0]=i,_[1]=a,_[2]=o,_[3]=r,k.clearBufferuiv(k.COLOR,0,_)):(v[0]=i,v[1]=a,v[2]=o,v[3]=r,k.clearBufferiv(k.COLOR,0,v))}else r|=k.COLOR_BUFFER_BIT}t&&(r|=k.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),n&&(r|=k.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),r!==0&&k.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.setNodesHandler=function(e){e.setRenderer(this),D=e},this.dispose=function(){t.removeEventListener(`webglcontextlost`,ft,!1),t.removeEventListener(`webglcontextrestored`,pt,!1),t.removeEventListener(`webglcontextcreationerror`,mt,!1),tt.dispose(),Xe.dispose(),Ze.dispose(),Ie.dispose(),ze.dispose(),qe.dispose(),ct.dispose(),lt.dispose(),Je.dispose(),dt.dispose(),dt.removeEventListener(`sessionstart`,xt),dt.removeEventListener(`sessionend`,St),Ct.stop()};function ft(e){e.preventDefault(),Bn(`WebGLRenderer: Context Lost.`),E=!0}function pt(){Bn(`WebGLRenderer: Context Restored.`),E=!1;let e=Pe.autoReset,t=$e.enabled,n=$e.autoUpdate,r=$e.needsUpdate,i=$e.type;ut(),Pe.autoReset=e,$e.enabled=t,$e.autoUpdate=n,$e.needsUpdate=r,$e.type=i}function mt(e){Un(`WebGLRenderer: A WebGL context could not be created. Reason: `,e.statusMessage)}function ht(e){let t=e.target;t.removeEventListener(`dispose`,ht),gt(t)}function gt(e){_t(e),Ie.remove(e)}function _t(e){let t=Ie.get(e).programs;t!==void 0&&(t.forEach(function(e){Je.releaseProgram(e)}),e.isShaderMaterial&&Je.releaseShaderCache(e))}this.renderBufferDirect=function(e,t,n,r,i,a){t===null&&(t=Ee);let o=i.isMesh&&i.matrixWorld.determinantAffine()<0,s=Nt(e,t,n,r,i);Me.setMaterial(r,o);let c=n.index,l=1;if(r.wireframe===!0){if(c=Ke.getWireframeAttribute(n),c===void 0)return;l=2}let u=n.drawRange,d=n.attributes.position,f=u.start*l,p=(u.start+u.count)*l;a!==null&&(f=Math.max(f,a.start*l),p=Math.min(p,(a.start+a.count)*l)),c===null?d!=null&&(f=Math.max(f,0),p=Math.min(p,d.count)):(f=Math.max(f,0),p=Math.min(p,c.count));let m=p-f;if(m<0||m===1/0)return;ct.setup(i,r,s,n,c);let h,g=at;if(c!==null&&(h=Ve.get(c),g=ot,g.setIndex(h)),i.isMesh)r.wireframe===!0?(Me.setLineWidth(r.wireframeLinewidth*Oe()),g.setMode(k.LINES)):g.setMode(k.TRIANGLES);else if(i.isLine){let e=r.linewidth;e===void 0&&(e=1),Me.setLineWidth(e*Oe()),i.isLineSegments?g.setMode(k.LINES):i.isLineLoop?g.setMode(k.LINE_LOOP):g.setMode(k.LINE_STRIP)}else i.isPoints?g.setMode(k.POINTS):i.isSprite&&g.setMode(k.TRIANGLES);if(i.isBatchedMesh)if(Ae.get(`WEBGL_multi_draw`))g.renderMultiDraw(i._multiDrawStarts,i._multiDrawCounts,i._multiDrawCount);else{let e=i._multiDrawStarts,t=i._multiDrawCounts,n=i._multiDrawCount,a=c?Ve.get(c).bytesPerElement:1,o=Ie.get(r).currentProgram.getUniforms();for(let r=0;r<n;r++)o.setValue(k,`_gl_DrawID`,r),g.render(e[r]/a,t[r])}else if(i.isInstancedMesh)g.renderInstances(f,m,i.count);else if(n.isInstancedBufferGeometry){let e=n._maxInstanceCount===void 0?1/0:n._maxInstanceCount,t=Math.min(n.instanceCount,e);g.renderInstances(f,m,t)}else g.render(f,m)};function vt(e,t,n){e.transparent===!0&&e.side===2&&e.forceSinglePass===!1?(e.side=1,e.needsUpdate=!0,kt(e,t,n),e.side=0,e.needsUpdate=!0,kt(e,t,n),e.side=2):kt(e,t,n)}this.compile=function(e,t,n=null){n===null&&(n=e),x=Ze.get(n),x.init(t),C.push(x),n.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(x.pushLight(e),e.castShadow&&x.pushShadow(e))}),e!==n&&e.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(x.pushLight(e),e.castShadow&&x.pushShadow(e))}),x.setupLights();let r=new Set;return e.traverse(function(e){if(!(e.isMesh||e.isPoints||e.isLine||e.isSprite))return;let t=e.material;if(t)if(Array.isArray(t))for(let i=0;i<t.length;i++){let a=t[i];vt(a,n,e),r.add(a)}else vt(t,n,e),r.add(t)}),x=C.pop(),r},this.compileAsync=function(e,t,n=null){let r=this.compile(e,t,n);return new Promise(t=>{function n(){if(r.forEach(function(e){Ie.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}Ae.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let yt=null;function bt(e){yt&&yt(e)}function xt(){Ct.stop()}function St(){Ct.start()}let Ct=new xp;Ct.setAnimationLoop(bt),typeof self<`u`&&Ct.setContext(self),this.setAnimationLoop=function(e){yt=e,dt.setAnimationLoop(e),e===null?Ct.stop():Ct.start()},dt.addEventListener(`sessionstart`,xt),dt.addEventListener(`sessionend`,St),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){Un(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(E===!0)return;D!==null&&D.renderStart(e,t);let n=dt.enabled===!0&&dt.isPresenting===!0,r=w!==null&&(ie===null||n)&&w.begin(T,ie);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),dt.enabled===!0&&dt.isPresenting===!0&&(w===null||w.isCompositing()===!1)&&(dt.cameraAutoUpdate===!0&&dt.updateCamera(t),t=dt.getCamera()),e.isScene===!0&&e.onBeforeRender(T,e,t,ie),x=Ze.get(e,C.length),x.init(t),x.state.textureUnits=Le.getTextureUnits(),C.push(x),Ce.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),be.setFromProjectionMatrix(Ce,Tn,t.reversedDepth),Se=this.localClippingEnabled,xe=Qe.init(this.clippingPlanes,Se),b=Xe.get(e,S.length),b.init(),S.push(b),dt.enabled===!0&&dt.isPresenting===!0){let e=T.xr.getDepthSensingMesh();e!==null&&wt(e,t,-1/0,T.sortObjects)}wt(e,t,0,T.sortObjects),b.finish(),T.sortObjects===!0&&b.sort(he,ge,t.reversedDepth),De=dt.enabled===!1||dt.isPresenting===!1||dt.hasDepthSensing()===!1,De&&tt.addToRenderList(b,e),this.info.render.frame++,this.info.autoReset===!0&&this.info.reset(),xe===!0&&Qe.beginShadows();let i=x.state.shadowsArray;if($e.render(i,e,t),xe===!0&&Qe.endShadows(),(r&&w.hasRenderPass())===!1){let n=b.opaque,r=b.transmissive;if(x.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t<a;t++){let a=i[t];Et(n,r,e,a)}De&&tt.render(e);for(let t=0,n=i.length;t<n;t++){let n=i[t];Tt(b,e,n,n.viewport)}}else r.length>0&&Et(n,r,e,t),De&&tt.render(e),Tt(b,e,t)}ie!==null&&re===0&&(Le.updateMultisampleRenderTarget(ie),Le.updateRenderTargetMipmap(ie)),r&&w.end(T),e.isScene===!0&&e.onAfterRender(T,e,t),ct.resetDefaultState(),ae=-1,oe=null,C.pop(),C.length>0?(x=C[C.length-1],Le.setTextureUnits(x.state.textureUnits),xe===!0&&Qe.setGlobalState(T.clippingPlanes,x.state.camera)):x=null,S.pop(),b=S.length>0?S[S.length-1]:null,D!==null&&D.renderEnd()};function wt(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLightProbeGrid)x.pushLightProbeGrid(e);else if(e.isLight)x.pushLight(e),e.castShadow&&x.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||be.intersectsSprite(e)){r&&Te.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ce);let t=qe.update(e),i=e.material;i.visible&&b.push(e,t,i,n,Te.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||be.intersectsObject(e))){let t=qe.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),Te.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),Te.copy(e.boundingSphere.center)),Te.applyMatrix4(e.matrixWorld).applyMatrix4(Ce)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a<o;a++){let o=r[a],s=i[o.materialIndex];s&&s.visible&&b.push(e,t,s,n,Te.z,o)}}else i.visible&&b.push(e,t,i,n,Te.z,null)}}let i=e.children;for(let e=0,a=i.length;e<a;e++)wt(i[e],t,n,r)}function Tt(e,t,n,r){let{opaque:i,transmissive:a,transparent:o}=e;x.setupLightsView(n),xe===!0&&Qe.setGlobalState(T.clippingPlanes,n),r&&Me.viewport(se.copy(r)),i.length>0&&Dt(i,t,n),a.length>0&&Dt(a,t,n),o.length>0&&Dt(o,t,n),Me.buffers.depth.setTest(!0),Me.buffers.depth.setMask(!0),Me.buffers.color.setMask(!0),Me.setPolygonOffset(!1)}function Et(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(x.state.transmissionRenderTarget[r.id]===void 0){let e=Ae.has(`EXT_color_buffer_half_float`)||Ae.has(`EXT_color_buffer_float`);x.state.transmissionRenderTarget[r.id]=new zr(1,1,{generateMipmaps:!0,type:e?He:Fe,minFilter:Ne,samples:Math.max(4,je.samples),stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Er.workingColorSpace})}let a=x.state.transmissionRenderTarget[r.id],o=r.viewport||se;a.setSize(o.z*T.transmissionResolutionScale,o.w*T.transmissionResolutionScale);let s=T.getRenderTarget(),c=T.getActiveCubeFace(),l=T.getActiveMipmapLevel();T.setRenderTarget(a),T.getClearColor(ue),de=T.getClearAlpha(),de<1&&T.setClearColor(16777215,.5),T.clear(),De&&tt.render(n);let u=T.toneMapping;T.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),x.setupLightsView(r),xe===!0&&Qe.setGlobalState(T.clippingPlanes,r),Dt(e,n,r),Le.updateMultisampleRenderTarget(a),Le.updateRenderTargetMipmap(a),Ae.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i<a;i++){let{object:a,geometry:o,material:s,group:c}=t[i];if(s.side===2&&a.layers.test(r.layers)){let t=s.side;s.side=1,s.needsUpdate=!0,Ot(a,n,r,o,s,c),s.side=t,s.needsUpdate=!0,e=!0}}e===!0&&(Le.updateMultisampleRenderTarget(a),Le.updateRenderTargetMipmap(a))}T.setRenderTarget(s,c,l),T.setClearColor(ue,de),d!==void 0&&(r.viewport=d),T.toneMapping=u}function Dt(e,t,n){let r=t.isScene===!0?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){let a=e[i],{object:o,geometry:s,group:c}=a,l=a.material;l.allowOverride===!0&&r!==null&&(l=r),o.layers.test(n.layers)&&Ot(o,t,n,s,l,c)}}function Ot(e,t,n,r,i,a){e.onBeforeRender(T,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(T,t,n,r,e,a),i.transparent===!0&&i.side===2&&i.forceSinglePass===!1?(i.side=1,i.needsUpdate=!0,T.renderBufferDirect(n,t,r,i,e,a),i.side=0,i.needsUpdate=!0,T.renderBufferDirect(n,t,r,i,e,a),i.side=2):T.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(T,t,n,r,i,a)}function kt(e,t,n){t.isScene!==!0&&(t=Ee);let r=Ie.get(e),i=x.state.lights,a=x.state.shadowsArray,o=i.state.version,s=Je.getParameters(e,i.state,a,t,n,x.state.lightProbeGridArray),c=Je.getProgramCacheKey(s),l=r.programs;r.environment=e.isMeshStandardMaterial||e.isMeshLambertMaterial||e.isMeshPhongMaterial?t.environment:null,r.fog=t.fog;let u=e.isMeshStandardMaterial||e.isMeshLambertMaterial&&!e.envMap||e.isMeshPhongMaterial&&!e.envMap;r.envMap=ze.get(e.envMap||r.environment,u),r.envMapRotation=r.environment!==null&&e.envMap===null?t.environmentRotation:e.envMapRotation,l===void 0&&(e.addEventListener(`dispose`,ht),l=new Map,r.programs=l);let d=l.get(c);if(d!==void 0){if(r.currentProgram===d&&r.lightsStateVersion===o)return jt(e,s),d}else s.uniforms=Je.getUniforms(e),D!==null&&e.isNodeMaterial&&D.build(e,n,s),e.onBeforeCompile(s,T),d=Je.acquireProgram(s,c),l.set(c,d),r.uniforms=s.uniforms;let f=r.uniforms;return(!e.isShaderMaterial&&!e.isRawShaderMaterial||e.clipping===!0)&&(f.clippingPlanes=Qe.uniform),jt(e,s),r.needsLights=Ft(e),r.lightsStateVersion=o,r.needsLights&&(f.ambientLightColor.value=i.state.ambient,f.lightProbe.value=i.state.probe,f.directionalLights.value=i.state.directional,f.directionalLightShadows.value=i.state.directionalShadow,f.spotLights.value=i.state.spot,f.spotLightShadows.value=i.state.spotShadow,f.rectAreaLights.value=i.state.rectArea,f.ltc_1.value=i.state.rectAreaLTC1,f.ltc_2.value=i.state.rectAreaLTC2,f.pointLights.value=i.state.point,f.pointLightShadows.value=i.state.pointShadow,f.hemisphereLights.value=i.state.hemi,f.directionalShadowMatrix.value=i.state.directionalShadowMatrix,f.spotLightMatrix.value=i.state.spotLightMatrix,f.spotLightMap.value=i.state.spotLightMap,f.pointShadowMatrix.value=i.state.pointShadowMatrix),r.lightProbeGrid=x.state.lightProbeGridArray.length>0,r.currentProgram=d,r.uniformsList=null,d}function At(e){if(e.uniformsList===null){let t=e.currentProgram.getUniforms();e.uniformsList=sm.seqWithValue(t.seq,e.uniforms)}return e.uniformsList}function jt(e,t){let n=Ie.get(e);n.outputColorSpace=t.outputColorSpace,n.batching=t.batching,n.batchingColor=t.batchingColor,n.instancing=t.instancing,n.instancingColor=t.instancingColor,n.instancingMorph=t.instancingMorph,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}function Mt(e,t){if(e.length===0)return null;if(e.length===1)return e[0].texture===null?null:e[0];y.setFromMatrixPosition(t.matrixWorld);for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n.texture!==null&&n.boundingBox.containsPoint(y))return n}return null}function Nt(e,t,n,r,i){t.isScene!==!0&&(t=Ee),Le.resetTextureUnits();let a=t.fog,o=r.isMeshStandardMaterial||r.isMeshLambertMaterial||r.isMeshPhongMaterial?t.environment:null,s=ie===null?T.outputColorSpace:ie.isXRRenderTarget===!0?ie.texture.colorSpace:Er.workingColorSpace,c=r.isMeshStandardMaterial||r.isMeshLambertMaterial&&!r.envMap||r.isMeshPhongMaterial&&!r.envMap,l=ze.get(r.envMap||o,c),u=r.vertexColors===!0&&!!n.attributes.color&&n.attributes.color.itemSize===4,d=!!n.attributes.tangent&&(!!r.normalMap||r.anisotropy>0),f=!!n.morphAttributes.position,p=!!n.morphAttributes.normal,m=!!n.morphAttributes.color,h=0;r.toneMapped&&(ie===null||ie.isXRRenderTarget===!0)&&(h=T.toneMapping);let g=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,_=g===void 0?0:g.length,v=Ie.get(r),y=x.state.lights;if(xe===!0&&(Se===!0||e!==oe)){let t=e===oe&&r.id===ae;Qe.setState(r,e,t)}let b=!1;r.version===v.__version?v.needsLights&&v.lightsStateVersion!==y.state.version?b=!0:v.outputColorSpace===s?i.isBatchedMesh&&v.batching===!1||!i.isBatchedMesh&&v.batching===!0||i.isBatchedMesh&&v.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&v.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&v.instancing===!1||!i.isInstancedMesh&&v.instancing===!0||i.isSkinnedMesh&&v.skinning===!1||!i.isSkinnedMesh&&v.skinning===!0||i.isInstancedMesh&&v.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&v.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&v.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&v.instancingMorph===!1&&i.morphTexture!==null?b=!0:v.envMap===l?r.fog===!0&&v.fog!==a||v.numClippingPlanes!==void 0&&(v.numClippingPlanes!==Qe.numPlanes||v.numIntersection!==Qe.numIntersection)?b=!0:v.vertexAlphas===u&&v.vertexTangents===d&&v.morphTargets===f&&v.morphNormals===p&&v.morphColors===m&&v.toneMapping===h&&v.morphTargetsCount===_?!!v.lightProbeGrid!=x.state.lightProbeGridArray.length>0&&(b=!0):b=!0:b=!0:b=!0:(b=!0,v.__version=r.version);let S=v.currentProgram;b===!0&&(S=kt(r,t,i),D&&r.isNodeMaterial&&D.onUpdateProgram(r,S,v));let C=!1,w=!1,E=!1,ee=S.getUniforms(),te=v.uniforms;if(Me.useProgram(S.program)&&(C=!0,w=!0,E=!0),r.id!==ae&&(ae=r.id,w=!0),v.needsLights){let e=Mt(x.state.lightProbeGridArray,i);v.lightProbeGrid!==e&&(v.lightProbeGrid=e,w=!0)}if(C||oe!==e){Me.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),ee.setValue(k,`projectionMatrix`,e.projectionMatrix),ee.setValue(k,`viewMatrix`,e.matrixWorldInverse);let t=ee.map.cameraPosition;t!==void 0&&t.setValue(k,we.setFromMatrixPosition(e.matrixWorld)),je.logarithmicDepthBuffer&&ee.setValue(k,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&ee.setValue(k,`isOrthographic`,e.isOrthographicCamera===!0),oe!==e&&(oe=e,w=!0,E=!0)}if(v.needsLights&&(y.state.directionalShadowMap.length>0&&ee.setValue(k,`directionalShadowMap`,y.state.directionalShadowMap,Le),y.state.spotShadowMap.length>0&&ee.setValue(k,`spotShadowMap`,y.state.spotShadowMap,Le),y.state.pointShadowMap.length>0&&ee.setValue(k,`pointShadowMap`,y.state.pointShadowMap,Le)),i.isSkinnedMesh){ee.setOptional(k,i,`bindMatrix`),ee.setOptional(k,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),ee.setValue(k,`boneTexture`,e.boneTexture,Le))}i.isBatchedMesh&&(ee.setOptional(k,i,`batchingTexture`),ee.setValue(k,`batchingTexture`,i._matricesTexture,Le),ee.setOptional(k,i,`batchingIdTexture`),ee.setValue(k,`batchingIdTexture`,i._indirectTexture,Le),ee.setOptional(k,i,`batchingColorTexture`),i._colorsTexture!==null&&ee.setValue(k,`batchingColorTexture`,i._colorsTexture,Le));let O=n.morphAttributes;if((O.position!==void 0||O.normal!==void 0||O.color!==void 0)&&rt.update(i,n,S),(w||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,ee.setValue(k,`receiveShadow`,i.receiveShadow)),(r.isMeshStandardMaterial||r.isMeshLambertMaterial||r.isMeshPhongMaterial)&&r.envMap===null&&t.environment!==null&&(te.envMapIntensity.value=t.environmentIntensity),te.dfgLUT!==void 0&&(te.dfgLUT.value=Fne()),w){if(ee.setValue(k,`toneMappingExposure`,T.toneMappingExposure),v.needsLights&&Pt(te,E),a&&r.fog===!0&&Ye.refreshFogUniforms(te,a),Ye.refreshMaterialUniforms(te,r,me,pe,x.state.transmissionRenderTarget[e.id]),v.needsLights&&v.lightProbeGrid){let e=v.lightProbeGrid;te.probesSH.value=e.texture,te.probesMin.value.copy(e.boundingBox.min),te.probesMax.value.copy(e.boundingBox.max),te.probesResolution.value.copy(e.resolution)}sm.upload(k,At(v),te,Le)}if(r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(sm.upload(k,At(v),te,Le),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&ee.setValue(k,`center`,i.center),ee.setValue(k,`modelViewMatrix`,i.modelViewMatrix),ee.setValue(k,`normalMatrix`,i.normalMatrix),ee.setValue(k,`modelMatrix`,i.matrixWorld),r.uniformsGroups!==void 0){let e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++){let n=e[t];lt.update(n,S),lt.bind(n,S)}}return S}function Pt(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function Ft(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&e.lights===!0}this.getActiveCubeFace=function(){return ne},this.getActiveMipmapLevel=function(){return re},this.getRenderTarget=function(){return ie},this.setRenderTargetTextures=function(e,t,n){let r=Ie.get(e);r.__autoAllocateDepthBuffer=e.resolveDepthBuffer===!1,r.__autoAllocateDepthBuffer===!1&&(r.__useRenderToTexture=!1),Ie.get(e.texture).__webglTexture=t,Ie.get(e.depthTexture).__webglTexture=r.__autoAllocateDepthBuffer?void 0:n,r.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(e,t){let n=Ie.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=t===void 0},this.setRenderTarget=function(e,t=0,n=0){ie=e,ne=t,re=n;let r=null,i=!1,a=!1;if(e){let o=Ie.get(e);if(o.__useDefaultFramebuffer!==void 0){Me.bindFramebuffer(k.FRAMEBUFFER,o.__webglFramebuffer),se.copy(e.viewport),ce.copy(e.scissor),le=e.scissorTest,Me.viewport(se),Me.scissor(ce),Me.setScissorTest(le),ae=-1;return}else if(o.__webglFramebuffer===void 0)Le.setupRenderTarget(e);else if(o.__hasExternalTextures)Le.rebindTextures(e,Ie.get(e.texture).__webglTexture,Ie.get(e.depthTexture).__webglTexture);else if(e.depthBuffer){let t=e.depthTexture;if(o.__boundDepthTexture!==t){if(t!==null&&Ie.has(t)&&(e.width!==t.image.width||e.height!==t.image.height))throw Error(`THREE.WebGLRenderer: Attached DepthTexture is initialized to the incorrect size.`);Le.setupDepthRenderbuffer(e)}}let s=e.texture;(s.isData3DTexture||s.isDataArrayTexture||s.isCompressedArrayTexture)&&(a=!0);let c=Ie.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(r=Array.isArray(c[t])?c[t][n]:c[t],i=!0):r=e.samples>0&&Le.useMultisampledRTT(e)===!1?Ie.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,se.copy(e.viewport),ce.copy(e.scissor),le=e.scissorTest}else se.copy(_e).multiplyScalar(me).floor(),ce.copy(ve).multiplyScalar(me).floor(),le=ye;if(n!==0&&(r=ee),Me.bindFramebuffer(k.FRAMEBUFFER,r)&&Me.drawBuffers(e,r),Me.viewport(se),Me.scissor(ce),Me.setScissorTest(le),i){let r=Ie.get(e.texture);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t<e.textures.length;t++){let i=Ie.get(e.textures[t]);k.framebufferTextureLayer(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0+t,i.__webglTexture,n,r)}}else if(e!==null&&n!==0){let t=Ie.get(e.texture);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,t.__webglTexture,n)}ae=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);return}let c=Ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c){Me.bindFramebuffer(k.FRAMEBUFFER,c);try{let o=e.textures[s],c=o.format,l=o.type;if(e.textures.length>1&&k.readBuffer(k.COLOR_ATTACHMENT0+s),!je.textureFormatReadable(c)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.`);return}if(!je.textureTypeReadable(l)){Un(`WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.`);return}t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&k.readPixels(t,n,r,i,st.convert(c),st.convert(l),a)}finally{let e=ie===null?null:Ie.get(ie).__webglFramebuffer;Me.bindFramebuffer(k.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=Ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){Me.bindFramebuffer(k.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(e.textures.length>1&&k.readBuffer(k.COLOR_ATTACHMENT0+s),!je.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!je.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=k.createBuffer();k.bindBuffer(k.PIXEL_PACK_BUFFER,d),k.bufferData(k.PIXEL_PACK_BUFFER,a.byteLength,k.STREAM_READ),k.readPixels(t,n,r,i,st.convert(l),st.convert(u),0);let f=ie===null?null:Ie.get(ie).__webglFramebuffer;Me.bindFramebuffer(k.FRAMEBUFFER,f);let p=k.fenceSync(k.SYNC_GPU_COMMANDS_COMPLETE,0);return k.flush(),await Gn(k,p,4),k.bindBuffer(k.PIXEL_PACK_BUFFER,d),k.getBufferSubData(k.PIXEL_PACK_BUFFER,0,a),k.deleteBuffer(d),k.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;Le.setTexture2D(e,0),k.copyTexSubImage2D(k.TEXTURE_2D,n,0,0,o,s,i,a),Me.unbindTexture()},this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=0){let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=st.convert(t.format),_=st.convert(t.type),v;t.isData3DTexture?(Le.setTexture3D(t,0),v=k.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(Le.setTexture2DArray(t,0),v=k.TEXTURE_2D_ARRAY):(Le.setTexture2D(t,0),v=k.TEXTURE_2D),Me.activeTexture(k.TEXTURE0),Me.pixelStorei(k.UNPACK_FLIP_Y_WEBGL,t.flipY),Me.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),Me.pixelStorei(k.UNPACK_ALIGNMENT,t.unpackAlignment);let y=Me.getParameter(k.UNPACK_ROW_LENGTH),b=Me.getParameter(k.UNPACK_IMAGE_HEIGHT),x=Me.getParameter(k.UNPACK_SKIP_PIXELS),S=Me.getParameter(k.UNPACK_SKIP_ROWS),C=Me.getParameter(k.UNPACK_SKIP_IMAGES);Me.pixelStorei(k.UNPACK_ROW_LENGTH,h.width),Me.pixelStorei(k.UNPACK_IMAGE_HEIGHT,h.height),Me.pixelStorei(k.UNPACK_SKIP_PIXELS,l),Me.pixelStorei(k.UNPACK_SKIP_ROWS,u),Me.pixelStorei(k.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=Ie.get(e),r=Ie.get(t),h=Ie.get(n.__renderTarget),g=Ie.get(r.__renderTarget);Me.bindFramebuffer(k.READ_FRAMEBUFFER,h.__webglFramebuffer),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n<c;n++)w&&(k.framebufferTextureLayer(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,Ie.get(e).__webglTexture,i,d+n),k.framebufferTextureLayer(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,Ie.get(t).__webglTexture,a,m+n)),k.blitFramebuffer(l,u,o,s,f,p,o,s,k.DEPTH_BUFFER_BIT,k.NEAREST);Me.bindFramebuffer(k.READ_FRAMEBUFFER,null),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,null)}else if(i!==0||e.isRenderTargetTexture||Ie.has(e)){let n=Ie.get(e),r=Ie.get(t);Me.bindFramebuffer(k.READ_FRAMEBUFFER,te),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,O);for(let e=0;e<c;e++)w?k.framebufferTextureLayer(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,n.__webglTexture,i,d+e):k.framebufferTexture2D(k.READ_FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,n.__webglTexture,i),T?k.framebufferTextureLayer(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,r.__webglTexture,a,m+e):k.framebufferTexture2D(k.DRAW_FRAMEBUFFER,k.COLOR_ATTACHMENT0,k.TEXTURE_2D,r.__webglTexture,a),i===0?T?k.copyTexSubImage3D(v,a,f,p,m+e,l,u,o,s):k.copyTexSubImage2D(v,a,f,p,l,u,o,s):k.blitFramebuffer(l,u,o,s,f,p,o,s,k.COLOR_BUFFER_BIT,k.NEAREST);Me.bindFramebuffer(k.READ_FRAMEBUFFER,null),Me.bindFramebuffer(k.DRAW_FRAMEBUFFER,null)}else T?e.isDataTexture||e.isData3DTexture?k.texSubImage3D(v,a,f,p,m,o,s,c,g,_,h.data):t.isCompressedArrayTexture?k.compressedTexSubImage3D(v,a,f,p,m,o,s,c,g,h.data):k.texSubImage3D(v,a,f,p,m,o,s,c,g,_,h):e.isDataTexture?k.texSubImage2D(k.TEXTURE_2D,a,f,p,o,s,g,_,h.data):e.isCompressedTexture?k.compressedTexSubImage2D(k.TEXTURE_2D,a,f,p,h.width,h.height,g,h.data):k.texSubImage2D(k.TEXTURE_2D,a,f,p,o,s,g,_,h);Me.pixelStorei(k.UNPACK_ROW_LENGTH,y),Me.pixelStorei(k.UNPACK_IMAGE_HEIGHT,b),Me.pixelStorei(k.UNPACK_SKIP_PIXELS,x),Me.pixelStorei(k.UNPACK_SKIP_ROWS,S),Me.pixelStorei(k.UNPACK_SKIP_IMAGES,C),a===0&&t.generateMipmaps&&k.generateMipmap(v),Me.unbindTexture()},this.initRenderTarget=function(e){Ie.get(e).__webglFramebuffer===void 0&&Le.setupRenderTarget(e)},this.initTexture=function(e){e.isCubeTexture?Le.setTextureCube(e,0):e.isData3DTexture?Le.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?Le.setTexture2DArray(e,0):Le.setTexture2D(e,0),Me.unbindTexture()},this.resetState=function(){ne=0,re=0,ie=null,Me.reset(),ct.reset()},typeof __THREE_DEVTOOLS__<`u`&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(`observe`,{detail:this}))}get coordinateSystem(){return Tn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;let t=this.getContext();t.drawingBufferColorSpace=Er._getDrawingBufferColorSpace(e),t.unpackColorSpace=Er._getUnpackColorSpace()}},Lne=[`rectangle`,`circle`,`polygon`],Tm=[[-.5,-.5],[.5,-.5],[0,.5]],Rne=32,Em=1e-9;function Dm(e){if(Array.isArray(e)&&e.length>=3){let t=[];for(let n of e){if(!Array.isArray(n)||n.length<2||typeof n[0]!=`number`||typeof n[1]!=`number`||!Number.isFinite(n[0])||!Number.isFinite(n[1]))return Tm.map(([e,t])=>[e,t]);t.push([n[0],n[1]])}return t}return Tm.map(([e,t])=>[e,t])}function Om(e){let t=Math.abs(e.width),n=Math.abs(e.height);return(e.shape===`circle`?Array.from({length:Rne},(e,t)=>{let n=t/Rne*Math.PI*2;return[Math.cos(n)*.5,Math.sin(n)*.5]}):e.shape===`polygon`?Dm(e.points):[[-.5,-.5],[.5,-.5],[.5,.5],[-.5,.5]]).map(([r,i])=>[e.x+r*t,e.y+i*n])}function km(e){let t=Om(e),n=1/0,r=-1/0,i=-1/0,a=1/0;for(let[e,o]of t)n=Math.min(n,e),r=Math.max(r,e),i=Math.max(i,o),a=Math.min(a,o);return{left:n,right:r,top:i,bottom:a}}function Am(e,t){let n=km(e),r=km(t);if(n.right<=r.left||n.left>=r.right||n.top<=r.bottom||n.bottom>=r.top)return!1;let i=Om(e),a=Om(t);for(let e=0;e<i.length;e++){let t=i[e],n=i[(e+1)%i.length];for(let e=0;e<a.length;e++){let r=a[e],i=a[(e+1)%a.length];if(Bne(t,n,r,i))return!0}}return zne(i,a)||zne(a,i)}function zne(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(Mm(r,t))return!0;let i=e[(n+1)%e.length];if(Mm([(r[0]+i[0])/2,(r[1]+i[1])/2],t))return!0}return Mm([e.reduce((e,[t])=>e+t,0)/e.length,e.reduce((e,[,t])=>e+t,0)/e.length],t)}function Bne(e,t,n,r){let i=jm(e,t,n),a=jm(e,t,r),o=jm(n,r,e),s=jm(n,r,t);return i*a<-1e-9&&o*s<-1e-9}function jm(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}function Mm(e,t){let n=!1;for(let r=0,i=t.length-1;r<t.length;i=r++){let a=t[r],o=t[i];if(Vne(e,a,o))return!1;a[1]>e[1]!=o[1]>e[1]&&e[0]<(o[0]-a[0])*(e[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}return n}function Vne(e,t,n){return Math.abs(jm(t,n,e))>Em?!1:e[0]>=Math.min(t[0],n[0])-Em&&e[0]<=Math.max(t[0],n[0])+Em&&e[1]>=Math.min(t[1],n[1])-Em&&e[1]<=Math.max(t[1],n[1])+Em}var Nm={position:[0,0],zoom:12,follow:``,deadzoneWidth:2,deadzoneHeight:2.5,lookahead:1.5,lookaheadY:0,smoothing:6};function Pm(e){return{position:e?.position??Nm.position,zoom:e?.zoom??Nm.zoom,follow:e?.follow??Nm.follow,deadzoneWidth:e?.deadzoneWidth??Nm.deadzoneWidth,deadzoneHeight:e?.deadzoneHeight??Nm.deadzoneHeight,lookahead:e?.lookahead??Nm.lookahead,lookaheadY:e?.lookaheadY??Nm.lookaheadY,smoothing:e?.smoothing??Nm.smoothing,limits:e?.limits??null}}function Hne(e,t,n,r){return r-n<=t*2?(n+r)/2:Math.min(Math.max(e,n+t),r-t)}function Une(e){return typeof e==`object`&&!!e&&typeof e.getCameraVelocity==`function`}function Wne(e,t){let n=t.x,r=t.y;if(t.target){let i=n,a=r,o=t.target.x-n,s=t.target.y-r,c=e.deadzoneWidth/2,l=e.deadzoneHeight/2;Math.abs(o)>c&&(i=t.target.x-Math.sign(o)*c),Math.abs(s)>l&&(a=t.target.y-Math.sign(s)*l),Math.abs(t.vx)>1&&(i+=Math.sign(t.vx)*e.lookahead);let u=t.vy??0;Math.abs(u)>1&&(a+=Math.sign(u)*e.lookaheadY),n=gr.damp(n,i,e.smoothing,t.dt),r=gr.damp(r,a,e.smoothing,t.dt)}return e.limits&&(n=Hne(n,t.halfW,e.limits.minX,e.limits.maxX),r=Hne(r,t.halfH,e.limits.minY,e.limits.maxY)),{x:n,y:r}}function Fm(e,t){return e<t?-1:+(e>t)}function Im(e,t){return Object.hasOwn(e,t)?e[t]:void 0}function Gne(e){return typeof e?.prototype.onUpdate==`function`}function Kne(e,t){let n=0,r=new Map,i=new Map,a=[],o=new Set,s=[],c=e=>{let l=n++;r.set(e,l),i.set(e,l),a.push(e),o.add(e);for(let n of[...t.get(e)??[]].sort(Fm))r.has(n)?o.has(n)&&i.set(e,Math.min(i.get(e),r.get(n))):(c(n),i.set(e,Math.min(i.get(e),i.get(n))));if(i.get(e)!==r.get(e))return;let u=[];for(;a.length>0;){let t=a.pop();if(o.delete(t),u.push(t),t===e)break}u.length>1&&s.push(u.sort(Fm))};for(let t of e)r.has(t)||c(t);return s.sort((e,t)=>Fm(e[0],t[0]))}function Lm(e,t){let n=new Set(e),r=[...n].filter(e=>Gne(Im(t,e))).sort(Fm),i=new Map(r.map(e=>[e,new Set])),a=new Map(r.map(e=>[e,0])),o=[],s=new Map;for(let t of e)s.set(t,(s.get(t)??0)+1);for(let[e,t]of[...s].sort(([e],[t])=>Fm(e,t)))t<2||o.push({code:`duplicate-component`,componentName:e,componentNames:[e],count:t,cause:`Component "${e}" appears ${t} times on the same entity; component identity must be unique.`});for(let e of[...n].sort(Fm)){let n=Im(t,e);n?.updateAfter!==void 0&&!Gne(n)&&o.push({code:`invalid-update-constraint`,reason:`passive-declarer`,declarer:e,componentNames:[e],cause:`Passive component "${e}" declares updateAfter but does not implement onUpdate.`})}for(let e of r){let r=Im(t,e);for(let s of new Set(r?.updateAfter??[])){if(!n.has(s)){Im(t,s)||o.push({code:`invalid-update-constraint`,reason:`unknown-target`,declarer:e,target:s,componentNames:[e,s],cause:`Component "${e}" declares updateAfter target "${s}", which is neither present nor registered.`});continue}if(s===e){o.push({code:`invalid-update-constraint`,reason:`self-edge`,declarer:e,target:s,componentNames:[e],cause:`Component "${e}" cannot declare itself in updateAfter.`});continue}if(!i.has(s)){o.push({code:`invalid-update-constraint`,reason:`passive-target`,declarer:e,target:s,componentNames:[e,s],cause:`Component "${e}" declares updateAfter target "${s}", but "${s}" does not implement onUpdate.`});continue}let r=i.get(s);r.has(e)||(r.add(e),a.set(e,(a.get(e)??0)+1))}}for(let e of Kne(r,i))o.push({code:`component-update-cycle`,componentNames:e,cause:`Component update cycle among ${e.map(e=>`"${e}"`).join(`, `)}.`});if(o.length>0)return{ok:!1,issues:o};let c=r.filter(e=>a.get(e)===0),l=[];for(;c.length>0;){c.sort(Fm);let e=c.shift();l.push(e);for(let t of[...i.get(e)??[]].sort(Fm)){let e=(a.get(t)??0)-1;a.set(t,e),e===0&&c.push(t)}}return{ok:!0,order:l,issues:[]}}var Rm=class{static componentName=`Component`;static displayName;static params;static updateAfter;static transient;entity;game},zm=class extends Rm{static componentName=`Hitbox`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`}};shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0)},qne=class{game;name;node=new gi;components=[];logicalPosition=null;destroyed=!1;get alive(){return!this.destroyed}constructor(e,t){this.game=e,this.name=t}get position(){return this.logicalPosition??this.node.position}setProjected(e){if(e!==(this.logicalPosition!==null)){if(e){this.logicalPosition=this.node.position.clone();return}this.node.position.copy(this.logicalPosition),this.logicalPosition=null}}get scale(){return this.node.scale}add(e,t){let n=new e;return n.entity=this,n.game=this.game,t&&Object.assign(n,t),this.game.applyParamOverrides(this,n),this.components.push(n),n.onReady?.(),n}get(e){return this.components.find(t=>t instanceof e)}has(e){return this.components.some(t=>t instanceof e)}destroy(){if(!this.destroyed){this.destroyed=!0;for(let e of[...this.components])e.onDestroy?.();this.components.length=0,this.node.removeFromParent(),this.game.removeEntity(this)}}},Bm=class{handlers=new Map;on(e,t){let n=this.handlers.get(e);return n||(n=new Set,this.handlers.set(e,n)),n.add(t),()=>n.delete(t)}emit(e,...t){let n=this.handlers.get(e);if(n)for(let e of[...n])e(...t)}},Vm={},Jne=class{bindings=new Map;down=new Set;justDown=new Set;injectedDown=new Set;injectedJustDown=new Set;injectedPresses=new Set;used=new Set;constructor(e=Vm){for(let[t,n]of Object.entries(e))this.bindings.set(t,new Set(n));window.addEventListener(`keydown`,this.onKeyDown),window.addEventListener(`keyup`,this.onKeyUp),window.addEventListener(`blur`,this.releaseAll),document.addEventListener(`visibilitychange`,this.onVisibilityChange)}held(e){return this.injectedDown.has(e)||this.isActive(e,this.down)}justPressed(e){return this.injectedJustDown.has(e)||this.isActive(e,this.justDown)}availableActions(){return[...this.bindings.keys()].sort()}heldActions(){return this.availableActions().filter(e=>this.held(e))}injectAction(e,t){return this.bindings.has(e)?t===`release`?(this.injectedDown.delete(e),this.injectedPresses.delete(e),!0):this.held(e)?(t===`hold`&&this.injectedPresses.delete(e),!0):(this.injectedDown.add(e),this.injectedJustDown.add(e),t===`press`&&this.injectedPresses.add(e),!0):!1}axis(e=`left`,t=`right`){return!!this.held(t)-+!!this.held(e)}consume(e){this.used.add(e)}consumed(e){return this.used.has(e)}endFrame(){this.justDown.clear(),this.injectedJustDown.clear();for(let e of this.injectedPresses)this.injectedDown.delete(e);this.injectedPresses.clear(),this.used.clear()}dispose(){this.injectedDown.clear(),this.injectedJustDown.clear(),this.injectedPresses.clear(),window.removeEventListener(`keydown`,this.onKeyDown),window.removeEventListener(`keyup`,this.onKeyUp),window.removeEventListener(`blur`,this.releaseAll),document.removeEventListener(`visibilitychange`,this.onVisibilityChange)}isActive(e,t){let n=this.bindings.get(e);if(!n)return!1;for(let e of n)if(t.has(e))return!0;return!1}releaseAll=()=>{this.down.clear(),this.justDown.clear()};onVisibilityChange=()=>{document.visibilityState===`hidden`&&this.releaseAll()};onKeyDown=e=>{e.repeat||(this.down.add(e.code),this.justDown.add(e.code))};onKeyUp=e=>{this.down.delete(e.code)}},Yne={name:`@waica/engine`,version:`0.9.1`,description:`Waica game engine core — archetype-driven, web-first, 2D & 3D`,license:`MIT`,type:`module`,repository:{type:`git`,url:`https://github.com/chichex/waica`,directory:`packages/engine`},files:[`dist`,`README.md`],exports:{".":`./src/index.ts`},publishConfig:{exports:{".":{types:`./dist/index.d.ts`,default:`./dist/index.js`}}},scripts:{build:`node ../../scripts/clean-dist.mjs && tsc -p tsconfig.build.json`,typecheck:`tsc --noEmit`},dependencies:{"@types/three":`^0.185.1`,three:`^0.185.1`},devDependencies:{vitest:`^4.1.10`}},Xne=Symbol.for(`@waica/runtime-bridge/v1`),Hm=class extends Error{code;availableActions;stage=`control`;constructor(e,t,n){super(t),this.code=e,this.availableActions=n,this.name=`RuntimeBridgeOperationError`}};function Zne(){let e=globalThis[Xne];if(!e||typeof e!=`object`)return null;let t=e;return t.protocolVersion!==1||typeof t.register!=`function`||typeof t.unregister!=`function`?null:t}var Qne=class{surface;activation;host;engineVersion=Yne.version;registered=!0;mode=`paused`;frame=0;simulationTime=0;constructor(e,t,n){this.surface=e,this.activation=t,this.host=n}metadata(){return{bridgeVersion:1,engineVersion:this.engineVersion,mode:this.mode,frame:this.frame,simulationTime:this.simulationTime}}inspect(e={}){return this.host.inspect(this.metadata(),e)}control(e){switch(e.operation){case`pause`:this.mode===`real-time`&&(this.host.pause(),this.mode=`paused`);break;case`resume`:this.mode===`paused`&&(this.mode=`real-time`,this.host.resume(e=>this.advance(e)));break;case`press`:case`hold`:case`release`:if(!this.host.injectAction(e.action,e.operation)){let t=this.host.availableActions();throw new Hm(`runtime-operation-failed`,`Unknown action "${e.action}". Available actions: ${t.join(`, `)||`(none)`}.`,t)}break;case`step`:{if(this.mode!==`paused`)throw new Hm(`runtime-invalid-state`,`step is only available while the Runtime Bridge is paused.`);let t=e.dt??1/60,n=e.frames??1;if(!Number.isFinite(t)||t<=0||t>.1)throw new Hm(`runtime-operation-failed`,`dt must be finite and greater than 0 and at most 0.1.`);if(!Number.isInteger(n)||n<1||n>600)throw new Hm(`runtime-operation-failed`,`frames must be an integer from 1 through 600.`);for(let e=0;e<n;e+=1)this.advance(t);break}}return{...this.metadata(),heldActions:this.host.heldActions()}}advance(e){this.host.step(e),this.frame+=1,this.simulationTime+=e}unregister(){this.registered&&(this.registered=!1,this.activation.unregister(this))}},Um={depth:5,entries:100,stringBytes:4*1024,componentBytes:64*1024,snapshotBytes:1024*1024};function Wm(e,t,n,r={}){return e.issues.push({path:t,marker:n}),{$waica:n,...r}}function $ne(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var ere=new TextEncoder;function Gm(e){return ere.encode(e).byteLength}function tre(e,t){let n=0,r=e.length;for(;n<r;){let i=Math.ceil((n+r)/2);Gm(e.slice(0,i))<=t?n=i:r=i-1}let i=e.slice(0,n),a=i.charCodeAt(i.length-1);return a>=55296&&a<=56319?i.slice(0,-1):i}function Km(e,t,n,r=0){if(r>Um.depth)return Wm(n,t,`truncated`,{reason:`depth`,maxDepth:Um.depth});if(e===null||typeof e==`boolean`)return e;if(typeof e==`string`){let r=Gm(e);return r<=Um.stringBytes?e:Wm(n,t,`truncated`,{reason:`string`,preview:tre(e,Um.stringBytes),originalLength:e.length,originalBytes:r})}if(typeof e==`bigint`)return{$waica:`bigint`,value:e.toString()};if(typeof e==`number`)return Number.isFinite(e)?e:Wm(n,t,`unsupported`,{type:`non-finite-number`});if(typeof e!=`object`)return Wm(n,t,`unsupported`,{type:typeof e});let i=n.seen.get(e);if(i)return Wm(n,t,`cycle`,{path:i});if(n.seen.set(e,t),e instanceof Date)return Number.isFinite(e.getTime())?{$waica:`date`,value:e.toISOString()}:Wm(n,t,`error`,{message:`Invalid Date`});if(Array.isArray(e)){let i=e.slice(0,Um.entries).map((e,i)=>Km(e,`${t}[${i}]`,n,r+1)),a=e.length-i.length;return a>0&&i.push(Wm(n,t,`truncated`,{reason:`entries`,omitted:a})),i}if(e instanceof Map){let i=[...e.entries()],a=i.slice(0,Um.entries).map(([e,i],a)=>[Km(e,`${t}.entries[${a}].key`,n,r+1),Km(i,`${t}.entries[${a}].value`,n,r+1)]),o=i.length-a.length;return{$waica:`map`,entries:a,...o>0?{truncated:Wm(n,t,`truncated`,{reason:`entries`,omitted:o})}:{}}}if(e instanceof Set){let i=[...e],a=i.slice(0,Um.entries).map((e,i)=>Km(e,`${t}.values[${i}]`,n,r+1)),o=i.length-a.length;return{$waica:`set`,values:a,...o>0?{truncated:Wm(n,t,`truncated`,{reason:`entries`,omitted:o})}:{}}}if($ne(e)){let i=Object.keys(e).sort(),a=Object.fromEntries(i.slice(0,Um.entries).map(i=>[i,Km(e[i],`${t}.${i}`,n,r+1)])),o=i.length-Object.keys(a).length;return o===0?a:Wm(n,t,`truncated`,{reason:`entries`,omitted:o,value:a})}return Wm(n,t,`unsupported`,{type:e.constructor?.name??`object`})}function nre(e){return e instanceof Error?e.message:String(e)}function rre(e,t,n){if(typeof e.inspectState==`function`)try{return Km(e.inspectState(),t,n)}catch(e){return Wm(n,t,`error`,{message:nre(e)})}let r=new Set(Object.keys(e));for(let t=Object.getPrototypeOf(e);t&&t!==Object.prototype;t=Object.getPrototypeOf(t))for(let[e,n]of Object.entries(Object.getOwnPropertyDescriptors(t)))typeof n.set==`function`&&r.add(e);let i={};for(let a of[...r].sort()){if(a===`entity`||a===`game`||a.startsWith(`_`))continue;let r=`${t}.${a}`;try{let t=e[a];if(typeof t==`function`)continue;i[a]=Km(t,r,n,1)}catch(e){i[a]=Wm(n,r,`error`,{message:nre(e)})}}return i}function ire(e,t,n){let r=rre(e,t,n),i=Gm(JSON.stringify(r));return i<=Um.componentBytes?r:Wm(n,t,`truncated`,{reason:`component-size`,limit:Um.componentBytes,originalBytes:i,path:t})}var are=class{game;ids=new WeakMap;nextId=1;constructor(e){this.game=e}snapshot(e,t={}){let n=[],r=t.entity_ids?new Set(t.entity_ids):null,i=t.entity_names?new Set(t.entity_names):null,a=t.component_types?new Set(t.component_types):null,o=this.game.entities.map(e=>({entity:e,id:this.idFor(e)})).flatMap(({entity:e,id:t})=>{if(r&&!r.has(t)||i&&!i.has(e.name))return[];let o=e.components.flatMap((e,r)=>{let i=e.constructor;if(a&&!a.has(i.componentName))return[];let o={issues:n,seen:new Map};return[{type:i.componentName,index:r,state:ire(e,`entities[${t}].components[${r}].state`,o)}]});return a&&o.length===0?[]:[{id:t,name:e.name,transform:{position:{x:e.position.x,y:e.position.y,z:e.position.z},rotation:{x:e.node.rotation.x,y:e.node.rotation.y,z:e.node.rotation.z,order:e.node.rotation.order},scale:{x:e.scale.x,y:e.scale.y,z:e.scale.z}},components:o}]});return this.capSnapshot({...e,stats:Object.fromEntries([...this.game.stats.entries()].sort(([e],[t])=>e<t?-1:+(e>t))),entities:o,projectionIssues:n})}capSnapshot(e){if(Gm(JSON.stringify(e))<=Um.snapshotBytes)return e;let t=[...e.entities],n=new Set;for(;t.length>0;){let r=t.pop();r&&n.add(r.id);let i=e.entities.length-t.length,a=e.projectionIssues.filter(e=>[...n].every(t=>!e.path.startsWith(`entities[${t}]`))).concat({path:`entities[${t.length}]`,marker:`truncated`,omitted:i}),o={...e,entities:t,projectionIssues:a};if(Gm(JSON.stringify(o))<=Um.snapshotBytes)return o}return{...e,entities:[],projectionIssues:[{path:`entities[0]`,marker:`truncated`,omitted:e.entities.length}]}}idFor(e){let t=this.ids.get(e);if(t)return t;let n=`entity-${this.nextId}`;return this.nextId+=1,this.ids.set(e,n),n}},qm=e=>e===0?0:e;function Jm(e,t){let n=(e-t)/Math.SQRT2,r=(-e-t)/Math.SQRT2,i=Math.hypot(n,r);return i>1&&(n/=i,r/=i),{x:qm(n),y:qm(r)}}function Ym(e,t){return{x:qm(e-t),y:qm(-(e+t)/2)}}function Xm(e,t){return{x:qm(e/2-t),y:qm(-e/2-t)}}function ore(e){return typeof e==`object`&&!!e&&typeof e.layer==`number`&&typeof e.setSortZ==`function`}function sre(e){let t=new Map;for(let[n,r]of e.entries()){let e=t.get(r.layer);e?e.push(n):t.set(r.layer,[n])}let n=[...t.keys()].sort((e,t)=>e-t),r=Array(e.length);for(let[i,a]of n.entries()){let o=t.get(a),s=n[i+1],c=s===void 0?.01:Math.min(.01,(s-a)*.01),l=[...o].sort((t,n)=>e[n].y-e[t].y),u=c/(l.length+1);for(let[e,t]of l.entries())r[t]=a*.01+(e+1)*u}return r}function Zm(e,t){if(!(!e||!Object.prototype.hasOwnProperty.call(e,t)))return e[t]}function cre(e,t){if(!e)return{};let n=t.resolveAsset;if(!n)return{...e};let r=e=>{if(typeof e==`string`)return n(e);if(Array.isArray(e))return e.map(r);if(e&&typeof e==`object`&&e.constructor===Object){let t={};for(let[n,i]of Object.entries(e))t[n]=r(i);return t}return e};return r(e)}function Qm(e,t){let n=e.components??[];if(!e.prefab)return n;let r=Zm(t,e.prefab);return r?[...r.components.map(t=>({type:t.type,props:{...t.props,...e.overrides?.[t.type]}})),...n]:(console.warn(`[waica] unknown prefab in scene: "${e.prefab}" (${e.name})`),n)}function $m(e,t,n){let r=e.spawn(t.name);t.position&&r.position.set(t.position[0],t.position[1],0);for(let e of Qm(t,n.prefabs)){let i=Zm(n.components,e.type);if(!i){console.warn(`[waica] unknown component in scene: "${e.type}" (${t.name})`);continue}try{r.add(i,cre(e.props,n))}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[waica] component "${e.type}" failed on "${t.name}": ${r}`)}}return r}function lre(e,t,n){e.registry=n,e.setSceneRender(t.render);for(let r of t.entities)$m(e,r,n);e.setSceneCamera(t.camera),n.ui&&e.ui.defineAll(n.ui);for(let n of t.ui??[])e.ui.show(n)}var eh=class{initial;values;emitter=new Bm;constructor(e={}){this.initial={...e},this.values={...e}}get(e){return this.values[e]}count(e){let t=this.values[e];return typeof t==`number`?t:0}set(e,t){this.values[e]!==t&&(this.values[e]=t,this.emitter.emit(e,t))}add(e,t=1){let n=this.count(e)+t;return this.set(e,n),n}reset(){let e=this.values;this.values={...this.initial};for(let t of new Set([...Object.keys(e),...Object.keys(this.values)]))e[t]!==this.values[t]&&this.emitter.emit(t,this.values[t])}onChange(e,t){return this.emitter.on(e,t)}entries(){return Object.entries(this.values)}},th=class{stats;host;sources=new Map;pieces=new Map;overlay;active=!0;constructor(e,t){this.stats=e,this.host=t}define(e,t){this.sources.set(e,t)}defineAll(e){for(let[t,n]of Object.entries(e))this.define(t,n)}names(){return[...this.sources.keys()]}show(e){let t=this.mount(e);t&&(t.visible=!0),this.sync()}hide(e){let t=this.pieces.get(e);t&&(t.visible=!1),this.sync()}toggle(e){this.isVisible(e)?this.hide(e):this.show(e)}isVisible(e){return this.pieces.get(e)?.visible??!1}element(e){return this.mount(e)?.root??null}setActive(e){this.active!==e&&(this.active=e,this.sync())}dispose(){for(let e of this.pieces.values())for(let t of e.unsubs)t();this.pieces.clear(),this.overlay?.remove(),this.overlay=void 0}mount(e){let t=this.pieces.get(e);if(t)return t;let n=this.sources.get(e);if(n==null)return console.warn(`[waica] unknown ui piece: "${e}"`),null;let r=document.createElement(`div`);r.style.cssText=`position:absolute;inset:0;pointer-events:none`;let i=r.attachShadow({mode:`open`}),a=document.createElement(`div`);a.style.display=`contents`,a.innerHTML=n,i.append(a);let o={shell:r,root:a,visible:!1,unsubs:fre(a,this.stats)};return this.mountOverlay().append(r),this.pieces.set(e,o),o}mountOverlay(){if(this.overlay)return this.overlay;let e=document.createElement(`div`);e.style.cssText=`position:absolute;inset:0;z-index:9000;pointer-events:none`;let t=this.host();return getComputedStyle(t).position===`static`&&(t.style.position=`relative`),t.append(e),this.overlay=e,this.sync(),e}sync(){this.overlay&&(this.overlay.style.display=this.active?``:`none`);for(let e of this.pieces.values())e.shell.style.display=e.visible?``:`none`}},ure=/\{\{\s*([\w-]+)\s*\}\}/g;function dre(e){return e===void 0?``:typeof e==`boolean`?e?`✓`:`✕`:String(e)}function fre(e,t){let n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=[];for(let e=r.nextNode();e;e=r.nextNode())e.parentElement?.closest(`style, script`)||(e.nodeValue??``).includes(`{{`)&&i.push(e);for(let e of i){let r=e.nodeValue??``,i=[],a=0;for(let e of r.matchAll(ure)){let o=e[1];if(o===void 0)continue;e.index>a&&i.push(document.createTextNode(r.slice(a,e.index)));let s=document.createTextNode(dre(t.get(o)));n.push(t.onChange(o,e=>s.nodeValue=dre(e))),i.push(s),a=e.index+e[0].length}i.length!==0&&(a<r.length&&i.push(document.createTextNode(r.slice(a))),e.replaceWith(...i))}return n}var pre=class{scene=new Di;camera;input;entities=[];events=new Bm;stats;ui;registry=null;paramOverrides={};simulate=!0;renderer;resizeObserver;updateFns=new Set;invalidUpdateCompositions=new WeakMap;resolution;viewHeight;sceneCamera=null;renderSort=null;sceneProjection=null;lastTime=0;runtimeBridge=null;constructor(e){let{canvas:t,background:n=1710638,viewHeight:r=10}=e;this.viewHeight=r,this.resolution=e.resolution??null,this.input=new Jne(e.bindings),this.stats=new eh(e.stats),this.ui=new th(this.stats,()=>t.parentElement??document.body),this.renderer=new Ine({canvas:t,antialias:!0}),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.scene.background=new Ci(n),this.camera=new md,this.camera.position.z=10,this.resize(),this.resizeObserver=new ResizeObserver(()=>this.resize()),this.resizeObserver.observe(t)}spawn(e){let t=new qne(this,e);return t.setProjected(this.sceneProjection===`isometric`),this.entities.push(t),this.scene.add(t.node),t}spawnPrefab(e,t={}){let n=this.registry;if(!n)return console.warn(`[waica] cannot spawn prefab before loadScene: "${e}"`),null;if(!Zm(n.prefabs,e))return console.warn(`[waica] unknown runtime prefab: "${e}"`),null;let r=e.slice(e.lastIndexOf(`/`)+1)||`Entity`,i=t.name??r.charAt(0).toUpperCase()+r.slice(1);return $m(this,{name:i,prefab:e,...t.position?{position:t.position}:{}},n)}find(e){return this.entities.find(t=>t.name===e)}async loadParams(e){try{let t=await fetch(e);t.ok&&(this.paramOverrides=await t.json())}catch{}}applyParamOverrides(e,t){let n=t.constructor,r=this.paramOverrides[e.name]?.[n.componentName];r&&Object.assign(t,r)}onUpdate(e){return this.updateFns.add(e),()=>this.updateFns.delete(e)}setSceneRender(e){this.renderSort=e?.sort===`y`?`y`:null;let t=e?.projection===`isometric`?`isometric`:null;if(t!==this.sceneProjection){this.sceneProjection=t;for(let e of this.entities){e.setProjected(t===`isometric`);for(let n of e.components)n.onProjectionChange?.(t)}}}setSceneCamera(e){if(!e){this.sceneCamera=null;return}this.sceneCamera=Pm(e);let t=this.sceneCamera.follow?this.find(this.sceneCamera.follow):void 0,n=t?this.renderPoint(t.position.x,t.position.y):{x:this.sceneCamera.position[0],y:this.sceneCamera.position[1]};this.camera.position.x=n.x,this.camera.position.y=n.y,this.setViewHeight(this.sceneCamera.zoom)}start(){let e=Zne();if(e){if(!this.runtimeBridge){let t=new are(this);this.runtimeBridge=new Qne(this.renderer.domElement,e,{step:e=>this.runFrame(e),resume:e=>this.resumeRuntime(e),pause:()=>this.stop(),injectAction:(e,t)=>this.input.injectAction(e,t),availableActions:()=>this.input.availableActions(),heldActions:()=>this.input.heldActions(),inspect:(e,n)=>t.snapshot(e,n)}),e.register(this.runtimeBridge),window.addEventListener(`pagehide`,this.unregisterRuntimeBridge)}this.renderSurface();return}this.renderer.setAnimationLoop(e=>this.tick(e))}stop(){this.renderer.setAnimationLoop(null)}removeEntity(e){let t=this.entities.indexOf(e);t!==-1&&this.entities.splice(t,1)}get projection(){return this.sceneProjection}get view(){return this.viewHeight}setViewHeight(e){this.viewHeight=Math.min(Math.max(e,2),80),this.resize()}dispose(){this.stop(),this.unregisterRuntimeBridge(),this.input.dispose(),this.resizeObserver.disconnect(),this.ui.dispose();for(let e of[...this.entities])e.destroy();this.renderer.dispose()}resumeRuntime(e){let t=null;this.renderer.setAnimationLoop(n=>{let r=t===null?0:Math.min((n-t)/1e3,.1);t=n,e(r)})}tick(e){let t=Math.min((e-this.lastTime)/1e3,.1);this.lastTime=e,this.runFrame(t)}runFrame(e){if(this.simulate){for(let t of[...this.entities]){let n=this.componentUpdateSchedule(t);if(n)for(let t of n)t.onUpdate?.(e)}this.dispatchCollisions(),this.updateSceneCamera(e)}this.ui.setActive(this.simulate);for(let t of this.updateFns)t(e);this.input.endFrame(),this.renderSurface()}unregisterRuntimeBridge=()=>{window.removeEventListener(`pagehide`,this.unregisterRuntimeBridge),this.runtimeBridge?.unregister(),this.runtimeBridge=null};applyYSort(){let e=[],t=[];for(let n of this.entities)for(let r of n.components)ore(r)&&(e.push(r),t.push({layer:r.layer,y:n.node.position.y}));let n=sre(t);for(let[t,r]of e.entries())r.setSortZ(n[t])}renderSurface(){if(this.sceneProjection===`isometric`)for(let e of this.entities){let t=Ym(e.position.x,e.position.y);e.node.position.x=t.x,e.node.position.y=t.y}this.renderSort===`y`&&this.applyYSort(),this.ui.setActive(this.simulate),this.resolution&&(this.renderer.setScissorTest(!1),this.renderer.setClearColor(0,1),this.renderer.clear(!0,!1,!1),this.renderer.setScissorTest(!0)),this.renderer.render(this.scene,this.camera)}componentUpdateSchedule(e){let t=[...e.components],n={...this.registry?.components??{}},r=new Map,i=[],a=[];for(let e of t){let t=e.constructor,o=t.componentName;n[o]=t,i.push(o),r.set(o,e),a.push(`${o}:${typeof t.prototype.onUpdate==`function`?`updates`:`passive`}:`+[...new Set(t.updateAfter??[])].sort().join(`,`))}let o=Lm(i,n);if(!o.ok){let t=a.sort().join(`|`);return this.invalidUpdateCompositions.get(e)!==t&&(this.invalidUpdateCompositions.set(e,t),console.error(`[waica] invalid component update schedule for "${e.name}": `+o.issues.map(e=>e.cause).join(` `))),null}return this.invalidUpdateCompositions.delete(e),o.order.map(e=>r.get(e))}updateSceneCamera(e){let t=this.sceneCamera;if(!t)return;let n=t.follow?this.find(t.follow):void 0,r=(n?.components.find(e=>Une(e)))?.getCameraVelocity(),i=n?this.renderPoint(n.position.x,n.position.y):null,a=r?this.renderPoint(r.vx,r.vy):{x:0,y:0},o=Wne(t,{x:this.camera.position.x,y:this.camera.position.y,halfW:(this.camera.right-this.camera.left)/2,halfH:this.viewHeight/2,target:i,vx:a.x,vy:a.y,dt:e});this.camera.position.x=o.x,this.camera.position.y=o.y}renderPoint(e,t){return this.sceneProjection===`isometric`?Ym(e,t):{x:e,y:t}}dispatchCollisions(){let e=this.entities.filter(e=>e.has(zm));for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(!r?.alive||!i?.alive)continue;let a=r.get(zm),o=i.get(zm);if(!(!a||!o)&&Am({x:r.position.x+a.offsetX,y:r.position.y+a.offsetY,width:a.width,height:a.height,shape:a.shape,points:a.points},{x:i.position.x+o.offsetX,y:i.position.y+o.offsetY,width:o.width,height:o.height,shape:o.shape,points:o.points})){for(let e of[...r.components])e.onCollide?.(i);if(!(!r.alive||!i.alive))for(let e of[...i.components])e.onCollide?.(r)}}}resize(){let{clientWidth:e,clientHeight:t}=this.renderer.domElement;if(e===0||t===0)return;this.renderer.setSize(e,t,!1);let n=e/t;if(this.resolution){n=this.resolution.width/this.resolution.height;let r=Math.min(e,t*n),i=r/n,a=(e-r)/2,o=(t-i)/2;this.renderer.setViewport(a,o,r,i),this.renderer.setScissor(a,o,r,i)}let r=this.viewHeight/2,i=r*n;this.camera.left=-i,this.camera.right=i,this.camera.top=r,this.camera.bottom=-r,this.camera.updateProjectionMatrix()}};function mre(e,t,n,r){let i=new Set,a=r,o=!1;for(;a&&!i.has(a);){let r=`${n}-${a}`;if(t.has(r))return{clip:r,flip:o};i.add(a);let s=e.fallbacks?.[a];if(!s)break;s.flip&&(o=!o),a=s.dir}}function hre(e,t,n,r){if(!e.directions.includes(r))return{clip:void 0,flip:!1};let i=new Set(t),a=mre(e,i,n,r);if(a)return a;let o=new Set,s=n;for(;s&&!o.has(s);){if(o.add(s),s!==n){let t=mre(e,i,s,r);if(t)return t}if(i.has(s))return{clip:s,flip:!1};s=e.contract.fallbacks[s]}return{clip:void 0,flip:!1}}var gre=null;function nh(e){gre=e}function rh(){return gre}function _re(e){return typeof e==`object`&&!!e&&typeof e.getAnimationFacing==`function`}function ih(e){let t=e.offsetX+(.5-e.anchorX)*e.width,n=e.offsetY-e.anchorY*e.height;return{x:e.flipX?-t:t,y:n+e.height*e.frameScaleY/2,scaleX:e.width*e.frameScaleX*(e.flipX?-1:1),scaleY:e.height*e.frameScaleY}}var vre=new Set([`entity`,`game`]);function yre(e){if(e===null)return!0;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return!0;if(t!==`object`)return!1;if(Array.isArray(e))return!0;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function bre(e,t){let n;try{n=new e}catch(e){return t?.(e),{}}let r=new Set(e.transient??[]),i=new Set(Object.keys(n));for(let e=Object.getPrototypeOf(n);e&&e!==Object.prototype;e=Object.getPrototypeOf(e))for(let[t,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))n.set&&i.add(t);let a={};for(let e of i){if(vre.has(e)||e.startsWith(`_`)||r.has(e))continue;let t=n[e];t===void 0||!yre(t)||(a[e]=t)}return a}function xre(e,t=console.warn){let n={};for(let r of e)for(let e of Object.values(r)){if(typeof e!=`function`)continue;let r=e;if(r.prototype instanceof Rm){if(typeof r.componentName!=`string`||r.componentName===`Component`){t(`[waica] component class "${r.name||`(anonymous)`}" declares no static componentName — scenes cannot reference it`);continue}n[r.componentName]=r}}return n}function Sre(e,t,n=console.warn){for(let r of Object.keys(t))e.components[r]&&n(`[waica] project component "${r}" shadows registry component "${r}"`);return{...e,components:{...e.components,...t}}}var Cre=new Yu,wre=e=>Math.min(1,Math.max(0,e)),ah=class extends Rm{static componentName=`Sprite`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`},anchorX:{label:`x anchor`,min:0,max:1,step:.25},anchorY:{label:`y anchor`,min:0,max:1,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`mesh`];_width=1;_height=1;get width(){return this._width}set width(e){this._width=e,this.syncQuad()}get height(){return this._height}set height(e){this._height=e,this.syncQuad()}_color=16777215;get color(){return this._color}set color(e){this._color=e,this.mesh?.material.color.setHex(e)}_offsetX=0;_offsetY=0;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this.syncQuad()}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this.syncQuad()}_anchorX=.5;_anchorY=.5;get anchorX(){return this._anchorX}set anchorX(e){this._anchorX=wre(e),this.syncQuad()}get anchorY(){return this._anchorY}set anchorY(e){this._anchorY=wre(e),this.syncQuad()}texture;pixelArt=!1;_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.mesh&&(this.mesh.position.z=e*.01)}setSortZ(e){this.mesh&&(this.mesh.position.z=e)}_shape=`rectangle`;get shape(){return this._shape}set shape(e){this._shape=e===`circle`?`circle`:`rectangle`,this.mesh&&(this.mesh.geometry.dispose(),this.mesh.geometry=this.createGeometry())}mesh;onReady(){let e=new uo({color:this.color,transparent:!0});if(this.texture){let t=Cre.load(this.texture);this.pixelArt&&(t.magFilter=Ee,t.minFilter=Ee),t.colorSpace=rn,e.map=t,e.color.set(16777215)}this.mesh=new Co(this.createGeometry(),e),this.mesh.position.z=this.layer*.01,this.syncQuad(),this.entity.node.add(this.mesh)}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose()}syncQuad(){if(!this.mesh)return;let e=ih({width:this.width,height:this.height,offsetX:this.offsetX,offsetY:this.offsetY,anchorX:this.anchorX,anchorY:this.anchorY,flipX:!1,frameScaleX:1,frameScaleY:1});this.mesh.position.x=e.x,this.mesh.position.y=e.y,this.mesh.scale.set(e.scaleX,e.scaleY,1)}createGeometry(){return this._shape===`circle`?new rc(.5,32):new Nl(1,1)}},oh=class extends Rm{static componentName=`Solid`;static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`}};shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0);get bounds(){return km({x:this.entity.position.x+this.offsetX,y:this.entity.position.y+this.offsetY,width:this.width,height:this.height,shape:this.shape,points:this.points})}get left(){return this.bounds.left}get right(){return this.bounds.right}get top(){return this.bounds.top}get bottom(){return this.bounds.bottom}},sh=Symbol(`waica.solidSource`);function Tre(e){if(typeof e!=`object`||!e)return!1;let t=e;return t[sh]===!0&&typeof t.solids==`function`}function ch(e,t){let n=[];for(let r of e.entities){if(r===t)continue;let e=r.get(oh);e&&n.push(e);for(let e of r.components??[])Tre(e)&&n.push(...e.solids())}return n}var Ere=1e-7;function lh(e){return{x:e.entity.position.x+e.offsetX,y:e.entity.position.y+e.offsetY,width:e.width,height:e.height,shape:e.shape,points:e.points}}function uh({entity:e,axis:t,previous:n,body:r,onContact:i}){let a=e.position,o=a[t],s=ch(e.game,e);a[t]=n;let c=new Set(s.filter(e=>Am(r(),lh(e)))),l=km(r()),u=t===`x`?l.right-l.left:l.top-l.bottom,d=Math.max(u/2,.05),f=o-n,p=Math.max(1,Math.ceil(Math.abs(f)/d)),m=n;for(let e=1;e<=p;e++){let o=n+e/p*f;a[t]=o;let l=s.filter(e=>!c.has(e)&&Am(r(),lh(e)));if(l.length===0){m=o;continue}let u=o,d=1/0,h=[];for(let e of l){let n=m,i=o;for(let o=0;o<14;o++){let o=(n+i)/2;a[t]=o,Am(r(),lh(e))?i=o:n=o}let s=Math.abs(n-m);s<d-Ere?(u=n,d=s,h=[e]):Math.abs(s-d)<=Ere&&h.push(e)}a[t]=u;for(let e of h)i?.(e);return!0}return a[t]=o,!1}var Dre=[{axis:`x`,sign:-1,normal:{x:-1,y:0}},{axis:`x`,sign:1,normal:{x:1,y:0}},{axis:`y`,sign:-1,normal:{x:0,y:-1}},{axis:`y`,sign:1,normal:{x:0,y:1}}],Ore=24,dh=class extends Rm{static componentName=`DynamicBody`;static params={vx:{label:`x velocity`,step:.1},vy:{label:`y velocity`,step:.1},shape:{label:`shape`,options:[...Lne]},width:{label:`width`,min:0,step:.1},height:{label:`height`,min:0,step:.1},offsetX:{label:`x offset`,step:.1},offsetY:{label:`y offset`,step:.1},points:{label:`polygon points`}};vx=0;vy=0;shape=`rectangle`;width=1;height=1;offsetX=0;offsetY=0;points=Dm(void 0);onUpdate(e){let t=new Map,n=this.recoverInitialOverlap();n&&!this.deliver(n.contacts,t)||this.moveAxis(`x`,this.vx*e,t)&&this.moveAxis(`y`,this.vy*e,t)}moveAxis(e,t,n){if(t===0)return this.entity.alive;let r=this.entity.position[e];this.entity.position[e]+=t;let i=[];if(!uh({entity:this.entity,axis:e,previous:r,body:()=>this.collisionBody(),onContact:e=>i.push(e)}))return this.entity.alive;e===`x`?this.vx=0:this.vy=0;let a=e===`x`?{x:t>0?-1:1,y:0}:{x:0,y:t>0?-1:1};return this.deliver(i.map(t=>this.contact(t,e,a)),n)}recoverInitialOverlap(){let e=this.solids(),t=e.filter(e=>Am(this.collisionBody(),this.solidBody(e)));if(t.length===0)return null;let n={x:this.entity.position.x,y:this.entity.position.y},r=km(this.collisionBody()),i=null;for(let a of Dre){let o=e.map(e=>{let t=km(this.solidBody(e));return a.axis===`x`?a.sign<0?t.left-r.right:t.right-r.left:a.sign<0?t.bottom-r.top:t.top-r.bottom}).filter(e=>e*a.sign>0).sort((e,t)=>Math.abs(e)-Math.abs(t)),s=null;for(let t of o)if(this.setShift(n,a.axis,t),!this.overlapsAny(e)){s=t;break}if(this.resetPosition(n),s===null)continue;let c=0,l=s;for(let t=0;t<Ore;t++){let t=(c+l)/2;this.setShift(n,a.axis,t),this.overlapsAny(e)?c=t:l=t}this.resetPosition(n),!(i&&Math.abs(l)>=Math.abs(i.shift))&&(i={direction:a,shift:l,contacts:t.map(e=>this.contact(e,a.axis,a.normal))})}return i?(this.setShift(n,i.direction.axis,i.shift),i):null}setShift(e,t,n){this.entity.position[t]=e[t]+n}resetPosition(e){this.entity.position.x=e.x,this.entity.position.y=e.y}overlapsAny(e){let t=this.collisionBody();return e.some(e=>Am(t,this.solidBody(e)))}deliver(e,t){for(let n of e){let e=`${n.axis}:${n.normal.x}:${n.normal.y}`,r=t.get(n.solid)??new Set;if(!r.has(e)){r.add(e),t.set(n.solid,r);for(let e of[...this.entity.components]){if(!this.entity.alive)return!1;e.onContact?.(n)}}}return this.entity.alive}contact(e,t,n){return{entity:e.entity,solid:e,axis:t,normal:n}}solids(){return ch(this.game,this.entity)}collisionBody(){return{x:this.entity.position.x+this.offsetX,y:this.entity.position.y+this.offsetY,width:this.width,height:this.height,shape:this.shape,points:this.points}}solidBody(e){return{x:e.entity.position.x+e.offsetX,y:e.entity.position.y+e.offsetY,width:e.width,height:e.height,shape:e.shape,points:e.points}}},fh=class{frames=[0];fps=1;loop=!0;t=0;set(e){this.frames=e.frames.length>0?e.frames:[0],this.fps=e.fps,this.loop=e.loop??!0,this.t=0}advance(e){this.t+=e;let t=Math.floor(this.t*this.fps),n=this.frames.length,r=this.loop?t%n:Math.min(t,n-1);return this.frames[r]??0}};function ph(e){return e.cells?.length?e.cells.length:Math.max(1,Math.floor(e.cols))*Math.max(1,Math.floor(e.rows))}function mh(e,t){let n=Math.max(0,Math.floor(t));for(let t=0;t<e.length;t++){let r=ph(e[t]);if(n<r||t===e.length-1)return{sheet:t,frame:Math.min(n,r-1)};n-=r}return{sheet:0,frame:0}}var hh=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?e:0;function gh(e,t,n,r,i,a={}){if(a.cells?.length){let e=Math.min(Math.max(0,Math.floor(i)),a.cells.length-1);return a.cells[e]}let o=Math.max(1,Math.floor(n)),s=Math.max(1,Math.floor(r)),c=hh(a.gridOffsetX),l=hh(a.gridOffsetY),u=hh(a.spacingX),d=hh(a.spacingY),f=hh(a.cellWidth)||Math.max(1,(e-c-u*(o-1))/o),p=hh(a.cellHeight)||Math.max(1,(t-l-d*(s-1))/s),m=i%o,h=Math.floor(i/o);return{x:c+m*(f+u),y:l+h*(p+d),width:f,height:p}}var kre=new Yu,_h=e=>Math.min(1,Math.max(0,e)),vh=class extends Rm{static componentName=`AnimatedSprite`;static updateAfter=[`StateMachine`];static params={offsetX:{label:`x offset`},offsetY:{label:`y offset`},anchorX:{label:`x anchor`,min:0,max:1,step:.25},anchorY:{label:`y anchor`,min:0,max:1,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`current`,`flipX`,`player`,`sheets`,`texs`,`mesh`,`frame`,`frameScaleX`,`frameScaleY`];texture=``;cols=1;rows=1;gridOffsetX=0;gridOffsetY=0;spacingX=0;spacingY=0;cellWidth=0;cellHeight=0;cells=[];extraSheets=[];_width=1;_height=1;get width(){return this._width}set width(e){this._width=e,this.syncQuad()}get height(){return this._height}set height(e){this._height=e,this.syncQuad()}_offsetX=0;_offsetY=0;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this.syncQuad()}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this.syncQuad()}_anchorX=.5;_anchorY=.5;get anchorX(){return this._anchorX}set anchorX(e){this._anchorX=_h(e),this.syncQuad()}get anchorY(){return this._anchorY}set anchorY(e){this._anchorY=_h(e),this.syncQuad()}pixelArt=!0;_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.mesh&&(this.mesh.position.z=e*.01)}setSortZ(e){this.mesh&&(this.mesh.position.z=e)}flipX=!1;setFlipX(e){this.flipX!==e&&(this.flipX=e,this.syncQuad())}clips={};initialClip;current;player=new fh;sheets=[];texs=[];mesh;frame=0;frameScaleX=1;frameScaleY=1;onReady(){let e={texture:this.texture,cols:this.cols,rows:this.rows,gridOffsetX:this.gridOffsetX,gridOffsetY:this.gridOffsetY,spacingX:this.spacingX,spacingY:this.spacingY,cellWidth:this.cellWidth,cellHeight:this.cellHeight};this.cells.length&&(e.cells=this.cells),this.sheets=[e,...this.extraSheets],this.texs=this.sheets.map(e=>{let t=kre.load(e.texture,()=>this.applyFrame());return t.colorSpace=rn,this.pixelArt&&(t.magFilter=Ee,t.minFilter=Ee),t.repeat.set(1/Math.max(1,e.cols),1/Math.max(1,e.rows)),t});let t=new uo({map:this.texs[0],transparent:!0});this.mesh=new Co(new Nl(1,1),t),this.mesh.position.z=this.layer*.01,this.syncQuad(),this.entity.node.add(this.mesh),this.initialClip&&this.play(this.initialClip)}play(e){if(this.current===e)return;let t=this.clips[e];t&&(this.player.set(t),this.current=e)}onUpdate(e){this.texs.length===0||!this.current||this.showFrame(this.player.advance(e))}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose();for(let e of this.texs)e.dispose()}showFrame(e){this.frame=e,this.applyFrame()}syncQuad(){if(!this.mesh)return;let e=ih({width:this.width,height:this.height,offsetX:this.offsetX,offsetY:this.offsetY,anchorX:this.anchorX,anchorY:this.anchorY,flipX:this.flipX,frameScaleX:this.frameScaleX,frameScaleY:this.frameScaleY});this.mesh.position.x=e.x,this.mesh.position.y=e.y,this.mesh.scale.set(e.scaleX,e.scaleY,1)}applyFrame(){let e=mh(this.sheets,this.frame),t=this.sheets[e.sheet],n=this.texs[e.sheet];if(!t||!n)return;this.mesh&&this.mesh.material.map!==n&&(this.mesh.material.map=n,this.mesh.material.needsUpdate=!0);let r=t.cells;if(r?.length){let i=gh(0,0,t.cols,t.rows,e.frame,t),a=Math.max(...r.map(e=>e.width)),o=Math.max(...r.map(e=>e.height));this.frameScaleX=a>0?i.width/a:1,this.frameScaleY=o>0?i.height/o:1,this.syncQuad();let s=n.image;s?.width&&s?.height&&(n.repeat.set(i.width/s.width,i.height/s.height),n.offset.set(i.x/s.width,1-(i.y+i.height)/s.height));return}(this.frameScaleX!==1||this.frameScaleY!==1)&&(this.frameScaleX=1,this.frameScaleY=1,this.syncQuad());let i=n.image;if(i?.width&&i?.height){let r=gh(i.width,i.height,t.cols,t.rows,e.frame,t);n.repeat.set(r.width/i.width,r.height/i.height),n.offset.set(r.x/i.width,1-(r.y+r.height)/i.height);return}let a=Math.max(1,t.cols),o=Math.max(1,t.rows);n.offset.set(e.frame%a/a,1-(Math.floor(e.frame/a)+1)/o)}};function yh(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function bh(e,t,n,r){let i=yh(e),a=yh(t);return!Number.isInteger(n)||!Number.isInteger(r)||n<0||r<0||n>=i||r>=a?null:r*i+n}function xh(e,t,n){let r=e.cellSize;if(!Number.isFinite(r)||r<=0)return null;let i=Math.floor((t-(e.originX??0))/r),a=Math.floor((n-(e.originY??0))/r),o=bh(e.mapWidth,e.mapHeight,i,a);return o===null?null:{column:i,row:a,index:o}}function Sh(e,t,n){if(bh(e.mapWidth,e.mapHeight,t,n)===null)return null;let r=e.cellSize;if(!Number.isFinite(r)||r<=0)return null;let i=(e.originX??0)+t*r,a=(e.originY??0)+n*r;return{left:i,right:i+r,bottom:a,top:a+r,centerX:i+r/2,centerY:a+r/2}}var Are=new Yu,Ch=class extends Rm{static componentName=`Tilemap`;static params={color:{label:`color`},cols:{label:`tileset columns`,min:1,step:1},rows:{label:`tileset rows`,min:1,step:1},mapWidth:{label:`map width`,min:1,step:1},mapHeight:{label:`map height`,min:1,step:1},cellSize:{label:`cell size`,min:.05,step:.25},layer:{label:`layer`,min:-5,max:5,step:1}};static transient=[`mesh`,`loadedTexture`,`derivedSolids`];[sh]=!0;_texture=``;get texture(){return this._texture}set texture(e){this._texture=e,this.rebuildMaterial()}_color=16777215;get color(){return this._color}set color(e){this._color=e,this.rebuildMaterial()}_cols=1;get cols(){return this._cols}set cols(e){this._cols=e,this.rebuildGeometry()}_rows=1;get rows(){return this._rows}set rows(e){this._rows=e,this.rebuildGeometry()}_gridOffsetX=0;get gridOffsetX(){return this._gridOffsetX}set gridOffsetX(e){this._gridOffsetX=e,this.rebuildGeometry()}_gridOffsetY=0;get gridOffsetY(){return this._gridOffsetY}set gridOffsetY(e){this._gridOffsetY=e,this.rebuildGeometry()}_spacingX=0;get spacingX(){return this._spacingX}set spacingX(e){this._spacingX=e,this.rebuildGeometry()}_spacingY=0;get spacingY(){return this._spacingY}set spacingY(e){this._spacingY=e,this.rebuildGeometry()}_cellWidth=0;get cellWidth(){return this._cellWidth}set cellWidth(e){this._cellWidth=e,this.rebuildGeometry()}_cellHeight=0;get cellHeight(){return this._cellHeight}set cellHeight(e){this._cellHeight=e,this.rebuildGeometry()}_pixelArt=!0;get pixelArt(){return this._pixelArt}set pixelArt(e){this._pixelArt=e,this.rebuildMaterial()}_mapWidth=1;get mapWidth(){return this._mapWidth}set mapWidth(e){this._mapWidth=e,this.rebuildMap()}_mapHeight=1;get mapHeight(){return this._mapHeight}set mapHeight(e){this._mapHeight=e,this.rebuildMap()}_cellSize=1;get cellSize(){return this._cellSize}set cellSize(e){this._cellSize=e,this.rebuildMap()}_cells=[];get cells(){return this._cells}set cells(e){this._cells=[...e],this.rebuildMap()}_solidTiles=[];get solidTiles(){return this._solidTiles}set solidTiles(e){this._solidTiles=[...e],this.rebuildSolids()}_layer=0;get layer(){return this._layer}set layer(e){this._layer=e,this.rebuildGeometry()}mesh;loadedTexture;derivedSolids=[];onReady(){this.mesh=new Co(new ja,this.makeMaterial()),this.entity.node.add(this.mesh),this.rebuildMaterial(),this.rebuildMap()}onProjectionChange(){this.rebuildGeometry()}onDestroy(){this.mesh?.removeFromParent(),this.mesh?.geometry.dispose(),this.mesh?.material.dispose(),this.loadedTexture?.dispose(),this.loadedTexture=void 0,this.derivedSolids=[]}solids(){return this.derivedSolids}cellIndex(e,t){return bh(this.mapWidth,this.mapHeight,e,t)}cellAt(e,t){return xh(this.gridSpec(),e,t)}cellBounds(e,t){return Sh(this.gridSpec(),e,t)}gridSpec(){return{mapWidth:this.mapWidth,mapHeight:this.mapHeight,cellSize:this.cellSize,originX:this.entity?.position.x??0,originY:this.entity?.position.y??0}}rebuildMap(){this.rebuildGeometry(),this.rebuildSolids()}rebuildMaterial(){let e=this.mesh;if(!e||(this.loadedTexture?.dispose(),this.loadedTexture=void 0,e.material.dispose(),e.material=this.makeMaterial(),!this.texture))return;let t=this.texture,n=Are.load(t,()=>{this.loadedTexture===n&&this.texture===t&&this.rebuildGeometry()});this.pixelArt&&(n.magFilter=Ee,n.minFilter=Ee),n.colorSpace=rn,this.loadedTexture=n,e.material.map=n,e.material.color.set(16777215),e.material.needsUpdate=!0}makeMaterial(){return new uo({color:this.color,transparent:!0})}rebuildGeometry(){let e=this.mesh;if(!e)return;let t=[],n=[],r=[],i=Math.max(0,Math.floor(this.mapWidth)),a=Math.max(0,Math.floor(this.mapHeight)),o=this.cellSize;if(Number.isFinite(o)&&o>0){let e=this.loadedTexture?.image,s=e?.width&&e.width>0?e.width:Math.max(1,this.cols),c=e?.height&&e.height>0?e.height:Math.max(1,this.rows),l={gridOffsetX:this.gridOffsetX,gridOffsetY:this.gridOffsetY,spacingX:this.spacingX,spacingY:this.spacingY,cellWidth:this.cellWidth,cellHeight:this.cellHeight};for(let e=0;e<i*a;e++){let a=this.cells[e]??-1;if(!Number.isFinite(a)||a<0)continue;let u=e%i,d=Math.floor(e/i),f=(u+.5)*o,p=(d+.5)*o,m=this.game.projection===`isometric`?Ym(f,p):{x:f,y:p},h=this.game.projection===`isometric`?o:o/2,g=o/2,_=this.layer*.01;t.push(m.x-h,m.y-g,_,m.x+h,m.y-g,_,m.x+h,m.y+g,_,m.x-h,m.y+g,_);let v=gh(s,c,this.cols,this.rows,a,l),y=v.x/s,b=(v.x+v.width)/s,x=1-(v.y+v.height)/c,S=1-v.y/c;n.push(y,x,b,x,b,S,y,S);let C=t.length/3-4;r.push(C,C+1,C+2,C,C+2,C+3)}}let s=new ja;s.setAttribute(`position`,new ya(t,3)),s.setAttribute(`uv`,new ya(n,2)),s.setIndex(new ua(new Uint32Array(r),1)),e.geometry.dispose(),e.geometry=s}rebuildSolids(){if(!this.entity||!this.game)return;let e=new Set(this.solidTiles),t=Math.max(0,Math.floor(this.mapWidth)),n=Math.max(0,Math.floor(this.mapHeight)),r=[];for(let i=0;i<t*n;i++){let n=this.cells[i]??-1;if(!e.has(n))continue;let a=i%t,o=Math.floor(i/t),s=this.cellBounds(a,o);if(!s)continue;let c=new oh;c.entity=this.entity,c.game=this.game,c.width=this.cellSize,c.height=this.cellSize,c.offsetX=s.centerX-this.entity.position.x,c.offsetY=s.centerY-this.entity.position.y,r.push(c)}this.derivedSolids=r}};function jre(e,t,n,r,i,a,o,s){return Math.abs(e-i)*2<n+o&&Math.abs(t-a)*2<r+s}function Mre(e,t,n){let r=new Set(t),i=new Set,a=n;for(;a&&!i.has(a);){if(r.has(a))return a;i.add(a),a=e.fallbacks[a]}let[o]=r;return o}function wh(e,t){let n=new Set(t);return e.required.filter(e=>!n.has(e))}var Th=new Map;function Eh(e,t){Th.set(e,{...Th.get(e),...t})}var Dh=new Map;function Oh(){Dh.clear(),Th.clear(),nh(null)}function kh(e){Oh();for(let[t,n]of Object.entries(e.roles))Ah(t,n);for(let[t,n]of Object.entries(e.logicSets??{}))Eh(t,n)}function Ah(e,t){Dh.set(e,{...Dh.get(e),...t}),t.states&&Eh(e,t.states)}function jh(e){return Dh.get(e)}function Mh(){return[...Dh.keys()]}function Nh(e){return Th.get(e)}function Ph(){return[...Th.keys()]}function Nre(e){let t,n=1/0;for(let r of Th.keys()){let i=Pre(e,r);i<n&&(n=i,t=r)}return n<=Math.max(2,Math.floor(e.length/3))?t:void 0}function Pre(e,t){let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=n[0];n[0]=r;for(let a=1;a<=t.length;a++){let o=n[a];n[a]=Math.min(o+1,n[a-1]+1,i+(e[r-1]===t[a-1]?0:1)),i=o}}return n[t.length]}function Fh(e,t){let n=e.indexOf(`:`);if(n<=0)return!1;let r=e.slice(0,n),i=e.slice(n+1);return r===`input`?t.justPressed(i):r===`timer`?t.elapsed>=Number(i):r===`signal`&&t.signals.has(i)}function Ih(e,t,n){return[...e[t]?.transitions??[],...e[`*`]?.transitions??[]].find(e=>Fh(e.on,n))}function Lh(e,t,n){return e.some(e=>e[n])?e:t?.[n]?[t]:e}var Rh=class extends Rm{static componentName=`StateMachine`;static displayName=`State Machine`;static params={role:{label:`Role`}};static transient=[`current`,`elapsed`,`instanceHooks`,`signals`,`warnedClips`,`lastFacing`];role=``;initial=``;states={};current=``;elapsed=0;instanceHooks=new Map;signals=new Set;warnedClips=new Set;lastFacing;onReady(){if(this.role&&!Nh(this.role)){let e=Ph(),t=Nre(this.role);console.error(`[waica] "${this.entity.name}": role "${this.role}" has no registered state code. Known: ${e.length?e.join(`, `):`(none)`}.`+(t?` Did you mean "${t}"?`:``))}let e=this.initial||Object.keys(this.states).find(e=>e!==`*`);e&&this.enter(e)}on(e,t){let n=this.instanceHooks.get(e)??[];n.push(t),this.instanceHooks.set(e,n)}signal(e){this.signals.add(e)}goto(e){e!==this.current&&this.enter(e)}onUpdate(e){if(this.current){this.run(`*`,`onUpdate`,e),this.run(this.current,`onUpdate`,e),this.elapsed+=e;for(let e=0;e<8;e++){let e=Ih(this.states,this.current,this.env());if(!e||e.to===this.current)break;e.on.startsWith(`input:`)&&this.game.input.consume(e.on.slice(6)),this.enter(e.to)}this.signals.clear(),this.reresolveOnFacingChange()}}onCollide(e){let t=this.current;t&&(this.runCollision(`*`,e),!(!this.entity.alive||!e.alive)&&this.runCollision(t,e))}env(){return{justPressed:e=>this.game.input.justPressed(e)&&!this.game.input.consumed(e),elapsed:this.elapsed,signals:this.signals}}hooksFor(e){let t=this.role?Nh(this.role)?.[e]:void 0;return[...t?[t]:[],...this.instanceHooks.get(e)??[]]}run(e,t,n=0){let r={entity:this.entity,game:this.game,fsm:this},i=e!==`*`&&this.role?Nh(this.role)?.default:void 0;for(let a of Lh(this.hooksFor(e),i,t))t===`onUpdate`?a.onUpdate?.(r,n):a[t]?.(r)}runCollision(e,t){let n={entity:this.entity,game:this.game,fsm:this},r=e!==`*`&&this.role?Nh(this.role)?.default:void 0;for(let i of Lh(this.hooksFor(e),r,`onCollide`))i.onCollide?.(n,t)}enter(e){this.current&&this.run(this.current,`onExit`),this.current=e,this.elapsed=0,this.playClip(e),this.run(e,`onEnter`)}playClip(e){let t=this.entity.get(vh);if(!t)return;let n=this.states[e]?.clip??e;this.playDirectionalClip(t,n)||(t.clips[n]?t.play(n):this.warnedClips.has(e)||(this.warnedClips.add(e),console.warn(`[waica] "${this.entity.name}": no clip "${n}" for state "${e}" — keeping "${t.current??`none`}"`)))}playDirectionalClip(e,t){let n=rh();if(!n)return!1;let r=this.facingProvider();if(!r)return!1;let i=r.getAnimationFacing();this.lastFacing=i;let a=hre(n,Object.keys(e.clips),t,i);return!a.clip||!e.clips[a.clip]?!1:(e.setFlipX(a.flip),e.play(a.clip),!0)}facingProvider(){return this.entity.components.find(e=>_re(e))}reresolveOnFacingChange(){if(!this.current||!rh())return;let e=this.entity.get(vh);if(!e)return;let t=this.facingProvider();!t||t.getAnimationFacing()===this.lastFacing||this.playDirectionalClip(e,this.states[this.current]?.clip??this.current)}},Fre=s({AnimatedSprite:()=>vh,CAMERA_DEFAULTS:()=>Nm,COLLISION_SHAPES:()=>Lne,ClipPlayer:()=>fh,Component:()=>Rm,DEFAULT_BINDINGS:()=>Vm,DEFAULT_COLLISION_POLYGON:()=>Tm,DynamicBody:()=>dh,Emitter:()=>Bm,Entity:()=>qne,Game:()=>pre,GameUi:()=>th,Hitbox:()=>zm,Input:()=>Jne,RUNTIME_BRIDGE_PROTOCOL_VERSION:()=>1,RUNTIME_BRIDGE_SYMBOL:()=>Xne,RUNTIME_PROJECTION_LIMITS:()=>Um,RuntimeBridgeOperationError:()=>Hm,SOLID_SOURCE_SYMBOL:()=>sh,Solid:()=>oh,Sprite:()=>ah,StateMachine:()=>Rh,Stats:()=>eh,THREE:()=>bp,Tilemap:()=>Ch,aabbOverlap:()=>jre,authoringDefaults:()=>bre,cellAt:()=>xh,cellBounds:()=>Sh,cellIndex:()=>bh,collectModuleComponents:()=>xre,collisionBounds:()=>km,collisionOverlap:()=>Am,collisionVertices:()=>Om,defineRole:()=>Ah,defineStates:()=>Eh,evaluateTrigger:()=>Fh,installArchetype:()=>kh,installDirectionalAnimation:()=>nh,installedDirectionalAnimation:()=>rh,isAnimationFacingProvider:()=>_re,isCameraVelocityProvider:()=>Une,isSolidSource:()=>Tre,isYSortParticipant:()=>ore,loadScene:()=>lre,locateFrame:()=>mh,logicSet:()=>Nh,mergeRegistryComponents:()=>Sre,missingClips:()=>wh,nextTransition:()=>Ih,projectIsometric:()=>Ym,registeredLogicSets:()=>Ph,registeredRoles:()=>Mh,resetRegistries:()=>Oh,resolveClip:()=>Mre,resolveCollisionPoints:()=>Dm,resolveComponentUpdateSchedule:()=>Lm,resolveDirectionalClip:()=>hre,resolveEntityComponents:()=>Qm,resolveProps:()=>cre,resolveSceneCamera:()=>Pm,resolveSolidAxis:()=>uh,roleDefinition:()=>jh,sceneSolids:()=>ch,screenInputToLogical:()=>Jm,sheetCell:()=>gh,sheetFrameCount:()=>ph,spawnFromJson:()=>$m,spritePlacement:()=>ih,stepSceneCamera:()=>Wne,unprojectIsometric:()=>Xm,ySortZ:()=>sre}),zh=[{file:`waica-dog.png`,uri:`waica:dog`},{file:`waica-coin.png`,uri:`waica:coin`},{file:`waica-slime.png`,uri:`waica:slime`}],Bh=class extends Rm{static componentName=`PlatformerMotor`;static displayName=`Motor`;static params={moveSpeed:{label:`Speed`,min:1,max:30,step:.5},acceleration:{label:`Acceleration`,min:5,max:200,step:5},deceleration:{label:`Deceleration`,min:5,max:200,step:5},jumpVelocity:{label:`Jump impulse`,min:2,max:40,step:.5},gravity:{label:`Gravity`,min:5,max:120,step:1},maxFallSpeed:{label:`Max fall speed`,min:5,max:60,step:1},coyoteTime:{label:`Coyote time (s)`,min:0,max:.4,step:.01},jumpBuffer:{label:`Jump buffer (s)`,min:0,max:.4,step:.01},jumpCutStrength:{label:`Jump cut`,min:1,max:6,step:.1},runThreshold:{label:`Run threshold`,min:0,max:5,step:.1},squashStretch:{label:`Squash & stretch`}};static transient=[`vx`,`vy`,`grounded`,`facing`,`coyoteTimer`,`bufferTimer`,`squashX`,`squashY`];moveSpeed=9;acceleration=60;deceleration=80;jumpVelocity=14;gravity=42;maxFallSpeed=22;coyoteTime=.1;jumpBuffer=.12;jumpCutStrength=2.5;runThreshold=.5;squashStretch=!0;hitboxWidth=.9;hitboxHeight=.95;vx=0;vy=0;grounded=!1;facing=1;coyoteTimer=0;bufferTimer=0;squashX=1;squashY=1;getCameraVelocity(){return{vx:this.vx,vy:this.vy}}tick(e){this.coyoteTimer=this.grounded?this.coyoteTime:this.coyoteTimer-e,this.bufferTimer=this.game.input.justPressed(`jump`)?this.jumpBuffer:this.bufferTimer-e,this.squashX=gr.damp(this.squashX,1,12,e),this.squashY=gr.damp(this.squashY,1,12,e),this.entity.scale.set(this.facing*this.squashX,this.squashY,1)}runTowards(e,t){let n=e*this.moveSpeed,r=e===0?this.deceleration:this.acceleration;this.vx=gr.damp(this.vx,n,r/this.moveSpeed,t),e!==0&&(this.facing=e<0?-1:1)}wantsJump(){return this.bufferTimer>0&&this.coyoteTimer>0}jump(){this.vy=this.jumpVelocity,this.coyoteTimer=0,this.bufferTimer=0,this.game.input.consume(`jump`),this.applySquash(.8,1.25)}applyGravity(e){let t=this.vy>0&&!this.game.input.held(`jump`)?this.jumpCutStrength:1;this.vy=Math.max(this.vy-this.gravity*t*e,-this.maxFallSpeed)}step(e){let t=this.entity.position,n=!this.grounded,r=t.x;t.x+=this.vx*e,this.resolveAxis(`x`,r),this.grounded=!1;let i=t.y;t.y+=this.vy*e,this.resolveAxis(`y`,i),n&&this.grounded&&this.applySquash(1.25,.8)}halt(){this.vx=0,this.vy=0}applySquash(e,t){this.squashStretch&&(this.squashX=e,this.squashY=t)}resolveAxis(e,t){uh({entity:this.entity,axis:e,previous:t,body:()=>this.collisionBody()})&&(e===`x`?this.vx=0:this.vy<=0?(this.vy=0,this.grounded=!0):this.vy=0)}collisionBody(){return{x:this.entity.position.x,y:this.entity.position.y,width:this.hitboxWidth,height:this.hitboxHeight,shape:`rectangle`}}},Ire=1e-9,Lre=.1;function Vh(e,t){return[...e[t]?.transitions??[],...e[`*`]?.transitions??[]].filter(e=>e.on===`signal:death`).map(e=>e.to)}function Rre(e,t){return Vh(e,t).length>0}var Hh=class extends Rm{static componentName=`Health`;static updateAfter=[`StateMachine`];static params={max:{label:`Max health`,min:1,max:20,step:1},invulnerability:{label:`Invulnerability`,min:0,max:5,step:.1},stat:{label:`Stat`,ref:`stat`}};static transient=[`current`,`invulnerable`,`deathPending`,`expectedStates`,`lastDamageSource`,`blinkClock`];max=3;invulnerability=0;stat=``;current=0;lastDamageSource;invulnerable=0;blinkClock=0;get blinking(){return this.invulnerable>0}deathPending=!1;expectedStates=[];inspectState(){return{max:this.max,invulnerability:this.invulnerability,stat:this.stat,current:this.current,invulnerable:this.invulnerable,blinking:this.blinking,lastDamageSource:this.lastDamageSource?.name??null}}onReady(){this.current=Math.max(0,this.max),this.publish(),this.current===0&&this.die()}onUpdate(e){this.invulnerable>0&&(this.invulnerable=Math.max(0,this.invulnerable-e),this.blink(e)),this.deathPending&&(this.deathPending=!1,this.settleDeath())}settleDeath(){let e=this.expectedStates;if(this.expectedStates=[],!this.entity.alive||this.current>0)return;let t=this.entity.get(Rh);t&&e.includes(t.current)||this.entity.destroy()}damage(e,t){if(!(!(e>0)||this.current<=0||this.invulnerable>0)){if(this.current=Math.max(0,this.current-e),this.current<Ire&&(this.current=0),this.lastDamageSource=t,this.publish(),this.game.events.emit(`damage`,{entity:this.entity,amount:e,current:this.current,source:t}),this.invulnerable=this.invulnerability,this.blinkClock=0,this.current===0){this.die();return}this.entity.get(Rh)?.signal(`hurt`)}}heal(e){e<=0||(this.current=Math.min(this.max,this.current+e),this.publish())}publish(){this.stat&&this.game.stats.set(this.stat,this.current)}blink(e){if(this.invulnerable>0){this.blinkClock+=e,this.entity.node.visible=Math.floor(this.blinkClock/Lre)%2==0;return}this.entity.node.visible=!0}die(){this.invulnerable=0,this.blinkClock=0,this.game.events.emit(`death`,{entity:this.entity});let e=this.entity.get(Rh),t=e?Vh(e.states,e.current):[];if(e&&t.length>0){e.signal(`death`),this.expectedStates=t,this.deathPending=!0;return}this.entity.destroy()}},Uh=class extends Rm{static componentName=`Respawnable`;static displayName=`Respawn`;static transient=[`spawn`];spawn=new A;onReady(){this.spawn.copy(this.entity.position)}respawn(){this.entity.position.copy(this.spawn),this.entity.get(Bh)?.halt()}},Wh={initial:`idle`,states:{idle:{transitions:[{on:`signal:move`,to:`run`},{on:`signal:rise`,to:`jump`},{on:`signal:fall`,to:`fall`}]},run:{transitions:[{on:`signal:stop`,to:`idle`},{on:`signal:rise`,to:`jump`},{on:`signal:fall`,to:`fall`}]},jump:{transitions:[{on:`signal:fall`,to:`fall`},{on:`signal:land`,to:`idle`}]},fall:{transitions:[{on:`signal:rise`,to:`jump`},{on:`signal:land`,to:`idle`}]},dead:{clip:`idle`,transitions:[{on:`timer:0.8`,to:`idle`}]},"*":{transitions:[{on:`signal:death`,to:`dead`}]}}};function Gh({entity:e,game:t,fsm:n},r){let i=e.get(Bh);i&&(i.runTowards(t.input.axis(),r),i.wantsJump()&&i.jump(),i.applyGravity(r),i.step(r),i.grounded?(n.signal(`land`),n.signal(Math.abs(i.vx)>i.runThreshold?`move`:`stop`)):n.signal(i.vy>0?`rise`:`fall`))}var Kh={description:`You control this character with the project controls: run and jump with platformer physics and curated game feel (coyote time, jump buffering). Its states move the Motor.`,driver:`PlatformerMotor`,graph:Wh,signals:{move:`on the ground and moving`,stop:`on the ground and standing still`,rise:`airborne, going up`,fall:`airborne, going down`,land:`just touched the ground`},states:{"*":{onUpdate({entity:e},t){e.get(Bh)?.tick(t)}},default:{onUpdate:Gh},idle:{onUpdate:Gh},run:{onUpdate:Gh},jump:{onUpdate:Gh},fall:{onUpdate:Gh},dead:{onUpdate(){},onExit({entity:e}){e.get(Uh)?.respawn(),e.get(Hh)?.heal(1/0)}}}},qh=class extends Rm{static displayName=`Motor`;static params={moveSpeed:{label:`Speed`,min:1,max:30,step:.5},acceleration:{label:`Acceleration`,min:5,max:200,step:5},deceleration:{label:`Deceleration`,min:5,max:200,step:5},walkThreshold:{label:`Walk threshold`,min:0,max:5,step:.1},knockbackSpeed:{label:`Knockback speed`,min:0,max:30,step:.5}};static transient=[`vx`,`vy`,`facing`];moveSpeed=6;acceleration=60;deceleration=80;walkThreshold=.5;knockbackSpeed=8;hitboxWidth=.9;hitboxHeight=.6;vx=0;vy=0;getCameraVelocity(){return{vx:this.vx,vy:this.vy}}getAnimationFacing(){return this.facing}accelerateToward(e,t,n){let r=e===0?this.deceleration:this.acceleration,i=t===0?this.deceleration:this.acceleration;this.vx=gr.damp(this.vx,e*this.moveSpeed,r/this.moveSpeed,n),this.vy=gr.damp(this.vy,t*this.moveSpeed,i/this.moveSpeed,n)}speed(){return Math.hypot(this.vx,this.vy)}step(e){let t=this.entity.position,n=t.x;t.x+=this.vx*e,this.resolveAxis(`x`,n)&&(this.vx=0);let r=t.y;t.y+=this.vy*e,this.resolveAxis(`y`,r)&&(this.vy=0)}halt(){this.vx=0,this.vy=0}resolveAxis(e,t){return uh({entity:this.entity,axis:e,previous:t,body:()=>this.collisionBody()})}collisionBody(){return{x:this.entity.position.x,y:this.entity.position.y,width:this.hitboxWidth,height:this.hitboxHeight,shape:`rectangle`}}},Jh=class extends qh{static componentName=`TopDownMotor`;facing=`s`;run(e,t,n){let r=e,i=t,a=Math.hypot(r,i);a>1&&(r/=a,i/=a),this.accelerateToward(r,i,n);let o=Math.abs(e),s=Math.abs(t);o>s?this.facing=e<0?`w`:`e`:s>o&&(this.facing=t<0?`s`:`n`)}},zre={n:{x:0,y:1},ne:{x:1,y:1},e:{x:1,y:0},se:{x:1,y:-1},s:{x:0,y:-1},sw:{x:-1,y:-1},w:{x:-1,y:0},nw:{x:-1,y:1}};function Yh(e,t){if(!(e===0&&t===0))return t>0?e>0?`ne`:e<0?`nw`:`n`:t<0?e>0?`se`:e<0?`sw`:`s`:e>0?`e`:`w`}function Bre(e){let t=zre[e];return t?{...t}:void 0}function Xh(e,t){let n=Bre(e);if(!n)return;if(t===`isometric`)return Jm(n.x,n.y);let r=Math.hypot(n.x,n.y);return{x:n.x/r,y:n.y/r}}var Zh=class extends qh{static componentName=`IsoMotor`;facing=`s`;hitboxHeight=.9;run(e,t,n){let r=Jm(e,t);this.accelerateToward(r.x,r.y,n),this.facing=Yh(e,t)??this.facing}},Qh=class extends Rm{static componentName=`Interactable`;static params={line:{label:`Line`},radius:{label:`Radius`,min:.5,max:10,step:.25}};line=`Hello, traveler!`;radius=1.5},$h=`npc-line`,eg={[$h]:`<style>
4326
4326
  .npc-line {
4327
4327
  position: absolute;
4328
4328
  left: 50%;
@@ -5111,7 +5111,7 @@ ${ZL(V.menuSubmenu)}
5111
5111
  `:`\r
5112
5112
  `),await this._clipboardService.writeText(e)})),n.getOption(92)||e.push(new fE(`diff.inline.revertChange`,M(`diff.inline.revertChange.label`,`Revert this change`),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register(qw(this._diffActions,`mousedown`,e=>{if(!e.leftButton)return;let{top:t,height:n}=aT(this._diffActions),r=Math.floor(l/3);e.preventDefault(),f(e.posx,t+n+r)})),this._register(n.onMouseMove(e=>{(e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,l),this.visibility=!0):this.visibility=!1})),this._register(n.onMouseDown(e=>{e.event.leftButton&&(e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,l),f(e.event.posx,e.event.posy+l))}))}_updateLightBulbPosition(e,t,n){let{top:r}=aT(e),i=t-r,a=Math.floor(i/n),o=a*n;if(this._diffActions.style.top=`${o}px`,this._viewLineCounts){let e=0;for(let t=0;t<this._viewLineCounts.length;t++)if(e+=this._viewLineCounts[t],a<e)return t}return a}},NX=VD(`diffEditorWidget`,{createHTML:e=>e});function vje(e,t,n,r){eE(r,t.fontInfo);let i=n.length>0,a=new oO(1e4),o=0,s=0,c=[];for(let r=0;r<e.lineTokens.length;r++){let l=r+1,u=e.lineTokens[r],d=e.lineBreakData[r],f=FG.filter(n,l,1,2**53-1);if(d){let n=0;for(let r of d.breakOffsets){let c=u.sliceAndInflate(n,r,0);o=Math.max(o,PX(s,c,FG.extractWrapped(f,n,r),i,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),s++,n=r}c.push(d.breakOffsets.length)}else c.push(1),o=Math.max(o,PX(s,u,f,i,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),s++}o+=t.scrollBeyondLastColumn;let l=a.build();r.innerHTML=NX?NX.createHTML(l):l;let u=o*t.typicalHalfwidthCharacterWidth;return{heightInLines:s,minWidthInPx:u,viewLineCounts:c}}var yje=class{constructor(e,t,n,r){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=n,this.mightContainRTL=r}},bje=class e{static fromEditor(t){let n=t.getOptions(),r=n.get(50),i=n.get(146);return new e(t.getModel()?.getOptions().tabSize||0,r,n.get(33),r.typicalHalfwidthCharacterWidth,n.get(105),n.get(67),i.decorationsWidth,n.get(118),n.get(100),n.get(95),n.get(51))}constructor(e,t,n,r,i,a,o,s,c,l,u){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=n,this.typicalHalfwidthCharacterWidth=r,this.scrollBeyondLastColumn=i,this.lineHeight=a,this.lineDecorationsWidth=o,this.stopRenderingLineAfter=s,this.renderWhitespace=c,this.renderControlCharacters=l,this.fontLigatures=u}};function PX(e,t,n,r,i,a,o,s){s.appendString(`<div class="view-line`),r||s.appendString(` char-delete`),s.appendString(`" style="top:`),s.appendString(String(e*o.lineHeight)),s.appendString(`px;width:1000000px;">`);let c=t.getLineContent(),l=JG.isBasicASCII(c,i),u=JG.containsRTL(c,l,a),d=UG(new zG(o.fontInfo.isMonospace&&!o.disableMonospaceOptimizations,o.fontInfo.canUseHalfwidthRightwardsArrow,c,!1,l,u,0,t,n,o.tabSize,0,o.fontInfo.spaceWidth,o.fontInfo.middotWidth,o.fontInfo.wsmiddotWidth,o.stopRenderingLineAfter,o.renderWhitespace,o.renderControlCharacters,o.fontLigatures!==Ty.OFF,null),s);return s.appendString(`</div>`),d.characterMapping.getHorizontalOffset(d.characterMapping.length)}var xje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},FX=function(e,t){return function(n,r){t(n,r,e)}},IX=class extends F{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._targetWindow=e,this._editors=t,this._diffModel=n,this._options=r,this._diffEditorWidget=i,this._canIgnoreViewZoneUpdateEvent=a,this._origViewZonesToIgnore=o,this._modViewZonesToIgnore=s,this._clipboardService=c,this._contextMenuService=l,this._originalTopPadding=oI(this,0),this._originalScrollOffset=oI(this,0),this._originalScrollOffsetAnimated=JY(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=oI(this,0),this._modifiedScrollOffset=oI(this,0),this._modifiedScrollOffsetAnimated=JY(this._targetWindow,this._modifiedScrollOffset,this._store);let u=oI(`invalidateAlignmentsState`,0),d=this._register(new FC(()=>{u.set(u.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&d.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&d.schedule()}));let f=this._diffModel.map(e=>e?SI(this,e.model.original.onDidChangeTokens,()=>e.model.original.tokenization.backgroundTokenizationState===2):void 0).map((e,t)=>e?.read(t)),p=lI(e=>{let t=this._diffModel.read(e),n=t?.diff.read(e);if(!t||!n)return null;u.read(e);let r=this._options.renderSideBySide.read(e);return LX(this._editors.original,this._editors.modified,n.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,r)}),m=lI(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;u.read(e);let n=t.changes.map(e=>new jX(e));return LX(this._editors.original,this._editors.modified,n,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function h(){let e=document.createElement(`div`);return e.className=`diagonal-fill`,e}let g=this._register(new P);this.viewZones=pI(this,(e,t)=>{g.clear();let n=p.read(e)||[],r=[],a=[],o=this._modifiedTopPadding.read(e);o>0&&a.push({afterLineNumber:0,domNode:document.createElement(`div`),heightInPx:o,showInHiddenAreas:!0,suppressMouseDown:!0});let s=this._originalTopPadding.read(e);s>0&&r.push({afterLineNumber:0,domNode:document.createElement(`div`),heightInPx:s,showInHiddenAreas:!0,suppressMouseDown:!0});let c=this._options.renderSideBySide.read(e),l=c?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(l){let e=this._editors.original.getModel();for(let t of n)if(t.diff)for(let n=t.originalRange.startLineNumber;n<t.originalRange.endLineNumberExclusive;n++){if(n>e.getLineCount())return{orig:r,mod:a};l?.addRequest(e.getLineContent(n),null,null)}}let u=l?.finalize()??[],d=0,_=this._editors.modified.getOption(67),v=this._diffModel.read(e)?.movedTextToCompare.read(e),y=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,b=this._editors.original.getModel()?.mightContainRTL()??!1,x=bje.fromEditor(this._editors.modified);for(let o of n)if(o.diff&&!c&&(!this._options.useTrueInlineDiffRendering.read(e)||!zX(o.diff))){if(!o.originalRange.isEmpty){f.read(e);let t=document.createElement(`div`);t.classList.add(`view-lines`,`line-delete`,`monaco-mouse-cursor-text`);let n=this._editors.original.getModel();if(o.originalRange.endLineNumberExclusive-1>n.getLineCount())return{orig:r,mod:a};let i=new yje(o.originalRange.mapToLineArray(e=>n.tokenization.getLineTokens(e)),o.originalRange.mapToLineArray(e=>u[d++]),y,b),s=[];for(let e of o.diff.innerChanges||[])s.push(new YG(e.originalRange.delta(-(o.diff.original.startLineNumber-1)),_X.className,0));let c=vje(i,x,s,t),l=document.createElement(`div`);if(l.className=`inline-deleted-margin-view-zone`,eE(l,x.fontInfo),this._options.renderIndicators.read(e))for(let e=0;e<c.heightInLines;e++){let t=document.createElement(`div`);t.className=`delete-sign ${vE.asClassName(lX)}`,t.setAttribute(`style`,`position:absolute;top:${e*_}px;width:${x.lineDecorationsWidth}px;height:${_}px;right:0;`),l.appendChild(t)}let p;g.add(new _je(()=>wv(p),l,this._editors.modified,o.diff,this._diffEditorWidget,c.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let e=0;e<c.viewLineCounts.length;e++){let t=c.viewLineCounts[e];t>1&&r.push({afterLineNumber:o.originalRange.startLineNumber+e,domNode:h(),heightInPx:(t-1)*_,showInHiddenAreas:!0,suppressMouseDown:!0})}a.push({afterLineNumber:o.modifiedRange.startLineNumber-1,domNode:t,heightInPx:c.heightInLines*_,minWidthInPx:c.minWidthInPx,marginDomNode:l,setZoneId(e){p=e},showInHiddenAreas:!0,suppressMouseDown:!0})}let t=document.createElement(`div`);t.className=`gutter-delete`,r.push({afterLineNumber:o.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:o.modifiedHeightInPx,marginDomNode:t,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let n=o.modifiedHeightInPx-o.originalHeightInPx;if(n>0){if(v?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(o.originalRange.endLineNumberExclusive-1))continue;r.push({afterLineNumber:o.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:n,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(v?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(o.modifiedRange.endLineNumberExclusive-1))continue;function r(){let e=document.createElement(`div`);return e.className=`arrow-revert-change `+vE.asClassName(V.arrowRight),t.add(H(e,`mousedown`,e=>e.stopPropagation())),t.add(H(e,`click`,e=>{e.stopPropagation(),i.revert(o.diff)})),G(`div`,{},e)}let s;o.diff&&o.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(s=r()),a.push({afterLineNumber:o.modifiedRange.endLineNumberExclusive-1,domNode:h(),heightInPx:-n,marginDomNode:s,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(let t of m.read(e)??[]){if(!v?.lineRangeMapping.original.intersect(t.originalRange)||!v?.lineRangeMapping.modified.intersect(t.modifiedRange))continue;let e=t.modifiedHeightInPx-t.originalHeightInPx;e>0?r.push({afterLineNumber:t.originalRange.endLineNumberExclusive-1,domNode:h(),heightInPx:e,showInHiddenAreas:!0,suppressMouseDown:!0}):a.push({afterLineNumber:t.modifiedRange.endLineNumberExclusive-1,domNode:h(),heightInPx:-e,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:r,mod:a}});let _=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)})),this._originalScrollTop=SI(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=SI(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(gI(e=>{let t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register(gI(e=>{let t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register(gI(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e),n=0;if(t){let e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();n=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}n>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(n,void 0)):n<0?(this._modifiedTopPadding.set(-n,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-n,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+n,void 0,!0)}))}};IX=xje([FX(8,tG),FX(9,AM)],IX);function LX(e,t,n,r,i,a){let o=new pv(RX(e,r)),s=new pv(RX(t,i)),c=e.getOption(67),l=t.getOption(67),u=[],d=0,f=0;function p(e,t){for(;;){let n=o.peek(),r=s.peek();if(n&&n.lineNumber>=e&&(n=void 0),r&&r.lineNumber>=t&&(r=void 0),!n&&!r)break;let i=n?n.lineNumber-d:Number.MAX_VALUE,a=r?r.lineNumber-f:Number.MAX_VALUE;i<a?(o.dequeue(),r={lineNumber:n.lineNumber-d+f,heightInPx:0}):i>a?(s.dequeue(),n={lineNumber:r.lineNumber-f+d,heightInPx:0}):(o.dequeue(),s.dequeue()),u.push({originalRange:Kk.ofLength(n.lineNumber,1),modifiedRange:Kk.ofLength(r.lineNumber,1),originalHeightInPx:c+n.heightInPx,modifiedHeightInPx:l+r.heightInPx,diff:void 0})}}for(let t of n){let n=t.lineRangeMapping;p(n.original.startLineNumber,n.modified.startLineNumber);let r=!0,i=n.modified.startLineNumber,m=n.original.startLineNumber;function h(e,n,a=!1){if(e<m||n<i)return;if(r)r=!1;else if(!a&&(e===m||n===i))return;let d=new Kk(m,e),f=new Kk(i,n);if(d.isEmpty&&f.isEmpty)return;let p=o.takeWhile(t=>t.lineNumber<e)?.reduce((e,t)=>e+t.heightInPx,0)??0,h=s.takeWhile(e=>e.lineNumber<n)?.reduce((e,t)=>e+t.heightInPx,0)??0;u.push({originalRange:d,modifiedRange:f,originalHeightInPx:d.length*c+p,modifiedHeightInPx:f.length*l+h,diff:t.lineRangeMapping}),m=e,i=n}if(a)for(let t of n.innerChanges||[]){t.originalRange.startColumn>1&&t.modifiedRange.startColumn>1&&h(t.originalRange.startLineNumber,t.modifiedRange.startLineNumber);let n=e.getModel(),r=t.originalRange.endLineNumber<=n.getLineCount()?n.getLineMaxColumn(t.originalRange.endLineNumber):2**53-1;t.originalRange.endColumn<r&&h(t.originalRange.endLineNumber,t.modifiedRange.endLineNumber)}h(n.original.endLineNumberExclusive,n.modified.endLineNumberExclusive,!0),d=n.original.endLineNumberExclusive,f=n.modified.endLineNumberExclusive}return p(Number.MAX_VALUE,Number.MAX_VALUE),u}function RX(e,t){let n=[],r=[],i=e.getOption(147).wrappingColumn!==-1,a=e._getViewModel().coordinatesConverter,o=e.getOption(67);if(i)for(let t=1;t<=e.getModel().getLineCount();t++){let e=a.getModelLineViewLineCount(t);e>1&&r.push({lineNumber:t,heightInPx:o*(e-1)})}for(let r of e.getWhitespaces()){if(t.has(r.id))continue;let e=r.afterLineNumber===0?0:a.convertViewPositionToModelPosition(new R(r.afterLineNumber,1)).lineNumber;n.push({lineNumber:e,heightInPx:r.height})}return GAe(n,r,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}))}function zX(e){return e.innerChanges?e.innerChanges.every(e=>BX(e.modifiedRange)&&BX(e.originalRange)||e.originalRange.equalsRange(new z(1,1,1,1))):!1}function BX(e){return e.startLineNumber===e.endLineNumber}var VX=class e extends F{static{this.movedCodeBlockPadding=4}constructor(t,n,r,i,a){super(),this._rootElement=t,this._diffModel=n,this._originalEditorLayoutInfo=r,this._modifiedEditorLayoutInfo=i,this._editors=a,this._originalScrollTop=SI(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=SI(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=wI(`onDidChangeViewZones`,this._editors.modified.onDidChangeViewZones),this.width=oI(this,0),this._modifiedViewZonesChangedSignal=wI(`modified.onDidChangeViewZones`,this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=wI(`original.onDidChangeViewZones`,this._editors.original.onDidChangeViewZones),this._state=pI(this,(t,n)=>{this._element.replaceChildren();let r=this._diffModel.read(t),i=r?.diff.read(t)?.movedTexts;if(!i||i.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(t);let a=this._originalEditorLayoutInfo.read(t),o=this._modifiedEditorLayoutInfo.read(t);if(!a||!o){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(t),this._originalViewZonesChangedSignal.read(t);let s=i.map(e=>{function n(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}let r=n(e.lineRangeMapping.original,this._editors.original),i=this._originalScrollTop.read(t),a=n(e.lineRangeMapping.modified,this._editors.modified),o=this._modifiedScrollTop.read(t),s=r-i,c=a-o;return{range:new zk(Math.min(r,a),Math.max(r,a)),from:s,to:c,fromWithoutScroll:r,toWithoutScroll:a,move:e}});s.sort(Bae(uv(e=>e.fromWithoutScroll>e.toWithoutScroll,Vae),uv(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,dv)));let c=Sje.compute(s.map(e=>e.range)),l=a.verticalScrollbarWidth,u=(c.getTrackCount()-1)*10+20,d=l+u+(o.contentLeft-e.movedCodeBlockPadding),f=0;for(let e of s){let t=c.getTrack(f),i=l+10+t*10,a=d,s=o.glyphMarginWidth+o.lineNumbersWidth,u=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);u.classList.add(`arrow-rectangle`),u.setAttribute(`x`,`${a-s}`),u.setAttribute(`y`,`${e.to-18/2}`),u.setAttribute(`width`,`${s}`),u.setAttribute(`height`,`18`),this._element.appendChild(u);let p=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),m=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);m.setAttribute(`d`,`M 0 ${e.from} L ${i} ${e.from} L ${i} ${e.to} L ${a-15} ${e.to}`),m.setAttribute(`fill`,`none`),p.appendChild(m);let h=document.createElementNS(`http://www.w3.org/2000/svg`,`polygon`);h.classList.add(`arrow`),n.add(gI(t=>{m.classList.toggle(`currentMove`,e.move===r.activeMovedText.read(t)),h.classList.toggle(`currentMove`,e.move===r.activeMovedText.read(t))})),h.setAttribute(`points`,`${a-15},${e.to-15/2} ${a},${e.to} ${a-15},${e.to+15/2}`),p.appendChild(h),this._element.appendChild(p),f++}this.width.set(u,void 0)}),this._element=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),this._element.setAttribute(`class`,`moved-blocks-lines`),this._rootElement.appendChild(this._element),this._register($y(()=>this._element.remove())),this._register(gI(t=>{let n=this._originalEditorLayoutInfo.read(t),r=this._modifiedEditorLayoutInfo.read(t);!n||!r||(this._element.style.left=`${n.width-n.verticalScrollbarWidth}px`,this._element.style.height=`${n.height}px`,this._element.style.width=`${n.verticalScrollbarWidth+n.contentLeft-e.movedCodeBlockPadding+this.width.read(t)}px`)})),this._register(DI(this._state));let o=lI(e=>{let t=this._diffModel.read(e)?.diff.read(e);return t?t.movedTexts.map(e=>({move:e,original:new XY(xI(e.lineRangeMapping.original.startLineNumber-1),18),modified:new XY(xI(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(QY(this._editors.original,o.map(e=>e.map(e=>e.original)))),this._register(QY(this._editors.modified,o.map(e=>e.map(e=>e.modified)))),this._register(yI((e,t)=>{let n=o.read(e);for(let e of n)t.add(new HX(this._editors.original,e.original,e.move,`original`,this._diffModel.get())),t.add(new HX(this._editors.modified,e.modified,e.move,`modified`,this._diffModel.get()))}));let s=wI(`original.onDidFocusEditorWidget`,e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),c=wI(`modified.onDidFocusEditorWidget`,e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),l=`modified`;this._register(vI({createEmptyChangeSummary:()=>void 0,handleChange:(e,t)=>(e.didChange(s)&&(l=`original`),e.didChange(c)&&(l=`modified`),!0)},e=>{s.read(e),c.read(e);let t=this._diffModel.read(e);if(!t)return;let n=t.diff.read(e),r;if(n&&l===`original`){let t=this._editors.originalCursor.read(e);t&&(r=n.movedTexts.find(e=>e.lineRangeMapping.original.contains(t.lineNumber)))}if(n&&l===`modified`){let t=this._editors.modifiedCursor.read(e);t&&(r=n.movedTexts.find(e=>e.lineRangeMapping.modified.contains(t.lineNumber)))}r!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(r)}))}},Sje=class e{static compute(t){let n=[],r=[];for(let e of t){let t=n.findIndex(t=>!t.intersectsStrict(e));t===-1&&(n.length>=6?t=Xde(n,uv(t=>t.intersectWithRangeLength(e),dv)):(t=n.length,n.push(new Gde))),n[t].addRange(e),r.push(t)}return new e(n.length,r)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}},HX=class extends YY{constructor(e,t,n,r,i){let a=qT(`div.diff-hidden-lines-widget`);super(e,t,a.root),this._editor=e,this._move=n,this._kind=r,this._diffModel=i,this._nodes=qT(`div.diff-moved-code-block`,{style:{marginRight:`4px`}},[qT(`div.text-content@textContent`),qT(`div.action-bar@actionBar`)]),a.root.appendChild(this._nodes.root);let o=SI(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(ZY(this._nodes.root,{paddingRight:o.map(e=>e.verticalScrollbarWidth)}));let s;s=n.changes.length>0?this._kind===`original`?M(`codeMovedToWithChanges`,`Code moved with changes to line {0}-{1}`,this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):M(`codeMovedFromWithChanges`,`Code moved with changes from line {0}-{1}`,this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):this._kind===`original`?M(`codeMovedTo`,`Code moved to line {0}-{1}`,this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):M(`codeMovedFrom`,`Code moved from line {0}-{1}`,this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);let c=this._register(new HL(this._nodes.actionBar,{highlightToggledItems:!0})),l=new fE(``,s,``,!1);c.push(l,{icon:!1,label:!0});let u=new fE(``,`Compare`,vE.asClassName(V.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===n?void 0:this._move,void 0)});this._register(gI(e=>{let t=this._diffModel.movedTextToCompare.read(e)===n;u.checked=t})),c.push(u,{icon:!1,label:!0})}},Cje=class extends F{constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._decorations=lI(this,e=>{let t=this._diffModel.read(e),n=t?.diff.read(e);if(!n)return null;let r=this._diffModel.read(e).movedTextToCompare.read(e),i=this._options.renderIndicators.read(e),a=this._options.showEmptyDecorations.read(e),o=[],s=[];if(!r)for(let r of n.mappings)if(r.lineRangeMapping.original.isEmpty||o.push({range:r.lineRangeMapping.original.toInclusiveRange(),options:i?dX:pX}),r.lineRangeMapping.modified.isEmpty||s.push({range:r.lineRangeMapping.modified.toInclusiveRange(),options:i?uX:fX}),r.lineRangeMapping.modified.isEmpty||r.lineRangeMapping.original.isEmpty)r.lineRangeMapping.original.isEmpty||o.push({range:r.lineRangeMapping.original.toInclusiveRange(),options:vX}),r.lineRangeMapping.modified.isEmpty||s.push({range:r.lineRangeMapping.modified.toInclusiveRange(),options:hX});else{let n=this._options.useTrueInlineDiffRendering.read(e)&&zX(r.lineRangeMapping);for(let e of r.lineRangeMapping.innerChanges||[])if(r.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&o.push({range:e.originalRange,options:e.originalRange.isEmpty()&&a?yX:_X}),r.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&s.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&a&&!n?gX:mX}),n){let n=t.model.original.getValueInRange(e.originalRange);s.push({range:e.modifiedRange,options:{description:`deleted-text`,before:{content:n,inlineClassName:`inline-deleted-text`},zIndex:1e5,showIfCollapsed:!0}})}}if(r)for(let e of r.changes){let t=e.original.toInclusiveRange();t&&o.push({range:t,options:i?dX:pX});let n=e.modified.toInclusiveRange();n&&s.push({range:n,options:i?uX:fX});for(let t of e.innerChanges||[])o.push({range:t.originalRange,options:_X}),s.push({range:t.modifiedRange,options:mX})}let c=this._diffModel.read(e).activeMovedText.read(e);for(let e of n.movedTexts)o.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:`moved`,blockClassName:`movedOriginal`+(e===c?` currentMove`:``),blockPadding:[VX.movedCodeBlockPadding,0,VX.movedCodeBlockPadding,VX.movedCodeBlockPadding]}}),s.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:`moved`,blockClassName:`movedModified`+(e===c?` currentMove`:``),blockPadding:[4,0,4,4]}});return{originalDecorations:o,modifiedDecorations:s}}),this._register(GY(this._editors.original,this._decorations.map(e=>e?.originalDecorations||[]))),this._register(GY(this._editors.modified,this._decorations.map(e=>e?.modifiedDecorations||[])))}},wje=class{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=uI(this,e=>{let t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)},(e,t)=>{let n=this.dimensions.width.get();this._sashRatio.set(e/n,t)}),this._sashRatio=oI(this,void 0)}_computeSashLeft(e,t){let n=this.dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*n),i=this._options.enableSplitViewResizing.read(t)?Math.floor(e*n):r;return n<=200?r:i<100?100:i>n-100?n-100:i}},UX=class extends F{constructor(e,t,n,r,i,a){super(),this._domNode=e,this._dimensions=t,this._enabled=n,this._boundarySashes=r,this.sashLeft=i,this._resetSash=a,this._sash=this._register(new QV(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(gI(e=>{let t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register(gI(e=>{let t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}},Tje=class extends F{constructor(e,t,n){super(),this._editor=e,this._domNode=t,this.itemProvider=n,this.scrollTop=SI(this,this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>e===0),this.modelAttached=SI(this,this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=wI(`onDidChangeViewZones`,this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=wI(`onDidContentSizeChange`,this._editor.onDidContentSizeChange),this.domNodeSizeChanged=TI(`domNodeSizeChanged`),this.views=new Map,this._domNode.className=`gutter monaco-editor`;let r=this._domNode.appendChild(qT(`div.scroll-decoration`,{role:`presentation`,ariaHidden:`true`,style:{width:`100%`}}).root),i=new ResizeObserver(()=>{eI(e=>{this.domNodeSizeChanged.trigger(e)})});i.observe(this._domNode),this._register($y(()=>i.disconnect())),this._register(gI(e=>{r.className=this.isScrollTopZero.read(e)?``:`scroll-decoration`})),this._register(gI(e=>this.render(e)))}dispose(){super.dispose(),FT(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);let t=this.scrollTop.read(e),n=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),i=zk.ofStartAndLength(0,this._domNode.clientHeight);if(!i.isEmpty)for(let a of n){let n=new Kk(a.startLineNumber,a.endLineNumber+1),o=this.itemProvider.getIntersectingGutterItems(n,e);eI(e=>{for(let a of o){if(!a.range.intersect(n))continue;r.delete(a.id);let o=this.views.get(a.id);if(o)o.item.set(a,e);else{let e=document.createElement(`div`);this._domNode.appendChild(e);let t=oI(`item`,a);o=new Eje(t,this.itemProvider.createView(t,e),e),this.views.set(a.id,o)}let s=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-t,c=(a.range.endLineNumberExclusive===1?Math.max(s,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-t):Math.max(s,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-t))-s;o.domNode.style.top=`${s}px`,o.domNode.style.height=`${c}px`,o.gutterItemView.layout(zk.ofStartAndLength(s,c),i)}})}for(let e of r){let t=this.views.get(e);t.gutterItemView.dispose(),t.domNode.remove(),this.views.delete(e)}}},Eje=class{constructor(e,t,n){this.item=e,this.gutterItemView=t,this.domNode=n}},WX=class extends pE{constructor(e){super(),this._getContext=e}runAction(e,t){let n=this._getContext();return super.runAction(e,n)}},GX=class extends efe{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Jk(e-1,t)}},Dje=class extends F{constructor(e,t,n={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Tse),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new P),n.hoverDelegate=n.hoverDelegate??this._register(zI()),this.options=n,this.toggleMenuAction=this._register(new KX(()=>this.toggleMenuActionViewItem?.show(),n.toggleMenuTitle)),this.element=document.createElement(`div`),this.element.className=`monaco-toolbar`,e.appendChild(this.element),this.actionBar=this._register(new HL(this.element,{orientation:n.orientation,ariaLabel:n.ariaLabel,actionRunner:n.actionRunner,allowContextMenu:n.allowContextMenu,highlightToggledItems:n.highlightToggledItems,hoverDelegate:n.hoverDelegate,actionViewItemProvider:(e,r)=>{if(e.id===KX.ID)return this.toggleMenuActionViewItem=new bL(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:vE.asClassNameArray(n.moreIcon??V.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(n.actionViewItemProvider){let t=n.actionViewItemProvider(e,r);if(t)return t}if(e instanceof hE){let n=new bL(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return n.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(n),this.disposables.add(this._onDidChangeDropdownVisibility.add(n.onDidChangeVisibility)),n}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();let n=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),n.push(this.toggleMenuAction)),n.forEach(e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})})}getKeybindingLabel(e){return(this.options.getKeyBinding?.(e))?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}},KX=class e extends fE{static{this.ID=`toolbar.toggle.more`}constructor(t,n){n||=M(`moreActions`,`More Actions...`),super(e.ID,n,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=t}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}},qX=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},JX=function(e,t){return function(n,r){t(n,r,e)}},YX=class extends Dje{constructor(e,t,n,r,i,a,o,s){super(e,i,{getKeyBinding:e=>a.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:typeof t?.telemetrySource==`string`}),this._options=t,this._menuService=n,this._contextKeyService=r,this._contextMenuService=i,this._keybindingService=a,this._commandService=o,this._sessionDisposables=this._store.add(new P);let c=t?.telemetrySource;c&&this._store.add(this.actionBar.onDidRun(e=>s.publicLog2(`workbenchActionExecuted`,{id:e.action.id,from:c})))}setActions(e,t=[],n){this._sessionDisposables.clear();let r=e.slice(),i=t.slice(),a=[],o=0,s=[],c=!1;if(this._options?.hiddenItemStrategy!==-1)for(let e=0;e<r.length;e++){let t=r[e];!(t instanceof uD)&&!(t instanceof lD)||t.hideActions&&(a.push(t.hideActions.toggle),t.hideActions.toggle.checked&&o++,t.hideActions.isHidden&&(c=!0,r[e]=void 0,this._options?.hiddenItemStrategy!==0&&(s[e]=t)))}if(this._options?.overflowBehavior!==void 0){let e=qxe(new Set(this._options.overflowBehavior.exempted),ry.map(r,e=>e?.id)),t=this._options.overflowBehavior.maxItems-e.size,n=0;for(let i=0;i<r.length;i++){let a=r[i];a&&(n++,!e.has(a.id)&&n>=t&&(r[i]=void 0,s[i]=a))}}X_(r),X_(s),super.setActions(r,mE.join(s,i)),(a.length>0||r.length>0)&&this._sessionDisposables.add(H(this.getElement(),`contextmenu`,e=>{let t=new SC(Bw(this.getElement()),e),r=this.getItemAction(t.target);if(!r)return;t.preventDefault(),t.stopPropagation();let i=[];if(r instanceof uD&&r.menuKeybinding)i.push(r.menuKeybinding);else if(!(r instanceof lD||r instanceof KX)){let e=!!this._keybindingService.lookupKeybinding(r.id);i.push(XW(this._commandService,this._keybindingService,r.id,void 0,e))}if(a.length>0){let e=!1;if(o===1&&this._options?.hiddenItemStrategy===0){e=!0;for(let e=0;e<a.length;e++)if(a[e].checked){a[e]=gE({id:r.id,label:r.label,checked:!0,enabled:!1,run(){}});break}}if(!e&&(r instanceof uD||r instanceof lD)){if(!r.hideActions)return;i.push(r.hideActions.hide)}else i.push(gE({id:`label`,label:M(`hide`,`Hide`),enabled:!1,run(){}}))}let s=mE.join(i,a);this._options?.resetMenu&&!n&&(n=[this._options.resetMenu]),c&&n&&(s.push(new mE),s.push(gE({id:`resetThisMenu`,label:M(`resetThisMenu`,`Reset Menu`),run:()=>this._menuService.resetHiddenStates(n)}))),s.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>s,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource==`string`,contextKeyService:this._contextKeyService})}))}};YX=qX([JX(2,oD),JX(3,UE),JX(4,AM),JX(5,jM),JX(6,yE),JX(7,pD)],YX);var XX=class extends YX{constructor(e,t,n,r,i,a,o,s,c){super(e,{resetMenu:t,...n},r,i,a,o,s,c),this._onDidChangeMenuItems=this._store.add(new L),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;let l=this._store.add(r.createMenu(t,i,{emitEventsForSubmenuChanges:!0})),u=()=>{let t=[],r=[];FL(l,n?.menuOptions,{primary:t,secondary:r},n?.toolbarOptions?.primaryGroup,n?.toolbarOptions?.shouldInlineSubmenu,n?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle(`has-no-actions`,t.length===0&&r.length===0),super.setActions(t,r)};this._store.add(l.onDidChange(()=>{u(),this._onDidChangeMenuItems.fire(this)})),u()}setActions(){throw new Uy(`This toolbar is populated from a menu.`)}};XX=qX([JX(3,oD),JX(4,UE),JX(5,AM),JX(6,jM),JX(7,yE),JX(8,pD)],XX);var ZX=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},QX=function(e,t){return function(n,r){t(n,r,e)}},$X=[],eZ=35,tZ=class extends F{constructor(e,t,n,r,i,a,o,s,c){super(),this._diffModel=t,this._editors=n,this._options=r,this._sashLayout=i,this._boundarySashes=a,this._instantiationService=o,this._contextKeyService=s,this._menuService=c,this._menu=this._register(this._menuService.createMenu(aD.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=SI(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=lI(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=lI(this,e=>this._hasActions.read(e)?eZ:0),this.elements=qT(`div.gutter@gutter`,{style:{position:`absolute`,height:`100%`,width:`35px`}},[]),this._currentDiff=lI(this,e=>{let t=this._diffModel.read(e);if(!t)return;let n=t.diff.read(e)?.mappings,r=this._editors.modifiedCursor.read(e);if(r)return n?.find(e=>e.lineRangeMapping.modified.contains(r.lineNumber))}),this._selectedDiffs=lI(this,e=>{let t=this._diffModel.read(e)?.diff.read(e);if(!t)return $X;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return $X;let r=new qk(n.map(e=>Kk.fromRangeInclusive(e))),i=t.mappings.filter(e=>e.lineRangeMapping.innerChanges&&r.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>z.areIntersecting(e.modifiedRange,t)))}));return i.length===0||i.every(e=>e.rangeMappings.length===0)?$X:i}),this._register(KAe(e,this.elements.root)),this._register(H(this.elements.root,`click`,()=>{this._editors.modified.focus()})),this._register(ZY(this.elements.root,{display:this._hasActions.map(e=>e?`block`:`none`)})),mI(this,t=>this._showSash.read(t)?new UX(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,uI(this,e=>this._sashLayout.sashLeft.read(e)-eZ,(e,t)=>this._sashLayout.sashLeft.set(e+eZ,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new Tje(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{let n=this._diffModel.read(t);if(!n)return[];let r=n.diff.read(t);if(!r)return[];let i=this._selectedDiffs.read(t);if(i.length>0)return[new nZ($k.fromRangeMappings(i.flatMap(e=>e.rangeMappings)),!0,aD.DiffEditorSelectionToolbar,void 0,n.model.original.uri,n.model.modified.uri)];let a=this._currentDiff.read(t);return r.mappings.map(e=>new nZ(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===a?.lineRangeMapping,aD.DiffEditorHunkToolbar,void 0,n.model.original.uri,n.model.modified.uri))},createView:(e,t)=>this._instantiationService.createInstance(rZ,e,t,this)})),this._register(H(this.elements.gutter,U.MOUSE_WHEEL,e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){let t=e.innerChanges??[],n=new GX(this._editors.modifiedModel.get()),r=new GX(this._editors.original.getModel());return new Yk(t.map(e=>e.toTextEdit(n))).apply(r)}layout(e){this.elements.gutter.style.left=e+`px`}};tZ=ZX([QX(6,sE),QX(7,UE),QX(8,oD)],tZ);var nZ=class{constructor(e,t,n,r,i,a){this.mapping=e,this.showAlways=t,this.menuId=n,this.rangeOverride=r,this.originalUri=i,this.modifiedUri=a}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}},rZ=class extends F{constructor(e,t,n,r){super(),this._item=e,this._elements=qT(`div.gutterItem`,{style:{height:`20px`,width:`34px`}},[qT(`div.background@background`,{},[]),qT(`div.buttons@buttons`,{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=oI(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;let i=this._register(r.createInstance(OM,`element`,!0,{position:{hoverPosition:1}}));this._register(KY(t,this._elements.root)),this._register(gI(e=>{let t=this._showAlways.read(e);this._elements.root.classList.toggle(`noTransition`,!0),this._elements.root.classList.toggle(`showAlways`,t),setTimeout(()=>{this._elements.root.classList.toggle(`noTransition`,!1)},0)})),this._register(yI((e,t)=>{this._elements.buttons.replaceChildren();let a=t.add(r.createInstance(XX,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:i,toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new WX(()=>{let e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:n.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));t.add(a.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let n=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),n=this._elements.buttons.clientHeight;let r=e.length/2-n/2,i=n,a=e.start+r,o=zk.tryCreate(i,t.endExclusive-i-n),s=zk.tryCreate(e.start+i,e.endExclusive-n-i);s&&o&&s.start<s.endExclusive&&(a=o.clip(a),a=s.clip(a)),this._elements.buttons.style.top=`${a-e.start}px`}};rZ=ZX([QX(3,sE)],rZ);function iZ(e){return Oje.get(e)}var Oje=class e extends F{static{this._map=new Map}static get(t){let n=e._map.get(t);if(!n){n=new e(t),e._map.set(t,n);let r=t.onDidDispose(()=>{let n=e._map.get(t);n&&(e._map.delete(t),n.dispose(),r.dispose())})}return n}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new aI(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){let e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=oI(this,this.editor.getModel()),this.model=this._model,this.isReadonly=SI(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=PI({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=PI({owner:this,equalsFn:BF(zF(Zb.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=SI(this,e=>{let t=this.editor.onDidFocusEditorWidget(e),n=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),n.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=uI(this,e=>(this.versionId.read(e),this.model.read(e)?.getValue()??``),(e,t)=>{let n=this.model.get();n!==null&&e!==n.getValue()&&n.setValue(e)}),this.valueIsEmpty=lI(this,e=>(this.versionId.read(e),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=dI({owner:this,equalsFn:BF(Zb.selectionsEqual)},e=>this.selections.read(e)?.[0]??null),this.onDidType=TI(this),this.scrollTop=SI(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=SI(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=SI(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(e=>e.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(e=>e.decorationsLeft),this.contentWidth=SI(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return SI(this,t=>this.editor.onDidChangeConfiguration(n=>{n.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){let t=new P,n=this.editor.createDecorationsCollection();return t.add(_I({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},t=>{let r=e.read(t);n.set(r)})),t.add({dispose:()=>{n.clear()}}),t}createOverlayWidget(e){let t=`observableOverlayWidget`+this._overlayWidgetCounter++,n={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(n);let r=gI(t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(n)});return $y(()=>{r.dispose(),this.editor.removeOverlayWidget(n)})}};function aZ(e,t){return nbe({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,n)=>{if(t.didChange(e)){let e=t.change;e!==void 0&&n.deltas.push(e),n.didChange=!0}return!0}},(n,r)=>{let i=e.read(n);r.didChange&&t(i,r.deltas)})}function kje(e,t){let n=new P,r=aZ(e,(e,r)=>{n.clear(),t(e,r,n)});return{dispose(){r.dispose(),n.dispose()}}}var Aje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jje=function(e,t){return function(n,r){t(n,r,e)}},oZ,sZ=class extends F{static{oZ=this}static{this._breadcrumbsSourceFactory=oI(oZ,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}}))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._instantiationService=r,this._modifiedOutlineSource=mI(this,e=>{let t=this._editors.modifiedModel.read(e),n=oZ._breadcrumbsSourceFactory.read(e);return!t||!n?void 0:n(t,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(e.reason===1)return;let t=this._diffModel.get();eI(e=>{for(let n of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(n.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(n.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(e.reason===1)return;let t=this._diffModel.get();eI(e=>{for(let n of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(n.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(n.getEndPosition().lineNumber,0,e)})}));let i=this._diffModel.map((e,t)=>{let n=e?.unchangedRegions.read(t)??[];return n.length===1&&n[0].modifiedLineNumber===1&&n[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:n});this.viewZones=pI(this,(e,t)=>{let n=this._modifiedOutlineSource.read(e);if(!n)return{origViewZones:[],modViewZones:[]};let r=[],a=[],o=this._options.renderSideBySide.read(e),s=this._options.compactMode.read(e),c=i.read(e);for(let i=0;i<c.length;i++){let l=c[i];if(!l.shouldHideControls(e)&&!(s&&(i===0||i===c.length-1)))if(s){{let e=new XY(lI(this,e=>l.getHiddenOriginalRange(e).startLineNumber-1),12);r.push(e),t.add(new cZ(this._editors.original,e,l,!o))}{let e=new XY(lI(this,e=>l.getHiddenModifiedRange(e).startLineNumber-1),12);a.push(e),t.add(new cZ(this._editors.modified,e,l))}}else{{let e=new XY(lI(this,e=>l.getHiddenOriginalRange(e).startLineNumber-1),24);r.push(e),t.add(new lZ(this._editors.original,e,l,l.originalUnchangedRange,!o,n,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{let e=new XY(lI(this,e=>l.getHiddenModifiedRange(e).startLineNumber-1),24);a.push(e),t.add(new lZ(this._editors.modified,e,l,l.modifiedUnchangedRange,!1,n,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}}return{origViewZones:r,modViewZones:a}});let a={description:`unchanged lines`,className:`diff-unchanged-lines`,isWholeLine:!0},o={description:`Fold Unchanged`,glyphMarginHoverMessage:new HN(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(M(`foldUnchanged`,`Fold Unchanged Region`)),glyphMarginClassName:`fold-unchanged `+vE.asClassName(V.fold),zIndex:10001};this._register(GY(this._editors.original,lI(this,e=>{let t=i.read(e),n=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:a}));for(let r of t)r.shouldHideControls(e)&&n.push({range:z.fromPositions(new R(r.originalLineNumber,1)),options:o});return n}))),this._register(GY(this._editors.modified,lI(this,e=>{let t=i.read(e),n=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:a}));for(let r of t)r.shouldHideControls(e)&&n.push({range:Kk.ofLength(r.modifiedLineNumber,1).toInclusiveRange(),options:o});return n}))),this._register(gI(e=>{let t=i.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(xv)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(xv))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes(`fold-unchanged`)){let t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;let r=n.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.includes(t));if(!r)return;r.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes(`fold-unchanged`)){let t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;let r=n.unchangedRegions.get().find(e=>e.originalUnchangedRange.includes(t));if(!r)return;r.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))}};sZ=oZ=Aje([jje(3,sE)],sZ);var cZ=class extends YY{constructor(e,t,n,r=!1){let i=qT(`div.diff-hidden-lines-widget`);super(e,t,i.root),this._unchangedRegion=n,this._hide=r,this._nodes=qT(`div.diff-hidden-lines-compact`,[qT(`div.line-left`,[]),qT(`div.text@text`,[]),qT(`div.line-right`,[])]),i.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(gI(e=>{if(!this._hide){let t=this._unchangedRegion.getHiddenModifiedRange(e).length,n=M(`hiddenLines`,`{0} hidden lines`,t);this._nodes.text.innerText=n}}))}},lZ=class extends YY{constructor(e,t,n,r,i,a,o,s){let c=qT(`div.diff-hidden-lines-widget`);super(e,t,c.root),this._editor=e,this._unchangedRegion=n,this._unchangedRegionRange=r,this._hide=i,this._modifiedOutlineSource=a,this._revealModifiedHiddenLine=o,this._options=s,this._nodes=qT(`div.diff-hidden-lines`,[qT(`div.top@top`,{title:M(`diff.hiddenLines.top`,`Click or drag to show more above`)}),qT(`div.center@content`,{style:{display:`flex`}},[qT(`div@first`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,flexShrink:`0`}},[G(`a`,{title:M(`showUnchangedRegion`,`Show Unchanged Region`),role:`button`,onclick:()=>{this._unchangedRegion.showAll(void 0)}},...YM(`$(unfold)`))]),qT(`div@others`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`}})]),qT(`div.bottom@bottom`,{title:M(`diff.bottom`,`Click or drag to show more below`),role:`button`})]),c.root.appendChild(this._nodes.root),this._hide?FT(this._nodes.first):this._register(ZY(this._nodes.first,{width:iZ(this._editor).layoutInfoContentLeft})),this._register(gI(e=>{let t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle(`canMoveTop`,!t),this._nodes.bottom.classList.toggle(`canMoveBottom`,this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle(`canMoveTop`,this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle(`canMoveBottom`,!t);let n=this._unchangedRegion.isDragged.read(e),r=this._editor.getDomNode();r&&(r.classList.toggle(`draggingUnchangedRegion`,!!n),n===`top`?(r.classList.toggle(`canMoveTop`,this._unchangedRegion.visibleLineCountTop.read(e)>0),r.classList.toggle(`canMoveBottom`,!t)):n===`bottom`?(r.classList.toggle(`canMoveTop`,!t),r.classList.toggle(`canMoveBottom`,this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(r.classList.toggle(`canMoveTop`,!1),r.classList.toggle(`canMoveBottom`,!1)))}));let l=this._editor;this._register(H(this._nodes.top,`mousedown`,e=>{if(e.button!==0)return;this._nodes.top.classList.toggle(`dragging`,!0),this._nodes.root.classList.toggle(`dragging`,!0),e.preventDefault();let t=e.clientY,n=!1,r=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set(`top`,void 0);let i=Bw(this._nodes.top),a=H(i,`mousemove`,e=>{let i=e.clientY-t;n||=Math.abs(i)>2;let a=Math.round(i/l.getOption(67)),o=Math.max(0,Math.min(r+a,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(o,void 0)}),o=H(i,`mouseup`,e=>{n||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle(`dragging`,!1),this._nodes.root.classList.toggle(`dragging`,!1),this._unchangedRegion.isDragged.set(void 0,void 0),a.dispose(),o.dispose()})})),this._register(H(this._nodes.bottom,`mousedown`,e=>{if(e.button!==0)return;this._nodes.bottom.classList.toggle(`dragging`,!0),this._nodes.root.classList.toggle(`dragging`,!0),e.preventDefault();let t=e.clientY,n=!1,r=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set(`bottom`,void 0);let i=Bw(this._nodes.bottom),a=H(i,`mousemove`,e=>{let i=e.clientY-t;n||=Math.abs(i)>2;let a=Math.round(i/l.getOption(67)),o=Math.max(0,Math.min(r-a,this._unchangedRegion.getMaxVisibleLineCountBottom())),s=this._unchangedRegionRange.endLineNumberExclusive>l.getModel().getLineCount()?l.getContentHeight():l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(o,void 0);let c=this._unchangedRegionRange.endLineNumberExclusive>l.getModel().getLineCount()?l.getContentHeight():l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(c-s))}),o=H(i,`mouseup`,e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!n){let e=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let t=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle(`dragging`,!1),this._nodes.root.classList.toggle(`dragging`,!1),a.dispose(),o.dispose()})})),this._register(gI(e=>{let t=[];if(!this._hide){let r=n.getHiddenModifiedRange(e).length,i=M(`hiddenLines`,`{0} hidden lines`,r),a=G(`span`,{title:M(`diff.hiddenLines.expandAll`,`Double click to unfold`)},i);a.addEventListener(`dblclick`,e=>{e.button===0&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(a);let o=this._unchangedRegion.getHiddenModifiedRange(e),s=this._modifiedOutlineSource.getBreadcrumbItems(o,e);if(s.length>0){t.push(G(`span`,void 0,`\xA0\xA0|\xA0\xA0`));for(let e=0;e<s.length;e++){let n=s[e],r=qT(`div.breadcrumb-item`,{style:{display:`flex`,alignItems:`center`}},[XM(dx.toIcon(n.kind)),`\xA0`,n.name,...e===s.length-1?[]:[XM(V.chevronRight)]]).root;t.push(r),r.onclick=()=>{this._revealModifiedHiddenLine(n.startLineNumber)}}}}FT(this._nodes.others,...t)}))}},Mje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nje=function(e,t){return function(n,r){t(n,r,e)}},uZ,dZ=class extends F{static{uZ=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=this.ONE_OVERVIEW_WIDTH*2}constructor(e,t,n,r,i,a,o){super(),this._editors=e,this._rootElement=t,this._diffModel=n,this._rootWidth=r,this._rootHeight=i,this._modifiedEditorLayoutInfo=a,this._themeService=o,this.width=uZ.ENTIRE_DIFF_OVERVIEW_WIDTH;let s=SI(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),c=lI(e=>{let t=s.read(e);return{insertColor:t.getColor(ahe)||(t.getColor(rhe)||$j).transparent(2),removeColor:t.getColor(ohe)||(t.getColor(ihe)||eM).transparent(2)}}),l=$T(document.createElement(`div`));l.setClassName(`diffViewport`),l.setPosition(`absolute`);let u=qT(`div.diffOverview`,{style:{position:`absolute`,top:`0px`,width:uZ.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`}}).root;this._register(KY(u,l.domNode)),this._register(qw(u,U.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register(H(u,U.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register(KY(this._rootElement,u)),this._register(yI((e,t)=>{let n=this._diffModel.read(e),r=this._editors.original.createOverviewRuler(`original diffOverviewRuler`);r&&(t.add(r),t.add(KY(u,r.getDomNode())));let i=this._editors.modified.createOverviewRuler(`modified diffOverviewRuler`);if(i&&(t.add(i),t.add(KY(u,i.getDomNode()))),!r||!i)return;let a=wI(`viewZoneChanged`,this._editors.original.onDidChangeViewZones),o=wI(`viewZoneChanged`,this._editors.modified.onDidChangeViewZones),s=wI(`hiddenRangesChanged`,this._editors.original.onDidChangeHiddenAreas),d=wI(`hiddenRangesChanged`,this._editors.modified.onDidChangeHiddenAreas);t.add(gI(e=>{a.read(e),o.read(e),s.read(e),d.read(e);let t=c.read(e),l=n?.diff.read(e)?.mappings;function u(e,t,n){let r=n._getViewModel();return r?e.filter(e=>e.length>0).map(e=>{let n=r.coordinatesConverter.convertModelPositionToViewPosition(new R(e.startLineNumber,1)),i=r.coordinatesConverter.convertModelPositionToViewPosition(new R(e.endLineNumberExclusive,1)),a=i.lineNumber-n.lineNumber;return new UJ(n.lineNumber,i.lineNumber,a,t.toString())}):[]}let f=u((l||[]).map(e=>e.lineRangeMapping.original),t.removeColor,this._editors.original),p=u((l||[]).map(e=>e.lineRangeMapping.modified),t.insertColor,this._editors.modified);r?.setZones(f),i?.setZones(p)})),t.add(gI(e=>{let t=this._rootHeight.read(e),n=this._rootWidth.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(a){let n=uZ.ENTIRE_DIFF_OVERVIEW_WIDTH-2*uZ.ONE_OVERVIEW_WIDTH;r.setLayout({top:0,height:t,right:n+uZ.ONE_OVERVIEW_WIDTH,width:uZ.ONE_OVERVIEW_WIDTH}),i.setLayout({top:0,height:t,right:0,width:uZ.ONE_OVERVIEW_WIDTH});let o=this._editors.modifiedScrollTop.read(e),s=this._editors.modifiedScrollHeight.read(e),c=this._editors.modified.getOption(104),u=new LM(c.verticalHasArrows?c.arrowSize:0,c.verticalScrollbarSize,0,a.height,s,o);l.setTop(u.getSliderPosition()),l.setHeight(u.getSliderSize())}else l.setTop(0),l.setHeight(0);u.style.height=t+`px`,u.style.left=n-uZ.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`,l.setWidth(uZ.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};dZ=uZ=Mje([Nje(6,NA)],dZ);var fZ=[],Pje=class extends F{constructor(e,t,n,r){super(),this._editors=e,this._diffModel=t,this._options=n,this._widget=r,this._selectedDiffs=lI(this,e=>{let t=this._diffModel.read(e)?.diff.read(e);if(!t)return fZ;let n=this._editors.modifiedSelections.read(e);if(n.every(e=>e.isEmpty()))return fZ;let r=new qk(n.map(e=>Kk.fromRangeInclusive(e))),i=t.mappings.filter(e=>e.lineRangeMapping.innerChanges&&r.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>n.some(t=>z.areIntersecting(e.modifiedRange,t)))}));return i.length===0||i.every(e=>e.rangeMappings.length===0)?fZ:i}),this._register(yI((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;let n=this._diffModel.read(e),r=n?.diff.read(e);if(!n||!r||n.movedTextToCompare.read(e))return;let i=[],a=this._selectedDiffs.read(e),o=new Set(a.map(e=>e.mapping));if(a.length>0){let n=this._editors.modifiedSelections.read(e),r=t.add(new pZ(n[n.length-1].positionLineNumber,this._widget,a.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(r),i.push(r)}for(let e of r.mappings)if(!o.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){let n=t.add(new pZ(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(n),i.push(n)}t.add($y(()=>{for(let e of i)this._editors.modified.removeGlyphMarginWidget(e)}))}))}},pZ=class e extends F{static{this.counter=0}getId(){return this._id}constructor(t,n,r,i){super(),this._lineNumber=t,this._widget=n,this._diffs=r,this._revertSelection=i,this._id=`revertButton${e.counter++}`,this._domNode=qT(`div.revertButton`,{title:this._revertSelection?M(`revertSelectedChanges`,`Revert Selected Changes`):M(`revertChange`,`Revert Change`)},[XM(V.arrowRight)]).root,this._register(H(this._domNode,U.MOUSE_DOWN,e=>{e.button!==2&&(e.stopPropagation(),e.preventDefault())})),this._register(H(this._domNode,U.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register(H(this._domNode,U.CLICK,e=>{this._diffs instanceof Zk?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:Sk.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}};function Fje(e,t,n){return ibe({debugName:()=>`Configuration Key "${e}"`},t=>n.onDidChangeConfiguration(n=>{n.affectsConfiguration(e)&&t(n)}),()=>n.getValue(e)??t)}function mZ(e,t,n){let r=e.bindTo(t);return _I({debugName:()=>`Set Context Key "${e.key}"`},e=>{r.set(n(e))})}var Ije=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hZ=function(e,t){return function(n,r){t(n,r,e)}},gZ=class extends F{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,n,r,i,a,o){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=n,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=i,this._instantiationService=a,this._keybindingService=o,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new L),this.modifiedScrollTop=SI(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=SI(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=iZ(this.modified),this.originalObs=iZ(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=SI(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=dI({owner:this,equalsFn:R.equals},e=>this.modifiedSelections.read(e)[0]?.getPosition()??new R(1,1)),this.originalCursor=SI(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new R(1,1)),this._argCodeEditorWidgetOptions=null,this._register(vI({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(n.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},(e,t)=>{n.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){let n=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,n,t);return r.setContextValue(`isInDiffLeftEditor`,!0),r}_createRightHandSideEditor(e,t){let n=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,n,t);return r.setContextValue(`isInDiffRightEditor`,!0),r}_constructInnerEditor(e,t,n,r){let i=this._createInnerEditor(e,t,n,r);return this._register(i.onDidContentSizeChange(e=>{let t=this.original.getContentWidth()+this.modified.getContentWidth()+dZ.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),i}_adjustOptionsForLeftHandSide(e,t){let n=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(n.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},n.wordWrapOverride1=this._options.diffWordWrap.get()):(n.wordWrapOverride1=`off`,n.wordWrapOverride2=`off`,n.stickyScroll={enabled:!1},n.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),n.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(n.ariaLabel=t.originalAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.readOnly=!this._options.originalEditable.get(),n.dropIntoEditor={enabled:!n.readOnly},n.extraEditorClassName=`original-in-monaco-diff-editor`,n}_adjustOptionsForRightHandSide(e,t){let n=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(n.ariaLabel=t.modifiedAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.wordWrapOverride1=this._options.diffWordWrap.get(),n.revealHorizontalRightPadding=Py.revealHorizontalRightPadding.defaultValue+dZ.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName=`modified-in-monaco-diff-editor`,n}_adjustOptionsForSubEditor(e){let t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||=``;let t=M(`diff-aria-navigation-tip`,` use {0} to open the accessibility help.`,this._keybindingService.lookupKeybinding(`editor.action.accessibilityHelp`)?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,``):``}};gZ=Ije([hZ(5,sE),hZ(6,jM)],gZ);var Lje=class e extends F{constructor(){super(...arguments),this._id=++e.idCounter,this._onDidDispose=this._register(new L),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+`:v2:`+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t=`api`){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t=`api`){this._targetEditor.setSelection(e,t)}setSelections(e,t=`api`){this._targetEditor.setSelections(e,t)}revealLines(e,t,n=0){this._targetEditor.revealLines(e,t,n)}revealLinesInCenter(e,t,n=0){this._targetEditor.revealLinesInCenter(e,t,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,n)}revealLinesNearTop(e,t,n=0){this._targetEditor.revealLinesNearTop(e,t,n)}revealRange(e,t=0,n=!1,r=!0){this._targetEditor.revealRange(e,t,n,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,n){this._targetEditor.trigger(e,t,n)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}},Rje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},zje=function(e,t){return function(n,r){t(n,r,e)}},_Z=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=oI(this,0),this._screenReaderMode=SI(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=lI(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=lI(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=lI(this,e=>this.compactMode.read(e)&&this.shouldRenderInlineViewInSmartMode.read(e)?!1:this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))),this.readOnly=lI(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=lI(this,e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e))),this.shouldRenderGutterMenu=lI(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=lI(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=lI(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=lI(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=lI(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=lI(this,e=>this._options.read(e).maxComputationTime),this.showMoves=lI(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=lI(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=lI(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=lI(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=lI(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=lI(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=lI(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=lI(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=lI(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.compactMode=lI(this,e=>this._options.read(e).compactMode),this.trueInlineDiffRenderingEnabled=lI(this,e=>this._options.read(e).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=lI(this,e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e)),this.hideUnchangedRegions=lI(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=lI(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=lI(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=lI(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount),this._model=oI(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,e=>cbe(this,t=>{let n=e?.diff.read(t);return n?Bje(n,this.trueInlineDiffRenderingEnabled.read(t)):void 0})).flatten().map(this,e=>!!e),this.inlineViewHideOriginalLineNumbers=this.compactMode;let n={...e,...vZ(e,JP)};this._options=oI(this,n)}updateOptions(e){let t=vZ(e,this._options.get()),n={...this._options.get(),...e,...t};this._options.set(n,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};_Z=Rje([zje(1,xP)],_Z);function Bje(e,t){return e.mappings.every(e=>Vje(e.lineRangeMapping)||Hje(e.lineRangeMapping)||t&&zX(e.lineRangeMapping))}function Vje(e){return e.original.length===0}function Hje(e){return e.modified.length===0}function vZ(e,t){return{enableSplitViewResizing:hy(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:goe(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:hy(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:hy(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:_y(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:_y(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:hy(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:hy(e.renderIndicators,t.renderIndicators),originalEditable:hy(e.originalEditable,t.originalEditable),diffCodeLens:hy(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:hy(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:xy(e.diffWordWrap,t.diffWordWrap,[`off`,`on`,`inherit`]),diffAlgorithm:xy(e.diffAlgorithm,t.diffAlgorithm,[`legacy`,`advanced`],{smart:`legacy`,experimental:`advanced`}),accessibilityVerbose:hy(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:hy(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:hy(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:hy(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:hy(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:_y(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:_y(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:_y(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:hy(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:hy(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:_y(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:hy(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:hy(e.renderGutterMenu,t.renderGutterMenu),compactMode:hy(e.compactMode,t.compactMode)}}var Uje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yZ=function(e,t){return function(n,r){t(n,r,e)}},bZ=class extends Lje{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,n,r,i,a,o,s){super(),this._domElement=e,this._parentContextKeyService=r,this._parentInstantiationService=i,this._accessibilitySignalService=o,this._editorProgressService=s,this.elements=qT(`div.monaco-diff-editor.side-by-side`,{style:{position:`relative`,height:`100%`}},[qT(`div.editor.original@original`,{style:{position:`absolute`,height:`100%`}}),qT(`div.editor.modified@modified`,{style:{position:`absolute`,height:`100%`}}),qT(`div.accessibleDiffViewer@accessibleDiffViewer`,{style:{position:`absolute`,height:`100%`}})]),this._diffModelSrc=this._register(cI(this,void 0)),this._diffModel=lI(this,e=>this._diffModelSrc.read(e)?.object),this.onDidChangeModel=I.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new uG([UE,this._contextKeyService]))),this._boundarySashes=oI(this,void 0),this._accessibleDiffViewerShouldBeVisible=oI(this,!1),this._accessibleDiffViewerVisible=lI(this,e=>this._options.onlyShowAccessibleDiffViewer.read(e)?!0:this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=oI(this,void 0),this._layoutInfo=lI(this,e=>{let t=this._rootSizeObserver.width.read(e),n=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height=`100%`:this.elements.root.style.height=n+`px`;let r=this._sash.read(e),i=this._gutter.read(e),a=i?.width.read(e)??0,o=this._overviewRulerPart.read(e)?.width??0,s,c,l,u,d;if(r){let n=r.sashLeft.read(e),i=this._movedBlocksLinesPart.read(e)?.width.read(e)??0;s=0,c=n-a-i,d=n-a,l=n,u=t-l-o}else{d=0;let n=this._options.inlineViewHideOriginalLineNumbers.read(e);s=a,c=n?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e)),l=a+c,u=t-l-o}return this.elements.original.style.left=s+`px`,this.elements.original.style.width=c+`px`,this._editors.original.layout({width:c,height:n},!0),i?.layout(d),this.elements.modified.style.left=l+`px`,this.elements.modified.style.width=u+`px`,this._editors.modified.layout({width:u,height:n},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>e?.diff.read(t)),this.onDidUpdateDiff=I.fromObservableLight(this._diffValue),a.willCreateDiffEditor(),this._contextKeyService.createKey(`isInDiffEditor`,!0),this._domElement.appendChild(this.elements.root),this._register($y(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new qY(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(_Z,t),this._register(gI(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey($.isEmbeddedDiffEditor.key,!1),this._register(mZ($.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register(mZ($.comparingMovedCode,this._contextKeyService,e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e))),this._register(mZ($.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register(mZ($.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register(mZ($.hasChanges,this._contextKeyService,e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(gZ,this.elements.original,this.elements.modified,this._options,n,(e,t,n,r)=>this._createInnerEditor(e,t,n,r))),this._register(mZ($.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register(mZ($.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register(mZ($.diffEditorOriginalUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.original.uri.toString()??``)),this._register(mZ($.diffEditorModifiedUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.modified.uri.toString()??``)),this._overviewRulerPart=mI(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(kX(dZ,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);let c={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0))};this._sashLayout=new wje(this._options,c),this._sash=mI(this,e=>{let t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle(`side-by-side`,t),t?new UX(this.elements.root,c,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);let l=mI(this,e=>this._instantiationService.createInstance(kX(sZ,e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);mI(this,e=>this._instantiationService.createInstance(kX(Cje,e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);let u=new Set,d=new Set,f=!1,p=mI(this,e=>this._instantiationService.createInstance(kX(IX,e),Bw(this._domElement),this._editors,this._diffModel,this._options,this,()=>f||l.get().isUpdatingHiddenAreas,u,d)).recomputeInitiallyAndOnChange(this._store),m=lI(this,e=>{let t=p.read(e).viewZones.read(e).orig,n=l.read(e).viewZones.read(e).origViewZones;return t.concat(n)}),h=lI(this,e=>{let t=p.read(e).viewZones.read(e).mod,n=l.read(e).viewZones.read(e).modViewZones;return t.concat(n)});this._register(QY(this._editors.original,m,e=>{f=e},u));let g;this._register(QY(this._editors.modified,h,e=>{f=e,f?g=WY.capture(this._editors.modified):(g?.restore(this._editors.modified),g=void 0)},d)),this._accessibleDiffViewer=mI(this,e=>this._instantiationService.createInstance(kX(iX,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>e?.diff.read(t)?.mappings.map(e=>e.lineRangeMapping)),new cje(this._editors))).recomputeInitiallyAndOnChange(this._store);let _=this._accessibleDiffViewerVisible.map(e=>e?`hidden`:`visible`);this._register(ZY(this.elements.modified,{visibility:_})),this._register(ZY(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),a.addDiffEditor(this),this._gutter=mI(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(kX(tZ,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(DI(this._layoutInfo)),mI(this,e=>new(kX(VX,e))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(I.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(I.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));let v=this._diffModel.map(this,(e,t)=>{if(e)return e.diff.read(t)===void 0&&!e.isDiffUpToDate.read(t)});this._register(yI((e,t)=>{if(v.read(e)===!0){let e=this._editorProgressService.show(!0,1e3);t.add($y(()=>e.done()))}})),this._register(yI((e,t)=>{t.add(new(kX(Pje,e))(this._editors,this._diffModel,this._options,this))})),this._register(yI((e,t)=>{let n=this._diffModel.read(e);if(n)for(let e of[n.model.original,n.model.modified])t.add(e.onWillDispose(e=>{Fy(new Uy(`TextModel got disposed before DiffEditorWidget model got reset`)),this.setModel(null)}))})),this._register(gI(e=>{this._options.setModel(this._diffModel.read(e))}))}_createInnerEditor(e,t,n,r){return e.createInstance(BY,t,n,r)}_createDiffEditorContributions(){let e=OD.getDiffEditorContributions();for(let t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(e){Fy(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return PG.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){let t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(AX,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){let t=e?`model`in e?eX.create(e).createNewRef(this):eX.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){let n=this._diffModel.get();!e&&n&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&iI(t,t=>{let n=e?.object;SI.batchEventsGlobally(t,()=>{this._editors.original.setModel(n?n.model.original:null),this._editors.modified.setModel(n?n.model.modified:null)});let r=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout(()=>{r?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){let e=this._diffModel.get()?.diff.get();return e?Wje(e):null}revert(e){let t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits(`diffEditor`,[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){let t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;let n=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.executeEdits(`diffEditor`,n)}_goTo(e){this._editors.modified.setPosition(new R(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){let t=this._diffModel.get()?.diff.get()?.mappings;if(!t||t.length===0)return;let n=this._editors.modified.getPosition().lineNumber,r;r=e===`next`?t.find(e=>e.lineRangeMapping.modified.startLineNumber>n)??t[0]:Bk(t,e=>e.lineRangeMapping.modified.startLineNumber<n)??t[t.length-1],this._goTo(r),r.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(hG.diffLineDeleted,{source:`diffEditor.goToDiff`}):r.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(hG.diffLineInserted,{source:`diffEditor.goToDiff`}):r&&this._accessibilitySignalService.playSignal(hG.diffLineModified,{source:`diffEditor.goToDiff`})}revealFirstDiff(){let e=this._diffModel.get();e&&this.waitForDiff().then(()=>{let t=e.diff.get()?.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){let e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,n=e?this._editors.original:this._editors.modified,r,i=t.getSelection();if(i){let t=this._diffModel.get()?.diff.get()?.mappings.map(t=>e?t.lineRangeMapping.flip():t.lineRangeMapping);if(t){let e=$Y(i.getStartPosition(),t),n=$Y(i.getEndPosition(),t);r=z.plusRange(e,n)}}return{destination:n,destinationSelection:r}}switchSide(){let{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){let e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&eI(t=>{for(let n of e)n.collapseAll(t)})}showAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&eI(t=>{for(let n of e)n.showAll(t)})}_handleCursorPositionChange(e,t){if(e?.reason===3){let n=this._diffModel.get()?.diff.get()?.mappings.find(n=>t?n.lineRangeMapping.modified.contains(e.position.lineNumber):n.lineRangeMapping.original.contains(e.position.lineNumber));n?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(hG.diffLineDeleted,{source:`diffEditor.cursorPositionChanged`}):n?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(hG.diffLineInserted,{source:`diffEditor.cursorPositionChanged`}):n&&this._accessibilitySignalService.playSignal(hG.diffLineModified,{source:`diffEditor.cursorPositionChanged`})}}};bZ=Uje([yZ(3,UE),yZ(4,sE),yZ(5,lE),yZ(6,pG),yZ(7,gF)],bZ);function Wje(e){return e.mappings.map(e=>{let t=e.lineRangeMapping,n,r,i,a,o=t.innerChanges;return t.original.isEmpty?(n=t.original.startLineNumber-1,r=0,o=void 0):(n=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(i=t.modified.startLineNumber-1,a=0,o=void 0):(i=t.modified.startLineNumber,a=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:n,originalEndLineNumber:r,modifiedStartLineNumber:i,modifiedEndLineNumber:a,charChanges:o?.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}})}var xZ=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},SZ=function(e,t){return function(n,r){t(n,r,e)}},Gje=0,CZ=!1;function Kje(e){if(!e){if(CZ)return;CZ=!0}Xve(e||pS.document.body)}var wZ=class extends BY{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){let p={...t};p.ariaLabel=p.ariaLabel||DF.editorViewAccessibleLabel,super(e,p,{},n,r,i,a,c,l,u,d,f),s instanceof SG?this._standaloneKeybindingService=s:this._standaloneKeybindingService=null,Kje(p.ariaContainerElement),pbe((e,t)=>n.createInstance(OM,e,t,{})),mbe(o)}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn(`Cannot add command because the editor is configured with an unrecognized KeybindingService`),null;let r=`DYNAMIC_`+ ++Gje,i=K.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,i),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),F.None;let t=e.id,n=e.label,r=K.and(K.equals(`editorId`,this.getId()),K.deserialize(e.precondition)),i=e.keybindings,a=K.and(r,K.deserialize(e.keybindingContext)),o=e.contextMenuGroupId||null,s=e.contextMenuOrder||0,c=(t,...n)=>Promise.resolve(e.run(this,...n)),l=new P,u=this.getId()+`:`+t;if(l.add(bE.registerCommand(u,c)),o){let e={command:{id:u,title:n},when:r,group:o,order:s};l.add(cD.appendMenuItem(aD.EditorContext,e))}if(Array.isArray(i))for(let e of i)l.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,c,a));let d=new iY(u,n,n,void 0,r,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,d),l.add($y(()=>{this._actions.delete(t)})),l}_triggerCommand(e,t){if(this._codeEditorService instanceof RA)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};wZ=xZ([SZ(2,sE),SZ(3,lE),SZ(4,yE),SZ(5,UE),SZ(6,DM),SZ(7,jM),SZ(8,NA),SZ(9,KA),SZ(10,xP),SZ(11,qO),SZ(12,CA)],wZ);var TZ=class extends wZ{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g={...t};DG(u,g,!1);let _=c.registerEditorContainer(e);typeof g.theme==`string`&&c.setTheme(g.theme),g.autoDetectHighContrast!==void 0&&c.setAutoDetectHighContrast(!!g.autoDetectHighContrast);let v=g.model;delete g.model,super(e,g,n,r,i,a,o,s,c,l,d,m,h),this._configurationService=u,this._standaloneThemeService=c,this._register(_);let y;if(v===void 0){let e=p.getLanguageIdByMimeType(g.language)||g.language||`plaintext`;y=DZ(f,p,g.value||``,e,void 0),this._ownsModel=!0}else y=v,this._ownsModel=!1;if(this._attachModel(y),y){let e={oldModelUrl:null,newModelUrl:y.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){DG(this._configurationService,e,!1),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};TZ=xZ([SZ(2,sE),SZ(3,lE),SZ(4,yE),SZ(5,UE),SZ(6,DM),SZ(7,jM),SZ(8,zW),SZ(9,KA),SZ(10,mO),SZ(11,xP),SZ(12,uE),SZ(13,yO),SZ(14,qO),SZ(15,CA)],TZ);var EZ=class extends bZ{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f={...t};DG(s,f,!0);let p=a.registerEditorContainer(e);typeof f.theme==`string`&&a.setTheme(f.theme),f.autoDetectHighContrast!==void 0&&a.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},r,n,i,d,l),this._configurationService=s,this._standaloneThemeService=a,this._register(p)}dispose(){super.dispose()}updateOptions(e){DG(this._configurationService,e,!0),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(wZ,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};EZ=xZ([SZ(2,sE),SZ(3,UE),SZ(4,lE),SZ(5,zW),SZ(6,KA),SZ(7,mO),SZ(8,AM),SZ(9,gF),SZ(10,tG),SZ(11,pG)],EZ);function DZ(e,t,n,r,i){if(n||=``,!r){let r=n.indexOf(`
5113
5113
  `),a=n;return r!==-1&&(a=n.substring(0,r)),OZ(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return OZ(e,n,t.createById(r),i)}function OZ(e,t,n,r){return e.createModel(t,n,r)}var qje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kZ=function(e,t){return function(n,r){t(n,r,e)}},Jje=class{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}},AZ=class extends F{constructor(e,t,n,r,i){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._instantiationService=r,this._viewModel=oI(this,void 0),this._collapsed=lI(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=oI(this,500),this.contentHeight=lI(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=oI(this,0),this._modifiedWidth=oI(this,0),this._originalContentWidth=oI(this,0),this._originalWidth=oI(this,0),this.maxScroll=lI(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}}),this._elements=qT(`div.multiDiffEntry`,[qT(`div.header@header`,[qT(`div.header-content`,[qT(`div.collapse-button@collapseButton`),qT(`div.file-path`,[qT(`div.title.modified.show-file-icons@primaryPath`,[]),qT(`div.status.deleted@status`,[`R`]),qT(`div.title.original.show-file-icons@secondaryPath`,[])]),qT(`div.actions@actions`)])]),qT(`div.editorParent`,[qT(`div.editorContainer@editor`)])]),this.editor=this._register(this._instantiationService.createInstance(bZ,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=iZ(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=iZ(this.editor.getOriginalEditor()).isFocused,this.isFocused=lI(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new P),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let a=new NV(this._elements.collapseButton,{});this._register(gI(e=>{a.element.className=``,a.icon=this._collapsed.read(e)?V.chevronRight:V.chevronDown})),this._register(a.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(gI(e=>{this._elements.editor.style.display=this._collapsed.read(e)?`none`:`block`})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{nI(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register(gI(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle(`active`,t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(i.createScoped(this._elements.actions));let o=this._register(this._instantiationService.createChild(new uG([UE,this._contextKeyService])));this._register(o.createInstance(XX,this._elements.actions,aD.MultiDiffEditorFileToolbar,{actionRunner:this._register(new WX(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`navigation`)},actionViewItemProvider:(e,t)=>VL(o,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:`hidden`,horizontal:`hidden`,handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){nI(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});return}let n=e.viewModel.documentDiffItem;if(nI(r=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let i=!1,a=!1,o=!1,s=``;e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(s=`R`,i=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(s=`A`,o=!0):(s=`D`,a=!0),this._elements.status.classList.toggle(`renamed`,i),this._elements.status.classList.toggle(`deleted`,a),this._elements.status.classList.toggle(`added`,o),this._elements.status.innerText=s,this._resourceLabel2?.setUri(i?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,r),this.editor.updateOptions(t(n.options??{}))}),n.onOptionsDidChange&&this._dataStore.add(n.onOptionsDidChange(()=>{this.editor.updateOptions(t(n.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(let[t,n]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,n)}render(e,t,n,r){this._elements.root.style.visibility=`visible`,this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position=`absolute`;let i=e.length-this._headerHeight,a=Math.max(0,Math.min(r.start-e.start,i));this._elements.header.style.transform=`translateY(${a}px)`,nI(n=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=n,this.editor.getOriginalEditor().setScrollTop(n)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle(`shadow`,a>0||n>0),this._elements.header.classList.toggle(`collapsed`,a===i)}hide(){this._elements.root.style.top=`-100000px`,this._elements.root.style.visibility=`hidden`}};AZ=qje([kZ(3,sE),kZ(4,UE)],AZ);var Yje=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{let n=[...this._unused.values()];t=n.find(t=>this._itemData.get(t).getId()===e.getId())??n[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}},Xje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jZ=function(e,t){return function(n,r){t(n,r,e)}},MZ=class extends F{constructor(e,t,n,r,i,a){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=r,this._parentContextKeyService=i,this._parentInstantiationService=a,this._scrollableElements=qT(`div.scrollContent`,[qT(`div@content`,{style:{overflow:`hidden`}}),qT(`div.monaco-editor@overflowWidgetsDomNode`,{})]),this._scrollable=this._register(new RM({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>Zw(Bw(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new VM(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=qT(`div.monaco-component.multiDiffEditor`,{},[qT(`div`,{},[this._scrollableElement.getDomNode()]),qT(`div.placeholder@placeholder`,{},[qT(`div`,[M(`noChangedFiles`,`No Changed Files`)])])]),this._sizeObserver=this._register(new qY(this._element,void 0)),this._objectPool=this._register(new Yje(e=>{let t=this._instantiationService.createInstance(AZ,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=SI(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=SI(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=pI(this,(e,t)=>{let n=this._viewModel.read(e);if(!n)return{items:[],getItem:e=>{throw new Uy}};let r=n.items.read(e),i=new Map;return{items:r.map(e=>{let n=t.add(new Zje(e,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),r=this._lastDocStates?.[n.getKey()];return r&&eI(e=>{n.setViewState(r,e)}),i.set(e,n),n}),getItem:e=>i.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,n)=>e+n.contentHeight.read(t)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new uG([UE,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey($.inMultiDiffEditor.key,!0),this._register(yI((e,t)=>{let n=this._viewModel.read(e);if(n&&n.contextKeys)for(let[e,r]of Object.entries(n.contextKeys)){let n=this._contextKeyService.createKey(e,void 0);n.set(r),t.add($y(()=>n.reset()))}}));let o=this._parentContextKeyService.createKey($.multiDiffEditorAllCollapsed.key,!1);this._register(gI(e=>{let t=this._viewModel.read(e);if(t){let n=t.items.read(e).every(t=>t.collapsed.read(e));o.set(n)}})),this._register(gI(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)})),this._register(gI(e=>{let t=this._viewItems.read(e);this._elements.placeholder.classList.toggle(`visible`,t.length===0)})),this._scrollableElements.content.style.position=`relative`,this._register(gI(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let n=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${n}px`;let r=this._sizeObserver.width.read(e),i=r,a=Gk(this._viewItems.read(e),uv(t=>t.maxScroll.read(e).maxScroll,dv));a&&(i=r+a.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:r,height:t,scrollHeight:n,scrollWidth:i})})),e.replaceChildren(this._elements.root),this._register($y(()=>{e.replaceChildren()})),this._register(this._register(gI(e=>{nI(t=>{this.render(e)})})))}render(e){let t=this.scrollTop.read(e),n=0,r=0,i=0,a=this._sizeObserver.height.read(e),o=zk.ofStartAndLength(t,a),s=this._sizeObserver.width.read(e);for(let c of this._viewItems.read(e)){let l=c.contentHeight.read(e),u=Math.min(l,a),d=zk.ofStartAndLength(r,u),f=zk.ofStartAndLength(i,l);if(f.isBefore(o))n-=l-u,c.hide();else if(f.isAfter(o))c.hide();else{let e=Math.max(0,Math.min(o.start-f.start,l-u));n-=e;let r=zk.ofStartAndLength(t+n,a);c.render(d,e,s,r)}r+=u+this._spaceBetweenPx,i+=l+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+n)}px)`}};MZ=Xje([jZ(4,UE),jZ(5,sE)],MZ);var Zje=class extends F{constructor(e,t,n,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=n,this._deltaScrollVertical=r,this._templateRef=this._register(cI(this,void 0)),this.contentHeight=lI(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=lI(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=lI(this,e=>this._templateRef.read(e)?.object),this._isHidden=oI(this,!1),this._isFocused=lI(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(gI(e=>{let t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register(gI(e=>{let t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),r=e.selections?.map(Zb.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:r},t);let i=this._templateRef.get();i&&r&&i.object.editor.setSelections(r)}_updateTemplateData(e){let t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){let e=this._templateRef.get();e&&eI(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,n,r){this._isHidden.set(!1,void 0);let i=this._templateRef.get();if(!i){i=this._objectPool.getUnusedObj(new Jje(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(i,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&i.object.editor.setSelections(e)}i.object.render(e,n,t,r)}};Q(`multiDiffEditor.headerBackground`,{dark:`#262626`,light:`tab.inactiveBackground`,hcDark:`tab.inactiveBackground`,hcLight:`tab.inactiveBackground`},M(`multiDiffEditor.headerBackground`,`The background color of the diff editor's header`)),Q(`multiDiffEditor.background`,Ij,M(`multiDiffEditor.background`,`The background color of the multi file diff editor`)),Q(`multiDiffEditor.border`,{dark:`sideBarSectionHeader.border`,light:`#cccccc`,hcDark:`sideBarSectionHeader.border`,hcLight:`#cccccc`},M(`multiDiffEditor.border`,`The border color of the multi file diff editor`));var Qje=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$je=function(e,t){return function(n,r){t(n,r,e)}},NZ=class extends F{constructor(e,t,n){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=n,this._dimension=oI(this,void 0),this._viewModel=oI(this,void 0),this._widgetImpl=pI(this,(e,t)=>(kX(AZ,e),t.add(this._instantiationService.createInstance(kX(MZ,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(DI(this._widgetImpl))}};NZ=Qje([$je(2,sE)],NZ);function eMe(e,t,n){return NG.initialize(n||{}).createInstance(TZ,e,t)}function tMe(e){return NG.get(lE).onCodeEditorAdd(t=>{e(t)})}function nMe(e){return NG.get(lE).onDiffEditorAdd(t=>{e(t)})}function rMe(){return NG.get(lE).listCodeEditors()}function iMe(){return NG.get(lE).listDiffEditors()}function aMe(e,t,n){return NG.initialize(n||{}).createInstance(EZ,e,t)}function oMe(e,t){return new NZ(e,{},NG.initialize(t||{}))}function sMe(e){if(typeof e.id!=`string`||typeof e.run!=`function`)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return bE.registerCommand(e.id,e.run)}function cMe(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=K.deserialize(e.precondition),n=(n,...r)=>xD.runEditorCommand(n,r,t,(t,n,r)=>Promise.resolve(e.run(n,...r))),r=new P;if(r.add(bE.registerCommand(e.id,n)),e.contextMenuGroupId){let n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};r.add(cD.appendMenuItem(aD.EditorContext,n))}if(Array.isArray(e.keybindings)){let n=NG.get(jM);if(!(n instanceof SG))console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`);else{let i=K.and(t,K.deserialize(e.keybindingContext));r.add(n.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:i}))))}}return r}function lMe(e){return PZ([e])}function PZ(e){let t=NG.get(jM);return t instanceof SG?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:K.deserialize(e.when)}))):(console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),F.None)}function uMe(e,t,n){let r=NG.get(yO),i=r.getLanguageIdByMimeType(t)||t;return DZ(NG.get(uE),r,e,i,n)}function dMe(e,t){let n=NG.get(yO),r=n.getLanguageIdByMimeType(t)||t||`plaintext`;e.setLanguage(n.createById(r))}function fMe(e,t,n){e&&NG.get(uR).changeOne(t,e.uri,n)}function pMe(e){NG.get(uR).changeAll(e,[])}function mMe(e){return NG.get(uR).read(e)}function hMe(e){return NG.get(uR).onMarkerChanged(e)}function gMe(e){return NG.get(uE).getModel(e)}function _Me(){return NG.get(uE).getModels()}function vMe(e){return NG.get(uE).onModelAdded(e)}function yMe(e){return NG.get(uE).onModelRemoved(e)}function bMe(e){return NG.get(uE).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function xMe(e){return jEe(NG.get(uE),e)}function SMe(e,t){let n=NG.get(yO),r=NG.get(zW);return mK.colorizeElement(r,n,e,t).then(()=>{r.registerEditorContainer(e)})}function CMe(e,t,n){let r=NG.get(yO);return NG.get(zW).registerEditorContainer(pS.document.body),mK.colorize(r,e,t,n)}function wMe(e,t,n=4){return NG.get(zW).registerEditorContainer(pS.document.body),mK.colorizeModelLine(e,t,n)}function TMe(e){return _x.get(e)||{getInitialState:()=>fP,tokenize:(t,n,r)=>pP(e,r)}}function EMe(e,t){_x.getOrCreate(t);let n=TMe(t),r=wS(e),i=[],a=n.getInitialState();for(let e=0,t=r.length;e<t;e++){let t=r[e],o=n.tokenize(t,!0,a);i[e]=o.tokens,a=o.endState}return i}function DMe(e,t){NG.get(zW).defineTheme(e,t)}function OMe(e){NG.get(zW).setTheme(e)}function kMe(){aE.clearAllFontInfos()}function AMe(e,t){return bE.registerCommand({id:e,handler:t})}function jMe(e){return NG.get(GM).registerOpener({async open(t){return typeof t==`string`&&(t=Vb.parse(t)),e.open(t)}})}function MMe(e){return NG.get(lE).registerCodeEditorOpenHandler(async(t,n,r)=>{if(!n)return null;let i=t.options?.selection,a;return i&&typeof i.endLineNumber==`number`&&typeof i.endColumn==`number`?a=i:i&&(a={lineNumber:i.startLineNumber,column:i.startColumn}),await e.openCodeEditor(n,t.resource,a)?n:null})}function NMe(){return{create:eMe,getEditors:rMe,getDiffEditors:iMe,onDidCreateEditor:tMe,onDidCreateDiffEditor:nMe,createDiffEditor:aMe,addCommand:sMe,addEditorAction:cMe,addKeybindingRule:lMe,addKeybindingRules:PZ,createModel:uMe,setModelLanguage:dMe,setModelMarkers:fMe,getModelMarkers:mMe,removeAllMarkers:pMe,onDidChangeMarkers:hMe,getModels:_Me,getModel:gMe,onDidCreateModel:vMe,onWillDisposeModel:yMe,onDidChangeModelLanguage:bMe,createWebWorker:xMe,colorizeElement:SMe,colorize:CMe,colorizeModelLine:wMe,tokenize:EMe,defineTheme:DMe,setTheme:OMe,remeasureFonts:kMe,registerCommand:AMe,registerLinkOpener:jMe,registerEditorOpener:MMe,AccessibilitySupport:bx,ContentWidgetPositionPreference:Ex,CursorChangeReason:Dx,DefaultEndOfLine:Ox,EditorAutoIndentStrategy:Ax,EditorOption:jx,EndOfLinePreference:Mx,EndOfLineSequence:Nx,MinimapPosition:Wx,MinimapSectionHeaderStyle:Gx,MouseTargetType:Kx,OverlayWidgetPositionPreference:Yx,OverviewRulerLane:Xx,GlyphMarginLane:Px,RenderLineNumbersType:$x,RenderMinimap:eS,ScrollbarVisibility:nS,ScrollType:tS,TextEditorCursorBlinkingStyle:cS,TextEditorCursorStyle:lS,TrackedRangeStickiness:uS,WrappingIndent:dS,InjectedTextCursorStops:Lx,PositionAffinity:Qx,ShowLightbulbIconMode:iS,ConfigurationChangedEvent:moe,BareFontInfo:rE,FontInfo:iE,TextModelResolvedOptions:wk,FindMatch:Tk,ApplyUpdateResult:dy,EditorZoom:tE,createMultiFileDiffEditor:oMe,EditorType:PG,EditorOptions:Py}}function PMe(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function FZ(e,t){return typeof e==`boolean`?e:t}function IZ(e,t){return typeof e==`string`?e:t}function FMe(e){let t={};for(let n of e)t[n]=!0;return t}function LZ(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=FMe(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function RZ(e,t,n){t=t.replace(/@@/g,``);let r=0,i;do i=!1,t=t.replace(/@(\w+)/g,function(n,r){i=!0;let a=``;if(typeof e[r]==`string`)a=e[r];else if(e[r]&&e[r]instanceof RegExp)a=e[r].source;else if(e[r]===void 0)throw rK(e,`language definition does not contain attribute '`+r+`', used at: `+t);else throw rK(e,`attribute reference '`+r+`' must be a string, used at: `+t);return eK(a)?``:`(?:`+a+`)`}),r++;while(i&&r<5);t=t.replace(/\x01/g,`@`);let a=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,r=null;return i=>r&&n===i?r:(n=i,r=new RegExp(ZEe(e,t,i),a),r)}return new RegExp(t,a)}function IMe(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r<e.length)return e[r]}return null}function LMe(e,t,n,r){let i=-1,a=n,o=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(i=parseInt(o[3]),o[2]&&(i+=100)),a=o[4]);let s=`~`,c=a;!a||a.length===0?(s=`!=`,c=``):/^\w*$/.test(c)?s=`==`:(o=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(s=o[1],c=o[2]));let l;if((s===`~`||s===`!~`)&&/^(\w|\|)*$/.test(c)){let t=LZ(c.split(`|`),e.ignoreCase);l=function(e){return s===`~`?t(e):!t(e)}}else if(s===`@`||s===`!@`){let n=e[c];if(!n)throw rK(e,`the @ match target '`+c+`' is not defined, in rule: `+t);if(!PMe(function(e){return typeof e==`string`},n))throw rK(e,`the @ match target '`+c+`' must be an array of strings, in rule: `+t);let r=LZ(n,e.ignoreCase);l=function(e){return s===`@`?r(e):!r(e)}}else if(s===`~`||s===`!~`)if(c.indexOf(`$`)<0){let t=RZ(e,`^`+c+`$`,!1);l=function(e){return s===`~`?t.test(e):!t.test(e)}}else l=function(t,n,r,i){return RZ(e,`^`+iK(e,c,n,r,i)+`$`,!1).test(t)};else if(c.indexOf(`$`)<0){let t=tK(e,c);l=function(e){return s===`==`?e===t:e!==t}}else{let t=tK(e,c);l=function(n,r,i,a,o){let c=iK(e,t,r,i,a);return s===`==`?n===c:n!==c}}return i===-1?{name:n,value:r,test:function(e,t,n,r){return l(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){let a=IMe(e,t,n,i);return l(a||``,e,t,n,r)}}}function zZ(e,t,n){if(!n)return{token:``};if(typeof n==`string`)return n;if(n.token||n.token===``){if(typeof n.token!=`string`)throw rK(e,`a 'token' attribute must be of type string, in rule: `+t);{let r={token:n.token};if(n.token.indexOf(`$`)>=0&&(r.tokenSubst=!0),typeof n.bracket==`string`)if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw rK(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t);if(n.next){if(typeof n.next!=`string`)throw rK(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!QEe(e,iK(e,i,``,[],``))))throw rK(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}else if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=zZ(e,t,n[i]);return{group:r}}else if(n.cases){let r=[];for(let i in n.cases)if(n.cases.hasOwnProperty(i)){let a=zZ(e,t,n.cases[i]);i===`@default`||i===`@`||i===``?r.push({test:void 0,value:a,name:i}):i===`@eos`?r.push({test:function(e,t,n,r){return r},value:a,name:i}):r.push(LMe(e,t,i,a))}let i=e.defaultToken;return{test:function(e,t,n,a){for(let i of r)if(!i.test||i.test(e,t,n,a))return i.value;return i}}}else throw rK(e,`an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: `+t)}var RMe=class{constructor(e){this.regex=RegExp(``),this.action={token:``},this.matchOnlyAtLineStart=!1,this.name=``,this.name=e}setRegex(e,t){let n;if(typeof t==`string`)n=t;else if(t instanceof RegExp)n=t.source;else throw rK(e,`rules must start with a match string or regular expression: `+this.name);this.matchOnlyAtLineStart=n.length>0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=RZ(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`,!0)}setAction(e,t){this.action=zZ(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function BZ(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={languageId:e,includeLF:FZ(t.includeLF,!1),noThrow:!1,maxStack:100,start:typeof t.start==`string`?t.start:null,ignoreCase:FZ(t.ignoreCase,!1),unicode:FZ(t.unicode,!1),tokenPostfix:IZ(t.tokenPostfix,`.`+e),defaultToken:IZ(t.defaultToken,`source`),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw rK(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw rK(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new RMe(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3)if(t.setRegex(r,s[0]),s.length>=3)if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw rK(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e);else t.setAction(r,s[1]);else{if(!s.regex)throw rK(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=FZ(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw rK(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw rK(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw rK(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+`
5114
- hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:tK(n,t.open),close:tK(n,t.close)});else throw rK(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function zMe(e){VO.registerLanguage(e)}function BMe(){let e=[];return e=e.concat(VO.getLanguages()),e}function VMe(e){return NG.get(yO).languageIdCodec.encodeLanguageId(e)}function HMe(e,t){return NG.withServices(()=>{let n=NG.get(yO).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function UMe(e,t){return NG.withServices(()=>{let n=NG.get(yO).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function WMe(e,t){if(!NG.get(yO).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return NG.get(qO).register(e,t,100)}var GMe=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return VZ.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new rx(r.tokens,r.endState)}},VZ=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.startIndex;i===0?o=0:o<r&&(o=r),n[i]=new tx(o,a.scopes,t),r=o}return n}static adaptTokenize(t,n,r,i){let a=n.tokenize(r,i),o=e._toClassicTokens(a.tokens,t),s;return s=a.endState.equals(i)?i:a.endState,new nx(o,s)}tokenize(t,n,r){return e.adaptTokenize(this._languageId,this._actual,t,r)}_toBinaryTokens(e,t){let n=e.encodeLanguageId(this._languageId),r=this._standaloneThemeService.getColorTheme().tokenTheme,i=[],a=0,o=0;for(let e=0,s=t.length;e<s;e++){let s=t[e],c=r.match(n,s.scopes)|1024;if(a>0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l<o&&(l=o),i[a++]=l,i[a++]=c,o=l}let s=new Uint32Array(a);for(let e=0;e<a;e++)s[e]=i[e];return s}tokenizeEncoded(e,t,n){let r=this._actual.tokenize(e,n),i=this._toBinaryTokens(this._languageService.languageIdCodec,r.tokens),a;return a=r.endState.equals(n)?n:r.endState,new rx(i,a)}};function KMe(e){return typeof e.getInitialState==`function`}function qMe(e){return`tokenizeEncoded`in e}function HZ(e){return e&&typeof e.then==`function`}function JMe(e){let t=NG.get(zW);if(e){let n=[null];for(let t=1,r=e.length;t<r;t++)n[t]=X.fromHex(e[t]);t.setColorMapOverride(n)}else t.setColorMapOverride(null)}function UZ(e,t){return qMe(t)?new GMe(e,t):new VZ(e,t,NG.get(yO),NG.get(zW))}function WZ(e,t){let n=new sce(async()=>{let n=await Promise.resolve(t.create());return n?KMe(n)?UZ(e,n):new pK(NG.get(yO),NG.get(zW),e,BZ(e,n),NG.get(mO)):null});return _x.registerFactory(e,n)}function YMe(e,t){if(!NG.get(yO).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return HZ(t)?WZ(e,{create:()=>t}):_x.register(e,UZ(e,t))}function XMe(e,t){return HZ(t)?WZ(e,{create:()=>t}):_x.register(e,(t=>new pK(NG.get(yO),NG.get(zW),e,BZ(e,t),NG.get(mO)))(t))}function ZMe(e,t){return NG.get(CA).referenceProvider.register(e,t)}function QMe(e,t){return NG.get(CA).renameProvider.register(e,t)}function $Me(e,t){return NG.get(CA).newSymbolNamesProvider.register(e,t)}function eNe(e,t){return NG.get(CA).signatureHelpProvider.register(e,t)}function tNe(e,t){return NG.get(CA).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new z(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new z(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function nNe(e,t){return NG.get(CA).documentSymbolProvider.register(e,t)}function rNe(e,t){return NG.get(CA).documentHighlightProvider.register(e,t)}function iNe(e,t){return NG.get(CA).linkedEditingRangeProvider.register(e,t)}function aNe(e,t){return NG.get(CA).definitionProvider.register(e,t)}function oNe(e,t){return NG.get(CA).implementationProvider.register(e,t)}function sNe(e,t){return NG.get(CA).typeDefinitionProvider.register(e,t)}function cNe(e,t){return NG.get(CA).codeLensProvider.register(e,t)}function lNe(e,t,n){return NG.get(CA).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=NG.get(uR).read({resource:e.uri}).filter(e=>z.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function uNe(e,t){return NG.get(CA).documentFormattingEditProvider.register(e,t)}function dNe(e,t){return NG.get(CA).documentRangeFormattingEditProvider.register(e,t)}function fNe(e,t){return NG.get(CA).onTypeFormattingEditProvider.register(e,t)}function pNe(e,t){return NG.get(CA).linkProvider.register(e,t)}function mNe(e,t){return NG.get(CA).completionProvider.register(e,t)}function hNe(e,t){return NG.get(CA).colorProvider.register(e,t)}function gNe(e,t){return NG.get(CA).foldingRangeProvider.register(e,t)}function _Ne(e,t){return NG.get(CA).declarationProvider.register(e,t)}function vNe(e,t){return NG.get(CA).selectionRangeProvider.register(e,t)}function yNe(e,t){return NG.get(CA).documentSemanticTokensProvider.register(e,t)}function bNe(e,t){return NG.get(CA).documentRangeSemanticTokensProvider.register(e,t)}function xNe(e,t){return NG.get(CA).inlineCompletionsProvider.register(e,t)}function SNe(e,t){return NG.get(CA).inlineEditProvider.register(e,t)}function CNe(e,t){return NG.get(CA).inlayHintsProvider.register(e,t)}function wNe(){return{register:zMe,getLanguages:BMe,onLanguage:HMe,onLanguageEncountered:UMe,getEncodedLanguageId:VMe,setLanguageConfiguration:WMe,setColorMap:JMe,registerTokensProviderFactory:WZ,setTokensProvider:YMe,setMonarchTokensProvider:XMe,registerReferenceProvider:ZMe,registerRenameProvider:QMe,registerNewSymbolNameProvider:$Me,registerCompletionItemProvider:mNe,registerSignatureHelpProvider:eNe,registerHoverProvider:tNe,registerDocumentSymbolProvider:nNe,registerDocumentHighlightProvider:rNe,registerLinkedEditingRangeProvider:iNe,registerDefinitionProvider:aNe,registerImplementationProvider:oNe,registerTypeDefinitionProvider:sNe,registerCodeLensProvider:cNe,registerCodeActionProvider:lNe,registerDocumentFormattingEditProvider:uNe,registerDocumentRangeFormattingEditProvider:dNe,registerOnTypeFormattingEditProvider:fNe,registerLinkProvider:pNe,registerColorProvider:hNe,registerFoldingRangeProvider:gNe,registerDeclarationProvider:_Ne,registerSelectionRangeProvider:vNe,registerDocumentSemanticTokensProvider:yNe,registerDocumentRangeSemanticTokensProvider:bNe,registerInlineCompletionsProvider:xNe,registerInlineEditProvider:SNe,registerInlayHintsProvider:CNe,DocumentHighlightKind:kx,CompletionItemKind:Cx,CompletionItemTag:wx,CompletionItemInsertTextRule:Sx,SymbolKind:oS,SymbolTag:sS,IndentAction:Ix,CompletionTriggerKind:Tx,SignatureHelpTriggerKind:aS,InlayHintKind:Rx,InlineCompletionTriggerKind:zx,InlineEditTriggerKind:Bx,CodeActionTriggerType:xx,NewSymbolNameTag:qx,NewSymbolNameTriggerKind:Jx,PartialAcceptTriggerKind:Zx,HoverVerbosityAction:Fx,FoldingRangeKind:fx,SelectedSuggestionInfo:sx}}var GZ=cE(`IEditorCancelService`),KZ=new q(`cancellableOperation`,!1,M(`cancellableOperation`,`Whether the editor runs a cancellable operation, e.g. like 'Peek References'`));SO(GZ,class{constructor(){this._tokens=new WeakMap}add(e,t){let n=this._tokens.get(e);n||(n=e.invokeWithinContext(e=>({key:KZ.bindTo(e.get(UE)),tokens:new ay})),this._tokens.set(e,n));let r;return n.key.set(!0),r=n.tokens.push(t),()=>{r&&=(r(),n.key.set(!n.tokens.isEmpty()),void 0)}}cancel(e){let t=this._tokens.get(e);if(!t)return;let n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);var TNe=class extends cb{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(t=>t.get(GZ).add(e,this))}dispose(){this._unregister(),super.dispose()}};J(new class extends xD{constructor(){super({id:`editor.cancelOperation`,kbOpts:{weight:100,primary:9},precondition:KZ})}runEditorCommand(e,t){e.get(GZ).cancel(t)}});var qZ=class e{constructor(e,t){if(this.flags=t,this.flags&1){let t=e.getModel();this.modelVersionId=t?vS(`{0}#{1}`,t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof e))return!1;let n=t;return!(this.modelVersionId!==n.modelVersionId||this.scrollLeft!==n.scrollLeft||this.scrollTop!==n.scrollTop||!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position)||!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))}validate(t){return this._equals(new e(t,this.flags))}},JZ=class extends TNe{constructor(e,t,n,r){super(e,r),this._listener=new P,t&4&&this._listener.add(e.onDidChangeCursorPosition(e=>{(!n||!z.containsPosition(n,e.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(e=>{(!n||!z.containsRange(n,e.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(e=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(e=>this.cancel())),this._listener.add(e.onDidChangeModelContent(e=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}},YZ=class extends cb{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}};function XZ(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===PG.ICodeEditor:!1}function ZZ(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===PG.IDiffEditor:!1}function ENe(e){return!!e&&typeof e==`object`&&typeof e.onDidChangeActiveEditor==`function`}function QZ(e){return XZ(e)?e:ZZ(e)?e.getModifiedEditor():ENe(e)&&XZ(e.activeCodeEditor)?e.activeCodeEditor:null}var $Z=class e{static _handleEolEdits(e,t){let n,r=[];for(let e of t)typeof e.eol==`number`&&(n=e.eol),e.range&&typeof e.text==`string`&&r.push(e);return typeof n==`number`&&e.hasModel()&&e.getModel().pushEOL(n),r}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;let n=e.getModel(),r=n.validateRange(t.range);return n.getFullModelRange().equalsRange(r)}static execute(t,n,r){r&&t.pushUndoStop();let i=WY.capture(t),a=e._handleEolEdits(t,n);a.length===1&&e._isFullModelReplaceEdit(t,a[0])?t.executeEdits(`formatEditsCommand`,a.map(e=>$P.replace(z.lift(e.range),e.text))):t.executeEdits(`formatEditsCommand`,a.map(e=>$P.replaceMove(z.lift(e.range),e.text))),r&&t.pushUndoStop(),i.restoreRelativeVerticalPositionOfCursor(t)}},eQ=class{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e==`string`?e.toLowerCase():e._lower}},DNe=class{constructor(e){if(this._set=new Set,e)for(let t of e)this.add(t)}add(e){this._set.add(eQ.toKey(e))}has(e){return this._set.has(eQ.toKey(e))}};function tQ(e,t,n){let r=[],i=new DNe,a=e.ordered(n);for(let e of a)r.push(e),e.extensionId&&i.add(e.extensionId);let o=t.ordered(n);for(let e of o){if(e.extensionId){if(i.has(e.extensionId))continue;i.add(e.extensionId)}r.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits(t,n,r){return e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),n,r)}})}return r}var nQ=class e{static{this._selectors=new ay}static setFormatterSelector(t){return{dispose:e._selectors.unshift(t)}}static async select(t,n,r,i){if(t.length===0)return;let a=ry.first(e._selectors);if(a)return await a(t,n,r,i)}};async function rQ(e,t,n,r,i,a,o){let s=e.get(sE),{documentRangeFormattingEditProvider:c}=e.get(CA),l=XZ(t)?t.getModel():t,u=c.ordered(l),d=await nQ.select(u,l,r,2);d&&(i.report(d),await s.invokeFunction(ONe,d,t,n,a,o))}async function ONe(e,t,n,r,i,a){let o=e.get(sR),s=e.get(mD),c=e.get(pG),l,u;XZ(n)?(l=n.getModel(),u=new JZ(n,5,void 0,i)):(l=n,u=new YZ(n,i));let d=[],f=0;for(let e of ov(r).sort(z.compareRangesUsingStarts))f>0&&z.areIntersectingOrTouching(d[f-1],e)?d[f-1]=z.fromPositions(d[f-1].getStartPosition(),e.getEndPosition()):f=d.push(e);let p=async e=>{s.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,t.extensionId?.value,e);let n=await t.provideDocumentRangeFormattingEdits(l,e,l.getFormattingOptions(),u.token)||[];return s.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,t.extensionId?.value,n),n},m=(e,t)=>{if(!e.length||!t.length)return!1;let n=e.reduce((e,t)=>z.plusRange(e,t.range),e[0].range);if(!t.some(e=>z.intersectRanges(n,e.range)))return!1;for(let n of e)for(let e of t)if(z.intersectRanges(n.range,e.range))return!0;return!1},h=[],g=[];try{if(typeof t.provideDocumentRangesFormattingEdits==`function`){s.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,t.extensionId?.value,d);let e=await t.provideDocumentRangesFormattingEdits(l,d,l.getFormattingOptions(),u.token)||[];s.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,t.extensionId?.value,e),g.push(e)}else{for(let e of d){if(u.token.isCancellationRequested)return!0;g.push(await p(e))}for(let e=0;e<d.length;++e)for(let t=e+1;t<d.length;++t){if(u.token.isCancellationRequested)return!0;if(m(g[e],g[t])){let n=z.plusRange(d[e],d[t]),r=await p(n);d.splice(t,1),d.splice(e,1),d.push(n),g.splice(t,1),g.splice(e,1),g.push(r),e=0,t=0}}}for(let e of g){if(u.token.isCancellationRequested)return!0;let t=await o.computeMoreMinimalEdits(l.uri,e);t&&h.push(...t)}}finally{u.dispose()}if(h.length===0)return!1;if(XZ(n))$Z.execute(n,h,!0),n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{let[{range:e}]=h,t=new Zb(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);l.pushEditOperations([t],h.map(e=>({text:e.text,range:z.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(z.areIntersectingOrTouching(n,t))return[new Zb(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return c.playSignal(hG.format,{userGesture:a}),!0}async function kNe(e,t,n,r,i,a){let o=e.get(sE),s=e.get(CA),c=XZ(t)?t.getModel():t,l=tQ(s.documentFormattingEditProvider,s.documentRangeFormattingEditProvider,c),u=await nQ.select(l,c,n,1);u&&(r.report(u),await o.invokeFunction(ANe,u,t,n,i,a))}async function ANe(e,t,n,r,i,a){let o=e.get(sR),s=e.get(pG),c,l;XZ(n)?(c=n.getModel(),l=new JZ(n,5,void 0,i)):(c=n,l=new YZ(n,i));let u;try{let e=await t.provideDocumentFormattingEdits(c,c.getFormattingOptions(),l.token);if(u=await o.computeMoreMinimalEdits(c.uri,e),l.token.isCancellationRequested)return!0}finally{l.dispose()}if(!u||u.length===0)return!1;if(XZ(n))$Z.execute(n,u,r!==2),r!==2&&n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{let[{range:e}]=u,t=new Zb(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);c.pushEditOperations([t],u.map(e=>({text:e.text,range:z.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(z.areIntersectingOrTouching(n,t))return[new Zb(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return s.playSignal(hG.format,{userGesture:a}),!0}async function jNe(e,t,n,r,i,a){let o=t.documentRangeFormattingEditProvider.ordered(n);for(let t of o){let o=await Promise.resolve(t.provideDocumentRangeFormattingEdits(n,r,i,a)).catch(Iy);if(Q_(o))return await e.computeMoreMinimalEdits(n.uri,o)}}async function MNe(e,t,n,r,i){let a=tQ(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,n);for(let t of a){let a=await Promise.resolve(t.provideDocumentFormattingEdits(n,r,i)).catch(Iy);if(Q_(a))return await e.computeMoreMinimalEdits(n.uri,a)}}function iQ(e,t,n,r,i,a,o){let s=t.onTypeFormattingEditProvider.ordered(n);return s.length===0||s[0].autoFormatTriggerCharacters.indexOf(i)<0?Promise.resolve(void 0):Promise.resolve(s[0].provideOnTypeFormattingEdits(n,r,i,a,o)).catch(Iy).then(t=>e.computeMoreMinimalEdits(n.uri,t))}bE.registerCommand(`_executeFormatRangeProvider`,async function(e,...t){let[n,r,i]=t;Cv(Vb.isUri(n)),Cv(z.isIRange(r));let a=e.get(dE),o=e.get(sR),s=e.get(CA),c=await a.createModelReference(n);try{return jNe(o,s,c.object.textEditorModel,z.lift(r),i,ob.None)}finally{c.dispose()}}),bE.registerCommand(`_executeFormatDocumentProvider`,async function(e,...t){let[n,r]=t;Cv(Vb.isUri(n));let i=e.get(dE),a=e.get(sR),o=e.get(CA),s=await i.createModelReference(n);try{return MNe(a,o,s.object.textEditorModel,r,ob.None)}finally{s.dispose()}}),bE.registerCommand(`_executeFormatOnTypeProvider`,async function(e,...t){let[n,r,i,a]=t;Cv(Vb.isUri(n)),Cv(R.isIPosition(r)),Cv(typeof i==`string`);let o=e.get(dE),s=e.get(sR),c=e.get(CA),l=await o.createModelReference(n);try{return iQ(s,c,l.object.textEditorModel,R.lift(r),i,a,ob.None)}finally{l.dispose()}});var aQ=s({CancellationTokenSource:()=>sQ,Emitter:()=>cQ,KeyCode:()=>lQ,KeyMod:()=>uQ,MarkerSeverity:()=>hQ,MarkerTag:()=>gQ,Position:()=>dQ,Range:()=>fQ,Selection:()=>pQ,SelectionDirection:()=>mQ,Token:()=>vQ,Uri:()=>_Q,editor:()=>yQ,languages:()=>bQ});Py.wrappingIndent.defaultValue=0,Py.glyphMargin.defaultValue=!1,Py.autoIndent.defaultValue=3,Py.overviewRulerLanes.defaultValue=2,nQ.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var oQ=fS();oQ.editor=NMe(),oQ.languages=wNe();var sQ=oQ.CancellationTokenSource,cQ=oQ.Emitter,lQ=oQ.KeyCode,uQ=oQ.KeyMod,dQ=oQ.Position,fQ=oQ.Range,pQ=oQ.Selection,mQ=oQ.SelectionDirection,hQ=oQ.MarkerSeverity,gQ=oQ.MarkerTag,_Q=oQ.Uri,vQ=oQ.Token,yQ=oQ.editor,bQ=oQ.languages;(globalThis.MonacoEnvironment?.globalAPI||typeof define==`function`&&define.amd)&&(globalThis.monaco=oQ),globalThis.require!==void 0&&typeof globalThis.require.config==`function`&&globalThis.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});var NNe=Object.defineProperty,PNe=Object.getOwnPropertyDescriptor,FNe=Object.getOwnPropertyNames,INe=Object.prototype.hasOwnProperty,xQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of FNe(t))!INe.call(e,i)&&i!==n&&NNe(e,i,{get:()=>t[i],enumerable:!(r=PNe(t,i))||r.enumerable});return e},LNe=(e,t,n)=>(xQ(e,t,`default`),n&&xQ(n,t,`default`)),SQ={};LNe(SQ,aQ);var CQ={},wQ={},RNe=class e{static getOrCreate(t){return wQ[t]||(wQ[t]=new e(t)),wQ[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,CQ[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function TQ(e){let t=e.id;CQ[t]=e,SQ.languages.register(e);let n=RNe.getOrCreate(t);SQ.languages.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),SQ.languages.onLanguageEncountered(t,async()=>{let e=await n.load();SQ.languages.setLanguageConfiguration(t,e.conf)})}TQ({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>PD(()=>import(`./abap-08VXUWAP.js`),[])}),TQ({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>PD(()=>import(`./apex-BWPQTe0t.js`),[])}),TQ({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>PD(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),TQ({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>PD(()=>import(`./bat-i0X4ZdIN.js`),[])}),TQ({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>PD(()=>import(`./bicep-B5-_aFwp.js`),[])}),TQ({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>PD(()=>import(`./cameligo-DMUM7wLl.js`),[])}),TQ({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>PD(()=>import(`./clojure-Cm7r79vr.js`),[])}),TQ({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>PD(()=>import(`./coffee-Ba7i2nA0.js`),[])}),TQ({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>PD(()=>import(`./cpp-C7h46wYY.js`),[])}),TQ({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>PD(()=>import(`./cpp-C7h46wYY.js`),[])}),TQ({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>PD(()=>import(`./csharp-BKxtCVv1.js`),[])}),TQ({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>PD(()=>import(`./csp-bTuwJoIa.js`),[])}),TQ({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>PD(()=>import(`./css-DIMkf-bt.js`),[])}),TQ({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>PD(()=>import(`./cypher-CVaqCwHa.js`),[])}),TQ({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>PD(()=>import(`./dart-onAF5SnQ.js`),[])}),TQ({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>PD(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),TQ({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>PD(()=>import(`./ecl-D05T4iGw.js`),[])}),TQ({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>PD(()=>import(`./elixir-6RTg0lbw.js`),[])}),TQ({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>PD(()=>import(`./flow9-C5_-GSwl.js`),[])}),TQ({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>PD(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),TQ({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagAutoInterpolationDollar),[])}),TQ({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagAngleInterpolationDollar),[])}),TQ({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagBracketInterpolationDollar),[])}),TQ({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagAngleInterpolationBracket),[])}),TQ({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagBracketInterpolationBracket),[])}),TQ({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagAutoInterpolationDollar),[])}),TQ({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-CmlzUOOI.js`).then(e=>e.TagAutoInterpolationBracket),[])}),TQ({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>PD(()=>import(`./go-C-y9NEjX.js`),[])}),TQ({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>PD(()=>import(`./graphql-fmXr3nnJ.js`),[])}),TQ({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>PD(()=>import(`./handlebars-Dlz-T3Pu.js`),[])}),TQ({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>PD(()=>import(`./hcl-CpzslTdj.js`),[])}),TQ({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>PD(()=>import(`./html-B-NfgvUd.js`),[])}),TQ({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>PD(()=>import(`./ini-sBoK_t0W.js`),[])}),TQ({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>PD(()=>import(`./java-BEtHBSE6.js`),[])}),TQ({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>PD(()=>import(`./javascript-COj32tw-.js`),__vite__mapDeps([0,1]))}),TQ({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>PD(()=>import(`./julia-Bri6UV-V.js`),[])}),TQ({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>PD(()=>import(`./kotlin-B0qVs-E9.js`),[])}),TQ({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>PD(()=>import(`./less-B9JPFI3C.js`),[])}),TQ({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>PD(()=>import(`./lexon-CfSJPG6W.js`),[])}),TQ({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>PD(()=>import(`./lua-CsQS60Ue.js`),[])}),TQ({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>PD(()=>import(`./liquid-CGaRZ9Iu.js`),[])}),TQ({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>PD(()=>import(`./m3-D-oSqn_W.js`),[])}),TQ({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>PD(()=>import(`./markdown-Cimd5fb3.js`),[])}),TQ({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>PD(()=>import(`./mdx-L4fRd4xO.js`),[])}),TQ({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>PD(()=>import(`./mips-CIPQ_RoX.js`),[])}),TQ({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>PD(()=>import(`./msdax-DauUninz.js`),[])}),TQ({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>PD(()=>import(`./mysql-SOo6toE5.js`),[])}),TQ({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>PD(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),TQ({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>PD(()=>import(`./pascal-DrH0SRf2.js`),[])}),TQ({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>PD(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),TQ({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>PD(()=>import(`./perl-oz_6vUea.js`),[])}),TQ({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>PD(()=>import(`./pgsql-DTj74zXo.js`),[])}),TQ({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>PD(()=>import(`./php-nr791fC2.js`),[])}),TQ({id:`pla`,extensions:[`.pla`],loader:()=>PD(()=>import(`./pla-CopQ2nXW.js`),[])}),TQ({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>PD(()=>import(`./postiats-43DmfD33.js`),[])}),TQ({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>PD(()=>import(`./powerquery-D3hlyOfw.js`),[])}),TQ({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>PD(()=>import(`./powershell-DmHpPYUd.js`),[])}),TQ({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>PD(()=>import(`./protobuf-C531GsRP.js`),[])}),TQ({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>PD(()=>import(`./pug-Z5eAx3Zn.js`),[])}),TQ({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>PD(()=>import(`./python-Z6FCrHUG.js`),[])}),TQ({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>PD(()=>import(`./qsharp-DkqhCAOL.js`),[])}),TQ({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>PD(()=>import(`./r-BwWrilGY.js`),[])}),TQ({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>PD(()=>import(`./razor-6XSfF-a3.js`),[])}),TQ({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>PD(()=>import(`./redis-ClamHrr6.js`),[])}),TQ({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>PD(()=>import(`./redshift-DT7zqm-g.js`),[])}),TQ({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>PD(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),TQ({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>PD(()=>import(`./ruby-DezsRK8O.js`),[])}),TQ({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>PD(()=>import(`./rust-DdL9SqIa.js`),[])}),TQ({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>PD(()=>import(`./sb-CcwsVR0C.js`),[])}),TQ({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>PD(()=>import(`./scala-DHpiXF5c.js`),[])}),TQ({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>PD(()=>import(`./scheme-BeGwcela.js`),[])}),TQ({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>PD(()=>import(`./scss-gp-XZpBa.js`),[])}),TQ({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>PD(()=>import(`./shell-CC2rA5mh.js`),[])}),TQ({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>PD(()=>import(`./solidity-BEEn4gHE.js`),[])}),TQ({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>PD(()=>import(`./sophia-CRfGWb83.js`),[])}),TQ({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>PD(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),TQ({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>PD(()=>import(`./sql-NEE52Syq.js`),[])}),TQ({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>PD(()=>import(`./st-DbInun42.js`),[])}),TQ({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>PD(()=>import(`./swift-Bxkupp3x.js`),[])}),TQ({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>PD(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),TQ({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>PD(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),TQ({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>PD(()=>import(`./tcl-DISqw1ZD.js`),[])}),TQ({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>PD(()=>import(`./twig-De2hgUGE.js`),[])}),TQ({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>PD(()=>import(`./typescript-BcFln1pD.js`),[])}),TQ({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>PD(()=>import(`./typespec-B8J7ngcE.js`),[])}),TQ({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>PD(()=>import(`./vb-DV3o63ZY.js`),[])}),TQ({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>PD(()=>import(`./wgsl-DpFanUEy.js`),[])}),TQ({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>PD(()=>import(`./xml-DJCue8rm.js`),[])}),TQ({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>PD(()=>import(`./yaml-DiJf3V99.js`),[])});var zNe=Object.defineProperty,BNe=Object.getOwnPropertyDescriptor,VNe=Object.getOwnPropertyNames,HNe=Object.prototype.hasOwnProperty,EQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of VNe(t))!HNe.call(e,i)&&i!==n&&zNe(e,i,{get:()=>t[i],enumerable:!(r=BNe(t,i))||r.enumerable});return e},UNe=(e,t,n)=>(EQ(e,t,`default`),n&&EQ(n,t,`default`)),DQ={};UNe(DQ,aQ);var OQ=class{constructor(e,t,n){this._onDidChange=new DQ.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},kQ={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},AQ={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},jQ=new OQ(`css`,kQ,AQ),MQ=new OQ(`scss`,kQ,AQ),NQ=new OQ(`less`,kQ,AQ);DQ.languages.css={cssDefaults:jQ,lessDefaults:NQ,scssDefaults:MQ};function PQ(){return PD(()=>import(`./cssMode-DM5x3eXD.js`),[])}DQ.languages.onLanguage(`less`,()=>{PQ().then(e=>e.setupMode(NQ))}),DQ.languages.onLanguage(`scss`,()=>{PQ().then(e=>e.setupMode(MQ))}),DQ.languages.onLanguage(`css`,()=>{PQ().then(e=>e.setupMode(jQ))});var WNe=Object.defineProperty,GNe=Object.getOwnPropertyDescriptor,KNe=Object.getOwnPropertyNames,qNe=Object.prototype.hasOwnProperty,FQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of KNe(t))!qNe.call(e,i)&&i!==n&&WNe(e,i,{get:()=>t[i],enumerable:!(r=GNe(t,i))||r.enumerable});return e},JNe=(e,t,n)=>(FQ(e,t,`default`),n&&FQ(n,t,`default`)),IQ={};JNe(IQ,aQ);var YNe=class{constructor(e,t,n){this._onDidChange=new IQ.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},LQ={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function RQ(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===zQ,documentFormattingEdits:e===zQ,documentRangeFormattingEdits:e===zQ}}var zQ=`html`,BQ=`handlebars`,VQ=`razor`,HQ=GQ(zQ,LQ,RQ(zQ)),XNe=HQ.defaults,UQ=GQ(BQ,LQ,RQ(BQ)),ZNe=UQ.defaults,WQ=GQ(VQ,LQ,RQ(VQ)),QNe=WQ.defaults;IQ.languages.html={htmlDefaults:XNe,razorDefaults:QNe,handlebarDefaults:ZNe,htmlLanguageService:HQ,handlebarLanguageService:UQ,razorLanguageService:WQ,registerHTMLLanguageService:GQ};function $Ne(){return PD(()=>import(`./htmlMode-K4hF3BAu.js`),[])}function GQ(e,t=LQ,n=RQ(e)){let r=new YNe(e,t,n),i,a=IQ.languages.onLanguage(e,async()=>{i=(await $Ne()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var ePe=Object.defineProperty,tPe=Object.getOwnPropertyDescriptor,nPe=Object.getOwnPropertyNames,rPe=Object.prototype.hasOwnProperty,KQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of nPe(t))!rPe.call(e,i)&&i!==n&&ePe(e,i,{get:()=>t[i],enumerable:!(r=tPe(t,i))||r.enumerable});return e},iPe=(e,t,n)=>(KQ(e,t,`default`),n&&KQ(n,t,`default`)),qQ={};iPe(qQ,aQ);var JQ=new class{constructor(e,t,n){this._onDidChange=new qQ.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),aPe=()=>YQ().then(e=>e.getWorker());qQ.languages.json={jsonDefaults:JQ,getWorker:aPe};function YQ(){return PD(()=>import(`./jsonMode-DyL12Tvg.js`),[])}qQ.languages.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),qQ.languages.onLanguage(`json`,()=>{YQ().then(e=>e.setupMode(JQ))});var oPe=Object.defineProperty,sPe=Object.getOwnPropertyDescriptor,cPe=Object.getOwnPropertyNames,lPe=Object.prototype.hasOwnProperty,XQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of cPe(t))!lPe.call(e,i)&&i!==n&&oPe(e,i,{get:()=>t[i],enumerable:!(r=sPe(t,i))||r.enumerable});return e},uPe=(e,t,n)=>(XQ(e,t,`default`),n&&XQ(n,t,`default`)),dPe=`5.4.5`,ZQ={};uPe(ZQ,aQ);var QQ=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(QQ||{}),$Q=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))($Q||{}),e$=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(e$||{}),t$=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(t$||{}),n$=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(n$||{}),r$=class{constructor(e,t,n,r,i){this._onDidChange=new ZQ.Emitter,this._onDidExtraLibsChange=new ZQ.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},fPe=dPe,i$={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},a$=new r$({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},i$),o$=new r$({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},i$),pPe=()=>s$().then(e=>e.getTypeScriptWorker()),mPe=()=>s$().then(e=>e.getJavaScriptWorker());ZQ.languages.typescript={ModuleKind:QQ,JsxEmit:$Q,NewLineKind:e$,ScriptTarget:t$,ModuleResolutionKind:n$,typescriptVersion:fPe,typescriptDefaults:a$,javascriptDefaults:o$,getTypeScriptWorker:pPe,getJavaScriptWorker:mPe};function s$(){return PD(()=>import(`./tsMode-C24rNZgD.js`),[])}ZQ.languages.onLanguage(`typescript`,()=>s$().then(e=>e.setupTypeScript(a$))),ZQ.languages.onLanguage(`javascript`,()=>s$().then(e=>e.setupJavaScript(o$)));var hPe=class extends dD{constructor(){super({id:`diffEditor.toggleCollapseUnchangedRegions`,title:Lv(`toggleCollapseUnchangedRegions`,`Toggle Collapse Unchanged Regions`),icon:V.map,toggled:K.has(`config.diffEditor.hideUnchangedRegions.enabled`),precondition:K.has(`isInDiffEditor`),menu:{when:K.has(`isInDiffEditor`),id:aD.EditorTitle,order:22,group:`navigation`}})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.hideUnchangedRegions.enabled`);n.updateValue(`diffEditor.hideUnchangedRegions.enabled`,r)}},c$=class extends dD{constructor(){super({id:`diffEditor.toggleShowMovedCodeBlocks`,title:Lv(`toggleShowMovedCodeBlocks`,`Toggle Show Moved Code Blocks`),precondition:K.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.experimental.showMoves`);n.updateValue(`diffEditor.experimental.showMoves`,r)}},l$=class extends dD{constructor(){super({id:`diffEditor.toggleUseInlineViewWhenSpaceIsLimited`,title:Lv(`toggleUseInlineViewWhenSpaceIsLimited`,`Toggle Use Inline View When Space Is Limited`),precondition:K.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.useInlineViewWhenSpaceIsLimited`);n.updateValue(`diffEditor.useInlineViewWhenSpaceIsLimited`,r)}},u$=Lv(`diffEditor`,`Diff Editor`),gPe=class extends wD{constructor(){super({id:`diffEditor.switchSide`,title:Lv(`switchSide`,`Switch Side`),icon:V.arrowSwap,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,n){let r=h$(e);if(r instanceof bZ){if(n&&n.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}},_Pe=class extends wD{constructor(){super({id:`diffEditor.exitCompareMove`,title:Lv(`exitCompareMove`,`Exit Compare Move`),icon:V.close,precondition:$.comparingMovedCode,f1:!1,category:u$,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.exitCompareMove()}},vPe=class extends wD{constructor(){super({id:`diffEditor.collapseAllUnchangedRegions`,title:Lv(`collapseAllUnchangedRegions`,`Collapse All Unchanged Regions`),icon:V.fold,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.collapseAllUnchangedRegions()}},yPe=class extends wD{constructor(){super({id:`diffEditor.showAllUnchangedRegions`,title:Lv(`showAllUnchangedRegions`,`Show All Unchanged Regions`),icon:V.unfold,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.showAllUnchangedRegions()}},d$=class extends dD{constructor(){super({id:`diffEditor.revert`,title:Lv(`revert`,`Revert`),f1:!1,category:u$})}run(e,t){let n=bPe(e,t.originalUri,t.modifiedUri);n instanceof bZ&&n.revertRangeMappings(t.mapping.innerChanges??[])}},f$=Lv(`accessibleDiffViewer`,`Accessible Diff Viewer`),p$=class e extends dD{static{this.id=`editor.action.accessibleDiffViewer.next`}constructor(){super({id:e.id,title:Lv(`editor.action.accessibleDiffViewer.next`,`Go to Next Difference`),category:f$,precondition:K.has(`isInDiffEditor`),keybinding:{primary:65,weight:100},f1:!0})}run(e){h$(e)?.accessibleDiffViewerNext()}},m$=class e extends dD{static{this.id=`editor.action.accessibleDiffViewer.prev`}constructor(){super({id:e.id,title:Lv(`editor.action.accessibleDiffViewer.prev`,`Go to Previous Difference`),category:f$,precondition:K.has(`isInDiffEditor`),keybinding:{primary:1089,weight:100},f1:!0})}run(e){h$(e)?.accessibleDiffViewerPrev()}};function bPe(e,t,n){return e.get(lE).listDiffEditors().find(e=>{let r=e.getModifiedEditor(),i=e.getOriginalEditor();return r&&r.getModel()?.uri.toString()===n.toString()&&i&&i.getModel()?.uri.toString()===t.toString()})||null}function h$(e){let t=e.get(lE).listDiffEditors(),n=hT();if(n){for(let e of t)if(xPe(e.getContainerDomNode(),n))return e}return null}function xPe(e,t){let n=t;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}fD(hPe),fD(c$),fD(l$),cD.appendMenuItem(aD.EditorTitle,{command:{id:new l$().desc.id,title:M(`useInlineViewWhenSpaceIsLimited`,`Use Inline View When Space Is Limited`),toggled:K.has(`config.diffEditor.useInlineViewWhenSpaceIsLimited`),precondition:K.has(`isInDiffEditor`)},order:11,group:`1_diff`,when:K.and($.diffEditorRenderSideBySideInlineBreakpointReached,K.has(`isInDiffEditor`))}),cD.appendMenuItem(aD.EditorTitle,{command:{id:new c$().desc.id,title:M(`showMoves`,`Show Moved Code Blocks`),icon:V.move,toggled:kE.create(`config.diffEditor.experimental.showMoves`,!0),precondition:K.has(`isInDiffEditor`)},order:10,group:`1_diff`,when:K.has(`isInDiffEditor`)}),fD(d$);for(let e of[{icon:V.arrowRight,key:$.diffEditorInlineMode.toNegated()},{icon:V.discard,key:$.diffEditorInlineMode}])cD.appendMenuItem(aD.DiffEditorHunkToolbar,{command:{id:new d$().desc.id,title:M(`revertHunk`,`Revert Block`),icon:e.icon},when:K.and($.diffEditorModifiedWritable,e.key),order:5,group:`primary`}),cD.appendMenuItem(aD.DiffEditorSelectionToolbar,{command:{id:new d$().desc.id,title:M(`revertSelection`,`Revert Selection`),icon:e.icon},when:K.and($.diffEditorModifiedWritable,e.key),order:5,group:`primary`});fD(gPe),fD(_Pe),fD(vPe),fD(yPe),cD.appendMenuItem(aD.EditorTitle,{command:{id:p$.id,title:M(`Open Accessible Diff Viewer`,`Open Accessible Diff Viewer`),precondition:K.has(`isInDiffEditor`)},order:10,group:`2_diff`,when:K.and($.accessibleDiffViewerVisible.negate(),K.has(`isInDiffEditor`))}),bE.registerCommandAlias(`editor.action.diffReview.next`,p$.id),fD(p$),bE.registerCommandAlias(`editor.action.diffReview.prev`,m$.id),fD(m$);var SPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},CPe=function(e,t){return function(n,r){t(n,r,e)}},g$,_$=new q(`selectionAnchorSet`,!1),v$=class{static{g$=this}static{this.ID=`editor.contrib.selectionAnchorController`}static get(e){return e.getContribution(g$.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=_$.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Zb.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new HN().appendText(M(`selectionAnchor`,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),kP(M(`anchorSet`,`Anchor set at {0}:{1}`,e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(Zb.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};v$=g$=SPe([CPe(1,UE)],v$);var wPe=class extends SD{constructor(){super({id:`editor.action.setSelectionAnchor`,label:M(`setSelectionAnchor`,`Set Selection Anchor`),alias:`Set Selection Anchor`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:_b(2089,2080),weight:100}})}async run(e,t){v$.get(t)?.setSelectionAnchor()}},TPe=class extends SD{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:M(`goToSelectionAnchor`,`Go to Selection Anchor`),alias:`Go to Selection Anchor`,precondition:_$})}async run(e,t){v$.get(t)?.goToSelectionAnchor()}},EPe=class extends SD{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:M(`selectFromAnchorToCursor`,`Select from Anchor to Cursor`),alias:`Select from Anchor to Cursor`,precondition:_$,kbOpts:{kbExpr:$.editorTextFocus,primary:_b(2089,2089),weight:100}})}async run(e,t){v$.get(t)?.selectFromAnchorToCursor()}},DPe=class extends SD{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:M(`cancelSelectionAnchor`,`Cancel Selection Anchor`),alias:`Cancel Selection Anchor`,precondition:_$,kbOpts:{kbExpr:$.editorTextFocus,primary:9,weight:100}})}async run(e,t){v$.get(t)?.cancelSelectionAnchor()}};DD(v$.ID,v$,4),Y(wPe),Y(TPe),Y(EPe),Y(DPe);var OPe=Q(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,M(`overviewRulerBracketMatchForeground`,`Overview ruler marker color for matching brackets.`)),kPe=class extends SD{constructor(){super({id:`editor.action.jumpToBracket`,label:M(`smartSelect.jumpBracket`,`Go to Bracket`),alias:`Go to Bracket`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:3165,weight:100}})}run(e,t){y$.get(t)?.jumpToBracket()}},APe=class extends SD{constructor(){super({id:`editor.action.selectToBracket`,label:M(`smartSelect.selectToBracket`,`Select to Bracket`),alias:`Select to Bracket`,precondition:void 0,metadata:{description:Lv(`smartSelect.selectToBracketDescription`,`Select the text inside and including the brackets or curly braces`),args:[{name:`args`,schema:{type:`object`,properties:{selectBrackets:{type:`boolean`,default:!0}}}}]}})}run(e,t,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),y$.get(t)?.selectToBracket(r)}},jPe=class extends SD{constructor(){super({id:`editor.action.removeBrackets`,label:M(`smartSelect.removeBrackets`,`Remove Brackets`),alias:`Remove Brackets`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:2561,weight:100}})}run(e,t){y$.get(t)?.removeBrackets(this.id)}},MPe=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},y$=class e extends F{static{this.ID=`editor.contrib.bracketMatchingController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new FC(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new Zb(i.lineNumber,i.column,i.lineNumber,i.column):new Zb(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(z.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new Zb(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=aV.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,overviewRuler:{color:PA(OPe),position:xk.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=aV.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(R.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new MPe(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};DD(y$.ID,y$,1),Y(APe),Y(kPe),Y(jPe),cD.appendMenuItem(aD.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:M({key:`miGoToBracket`,comment:[`&& denotes a mnemonic`]},`Go to &&Bracket`)},order:2});var NPe=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let n=this._selection.startLineNumber,r=this._selection.startColumn,i=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&!(!this._isMovingLeft&&i===e.getLineMaxColumn(n)))if(this._isMovingLeft){let a=new z(n,r-1,n,r),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new z(n,i,n,i),o)}else{let a=new z(n,i,n,i+1),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new z(n,r,n,r),o)}}computeCursorState(e,t){return this._isMovingLeft?new Zb(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Zb(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}},b$=class extends SD{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(let e of r)n.push(new NPe(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},PPe=class extends b${constructor(){super(!0,{id:`editor.action.moveCarretLeftAction`,label:M(`caret.moveLeft`,`Move Selected Text Left`),alias:`Move Selected Text Left`,precondition:$.writable})}},FPe=class extends b${constructor(){super(!1,{id:`editor.action.moveCarretRightAction`,label:M(`caret.moveRight`,`Move Selected Text Right`),alias:`Move Selected Text Right`,precondition:$.writable})}};Y(PPe),Y(FPe),Y(class extends SD{constructor(){super({id:`editor.action.transposeLetters`,label:M(`transposeLetters.label`,`Transpose Letters`),alias:`Transpose Letters`,precondition:$.writable,kbOpts:{kbExpr:$.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],i=t.getSelections();for(let e of i){if(!e.isEmpty())continue;let t=e.startLineNumber,i=e.startColumn,a=n.getLineMaxColumn(t);if(t===1&&(i===1||i===2&&a===2))continue;let o=i===a?e.getPosition():Oq.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),s=Oq.leftPosition(n,o),c=Oq.leftPosition(n,s),l=n.getValueInRange(z.fromPositions(c,s)),u=n.getValueInRange(z.fromPositions(s,o)),d=z.fromPositions(c,o);r.push(new Cq(d,u+l))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}});var x$=(function(){if(typeof crypto==`object`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID.bind(crypto);let e;e=typeof crypto==`object`&&typeof crypto.getRandomValues==`function`?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256);return e};let t=new Uint8Array(16),n=[];for(let e=0;e<256;e++)n.push(e.toString(16).padStart(2,`0`));return function(){e(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=0,i=``;return i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i}})();function S$(e){return{asString:async()=>e,asFile:()=>void 0,value:typeof e==`string`?e:void 0}}function IPe(e,t,n){let r={id:x$(),name:e,uri:t,data:n};return{asString:async()=>``,asFile:()=>r,value:void 0}}var C$=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return ry.some(this,([e,t])=>t.asFile())&&t.push(`files`),E$(w$(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let n=this._entries.get(e);n?n.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let n of t)yield[e,n]}toKey(e){return w$(e)}};function w$(e){return e.toLowerCase()}function T$(e,t){return E$(w$(e),t.map(w$))}function E$(e,t){if(e===`*/*`)return t.length>0;if(t.includes(e))return!0;let n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;let[r,i,a]=n;return a===`*`&&t.some(e=>e.startsWith(i+`/`))}var D$=Object.freeze({create:e=>$_(e.map(e=>e.toString())).join(`\r
5114
+ hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:tK(n,t.open),close:tK(n,t.close)});else throw rK(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function zMe(e){VO.registerLanguage(e)}function BMe(){let e=[];return e=e.concat(VO.getLanguages()),e}function VMe(e){return NG.get(yO).languageIdCodec.encodeLanguageId(e)}function HMe(e,t){return NG.withServices(()=>{let n=NG.get(yO).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function UMe(e,t){return NG.withServices(()=>{let n=NG.get(yO).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function WMe(e,t){if(!NG.get(yO).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return NG.get(qO).register(e,t,100)}var GMe=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return VZ.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new rx(r.tokens,r.endState)}},VZ=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.startIndex;i===0?o=0:o<r&&(o=r),n[i]=new tx(o,a.scopes,t),r=o}return n}static adaptTokenize(t,n,r,i){let a=n.tokenize(r,i),o=e._toClassicTokens(a.tokens,t),s;return s=a.endState.equals(i)?i:a.endState,new nx(o,s)}tokenize(t,n,r){return e.adaptTokenize(this._languageId,this._actual,t,r)}_toBinaryTokens(e,t){let n=e.encodeLanguageId(this._languageId),r=this._standaloneThemeService.getColorTheme().tokenTheme,i=[],a=0,o=0;for(let e=0,s=t.length;e<s;e++){let s=t[e],c=r.match(n,s.scopes)|1024;if(a>0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l<o&&(l=o),i[a++]=l,i[a++]=c,o=l}let s=new Uint32Array(a);for(let e=0;e<a;e++)s[e]=i[e];return s}tokenizeEncoded(e,t,n){let r=this._actual.tokenize(e,n),i=this._toBinaryTokens(this._languageService.languageIdCodec,r.tokens),a;return a=r.endState.equals(n)?n:r.endState,new rx(i,a)}};function KMe(e){return typeof e.getInitialState==`function`}function qMe(e){return`tokenizeEncoded`in e}function HZ(e){return e&&typeof e.then==`function`}function JMe(e){let t=NG.get(zW);if(e){let n=[null];for(let t=1,r=e.length;t<r;t++)n[t]=X.fromHex(e[t]);t.setColorMapOverride(n)}else t.setColorMapOverride(null)}function UZ(e,t){return qMe(t)?new GMe(e,t):new VZ(e,t,NG.get(yO),NG.get(zW))}function WZ(e,t){let n=new sce(async()=>{let n=await Promise.resolve(t.create());return n?KMe(n)?UZ(e,n):new pK(NG.get(yO),NG.get(zW),e,BZ(e,n),NG.get(mO)):null});return _x.registerFactory(e,n)}function YMe(e,t){if(!NG.get(yO).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return HZ(t)?WZ(e,{create:()=>t}):_x.register(e,UZ(e,t))}function XMe(e,t){return HZ(t)?WZ(e,{create:()=>t}):_x.register(e,(t=>new pK(NG.get(yO),NG.get(zW),e,BZ(e,t),NG.get(mO)))(t))}function ZMe(e,t){return NG.get(CA).referenceProvider.register(e,t)}function QMe(e,t){return NG.get(CA).renameProvider.register(e,t)}function $Me(e,t){return NG.get(CA).newSymbolNamesProvider.register(e,t)}function eNe(e,t){return NG.get(CA).signatureHelpProvider.register(e,t)}function tNe(e,t){return NG.get(CA).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new z(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new z(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function nNe(e,t){return NG.get(CA).documentSymbolProvider.register(e,t)}function rNe(e,t){return NG.get(CA).documentHighlightProvider.register(e,t)}function iNe(e,t){return NG.get(CA).linkedEditingRangeProvider.register(e,t)}function aNe(e,t){return NG.get(CA).definitionProvider.register(e,t)}function oNe(e,t){return NG.get(CA).implementationProvider.register(e,t)}function sNe(e,t){return NG.get(CA).typeDefinitionProvider.register(e,t)}function cNe(e,t){return NG.get(CA).codeLensProvider.register(e,t)}function lNe(e,t,n){return NG.get(CA).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=NG.get(uR).read({resource:e.uri}).filter(e=>z.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function uNe(e,t){return NG.get(CA).documentFormattingEditProvider.register(e,t)}function dNe(e,t){return NG.get(CA).documentRangeFormattingEditProvider.register(e,t)}function fNe(e,t){return NG.get(CA).onTypeFormattingEditProvider.register(e,t)}function pNe(e,t){return NG.get(CA).linkProvider.register(e,t)}function mNe(e,t){return NG.get(CA).completionProvider.register(e,t)}function hNe(e,t){return NG.get(CA).colorProvider.register(e,t)}function gNe(e,t){return NG.get(CA).foldingRangeProvider.register(e,t)}function _Ne(e,t){return NG.get(CA).declarationProvider.register(e,t)}function vNe(e,t){return NG.get(CA).selectionRangeProvider.register(e,t)}function yNe(e,t){return NG.get(CA).documentSemanticTokensProvider.register(e,t)}function bNe(e,t){return NG.get(CA).documentRangeSemanticTokensProvider.register(e,t)}function xNe(e,t){return NG.get(CA).inlineCompletionsProvider.register(e,t)}function SNe(e,t){return NG.get(CA).inlineEditProvider.register(e,t)}function CNe(e,t){return NG.get(CA).inlayHintsProvider.register(e,t)}function wNe(){return{register:zMe,getLanguages:BMe,onLanguage:HMe,onLanguageEncountered:UMe,getEncodedLanguageId:VMe,setLanguageConfiguration:WMe,setColorMap:JMe,registerTokensProviderFactory:WZ,setTokensProvider:YMe,setMonarchTokensProvider:XMe,registerReferenceProvider:ZMe,registerRenameProvider:QMe,registerNewSymbolNameProvider:$Me,registerCompletionItemProvider:mNe,registerSignatureHelpProvider:eNe,registerHoverProvider:tNe,registerDocumentSymbolProvider:nNe,registerDocumentHighlightProvider:rNe,registerLinkedEditingRangeProvider:iNe,registerDefinitionProvider:aNe,registerImplementationProvider:oNe,registerTypeDefinitionProvider:sNe,registerCodeLensProvider:cNe,registerCodeActionProvider:lNe,registerDocumentFormattingEditProvider:uNe,registerDocumentRangeFormattingEditProvider:dNe,registerOnTypeFormattingEditProvider:fNe,registerLinkProvider:pNe,registerColorProvider:hNe,registerFoldingRangeProvider:gNe,registerDeclarationProvider:_Ne,registerSelectionRangeProvider:vNe,registerDocumentSemanticTokensProvider:yNe,registerDocumentRangeSemanticTokensProvider:bNe,registerInlineCompletionsProvider:xNe,registerInlineEditProvider:SNe,registerInlayHintsProvider:CNe,DocumentHighlightKind:kx,CompletionItemKind:Cx,CompletionItemTag:wx,CompletionItemInsertTextRule:Sx,SymbolKind:oS,SymbolTag:sS,IndentAction:Ix,CompletionTriggerKind:Tx,SignatureHelpTriggerKind:aS,InlayHintKind:Rx,InlineCompletionTriggerKind:zx,InlineEditTriggerKind:Bx,CodeActionTriggerType:xx,NewSymbolNameTag:qx,NewSymbolNameTriggerKind:Jx,PartialAcceptTriggerKind:Zx,HoverVerbosityAction:Fx,FoldingRangeKind:fx,SelectedSuggestionInfo:sx}}var GZ=cE(`IEditorCancelService`),KZ=new q(`cancellableOperation`,!1,M(`cancellableOperation`,`Whether the editor runs a cancellable operation, e.g. like 'Peek References'`));SO(GZ,class{constructor(){this._tokens=new WeakMap}add(e,t){let n=this._tokens.get(e);n||(n=e.invokeWithinContext(e=>({key:KZ.bindTo(e.get(UE)),tokens:new ay})),this._tokens.set(e,n));let r;return n.key.set(!0),r=n.tokens.push(t),()=>{r&&=(r(),n.key.set(!n.tokens.isEmpty()),void 0)}}cancel(e){let t=this._tokens.get(e);if(!t)return;let n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);var TNe=class extends cb{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(t=>t.get(GZ).add(e,this))}dispose(){this._unregister(),super.dispose()}};J(new class extends xD{constructor(){super({id:`editor.cancelOperation`,kbOpts:{weight:100,primary:9},precondition:KZ})}runEditorCommand(e,t){e.get(GZ).cancel(t)}});var qZ=class e{constructor(e,t){if(this.flags=t,this.flags&1){let t=e.getModel();this.modelVersionId=t?vS(`{0}#{1}`,t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof e))return!1;let n=t;return!(this.modelVersionId!==n.modelVersionId||this.scrollLeft!==n.scrollLeft||this.scrollTop!==n.scrollTop||!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position)||!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))}validate(t){return this._equals(new e(t,this.flags))}},JZ=class extends TNe{constructor(e,t,n,r){super(e,r),this._listener=new P,t&4&&this._listener.add(e.onDidChangeCursorPosition(e=>{(!n||!z.containsPosition(n,e.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(e=>{(!n||!z.containsRange(n,e.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(e=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(e=>this.cancel())),this._listener.add(e.onDidChangeModelContent(e=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}},YZ=class extends cb{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}};function XZ(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===PG.ICodeEditor:!1}function ZZ(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===PG.IDiffEditor:!1}function ENe(e){return!!e&&typeof e==`object`&&typeof e.onDidChangeActiveEditor==`function`}function QZ(e){return XZ(e)?e:ZZ(e)?e.getModifiedEditor():ENe(e)&&XZ(e.activeCodeEditor)?e.activeCodeEditor:null}var $Z=class e{static _handleEolEdits(e,t){let n,r=[];for(let e of t)typeof e.eol==`number`&&(n=e.eol),e.range&&typeof e.text==`string`&&r.push(e);return typeof n==`number`&&e.hasModel()&&e.getModel().pushEOL(n),r}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;let n=e.getModel(),r=n.validateRange(t.range);return n.getFullModelRange().equalsRange(r)}static execute(t,n,r){r&&t.pushUndoStop();let i=WY.capture(t),a=e._handleEolEdits(t,n);a.length===1&&e._isFullModelReplaceEdit(t,a[0])?t.executeEdits(`formatEditsCommand`,a.map(e=>$P.replace(z.lift(e.range),e.text))):t.executeEdits(`formatEditsCommand`,a.map(e=>$P.replaceMove(z.lift(e.range),e.text))),r&&t.pushUndoStop(),i.restoreRelativeVerticalPositionOfCursor(t)}},eQ=class{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e==`string`?e.toLowerCase():e._lower}},DNe=class{constructor(e){if(this._set=new Set,e)for(let t of e)this.add(t)}add(e){this._set.add(eQ.toKey(e))}has(e){return this._set.has(eQ.toKey(e))}};function tQ(e,t,n){let r=[],i=new DNe,a=e.ordered(n);for(let e of a)r.push(e),e.extensionId&&i.add(e.extensionId);let o=t.ordered(n);for(let e of o){if(e.extensionId){if(i.has(e.extensionId))continue;i.add(e.extensionId)}r.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits(t,n,r){return e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),n,r)}})}return r}var nQ=class e{static{this._selectors=new ay}static setFormatterSelector(t){return{dispose:e._selectors.unshift(t)}}static async select(t,n,r,i){if(t.length===0)return;let a=ry.first(e._selectors);if(a)return await a(t,n,r,i)}};async function rQ(e,t,n,r,i,a,o){let s=e.get(sE),{documentRangeFormattingEditProvider:c}=e.get(CA),l=XZ(t)?t.getModel():t,u=c.ordered(l),d=await nQ.select(u,l,r,2);d&&(i.report(d),await s.invokeFunction(ONe,d,t,n,a,o))}async function ONe(e,t,n,r,i,a){let o=e.get(sR),s=e.get(mD),c=e.get(pG),l,u;XZ(n)?(l=n.getModel(),u=new JZ(n,5,void 0,i)):(l=n,u=new YZ(n,i));let d=[],f=0;for(let e of ov(r).sort(z.compareRangesUsingStarts))f>0&&z.areIntersectingOrTouching(d[f-1],e)?d[f-1]=z.fromPositions(d[f-1].getStartPosition(),e.getEndPosition()):f=d.push(e);let p=async e=>{s.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,t.extensionId?.value,e);let n=await t.provideDocumentRangeFormattingEdits(l,e,l.getFormattingOptions(),u.token)||[];return s.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,t.extensionId?.value,n),n},m=(e,t)=>{if(!e.length||!t.length)return!1;let n=e.reduce((e,t)=>z.plusRange(e,t.range),e[0].range);if(!t.some(e=>z.intersectRanges(n,e.range)))return!1;for(let n of e)for(let e of t)if(z.intersectRanges(n.range,e.range))return!0;return!1},h=[],g=[];try{if(typeof t.provideDocumentRangesFormattingEdits==`function`){s.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,t.extensionId?.value,d);let e=await t.provideDocumentRangesFormattingEdits(l,d,l.getFormattingOptions(),u.token)||[];s.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,t.extensionId?.value,e),g.push(e)}else{for(let e of d){if(u.token.isCancellationRequested)return!0;g.push(await p(e))}for(let e=0;e<d.length;++e)for(let t=e+1;t<d.length;++t){if(u.token.isCancellationRequested)return!0;if(m(g[e],g[t])){let n=z.plusRange(d[e],d[t]),r=await p(n);d.splice(t,1),d.splice(e,1),d.push(n),g.splice(t,1),g.splice(e,1),g.push(r),e=0,t=0}}}for(let e of g){if(u.token.isCancellationRequested)return!0;let t=await o.computeMoreMinimalEdits(l.uri,e);t&&h.push(...t)}}finally{u.dispose()}if(h.length===0)return!1;if(XZ(n))$Z.execute(n,h,!0),n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{let[{range:e}]=h,t=new Zb(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);l.pushEditOperations([t],h.map(e=>({text:e.text,range:z.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(z.areIntersectingOrTouching(n,t))return[new Zb(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return c.playSignal(hG.format,{userGesture:a}),!0}async function kNe(e,t,n,r,i,a){let o=e.get(sE),s=e.get(CA),c=XZ(t)?t.getModel():t,l=tQ(s.documentFormattingEditProvider,s.documentRangeFormattingEditProvider,c),u=await nQ.select(l,c,n,1);u&&(r.report(u),await o.invokeFunction(ANe,u,t,n,i,a))}async function ANe(e,t,n,r,i,a){let o=e.get(sR),s=e.get(pG),c,l;XZ(n)?(c=n.getModel(),l=new JZ(n,5,void 0,i)):(c=n,l=new YZ(n,i));let u;try{let e=await t.provideDocumentFormattingEdits(c,c.getFormattingOptions(),l.token);if(u=await o.computeMoreMinimalEdits(c.uri,e),l.token.isCancellationRequested)return!0}finally{l.dispose()}if(!u||u.length===0)return!1;if(XZ(n))$Z.execute(n,u,r!==2),r!==2&&n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{let[{range:e}]=u,t=new Zb(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);c.pushEditOperations([t],u.map(e=>({text:e.text,range:z.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(z.areIntersectingOrTouching(n,t))return[new Zb(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return s.playSignal(hG.format,{userGesture:a}),!0}async function jNe(e,t,n,r,i,a){let o=t.documentRangeFormattingEditProvider.ordered(n);for(let t of o){let o=await Promise.resolve(t.provideDocumentRangeFormattingEdits(n,r,i,a)).catch(Iy);if(Q_(o))return await e.computeMoreMinimalEdits(n.uri,o)}}async function MNe(e,t,n,r,i){let a=tQ(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,n);for(let t of a){let a=await Promise.resolve(t.provideDocumentFormattingEdits(n,r,i)).catch(Iy);if(Q_(a))return await e.computeMoreMinimalEdits(n.uri,a)}}function iQ(e,t,n,r,i,a,o){let s=t.onTypeFormattingEditProvider.ordered(n);return s.length===0||s[0].autoFormatTriggerCharacters.indexOf(i)<0?Promise.resolve(void 0):Promise.resolve(s[0].provideOnTypeFormattingEdits(n,r,i,a,o)).catch(Iy).then(t=>e.computeMoreMinimalEdits(n.uri,t))}bE.registerCommand(`_executeFormatRangeProvider`,async function(e,...t){let[n,r,i]=t;Cv(Vb.isUri(n)),Cv(z.isIRange(r));let a=e.get(dE),o=e.get(sR),s=e.get(CA),c=await a.createModelReference(n);try{return jNe(o,s,c.object.textEditorModel,z.lift(r),i,ob.None)}finally{c.dispose()}}),bE.registerCommand(`_executeFormatDocumentProvider`,async function(e,...t){let[n,r]=t;Cv(Vb.isUri(n));let i=e.get(dE),a=e.get(sR),o=e.get(CA),s=await i.createModelReference(n);try{return MNe(a,o,s.object.textEditorModel,r,ob.None)}finally{s.dispose()}}),bE.registerCommand(`_executeFormatOnTypeProvider`,async function(e,...t){let[n,r,i,a]=t;Cv(Vb.isUri(n)),Cv(R.isIPosition(r)),Cv(typeof i==`string`);let o=e.get(dE),s=e.get(sR),c=e.get(CA),l=await o.createModelReference(n);try{return iQ(s,c,l.object.textEditorModel,R.lift(r),i,a,ob.None)}finally{l.dispose()}});var aQ=s({CancellationTokenSource:()=>sQ,Emitter:()=>cQ,KeyCode:()=>lQ,KeyMod:()=>uQ,MarkerSeverity:()=>hQ,MarkerTag:()=>gQ,Position:()=>dQ,Range:()=>fQ,Selection:()=>pQ,SelectionDirection:()=>mQ,Token:()=>vQ,Uri:()=>_Q,editor:()=>yQ,languages:()=>bQ});Py.wrappingIndent.defaultValue=0,Py.glyphMargin.defaultValue=!1,Py.autoIndent.defaultValue=3,Py.overviewRulerLanes.defaultValue=2,nQ.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var oQ=fS();oQ.editor=NMe(),oQ.languages=wNe();var sQ=oQ.CancellationTokenSource,cQ=oQ.Emitter,lQ=oQ.KeyCode,uQ=oQ.KeyMod,dQ=oQ.Position,fQ=oQ.Range,pQ=oQ.Selection,mQ=oQ.SelectionDirection,hQ=oQ.MarkerSeverity,gQ=oQ.MarkerTag,_Q=oQ.Uri,vQ=oQ.Token,yQ=oQ.editor,bQ=oQ.languages;(globalThis.MonacoEnvironment?.globalAPI||typeof define==`function`&&define.amd)&&(globalThis.monaco=oQ),globalThis.require!==void 0&&typeof globalThis.require.config==`function`&&globalThis.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});var NNe=Object.defineProperty,PNe=Object.getOwnPropertyDescriptor,FNe=Object.getOwnPropertyNames,INe=Object.prototype.hasOwnProperty,xQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of FNe(t))!INe.call(e,i)&&i!==n&&NNe(e,i,{get:()=>t[i],enumerable:!(r=PNe(t,i))||r.enumerable});return e},LNe=(e,t,n)=>(xQ(e,t,`default`),n&&xQ(n,t,`default`)),SQ={};LNe(SQ,aQ);var CQ={},wQ={},RNe=class e{static getOrCreate(t){return wQ[t]||(wQ[t]=new e(t)),wQ[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,CQ[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function TQ(e){let t=e.id;CQ[t]=e,SQ.languages.register(e);let n=RNe.getOrCreate(t);SQ.languages.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),SQ.languages.onLanguageEncountered(t,async()=>{let e=await n.load();SQ.languages.setLanguageConfiguration(t,e.conf)})}TQ({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>PD(()=>import(`./abap-08VXUWAP.js`),[])}),TQ({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>PD(()=>import(`./apex-BWPQTe0t.js`),[])}),TQ({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>PD(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),TQ({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>PD(()=>import(`./bat-i0X4ZdIN.js`),[])}),TQ({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>PD(()=>import(`./bicep-B5-_aFwp.js`),[])}),TQ({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>PD(()=>import(`./cameligo-DMUM7wLl.js`),[])}),TQ({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>PD(()=>import(`./clojure-Cm7r79vr.js`),[])}),TQ({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>PD(()=>import(`./coffee-Ba7i2nA0.js`),[])}),TQ({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>PD(()=>import(`./cpp-C7h46wYY.js`),[])}),TQ({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>PD(()=>import(`./cpp-C7h46wYY.js`),[])}),TQ({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>PD(()=>import(`./csharp-BKxtCVv1.js`),[])}),TQ({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>PD(()=>import(`./csp-bTuwJoIa.js`),[])}),TQ({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>PD(()=>import(`./css-DIMkf-bt.js`),[])}),TQ({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>PD(()=>import(`./cypher-CVaqCwHa.js`),[])}),TQ({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>PD(()=>import(`./dart-onAF5SnQ.js`),[])}),TQ({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>PD(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),TQ({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>PD(()=>import(`./ecl-D05T4iGw.js`),[])}),TQ({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>PD(()=>import(`./elixir-6RTg0lbw.js`),[])}),TQ({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>PD(()=>import(`./flow9-C5_-GSwl.js`),[])}),TQ({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>PD(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),TQ({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagAutoInterpolationDollar),[])}),TQ({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagAngleInterpolationDollar),[])}),TQ({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagBracketInterpolationDollar),[])}),TQ({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagAngleInterpolationBracket),[])}),TQ({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagBracketInterpolationBracket),[])}),TQ({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagAutoInterpolationDollar),[])}),TQ({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>PD(()=>import(`./freemarker2-xnFFfixz.js`).then(e=>e.TagAutoInterpolationBracket),[])}),TQ({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>PD(()=>import(`./go-C-y9NEjX.js`),[])}),TQ({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>PD(()=>import(`./graphql-fmXr3nnJ.js`),[])}),TQ({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>PD(()=>import(`./handlebars-BfGIoIBs.js`),[])}),TQ({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>PD(()=>import(`./hcl-CpzslTdj.js`),[])}),TQ({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>PD(()=>import(`./html-y4kaWpJw.js`),[])}),TQ({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>PD(()=>import(`./ini-sBoK_t0W.js`),[])}),TQ({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>PD(()=>import(`./java-BEtHBSE6.js`),[])}),TQ({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>PD(()=>import(`./javascript-DcDNwAaJ.js`),__vite__mapDeps([0,1]))}),TQ({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>PD(()=>import(`./julia-Bri6UV-V.js`),[])}),TQ({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>PD(()=>import(`./kotlin-B0qVs-E9.js`),[])}),TQ({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>PD(()=>import(`./less-B9JPFI3C.js`),[])}),TQ({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>PD(()=>import(`./lexon-CfSJPG6W.js`),[])}),TQ({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>PD(()=>import(`./lua-CsQS60Ue.js`),[])}),TQ({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>PD(()=>import(`./liquid-7c5A-YcM.js`),[])}),TQ({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>PD(()=>import(`./m3-D-oSqn_W.js`),[])}),TQ({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>PD(()=>import(`./markdown-Cimd5fb3.js`),[])}),TQ({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>PD(()=>import(`./mdx-DgVJ1J2a.js`),[])}),TQ({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>PD(()=>import(`./mips-CIPQ_RoX.js`),[])}),TQ({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>PD(()=>import(`./msdax-DauUninz.js`),[])}),TQ({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>PD(()=>import(`./mysql-SOo6toE5.js`),[])}),TQ({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>PD(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),TQ({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>PD(()=>import(`./pascal-DrH0SRf2.js`),[])}),TQ({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>PD(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),TQ({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>PD(()=>import(`./perl-oz_6vUea.js`),[])}),TQ({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>PD(()=>import(`./pgsql-DTj74zXo.js`),[])}),TQ({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>PD(()=>import(`./php-nr791fC2.js`),[])}),TQ({id:`pla`,extensions:[`.pla`],loader:()=>PD(()=>import(`./pla-CopQ2nXW.js`),[])}),TQ({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>PD(()=>import(`./postiats-43DmfD33.js`),[])}),TQ({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>PD(()=>import(`./powerquery-D3hlyOfw.js`),[])}),TQ({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>PD(()=>import(`./powershell-DmHpPYUd.js`),[])}),TQ({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>PD(()=>import(`./protobuf-C531GsRP.js`),[])}),TQ({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>PD(()=>import(`./pug-Z5eAx3Zn.js`),[])}),TQ({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>PD(()=>import(`./python-Ciia0b5V.js`),[])}),TQ({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>PD(()=>import(`./qsharp-DkqhCAOL.js`),[])}),TQ({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>PD(()=>import(`./r-BwWrilGY.js`),[])}),TQ({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>PD(()=>import(`./razor-ByuPxMC9.js`),[])}),TQ({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>PD(()=>import(`./redis-ClamHrr6.js`),[])}),TQ({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>PD(()=>import(`./redshift-DT7zqm-g.js`),[])}),TQ({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>PD(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),TQ({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>PD(()=>import(`./ruby-DezsRK8O.js`),[])}),TQ({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>PD(()=>import(`./rust-DdL9SqIa.js`),[])}),TQ({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>PD(()=>import(`./sb-CcwsVR0C.js`),[])}),TQ({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>PD(()=>import(`./scala-DHpiXF5c.js`),[])}),TQ({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>PD(()=>import(`./scheme-BeGwcela.js`),[])}),TQ({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>PD(()=>import(`./scss-gp-XZpBa.js`),[])}),TQ({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>PD(()=>import(`./shell-CC2rA5mh.js`),[])}),TQ({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>PD(()=>import(`./solidity-BEEn4gHE.js`),[])}),TQ({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>PD(()=>import(`./sophia-CRfGWb83.js`),[])}),TQ({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>PD(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),TQ({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>PD(()=>import(`./sql-NEE52Syq.js`),[])}),TQ({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>PD(()=>import(`./st-DbInun42.js`),[])}),TQ({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>PD(()=>import(`./swift-Bxkupp3x.js`),[])}),TQ({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>PD(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),TQ({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>PD(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),TQ({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>PD(()=>import(`./tcl-DISqw1ZD.js`),[])}),TQ({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>PD(()=>import(`./twig-De2hgUGE.js`),[])}),TQ({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>PD(()=>import(`./typescript-B6FQrPBO.js`),[])}),TQ({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>PD(()=>import(`./typespec-B8J7ngcE.js`),[])}),TQ({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>PD(()=>import(`./vb-DV3o63ZY.js`),[])}),TQ({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>PD(()=>import(`./wgsl-DpFanUEy.js`),[])}),TQ({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>PD(()=>import(`./xml-B6MqXy1A.js`),[])}),TQ({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>PD(()=>import(`./yaml-DhgyueAk.js`),[])});var zNe=Object.defineProperty,BNe=Object.getOwnPropertyDescriptor,VNe=Object.getOwnPropertyNames,HNe=Object.prototype.hasOwnProperty,EQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of VNe(t))!HNe.call(e,i)&&i!==n&&zNe(e,i,{get:()=>t[i],enumerable:!(r=BNe(t,i))||r.enumerable});return e},UNe=(e,t,n)=>(EQ(e,t,`default`),n&&EQ(n,t,`default`)),DQ={};UNe(DQ,aQ);var OQ=class{constructor(e,t,n){this._onDidChange=new DQ.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},kQ={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},AQ={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},jQ=new OQ(`css`,kQ,AQ),MQ=new OQ(`scss`,kQ,AQ),NQ=new OQ(`less`,kQ,AQ);DQ.languages.css={cssDefaults:jQ,lessDefaults:NQ,scssDefaults:MQ};function PQ(){return PD(()=>import(`./cssMode-CsrF1RoW.js`),[])}DQ.languages.onLanguage(`less`,()=>{PQ().then(e=>e.setupMode(NQ))}),DQ.languages.onLanguage(`scss`,()=>{PQ().then(e=>e.setupMode(MQ))}),DQ.languages.onLanguage(`css`,()=>{PQ().then(e=>e.setupMode(jQ))});var WNe=Object.defineProperty,GNe=Object.getOwnPropertyDescriptor,KNe=Object.getOwnPropertyNames,qNe=Object.prototype.hasOwnProperty,FQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of KNe(t))!qNe.call(e,i)&&i!==n&&WNe(e,i,{get:()=>t[i],enumerable:!(r=GNe(t,i))||r.enumerable});return e},JNe=(e,t,n)=>(FQ(e,t,`default`),n&&FQ(n,t,`default`)),IQ={};JNe(IQ,aQ);var YNe=class{constructor(e,t,n){this._onDidChange=new IQ.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},LQ={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function RQ(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===zQ,documentFormattingEdits:e===zQ,documentRangeFormattingEdits:e===zQ}}var zQ=`html`,BQ=`handlebars`,VQ=`razor`,HQ=GQ(zQ,LQ,RQ(zQ)),XNe=HQ.defaults,UQ=GQ(BQ,LQ,RQ(BQ)),ZNe=UQ.defaults,WQ=GQ(VQ,LQ,RQ(VQ)),QNe=WQ.defaults;IQ.languages.html={htmlDefaults:XNe,razorDefaults:QNe,handlebarDefaults:ZNe,htmlLanguageService:HQ,handlebarLanguageService:UQ,razorLanguageService:WQ,registerHTMLLanguageService:GQ};function $Ne(){return PD(()=>import(`./htmlMode-B6r-yNC4.js`),[])}function GQ(e,t=LQ,n=RQ(e)){let r=new YNe(e,t,n),i,a=IQ.languages.onLanguage(e,async()=>{i=(await $Ne()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var ePe=Object.defineProperty,tPe=Object.getOwnPropertyDescriptor,nPe=Object.getOwnPropertyNames,rPe=Object.prototype.hasOwnProperty,KQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of nPe(t))!rPe.call(e,i)&&i!==n&&ePe(e,i,{get:()=>t[i],enumerable:!(r=tPe(t,i))||r.enumerable});return e},iPe=(e,t,n)=>(KQ(e,t,`default`),n&&KQ(n,t,`default`)),qQ={};iPe(qQ,aQ);var JQ=new class{constructor(e,t,n){this._onDidChange=new qQ.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),aPe=()=>YQ().then(e=>e.getWorker());qQ.languages.json={jsonDefaults:JQ,getWorker:aPe};function YQ(){return PD(()=>import(`./jsonMode-CmJrpJMj.js`),[])}qQ.languages.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),qQ.languages.onLanguage(`json`,()=>{YQ().then(e=>e.setupMode(JQ))});var oPe=Object.defineProperty,sPe=Object.getOwnPropertyDescriptor,cPe=Object.getOwnPropertyNames,lPe=Object.prototype.hasOwnProperty,XQ=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of cPe(t))!lPe.call(e,i)&&i!==n&&oPe(e,i,{get:()=>t[i],enumerable:!(r=sPe(t,i))||r.enumerable});return e},uPe=(e,t,n)=>(XQ(e,t,`default`),n&&XQ(n,t,`default`)),dPe=`5.4.5`,ZQ={};uPe(ZQ,aQ);var QQ=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(QQ||{}),$Q=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))($Q||{}),e$=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(e$||{}),t$=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(t$||{}),n$=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(n$||{}),r$=class{constructor(e,t,n,r,i){this._onDidChange=new ZQ.Emitter,this._onDidExtraLibsChange=new ZQ.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},fPe=dPe,i$={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},a$=new r$({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},i$),o$=new r$({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},i$),pPe=()=>s$().then(e=>e.getTypeScriptWorker()),mPe=()=>s$().then(e=>e.getJavaScriptWorker());ZQ.languages.typescript={ModuleKind:QQ,JsxEmit:$Q,NewLineKind:e$,ScriptTarget:t$,ModuleResolutionKind:n$,typescriptVersion:fPe,typescriptDefaults:a$,javascriptDefaults:o$,getTypeScriptWorker:pPe,getJavaScriptWorker:mPe};function s$(){return PD(()=>import(`./tsMode-CTxJzYWp.js`),[])}ZQ.languages.onLanguage(`typescript`,()=>s$().then(e=>e.setupTypeScript(a$))),ZQ.languages.onLanguage(`javascript`,()=>s$().then(e=>e.setupJavaScript(o$)));var hPe=class extends dD{constructor(){super({id:`diffEditor.toggleCollapseUnchangedRegions`,title:Lv(`toggleCollapseUnchangedRegions`,`Toggle Collapse Unchanged Regions`),icon:V.map,toggled:K.has(`config.diffEditor.hideUnchangedRegions.enabled`),precondition:K.has(`isInDiffEditor`),menu:{when:K.has(`isInDiffEditor`),id:aD.EditorTitle,order:22,group:`navigation`}})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.hideUnchangedRegions.enabled`);n.updateValue(`diffEditor.hideUnchangedRegions.enabled`,r)}},c$=class extends dD{constructor(){super({id:`diffEditor.toggleShowMovedCodeBlocks`,title:Lv(`toggleShowMovedCodeBlocks`,`Toggle Show Moved Code Blocks`),precondition:K.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.experimental.showMoves`);n.updateValue(`diffEditor.experimental.showMoves`,r)}},l$=class extends dD{constructor(){super({id:`diffEditor.toggleUseInlineViewWhenSpaceIsLimited`,title:Lv(`toggleUseInlineViewWhenSpaceIsLimited`,`Toggle Use Inline View When Space Is Limited`),precondition:K.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(mO),r=!n.getValue(`diffEditor.useInlineViewWhenSpaceIsLimited`);n.updateValue(`diffEditor.useInlineViewWhenSpaceIsLimited`,r)}},u$=Lv(`diffEditor`,`Diff Editor`),gPe=class extends wD{constructor(){super({id:`diffEditor.switchSide`,title:Lv(`switchSide`,`Switch Side`),icon:V.arrowSwap,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,n){let r=h$(e);if(r instanceof bZ){if(n&&n.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}},_Pe=class extends wD{constructor(){super({id:`diffEditor.exitCompareMove`,title:Lv(`exitCompareMove`,`Exit Compare Move`),icon:V.close,precondition:$.comparingMovedCode,f1:!1,category:u$,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.exitCompareMove()}},vPe=class extends wD{constructor(){super({id:`diffEditor.collapseAllUnchangedRegions`,title:Lv(`collapseAllUnchangedRegions`,`Collapse All Unchanged Regions`),icon:V.fold,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.collapseAllUnchangedRegions()}},yPe=class extends wD{constructor(){super({id:`diffEditor.showAllUnchangedRegions`,title:Lv(`showAllUnchangedRegions`,`Show All Unchanged Regions`),icon:V.unfold,precondition:K.has(`isInDiffEditor`),f1:!0,category:u$})}runEditorCommand(e,t,...n){let r=h$(e);r instanceof bZ&&r.showAllUnchangedRegions()}},d$=class extends dD{constructor(){super({id:`diffEditor.revert`,title:Lv(`revert`,`Revert`),f1:!1,category:u$})}run(e,t){let n=bPe(e,t.originalUri,t.modifiedUri);n instanceof bZ&&n.revertRangeMappings(t.mapping.innerChanges??[])}},f$=Lv(`accessibleDiffViewer`,`Accessible Diff Viewer`),p$=class e extends dD{static{this.id=`editor.action.accessibleDiffViewer.next`}constructor(){super({id:e.id,title:Lv(`editor.action.accessibleDiffViewer.next`,`Go to Next Difference`),category:f$,precondition:K.has(`isInDiffEditor`),keybinding:{primary:65,weight:100},f1:!0})}run(e){h$(e)?.accessibleDiffViewerNext()}},m$=class e extends dD{static{this.id=`editor.action.accessibleDiffViewer.prev`}constructor(){super({id:e.id,title:Lv(`editor.action.accessibleDiffViewer.prev`,`Go to Previous Difference`),category:f$,precondition:K.has(`isInDiffEditor`),keybinding:{primary:1089,weight:100},f1:!0})}run(e){h$(e)?.accessibleDiffViewerPrev()}};function bPe(e,t,n){return e.get(lE).listDiffEditors().find(e=>{let r=e.getModifiedEditor(),i=e.getOriginalEditor();return r&&r.getModel()?.uri.toString()===n.toString()&&i&&i.getModel()?.uri.toString()===t.toString()})||null}function h$(e){let t=e.get(lE).listDiffEditors(),n=hT();if(n){for(let e of t)if(xPe(e.getContainerDomNode(),n))return e}return null}function xPe(e,t){let n=t;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}fD(hPe),fD(c$),fD(l$),cD.appendMenuItem(aD.EditorTitle,{command:{id:new l$().desc.id,title:M(`useInlineViewWhenSpaceIsLimited`,`Use Inline View When Space Is Limited`),toggled:K.has(`config.diffEditor.useInlineViewWhenSpaceIsLimited`),precondition:K.has(`isInDiffEditor`)},order:11,group:`1_diff`,when:K.and($.diffEditorRenderSideBySideInlineBreakpointReached,K.has(`isInDiffEditor`))}),cD.appendMenuItem(aD.EditorTitle,{command:{id:new c$().desc.id,title:M(`showMoves`,`Show Moved Code Blocks`),icon:V.move,toggled:kE.create(`config.diffEditor.experimental.showMoves`,!0),precondition:K.has(`isInDiffEditor`)},order:10,group:`1_diff`,when:K.has(`isInDiffEditor`)}),fD(d$);for(let e of[{icon:V.arrowRight,key:$.diffEditorInlineMode.toNegated()},{icon:V.discard,key:$.diffEditorInlineMode}])cD.appendMenuItem(aD.DiffEditorHunkToolbar,{command:{id:new d$().desc.id,title:M(`revertHunk`,`Revert Block`),icon:e.icon},when:K.and($.diffEditorModifiedWritable,e.key),order:5,group:`primary`}),cD.appendMenuItem(aD.DiffEditorSelectionToolbar,{command:{id:new d$().desc.id,title:M(`revertSelection`,`Revert Selection`),icon:e.icon},when:K.and($.diffEditorModifiedWritable,e.key),order:5,group:`primary`});fD(gPe),fD(_Pe),fD(vPe),fD(yPe),cD.appendMenuItem(aD.EditorTitle,{command:{id:p$.id,title:M(`Open Accessible Diff Viewer`,`Open Accessible Diff Viewer`),precondition:K.has(`isInDiffEditor`)},order:10,group:`2_diff`,when:K.and($.accessibleDiffViewerVisible.negate(),K.has(`isInDiffEditor`))}),bE.registerCommandAlias(`editor.action.diffReview.next`,p$.id),fD(p$),bE.registerCommandAlias(`editor.action.diffReview.prev`,m$.id),fD(m$);var SPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},CPe=function(e,t){return function(n,r){t(n,r,e)}},g$,_$=new q(`selectionAnchorSet`,!1),v$=class{static{g$=this}static{this.ID=`editor.contrib.selectionAnchorController`}static get(e){return e.getContribution(g$.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=_$.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Zb.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new HN().appendText(M(`selectionAnchor`,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),kP(M(`anchorSet`,`Anchor set at {0}:{1}`,e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(Zb.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};v$=g$=SPe([CPe(1,UE)],v$);var wPe=class extends SD{constructor(){super({id:`editor.action.setSelectionAnchor`,label:M(`setSelectionAnchor`,`Set Selection Anchor`),alias:`Set Selection Anchor`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:_b(2089,2080),weight:100}})}async run(e,t){v$.get(t)?.setSelectionAnchor()}},TPe=class extends SD{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:M(`goToSelectionAnchor`,`Go to Selection Anchor`),alias:`Go to Selection Anchor`,precondition:_$})}async run(e,t){v$.get(t)?.goToSelectionAnchor()}},EPe=class extends SD{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:M(`selectFromAnchorToCursor`,`Select from Anchor to Cursor`),alias:`Select from Anchor to Cursor`,precondition:_$,kbOpts:{kbExpr:$.editorTextFocus,primary:_b(2089,2089),weight:100}})}async run(e,t){v$.get(t)?.selectFromAnchorToCursor()}},DPe=class extends SD{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:M(`cancelSelectionAnchor`,`Cancel Selection Anchor`),alias:`Cancel Selection Anchor`,precondition:_$,kbOpts:{kbExpr:$.editorTextFocus,primary:9,weight:100}})}async run(e,t){v$.get(t)?.cancelSelectionAnchor()}};DD(v$.ID,v$,4),Y(wPe),Y(TPe),Y(EPe),Y(DPe);var OPe=Q(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,M(`overviewRulerBracketMatchForeground`,`Overview ruler marker color for matching brackets.`)),kPe=class extends SD{constructor(){super({id:`editor.action.jumpToBracket`,label:M(`smartSelect.jumpBracket`,`Go to Bracket`),alias:`Go to Bracket`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:3165,weight:100}})}run(e,t){y$.get(t)?.jumpToBracket()}},APe=class extends SD{constructor(){super({id:`editor.action.selectToBracket`,label:M(`smartSelect.selectToBracket`,`Select to Bracket`),alias:`Select to Bracket`,precondition:void 0,metadata:{description:Lv(`smartSelect.selectToBracketDescription`,`Select the text inside and including the brackets or curly braces`),args:[{name:`args`,schema:{type:`object`,properties:{selectBrackets:{type:`boolean`,default:!0}}}}]}})}run(e,t,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),y$.get(t)?.selectToBracket(r)}},jPe=class extends SD{constructor(){super({id:`editor.action.removeBrackets`,label:M(`smartSelect.removeBrackets`,`Remove Brackets`),alias:`Remove Brackets`,precondition:void 0,kbOpts:{kbExpr:$.editorTextFocus,primary:2561,weight:100}})}run(e,t){y$.get(t)?.removeBrackets(this.id)}},MPe=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},y$=class e extends F{static{this.ID=`editor.contrib.bracketMatchingController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new FC(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new Zb(i.lineNumber,i.column,i.lineNumber,i.column):new Zb(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(z.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new Zb(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=aV.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,overviewRuler:{color:PA(OPe),position:xk.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=aV.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(R.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new MPe(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};DD(y$.ID,y$,1),Y(APe),Y(kPe),Y(jPe),cD.appendMenuItem(aD.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:M({key:`miGoToBracket`,comment:[`&& denotes a mnemonic`]},`Go to &&Bracket`)},order:2});var NPe=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let n=this._selection.startLineNumber,r=this._selection.startColumn,i=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&!(!this._isMovingLeft&&i===e.getLineMaxColumn(n)))if(this._isMovingLeft){let a=new z(n,r-1,n,r),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new z(n,i,n,i),o)}else{let a=new z(n,i,n,i+1),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new z(n,r,n,r),o)}}computeCursorState(e,t){return this._isMovingLeft?new Zb(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Zb(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}},b$=class extends SD{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(let e of r)n.push(new NPe(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},PPe=class extends b${constructor(){super(!0,{id:`editor.action.moveCarretLeftAction`,label:M(`caret.moveLeft`,`Move Selected Text Left`),alias:`Move Selected Text Left`,precondition:$.writable})}},FPe=class extends b${constructor(){super(!1,{id:`editor.action.moveCarretRightAction`,label:M(`caret.moveRight`,`Move Selected Text Right`),alias:`Move Selected Text Right`,precondition:$.writable})}};Y(PPe),Y(FPe),Y(class extends SD{constructor(){super({id:`editor.action.transposeLetters`,label:M(`transposeLetters.label`,`Transpose Letters`),alias:`Transpose Letters`,precondition:$.writable,kbOpts:{kbExpr:$.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],i=t.getSelections();for(let e of i){if(!e.isEmpty())continue;let t=e.startLineNumber,i=e.startColumn,a=n.getLineMaxColumn(t);if(t===1&&(i===1||i===2&&a===2))continue;let o=i===a?e.getPosition():Oq.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),s=Oq.leftPosition(n,o),c=Oq.leftPosition(n,s),l=n.getValueInRange(z.fromPositions(c,s)),u=n.getValueInRange(z.fromPositions(s,o)),d=z.fromPositions(c,o);r.push(new Cq(d,u+l))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}});var x$=(function(){if(typeof crypto==`object`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID.bind(crypto);let e;e=typeof crypto==`object`&&typeof crypto.getRandomValues==`function`?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256);return e};let t=new Uint8Array(16),n=[];for(let e=0;e<256;e++)n.push(e.toString(16).padStart(2,`0`));return function(){e(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=0,i=``;return i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=`-`,i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i+=n[t[r++]],i}})();function S$(e){return{asString:async()=>e,asFile:()=>void 0,value:typeof e==`string`?e:void 0}}function IPe(e,t,n){let r={id:x$(),name:e,uri:t,data:n};return{asString:async()=>``,asFile:()=>r,value:void 0}}var C$=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return ry.some(this,([e,t])=>t.asFile())&&t.push(`files`),E$(w$(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let n=this._entries.get(e);n?n.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let n of t)yield[e,n]}toKey(e){return w$(e)}};function w$(e){return e.toLowerCase()}function T$(e,t){return E$(w$(e),t.map(w$))}function E$(e,t){if(e===`*/*`)return t.length>0;if(t.includes(e))return!0;let n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;let[r,i,a]=n;return a===`*`&&t.some(e=>e.startsWith(i+`/`))}var D$=Object.freeze({create:e=>$_(e.map(e=>e.toString())).join(`\r
5115
5115
  `),split:e=>e.split(`\r
5116
5116
  `),parse:e=>D$.split(e).filter(e=>!e.startsWith(`#`))}),O$=class e{static{this.sep=`.`}static{this.None=new e(`@@none@@`)}static{this.Empty=new e(``)}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}},k$={EDITORS:`CodeEditors`,FILES:`CodeFiles`},LPe=class{};eD.add({DragAndDropContribution:`workbench.contributions.dragAndDrop`}.DragAndDropContribution,new LPe);var RPe=class e{static{this.INSTANCE=new e}constructor(){}static getInstance(){return e.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};function A$(e){let t=new C$;for(let n of e.items){let e=n.type;if(n.kind===`string`){let r=new Promise(e=>n.getAsString(e));t.append(e,S$(r))}else if(n.kind===`file`){let r=n.getAsFile();r&&t.append(e,zPe(r))}}return t}function zPe(e){let t=e.path?Vb.parse(e.path):void 0;return IPe(e.name,t,async()=>new Uint8Array(await e.arrayBuffer()))}var BPe=Object.freeze([k$.EDITORS,k$.FILES,II.RESOURCES,II.INTERNAL_URI_LIST]);function j$(e,t=!1){let n=A$(e),r=n.get(II.INTERNAL_URI_LIST);if(r)n.replace(wO.uriList,r);else if(t||!n.has(wO.uriList)){let t=[];for(let n of e.items){let e=n.getAsFile();if(e){let n=e.path;try{n?t.push(Vb.file(n).toString()):t.push(Vb.parse(e.name,!0).toString())}catch{}}}t.length&&n.replace(wO.uriList,S$(D$.create(t)))}for(let e of BPe)n.delete(e);return n}var M$=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},N$=function(e,t){return function(n,r){t(n,r,e)}},P$=class{async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);if(i)return{edits:[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}],dispose(){}}}},F$=class e extends P${constructor(){super(...arguments),this.kind=e.kind,this.dropMimeTypes=[wO.text],this.pasteMimeTypes=[wO.text]}static{this.id=`text`}static{this.kind=new O$(`text.plain`)}async getEdit(e,t){let n=e.get(wO.text);if(!n||e.has(wO.uriList))return;let r=await n.asString();return{handledMimeType:wO.text,title:M(`text.label`,`Insert Plain Text`),insertText:r,kind:this.kind}}},I$=class extends P${constructor(){super(...arguments),this.kind=new O$(`uri.absolute`),this.dropMimeTypes=[wO.uriList],this.pasteMimeTypes=[wO.uriList]}async getEdit(e,t){let n=await R$(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===Dw.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?M(`defaultDropProvider.uriList.uris`,`Insert Uris`):M(`defaultDropProvider.uriList.uri`,`Insert Uri`):n.length>1?M(`defaultDropProvider.uriList.paths`,`Insert Paths`):M(`defaultDropProvider.uriList.path`,`Insert Path`),{handledMimeType:wO.uriList,insertText:i,title:a,kind:this.kind}}},L$=class extends P${constructor(e){super(),this._workspaceContextService=e,this.kind=new O$(`uri.relative`),this.dropMimeTypes=[wO.uriList],this.pasteMimeTypes=[wO.uriList]}async getEdit(e,t){let n=await R$(e);if(!n.length||t.isCancellationRequested)return;let r=Y_(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?fve(t.uri,e):void 0}));if(r.length)return{handledMimeType:wO.uriList,insertText:r.join(` `),title:n.length>1?M(`defaultDropProvider.uriList.relativePaths`,`Insert Relative Paths`):M(`defaultDropProvider.uriList.relativePath`,`Insert Relative Path`),kind:this.kind}}};L$=M$([N$(0,yF)],L$);var VPe=class{constructor(){this.kind=new O$(`html`),this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:wO.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==cx.PasteAs&&!r.only?.contains(this.kind))return;let a=await n.get(`text/html`)?.asString();if(!(!a||i.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:M(`pasteHtmlLabel`,`Insert HTML`),kind:this.kind}]}}};async function R$(e){let t=e.get(wO.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of D$.parse(n))try{r.push({uri:Vb.parse(e),originalText:e})}catch{}return r}var z$=class extends F{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(`*`,new F$)),this._register(e.documentDropEditProvider.register(`*`,new I$)),this._register(e.documentDropEditProvider.register(`*`,new L$(t)))}};z$=M$([N$(0,CA),N$(1,yF)],z$);var B$=class extends F{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(`*`,new F$)),this._register(e.documentPasteEditProvider.register(`*`,new I$)),this._register(e.documentPasteEditProvider.register(`*`,new L$(t))),this._register(e.documentPasteEditProvider.register(`*`,new VPe))}};B$=M$([N$(0,CA),N$(1,yF)],B$);var HPe=class e{constructor(){this.value=``,this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}},V$=class{constructor(){this._children=[]}appendChild(e){return e instanceof H$&&this._children[this._children.length-1]instanceof H$?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.slice(0);i.splice(r,1,...t),n._children=i,(function e(t,n){for(let r of t)r.parent=n,e(r.children,r)})(t,n)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Y$)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},H$=class e extends V${constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},U$=class extends V${},W$=class e extends U${static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:+(e.index>t.index)}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof G$?this._children[0]:void 0}clone(){let t=new e(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}},G$=class e extends V${constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof H$&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let t=new e;return this.options.forEach(t.appendChild,t),t}},UPe=class e extends V${constructor(){super(...arguments),this.regexp=RegExp(``)}resolve(e){let t=this,n=!1,r=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(e=>e instanceof K$&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof K$){let r=e[n.index]||``;r=n.resolve(r),t+=r}else t+=n.toString();return t}toString(){return``}clone(){let t=new e;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?`i`:``)+(this.regexp.global?`g`:``)),t._children=this.children.map(e=>e.clone()),t}},K$=class e extends V${constructor(e,t,n,r){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=r}resolve(e){return this.shorthandName===`upcase`?e?e.toLocaleUpperCase():``:this.shorthandName===`downcase`?e?e.toLocaleLowerCase():``:this.shorthandName===`capitalize`?e?e[0].toLocaleUpperCase()+e.substr(1):``:this.shorthandName===`pascalcase`?e?this._toPascalCase(e):``:this.shorthandName===`camelcase`?e?this._toCamelCase(e):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toPascalCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[a-z0-9]+/gi);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},q$=class e extends U${constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||``)),t===void 0?!1:(this._children=[new H$(t)],!0)}clone(){let t=new e(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}};function J$(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var Y$=class e extends V${get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof W$&&(e.push(n),t=!t||t.index<n.index?n:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,n=!1;return this.walk(r=>r===e?(n=!0,!1):(t+=r.len(),!0)),n?t:-1}fullLen(e){let t=0;return J$([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof W$&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof q$&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let t=new e;return this._children=this.children.map(e=>e.clone()),t}walk(e){J$(this.children,e)}},X$=class{constructor(){this._scanner=new HPe,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,`\\$&`)}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,n){let r=new Y$;return this.parseFragment(e,r),this.ensureFinalTabstop(r,n??!1,t??!1),r}parseFragment(e,t){let n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let r=new Map,i=[];t.walk(e=>(e instanceof W$&&(e.isFinalTabstop?r.set(0,void 0):!r.has(e.index)&&e.children.length>0?r.set(e.index,e.children):i.push(e)),!0));let a=(e,n)=>{let i=r.get(e.index);if(!i)return;let o=new W$(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof W$&&r.has(t.index)&&!n.has(t.index)&&(n.add(t.index),a(t,n),n.delete(t.index))}t.replace(e,[o])},o=new Set;for(let e of i)a(e,o);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find(e=>e.index===0)||e.appendChild(new W$(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let e=this._scanner.next();if(e.type!==0&&e.type!==4&&e.type!==5)return!1}this._token=this._scanner.next()}let n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,`$1`);return this._token=this._scanner.next(),n}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new H$(t)),!0):!1}_parseTabstopOrVariableName(e){let t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new W$(Number(t)):new q$(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);let r=new W$(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new H$("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new G$;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(t),this._accept(4)))return e.appendChild(r),!0}return this._backTo(n),!1}}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseChoiceElement(e){let t=this._token,n=[];for(;!(this._token.type===2||this._token.type===7);){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return n.length===0?(this._backTo(t),!1):(e.appendChild(new H$(n.join(``))),!0)}_parseComplexVariable(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);let r=new q$(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new H$("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseTransform(e){let t=new UPe,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(6,!0)||e,n+=e;continue}if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new H$(e));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new K$(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new K$(Number(r),n)),!0)}else if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new K$(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new K$(Number(r),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let n=this._until(4);if(n)return e.appendChild(new K$(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new K$(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type===14?!1:(e.appendChild(new H$(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Z$(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new KP(e,{range:t,text:typeof n.insertText==`string`?X$.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function Q$(e){function t(e,t){return`mimeType`in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}let n=new Map;for(let r of e)for(let i of r.yieldTo??[])for(let a of e)if(a!==r&&t(i,a)){let e=n.get(r);e||(e=[],n.set(r,e)),e.push(a)}if(!n.size)return Array.from(e);let r=new Set,i=[];function a(e){if(!e.length)return[];let t=e[0];if(i.includes(t))return console.warn(`Yield to cycle detected`,t),e;if(r.has(t))return a(e.slice(1));let o=[],s=n.get(t);return s&&(i.push(t),o=a(s),i.pop()),r.add(t),[...o,t,...a(e.slice(1))]}return a(Array.from(e))}var WPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GPe=function(e,t){return function(n,r){t(n,r,e)}},KPe=aV.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0}}),qPe=class e extends F{static{this.baseId=`editor.widget.inlineProgressWidget`}constructor(e,t,n,r,i){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=G(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=G(`span.icon`);this.domNode.append(t),t.classList.add(...vE.asClassNameArray(V.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(52)||e.hasChanged(67))&&n()})),this._register(H(this.domNode,U.CLICK,e=>{this.delegate.cancel()}))}getId(){return e.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},$$=class extends F{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new eb),this._currentWidget=this._register(new eb),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,n,r,i){let a=this._operationIdPool++;this._currentOperation=a,this.clear(),this._showPromise.value=jC(()=>{let n=z.fromPositions(e);this._currentDecorations.set([{range:n,options:KPe}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(qPe,this.id,this._editor,n,t,r))},i??this._showDelay);try{return await n}finally{this._currentOperation===a&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};$$=WPe([GPe(2,sE)],$$);var JPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},e1=function(e,t){return function(n,r){t(n,r,e)}},t1,n1=class{static{t1=this}static{this.ID=`editor.contrib.messageController`}static{this.MESSAGE_VISIBLE=new q(`messageVisible`,!1,M(`messageVisible`,`Whether the editor is currently showing an inline message`))}static get(e){return e.getContribution(t1.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new eb,this._messageListeners=new P,this._mouseOverMessage=!1,this._editor=e,this._visible=t1.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){kP(WN(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=WN(e)?nP(e,{actionHandler:{callback:t=>{this.closeMessage(),bP(this._openerService,t,WN(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new r1(this._editor,t,typeof e==`string`?e:this._message.element),this._messageListeners.add(I.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&uT(hT(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(H(this._messageWidget.value.getDomNode(),U.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(H(this._messageWidget.value.getDomNode(),U.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let n;this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new z(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(r1.fadeOut(this._messageWidget.value))}};n1=t1=JPe([e1(1,UE),e1(2,GM)],n1),J(new(xD.bindToContribution(n1.get))({id:`leaveEditorMessage`,precondition:n1.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var r1=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener(`animationend`,t)},n=setTimeout(t,110);return e.getDomNode().addEventListener(`animationend`,t),e.getDomNode().classList.add(`fadeOut`),{dispose:t}}constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement(`div`),this._domNode.classList.add(`monaco-editor-overlaymessage`),this._domNode.style.marginLeft=`-6px`;let i=document.createElement(`div`);i.classList.add(`anchor`,`top`),this._domNode.appendChild(i);let a=document.createElement(`div`);typeof r==`string`?(a.classList.add(`message`),a.textContent=r):(r.classList.add(`message`),a.appendChild(r)),this._domNode.appendChild(a);let o=document.createElement(`div`);o.classList.add(`anchor`,`below`),this._domNode.appendChild(o),this._editor.addContentWidget(this),this._domNode.classList.add(`fadeIn`)}dispose(){this._editor.removeContentWidget(this)}getId(){return`messageoverlay`}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle(`below`,e===2)}};DD(n1.ID,n1,4);function i1(e,t){return t&&(e.stack||e.stacktrace)?M(`stackTrace.format`,`{0}: {1}`,o1(e),a1(e.stack)||a1(e.stacktrace)):o1(e)}function a1(e){return Array.isArray(e)?e.join(`
5117
5117
  `):e}function o1(e){return e.code===`ERR_UNC_HOST_NOT_ALLOWED`?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof e.code==`string`&&typeof e.errno==`number`&&typeof e.syscall==`string`?M(`nodeExceptionMessage`,`A system error occurred ({0})`,e.message):e.message||M(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`)}function s1(e=null,t=!1){if(!e)return M(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=Y_(e),r=s1(n[0],t);return n.length>1?M(`error.moreErrors`,`{0} ({1} errors in total)`,r,n.length):r}if(hv(e))return e;if(e.detail){let n=e.detail;if(n.error)return i1(n.error,t);if(n.exception)return i1(n.exception,t)}return e.stack?i1(e,t):e.message?e.message:M(`error.defaultMessage`,`An unknown error occurred. Please consult the log for more details.`)}var c1=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},l1=function(e,t){return function(n,r){t(n,r,e)}},u1,d1=class extends F{static{u1=this}static{this.baseId=`editor.widget.postEditWidget`}constructor(e,t,n,r,i,a,o,s,c,l){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this._contextMenuService=s,this._keybindingService=l,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register($y(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register($y((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{i.containsPosition(e.position)||this.dispose()})),this._register(I.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){let e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:``)}create(){this.domNode=G(`.post-edit-widget`),this.button=this._register(new NV(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(H(this.domNode,U.CLICK,()=>this.showSelector()))}getId(){return u1.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{let e=aT(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>gE({id:``,label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};d1=u1=c1([l1(7,AM),l1(8,UE),l1(9,jM)],d1);var f1=class extends F{constructor(e,t,n,r,i,a,o){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._instantiationService=i,this._bulkEditService=a,this._notificationService=o,this._currentWidget=this._register(new eb),this._register(I.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){let a=this._editor.getModel();if(!a||!e.length)return;let o=t.allEdits.at(t.activeEditIndex);if(!o)return;let s=async a=>{let o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:a,allEdits:t.allEdits},n,r,i))},c=(r,i)=>{Ry(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l;try{l=await r(o,i)}catch(e){return c(e,M(`resolveError`,`Error resolving edit '{0}':