earthsdk3 3.5.0-beta.2 → 3.5.0-beta.3
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.
- package/dist/earthsdk3.iife.js +4 -4
- package/dist/earthsdk3.js +9 -11
- package/dist/earthsdk3.umd.cjs +4 -4
- package/dist/types/xbsj-base/xr-utils/ComplexImage/FlvProcessing.d.ts +0 -2
- package/dist/types/xbsj-base/xr-utils/ComplexImage/FlvProcessing.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/HlsProcessing.d.ts +0 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/HlsProcessing.d.ts.map +1 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/ImageProcessing.d.ts +0 -1
- package/dist/types/xbsj-base/xr-utils/ComplexImage/ImageProcessing.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/earthsdk3.iife.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,configurable:!0,writable:!0,value:ha}):m[Kr]=ha;var f=(m,Kr,ha)=>cO(m,typeof Kr!="symbol"?Kr+"":Kr,ha);var EarthSDK3=(function(m){"use strict";var dr;function Kr(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const ha=Date.now();function jp(n){const{os:t,arch:e}=Kr(),i={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-ha)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}m.copyright=void 0;try{const n="earthsdk3",t="3.5.0-beta.
|
|
1
|
+
var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,configurable:!0,writable:!0,value:ha}):m[Kr]=ha;var f=(m,Kr,ha)=>cO(m,typeof Kr!="symbol"?Kr+"":Kr,ha);var EarthSDK3=(function(m){"use strict";var dr;function Kr(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const ha=Date.now();function jp(n){const{os:t,arch:e}=Kr(),i={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-ha)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}m.copyright=void 0;try{const n="earthsdk3",t="3.5.0-beta.3",e="2025-09-24T09:02:29.000Z",i="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="48553136b8e2310ce9deb1240b4c062fa51bd454",a=((Date.now()-1758704549e3)/36e5).toFixed(1),l=`%c🌏 ${n}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
2
2
|
%c${r?r+`
|
|
3
3
|
`:""}当前网站正在使用${n},此软件版权归${i}所有
|
|
4
|
-
`;m.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4
|
+
`;m.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","48553136b8e2310ce9deb1240b4c062fa51bd454")},get info(){return l},get date(){return"2025-09-24T09:02:29.000Z"},get author(){return"suplyang"},get version(){return"3.5.0-beta.3"},get name(){return"earthsdk3"},get commitId(){return"48553136b8e2310ce9deb1240b4c062fa51bd454"},print(){console.info(this.info,`
|
|
5
5
|
font-size: 18px;
|
|
6
6
|
font-weight: 1000;
|
|
7
7
|
line-height: 1;
|
|
@@ -18,7 +18,7 @@ var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,co
|
|
|
18
18
|
color: rgb(0, 120, 215);
|
|
19
19
|
padding-bottom: 2px;
|
|
20
20
|
padding-left: 35px;
|
|
21
|
-
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=m.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>jp(m.copyright),6e4),setInterval(()=>jp(m.copyright),864e5)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&m.copyright.print()}catch{console.warn("版本信息有误!")}const Up=new Set;function ca(n,t=n){Up.has(t)||(Up.add(t),console.warn(n))}function Zr(n){const t=bh(n),e=()=>t[0][t[1]],i=s=>{try{t[0][t[1]]=s}catch(o){ca(`setValue error, obj(${t[0].constructor.name}) prop(${t[1]}) error(${o})`)}},r=t[0][t[2]];return[e,i,r]}function Ew(){return!0}function Cw(){throw new Error("throwOnDestroyed")}function Gp(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Cw);n.isDestroyed=Ew}const ad=class ad{constructor(){f(this,"_memId",++ad._lastMemId);f(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(t){return this.disposers.push(t),t}d(t){return this.dispose(t)}disposeVar(t){return this.disposers.push(()=>t.destroy()),t}dv(t){return this.disposeVar(t)}tryDisposeVar(t){return this.disposers.push(()=>t.tryDestroy()),t}tdv(t){return this.tryDisposeVar(t)}autoDispose(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}ad(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const t=this._disposers,e=t.length;for(let i=e-1;i>=0;--i)t[i]();t.length=0,this._disposers=void 0}catch(t){console.error(`destroy get error! ${t}`)}return Gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(ad,"_lastMemId",-1);let V=ad,hd;function qp(n){hd=n}Object.defineProperties(V.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!hd)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new hd)}return this._toDestroyEvent}}});class Eh{constructor(t,e,i=!1){f(this,"_freeElements");f(this,"_usedElementsCount");f(this,"_usedElements");f(this,"_nextCreateID");f(this,"_scratchObjs");this._createDefaultFunc=t,this._destroyFunc=e,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],i&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let t;return this._freeElements.length>0?t=this._freeElements.pop():t=this._createDefaultFunc&&this._createDefaultFunc()||{},t._cid=this._getCreateID(),t}create(){return this._create()}multiCreate(t){this._scratchObjs.length=0;for(let e=0;e<t;++e)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(t){this._destroyFunc&&this._destroyFunc(t),t._cid=void 0}destroy(...t){const e=t.length;for(let i=0;i<e;++i)this._destroy(t[i])}}function Sw(){return{item:void 0,previous:void 0,next:void 0}}function bw(n){n.item=void 0,n.previous=void 0,n.next=void 0}const Wp=new Eh(Sw,bw,!0);function cd(n,t,e){const i=Wp.create();return i.item=n,i.previous=t,i.next=e,i}function Hp(n){if(!n)throw new Error("node is undefined!");Wp.destroy(n)}function dd(n,t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=void 0,n.tail=t.previous):t.next?(t.next.previous=void 0,n.head=t.next):(n.head=void 0,n.tail=void 0),t.next=void 0,t.previous=void 0}class Xp{constructor(t){f(this,"head");f(this,"tail");f(this,"_length");const{needLength:e}=t||{needLength:!0};this.head=void 0,this.tail=void 0,e&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(t){typeof this._length=="number"&&(this._length=t)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let t=this.head;for(;t;)yield t,t=t.next}remove(t){if(!t)throw new Error("node is undefined!");dd(this,t),this._decrementLength(),Hp(t)}getNode(t){let e=this.head;for(;e!==null;){if(!e)throw new Error("current is undefined!");if(e.item===t)return e;e=e.next}}moveAfter(t,e){if(t!==e){dd(this,e);var i=t.next;t.next=e,this.tail===t?this.tail=e:i&&(i.previous=e),e.next=i,e.previous=t}}moveBefore(t,e){if(t!==e){dd(this,e);var i=t.previous;t.previous=e,this.head===t?this.head=e:i&&(i.next=e),e.previous=i,e.next=t}}insertBefore(t,e){const i=cd(e,t.previous,t);return t.previous&&(t.previous.next=i),t.previous=i,this.head===t&&(this.head=i),this._incrementLength(),i}insertAfter(t,e){const i=cd(e,t,t.next);return t.next&&(t.next.previous=i),t.next=i,this.tail===t&&(this.tail=i),this._incrementLength(),i}_setFirstNode(t){if(this.head||this.tail)throw new Error("_setFirstNode error!");const e=cd(t,void 0,void 0);if(this.head=e,this.tail=e,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return e}push(t){return this.tail?this.insertAfter(this.tail,t):this._setFirstNode(t)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const t=this.tail.item;return this.remove(this.tail),t}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const t=this.head.item;return this.remove(this.head),t}unshift(t){return this.head?this.insertBefore(this.head,t):this._setFirstNode(t)}removeAll(){let t=this.head;for(;t;){const e=t.next;Hp(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}function Pw(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function Iw(n){n.func=void 0,n.scope=void 0,n._hasRemoved=!1,n._once=!1}const fo=new Eh(Pw,Iw,!0);class fd{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new Xp({needLength:!0}),this.__dll}_pushCurrentListener(t){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(t):this.__currentListenerStack=[this.__currentListenerStack,t]:this.__currentListenerStack=t}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(t){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(t)!==-1:this.__currentListenerStack===t:!1}do(...t){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const i=e.item;i._hasRemoved||(this._pushCurrentListener(i),i.func.call(i.scope,...t),this._popCurrentListener());const r=e.next;i._once&&!i._hasRemoved&&(this.remove(e),e=void 0),e&&this._clearHasRemoved(e),e=r}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let t=!0,e=this._dll.head;for(;e;){if(!e.item._hasRemoved){t=!1;break}e=e.next}return t}isHandlerValid(t){return!t.item._hasRemoved}nextHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.next;for(;e&&e.item._hasRemoved;)e=e.next;return e}prevHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.previous;for(;e&&e.item._hasRemoved;)e=e.previous;return e}moveAfter(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(t,e)}moveBefore(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(t,e)}insertBefore(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertBefore(t,s)}insertAfter(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertAfter(t,s)}_clearHasRemoved(t){t.item._hasRemoved&&!this._hasCurrentListener(t.item)&&(fo.destroy(t.item),this._dll.remove(t))}remove(t){if(!t.item||t.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(t.item)?t.item._hasRemoved=!0:(fo.destroy(t.item),this._dll.remove(t))}removeAll(){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const e=t.next;t.item._hasRemoved||this.remove(t),t=e}}}destroy(){if(!this.__dll)return;let t=this._dll.head;for(;t;){const e=t.next,i=t;this._hasCurrentListener(i.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${i.item.func.toString()}`)),fo.destroy(i.item),this._dll.remove(i),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.push(r)}pop(){const t=this.tail;if(!t)throw new Error("pop error!");this.remove(t)}shift(){const t=this.head;if(!t)throw new Error("shift error!");this.remove(t)}unshift(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.unshift(r)}get tail(){let t=this._dll.tail;for(;t&&t.item._hasRemoved;)t=t.previous;return t}get head(){let t=this._dll.head;for(;t&&t.item._hasRemoved;)t=t.previous;return t}}class Ql{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new Ql,t._reset(this._listenerHandler,this._cid),t}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const t=this._listenerHandler._cid;if(typeof t<"u"&&this._cid===t)return!0}return!1}}class gd extends Ql{}let I=class extends V{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...e){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...e),!this.isDestroyed()&&this._pipe.do(...e),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...e)}on(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!1):this._pipe.push(e,i,!1);return s=s??new gd,s._reset(o,o._cid),s}disposableOn(e,i,r=!1,s){const o=this.on(e,i,r,s);return()=>{o.valid&&this.off(o)}}don(e,i,r=!1,s){return this.disposableOn(e,i,r,s)}disposableWeakOn(e,i,r=!1,s){const o=new V,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(e,i,r,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(e,i,r=!1,s){return this.disposableWeakOn(e,i,r,s)}once(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!0):this._pipe.push(e,i,!0);return s=s??new gd,s._reset(o,o._cid),s}disposableOnce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}donce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}off(e){if(!e.valid)throw new Error("handler is not valid!");this._pipe.remove(e._listenerHandler),e._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(ca("The event is destroying with listeners!"),this._pipe.removeAll())}};qp(I);function da(n,t){return t=t??new Ql,t._reset(n,n._cid),t}class xw{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...t){return this._pipe.do(...t)}isHandlerValid(t){return t.valid?this._pipe.isHandlerValid(t._listenerHandler):!1}moveAfter(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}moveBefore(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}insertBefore(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(t._listenerHandler,e,i,r);return da(o,s)}insertAfter(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(t._listenerHandler,e,i,r);return da(o,s)}remove(t){if(!t.valid)throw new Error("handler is not valid!");return this._pipe.remove(t._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(t,e,i=!1,r){const s=this._pipe.push(t,e,i);return da(s,r)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(t,e,i=!1,r){const s=this._pipe.unshift(t,e,i);return da(s,r)}getTail(t){const e=this._pipe.tail;if(e)return da(e,t)}getHead(t){const e=this._pipe.head;if(e)return da(e,t)}}class Ue extends V{constructor(e,i,r){super();f(this,"_changed");f(this,"_value");f(this,"_oldValue");f(this,"toChangeFunc");this._equalsFunc=i,this._assignFunc=r,this._value=this._assignFunc&&this._assignFunc(e,void 0)||e}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(e){return this._equalsFunc?this._equalsFunc(this._value,e):this._value===e}set value(e){if(this._equalsFunc?!this._equalsFunc(this._value,e):this._value!==e){if(this.toChangeFunc&&!this.toChangeFunc(e,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(e,this._value)):(this._oldValue=this._value,this._value=e),this._changed&&this._changed.emit(e,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function B(n,t,e){return new Ue(n,t,e)}function ht(n){return new Ue(n,(t,e)=>t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function ee(n){return B(n,(t,e)=>t===void 0||e===void 0?t===void 0&&e===void 0:t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{if(!t)return;const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function Ch(n,t,e){return B(n,(i,r)=>i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function Ts(n,t,e){return B(n,(i,r)=>i===void 0||r===void 0?i===void 0&&r===void 0:i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{if(!i)return;const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function mt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Yt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Mw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Tw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Nw(n){return Ch(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function pd(n){return Ts(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function Ow(n){return Ch(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Dw(n){return Ts(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Sh(n){return pd(n)}function Yp(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function Rw(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function bh(n){const t=n instanceof Ue?[n,"value","changed"]:[...n];return t[2]=t[2]||t[1]+"Changed",t}function md(n,t,e,i=!1){t[2]=t[2]||t[1]+"Changed";const r=()=>{const s=t[0][t[1]];e?n[0][n[1]]=e(s):n[0][n[1]]=s};return r(),i?t[0][t[2]].disposableWeakOn(r):t[0][t[2]].disposableOn(r)}function Aw(n,t,e,i,r=!1){const s=md(n,t,e,r),o=md(t,n,i,r);return()=>(s(),o())}function z(n,t,e,i=!1){const r=n instanceof Ue?[n,"value","changed"]:n,s=t instanceof Ue?[t,"value","changed"]:t;return md(r,s,e,i)}function nt(n,t,e,i,r=!1){const s=bh(n),o=bh(t);return Aw(s,o,e,i,r)}function Lw(n,t,e,i=!1){const[r]=Zr(t);return nt(n,t,s=>s??e,s=>{if(!(s===e&&r()===void 0))return s},i)}function fa(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,e=n==="x"?t:t&3|8;return e.toString(16)})}function Ph(n,t){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let e=0;function i(){e>0&&(window.clearTimeout(e),e=0)}function r(...s){i(),e=window.setTimeout(n,t,...s)}return[r,i]}function vd(n,t,...e){const i=setInterval(n,t,...e);return()=>clearInterval(i)}function yd(n,t,...e){const i=setTimeout(n,t,...e);return()=>clearTimeout(i)}function Ih(n,...t){let e;const i=()=>{const r=performance.now();n(r,...t),e=requestAnimationFrame(i)};return i(),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function ga(n,...t){let e;return e=requestAnimationFrame(()=>{const r=performance.now();n(r,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Kl(n,...t){let e=!1,i;return new Promise((r,s)=>{i=s,r()}).then(()=>{!e&&n(...t)}).catch(r=>{console.error(r)}),()=>(e=!0)&&i&&(i("nextMicroTask cancelled!"),i=void 0)}class xh extends I{constructor(e,i,...r){super();f(this,"_cancellFunc");this._nextFunc=e,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),r.forEach(s=>this.dispose(s[i?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class _d extends xh{constructor(...t){super(Kl,!1,...t)}}function Fw(...n){return new _d(...n)}class kw extends xh{constructor(...t){super(Kl,!0,...t)}}function Bw(...n){return new _d(...n)}class Mh extends xh{constructor(...t){super(ga,!1,...t)}}function Ae(...n){return new Mh(...n)}function Vw(n,t){return new Mh(...n).don(t())}class Jp extends xh{constructor(...t){super(ga,!0,...t)}}function zw(...n){return new Jp(...n)}function go(n,t,e={time:"don",immediate:!1}){const i=new Mh(...Array.isArray(n)?n:[n]),r=i[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{r(),i.destroy()}}function Zl(n){let t;if(typeof n.next=="function")t=n;else if(typeof n[Symbol.iterator]=="function")t=n[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return t}function wd(n,t){let e=!1;const i=Zl(n);let r=-1;for(;;){const{done:s,value:o}=i.next();if(s)break;if(t(o,++r)){e=!0;break}}return e}function Ed(n,t){return!wd(n,(i,r)=>!t(i,r))}function tu(n,t,e,i){const r=n;if(!r[t]){const s=i(),o=Object.fromEntries(Object.entries(s).filter(([a,l])=>{const u=Object.getPrototypeOf(e),h=a in u;if(h){const c=l instanceof Ue?l.value:l;n[a]=c}return!h}).map(([a,l])=>l instanceof Ue?[a,l]:[a,Array.isArray(l)?ee(l):B(l)]));r[t]=o}return r[t]}function ts(n,t){var i;const e=Symbol(`${(i=n==null?void 0:n.constructor)==null?void 0:i.name}-createDefaultProps`);n.constructor.__xbsj_dpSymbol=e,n.constructor.__xbsj_createDefaultProps=t;for(let[r,s]of Object.entries(t()))if(!Reflect.has(n,r)){const o=function(a){var h,c;if(a[e])return;const l=[];let u=Object.getPrototypeOf(a);for(;u;)l.push(u),u=Object.getPrototypeOf(u);l.reverse();for(let d of l){const g=(h=d.constructor)==null?void 0:h.__xbsj_dpSymbol;if(!g)continue;const p=(c=d.constructor)==null?void 0:c.__xbsj_createDefaultProps;p&&tu(a,g,d,p)}};Object.defineProperties(n,{[r]:{get(){return o(this),tu(this,e,n,t)[r].value},set(a){o(this);const l=tu(this,e,n,t)[r];if(!l){console.error("!propObj");debugger}l.value=a}},[`${r}Changed`]:{get(){return o(this),tu(this,e,n,t)[r].changed}},[`${r}React`]:{get(){return o(this),tu(this,e,n,t)[r]}}})}}const eu=new WeakMap;function wr(n,t,e){eu.has(n)||eu.set(n,{});const i=eu.get(n);i[t]=e}function Zn(n,t){return eu.has(n)?eu.get(n)[t]:void 0}function Er(n,t){const e=Zl(n);let i=0;for(;;){const{done:r,value:s}=e.next();if(r)break;t(s,i++)}}function nu(n,t,e){const i=Zl(n);let r=e,s=0;for(;;){const{done:o,value:a}=i.next();if(o)break;r=t(r,a,s++)}return r}const jw=n=>++n;function Cd(n){return nu(n,jw,0)}function es(n){return nu(n,(t,e)=>t>e?t:e,Number.NEGATIVE_INFINITY)}function Ns(n){return nu(n,(t,e)=>t<e?t:e,Number.POSITIVE_INFINITY)}function $p(n,t){let e=n;for(let i of t)e=e[i];return e}function Uw(n,t,e){if(t.length===0)throw new Error("props的数量必须大于0");const i=t.length-1,r=t[i];let s=n;for(let o=0;o<i;++o){const a=t[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[r]=e}function*po(n,t){const e=Zl(n);for(;;){const{done:i,value:r}=e.next();if(i)break;yield $p(r,t)}}class iu extends V{constructor(){super();f(this,"_innerObj");f(this,"_toChangeEvent");f(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(e){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:e}],this);const{length:i}=e;this._innerObj.length=i;for(let r=0;r<i;++r)this._innerObj[r]=e[r];this._changedEvent&&this._changedEvent.emit(this)}splice(e,i,...r){const{length:s}=this._innerObj;e=e>this._innerObj.length?this._innerObj.length:e,e>s?e=s:e<0&&(e+=s,e<0&&(e=0));const o=this._innerObj.length-e;if(i>o?i=o:i<0&&(i=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:this._innerObj.length-e,items:[]}],this);const a=this._innerObj.splice(e);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:[]}],this);const a=this._innerObj.splice(e,i);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:r}],this);const a=this._innerObj.splice(e,i,...r);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const i=this._innerObj.length-1,r=1,s=[];this._toChangeEvent.emit([{start:i,deleteCount:r,items:s}],this)}const e=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),e}push(...e){if(this._toChangeEvent){const r=this._innerObj.length;this._toChangeEvent.emit([{start:r,deleteCount:0,items:e}],this)}const i=this._innerObj.push(...e);return this._changedEvent&&this._changedEvent.emit(this),i}get length(){return this._innerObj.length}set length(e){if(e<0)throw new Error("value < 0");const{length:i}=this._innerObj;if(i!==e){if(this._toChangeEvent){let r,s,o;i>e?(r=e,s=i-e,o=[]):(r=i,s=0,o=new Array(e-i)),this._toChangeEvent.emit([{start:r,deleteCount:s,items:o}],this)}this._innerObj.length=e,this._changedEvent&&this._changedEvent.emit(this)}}get(e){return this._innerObj[e]}set(e,i){const{length:r}=this._innerObj;if(e<0||e>=r)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:1,items:[i]}],this),this._innerObj[e]=i,this._changedEvent&&this._changedEvent.emit(this)}indexOf(e){return this._innerObj.indexOf(e)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function Sd(n,t,...e){let i=n;for(let r of e){if(!i[r])if(t)i[r]={};else return;i=i[r]}return i}function Gw(n,t,e){typeof e>"u"&&(t.endsWith(".gltf")?e="model/gltf+json":t.endsWith(".bin")?e="application/octet-stream":t.endsWith(".glb")?e="model/gltf-binary":t.endsWith(".jpg")||t.endsWith(".jpeg")?e="image/jpeg":t.endsWith(".png")?e="image/png":t.endsWith(".glsl")?e="text/plain":t.endsWith(".json")?e="application/json":t.endsWith(".b3dm")||t.endsWith(".i3dm")||t.endsWith("pnts")||t.endsWith("cmpt")?e="application/octet-stream":console.warn(`save ${t}: MimeType无法确定!`));const i=new Blob([n],{type:e||""});let r=URL.createObjectURL(i);var s=document.createElement("a"),o=new MouseEvent("click");s.download=t,s.href=r,s.dispatchEvent(o),URL.revokeObjectURL(r)}function qw(n,t){const e=document.createElement("a"),i=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(i)}function Ww(){return new Promise((n,t)=>{const e=performance.now();requestAnimationFrame(i=>n(i>e))})}const Th=n=>{let t,e;return e=i=>{i=performance.now(),t=requestAnimationFrame(e),n(i)},t=requestAnimationFrame(e),()=>{cancelAnimationFrame(t)}};function bd(n,t,e=Th){let i=Number.NEGATIVE_INFINITY,r;function s(l){l-i>t&&r&&(n(...r),r=void 0,i=l)}const o=e&&e(s)||void 0;function a(...l){r=l}return[a,o]}const Qp=[];function Kp(n,t,e){if(Qp.includes(n)){console.warn(`_loadJs ${n} has loaded before!`),t&&t();return}var i=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("src",n),r.onload=r.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Qp.push(n),t&&t(),r.onload=r.onreadystatechange=null)},r.onerror=(s,o,a,l,u)=>{e(u)},i.appendChild(r)}function Pd(n,t=!0){if(t){const e=window.L;window.L&&(window.L=void 0);const i=window.define;return window.define&&(window.define=void 0),new Promise((r,s)=>{Kp(n,r,s)}).then(()=>(window.define=i,window.L=e,Promise.resolve()))}else return new Promise((e,i)=>{Kp(n,e,i)})}async function Zp(n,t=""){return new Promise((e,i)=>{var r=new Image;r.crossOrigin=t,r.src=n,r.onload=()=>e(r),r.onerror=s=>i(s)})}class Hw extends V{constructor(t){super(),this._owner=t}get owner(){return this._owner}}function Xw(n,t){if(n.length%3!==0)throw new Error("positions.length % 3 !== 0");const e=n.length/3;function*i(o){for(let a=0;a<e;++a)yield n[a*3+o]}const r=(t==null?void 0:t.min)??[NaN,NaN,NaN],s=(t==null?void 0:t.max)??[NaN,NaN,NaN];return r[0]=Ns(i(0))??NaN,r[1]=Ns(i(1))??NaN,r[2]=Ns(i(2))??NaN,s[0]=es(i(0))??NaN,s[1]=es(i(1))??NaN,s[2]=es(i(2))??NaN,{min:r,max:s}}async function Yw(n,t=fetch){const e=await t(n);return e.ok?await e.arrayBuffer():void 0}function Nh(n,...t){if(n>16)throw new Error("length > 16");const e=new Array(n);for(let i=0;i<n;++i)e[i]=t[i]??0;return e}class Oh{constructor(t,e){this._xyzw=t,this._length=e}set 0(t){this._xyzw.x=t}set 1(t){this._xyzw.y=t}set 2(t){this._xyzw.z=t}set 3(t){this._xyzw.w=t}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function Jw(n){return new Oh(n,2)}function $w(n){return new Oh(n,3)}function Qw(n){return new Oh(n,4)}class Kw{constructor(t,e,i,r){this._array=t,this._length=e,this._start=i,this._stride=r}get length(){return this._length}set 0(t){this._array[this._start+0*this._stride]=t}set 1(t){this._array[this._start+1*this._stride]=t}set 2(t){this._array[this._start+2*this._stride]=t}set 3(t){this._array[this._start+3*this._stride]=t}set 4(t){this._array[this._start+4*this._stride]=t}set 5(t){this._array[this._start+5*this._stride]=t}set 6(t){this._array[this._start+6*this._stride]=t}set 7(t){this._array[this._start+7*this._stride]=t}set 8(t){this._array[this._start+8*this._stride]=t}set 9(t){this._array[this._start+9*this._stride]=t}set 10(t){this._array[this._start+10*this._stride]=t}set 11(t){this._array[this._start+11*this._stride]=t}set 12(t){this._array[this._start+12*this._stride]=t}set 13(t){this._array[this._start+13*this._stride]=t}set 14(t){this._array[this._start+14*this._stride]=t}set 15(t){this._array[this._start+15*this._stride]=t}set 16(t){this._array[this._start+16*this._stride]=t}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function Zw(n,t,e=0,i=1){return new Kw(n,t,e,i)}m.Vector=void 0,(n=>{function t(U,...H){if(U=U||Nh(H.length),H.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(H):M(H,U),U}n.set=t;function e(U,H){const Ot=U.length;for(let Se=0;Se<Ot;++Se)if(!H(U[Se],Se))return!1;return!0}n.every=e;function i(U,H,Ot){const Se=U.length;let Kn=Ot;for(let Qr=0;Qr<Se;++Qr)Kn=H(Kn,U[Qr],Qr);return Kn}n.reduce=i;function*r(U){for(let H=0;H<U.length;++H)yield U[H]}n.itr=r;const s=(U,H)=>U+=H*H;function o(U){return i(U,s,0)}n.magnitudeSquared=o;function a(U){const H=o(U);return Math.sqrt(H)}n.magnitude=a;function l(U,H=1e-5){const Ot=o(U);return Math.abs(Ot-1)<H}n.isNormalized=l;let u;const h=(U,H,Ot)=>U+H*u[Ot];function c(U,H){return P(U,H),u=H,i(U,h,0)}n.dot=c;let d;const g=(U,H,Ot)=>U+=(H-d[Ot])*(H-d[Ot]);function p(U,H){return P(U,H),d=H,i(U,g,0)}n.distanceSquared=p;function y(U,H){return Math.sqrt(p(U,H))}n.distance=y;let w;const S=(U,H)=>U===w[H];function v(U,H){return P(U,H),w=H,e(U,S)}n.equals=v;let _,E;const C=(U,H)=>Math.abs(U-_[H])<E;function b(U,H,Ot=0){return P(U,H),_=H,E=Ot,e(U,C)}n.equalsEpsilon=b;function P(U,H){if(U.length!==H.length)throw new Error("left.length !== right.length")}function x(U,H,Ot){const Se=U.length;Ot=Ot||Nh(Se),P(U,Ot);for(let Kn=0;Kn<Se;++Kn)Ot[Kn]=H(U[Kn],Kn);return Ot}n.op1=x;function O(U,H,Ot,Se){P(U,H),Se&&P(U,Se);const Kn=U.length;Se=Se||Nh(Kn);for(let Qr=0;Qr<Kn;++Qr)Se[Qr]=Ot(U[Qr],H[Qr]);return Se}n.op2=O;const L=U=>U;function M(U,H){return x(U,L,H)}n.clone=M;let A=0;const R=(U,H)=>U*A;function k(U,H,Ot){return A=H,x(U,R,Ot)}n.multiplyByScalar=k;function J(U,H,Ot=0){const Se=o(U);if(Se<=Ot)return;const Kn=Math.sqrt(Se);return k(U,1/Kn,H)}n.normalize=J;function it(U,H){return k(U,-1,H)}n.negate=it;const pt=U=>Math.abs(U);function Ft(U,H){return x(U,pt,H)}n.abs=Ft;const Qt=U=>U-Math.floor(U);function De(U,H){return x(U,Qt,H)}n.fract=De;const kt=(U,H)=>U-H;function At(U,H,Ot){return O(U,H,kt,Ot)}n.subtract=At;const Re=(U,H)=>U+H;function $l(U,H,Ot){return O(U,H,Re,Ot)}n.add=$l;const co=(U,H)=>U*H;function sO(U,H,Ot){return O(U,H,co,Ot)}n.multiply=sO;const oO=(U,H)=>U/H;function aO(U,H,Ot){return O(U,H,oO,Ot)}n.divide=aO;let zp;const lO=(U,H)=>U*(1-zp)+H*zp;function uO(U,H,Ot,Se){return zp=Ot,O(U,H,lO,Se)}n.lerp=uO})(m.Vector||(m.Vector={}));function Dh(n,t=0,e=1){return n<t?t:n>e?e:n}class Rh extends V{constructor(e,i,r,s,o,a,l,u){super();f(this,"__status");f(this,"_statusChangedEvent");f(this,"_forceCancelFunc");f(this,"_startEvent");f(this,"_progressEvent");f(this,"_completeEvent");f(this,"_cancelEvent");f(this,"_cancelledEvent");f(this,"_errorEvent");f(this,"_finishedEvent");f(this,"_processingID",-1);this._startProcessingFunc=e,this.startFunc=i,this.progressFunc=r,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=l,this.finishedFunc=u,this._status="Initial",this.dispose(()=>{var h;return(h=this._statusChangedEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._startEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._progressEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._completeEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelledEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._errorEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._finishedEvent)==null?void 0:h.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(i),this._completeEvent&&this._completeEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Completed",value:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:i}))}_cancelFunc(e){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(e),this._cancelEvent&&this._cancelEvent.emit(e))}_cancelledFunc(e){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(e),this._cancelledEvent&&this._cancelledEvent.emit(e),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:e}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:e}))}_errorFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(i),this._errorEvent&&this._errorEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Error",error:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:i}))}_progressFunc(e,i){this.processingID===e&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(i),this._progressEvent&&this._progressEvent.emit(i))}_startFunc(...e){if(this._status==="Initial"){this._status="Running";const i=++this._processingID,r={completeFunc:this._completeFunc.bind(this,i),errorFunc:this._errorFunc.bind(this,i),progressFunc:this._progressFunc.bind(this,i),cancelFunc:this._cancel.bind(this,i),processingID:i},s=this._startProcessingFunc(r,...e);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...e),this._startEvent&&this._startEvent.emit(...e),i}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(e){if(this.__status!==e){const i=this.__status;this.__status=e,this._statusChangedEvent&&this._statusChangedEvent.emit(e,i)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(e){this._status==="Running"&&this.cancel(e),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(e,i=this.processingID){return this._cancel(i,e)}_cancel(e,i){if(this.processingID===e)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(i);const r=this._forceCancelFunc(i);if(this._forceCancelFunc=void 0,r&&r instanceof Promise)return r.then(()=>{this._cancelledFunc(i)});this._cancelledFunc(i)}else console.warn("this._status !== 'Running' but cancel")}start(...e){try{return this._startFunc(...e)}catch(i){console.error(`processing start error: ${i}`)}}restart(e,...i){try{return this.isRunning&&this.cancel(e),this.isFinished&&this.reset(e),this.isInitial?this._startFunc(...i):(console.warn("restart failed!"),-1)}catch(r){console.error(`processing restart error: ${r}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let Id=class extends Error{};function tm(n,t){typeof n=="function"?n(t):n.cancelFunc=t}class xd extends Rh{constructor(e=300){super(({progressFunc:i,completeFunc:r,errorFunc:s})=>{const[o,a]=Ph(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");i([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});f(this,"_lastDebounceValue");f(this,"_debouncTimes",0);f(this,"_d");this._delayTime=e}get delayTime(){return this._delayTime}debounce(...e){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=e,this._d&&this._d()):console.warn("Debouncing is not running!")}}function em(n,t,...e){const i=new AbortController;let r=i.signal,[s,o]=e;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=r;let a=!1;tm(n,()=>{a=!0,i.abort()});let l=fetch(s,o);return t&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length"),c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!t)throw new Error("!progressFunc");d+=S.byteLength,t(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw a?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Id("fetching cancelled!")):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),l}function nm(...n){if(n.length>=1)if(typeof n[0]=="function"||typeof n[0]>"u"){const t={};let e=em(t,...n);const{cancelFunc:i}=t;if(!i)throw new Error("!cancelResult.cancelFunc");return[i,e]}else return em(...n);throw new Error("cancelableFetch args error!")}class t1 extends Rh{constructor(e,...i){super(({progressFunc:r,completeFunc:s,errorFunc:o},...a)=>{const l={};let u={loaded:0,total:0};const h=(g,p)=>{u.loaded=g,u.total=p,r(u)},c=this._fetchArgs||a;if(c.length===0)throw new Error("fetchArgs.length === 0");if(nm(l,h,...c).then(e).then(s).catch(g=>{g instanceof Id||o(g)}),!l.cancelFunc)throw new Error("!cancelResult.cancelFunc");return l.cancelFunc});f(this,"_fetchArgs");i.length>0&&(this._fetchArgs=i)}get fetchArgs(){return this._fetchArgs}}function Md(n,t,e,i){const r="_"+t,s="_"+t+"Changed",o=t+"Changed";Object.defineProperties(n.prototype,{[t]:{get(){return typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),this[r]},set(a){if(typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),i?!i(this[r],a):this[r]!==a){const l=this[r];this[r]=a,this[s]&&this[s].emit(a,l)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class Td extends Rh{constructor(e,i=!0){super(({progressFunc:r,completeFunc:s,errorFunc:o})=>(this._intervalFunc=r,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&r(),this._intervalID=setInterval(r,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));f(this,"_intervalID");f(this,"_intervalFunc");this.intervalTime=e,this.leading=i,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}Md(Td,"leading",!0),Md(Td,"intervalTime",500);function e1(n,t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o()},n)}),s=o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new Id("sleep cancel error!"))};if(typeof t=="boolean"&&t)return[s,r];if(t)return tm(t,s),r}class n1{constructor(t=0,e=0,i=0,r,s){f(this,"_processData");f(this,"_lastUpdateTimeStamp",0);this.startTime=t,this.duration=e,this.delay=i,this.proccessFunc=r,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(t){const e=(t-this.startTime)/this.duration;e>=0&&(this._processData.ratio=e,this._processData.timeStamp=t,this._processData.timeStampFromStart=t-this.startTime,this._processData.timeStampFromLastUpdate=t-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=t,this.proccessFunc&&this.proccessFunc(this._processData),e>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class im extends Rh{constructor(e=1e3,i=0,r=Th){let s;function o(){s&&s()}super(({progressFunc:l,completeFunc:u,errorFunc:h})=>{const c=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=l,this._base.completeFunc=()=>{c&&c(),u()},this._base.start(),s=c,o});f(this,"_base");f(this,"duration");f(this,"delay");f(this,"startUpdateFunc");this._base=new n1,this.duration=e,this.delay=i,this.startUpdateFunc=r}get startTime(){return this._base.startTime}}class i1 extends V{constructor(e){super();f(this,"_target",0);f(this,"_current",0);f(this,"_start",0);f(this,"_timing",new im(Number.POSITIVE_INFINITY));f(this,"_currentChanged");this._duration=e,this._timing.progressFunc=({ratio:i})=>{i=i<0?0:i>1?1:i;const r=this._start*(1-i)+this._target*i;this._current=r,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(e,i=e){this._timing.isRunning&&this._timing.cancel(),this._target=e,this._current=i,this._start=e}set target(e){if(this._target!==e){this._target=e,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const i=Math.abs(this._target-this._start);this._timing.duration=i*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function rm(n,t){t=t||[];const e=n.parentNode;return e?rm(e,t.concat(e)):t}function r1(n){const t=n.composedPath&&n.composedPath()||n.path,e=n.target;if(t!=null)return t.indexOf(window)<0?t.concat(window):t;if(e===window)return[window];if(e===null)throw new Error("target === null");return[e].concat(rm(e),window)}function In(n,t=!1){const{offsetX:e,offsetY:i}=n;let r=e,s=i;{const o=r1(n);for(let a=0;a<o.length;++a){const l=o[a];if(l!==n.currentTarget&&l instanceof HTMLElement)r+=l.clientLeft,s+=l.clientTop,r+=l.offsetLeft,s+=l.offsetTop;else break}}return t?[r*window.devicePixelRatio,s*window.devicePixelRatio]:[r,s]}function pa(n,t=!1){const e=n.target,i=n.currentTarget||n.__xbsj_lastCurrentTarget__;if(!e||!i)return[n.clientX,n.clientY];const r=e.getBoundingClientRect(),s=i.getBoundingClientRect(),o=r.left+n.offsetX,a=r.top+n.offsetY,l=o-s.left,u=a-s.top;return t?[l*window.devicePixelRatio,u*window.devicePixelRatio]:[l,u]}class sm extends V{constructor(e){super();f(this,"_clickEvent",new I);f(this,"_dbclickEvent",new I);f(this,"_downEvent",new I);f(this,"_upEvent",new I);f(this,"_moveEvent",new I);f(this,"_debouncing",new xd(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let i=!1,r=[0,0],s=!1;this._debouncing.progressFunc=([[h,c,d],g])=>{g===1?this._clickEvent.emit(h,c,d):g>=2?this._dbclickEvent.emit(h,c,d):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=h=>{i=!0;const[c,d]=In(h);r[0]=c,r[1]=d,this._downEvent.emit(c,d,h)},a=h=>{const[c,d]=In(h);i&&!s&&this._debouncing.debounce(c,d,h),i=!1,s=!1,this._upEvent.emit(c,d,h)},l=h=>{const[c,d]=In(h);if(i&&!s){const[g,p]=r;(Math.abs(c-g)>3||Math.abs(d-p)>3)&&(s=!0)}this._moveEvent.emit(c,d,h)},u=()=>{i=!1,s=!1};e.addEventListener("pointerdown",o),e.addEventListener("pointerup",a),e.addEventListener("pointermove",l),e.addEventListener("pointerout",u),this.dispose(()=>{e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",a),e.removeEventListener("pointermove",l),e.removeEventListener("pointerout",u)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class Nd extends V{constructor(){super();f(this,"_pickRectEvent",this.disposeVar(new I));f(this,"_updateRectEvent",this.disposeVar(new I));f(this,"_pointerActionEvent",this.disposeVar(new I));f(this,"_active",this.disposeVar(B(!1)));f(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let e=0,i=0,r=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:l})=>{o==="PointerDown"?(this._active.value=!0,e=a,i=l,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:e,left1:i,top0:r,top1:s}){this._pickRect.left0=e,this._pickRect.left1=i,this._pickRect.top0=r,this._pickRect.top1=s}pointerDown(e,i){this._pointerActionEvent.emit({type:"PointerDown",left:e,top:i})}pointerMove(e,i){this._pointerActionEvent.emit({type:"PointerMove",left:e,top:i})}pointerUp(e,i){this._pointerActionEvent.emit({type:"PointerUp",left:e,top:i})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(e,i){i=i||{left:0,top:0,width:0,height:0,forward:!0};const{left0:r,top0:s,left1:o,top1:a}=e;return i.width=Math.abs(r-o),i.height=Math.abs(s-a),i.left=Math.min(r,o),i.top=Math.min(s,a),i.forward=o>r,i}static contains(e,i,r){const{left:s,top:o,width:a,height:l}=r;return e>s&&e<=s+a&&i>=o&&i<=o+l}}class s1 extends Nd{constructor(t){super();const e=this.disposeVar(new sm(t));this.dispose(e.downEvent.disposableOn((o,a,l)=>l.altKey&&this.pointerDown(o,a))),this.dispose(e.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(e.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const i=document.createElement("div");i.style.backgroundColor="rgba(0, 0, 0, 0)",i.style.border="2px dashed red",i.style.position="absolute",i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.height="0px",i.style.width="0px",i.style.left="0px",i.style.top="0px",i.style.display="none",t.appendChild(i),this.dispose(()=>t.removeChild(i)),this.dispose(this.activeEvent.disposableOn(o=>{i.style.display=o?"block":"none"}));const r=()=>{this.reset()};t.addEventListener("contextmenu",r),this.dispose(()=>t.removeEventListener("contextmenu",r));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(Nd.getLeftTopAndSize(o,s)){const{left:a,top:l,width:u,height:h}=s;i.style.height=`${h|0}px`,i.style.width=`${u|0}px`,i.style.left=`${a|0}px`,i.style.top=`${l|0}px`}}))}}class qi extends Error{}function Os(n,t){Zn(n,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),wr(n,"_promise_cancel",t)}function ma(n){return Zn(n,"_promise_cancel")}function va(n){return!!ma(n)}function Od(n,t){const e=ma(n);return e?(e(t),!0):!1}function Dd(n){const[t,e]=n;return Os(e,t),e}function Ah(n){let t;const e=new Promise((i,r)=>{t=r,n.then(i).catch(r)});return Os(e,t),e}function o1(n){let t,e;var i=new Promise((r,s)=>{e=n.disposableOn((...o)=>{e&&e(),r(o)}),t=o=>{e&&e(),s(o)}});return[t,i]}function a1(n){const t=new I,e=new I;return n.then(i=>{t.isDestroyed()||t.emit(i)}).catch(i=>{e.isDestroyed()||e.emit(i)}),[t,e]}class Rd extends V{constructor(){super();f(this,"_cancelled",!1);f(this,"_cancelError");f(this,"_promiseSet",new Set);f(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new V,this._disposer}destroyImp(){this.finally()}cancel(e){var i;if(!this._cancelled){this._cancelled=!0,(i=this._disposer)==null||i.destroy(),this._cancelError=e;for(let r of this._promiseSet)Od(r);this._promiseSet.clear()}}get cancelFuncsNum(){return nu(this._promiseSet,e=>e+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new qi("cancel from CancelManager!")}promise(e){return this._promiseSet.add(e),e.finally(()=>(this._promiseSet.delete(e),this.check()))}promiseAny(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAny!")))),i.length=0))}promiseAll(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAll!")))),i.length=0))}promiseRace(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseRace!")))),i.length=0))}}class Le extends V{constructor(e){super();f(this,"_status","Initial");f(this,"_completeEvent");f(this,"_errorEvent");f(this,"_completeFunc");f(this,"_errorFunc");f(this,"_cancelFunc");f(this,"_runningId",-1);this._startFunc=e,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(e){this._errorFunc!==e&&(this._errorFunc=e)}set completeFunc(e){this._completeFunc!==e&&(this._completeFunc=e)}start(...e){if(this._status!=="Initial")return;const i=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(r),(s=this._completeEvent)==null||s.emit(r))},errorFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(r),(s=this._errorEvent)==null||s.emit(r))},runningingID:i},...e)}cancel(e=new qi("")){var i;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(e),(i=this._errorEvent)==null||i.emit(e),this._cancelFunc(e),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(e=new qi(""),...i){this.isRunning&&this.cancel(e),this.reset(),this.start(...i)}restartIfNotRunning(...e){this.isRunning||(this.reset(),this.start(...e))}}function ru(n){return(t,...e)=>{const i=new Rd,{completeFunc:r,errorFunc:s}=t,o=n(i,...e).then(r).catch(s).finally(()=>i.destroy());return Os(o,i.cancel.bind(i)),a=>Od(o,a)}}class l1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=Ph(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class u1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=Ph(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}function h1(n){return new Le(ru((t,...e)=>t.promise(n(...e))))}function c1(n,...t){return new Le(ru(e=>e.promise(n(...t))))}function Lh(n){return h1((...t)=>{const e=n(...t);return va(e)?e:Ah(e)})}function Ad(n,...t){return c1(()=>{const e=n(...t);return va(e)?e:Ah(e)})}function d1(n){let t;const e=new Promise((i,r)=>{t=()=>{n(),r()}});return Os(e,t),e}function f1(n,...t){const e=new Rd,i=n(e,...t).finally(()=>e.destroy());return Os(i,e.cancel.bind(e)),i}function gi(n){return new Le(ru(n))}function g1(n,...t){return new Le(ru(e=>n(e,...t)))}function om(n,...t){const e=new AbortController;let i=e.signal,[r,s]=t;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=i;let o=!1;const a=()=>{o=!0,e.abort()};let l=fetch(r,s);return n&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length");h||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!n)throw new Error("!progressFunc");d+=S.byteLength,n(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw o?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new qi(`fetching cancelled! error: ${u}`)):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),Os(l,a),l}function p1(n,...t){return om(n,...t)}function Ld(...n){return om(void 0,...n)}function m1(){return Lh(Ld)}function v1(...n){return Ad(Ld,...n)}function Fd(n,...t){let e=-1;var i=new Promise((r,s)=>{n.isRunning&&n.cancel(),n.reset();const o=new V;o.dispose(n.completeEvent.disposableOn(a=>{if(r(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(n.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),n.start(...t),e=n.runningId});return[r=>e===n.runningId&&n.isRunning&&n.cancel(r),i]}function Cr(n,t,...e){try{return t(...e)}catch(i){n(i)}}function y1(){return new Le(({completeFunc:n,errorFunc:t},e)=>ga(()=>Cr(t,()=>{e&&e(),n()})))}function _1(n){return new Le(({completeFunc:t,errorFunc:e})=>ga(()=>Cr(e,()=>{n&&n(),t()})))}function w1(){return new Le(({completeFunc:n,errorFunc:t},e)=>Kl(()=>{Cr(t,()=>{e&&e(),n()})}))}function E1(n){return new Le(({completeFunc:t,errorFunc:e})=>Kl(()=>{Cr(e,()=>{n&&n(),t()})}))}function am(){return new Le(({completeFunc:n,errorFunc:t},e,i)=>yd(()=>{Cr(t,()=>{e&&e(),n()})},i??1e3))}function lm(n,t){return new Le(({completeFunc:e,errorFunc:i})=>yd(()=>{Cr(i,()=>{n&&n(),e()})},t??1e3))}function C1(){return new Le(({errorFunc:n},t,e=1e3)=>vd(()=>Cr(n,t),e))}function S1(n,t=1e3){return new Le(({errorFunc:e})=>vd(()=>Cr(e,n),t))}function su(){return new Le(({errorFunc:n},t)=>Ih(e=>Cr(n,t,e)))}function ya(n){return new Le(({errorFunc:t})=>Ih(e=>Cr(t,n,e)))}function ou(n,...t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o(t)},n)});return Os(r,o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new qi("sleep cancel error!"))}),r}function b1(){return Lh(ou)}function P1(n,...t){return Ad(ou,n,...t)}function mo(n,t,...e){return n.promise(Dd(Fd(gi(async(i,...r)=>(n.disposer.dispose(()=>{i.isDestroyed()||i.cancel()}),await t(i,...r))),...e)))}function I1(n,t,...e){return n.promise(Dd(Fd(t,...e)))}class x1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=bd(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class M1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=bd(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class Fh extends V{constructor(e=1e3,i=Th){super();f(this,"_speed");f(this,"_speedChangedEvent");f(this,"_duration");f(this,"_durationChangedEvent");f(this,"_loop");f(this,"startUpdateFunc");f(this,"_updateBindThis");f(this,"_cancelStartUpdateFunc");f(this,"_startTimeStamp");f(this,"_playingChangedEvent");f(this,"_startPlayingEvent");f(this,"_stopPlayingEvent");f(this,"_loopChangedEvent");f(this,"_currentTime",this.disposeVar(B(0)));this._speed=1,this._duration=e,this._loop=!1,this.startUpdateFunc=i,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(e){this._loop!==e&&(this._loop=e,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(e){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const i=(e-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(i)}}get currentTime(){return this._currentTime.value}set currentTime(e){this._setCurrentTimeInner(e),this._resetStartTime()}_setCurrentTimeInner(e){this._currentTime.value!==e&&(this._duration<=0?this._currentTime.value=0:e<0?this.loop?this._currentTime.value=this._duration+e%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):e>this._duration?this.loop?this._currentTime.value=e%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=e)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(e){var i;if(e<0)console.warn("duration sholud greater than 0!");else if(this._duration!==e){const r=this._duration;this._duration=e,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(i=this._durationChangedEvent)==null||i.emit(this._duration,r)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(e){var i;if(this._speed!==e&&e!==0){const r=this._speed;this._speed=e,this._resetStartTime(),(i=this._speedChangedEvent)==null||i.emit(this._speed,r)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var e,i;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(e=this._startPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!0)}_stopPlaying(){var e,i;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(e=this._stopPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(e){!!this._cancelStartUpdateFunc!==e&&(e?this._startPlaying():this._stopPlaying())}}class au extends V{constructor(e){super();f(this,"_stop",this.disposeVar(B(0)));f(this,"_current",this.disposeVar(B(0)));f(this,"_start",this.disposeVar(B(0)));f(this,"_player",this.disposeVar(new Fh(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(i=>{let r=i/this._player.duration;r=r>1?1:r<0?0:r;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*r})),this.duration=e}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(e){this._player.duration=e}set target(e){this._start.value=this._current.value,this._stop.value=e,this._player.currentTime=0,this._player.playing=!0}reset(e){this._start.value=e,this._current.value=e,this._stop.value=e,this._player.playing=!1}}let um=-1;class oe extends I{constructor(t,e,i,r){super(),this._domElement=t,this._type=e,this.callback=r;const s=o=>(o.__xbsj_listenerNo__=++um,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,i),this.dispose(()=>this._domElement.removeEventListener(this._type,s,i))}static getLastLisenNo(){return um}static getCurrentTarget(t){return t.__xbsj_lastCurrentTarget__}static getListenerNo(t){return t.__xbsj_listenerNo__}static getListenerTime(t){return t.__xbsj_listenerTime__}static on(t,e){const i=oe.getLastLisenNo();return t.disposableOn(r=>{const s=oe.getListenerNo(r);(s===void 0||s>i)&&e(r)})}get element(){return this._domElement}static create(t,e,i){return new oe(t,e,i)}}class kd extends V{constructor(){super();f(this,"_clickEvent",this.disposeVar(new I));f(this,"_dbclickEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"dbClickDelayTime",300);f(this,"nativeClickDelayTime",500);f(this,"clickMovementTolerantPixelSize",3);f(this,"debugging",!1);f(this,"_enabled",this.disposeVar(B(!0)));const e=this.disposeVar(gi(async r=>{do{const s=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h),l.disposer.dispose(oe.on(this._pointerdownEvent,u))})),o=In(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!0),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u("timeout"),this.dbClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u("moved")})),l.disposer.dispose(oe.on(this._pointerdownEvent,u)),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u("pointouted"))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!1),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),i=r=>{r?e.restart():e.isRunning&&e.cancel()};i(this.enabled),this.dispose(this.enabledChanged.disposableOn(i))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}}class T1 extends V{constructor(e,i){super();f(this,"_pointerClick",this.disposeVar(new kd));this._div=e;const{div:r,pointerClick:s}=this,o=h=>s.pointerDown(h),a=h=>s.pointerMove(h),l=h=>s.pointerOut(h),u=h=>s.pointerUp(h);r.addEventListener("pointerdown",o,i),r.addEventListener("pointermove",a,i),r.addEventListener("pointerout",l,i),r.addEventListener("pointerup",u,i),this.dispose(()=>{r.removeEventListener("pointerdown",o,i),r.removeEventListener("pointermove",a,i),r.removeEventListener("pointerout",l,i),r.removeEventListener("pointerup",u,i)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class hm extends V{constructor(){super();f(this,"_hoverEvent",this.disposeVar(new I));f(this,"_hoverOutEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"delayTime",800);const e=this.disposeVar(am()),i=u=>{this._hoverOutEvent.emit()},r=u=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=u=>{s=u,e.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},l=u=>{e.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(i)),this.dispose(this._pointerupEvent.disposableOn(r)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(l))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}}class N1 extends V{constructor(e,i=1500){super();f(this,"_hoverEvent",new I);f(this,"_hoverOutEvent",new I);const r=new xd(i);this.dispose(()=>r.destroy());let s=0,o=0,a;r.progressFunc=()=>this._hoverEvent.emit(s,o,a);const l=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(d),r.debounce(),this._hoverOutEvent.emit()},u=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},h=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},c=d=>{r.isRunning&&r.cancel(),this._hoverOutEvent.emit()};e.addEventListener("pointerdown",l),e.addEventListener("pointerup",u),e.addEventListener("pointermove",h),e.addEventListener("pointerout",c),this.dispose(()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",u),e.removeEventListener("pointermove",h),e.removeEventListener("pointerout",c)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class cm extends V{constructor(e,i={}){super();f(this,"_needRedrawEvent");f(this,"_needPickRedrawEvent");f(this,"_id",fa());f(this,"_clickEvent");f(this,"_clickOutEvent");f(this,"_dbclickEvent");f(this,"_dbclickOutEvent");f(this,"_actived",!1);f(this,"_activedChanged");f(this,"_hovered",!1);f(this,"_hoveredChanged");f(this,"_selected",!1);f(this,"_selectedChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_show",!0);f(this,"_showChanged");this._canvasPrimitivesContext=e;const{needRedraw:r=!0,needPickRedraw:s=!0}=i;r&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(e){this._actived!==e&&(this._actived=e,this._activedChanged&&this._activedChanged.emit(e,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(e){this._hovered!==e&&(this._hovered=e,this._hoveredChanged&&this._hoveredChanged.emit(e,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(e){this._selected!==e&&(this._selected=e,this._selectedChanged&&this._selectedChanged.emit(e,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(e,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(e,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Bd extends cm{constructor(e,i=[0,0],r=0){super(e);f(this,"_winPosAndDepthChanged");this._winPos=i,this._depth=r,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(e){(this._winPos[0]!==e[0]||this._winPos[1]!==e[1])&&(this._winPos[0]=e[0],this._winPos[1]=e[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(e){this._depth!==e&&(this._depth=e,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function vo(n,t,e,i){const[r,s]=n,[o,a,l,u]=i,h=t[0]*e[0],c=t[1]*e[1],d=r-(h*o+l),g=s-(c*a+u);return{left:d,top:g,right:d+h,bottom:g+c}}function yo(n,t,e,i,r){n.beginPath(),n.moveTo(t,e),n.lineTo(t-i*.5,e-i*.5),n.arc(t,e-i,i*.7071067811865475,Math.PI*.75,Math.PI*.25),n.lineTo(t,e),n.fillStyle=r,n.fill()}function dm(n,t,e,i,r,s){n.beginPath(),n.moveTo(t+s,e),n.lineTo(t+i-s,e),n.arcTo(t+i,e,t+i,e+s,s),n.lineTo(t+i,e+r-s),n.arcTo(t+i,e+r,t+i-s,e+r,s),n.lineTo(t+s,e+r),n.arcTo(t,e+r,t,e+r-s,s),n.lineTo(t,e+s),n.arcTo(t,e,t+s,e,s)}function fm(n,t,e,i,r,s){n.font=r;const o=n.measureText(i),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,l=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,u=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let h=l+u;n.fillStyle=s,n.fillText(i,t-a*.5,e+h*.5-u)}function gm(n){const{width:t,height:e}=n,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,s=document.createElement("canvas");s.width=i,s.height=r;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(n,0,0,i,r),s}function pm(n,t){const{width:e,height:i}=n,r=n.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[s,o,a]=t.map(c=>c*255|0),l=r.getImageData(0,0,e,i),u=l.data;for(var h=0;h<u.length;h+=4)u[h]=s,u[h+1]=o,u[h+2]=a;r.putImageData(l,0,0)}function Vd(n,t,e,i=[.5,1,0,0],r,s="12px Arial",o=2,a="#FFF",l="#000A"){n.font=s;const u=n.measureText(r),h=u.actualBoundingBoxLeft+u.actualBoundingBoxRight,c=u.fontBoundingBoxAscent+u.fontBoundingBoxDescent,d=t,g=e,p=h+o*2,y=c+o*2,{left:w,top:S,bottom:v}=vo([d,g],[p,y],[1,1],i);n.fillStyle=l,dm(n,w,S,p,y,o),n.fill(),n.fillStyle=a,n.fillText(r,w+o,v-o-u.fontBoundingBoxDescent)}function lu(n){return("00"+n.toString(16).toUpperCase()).substr(-2)}function uu(n){const[t,e,i,r]=n.map(s=>s*255|0);return`#${lu(t)}${lu(e)}${lu(i)}${lu(r)}`}function zd(n,t){const[e,i,r]=t,s=`${e}-${i}-${r}`;let o=Zn(n,s);return o||(o=gm(n),pm(o,t),wr(n,s,o)),o}class O1 extends Bd{constructor(e,i,r=[32,32],s=[.5,1,0,0],o="#F00F"){super(e);f(this,"_tooltip","");f(this,"_title","");f(this,"__scale",[1,1]);f(this,"_tooltipAlpha",0);f(this,"_bgColor",[.3,.3,.3,.8]);f(this,"_bgColorHexStr",uu(this._bgColor));f(this,"_fgColor",[1,1,1,1]);f(this,"_fgColorHexStr",uu(this._fgColor));this._image=i,this._size=r,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new au(100),l=new au(100);this.dispose(()=>{a.destroy(),l.destroy()});const u=()=>{if(this._clickEvent&&!this._clickEvent.empty){const h=(1+.08*l.current)*(1+.08*a.current);this._scale=[h,h],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(h=>{l.target=h?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(h=>{a.target=h?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(l.currentChanged.disposableOn(u)),this.dispose(a.currentChanged.disposableOn(u))}set size(e){const[i,r]=e,[s,o]=this._size;(s!==i||o!==r)&&(this._size[0]=i,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[i,r]=e,[s,o]=this.__scale;(s!==i||o!==r)&&(this.__scale[0]=i,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._fgColor.splice(0,4,i,r,s,o),this._fgColorHexStr=uu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._bgColor.splice(0,4,i,r,s,o),this._bgColorHexStr=uu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[i,r,s,o]=this._originRatioAndOffset,[a,l,u,h]=e;(i!==a||r!==l||s!==u||o!==h)&&(this._originRatioAndOffset.splice(0,4,a,l,u,h),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:l}=vo([i,r],this._size,this.__scale,this._originRatioAndOffset),u=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const h=zd(this._image,[1,0,0]),{left:c,top:d}=vo([i,r+3],[s+6,o+6],[1,1],this._originRatioAndOffset);e.drawImage(h,c,d,s+6,o+6)}if(this.actived){const[h,c,d,g]=this._fgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+4],[s+8,o+8],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+8,o+8)}if(this.hovered){const[h,c,d,g]=this._bgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+2],[s+4,o+4],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+4,o+4)}e.drawImage(this._image,a,l,s,o)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,l,s,o);if(this._title!==""&&Vd(e,i+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u,this._hovered&&this._tooltip!==""){const h=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Vd(e,i,r-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=h}}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=i("default"),a=this._size[0]*this.__scale[0],l=this._size[1]*this.__scale[1],{left:u,top:h}=vo([r,s],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=o,e.fillRect(u,h,a,l)}}class D1 extends Bd{constructor(e){super(e);f(this,"_width",16);f(this,"_text","");f(this,"_fillStyle","#0F0");f(this,"_scale",1);f(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const i=this.disposeVar(new au(100)),r=this.disposeVar(new au(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*r.current)*(1+.2*i.current))};this.dispose(r.currentChanged.disposableOn(s)),this.dispose(i.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{r.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(e){this._scale!==e&&(this._scale=e,this._scaleChanged&&this._scaleChanged.emit(e,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(e){this._width!==e&&(this._width=e,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(e){this._text!==e&&(this._text=e,this.needRedraw())}get text(){return this._text}set fillStyle(e){this._fillStyle!==e&&(this._fillStyle=e,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=e.globalAlpha;e.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&yo(e,i,r+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&yo(e,i,r+5,o+5,"#FFF"),this.hovered?yo(e,i,r+3,o+3,"#000A"):yo(e,i,r+1,o+1,"#000A"),yo(e,i,r,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";fm(e,i,r-o,this._text,a,"#000"),e.globalAlpha=s}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=this._width*this._scale,a=i("default");yo(e,r,s,o,a)}}const mm=new ArrayBuffer(4),vm=new Uint32Array(mm),_o=new Uint8Array(mm);function ym(n){if(n>=16777215)throw new Error("uint32 > 0xFFFFFF");return vm[0]=n,[_o[0],_o[1],_o[2]]}function _m(n,t,e){return _o[0]=n,_o[1]=t,_o[2]=e,_o[3]=0,vm[0]}class wm extends V{constructor(){super(...arguments);f(this,"_pickColors",new Array(16777215));f(this,"_pickColorIndex",0)}reset(){for(let e=0;e<this._pickColorIndex;++e){const i=this._pickColors[e];if(!i)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");i.poi=null,i.tag=""}this._pickColorIndex=0}createPickColor(e,i){const r=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[r];s?(s.poi=e,s.tag=i):this._pickColors[r]={poi:e,tag:i};const[o,a,l]=ym(r);return[o,a,l]}getPickInfoFromColor(e,i,r){const s=_m(e,i,r);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Em=(n,t)=>t.depth-n.depth;class R1 extends V{constructor(){super();f(this,"_pois",[]);f(this,"_canvasElement");f(this,"_ctx");f(this,"_offscreenCanvasElement");f(this,"_offscreenCanvasElement2");f(this,"_offscreenCtx");f(this,"_offscreenCtx2");f(this,"_size",[0,0]);f(this,"_needRedraw",!1);f(this,"_needPickRedraw",!1);f(this,"_pickColorManager",new wm);const e=document.createElement("canvas");e.style.width="100%",e.style.height="100%",this._canvasElement=e;const i=e.getContext("2d");if(i===null)throw new Error("cannot get context 2d!");this._ctx=i,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(ya(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:l}=this._canvasElement;(s!==a||o!==l)&&(this._size[0]=a,this._size[1]=l,this._canvasElement.width=a,this._canvasElement.height=l,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=l,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=l,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(e){if(typeof Zn(e,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(e)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(e),this._dirty();const i=e._needRedrawEvent;if(i){const s=i.on(()=>{this._needRedraw=!0});wr(e,"needRedrawEventHandler",s)}const r=e._needPickRedrawEvent;if(r){const s=r.on(()=>{this._needPickRedraw=!0});wr(e,"needPickRedrawEventHandler",s)}}removePoi(e){const i=this._pois.indexOf(e);if(i===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(i,1),this._dirty();const r=e._needRedrawEvent;if(r){const o=Zn(e,"needRedrawEventHandler");o?r.off(o):console.error("poi没有listenHandler!")}const s=e._needPickRedrawEvent;if(s){const o=Zn(e,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Em);const[e,i]=this._size;this._ctx.clearRect(0,0,e,i),this._pois.forEach(r=>r.draw(this._ctx))}pick(e,i,r,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(e,i,r,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Em);const[e,i]=this._size;this._offscreenCtx.clearRect(0,0,e,i),this._pois.forEach(r=>{const s=o=>{const[a,l,u]=this._pickColorManager.createPickColor(r,o);return`rgb(${a}, ${l}, ${u})`};r.drawForPick(this._offscreenCtx,s)})}_getPickInfo(e,i,r,s){const o=this._offscreenCtx.getImageData(e,i,r,s),a=[],l=o.data.length/4;for(let u=0;u<l;++u){const h=o.data[u*4+0],c=o.data[u*4+1],d=o.data[u*4+2];if(o.data[u*4+3]===255){const p=this._pickColorManager.getPickInfoFromColor(h,c,d);if(p&&p.poi&&!a.includes(p)){let y=!0;{const[w,S]=this._size;this._offscreenCtx2.clearRect(0,0,w,S);const v=P=>"rgb(255, 255, 255)";p.poi.drawForPick(this._offscreenCtx2,v);const _=this._offscreenCtx2.getImageData(e,i,r,s),E=_.data[u*4+0],C=_.data[u*4+1],b=_.data[u*4+2];_.data[u*4+3],E===255&&C===255&&b===255||(y=!1)}y&&a.push(p)}}}return a}}class jd extends V{constructor(){super(...arguments);f(this,"_closeEvent");f(this,"_show",!0);f(this,"_showChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_winPos",[0,0]);f(this,"_winPosChanged")}set winPos(e){const[i,r]=e,[s,o]=this._winPos;(i!==s||r!==o)&&(this._winPos[0]=i,this._winPos[1]=r,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Ud=new WeakMap;function Gd(n){if(!Ud.has(n)){const t=new Eh(()=>new n,e=>e.reset());Ud.set(n,t)}return Ud.get(n)}class qd extends jd{constructor(){super();f(this,"_div");f(this,"_contentDiv");f(this,"_originOffsetX",0);f(this,"_originOffsetY",0);f(this,"_originRatioX",.5);f(this,"_originRatioY",1);f(this,"_divChanged",new I);const e=document.createElement("div");e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const i=document.createElement("div");i.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const r=document.createElement("div");this._contentDiv=r,i.appendChild(r),e.appendChild(i),this._div=e,this.dispose(this._divChanged.disposableOn(()=>{i.style.left=`${-this._originOffsetX}px`,i.style.top=`${-this._originOffsetY}px`,i.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(e){this._originOffsetX!==e&&(this._originOffsetX=e,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(e){this._originOffsetY!==e&&(this._originOffsetY=e,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(e){this._originRatioX!==e&&(this._originRatioX=e,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(e){this._originRatioY!==e&&(this._originRatioY=e,this._divChanged.emit())}get element(){return this._div}}class Cm extends V{constructor(e,i){super();f(this,"_floatDiv");f(this,"_show",!1);f(this,"_showChanged");this._customDivClass=e,this._divContainer=i,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:i}=this;i.element.parentElement||this._divContainer.appendChild(i.element)}else{const{_floatDiv:i}=this;i&&i.element.parentElement&&this._divContainer.removeChild(i.element)}}set show(e){this._show!==e&&(this._show=e,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(e))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const e=Gd(this._customDivClass).create();this.dispose(()=>{Gd(this._customDivClass).destroy(e)}),this._floatDiv=e}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const A1=["top","bottom","left","right"];function L1(n){return Object.entries(n).map(([t,e])=>A1.includes(t)?`${t}: ${e}px; `:"").join("")}function Sm(n,t,e){const i=document.createElement("div");i.style.cssText=`position: absolute; ${L1(e)} background-color: ${n}; border-radius: ${t}px;`;const r='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return i.innerHTML=r,i}function bm(n,t,e="rgba(0,0,0,0.7)"){const i=document.createElement("div");i.style.cssText=`margin: 0 auto; width: ${n}px; height: ${t}px; position: relative; pointer-events: none;`;const r=document.createElement("div");return r.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${n*.5}px solid transparent; border-right: ${n*.5}px solid transparent; border-top: ${t}px solid ${e};`,i.appendChild(r),[i,r]}class Pm extends qd{constructor(){super();f(this,"_borderDiv");f(this,"_closeDiv");f(this,"_innerContentDiv");f(this,"_colorStr","rgba(0, 0, 0, 0.7)");f(this,"_divColorChanged",new I);f(this,"_borderRadius",10);const e=document.createElement("div");e.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=e;const i=Sm(this._colorStr,10,{top:3,right:3}),[r,s]=bm(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,e.appendChild(o),e.appendChild(i),this.contentDiv.appendChild(e),this.contentDiv.appendChild(r),i.style.opacity="0.1",i.onmouseenter=()=>{i.style.opacity="1.0"},i.onmouseleave=()=>{i.style.opacity="0.1"},i.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=i,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,e.style.backgroundColor=this._colorStr,r.style.width=`${this._borderRadius*2}px`,r.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=l=>{l.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(e){this._colorStr!==e&&(this._colorStr=e,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(e){this._borderRadius!==e&&(this._borderRadius=e,this._divColorChanged.emit())}}class F1 extends Pm{constructor(){super();f(this,"_iframe");f(this,"_iframeMessageEvent");const e=document.createElement("iframe");e.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",e.src="http://www.weather.com.cn/live/index.shtml",this._iframe=e,this.innerContentDiv.appendChild(e);const i=r=>{r.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(r):console.warn(`iframe消息接收到未处理!data: ${r.data}`))};window.addEventListener("message",i),this.dispose(()=>{window.removeEventListener("message",i)})}reset(){super.reset(),this.src=""}set src(e){this._iframe.src!==e&&(this._iframe.src=e)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class k1 extends jd{constructor(){super();f(this,"_div");f(this,"_contentContainer");f(this,"_text","");const e=document.createElement("div");this._div=e,e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const i=document.createElement("div");i.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const r=document.createElement("div");r.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",r.innerText=this._text,this._div.appendChild(i),i.appendChild(r),this._contentContainer=r,this._div=e,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(e){this._text!==e&&(this._text=e,this._contentContainer.innerText=e)}get text(){return this._text}}class B1 extends qd{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class V1 extends V{constructor(e,i){super();f(this,"_cursorDiv");f(this,"_pointerOut",this.disposeVar(B(!1)));f(this,"_show",this.disposeVar(B(!0)));this._cursorDiv=new Cm(i,e),this.dispose(()=>this._cursorDiv.destroy());const r=o=>{const[a,l]=In(o);this._cursorDiv.floatDiv.winPos=[a,l]};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function hu(n,t,e){if(!(n.tree===t.tree&&n!==t&&!n.isAncestorOf(t))||n.tree!==t.tree||!n.parent)return!1;if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(t===n||n.isAncestorOf(t)||e!=="inner"&&!t.parent||e==="inner"&&!t.children)}function kh(n,t,e){if(!n.tree||!t.tree||n.tree!==t.tree)return;if(!n.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(t===n){console.warn("自身不能拖放到自身!");return}if(n.isAncestorOf(t)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(e!=="inner"&&!t.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(e==="inner"&&!t.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}n.tree._startTransaction();const i=n.parent.children.indexOf(n);if(n.parent.children.splice(i,1),e!=="inner"){const{parent:r}=t;if(!r||!r.children)throw new Error("!parent");const s=r.children.indexOf(t);e==="before"?r.children.splice(s,0,n):e==="after"&&r.children.splice(s+1,0,n)}else t.children.push(n);n.tree._stopTransaction()}function Im(n,t,e){return Ed(n,i=>hu(i,t,e))}function xm(n,t,e){for(let i of n)hu(i,t,e)?kh(i,t,e):console.warn(`treeItem(id: ${i.id}) cannot move...`)}const z1={checked:1,unchecked:2,indeterminate:3},j1=["checked","unchecked","indeterminate"];class Mm extends V{constructor(e){super();f(this,"_collapsed",this.disposeVar(B(!1)));f(this,"_checkedStatus",this.disposeVar(B("unchecked")));f(this,"_selected",this.disposeVar(B(!1)));f(this,"_moveToPositionMode",this.disposeVar(B("none")));f(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=e;const i=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(i)),this.dispose(this._selected.changed.disposableOn(i)),this.dispose(this._moveToPositionMode.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const r=this.disposeVar(Ae(this._updateCheckedStatusFromChildrenEvent));this.dispose(r.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;wd(this._treeItem.children,o=>(s|=z1[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=j1[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,l=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const u=o.selectedItems.indexOf(this._treeItem);u===-1?l&&console.error("selectedItems index -1"):o.selectedItems.splice(u,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(e){this._collapsed.value=e}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(e){const i=e?"checked":"unchecked";if(this._checkedStatus.value!==i&&(this._checkedStatus.value=i,this._treeItem.children))for(let r of this._treeItem.children)r.uiTreeObject.check(e)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(e){this._selected.value=e}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(e){this._moveToPositionMode.value=e}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const cr=class cr extends V{constructor(e,i=!1,r){super();f(this,"_children");f(this,"_childrenResetedEvent");f(this,"_childrenToChangeEvent");f(this,"_childrenChangedEvent");f(this,"_parent",this.disposeVar(B(void 0)));f(this,"_level",this.disposeVar(B(0)));f(this,"_id");f(this,"_uiTreeObject",this.disposeVar(new Mm(this)));this._tree=e,this._hasChildren=i,this._id=r??fa(),this._id!=="_ROOT"&&cr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),cr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!cr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}cr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),cr.allTreeItems.set(this._id,this),this.dispose(()=>{cr.allTreeItems.delete(this._id)})}static getFromId(e){return cr.wm.get(e)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const e=this.disposeVar(new iu);this._children=e,this.dispose(e.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:l,deleteCount:u,items:h}=a;for(let c=l;c<l+u;++c)o.get(c)._parent.value=void 0;for(let c of h){if(c.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");c._parent.value=this}}}));const i=new Set,r=new Set;this.dispose(e.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){i.clear(),r.clear();for(let l of s){const{start:u,deleteCount:h,items:c}=l;for(let d=u;d<u+h;++d)i.add(o.get(d));for(let d of c)r.add(d)}for(let l of i)r.has(l)&&(i.delete(l),r.delete(l));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,i,r)}})),this.dispose(e.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(e.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(e.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(e=!1){this._children&&(this._children.length=0),this._hasChildren=e,this._childrenResetedEvent&&this._childrenResetedEvent.emit(e)}*getDescendants(e){const i=this,r=[],s=[];for(i.children&&i.children.length>0&&(!e||e(i))&&(r.push(0),s.push(i.children));r.length>0;){const o=r[r.length-1],a=s[s.length-1],l=a.get(o);yield l,o<a.length-1?++r[r.length-1]:(s.pop(),r.pop()),l.children&&l.children.length>0&&(!e||e(l))&&(r.push(0),s.push(l.children))}}*getAncestors(e){let i=this.parent;for(;i&&(yield i,!(e&&!e(i)));)i=i.parent}isDescendantOf(e){for(let i of this.getAncestors())if(i===e)return!0;return!1}isAncestorOf(e){return e.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(e,i){return hu(this,e,i)}moveTo(e,i){kh(this,e,i)}detachFromParent(){if(!this.parent||!this.parent.children)return;const e=this.parent.children.indexOf(this);this.parent.children.splice(e,1)}insertNewTreeItem(e,i){if(i&&i.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&e.startsWith("Inner"))return i&&this.children.push(i),!0;if(e==="Inner")return!1;const r=this.parent;if(!r||!r.children)return!1;const s=r.children.indexOf(this);return e.endsWith("Before")?i&&r.children.splice(s,0,i):e.endsWith("After")&&i&&r.children.splice(s+1,0,i),!0}};f(cr,"wm",new Map),f(cr,"allTreeItems",new Map);let _a=cr;class Tm extends V{constructor(e){super();f(this,"_redrawEvent",this.disposeVar(new I));f(this,"_containerScrollTop",this.disposeVar(B(0)));f(this,"_containerClientHeight",this.disposeVar(B(-1)));f(this,"_container",this.disposeVar(B(void 0)));f(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=e;const i=this._containerClientHeight,r=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Ae(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,i.changed,r.changed,s)),{redrawInfo:a}=this,l=h=>{const c=h.uiTreeObject;return!!h.children&&(!c||!c.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const h=Cd(this._tree.getDescendants(l)),c=this._tree.itemDivHeight,d=c*h,g=es([Ns([es([d-i.value,0]),r.value]),0]),p=g/c|0,y=Math.ceil((g-p*c+i.value)/c)|0;p>0&&(a.topUnvisibleItemNum=p,a.topFreeSpaceHeight=p*this._tree.itemDivHeight);const w=p+y;let S=0;for(let _ of this._tree.getDescendants(l)){if(S>=w)break;S>=p&&a.middleTreeItems.push(_),++S}const v=h-p-y;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let h of this._tree.getDescendants(l))a.middleTreeItems.push(h);this._redrawEvent.emit(a)}));let u;this.dispose(()=>u&&(u.destroy(),u=void 0)),this.dispose(this.containerChanged.disposableOn(h=>{u&&(u.destroy(),u=void 0),h&&(u=su(),u.start(()=>{const{scrollTop:c,clientHeight:d}=h;typeof c>"u"||typeof d>"u"?ca("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=c,this.containerClientHeight=d)}))}))}get container(){return this._container.value}set container(e){this._container.value=e}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(e){const i=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let r=0,s=!1;for(let o of this._tree.getDescendants(i)){if(o===e){s=!0;break}++r}if(s)return[r,r*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let e of this.tree.root.getDescendants()){const i=e.uiTreeObject;i.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(e){this._containerScrollTop.value=e}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(e){this._containerClientHeight.value=e}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(e){for(let i of this._tree.getDescendants())(!e||e(i))&&(yield i)}getAllSelectedItems(){return this.getAllItems(e=>e.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(e=>!e.children&&e.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(e){for(let i of this.getAllSelectedItems())(!e||!e.includes(i))&&(i.uiTreeObject.selected=!1)}}let wa=(dr=class extends V{constructor(e){super();f(this,"_root",this.disposeVar(new _a(this,!0,"_ROOT")));f(this,"_itemChildrenChanged",this.disposeVar(new I));f(this,"_itemChildrenToChange",this.disposeVar(new I));f(this,"_itemsAdded",this.disposeVar(new I));f(this,"_itemsDeleted",this.disposeVar(new I));f(this,"_itemsChanged",this.disposeVar(new I));f(this,"_transactionStack",0);f(this,"_addedItems",new Set);f(this,"_deletedItems",new Set);f(this,"_selectedItems",this.disposeVar(new iu));f(this,"_itemDivHeight",this.disposeVar(B(dr.defaultItemDivHeight)));f(this,"_forceRedrawEvent",this.disposeVar(new I));f(this,"_uiTree",this.disposeVar(new Tm(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((i,r)=>{if(!i.children){console.error("!item.children");return}for(let s of r){const{start:o,deleteCount:a,items:l}=s;for(let u=o;u<o+a;++u){const h=i.children.get(u);this._deletedItems.has(h)?console.error(`this._deletedItems.has(currentItem(${h.id}))`):this._deletedItems.add(h)}for(let u of l)this._deletedItems.has(u)?this._deletedItems.delete(u):this._addedItems.add(u)}this._execTransaction()})),e!==void 0&&(this.itemDivHeight=e)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(e){this._itemDivHeight.value=e}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(e){return this._root.getDescendants(e)}getTreeItemFromId(e){let i;for(let r of this.getDescendants())if(r.id===e){i=r;break}return i}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},f(dr,"defaultItemDivHeight",24),f(dr,"canMoveToTreeItem",hu),f(dr,"moveToTreeItem",kh),f(dr,"canMoveToTreeItems",Im),f(dr,"moveToTreeItems",xm),dr);class ve extends V{constructor(e,i,r=!0,s){super();f(this,"_obj",this.disposeVar(B(void 0)));this._resetEvent=e,this._createFunc=i;const o=this._resetEvent,a=this._createFunc,l=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(l);const u=(...h)=>{l(),this._obj.value=a(...h)};r&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(u))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class U1 extends V{constructor(e,i=!0,r){super();f(this,"_event",this.disposeVar(new I));f(this,"_objResettingWithEvent");this._createFunc=e,this._execOnInit=i,this._initParams=r,this._objResettingWithEvent=this.disposeVar(new ve(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...e){this._event.emit(...e)}}const ld=class ld extends V{constructor(){super();f(this,"_set",new Set);f(this,"_toChangeEvent",this.dv(new I));f(this,"_changedEvent",this.dv(new I));f(this,"main");this.dispose(()=>{this._set.size!==0&&(ld.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...e){if(e.length==2&&typeof e[1]=="boolean")e[1]&&(this.main=e[0]);else for(let i of e)this._toChangeEvent.emit([],[i]),this._set.add(i),this._changedEvent.emit([],[i])}delete(...e){for(let i of e)this.main&&this.main==i&&(this.main=void 0),this._toChangeEvent.emit([i],[]),this._set.delete(i),this._changedEvent.emit([i],[])}disposableAdd(...e){return e.length==2&&typeof e[1]=="boolean"?(e[1]&&(this.main=e[0]),this.add(e[0]),()=>this.delete(e[0])):(this.add(...e),()=>this.delete(...e))}get size(){return this._set.size}clear(){const e=[...this._set];this._toChangeEvent.emit([],e),this._set.clear(),this._changedEvent.emit([],e),this.main=void 0}values(){return this._set.values()}};f(ld,"warnOnDestroying",!0);let Bh=ld;async function Nm(n){const t=[],e=[],i=n.entries();for await(const[r,s]of i){const o=s;o.kind==="file"?t.push(r):o.kind==="directory"&&e.push(r)}return{files:t,dirs:e}}async function Wd(n){return await(await n.getFile()).text()}async function Om(n){const t=await Wd(n);try{return JSON.parse(t)}catch{return}}async function Dm(n){return await(await n.getFile()).arrayBuffer()}class Rm extends V{constructor(t){super(),this._rootDirHandle=t}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await Nm(this._rootDirHandle)}async getDir(t){let e=this._rootDirHandle;for(const i of t)if(e=await(e==null?void 0:e.getDirectoryHandle(i)),!e){console.log(`getDirectoryHandle ${i} failed`);return}return e}async getFile(t,e){const i=await this.getDir(t);if(i)try{return await i.getFileHandle(e)}catch(r){console.error(`未能获取当前文件 ${t.join("/")}/${e} error: ${r}`,r);return}}}class Am extends V{constructor(e){super();f(this,"_startRootDirId",0);f(this,"_dirMap",new Map);this._prefix=e}get prefix(){return this._prefix}async getRootDirId(e){let i;try{console.log("window.showDirectoryPicker begin"),i=await window.showDirectoryPicker({id:e,mode:"read"}),console.log("window.showDirectoryPicker end",i)}catch(r){console.error(`LocalFileServer getRootDirId failed: ${r}`,r);return}if(i){const r=++this._startRootDirId,s=`${this._prefix}${r}`;return this._dirMap.set(s,new Rm(i)),s}}getRootDir(e){return this._dirMap.get(e)}async getFile(e){const i=e.split("/");if(i.length<2){console.warn(`LocalFileServer getFile failed: ${e}`);return}const r=i[0],s=this._dirMap.get(r);if(!s){console.warn(`LocalFileServer getFile failed: ${e}`);return}const o=i.slice(1,i.length-1),a=i[i.length-1],l=await s.getFile(o,a);if(!l){console.warn(`LocalFileServer getFile failed: ${e}`);return}return l}async getText(e){const i=await this.getFile(e);if(i)return await Wd(i)}async getArrayBuffer(e){const i=await this.getFile(e);if(i)return await Dm(i)}async getJson(e){const i=await this.getFile(e);if(i)return await Om(i)}async getLocalFilePath(e,i,r){const s=await this.getRootDirId(i);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const l=e?a.files.filter(u=>e.some(h=>u.endsWith(h))):a.files;if(l.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${l[0]}`}}const Lm=new Am("xe2_local");async function G1(n,t,e){return await Lm.getLocalFilePath(n,t,e)}class Fm extends V{constructor(e,i){super();f(this,"_processing",this.disposeVar(gi(async e=>{const i=this._complexImage,r=await e.promise(Zp(this._imageUri,this._complexImage.crossOrigin));r&&r instanceof HTMLImageElement&&(i.size=[r.naturalWidth,r.naturalHeight],i.pixelFormat="RGBA",i.copyTexture({source:r}))})));f(this,"_processingStart",this._processing.start());this._complexImage=e,this._imageUri=i}get processing(){return this._processing}}const km=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],Bm=["img","gif","video","flv","hls"];let q1=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden",r.style.width="0px",r.style.height="0px";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class Vm extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new q1(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function Hd(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Xd={},ns={},zm;function jm(){if(zm)return ns;zm=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.loop=ns.conditional=ns.parse=void 0;var n=function i(r,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(u){return i(r,u,o,a)});else if(typeof s=="function")s(r,o,a,i);else{var l=Object.keys(s)[0];Array.isArray(s[l])?(a[l]={},i(r,s[l],o,a[l])):a[l]=s[l](r,o,a,i)}return o};ns.parse=n;var t=function(r,s){return function(o,a,l,u){s(o,a,l)&&u(o,r,a,l)}};ns.conditional=t;var e=function(r,s){return function(o,a,l,u){for(var h=[],c=o.pos;s(o,a,l);){var d={};if(u(o,r,a,d),o.pos===c)break;c=o.pos,h.push(d)}return h}};return ns.loop=e,ns}var ye={},Um;function Gm(){if(Um)return ye;Um=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.readBits=ye.readArray=ye.readUnsigned=ye.readString=ye.peekBytes=ye.readBytes=ye.peekByte=ye.readByte=ye.buildStream=void 0;var n=function(c){return{data:c,pos:0}};ye.buildStream=n;var t=function(){return function(c){return c.data[c.pos++]}};ye.readByte=t;var e=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(d){return d.data[d.pos+c]}};ye.peekByte=e;var i=function(c){return function(d){return d.data.subarray(d.pos,d.pos+=c)}};ye.readBytes=i;var r=function(c){return function(d){return d.data.subarray(d.pos,d.pos+c)}};ye.peekBytes=r;var s=function(c){return function(d){return Array.from(i(c)(d)).map(function(g){return String.fromCharCode(g)}).join("")}};ye.readString=s;var o=function(c){return function(d){var g=i(2)(d);return c?(g[1]<<8)+g[0]:(g[0]<<8)+g[1]}};ye.readUnsigned=o;var a=function(c,d){return function(g,p,y){for(var w=typeof d=="function"?d(g,p,y):d,S=i(c),v=new Array(w),_=0;_<w;_++)v[_]=S(g);return v}};ye.readArray=a;var l=function(c,d,g){for(var p=0,y=0;y<g;y++)p+=c[d+y]&&Math.pow(2,g-y-1);return p},u=function(c){return function(d){for(var g=t()(d),p=new Array(8),y=0;y<8;y++)p[7-y]=!!(g&1<<y);return Object.keys(c).reduce(function(w,S){var v=c[S];return v.length?w[S]=l(p,v.index,v.length):w[S]=p[v.index],w},{})}};return ye.readBits=u,ye}var qm;function W1(){return qm||(qm=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=jm(),e=Gm(),i={blocks:function(d){for(var g=0,p=[],y=d.data.length,w=0,S=(0,e.readByte)()(d);S!==g&&S;S=(0,e.readByte)()(d)){if(d.pos+S>=y){var v=y-d.pos;p.push((0,e.readBytes)(v)(d)),w+=v;break}p.push((0,e.readBytes)(S)(d)),w+=S}for(var _=new Uint8Array(w),E=0,C=0;C<p.length;C++)_.set(p[C],E),E+=p[C].length;return _}},r=(0,t.conditional)({gce:[{codes:(0,e.readBytes)(2)},{byteSize:(0,e.readByte)()},{extras:(0,e.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,e.readUnsigned)(!0)},{transparentColorIndex:(0,e.readByte)()},{terminator:(0,e.readByte)()}]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===249}),s=(0,t.conditional)({image:[{code:(0,e.readByte)()},{descriptor:[{left:(0,e.readUnsigned)(!0)},{top:(0,e.readUnsigned)(!0)},{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{lct:(0,e.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,t.conditional)({lct:(0,e.readArray)(3,function(c,d,g){return Math.pow(2,g.descriptor.lct.size+1)})},function(c,d,g){return g.descriptor.lct.exists}),{data:[{minCodeSize:(0,e.readByte)()},i]}]},function(c){return(0,e.peekByte)()(c)===44}),o=(0,t.conditional)({text:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{preData:function(d,g,p){return(0,e.readBytes)(p.text.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===1}),a=(0,t.conditional)({application:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{id:function(d,g,p){return(0,e.readString)(p.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===255}),l=(0,t.conditional)({comment:[{codes:(0,e.readBytes)(2)},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===254}),u=[{header:[{signature:(0,e.readString)(3)},{version:(0,e.readString)(3)}]},{lsd:[{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{gct:(0,e.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,e.readByte)()},{pixelAspectRatio:(0,e.readByte)()}]},(0,t.conditional)({gct:(0,e.readArray)(3,function(c,d){return Math.pow(2,d.lsd.gct.size+1)})},function(c,d){return d.lsd.gct.exists}),{frames:(0,t.loop)([r,a,l,s,o],function(c){var d=(0,e.peekByte)()(c);return d===33||d===44})}],h=u;n.default=h})(Xd)),Xd}var H1=W1();const X1=Hd(H1);var Y1=jm(),J1=Gm();const $1=(n,t)=>{const e=new Array(n.length),i=n.length/t,r=function(h,c){const d=n.slice(c*t,(c+1)*t);e.splice.apply(e,[h*t,t].concat(d))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,l=0;l<4;l++)for(var u=s[l];u<i;u+=o[l])r(u,a),a++;return e},Q1=(n,t,e)=>{const s=e;var o,a,l,u,h,c,d,C,g,p,E,y,b,P,O,x;const w=new Array(e),S=new Array(4096),v=new Array(4096),_=new Array(4097);for(y=n,a=1<<y,h=a+1,o=a+2,d=-1,u=y+1,l=(1<<u)-1,g=0;g<a;g++)S[g]=0,v[g]=g;var E,C,b,P,x,O;for(E=C=b=P=x=O=0,p=0;p<s;){if(P===0){if(C<u){E+=t[O]<<C,C+=8,O++;continue}if(g=E&l,E>>=u,C-=u,g>o||g==h)break;if(g==a){u=y+1,l=(1<<u)-1,o=a+2,d=-1;continue}if(d==-1){_[P++]=v[g],d=g,b=g;continue}for(c=g,g==o&&(_[P++]=b,g=d);g>a;)_[P++]=v[g],g=S[g];b=v[g]&255,_[P++]=b,o<4096&&(S[o]=d,v[o]=b,o++,(o&l)===0&&o<4096&&(u++,l+=o)),d=c}P--,w[x++]=_[P],p++}for(p=x;p<s;p++)w[p]=0;return w},K1=n=>{const t=new Uint8Array(n);return Y1.parse(J1.buildStream(t),X1)},Z1=n=>{const t=n.pixels.length,e=new Uint8ClampedArray(t*4);for(var i=0;i<t;i++){const r=i*4,s=n.pixels[i],o=n.colorTable[s]||[0,0,0];e[r]=o[0],e[r+1]=o[1],e[r+2]=o[2],e[r+3]=s!==n.transparentIndex?255:0}return e},tE=(n,t,e)=>{if(!n.image){console.warn("gif frame does not have associated image.");return}const{image:i}=n,r=i.descriptor.width*i.descriptor.height;var s=Q1(i.data.minCodeSize,i.data.blocks,r);i.descriptor.lct.interlaced&&(s=$1(s,i.descriptor.width));const o={pixels:s,dims:{top:n.image.descriptor.top,left:n.image.descriptor.left,width:n.image.descriptor.width,height:n.image.descriptor.height}};return i.descriptor.lct&&i.descriptor.lct.exists?o.colorTable=i.lct:o.colorTable=t,n.gce&&(o.delay=(n.gce.delay||10)*10,o.disposalType=n.gce.extras.disposal,n.gce.extras.transparentColorGiven&&(o.transparentIndex=n.gce.transparentColorIndex)),o.patch=Z1(o),o},eE=(n,t)=>n.frames.filter(e=>e.image).map(e=>tE(e,n.gct));async function Wm(n){const e=await(await fetch(n)).arrayBuffer(),i=K1(e),r=eE(i);return{gif:i,gifFrames:r,arrayBuffer:e}}function Hm(n,t,e){return n<t?t:n>e?e:n}class Xm extends Fh{constructor(e,i=!0,r){super();f(this,"_gifFrames",this.disposeVar(B(void 0)));f(this,"_gifDurations",[]);f(this,"_gifDuration",this.disposeVar(B(0)));f(this,"_gifSize",this.disposeVar(B([0,0],(e,i)=>e.every((r,s)=>r===i[s]),e=>[...e])));f(this,"_autoPlayOnLoad",this.disposeVar(B(!0)));f(this,"_gifCanvas");this._container=e,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(u=>{if(!u||u.length===0){s.width=0,s.height=0;return}const{width:h,height:c}=u[0].dims;this._gifSize.value=[h,c];const d=u.length;let g=0;this._gifDurations.length=0;for(let p=0;p<d;++p)g+=u[p].delay,this._gifDurations.push(g);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=h,s.height=c,a=o.createImageData(h,c),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let l=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(u=>{const h=Hm(u/this.duration,0,1),c=this.gifDuration*h,d=this._gifFrames.value;if(d&&d.length>0){const g=this._getFrame(c);if(g===l)return;l=g;const p=d[g];if(p.disposalType!==0&&p.disposalType!==1&&p.disposalType!==2&&ca(`gif parsed get disposalType ${p.disposalType}... frame: ${g} size: ${JSON.stringify(p.dims)}`,`gif parsed get disposalType ${p.disposalType}...`),a&&(g===0||p.disposalType===2)&&a.data.fill(0),a){const[y,w]=this._gifSize.value,{width:S,height:v,left:_,top:E}=p.dims;if(v>w)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let b=0;b<S;++b){const P=C*S+b,x=E+C,O=_+b,L=x*y+O,M=a.data,A=p.patch,R=A[P*4+3]/255;M[L*4+0]=M[L*4+0]*(1-R)+A[P*4+0]*R|0,M[L*4+1]=M[L*4+1]*(1-R)+A[P*4+1]*R|0,M[L*4+2]=M[L*4+2]*(1-R)+A[P*4+2]*R|0,M[L*4+3]=Hm(M[L*4+3]+A[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else ca("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=i,this._gifFrames.value=r}get gifCanvas(){return this._gifCanvas}set gifFrames(e){this._gifFrames.value=e}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(e){this._autoPlayOnLoad.value=e}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(e){const i=this._gifDurations.length;for(let r=0;r<i;++r)if(e<=this._gifDurations[r])return r;throw new Error("should not be here")}}class Ym extends V{constructor(e){super();f(this,"_player");f(this,"_url",this.disposeVar(B("")));f(this,"_loadGifFramesProcessing",this.disposeVar(Lh(e=>Ah(Wm(e)))));this._player=this.disposeVar(new Xm(e)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:i})=>this._player.gifFrames=i,this.dispose(this._url.changed.disposableOn(i=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new qi(`reload gif(${i})`),i)}))}get player(){return this._player}set url(e){this._url.value=e}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Jm extends V{constructor(e,i){super();f(this,"_gif",this.disposeVar(new Ym));f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:e}=this._gif;if(!e.gifFrames)return;const i=this._complexImage,{width:r,height:s}=e.gifCanvas;i.size=[r,s],i.pixelFormat="RGBA",i.copyTexture({source:e.gifCanvas});{const o=()=>{e.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{e.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function $m(n,t){const[e,i,r]=Zr(n),s=B(void 0),o=()=>{const a=e()??t;s.value=a&&Z.context.getStrFromEnv(a)};return o(),r&&s.d(r.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Qm(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(i,r)=>{const s=Z.context.getEnv(r);return s===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):s});return Qm(e)}class nE extends V{constructor(e){super();f(this,"_sceneObjRefs",new Map);f(this,"_refs",{});f(this,"_refsChanged",this.dv(new I));const i=(r,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(r);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${r.id} type: ${r.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(r),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
21
|
+
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=m.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>jp(m.copyright),6e4),setInterval(()=>jp(m.copyright),864e5)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&m.copyright.print()}catch{console.warn("版本信息有误!")}const Up=new Set;function ca(n,t=n){Up.has(t)||(Up.add(t),console.warn(n))}function Zr(n){const t=bh(n),e=()=>t[0][t[1]],i=s=>{try{t[0][t[1]]=s}catch(o){ca(`setValue error, obj(${t[0].constructor.name}) prop(${t[1]}) error(${o})`)}},r=t[0][t[2]];return[e,i,r]}function Ew(){return!0}function Cw(){throw new Error("throwOnDestroyed")}function Gp(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Cw);n.isDestroyed=Ew}const ad=class ad{constructor(){f(this,"_memId",++ad._lastMemId);f(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(t){return this.disposers.push(t),t}d(t){return this.dispose(t)}disposeVar(t){return this.disposers.push(()=>t.destroy()),t}dv(t){return this.disposeVar(t)}tryDisposeVar(t){return this.disposers.push(()=>t.tryDestroy()),t}tdv(t){return this.tryDisposeVar(t)}autoDispose(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}ad(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const t=this._disposers,e=t.length;for(let i=e-1;i>=0;--i)t[i]();t.length=0,this._disposers=void 0}catch(t){console.error(`destroy get error! ${t}`)}return Gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(ad,"_lastMemId",-1);let V=ad,hd;function qp(n){hd=n}Object.defineProperties(V.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!hd)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new hd)}return this._toDestroyEvent}}});class Eh{constructor(t,e,i=!1){f(this,"_freeElements");f(this,"_usedElementsCount");f(this,"_usedElements");f(this,"_nextCreateID");f(this,"_scratchObjs");this._createDefaultFunc=t,this._destroyFunc=e,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],i&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let t;return this._freeElements.length>0?t=this._freeElements.pop():t=this._createDefaultFunc&&this._createDefaultFunc()||{},t._cid=this._getCreateID(),t}create(){return this._create()}multiCreate(t){this._scratchObjs.length=0;for(let e=0;e<t;++e)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(t){this._destroyFunc&&this._destroyFunc(t),t._cid=void 0}destroy(...t){const e=t.length;for(let i=0;i<e;++i)this._destroy(t[i])}}function Sw(){return{item:void 0,previous:void 0,next:void 0}}function bw(n){n.item=void 0,n.previous=void 0,n.next=void 0}const Wp=new Eh(Sw,bw,!0);function cd(n,t,e){const i=Wp.create();return i.item=n,i.previous=t,i.next=e,i}function Hp(n){if(!n)throw new Error("node is undefined!");Wp.destroy(n)}function dd(n,t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=void 0,n.tail=t.previous):t.next?(t.next.previous=void 0,n.head=t.next):(n.head=void 0,n.tail=void 0),t.next=void 0,t.previous=void 0}class Xp{constructor(t){f(this,"head");f(this,"tail");f(this,"_length");const{needLength:e}=t||{needLength:!0};this.head=void 0,this.tail=void 0,e&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(t){typeof this._length=="number"&&(this._length=t)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let t=this.head;for(;t;)yield t,t=t.next}remove(t){if(!t)throw new Error("node is undefined!");dd(this,t),this._decrementLength(),Hp(t)}getNode(t){let e=this.head;for(;e!==null;){if(!e)throw new Error("current is undefined!");if(e.item===t)return e;e=e.next}}moveAfter(t,e){if(t!==e){dd(this,e);var i=t.next;t.next=e,this.tail===t?this.tail=e:i&&(i.previous=e),e.next=i,e.previous=t}}moveBefore(t,e){if(t!==e){dd(this,e);var i=t.previous;t.previous=e,this.head===t?this.head=e:i&&(i.next=e),e.previous=i,e.next=t}}insertBefore(t,e){const i=cd(e,t.previous,t);return t.previous&&(t.previous.next=i),t.previous=i,this.head===t&&(this.head=i),this._incrementLength(),i}insertAfter(t,e){const i=cd(e,t,t.next);return t.next&&(t.next.previous=i),t.next=i,this.tail===t&&(this.tail=i),this._incrementLength(),i}_setFirstNode(t){if(this.head||this.tail)throw new Error("_setFirstNode error!");const e=cd(t,void 0,void 0);if(this.head=e,this.tail=e,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return e}push(t){return this.tail?this.insertAfter(this.tail,t):this._setFirstNode(t)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const t=this.tail.item;return this.remove(this.tail),t}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const t=this.head.item;return this.remove(this.head),t}unshift(t){return this.head?this.insertBefore(this.head,t):this._setFirstNode(t)}removeAll(){let t=this.head;for(;t;){const e=t.next;Hp(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}function Pw(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function Iw(n){n.func=void 0,n.scope=void 0,n._hasRemoved=!1,n._once=!1}const fo=new Eh(Pw,Iw,!0);class fd{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new Xp({needLength:!0}),this.__dll}_pushCurrentListener(t){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(t):this.__currentListenerStack=[this.__currentListenerStack,t]:this.__currentListenerStack=t}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(t){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(t)!==-1:this.__currentListenerStack===t:!1}do(...t){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const i=e.item;i._hasRemoved||(this._pushCurrentListener(i),i.func.call(i.scope,...t),this._popCurrentListener());const r=e.next;i._once&&!i._hasRemoved&&(this.remove(e),e=void 0),e&&this._clearHasRemoved(e),e=r}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let t=!0,e=this._dll.head;for(;e;){if(!e.item._hasRemoved){t=!1;break}e=e.next}return t}isHandlerValid(t){return!t.item._hasRemoved}nextHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.next;for(;e&&e.item._hasRemoved;)e=e.next;return e}prevHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.previous;for(;e&&e.item._hasRemoved;)e=e.previous;return e}moveAfter(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(t,e)}moveBefore(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(t,e)}insertBefore(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertBefore(t,s)}insertAfter(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertAfter(t,s)}_clearHasRemoved(t){t.item._hasRemoved&&!this._hasCurrentListener(t.item)&&(fo.destroy(t.item),this._dll.remove(t))}remove(t){if(!t.item||t.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(t.item)?t.item._hasRemoved=!0:(fo.destroy(t.item),this._dll.remove(t))}removeAll(){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const e=t.next;t.item._hasRemoved||this.remove(t),t=e}}}destroy(){if(!this.__dll)return;let t=this._dll.head;for(;t;){const e=t.next,i=t;this._hasCurrentListener(i.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${i.item.func.toString()}`)),fo.destroy(i.item),this._dll.remove(i),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.push(r)}pop(){const t=this.tail;if(!t)throw new Error("pop error!");this.remove(t)}shift(){const t=this.head;if(!t)throw new Error("shift error!");this.remove(t)}unshift(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.unshift(r)}get tail(){let t=this._dll.tail;for(;t&&t.item._hasRemoved;)t=t.previous;return t}get head(){let t=this._dll.head;for(;t&&t.item._hasRemoved;)t=t.previous;return t}}class Ql{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new Ql,t._reset(this._listenerHandler,this._cid),t}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const t=this._listenerHandler._cid;if(typeof t<"u"&&this._cid===t)return!0}return!1}}class gd extends Ql{}let I=class extends V{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...e){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...e),!this.isDestroyed()&&this._pipe.do(...e),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...e)}on(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!1):this._pipe.push(e,i,!1);return s=s??new gd,s._reset(o,o._cid),s}disposableOn(e,i,r=!1,s){const o=this.on(e,i,r,s);return()=>{o.valid&&this.off(o)}}don(e,i,r=!1,s){return this.disposableOn(e,i,r,s)}disposableWeakOn(e,i,r=!1,s){const o=new V,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(e,i,r,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(e,i,r=!1,s){return this.disposableWeakOn(e,i,r,s)}once(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!0):this._pipe.push(e,i,!0);return s=s??new gd,s._reset(o,o._cid),s}disposableOnce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}donce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}off(e){if(!e.valid)throw new Error("handler is not valid!");this._pipe.remove(e._listenerHandler),e._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(ca("The event is destroying with listeners!"),this._pipe.removeAll())}};qp(I);function da(n,t){return t=t??new Ql,t._reset(n,n._cid),t}class xw{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...t){return this._pipe.do(...t)}isHandlerValid(t){return t.valid?this._pipe.isHandlerValid(t._listenerHandler):!1}moveAfter(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}moveBefore(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}insertBefore(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(t._listenerHandler,e,i,r);return da(o,s)}insertAfter(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(t._listenerHandler,e,i,r);return da(o,s)}remove(t){if(!t.valid)throw new Error("handler is not valid!");return this._pipe.remove(t._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(t,e,i=!1,r){const s=this._pipe.push(t,e,i);return da(s,r)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(t,e,i=!1,r){const s=this._pipe.unshift(t,e,i);return da(s,r)}getTail(t){const e=this._pipe.tail;if(e)return da(e,t)}getHead(t){const e=this._pipe.head;if(e)return da(e,t)}}class Ue extends V{constructor(e,i,r){super();f(this,"_changed");f(this,"_value");f(this,"_oldValue");f(this,"toChangeFunc");this._equalsFunc=i,this._assignFunc=r,this._value=this._assignFunc&&this._assignFunc(e,void 0)||e}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(e){return this._equalsFunc?this._equalsFunc(this._value,e):this._value===e}set value(e){if(this._equalsFunc?!this._equalsFunc(this._value,e):this._value!==e){if(this.toChangeFunc&&!this.toChangeFunc(e,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(e,this._value)):(this._oldValue=this._value,this._value=e),this._changed&&this._changed.emit(e,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function B(n,t,e){return new Ue(n,t,e)}function ht(n){return new Ue(n,(t,e)=>t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function ee(n){return B(n,(t,e)=>t===void 0||e===void 0?t===void 0&&e===void 0:t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{if(!t)return;const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function Ch(n,t,e){return B(n,(i,r)=>i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function Ts(n,t,e){return B(n,(i,r)=>i===void 0||r===void 0?i===void 0&&r===void 0:i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{if(!i)return;const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function mt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Yt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Mw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Tw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Nw(n){return Ch(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function pd(n){return Ts(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function Ow(n){return Ch(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Dw(n){return Ts(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Sh(n){return pd(n)}function Yp(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function Rw(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function bh(n){const t=n instanceof Ue?[n,"value","changed"]:[...n];return t[2]=t[2]||t[1]+"Changed",t}function md(n,t,e,i=!1){t[2]=t[2]||t[1]+"Changed";const r=()=>{const s=t[0][t[1]];e?n[0][n[1]]=e(s):n[0][n[1]]=s};return r(),i?t[0][t[2]].disposableWeakOn(r):t[0][t[2]].disposableOn(r)}function Aw(n,t,e,i,r=!1){const s=md(n,t,e,r),o=md(t,n,i,r);return()=>(s(),o())}function z(n,t,e,i=!1){const r=n instanceof Ue?[n,"value","changed"]:n,s=t instanceof Ue?[t,"value","changed"]:t;return md(r,s,e,i)}function nt(n,t,e,i,r=!1){const s=bh(n),o=bh(t);return Aw(s,o,e,i,r)}function Lw(n,t,e,i=!1){const[r]=Zr(t);return nt(n,t,s=>s??e,s=>{if(!(s===e&&r()===void 0))return s},i)}function fa(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,e=n==="x"?t:t&3|8;return e.toString(16)})}function Ph(n,t){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let e=0;function i(){e>0&&(window.clearTimeout(e),e=0)}function r(...s){i(),e=window.setTimeout(n,t,...s)}return[r,i]}function vd(n,t,...e){const i=setInterval(n,t,...e);return()=>clearInterval(i)}function yd(n,t,...e){const i=setTimeout(n,t,...e);return()=>clearTimeout(i)}function Ih(n,...t){let e;const i=()=>{const r=performance.now();n(r,...t),e=requestAnimationFrame(i)};return i(),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function ga(n,...t){let e;return e=requestAnimationFrame(()=>{const r=performance.now();n(r,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Kl(n,...t){let e=!1,i;return new Promise((r,s)=>{i=s,r()}).then(()=>{!e&&n(...t)}).catch(r=>{console.error(r)}),()=>(e=!0)&&i&&(i("nextMicroTask cancelled!"),i=void 0)}class xh extends I{constructor(e,i,...r){super();f(this,"_cancellFunc");this._nextFunc=e,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),r.forEach(s=>this.dispose(s[i?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class _d extends xh{constructor(...t){super(Kl,!1,...t)}}function Fw(...n){return new _d(...n)}class kw extends xh{constructor(...t){super(Kl,!0,...t)}}function Bw(...n){return new _d(...n)}class Mh extends xh{constructor(...t){super(ga,!1,...t)}}function Ae(...n){return new Mh(...n)}function Vw(n,t){return new Mh(...n).don(t())}class Jp extends xh{constructor(...t){super(ga,!0,...t)}}function zw(...n){return new Jp(...n)}function go(n,t,e={time:"don",immediate:!1}){const i=new Mh(...Array.isArray(n)?n:[n]),r=i[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{r(),i.destroy()}}function Zl(n){let t;if(typeof n.next=="function")t=n;else if(typeof n[Symbol.iterator]=="function")t=n[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return t}function wd(n,t){let e=!1;const i=Zl(n);let r=-1;for(;;){const{done:s,value:o}=i.next();if(s)break;if(t(o,++r)){e=!0;break}}return e}function Ed(n,t){return!wd(n,(i,r)=>!t(i,r))}function tu(n,t,e,i){const r=n;if(!r[t]){const s=i(),o=Object.fromEntries(Object.entries(s).filter(([a,l])=>{const u=Object.getPrototypeOf(e),h=a in u;if(h){const c=l instanceof Ue?l.value:l;n[a]=c}return!h}).map(([a,l])=>l instanceof Ue?[a,l]:[a,Array.isArray(l)?ee(l):B(l)]));r[t]=o}return r[t]}function ts(n,t){var i;const e=Symbol(`${(i=n==null?void 0:n.constructor)==null?void 0:i.name}-createDefaultProps`);n.constructor.__xbsj_dpSymbol=e,n.constructor.__xbsj_createDefaultProps=t;for(let[r,s]of Object.entries(t()))if(!Reflect.has(n,r)){const o=function(a){var h,c;if(a[e])return;const l=[];let u=Object.getPrototypeOf(a);for(;u;)l.push(u),u=Object.getPrototypeOf(u);l.reverse();for(let d of l){const g=(h=d.constructor)==null?void 0:h.__xbsj_dpSymbol;if(!g)continue;const p=(c=d.constructor)==null?void 0:c.__xbsj_createDefaultProps;p&&tu(a,g,d,p)}};Object.defineProperties(n,{[r]:{get(){return o(this),tu(this,e,n,t)[r].value},set(a){o(this);const l=tu(this,e,n,t)[r];if(!l){console.error("!propObj");debugger}l.value=a}},[`${r}Changed`]:{get(){return o(this),tu(this,e,n,t)[r].changed}},[`${r}React`]:{get(){return o(this),tu(this,e,n,t)[r]}}})}}const eu=new WeakMap;function wr(n,t,e){eu.has(n)||eu.set(n,{});const i=eu.get(n);i[t]=e}function Zn(n,t){return eu.has(n)?eu.get(n)[t]:void 0}function Er(n,t){const e=Zl(n);let i=0;for(;;){const{done:r,value:s}=e.next();if(r)break;t(s,i++)}}function nu(n,t,e){const i=Zl(n);let r=e,s=0;for(;;){const{done:o,value:a}=i.next();if(o)break;r=t(r,a,s++)}return r}const jw=n=>++n;function Cd(n){return nu(n,jw,0)}function es(n){return nu(n,(t,e)=>t>e?t:e,Number.NEGATIVE_INFINITY)}function Ns(n){return nu(n,(t,e)=>t<e?t:e,Number.POSITIVE_INFINITY)}function $p(n,t){let e=n;for(let i of t)e=e[i];return e}function Uw(n,t,e){if(t.length===0)throw new Error("props的数量必须大于0");const i=t.length-1,r=t[i];let s=n;for(let o=0;o<i;++o){const a=t[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[r]=e}function*po(n,t){const e=Zl(n);for(;;){const{done:i,value:r}=e.next();if(i)break;yield $p(r,t)}}class iu extends V{constructor(){super();f(this,"_innerObj");f(this,"_toChangeEvent");f(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(e){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:e}],this);const{length:i}=e;this._innerObj.length=i;for(let r=0;r<i;++r)this._innerObj[r]=e[r];this._changedEvent&&this._changedEvent.emit(this)}splice(e,i,...r){const{length:s}=this._innerObj;e=e>this._innerObj.length?this._innerObj.length:e,e>s?e=s:e<0&&(e+=s,e<0&&(e=0));const o=this._innerObj.length-e;if(i>o?i=o:i<0&&(i=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:this._innerObj.length-e,items:[]}],this);const a=this._innerObj.splice(e);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:[]}],this);const a=this._innerObj.splice(e,i);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:r}],this);const a=this._innerObj.splice(e,i,...r);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const i=this._innerObj.length-1,r=1,s=[];this._toChangeEvent.emit([{start:i,deleteCount:r,items:s}],this)}const e=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),e}push(...e){if(this._toChangeEvent){const r=this._innerObj.length;this._toChangeEvent.emit([{start:r,deleteCount:0,items:e}],this)}const i=this._innerObj.push(...e);return this._changedEvent&&this._changedEvent.emit(this),i}get length(){return this._innerObj.length}set length(e){if(e<0)throw new Error("value < 0");const{length:i}=this._innerObj;if(i!==e){if(this._toChangeEvent){let r,s,o;i>e?(r=e,s=i-e,o=[]):(r=i,s=0,o=new Array(e-i)),this._toChangeEvent.emit([{start:r,deleteCount:s,items:o}],this)}this._innerObj.length=e,this._changedEvent&&this._changedEvent.emit(this)}}get(e){return this._innerObj[e]}set(e,i){const{length:r}=this._innerObj;if(e<0||e>=r)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:1,items:[i]}],this),this._innerObj[e]=i,this._changedEvent&&this._changedEvent.emit(this)}indexOf(e){return this._innerObj.indexOf(e)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function Sd(n,t,...e){let i=n;for(let r of e){if(!i[r])if(t)i[r]={};else return;i=i[r]}return i}function Gw(n,t,e){typeof e>"u"&&(t.endsWith(".gltf")?e="model/gltf+json":t.endsWith(".bin")?e="application/octet-stream":t.endsWith(".glb")?e="model/gltf-binary":t.endsWith(".jpg")||t.endsWith(".jpeg")?e="image/jpeg":t.endsWith(".png")?e="image/png":t.endsWith(".glsl")?e="text/plain":t.endsWith(".json")?e="application/json":t.endsWith(".b3dm")||t.endsWith(".i3dm")||t.endsWith("pnts")||t.endsWith("cmpt")?e="application/octet-stream":console.warn(`save ${t}: MimeType无法确定!`));const i=new Blob([n],{type:e||""});let r=URL.createObjectURL(i);var s=document.createElement("a"),o=new MouseEvent("click");s.download=t,s.href=r,s.dispatchEvent(o),URL.revokeObjectURL(r)}function qw(n,t){const e=document.createElement("a"),i=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(i)}function Ww(){return new Promise((n,t)=>{const e=performance.now();requestAnimationFrame(i=>n(i>e))})}const Th=n=>{let t,e;return e=i=>{i=performance.now(),t=requestAnimationFrame(e),n(i)},t=requestAnimationFrame(e),()=>{cancelAnimationFrame(t)}};function bd(n,t,e=Th){let i=Number.NEGATIVE_INFINITY,r;function s(l){l-i>t&&r&&(n(...r),r=void 0,i=l)}const o=e&&e(s)||void 0;function a(...l){r=l}return[a,o]}const Qp=[];function Kp(n,t,e){if(Qp.includes(n)){console.warn(`_loadJs ${n} has loaded before!`),t&&t();return}var i=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("src",n),r.onload=r.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Qp.push(n),t&&t(),r.onload=r.onreadystatechange=null)},r.onerror=(s,o,a,l,u)=>{e(u)},i.appendChild(r)}function Pd(n,t=!0){if(t){const e=window.L;window.L&&(window.L=void 0);const i=window.define;return window.define&&(window.define=void 0),new Promise((r,s)=>{Kp(n,r,s)}).then(()=>(window.define=i,window.L=e,Promise.resolve()))}else return new Promise((e,i)=>{Kp(n,e,i)})}async function Zp(n,t=""){return new Promise((e,i)=>{var r=new Image;r.crossOrigin=t,r.src=n,r.onload=()=>e(r),r.onerror=s=>i(s)})}class Hw extends V{constructor(t){super(),this._owner=t}get owner(){return this._owner}}function Xw(n,t){if(n.length%3!==0)throw new Error("positions.length % 3 !== 0");const e=n.length/3;function*i(o){for(let a=0;a<e;++a)yield n[a*3+o]}const r=(t==null?void 0:t.min)??[NaN,NaN,NaN],s=(t==null?void 0:t.max)??[NaN,NaN,NaN];return r[0]=Ns(i(0))??NaN,r[1]=Ns(i(1))??NaN,r[2]=Ns(i(2))??NaN,s[0]=es(i(0))??NaN,s[1]=es(i(1))??NaN,s[2]=es(i(2))??NaN,{min:r,max:s}}async function Yw(n,t=fetch){const e=await t(n);return e.ok?await e.arrayBuffer():void 0}function Nh(n,...t){if(n>16)throw new Error("length > 16");const e=new Array(n);for(let i=0;i<n;++i)e[i]=t[i]??0;return e}class Oh{constructor(t,e){this._xyzw=t,this._length=e}set 0(t){this._xyzw.x=t}set 1(t){this._xyzw.y=t}set 2(t){this._xyzw.z=t}set 3(t){this._xyzw.w=t}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function Jw(n){return new Oh(n,2)}function $w(n){return new Oh(n,3)}function Qw(n){return new Oh(n,4)}class Kw{constructor(t,e,i,r){this._array=t,this._length=e,this._start=i,this._stride=r}get length(){return this._length}set 0(t){this._array[this._start+0*this._stride]=t}set 1(t){this._array[this._start+1*this._stride]=t}set 2(t){this._array[this._start+2*this._stride]=t}set 3(t){this._array[this._start+3*this._stride]=t}set 4(t){this._array[this._start+4*this._stride]=t}set 5(t){this._array[this._start+5*this._stride]=t}set 6(t){this._array[this._start+6*this._stride]=t}set 7(t){this._array[this._start+7*this._stride]=t}set 8(t){this._array[this._start+8*this._stride]=t}set 9(t){this._array[this._start+9*this._stride]=t}set 10(t){this._array[this._start+10*this._stride]=t}set 11(t){this._array[this._start+11*this._stride]=t}set 12(t){this._array[this._start+12*this._stride]=t}set 13(t){this._array[this._start+13*this._stride]=t}set 14(t){this._array[this._start+14*this._stride]=t}set 15(t){this._array[this._start+15*this._stride]=t}set 16(t){this._array[this._start+16*this._stride]=t}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function Zw(n,t,e=0,i=1){return new Kw(n,t,e,i)}m.Vector=void 0,(n=>{function t(U,...H){if(U=U||Nh(H.length),H.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(H):M(H,U),U}n.set=t;function e(U,H){const Ot=U.length;for(let Se=0;Se<Ot;++Se)if(!H(U[Se],Se))return!1;return!0}n.every=e;function i(U,H,Ot){const Se=U.length;let Kn=Ot;for(let Qr=0;Qr<Se;++Qr)Kn=H(Kn,U[Qr],Qr);return Kn}n.reduce=i;function*r(U){for(let H=0;H<U.length;++H)yield U[H]}n.itr=r;const s=(U,H)=>U+=H*H;function o(U){return i(U,s,0)}n.magnitudeSquared=o;function a(U){const H=o(U);return Math.sqrt(H)}n.magnitude=a;function l(U,H=1e-5){const Ot=o(U);return Math.abs(Ot-1)<H}n.isNormalized=l;let u;const h=(U,H,Ot)=>U+H*u[Ot];function c(U,H){return P(U,H),u=H,i(U,h,0)}n.dot=c;let d;const g=(U,H,Ot)=>U+=(H-d[Ot])*(H-d[Ot]);function p(U,H){return P(U,H),d=H,i(U,g,0)}n.distanceSquared=p;function y(U,H){return Math.sqrt(p(U,H))}n.distance=y;let w;const S=(U,H)=>U===w[H];function v(U,H){return P(U,H),w=H,e(U,S)}n.equals=v;let _,E;const C=(U,H)=>Math.abs(U-_[H])<E;function b(U,H,Ot=0){return P(U,H),_=H,E=Ot,e(U,C)}n.equalsEpsilon=b;function P(U,H){if(U.length!==H.length)throw new Error("left.length !== right.length")}function x(U,H,Ot){const Se=U.length;Ot=Ot||Nh(Se),P(U,Ot);for(let Kn=0;Kn<Se;++Kn)Ot[Kn]=H(U[Kn],Kn);return Ot}n.op1=x;function O(U,H,Ot,Se){P(U,H),Se&&P(U,Se);const Kn=U.length;Se=Se||Nh(Kn);for(let Qr=0;Qr<Kn;++Qr)Se[Qr]=Ot(U[Qr],H[Qr]);return Se}n.op2=O;const L=U=>U;function M(U,H){return x(U,L,H)}n.clone=M;let A=0;const R=(U,H)=>U*A;function k(U,H,Ot){return A=H,x(U,R,Ot)}n.multiplyByScalar=k;function J(U,H,Ot=0){const Se=o(U);if(Se<=Ot)return;const Kn=Math.sqrt(Se);return k(U,1/Kn,H)}n.normalize=J;function it(U,H){return k(U,-1,H)}n.negate=it;const pt=U=>Math.abs(U);function Ft(U,H){return x(U,pt,H)}n.abs=Ft;const Qt=U=>U-Math.floor(U);function De(U,H){return x(U,Qt,H)}n.fract=De;const kt=(U,H)=>U-H;function At(U,H,Ot){return O(U,H,kt,Ot)}n.subtract=At;const Re=(U,H)=>U+H;function $l(U,H,Ot){return O(U,H,Re,Ot)}n.add=$l;const co=(U,H)=>U*H;function sO(U,H,Ot){return O(U,H,co,Ot)}n.multiply=sO;const oO=(U,H)=>U/H;function aO(U,H,Ot){return O(U,H,oO,Ot)}n.divide=aO;let zp;const lO=(U,H)=>U*(1-zp)+H*zp;function uO(U,H,Ot,Se){return zp=Ot,O(U,H,lO,Se)}n.lerp=uO})(m.Vector||(m.Vector={}));function Dh(n,t=0,e=1){return n<t?t:n>e?e:n}class Rh extends V{constructor(e,i,r,s,o,a,l,u){super();f(this,"__status");f(this,"_statusChangedEvent");f(this,"_forceCancelFunc");f(this,"_startEvent");f(this,"_progressEvent");f(this,"_completeEvent");f(this,"_cancelEvent");f(this,"_cancelledEvent");f(this,"_errorEvent");f(this,"_finishedEvent");f(this,"_processingID",-1);this._startProcessingFunc=e,this.startFunc=i,this.progressFunc=r,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=l,this.finishedFunc=u,this._status="Initial",this.dispose(()=>{var h;return(h=this._statusChangedEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._startEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._progressEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._completeEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelledEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._errorEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._finishedEvent)==null?void 0:h.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(i),this._completeEvent&&this._completeEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Completed",value:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:i}))}_cancelFunc(e){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(e),this._cancelEvent&&this._cancelEvent.emit(e))}_cancelledFunc(e){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(e),this._cancelledEvent&&this._cancelledEvent.emit(e),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:e}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:e}))}_errorFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(i),this._errorEvent&&this._errorEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Error",error:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:i}))}_progressFunc(e,i){this.processingID===e&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(i),this._progressEvent&&this._progressEvent.emit(i))}_startFunc(...e){if(this._status==="Initial"){this._status="Running";const i=++this._processingID,r={completeFunc:this._completeFunc.bind(this,i),errorFunc:this._errorFunc.bind(this,i),progressFunc:this._progressFunc.bind(this,i),cancelFunc:this._cancel.bind(this,i),processingID:i},s=this._startProcessingFunc(r,...e);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...e),this._startEvent&&this._startEvent.emit(...e),i}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(e){if(this.__status!==e){const i=this.__status;this.__status=e,this._statusChangedEvent&&this._statusChangedEvent.emit(e,i)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(e){this._status==="Running"&&this.cancel(e),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(e,i=this.processingID){return this._cancel(i,e)}_cancel(e,i){if(this.processingID===e)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(i);const r=this._forceCancelFunc(i);if(this._forceCancelFunc=void 0,r&&r instanceof Promise)return r.then(()=>{this._cancelledFunc(i)});this._cancelledFunc(i)}else console.warn("this._status !== 'Running' but cancel")}start(...e){try{return this._startFunc(...e)}catch(i){console.error(`processing start error: ${i}`)}}restart(e,...i){try{return this.isRunning&&this.cancel(e),this.isFinished&&this.reset(e),this.isInitial?this._startFunc(...i):(console.warn("restart failed!"),-1)}catch(r){console.error(`processing restart error: ${r}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let Id=class extends Error{};function tm(n,t){typeof n=="function"?n(t):n.cancelFunc=t}class xd extends Rh{constructor(e=300){super(({progressFunc:i,completeFunc:r,errorFunc:s})=>{const[o,a]=Ph(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");i([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});f(this,"_lastDebounceValue");f(this,"_debouncTimes",0);f(this,"_d");this._delayTime=e}get delayTime(){return this._delayTime}debounce(...e){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=e,this._d&&this._d()):console.warn("Debouncing is not running!")}}function em(n,t,...e){const i=new AbortController;let r=i.signal,[s,o]=e;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=r;let a=!1;tm(n,()=>{a=!0,i.abort()});let l=fetch(s,o);return t&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length"),c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!t)throw new Error("!progressFunc");d+=S.byteLength,t(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw a?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Id("fetching cancelled!")):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),l}function nm(...n){if(n.length>=1)if(typeof n[0]=="function"||typeof n[0]>"u"){const t={};let e=em(t,...n);const{cancelFunc:i}=t;if(!i)throw new Error("!cancelResult.cancelFunc");return[i,e]}else return em(...n);throw new Error("cancelableFetch args error!")}class t1 extends Rh{constructor(e,...i){super(({progressFunc:r,completeFunc:s,errorFunc:o},...a)=>{const l={};let u={loaded:0,total:0};const h=(g,p)=>{u.loaded=g,u.total=p,r(u)},c=this._fetchArgs||a;if(c.length===0)throw new Error("fetchArgs.length === 0");if(nm(l,h,...c).then(e).then(s).catch(g=>{g instanceof Id||o(g)}),!l.cancelFunc)throw new Error("!cancelResult.cancelFunc");return l.cancelFunc});f(this,"_fetchArgs");i.length>0&&(this._fetchArgs=i)}get fetchArgs(){return this._fetchArgs}}function Md(n,t,e,i){const r="_"+t,s="_"+t+"Changed",o=t+"Changed";Object.defineProperties(n.prototype,{[t]:{get(){return typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),this[r]},set(a){if(typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),i?!i(this[r],a):this[r]!==a){const l=this[r];this[r]=a,this[s]&&this[s].emit(a,l)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class Td extends Rh{constructor(e,i=!0){super(({progressFunc:r,completeFunc:s,errorFunc:o})=>(this._intervalFunc=r,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&r(),this._intervalID=setInterval(r,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));f(this,"_intervalID");f(this,"_intervalFunc");this.intervalTime=e,this.leading=i,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}Md(Td,"leading",!0),Md(Td,"intervalTime",500);function e1(n,t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o()},n)}),s=o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new Id("sleep cancel error!"))};if(typeof t=="boolean"&&t)return[s,r];if(t)return tm(t,s),r}class n1{constructor(t=0,e=0,i=0,r,s){f(this,"_processData");f(this,"_lastUpdateTimeStamp",0);this.startTime=t,this.duration=e,this.delay=i,this.proccessFunc=r,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(t){const e=(t-this.startTime)/this.duration;e>=0&&(this._processData.ratio=e,this._processData.timeStamp=t,this._processData.timeStampFromStart=t-this.startTime,this._processData.timeStampFromLastUpdate=t-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=t,this.proccessFunc&&this.proccessFunc(this._processData),e>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class im extends Rh{constructor(e=1e3,i=0,r=Th){let s;function o(){s&&s()}super(({progressFunc:l,completeFunc:u,errorFunc:h})=>{const c=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=l,this._base.completeFunc=()=>{c&&c(),u()},this._base.start(),s=c,o});f(this,"_base");f(this,"duration");f(this,"delay");f(this,"startUpdateFunc");this._base=new n1,this.duration=e,this.delay=i,this.startUpdateFunc=r}get startTime(){return this._base.startTime}}class i1 extends V{constructor(e){super();f(this,"_target",0);f(this,"_current",0);f(this,"_start",0);f(this,"_timing",new im(Number.POSITIVE_INFINITY));f(this,"_currentChanged");this._duration=e,this._timing.progressFunc=({ratio:i})=>{i=i<0?0:i>1?1:i;const r=this._start*(1-i)+this._target*i;this._current=r,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(e,i=e){this._timing.isRunning&&this._timing.cancel(),this._target=e,this._current=i,this._start=e}set target(e){if(this._target!==e){this._target=e,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const i=Math.abs(this._target-this._start);this._timing.duration=i*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function rm(n,t){t=t||[];const e=n.parentNode;return e?rm(e,t.concat(e)):t}function r1(n){const t=n.composedPath&&n.composedPath()||n.path,e=n.target;if(t!=null)return t.indexOf(window)<0?t.concat(window):t;if(e===window)return[window];if(e===null)throw new Error("target === null");return[e].concat(rm(e),window)}function In(n,t=!1){const{offsetX:e,offsetY:i}=n;let r=e,s=i;{const o=r1(n);for(let a=0;a<o.length;++a){const l=o[a];if(l!==n.currentTarget&&l instanceof HTMLElement)r+=l.clientLeft,s+=l.clientTop,r+=l.offsetLeft,s+=l.offsetTop;else break}}return t?[r*window.devicePixelRatio,s*window.devicePixelRatio]:[r,s]}function pa(n,t=!1){const e=n.target,i=n.currentTarget||n.__xbsj_lastCurrentTarget__;if(!e||!i)return[n.clientX,n.clientY];const r=e.getBoundingClientRect(),s=i.getBoundingClientRect(),o=r.left+n.offsetX,a=r.top+n.offsetY,l=o-s.left,u=a-s.top;return t?[l*window.devicePixelRatio,u*window.devicePixelRatio]:[l,u]}class sm extends V{constructor(e){super();f(this,"_clickEvent",new I);f(this,"_dbclickEvent",new I);f(this,"_downEvent",new I);f(this,"_upEvent",new I);f(this,"_moveEvent",new I);f(this,"_debouncing",new xd(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let i=!1,r=[0,0],s=!1;this._debouncing.progressFunc=([[h,c,d],g])=>{g===1?this._clickEvent.emit(h,c,d):g>=2?this._dbclickEvent.emit(h,c,d):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=h=>{i=!0;const[c,d]=In(h);r[0]=c,r[1]=d,this._downEvent.emit(c,d,h)},a=h=>{const[c,d]=In(h);i&&!s&&this._debouncing.debounce(c,d,h),i=!1,s=!1,this._upEvent.emit(c,d,h)},l=h=>{const[c,d]=In(h);if(i&&!s){const[g,p]=r;(Math.abs(c-g)>3||Math.abs(d-p)>3)&&(s=!0)}this._moveEvent.emit(c,d,h)},u=()=>{i=!1,s=!1};e.addEventListener("pointerdown",o),e.addEventListener("pointerup",a),e.addEventListener("pointermove",l),e.addEventListener("pointerout",u),this.dispose(()=>{e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",a),e.removeEventListener("pointermove",l),e.removeEventListener("pointerout",u)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class Nd extends V{constructor(){super();f(this,"_pickRectEvent",this.disposeVar(new I));f(this,"_updateRectEvent",this.disposeVar(new I));f(this,"_pointerActionEvent",this.disposeVar(new I));f(this,"_active",this.disposeVar(B(!1)));f(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let e=0,i=0,r=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:l})=>{o==="PointerDown"?(this._active.value=!0,e=a,i=l,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:e,left1:i,top0:r,top1:s}){this._pickRect.left0=e,this._pickRect.left1=i,this._pickRect.top0=r,this._pickRect.top1=s}pointerDown(e,i){this._pointerActionEvent.emit({type:"PointerDown",left:e,top:i})}pointerMove(e,i){this._pointerActionEvent.emit({type:"PointerMove",left:e,top:i})}pointerUp(e,i){this._pointerActionEvent.emit({type:"PointerUp",left:e,top:i})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(e,i){i=i||{left:0,top:0,width:0,height:0,forward:!0};const{left0:r,top0:s,left1:o,top1:a}=e;return i.width=Math.abs(r-o),i.height=Math.abs(s-a),i.left=Math.min(r,o),i.top=Math.min(s,a),i.forward=o>r,i}static contains(e,i,r){const{left:s,top:o,width:a,height:l}=r;return e>s&&e<=s+a&&i>=o&&i<=o+l}}class s1 extends Nd{constructor(t){super();const e=this.disposeVar(new sm(t));this.dispose(e.downEvent.disposableOn((o,a,l)=>l.altKey&&this.pointerDown(o,a))),this.dispose(e.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(e.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const i=document.createElement("div");i.style.backgroundColor="rgba(0, 0, 0, 0)",i.style.border="2px dashed red",i.style.position="absolute",i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.height="0px",i.style.width="0px",i.style.left="0px",i.style.top="0px",i.style.display="none",t.appendChild(i),this.dispose(()=>t.removeChild(i)),this.dispose(this.activeEvent.disposableOn(o=>{i.style.display=o?"block":"none"}));const r=()=>{this.reset()};t.addEventListener("contextmenu",r),this.dispose(()=>t.removeEventListener("contextmenu",r));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(Nd.getLeftTopAndSize(o,s)){const{left:a,top:l,width:u,height:h}=s;i.style.height=`${h|0}px`,i.style.width=`${u|0}px`,i.style.left=`${a|0}px`,i.style.top=`${l|0}px`}}))}}class qi extends Error{}function Os(n,t){Zn(n,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),wr(n,"_promise_cancel",t)}function ma(n){return Zn(n,"_promise_cancel")}function va(n){return!!ma(n)}function Od(n,t){const e=ma(n);return e?(e(t),!0):!1}function Dd(n){const[t,e]=n;return Os(e,t),e}function Ah(n){let t;const e=new Promise((i,r)=>{t=r,n.then(i).catch(r)});return Os(e,t),e}function o1(n){let t,e;var i=new Promise((r,s)=>{e=n.disposableOn((...o)=>{e&&e(),r(o)}),t=o=>{e&&e(),s(o)}});return[t,i]}function a1(n){const t=new I,e=new I;return n.then(i=>{t.isDestroyed()||t.emit(i)}).catch(i=>{e.isDestroyed()||e.emit(i)}),[t,e]}class Rd extends V{constructor(){super();f(this,"_cancelled",!1);f(this,"_cancelError");f(this,"_promiseSet",new Set);f(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new V,this._disposer}destroyImp(){this.finally()}cancel(e){var i;if(!this._cancelled){this._cancelled=!0,(i=this._disposer)==null||i.destroy(),this._cancelError=e;for(let r of this._promiseSet)Od(r);this._promiseSet.clear()}}get cancelFuncsNum(){return nu(this._promiseSet,e=>e+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new qi("cancel from CancelManager!")}promise(e){return this._promiseSet.add(e),e.finally(()=>(this._promiseSet.delete(e),this.check()))}promiseAny(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAny!")))),i.length=0))}promiseAll(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAll!")))),i.length=0))}promiseRace(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseRace!")))),i.length=0))}}class Le extends V{constructor(e){super();f(this,"_status","Initial");f(this,"_completeEvent");f(this,"_errorEvent");f(this,"_completeFunc");f(this,"_errorFunc");f(this,"_cancelFunc");f(this,"_runningId",-1);this._startFunc=e,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(e){this._errorFunc!==e&&(this._errorFunc=e)}set completeFunc(e){this._completeFunc!==e&&(this._completeFunc=e)}start(...e){if(this._status!=="Initial")return;const i=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(r),(s=this._completeEvent)==null||s.emit(r))},errorFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(r),(s=this._errorEvent)==null||s.emit(r))},runningingID:i},...e)}cancel(e=new qi("")){var i;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(e),(i=this._errorEvent)==null||i.emit(e),this._cancelFunc(e),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(e=new qi(""),...i){this.isRunning&&this.cancel(e),this.reset(),this.start(...i)}restartIfNotRunning(...e){this.isRunning||(this.reset(),this.start(...e))}}function ru(n){return(t,...e)=>{const i=new Rd,{completeFunc:r,errorFunc:s}=t,o=n(i,...e).then(r).catch(s).finally(()=>i.destroy());return Os(o,i.cancel.bind(i)),a=>Od(o,a)}}class l1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=Ph(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class u1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=Ph(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}function h1(n){return new Le(ru((t,...e)=>t.promise(n(...e))))}function c1(n,...t){return new Le(ru(e=>e.promise(n(...t))))}function Lh(n){return h1((...t)=>{const e=n(...t);return va(e)?e:Ah(e)})}function Ad(n,...t){return c1(()=>{const e=n(...t);return va(e)?e:Ah(e)})}function d1(n){let t;const e=new Promise((i,r)=>{t=()=>{n(),r()}});return Os(e,t),e}function f1(n,...t){const e=new Rd,i=n(e,...t).finally(()=>e.destroy());return Os(i,e.cancel.bind(e)),i}function gi(n){return new Le(ru(n))}function g1(n,...t){return new Le(ru(e=>n(e,...t)))}function om(n,...t){const e=new AbortController;let i=e.signal,[r,s]=t;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=i;let o=!1;const a=()=>{o=!0,e.abort()};let l=fetch(r,s);return n&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length");h||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!n)throw new Error("!progressFunc");d+=S.byteLength,n(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw o?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new qi(`fetching cancelled! error: ${u}`)):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),Os(l,a),l}function p1(n,...t){return om(n,...t)}function Ld(...n){return om(void 0,...n)}function m1(){return Lh(Ld)}function v1(...n){return Ad(Ld,...n)}function Fd(n,...t){let e=-1;var i=new Promise((r,s)=>{n.isRunning&&n.cancel(),n.reset();const o=new V;o.dispose(n.completeEvent.disposableOn(a=>{if(r(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(n.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),n.start(...t),e=n.runningId});return[r=>e===n.runningId&&n.isRunning&&n.cancel(r),i]}function Cr(n,t,...e){try{return t(...e)}catch(i){n(i)}}function y1(){return new Le(({completeFunc:n,errorFunc:t},e)=>ga(()=>Cr(t,()=>{e&&e(),n()})))}function _1(n){return new Le(({completeFunc:t,errorFunc:e})=>ga(()=>Cr(e,()=>{n&&n(),t()})))}function w1(){return new Le(({completeFunc:n,errorFunc:t},e)=>Kl(()=>{Cr(t,()=>{e&&e(),n()})}))}function E1(n){return new Le(({completeFunc:t,errorFunc:e})=>Kl(()=>{Cr(e,()=>{n&&n(),t()})}))}function am(){return new Le(({completeFunc:n,errorFunc:t},e,i)=>yd(()=>{Cr(t,()=>{e&&e(),n()})},i??1e3))}function lm(n,t){return new Le(({completeFunc:e,errorFunc:i})=>yd(()=>{Cr(i,()=>{n&&n(),e()})},t??1e3))}function C1(){return new Le(({errorFunc:n},t,e=1e3)=>vd(()=>Cr(n,t),e))}function S1(n,t=1e3){return new Le(({errorFunc:e})=>vd(()=>Cr(e,n),t))}function su(){return new Le(({errorFunc:n},t)=>Ih(e=>Cr(n,t,e)))}function ya(n){return new Le(({errorFunc:t})=>Ih(e=>Cr(t,n,e)))}function ou(n,...t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o(t)},n)});return Os(r,o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new qi("sleep cancel error!"))}),r}function b1(){return Lh(ou)}function P1(n,...t){return Ad(ou,n,...t)}function mo(n,t,...e){return n.promise(Dd(Fd(gi(async(i,...r)=>(n.disposer.dispose(()=>{i.isDestroyed()||i.cancel()}),await t(i,...r))),...e)))}function I1(n,t,...e){return n.promise(Dd(Fd(t,...e)))}class x1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=bd(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class M1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=bd(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class Fh extends V{constructor(e=1e3,i=Th){super();f(this,"_speed");f(this,"_speedChangedEvent");f(this,"_duration");f(this,"_durationChangedEvent");f(this,"_loop");f(this,"startUpdateFunc");f(this,"_updateBindThis");f(this,"_cancelStartUpdateFunc");f(this,"_startTimeStamp");f(this,"_playingChangedEvent");f(this,"_startPlayingEvent");f(this,"_stopPlayingEvent");f(this,"_loopChangedEvent");f(this,"_currentTime",this.disposeVar(B(0)));this._speed=1,this._duration=e,this._loop=!1,this.startUpdateFunc=i,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(e){this._loop!==e&&(this._loop=e,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(e){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const i=(e-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(i)}}get currentTime(){return this._currentTime.value}set currentTime(e){this._setCurrentTimeInner(e),this._resetStartTime()}_setCurrentTimeInner(e){this._currentTime.value!==e&&(this._duration<=0?this._currentTime.value=0:e<0?this.loop?this._currentTime.value=this._duration+e%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):e>this._duration?this.loop?this._currentTime.value=e%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=e)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(e){var i;if(e<0)console.warn("duration sholud greater than 0!");else if(this._duration!==e){const r=this._duration;this._duration=e,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(i=this._durationChangedEvent)==null||i.emit(this._duration,r)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(e){var i;if(this._speed!==e&&e!==0){const r=this._speed;this._speed=e,this._resetStartTime(),(i=this._speedChangedEvent)==null||i.emit(this._speed,r)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var e,i;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(e=this._startPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!0)}_stopPlaying(){var e,i;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(e=this._stopPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(e){!!this._cancelStartUpdateFunc!==e&&(e?this._startPlaying():this._stopPlaying())}}class au extends V{constructor(e){super();f(this,"_stop",this.disposeVar(B(0)));f(this,"_current",this.disposeVar(B(0)));f(this,"_start",this.disposeVar(B(0)));f(this,"_player",this.disposeVar(new Fh(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(i=>{let r=i/this._player.duration;r=r>1?1:r<0?0:r;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*r})),this.duration=e}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(e){this._player.duration=e}set target(e){this._start.value=this._current.value,this._stop.value=e,this._player.currentTime=0,this._player.playing=!0}reset(e){this._start.value=e,this._current.value=e,this._stop.value=e,this._player.playing=!1}}let um=-1;class oe extends I{constructor(t,e,i,r){super(),this._domElement=t,this._type=e,this.callback=r;const s=o=>(o.__xbsj_listenerNo__=++um,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,i),this.dispose(()=>this._domElement.removeEventListener(this._type,s,i))}static getLastLisenNo(){return um}static getCurrentTarget(t){return t.__xbsj_lastCurrentTarget__}static getListenerNo(t){return t.__xbsj_listenerNo__}static getListenerTime(t){return t.__xbsj_listenerTime__}static on(t,e){const i=oe.getLastLisenNo();return t.disposableOn(r=>{const s=oe.getListenerNo(r);(s===void 0||s>i)&&e(r)})}get element(){return this._domElement}static create(t,e,i){return new oe(t,e,i)}}class kd extends V{constructor(){super();f(this,"_clickEvent",this.disposeVar(new I));f(this,"_dbclickEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"dbClickDelayTime",300);f(this,"nativeClickDelayTime",500);f(this,"clickMovementTolerantPixelSize",3);f(this,"debugging",!1);f(this,"_enabled",this.disposeVar(B(!0)));const e=this.disposeVar(gi(async r=>{do{const s=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h),l.disposer.dispose(oe.on(this._pointerdownEvent,u))})),o=In(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!0),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u("timeout"),this.dbClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u("moved")})),l.disposer.dispose(oe.on(this._pointerdownEvent,u)),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u("pointouted"))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!1),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),i=r=>{r?e.restart():e.isRunning&&e.cancel()};i(this.enabled),this.dispose(this.enabledChanged.disposableOn(i))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}}class T1 extends V{constructor(e,i){super();f(this,"_pointerClick",this.disposeVar(new kd));this._div=e;const{div:r,pointerClick:s}=this,o=h=>s.pointerDown(h),a=h=>s.pointerMove(h),l=h=>s.pointerOut(h),u=h=>s.pointerUp(h);r.addEventListener("pointerdown",o,i),r.addEventListener("pointermove",a,i),r.addEventListener("pointerout",l,i),r.addEventListener("pointerup",u,i),this.dispose(()=>{r.removeEventListener("pointerdown",o,i),r.removeEventListener("pointermove",a,i),r.removeEventListener("pointerout",l,i),r.removeEventListener("pointerup",u,i)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class hm extends V{constructor(){super();f(this,"_hoverEvent",this.disposeVar(new I));f(this,"_hoverOutEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"delayTime",800);const e=this.disposeVar(am()),i=u=>{this._hoverOutEvent.emit()},r=u=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=u=>{s=u,e.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},l=u=>{e.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(i)),this.dispose(this._pointerupEvent.disposableOn(r)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(l))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}}class N1 extends V{constructor(e,i=1500){super();f(this,"_hoverEvent",new I);f(this,"_hoverOutEvent",new I);const r=new xd(i);this.dispose(()=>r.destroy());let s=0,o=0,a;r.progressFunc=()=>this._hoverEvent.emit(s,o,a);const l=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(d),r.debounce(),this._hoverOutEvent.emit()},u=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},h=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},c=d=>{r.isRunning&&r.cancel(),this._hoverOutEvent.emit()};e.addEventListener("pointerdown",l),e.addEventListener("pointerup",u),e.addEventListener("pointermove",h),e.addEventListener("pointerout",c),this.dispose(()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",u),e.removeEventListener("pointermove",h),e.removeEventListener("pointerout",c)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class cm extends V{constructor(e,i={}){super();f(this,"_needRedrawEvent");f(this,"_needPickRedrawEvent");f(this,"_id",fa());f(this,"_clickEvent");f(this,"_clickOutEvent");f(this,"_dbclickEvent");f(this,"_dbclickOutEvent");f(this,"_actived",!1);f(this,"_activedChanged");f(this,"_hovered",!1);f(this,"_hoveredChanged");f(this,"_selected",!1);f(this,"_selectedChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_show",!0);f(this,"_showChanged");this._canvasPrimitivesContext=e;const{needRedraw:r=!0,needPickRedraw:s=!0}=i;r&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(e){this._actived!==e&&(this._actived=e,this._activedChanged&&this._activedChanged.emit(e,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(e){this._hovered!==e&&(this._hovered=e,this._hoveredChanged&&this._hoveredChanged.emit(e,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(e){this._selected!==e&&(this._selected=e,this._selectedChanged&&this._selectedChanged.emit(e,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(e,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(e,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Bd extends cm{constructor(e,i=[0,0],r=0){super(e);f(this,"_winPosAndDepthChanged");this._winPos=i,this._depth=r,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(e){(this._winPos[0]!==e[0]||this._winPos[1]!==e[1])&&(this._winPos[0]=e[0],this._winPos[1]=e[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(e){this._depth!==e&&(this._depth=e,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function vo(n,t,e,i){const[r,s]=n,[o,a,l,u]=i,h=t[0]*e[0],c=t[1]*e[1],d=r-(h*o+l),g=s-(c*a+u);return{left:d,top:g,right:d+h,bottom:g+c}}function yo(n,t,e,i,r){n.beginPath(),n.moveTo(t,e),n.lineTo(t-i*.5,e-i*.5),n.arc(t,e-i,i*.7071067811865475,Math.PI*.75,Math.PI*.25),n.lineTo(t,e),n.fillStyle=r,n.fill()}function dm(n,t,e,i,r,s){n.beginPath(),n.moveTo(t+s,e),n.lineTo(t+i-s,e),n.arcTo(t+i,e,t+i,e+s,s),n.lineTo(t+i,e+r-s),n.arcTo(t+i,e+r,t+i-s,e+r,s),n.lineTo(t+s,e+r),n.arcTo(t,e+r,t,e+r-s,s),n.lineTo(t,e+s),n.arcTo(t,e,t+s,e,s)}function fm(n,t,e,i,r,s){n.font=r;const o=n.measureText(i),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,l=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,u=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let h=l+u;n.fillStyle=s,n.fillText(i,t-a*.5,e+h*.5-u)}function gm(n){const{width:t,height:e}=n,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,s=document.createElement("canvas");s.width=i,s.height=r;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(n,0,0,i,r),s}function pm(n,t){const{width:e,height:i}=n,r=n.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[s,o,a]=t.map(c=>c*255|0),l=r.getImageData(0,0,e,i),u=l.data;for(var h=0;h<u.length;h+=4)u[h]=s,u[h+1]=o,u[h+2]=a;r.putImageData(l,0,0)}function Vd(n,t,e,i=[.5,1,0,0],r,s="12px Arial",o=2,a="#FFF",l="#000A"){n.font=s;const u=n.measureText(r),h=u.actualBoundingBoxLeft+u.actualBoundingBoxRight,c=u.fontBoundingBoxAscent+u.fontBoundingBoxDescent,d=t,g=e,p=h+o*2,y=c+o*2,{left:w,top:S,bottom:v}=vo([d,g],[p,y],[1,1],i);n.fillStyle=l,dm(n,w,S,p,y,o),n.fill(),n.fillStyle=a,n.fillText(r,w+o,v-o-u.fontBoundingBoxDescent)}function lu(n){return("00"+n.toString(16).toUpperCase()).substr(-2)}function uu(n){const[t,e,i,r]=n.map(s=>s*255|0);return`#${lu(t)}${lu(e)}${lu(i)}${lu(r)}`}function zd(n,t){const[e,i,r]=t,s=`${e}-${i}-${r}`;let o=Zn(n,s);return o||(o=gm(n),pm(o,t),wr(n,s,o)),o}class O1 extends Bd{constructor(e,i,r=[32,32],s=[.5,1,0,0],o="#F00F"){super(e);f(this,"_tooltip","");f(this,"_title","");f(this,"__scale",[1,1]);f(this,"_tooltipAlpha",0);f(this,"_bgColor",[.3,.3,.3,.8]);f(this,"_bgColorHexStr",uu(this._bgColor));f(this,"_fgColor",[1,1,1,1]);f(this,"_fgColorHexStr",uu(this._fgColor));this._image=i,this._size=r,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new au(100),l=new au(100);this.dispose(()=>{a.destroy(),l.destroy()});const u=()=>{if(this._clickEvent&&!this._clickEvent.empty){const h=(1+.08*l.current)*(1+.08*a.current);this._scale=[h,h],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(h=>{l.target=h?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(h=>{a.target=h?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(l.currentChanged.disposableOn(u)),this.dispose(a.currentChanged.disposableOn(u))}set size(e){const[i,r]=e,[s,o]=this._size;(s!==i||o!==r)&&(this._size[0]=i,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[i,r]=e,[s,o]=this.__scale;(s!==i||o!==r)&&(this.__scale[0]=i,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._fgColor.splice(0,4,i,r,s,o),this._fgColorHexStr=uu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._bgColor.splice(0,4,i,r,s,o),this._bgColorHexStr=uu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[i,r,s,o]=this._originRatioAndOffset,[a,l,u,h]=e;(i!==a||r!==l||s!==u||o!==h)&&(this._originRatioAndOffset.splice(0,4,a,l,u,h),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:l}=vo([i,r],this._size,this.__scale,this._originRatioAndOffset),u=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const h=zd(this._image,[1,0,0]),{left:c,top:d}=vo([i,r+3],[s+6,o+6],[1,1],this._originRatioAndOffset);e.drawImage(h,c,d,s+6,o+6)}if(this.actived){const[h,c,d,g]=this._fgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+4],[s+8,o+8],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+8,o+8)}if(this.hovered){const[h,c,d,g]=this._bgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+2],[s+4,o+4],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+4,o+4)}e.drawImage(this._image,a,l,s,o)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,l,s,o);if(this._title!==""&&Vd(e,i+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u,this._hovered&&this._tooltip!==""){const h=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Vd(e,i,r-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=h}}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=i("default"),a=this._size[0]*this.__scale[0],l=this._size[1]*this.__scale[1],{left:u,top:h}=vo([r,s],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=o,e.fillRect(u,h,a,l)}}class D1 extends Bd{constructor(e){super(e);f(this,"_width",16);f(this,"_text","");f(this,"_fillStyle","#0F0");f(this,"_scale",1);f(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const i=this.disposeVar(new au(100)),r=this.disposeVar(new au(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*r.current)*(1+.2*i.current))};this.dispose(r.currentChanged.disposableOn(s)),this.dispose(i.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{r.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(e){this._scale!==e&&(this._scale=e,this._scaleChanged&&this._scaleChanged.emit(e,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(e){this._width!==e&&(this._width=e,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(e){this._text!==e&&(this._text=e,this.needRedraw())}get text(){return this._text}set fillStyle(e){this._fillStyle!==e&&(this._fillStyle=e,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=e.globalAlpha;e.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&yo(e,i,r+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&yo(e,i,r+5,o+5,"#FFF"),this.hovered?yo(e,i,r+3,o+3,"#000A"):yo(e,i,r+1,o+1,"#000A"),yo(e,i,r,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";fm(e,i,r-o,this._text,a,"#000"),e.globalAlpha=s}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=this._width*this._scale,a=i("default");yo(e,r,s,o,a)}}const mm=new ArrayBuffer(4),vm=new Uint32Array(mm),_o=new Uint8Array(mm);function ym(n){if(n>=16777215)throw new Error("uint32 > 0xFFFFFF");return vm[0]=n,[_o[0],_o[1],_o[2]]}function _m(n,t,e){return _o[0]=n,_o[1]=t,_o[2]=e,_o[3]=0,vm[0]}class wm extends V{constructor(){super(...arguments);f(this,"_pickColors",new Array(16777215));f(this,"_pickColorIndex",0)}reset(){for(let e=0;e<this._pickColorIndex;++e){const i=this._pickColors[e];if(!i)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");i.poi=null,i.tag=""}this._pickColorIndex=0}createPickColor(e,i){const r=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[r];s?(s.poi=e,s.tag=i):this._pickColors[r]={poi:e,tag:i};const[o,a,l]=ym(r);return[o,a,l]}getPickInfoFromColor(e,i,r){const s=_m(e,i,r);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Em=(n,t)=>t.depth-n.depth;class R1 extends V{constructor(){super();f(this,"_pois",[]);f(this,"_canvasElement");f(this,"_ctx");f(this,"_offscreenCanvasElement");f(this,"_offscreenCanvasElement2");f(this,"_offscreenCtx");f(this,"_offscreenCtx2");f(this,"_size",[0,0]);f(this,"_needRedraw",!1);f(this,"_needPickRedraw",!1);f(this,"_pickColorManager",new wm);const e=document.createElement("canvas");e.style.width="100%",e.style.height="100%",this._canvasElement=e;const i=e.getContext("2d");if(i===null)throw new Error("cannot get context 2d!");this._ctx=i,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(ya(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:l}=this._canvasElement;(s!==a||o!==l)&&(this._size[0]=a,this._size[1]=l,this._canvasElement.width=a,this._canvasElement.height=l,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=l,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=l,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(e){if(typeof Zn(e,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(e)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(e),this._dirty();const i=e._needRedrawEvent;if(i){const s=i.on(()=>{this._needRedraw=!0});wr(e,"needRedrawEventHandler",s)}const r=e._needPickRedrawEvent;if(r){const s=r.on(()=>{this._needPickRedraw=!0});wr(e,"needPickRedrawEventHandler",s)}}removePoi(e){const i=this._pois.indexOf(e);if(i===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(i,1),this._dirty();const r=e._needRedrawEvent;if(r){const o=Zn(e,"needRedrawEventHandler");o?r.off(o):console.error("poi没有listenHandler!")}const s=e._needPickRedrawEvent;if(s){const o=Zn(e,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Em);const[e,i]=this._size;this._ctx.clearRect(0,0,e,i),this._pois.forEach(r=>r.draw(this._ctx))}pick(e,i,r,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(e,i,r,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Em);const[e,i]=this._size;this._offscreenCtx.clearRect(0,0,e,i),this._pois.forEach(r=>{const s=o=>{const[a,l,u]=this._pickColorManager.createPickColor(r,o);return`rgb(${a}, ${l}, ${u})`};r.drawForPick(this._offscreenCtx,s)})}_getPickInfo(e,i,r,s){const o=this._offscreenCtx.getImageData(e,i,r,s),a=[],l=o.data.length/4;for(let u=0;u<l;++u){const h=o.data[u*4+0],c=o.data[u*4+1],d=o.data[u*4+2];if(o.data[u*4+3]===255){const p=this._pickColorManager.getPickInfoFromColor(h,c,d);if(p&&p.poi&&!a.includes(p)){let y=!0;{const[w,S]=this._size;this._offscreenCtx2.clearRect(0,0,w,S);const v=P=>"rgb(255, 255, 255)";p.poi.drawForPick(this._offscreenCtx2,v);const _=this._offscreenCtx2.getImageData(e,i,r,s),E=_.data[u*4+0],C=_.data[u*4+1],b=_.data[u*4+2];_.data[u*4+3],E===255&&C===255&&b===255||(y=!1)}y&&a.push(p)}}}return a}}class jd extends V{constructor(){super(...arguments);f(this,"_closeEvent");f(this,"_show",!0);f(this,"_showChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_winPos",[0,0]);f(this,"_winPosChanged")}set winPos(e){const[i,r]=e,[s,o]=this._winPos;(i!==s||r!==o)&&(this._winPos[0]=i,this._winPos[1]=r,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Ud=new WeakMap;function Gd(n){if(!Ud.has(n)){const t=new Eh(()=>new n,e=>e.reset());Ud.set(n,t)}return Ud.get(n)}class qd extends jd{constructor(){super();f(this,"_div");f(this,"_contentDiv");f(this,"_originOffsetX",0);f(this,"_originOffsetY",0);f(this,"_originRatioX",.5);f(this,"_originRatioY",1);f(this,"_divChanged",new I);const e=document.createElement("div");e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const i=document.createElement("div");i.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const r=document.createElement("div");this._contentDiv=r,i.appendChild(r),e.appendChild(i),this._div=e,this.dispose(this._divChanged.disposableOn(()=>{i.style.left=`${-this._originOffsetX}px`,i.style.top=`${-this._originOffsetY}px`,i.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(e){this._originOffsetX!==e&&(this._originOffsetX=e,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(e){this._originOffsetY!==e&&(this._originOffsetY=e,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(e){this._originRatioX!==e&&(this._originRatioX=e,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(e){this._originRatioY!==e&&(this._originRatioY=e,this._divChanged.emit())}get element(){return this._div}}class Cm extends V{constructor(e,i){super();f(this,"_floatDiv");f(this,"_show",!1);f(this,"_showChanged");this._customDivClass=e,this._divContainer=i,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:i}=this;i.element.parentElement||this._divContainer.appendChild(i.element)}else{const{_floatDiv:i}=this;i&&i.element.parentElement&&this._divContainer.removeChild(i.element)}}set show(e){this._show!==e&&(this._show=e,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(e))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const e=Gd(this._customDivClass).create();this.dispose(()=>{Gd(this._customDivClass).destroy(e)}),this._floatDiv=e}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const A1=["top","bottom","left","right"];function L1(n){return Object.entries(n).map(([t,e])=>A1.includes(t)?`${t}: ${e}px; `:"").join("")}function Sm(n,t,e){const i=document.createElement("div");i.style.cssText=`position: absolute; ${L1(e)} background-color: ${n}; border-radius: ${t}px;`;const r='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return i.innerHTML=r,i}function bm(n,t,e="rgba(0,0,0,0.7)"){const i=document.createElement("div");i.style.cssText=`margin: 0 auto; width: ${n}px; height: ${t}px; position: relative; pointer-events: none;`;const r=document.createElement("div");return r.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${n*.5}px solid transparent; border-right: ${n*.5}px solid transparent; border-top: ${t}px solid ${e};`,i.appendChild(r),[i,r]}class Pm extends qd{constructor(){super();f(this,"_borderDiv");f(this,"_closeDiv");f(this,"_innerContentDiv");f(this,"_colorStr","rgba(0, 0, 0, 0.7)");f(this,"_divColorChanged",new I);f(this,"_borderRadius",10);const e=document.createElement("div");e.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=e;const i=Sm(this._colorStr,10,{top:3,right:3}),[r,s]=bm(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,e.appendChild(o),e.appendChild(i),this.contentDiv.appendChild(e),this.contentDiv.appendChild(r),i.style.opacity="0.1",i.onmouseenter=()=>{i.style.opacity="1.0"},i.onmouseleave=()=>{i.style.opacity="0.1"},i.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=i,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,e.style.backgroundColor=this._colorStr,r.style.width=`${this._borderRadius*2}px`,r.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=l=>{l.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(e){this._colorStr!==e&&(this._colorStr=e,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(e){this._borderRadius!==e&&(this._borderRadius=e,this._divColorChanged.emit())}}class F1 extends Pm{constructor(){super();f(this,"_iframe");f(this,"_iframeMessageEvent");const e=document.createElement("iframe");e.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",e.src="http://www.weather.com.cn/live/index.shtml",this._iframe=e,this.innerContentDiv.appendChild(e);const i=r=>{r.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(r):console.warn(`iframe消息接收到未处理!data: ${r.data}`))};window.addEventListener("message",i),this.dispose(()=>{window.removeEventListener("message",i)})}reset(){super.reset(),this.src=""}set src(e){this._iframe.src!==e&&(this._iframe.src=e)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class k1 extends jd{constructor(){super();f(this,"_div");f(this,"_contentContainer");f(this,"_text","");const e=document.createElement("div");this._div=e,e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const i=document.createElement("div");i.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const r=document.createElement("div");r.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",r.innerText=this._text,this._div.appendChild(i),i.appendChild(r),this._contentContainer=r,this._div=e,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(e){this._text!==e&&(this._text=e,this._contentContainer.innerText=e)}get text(){return this._text}}class B1 extends qd{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class V1 extends V{constructor(e,i){super();f(this,"_cursorDiv");f(this,"_pointerOut",this.disposeVar(B(!1)));f(this,"_show",this.disposeVar(B(!0)));this._cursorDiv=new Cm(i,e),this.dispose(()=>this._cursorDiv.destroy());const r=o=>{const[a,l]=In(o);this._cursorDiv.floatDiv.winPos=[a,l]};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function hu(n,t,e){if(!(n.tree===t.tree&&n!==t&&!n.isAncestorOf(t))||n.tree!==t.tree||!n.parent)return!1;if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(t===n||n.isAncestorOf(t)||e!=="inner"&&!t.parent||e==="inner"&&!t.children)}function kh(n,t,e){if(!n.tree||!t.tree||n.tree!==t.tree)return;if(!n.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(t===n){console.warn("自身不能拖放到自身!");return}if(n.isAncestorOf(t)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(e!=="inner"&&!t.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(e==="inner"&&!t.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}n.tree._startTransaction();const i=n.parent.children.indexOf(n);if(n.parent.children.splice(i,1),e!=="inner"){const{parent:r}=t;if(!r||!r.children)throw new Error("!parent");const s=r.children.indexOf(t);e==="before"?r.children.splice(s,0,n):e==="after"&&r.children.splice(s+1,0,n)}else t.children.push(n);n.tree._stopTransaction()}function Im(n,t,e){return Ed(n,i=>hu(i,t,e))}function xm(n,t,e){for(let i of n)hu(i,t,e)?kh(i,t,e):console.warn(`treeItem(id: ${i.id}) cannot move...`)}const z1={checked:1,unchecked:2,indeterminate:3},j1=["checked","unchecked","indeterminate"];class Mm extends V{constructor(e){super();f(this,"_collapsed",this.disposeVar(B(!1)));f(this,"_checkedStatus",this.disposeVar(B("unchecked")));f(this,"_selected",this.disposeVar(B(!1)));f(this,"_moveToPositionMode",this.disposeVar(B("none")));f(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=e;const i=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(i)),this.dispose(this._selected.changed.disposableOn(i)),this.dispose(this._moveToPositionMode.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const r=this.disposeVar(Ae(this._updateCheckedStatusFromChildrenEvent));this.dispose(r.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;wd(this._treeItem.children,o=>(s|=z1[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=j1[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,l=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const u=o.selectedItems.indexOf(this._treeItem);u===-1?l&&console.error("selectedItems index -1"):o.selectedItems.splice(u,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(e){this._collapsed.value=e}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(e){const i=e?"checked":"unchecked";if(this._checkedStatus.value!==i&&(this._checkedStatus.value=i,this._treeItem.children))for(let r of this._treeItem.children)r.uiTreeObject.check(e)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(e){this._selected.value=e}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(e){this._moveToPositionMode.value=e}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const cr=class cr extends V{constructor(e,i=!1,r){super();f(this,"_children");f(this,"_childrenResetedEvent");f(this,"_childrenToChangeEvent");f(this,"_childrenChangedEvent");f(this,"_parent",this.disposeVar(B(void 0)));f(this,"_level",this.disposeVar(B(0)));f(this,"_id");f(this,"_uiTreeObject",this.disposeVar(new Mm(this)));this._tree=e,this._hasChildren=i,this._id=r??fa(),this._id!=="_ROOT"&&cr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),cr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!cr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}cr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),cr.allTreeItems.set(this._id,this),this.dispose(()=>{cr.allTreeItems.delete(this._id)})}static getFromId(e){return cr.wm.get(e)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const e=this.disposeVar(new iu);this._children=e,this.dispose(e.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:l,deleteCount:u,items:h}=a;for(let c=l;c<l+u;++c)o.get(c)._parent.value=void 0;for(let c of h){if(c.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");c._parent.value=this}}}));const i=new Set,r=new Set;this.dispose(e.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){i.clear(),r.clear();for(let l of s){const{start:u,deleteCount:h,items:c}=l;for(let d=u;d<u+h;++d)i.add(o.get(d));for(let d of c)r.add(d)}for(let l of i)r.has(l)&&(i.delete(l),r.delete(l));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,i,r)}})),this.dispose(e.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(e.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(e.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(e=!1){this._children&&(this._children.length=0),this._hasChildren=e,this._childrenResetedEvent&&this._childrenResetedEvent.emit(e)}*getDescendants(e){const i=this,r=[],s=[];for(i.children&&i.children.length>0&&(!e||e(i))&&(r.push(0),s.push(i.children));r.length>0;){const o=r[r.length-1],a=s[s.length-1],l=a.get(o);yield l,o<a.length-1?++r[r.length-1]:(s.pop(),r.pop()),l.children&&l.children.length>0&&(!e||e(l))&&(r.push(0),s.push(l.children))}}*getAncestors(e){let i=this.parent;for(;i&&(yield i,!(e&&!e(i)));)i=i.parent}isDescendantOf(e){for(let i of this.getAncestors())if(i===e)return!0;return!1}isAncestorOf(e){return e.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(e,i){return hu(this,e,i)}moveTo(e,i){kh(this,e,i)}detachFromParent(){if(!this.parent||!this.parent.children)return;const e=this.parent.children.indexOf(this);this.parent.children.splice(e,1)}insertNewTreeItem(e,i){if(i&&i.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&e.startsWith("Inner"))return i&&this.children.push(i),!0;if(e==="Inner")return!1;const r=this.parent;if(!r||!r.children)return!1;const s=r.children.indexOf(this);return e.endsWith("Before")?i&&r.children.splice(s,0,i):e.endsWith("After")&&i&&r.children.splice(s+1,0,i),!0}};f(cr,"wm",new Map),f(cr,"allTreeItems",new Map);let _a=cr;class Tm extends V{constructor(e){super();f(this,"_redrawEvent",this.disposeVar(new I));f(this,"_containerScrollTop",this.disposeVar(B(0)));f(this,"_containerClientHeight",this.disposeVar(B(-1)));f(this,"_container",this.disposeVar(B(void 0)));f(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=e;const i=this._containerClientHeight,r=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Ae(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,i.changed,r.changed,s)),{redrawInfo:a}=this,l=h=>{const c=h.uiTreeObject;return!!h.children&&(!c||!c.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const h=Cd(this._tree.getDescendants(l)),c=this._tree.itemDivHeight,d=c*h,g=es([Ns([es([d-i.value,0]),r.value]),0]),p=g/c|0,y=Math.ceil((g-p*c+i.value)/c)|0;p>0&&(a.topUnvisibleItemNum=p,a.topFreeSpaceHeight=p*this._tree.itemDivHeight);const w=p+y;let S=0;for(let _ of this._tree.getDescendants(l)){if(S>=w)break;S>=p&&a.middleTreeItems.push(_),++S}const v=h-p-y;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let h of this._tree.getDescendants(l))a.middleTreeItems.push(h);this._redrawEvent.emit(a)}));let u;this.dispose(()=>u&&(u.destroy(),u=void 0)),this.dispose(this.containerChanged.disposableOn(h=>{u&&(u.destroy(),u=void 0),h&&(u=su(),u.start(()=>{const{scrollTop:c,clientHeight:d}=h;typeof c>"u"||typeof d>"u"?ca("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=c,this.containerClientHeight=d)}))}))}get container(){return this._container.value}set container(e){this._container.value=e}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(e){const i=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let r=0,s=!1;for(let o of this._tree.getDescendants(i)){if(o===e){s=!0;break}++r}if(s)return[r,r*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let e of this.tree.root.getDescendants()){const i=e.uiTreeObject;i.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(e){this._containerScrollTop.value=e}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(e){this._containerClientHeight.value=e}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(e){for(let i of this._tree.getDescendants())(!e||e(i))&&(yield i)}getAllSelectedItems(){return this.getAllItems(e=>e.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(e=>!e.children&&e.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(e){for(let i of this.getAllSelectedItems())(!e||!e.includes(i))&&(i.uiTreeObject.selected=!1)}}let wa=(dr=class extends V{constructor(e){super();f(this,"_root",this.disposeVar(new _a(this,!0,"_ROOT")));f(this,"_itemChildrenChanged",this.disposeVar(new I));f(this,"_itemChildrenToChange",this.disposeVar(new I));f(this,"_itemsAdded",this.disposeVar(new I));f(this,"_itemsDeleted",this.disposeVar(new I));f(this,"_itemsChanged",this.disposeVar(new I));f(this,"_transactionStack",0);f(this,"_addedItems",new Set);f(this,"_deletedItems",new Set);f(this,"_selectedItems",this.disposeVar(new iu));f(this,"_itemDivHeight",this.disposeVar(B(dr.defaultItemDivHeight)));f(this,"_forceRedrawEvent",this.disposeVar(new I));f(this,"_uiTree",this.disposeVar(new Tm(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((i,r)=>{if(!i.children){console.error("!item.children");return}for(let s of r){const{start:o,deleteCount:a,items:l}=s;for(let u=o;u<o+a;++u){const h=i.children.get(u);this._deletedItems.has(h)?console.error(`this._deletedItems.has(currentItem(${h.id}))`):this._deletedItems.add(h)}for(let u of l)this._deletedItems.has(u)?this._deletedItems.delete(u):this._addedItems.add(u)}this._execTransaction()})),e!==void 0&&(this.itemDivHeight=e)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(e){this._itemDivHeight.value=e}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(e){return this._root.getDescendants(e)}getTreeItemFromId(e){let i;for(let r of this.getDescendants())if(r.id===e){i=r;break}return i}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},f(dr,"defaultItemDivHeight",24),f(dr,"canMoveToTreeItem",hu),f(dr,"moveToTreeItem",kh),f(dr,"canMoveToTreeItems",Im),f(dr,"moveToTreeItems",xm),dr);class ve extends V{constructor(e,i,r=!0,s){super();f(this,"_obj",this.disposeVar(B(void 0)));this._resetEvent=e,this._createFunc=i;const o=this._resetEvent,a=this._createFunc,l=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(l);const u=(...h)=>{l(),this._obj.value=a(...h)};r&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(u))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class U1 extends V{constructor(e,i=!0,r){super();f(this,"_event",this.disposeVar(new I));f(this,"_objResettingWithEvent");this._createFunc=e,this._execOnInit=i,this._initParams=r,this._objResettingWithEvent=this.disposeVar(new ve(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...e){this._event.emit(...e)}}const ld=class ld extends V{constructor(){super();f(this,"_set",new Set);f(this,"_toChangeEvent",this.dv(new I));f(this,"_changedEvent",this.dv(new I));f(this,"main");this.dispose(()=>{this._set.size!==0&&(ld.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...e){if(e.length==2&&typeof e[1]=="boolean")e[1]&&(this.main=e[0]);else for(let i of e)this._toChangeEvent.emit([],[i]),this._set.add(i),this._changedEvent.emit([],[i])}delete(...e){for(let i of e)this.main&&this.main==i&&(this.main=void 0),this._toChangeEvent.emit([i],[]),this._set.delete(i),this._changedEvent.emit([i],[])}disposableAdd(...e){return e.length==2&&typeof e[1]=="boolean"?(e[1]&&(this.main=e[0]),this.add(e[0]),()=>this.delete(e[0])):(this.add(...e),()=>this.delete(...e))}get size(){return this._set.size}clear(){const e=[...this._set];this._toChangeEvent.emit([],e),this._set.clear(),this._changedEvent.emit([],e),this.main=void 0}values(){return this._set.values()}};f(ld,"warnOnDestroying",!0);let Bh=ld;async function Nm(n){const t=[],e=[],i=n.entries();for await(const[r,s]of i){const o=s;o.kind==="file"?t.push(r):o.kind==="directory"&&e.push(r)}return{files:t,dirs:e}}async function Wd(n){return await(await n.getFile()).text()}async function Om(n){const t=await Wd(n);try{return JSON.parse(t)}catch{return}}async function Dm(n){return await(await n.getFile()).arrayBuffer()}class Rm extends V{constructor(t){super(),this._rootDirHandle=t}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await Nm(this._rootDirHandle)}async getDir(t){let e=this._rootDirHandle;for(const i of t)if(e=await(e==null?void 0:e.getDirectoryHandle(i)),!e){console.log(`getDirectoryHandle ${i} failed`);return}return e}async getFile(t,e){const i=await this.getDir(t);if(i)try{return await i.getFileHandle(e)}catch(r){console.error(`未能获取当前文件 ${t.join("/")}/${e} error: ${r}`,r);return}}}class Am extends V{constructor(e){super();f(this,"_startRootDirId",0);f(this,"_dirMap",new Map);this._prefix=e}get prefix(){return this._prefix}async getRootDirId(e){let i;try{console.log("window.showDirectoryPicker begin"),i=await window.showDirectoryPicker({id:e,mode:"read"}),console.log("window.showDirectoryPicker end",i)}catch(r){console.error(`LocalFileServer getRootDirId failed: ${r}`,r);return}if(i){const r=++this._startRootDirId,s=`${this._prefix}${r}`;return this._dirMap.set(s,new Rm(i)),s}}getRootDir(e){return this._dirMap.get(e)}async getFile(e){const i=e.split("/");if(i.length<2){console.warn(`LocalFileServer getFile failed: ${e}`);return}const r=i[0],s=this._dirMap.get(r);if(!s){console.warn(`LocalFileServer getFile failed: ${e}`);return}const o=i.slice(1,i.length-1),a=i[i.length-1],l=await s.getFile(o,a);if(!l){console.warn(`LocalFileServer getFile failed: ${e}`);return}return l}async getText(e){const i=await this.getFile(e);if(i)return await Wd(i)}async getArrayBuffer(e){const i=await this.getFile(e);if(i)return await Dm(i)}async getJson(e){const i=await this.getFile(e);if(i)return await Om(i)}async getLocalFilePath(e,i,r){const s=await this.getRootDirId(i);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const l=e?a.files.filter(u=>e.some(h=>u.endsWith(h))):a.files;if(l.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${l[0]}`}}const Lm=new Am("xe2_local");async function G1(n,t,e){return await Lm.getLocalFilePath(n,t,e)}class Fm extends V{constructor(e,i){super();f(this,"_processing",this.disposeVar(gi(async e=>{const i=this._complexImage,r=await e.promise(Zp(this._imageUri,this._complexImage.crossOrigin));r&&r instanceof HTMLImageElement&&(i.size=[r.naturalWidth,r.naturalHeight],i.pixelFormat="RGBA",i.copyTexture({source:r}))})));this._complexImage=e,this._imageUri=i,this._processing.start()}get processing(){return this._processing}}const km=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],Bm=["img","gif","video","flv","hls"];let q1=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden",r.style.width="0px",r.style.height="0px";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class Vm extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new q1(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function Hd(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Xd={},ns={},zm;function jm(){if(zm)return ns;zm=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.loop=ns.conditional=ns.parse=void 0;var n=function i(r,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(u){return i(r,u,o,a)});else if(typeof s=="function")s(r,o,a,i);else{var l=Object.keys(s)[0];Array.isArray(s[l])?(a[l]={},i(r,s[l],o,a[l])):a[l]=s[l](r,o,a,i)}return o};ns.parse=n;var t=function(r,s){return function(o,a,l,u){s(o,a,l)&&u(o,r,a,l)}};ns.conditional=t;var e=function(r,s){return function(o,a,l,u){for(var h=[],c=o.pos;s(o,a,l);){var d={};if(u(o,r,a,d),o.pos===c)break;c=o.pos,h.push(d)}return h}};return ns.loop=e,ns}var ye={},Um;function Gm(){if(Um)return ye;Um=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.readBits=ye.readArray=ye.readUnsigned=ye.readString=ye.peekBytes=ye.readBytes=ye.peekByte=ye.readByte=ye.buildStream=void 0;var n=function(c){return{data:c,pos:0}};ye.buildStream=n;var t=function(){return function(c){return c.data[c.pos++]}};ye.readByte=t;var e=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(d){return d.data[d.pos+c]}};ye.peekByte=e;var i=function(c){return function(d){return d.data.subarray(d.pos,d.pos+=c)}};ye.readBytes=i;var r=function(c){return function(d){return d.data.subarray(d.pos,d.pos+c)}};ye.peekBytes=r;var s=function(c){return function(d){return Array.from(i(c)(d)).map(function(g){return String.fromCharCode(g)}).join("")}};ye.readString=s;var o=function(c){return function(d){var g=i(2)(d);return c?(g[1]<<8)+g[0]:(g[0]<<8)+g[1]}};ye.readUnsigned=o;var a=function(c,d){return function(g,p,y){for(var w=typeof d=="function"?d(g,p,y):d,S=i(c),v=new Array(w),_=0;_<w;_++)v[_]=S(g);return v}};ye.readArray=a;var l=function(c,d,g){for(var p=0,y=0;y<g;y++)p+=c[d+y]&&Math.pow(2,g-y-1);return p},u=function(c){return function(d){for(var g=t()(d),p=new Array(8),y=0;y<8;y++)p[7-y]=!!(g&1<<y);return Object.keys(c).reduce(function(w,S){var v=c[S];return v.length?w[S]=l(p,v.index,v.length):w[S]=p[v.index],w},{})}};return ye.readBits=u,ye}var qm;function W1(){return qm||(qm=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=jm(),e=Gm(),i={blocks:function(d){for(var g=0,p=[],y=d.data.length,w=0,S=(0,e.readByte)()(d);S!==g&&S;S=(0,e.readByte)()(d)){if(d.pos+S>=y){var v=y-d.pos;p.push((0,e.readBytes)(v)(d)),w+=v;break}p.push((0,e.readBytes)(S)(d)),w+=S}for(var _=new Uint8Array(w),E=0,C=0;C<p.length;C++)_.set(p[C],E),E+=p[C].length;return _}},r=(0,t.conditional)({gce:[{codes:(0,e.readBytes)(2)},{byteSize:(0,e.readByte)()},{extras:(0,e.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,e.readUnsigned)(!0)},{transparentColorIndex:(0,e.readByte)()},{terminator:(0,e.readByte)()}]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===249}),s=(0,t.conditional)({image:[{code:(0,e.readByte)()},{descriptor:[{left:(0,e.readUnsigned)(!0)},{top:(0,e.readUnsigned)(!0)},{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{lct:(0,e.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,t.conditional)({lct:(0,e.readArray)(3,function(c,d,g){return Math.pow(2,g.descriptor.lct.size+1)})},function(c,d,g){return g.descriptor.lct.exists}),{data:[{minCodeSize:(0,e.readByte)()},i]}]},function(c){return(0,e.peekByte)()(c)===44}),o=(0,t.conditional)({text:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{preData:function(d,g,p){return(0,e.readBytes)(p.text.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===1}),a=(0,t.conditional)({application:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{id:function(d,g,p){return(0,e.readString)(p.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===255}),l=(0,t.conditional)({comment:[{codes:(0,e.readBytes)(2)},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===254}),u=[{header:[{signature:(0,e.readString)(3)},{version:(0,e.readString)(3)}]},{lsd:[{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{gct:(0,e.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,e.readByte)()},{pixelAspectRatio:(0,e.readByte)()}]},(0,t.conditional)({gct:(0,e.readArray)(3,function(c,d){return Math.pow(2,d.lsd.gct.size+1)})},function(c,d){return d.lsd.gct.exists}),{frames:(0,t.loop)([r,a,l,s,o],function(c){var d=(0,e.peekByte)()(c);return d===33||d===44})}],h=u;n.default=h})(Xd)),Xd}var H1=W1();const X1=Hd(H1);var Y1=jm(),J1=Gm();const $1=(n,t)=>{const e=new Array(n.length),i=n.length/t,r=function(h,c){const d=n.slice(c*t,(c+1)*t);e.splice.apply(e,[h*t,t].concat(d))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,l=0;l<4;l++)for(var u=s[l];u<i;u+=o[l])r(u,a),a++;return e},Q1=(n,t,e)=>{const s=e;var o,a,l,u,h,c,d,C,g,p,E,y,b,P,O,x;const w=new Array(e),S=new Array(4096),v=new Array(4096),_=new Array(4097);for(y=n,a=1<<y,h=a+1,o=a+2,d=-1,u=y+1,l=(1<<u)-1,g=0;g<a;g++)S[g]=0,v[g]=g;var E,C,b,P,x,O;for(E=C=b=P=x=O=0,p=0;p<s;){if(P===0){if(C<u){E+=t[O]<<C,C+=8,O++;continue}if(g=E&l,E>>=u,C-=u,g>o||g==h)break;if(g==a){u=y+1,l=(1<<u)-1,o=a+2,d=-1;continue}if(d==-1){_[P++]=v[g],d=g,b=g;continue}for(c=g,g==o&&(_[P++]=b,g=d);g>a;)_[P++]=v[g],g=S[g];b=v[g]&255,_[P++]=b,o<4096&&(S[o]=d,v[o]=b,o++,(o&l)===0&&o<4096&&(u++,l+=o)),d=c}P--,w[x++]=_[P],p++}for(p=x;p<s;p++)w[p]=0;return w},K1=n=>{const t=new Uint8Array(n);return Y1.parse(J1.buildStream(t),X1)},Z1=n=>{const t=n.pixels.length,e=new Uint8ClampedArray(t*4);for(var i=0;i<t;i++){const r=i*4,s=n.pixels[i],o=n.colorTable[s]||[0,0,0];e[r]=o[0],e[r+1]=o[1],e[r+2]=o[2],e[r+3]=s!==n.transparentIndex?255:0}return e},tE=(n,t,e)=>{if(!n.image){console.warn("gif frame does not have associated image.");return}const{image:i}=n,r=i.descriptor.width*i.descriptor.height;var s=Q1(i.data.minCodeSize,i.data.blocks,r);i.descriptor.lct.interlaced&&(s=$1(s,i.descriptor.width));const o={pixels:s,dims:{top:n.image.descriptor.top,left:n.image.descriptor.left,width:n.image.descriptor.width,height:n.image.descriptor.height}};return i.descriptor.lct&&i.descriptor.lct.exists?o.colorTable=i.lct:o.colorTable=t,n.gce&&(o.delay=(n.gce.delay||10)*10,o.disposalType=n.gce.extras.disposal,n.gce.extras.transparentColorGiven&&(o.transparentIndex=n.gce.transparentColorIndex)),o.patch=Z1(o),o},eE=(n,t)=>n.frames.filter(e=>e.image).map(e=>tE(e,n.gct));async function Wm(n){const e=await(await fetch(n)).arrayBuffer(),i=K1(e),r=eE(i);return{gif:i,gifFrames:r,arrayBuffer:e}}function Hm(n,t,e){return n<t?t:n>e?e:n}class Xm extends Fh{constructor(e,i=!0,r){super();f(this,"_gifFrames",this.disposeVar(B(void 0)));f(this,"_gifDurations",[]);f(this,"_gifDuration",this.disposeVar(B(0)));f(this,"_gifSize",this.disposeVar(B([0,0],(e,i)=>e.every((r,s)=>r===i[s]),e=>[...e])));f(this,"_autoPlayOnLoad",this.disposeVar(B(!0)));f(this,"_gifCanvas");this._container=e,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(u=>{if(!u||u.length===0){s.width=0,s.height=0;return}const{width:h,height:c}=u[0].dims;this._gifSize.value=[h,c];const d=u.length;let g=0;this._gifDurations.length=0;for(let p=0;p<d;++p)g+=u[p].delay,this._gifDurations.push(g);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=h,s.height=c,a=o.createImageData(h,c),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let l=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(u=>{const h=Hm(u/this.duration,0,1),c=this.gifDuration*h,d=this._gifFrames.value;if(d&&d.length>0){const g=this._getFrame(c);if(g===l)return;l=g;const p=d[g];if(p.disposalType!==0&&p.disposalType!==1&&p.disposalType!==2&&ca(`gif parsed get disposalType ${p.disposalType}... frame: ${g} size: ${JSON.stringify(p.dims)}`,`gif parsed get disposalType ${p.disposalType}...`),a&&(g===0||p.disposalType===2)&&a.data.fill(0),a){const[y,w]=this._gifSize.value,{width:S,height:v,left:_,top:E}=p.dims;if(v>w)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let b=0;b<S;++b){const P=C*S+b,x=E+C,O=_+b,L=x*y+O,M=a.data,A=p.patch,R=A[P*4+3]/255;M[L*4+0]=M[L*4+0]*(1-R)+A[P*4+0]*R|0,M[L*4+1]=M[L*4+1]*(1-R)+A[P*4+1]*R|0,M[L*4+2]=M[L*4+2]*(1-R)+A[P*4+2]*R|0,M[L*4+3]=Hm(M[L*4+3]+A[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else ca("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=i,this._gifFrames.value=r}get gifCanvas(){return this._gifCanvas}set gifFrames(e){this._gifFrames.value=e}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(e){this._autoPlayOnLoad.value=e}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(e){const i=this._gifDurations.length;for(let r=0;r<i;++r)if(e<=this._gifDurations[r])return r;throw new Error("should not be here")}}class Ym extends V{constructor(e){super();f(this,"_player");f(this,"_url",this.disposeVar(B("")));f(this,"_loadGifFramesProcessing",this.disposeVar(Lh(e=>Ah(Wm(e)))));this._player=this.disposeVar(new Xm(e)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:i})=>this._player.gifFrames=i,this.dispose(this._url.changed.disposableOn(i=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new qi(`reload gif(${i})`),i)}))}get player(){return this._player}set url(e){this._url.value=e}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Jm extends V{constructor(e,i){super();f(this,"_gif",this.disposeVar(new Ym));f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:e}=this._gif;if(!e.gifFrames)return;const i=this._complexImage,{width:r,height:s}=e.gifCanvas;i.size=[r,s],i.pixelFormat="RGBA",i.copyTexture({source:e.gifCanvas});{const o=()=>{e.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{e.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function $m(n,t){const[e,i,r]=Zr(n),s=B(void 0),o=()=>{const a=e()??t;s.value=a&&Z.context.getStrFromEnv(a)};return o(),r&&s.d(r.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Qm(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(i,r)=>{const s=Z.context.getEnv(r);return s===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):s});return Qm(e)}class nE extends V{constructor(e){super();f(this,"_sceneObjRefs",new Map);f(this,"_refs",{});f(this,"_refsChanged",this.dv(new I));const i=(r,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(r);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${r.id} type: ${r.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(r),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
22
22
|
${l.map(h=>`${h.id} ${h.typeName}
|
|
23
23
|
`).join(" ")}`)):this._sceneObjRefs.set(s,[r]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,a)}};this.d(e.sceneObjCreatedEvent.don(r=>{const s=(o,a)=>i(r,o,a);r.ref&&s(r.ref,void 0),r.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(r=>{r.ref&&i(r,void 0,r.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const i=this.getSceneObjects(e);if(i)return i[i.length-1]}getSceneObjects(e){const i=this._sceneObjRefs.get(e);if(!(!i||i.length===0))return i}}class iE extends V{constructor(){super();f(this,"_esObjConstructors",new Map);f(this,"_sceneObjs",new Map);f(this,"_sceneObjCreatedEvent",new I);f(this,"_sceneObjToDestroyEvent",new I);f(this,"_refsManager",this.dv(new nE(this)));f(this,"_environmentVariables",window.ESSDK_ENV||{});f(this,"_environmentVariablesChanged",this.dv(new I))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(e,i,r){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,i),r&&wr(i,"__sceneObjExtraInfo",r),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,i){if(!i||this._sceneObjs.has(i)){const s=fa();i&&console.warn(`已存在相同id的对象!id自动变更!${i} -> ${s} 请注意:id变更可能导致引用失效!`),i=s}if(!i)throw new Error("id不能为空!");const r=new e(i);return r.id!==i&&(console.warn(`sceneObj.id(${r.id}) !== id(${i}) sceneObjectType: ${r.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(r),r}createSceneObject(e,i){if(typeof e=="string"){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(r,i)}else return this.createSceneObjectFromClass(e,i)}createSceneObjectFromUrl(e,i){let r;const s=e.toLowerCase();if(s.includes(".gltf")||s.includes(".glb")?r="ESGltfModel":s.includes("tileset.json")?r="ES3DTileset":s.includes("layer.json")||s.includes("ion://1")?r="ESTerrainLayer":s.includes(".jpg")||s.includes(".png")||s.includes(".jpeg")||s.includes(".webp")||s.includes("image/jpg")||s.includes("image/png")||s.includes("image/jpeg")||s.includes("image/webp")?r="ESImageLabel":(s.includes("/tilemapresource.xml")||s.includes("ion://")||s.includes("wms")||s.includes("wmts")||s.includes("{x}")||s.includes("{y}")||s.includes("{z}"))&&(r="ESImageryLayer"),!!r)return this.createSceneObjectFromJson({type:r,id:i,url:e})}createSceneObjectFromJson(e){const i=this.createSceneObject(e.type,e.id);return i&&(i.json=e),i}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const i=[];for(const r of this._sceneObjs.values())r.typeName===e&&i.push(r);return i}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const i=this._esObjConstructors.get(e);if(i)return i}getProps(e){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}return Zn(i,"__sceneObjExtraInfo")}setProps(e,i){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`cannot get constructor from type: ${e}`);return}let s=Zn(r,"__sceneObjExtraInfo");s||(s={},wr(r,"__sceneObjExtraInfo",s)),Object.assign(s,i)}getProp(e,i){const r=this.getProps(e);return r&&r[i]}setProp(e,i,r){this.setProps(e,{[i]:r})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[i,r]of Object.entries(e))this.setEnv(i,r)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,i){if(this._environmentVariables[e]!==i){const r=this._environmentVariables[e];this._environmentVariables[e]=i,this._environmentVariablesChanged.emit(e,i,r)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return Qm(e)}createEnvStrReact(e,i){return $m(e,i)}createEvnStrReact(e,i){return $m(e,i)}}const gt=class gt extends V{constructor(e){super();f(this,"_components",this.dv(new Bh));f(this,"_viewerAttached",this.dv(new I));f(this,"_viewerDetached",this.dv(new I));f(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(i=>{i.actived&&(this.activeViewer=i),i.ad(i.activedChanged.don(r=>{r&&e.has(i)&&(this.activeViewer=i)})),e.add(i)})),this.d(this._viewerDetached.don(i=>{e.delete(i),this.activeViewer==i&&(this.activeViewer=void 0)})),e})());f(this,"_activeViewer",this.disposeVar(B(void 0)));f(this,"_createdEvent",this.dv(new I));f(this,"_flushEvent",this.dv(new I));f(this,"_id");f(this,"_updateFuncReact",this.dv(B(void 0)));f(this,"_toDestroyFuncReact",this.dv(B(void 0)));f(this,"_parentID");e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??fa(),this._initName();{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(r){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${r}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let r;this.d(()=>r&&r.destroy()),this.d(this.updateFuncChanged.don(()=>{r&&r.cancel(),this.updateFunc&&(r=r||su(),r.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(r){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${r}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(e,i,r){ts(i.prototype,i.createDefaultProps);const s=i.createDefaultProps();i.defaults&&(i.defaults={});for(const o of Object.keys(s))i.defaults[o]=s[o]instanceof Ue?s[o].value:s[o];return this.innerRegister(e,i,r),e}static get envs(){return gt.context.environmentVariables}static get $refs(){return gt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const i=new Map;this.d(()=>{i.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(r=>{const s=e(r);s&&i.set(r,s)})),this.d(this._viewerDetached.don(r=>{if(!i.has(r))return;const s=i.get(r);s&&(s.destroy(),i.delete(r))}))}createAttachedObject(e){const i=new Map,r=(()=>{for(let[l,u]of i.entries())u.destroy();i.clear()}),s=l=>{const u=e(l);u&&i.set(l,u)};for(let l of this.attachedViewers)s(l);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(l=>{if(!i.has(l))return;const u=i.get(l);u&&(u.destroy(),i.delete(l))});return()=>{a(),o(),r()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(i=>new rE(i,e))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.type}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return this.constructor.createDefaultProps()}_innerGetJson(e=!0){const i={id:this.id,type:this.typeName};for(let r of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[r];o instanceof Ue?s=o.equals(this[r]):s=o===this[r],s||(i[r]=this[r])}else i[r]=this[r];return i}_innerSetJson(e,i,r){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(r??!1)){let l=this.defaultProps[a];l instanceof Ue&&(l=l.value),this[a]=l}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(e){this._parentID=e}getProperties(e){const i={...this.getESProperties()},r=[];return i.general.length>0&&r.push(new at(i.general,"general")),Object.keys(i).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&i[s].length>0&&r.push(new at(i[s],s))}),r}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ct([this,"typeName"],"类型",void 0,!1,!0),new ct([this,"id"],"唯一标识",void 0,!1,!0),new ct([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ct([this,"ref"],"ref",void 0,!0),new tt([this,"extras"],"extras",void 0,void 0,!0),new nv(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};f(gt,"context",new iE),f(gt,"innerRegister",gt.context.register.bind(gt.context)),f(gt,"defaults",{}),f(gt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:mt(void 0),devTags:ee(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),f(gt,"type",gt.register("ESSceneObject",gt,{chsName:"场景类",tags:["ESObjects"],description:""})),f(gt,"create",gt.context.createSceneObject.bind(gt.context)),f(gt,"createFromUrl",gt.context.createSceneObjectFromUrl.bind(gt.context)),f(gt,"createFromClass",gt.context.createSceneObjectFromClass.bind(gt.context)),f(gt,"createFromJson",gt.context.createSceneObjectFromJson.bind(gt.context)),f(gt,"destroySceneObject",gt.context.destroySceneObject.bind(gt.context)),f(gt,"getSceneObjById",gt.context.getSceneObjectById.bind(gt.context)),f(gt,"getSceneObj",gt.context.getSceneObject.bind(gt.context)),f(gt,"getEnv",gt.context.getEnv.bind(gt.context)),f(gt,"setEnv",gt.context.setEnv.bind(gt.context)),f(gt,"getStrFromEnv",gt.context.getStrFromEnv.bind(gt.context)),f(gt,"getSceneObjectById",gt.context.getSceneObjectById.bind(gt.context)),f(gt,"getSceneObject",gt.context.getSceneObject.bind(gt.context));let Z=gt;class rE extends V{constructor(t,e){super(),this.dv(new ve(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const ud=class ud extends V{constructor(e,i){super();f(this,"_id",++ud._accumId);this._name=e,this._description=i}get id(){return this._id}get name(){return this._name}get description(){return this._description}};f(ud,"_accumId",-1);let Ds=ud;class Yd extends Ds{constructor(t,e,i,r,s){super(t,e),this._withUndefined=i,this._readonly=r,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class Ct extends Yd{constructor(t,e,i,r,s,o){const a=t instanceof Ue?"未获取到属性名":t[1].toString();super(e??a,o??a,r??!1,s??!1,i),this._reactVar=t}get reactVar(){return this._reactVar}}class X extends Ct{get type(){return"BooleanProperty"}}class ct extends Ct{get type(){return"StringProperty"}}class N extends Ct{get type(){return"NumberProperty"}}class sE extends Ct{get type(){return"MaximumScreenSpaceErrorProperty"}}class Km extends Ct{get type(){return"StringsProperty"}}class oE extends Ct{get type(){return"NumbersProperty"}}class aE extends Ct{get type(){return"BooleansProperty"}}class lE extends Ct{get type(){return"String2Property"}}class uE extends Ct{get type(){return"String3Property"}}class hE extends Ct{get type(){return"String4Property"}}class Zm extends Ct{get type(){return"String2sProperty"}}class cE extends Ct{get type(){return"String3sProperty"}}class dE extends Ct{get type(){return"String4sProperty"}}class Fe extends Ct{get type(){return"Number2Property"}}class cn extends Ct{get type(){return"Number3Property"}}class Wi extends Ct{get type(){return"Number4Property"}}class fE extends Ct{get type(){return"Number4WithUndefinedProperty"}}class tv extends Ct{get type(){return"Number2sProperty"}}class Jd extends Ct{get type(){return"Number3sProperty"}}class gE extends Ct{get type(){return"Number4sProperty"}}class pE extends Ct{get type(){return"Boolean2Property"}}class mE extends Ct{get type(){return"Boolean3Property"}}class vE extends Ct{get type(){return"Boolean4Property"}}class yE extends Ct{get type(){return"Boolean2sProperty"}}class _E extends Ct{get type(){return"Boolean3sProperty"}}class wE extends Ct{get type(){return"Boolean4sProperty"}}class EE extends Ct{get type(){return"StringNumberProperty"}}class CE extends Ct{get type(){return"StringNumbersProperty"}}class Pt extends Wi{get type(){return"ColorProperty"}}class SE extends cn{get type(){return"ColorRgbProperty"}}class bE extends N{get type(){return"DashPatternProperty"}}class wt extends Ct{constructor(t,e,i,r,s,o,a){super(t,i,r,s,o,a),this._enums=e}get type(){return"EnumProperty"}get enums(){return this._enums}}class PE extends Ct{constructor(t,e,i,r,s,o,a){super(t,i,r,s,o,a),this._enums=e}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class Rs extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class ev extends Ct{constructor(t,e,i,r,s){super(t,e,r,!1,!1,s),this._paramTypes=i}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class lt extends Ds{constructor(e,i,r,s,o){const a=s??"Unnamed Function";super(a,o??a);f(this,"_paramsProperty");f(this,"_getValueFunc");this._func=i;const l=this.disposeVar(mt(r));this._paramsProperty=this.disposeVar(new ev(l,a+"_params",e,r));const[u]=Zr(this._paramsProperty.reactVar);this._getValueFunc=u}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class at extends Ds{constructor(t,e,i){const r=e??"分组";super(r,i??r),this._children=t}get type(){return"GroupProperty"}get children(){return this._children}}class tt extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class $d extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class IE extends Fe{get type(){return"MinmaxProperty"}}class xE extends Wi{get type(){return"NearFarScalerProperty"}}class nv extends Yd{constructor(t,e,i,r,s,o,a){const l=i??"非响应式Json";super(l,a??l,s??!1,o??!1,r),this._getJsonStringFunc=t,this._setJsonStringFunc=e}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class ME extends Fe{get type(){return"NumberRangeProperty"}}class Ge extends Ct{constructor(t,e,i,r,s,o,a,l){super(t,r,s,o,a,l),this._step=e,this._minMax=i}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function TE(n,t){const[e,i,r]=Zr(n),[s,o,a]=Zr(t),l=B((e()??0)/(s()??3e3)),u=()=>{const h=l.value,c=s()??3e3,d=e()??0;if(!Number.isFinite(c)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${c} currentTime: ${d}`);return}Math.abs(h*c-d)<.001||(c<=0?l.value=0:l.value=d/c)};return l.dispose(r.disposableOn(u)),l.dispose(a.disposableOn(u)),l.dispose(l.changed.disposableOn(()=>{const h=l.value,c=s()??3e3,d=e()??0;if(!Number.isFinite(c)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${c} currentTime: ${d}`);return}Math.abs(h*c-d)<.001||i(h*c)})),l}class Vh extends Ds{constructor(e,i,r,s,o,a){super(s??"播放器",a??"播放器");f(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=e,this._ratioReact=i,this._loopReact=r,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}f(Vh,"createPlayingRatio",TE);class Ea extends cn{get type(){return"PositionProperty"}}class iv extends Ct{get type(){return"PositionsProperty"}}class NE extends Ct{get type(){return"PositionsSetPropety"}}class Qd extends cn{get type(){return"RotationProperty"}}class cu extends ct{get type(){return"UriProperty"}}class rv extends Ds{constructor(e,i,r,s,o,a){const l=s??"视角播放器";super(l,a??l);f(this,"_defaults",{playing:!1,loop:!1});this._playingReact=e,this._stopFn=i,this._loopReact=r,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class sv extends Ct{get type(){return"DatesProperty"}}class wo extends Ct{get type(){return"DateProperty"}}var et=(n=>(n.Place="place",n.Translation="translation",n.Rotation="rotation",n.Scale="scale",n.DoublePointsAppend="doublePointsAppend",n.DoublePointsModify="doublePointsModify",n.CircularAppend="circularAppend",n.CircularInsert="circularInsert",n.LineStringAppend="lineStringAppend",n.LineStringInsert="lineStringInsert",n.ScatterAppend="scatterAppend",n.ScatterModify="scatterModify",n.VisibilityAppend="visibilityAppend",n.VisibilityModify="visibilityModify",n.HeightModify="heightModify",n))(et||{}),ov=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(ov||{});class OE{constructor(t){this.childPickedInfo=t}}class DE{constructor(t,e,i,r,s,o){this.pickResult=t,this.sceneObject=e,this.tilesetPickInfo=i,this.geojsonPickInfo=r,this.attachedInfo=s,this.screenPosition=o}assign(t){t!=null&&t.pickedResult&&(this.pickResult=t.pickedResult),t!=null&&t.sceneObject&&(this.sceneObject=t.sceneObject),t!=null&&t.tilesetPickInfo&&(this.tilesetPickInfo=t.tilesetPickInfo),t!=null&&t.geojsonPickInfo&&(this.geojsonPickInfo=t.geojsonPickInfo),t!=null&&t.attachedInfo&&(this.attachedInfo=t.attachedInfo),t!=null&&t.screenPosition&&(this.screenPosition=t.screenPosition)}}const me=class me extends Z{constructor(e){super(e);f(this,"_editing",this.dv(B(!1)));f(this,"editingID");f(this,"editingBindMode","singlePoint");f(this,"_deprecated",[]);f(this,"_flyInEvent",this.dv(new I));f(this,"_flyToEvent",this.dv(new I));f(this,"_flyOverEvent",this.disposeVar(new I));f(this,"_pickedEvent",this.dv(new I));f(this,"_calcFlyToParamEvent",this.dv(new I));f(this,"_calcFlyInParamEvent",this.dv(new I));f(this,"useCalcFlyToParamInESObjectWithLocation",!1);cv(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let i=0;i<e.length;i++){const r=e[i];typeof r=="string"?Reflect.has(this,r+"Changed")&&this.d(this[r+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${r} 属性下版本将会被移除!`)})):Object.keys(r).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const l=r[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach((u=>{a===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)}))}))})}}get flyInEvent(){return this._flyInEvent}flyIn(e=1){this._flyInEvent.emit(e,me._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,me._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,general:[...e.general,new X([this,"show"],"是否显示",me.defaults.show),new X([this,"collision"],"开启碰撞",me.defaults.collision),new X([this,"allowPicking"],"允许拾取",me.defaults.allowPicking),new lt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new lt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new lt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new lt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new at([],"飞行定位","飞向参数"),new lt(["number"],i=>this.flyTo(i),[1],"飞向"),new tt([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new N([this,"flyToDistance"],"flyToDistance",void 0,!0),new N([this,"flyToHeading"],"flyToHeading",void 0,!0),new N([this,"flyToPitch"],"flyToPitch",void 0,!0),new N([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new N([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new N([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new at([],"飞入参数"),new lt(["number"],i=>this.flyIn(i),[1],"飞入"),new tt([this,"flyInParam"],"flyInParam",void 0,void 0,!0)]}}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,pDelta:e}:void 0}};f(me,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:Yt(void 0),flyInParam:Yt(void 0)})),f(me,"type",me.register("ESVisualObject",me,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),f(me,"supportEditingModes",[]),f(me,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),f(me,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),f(me,"_lastFlyInId",0),f(me,"_lastFlyToId",0);let jt=me;class av extends V{constructor(){super();f(this,"_data",this.dv(B(void 0)))}set data(e){this._data.value=e}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class lv extends V{constructor(){super(...arguments);f(this,"_dragStartEvent",this.dv(new I));f(this,"_dragOverEvent",this.dv(new I));f(this,"_dragLeaveEvent",this.dv(new I));f(this,"_dropEvent",this.dv(new I))}dragStart(e){this._dragStartEvent.emit(e)}dragOver(e){this._dragOverEvent.emit(e)}dragLeave(e){this._dragLeaveEvent.emit(e)}drop(e){this._dropEvent.emit(e)}}function RE(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function AE(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function zh(n,t){Zn(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),wr(n,"__treeItem",t)}function LE(n){return Zn(n,"__treeItem")}function FE(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const t=document.createElement("a");t.href=n;const e=t.href;return t.remove(),e}function Kd(n){if(typeof n!="string")return!1;try{const t=JSON.parse(n);return typeof t=="object"&&t!==null}catch{return!1}}function kE(n){try{return new DOMParser().parseFromString(n,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function BE(n){return n instanceof Function?n():n}function uv(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function is(n,t){const e=n,i=t;return e===void 0||e.length===0||i===void 0||i.length===0?!0:uv(e,i)}function VE(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function Ca(n){let t=n%360;return t=t<0?360+t:t,t}function hv(n){return Ca(n+180)-180}function jh(n,t,e){let i=Ca(n),r=Ca(t);Math.abs(i-r)>180&&(i<r?i+=360:r+=360);const s=i*(1-e)+r*e;return hv(s)}function Zd(n,t,e,i){return i=i||[0,0,0],i[0]=jh(n[0],t[0],e),i[1]=jh(n[1],t[1],e),i[2]=jh(n[2],t[2],e),i}function cv(n,t,e="editing"){const i=new V;n.ad(i);const r=t.bind(n);return i.ad(new ve(n.activeViewerChanged,()=>{const s=new V;let o=n.activeViewer;return o?(s.ad(n[`${e}Changed`].don(()=>{var a;n[`${e}`]?r():(a=(n.components.main??n).editingID)!=null&&a.includes("inner")&&n.activeViewer&&n.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(n.id)&&a.type==="end"){const l=n.components.main??n;l.editingID&&a.editingID.includes(l.editingID)?n[`${e}`]=!1:n[`${e}`]=!l.editingID.includes("outer")}}))):s.ad(n[`${e}Changed`].don(()=>{n[`${e}`]=!1})),s})),n[`${e}`]&&r(),i}class tf extends V{constructor(e){super();f(this,"_sceneObject",this.dv(B(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const i=Z.getSceneObjById(this._id);i&&(this._sceneObject.value=i),this.d(Z.context.sceneObjCreatedEvent.don(r=>{r.id===this._id&&(this._sceneObject.value=r)})),this.d(Z.context.sceneObjToDestroyEvent.don(r=>{r.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class zE extends V{constructor(e,i){super();f(this,"_sofi");this._id=e,this._sofi=this.dv(new tf(this._id));{const r=()=>{i.sceneObject=this._sofi.sceneObject};r(),this.d(this._sofi.sceneObjectChanged.don(r))}}}class dv extends V{constructor(){super();f(this,"_id",this.dv(B(void 0)));f(this,"_sceneObject",this.dv(B(void 0)));f(this,"_resetting",this.dv(new ve(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new zE(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class jE extends V{constructor(e,i,r,s){super();f(this,"_sceneObjectId",this.dv(new dv));this._id=e,this._startTimeStamp=i,this._duration=r,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,l=a-this._startTimeStamp;this.player.currentTime=Dh(l,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Hi?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const UE=`
|
|
24
24
|
用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
|
|
@@ -487,7 +487,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
|
|
|
487
487
|
${ew}
|
|
488
488
|
\`\`\`
|
|
489
489
|
|
|
490
|
-
`,gh=Date.now();new Date(gh).toISOString(),new Date(gh+864e5).toISOString();const _r=class _r extends Z{constructor(e){super(e);f(this,"_flyToEvent",this.disposeVar(new I));f(this,"_resetClockEvent",this.disposeVar(new I))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new tt([this,"data"],_r.defaults.data,vN,"数据",!0),new tt([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new N([this,"multiplier"],"倍速",_r.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new wo([this,"startTime"],"开始时间",_r.defaults.startTime,!0),new wo([this,"stopTime"],"结束时间",_r.defaults.stopTime,!0),new wo([this,"currentTime"],"当前时间",_r.defaults.currentTime,!0),new wt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new wt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new lt(["number"],i=>this.flyTo(i),[1e3],"飞入"),new lt([],()=>this.resetClock(),[],"重设时钟"),new Rs([this,"loadFuncStr"],"loadFnStr",ew,yN,!0)]}}};f(_r,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:Yt(mN),autoResetClock:!0,clockEnabled:!1,startTime:gh,stopTime:gh+864e5,currentTime:gh,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...Z.createDefaultProps()})),f(_r,"type",_r.register("ESCzml",_r,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Ip=_r;const Hl=class Hl extends Z{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([]),new X([this,"show"],"是否显示"),new N([this,"cssSize"],"尺寸"),new Fe([this,"cssPosition"],"位置"),new cu([this,"imgUrl"],"图片地址")]}}};f(Hl,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),f(Hl,"type",Hl.register("ESNavigator",Hl,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let xp=Hl;const Jr=class Jr extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([],"通用","通用"),new X([this,"show"],"是否显示",Jr.defaults.show),new N([this,"height"],"高度",Jr.defaults.height,!0),new N([this,"fontSize"],"文字大小",Jr.defaults.fontSize,!0),new Pt([this,"bgColor"],"背景颜色",Jr.defaults.bgColor,!0)]}}};f(Jr,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:ht([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),f(Jr,"type",Jr.register("ESViewerStatusBar",Jr,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Mp=Jr;const $r=class $r extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([],"通用","通用"),new X([this,"show"],"是否显示",$r.defaults.show),new N([this,"height"],"高度",$r.defaults.height,!0),new N([this,"fontSize"],"文字大小",$r.defaults.fontSize,!0),new Pt([this,"bgColor"],"背景颜色",$r.defaults.bgColor,!0)]}}};f($r,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:ht([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),f($r,"type",$r.register("ESViewerStatusBarScale",$r,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Tp=$r;const Xl=class Xl extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ct([this,"url"],"路径","",!0),new N([this,"progress"],"进度",0,!1,!0)]}}};f(Xl,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",progress:0})),f(Xl,"type",Xl.register("ESGaussianSplatting",Xl,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let Np=Xl;const aa=class aa extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ct([this,"mesh"],"mesh地址",aa.defaults.mesh)]}}};f(aa,"createDefaultProps",()=>({...rt.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),f(aa,"type",aa.register("ESStaticMesh",aa,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Op=aa;const Yl=class Yl extends bt{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_clearEvent",this.dv(new I));f(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new qo),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(z([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(z([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(z([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(z([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(z([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(z([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(z([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清除分析"),new tt([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new tt([this,"depths"],"深度值",[],void 0,!1,!0),new N([this,"radius"],"半径",1e4,!0)]}}};f(Yl,"createDefaultProps",()=>({...bt.createDefaultProps(),windowPositions:_g([]),depths:ee([]),radius:B(1e4)})),f(Yl,"type",Yl.register("ESSkylineAnalysis",Yl,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Dp=Yl;const Ps=class Ps extends jt{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new tt([this,"data"],"数据",[],void 0,!0),new tt([this,"gradient"],"渐变",Ps.defaults.gradient,void 0,!0),new N([this,"radius"],"半径",Ps.defaults.radius,void 0,!0),new N([this,"blur"],"模糊",Ps.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};f(Ps,"createDefaultProps",()=>({...jt.createDefaultProps(),is3D:B(!1),data:Sh([]),gradient:Yt({".5":"green",".7":"yellow",".95":"red"}),radius:B(10),blur:B(.85)})),f(Ps,"type",Ps.register("ESHeatMap",Ps,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let ed=Ps;const la=class la extends bt{constructor(e){super(e);f(this,"editingBindMode","scatter")}};f(la,"createDefaultProps",()=>({...bt.createDefaultProps(),pointed:!0})),f(la,"type",la.register("ESGeoPoints",la,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),f(la,"supportEditingModes",[...bt.supportEditingModes,et.ScatterAppend,et.ScatterModify]);let ph=la;const nw=async(n,t=[],e)=>{const i=[];for(const r of t){const{coordinates:s}=r.geometry;for(const o of s){const a=await Promise.all(o.map(async l=>{let u=l[2]??0;if(e)if(e.type==="absolute")u=e.height??u;else if(e.type==="relative"){const h=await n.getTerrainHeight([l[0],l[1]])??0;u=(e.height??u)+h}else e.type==="terrain"&&(u=await n.getTerrainHeight([l[0],l[1]])??0);return[l[0],l[1],u]}));i.push({...r,points:a})}}return i},iw=async(n,t=[],e)=>await Promise.all(t.map(async i=>{var l,u,h,c,d,g,p,y,w;const r=((l=i.geometry)==null?void 0:l.x)??((h=(u=i.geometry)==null?void 0:u.coordinates)==null?void 0:h[0]),s=((c=i.geometry)==null?void 0:c.y)??((g=(d=i.geometry)==null?void 0:d.coordinates)==null?void 0:g[1]);let a=((p=i.geometry)==null?void 0:p.z)??((w=(y=i.geometry)==null?void 0:y.coordinates)==null?void 0:w[2])??0;if(e)if(e.type==="absolute")a=e.height??a;else if(e.type==="relative"){const S=await n.getTerrainHeight([r,s])??0;a=(e.height??a)+S}else e.type==="terrain"&&(a=await n.getTerrainHeight([r,s])??0);return{...i,points:[r,s,a]}})),rw=async(n,t=[],e)=>{const i=[];return await Promise.all(t.map(async r=>{const{coordinates:s}=r.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async l=>{let u=l[2]??0;if(e)if(e.type==="absolute")u=e.height??u;else if(e.type==="relative"){const h=await n.getTerrainHeight([l[0],l[1]])??0;u=(e.height??u)+h}else e.type==="terrain"&&(u=await n.getTerrainHeight([l[0],l[1]])??0);return[l[0],l[1],u]}));i.push({...r,points:a})}))})),i};function _N(n){const t=Un(n),e=Hy(t),i=Of(t,e/2);return[i.geometry.coordinates[0],i.geometry.coordinates[1],i.geometry.coordinates[2]||0]}function wN(n,t){const e=Un(n),i=Hy(e),r=Math.floor(i/t),s=[];if(s.push(n[0]),r<1)return[n[0]];for(let o=1;o<r;o+=1){const a=Of(e,i*(o/r));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function EN(n){const t=[...n];JSON.stringify(n[0])!==JSON.stringify(n[n.length-1])&&t.push(n[0]);const e=qt([t]),i=Ny(e);return[i.geometry.coordinates[0],i.geometry.coordinates[1],i.geometry.coordinates[2]||0]}function sw(n,t,e){const i=n.dv(new gl);for(const r in e)r!=="type"&&(i[r]=e[r]);i.position=t,n.d(n.components.disposableAdd(i))}function Rp(n,t,e,i){let r=i.textTemplate||i.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(r);){const h=r.match(s);if(h){const c=h[1].trim(),d=e[`${c}`]||"-";r=r.replace(h[0],d)}}let o=i.symbol;const{minVisibleDistance:a,maxVisibleDistance:l}=i;a&&l&&(o={...o,minVisibleDistance:a,maxVisibleDistance:l});const u={...o,text:r};sw(n,t,u)}function yl(n,t){const e={width:null,height:null,color:null,opacity:null,rotation:null};return t.forEach(i=>{i.type==="size"?i.axis==="width"?e.width=n[i.field]||null:i.axis==="height"&&(e.height=n[i.field]||null):i.type==="color"?e.color=n[i.field]||null:i.type==="opacity"?e.opacity=n[i.field]||null:i.type==="rotation"&&(e.rotation=n[i.field]||null)}),e}function Ap(n,t,e){const r={...t.symbol};if(e&&e.length>0){const s=yl(n,e);for(let o in s)r[o]!==void 0&&s[o]!==null&&(r[o]=s[o])}return r}function Lp(n,t,e){var u,h;const i=t,{uniqueValueInfos:r,field:s,fieldDelimiter:o,defaultSymbol:a}=i;let l={...a};if(Array.isArray(s)){const d=s.map(g=>n[g]??"").join(o);l=((u=r.find(g=>g.value==d))==null?void 0:u.symbol)||a}else l=((h=r.find(c=>c.value==n[s]))==null?void 0:h.symbol)||a;if(e&&e.length>0){const c=yl(n,e);for(let d in c)l[d]!==void 0&&c[d]!==null&&(l[d]=c[d])}return l}function Fp(n,t,e){const i=t,{classBreakInfos:r,field:s,defaultSymbol:o}=i;let a=o;const l=n[s];if(l===void 0||typeof l!="number")a=o;else{const u=r.find(h=>l<=h.maxValue&&l>=h.minValue);u?a=u.symbol:a=o}if(e&&e.length>0){const u=yl(n,e);for(let h in u)a[h]!==void 0&&u[h]!==null&&(a[h]=u[h])}return a}function CN(n,t){function e(u,h,c,d){const g=C=>C*Math.PI/180,p=C=>C*180/Math.PI,y=g(u),w=g(c),S=g(d-h),v=Math.sin(S)*Math.cos(w),_=Math.cos(y)*Math.sin(w)-Math.sin(y)*Math.cos(w)*Math.cos(S),E=Math.atan2(v,_);return(p(E)+360)%360}function i(u,h,c,d,g){const y=P=>P*Math.PI/180,w=P=>P*180/Math.PI,S=d/6371e3,v=y(g),_=y(u),E=y(h),C=Math.asin(Math.sin(_)*Math.cos(S)+Math.cos(_)*Math.sin(S)*Math.cos(v)),b=E+Math.atan2(Math.sin(v)*Math.sin(S)*Math.cos(_),Math.cos(S)-Math.sin(_)*Math.sin(C));return{lat:w(C),lng:w(b),alt:c}}function r(u){const h=[];u.length>1&&h.push(e(u[0].lat,u[0].lng,u[1].lat,u[1].lng));for(let c=1;c<u.length-1;c++){const d=e(u[c-1].lat,u[c-1].lng,u[c].lat,u[c].lng),g=e(u[c].lat,u[c].lng,u[c+1].lat,u[c+1].lng);let p=(d+g)/2;Math.abs(d-g)>180&&(p=(p+180)%360),h.push(p)}return u.length>1&&h.push(e(u[u.length-2].lat,u[u.length-2].lng,u[u.length-1].lat,u[u.length-1].lng)),u.length===1&&h.push(0),h}if(!n||n.length<2)throw new Error("至少需要两个点才能生成路径");if(t<=0)throw new Error("宽度必须大于0");const s=t/2,o=r(n),a=[],l=[];for(let u=0;u<n.length;u++){const h=(o[u]+90)%360,c=(o[u]+270)%360,d=n[u].alt!==void 0?n[u].alt:0;a.push(i(n[u].lat,n[u].lng,d,s,h)),l.push(i(n[u].lat,n[u].lng,d,s,c))}return a.concat(l.reverse())}function SN(n,t,e,i){function r(y){return y*(Math.PI/180)}const s=6378137,o=r(n),a=r(t),l=r(e),u=r(i),h=l-o,c=u-a,d=Math.sin(h/2)**2+Math.cos(o)*Math.cos(l)*Math.sin(c/2)**2,g=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d));return s*g}const ow=(n,t,e)=>Array.isArray(t)?t.map(s=>n[s]??"").join(e):n[t]??"";function aw(n,t){const i={...t.symbol};return{points:n.map(r=>r.points),symbol:i}}function lw(n,t){const e=t,{uniqueValueInfos:i,field:r,fieldDelimiter:s,defaultSymbol:o}=e,a=[],l=i.reduce((h,c)=>{const d=c.value.toString();return h[d]={points:[],value:c.value,symbol:c.symbol},h},{});for(let h=0;h<n.length;h++){const c=n[h],d=ow(c,r,s);if(d!==void 0&&d!==""){const g=l[d.toString()];g?g.points.push(c.points):a.push(c.points)}else a.push(c.points)}const u=[];for(let h in l){const{points:c,symbol:d}=l[h];c.length>0&&u.push({points:c,symbol:d})}return a.length>0&&u.push({points:a,symbol:o}),u}function uw(n,t){const e=t,{classBreakInfos:i,field:r,defaultSymbol:s}=e,o=[],a=i.map(u=>({...u,points:[]}));for(let u=0;u<n.length;u++){const h=n[u],c=h[r];if(c===void 0||typeof c!="number")o.push(h.points);else{const d=a.findIndex(g=>c<=g.maxValue&&c>=g.minValue);d!==-1?a[d].points.push(h.points):o.push(h.points)}}const l=[];return a.forEach(u=>{u.points.length>0&&l.push({points:u.points,symbol:u.symbol})}),o.length>0&&l.push({points:o,symbol:s}),l}function bN(n,t,e=[]){const r={...t.symbol},s=n.map(o=>{const a=yl(o,e);return{position:o.points,rotation:a.rotation||r.rotation||[0,0,0],scale:r.scale||[1,1,1]}});return{url:r.url,locations:s}}function PN(n,t,e=[]){const i=t,{uniqueValueInfos:r,field:s,fieldDelimiter:o}=i,a=i.defaultSymbol,l=[],u=r.reduce((c,d)=>{const g=d.value.toString();return c[g]={locations:[],value:d.value,symbol:d.symbol},c},{});for(let c=0;c<n.length;c++){const d=n[c],g=ow(d,s,o);if(g){const p=u[g.toString()];if(p){const y=yl(d,e);p.locations.push({position:d.points,rotation:y.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else l.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else l.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const h=[];for(let c in u){const{locations:d,symbol:g}=u[c];d.length>0&&h.push({url:g.url,locations:d})}return l.length>0&&h.push({url:a.url,locations:l}),h}function IN(n,t,e=[]){const i=t,{classBreakInfos:r,field:s}=i,o=i.defaultSymbol,a=[],l=r.map(h=>({...h,locations:[]}));for(let h=0;h<n.length;h++){const c=n[h],d=c[s];if(d===void 0||typeof d!="number")a.push({position:c.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const g=l.findIndex(p=>d<=p.maxValue&&d>=p.minValue);if(g!==-1){const p=yl(c,e);l[g].locations.push({position:c.points,rotation:p.rotation||o.rotation||[0,0,0],scale:l[g].symbol.scale||[1,1,1]})}else a.push({position:c.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const u=[];return l.forEach(h=>{h.locations.length>0&&u.push({url:h.symbol.url,locations:h.locations})}),a.length>0&&u.push({url:o.url,locations:a}),u}class xN extends V{constructor(e,i,r,s){super();f(this,"labelingInfo");this.sceneObject=e;const o=i;if(s&&Er(o,a=>{this.renderLabel(a,s)}),r)if(r.type==="simple"){const{visualVariables:a}=r;if(r.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const l=aw(o,r);this._simplePointAllRender(l.points,l.symbol);return}if(r.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const l=aw(o,r);this._imageAllRender(l.points,l.symbol);return}if(r.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:l,locations:u}=bN(o,r,a);this._modelAllRender(l,u);return}for(let l=0;l<o.length;l++){const u=Ap(o[l],r,a);this.render(o[l],u)}}else if(r.type==="unique-value"){const{visualVariables:a}=r;if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="simple-point")===-1&&r.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),lw(o,r).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="ESImageLabel")===-1&&r.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),lw(o,r).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="ESGltfModel")===-1&&r.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),PN(o,r,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let c=0;c<o.length;c++){const d=Lp(o[c],r,a);this.render(o[c],d)}}else if(r.type==="class-breaks"){const{visualVariables:a}=r;if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="simple-point")===-1&&r.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),uw(o,r).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="ESImageLabel")===-1&&r.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),uw(o,r).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="ESGltfModel")===-1&&r.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),IN(o,r,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let c=0;c<o.length;c++){const d=Fp(o[c],r,a);this.render(o[c],d)}}else if(r.type==="heatmap"){const{field:a,fieldValueMax:l,fieldValueMin:u}=r;console.time();const h=o.map(c=>{const{points:d}=c;if(a&&typeof a=="string"){let g=c[a];typeof g=="number"&&(typeof l=="number"&&g>l&&(g=l),typeof u=="number"&&g<u&&(g=u),d[2]=g)}return d});this.renderHeatmap(h,r)}else console.error("PointLayer: renderer type is not supported")}renderLabel(e,i){const{points:r}=e;Rp(this.sceneObject,r,e,i)}renderHeatmap(e,i){const{is3D:r,radius:s,blur:o,gradient:a}=i,l=this.dv(new ed);this.d(this.sceneObject.components.disposableAdd(l)),l.is3D=r,l.radius=s,l.blur=o,a&&(l.gradient={...a}),l.data=e}render(e,i){i.type==="simple-point"?this._simplePointRender(e,i):i.type==="ESImageLabel"?this._simpleImageRender(e,i):i.type==="ESGltfModel"?this._simpleModelRender(e,i):i.type==="ESTextLabel"?sw(this.sceneObject,e.points,i):i.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(e,i):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(e,i){const{points:r}=e,{size:s,color:o,outlineColor:a,outlineWidth:l}=i,u=this.dv(new ph);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=a,u.pointOutlineWidth=l,u.pointSize=s,u.pointColor=o,u.allowPicking=(i==null?void 0:i.allowPicking)??!0,u.extras={selected:!1},u.points=[r]}_simplePointAllRender(e,i){const{size:r,color:s,outlineColor:o,outlineWidth:a}=i,l=this.dv(new ph);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=o,l.pointOutlineWidth=a,l.pointSize=r,l.pointColor=s,l.allowPicking=(i==null?void 0:i.allowPicking)??!0,l.points=[...e]}_simpleImageRender(e,i){const{points:r}=e,{rotation:s,offset:o,size:a,url:l,screenRender:u,anchor:h,renderMode:c,rotationType:d}=i,g=this.dv(new Jc),p=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(g)),this.d(this.sceneObject.components.disposableAdd(p)),g.url=l,g.renderMode=c??0,s&&(g.rotation=s),o&&(g.offset=o),g.size=a||[32,32],h&&(g.anchor=h),d&&(g.rotationType=d),g.screenRender=u??!0,g.allowPicking=(i==null?void 0:i.allowPicking)??!0,g.extras={selected:!1},g.position=[...r],g.sizeByContent=!1,p.allowPicking=(i==null?void 0:i.allowPicking)??!0;const y=a?Math.max(...a)+10:Math.max(...g.size)+10;p.sizeByContent=!1,p.screenRender=!0,p.size=[y,y],p.borderRadius=[y,y,y,y],p.padding=[y/2,y/2,y/2,y/2],p.borderWidth=y/10,p.offset=[0,y/10+5],p.text="",p.backgroundColor=[0,0,0,0],p.borderColor=[0,0,0,0]}_imageAllRender(e,i){const r={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:e}}]},s=this.dv(new ch);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:l,url:u,anchor:h}=i;s.imageUrl=u,h&&(s.imageAnchor=h),a&&(s.imageOffset=a),s.imageSize=l||[32,32],s.url=r,s.allowPicking=(i==null?void 0:i.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const c=l?Math.max(...l)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[c,c],o.borderRadius=[c,c,c,c],o.padding=[c/2,c/2,c/2,c/2],o.borderWidth=c/10,o.offset=[0,c/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(e,i){const{points:r}=e,{rotation:s,scale:o,url:a}=i,l=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(l)),l.url=a,s&&(l.rotation=s),o&&(l.scale=o),l.position=[...r]}_modelAllRender(e,i){const r=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(r)),r.url=e,r.instances=i}_simpleParticleRender(e,i){const{points:r}=e,s=this.dv(new $c);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...r],Object.keys(i).forEach(o=>{s[o]=i[o]})}}class MN extends V{constructor(t,e,i,r){super(),this.sceneObject=t;const s=e;if(r&&Er(s,o=>{this.renderLabel(o,r)}),i)if(i.type==="simple"){const{visualVariables:o}=i;Er(s,a=>{const l=Ap(a,i,o);this.render(a,l)})}else if(i.type==="unique-value"){const{visualVariables:o}=i;Er(s,a=>{const l=Lp(a,i,o);this.render(a,l)})}else if(i.type==="class-breaks"){const{visualVariables:o}=i;Er(s,a=>{const l=Fp(a,i,o);this.render(a,l)})}else console.error("PolyLineLayer: renderer type is not supported")}render(t,e){console.log("PolyLineLayer: render",t,e),e.type==="simple-line"?this._simpleLineRender(t,e):e.type==="ESPolygonFence"?this._esPolygonFenceRender(t,e):e.type==="ESPipeFence"?this._esPipeFenceRender(t,e):e.type==="ESPath"?this._esPathRender(t,e):e.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(t,e):e.type==="ESlineWall"?this._eslineWallRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new ws);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.stroked=!0,r.strokeColor=e.color,r.strokeWidth=e.width||1,r.allowPicking=(e==null?void 0:e.allowPicking)??!0,r.extras={selected:!1}}_esPolygonFenceRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new td);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.height=e.height,r.materialMode=e.materialMode}_esPipeFenceRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new Zc);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.height=e.height,r.width=e.width,r.materialMode=e.materialMode}_esPathRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new vl),s=this.dv(new ml);if(this.d(this.sceneObject.components.disposableAdd(r)),this.d(this.sceneObject.components.disposableAdd(s)),r.points=[...i],r.speed=e.speed,r.strokeColor=e.color,r.materialMode=e.materialMode,r.strokeWidth=e.width||1,e!=null&&e.runModel){const a=e==null?void 0:e.runSpeed,l=e==null?void 0:e.modelSymbol;let u;switch(e==null?void 0:e.runModel){case"ESHuman":u=this.dv(new Go);break;case"ESCar":u=this.dv(new Hc);break;case"ESGltfModel":u=this.dv(new no)}if(this.d(this.sceneObject.components.disposableAdd(u)),l)for(let c in l)u[c]=l[c];const h=[0];for(var o=0;o<i.length-1;o+=1){const c=i[o],d=i[o+1],g=SN(c[1],c[0],d[1],d[0]);h.push(h[o]+Math.ceil(g/a)*1e3)}r.timeStamps=h,e!=null&&e.runSpeed&&(r.currentPositionChanged.don(c=>{r.currentPosition&&(u.position=r.currentPosition,r.currentRotation&&(u.rotation=r.currentRotation))}),s.startTime=0,s.stopTime=h[h.length-1],s.playing=!0,s.loop=(e==null?void 0:e.runLoop)??!0,s.currentTimeChanged.don(c=>{r.path.currentTime=c}))}}_eslineInterpolationModelRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=(e==null?void 0:e.interpolationDistance)??0;if(!r)return;const s=wN(i,r/1e3),o=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(o)),o.url=e.url,o.instances=s.map(a=>({position:a,rotation:e.rotation,scale:e.scale}))}_eslineWallRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=e.height??0,s=e.width??0,o=e.extrudedHeight??0,a=i.map(h=>({lng:(h==null?void 0:h[0])??0,lat:(h==null?void 0:h[1])??0,alt:(h==null?void 0:h[2])??0})),l=CN(a,s).map(h=>[(h==null?void 0:h.lng)??0,(h==null?void 0:h.lat)??0,(h==null?void 0:h.alt)??0]),u=this.dv(new qo);this.d(this.sceneObject.components.disposableAdd(u)),u.height=r,u.extrudedHeight=o,u.filled=e.filled??!0,u.fillColor=e.fillColor,u.allowPicking=(e==null?void 0:e.allowPicking)??!0,u.extras={selected:!1},u.points=l}renderLabel(t,e){const{points:i}=t,r=_N(i);Rp(this.sceneObject,r,t,e)}}function hw(n,t){try{JSON.stringify(n[n.length-1])!==JSON.stringify(n[0])&&n.push(n[0]);const e=ti(n.map(l=>Bt(l))),i=qt([n]);return wT(e,t,{gridType:"point",units:"meters"}).features.map(l=>l.geometry.coordinates)[0][0].filter(l=>We(Bt(l),i))}catch(e){return console.error(e),[]}}class TN extends V{constructor(t,e,i,r){super(),this.sceneObject=t;const s=e;if(r&&Er(s,o=>{this.renderLabel(o,r)}),i)if(i.type==="simple"){const{visualVariables:o}=i;Er(s,a=>{const l=Ap(a,i,o);this.render(a,l)})}else if(i.type==="unique-value"){const{visualVariables:o}=i;Er(s,a=>{const l=Lp(a,i,o);this.render(a,l)})}else if(i.type==="class-breaks"){const{visualVariables:o}=i;Er(s,a=>{const l=Fp(a,i,o);this.render(a,l)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(t,e){const{points:i}=t;console.log("PolygonLayer: renderLabel",i);const r=EN(i);Rp(this.sceneObject,r,t,e)}render(t,e){e.type==="simple-fill"?this._simplePolygonRender(t,e):e.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(t,e):e.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(t,e):e.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:r,outline:s,filled:o,ground:a}=e,{width:l,color:u,stroked:h}=s,c=this.dv(new Ht);this.d(this.sceneObject.components.disposableAdd(c)),c.stroked=h??!1,c.strokeColor=u??[1,1,1,1],c.strokeWidth=l??1,c.filled=o??!0,c.fillGround=a??!1,c.fillColor=r??[1,1,1,1],c.allowPicking=(e==null?void 0:e.allowPicking)??!0,c.extras={selected:!1},c.points=[...i]}_esGeoExtrudedPolygonRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,extrudedHeight:s,color:o}=e,a=this.dv(new qo);this.d(this.sceneObject.components.disposableAdd(a)),a.height=r,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(e==null?void 0:e.allowPicking)??!0,a.extras={selected:!1},a.points=[...i]}_polygonInterpolateESGltfModelRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,interpolateDistance:s,url:o,rotation:a,scale:l}=e,u=hw(i,s??10),h=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(h)),h.url=o,h.instances=u.map(c=>({position:[...c,r??0],rotation:a??[0,0,0],scale:l??[1,1,1]}))}_polygonInterpolateESImageLabelRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,interpolateDistance:s,offset:o,size:a,url:l,anchor:u}=e,c={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...hw(i,s??10).map(g=>[...g,r??0])]}}]},d=this.dv(new ch);this.d(this.sceneObject.components.disposableAdd(d)),d.textDefaultText="",d.imageUrl=l,u&&(d.imageAnchor=u),o&&(d.imageOffset=o),a&&(d.imageSize=a),d.url=c}}class NN extends V{constructor(e,i){super();f(this,"_initEvent",this.dv(new I));const r=this,s=async()=>{try{const a=e.featureProps;if(!a)return;const{heightMode:l,features:u,layerType:h,url:c}=a;let d=[];if(!u&&c){let g=await fetch(c).then(p=>p.json());return g=(g==null?void 0:g.features)??g,h==="polylineVector"?d=await nw(i,g,l):h==="polygonVector"?d=await rw(i,g,l):h==="pointVector"&&(d=await iw(i,g,l)),d}else h==="polylineVector"?d=await nw(i,u,l):h==="polygonVector"?d=await rw(i,u,l):h==="pointVector"&&(d=await iw(i,u,l));return d}catch(a){console.error(a);return}},o=this.dv(Ae(this._initEvent,e.featurePropsChanged));r.dv(new ve(o,()=>{if(!e.featureProps)return;const a=e.featureProps;let l;return(async()=>{const{layerType:h,renderer:c,labelingInfo:d}=a,g=await s();!g||g.length===0||(h==="pointVector"?l=new xN(e,g,c,d):h==="polylineVector"?l=new MN(e,g,c,d):h==="polygonVector"&&(l=new TN(e,g,c,d)),console.log("polygonVectorLayer","createLayer",l))})().catch(console.error),{destroy:()=>{var h;(h=l==null?void 0:l.destroy)==null||h.call(l),l=void 0}}}));{const a=(l,u=1)=>{const h=M0(l);if(!h)return;const{center:c,radius:d}=h;i.flyTo({distance:d*4,heading:0,pitch:-90,flyDuration:u??1,hDelta:0,pDelta:0},c)};r.d(e.flyToEvent.don(async l=>{const{featureProps:u}=e;if(!u)return;const h=await s();if(!h)return;let c=[];u.layerType==="polylineVector"?c=h.map(d=>d.points).flat():u.layerType==="polygonVector"?c=h.map(d=>d.points).flat():u.layerType==="pointVector"&&(c=h.map(d=>d.points)),c.length!==0&&a(c,l)}))}}init(){this._initEvent.emit()}}const Jl=class Jl extends jt{constructor(e){super(e);f(this,"featureLayerMap",new Map);const i=this;i.d(i.viewerAttached.don(r=>{if(console.log("ESFeatureLayer","viewerAttached",r.id),i.featureLayerMap.has(r.id))return;const s=new NN(i,r);s.init(),i.featureLayerMap.set(r.id,s)})),i.d(i.viewerDetached.don(r=>{var s;console.log("ESFeatureLayer","viewerDetached",r.id),i.featureLayerMap.has(r.id)&&((s=i.featureLayerMap.get(r.id))==null||s.destroy(),i.featureLayerMap.delete(r.id))})),i.d(()=>{for(const r of i.featureLayerMap.values())r.destroy();i.featureLayerMap.clear()}),i.d(go(i.showChanged,()=>{for(const r of i.components.values())Reflect.has(r,"show")&&(r.show=i.show)},{immediate:!0}))}};f(Jl,"createDefaultProps",()=>({...jt.createDefaultProps(),featureProps:Yt(void 0)})),f(Jl,"type",Jl.register("ESFeatureLayer",Jl,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let kp=Jl;const Is=class Is extends V{constructor(){super();f(this,"_loading",!1);f(this,"_loadedEvent",this.disposeVar(new I));f(this,"_loaded",!1);f(this,"_loadedPromiseResolve");f(this,"_loadedPromise",new Promise(e=>{this._loadedPromiseResolve=e}));f(this,"_processing",this.disposeVar(gi(async e=>{if(this._loading=!0,window.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const i=Z.context.getStrFromEnv(Is.path);await e.promise(Pd(i))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));f(this,"_processingStart",this._processing.start())}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return Is._instance=Is._instance||new Is,Is._instance}};f(Is,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),f(Is,"_instance");let nd=Is,ON=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class DN extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_processing",this.disposeVar(gi(async e=>{const{videoSrc:i}=this,r=nd.instance();await e.promise(r.loadedPromise);const s=window.Hls,o=new s,a=this.element;await mo(e,()=>new Promise((l,u)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(i),o.on(s.Events.MANIFEST_PARSED,(h,c)=>{a.play(),l()})}),o.on(s.Events.ERROR,(h,c)=>{const{type:d,details:g,fatal:p}=c;p&&(o.destroy(),u(g))})}))})));f(this,"_processingStartup",this._processing.start());this._complexImage=e,this._videoSrc=i,this._videoDom=this.disposeVar(new ON(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class cw extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new DN(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}const xs=class xs extends V{constructor(){super();f(this,"_loading",!1);f(this,"_loadedEvent",this.disposeVar(new I));f(this,"_loaded",!1);f(this,"_loadedPromiseResolve");f(this,"_loadedPromise",new Promise(e=>{this._loadedPromiseResolve=e}));f(this,"_processing",this.disposeVar(gi(async e=>{if(this._loading=!0,window.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const i=Z.context.getStrFromEnv(xs.path);await e.promise(Pd(i))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));f(this,"_processingStart",this._processing.start())}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return xs._instance=xs._instance||new xs,xs._instance}};f(xs,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),f(xs,"_instance");let id=xs;class RN extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}}class AN extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_processing",this.disposeVar(gi(async e=>{const{videoSrc:i}=this,r=id.instance();await e.promise(r.loadedPromise);const s=window.flvjs,o=this.element;await mo(e,()=>new Promise((a,l)=>{if(!s.isSupported()){l("flvjs不支持!");return}var u=s.createPlayer({type:"flv",url:i});u.attachMediaElement(o),u.load(),u.play(),o.xbsjFlvPlayer=u}))})));f(this,"_processingStartup",this._processing.start());this._complexImage=e,this._videoSrc=i,this._videoDom=this.disposeVar(new RN(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class dw extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new AN(e,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function fw(n){const t=n.substring(n.lastIndexOf(".")+1);return mh.suffixTypes[t]}class mh extends V{constructor(){super();f(this,"_enabled",this.disposeVar(B(!1)));f(this,"_uri",this.disposeVar(B("")));f(this,"_type",this.disposeVar(B(void 0)));f(this,"_size",this.disposeVar(ee(void 0)));f(this,"_pixelFormat",this.disposeVar(B("RGBA")));f(this,"_flipY",this.disposeVar(B(!0)));f(this,"_crossOriginReact",this.disposeVar(B("")));f(this,"_autoplayReact",this.disposeVar(B(!0)));f(this,"_loopReact",this.disposeVar(B(!0)));f(this,"_copyTextureEvent",this.disposeVar(new I));f(this,"_imageProcessingResettingEvent",this.disposeVar(Ae(this.enabledChanged,this.uriChanged,this.typeChanged)));f(this,"_imageProcessingResetting",this.disposeVar(new ve(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:e}=this;if(e||(e=fw(this.uri)),!e)break;if(e==="img")return new Fm(this,this.uri);if(e==="video")return new Vm(this,this.uri);if(e==="gif")return new Jm(this,this.uri);if(e==="hls")return new cw(this,this.uri);if(e==="flv")return new dw(this,this.uri)}while(!1)})));f(this,"_createNativeTextureEvent",this.disposeVar(Ae(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(e){this._uri.value=e}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(e){this._type.value=e}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(e){this._size.value=e}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(e){this._pixelFormat.value=e}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(e){this._flipY.value=e}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(e){this._crossOriginReact.value=e}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(e){this._autoplayReact.value=e}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(e){this._loopReact.value=e}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(e){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(e)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(e){if(e.width<=0||e.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[e.width,e.height],this.pixelFormat="RGBA",this.copyTexture({source:e})}}f(mh,"types",Bm),f(mh,"czmPixelFormats",km),f(mh,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const LN=[0,0,0,0];class FN{constructor(){f(this,"_value",[]);f(this,"_valueStr","[]");f(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new I),this._valueChanged}set value(t){if(t.length===0){console.error("value.length === 0");return}let e;if(this._value.length===t.length){const r=[...t].sort((s,o)=>s.ratio-o.ratio);if(e=JSON.stringify(r),this._valueStr===e)return}e=e||JSON.stringify([...t].sort((r,s)=>r.ratio-s.ratio));const i=this._value;if(this._value=JSON.parse(e),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,i)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(t){if(t<this._value[0].ratio||t>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let e=this._value.length;for(let i=0;i<e-1;++i)if(t>=this._value[i].ratio&&t<=this._value[i+1].ratio)return i;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(t,e){t=Dh(t,this.minRatio,this.maxRatio);const i=this._getRatioIndex(t),r=this._value[i],s=this._value[i+1],o=(t-r.ratio)/(s.ratio-r.ratio);for(let a=0;a<4;++a)e[a]=r.rgba[a]*(1-o)+s.rgba[a]*o;if(e.some(Number.isNaN)){console.error("result NaN");return}return e}getColorsInUint8(t){if(t.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const e=t.length/4,i=1/e;for(let r=0;r<e;++r){const s=LN;this.getRatioColor((r+.5)*i,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)t[r*4+o]=255*s[o]|0}return t}}class kN extends V{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,i,r){const s=this.registerEngines[e]||new Map;return s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,r),this.registerEngines[e]=s,i}getEngineObjConstructor(e,i){const r=this.registerEngines[i];if(!r)return;let s=e.constructor,o=e.typeName,a=r.get(o);if(a)return a;if(e.components.main)return;const l=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=r.get(o),a)return console.warn(`未找到${l}在${i}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(e,i){const r=this.getEngineObjConstructor(e,i.typeName);if(r){const s=new r(e,i);return s.createdEvent.emit(),s}else{const s=new Wo(e,i);return s.createdEvent.emit(),s}}}class BN extends V{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,i,r){const s=this.registerEngines[e]||new Map;s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,r),this.registerEngines[e]=s}getEngineObjConstructor(e,i){const s=(this.registerEngines[i]||new Map).get(e);if(s)return s;console.warn(`未找到${e}在${i}中对应的实现类!`)}createEngineObject(e,i){const r=this.getEngineObjConstructor(e.typeName,i.typeName);if(r){const s=new r(e,i);return s.createdEvent.emit(),s}else{const s=new Wo(e,i);return s.createdEvent.emit(),s}}}const Gi=class Gi extends V{constructor(e,i,r=!1){super();f(this,"_createdEvent",this.dv(new I));f(this,"_id",++Gi._accumId);this._sceneObject=e,this._viewer=i;{if(r)return;const s=(o,a)=>{for(let l of o)this._viewer.delete(l);for(let l of a)l.parentID=this.sceneObject.id,this._viewer.add(l)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};f(Gi,"context",new kN),f(Gi,"contextEditing",new BN),f(Gi,"register",Gi.context.register.bind(Gi.context)),f(Gi,"registerEditing",Gi.contextEditing.register.bind(Gi.contextEditing)),f(Gi,"_accumId",-1);let Wo=Gi;function gw(n){return typeof n=="string"?document.getElementById(n):n}function Bp(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const t=document.createElement("div");return t.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",n.appendChild(t),t}class pw extends V{constructor(e,i){super();f(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=i;const r=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let l of o){const u=r.get(l);u&&(u.destroy(),r.delete(l))}if(a)for(let l of a){if(r.get(l)){console.warn(`listeningSceneObjects已存在某对象:${l.name}`,l);debugger}const h=this.createSceneObjectListeningFunc(l);h&&r.set(l,h)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class VN extends V{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class i extends V{constructor(s){super(),this._esPath=s,this.dv(new ve(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends V{constructor(u){if(super(),this._esPath=u,!o)throw new Error("!viewer");const h=()=>{const c=e.activeViewer;c&&(this._esPath.path.currentTime=c.simulationTime)};h(),this.d(o.simulationTimeChanged.don(h))}}return new a(this._esPath)}))}}this.dv(new pw(e.sceneObjectsManager,r=>{if(r instanceof vl)return new i(r)}))}{const e=this._esObjectsManager;class i extends V{constructor(s){super();const o=()=>{const a=e.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new pw(e.sceneObjectsManager,r=>{if(r instanceof ml)return new i(r)}))}}}class zN extends V{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(i=>{i&&e.sceneObjects.forEach(r=>{Reflect.has(r,"position")&&(r.position=[...i])})})),this.d(e.path.currentRotationChanged.don(i=>{i&&e.sceneObjects.forEach(r=>{Reflect.has(r,"rotation")&&(r.rotation=[...i])})}))})}}class jN extends V{constructor(e){super();f(this,"_player");f(this,"_channels",this.dv(ht([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new ve(this.channelsChanged,()=>{if(this.channels.length===0)return;const i=[];for(let r=0;r<this.channels.length;r++){const s=this.channels[r],o=Z.getSceneObjById(s.pathId);if(!o||!(o instanceof vl))continue;const l=s.sceneObjectIds.map(u=>Z.getSceneObjById(u)).filter(u=>u!==void 0);l.length!==0&&i.push({path:o,sceneObjects:l})}if(i.length!==0)return new zN(i)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function rd(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof En){const{sceneObject:i}=e;if(i)return i.id}}}function UN(n,t){const{property:e,customEventName:i,otherParams:r}=t,{dragstartDataMananger:s}=n;if(!(e instanceof Ea)){if(!(e instanceof iv)){if(e instanceof ct){const[o,a]=Zr(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!r)throw new Error("!otherParams");const l=r[0];if(l.preventDefault(),!l.dataTransfer)return;rd(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!r)throw new Error("!otherParams");r[0].preventDefault();const u=rd(s);u!==void 0&&a(u)}}else if(e instanceof Km){const[o,a]=Zr(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!r)throw new Error("!otherParams");const l=r[0];if(l.preventDefault(),!l.dataTransfer)return;rd(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!r)throw new Error("!otherParams");const l=r[0].$event,u=r[0].strinsPropDom,h=r[0].index;l.preventDefault();const c=rd(s);if(c!==void 0){u[h].firstChild.value=c;const d=new Event("input",{bubbles:!0,cancelable:!0});u[h].firstChild.dispatchEvent(d)}}}else if(e instanceof Zm){const[o,a]=Zr(e.reactVar)}}}}function mw(n,t,e,i){if(e)i.currentActiveEditing=[n,t];else if(i.currentActiveEditing){const[r,s]=i.currentActiveEditing;r===n&&s===t&&(e||(i.currentActiveEditing=void 0))}}const GN=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class qN extends V{constructor(t,e){super(),this._sceneObject=t;const i=this._sceneObject;for(let r of GN){const s=r+"Changed",o=i[s];if(o){{const a=i[r];mw(i,r,a,e)}this.dispose(o.disposableOn((a=>mw(i,r,a,e))))}}}get sceneObject(){return this._sceneObject}}class WN extends V{constructor(){super();f(this,"_currentActiveEditing",this.disposeVar(ee(void 0)));f(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,i)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),i){const[r,s]=i;r[s]===!0&&(r[s]=!1)}if(e){const[r,s]=e;r[s]=!0}})),Z.context.sceneObjCreatedEvent.don(e=>{e.dv(new qN(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class HN extends V{constructor(){super();f(this,"_sceneObjects",new Set);f(this,"_sceneObjectsToChange",this.dv(new I));this.d(()=>{const e=Cd(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){return this._sceneObjects.has(e)?(console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e),!0)}deleteSceneObject(e){return this._sceneObjects.has(e)?(this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e),!0):(console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(e,i){const r=Z.context.createSceneObject(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromUrl(e,i){const r=Z.context.createSceneObjectFromUrl(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromClass(e,i){const r=Z.context.createSceneObjectFromClass(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromJson(e){const i=Z.context.createSceneObjectFromJson(e);return i&&this.addSceneObject(i),i}}class XN extends V{constructor(e){super();f(this,"viewer");const i=this.viewer=e;this.ad(new ve(i.rollerShutterChanged,()=>{const r=i.container;if(!r||!i.rollerShutter)return;const s=new V;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return r.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,r.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const i=r=>{if(!e.parentElement)return;r.preventDefault?r.preventDefault():r.returnValue=!1;const o=r.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",r=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",r=>{e.style.cursor="default"}),e.addEventListener("mousedown",r=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",i)}),document.addEventListener("mouseup",r=>{e.style.cursor="default",document.removeEventListener("mousemove",i)}),e}}class YN extends V{constructor(e){super();f(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new XN(e))}}function vw(n,t){return n.length===t.length&&n.every((e,i)=>e===t[i])}class JN extends V{constructor(t){super(),this._viewer=t,this.d(z([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class $N extends V{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const i=hr.createCommonProps(),r=[];Object.keys(i).forEach(l=>{const u=this._activeViewer[l+"Changed"];r.push(u)});const s=this.dv(Ae(...r)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(i).forEach(l=>{this._viewer[l]=this._activeViewer[l]})};this.d(s.don(o));const a=this.dv(su());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const l=this._activeViewer.getCurrentCameraInfo(),u=this._viewer.getCurrentCameraInfo();if(!l)return;const{position:h,rotation:c}=l;u&&vw(h,u.position)&&vw(c,u.rotation)||this._viewer.flyIn(h,c,0)}),this.d(()=>a.cancel())}}const QN=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
|
|
490
|
+
`,gh=Date.now();new Date(gh).toISOString(),new Date(gh+864e5).toISOString();const _r=class _r extends Z{constructor(e){super(e);f(this,"_flyToEvent",this.disposeVar(new I));f(this,"_resetClockEvent",this.disposeVar(new I))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new tt([this,"data"],_r.defaults.data,vN,"数据",!0),new tt([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/simple.czml",void 0,!0),new X([this,"clockEnabled"],"启用",!1),new N([this,"multiplier"],"倍速",_r.defaults.multiplier),new X([this,"autoResetClock"],"自动设置时钟",!0),new wo([this,"startTime"],"开始时间",_r.defaults.startTime,!0),new wo([this,"stopTime"],"结束时间",_r.defaults.stopTime,!0),new wo([this,"currentTime"],"当前时间",_r.defaults.currentTime,!0),new wt([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep","SYSTEM_CLOCK_MULTIPLIER"),new wt([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange","UNBOUNDED"),new X([this,"shouldAnimate"],"是否启用动画",!1)],general:[...e.general,new X([this,"show"],"是否显示",!0),new X([this,"collision"],"开启碰撞",!1),new X([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new lt(["number"],i=>this.flyTo(i),[1e3],"飞入"),new lt([],()=>this.resetClock(),[],"重设时钟"),new Rs([this,"loadFuncStr"],"loadFnStr",ew,yN,!0)]}}};f(_r,"createDefaultProps",()=>({show:!0,uri:void 0,allowPicking:!1,data:Yt(mN),autoResetClock:!0,clockEnabled:!1,startTime:gh,stopTime:gh+864e5,currentTime:gh,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...Z.createDefaultProps()})),f(_r,"type",_r.register("ESCzml",_r,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"}));let Ip=_r;const Hl=class Hl extends Z{getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([]),new X([this,"show"],"是否显示"),new N([this,"cssSize"],"尺寸"),new Fe([this,"cssPosition"],"位置"),new cu([this,"imgUrl"],"图片地址")]}}};f(Hl,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")})),f(Hl,"type",Hl.register("ESNavigator",Hl,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"}));let xp=Hl;const Jr=class Jr extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([],"通用","通用"),new X([this,"show"],"是否显示",Jr.defaults.show),new N([this,"height"],"高度",Jr.defaults.height,!0),new N([this,"fontSize"],"文字大小",Jr.defaults.fontSize,!0),new Pt([this,"bgColor"],"背景颜色",Jr.defaults.bgColor,!0)]}}};f(Jr,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:ht([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),f(Jr,"type",Jr.register("ESViewerStatusBar",Jr,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Mp=Jr;const $r=class $r extends Z{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,more:[...t.more,new at([],"通用","通用"),new X([this,"show"],"是否显示",$r.defaults.show),new N([this,"height"],"高度",$r.defaults.height,!0),new N([this,"fontSize"],"文字大小",$r.defaults.fontSize,!0),new Pt([this,"bgColor"],"背景颜色",$r.defaults.bgColor,!0)]}}};f($r,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:ht([.2784313725490196,.2784313725490196,.2784313725490196,.8])})),f($r,"type",$r.register("ESViewerStatusBarScale",$r,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"}));let Tp=$r;const Xl=class Xl extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ct([this,"url"],"路径","",!0),new N([this,"progress"],"进度",0,!1,!0)]}}};f(Xl,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",progress:0})),f(Xl,"type",Xl.register("ESGaussianSplatting",Xl,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"}));let Np=Xl;const aa=class aa extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ct([this,"mesh"],"mesh地址",aa.defaults.mesh)]}}};f(aa,"createDefaultProps",()=>({...rt.createDefaultProps(),mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"})),f(aa,"type",aa.register("ESStaticMesh",aa,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"}));let Op=aa;const Yl=class Yl extends bt{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_clearEvent",this.dv(new I));f(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new qo),this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(z([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(z([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(z([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(z([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(z([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(z([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(z([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清除分析"),new tt([this,"windowPositions"],"屏幕坐标",[],void 0,!1,!0),new tt([this,"depths"],"深度值",[],void 0,!1,!0),new N([this,"radius"],"半径",1e4,!0)]}}};f(Yl,"createDefaultProps",()=>({...bt.createDefaultProps(),windowPositions:_g([]),depths:ee([]),radius:B(1e4)})),f(Yl,"type",Yl.register("ESSkylineAnalysis",Yl,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Dp=Yl;const Ps=class Ps extends jt{constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new tt([this,"data"],"数据",[],void 0,!0),new tt([this,"gradient"],"渐变",Ps.defaults.gradient,void 0,!0),new N([this,"radius"],"半径",Ps.defaults.radius,void 0,!0),new N([this,"blur"],"模糊",Ps.defaults.blur,!0),new X([this,"is3D"],"is3D",!1,!0)]}}};f(Ps,"createDefaultProps",()=>({...jt.createDefaultProps(),is3D:B(!1),data:Sh([]),gradient:Yt({".5":"green",".7":"yellow",".95":"red"}),radius:B(10),blur:B(.85)})),f(Ps,"type",Ps.register("ESHeatMap",Ps,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"}));let ed=Ps;const la=class la extends bt{constructor(e){super(e);f(this,"editingBindMode","scatter")}};f(la,"createDefaultProps",()=>({...bt.createDefaultProps(),pointed:!0})),f(la,"type",la.register("ESGeoPoints",la,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),f(la,"supportEditingModes",[...bt.supportEditingModes,et.ScatterAppend,et.ScatterModify]);let ph=la;const nw=async(n,t=[],e)=>{const i=[];for(const r of t){const{coordinates:s}=r.geometry;for(const o of s){const a=await Promise.all(o.map(async l=>{let u=l[2]??0;if(e)if(e.type==="absolute")u=e.height??u;else if(e.type==="relative"){const h=await n.getTerrainHeight([l[0],l[1]])??0;u=(e.height??u)+h}else e.type==="terrain"&&(u=await n.getTerrainHeight([l[0],l[1]])??0);return[l[0],l[1],u]}));i.push({...r,points:a})}}return i},iw=async(n,t=[],e)=>await Promise.all(t.map(async i=>{var l,u,h,c,d,g,p,y,w;const r=((l=i.geometry)==null?void 0:l.x)??((h=(u=i.geometry)==null?void 0:u.coordinates)==null?void 0:h[0]),s=((c=i.geometry)==null?void 0:c.y)??((g=(d=i.geometry)==null?void 0:d.coordinates)==null?void 0:g[1]);let a=((p=i.geometry)==null?void 0:p.z)??((w=(y=i.geometry)==null?void 0:y.coordinates)==null?void 0:w[2])??0;if(e)if(e.type==="absolute")a=e.height??a;else if(e.type==="relative"){const S=await n.getTerrainHeight([r,s])??0;a=(e.height??a)+S}else e.type==="terrain"&&(a=await n.getTerrainHeight([r,s])??0);return{...i,points:[r,s,a]}})),rw=async(n,t=[],e)=>{const i=[];return await Promise.all(t.map(async r=>{const{coordinates:s}=r.geometry;await Promise.all(s.map(async o=>{const a=await Promise.all(o.map(async l=>{let u=l[2]??0;if(e)if(e.type==="absolute")u=e.height??u;else if(e.type==="relative"){const h=await n.getTerrainHeight([l[0],l[1]])??0;u=(e.height??u)+h}else e.type==="terrain"&&(u=await n.getTerrainHeight([l[0],l[1]])??0);return[l[0],l[1],u]}));i.push({...r,points:a})}))})),i};function _N(n){const t=Un(n),e=Hy(t),i=Of(t,e/2);return[i.geometry.coordinates[0],i.geometry.coordinates[1],i.geometry.coordinates[2]||0]}function wN(n,t){const e=Un(n),i=Hy(e),r=Math.floor(i/t),s=[];if(s.push(n[0]),r<1)return[n[0]];for(let o=1;o<r;o+=1){const a=Of(e,i*(o/r));s.push([a.geometry.coordinates[0],a.geometry.coordinates[1],a.geometry.coordinates[2]||0])}return s}function EN(n){const t=[...n];JSON.stringify(n[0])!==JSON.stringify(n[n.length-1])&&t.push(n[0]);const e=qt([t]),i=Ny(e);return[i.geometry.coordinates[0],i.geometry.coordinates[1],i.geometry.coordinates[2]||0]}function sw(n,t,e){const i=n.dv(new gl);for(const r in e)r!=="type"&&(i[r]=e[r]);i.position=t,n.d(n.components.disposableAdd(i))}function Rp(n,t,e,i){let r=i.textTemplate||i.symbol.text||"";const s=/{{(.*?)}}/;for(;s.test(r);){const h=r.match(s);if(h){const c=h[1].trim(),d=e[`${c}`]||"-";r=r.replace(h[0],d)}}let o=i.symbol;const{minVisibleDistance:a,maxVisibleDistance:l}=i;a&&l&&(o={...o,minVisibleDistance:a,maxVisibleDistance:l});const u={...o,text:r};sw(n,t,u)}function yl(n,t){const e={width:null,height:null,color:null,opacity:null,rotation:null};return t.forEach(i=>{i.type==="size"?i.axis==="width"?e.width=n[i.field]||null:i.axis==="height"&&(e.height=n[i.field]||null):i.type==="color"?e.color=n[i.field]||null:i.type==="opacity"?e.opacity=n[i.field]||null:i.type==="rotation"&&(e.rotation=n[i.field]||null)}),e}function Ap(n,t,e){const r={...t.symbol};if(e&&e.length>0){const s=yl(n,e);for(let o in s)r[o]!==void 0&&s[o]!==null&&(r[o]=s[o])}return r}function Lp(n,t,e){var u,h;const i=t,{uniqueValueInfos:r,field:s,fieldDelimiter:o,defaultSymbol:a}=i;let l={...a};if(Array.isArray(s)){const d=s.map(g=>n[g]??"").join(o);l=((u=r.find(g=>g.value==d))==null?void 0:u.symbol)||a}else l=((h=r.find(c=>c.value==n[s]))==null?void 0:h.symbol)||a;if(e&&e.length>0){const c=yl(n,e);for(let d in c)l[d]!==void 0&&c[d]!==null&&(l[d]=c[d])}return l}function Fp(n,t,e){const i=t,{classBreakInfos:r,field:s,defaultSymbol:o}=i;let a=o;const l=n[s];if(l===void 0||typeof l!="number")a=o;else{const u=r.find(h=>l<=h.maxValue&&l>=h.minValue);u?a=u.symbol:a=o}if(e&&e.length>0){const u=yl(n,e);for(let h in u)a[h]!==void 0&&u[h]!==null&&(a[h]=u[h])}return a}function CN(n,t){function e(u,h,c,d){const g=C=>C*Math.PI/180,p=C=>C*180/Math.PI,y=g(u),w=g(c),S=g(d-h),v=Math.sin(S)*Math.cos(w),_=Math.cos(y)*Math.sin(w)-Math.sin(y)*Math.cos(w)*Math.cos(S),E=Math.atan2(v,_);return(p(E)+360)%360}function i(u,h,c,d,g){const y=P=>P*Math.PI/180,w=P=>P*180/Math.PI,S=d/6371e3,v=y(g),_=y(u),E=y(h),C=Math.asin(Math.sin(_)*Math.cos(S)+Math.cos(_)*Math.sin(S)*Math.cos(v)),b=E+Math.atan2(Math.sin(v)*Math.sin(S)*Math.cos(_),Math.cos(S)-Math.sin(_)*Math.sin(C));return{lat:w(C),lng:w(b),alt:c}}function r(u){const h=[];u.length>1&&h.push(e(u[0].lat,u[0].lng,u[1].lat,u[1].lng));for(let c=1;c<u.length-1;c++){const d=e(u[c-1].lat,u[c-1].lng,u[c].lat,u[c].lng),g=e(u[c].lat,u[c].lng,u[c+1].lat,u[c+1].lng);let p=(d+g)/2;Math.abs(d-g)>180&&(p=(p+180)%360),h.push(p)}return u.length>1&&h.push(e(u[u.length-2].lat,u[u.length-2].lng,u[u.length-1].lat,u[u.length-1].lng)),u.length===1&&h.push(0),h}if(!n||n.length<2)throw new Error("至少需要两个点才能生成路径");if(t<=0)throw new Error("宽度必须大于0");const s=t/2,o=r(n),a=[],l=[];for(let u=0;u<n.length;u++){const h=(o[u]+90)%360,c=(o[u]+270)%360,d=n[u].alt!==void 0?n[u].alt:0;a.push(i(n[u].lat,n[u].lng,d,s,h)),l.push(i(n[u].lat,n[u].lng,d,s,c))}return a.concat(l.reverse())}function SN(n,t,e,i){function r(y){return y*(Math.PI/180)}const s=6378137,o=r(n),a=r(t),l=r(e),u=r(i),h=l-o,c=u-a,d=Math.sin(h/2)**2+Math.cos(o)*Math.cos(l)*Math.sin(c/2)**2,g=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d));return s*g}const ow=(n,t,e)=>Array.isArray(t)?t.map(s=>n[s]??"").join(e):n[t]??"";function aw(n,t){const i={...t.symbol};return{points:n.map(r=>r.points),symbol:i}}function lw(n,t){const e=t,{uniqueValueInfos:i,field:r,fieldDelimiter:s,defaultSymbol:o}=e,a=[],l=i.reduce((h,c)=>{const d=c.value.toString();return h[d]={points:[],value:c.value,symbol:c.symbol},h},{});for(let h=0;h<n.length;h++){const c=n[h],d=ow(c,r,s);if(d!==void 0&&d!==""){const g=l[d.toString()];g?g.points.push(c.points):a.push(c.points)}else a.push(c.points)}const u=[];for(let h in l){const{points:c,symbol:d}=l[h];c.length>0&&u.push({points:c,symbol:d})}return a.length>0&&u.push({points:a,symbol:o}),u}function uw(n,t){const e=t,{classBreakInfos:i,field:r,defaultSymbol:s}=e,o=[],a=i.map(u=>({...u,points:[]}));for(let u=0;u<n.length;u++){const h=n[u],c=h[r];if(c===void 0||typeof c!="number")o.push(h.points);else{const d=a.findIndex(g=>c<=g.maxValue&&c>=g.minValue);d!==-1?a[d].points.push(h.points):o.push(h.points)}}const l=[];return a.forEach(u=>{u.points.length>0&&l.push({points:u.points,symbol:u.symbol})}),o.length>0&&l.push({points:o,symbol:s}),l}function bN(n,t,e=[]){const r={...t.symbol},s=n.map(o=>{const a=yl(o,e);return{position:o.points,rotation:a.rotation||r.rotation||[0,0,0],scale:r.scale||[1,1,1]}});return{url:r.url,locations:s}}function PN(n,t,e=[]){const i=t,{uniqueValueInfos:r,field:s,fieldDelimiter:o}=i,a=i.defaultSymbol,l=[],u=r.reduce((c,d)=>{const g=d.value.toString();return c[g]={locations:[],value:d.value,symbol:d.symbol},c},{});for(let c=0;c<n.length;c++){const d=n[c],g=ow(d,s,o);if(g){const p=u[g.toString()];if(p){const y=yl(d,e);p.locations.push({position:d.points,rotation:y.rotation||a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else l.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}else l.push({position:d.points,rotation:a.rotation||[0,0,0],scale:a.scale||[1,1,1]})}const h=[];for(let c in u){const{locations:d,symbol:g}=u[c];d.length>0&&h.push({url:g.url,locations:d})}return l.length>0&&h.push({url:a.url,locations:l}),h}function IN(n,t,e=[]){const i=t,{classBreakInfos:r,field:s}=i,o=i.defaultSymbol,a=[],l=r.map(h=>({...h,locations:[]}));for(let h=0;h<n.length;h++){const c=n[h],d=c[s];if(d===void 0||typeof d!="number")a.push({position:c.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]});else{const g=l.findIndex(p=>d<=p.maxValue&&d>=p.minValue);if(g!==-1){const p=yl(c,e);l[g].locations.push({position:c.points,rotation:p.rotation||o.rotation||[0,0,0],scale:l[g].symbol.scale||[1,1,1]})}else a.push({position:c.points,rotation:o.rotation||[0,0,0],scale:o.scale||[1,1,1]})}}const u=[];return l.forEach(h=>{h.locations.length>0&&u.push({url:h.symbol.url,locations:h.locations})}),a.length>0&&u.push({url:o.url,locations:a}),u}class xN extends V{constructor(e,i,r,s){super();f(this,"labelingInfo");this.sceneObject=e;const o=i;if(s&&Er(o,a=>{this.renderLabel(a,s)}),r)if(r.type==="simple"){const{visualVariables:a}=r;if(r.symbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!");const l=aw(o,r);this._simplePointAllRender(l.points,l.symbol);return}if(r.symbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!");const l=aw(o,r);this._imageAllRender(l.points,l.symbol);return}if(r.symbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!");const{url:l,locations:u}=bN(o,r,a);this._modelAllRender(l,u);return}for(let l=0;l<o.length;l++){const u=Ap(o[l],r,a);this.render(o[l],u)}}else if(r.type==="unique-value"){const{visualVariables:a}=r;if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="simple-point")===-1&&r.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),lw(o,r).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="ESImageLabel")===-1&&r.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),lw(o,r).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(r.uniqueValueInfos.findIndex(c=>c.symbol.type!=="ESGltfModel")===-1&&r.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),PN(o,r,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let c=0;c<o.length;c++){const d=Lp(o[c],r,a);this.render(o[c],d)}}else if(r.type==="class-breaks"){const{visualVariables:a}=r;if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="simple-point")===-1&&r.defaultSymbol.type==="simple-point"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染!"),uw(o,r).forEach(({points:d,symbol:g})=>{this._simplePointAllRender(d,g)});return}if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="ESImageLabel")===-1&&r.defaultSymbol.type==="ESImageLabel"&&(!a||a.length==0)){console.log("PointLayer:大批量点渲染成图标!"),uw(o,r).forEach(({points:d,symbol:g})=>{this._imageAllRender(d,g)});return}if(r.classBreakInfos.findIndex(c=>c.symbol.type!=="ESGltfModel")===-1&&r.defaultSymbol.type==="ESGltfModel"){console.log("PointLayer:大批量点渲染成gltf!"),IN(o,r,a).forEach(({url:d,locations:g})=>{this._modelAllRender(d,g)});return}for(let c=0;c<o.length;c++){const d=Fp(o[c],r,a);this.render(o[c],d)}}else if(r.type==="heatmap"){const{field:a,fieldValueMax:l,fieldValueMin:u}=r;console.time();const h=o.map(c=>{const{points:d}=c;if(a&&typeof a=="string"){let g=c[a];typeof g=="number"&&(typeof l=="number"&&g>l&&(g=l),typeof u=="number"&&g<u&&(g=u),d[2]=g)}return d});this.renderHeatmap(h,r)}else console.error("PointLayer: renderer type is not supported")}renderLabel(e,i){const{points:r}=e;Rp(this.sceneObject,r,e,i)}renderHeatmap(e,i){const{is3D:r,radius:s,blur:o,gradient:a}=i,l=this.dv(new ed);this.d(this.sceneObject.components.disposableAdd(l)),l.is3D=r,l.radius=s,l.blur=o,a&&(l.gradient={...a}),l.data=e}render(e,i){i.type==="simple-point"?this._simplePointRender(e,i):i.type==="ESImageLabel"?this._simpleImageRender(e,i):i.type==="ESGltfModel"?this._simpleModelRender(e,i):i.type==="ESTextLabel"?sw(this.sceneObject,e.points,i):i.type==="ESParticleSystemPrimitive"?this._simpleParticleRender(e,i):console.error(" PointLayer: symbol type is not supported")}_simplePointRender(e,i){const{points:r}=e,{size:s,color:o,outlineColor:a,outlineWidth:l}=i,u=this.dv(new ph);this.d(this.sceneObject.components.disposableAdd(u)),u.pointed=!0,u.pointOutlineColor=a,u.pointOutlineWidth=l,u.pointSize=s,u.pointColor=o,u.allowPicking=(i==null?void 0:i.allowPicking)??!0,u.extras={selected:!1},u.points=[r]}_simplePointAllRender(e,i){const{size:r,color:s,outlineColor:o,outlineWidth:a}=i,l=this.dv(new ph);this.d(this.sceneObject.components.disposableAdd(l)),l.pointed=!0,l.pointOutlineColor=o,l.pointOutlineWidth=a,l.pointSize=r,l.pointColor=s,l.allowPicking=(i==null?void 0:i.allowPicking)??!0,l.points=[...e]}_simpleImageRender(e,i){const{points:r}=e,{rotation:s,offset:o,size:a,url:l,screenRender:u,anchor:h,renderMode:c,rotationType:d}=i,g=this.dv(new Jc),p=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(g)),this.d(this.sceneObject.components.disposableAdd(p)),g.url=l,g.renderMode=c??0,s&&(g.rotation=s),o&&(g.offset=o),g.size=a||[32,32],h&&(g.anchor=h),d&&(g.rotationType=d),g.screenRender=u??!0,g.allowPicking=(i==null?void 0:i.allowPicking)??!0,g.extras={selected:!1},g.position=[...r],g.sizeByContent=!1,p.allowPicking=(i==null?void 0:i.allowPicking)??!0;const y=a?Math.max(...a)+10:Math.max(...g.size)+10;p.sizeByContent=!1,p.screenRender=!0,p.size=[y,y],p.borderRadius=[y,y,y,y],p.padding=[y/2,y/2,y/2,y/2],p.borderWidth=y/10,p.offset=[0,y/10+5],p.text="",p.backgroundColor=[0,0,0,0],p.borderColor=[0,0,0,0]}_imageAllRender(e,i){const r={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:e}}]},s=this.dv(new ch);this.d(this.sceneObject.components.disposableAdd(s));const o=this.dv(new gl);this.d(this.sceneObject.components.disposableAdd(o)),s.textDefaultText="";const{offset:a,size:l,url:u,anchor:h}=i;s.imageUrl=u,h&&(s.imageAnchor=h),a&&(s.imageOffset=a),s.imageSize=l||[32,32],s.url=r,s.allowPicking=(i==null?void 0:i.allowPicking)??!0,s.extras={selected:!1},o.allowPicking=!0;const c=l?Math.max(...l)+10:Math.max(...s.imageSize)+10;o.sizeByContent=!1,o.size=[c,c],o.borderRadius=[c,c,c,c],o.padding=[c/2,c/2,c/2,c/2],o.borderWidth=c/10,o.offset=[0,c/10+5],o.text="",o.backgroundColor=[0,0,0,0],o.borderColor=[0,0,0,0]}_simpleModelRender(e,i){const{points:r}=e,{rotation:s,scale:o,url:a}=i,l=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(l)),l.url=a,s&&(l.rotation=s),o&&(l.scale=o),l.position=[...r]}_modelAllRender(e,i){const r=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(r)),r.url=e,r.instances=i}_simpleParticleRender(e,i){const{points:r}=e,s=this.dv(new $c);this.d(this.sceneObject.components.disposableAdd(s)),s.position=[...r],Object.keys(i).forEach(o=>{s[o]=i[o]})}}class MN extends V{constructor(t,e,i,r){super(),this.sceneObject=t;const s=e;if(r&&Er(s,o=>{this.renderLabel(o,r)}),i)if(i.type==="simple"){const{visualVariables:o}=i;Er(s,a=>{const l=Ap(a,i,o);this.render(a,l)})}else if(i.type==="unique-value"){const{visualVariables:o}=i;Er(s,a=>{const l=Lp(a,i,o);this.render(a,l)})}else if(i.type==="class-breaks"){const{visualVariables:o}=i;Er(s,a=>{const l=Fp(a,i,o);this.render(a,l)})}else console.error("PolyLineLayer: renderer type is not supported")}render(t,e){console.log("PolyLineLayer: render",t,e),e.type==="simple-line"?this._simpleLineRender(t,e):e.type==="ESPolygonFence"?this._esPolygonFenceRender(t,e):e.type==="ESPipeFence"?this._esPipeFenceRender(t,e):e.type==="ESPath"?this._esPathRender(t,e):e.type==="ESlineInterpolationModel"?this._eslineInterpolationModelRender(t,e):e.type==="ESlineWall"?this._eslineWallRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simpleLineRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new ws);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.stroked=!0,r.strokeColor=e.color,r.strokeWidth=e.width||1,r.allowPicking=(e==null?void 0:e.allowPicking)??!0,r.extras={selected:!1}}_esPolygonFenceRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new td);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.height=e.height,r.materialMode=e.materialMode}_esPipeFenceRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new Zc);this.d(this.sceneObject.components.disposableAdd(r)),r.points=[...i],r.height=e.height,r.width=e.width,r.materialMode=e.materialMode}_esPathRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=this.dv(new vl),s=this.dv(new ml);if(this.d(this.sceneObject.components.disposableAdd(r)),this.d(this.sceneObject.components.disposableAdd(s)),r.points=[...i],r.speed=e.speed,r.strokeColor=e.color,r.materialMode=e.materialMode,r.strokeWidth=e.width||1,e!=null&&e.runModel){const a=e==null?void 0:e.runSpeed,l=e==null?void 0:e.modelSymbol;let u;switch(e==null?void 0:e.runModel){case"ESHuman":u=this.dv(new Go);break;case"ESCar":u=this.dv(new Hc);break;case"ESGltfModel":u=this.dv(new no)}if(this.d(this.sceneObject.components.disposableAdd(u)),l)for(let c in l)u[c]=l[c];const h=[0];for(var o=0;o<i.length-1;o+=1){const c=i[o],d=i[o+1],g=SN(c[1],c[0],d[1],d[0]);h.push(h[o]+Math.ceil(g/a)*1e3)}r.timeStamps=h,e!=null&&e.runSpeed&&(r.currentPositionChanged.don(c=>{r.currentPosition&&(u.position=r.currentPosition,r.currentRotation&&(u.rotation=r.currentRotation))}),s.startTime=0,s.stopTime=h[h.length-1],s.playing=!0,s.loop=(e==null?void 0:e.runLoop)??!0,s.currentTimeChanged.don(c=>{r.path.currentTime=c}))}}_eslineInterpolationModelRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=(e==null?void 0:e.interpolationDistance)??0;if(!r)return;const s=wN(i,r/1e3),o=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(o)),o.url=e.url,o.instances=s.map(a=>({position:a,rotation:e.rotation,scale:e.scale}))}_eslineWallRender(t,e){const{points:i}=t;if(i.length<2){console.warn("PolyLineLayer: points length is less than 3");return}const r=e.height??0,s=e.width??0,o=e.extrudedHeight??0,a=i.map(h=>({lng:(h==null?void 0:h[0])??0,lat:(h==null?void 0:h[1])??0,alt:(h==null?void 0:h[2])??0})),l=CN(a,s).map(h=>[(h==null?void 0:h.lng)??0,(h==null?void 0:h.lat)??0,(h==null?void 0:h.alt)??0]),u=this.dv(new qo);this.d(this.sceneObject.components.disposableAdd(u)),u.height=r,u.extrudedHeight=o,u.filled=e.filled??!0,u.fillColor=e.fillColor,u.allowPicking=(e==null?void 0:e.allowPicking)??!0,u.extras={selected:!1},u.points=l}renderLabel(t,e){const{points:i}=t,r=_N(i);Rp(this.sceneObject,r,t,e)}}function hw(n,t){try{JSON.stringify(n[n.length-1])!==JSON.stringify(n[0])&&n.push(n[0]);const e=ti(n.map(l=>Bt(l))),i=qt([n]);return wT(e,t,{gridType:"point",units:"meters"}).features.map(l=>l.geometry.coordinates)[0][0].filter(l=>We(Bt(l),i))}catch(e){return console.error(e),[]}}class TN extends V{constructor(t,e,i,r){super(),this.sceneObject=t;const s=e;if(r&&Er(s,o=>{this.renderLabel(o,r)}),i)if(i.type==="simple"){const{visualVariables:o}=i;Er(s,a=>{const l=Ap(a,i,o);this.render(a,l)})}else if(i.type==="unique-value"){const{visualVariables:o}=i;Er(s,a=>{const l=Lp(a,i,o);this.render(a,l)})}else if(i.type==="class-breaks"){const{visualVariables:o}=i;Er(s,a=>{const l=Fp(a,i,o);this.render(a,l)})}else console.error("PolyLineLayer: renderer type is not supported")}renderLabel(t,e){const{points:i}=t;console.log("PolygonLayer: renderLabel",i);const r=EN(i);Rp(this.sceneObject,r,t,e)}render(t,e){e.type==="simple-fill"?this._simplePolygonRender(t,e):e.type==="ESGeoExtrudedPolygon"?this._esGeoExtrudedPolygonRender(t,e):e.type==="PolygonInterpolateESGltfModel"?this._polygonInterpolateESGltfModelRender(t,e):e.type==="PolygonInterpolateESImageLabel"?this._polygonInterpolateESImageLabelRender(t,e):console.error("PolyLineLayer: symbol type is not supported")}_simplePolygonRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{color:r,outline:s,filled:o,ground:a}=e,{width:l,color:u,stroked:h}=s,c=this.dv(new Ht);this.d(this.sceneObject.components.disposableAdd(c)),c.stroked=h??!1,c.strokeColor=u??[1,1,1,1],c.strokeWidth=l??1,c.filled=o??!0,c.fillGround=a??!1,c.fillColor=r??[1,1,1,1],c.allowPicking=(e==null?void 0:e.allowPicking)??!0,c.extras={selected:!1},c.points=[...i]}_esGeoExtrudedPolygonRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,extrudedHeight:s,color:o}=e,a=this.dv(new qo);this.d(this.sceneObject.components.disposableAdd(a)),a.height=r,a.extrudedHeight=s,a.filled=!0,a.fillColor=o,a.allowPicking=(e==null?void 0:e.allowPicking)??!0,a.extras={selected:!1},a.points=[...i]}_polygonInterpolateESGltfModelRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,interpolateDistance:s,url:o,rotation:a,scale:l}=e,u=hw(i,s??10),h=this.dv(new no);this.d(this.sceneObject.components.disposableAdd(h)),h.url=o,h.instances=u.map(c=>({position:[...c,r??0],rotation:a??[0,0,0],scale:l??[1,1,1]}))}_polygonInterpolateESImageLabelRender(t,e){const{points:i}=t;if(i.length<3){console.warn("PolygonLayer: points length is less than 3");return}const{height:r,interpolateDistance:s,offset:o,size:a,url:l,anchor:u}=e,c={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:[...hw(i,s??10).map(g=>[...g,r??0])]}}]},d=this.dv(new ch);this.d(this.sceneObject.components.disposableAdd(d)),d.textDefaultText="",d.imageUrl=l,u&&(d.imageAnchor=u),o&&(d.imageOffset=o),a&&(d.imageSize=a),d.url=c}}class NN extends V{constructor(e,i){super();f(this,"_initEvent",this.dv(new I));const r=this,s=async()=>{try{const a=e.featureProps;if(!a)return;const{heightMode:l,features:u,layerType:h,url:c}=a;let d=[];if(!u&&c){let g=await fetch(c).then(p=>p.json());return g=(g==null?void 0:g.features)??g,h==="polylineVector"?d=await nw(i,g,l):h==="polygonVector"?d=await rw(i,g,l):h==="pointVector"&&(d=await iw(i,g,l)),d}else h==="polylineVector"?d=await nw(i,u,l):h==="polygonVector"?d=await rw(i,u,l):h==="pointVector"&&(d=await iw(i,u,l));return d}catch(a){console.error(a);return}},o=this.dv(Ae(this._initEvent,e.featurePropsChanged));r.dv(new ve(o,()=>{if(!e.featureProps)return;const a=e.featureProps;let l;return(async()=>{const{layerType:h,renderer:c,labelingInfo:d}=a,g=await s();!g||g.length===0||(h==="pointVector"?l=new xN(e,g,c,d):h==="polylineVector"?l=new MN(e,g,c,d):h==="polygonVector"&&(l=new TN(e,g,c,d)),console.log("polygonVectorLayer","createLayer",l))})().catch(console.error),{destroy:()=>{var h;(h=l==null?void 0:l.destroy)==null||h.call(l),l=void 0}}}));{const a=(l,u=1)=>{const h=M0(l);if(!h)return;const{center:c,radius:d}=h;i.flyTo({distance:d*4,heading:0,pitch:-90,flyDuration:u??1,hDelta:0,pDelta:0},c)};r.d(e.flyToEvent.don(async l=>{const{featureProps:u}=e;if(!u)return;const h=await s();if(!h)return;let c=[];u.layerType==="polylineVector"?c=h.map(d=>d.points).flat():u.layerType==="polygonVector"?c=h.map(d=>d.points).flat():u.layerType==="pointVector"&&(c=h.map(d=>d.points)),c.length!==0&&a(c,l)}))}}init(){this._initEvent.emit()}}const Jl=class Jl extends jt{constructor(e){super(e);f(this,"featureLayerMap",new Map);const i=this;i.d(i.viewerAttached.don(r=>{if(console.log("ESFeatureLayer","viewerAttached",r.id),i.featureLayerMap.has(r.id))return;const s=new NN(i,r);s.init(),i.featureLayerMap.set(r.id,s)})),i.d(i.viewerDetached.don(r=>{var s;console.log("ESFeatureLayer","viewerDetached",r.id),i.featureLayerMap.has(r.id)&&((s=i.featureLayerMap.get(r.id))==null||s.destroy(),i.featureLayerMap.delete(r.id))})),i.d(()=>{for(const r of i.featureLayerMap.values())r.destroy();i.featureLayerMap.clear()}),i.d(go(i.showChanged,()=>{for(const r of i.components.values())Reflect.has(r,"show")&&(r.show=i.show)},{immediate:!0}))}};f(Jl,"createDefaultProps",()=>({...jt.createDefaultProps(),featureProps:Yt(void 0)})),f(Jl,"type",Jl.register("ESFeatureLayer",Jl,{chsName:"矢量图层",tags:["ESObjects"],description:"ESFeatureLayer"}));let kp=Jl;const Is=class Is extends V{constructor(){super();f(this,"_loading",!1);f(this,"_loadedEvent",this.disposeVar(new I));f(this,"_loaded",!1);f(this,"_loadedPromiseResolve");f(this,"_loadedPromise",new Promise(e=>{this._loadedPromiseResolve=e}));f(this,"_processing",this.disposeVar(gi(async e=>{if(this._loading=!0,window.Hls)console.info("可能系统已经加载hlsjs,此处不再加载!");else{const i=Z.context.getStrFromEnv(Is.path);await e.promise(Pd(i))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return Is._instance=Is._instance||new Is,Is._instance}};f(Is,"path","${xr-utils-script-dir}/xr-static/xr-utils/hlsjs/1.4.12/hls.min.js"),f(Is,"_instance");let nd=Is,ON=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class DN extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_processing",this.disposeVar(gi(async e=>{const{videoSrc:i}=this,r=nd.instance();await e.promise(r.loadedPromise);const s=window.Hls,o=new s,a=this.element;await mo(e,()=>new Promise((l,u)=>{a.xbsjHLS=o,o.attachMedia(a),o.on(s.Events.MEDIA_ATTACHED,()=>{o.loadSource(i),o.on(s.Events.MANIFEST_PARSED,(h,c)=>{a.play(),l()})}),o.on(s.Events.ERROR,(h,c)=>{const{type:d,details:g,fatal:p}=c;p&&(o.destroy(),u(g))})}))})));f(this,"_processingStartup",this._processing.start());this._complexImage=e,this._videoSrc=i,this._videoDom=this.disposeVar(new ON(this._complexImage,""))}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class cw extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new DN(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}const xs=class xs extends V{constructor(){super();f(this,"_loading",!1);f(this,"_loadedEvent",this.disposeVar(new I));f(this,"_loaded",!1);f(this,"_loadedPromiseResolve");f(this,"_loadedPromise",new Promise(e=>{this._loadedPromiseResolve=e}));f(this,"_processing",this.disposeVar(gi(async e=>{if(this._loading=!0,window.flvjs)console.info("可能系统已经加载flvjs,此处不再加载!");else{const i=Z.context.getStrFromEnv(xs.path);await e.promise(Pd(i))}this._loading=!1,this._loaded=!0,this._loadedEvent.emit(),this._loadedPromiseResolve()})));this._processing.start()}get loading(){return this._loading}get loadedEvent(){return this._loadedEvent}get loaded(){return this._loaded}get loadedPromise(){return this._loadedPromise}get processing(){return this._processing}static instance(){return xs._instance=xs._instance||new xs,xs._instance}};f(xs,"path","${xr-utils-script-dir}/xr-static/xr-utils/flvjs/1.6.2/flv.min.js"),f(xs,"_instance");let id=xs;class RN extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}}class AN extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_processing",this.disposeVar(gi(async e=>{const{videoSrc:i}=this,r=id.instance();await e.promise(r.loadedPromise);const s=window.flvjs,o=this.element;await mo(e,()=>new Promise((a,l)=>{if(!s.isSupported()){l("flvjs不支持!");return}var u=s.createPlayer({type:"flv",url:i});u.attachMediaElement(o),u.load(),u.play(),o.xbsjFlvPlayer=u}))})));this._complexImage=e,this._videoSrc=i,this._videoDom=this.disposeVar(new RN(this._complexImage,"")),this._processing.start()}get videoSrc(){return this._videoSrc}get videoDom(){return this._videoDom}get element(){return this.videoDom.element}get processing(){return this._processing}}class dw extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new AN(e,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function fw(n){const t=n.substring(n.lastIndexOf(".")+1);return mh.suffixTypes[t]}class mh extends V{constructor(){super();f(this,"_enabled",this.disposeVar(B(!1)));f(this,"_uri",this.disposeVar(B("")));f(this,"_type",this.disposeVar(B(void 0)));f(this,"_size",this.disposeVar(ee(void 0)));f(this,"_pixelFormat",this.disposeVar(B("RGBA")));f(this,"_flipY",this.disposeVar(B(!0)));f(this,"_crossOriginReact",this.disposeVar(B("")));f(this,"_autoplayReact",this.disposeVar(B(!0)));f(this,"_loopReact",this.disposeVar(B(!0)));f(this,"_copyTextureEvent",this.disposeVar(new I));f(this,"_imageProcessingResettingEvent",this.disposeVar(Ae(this.enabledChanged,this.uriChanged,this.typeChanged)));f(this,"_imageProcessingResetting",this.disposeVar(new ve(this._imageProcessingResettingEvent,()=>{do{if(!this.enabled||!this.uri)break;let{type:e}=this;if(e||(e=fw(this.uri)),!e)break;if(e==="img")return new Fm(this,this.uri);if(e==="video")return new Vm(this,this.uri);if(e==="gif")return new Jm(this,this.uri);if(e==="hls")return new cw(this,this.uri);if(e==="flv")return new dw(this,this.uri)}while(!1)})));f(this,"_createNativeTextureEvent",this.disposeVar(Ae(this.enabledChanged,this.sizeChanged,this.pixelFormatChanged,this.flipYChanged)))}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get uri(){return this._uri.value}set uri(e){this._uri.value=e}get uriChanged(){return this._uri.changed}get type(){return this._type.value}set type(e){this._type.value=e}get typeChanged(){return this._type.changed}get size(){return this._size.value}set size(e){this._size.value=e}get sizeChanged(){return this._size.changed}get pixelFormat(){return this._pixelFormat.value}set pixelFormat(e){this._pixelFormat.value=e}get pixelFormatChanged(){return this._pixelFormat.changed}get flipY(){return this._flipY.value}set flipY(e){this._flipY.value=e}get flipYChanged(){return this._flipY.changed}get crossOrigin(){return this._crossOriginReact.value}set crossOrigin(e){this._crossOriginReact.value=e}get crossOriginChanged(){return this._crossOriginReact.changed}get autoplay(){return this._autoplayReact.value}set autoplay(e){this._autoplayReact.value=e}get autoplayChanged(){return this._autoplayReact.changed}get loop(){return this._loopReact.value}set loop(e){this._loopReact.value=e}get loopChanged(){return this._loopReact.changed}get copyTextureEvent(){return this._copyTextureEvent}copyTexture(e){this._createNativeTextureEvent.flush(),this._copyTextureEvent.emit(e)}get imageProcessingResetting(){return this._imageProcessingResetting}get createNativeTextureEvent(){return this._createNativeTextureEvent}copyFromCanvas(e){if(e.width<=0||e.height<=0){console.warn("canvas.width <= 0 || canvas.height <= 0");return}this.size=[e.width,e.height],this.pixelFormat="RGBA",this.copyTexture({source:e})}}f(mh,"types",Bm),f(mh,"czmPixelFormats",km),f(mh,"suffixTypes",{png:"img",jpg:"img",svg:"img",webp:"img",gif:"gif",mp4:"video",mov:"video",webm:"video",flv:"flv",m3u8:"hls"});const LN=[0,0,0,0];class FN{constructor(){f(this,"_value",[]);f(this,"_valueStr","[]");f(this,"_valueChanged");this.value=[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]}get valueChanged(){return this._valueChanged||(this._valueChanged=new I),this._valueChanged}set value(t){if(t.length===0){console.error("value.length === 0");return}let e;if(this._value.length===t.length){const r=[...t].sort((s,o)=>s.ratio-o.ratio);if(e=JSON.stringify(r),this._valueStr===e)return}e=e||JSON.stringify([...t].sort((r,s)=>r.ratio-s.ratio));const i=this._value;if(this._value=JSON.parse(e),this._value.length===0)throw console.error("this._colorStops.length === 0"),new Error("this._colorStops.length === 0");this._valueChanged&&this._valueChanged.emit(this._value,i)}get value(){return JSON.parse(JSON.stringify(this._value))}get valueStr(){return this._valueStr}get minRatio(){return this._value[0].ratio}get maxRatio(){return this._value[this._value.length-1].ratio}_getRatioIndex(t){if(t<this._value[0].ratio||t>this._value[this._value.length-1].ratio)throw console.error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio"),new Error("ratio <= this._colorStops[0].ratio || ratio >= this._colorStops[this._colorStops.length - 1].ratio");let e=this._value.length;for(let i=0;i<e-1;++i)if(t>=this._value[i].ratio&&t<=this._value[i+1].ratio)return i;throw console.error("shoud not be here!"),new Error("shoud not be here!")}getRatioColor(t,e){t=Dh(t,this.minRatio,this.maxRatio);const i=this._getRatioIndex(t),r=this._value[i],s=this._value[i+1],o=(t-r.ratio)/(s.ratio-r.ratio);for(let a=0;a<4;++a)e[a]=r.rgba[a]*(1-o)+s.rgba[a]*o;if(e.some(Number.isNaN)){console.error("result NaN");return}return e}getColorsInUint8(t){if(t.length%4!==0)throw console.error("result.length % 4 !== 0"),new Error("result.length % 4 !== 0");const e=t.length/4,i=1/e;for(let r=0;r<e;++r){const s=LN;this.getRatioColor((r+.5)*i,s)||s.splice(0,4,0,0,0,0);for(let o=0;o<4;++o)t[r*4+o]=255*s[o]|0}return t}}class kN extends V{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,i,r){const s=this.registerEngines[e]||new Map;return s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,r),this.registerEngines[e]=s,i}getEngineObjConstructor(e,i){const r=this.registerEngines[i];if(!r)return;let s=e.constructor,o=e.typeName,a=r.get(o);if(a)return a;if(e.components.main)return;const l=o;for(;o!=="ESSceneObject"&&(s=s.getParentClass(),!!s);)if(o=s.type,a=r.get(o),a)return console.warn(`未找到${l}在${i}中对应的实现类! 使用父类${o}的实现类!`),a}createEngineObject(e,i){const r=this.getEngineObjConstructor(e,i.typeName);if(r){const s=new r(e,i);return s.createdEvent.emit(),s}else{const s=new Wo(e,i);return s.createdEvent.emit(),s}}}class BN extends V{constructor(){super(...arguments);f(this,"registerEngines",{})}register(e,i,r){const s=this.registerEngines[e]||new Map;s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,r),this.registerEngines[e]=s}getEngineObjConstructor(e,i){const s=(this.registerEngines[i]||new Map).get(e);if(s)return s;console.warn(`未找到${e}在${i}中对应的实现类!`)}createEngineObject(e,i){const r=this.getEngineObjConstructor(e.typeName,i.typeName);if(r){const s=new r(e,i);return s.createdEvent.emit(),s}else{const s=new Wo(e,i);return s.createdEvent.emit(),s}}}const Gi=class Gi extends V{constructor(e,i,r=!1){super();f(this,"_createdEvent",this.dv(new I));f(this,"_id",++Gi._accumId);this._sceneObject=e,this._viewer=i;{if(r)return;const s=(o,a)=>{for(let l of o)this._viewer.delete(l);for(let l of a)l.parentID=this.sceneObject.id,this._viewer.add(l)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};f(Gi,"context",new kN),f(Gi,"contextEditing",new BN),f(Gi,"register",Gi.context.register.bind(Gi.context)),f(Gi,"registerEditing",Gi.contextEditing.register.bind(Gi.contextEditing)),f(Gi,"_accumId",-1);let Wo=Gi;function gw(n){return typeof n=="string"?document.getElementById(n):n}function Bp(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const t=document.createElement("div");return t.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",n.appendChild(t),t}class pw extends V{constructor(e,i){super();f(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=i;const r=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let l of o){const u=r.get(l);u&&(u.destroy(),r.delete(l))}if(a)for(let l of a){if(r.get(l)){console.warn(`listeningSceneObjects已存在某对象:${l.name}`,l);debugger}const h=this.createSceneObjectListeningFunc(l);h&&r.set(l,h)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class VN extends V{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class i extends V{constructor(s){super(),this._esPath=s,this.dv(new ve(e.activeViewerChanged,()=>{const o=e.activeViewer;if(!o)return;class a extends V{constructor(u){if(super(),this._esPath=u,!o)throw new Error("!viewer");const h=()=>{const c=e.activeViewer;c&&(this._esPath.path.currentTime=c.simulationTime)};h(),this.d(o.simulationTimeChanged.don(h))}}return new a(this._esPath)}))}}this.dv(new pw(e.sceneObjectsManager,r=>{if(r instanceof vl)return new i(r)}))}{const e=this._esObjectsManager;class i extends V{constructor(s){super();const o=()=>{const a=e.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new pw(e.sceneObjectsManager,r=>{if(r instanceof ml)return new i(r)}))}}}class zN extends V{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(i=>{i&&e.sceneObjects.forEach(r=>{Reflect.has(r,"position")&&(r.position=[...i])})})),this.d(e.path.currentRotationChanged.don(i=>{i&&e.sceneObjects.forEach(r=>{Reflect.has(r,"rotation")&&(r.rotation=[...i])})}))})}}class jN extends V{constructor(e){super();f(this,"_player");f(this,"_channels",this.dv(ht([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new ve(this.channelsChanged,()=>{if(this.channels.length===0)return;const i=[];for(let r=0;r<this.channels.length;r++){const s=this.channels[r],o=Z.getSceneObjById(s.pathId);if(!o||!(o instanceof vl))continue;const l=s.sceneObjectIds.map(u=>Z.getSceneObjById(u)).filter(u=>u!==void 0);l.length!==0&&i.push({path:o,sceneObjects:l})}if(i.length!==0)return new zN(i)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function rd(n){if(n.data){const{type:t,value:e}=n.data;if(t==="UITreeA"&&e instanceof En){const{sceneObject:i}=e;if(i)return i.id}}}function UN(n,t){const{property:e,customEventName:i,otherParams:r}=t,{dragstartDataMananger:s}=n;if(!(e instanceof Ea)){if(!(e instanceof iv)){if(e instanceof ct){const[o,a]=Zr(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!r)throw new Error("!otherParams");const l=r[0];if(l.preventDefault(),!l.dataTransfer)return;rd(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!r)throw new Error("!otherParams");r[0].preventDefault();const u=rd(s);u!==void 0&&a(u)}}else if(e instanceof Km){const[o,a]=Zr(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!r)throw new Error("!otherParams");const l=r[0];if(l.preventDefault(),!l.dataTransfer)return;rd(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!r)throw new Error("!otherParams");const l=r[0].$event,u=r[0].strinsPropDom,h=r[0].index;l.preventDefault();const c=rd(s);if(c!==void 0){u[h].firstChild.value=c;const d=new Event("input",{bubbles:!0,cancelable:!0});u[h].firstChild.dispatchEvent(d)}}}else if(e instanceof Zm){const[o,a]=Zr(e.reactVar)}}}}function mw(n,t,e,i){if(e)i.currentActiveEditing=[n,t];else if(i.currentActiveEditing){const[r,s]=i.currentActiveEditing;r===n&&s===t&&(e||(i.currentActiveEditing=void 0))}}const GN=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class qN extends V{constructor(t,e){super(),this._sceneObject=t;const i=this._sceneObject;for(let r of GN){const s=r+"Changed",o=i[s];if(o){{const a=i[r];mw(i,r,a,e)}this.dispose(o.disposableOn((a=>mw(i,r,a,e))))}}}get sceneObject(){return this._sceneObject}}class WN extends V{constructor(){super();f(this,"_currentActiveEditing",this.disposeVar(ee(void 0)));f(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,i)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),i){const[r,s]=i;r[s]===!0&&(r[s]=!1)}if(e){const[r,s]=e;r[s]=!0}})),Z.context.sceneObjCreatedEvent.don(e=>{e.dv(new qN(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class HN extends V{constructor(){super();f(this,"_sceneObjects",new Set);f(this,"_sceneObjectsToChange",this.dv(new I));this.d(()=>{const e=Cd(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){return this._sceneObjects.has(e)?(console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1):(this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e),!0)}deleteSceneObject(e){return this._sceneObjects.has(e)?(this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e),!0):(console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1)}createSceneObject(e,i){const r=Z.context.createSceneObject(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromUrl(e,i){const r=Z.context.createSceneObjectFromUrl(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromClass(e,i){const r=Z.context.createSceneObjectFromClass(e,i);return r&&this.addSceneObject(r),r}createSceneObjectFromJson(e){const i=Z.context.createSceneObjectFromJson(e);return i&&this.addSceneObject(i),i}}class XN extends V{constructor(e){super();f(this,"viewer");const i=this.viewer=e;this.ad(new ve(i.rollerShutterChanged,()=>{const r=i.container;if(!r||!i.rollerShutter)return;const s=new V;this.viewer.splitPosition=.5;let o=this.getRollerShutterDIV();return r.appendChild(o),s.d(()=>{this.viewer.splitPosition=0,r.removeChild(o)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const i=r=>{if(!e.parentElement)return;r.preventDefault?r.preventDefault():r.returnValue=!1;const o=r.x/e.parentElement.offsetWidth;e.style.left=`${100*o}%`,this.viewer.splitPosition=o};return e.addEventListener("mouseenter",r=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",r=>{e.style.cursor="default"}),e.addEventListener("mousedown",r=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",i)}),document.addEventListener("mouseup",r=>{e.style.cursor="default",document.removeEventListener("mousemove",i)}),e}}class YN extends V{constructor(e){super();f(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new XN(e))}}function vw(n,t){return n.length===t.length&&n.every((e,i)=>e===t[i])}class JN extends V{constructor(t){super(),this._viewer=t,this.d(z([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class $N extends V{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const i=hr.createCommonProps(),r=[];Object.keys(i).forEach(l=>{const u=this._activeViewer[l+"Changed"];r.push(u)});const s=this.dv(Ae(...r)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(i).forEach(l=>{this._viewer[l]=this._activeViewer[l]})};this.d(s.don(o));const a=this.dv(su());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const l=this._activeViewer.getCurrentCameraInfo(),u=this._viewer.getCurrentCameraInfo();if(!l)return;const{position:h,rotation:c}=l;u&&vw(h,u.position)&&vw(c,u.rotation)||this._viewer.flyIn(h,c,0)}),this.d(()=>a.cancel())}}const QN=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
|
|
491
491
|
<animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
|
|
492
492
|
</circle><g></g></g></svg>
|
|
493
493
|
`,KN='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',ZN='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',ua=class ua extends V{constructor(t){super();const e=()=>{const i=this.dv(new Yc);this.d(z([i,"show"],[t,"useDefaultStatusDiv"]));{const r=()=>{i.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};r(),this.d(t.useDefaultStatusDivChanged.don(r)),this.d(t.statusChanged.don(r)),i.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(i),this.d(()=>t.delete(i)),i.instanceClass=class extends V{constructor(o,a,l){super();f(this,"_div",document.createElement("div"));if(this._subContainer=o,!l)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const p=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};p(),this.d(a.showChanged.don(p))}let u,h,c,d,g;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",u=document.createElement("div"),this._div.appendChild(u),u.style.width="auto",u.style.position="absolute",u.style.left="50%",u.style.top="50%",u.style.transform="translate(-50%,-50%)",u.style.background="rgba(120, 120, 0, 0.7)",u.style.color="white",u.style.fontSize="10px",u.style.background="none",u.style.display="flex",u.style.justifyContent="center",u.style.alignItems="center",h=document.createElement("div"),u.appendChild(h),h.style.pointerEvents="none",h.style.display="block",h.style.width="40px",h.innerHTML=ua.defaultsSvg.loadingSvg,h.style.filter="drop-shadow(0px 0px 1px black)",c=document.createElement("div"),u.appendChild(c),c.style.pointerEvents="none",c.style.marginLeft="10px",c.style.display="flex",c.style.flexFlow="column",c.style.maxWidth="300px",d=document.createElement("div"),c.appendChild(d),d.style.fontSize="14px",d.style.fontWeight="800",d.style.marginBottom="5px",d.style.textShadow="0 0 2px black",g=document.createElement("div"),c.appendChild(g),g.style.fontWeight="400",g.style.textShadow="0 0 2px black";{const p=()=>{let w="Raw";l.status==="Raw"?w="初始状态":l.status==="Creating"?w="正在创建":l.status==="Created"?w="创建完成":l.status==="Error"?w="创建失败":l.status==="Reconnecting"&&(w="重新连接"),d.innerText=`${w}(${l.status})`,g.innerText=`${l.statusLog}`,(l.status==="Creating"||l.status==="Reconnecting")&&(h.innerHTML=ua.defaultsSvg.loadingSvg),l.status==="Created"&&(h.innerHTML=ua.defaultsSvg.successSvg),l.status==="Error"&&(h.innerHTML=ua.defaultsSvg.warnSvg)};p();const y=this.dv(Ae(l.statusLogChanged,l.statusChanged));this.d(y.don(p))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,l=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${l}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};f(ua,"defaultsSvg",{loadingSvg:QN,successSvg:KN,warnSvg:ZN});let Vp=ua;class tO extends V{constructor(t,e,i){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=i;const r=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const h=o.zIndex??"";r.style.zIndex=h,s.style.zIndex=h};a(),this.d(o.zIndexChanged.don(a));const l=()=>{r.style.display=o.show??!0?"block":"none"};l(),this.d(o.showChanged.don(l));const u=()=>{r.style.opacity=`${o.opacity??1}`};u(),this.d(o.opacityChanged.don(u))}}function sd(n){let t=Zn(n,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",n.appendChild(t),wr(n,"_relativeContainer",t)),t}class eO extends V{constructor(e,i){super();f(this,"_subContainer",document.createElement("div"));f(this,"_overlayContainer",document.createElement("div"));f(this,"_containerStyleController");this._container=e,this._viewer=i,this._containerStyleController=this.dv(new tO(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:r,overlayContainer:s}=this;r.tabIndex=-1,r.style.outline="none",r.style.width="100%",r.style.height="100%",r.onpointerdown=()=>r.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),r.setAttribute("earthsdk3","earthsdk3-subContainer"),sd(this._container).appendChild(r),this.d(()=>sd(this._container).removeChild(r)),sd(this._container).appendChild(s),this.d(()=>sd(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class nO extends V{constructor(){super(...arguments);f(this,"registerObjsMap",new Map)}register(e,i){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,i),e}getViewerConstructor(e){const i=this.registerObjsMap.get(e);if(!i){console.warn(`未找到${e}类!`);return}return i}createViewer(e){const i=e.type;console.log(e);const r=this.getViewerConstructor(i);if(!r)throw new Error(`没有找到类型为${i}的Viewer构造器!`);return new r(e)}}class yw extends V{constructor(t,e,i=!1,r=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(oe.create(e,"pointerdown")),o=this.dv(oe.create(e,"pointermove")),a=this.dv(oe.create(e,"pointerup")),l=this.dv(oe.create(e,"pointerout")),u=this.dv(oe.create(e,"pointerover")),h=this.dv(new kd),c=this.dv(new hm),d=()=>{const E=this._viewer.hoverTime*1e3;c.delayTime=E};this.d(this._viewer.hoverTimeChanged.don(()=>{d()})),this.d(s.don(E=>h.pointerDown(E))),this.d(o.don(E=>h.pointerMove(E))),this.d(a.don(E=>h.pointerUp(E))),this.d(l.don(E=>h.pointerOut(E))),this.d(s.don(E=>c.pointerDown(E))),this.d(o.don(E=>c.pointerMove(E))),this.d(a.don(E=>c.pointerUp(E))),this.d(l.don(E=>c.pointerOut(E)));const{x:g,y:p}=e.getBoundingClientRect(),y=r?g:0,w=r?p:0;this.d(c.hoverEvent.don(E=>{const[C,b]=pa(E,i);this._viewer.hoverEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(h.clickEvent.don(E=>{const[C,b]=pa(E,i);this._viewer.clickEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(h.dbclickEvent.don(E=>{const[C,b]=pa(E,i);E.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(s.don(E=>{const[C,b]=pa(E,i);E.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(a.don(E=>{const[C,b]=pa(E,i);E.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(o.don(E=>{const[C,b]=In(E,i);this._viewer.pointerMoveEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(u.don(E=>{const[C,b]=In(E,i);this._viewer.pointerOverEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})})),this.d(l.don(E=>{const[C,b]=In(E,i);this._viewer.pointerOutEvent.emit({screenPosition:[C+y,b+w],pointerEvent:E})}));const S=this.dv(oe.create(e,"keydown"));this.d(S.don(E=>this._viewer.keyDownEvent.emit(E)));const v=this.dv(oe.create(e,"keyup"));this.d(v.don(E=>this._viewer.keyUpEvent.emit(E)));const _=this.dv(oe.create(e,"wheel"));this.d(_.don(E=>this._viewer.wheelEvent.emit(E)))}}const Ms=class Ms extends V{constructor(e){super();f(this,"_forceRecreateEvent",this.dv(new I));f(this,"_container",this.dv(B(void 0)));f(this,"_containerSize",this.dv(B(void 0)));f(this,"_editingEvent",this.disposeVar(new I));f(this,"_status",this.dv(B("Raw")));f(this,"_statusLog",this.dv(B("")));f(this,"_statusContainer",this.dv(new Vp(this)));f(this,"_useCustomInteraction",this.dv(B(!0)));f(this,"_resetInteractionEvent",this.dv(Ae(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));f(this,"_interactionResetting",this.dv(new ve(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new yw(this,this.container)})));f(this,"_viewerChanged",this.dv(new I));f(this,"_cameraChanged",this.dv(new I));f(this,"_containerResetEvent",this.dv(Ae(this.containerChanged,this._forceRecreateEvent)));f(this,"_containerResetting",this.dv(new ve(this._containerResetEvent,()=>{if(this.container)return new eO(this.container,this)})));f(this,"_sceneObjectsMap",new Map);f(this,"_id");f(this,"_typeName");f(this,"_updateFuncReact",this.dv(B(void 0)));f(this,"_toDestroyFuncReact",this.dv(B(void 0)));f(this,"_statusInfo",Ms.defaults.statusInfo);f(this,"_navigationMode",this.dv(B("Map")));f(this,"_syncViewer",this.dv(B(void 0)));f(this,"_syncEventDon",this.dv(new ve(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new $N(this,e)})));f(this,"_timeSyncdon",this.dv(new ve(this.timeSyncChanged,()=>{if(this.timeSync)return new JN(this)})));f(this,"_hoverEvent",this.dv(new I));f(this,"_pointerOverEvent",this.dv(new I));f(this,"_pointerMoveEvent",this.dv(new I));f(this,"_pointerDownEvent",this.dv(new I));f(this,"_pointerUpEvent",this.dv(new I));f(this,"_pointerOutEvent",this.dv(new I));f(this,"_clickEvent",this.dv(new I));f(this,"_dblclickEvent",this.dv(new I));f(this,"_keyDownEvent",this.dv(new I));f(this,"_keyUpEvent",this.dv(new I));f(this,"_wheelEvent",this.dv(new I));f(this,"_actived",this.dv(B(!1)));this._id=e.id??fa();const i=gw(e.container);if(i)this._container.value=Bp(i),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const r=()=>{i&&(this.show??!0?i.style.display="block":i.style.display="none")};r(),this.d(this.showChanged.don(r))}{const r=this._sceneObjectsMap,s=()=>{for(let[a,l]of r.entries())if(!l&&a){const u=Wo.context.createEngineObject(a,this);u&&r.set(a,u)}},o=()=>{for(let[a,l]of r.entries())l&&!l.isDestroyed()&&l.destroy(),r.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const r=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};r(),this.d(this.execOnceFuncStrChanged.don(r))}{const r=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};r(),this.d(this.updateFuncStrChanged.don(r));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||su(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const r=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};r(),this.d(this.toDestroyFuncStrChanged.don(r)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new YN(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const i=document.getElementById(e);i&&i instanceof HTMLDivElement?this._container.value=Bp(i):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Bp(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get cameraChanged(){return this._cameraChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let i of e)if(!this.has(i)){Z.context.addSceneObject(i);const r=Wo.context.createEngineObject(i,this);r&&this._sceneObjectsMap.set(i,r),i.viewerAttached.emit(this)}}delete(...e){for(let i of e)if(this.has(i)){const r=this._sceneObjectsMap.get(i);r&&r.destroy(),Z.context.deleteSceneObject(i),this._sceneObjectsMap.delete(i),i.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Ms.createDefaultProps()}_getJson(e=!0){const i={id:this.id,type:this.typeName};for(let r of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[r];o instanceof Ue?s=o.equals(this[r]):s=o===this[r],s||(i[r]=this[r])}else i[r]=this[r];return i}_setJson(e,i,r){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(r??!1)){let l=this.defaultProps[a];l instanceof Ue&&(l=l.value),this[a]=l}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(i){console.warn(`时间格式不正确! value: ${e} error: ${i}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}get actived(){return this._actived.value}set actived(e){this._actived.value=e}get activedChanged(){return this._actived.changed}getESProperties(){return{defaultMenu:"general",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[],more:[]}}getProperties(e){const i={...this.getESProperties()},r=[];return i.general.length>0&&r.push(new at(i.general,"general")),Object.keys(i).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&i[s].length>0&&r.push(new at(i[s],s))}),r}};f(Ms,"context",new nO),f(Ms,"register",Ms.context.register.bind(Ms.context)),f(Ms,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0,cameraMovableRegion:[0,0,0,0,0,0],depthTestAgainstTerrain:!0,terrainOpacity:1});let hr=Ms;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:mt(void 0),devTags:ee(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),n.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:ee(void 0),editingAuxiliaryPointColor:ee(void 0),editingLineWidth:void 0,editingLineColor:ee(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader,splitPosition:B(void 0),rollerShutter:!1,cameraMovableRegion:ee(void 0),depthTestAgainstTerrain:!0,terrainOpacity:1}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(hr||(hr={})),ts(hr.prototype,hr.createDefaultProps);function _w(n,t){const e=n._lastCameraInfo;if(e){const i=t.viewerChanged.don(r=>{if(!r||!e)return;const{position:s,rotation:o}=e;t.flyIn(s,o,0),n._lastCameraInfo=void 0,i()})}}const iO=n=>{const t=hr.createCommonProps(),e={};try{Object.keys(t).forEach(i=>{e[i]=n[i]})}catch(i){console.warn(i)}return e},ww=(n,t)=>{const e=hr.createCommonProps();try{Object.keys(e).forEach(i=>{n[i]=t[i]})}catch(i){console.warn(i)}};class rO extends V{constructor(e){super();f(this,"_viewersChanged",this.disposeVar(new I));f(this,"_viewers",new Set);f(this,"_viewersToChange",this.dv(new I));this._sceneObjectsManager=e,this.d(()=>{for(const i of this._viewers)this.destroyViewer(i);this._viewers.clear()}),this.viewers.forEach(i=>{const r=this._sceneObjectsManager.sceneObjects;i.add(...r)}),this.d(()=>{const i=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(r=>{r.delete(...i)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((i,r)=>{this.viewers.forEach(s=>{r.forEach(o=>{is(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),i.forEach(o=>{is(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),r.length>0&&r.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,is(o.devTags,s.devTags)),is(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((i,r)=>{const s=this._sceneObjectsManager.sceneObjects;r.forEach(o=>{for(let a of s)is(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),i.forEach(o=>{for(let a of s)is(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),r.length>0&&r.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let l of a)console.log("viewersChanged",o.devTags,l.devTags,is(o.devTags,l.devTags)),is(o.devTags,l.devTags)&&(o.has(l)?console.warn(`${o.typeName}中已存${l.typeName},检查逻辑是否有问题!`):o.add(l))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(e){const i=hr.context.createViewer(e);return this._viewers.add(i),this._viewersChanged.emit([],[i]),i}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class od extends V{constructor(...e){super();f(this,"_drgm",this.dv(new av));f(this,"_sobjm",this.dv(new HN));f(this,"_vrm",this.dv(new rO(this._sobjm)));f(this,"_sceneObjectEditingManager",this.disposeVar(new WN));f(this,"_activeViewer",this.dv(B(void 0)));f(this,"_syncOtherViewersToActived",this.dv(B(!1)));f(this,"_cmrvm",this.createSceneObjectFromClass(Wc));f(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));f(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});f(this,"_sceneTree",this.dv(new lh("default",this.dragstartDataMananger,24,this)));f(this,"_propUiTreeManager",this.dv(new dl(24)));f(this,"_sceneTreeMap",new Map);f(this,"_viewerCreatedEvent",this.dv(new I));f(this,"_lastCameraInfo");f(this,"_lastActiveViewerJson");f(this,"_syncEventDonFunc",this.d(go([this.activeViewerChanged,this.syncOtherViewersToActivedChanged],()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(i=>{e?i.syncOtherViewer(this.activeViewer):i.syncOtherViewer(void 0)})})));f(this,"_player",this.createSceneObjectFromClass(ml));f(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));f(this,"_esPlyarAndPathTime",this.dv(new VN(this)));f(this,"_pathAnimationManager",this.dv(new jN(this)))}static get envs(){return Z.context.environmentVariables}getSceneObjectById(e){return Z.getSceneObjectById(e)}getSceneObject(e){return Z.getSceneObject(e)}get $refs(){return Z.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e,this.viewers.values().forEach(i=>i.actived=i===e)}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var c;const e=this._asset.createdTime||new Date().toISOString(),i=new Date().toISOString(),r=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:i,name:r},a=this.sceneTree.json,l=this._cmrvm.views,u=[...this._vrm.viewers].map(d=>d.json),h=(c=this.activeViewer)==null?void 0:c.getCurrentCameraInfo();return{asset:o,viewers:u,sceneTree:a,viewCollection:l,lastView:h}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(i=>{const r=e.viewers.find(s=>s.id===i.id);r&&(i.json=r)})}catch(i){console.error(`ESObjectsManager解析json数据时发生错误! error: ${i}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return UN(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,i=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const r=this.dv(new lh(e,this.dragstartDataMananger,i,this));this._sceneTreeMap.set(e,r)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const i=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=i);const r=this.d(i.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(i),r())}));return i}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,i=!0,r=!0,s=!0){var u;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&i&&(this._lastCameraInfo=(u=this.activeViewer)==null?void 0:u.getCurrentCameraInfo()),!this._lastActiveViewerJson&&r&&(this._lastActiveViewerJson=this.activeViewer?iO(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=e.id,a=o?[...this.getViewers()].find(h=>h.id===o):[...this.getViewers()].find(h=>h.typeName===e.type);if(a)if(o&&a.typeName!==e.type)console.warn(`id为${o}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),i&&_w(this,a),r&&this._lastActiveViewerJson&&(ww(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===gw(e.container)?(a.containerOrId=e.container,a.forceRecreate()):a.containerOrId=e.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const l=this.createViewer(e);return console.log(e),console.log(this),i&&_w(this,l),r&&this._lastActiveViewerJson&&(ww(l,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=l,l}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:i,viewSync:r,attributeSync:s,destroy:o,id:a}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:i,id:a},r??!0,s??!0,o??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const i={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:r,viewSync:s,attributeSync:o,destroy:a,id:l}=i;return this.switchViewer({type:"ESCesiumViewer",container:r,id:l},s,o,a)}}switchToUEViewer(...e){let i,r={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:l,uri:u,app:h,token:c,viewSync:d,attributeSync:g,destroy:p,id:y}=e[0];i={type:"ESUeViewer",container:l,id:y,options:{uri:u,app:h,token:c}},r={viewSync:d??!0,attributeSync:g??!0,destroy:p??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:l,ws:u,esmsg:h,viewSync:c,attributeSync:d,id:g,destroy:p}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{ws:u,esmsg:h}},r={viewSync:c??!0,attributeSync:d??!0,destroy:p??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:l,project:u,baseUrl:h,viewSync:c,attributeSync:d,id:g,destroy:p}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{project:u,baseUrl:h}},r={viewSync:c??!0,attributeSync:d??!0,destroy:p??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(i={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},r={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(i={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},r={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(i={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},r={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!i)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=r;return this.switchViewer(i,s,o,a)}createCesiumViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createOpenLayersViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createUeViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?i={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!i)throw new Error("参数错误");return this.createViewer(i)}createSceneObject(e,i){return this._sobjm.createSceneObject(e,i)}createSceneObjectFromUrl(e,i){return this._sobjm.createSceneObjectFromUrl(e,i)}createSceneObjectFromClass(e,i){return this._sobjm.createSceneObjectFromClass(e,i)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const i=this._sobjm.deleteSceneObject(e);return e.destroy(),i}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let i of e)i!=this._player&&i!=this._cmrvm&&this.destroySceneObject(i)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}return f(od,"getSceneObjById",Z.context.getSceneObjectById.bind(Z.context)),f(od,"getEnv",Z.context.getEnv.bind(Z.context)),f(od,"setEnv",Z.context.setEnv.bind(Z.context)),m.BasePropTreeItem=mg,m.Boolean2Property=pE,m.Boolean2sProperty=yE,m.Boolean3Property=mE,m.Boolean3sProperty=_E,m.Boolean4Property=vE,m.Boolean4sProperty=wE,m.BooleanProperty=X,m.BooleansProperty=aE,m.BorderedPosFloatDiv=Pm,m.BoxPicker=Nd,m.CancelError=qi,m.CancelsManager=Rd,m.CanvasImagePoi=O1,m.CanvasPoi=Bd,m.CanvasPointPoi=D1,m.CanvasPrimitive=cm,m.CanvasPrimitivesContext=R1,m.ColorProperty=Pt,m.ColorRgbProperty=SE,m.ColorStops=FN,m.ComplexImage=mh,m.CursorFloatDiv=B1,m.CursorInfo=V1,m.DashPatternProperty=bE,m.DateProperty=wo,m.DatesProperty=sv,m.Debouncing=l1,m.DebouncingDeprecated=xd,m.DebouncingWithStartValues=u1,m.Destroyable=V,m.DivBoxPicker=s1,m.DivPoi=Cm,m.DivPointerClick=T1,m.DomElementEvent=oe,m.DoublyLinkedList=Xp,m.DragStartDataManager=av,m.ES3DTileset=ki,m.ESAlarm=bg,m.ESApertureEffect=Pg,m.ESAreaMeasurement=Ig,m.ESBlastParticleSystem=xg,m.ESBoxClipping=Mg,m.ESCameraView=Gc,m.ESCameraViewCollection=Wc,m.ESCameraVisibleRange=Tg,m.ESCar=Hc,m.ESCityBasePoint=Pp,m.ESClassification=Xc,m.ESClippingPlane=Ng,m.ESCustomDiv=Yc,m.ESCzml=Ip,m.ESDataMesh=Og,m.ESDatasmithRuntimeModel=ap,m.ESDirectionMeasurement=Kg,m.ESDistanceMeasurement=Dg,m.ESDynamicWater=lp,m.ESEntityCluster=Sp,m.ESExcavate=uh,m.ESFeatureLayer=kp,m.ESFireParticleSystem=Rg,m.ESForestTileset=Ag,m.ESGaussianSplatting=Np,m.ESGeoDiv=Lg,m.ESGeoDivTextPoi=bp,m.ESGeoExtrudedPolygon=qo,m.ESGeoJson=ch,m.ESGeoLineString=ws,m.ESGeoPoints=ph,m.ESGeoPolygon=Ht,m.ESGeoRectangle=Fg,m.ESGeoVector=bt,m.ESGeoWater=up,m.ESGltfModel=no,m.ESHeatMap=ed,m.ESHeightLimitAnalysis=Cp,m.ESHeightMeasurement=Zg,m.ESHole=pp,m.ESHuman=Go,m.ESHumanPoi=gp,m.ESImageLabel=Jc,m.ESImageryLayer=Bg,m.ESJEditingMode=et,m.ESJLonLatFormat=ov,m.ESJPickedResult=DE,m.ESLabel=di,m.ESLevelRuntimeModel=hp,m.ESLocalCircle=tp,m.ESLocalPolygon=dh,m.ESLocalPolygonZ=ep,m.ESLocalRectangle=np,m.ESLocalSkyBox=Vg,m.ESLocalVector=fl,m.ESLocalVector2D=_s,m.ESLocationMeasurement=zg,m.ESMsTileset=_p,m.ESNavigator=xp,m.ESObjectWithLocation=rt,m.ESObjectsManager=od,m.ESParticleSystemPrimitive=$c,m.ESPath=vl,m.ESPathImpl=io,m.ESPipeFence=Zc,m.ESPipeline=cp,m.ESPipeserTileset=ip,m.ESPit=pl,m.ESPlayer=ml,m.ESPoi2D=hh,m.ESPoi3D=jg,m.ESPoiTileset=wp,m.ESPolygonFence=td,m.ESPolygonFlattenedPlane=Ug,m.ESPolygonWithHole=sp,m.ESRectangle=rp,m.ESRtsFeatureEditing=yp,m.ESRtsTileset=vp,m.ESScale=Ep,m.ESSceneObject=Z,m.ESSceneObjectWithId=dv,m.ESSeparateFoliage=Gg,m.ESSkylineAnalysis=Dp,m.ESStaticMesh=Op,m.ESSubmergingAnalysis=qg,m.ESSunshineAnalysis=Wg,m.ESSurfaceAreaMeasurement=op,m.ESTerrainLayer=Hg,m.ESTestObject=Sg,m.ESTextLabel=gl,m.ESUEWidget=Xg,m.ESUnrealActor=Yg,m.ESVideoFusion=Jg,m.ESViewShed=$g,m.ESViewer=hr,m.ESViewerStatusBar=Mp,m.ESViewerStatusBarScale=Tp,m.ESVisibilityAnalysis=dp,m.ESVisualObject=jt,m.ESVolumeMeasurement=fp,m.ESWidget=Qg,m.EngineObject=Wo,m.EnumProperty=wt,m.EnumStringsProperty=PE,m.EvalStringProperty=Rs,m.Event=I,m.EventListenerHandler=gd,m.Fetching=t1,m.FloatDiv=jd,m.FlvJsLoading=id,m.FlvProcessing=dw,m.FunctionProperty=lt,m.Gif=Ym,m.GifPlayer=Xm,m.GifProcessing=Jm,m.GroupPropTreeItem=yg,m.GroupProperty=at,m.HasOwner=Hw,m.HlsJsLoading=nd,m.HlsProcessing=cw,m.IFrameBorderedPosFloatDiv=F1,m.ImageProcessing=Fm,m.IntervalDeprecated=Td,m.JsonProperty=tt,m.LeafPropTreeItem=vg,m.ListenerPipe=fd,m.LocalFileServer=Am,m.LocalRootDir=Rm,m.LongStringProperty=$d,m.MaximumScreenSpaceErrorProperty=sE,m.MinmaxProperty=IE,m.NearFarScalerProperty=xE,m.NextAnimateFrameEvent=Mh,m.NextAnimateFrameWeakEvent=Jp,m.NextMicroTaskEvent=_d,m.NextMicroTaskWeakEvent=kw,m.NonreactiveJsonStringProperty=nv,m.Number2Property=Fe,m.Number2sProperty=tv,m.Number3Property=cn,m.Number3sProperty=Jd,m.Number4Property=Wi,m.Number4WithUndefinedProperty=fE,m.Number4sProperty=gE,m.NumberProperty=N,m.NumberRangeProperty=ME,m.NumberSliderProperty=Ge,m.NumbersProperty=oE,m.ObjPool=Eh,m.ObjResetting=U1,m.ObjResettingWithEvent=ve,m.ObservableArray=iu,m.ObservableSet=Bh,m.ParamsProperty=ev,m.PickColorMananger=wm,m.PickedInfo=OE,m.Player=Hi,m.PlayerProperty=Vh,m.PointerClick=kd,m.PointerClickDeprecated=sm,m.PointerHover=hm,m.PointerHoverDeprecated=N1,m.PosFloatDiv=qd,m.PositionProperty=Ea,m.PositionsProperty=iv,m.PositionsSetPropety=NE,m.Processing=Le,m.PropTree=N0,m.PropUiTreeManager=dl,m.Property=Ds,m.ReactVarProperty=Ct,m.ReactiveVariable=Ue,m.RotationProperty=Qd,m.SceneObjectFromId=tf,m.SceneTree=lh,m.SceneTreeContextMenu=F0,m.SceneTreeItem=En,m.SceneTreeItemDragDrop=L0,m.SmartListenerHandler=Ql,m.SmartListenerPipe=xw,m.SmoothMoveController=UT,m.String2Property=lE,m.String2sProperty=Zm,m.String3Property=uE,m.String3sProperty=cE,m.String4Property=hE,m.String4sProperty=dE,m.StringNumberProperty=EE,m.StringNumbersProperty=CE,m.StringProperty=ct,m.StringsProperty=Km,m.Throttling=x1,m.ThrottlingWithStartValues=M1,m.TimingDeprecated=im,m.ToolTipDiv=k1,m.Transition=au,m.TransitionDeprecated=i1,m.Tree=wa,m.TreeItem=_a,m.TreeItemDragDrop=lv,m.UiTree=Tm,m.UiTreeObject=Mm,m.UriProperty=cu,m.VideoProcessing=Vm,m.ViewPlayerProperty=rv,m.ViewerCustomInteraction=yw,m.Watcher=du,m.WatcherTools=fv,m.WithUndefinedProperty=Yd,m.XrPlayer=Fh,m.Xyzw2Ns=Oh,m.addTreesCallFunc=j0,m.animateFrame=Ih,m.ary2Ns=Zw,m.asyncFuncToCancelablePromise=f1,m.bind=nt,m.bindCustomEditing=cv,m.bindu=Lw,m.booleanPointInPolygon=ET,m.canMoveToTreeItem=hu,m.canMoveToTreeItems=Im,m.cancelFuncToCancelablePromise=d1,m.cancelPromise=Od,m.cancelableFetch=Ld,m.cancelableFetchDeprecated=nm,m.cancelableFetchWithProgress=p1,m.cartesianDistance=T0,m.clamp=Dh,m.clamp0_360=Ca,m.clampN180_180=hv,m.complexImageTypes=Bm,m.createAnimateFrame=su,m.createAnimateFrameWithStartValues=ya,m.createBottomTriangleElement=bm,m.createCancelablePromise=Ah,m.createCloseDiv=Sm,m.createEventsCallFunc=go,m.createFetching=m1,m.createFetchingWithStartValues=v1,m.createGuid=fa,m.createInterval=C1,m.createIntervalWithStartValues=S1,m.createNextAnimateFrame=y1,m.createNextAnimateFrameEvent=Ae,m.createNextAnimateFrameEventCallFunc=Vw,m.createNextAnimateFrameWeakEvent=zw,m.createNextAnimateFrameWithStartValues=_1,m.createNextMicroTask=w1,m.createNextMicroTaskEvent=Fw,m.createNextMicroTaskWeakEvent=Bw,m.createNextMicroTaskWithStartValues=E1,m.createNumbers=Nh,m.createProcessingFromAsyncFunc=gi,m.createProcessingFromAsyncFuncWithStartValues=g1,m.createProcessingFromPromiseCreateFunc=Lh,m.createProcessingFromPromiseCreateFuncWithStartValues=Ad,m.createPropTreeFromSceneObject=O0,m.createSleeping=b1,m.createSleepingWithStartValues=P1,m.createStartFuncFromAsyncFunc=ru,m.createTimeout=am,m.createTimeoutWithStartValues=lm,m.cutDownTreesCallFunc=q0,m.czmPixelFormats=km,m.debounce=Ph,m.defaultGetLocalFilePath=G1,m.defaultInitSceneObjectOnCreatingFunc=AE,m.defaultLight122FromEnvironmentMapManager=Cg,m.defaultLocalFileServer=Lm,m.defaultStartUpdateFunc=Th,m.defaultUpdateSceneObjectOnPickingFunc=RE,m.defineReactiveProp=Md,m.destroyObject=Gp,m.downloadLink=qw,m.drawPoint=yo,m.drawRoundRectPath=dm,m.drawText=fm,m.drawTextBlock=Vd,m.equalsN3=wg,m.every=Ed,m.extendClassProps=ts,m.fetchArrayBuffer=Yw,m.fetchImage=Zp,m.forEach=Er,m.forEachWithBreak=wd,m.geoAlong=CT,m.geoArea=fg,m.geoBuffer=b0,m.geoCenterOfMass=ST,m.geoDestination=w0,m.geoDifference=P0,m.geoDistance=Uc,m.geoHeading=oh,m.geoIntersect=C0,m.geoLineIntersect=bT,m.geoNearestPointOnLine=IT,m.geoPointToLineDistance=xT,m.geoPolygonFromCircle=I0,m.geoPolygonOverlap=gg,m.geoRhumbDestination=MT,m.geoRhumbDistance=E0,m.geoRhumbHeading=TT,m.geoUnion=S0,m.getColorHexStr=uu,m.getCompleteReactParams=bh,m.getDefaultValue=BE,m.getDistancesFromPositions=ah,m.getDomEventCurrentTargetPos=In,m.getDrawRect=vo,m.getEventFromPromise=a1,m.getEventPosInCurrentTarget=pa,m.getExtProp=Zn,m.getFileArrayBuffer=Dm,m.getFileJson=Om,m.getFileText=Wd,m.getFloatDivPool=Gd,m.getGeoBoundingSphereFromPositions=M0,m.getIterator=Zl,m.getMidpoint=PT,m.getMinMaxCorner=x0,m.getMinMaxPosition=Xw,m.getPromiseCancel=ma,m.getPromiseFromEvent=o1,m.getPromiseFromProcessing=Fd,m.getReactFuncs=Zr,m.getSceneObjectTreeItem=LE,m.getSubEntriesFromDir=Nm,m.getTypeFromImageUri=fw,m.getValueFromProps=$p,m.getXyzFromPostion=pg,m.growthSimulationCallFunc=W0,m.hasSameTags=uv,m.hasSameViewerTags=is,m.imageToCanvas=gm,m.inOrderRunning=VE,m.interval=vd,m.isJSON=Kd,m.isPromiseCancelable=va,m.isXML=kE,m.lbhToWebMerc=xI,m.lbhToXyz=Ir,m.length=Cd,m.lerpAngle=jh,m.lerpRotation=Zd,m.loadGifFrames=Wm,m.loadJs=Pd,m.map=D0,m.max=es,m.min=Ns,m.moveToTreeItem=kh,m.moveToTreeItems=xm,m.nextAnimateFrame=ga,m.nextMicroTask=Kl,m.objsIterator=po,m.oneTimeWarning=ca,m.optionsStr=$T,m.pairToPromise=Dd,m.pluckProperty=Sd,m.react=B,m.reactArray=ht,m.reactArrayCollection=Nw,m.reactArrayCollectionWithUndefined=pd,m.reactArrayWithUndefined=ee,m.reactDeepArray=Ch,m.reactDeepArrayWithUndefined=Ts,m.reactJson=mt,m.reactJsonCollection=Ow,m.reactJsonCollectionWithUndefined=Dw,m.reactJsonWithUndefined=Yt,m.reactPlainObject=Mw,m.reactPlainObjectWithUndefined=Tw,m.reactPosition2Ds=_g,m.reactPosition2DsSet=Rw,m.reactPositions=Sh,m.reactPositionsSet=Yp,m.reduce=nu,m.registerCreatedEventUpdate=NT,m.registerEventCtor=qp,m.registerEventUpdate=OT,m.removeAllTreesCallFunc=U0,m.requestAnimationFrameTimeStampTest=Ww,m.rpToap=FE,m.saveOnBrowser=Gw,m.setCanvasUniformColor=pm,m.setExtProp=wr,m.setPromiseCancel=Os,m.setSceneObjectTreeItem=zh,m.setValueFromProps=Uw,m.sleep=ou,m.sleepDeprecated=e1,m.step=mo,m.stepProcessing=I1,m.throttle=bd,m.timeout=yd,m.track=z,m.uint32ToUint8s=ym,m.uint8ToHexStr=lu,m.uint8sToUint32=_m,m.updateTreeParamsCallFunc=G0,m.webMercToLbh=MI,m.xyz2N2=Jw,m.xyz2N3=$w,m.xyzToLbh=ay,m.xyzw2N4=Qw,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"}),m})({});
|