UNPKG

@turbox3d/command-manager

Version:

Large-scale productivity application command management library

1 lines 73.5 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["@turbox3d/command-manager"]=e():t.CommandManager=e()}(self,(()=>(()=>{"use strict";var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})}};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var e,n,i,r,a={};function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n<e;n++)i[n]=t[n];return i}function s(t,e){if(t){if("string"==typeof t)return o(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function h(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||s(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function c(t){var e=function(t){if("object"!=l(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==l(e)?e:e+""}function y(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,c(i.key),i)}}function v(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function f(t,e){if(e&&("object"==l(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},d(t)}function p(t,e){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},p(t,e)}function m(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&p(t,e)}function g(){return"undefined"!=typeof window?"browser":"vm"}t.r(a),t.d(a,{Command:()=>ht,CommandManager:()=>yt,isCommandManager:()=>vt}),"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),new Array(36),Promise.resolve(),(n=e||(e={}))[n.UserAction=0]="UserAction",n[n.UpdateState=1]="UpdateState",n[n.RenderReact=2]="RenderReact",n[n.RenderScene=-1]="RenderScene",new(function(){return v((function t(){u(this,t),this.listeners={}}),[{key:"on",value:function(t,e){var n=this.listeners[t]||[];n.push(e),this.listeners[t]=n}},{key:"emit",value:function(t){for(var e=this,n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];var a=this.listeners[t];Array.isArray(a)&&a.forEach((function(t){try{t.apply(e,i)}catch(t){console.error(t)}}))}},{key:"off",value:function(t){this.listeners[t]&&(this.listeners[t]=[])}}])}()),Date.now,function(t){t.Unidentified="Unidentified",t.Alt="Alt",t.AltGraph="AltGraph",t.CapsLock="CapsLock",t.Control="Control",t.Ctrl="Ctrl",t.Fn="Fn",t.FnLock="FnLock",t.Hyper="Hyper",t.Meta="Meta",t.NumLock="NumLock",t.ScrollLock="ScrollLock",t.Shift="Shift",t.Super="Super",t.Symbol="Symbol",t.SymbolLock="SymbolLock",t.Enter="Enter",t.Tab="Tab",t.ArrowDown="ArrowDown",t.ArrowLeft="ArrowLeft",t.ArrowRight="ArrowRight",t.ArrowUp="ArrowUp",t.End="End",t.Home="Home",t.PageDown="PageDown",t.PageUp="PageUp",t.Backspace="Backspace",t.Clear="Clear",t.Copy="Copy",t.CrSel="CrSel",t.Cut="Cut",t.Delete="Delete",t.EraseEof="EraseEof",t.ExSel="ExSel",t.Insert="Insert",t.Paste="Paste",t.Redo="Redo",t.Undo="Undo",t.Accept="Accept",t.Again="Again",t.Attn="Attn",t.Cancel="Cancel",t.ContextMenu="ContextMenu",t.Escape="Escape",t.Execute="Execute",t.Find="Find",t.Finish="Finish",t.Help="Help",t.Pause="Pause",t.Play="Play",t.Props="Props",t.Select="Select",t.ZoomIn="ZoomIn",t.ZoomOut="ZoomOut",t.BrightnessDown="BrightnessDown",t.BrightnessUp="BrightnessUp",t.Eject="Eject",t.LogOff="LogOff",t.Power="Power",t.PowerOff="PowerOff",t.PrintScreen="PrintScreen",t.Hibernate="Hibernate",t.Standby="Standby",t.WakeUp="WakeUp",t.AllCandidates="AllCandidates",t.Alphanumeric="Alphanumeric",t.CodeInput="CodeInput",t.Compose="Compose",t.Convert="Convert",t.Dead="Dead",t.FinalMode="FinalMode",t.GroupFirst="GroupFirst",t.GroupLast="GroupLast",t.GroupNext="GroupNext",t.GroupPrevious="GroupPrevious",t.ModeChange="ModeChange",t.NextCandidate="NextCandidate",t.NonConvert="NonConvert",t.PreviousCandidate="PreviousCandidate",t.Process="Process",t.SingleCandidate="SingleCandidate",t.HangulMode="HangulMode",t.HanjaMode="HanjaMode",t.JunjaMode="JunjaMode",t.Eisu="Eisu",t.Hankaku="Hankaku",t.Hiragana="Hiragana",t.HiraganaKatakana="HiraganaKatakana",t.KanaMode="KanaMode",t.KanjiMode="KanjiMode",t.Katakana="Katakana",t.Romaji="Romaji",t.Zenkaku="Zenkaku",t.ZenkakuHanaku="ZenkakuHanaku",t.F1="F1",t.F2="F2",t.F3="F3",t.F4="F4",t.F5="F5",t.F6="F6",t.F7="F7",t.F8="F8",t.F9="F9",t.F10="F10",t.F11="F11",t.F12="F12",t.F13="F13",t.F14="F14",t.F15="F15",t.F16="F16",t.F17="F17",t.F18="F18",t.F19="F19",t.F20="F20",t.Soft1="Soft1",t.Soft2="Soft2",t.Soft3="Soft3",t.Soft4="Soft4",t.AppSwitch="AppSwitch",t.Call="Call",t.Camera="Camera",t.CameraFocus="CameraFocus",t.EndCall="EndCall",t.GoBack="GoBack",t.GoHome="GoHome",t.HeadsetHook="HeadsetHook",t.LastNumberRedial="LastNumberRedial",t.Notification="Notification",t.MannerMode="MannerMode",t.VoiceDial="VoiceDial",t.ChannelDown="ChannelDown",t.ChannelUp="ChannelUp",t.MediaFastForward="MediaFastForward",t.MediaPause="MediaPause",t.MediaPlay="MediaPlay",t.MediaPlayPause="MediaPlayPause",t.MediaRecord="MediaRecord",t.MediaRewind="MediaRewind",t.MediaStop="MediaStop",t.MediaTrackNext="MediaTrackNext",t.MediaTrackPrevious="MediaTrackPrevious",t.AudioBalanceLeft="AudioBalanceLeft",t.AudioBalanceRight="AudioBalanceRight",t.AudioBassDown="AudioBassDown",t.AudioBassBoostDown="AudioBassBoostDown",t.AudioBassBoostToggle="AudioBassBoostToggle",t.AudioBassBoostUp="AudioBassBoostUp",t.AudioBassUp="AudioBassUp",t.AudioFaderFront="AudioFaderFront",t.AudioFaderRear="AudioFaderRear",t.AudioSurroundModeNext="AudioSurroundModeNext",t.AudioTrebleDown="AudioTrebleDown",t.AudioTrebleUp="AudioTrebleUp",t.AudioVolumeDown="AudioVolumeDown",t.AudioVolumeMute="AudioVolumeMute",t.AudioVolumeUp="AudioVolumeUp",t.MicrophoneToggle="MicrophoneToggle",t.MicrophoneVolumeDown="MicrophoneVolumeDown",t.MicrophoneVolumeMute="MicrophoneVolumeMute",t.MicrophoneVolumeUp="MicrophoneVolumeUp",t.TV="TV",t.TV3DMode="TV3DMode",t.TVAntennaCable="TVAntennaCable",t.TVAudioDescription="TVAudioDescription",t.TVAudioDescriptionMixDown="TVAudioDescriptionMixDown",t.TVAudioDescriptionMixUp="TVAudioDescriptionMixUp",t.TVContentsMenu="TVContentsMenu",t.TVDataService="TVDataService",t.TVInput="TVInput",t.TVInputComponent1="TVInputComponent1",t.TVInputComponent2="TVInputComponent2",t.TVInputComposite1="TVInputComposite1",t.TVInputComposite2="TVInputComposite2",t.TVInputHDMI1="TVInputHDMI1",t.TVInputHDMI2="TVInputHDMI2",t.TVInputHDMI3="TVInputHDMI3",t.TVInputHDMI4="TVInputHDMI4",t.TVInputVGA1="TVInputVGA1",t.TVMediaContext="TVMediaContext",t.TVNetwork="TVNetwork",t.TVNumberEntry="TVNumberEntry",t.TVPower="TVPower",t.TVRadioService="TVRadioService",t.TVSatellite="TVSatellite",t.TVSatelliteBS="TVSatelliteBS",t.TVSatelliteCS="TVSatelliteCS",t.TVSatelliteToggle="TVSatelliteToggle",t.TVTerrestrialAnalog="TVTerrestrialAnalog",t.TVTerrestrialDigital="TVTerrestrialDigital",t.TVTimer="TVTimer",t.AVRInput="AVRInput",t.AVRPower="AVRPower",t.ColorF0Red="ColorF0Red",t.ColorF1Green="ColorF1Green",t.ColorF2Yellow="ColorF2Yellow",t.ColorF3Blue="ColorF3Blue",t.ColorF4Grey="ColorF4Grey",t.ColorF5Brown="ColorF5Brown",t.ClosedCaptionToggle="ClosedCaptionToggle",t.Dimmer="Dimmer",t.DisplaySwap="DisplaySwap",t.DVR="DVR",t.Exit="Exit",t.FavoriteClear0="FavoriteClear0",t.FavoriteClear1="FavoriteClear1",t.FavoriteClear2="FavoriteClear2",t.FavoriteClear3="FavoriteClear3",t.FavoriteRecall0="FavoriteRecall0",t.FavoriteRecall1="FavoriteRecall1",t.FavoriteRecall2="FavoriteRecall2",t.FavoriteRecall3="FavoriteRecall3",t.FavoriteStore0="FavoriteStore0",t.FavoriteStore1="FavoriteStore1",t.FavoriteStore2="FavoriteStore2",t.FavoriteStore3="FavoriteStore3",t.Guide="Guide",t.GuideNextDay="GuideNextDay",t.GuidePreviousDay="GuidePreviousDay",t.Info="Info",t.InstantReplay="InstantReplay",t.Link="Link",t.ListProgram="ListProgram",t.LiveContent="LiveContent",t.Lock="Lock",t.MediaApps="MediaApps",t.MediaAudioTrack="MediaAudioTrack",t.MediaLast="MediaLast",t.MediaSkipBackward="MediaSkipBackward",t.MediaSkipForward="MediaSkipForward",t.MediaStepBackward="MediaStepBackward",t.MediaStepForward="MediaStepForward",t.MediaTopMenu="MediaTopMenu",t.NavigateIn="NavigateIn",t.NavigateNext="NavigateNext",t.NavigateOut="NavigateOut",t.NavigatePrevious="NavigatePrevious",t.NextFavoriteChannel="NextFavoriteChannel",t.NextUserProfile="NextUserProfile",t.OnDemand="OnDemand",t.Pairing="Pairing",t.PinPDown="PinPDown",t.PinPMove="PinPMove",t.PinPToggle="PinPToggle",t.PinPUp="PinPUp",t.PlaySpeedDown="PlaySpeedDown",t.PlaySpeedReset="PlaySpeedReset",t.PlaySpeedUp="PlaySpeedUp",t.RandomToggle="RandomToggle",t.RcLowBattery="RcLowBattery",t.RecordSpeedNext="RecordSpeedNext",t.RfBypass="RfBypass",t.ScanChannelsToggle="ScanChannelsToggle",t.ScreenModeNext="ScreenModeNext",t.Settings="Settings",t.SplitScreenToggle="SplitScreenToggle",t.STBInput="STBInput",t.STBPower="STBPower",t.Subtitle="Subtitle",t.Teletext="Teletext",t.VideoModeNext="VideoModeNext",t.Wink="Wink",t.ZoomToggle="ZoomToggle",t.SpeechCorrectionList="SpeechCorrectionList",t.SpeechInputToggle="SpeechInputToggle",t.Close="Close",t.New="New",t.Open="Open",t.Print="Print",t.Save="Save",t.SpellCheck="SpellCheck",t.MailForward="MailForward",t.MailReply="MailReply",t.MailSend="MailSend",t.LaunchCalculator="LaunchCalculator",t.LaunchCalendar="LaunchCalendar",t.LaunchContacts="LaunchContacts",t.LaunchMail="LaunchMail",t.LaunchMediaPlayer="LaunchMediaPlayer",t.LaunchMusicPlayer="LaunchMusicPlayer",t.LaunchMyComputer="LaunchMyComputer",t.LaunchPhone="LaunchPhone",t.LaunchScreenSaver="LaunchScreenSaver",t.LaunchSpreadsheet="LaunchSpreadsheet",t.LaunchWebBrowser="LaunchWebBrowser",t.LaunchWebCam="LaunchWebCam",t.LaunchWordProcessor="LaunchWordProcessor",t.LaunchApplication1="LaunchApplication1",t.LaunchApplication2="LaunchApplication2",t.LaunchApplication3="LaunchApplication3",t.LaunchApplication4="LaunchApplication4",t.LaunchApplication5="LaunchApplication5",t.LaunchApplication6="LaunchApplication6",t.LaunchApplication7="LaunchApplication7",t.LaunchApplication8="LaunchApplication8",t.LaunchApplication9="LaunchApplication9",t.LaunchApplication10="LaunchApplication10",t.LaunchApplication11="LaunchApplication11",t.LaunchApplication12="LaunchApplication12",t.LaunchApplication13="LaunchApplication13",t.LaunchApplication14="LaunchApplication14",t.LaunchApplication15="LaunchApplication15",t.LaunchApplication16="LaunchApplication16",t.BrowserBack="BrowserBack",t.BrowserFavorites="BrowserFavorites",t.BrowserForward="BrowserForward",t.BrowserHome="BrowserHome",t.BrowserRefresh="BrowserRefresh",t.BrowserSearch="BrowserSearch",t.BrowserStop="BrowserStop",t.Decimal="Decimal",t.Key11="Key11",t.Key12="Key12",t.Multiply="Multiply",t.Add="Add",t.Divide="Divide",t.Subtract="Subtract",t.Separator="Separator"}(i||(i={})),function(t){t.KeyDown="key-down",t.KeyUp="key-up"}(r||(r={}));var k=0,x="shift",M=1,w="ctrl",_=2,C="control",b=2,T="alt",S=4,z="meta",D=8;function E(t){for(var e=t.replace(/[ +]*\+[ +]*/g,"+").toLowerCase().split("+"),n=e.length,r=k,a=0;a<n;a++){var o=e[a];o===x?r|=M:o===w?r|=_:o===C?r|=b:o===T?r|=S:o===z&&(r|=D)}var s=e[n-1];return s===i.Ctrl.toLowerCase()?"".concat(i.Control.toLowerCase(),"@").concat(r):"".concat(s,"@").concat(r)}var A,P,L,F,R,V,B,I=function(){return v((function t(e,n){var i=this;u(this,t),this.isTriggering=!1,this.keyMap={},this.onKeyDown=function(t){i.triggerHandler(t,r.KeyDown)},this.onKeyPress=function(t){},this.onKeyUp=function(t){i.triggerHandler(t,r.KeyUp)},this.dom=e,this.listener=n,this.addListener(this.dom)}),[{key:"register",value:function(t){var e=E(t);return this.keyMap[e]=t,!0}},{key:"deregister",value:function(t){var e=E(t);return delete this.keyMap[e],!0}},{key:"addListener",value:function(t){t.addEventListener("keydown",this.onKeyDown),t.addEventListener("keyup",this.onKeyUp)}},{key:"removeListener",value:function(t){t.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("keyup",this.onKeyUp)}},{key:"triggerHandler",value:function(t,e){if(function(t){var e=t.target;return!(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)}(t))if(this.isTriggering&&e===r.KeyUp){var n=function(t){var e=t.key.toLowerCase(),n=k;if(t.shiftKey)n|=M;else if(e===i.Shift.toLowerCase())return n|=M,"".concat(i.Shift.toLowerCase(),"@").concat(n);if(t.altKey)n|=S;else if(e===i.Alt.toLowerCase())return n|=S,"".concat(i.Alt.toLowerCase(),"@").concat(n);if(t.ctrlKey)n|=_;else if(e===i.Control.toLowerCase())return n|=_,"".concat(i.Control.toLowerCase(),"@").concat(n);if(t.metaKey)n|=D;else if(e===i.Meta.toLowerCase())return n|=D,"".concat(i.Meta.toLowerCase(),"@").concat(n);return"".concat(e,"@").concat(n)}(t);"string"==typeof this.keyMap[n]&&((0,this.listener)(this.keyMap[n],e),this.isTriggering=!1)}else{var a=function(t){var e=k;t.shiftKey&&(e|=M),t.altKey&&(e|=S),t.ctrlKey&&(e|=_),t.metaKey&&(e|=D);var n=t.key.toLowerCase();return"".concat(n,"@").concat(e)}(t);"string"==typeof this.keyMap[a]&&((0,this.listener)(this.keyMap[a],e),this.isTriggering=!0)}}}])}();new(function(){return v((function t(){var e=this;u(this,t),this.keyMap={},this.handler=function(t,n){e.keyMap[t]&&(0,e.keyMap[t].handler)(n)},this.listener=new I(document,this.handler)}),[{key:"on",value:function(t){var e=this;return(Array.isArray(t.key)?t.key:[t.key]).forEach((function(n){if(e.listener.register(n),e.keyMap[n]){var i=e.keyMap[n];console.warn("[turbox]: ".concat("conflicted hot key detected,please check again:")),console.table({hotkey:n,name:i.name||"",info:i.info||""})}else e.keyMap[n]=t})),this}},{key:"off",value:function(t,e){var n=this;return(Array.isArray(t)?t:[t]).forEach((function(t){n.listener.deregister(t);var i=n.keyMap[t];i&&i.handler===e&&delete n.keyMap[t]})),this}},{key:"getHotKeyData",value:function(){var t=this,e=[];return Object.keys(this.keyMap).forEach((function(n){var i=t.keyMap[n];i.show&&e.push({key:n,name:i.name,description:i.description})})),e}}])}()),(P=A||(A={}))[P.ScreenToCanvas=1]="ScreenToCanvas",P[P.ScreenToScene=2]="ScreenToScene",P[P.CanvasToScene=3]="CanvasToScene",P[P.CanvasToScreen=4]="CanvasToScreen",P[P.SceneToScreen=5]="SceneToScreen",P[P.SceneToCanvas=6]="SceneToCanvas",function(t){t.Ready="ready",t.Dragging="dragging",t.End="end"}(L||(L={})),function(t){t.Drag="drag",t.Click="click",t.MultiTouch="multi-touch",t.Press="press"}(F||(F={})),(B=R||(R={}))[B.Click=1]="Click",B[B.DBClick=2]="DBClick",B[B.RightClick=3]="RightClick",B[B.DragStart=4]="DragStart",B[B.DragMove=5]="DragMove",B[B.DragEnd=6]="DragEnd",B[B.CarriageMove=7]="CarriageMove",B[B.CarriageEnd=8]="CarriageEnd",B[B.Hover=9]="Hover",B[B.Wheel=10]="Wheel",B[B.PinchStart=11]="PinchStart",B[B.Pinch=12]="Pinch",B[B.PinchEnd=13]="PinchEnd",B[B.RotateStart=14]="RotateStart",B[B.Rotate=15]="Rotate",B[B.RotateEnd=16]="RotateEnd",B[B.Press=17]="Press",B[B.PressUp=18]="PressUp",function(t){t[t.onClick=0]="onClick",t[t.onDBClick=1]="onDBClick",t[t.onRightClick=2]="onRightClick",t[t.onDragStart=3]="onDragStart",t[t.onDragMove=4]="onDragMove",t[t.onDragEnd=5]="onDragEnd",t[t.onCarriageMove=6]="onCarriageMove",t[t.onCarriageEnd=7]="onCarriageEnd",t[t.onHoverIn=8]="onHoverIn",t[t.onHoverOut=9]="onHoverOut",t[t.onWheel=10]="onWheel",t[t.onPinchStart=11]="onPinchStart",t[t.onPinch=12]="onPinch",t[t.onPinchEnd=13]="onPinchEnd",t[t.onRotateStart=14]="onRotateStart",t[t.onRotate=15]="onRotate",t[t.onRotateEnd=16]="onRotateEnd",t[t.onPress=17]="onPress",t[t.onPressUp=18]="onPressUp"}(V||(V={}));var O=function(){function t(e,n,i){u(this,t),this.cosTol=e||t.COS_TOL,this.distTol=n||t.DIST_TOL,this.numTol=i||t.NUM_TOL}return v(t,[{key:"setCosTolByAngle",value:function(t,e){var n=e?1:Math.PI/180;this.cosTol=1-Math.cos(t*n)}},{key:"clone",value:function(){return new t(this.cosTol,this.distTol,this.numTol)}}],[{key:"setGlobal",value:function(e,n,i){t.global=new t(e,n,i)}}])}();O.COS_TOL=1e-6,O.DIST_TOL=1e-6,O.NUM_TOL=1e-6,O.global=new O;for(var U=[],H=0;H<256;H++)U[H]=(H<16?"0":"")+H.toString(16);var Z=1234567,N={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return"".concat(U[255&t]+U[t>>8&255]+U[t>>16&255]+U[t>>24&255],"-").concat(U[255&e]).concat(U[e>>8&255],"-").concat(U[e>>16&15|64]).concat(U[e>>24&255],"-").concat(U[63&n|128]).concat(U[n>>8&255],"-").concat(U[n>>16&255]).concat(U[n>>24&255]).concat(U[255&i]).concat(U[i>>8&255]).concat(U[i>>16&255]).concat(U[i>>24&255]).toUpperCase()},clamp:function(t,e,n){return Math.max(e,Math.min(n,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},lerp:function(t,e,n){return(1-n)*t+n*e},damp:function(t,e,n,i){return N.lerp(t,e,1-Math.exp(-n*i))},pingpong:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e-Math.abs(N.euclideanModulo(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(Z=t%2147483647),((Z=16807*Z%2147483647)-1)/2147483646},degToRad:function(t){return t*N.DEG2RAD},radToDeg:function(t){return t*N.RAD2DEG},isPowerOfTwo:function(t){return!(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,e,n,i,r){var a=Math.cos,o=Math.sin,s=a(n/2),h=o(n/2),u=a((e+i)/2),l=o((e+i)/2),c=a((e-i)/2),y=o((e-i)/2),v=a((i-e)/2),f=o((i-e)/2);switch(r){case"XYX":t.set(s*l,h*c,h*y,s*u);break;case"YZY":t.set(h*y,s*l,h*c,s*u);break;case"ZXZ":t.set(h*c,h*y,s*l,s*u);break;case"XZX":t.set(s*l,h*f,h*v,s*u);break;case"YXY":t.set(h*v,s*l,h*f,s*u);break;case"ZYZ":t.set(h*f,h*v,s*l,s*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ".concat(r))}},isEqual:function(t,e,n){var i=n||O.global.numTol;return t===e||Math.abs(t-e)<=i},isZero:function(t,e){return N.isEqual(t,0,e)},isSmaller:function(t,e,n){return t-e<-(n||O.global.numTol)},isBigger:function(t,e,n){return t-e>(n||O.global.numTol)},isSmallerOrEqual:function(t,e,n){return t-e<=(n||O.global.numTol)},isBiggerOrEqual:function(t,e,n){return t-e>=-(n||O.global.numTol)},isInRange:function(t,e,n,i,r,a){var o=a||O.global.numTol,s=t-e,h=t-n;return(i?s>o:s>=-o)&&(r?h<-o:h<=o)},compare:function(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))throw Error("Invalid NaN number");return N.isEqual(t,e,n)?0:t<e?-1:1},interpolation:function(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,i=e.subtracted(t),r=i.length/n,a=[],o=i.normalized(),s=0;s<n-1;s++)a.push(t.added(o.clone().multiplyScalar(r*(s+1))));return a.unshift(t.clone()),a.push(e.clone()),a},generateMeshByQuad:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,i=[],r=[],a=[],o=[],s=N.interpolation(t[0],t[1],e),u=N.interpolation(t[3],t[2],e),l=s.map((function(t,e){return N.interpolation(t.clone(),u[e].clone(),n)})),c=function(t){0===t?r.push.apply(r,h(s.flatMap((function(t){return t.toArray()})))):t===n?r.push.apply(r,h(u.flatMap((function(t){return t.toArray()})))):r.push.apply(r,h(l.flatMap((function(e){return e[t].toArray()}))));for(var i=0;i<=e;i++)a.push(0,0,1),o.push(i*(1/e),t*(1/n))},y=0;y<=n;y++)c(y);for(var v=0;v<n;v++)for(var f=0;f<e;f++){var d=v*(e+1)+(f+1),p=v*(e+1)+f,m=(v+1)*(e+1)+f,g=(v+1)*(e+1)+(f+1);i.push(d,p,g),i.push(p,m,g)}return{indices:i,vertices:r,normals:a,uvs:o}},clockwisePoints:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[t[0]],i=function(){for(var i=n[n.length-1],r=t.filter((function(t){return t!==i})),a=function(){var a=r[o],s=new G(a.x-i.x,a.y-i.y);if(t.filter((function(t){return t!==i&&t!==a})).map((function(t){return new G(t.x-i.x,t.y-i.y)})).every((function(t){return e?s.cross(t)<0:s.cross(t)>0})))return n.push(a),1},o=0;o<r.length&&!a();o++);},r=0;r<t.length-1;r++)i();return n}},q=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;u(this,t),this._onChangeCallback=function(){},this.isQuaternion=!0,this._x=e,this._y=n,this._z=i,this._w=r}return v(t,[{key:"x",get:function(){return this._x},set:function(t){this._x=t,this._onChangeCallback()}},{key:"y",get:function(){return this._y},set:function(t){this._y=t,this._onChangeCallback()}},{key:"z",get:function(){return this._z},set:function(t){this._z=t,this._onChangeCallback()}},{key:"w",get:function(){return this._w},set:function(t){this._w=t,this._onChangeCallback()}},{key:"set",value:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}},{key:"clone",value:function(){return new t(this._x,this._y,this._z,this._w)}},{key:"copy",value:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}},{key:"setFromEuler",value:function(t){var e=t._x,n=t._y,i=t._z,r=t._order,a=Math.cos,o=Math.sin,s=a(e/2),h=a(n/2),u=a(i/2),l=o(e/2),c=o(n/2),y=o(i/2);switch(r){case"XYZ":this._x=l*h*u+s*c*y,this._y=s*c*u-l*h*y,this._z=s*h*y+l*c*u,this._w=s*h*u-l*c*y;break;case"YXZ":this._x=l*h*u+s*c*y,this._y=s*c*u-l*h*y,this._z=s*h*y-l*c*u,this._w=s*h*u+l*c*y;break;case"ZXY":this._x=l*h*u-s*c*y,this._y=s*c*u+l*h*y,this._z=s*h*y+l*c*u,this._w=s*h*u-l*c*y;break;case"ZYX":this._x=l*h*u-s*c*y,this._y=s*c*u+l*h*y,this._z=s*h*y-l*c*u,this._w=s*h*u+l*c*y;break;case"YZX":this._x=l*h*u+s*c*y,this._y=s*c*u+l*h*y,this._z=s*h*y-l*c*u,this._w=s*h*u-l*c*y;break;case"XZY":this._x=l*h*u-s*c*y,this._y=s*c*u-l*h*y,this._z=s*h*y+l*c*u,this._w=s*h*u+l*c*y;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: ".concat(r))}return this._onChangeCallback(),this}},{key:"setFromAxisAngle",value:function(t,e){var n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}},{key:"setFromRotationMatrix",value:function(t){var e=t.elements,n=e[0],i=e[4],r=e[8],a=e[1],o=e[5],s=e[9],h=e[2],u=e[6],l=e[10],c=n+o+l;if(c>0){var y=.5/Math.sqrt(c+1);this._w=.25/y,this._x=(u-s)*y,this._y=(r-h)*y,this._z=(a-i)*y}else if(n>o&&n>l){var v=2*Math.sqrt(1+n-o-l);this._w=(u-s)/v,this._x=.25*v,this._y=(i+a)/v,this._z=(r+h)/v}else if(o>l){var f=2*Math.sqrt(1+o-n-l);this._w=(r-h)/f,this._x=(i+a)/f,this._y=.25*f,this._z=(s+u)/f}else{var d=2*Math.sqrt(1+l-n-o);this._w=(a-i)/d,this._x=(r+h)/d,this._y=(s+u)/d,this._z=.25*d}return this._onChangeCallback(),this}},{key:"setFromUnitVectors",value:function(t,e){var n=t.dot(e)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}},{key:"angleTo",value:function(t){return 2*Math.acos(Math.abs(N.clamp(this.dot(t),-1,1)))}},{key:"rotateTowards",value:function(t,e){var n=this.angleTo(t);if(0===n)return this;var i=Math.min(1,e/n);return this.slerp(t,i),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}},{key:"dot",value:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}},{key:"lengthSq",value:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}},{key:"length",value:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}},{key:"normalize",value:function(){var t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x*=t,this._y*=t,this._z*=t,this._w*=t),this._onChangeCallback(),this}},{key:"multiply",value:function(t){return this.multiplyQuaternions(this,t)}},{key:"premultiply",value:function(t){return this.multiplyQuaternions(t,this)}},{key:"multiplyQuaternions",value:function(t,e){var n=t._x,i=t._y,r=t._z,a=t._w,o=e._x,s=e._y,h=e._z,u=e._w;return this._x=n*u+a*o+i*h-r*s,this._y=i*u+a*s+r*o-n*h,this._z=r*u+a*h+n*s-i*o,this._w=a*u-n*o-i*s-r*h,this._onChangeCallback(),this}},{key:"slerp",value:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var n=this._x,i=this._y,r=this._z,a=this._w,o=a*t._w+n*t._x+i*t._y+r*t._z;if(o<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,o=-o):this.copy(t),o>=1)return this._w=a,this._x=n,this._y=i,this._z=r,this;var s=1-o*o;if(s<=Number.EPSILON){var h=1-e;return this._w=h*a+e*this._w,this._x=h*n+e*this._x,this._y=h*i+e*this._y,this._z=h*r+e*this._z,this.normalize(),this._onChangeCallback(),this}var u=Math.sqrt(s),l=Math.atan2(u,o),c=Math.sin((1-e)*l)/u,y=Math.sin(e*l)/u;return this._w=a*c+this._w*y,this._x=n*c+this._x*y,this._y=i*c+this._y*y,this._z=r*c+this._z*y,this._onChangeCallback(),this}},{key:"equals",value:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}},{key:"_onChange",value:function(t){return this._onChangeCallback=t,this}}],[{key:"slerp",value:function(t,e,n,i){return n.copy(t).slerp(e,i)}},{key:"slerpFlat",value:function(t,e,n,i,r,a,o){var s=n[i+0],h=n[i+1],u=n[i+2],l=n[i+3],c=r[a+0],y=r[a+1],v=r[a+2],f=r[a+3];if(0===o)return t[e+0]=s,t[e+1]=h,t[e+2]=u,void(t[e+3]=l);if(1===o)return t[e+0]=c,t[e+1]=y,t[e+2]=v,void(t[e+3]=f);if(l!==f||s!==c||h!==y||u!==v){var d=1-o,p=s*c+h*y+u*v+l*f,m=p>=0?1:-1,g=1-p*p;if(g>Number.EPSILON){var k=Math.sqrt(g),x=Math.atan2(k,p*m);d=Math.sin(d*x)/k,o=Math.sin(o*x)/k}var M=o*m;if(s=s*d+c*M,h=h*d+y*M,u=u*d+v*M,l=l*d+f*M,d===1-o){var w=1/Math.sqrt(s*s+h*h+u*u+l*l);s*=w,h*=w,u*=w,l*=w}}t[e]=s,t[e+1]=h,t[e+2]=u,t[e+3]=l}},{key:"multiplyQuaternionsFlat",value:function(t,e,n,i,r,a){var o=n[i],s=n[i+1],h=n[i+2],u=n[i+3],l=r[a],c=r[a+1],y=r[a+2],v=r[a+3];return t[e]=o*v+u*l+s*y-h*c,t[e+1]=s*v+u*c+h*l-o*y,t[e+2]=h*v+u*y+o*c-s*l,t[e+3]=u*v-o*l-s*c-h*y,t}}])}(),X=new q,j=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;u(this,t),this.isVector3=!0,this.x=e,this.y=n,this.z=i}return v(t,[{key:"set",value:function(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this.z=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"setComponent",value:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: ".concat(t))}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: ".concat(t))}}},{key:"clone",value:function(){return new t(this.x,this.y,this.z)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"add",value:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}},{key:"added",value:function(e){return new t(this.x+e.x,this.y+e.y,this.z+e.z)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this.z+=t,this}},{key:"addVectors",value:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}},{key:"addScaledVector",value:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}},{key:"sub",value:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}},{key:"subtracted",value:function(e){return new t(this.x-e.x,this.y-e.y,this.z-e.z)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this.z-=t,this}},{key:"subVectors",value:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}},{key:"multiply",value:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}},{key:"multiplied",value:function(e){return new t(this.x*e.x,this.y*e.y,this.z*e.z)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this.z*=t,this}},{key:"multiplyVectors",value:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}},{key:"applyEuler",value:function(t){return this.applyQuaternion(X.setFromEuler(t))}},{key:"appliedEuler",value:function(t){return this.appliedQuaternion(X.setFromEuler(t))}},{key:"applyAxisAngle",value:function(t,e){return this.applyQuaternion(X.setFromAxisAngle(t,e))}},{key:"applyMatrix3",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}},{key:"applyNormalMatrix",value:function(t){return this.applyMatrix3(t).normalize()}},{key:"applyMatrix4",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements,a=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*a,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*a,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*a,this}},{key:"appliedMatrix4",value:function(e){var n=this.x,i=this.y,r=this.z,a=e.elements,o=1/(a[3]*n+a[7]*i+a[11]*r+a[15]),s=(a[0]*n+a[4]*i+a[8]*r+a[12])*o,h=(a[1]*n+a[5]*i+a[9]*r+a[13])*o,u=(a[2]*n+a[6]*i+a[10]*r+a[14])*o;return new t(s-a[12]*o,h-a[13]*o,u-a[14]*o)}},{key:"applyQuaternion",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.x,a=t.y,o=t.z,s=t.w,h=s*e+a*i-o*n,u=s*n+o*e-r*i,l=s*i+r*n-a*e,c=-r*e-a*n-o*i;return this.x=h*s+c*-r+u*-o-l*-a,this.y=u*s+c*-a+l*-r-h*-o,this.z=l*s+c*-o+h*-a-u*-r,this}},{key:"appliedQuaternion",value:function(e){var n=this.x,i=this.y,r=this.z,a=e.x,o=e.y,s=e.z,h=e.w,u=h*n+o*r-s*i,l=h*i+s*n-a*r,c=h*r+a*i-o*n,y=-a*n-o*i-s*r;return new t(u*h+y*-a+l*-s-c*-o,l*h+y*-o+c*-a-u*-s,c*h+y*-s+u*-o-l*-a)}},{key:"transformDirection",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}},{key:"clamp",value:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}},{key:"clampScalar",value:function(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}},{key:"clampLength",value:function(t,e){var n=this.length;return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",get:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",get:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"manhattanLength",get:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length||1)}},{key:"normalized",value:function(){var e=this.lengthSq;if(0===e||N.isEqual(e,1,1e-16))return new t(this.x,this.y,this.z);e=Math.sqrt(e);var n=this.x/e,i=this.y/e,r=this.z/e;return Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)?new t(n,i,r):new t(this.x,this.y,this.z)}},{key:"reverse",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"reversed",value:function(){return new t(-this.x,-this.y,-this.z)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}},{key:"lerpVectors",value:function(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}},{key:"toVector2",value:function(){return new G(this.x,this.y)}},{key:"cross",value:function(t){return this.crossVectors(this,t)}},{key:"crossed",value:function(e){return new t(this.y*e.z-this.z*e.y,this.z*e.x-this.x*e.z,this.x*e.y-this.y*e.x)}},{key:"crossVectors",value:function(t,e){var n=t.x,i=t.y,r=t.z,a=e.x,o=e.y,s=e.z;return this.x=i*s-r*o,this.y=r*a-n*s,this.z=n*o-i*a,this}},{key:"projectOnVector",value:function(t){var e=t.lengthSq;if(0===e)return this.set(0,0,0);var n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}},{key:"projectOnPlane",value:function(t){return Y.copy(this).projectOnVector(t),this.sub(Y)}},{key:"reflect",value:function(t){return this.sub(Y.copy(t).multiplyScalar(2*this.dot(t)))}},{key:"angle",value:function(t){return Math.atan2(this.crossed(t).length,this.dot(t))}},{key:"angleTo",value:function(t,e){var n=this.crossed(t),i=this.angle(t),r=2*Math.PI;return n.dot(e)<0&&i<Math.PI&&i>0?r-i:i}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}},{key:"setFromMatrixPosition",value:function(t){var e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}},{key:"setFromMatrixScale",value:function(t){var e=this.setFromMatrixColumn(t,0).length,n=this.setFromMatrixColumn(t,1).length,i=this.setFromMatrixColumn(t,2).length;return this.x=e,this.y=n,this.z=i,this}},{key:"setFromMatrixColumn",value:function(t,e){return this.fromArray(t.elements,4*e)}},{key:"setFromMatrix3Column",value:function(t,e){return this.fromArray(t.elements,3*e)}},{key:"equals",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O.global.distTol,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O.global.cosTol,i=this.lengthSq,r=t.lengthSq;return!(!N.isZero(i,e*e)||!N.isZero(r,e*e))||N.isEqual(Math.sqrt(i),Math.sqrt(r),e)&&this.isSameDirection(t,new O(n,e,O.global.numTol),!1)}},{key:"isPerpendicular",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return this.cross(t).lengthSq>=Math.pow(s-i*s,2)}},{key:"isParallel",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s-Math.abs(this.dot(t)))<=i*s}},{key:"isSameDirection",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s-this.dot(t))<=i*s}},{key:"isOpposite",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s+this.dot(t))<=i*s}},{key:"isZero",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O.global.distTol;return this.lengthSq<t*t}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}],[{key:"fromObject",value:function(e){return new t(e.x,e.y,e.z)}}])}(),Y=new j,G=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;u(this,t),this.isVector2=!0,this.x=e,this.y=n}return v(t,[{key:"width",get:function(){return this.x},set:function(t){this.x=t}},{key:"height",get:function(){return this.y},set:function(t){this.y=t}},{key:"set",value:function(t,e){return this.x=t,this.y=e,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setComponent",value:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: ".concat(t))}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: ".concat(t))}}},{key:"clone",value:function(){return new t(this.x,this.y)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this}},{key:"add",value:function(t){return this.x+=t.x,this.y+=t.y,this}},{key:"added",value:function(e){return new t(this.x+e.x,this.y+e.y)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this}},{key:"addVectors",value:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}},{key:"addScaledVector",value:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}},{key:"sub",value:function(t){return this.x-=t.x,this.y-=t.y,this}},{key:"subtracted",value:function(e){return new t(this.x-e.x,this.y-e.y)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this}},{key:"subVectors",value:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}},{key:"reverse",value:function(){return this.x=-this.x,this.y=-this.y,this}},{key:"reversed",value:function(){return new t(-this.x,-this.y)}},{key:"multiply",value:function(t){return this.x*=t.x,this.y*=t.y,this}},{key:"multiplied",value:function(e){return new t(this.x*e,this.y*e)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"applyMatrix3",value:function(t){var e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}},{key:"clamp",value:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}},{key:"clampScalar",value:function(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}},{key:"clampLength",value:function(t,e){var n=this.length;return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y}},{key:"cross",value:function(t){return this.x*t.y-this.y*t.x}},{key:"lengthSq",get:function(){return this.x*this.x+this.y*this.y}},{key:"length",get:function(){return Math.sqrt(this.x*this.x+this.y*this.y)}},{key:"manhattanLength",get:function(){return Math.abs(this.x)+Math.abs(this.y)}},{key:"normalize",value:function(){return this.divideScalar(this.length||1)}},{key:"angle",value:function(t){return t?Math.atan2(Math.abs(this.cross(t)),this.dot(t)):Math.atan2(-this.y,-this.x)+Math.PI}},{key:"angleTo",value:function(t){var e=this.cross(t),n=this.angle(t),i=2*Math.PI;return e<0&&n<Math.PI&&n>0?i-n:n}},{key:"normalized",value:function(){var e=this.lengthSq;if(0===e||N.isEqual(e,1,1e-16))return new t(this.x,this.y);e=Math.sqrt(e);var n=this.x/e,i=this.y/e;return Number.isFinite(n)&&Number.isFinite(i)?new t(n,i):new t(this.x,this.y)}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}},{key:"lerpVectors",value:function(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}},{key:"equals",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O.global.distTol,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O.global.cosTol,i=this.lengthSq,r=t.lengthSq;return!(!N.isZero(i,e*e)||!N.isZero(r,e*e))||N.isEqual(Math.sqrt(i),Math.sqrt(r),e)&&this.isSameDirection(t,new O(n,e,O.global.numTol),!1)}},{key:"isZero",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O.global.distTol;return this.lengthSq<t*t}},{key:"isParallel",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s-Math.abs(this.dot(t)))<=i*s}},{key:"isPerpendicular",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s-Math.abs(this.cross(t)))<=i*s}},{key:"isSameDirection",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s-this.dot(t))<=i*s}},{key:"isOpposite",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=e?e.cosTol:O.global.cosTol,r=e?e.distTol:O.global.distTol,a=this.length,o=t.length;if(0===a||0===o||n&&(N.isZero(a,r)||N.isZero(o,r)))return!1;var s=a*o;return Math.abs(s+this.dot(t))<=i*s}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[e],this.y=t[e+1],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this.x,t[e+1]=this.y,t}},{key:"toVector3",value:function(){return new j(this.x,this.y,0)}},{key:"rotateAround",value:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,a=this.y-t.y;return this.x=r*n-a*i+t.x,this.y=r*i+a*n+t.y,this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this}}],[{key:"fromObject",value:function(e){return new t(e.x,e.y)}}])}(),K=(new G,new j,new j,new j,new j,new j,new j,new j,new j,new j,new j),W=new j(0,0,0),Q=new j(1,1,1),$=new j,J=new j,tt=new j,et=function(){function t(){u(this,t),this.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}return v(t,[{key:"set",value:function(t,e,n,i,r,a,o,s,h,u,l,c,y,v,f,d){var p=this.elements;return p[0]=t,p[4]=e,p[8]=n,p[12]=i,p[1]=r,p[5]=a,p[9]=o,p[13]=s,p[2]=h,p[6]=u,p[10]=l,p[14]=c,p[3]=y,p[7]=v,p[11]=f,p[15]=d,this}},{key:"identity",value:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}},{key:"clone",value:function(){return(new t).fromArray(this.elements)}},{key:"copy",value:function(t){var e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}},{key:"copyPosition",value:function(t){var e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}},{key:"setFromMatrix3",value:function(t){var e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}},{key:"extractBasis",value:function(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}},{key:"makeBasis",value:function(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}},{key:"extractRotation",value:function(t){var e=this.elements,n=t.elements,i=1/K.setFromMatrixColumn(t,0).length,r=1/K.setFromMatrixColumn(t,1).length,a=1/K.setFromMatrixColumn(t,2).length;return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*a,e[9]=n[9]*a,e[10]=n[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}},{key:"makeRotationFromEuler",value:function(t){var e=this.elements,n=t.x,i=t.y,r=t.z,a=Math.cos(n),o=Math.sin(n),s=Math.cos(i),h=Math.sin(i),u=Math.cos(r),l=Math.sin(r);if("XYZ"===t.order){var c=a*u,y=a*l,v=o*u,f=o*l;e[0]=s*u,e[4]=-s*l,e[8]=h,e[1]=y+v*h,e[5]=c-f*h,e[9]=-o*s,e[2]=f-c*h,e[6]=v+y*h,e[10]=a*s}else if("YXZ"===t.order){var d=s*u,p=s*l,m=h*u,g=h*l;e[0]=d+g*o,e[4]=m*o-p,e[8]=a*h,e[1]=a*l,e[5]=a*u,e[9]=-o,e[2]=p*o-m,e[6]=g+d*o,e[10]=a*s}else if("ZXY"===t.order){var k=s*u,x=s*l,M=h*u,w=h*l;e[0]=k-w*o,e[4]=-a*l,e[8]=M+x*o,e[1]=x+M*o,e[5]=a*u,e[9]=w-k*o,e[2]=-a*h,e[6]=o,e[10]=a*s}else if("ZYX"===t.order){var _=a*u,C=a*l,b=o*u,T=o*l;e[0]=s*u,e[4]=b*h-C,e[8]=_*h+T,e[1]=s*l,e[5]=T*h+_,e[9]=C*h-b,e[2]=-h,e[6]=o*s,e[10]=a*s}else if("YZX"===t.order){var S=a*s,z=a*h,D=o*s,E=o*h;e[0]=s*u,e[4]=E-S*l,e[8]=D*l+z,e[1]=l,e[5]=a*u,e[9]=-o*u,e[2]=-h*u,e[6]=z*l+D,e[10]=S-E*l}else if("XZY"===t.order){var A=a*s,P=a*h,L=o*s,F=o*h;e[0]=s*u,e[4]=-l,e[8]=h*u,e[1]=A*l+F,e[5]=a*u,e[9]=P*l-L,e[2]=L*l-P,e[6]=o*u,e[10]=F*l+A}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}},{key:"makeRotationFromQuaternion",value:function(t){return this.compose(W,t,Q)}},{key:"lookAt",value:function(t,e,n){var i=this.elements;return tt.subVectors(t,e),0===tt.lengthSq&&(tt.z=1),tt.normalize(),$.crossVectors(n,tt),0===$.lengthSq&&(1===Math.abs(n.z)?tt.x+=1e-4:tt.z+=1e-4,tt.normalize(),$.crossVectors(n,tt)),$.normalize(),J.crossVectors(tt,$),i[0]=$.x,i[4]=J.x,i[8]=tt.x,i[1]=$.y,i[5]=J.y,i[9]=tt.y,i[2]=$.z,i[6]=J.z,i[10]=tt.z,this}},{key:"multiply",value:function(t){return this.multiplyMatrices(this,t)}},{key:"multiplied",value:function(e){return(new t).multiplyMatrices(this,e)}},{key:"premultiply",value:function(t){return this.multiplyMatrices(t,this)}},{key:"premultiplied",value:function(e){return(new t).multiplyMatrices(e,this)}},{key:"multiplyMatrices",value:function(t,e){var n=t.elements,i=e.elements,r=this.elements,a=n[0],o=n[4],s=n[8],h=n[12],u=n[1],l=n[5],c=n[9],y=n[13],v=n[2],f=n[6],d=n[10],p=n[14],m=n[3],g=n[7],k=n[11],x=n[15],M=i[0],w=i[4],_=i[8],C=i[12],b=i[1],T=i[5],S=i[9],z=i[13],D=i[2],E=i[6],A=i[10],P=i[14],L=i[3],F=i[7],R=i[11],V=i[15];return r[0]=a*M+o*b+s*D+h*L,r[4]=a*w+o*T+s*E+h*F,r[8]=a*_+o*S+s*A+h*R,r[12]=a*C+o*z+s*P+h*V,r[1]=u*M+l*b+c*D+y*L,r[5]=u*w+l*T+c*E+y*F,r[9]=u*_+l*S+c*A+y*R,r[13]=u*C+l*z+c*P+y*V,r[2]=v*M+f*b+d*D+p*L,r[6]=v*w+f*T+d*E+p*F,r[10]=v*_+f*S+d*A+p*R,r[14]=v*C+f*z+d*P+p*V,r[3]=m*M+g*b+k*D+x*L,r[7]=m*w+g*T+k*E+x*F,r[11]=m*_+g*S+k*A+x*R,r[15]=m*C+g*z+k*P+x*V,this}},{key:"multiplyScalar",value:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}},{key:"determinant",value:function(){var t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],a=t[1],o=t[5],s=t[9],h=t[13],u=t[2],l=t[6],c=t[10],y=t[14];return t[3]*(+r*s*l-i*h*l-r*o*c+n*h*c+i*o*y-n*s*y)+t[7]*(+e*s*y-e*h*c+r*a*c-i*a*y+i*h*u-r*s*u)+t[11]*(+e*h*l-e*o*y-r*a*l+n*a*y+r*o*u-n*h*u)+t[15]*(-i*o*u-e*s*l+e*o*c+i*a*l-n*a*c+n*s*u)}},{key:"transpose",value:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}},{key:"setPosition",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=this.elements;return i[12]=t,i[13]=e,i[14]=n,this}},{key:"invert",value:function(){var t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],a=t[4],o=t[5],s=t[6],h=t[7],u=t[8],l=t[9],c=t[10],y=t[11],v=t[12],f=t[13],d=t[14],p=t[15],m=l*d*h-f*c*h+f*s*y-o*d*y-l*s*p+o*c*p,g=v*c*h-u*d*h-v*s*y+a*d*y+u*s*p-a*c*p,k=u*f*h-v*l*h+v*o*y-a*f*y-u*o*p+a*l*p,x=v*l*s-u*f*s-v*o*c+a*f*c+u*o*d-a*l*d,M=e*m+n*g+i*k+r*x;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var w=1/M;return t[0]=m*w,t[1]=(f*c*r-l*d*r-f*i*y+n*d*y+l*i*p-n*c*p)*w,t[2]=(o*d*r-f*s*r+f*i*h-n*d*h-o*i*p+n*s*p)*w,t[3]=(l*s*r-o*c*r-l*i*h+n*c*h+o*i*y-n*s*y)*w,t[4]=g*w,t[5]=(u*d*r-v*c*r+v*i*y-e*d*y-u*i*p+e*c*p)*w,t[6]=(v*s*r-a*d*r-v*i*h+e*d*h+a*i*p-e*s*p)*w,t[7]=(a*c*r-u*s*r+u*i*h-e*c*h-a*i*y+e*s*y)*w,t[8]=k*w,t[9]=(v*l*r-u*f*r-v*n*y+e*f*y+u*n*p-e*l*p)*w,t[10]=(a*f*r-v*o*r+v*n*h-e*f*h-a*n*p+e*o*p)*w,t[11]=(u*o*r-a*l*r-u*n*h+e*l*h+a*n*y-e*o*y)*w,t[12]=x*w,t[13]=(u*f*i-v*l*i+v*n*c-e*f*c-u*n*d+e*l*d)*w,t[14]=(v*o*i-a*f*i-v*n*s+e*f*s+a*n*d-e*o*d)*w,t[15]=(a*l*i-u*o*i+u*n*s-e*l*s-a*n*c+e*o*c)*w,this}},{key:"inverted",value:function(){var e=this.elements,n=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],h=e[6],u=e[7],l=e[8],c=e[9],y=e[10],v=e[11],f=e[12],d=e[13],p=e[14],m=e[15],g=c*p*u-d*y*u+d*h*v-s*p*v-c*h*m+s*y*m,k=f*y*u-l*p*u-f*h*v+o*p*v+l*h*m-o*y*m,x=l*d*u-f*c*u+f*s*v-o*d*v-l*s*m+o*c*m,M=f*c*h-l*d*h-f*s*y+o*d*y+l*s*p-o*c*p,w=n*g+i*k+r*x+a*M;if(0===w)return new t;var _=1/w,C=new Array(16);C[0]=g*_,C[1]=(d*y*a-c*p*a-d*r*v+i*p*v+c*r*m-i*y*m)*_,C[2]=(s*p*a-d*h*a+d*r*u-i*p*u-s*r*m+i*h*m)*_,C[3]=(c*h*a-s*y*a-c*r*u+i*y*u+s*r*v-i*h*v)*_,C[4]=k*_,C[5]=(l*p*a-f*y*a+f*r*v-n*p*v-l*r*m+n*y*m)*_,C[6]=(f*h*a-o*p*a-f*r*u+n*p*u+o*r*m-n*h*m)*_,C[7]=(o*y*a-l*h*a+l*r*u-n*y*u-o*r*v+n*h*v)*_,C[8]=x*_,C[9]=(f*c*a-l*d*a-f*i*v+n*d*v+l*i*m-n*c*m)*_,C[10]=(o*d*a-f*s*a+f*i*u-n*d*u-o*i*m+n*s*m)*_,C[11]=(l*s*a-o*c*a-l*i*u+n*c*u+o*i*v-n*s*v)*_,C[12]=M*_,C[13]=(l*d*r-f*c*r+f*i*y-n*d*y-l*i*p+n*c*p)*_,C[14]=(f*s*r-o*d*r-f*i*h+n*d*h+o*i*p-n*s*p)*_,C[15]=(o*c*r-l*s*r+l*i*h-n*c*h-o*i*y+n*s*y)*_;var b=new t;return b.elements=C,b}},{key:"scale",value:function(t){var e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}},{key:"getMaxScaleOnAxis",value:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}},{key:"makeTranslation",value:function(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}},{key:"makeRotationX",value:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}},{key:"makeRotationY",value:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}},{key:"makeRotationZ",value:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}},{key:"makeRotationAxis",value:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=1-n,a=t.x,o=t.y,s=t.z,h=r*a,u=r*o;return this.set(h*a+n,h*o-i*s,h*s+i*o,0,h*o+i*s,u*o+n,u*s-i*a,0,h*s-i*o,u*s+i*a,r*s*s+n,0,0,0,0,1),this}},{key:"makeScale",value:function(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}},{key:"makeShear",value:function(t,e,n){return this.set(1,e,n,0,t,1,n,0,t,e,1,0,0,0,0,1),this}},{key:"compose",value:function(t,e,n){var i=this.elements,r=e._x,a=e._y,o=e._z,s=e._w,h=r+r,u=a+a,l=o+o,c=r*h,y=r*u,v=r*l,f=a*u,d=a*l,p=o*l,m=s*h,g=s*u,k=s*l,x=n.x,M=n.y,w=n.z;return i[0]=(1-(f+p))*x,i[1]=(y+k)*x,i[2]=(v-g)*x,i[3]=0,i[4]=(y-k)*M,i[5]=(1-(c+p))*M,i[6]=(d+m)*M,i[7]=0,i[8]=(v+g)*w,i[9]=(d-m)*w,i[10]=(1-(c+f))*w,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}},{key:"decompose",value:function(t,e,n){var i=this.elements,r=K.set(i[0],i[1],i[2]).length,a=K.set(i[4],i[5],i[6]).length,o=K.set(i[8],i[9],i[10]).length;this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],nt.copy(this);var s=1/r,h=1/a,u=1/o;return nt.elements[0]*=s,nt.elements[1]*=s,nt.elements[2]*=s,nt.elements[4]*=h,nt.elements[5]*=h,nt.elements[6]*=h,nt.elements[8]*=u,nt.elements[9]*=u,nt.elements[10]*=u,e.setFromRotationMatrix(nt),n.x=r,n.y=a,n.z=o,this}},{key:"makePerspective",value:function(t,e,n,i,r,a){void 0===a&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var o=this.elements,s=2*r/(e-t),h=2*r/(n-i),u=(e+t)/(e-t),l=(n+i)/(n-i),c=-(a+r)/(a-r),y=-2*a*r/(a-r);return o[0]=s,o[4]=0,o[8]=u,o[12]=0,o[1]=0,o[5]=h,o[9]=l,o[13]=0,o[2]=0,o[6]=0,o[10]=c,o[14]=y,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}},{key:"makeOrthographic",value:function(t,e,n,i,r,a){var o=this.elements,s=1/(e-t),h=1/(n-i),u=1/(a-r),l=(e+t)*s,c=(n+i)*h,y=(a+r)*u;return o[0]=2*s,o[4]=0,o[8]=0,o[12]=-l,o[1]=0,o[5]=2*h,o[9]=0,o[13]=-c,o[2]=0,o[6]=0,o[10]=-2*u,o[14]=-y,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}},{key:"equals",value:function(t){for(var e=this.elements,n=t.elements,i=0;i<16;i++)if(!N.isEqual(e[i],n[i]))return!1;return!0}},{key:"fromArray",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n<16;n++)this.elements[n]=t[n+e];return this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}])}(),nt=new et,it=new et,rt=new q,at=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.DefaultOrder;u(this,t),this._onChangeCallback=function(){},this.isEuler=!0,this._x=e,this._y=n,this._z=i,this._order=r}return v(t,[{key:"x",get:function(){return this._x},set:function(t){this._x=t,this._onChangeCallback()}},{key:"y",get:function(){return this._y},set:function(t){this._y=t,this._onChangeCallback()}},{key:"z",get:function(){return this._z},set:function(t){this._z=t,this._onChangeCallback()}},{key:"order",get:function(){return this._order},set:function(t){this._order=t,this._onChangeCallback()}},{key:"set",value:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,this._onChangeCallback(),this}},{key:"clone",value:function(){return new t(this._x,this._y,this._z,this._order)}},{key:"copy",value:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}},{key:"setFromRotationMatrix",value:function(t,e){var n=N.clamp,i=t.elements,r=i[0],a=i[4],o=i[8],s=i[1],h=i[5],u=i[9],l=i[2],c=i[6],y=i[10];switch(e=e||this._order){case"XYZ":this._y=Math.asin(n(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,y),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(c,h),this._z=0);break;case"YXZ":this._x=Math.asin(-n(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(o,y),this._z=Math.atan2(s,h)):(this._y=Math.atan2(-l,r),this._z=0);break;case"ZXY":this._x=Math.asin(n(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(-l,y),this._z=Math.atan2(-a,h)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-n(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(c,y),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-a,h));break;case"YZX":this._z=Math.asin(n(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,h),this._y=Math.atan2(-l,r)):(this._x=0,this._y=Math.atan2(o,y));break;case"XZY":this._z=Math.asin(-n(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(c,h),this._y=Math.atan2(o,r)):(this._x=Math.atan2(-u,y),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ".concat(e))}return this._order=e,this._onChangeCallback(),this}},{key:"setFromQuaternion",value:function(t,e){return it.makeRotationFromQuaternion(t),this.setFromRotationMatrix(it,e)}},{key:"setFromVector3",value:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)}},{key:"reorder",value:function(t){return rt.setFromEuler(this),this.setFromQuaternion(rt,t)}},{key:"equals",value:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}},{key:"fromArray",value:function(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t}},{key:"toVector3",value:function(t){return t?t.set(this._x,this._y,this._z):new j(this._x,this._y,this._z)}},{key:"_onChange",value:function(t){return this._onChangeCallback=t,this}}])}();at.DefaultOrder="XYZ",at.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],new j,new j,new j,new j,new j,new j;var ot=function(){function t(e,n,i){var r=this;u(this,t),this.listeners=new Map,this.isMouseDown=!1,this.eventCache=[],this.prevDiff=new G(-1,-1),this.startDiff=new G(-1,-1),this.prevVector=new G,this.startVector=new G,this.updateViewportInfo=function(t){r.viewport=t},this.downHandler=function(t){r.isMouseDown=!0,1===t.length?(r.mouseDealType=F.Click,r.dragStatus=L.Ready,r.mouseDownInfo={x:t[0].clientX,y:t[0].clientY},r.pressTimer=window.setTimeout((function(){r.mouseDealType=F.Press,r.triggerEvent(R.Press,t[0])}),250)):2===t.length&&(window.clearTimeout(r.pressTimer),r.startDiff=new G(Math.abs(t[0].clientX-t[1].clientX),Math.abs(t[0].clientY-t[1].clientY)),r.startVector=new G(t[1].clientX-t[0].clientX,t[1].clientY-t[0].clientY),r.mouseDealType=F.MultiTouch)},this.onMouseDown=function(t){t.preventDefault(),r.addEventCache(t),r.downHandler(r.eventCache)},this.onTouchDown=function(t){t.preventDefault(),r.isMouseDown=!0,r.downHandler(Array.from(t.targetTouches||t.touches))},this.moveHandler=function(e,n){var i,a,o,s,h,u,l;if(r.mouseDealType===F.MultiTouch){if(2===n.length){var c=new G(Math.abs(n[0].clientX-n[1].clientX),Math.abs(n[0].clientY-n[1].clientY));void 0===r.useX&&(r.useX=c.x>c.y);var y=new G(n[1].clientX-n[0].clientX,n[1].clientY-n[0].clientY);if(r.prevDiff.x>0&&r.prevDiff.y>0?r.triggerEvent(R.Pinch,e,{scale:r.useX?c.x/r.startDiff.x:c.y/r.startDiff.y,deltaScale:r.useX?c.x/r.prevDiff.x:c.y/r.prevDiff.y,eventCache:n}):r.triggerEvent(R.PinchStart,e,{eventCache:n}),0===r.prevVector.x&&0===r.prevVector.y)r.triggerEvent(R.RotateStart,e,{eventCache:n});else{var v=y.angleTo(r.startVector)*N.RAD2DEG,f=y.angleTo(r.prevVector)*N.RAD2DEG;r.triggerEvent(R.Rotate,e,{rotate:v,deltaRotate:f,eventCache:n})}r.prevDiff=c,r.prevVector=y}}else(r.mouseDealType===F.Drag||r.mouseDownInfo&&(o=r.mouseDownInfo,s=e,h=t.moveTolerance,(u=o.x-s.clientX)*u+(l=o.y-s.clientY)*l>h*h))&&(window.clearTimeout(r.pressTimer),r.mouseDealType=F.Drag,r.dragStatus===L.Ready?(r.dragStatus=L.Dragging,r.triggerEvent(R.DragStart,e,{mouseDownInfo:{x:(null===(i=r.mouseDownInfo)||void 0===i?void 0:i.x)||0,y:(null===(a=r.mouseDownInfo)||void 0===a?void 0:a.y)||0}})):r.dragStatus===L.Dragging&&r.triggerEvent(R.DragMove,e))},this.onMouseMove=function(t){t.preventDefault(),r.isMouseDown?(r.mouseDealType===F.MultiTouch&&r.updateEventCache(t),r.moveHandler(t,r.eventCache)):(r.triggerEvent(R.Hover,t),r.triggerEvent(R.CarriageMove,t))},this.onTouchMove=function(t){var e=Array.from(t.targetTouches||t.touches);e.length&&r.isMouseDown&&(e[0].target===r.canvas&&t.preventDefault(),r.moveHandler(e[0],e))},this.upHandler=function(t,e){if(r.useX=void 0,0===e.length){if(r.isMouseDown=!1,window.clearTimeout(r.pressTimer),r.mouseDealType===F.Drag)r.triggerEvent(R.DragEnd,t);else if(r.mouseDealType===F.Click)if("ontouchstart"in window)r.triggerEvent(R.Click,t);else{var n=t;0===n.button?r.triggerEvent(R.Click,t):2===n.button&&r.triggerEvent(R.RightClick,t)}else r.mouseDealType===F.MultiTouch?(r.triggerEvent(R.PinchEnd,t,{eventCache:e}),r.triggerEvent(R.RotateEnd,t,{eventCache:e})):r.mouseDealType===F.Press&&r.triggerEvent(R.PressUp,t);r.triggerEvent(R.CarriageEnd,t),r.mouseDealType=void 0,r.dragStatus=void 0,r.mouseDownInfo=void 0}else r.mouseDealType===F.MultiTouch&&e.length<2&&(r.prevDiff=new G(-1,-1),r.startDiff=new G(-1,-1),r.prevVector=new G,r.startVector=new G)},this.onMouseUp=function(t){t.preventDefault(),r.removeEventCache(t),r.upHandler(t,r.eventCache)},this.onTouchUp=function(t){var e=Array.from(t.targetTouches||t.touches);t.changedTouches[0].target===r.canvas&&t.preventDefault(),r.upHandler(t.changedTouches[0],e)},this.onWheel=function(t){t.preventDefault(),t.stopImmediatePropagation(),r.triggerEvent(R.Wheel,t)},this.onDBClick=function(t){r.preventDefault(t),r.triggerEvent(R.DBClick,t)},this.preventDefault=function(t){t.preventDefault(),t.stopPropagation()},this.canvas=e,this.viewport=n,this.coordinateType=i}return v(t,[{key:"addEventListener",value:function(t,e){return this.listeners.has(t)||this.listeners.set(t,[]),this.listeners.get(t).push(e),this}},{key:"removeEventListener",value:function(t,e){if(this.listeners.has(t)){if(!e)return this.listeners.delete(t),this;var n=this.listeners.get(t),i=n.indexOf(e);-1!==i&&n.splice(i,1),0===n.length&&this.listeners.delete(t)}return this}},{key:"clearListener",value:function(){this.listeners=new Map}},{key:"dispose",value:function(){if("browser"===g()){var t=this.canvas;"ontouchstart"in window?(t.removeEventListener("touchstart",this.onTouchDown),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchUp),document.removeEventListener("touchcancel",this.onTouchUp)):(t.removeEventListener("pointerdown",this.onMouseDown),document.removeEventListener("pointermove",this.onMouseMove),document.removeEventListener("pointerup",this.onMouseUp),document.removeEventListener("pointercancel",this.onMouseUp),document.removeEventListener("pointerleave",this.onMouseUp),t.removeEventListener("dblclick",this.onDBClick),t.removeEventListener("wheel",this.onWheel),t.removeEventListener("contextmenu",this.preventDefault))}}},{key:"registerListener",value:function(){if("browser"===g()){var t=this.canvas;"ontouchstart"in window?(t.addEventListener("touchstart",this.onTouchDown),document.addEventListener("touchmove",this.onTouchMove),document.addEventListener("touchend",this.onTouchUp),document.addEventListener("touchcancel",this.onTouchUp)):(t.addEventListener("pointerdown",this.onMouseDown),document.addEventListener("pointermove",this.onMouseMove),document.addEventListener("pointerup",this.onMouseUp),document.addEventListener("pointercancel",this.onMouseUp),document.addEventListener("pointerleave",this.onMouseUp),t.addEventListener("dblclick",this.onDBClick),t.addEventListener("wheel",this.onWheel),t.addEventListener("contextmenu",this.preventDefault))}}},{key:"triggerEvent",value:function(t,e,n){if(this.viewport){var i,r=this.viewport,a=r.x,o=r.y,h=[{x:a,y:o},{x:a+r.width,y:o+r.height}];if("browser"===g()){var u=this.canvas;i=function(t,e){var n={x:t.x-e.x,y:t.y-e.y};if(!(n.x<=0||n.y<=0||n.x>e.width||n.y>e.height))return n}({x:e.clientX,y:e.clientY},u.getBoundingClientRect())}if(!i)return;var l=function(t,e){var n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,a,o,s=[],h=!0,u=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;h=!1}else for(;!(h=(i=a.call(n)).done)&&(s.push(i.value),s.length!==e);h=!0);}catch(t){u=!0,r=t}finally{try{if(!h&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw r}}return s}}(t,e)||s(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,2),i=n[0],r=n[1],a=(t.x-i.x)*(t.x-r.x),o=(t.y-i.y)*(t.y-r.y);return a<=0&&o<=0}(i,h);if(!l)return}this.listeners.has(t)&&this.listeners.get(t).forEach((function(t){return t(e,n)}))}},{key:"addEventCache",value:function(t){this.eventCache.push(t)}},{key:"removeEventCache",value:function(t){for(var e=0;e<this.eventCache.length;e++)if(this.eventCache[e].pointerId===t.pointerId){this.eventCache.splice(e,1);break}}},{key:"updateEventCache",value:function(t){for(var e=0;e<this.eventCache.length;e++)if(t.pointerId===this.eventCache[e].pointerId){this.eventCache[e]=t;break}}}],[{key:"create",value:function(e,n,i){return new t(e,n,i)}}])}();function st(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(st=function(){return!!t})()}ot.moveTolerance=4;var ht=function(t){function e(t,n){var i,r,a,o;u(this,e),r=this,a=d(a=e),(i=f(r,st()?Reflect.construct(a,[],d(r).constructor):a.apply(r,o))).holder=t,i.parent=n,i.$children={},i.activeChildren=[];var s=i.active.bind(i),l=i.dispose.bind(i);return i.active=function(){i.parent&&!i.holder.isCommandActive(i)&&i.parent.onChildActive(i),s.apply(void 0,arguments)},i.dispose=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r;i.holder.isCommandActive(i)?i.holder.clearCommand():null===(r=i.parent)||void 0===r||r.onChildDispose(i),h(i.activeChildren).forEach((function(t){return t.dispose.apply(t,e)})),l.apply(void 0,e)},i}return m(e,t),v(e,[{key:"apply",value:function(){this.holder.toggleCommand(this),this.active.apply(this,arguments)}},{key:"active",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];Object.values(this.$children).forEach((function(t){return t.active.apply(t,e)}))}},{key:"dispose",value:function(){}},{key:"distributeEvent",value:function(t,e,n,i){this.activeChildren.forEach((function(r){return r.distributeEvent(t,e,n,i)})),this.distributeToSelf(t,e,n,i)}},{key:"onChildActive",value:function(t){-1===this.activeChildren.indexOf(t)&&this.activeChildren.push(t)}},{key:"onChildDispose",value:function(t){var e=this.activeChildren.indexOf(t);-1!==e&&this.activeChildren.splice(e,1)}}])}(function(){return v((function t(){u(this,t)}),[{key:"onClick",value:function(t,e,n){}},{key:"onDBClick",value:function(t,e,n){}},{key:"onRightClick",value:function(t,e,n){}},{key:"onDragStart",value:function(t,e,n){}},{key:"onDragMove",value:function(t,e,n){}},{key:"onDragEnd",value:function(t,e,n){}},{key:"onPinchStart",value:function(t,e,n){}},{key:"onPinch",value:function(t,e,n){}},{key:"onPinchEnd",value:function(t,e,n){}},{key:"onRotateStart",value:function(t,e,n){}},{key:"onRotate",value:function(t,e,n){}},{key:"onRotateEnd",value:function(t,e,n){}},{key:"onPress",value:function(t,e,n){}},{key:"onPressUp",value:function(t,e,n){}},{key:"onHoverIn",value:function(t,e,n){}},{key:"onHoverOut",value:function(t,e,n){}},{key:"onCarriageMove",value:function(t,e,n){}},{key:"onCarriageEnd",value:function(t,e,n){}},{key:"onWheel",value:function(t,e,n){}},{key:"distributeToSelf",value:function(t,e,n,i){switch(t){case V.onClick:this.onClick(e,n,i);break;case V.onDBClick:this.onDBClick(e,n,i);break;case V.onRightClick:this.onRightClick(e,n,i);break;case V.onDragStart:this.onDragStart(e,n,i);break;case V.onDragMove:this.onDragMove(e,n,i);break;case V.onDragEnd:this.onDragEnd(e,n,i);break;case V.onPinchStart:this.onPinchStart(e,n,i);break;case V.onPinch:this.onPinch(e,n,i);break;case V.onPinchEnd:this.onPinchEnd(e,n,i);break;case V.onRotateStart:this.onRotateStart(e,n,i);break;case V.onRotate:this.onRotate(e,n,i);break;case V.onRotateEnd:this.onRotateEnd(e,n,i);break;case V.onPress:this.onPress(e,n,i);break;case V.onPressUp:this.onPressUp(e,n,i);break;case V.onHoverIn:this.onHoverIn(e,n,i);break;case V.onHoverOut:this.onHoverOut(e,n,i);break;case V.onCarriageMove:this.onCarriageMove(e,n,i);break;case V.onCarriageEnd:this.onCarriageEnd(e,n,i);break;case V.onWheel:this.onWheel(e,n,i)}}}])}());function ut(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(ut=function(){return!!t})()}function lt(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(lt=function(){return!!t})()}function ct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(ct=function(){return!!t})()}var yt=function(){return v((function t(){u(this,t)}),[{key:"installed",value:function(){}},{key:"toggleCommand",value:function(t){this.activeCommand=t}},{key:"clearCommand",value:function(){this.activeCommand=void 0}},{key:"isCommandActive",value:function(t){return this.activeCommand===t}},{key:"distributeEvent",value:function(t,e,n,i){this.activeCommand&&this.activeCommand.distributeEvent(t,e,n,i)}}])}();function vt(t){return t instanceof yt}return yt.create=function(){return ht},yt.compose=function(t){return function(e){function n(e,i){var r,a,o,s;return u(this,n),a=this,s=[e,i],o=d(o=n),r=f(a,ut()?Reflect.construct(o,s||[],d(a).constructor):o.apply(a,s)),Object.keys(t).forEach((function(e){var n=new t[e](r.holder,r);r[e]=n,r.$children[e]=n})),r}return m(n,e),v(n)}(ht)},yt.manager=function(t){return function(e){function n(){var e,i,r,a;return u(this,n),i=this,r=d(r=n),e=f(i,lt()?Reflect.construct(r,[],d(i).constructor):r.apply(i,a)),Object.keys(t).forEach((function(n){var i=new t[n](e);e[n]=i})),e}return m(n,e),v(n)}(yt)},yt.install=function(t){return function(e){function n(){var e,i,r,a;return u(this,n),i=this,r=d(r=n),e=f(i,ct()?Reflect.construct(r,[],d(i).constructor):r.apply(i,a)),Object.keys(t).forEach((function(n){var i=new t[n](e);e[n]=i})),e.installed(),e}return m(n,e),v(n)}(yt)},a})()));