reacthub-pixitweenjs 0.2.107-alpha.106 → 0.2.107-alpha.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +34 -13
  3. package/package.json +5 -4
  4. package/dist/components/PixiAnimatedSprite/PixiAnimatedSprite.d.ts +0 -23
  5. package/dist/components/PixiAnimatedSprite/index.d.ts +0 -1
  6. package/dist/components/PixiAudioSprite/HowlerAudioSprite.d.ts +0 -19
  7. package/dist/components/PixiAudioSprite/PixiAudioSprite.d.ts +0 -15
  8. package/dist/components/PixiAudioSprite/PixiAudioSprite.stories.d.ts +0 -53
  9. package/dist/components/PixiAudioSprite/index.d.ts +0 -1
  10. package/dist/components/PixiGifSprite/PixiGifGsapSync.d.ts +0 -19
  11. package/dist/components/PixiGifSprite/PixiGifSprite.stories.d.ts +0 -153
  12. package/dist/components/PixiGifSprite/index.d.ts +0 -2
  13. package/dist/components/PixiGsapAnims/FadeIn.d.ts +0 -11
  14. package/dist/components/PixiGsapAnims/PixiFlipContainer.d.ts +0 -9
  15. package/dist/components/PixiImageSprite/PixiImageSprite.d.ts +0 -4
  16. package/dist/components/PixiImageSprite/PixiImageSprite.stories.d.ts +0 -136
  17. package/dist/components/PixiImageSprite/index.d.ts +0 -1
  18. package/dist/components/PixiLottieSprite/PixiLottieSprite.d.ts +0 -14
  19. package/dist/components/PixiLottieSprite/PixiLottieSprite.stories.d.ts +0 -149
  20. package/dist/components/PixiLottieSprite/index.d.ts +0 -1
  21. package/dist/components/PixiRemotionSprite/PixiRemotionSprite.d.ts +0 -26
  22. package/dist/components/PixiRemotionSprite/index.d.ts +0 -1
  23. package/dist/components/PixiSVGSprite/PixiSvgPathSprite.d.ts +0 -64
  24. package/dist/components/PixiSVGSprite/PixiSvgPathSprite.stories.d.ts +0 -121
  25. package/dist/components/PixiSVGSprite/index.d.ts +0 -1
  26. package/dist/components/PixiSequence/PixiSeqenceWrapper.d.ts +0 -9
  27. package/dist/components/PixiSequence/PixiSequence.d.ts +0 -11
  28. package/dist/components/PixiSequence/PixiSequence.stories.d.ts +0 -32
  29. package/dist/components/PixiSequence/index.d.ts +0 -2
  30. package/dist/components/PixiTextSprite/PixiTextSprite.d.ts +0 -85
  31. package/dist/components/PixiTextSprite/PixiTextSprite.stories.d.ts +0 -130
  32. package/dist/components/PixiTextSprite/index.d.ts +0 -1
  33. package/dist/components/PixiTransformer/PixiTransformer.d.ts +0 -19
  34. package/dist/components/PixiTransformer/Transformer.d.ts +0 -39
  35. package/dist/components/PixiTransformer/applyEventProps.d.ts +0 -10
  36. package/dist/components/PixiTransformer/index.d.ts +0 -1
  37. package/dist/components/PixiVideoSprite/PixiVideoCanvasSync.d.ts +0 -26
  38. package/dist/components/PixiVideoSprite/PixiVideoSprite.d.ts +0 -22
  39. package/dist/components/PixiVideoSprite/PixiVideoSprite.stories.d.ts +0 -136
  40. package/dist/components/PixiVideoSprite/index.d.ts +0 -2
  41. package/dist/components/index.d.ts +0 -10
  42. package/dist/declare.module.d.ts +0 -0
  43. package/dist/events/Events.d.ts +0 -7
  44. package/dist/events/index.d.ts +0 -1
  45. package/dist/hocs/AbstractContainer.d.ts +0 -12
  46. package/dist/hocs/OverlayTilingSprite.d.ts +0 -35
  47. package/dist/hooks/index.d.ts +0 -1
  48. package/dist/hooks/useDebounce.d.ts +0 -2
  49. package/dist/hooks/useDebouncePointerEvents.d.ts +0 -6
  50. package/dist/hooks/useDeepEffect.d.ts +0 -2
  51. package/dist/hooks/useGsapEffect.d.ts +0 -3
  52. package/dist/hooks/withEffectsHook.d.ts +0 -5
  53. package/dist/hooks/withFiltersHook.d.ts +0 -29
  54. package/dist/index.d.ts +0 -5
  55. package/dist/index.es.js +0 -26000
  56. package/dist/index.umd.js +0 -1998
  57. package/dist/providers/AudioContextProvider.d.ts +0 -12
  58. package/dist/providers/GsapPixieContextProvider.d.ts +0 -47
  59. package/dist/providers/index.d.ts +0 -1
  60. package/dist/stories/Features/TestHowlerAudioFiles.d.ts +0 -2
  61. package/dist/stories/Features/TimelineAnimations.d.ts +0 -15
  62. package/dist/stories/Features/TimelineTest.d.ts +0 -15
  63. package/dist/stories/Features/TimelineTest.stories.d.ts +0 -21
  64. package/dist/stories/Features/TimelineTestAudios.d.ts +0 -15
  65. package/dist/stories/Features/TimelineTestWithVideos.d.ts +0 -15
  66. package/dist/stories/Features/TimelineWithGif.d.ts +0 -21
  67. package/dist/stories/Features/common.tests.d.ts +0 -411
  68. package/dist/types/Animations.d.ts +0 -72
  69. package/dist/types/BaseProps.d.ts +0 -70
  70. package/dist/types/BlendModes.d.ts +0 -19
  71. package/dist/types/Effects.d.ts +0 -12
  72. package/dist/types/index.d.ts +0 -4
  73. package/dist/types/transformation.d.ts +0 -12
  74. package/dist/utils/AppStateProvider.d.ts +0 -11
  75. package/dist/utils/AppStateSequenceProvider.d.ts +0 -11
  76. package/dist/utils/AppStateStage.d.ts +0 -6
  77. package/dist/utils/AppWrapper.d.ts +0 -7
  78. package/dist/utils/ContextBridge.d.ts +0 -7
  79. package/dist/utils/GsapAnim.d.ts +0 -29
  80. package/dist/utils/GsapAnims.d.ts +0 -2
  81. package/dist/utils/InteractionManager.d.ts +0 -18
  82. package/dist/utils/PixiStage.d.ts +0 -9
  83. package/dist/utils/VideoSeekBar.d.ts +0 -2
  84. package/dist/utils/isRemoteAsset.d.ts +0 -1
  85. package/dist/utils/useDebounce.d.ts +0 -1
  86. package/dist/utils/useDeepEffect.d.ts +0 -4
package/dist/index.umd.js DELETED
@@ -1,1998 +0,0 @@
1
- (function(C,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("react"),require("@pixi/react"),require("pixi.js"),require("gsap"),require("reacthub-react-bindings")):typeof define=="function"&&define.amd?define(["exports","react","@pixi/react","pixi.js","gsap","reacthub-react-bindings"],E):(C=typeof globalThis<"u"?globalThis:C||self,E(C["reacthub-pixitweenjs"]={},C.React,C.PIXIReact,C.PIXI,C.gsap,C.reacthubReactBindings))})(this,function(exports,React,react,PIXI,gsap$2,reacthubReactBindings){"use strict";function _interopNamespaceDefault(C){const E=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(C){for(const I in C)if(I!=="default"){const B=Object.getOwnPropertyDescriptor(C,I);Object.defineProperty(E,I,B.get?B:{enumerable:!0,get:()=>C[I]})}}return E.default=C,Object.freeze(E)}const React__namespace=_interopNamespaceDefault(React),PIXI__namespace=_interopNamespaceDefault(PIXI);var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(C){return C&&C.__esModule&&Object.prototype.hasOwnProperty.call(C,"default")?C.default:C}function getAugmentedNamespace(C){if(C.__esModule)return C;var E=C.default;if(typeof E=="function"){var I=function B(){return this instanceof B?Reflect.construct(E,arguments,this.constructor):E.apply(this,arguments)};I.prototype=E.prototype}else I={};return Object.defineProperty(I,"__esModule",{value:!0}),Object.keys(C).forEach(function(B){var U=Object.getOwnPropertyDescriptor(C,B);Object.defineProperty(I,B,U.get?U:{enumerable:!0,get:function(){return C[B]}})}),I}var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/**
2
- * @license React
3
- * react-jsx-runtime.production.min.js
4
- *
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var f$5=React,k$2=Symbol.for("react.element"),l$6=Symbol.for("react.fragment"),m$4=Object.prototype.hasOwnProperty,n$6=f$5.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p$4={key:!0,ref:!0,__self:!0,__source:!0};function q(C,E,I){var B,U={},V=null,X=null;I!==void 0&&(V=""+I),E.key!==void 0&&(V=""+E.key),E.ref!==void 0&&(X=E.ref);for(B in E)m$4.call(E,B)&&!p$4.hasOwnProperty(B)&&(U[B]=E[B]);if(C&&C.defaultProps)for(B in E=C.defaultProps,E)U[B]===void 0&&(U[B]=E[B]);return{$$typeof:k$2,type:C,key:V,ref:X,props:U,_owner:n$6.current}}reactJsxRuntime_production_min.Fragment=l$6,reactJsxRuntime_production_min.jsx=q,reactJsxRuntime_production_min.jsxs=q,jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports,Effects=(C=>(C.BlackAndWhite="BlackAndWhite",C.Sepia="Sepia",C.RetroVintage="RetroVintage",C.NightVision="NightVision",C.Normal="Normal",C.Vignette="Vignette",C.None="Normal",C))(Effects||{});let targetElement;function getElement(){return targetElement=document.body,targetElement}function useCustomEventListener(C,E,I){let B;return React.useEffect(()=>{B=B||getElement();const U=V=>{const X=V.detail;E(X)};return B.addEventListener(C,U,!1),()=>{B==null||B.removeEventListener(C,U,!1)}},I),U=>{B=U}}function emitCustomEvent(C,E){const I=getElement(),B=new CustomEvent(C,{detail:E});I.dispatchEvent(B)}function newCustomEventEmitter(){let C;function E(I){C=I}return E.emit=function(I,B){const U=new CustomEvent(I,{bubbles:!0,detail:B});C==null||C.dispatchEvent(U)},E}const GsapPixieContext=React__namespace.createContext({}),Events={STOP:"GSAP_STOP",PAUSE:"GSAP_PAUSE",PLAY:"GSAP_PLAY",RESUME:"GSAP_RESUME",RESTART:"GSAP_RESTART",REPEAT:"GSAP_REPEAT",SEEK:"GSAP_SEEK",RESET:"GSAP_RESET",COMPLETE:"GSAP_COMPLETE",SEEK_START:"GSAP_SEEK_START",SEEK_END:"GSAP_SEEK_END",SCRUBBER_SEEK:"GSAP_SCRUBBER_SEEK",SCRUBBER_PROGRESS_UPDATE:"GSAP_SCRUBBER_PROGRESS_UPDATE",SCRUBBER_PLAY:"GSAP_SCRUBBER_PLAY",SCRUBBER_PAUSE:"GSAP_SCRUBBER_PAUSE",SCRUBBER_CLICKED:"GSAP_SCRUBBER_CLICKED",TRANSFORMER_DRAG_START:"TRANSFORMER_DRAG_START",TRANSFORMER_DRAG_END:"TRANSFORMER_DRAG_END",REVERSE_MODE_START:"REVERSE_MODE_START",REVERSE_MODE_END:"REVERSE_MODE_END"},GsapPixieContextProvider=({children:C})=>{const[E,I]=React.useState(0),B=React.useRef(),U=React.useRef(),V=React.useRef(0),X=React.useRef(!1),Y=React.useRef(!1),[K,_e]=React.useState(!1);React.useLayoutEffect(()=>(U.current=gsap$2.context(()=>{B.current&&B.current.progress(0).kill(),B.current&&B.current.clear(),B.current&&gsap$2.killTweensOf(B.current),B.current=gsap$2.timeline({paused:!0,defaults:{duration:0}})}),()=>{B.current&&B.current.revert(),U.current.revert()}),[]);const xe=React.useCallback(()=>{if(B.current){let Ie=B.current.time();Ie<V.current?X.current=!0:X.current=!1,V.current=Ie}},[]);React.useEffect(()=>{if(B.current){const Pe=B.current;Pe.eventCallback("onStart",function(){}).eventCallback("onInterrupt",function(){Pe.pause(),xe()}).eventCallback("onUpdate",function(){xe()}).eventCallback("onRepeat",function(){console.log("onrepeat",Pe.progress())}).eventCallback("onReverseComplete",function(){console.log("onReverseComplete",Pe.progress())}).eventCallback("onComplete",function(){Pe.seek(0),Pe.pause(),emitCustomEvent(Events.COMPLETE,{uniqueId:"timeline"}),console.log("Emitted events"),xe()})}},[]);const Z=React.useCallback(()=>{B.current&&B.current.revert()},[]),J=React.useCallback(()=>{B.current&&B.current.restart()},[]),Se=React.useCallback(()=>{if(B.current){const Pe=B.current;Pe.repeat(1),Pe.restart()}},[]),Te=React.useCallback(Pe=>{B.current&&B.current.seek(Pe)},[]),Ae=React.useCallback(()=>{B.current&&B.current.seek(4)},[]),Me=React.useCallback(()=>{const Pe=B.current;return Pe?Pe.totalDuration():0},[]),Ee=()=>{B.current&&(B.current.pause(),emitCustomEvent(Events.PAUSE))},we=()=>{B.current&&(B.current.resume(),emitCustomEvent(Events.RESUME))};return useCustomEventListener(Events.SEEK_START,()=>{Y.current=!0}),useCustomEventListener(Events.SCRUBBER_PLAY,()=>{we()}),useCustomEventListener(Events.SCRUBBER_PAUSE,()=>{Ee()}),useCustomEventListener(Events.SCRUBBER_SEEK,Pe=>{Te(Pe)}),useCustomEventListener(Events.SEEK_END,()=>{Y.current=!1}),useCustomEventListener(Events.REVERSE_MODE_START,()=>{X.current=!0}),useCustomEventListener(Events.REVERSE_MODE_END,()=>{X.current=!1}),useCustomEventListener(Events.SCRUBBER_PROGRESS_UPDATE,Pe=>{}),jsxRuntimeExports.jsx(GsapPixieContext.Provider,{value:{gsapCtx:U,tl:B,handlePlay:we,handlePause:Ee,handleReset:Z,handleSeek:Te,handleSeekTest:Ae,handleRestart:J,handleRepeat:Se,playerTimeRef:V,getTimelineDuration:Me,totalDuration:E,setTotalDuration:I,reverseModeRef:X,dragModeRef:Y,isRemotion:K,setIsRemotion:_e},children:C})},PixiTransformer=({pixiTransformerRef:C,imageRef:E,isMounted:I,transformCommit:B,transformChange:U,mouseoverEvent:V,onDoubleClick:X,uniqueId:Y="",isText:K=!1})=>{const _e=PIXI__namespace.utils.string2hex("#F3C409"),xe=PIXI__namespace.utils.string2hex("#F3C409"),Z=React__namespace.useRef({isDragging:!1}),J=react.useApp(),Se=J.screen.width,Te=J.screen.height,Ae=React__namespace.useMemo(()=>{const $e=Math.min(Se,Te)/800;return 1.5*$e<2?2:1.5*$e},[Se,Te]),Me=300,Ee=React__namespace.useRef(0),we=React__namespace.useCallback(()=>{V&&!Z.current.isDragging&&V(!0)},[V]),Pe=React__namespace.useCallback(()=>{V&&!Z.current.isDragging&&V(!1)},[V]),Ie=React__namespace.useCallback(()=>{Z.current.isDragging=!0;const $e=new Date().getTime();$e-Ee.current<Me&&X&&X(),Ee.current=$e},[]),Fe=React__namespace.useCallback($e=>{Z.current.isDragging=!0,U&&U($e),emitCustomEvent(Events.TRANSFORMER_DRAG_START,{uniqueId:"timeline"})},[U]),Oe=React__namespace.useCallback(()=>{if(E.current===null)return;const $e=E.current.x,Le=E.current.y,Ue=E.current.width,He=E.current.height,We=E.current.rotation,je=[E.current.scale.x,E.current.scale.y],Ve=je[0]<0?-1:1,ze=je[1]<0?-1:1;B&&(B({uniqueId:Y,transformation:{x:Math.round($e),y:Math.round(Le),width:Math.round(Math.max(5,Ue)),height:Math.round(Math.max(5,He)),rotation:We,scale:K?je:[Ve,ze]}}),emitCustomEvent(Events.TRANSFORMER_DRAG_END,{uniqueId:"timeline"})),Z.current.isDragging=!1},[B]);return React__namespace.useEffect(()=>(C.current&&(C.current.on("mouseover",we),C.current.on("mouseout",Pe),C.current.on("mousedown",Ie)),()=>{C.current&&(C.current.off("mouseover",we),C.current.off("mouseout",Pe),C.current.off("mousedown",Ie))}),[]),jsxRuntimeExports.jsx(reacthubReactBindings.Transformer,{ref:C,group:I?[E.current]:[],rotateEnabled:!0,boxRotationEnabled:!0,centeredScaling:!0,boxScalingEnabled:!0,wireframeStyle:{thickness:Ae,color:xe},lockAspectRatio:!0,scaleEnabled:!0,handleStyle:{outlineColor:_e,shape:"circle",radius:10},transformchange:Fe,transformcommit:Oe})};function listCacheClear$1(){this.__data__=[],this.size=0}var _listCacheClear=listCacheClear$1;function eq$2(C,E){return C===E||C!==C&&E!==E}var eq_1=eq$2,eq$1=eq_1;function assocIndexOf$4(C,E){for(var I=C.length;I--;)if(eq$1(C[I][0],E))return I;return-1}var _assocIndexOf=assocIndexOf$4,assocIndexOf$3=_assocIndexOf,arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete$1(C){var E=this.__data__,I=assocIndexOf$3(E,C);if(I<0)return!1;var B=E.length-1;return I==B?E.pop():splice.call(E,I,1),--this.size,!0}var _listCacheDelete=listCacheDelete$1,assocIndexOf$2=_assocIndexOf;function listCacheGet$1(C){var E=this.__data__,I=assocIndexOf$2(E,C);return I<0?void 0:E[I][1]}var _listCacheGet=listCacheGet$1,assocIndexOf$1=_assocIndexOf;function listCacheHas$1(C){return assocIndexOf$1(this.__data__,C)>-1}var _listCacheHas=listCacheHas$1,assocIndexOf=_assocIndexOf;function listCacheSet$1(C,E){var I=this.__data__,B=assocIndexOf(I,C);return B<0?(++this.size,I.push([C,E])):I[B][1]=E,this}var _listCacheSet=listCacheSet$1,listCacheClear=_listCacheClear,listCacheDelete=_listCacheDelete,listCacheGet=_listCacheGet,listCacheHas=_listCacheHas,listCacheSet=_listCacheSet;function ListCache$4(C){var E=-1,I=C==null?0:C.length;for(this.clear();++E<I;){var B=C[E];this.set(B[0],B[1])}}ListCache$4.prototype.clear=listCacheClear,ListCache$4.prototype.delete=listCacheDelete,ListCache$4.prototype.get=listCacheGet,ListCache$4.prototype.has=listCacheHas,ListCache$4.prototype.set=listCacheSet;var _ListCache=ListCache$4,ListCache$3=_ListCache;function stackClear$1(){this.__data__=new ListCache$3,this.size=0}var _stackClear=stackClear$1;function stackDelete$1(C){var E=this.__data__,I=E.delete(C);return this.size=E.size,I}var _stackDelete=stackDelete$1;function stackGet$1(C){return this.__data__.get(C)}var _stackGet=stackGet$1;function stackHas$1(C){return this.__data__.has(C)}var _stackHas=stackHas$1,freeGlobal$1=typeof commonjsGlobal$1=="object"&&commonjsGlobal$1&&commonjsGlobal$1.Object===Object&&commonjsGlobal$1,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root$9=freeGlobal||freeSelf||Function("return this")(),_root=root$9,root$8=_root,Symbol$5=root$8.Symbol,_Symbol=Symbol$5,Symbol$4=_Symbol,objectProto$c=Object.prototype,hasOwnProperty$9=objectProto$c.hasOwnProperty,nativeObjectToString$1=objectProto$c.toString,symToStringTag$1=Symbol$4?Symbol$4.toStringTag:void 0;function getRawTag$1(C){var E=hasOwnProperty$9.call(C,symToStringTag$1),I=C[symToStringTag$1];try{C[symToStringTag$1]=void 0;var B=!0}catch{}var U=nativeObjectToString$1.call(C);return B&&(E?C[symToStringTag$1]=I:delete C[symToStringTag$1]),U}var _getRawTag=getRawTag$1,objectProto$b=Object.prototype,nativeObjectToString=objectProto$b.toString;function objectToString$2(C){return nativeObjectToString.call(C)}var _objectToString=objectToString$2,Symbol$3=_Symbol,getRawTag=_getRawTag,objectToString$1=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$3?Symbol$3.toStringTag:void 0;function baseGetTag$5(C){return C==null?C===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(C)?getRawTag(C):objectToString$1(C)}var _baseGetTag=baseGetTag$5;function isObject$5(C){var E=typeof C;return C!=null&&(E=="object"||E=="function")}var isObject_1=isObject$5,baseGetTag$4=_baseGetTag,isObject$4=isObject_1,asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$2(C){if(!isObject$4(C))return!1;var E=baseGetTag$4(C);return E==funcTag$1||E==genTag||E==asyncTag||E==proxyTag}var isFunction_1=isFunction$2,root$7=_root,coreJsData$1=root$7["__core-js_shared__"],_coreJsData=coreJsData$1,coreJsData=_coreJsData,maskSrcKey=function(){var C=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return C?"Symbol(src)_1."+C:""}();function isMasked$1(C){return!!maskSrcKey&&maskSrcKey in C}var _isMasked=isMasked$1,funcProto$1=Function.prototype,funcToString$1=funcProto$1.toString;function toSource$2(C){if(C!=null){try{return funcToString$1.call(C)}catch{}try{return C+""}catch{}}return""}var _toSource=toSource$2,isFunction$1=isFunction_1,isMasked=_isMasked,isObject$3=isObject_1,toSource$1=_toSource,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto=Function.prototype,objectProto$a=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$8=objectProto$a.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty$8).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative$1(C){if(!isObject$3(C)||isMasked(C))return!1;var E=isFunction$1(C)?reIsNative:reIsHostCtor;return E.test(toSource$1(C))}var _baseIsNative=baseIsNative$1;function getValue$1(C,E){return C==null?void 0:C[E]}var _getValue=getValue$1,baseIsNative=_baseIsNative,getValue=_getValue;function getNative$6(C,E){var I=getValue(C,E);return baseIsNative(I)?I:void 0}var _getNative=getNative$6,getNative$5=_getNative,root$6=_root,Map$4=getNative$5(root$6,"Map"),_Map=Map$4,getNative$4=_getNative,nativeCreate$4=getNative$4(Object,"create"),_nativeCreate=nativeCreate$4,nativeCreate$3=_nativeCreate;function hashClear$1(){this.__data__=nativeCreate$3?nativeCreate$3(null):{},this.size=0}var _hashClear=hashClear$1;function hashDelete$1(C){var E=this.has(C)&&delete this.__data__[C];return this.size-=E?1:0,E}var _hashDelete=hashDelete$1,nativeCreate$2=_nativeCreate,HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$9=Object.prototype,hasOwnProperty$7=objectProto$9.hasOwnProperty;function hashGet$1(C){var E=this.__data__;if(nativeCreate$2){var I=E[C];return I===HASH_UNDEFINED$2?void 0:I}return hasOwnProperty$7.call(E,C)?E[C]:void 0}var _hashGet=hashGet$1,nativeCreate$1=_nativeCreate,objectProto$8=Object.prototype,hasOwnProperty$6=objectProto$8.hasOwnProperty;function hashHas$1(C){var E=this.__data__;return nativeCreate$1?E[C]!==void 0:hasOwnProperty$6.call(E,C)}var _hashHas=hashHas$1,nativeCreate=_nativeCreate,HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet$1(C,E){var I=this.__data__;return this.size+=this.has(C)?0:1,I[C]=nativeCreate&&E===void 0?HASH_UNDEFINED$1:E,this}var _hashSet=hashSet$1,hashClear=_hashClear,hashDelete=_hashDelete,hashGet=_hashGet,hashHas=_hashHas,hashSet=_hashSet;function Hash$1(C){var E=-1,I=C==null?0:C.length;for(this.clear();++E<I;){var B=C[E];this.set(B[0],B[1])}}Hash$1.prototype.clear=hashClear,Hash$1.prototype.delete=hashDelete,Hash$1.prototype.get=hashGet,Hash$1.prototype.has=hashHas,Hash$1.prototype.set=hashSet;var _Hash=Hash$1,Hash=_Hash,ListCache$2=_ListCache,Map$3=_Map;function mapCacheClear$1(){this.size=0,this.__data__={hash:new Hash,map:new(Map$3||ListCache$2),string:new Hash}}var _mapCacheClear=mapCacheClear$1;function isKeyable$1(C){var E=typeof C;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?C!=="__proto__":C===null}var _isKeyable=isKeyable$1,isKeyable=_isKeyable;function getMapData$4(C,E){var I=C.__data__;return isKeyable(E)?I[typeof E=="string"?"string":"hash"]:I.map}var _getMapData=getMapData$4,getMapData$3=_getMapData;function mapCacheDelete$1(C){var E=getMapData$3(this,C).delete(C);return this.size-=E?1:0,E}var _mapCacheDelete=mapCacheDelete$1,getMapData$2=_getMapData;function mapCacheGet$1(C){return getMapData$2(this,C).get(C)}var _mapCacheGet=mapCacheGet$1,getMapData$1=_getMapData;function mapCacheHas$1(C){return getMapData$1(this,C).has(C)}var _mapCacheHas=mapCacheHas$1,getMapData=_getMapData;function mapCacheSet$1(C,E){var I=getMapData(this,C),B=I.size;return I.set(C,E),this.size+=I.size==B?0:1,this}var _mapCacheSet=mapCacheSet$1,mapCacheClear=_mapCacheClear,mapCacheDelete=_mapCacheDelete,mapCacheGet=_mapCacheGet,mapCacheHas=_mapCacheHas,mapCacheSet=_mapCacheSet;function MapCache$3(C){var E=-1,I=C==null?0:C.length;for(this.clear();++E<I;){var B=C[E];this.set(B[0],B[1])}}MapCache$3.prototype.clear=mapCacheClear,MapCache$3.prototype.delete=mapCacheDelete,MapCache$3.prototype.get=mapCacheGet,MapCache$3.prototype.has=mapCacheHas,MapCache$3.prototype.set=mapCacheSet;var _MapCache=MapCache$3,ListCache$1=_ListCache,Map$2=_Map,MapCache$2=_MapCache,LARGE_ARRAY_SIZE=200;function stackSet$1(C,E){var I=this.__data__;if(I instanceof ListCache$1){var B=I.__data__;if(!Map$2||B.length<LARGE_ARRAY_SIZE-1)return B.push([C,E]),this.size=++I.size,this;I=this.__data__=new MapCache$2(B)}return I.set(C,E),this.size=I.size,this}var _stackSet=stackSet$1,ListCache=_ListCache,stackClear=_stackClear,stackDelete=_stackDelete,stackGet=_stackGet,stackHas=_stackHas,stackSet=_stackSet;function Stack$2(C){var E=this.__data__=new ListCache(C);this.size=E.size}Stack$2.prototype.clear=stackClear,Stack$2.prototype.delete=stackDelete,Stack$2.prototype.get=stackGet,Stack$2.prototype.has=stackHas,Stack$2.prototype.set=stackSet;var _Stack=Stack$2,HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd$1(C){return this.__data__.set(C,HASH_UNDEFINED),this}var _setCacheAdd=setCacheAdd$1;function setCacheHas$1(C){return this.__data__.has(C)}var _setCacheHas=setCacheHas$1,MapCache$1=_MapCache,setCacheAdd=_setCacheAdd,setCacheHas=_setCacheHas;function SetCache$1(C){var E=-1,I=C==null?0:C.length;for(this.__data__=new MapCache$1;++E<I;)this.add(C[E])}SetCache$1.prototype.add=SetCache$1.prototype.push=setCacheAdd,SetCache$1.prototype.has=setCacheHas;var _SetCache=SetCache$1;function arraySome$1(C,E){for(var I=-1,B=C==null?0:C.length;++I<B;)if(E(C[I],I,C))return!0;return!1}var _arraySome=arraySome$1;function cacheHas$1(C,E){return C.has(E)}var _cacheHas=cacheHas$1,SetCache=_SetCache,arraySome=_arraySome,cacheHas=_cacheHas,COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays$2(C,E,I,B,U,V){var X=I&COMPARE_PARTIAL_FLAG$5,Y=C.length,K=E.length;if(Y!=K&&!(X&&K>Y))return!1;var _e=V.get(C),xe=V.get(E);if(_e&&xe)return _e==E&&xe==C;var Z=-1,J=!0,Se=I&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(V.set(C,E),V.set(E,C);++Z<Y;){var Te=C[Z],Ae=E[Z];if(B)var Me=X?B(Ae,Te,Z,E,C,V):B(Te,Ae,Z,C,E,V);if(Me!==void 0){if(Me)continue;J=!1;break}if(Se){if(!arraySome(E,function(Ee,we){if(!cacheHas(Se,we)&&(Te===Ee||U(Te,Ee,I,B,V)))return Se.push(we)})){J=!1;break}}else if(!(Te===Ae||U(Te,Ae,I,B,V))){J=!1;break}}return V.delete(C),V.delete(E),J}var _equalArrays=equalArrays$2,root$5=_root,Uint8Array$2=root$5.Uint8Array,_Uint8Array=Uint8Array$2;function mapToArray$1(C){var E=-1,I=Array(C.size);return C.forEach(function(B,U){I[++E]=[U,B]}),I}var _mapToArray=mapToArray$1;function setToArray$1(C){var E=-1,I=Array(C.size);return C.forEach(function(B){I[++E]=B}),I}var _setToArray=setToArray$1,Symbol$2=_Symbol,Uint8Array$1=_Uint8Array,eq=eq_1,equalArrays$1=_equalArrays,mapToArray=_mapToArray,setToArray=_setToArray,COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",mapTag$3="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$3="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$2="[object DataView]",symbolProto$1=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf=symbolProto$1?symbolProto$1.valueOf:void 0;function equalByTag$1(C,E,I,B,U,V,X){switch(I){case dataViewTag$2:if(C.byteLength!=E.byteLength||C.byteOffset!=E.byteOffset)return!1;C=C.buffer,E=E.buffer;case arrayBufferTag$1:return!(C.byteLength!=E.byteLength||!V(new Uint8Array$1(C),new Uint8Array$1(E)));case boolTag$1:case dateTag$1:case numberTag$1:return eq(+C,+E);case errorTag$1:return C.name==E.name&&C.message==E.message;case regexpTag$1:case stringTag$1:return C==E+"";case mapTag$3:var Y=mapToArray;case setTag$3:var K=B&COMPARE_PARTIAL_FLAG$4;if(Y||(Y=setToArray),C.size!=E.size&&!K)return!1;var _e=X.get(C);if(_e)return _e==E;B|=COMPARE_UNORDERED_FLAG$2,X.set(C,E);var xe=equalArrays$1(Y(C),Y(E),B,U,V,X);return X.delete(C),xe;case symbolTag$1:if(symbolValueOf)return symbolValueOf.call(C)==symbolValueOf.call(E)}return!1}var _equalByTag=equalByTag$1;function arrayPush$1(C,E){for(var I=-1,B=E.length,U=C.length;++I<B;)C[U+I]=E[I];return C}var _arrayPush=arrayPush$1,isArray$e=Array.isArray,isArray_1=isArray$e,arrayPush=_arrayPush,isArray$d=isArray_1;function baseGetAllKeys$1(C,E,I){var B=E(C);return isArray$d(C)?B:arrayPush(B,I(C))}var _baseGetAllKeys=baseGetAllKeys$1;function arrayFilter$1(C,E){for(var I=-1,B=C==null?0:C.length,U=0,V=[];++I<B;){var X=C[I];E(X,I,C)&&(V[U++]=X)}return V}var _arrayFilter=arrayFilter$1;function stubArray$1(){return[]}var stubArray_1=stubArray$1,arrayFilter=_arrayFilter,stubArray=stubArray_1,objectProto$7=Object.prototype,propertyIsEnumerable$1=objectProto$7.propertyIsEnumerable,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbols$1=nativeGetSymbols?function(C){return C==null?[]:(C=Object(C),arrayFilter(nativeGetSymbols(C),function(E){return propertyIsEnumerable$1.call(C,E)}))}:stubArray,_getSymbols=getSymbols$1;function baseTimes$1(C,E){for(var I=-1,B=Array(C);++I<C;)B[I]=E(I);return B}var _baseTimes=baseTimes$1;function isObjectLike$5(C){return C!=null&&typeof C=="object"}var isObjectLike_1=isObjectLike$5,baseGetTag$3=_baseGetTag,isObjectLike$4=isObjectLike_1,argsTag$2="[object Arguments]";function baseIsArguments$1(C){return isObjectLike$4(C)&&baseGetTag$3(C)==argsTag$2}var _baseIsArguments=baseIsArguments$1,baseIsArguments=_baseIsArguments,isObjectLike$3=isObjectLike_1,objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty,propertyIsEnumerable=objectProto$6.propertyIsEnumerable,isArguments$3=baseIsArguments(function(){return arguments}())?baseIsArguments:function(C){return isObjectLike$3(C)&&hasOwnProperty$5.call(C,"callee")&&!propertyIsEnumerable.call(C,"callee")},isArguments_1=isArguments$3,isBuffer$4={exports:{}};function stubFalse(){return!1}var stubFalse_1=stubFalse;isBuffer$4.exports,function(C,E){var I=_root,B=stubFalse_1,U=E&&!E.nodeType&&E,V=U&&!0&&C&&!C.nodeType&&C,X=V&&V.exports===U,Y=X?I.Buffer:void 0,K=Y?Y.isBuffer:void 0,_e=K||B;C.exports=_e}(isBuffer$4,isBuffer$4.exports);var isBufferExports=isBuffer$4.exports,MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex$2(C,E){var I=typeof C;return E=E??MAX_SAFE_INTEGER$1,!!E&&(I=="number"||I!="symbol"&&reIsUint.test(C))&&C>-1&&C%1==0&&C<E}var _isIndex=isIndex$2,MAX_SAFE_INTEGER=9007199254740991;function isLength$3(C){return typeof C=="number"&&C>-1&&C%1==0&&C<=MAX_SAFE_INTEGER}var isLength_1=isLength$3,baseGetTag$2=_baseGetTag,isLength$2=isLength_1,isObjectLike$2=isObjectLike_1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag$2="[object Map]",numberTag="[object Number]",objectTag$2="[object Object]",regexpTag="[object RegExp]",setTag$2="[object Set]",stringTag="[object String]",weakMapTag$1="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag$1]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag]=typedArrayTags[setTag$2]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag$1]=!1;function baseIsTypedArray$1(C){return isObjectLike$2(C)&&isLength$2(C.length)&&!!typedArrayTags[baseGetTag$2(C)]}var _baseIsTypedArray=baseIsTypedArray$1;function baseUnary$1(C){return function(E){return C(E)}}var _baseUnary=baseUnary$1,_nodeUtil={exports:{}};_nodeUtil.exports,function(C,E){var I=_freeGlobal,B=E&&!E.nodeType&&E,U=B&&!0&&C&&!C.nodeType&&C,V=U&&U.exports===B,X=V&&I.process,Y=function(){try{var K=U&&U.require&&U.require("util").types;return K||X&&X.binding&&X.binding("util")}catch{}}();C.exports=Y}(_nodeUtil,_nodeUtil.exports);var _nodeUtilExports=_nodeUtil.exports,baseIsTypedArray=_baseIsTypedArray,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray$3=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray_1=isTypedArray$3,baseTimes=_baseTimes,isArguments$2=isArguments_1,isArray$c=isArray_1,isBuffer$3=isBufferExports,isIndex$1=_isIndex,isTypedArray$2=isTypedArray_1,objectProto$5=Object.prototype,hasOwnProperty$4=objectProto$5.hasOwnProperty;function arrayLikeKeys$1(C,E){var I=isArray$c(C),B=!I&&isArguments$2(C),U=!I&&!B&&isBuffer$3(C),V=!I&&!B&&!U&&isTypedArray$2(C),X=I||B||U||V,Y=X?baseTimes(C.length,String):[],K=Y.length;for(var _e in C)(E||hasOwnProperty$4.call(C,_e))&&!(X&&(_e=="length"||U&&(_e=="offset"||_e=="parent")||V&&(_e=="buffer"||_e=="byteLength"||_e=="byteOffset")||isIndex$1(_e,K)))&&Y.push(_e);return Y}var _arrayLikeKeys=arrayLikeKeys$1,objectProto$4=Object.prototype;function isPrototype$2(C){var E=C&&C.constructor,I=typeof E=="function"&&E.prototype||objectProto$4;return C===I}var _isPrototype=isPrototype$2;function overArg$1(C,E){return function(I){return C(E(I))}}var _overArg=overArg$1,overArg=_overArg,nativeKeys$1=overArg(Object.keys,Object),_nativeKeys=nativeKeys$1,isPrototype$1=_isPrototype,nativeKeys=_nativeKeys,objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function baseKeys$2(C){if(!isPrototype$1(C))return nativeKeys(C);var E=[];for(var I in Object(C))hasOwnProperty$3.call(C,I)&&I!="constructor"&&E.push(I);return E}var _baseKeys=baseKeys$2,isFunction=isFunction_1,isLength$1=isLength_1;function isArrayLike$4(C){return C!=null&&isLength$1(C.length)&&!isFunction(C)}var isArrayLike_1=isArrayLike$4,arrayLikeKeys=_arrayLikeKeys,baseKeys$1=_baseKeys,isArrayLike$3=isArrayLike_1;function keys$3(C){return isArrayLike$3(C)?arrayLikeKeys(C):baseKeys$1(C)}var keys_1=keys$3,baseGetAllKeys=_baseGetAllKeys,getSymbols=_getSymbols,keys$2=keys_1;function getAllKeys$1(C){return baseGetAllKeys(C,keys$2,getSymbols)}var _getAllKeys=getAllKeys$1,getAllKeys=_getAllKeys,COMPARE_PARTIAL_FLAG$3=1,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function equalObjects$1(C,E,I,B,U,V){var X=I&COMPARE_PARTIAL_FLAG$3,Y=getAllKeys(C),K=Y.length,_e=getAllKeys(E),xe=_e.length;if(K!=xe&&!X)return!1;for(var Z=K;Z--;){var J=Y[Z];if(!(X?J in E:hasOwnProperty$2.call(E,J)))return!1}var Se=V.get(C),Te=V.get(E);if(Se&&Te)return Se==E&&Te==C;var Ae=!0;V.set(C,E),V.set(E,C);for(var Me=X;++Z<K;){J=Y[Z];var Ee=C[J],we=E[J];if(B)var Pe=X?B(we,Ee,J,E,C,V):B(Ee,we,J,C,E,V);if(!(Pe===void 0?Ee===we||U(Ee,we,I,B,V):Pe)){Ae=!1;break}Me||(Me=J=="constructor")}if(Ae&&!Me){var Ie=C.constructor,Fe=E.constructor;Ie!=Fe&&"constructor"in C&&"constructor"in E&&!(typeof Ie=="function"&&Ie instanceof Ie&&typeof Fe=="function"&&Fe instanceof Fe)&&(Ae=!1)}return V.delete(C),V.delete(E),Ae}var _equalObjects=equalObjects$1,getNative$3=_getNative,root$4=_root,DataView$2=getNative$3(root$4,"DataView"),_DataView=DataView$2,getNative$2=_getNative,root$3=_root,Promise$2=getNative$2(root$3,"Promise"),_Promise=Promise$2,getNative$1=_getNative,root$2=_root,Set$2=getNative$1(root$2,"Set"),_Set=Set$2,getNative=_getNative,root$1=_root,WeakMap$2=getNative(root$1,"WeakMap"),_WeakMap=WeakMap$2,DataView$1=_DataView,Map$1=_Map,Promise$1=_Promise,Set$1=_Set,WeakMap$1=_WeakMap,baseGetTag$1=_baseGetTag,toSource=_toSource,mapTag$1="[object Map]",objectTag$1="[object Object]",promiseTag="[object Promise]",setTag$1="[object Set]",weakMapTag="[object WeakMap]",dataViewTag="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag$2=baseGetTag$1;(DataView$1&&getTag$2(new DataView$1(new ArrayBuffer(1)))!=dataViewTag||Map$1&&getTag$2(new Map$1)!=mapTag$1||Promise$1&&getTag$2(Promise$1.resolve())!=promiseTag||Set$1&&getTag$2(new Set$1)!=setTag$1||WeakMap$1&&getTag$2(new WeakMap$1)!=weakMapTag)&&(getTag$2=function(C){var E=baseGetTag$1(C),I=E==objectTag$1?C.constructor:void 0,B=I?toSource(I):"";if(B)switch(B){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag$1;case promiseCtorString:return promiseTag;case setCtorString:return setTag$1;case weakMapCtorString:return weakMapTag}return E});var _getTag=getTag$2,Stack$1=_Stack,equalArrays=_equalArrays,equalByTag=_equalByTag,equalObjects=_equalObjects,getTag$1=_getTag,isArray$b=isArray_1,isBuffer$2=isBufferExports,isTypedArray$1=isTypedArray_1,COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseIsEqualDeep$1(C,E,I,B,U,V){var X=isArray$b(C),Y=isArray$b(E),K=X?arrayTag:getTag$1(C),_e=Y?arrayTag:getTag$1(E);K=K==argsTag?objectTag:K,_e=_e==argsTag?objectTag:_e;var xe=K==objectTag,Z=_e==objectTag,J=K==_e;if(J&&isBuffer$2(C)){if(!isBuffer$2(E))return!1;X=!0,xe=!1}if(J&&!xe)return V||(V=new Stack$1),X||isTypedArray$1(C)?equalArrays(C,E,I,B,U,V):equalByTag(C,E,K,I,B,U,V);if(!(I&COMPARE_PARTIAL_FLAG$2)){var Se=xe&&hasOwnProperty$1.call(C,"__wrapped__"),Te=Z&&hasOwnProperty$1.call(E,"__wrapped__");if(Se||Te){var Ae=Se?C.value():C,Me=Te?E.value():E;return V||(V=new Stack$1),U(Ae,Me,I,B,V)}}return J?(V||(V=new Stack$1),equalObjects(C,E,I,B,U,V)):!1}var _baseIsEqualDeep=baseIsEqualDeep$1,baseIsEqualDeep=_baseIsEqualDeep,isObjectLike$1=isObjectLike_1;function baseIsEqual$3(C,E,I,B,U){return C===E?!0:C==null||E==null||!isObjectLike$1(C)&&!isObjectLike$1(E)?C!==C&&E!==E:baseIsEqualDeep(C,E,I,B,baseIsEqual$3,U)}var _baseIsEqual=baseIsEqual$3,baseIsEqual$2=_baseIsEqual;function isEqual(C,E){return baseIsEqual$2(C,E)}var isEqual_1=isEqual;const isEqual$1=getDefaultExportFromCjs(isEqual_1),useDeepEffect=(C,E)=>{const I=React.useRef(!0),B=React.useRef(E);React.useEffect(()=>{const U=B.current.every((V,X)=>isEqual$1(V,E[X]));(I.current||!U)&&C(),I.current=!1,B.current=E},E)};function useDebounce(C,E=700){const[I,B]=React.useState(C);return useDeepEffect(()=>{const U=setTimeout(()=>{B(C)},E);return()=>{clearTimeout(U)}},[C,E]),I}var baseKeys=_baseKeys,getTag=_getTag,isArguments$1=isArguments_1,isArray$a=isArray_1,isArrayLike$2=isArrayLike_1,isBuffer$1=isBufferExports,isPrototype=_isPrototype,isTypedArray=isTypedArray_1,mapTag="[object Map]",setTag="[object Set]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function isEmpty(C){if(C==null)return!0;if(isArrayLike$2(C)&&(isArray$a(C)||typeof C=="string"||typeof C.splice=="function"||isBuffer$1(C)||isTypedArray(C)||isArguments$1(C)))return!C.length;var E=getTag(C);if(E==mapTag||E==setTag)return!C.size;if(isPrototype(C))return!baseKeys(C).length;for(var I in C)if(hasOwnProperty.call(C,I))return!1;return!0}var isEmpty_1=isEmpty;const isEmpty$1=getDefaultExportFromCjs(isEmpty_1);var OverlayTypes=(C=>(C.NONE="none",C.NORMAL="normal",C.LENSFLARE="lensflare",C.FILMSTRIP="filmstrip",C.GRUNGE="grunge",C.BRICKS="bricks",C))(OverlayTypes||{}),Waveforms=(C=>(C.NONE="none",C.EQUALIZER="equalizer",C.SINE="sine",C))(Waveforms||{});const overlays={normal:{src:"https://eyecastvideoeditorfiles.s3.ap-southeast-2.amazonaws.com/assets/overlays/eyecast_lensflare_overlay_50.jpg",blendmode:"ADD",alpha:0},lensflare:{src:"https://eyecastvideoeditorfiles.s3.ap-southeast-2.amazonaws.com/assets/overlays/eyecast_lensflare_overlay_50.jpg",blendmode:"ADD",alpha:1},filmstrip:{src:"https://eyecastvideoeditorfiles.s3.ap-southeast-2.amazonaws.com/assets/overlays/frames_filmstrip_5.png",blendmode:"ADD",alpha:1},grunge:{src:"https://eyecastvideoeditorfiles.s3.ap-southeast-2.amazonaws.com/assets/overlays/pixi_overlay_grunge_60.jpg",blendmode:"ADD",alpha:1},bricks:{src:"https://eyecastvideoeditorfiles.s3.ap-southeast-2.amazonaws.com/assets/overlays/bricks_Overlay_100.jpg",blendmode:"MULTIPLY",alpha:1}},PixiOverlayTilingSprite=C=>{const{overlay:E,width:I,height:B,x:U,y:V}=C,{src:X,blendmode:Y}=overlays[E]||overlays.normal;return jsxRuntimeExports.jsx(react.TilingSprite,{image:X,width:I,height:B,x:U,y:V,tilePosition:{x:0,y:0},tileScale:.5,alpha:.5,anchor:.5})};/*!
10
- * paths 3.11.5
11
- * https://greensock.com
12
- *
13
- * Copyright 2008-2023, GreenSock. All rights reserved.
14
- * Subject to the terms at https://greensock.com/standard-license or for
15
- * Club GreenSock members, the agreement issued with that membership.
16
- * @author: Jack Doyle, jack@greensock.com
17
- */var _svgPathExp=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/ig,_scientific=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/ig,_DEG2RAD$1=Math.PI/180,_sin=Math.sin,_cos=Math.cos,_abs=Math.abs,_sqrt=Math.sqrt,_isNumber=function(E){return typeof E=="number"},_roundingNum=1e5,_round$1=function(E){return Math.round(E*_roundingNum)/_roundingNum||0};function transformRawPath(C,E,I,B,U,V,X){for(var Y=C.length,K,_e,xe,Z,J;--Y>-1;)for(K=C[Y],_e=K.length,xe=0;xe<_e;xe+=2)Z=K[xe],J=K[xe+1],K[xe]=Z*E+J*B+V,K[xe+1]=Z*I+J*U+X;return C._dirty=1,C}function arcToSegment(C,E,I,B,U,V,X,Y,K){if(!(C===Y&&E===K)){I=_abs(I),B=_abs(B);var _e=U%360*_DEG2RAD$1,xe=_cos(_e),Z=_sin(_e),J=Math.PI,Se=J*2,Te=(C-Y)/2,Ae=(E-K)/2,Me=xe*Te+Z*Ae,Ee=-Z*Te+xe*Ae,we=Me*Me,Pe=Ee*Ee,Ie=we/(I*I)+Pe/(B*B);Ie>1&&(I=_sqrt(Ie)*I,B=_sqrt(Ie)*B);var Fe=I*I,Oe=B*B,$e=(Fe*Oe-Fe*Pe-Oe*we)/(Fe*Pe+Oe*we);$e<0&&($e=0);var Le=(V===X?-1:1)*_sqrt($e),Ue=Le*(I*Ee/B),He=Le*-(B*Me/I),We=(C+Y)/2,je=(E+K)/2,Ve=We+(xe*Ue-Z*He),ze=je+(Z*Ue+xe*He),Xe=(Me-Ue)/I,De=(Ee-He)/B,Be=(-Me-Ue)/I,Re=(-Ee-He)/B,ke=Xe*Xe+De*De,Ge=(De<0?-1:1)*Math.acos(Xe/_sqrt(ke)),Ne=(Xe*Re-De*Be<0?-1:1)*Math.acos((Xe*Be+De*Re)/_sqrt(ke*(Be*Be+Re*Re)));isNaN(Ne)&&(Ne=J),!X&&Ne>0?Ne-=Se:X&&Ne<0&&(Ne+=Se),Ge%=Se,Ne%=Se;var qe=Math.ceil(_abs(Ne)/(Se/4)),Ye=[],Ke=Ne/qe,rt=4/3*_sin(Ke/2)/(1+_cos(Ke/2)),it=xe*I,Qe=Z*I,st=Z*-B,at=xe*B,Ze;for(Ze=0;Ze<qe;Ze++)U=Ge+Ze*Ke,Me=_cos(U),Ee=_sin(U),Xe=_cos(U+=Ke),De=_sin(U),Ye.push(Me-rt*Ee,Ee+rt*Me,Xe+rt*De,De-rt*Xe,Xe,De);for(Ze=0;Ze<Ye.length;Ze+=2)Me=Ye[Ze],Ee=Ye[Ze+1],Ye[Ze]=Me*it+Ee*st+Ve,Ye[Ze+1]=Me*Qe+Ee*at+ze;return Ye[Ze-2]=Y,Ye[Ze-1]=K,Ye}}function stringToRawPath(C){var E=(C+"").replace(_scientific,function(Ue){var He=+Ue;return He<1e-4&&He>-1e-4?0:He}).match(_svgPathExp)||[],I=[],B=0,U=0,V=2/3,X=E.length,Y=0,K="ERROR: malformed path: "+C,_e,xe,Z,J,Se,Te,Ae,Me,Ee,we,Pe,Ie,Fe,Oe,$e,Le=function(He,We,je,Ve){we=(je-He)/3,Pe=(Ve-We)/3,Ae.push(He+we,We+Pe,je-we,Ve-Pe,je,Ve)};if(!C||!isNaN(E[0])||isNaN(E[1]))return console.log(K),I;for(_e=0;_e<X;_e++)if(Fe=Se,isNaN(E[_e])?(Se=E[_e].toUpperCase(),Te=Se!==E[_e]):_e--,Z=+E[_e+1],J=+E[_e+2],Te&&(Z+=B,J+=U),_e||(Me=Z,Ee=J),Se==="M")Ae&&(Ae.length<8?I.length-=1:Y+=Ae.length),B=Me=Z,U=Ee=J,Ae=[Z,J],I.push(Ae),_e+=2,Se="L";else if(Se==="C")Ae||(Ae=[0,0]),Te||(B=U=0),Ae.push(Z,J,B+E[_e+3]*1,U+E[_e+4]*1,B+=E[_e+5]*1,U+=E[_e+6]*1),_e+=6;else if(Se==="S")we=B,Pe=U,(Fe==="C"||Fe==="S")&&(we+=B-Ae[Ae.length-4],Pe+=U-Ae[Ae.length-3]),Te||(B=U=0),Ae.push(we,Pe,Z,J,B+=E[_e+3]*1,U+=E[_e+4]*1),_e+=4;else if(Se==="Q")we=B+(Z-B)*V,Pe=U+(J-U)*V,Te||(B=U=0),B+=E[_e+3]*1,U+=E[_e+4]*1,Ae.push(we,Pe,B+(Z-B)*V,U+(J-U)*V,B,U),_e+=4;else if(Se==="T")we=B-Ae[Ae.length-4],Pe=U-Ae[Ae.length-3],Ae.push(B+we,U+Pe,Z+(B+we*1.5-Z)*V,J+(U+Pe*1.5-J)*V,B=Z,U=J),_e+=2;else if(Se==="H")Le(B,U,B=Z,U),_e+=1;else if(Se==="V")Le(B,U,B,U=Z+(Te?U-B:0)),_e+=1;else if(Se==="L"||Se==="Z")Se==="Z"&&(Z=Me,J=Ee,Ae.closed=!0),(Se==="L"||_abs(B-Z)>.5||_abs(U-J)>.5)&&(Le(B,U,Z,J),Se==="L"&&(_e+=2)),B=Z,U=J;else if(Se==="A"){if(Oe=E[_e+4],$e=E[_e+5],we=E[_e+6],Pe=E[_e+7],xe=7,Oe.length>1&&(Oe.length<3?(Pe=we,we=$e,xe--):(Pe=$e,we=Oe.substr(2),xe-=2),$e=Oe.charAt(1),Oe=Oe.charAt(0)),Ie=arcToSegment(B,U,+E[_e+1],+E[_e+2],+E[_e+3],+Oe,+$e,(Te?B:0)+we*1,(Te?U:0)+Pe*1),_e+=xe,Ie)for(xe=0;xe<Ie.length;xe++)Ae.push(Ie[xe]);B=Ae[Ae.length-2],U=Ae[Ae.length-1]}else console.log(K);return _e=Ae.length,_e<6?(I.pop(),_e=0):Ae[0]===Ae[_e-2]&&Ae[1]===Ae[_e-1]&&(Ae.closed=!0),I.totalPoints=Y+_e,I}function rawPathToString(C){_isNumber(C[0])&&(C=[C]);var E="",I=C.length,B,U,V,X;for(U=0;U<I;U++){for(X=C[U],E+="M"+_round$1(X[0])+","+_round$1(X[1])+" C",B=X.length,V=2;V<B;V++)E+=_round$1(X[V++])+","+_round$1(X[V++])+" "+_round$1(X[V++])+","+_round$1(X[V++])+" "+_round$1(X[V++])+","+_round$1(X[V])+" ";X.closed&&(E+="z")}return E}/*!
18
- * CustomEase 3.11.5
19
- * https://greensock.com
20
- *
21
- * @license Copyright 2008-2023, GreenSock. All rights reserved.
22
- * Subject to the terms at https://greensock.com/standard-license or for
23
- * Club GreenSock members, the agreement issued with that membership.
24
- * @author: Jack Doyle, jack@greensock.com
25
- */var gsap$1,_coreInitted,_getGSAP$1=function(){return gsap$1||typeof window<"u"&&(gsap$1=window.gsap)&&gsap$1.registerPlugin&&gsap$1},_initCore$1=function(){gsap$1=_getGSAP$1(),gsap$1?(gsap$1.registerEase("_CE",CustomEase.create),_coreInitted=1):console.warn("Please gsap.registerPlugin(CustomEase)")},_bigNum=1e20,_round=function(E){return~~(E*1e3+(E<0?-.5:.5))/1e3},_numExp=/[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi,_needsParsingExp=/[cLlsSaAhHvVtTqQ]/g,_findMinimum=function(E){var I=E.length,B=_bigNum,U;for(U=1;U<I;U+=6)+E[U]<B&&(B=+E[U]);return B},_normalize=function(E,I,B){!B&&B!==0&&(B=Math.max(+E[E.length-1],+E[1]));var U=+E[0]*-1,V=-B,X=E.length,Y=1/(+E[X-2]+U),K=-I||(Math.abs(+E[X-1]-+E[1])<.01*(+E[X-2]-+E[0])?_findMinimum(E)+V:+E[X-1]+V),_e;for(K?K=1/K:K=-Y,_e=0;_e<X;_e+=2)E[_e]=(+E[_e]+U)*Y,E[_e+1]=(+E[_e+1]+V)*K},_bezierToPoints=function C(E,I,B,U,V,X,Y,K,_e,xe,Z){var J=(E+B)/2,Se=(I+U)/2,Te=(B+V)/2,Ae=(U+X)/2,Me=(V+Y)/2,Ee=(X+K)/2,we=(J+Te)/2,Pe=(Se+Ae)/2,Ie=(Te+Me)/2,Fe=(Ae+Ee)/2,Oe=(we+Ie)/2,$e=(Pe+Fe)/2,Le=Y-E,Ue=K-I,He=Math.abs((B-Y)*Ue-(U-K)*Le),We=Math.abs((V-Y)*Ue-(X-K)*Le),je;return xe||(xe=[{x:E,y:I},{x:Y,y:K}],Z=1),xe.splice(Z||xe.length-1,0,{x:Oe,y:$e}),(He+We)*(He+We)>_e*(Le*Le+Ue*Ue)&&(je=xe.length,C(E,I,J,Se,we,Pe,Oe,$e,_e,xe,Z),C(Oe,$e,Ie,Fe,Me,Ee,Y,K,_e,xe,Z+1+(xe.length-je))),xe},CustomEase=function(){function C(I,B,U){_coreInitted||_initCore$1(),this.id=I,this.setData(B,U)}var E=C.prototype;return E.setData=function(B,U){U=U||{},B=B||"0,0,1,1";var V=B.match(_numExp),X=1,Y=[],K=[],_e=U.precision||1,xe=_e<=1,Z,J,Se,Te,Ae,Me,Ee,we,Pe;if(this.data=B,(_needsParsingExp.test(B)||~B.indexOf("M")&&B.indexOf("C")<0)&&(V=stringToRawPath(B)[0]),Z=V.length,Z===4)V.unshift(0,0),V.push(1,1),Z=8;else if((Z-2)%6)throw"Invalid CustomEase";for((+V[0]!=0||+V[Z-2]!=1)&&_normalize(V,U.height,U.originY),this.segment=V,Te=2;Te<Z;Te+=6)J={x:+V[Te-2],y:+V[Te-1]},Se={x:+V[Te+4],y:+V[Te+5]},Y.push(J,Se),_bezierToPoints(J.x,J.y,+V[Te],+V[Te+1],+V[Te+2],+V[Te+3],Se.x,Se.y,1/(_e*2e5),Y,Y.length-1);for(Z=Y.length,Te=0;Te<Z;Te++)Ee=Y[Te],we=Y[Te-1]||Ee,(Ee.x>we.x||we.y!==Ee.y&&we.x===Ee.x||Ee===we)&&Ee.x<=1?(we.cx=Ee.x-we.x,we.cy=Ee.y-we.y,we.n=Ee,we.nx=Ee.x,xe&&Te>1&&Math.abs(we.cy/we.cx-Y[Te-2].cy/Y[Te-2].cx)>2&&(xe=0),we.cx<X&&(we.cx?X=we.cx:(we.cx=.001,Te===Z-1&&(we.x-=.001,X=Math.min(X,.001),xe=0)))):(Y.splice(Te--,1),Z--);if(Z=1/X+1|0,Ae=1/Z,Me=0,Ee=Y[0],xe){for(Te=0;Te<Z;Te++)Pe=Te*Ae,Ee.nx<Pe&&(Ee=Y[++Me]),J=Ee.y+(Pe-Ee.x)/Ee.cx*Ee.cy,K[Te]={x:Pe,cx:Ae,y:J,cy:0,nx:9},Te&&(K[Te-1].cy=J-K[Te-1].y);K[Z-1].cy=Y[Y.length-1].y-J}else{for(Te=0;Te<Z;Te++)Ee.nx<Te*Ae&&(Ee=Y[++Me]),K[Te]=Ee;Me<Y.length-1&&(K[Te-1]=Y[Y.length-2])}return this.ease=function(Ie){var Fe=K[Ie*Z|0]||K[Z-1];return Fe.nx<Ie&&(Fe=Fe.n),Fe.y+(Ie-Fe.x)/Fe.cx*Fe.cy},this.ease.custom=this,this.id&&gsap$1&&gsap$1.registerEase(this.id,this.ease),this},E.getSVGData=function(B){return C.getSVGData(this,B)},C.create=function(B,U,V){return new C(B,U,V).ease},C.register=function(B){gsap$1=B,_initCore$1()},C.get=function(B){return gsap$1.parseEase(B)},C.getSVGData=function(B,U){U=U||{};var V=U.width||100,X=U.height||100,Y=U.x||0,K=(U.y||0)+X,_e=gsap$1.utils.toArray(U.path)[0],xe,Z,J,Se,Te,Ae,Me,Ee,we,Pe;if(U.invert&&(X=-X,K=0),typeof B=="string"&&(B=gsap$1.parseEase(B)),B.custom&&(B=B.custom),B instanceof C)xe=rawPathToString(transformRawPath([B.segment],V,0,0,-X,Y,K));else{for(xe=[Y,K],Me=Math.max(5,(U.precision||1)*200),Se=1/Me,Me+=2,Ee=5/Me,we=_round(Y+Se*V),Pe=_round(K+B(Se)*-X),Z=(Pe-K)/(we-Y),J=2;J<Me;J++)Te=_round(Y+J*Se*V),Ae=_round(K+B(J*Se)*-X),(Math.abs((Ae-Pe)/(Te-we)-Z)>Ee||J===Me-1)&&(xe.push(we,Pe),Z=(Ae-Pe)/(Te-we)),we=Te,Pe=Ae;xe="M"+xe.join(",")}return _e&&_e.setAttribute("d",xe),xe},C}();_getGSAP$1()&&gsap$1.registerPlugin(CustomEase),CustomEase.version="3.11.5";/*!
26
- * PixiPlugin 3.11.5
27
- * https://greensock.com
28
- *
29
- * @license Copyright 2008-2023, GreenSock. All rights reserved.
30
- * Subject to the terms at https://greensock.com/standard-license or for
31
- * Club GreenSock members, the agreement issued with that membership.
32
- * @author: Jack Doyle, jack@greensock.com
33
- */var gsap,_win,_splitColor,_PIXI,PropTween,_getSetter,_isV4,_windowExists=function(){return typeof window<"u"},_getGSAP=function(){return gsap||_windowExists()&&(gsap=window.gsap)&&gsap.registerPlugin&&gsap},_isFunction=function(E){return typeof E=="function"},_warn=function(E){return console.warn(E)},_idMatrix=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],_lumR=.212671,_lumG=.71516,_lumB=.072169,_applyMatrix=function(E,I){var B=[],U=0,V=0,X,Y;for(X=0;X<4;X++){for(Y=0;Y<5;Y++)V=Y===4?E[U+4]:0,B[U+Y]=E[U]*I[Y]+E[U+1]*I[Y+5]+E[U+2]*I[Y+10]+E[U+3]*I[Y+15]+V;U+=5}return B},_setSaturation=function(E,I){var B=1-I,U=B*_lumR,V=B*_lumG,X=B*_lumB;return _applyMatrix([U+I,V,X,0,0,U,V+I,X,0,0,U,V,X+I,0,0,0,0,0,1,0],E)},_colorize=function(E,I,B){var U=_splitColor(I),V=U[0]/255,X=U[1]/255,Y=U[2]/255,K=1-B;return _applyMatrix([K+B*V*_lumR,B*V*_lumG,B*V*_lumB,0,0,B*X*_lumR,K+B*X*_lumG,B*X*_lumB,0,0,B*Y*_lumR,B*Y*_lumG,K+B*Y*_lumB,0,0,0,0,0,1,0],E)},_setHue=function(E,I){I*=Math.PI/180;var B=Math.cos(I),U=Math.sin(I);return _applyMatrix([_lumR+B*(1-_lumR)+U*-_lumR,_lumG+B*-_lumG+U*-_lumG,_lumB+B*-_lumB+U*(1-_lumB),0,0,_lumR+B*-_lumR+U*.143,_lumG+B*(1-_lumG)+U*.14,_lumB+B*-_lumB+U*-.283,0,0,_lumR+B*-_lumR+U*-(1-_lumR),_lumG+B*-_lumG+U*_lumG,_lumB+B*(1-_lumB)+U*_lumB,0,0,0,0,0,1,0,0,0,0,0,1],E)},_setContrast=function(E,I){return _applyMatrix([I,0,0,0,.5*(1-I),0,I,0,0,.5*(1-I),0,0,I,0,.5*(1-I),0,0,0,1,0],E)},_getFilter=function(E,I){var B=_PIXI.filters[I],U=E.filters||[],V=U.length,X;for(B||_warn(I+" not found. PixiPlugin.registerPIXI(PIXI)");--V>-1;)if(U[V]instanceof B)return U[V];return X=new B,I==="BlurFilter"&&(X.blur=0),U.push(X),E.filters=U,X},_addColorMatrixFilterCacheTween=function(E,I,B,U){I.add(B,E,B[E],U[E]),I._props.push(E)},_applyBrightnessToMatrix=function(E,I){var B=new _PIXI.filters.ColorMatrixFilter;return B.matrix=I,B.brightness(E,!0),B.matrix},_copy=function(E){var I={},B;for(B in E)I[B]=E[B];return I},_CMFdefaults={contrast:1,saturation:1,colorizeAmount:0,colorize:"rgb(255,255,255)",hue:0,brightness:1},_parseColorMatrixFilter=function(E,I,B){var U=_getFilter(E,"ColorMatrixFilter"),V=E._gsColorMatrixFilter=E._gsColorMatrixFilter||_copy(_CMFdefaults),X=I.combineCMF&&!("colorMatrixFilter"in I&&!I.colorMatrixFilter),Y,K,_e;for(_e=U.matrix,I.resolution&&(U.resolution=I.resolution),I.matrix&&I.matrix.length===_e.length?(K=I.matrix,V.contrast!==1&&_addColorMatrixFilterCacheTween("contrast",B,V,_CMFdefaults),V.hue&&_addColorMatrixFilterCacheTween("hue",B,V,_CMFdefaults),V.brightness!==1&&_addColorMatrixFilterCacheTween("brightness",B,V,_CMFdefaults),V.colorizeAmount&&(_addColorMatrixFilterCacheTween("colorize",B,V,_CMFdefaults),_addColorMatrixFilterCacheTween("colorizeAmount",B,V,_CMFdefaults)),V.saturation!==1&&_addColorMatrixFilterCacheTween("saturation",B,V,_CMFdefaults)):(K=_idMatrix.slice(),I.contrast!=null?(K=_setContrast(K,+I.contrast),_addColorMatrixFilterCacheTween("contrast",B,V,I)):V.contrast!==1&&(X?K=_setContrast(K,V.contrast):_addColorMatrixFilterCacheTween("contrast",B,V,_CMFdefaults)),I.hue!=null?(K=_setHue(K,+I.hue),_addColorMatrixFilterCacheTween("hue",B,V,I)):V.hue&&(X?K=_setHue(K,V.hue):_addColorMatrixFilterCacheTween("hue",B,V,_CMFdefaults)),I.brightness!=null?(K=_applyBrightnessToMatrix(+I.brightness,K),_addColorMatrixFilterCacheTween("brightness",B,V,I)):V.brightness!==1&&(X?K=_applyBrightnessToMatrix(V.brightness,K):_addColorMatrixFilterCacheTween("brightness",B,V,_CMFdefaults)),I.colorize!=null?(I.colorizeAmount="colorizeAmount"in I?+I.colorizeAmount:1,K=_colorize(K,I.colorize,I.colorizeAmount),_addColorMatrixFilterCacheTween("colorize",B,V,I),_addColorMatrixFilterCacheTween("colorizeAmount",B,V,I)):V.colorizeAmount&&(X?K=_colorize(K,V.colorize,V.colorizeAmount):(_addColorMatrixFilterCacheTween("colorize",B,V,_CMFdefaults),_addColorMatrixFilterCacheTween("colorizeAmount",B,V,_CMFdefaults))),I.saturation!=null?(K=_setSaturation(K,+I.saturation),_addColorMatrixFilterCacheTween("saturation",B,V,I)):V.saturation!==1&&(X?K=_setSaturation(K,V.saturation):_addColorMatrixFilterCacheTween("saturation",B,V,_CMFdefaults))),Y=K.length;--Y>-1;)K[Y]!==_e[Y]&&B.add(_e,Y,_e[Y],K[Y],"colorMatrixFilter");B._props.push("colorMatrixFilter")},_renderColor=function(E,I){var B=I.t,U=I.p,V=I.color,X=I.set;X(B,U,V[0]<<16|V[1]<<8|V[2])},_renderDirtyCache=function(E,I){var B=I.g;B&&(B.dirty++,B.clearDirty++)},_renderAutoAlpha=function(E,I){I.t.visible=!!I.t.alpha},_addColorTween=function(E,I,B,U){var V=E[I],X=_splitColor(_isFunction(V)?E[I.indexOf("set")||!_isFunction(E["get"+I.substr(3)])?I:"get"+I.substr(3)]():V),Y=_splitColor(B);U._pt=new PropTween(U._pt,E,I,0,0,_renderColor,{t:E,p:I,color:X,set:_getSetter(E,I)}),U.add(X,0,X[0],Y[0]),U.add(X,1,X[1],Y[1]),U.add(X,2,X[2],Y[2])},_colorProps={tint:1,lineColor:1,fillColor:1},_xyContexts="position,scale,skew,pivot,anchor,tilePosition,tileScale".split(","),_contexts={x:"position",y:"position",tileX:"tilePosition",tileY:"tilePosition"},_colorMatrixFilterProps={colorMatrixFilter:1,saturation:1,contrast:1,hue:1,colorize:1,colorizeAmount:1,brightness:1,combineCMF:1},_DEG2RAD=Math.PI/180,_isString=function(E){return typeof E=="string"},_degreesToRadians=function(E){return _isString(E)&&E.charAt(1)==="="?E.substr(0,2)+parseFloat(E.substr(2))*_DEG2RAD:E*_DEG2RAD},_renderPropWithEnd=function(E,I){return I.set(I.t,I.p,E===1?I.e:Math.round((I.s+I.c*E)*1e5)/1e5,I)},_addRotationalPropTween=function(E,I,B,U,V,X){var Y=360*(X?_DEG2RAD:1),K=_isString(V),_e=K&&V.charAt(1)==="="?+(V.charAt(0)+"1"):0,xe=parseFloat(_e?V.substr(2):V)*(X?_DEG2RAD:1),Z=_e?xe*_e:xe-U,J=U+Z,Se,Te;return K&&(Se=V.split("_")[1],Se==="short"&&(Z%=Y,Z!==Z%(Y/2)&&(Z+=Z<0?Y:-Y)),Se==="cw"&&Z<0?Z=(Z+Y*1e10)%Y-~~(Z/Y)*Y:Se==="ccw"&&Z>0&&(Z=(Z-Y*1e10)%Y-~~(Z/Y)*Y)),E._pt=Te=new PropTween(E._pt,I,B,U,Z,_renderPropWithEnd),Te.e=J,Te},_initCore=function(){_windowExists()&&(_win=window,gsap=_getGSAP(),_PIXI=_PIXI||_win.PIXI,_isV4=_PIXI&&_PIXI.VERSION&&_PIXI.VERSION.charAt(0)==="4",_splitColor=function(I){return gsap.utils.splitColor((I+"").substr(0,2)==="0x"?"#"+I.substr(2):I)})},i$7,p$3;for(i$7=0;i$7<_xyContexts.length;i$7++)p$3=_xyContexts[i$7],_contexts[p$3+"X"]=p$3,_contexts[p$3+"Y"]=p$3;var PixiPlugin={version:"3.11.5",name:"pixi",register:function(E,I,B){gsap=E,PropTween=B,_getSetter=I.getSetter,_initCore()},registerPIXI:function(E){_PIXI=E},init:function(E,I,B,U,V){if(_PIXI||_initCore(),!_PIXI||!(E instanceof _PIXI.DisplayObject))return console.warn(E,"is not a DisplayObject or PIXI was not found. PixiPlugin.registerPIXI(PIXI);"),!1;var X,Y,K,_e,xe,Z,J,Se,Te;for(Z in I){if(X=_contexts[Z],K=I[Z],X)Y=~Z.charAt(Z.length-1).toLowerCase().indexOf("x")?"x":"y",this.add(E[X],Y,E[X][Y],X==="skew"?_degreesToRadians(K):K,0,0,0,0,0,1);else if(Z==="scale"||Z==="anchor"||Z==="pivot"||Z==="tileScale")this.add(E[Z],"x",E[Z].x,K),this.add(E[Z],"y",E[Z].y,K);else if(Z==="rotation"||Z==="angle")_addRotationalPropTween(this,E,Z,E[Z],K,Z==="rotation");else if(_colorMatrixFilterProps[Z])_e||(_parseColorMatrixFilter(E,I.colorMatrixFilter||I,this),_e=!0);else if(Z==="blur"||Z==="blurX"||Z==="blurY"||Z==="blurPadding"){if(xe=_getFilter(E,"BlurFilter"),this.add(xe,Z,xe[Z],K),I.blurPadding!==0)for(J=I.blurPadding||Math.max(xe[Z],K)*2,Se=E.filters.length;--Se>-1;)E.filters[Se].padding=Math.max(E.filters[Se].padding,J)}else if(_colorProps[Z])if((Z==="lineColor"||Z==="fillColor")&&E instanceof _PIXI.Graphics)for(Te=(E.geometry||E).graphicsData,this._pt=new PropTween(this._pt,E,Z,0,0,_renderDirtyCache,{g:E.geometry||E}),Se=Te.length;--Se>-1;)_addColorTween(_isV4?Te[Se]:Te[Se][Z.substr(0,4)+"Style"],_isV4?Z:"color",K,this);else _addColorTween(E,Z,K,this);else Z==="autoAlpha"?(this._pt=new PropTween(this._pt,E,"visible",0,0,_renderAutoAlpha),this.add(E,"alpha",E.alpha,K),this._props.push("alpha","visible")):Z!=="resolution"&&this.add(E,Z,"get",K);this._props.push(Z)}}};_getGSAP()&&gsap.registerPlugin(PixiPlugin),gsap$2.registerPlugin(PixiPlugin),PixiPlugin.registerPIXI(PIXI__namespace),gsap$2.registerPlugin(CustomEase),CustomEase.create("springBounce","0.32, 1.06, 0.61, 0.93"),gsap$2.registerEffect({name:"PULSE",effect(C,E){return gsap$2.timeline().fromTo(C,{pixi:{scaleX:.9,scaleY:.9}},{pixi:{scaleX:1.2,scaleY:1.2},duration:.5,ease:"slow"}).to(C,{pixi:{scaleX:1,scaleY:1,...E},duration:.5})}}),gsap$2.registerEffect({name:"SHAKE",effect(C,E){return gsap$2.timeline().to(C,{duration:.1,pixi:{x:"+=5"}}).to(C,{duration:.1,pixi:{x:"-=10"}}).to(C,{duration:.1,pixi:{x:"+=10"}}).to(C,{duration:.1,pixi:{x:"-=10"}}).to(C,{duration:.1,pixi:{x:"+=5"}}).to(C,{pixi:{...E},duration:.5})}}),gsap$2.registerEffect({name:"SWING",effect(C,E){return gsap$2.timeline().to(C,{duration:.5,pixi:{rotation:1}}).to(C,{duration:.5,pixi:{rotation:-1.5}}).to(C,{pixi:{rotation:0,...E},duration:.5})}}),gsap$2.registerEffect({name:"JELLO",effect(C,E){return gsap$2.timeline().to(C,{duration:.3,pixi:{scaleX:.5,rotation:-1}}).to(C,{duration:.4,pixi:{scaleX:1.5,rotation:1}}).to(C,{duration:.3,pixi:{scaleX:1,rotation:0}}).to(C,{pixi:{rotation:0,...E},duration:.5})}}),gsap$2.registerEffect({name:"WOOBLE",effect(C,E){return gsap$2.timeline().to(C,{duration:.3,pixi:{scaleX:.5,x:E.x*-.5}}).to(C,{duration:.3,pixi:{scaleX:1.5,x:E.x*1.5}}).to(C,{duration:.3,pixi:{scaleX:.5,x:E.x*-.01}}).to(C,{duration:.3,pixi:{scaleX:1,x:E.x}}).to(C,{rotation:0,pixi:{...E,rotation:0},duration:.5})}}),gsap$2.registerEffect({name:"NONE",effect(C,E){return gsap$2.timeline().to(C,{duration:0})}}),gsap$2.registerEffect({name:"FLASH",effect(C,E){return gsap$2.timeline().to(C,{duration:.2,alpha:0}).to(C,{duration:.2,alpha:1}).to(C,{duration:.2,alpha:0}).to(C,{duration:.2,alpha:1}).to(C,{duration:.2,alpha:0}).to(C,{duration:.2,alpha:1,...E})}}),gsap$2.registerEffect({name:"BOUNCE_IN",effect(C,E){return gsap$2.timeline().fromTo(C,{pixi:{scaleX:1.5,scaleY:1.5}},{...E,pixi:{x:E==null?void 0:E.x,y:E==null?void 0:E.y,scaleX:1,scaleY:1},duration:2,ease:"bounce.out"})}}),gsap$2.registerEffect({name:"BOUNCE_IN_DOWN",effect(C,E){return gsap$2.timeline().from(C,{duration:2,ease:"bounce.out",immediateRender:!0,pixi:{...E,x:E==null?void 0:E.x,y:-2500,alpha:0}})}}),gsap$2.registerEffect({name:"BOUNCE_IN_LEFT",effect(C,E){return gsap$2.timeline().from(C,{ease:"bounce.out",duration:2,pixi:{...E,x:-1500,alpha:0}})}}),gsap$2.registerEffect({name:"BOUNCE_IN_RIGHT",effect(C,E){const I=Math.max(1e3,(E==null?void 0:E.maxX)+500);return gsap$2.timeline().from(C,{ease:"bounce.out",duration:2,pixi:{...E,x:I}})}}),gsap$2.registerEffect({name:"BOUNCE_IN_UP",effect(C,E){return gsap$2.timeline().from(C,{ease:"bounce.out",pixi:{...E,y:2e3},duration:2})}}),gsap$2.registerEffect({name:"BOUNCE_OUT",effect(C,E){return gsap$2.timeline().from(C,{...E,ease:"bounce.in",pixi:{y:2e3},duration:1.5})}}),gsap$2.registerEffect({name:"FADE_IN",effect(C){return gsap$2.timeline().fromTo(C,{alpha:0},{ease:"power4.in",alpha:1,duration:1})}}),gsap$2.registerEffect({name:"FADE_IN_DOWN",effect(C,E){return gsap$2.timeline().fromTo(C,{pixi:{y:-1500,alpha:0}},{duration:1,ease:"power4.in",pixi:{y:0,alpha:1,...E}})}}),gsap$2.registerEffect({name:"FADE_IN_LEFT",effect(C,E){return gsap$2.timeline().fromTo(C,{pixi:{alpha:0,x:-2e3}},{ease:"power4.in",pixi:{x:0,alpha:1,...E},duration:1})}}),gsap$2.registerEffect({name:"FADE_IN_RIGHT",effect(C,E){return gsap$2.fromTo(C,{pixi:{x:2e3,alpha:0}},{duration:1,ease:"power4.in",pixi:{x:0,alpha:1,...E}})}}),gsap$2.registerEffect({name:"FADE_IN_UP",effect(C,E){return gsap$2.fromTo(C,{pixi:{y:2e3,alpha:0}},{duration:.8,ease:"power4.in",pixi:{y:0,alpha:1,...E}})}}),gsap$2.registerEffect({name:"SPIN",effect(C){return gsap$2.to(C,{rotation:(E,I)=>gsap$2.utils.snap(360,Number(gsap$2.getProperty(I,"rotation"))+360)})}});function useGsapEffect(){return{updateEffect:React.useCallback((E,I,B)=>gsap$2.effects[I]&&E?gsap$2.effects[I](E,B):gsap$2.effects.NONE(E,B),[])}}var Animations=(C=>(C.NONE="NONE",C.FLASH="FLASH",C.PULSE="PULSE",C.SHAKE="SHAKE",C.SWING="SWING",C.JELLO="JELLO",C.WOOBLE="WOOBLE",C.FADE_IN="FADE_IN",C.FADE_OUT="FADE_OUT",C.FADE_IN_OUT="FADE_IN_OUT",C.SLIDE_IN_LEFT="SLIDE_IN_LEFT",C.SLIDE_IN_RIGHT="SLIDE_IN_RIGHT",C.SLIDE_IN_TOP="SLIDE_IN_TOP",C.SLIDE_IN_BOTTOM="SLIDE_IN_BOTTOM",C.SLIDE_OUT_LEFT="SLIDE_OUT_LEFT",C.SLIDE_OUT_RIGHT="SLIDE_OUT_RIGHT",C.SLIDE_OUT_TOP="SLIDE_OUT_TOP",C.SLIDE_OUT_BOTTOM="SLIDE_OUT_BOTTOM",C.ZOOM_IN="ZOOM_IN",C.ZOOM_OUT="ZOOM_OUT",C.ZOOM_IN_OUT="ZOOM_IN_OUT",C.BOUNCE_IN="BOUNCE_IN",C.BOUNCE_OUT="BOUNCE_OUT",C.BOUNCE_IN_OUT="BOUNCE_IN_OUT",C.BOUNCE_IN_DOWN="BOUNCE_IN_DOWN",C.BOUNCE_IN_LEFT="BOUNCE_IN_LEFT",C.BOUNCE_IN_RIGHT="BOUNCE_IN_RIGHT",C.BOUNCE_IN_UP="BOUNCE_IN_UP",C.BOUNCE_OUT_DOWN="BOUNCE_OUT_DOWN",C.BOUNCE_OUT_LEFT="BOUNCE_OUT_LEFT",C.BOUNCE_OUT_RIGHT="BOUNCE_OUT_RIGHT",C.BOUNCE_OUT_UP="BOUNCE_OUT_UP",C.FADE_IN_DOWN="FADE_IN_DOWN",C.FADE_IN_LEFT="FADE_IN_LEFT",C.FADE_IN_RIGHT="FADE_IN_RIGHT",C.FADE_IN_UP="FADE_IN_UP",C.FADE_OUT_DOWN="FADE_OUT_DOWN",C.FADE_OUT_LEFT="FADE_OUT_LEFT",C.FADE_OUT_RIGHT="FADE_OUT_RIGHT",C.FADE_OUT_UP="FADE_OUT_UP",C.ELASTIC_IN="ELASTIC_IN",C.ELASTIC_OUT="ELASTIC_OUT",C.ELASTIC_IN_OUT="ELASTIC_IN_OUT",C.BACK_IN="BACK_IN",C.BACK_OUT="BACK_OUT",C.BACK_IN_OUT="BACK_IN_OUT",C.CIRCULAR_IN="CIRCULAR_IN",C.CIRCULAR_OUT="CIRCULAR_OUT",C.CIRCULAR_IN_OUT="CIRCULAR_IN_OUT",C.EXPO_IN="EXPO_IN",C.EXPO_OUT="EXPO_OUT",C.EXPO_IN_OUT="EXPO_IN_OUT",C.SINE_IN="SINE_IN",C.SINE_OUT="SINE_OUT",C.SINE_IN_OUT="SINE_IN_OUT",C.BOUNCE="BOUNCE",C.ELASTIC="ELASTIC",C.BACK="BACK",C.CIRCULAR="CIRCULAR",C.EXPO="EXPO",C.SINE="SINE",C))(Animations||{});const CYAN=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],initalTransforms={x:0,y:0,width:0,height:0,anchor:.5,animation:Animations.NONE,maxX:0,maxY:0,scale:1,rotation:0,effect:Effects.Normal,overlay:OverlayTypes.NONE},AbstractContainer=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(!1),[U,V]=React.useState(!1),[X,Y]=React.useState(!1),[K,_e]=React.useState(),xe=useDebounce(K,300),Z=React.useRef(null),J=React.useRef(null),Se=React.useRef(null),Te=React.useRef(null),Ae=React.useRef(null),Me=React.useRef(null),{tl:Ee}=React.useContext(GsapPixieContext),we=react.useApp(),Pe=we.screen.width,Ie=we.screen.height,{uniqueId:Fe,visible:Oe,startAt:$e,transformation:Le=initalTransforms,applyTransformer:Ue,disabled:He,pointerdown:We,pointerout:je,pointerover:Ve,isText:ze,isDragging:Xe,isGif:De,onDoubleClick:Be,isTextEditMode:Re}=C,{x:ke=0,y:Ge=0,width:Ne,height:qe,scale:Ye=[1,1],rotation:Ke=0,effect:rt,overlay:it,animation:Qe=Animations.NONE}=Le,st=useGsapEffect();useCustomEventListener(Events.COMPLETE,()=>{Z.current}),React__namespace.useImperativeHandle(E,()=>({getIsTransformerDragging:()=>U,getIsMouseOverTransformer:()=>X}),[U,X]),React__namespace.useEffect(()=>{Z.current&&B(!0)},[]),React__namespace.useEffect(()=>{_e({x:ke,y:Ge,width:Ne,height:qe,animation:Qe,maxX:Pe,maxY:Ie})},[Qe,ke,Ge,Ne,qe,Pe,Ie]),React__namespace.useEffect(()=>{if(!J.current)return;const tt=gsap$2.context(()=>{if(Ee.current&&xe){const{x:Je,y:ot,animation:lt,maxX:ht,maxY:ct}=xe||{},ft=Ee.current.progress(),ut=st.updateEffect(Z.current,lt,{immediateRender:!1,x:Je,y:ot,overwrite:!0,maxX:ht,maxY:ct});Ae.current&&(Ee.current.remove(Ae.current),Ae.current.progress(0).kill()),ft>.1?(ut.eventCallback("onComplete",()=>{ut.remove("onComplete"),Ee.current.add(ut,$e),Ae.current=ut}),ut.play()):(ut.progress(1),Ee.current.add(ut,$e),Ae.current=ut)}else Ae.current&&Ae.current.progress(0).kill()},J.current);return()=>{tt.revert()}},[$e,xe]);const at=React__namespace.useCallback(()=>{Y(!0),Ve&&Ve()},[]),Ze=React__namespace.useCallback(()=>{V(!0)},[]),et=React__namespace.useCallback(tt=>{C.onAnchorTransformationEnd&&C.onAnchorTransformationEnd(tt),V(!1)},[]),nt=react.withFilters(react.Container,{matrix:PIXI__namespace.filters.ColorMatrixFilter});return jsxRuntimeExports.jsxs(react.Container,{ref:J,children:[jsxRuntimeExports.jsx(react.Container,{ref:Z,position:[ke,Ge],pivot:[ke,Ge],width:Ne,height:qe,scale:Ye,rotation:Ke,...!He&&Oe&&!U&&!Xe&&{interactive:!0,buttonMode:!0,pointerdown:We,pointerover:Ve,pointerout:je},children:jsxRuntimeExports.jsxs(react.Container,{ref:Me,children:[!De&&jsxRuntimeExports.jsx(nt,{scale:1,apply:({matrix:tt})=>{rt===Effects.BlackAndWhite?tt.desaturate():rt===Effects.Sepia?tt.sepia():rt===Effects.RetroVintage||rt===Effects.NightVision?tt.negative():rt===Effects.Normal&&tt.reset()},matrix:{enabled:!0,matrix:CYAN},children:jsxRuntimeExports.jsx(react.Container,{ref:Se,children:C.children})}),De&&jsxRuntimeExports.jsx(react.Container,{ref:Se,children:C.children}),!isEmpty$1(it)&&it!==OverlayTypes.NONE&&it!==OverlayTypes.NORMAL&&jsxRuntimeExports.jsx(PixiOverlayTilingSprite,{overlay:it,width:Ne,height:qe,x:ke,y:Ge})]})}),Ue&&Oe&&!Re&&jsxRuntimeExports.jsx(PixiTransformer,{pixiTransformerRef:Te,imageRef:Z,isMounted:I,transformCommit:et,transformChange:Ze,mouseoverEvent:at,uniqueId:Fe,isText:ze,onDoubleClick:Be})]})});var ENV=(C=>(C[C.WEBGL_LEGACY=0]="WEBGL_LEGACY",C[C.WEBGL=1]="WEBGL",C[C.WEBGL2=2]="WEBGL2",C))(ENV||{}),RENDERER_TYPE=(C=>(C[C.UNKNOWN=0]="UNKNOWN",C[C.WEBGL=1]="WEBGL",C[C.CANVAS=2]="CANVAS",C))(RENDERER_TYPE||{}),BUFFER_BITS=(C=>(C[C.COLOR=16384]="COLOR",C[C.DEPTH=256]="DEPTH",C[C.STENCIL=1024]="STENCIL",C))(BUFFER_BITS||{}),BLEND_MODES=(C=>(C[C.NORMAL=0]="NORMAL",C[C.ADD=1]="ADD",C[C.MULTIPLY=2]="MULTIPLY",C[C.SCREEN=3]="SCREEN",C[C.OVERLAY=4]="OVERLAY",C[C.DARKEN=5]="DARKEN",C[C.LIGHTEN=6]="LIGHTEN",C[C.COLOR_DODGE=7]="COLOR_DODGE",C[C.COLOR_BURN=8]="COLOR_BURN",C[C.HARD_LIGHT=9]="HARD_LIGHT",C[C.SOFT_LIGHT=10]="SOFT_LIGHT",C[C.DIFFERENCE=11]="DIFFERENCE",C[C.EXCLUSION=12]="EXCLUSION",C[C.HUE=13]="HUE",C[C.SATURATION=14]="SATURATION",C[C.COLOR=15]="COLOR",C[C.LUMINOSITY=16]="LUMINOSITY",C[C.NORMAL_NPM=17]="NORMAL_NPM",C[C.ADD_NPM=18]="ADD_NPM",C[C.SCREEN_NPM=19]="SCREEN_NPM",C[C.NONE=20]="NONE",C[C.SRC_OVER=0]="SRC_OVER",C[C.SRC_IN=21]="SRC_IN",C[C.SRC_OUT=22]="SRC_OUT",C[C.SRC_ATOP=23]="SRC_ATOP",C[C.DST_OVER=24]="DST_OVER",C[C.DST_IN=25]="DST_IN",C[C.DST_OUT=26]="DST_OUT",C[C.DST_ATOP=27]="DST_ATOP",C[C.ERASE=26]="ERASE",C[C.SUBTRACT=28]="SUBTRACT",C[C.XOR=29]="XOR",C))(BLEND_MODES||{}),DRAW_MODES=(C=>(C[C.POINTS=0]="POINTS",C[C.LINES=1]="LINES",C[C.LINE_LOOP=2]="LINE_LOOP",C[C.LINE_STRIP=3]="LINE_STRIP",C[C.TRIANGLES=4]="TRIANGLES",C[C.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",C[C.TRIANGLE_FAN=6]="TRIANGLE_FAN",C))(DRAW_MODES||{}),FORMATS=(C=>(C[C.RGBA=6408]="RGBA",C[C.RGB=6407]="RGB",C[C.RG=33319]="RG",C[C.RED=6403]="RED",C[C.RGBA_INTEGER=36249]="RGBA_INTEGER",C[C.RGB_INTEGER=36248]="RGB_INTEGER",C[C.RG_INTEGER=33320]="RG_INTEGER",C[C.RED_INTEGER=36244]="RED_INTEGER",C[C.ALPHA=6406]="ALPHA",C[C.LUMINANCE=6409]="LUMINANCE",C[C.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",C[C.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",C[C.DEPTH_STENCIL=34041]="DEPTH_STENCIL",C))(FORMATS||{}),TARGETS=(C=>(C[C.TEXTURE_2D=3553]="TEXTURE_2D",C[C.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",C[C.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",C[C.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",C[C.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",C[C.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",C[C.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",C[C.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",C[C.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",C))(TARGETS||{}),TYPES=(C=>(C[C.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",C[C.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",C[C.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",C[C.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",C[C.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",C[C.UNSIGNED_INT=5125]="UNSIGNED_INT",C[C.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",C[C.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",C[C.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",C[C.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",C[C.BYTE=5120]="BYTE",C[C.SHORT=5122]="SHORT",C[C.INT=5124]="INT",C[C.FLOAT=5126]="FLOAT",C[C.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",C[C.HALF_FLOAT=36193]="HALF_FLOAT",C))(TYPES||{}),SAMPLER_TYPES=(C=>(C[C.FLOAT=0]="FLOAT",C[C.INT=1]="INT",C[C.UINT=2]="UINT",C))(SAMPLER_TYPES||{}),SCALE_MODES=(C=>(C[C.NEAREST=0]="NEAREST",C[C.LINEAR=1]="LINEAR",C))(SCALE_MODES||{}),WRAP_MODES=(C=>(C[C.CLAMP=33071]="CLAMP",C[C.REPEAT=10497]="REPEAT",C[C.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",C))(WRAP_MODES||{}),MIPMAP_MODES=(C=>(C[C.OFF=0]="OFF",C[C.POW2=1]="POW2",C[C.ON=2]="ON",C[C.ON_MANUAL=3]="ON_MANUAL",C))(MIPMAP_MODES||{}),ALPHA_MODES=(C=>(C[C.NPM=0]="NPM",C[C.UNPACK=1]="UNPACK",C[C.PMA=2]="PMA",C[C.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",C[C.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",C[C.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA",C))(ALPHA_MODES||{}),CLEAR_MODES=(C=>(C[C.NO=0]="NO",C[C.YES=1]="YES",C[C.AUTO=2]="AUTO",C[C.BLEND=0]="BLEND",C[C.CLEAR=1]="CLEAR",C[C.BLIT=2]="BLIT",C))(CLEAR_MODES||{}),GC_MODES=(C=>(C[C.AUTO=0]="AUTO",C[C.MANUAL=1]="MANUAL",C))(GC_MODES||{}),PRECISION=(C=>(C.LOW="lowp",C.MEDIUM="mediump",C.HIGH="highp",C))(PRECISION||{}),MASK_TYPES=(C=>(C[C.NONE=0]="NONE",C[C.SCISSOR=1]="SCISSOR",C[C.STENCIL=2]="STENCIL",C[C.SPRITE=3]="SPRITE",C[C.COLOR=4]="COLOR",C))(MASK_TYPES||{}),MSAA_QUALITY=(C=>(C[C.NONE=0]="NONE",C[C.LOW=2]="LOW",C[C.MEDIUM=4]="MEDIUM",C[C.HIGH=8]="HIGH",C))(MSAA_QUALITY||{}),BUFFER_TYPE=(C=>(C[C.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",C[C.ARRAY_BUFFER=34962]="ARRAY_BUFFER",C[C.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",C))(BUFFER_TYPE||{});const BrowserAdapter={createCanvas:(C,E)=>{const I=document.createElement("canvas");return I.width=C,I.height=E,I},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(C,E)=>fetch(C,E),parseXML:C=>new DOMParser().parseFromString(C,"text/xml")},settings={ADAPTER:BrowserAdapter,RESOLUTION:1,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1};var appleIphone=/iPhone/i,appleIpod=/iPod/i,appleTablet=/iPad/i,appleUniversal=/\biOS-universal(?:.+)Mac\b/i,androidPhone=/\bAndroid(?:.+)Mobile\b/i,androidTablet=/Android/i,amazonPhone=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,amazonTablet=/Silk/i,windowsPhone=/Windows Phone/i,windowsTablet=/\bWindows(?:.+)ARM\b/i,otherBlackBerry=/BlackBerry/i,otherBlackBerry10=/BB10/i,otherOpera=/Opera Mini/i,otherChrome=/\b(CriOS|Chrome)(?:.+)Mobile/i,otherFirefox=/Mobile(?:.+)Firefox\b/i,isAppleTabletOnIos13=function(C){return typeof C<"u"&&C.platform==="MacIntel"&&typeof C.maxTouchPoints=="number"&&C.maxTouchPoints>1&&typeof MSStream>"u"};function createMatch(C){return function(E){return E.test(C)}}function isMobile$1(C){var E={userAgent:"",platform:"",maxTouchPoints:0};!C&&typeof navigator<"u"?E={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof C=="string"?E.userAgent=C:C&&C.userAgent&&(E={userAgent:C.userAgent,platform:C.platform,maxTouchPoints:C.maxTouchPoints||0});var I=E.userAgent,B=I.split("[FBAN");typeof B[1]<"u"&&(I=B[0]),B=I.split("Twitter"),typeof B[1]<"u"&&(I=B[0]);var U=createMatch(I),V={apple:{phone:U(appleIphone)&&!U(windowsPhone),ipod:U(appleIpod),tablet:!U(appleIphone)&&(U(appleTablet)||isAppleTabletOnIos13(E))&&!U(windowsPhone),universal:U(appleUniversal),device:(U(appleIphone)||U(appleIpod)||U(appleTablet)||U(appleUniversal)||isAppleTabletOnIos13(E))&&!U(windowsPhone)},amazon:{phone:U(amazonPhone),tablet:!U(amazonPhone)&&U(amazonTablet),device:U(amazonPhone)||U(amazonTablet)},android:{phone:!U(windowsPhone)&&U(amazonPhone)||!U(windowsPhone)&&U(androidPhone),tablet:!U(windowsPhone)&&!U(amazonPhone)&&!U(androidPhone)&&(U(amazonTablet)||U(androidTablet)),device:!U(windowsPhone)&&(U(amazonPhone)||U(amazonTablet)||U(androidPhone)||U(androidTablet))||U(/\bokhttp\b/i)},windows:{phone:U(windowsPhone),tablet:U(windowsTablet),device:U(windowsPhone)||U(windowsTablet)},other:{blackberry:U(otherBlackBerry),blackberry10:U(otherBlackBerry10),opera:U(otherOpera),firefox:U(otherFirefox),chrome:U(otherChrome),device:U(otherBlackBerry)||U(otherBlackBerry10)||U(otherOpera)||U(otherFirefox)||U(otherChrome)},any:!1,phone:!1,tablet:!1};return V.any=V.apple.device||V.android.device||V.windows.device||V.other.device,V.phone=V.apple.phone||V.android.phone||V.windows.phone,V.tablet=V.apple.tablet||V.android.tablet||V.windows.tablet,V}const isMobileCall=isMobile$1.default??isMobile$1,isMobile=isMobileCall(globalThis.navigator);settings.RETINA_PREFIX=/@([0-9\.]+)x/,settings.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var eventemitter3={exports:{}};(function(C){var E=Object.prototype.hasOwnProperty,I="~";function B(){}Object.create&&(B.prototype=Object.create(null),new B().__proto__||(I=!1));function U(K,_e,xe){this.fn=K,this.context=_e,this.once=xe||!1}function V(K,_e,xe,Z,J){if(typeof xe!="function")throw new TypeError("The listener must be a function");var Se=new U(xe,Z||K,J),Te=I?I+_e:_e;return K._events[Te]?K._events[Te].fn?K._events[Te]=[K._events[Te],Se]:K._events[Te].push(Se):(K._events[Te]=Se,K._eventsCount++),K}function X(K,_e){--K._eventsCount===0?K._events=new B:delete K._events[_e]}function Y(){this._events=new B,this._eventsCount=0}Y.prototype.eventNames=function(){var _e=[],xe,Z;if(this._eventsCount===0)return _e;for(Z in xe=this._events)E.call(xe,Z)&&_e.push(I?Z.slice(1):Z);return Object.getOwnPropertySymbols?_e.concat(Object.getOwnPropertySymbols(xe)):_e},Y.prototype.listeners=function(_e){var xe=I?I+_e:_e,Z=this._events[xe];if(!Z)return[];if(Z.fn)return[Z.fn];for(var J=0,Se=Z.length,Te=new Array(Se);J<Se;J++)Te[J]=Z[J].fn;return Te},Y.prototype.listenerCount=function(_e){var xe=I?I+_e:_e,Z=this._events[xe];return Z?Z.fn?1:Z.length:0},Y.prototype.emit=function(_e,xe,Z,J,Se,Te){var Ae=I?I+_e:_e;if(!this._events[Ae])return!1;var Me=this._events[Ae],Ee=arguments.length,we,Pe;if(Me.fn){switch(Me.once&&this.removeListener(_e,Me.fn,void 0,!0),Ee){case 1:return Me.fn.call(Me.context),!0;case 2:return Me.fn.call(Me.context,xe),!0;case 3:return Me.fn.call(Me.context,xe,Z),!0;case 4:return Me.fn.call(Me.context,xe,Z,J),!0;case 5:return Me.fn.call(Me.context,xe,Z,J,Se),!0;case 6:return Me.fn.call(Me.context,xe,Z,J,Se,Te),!0}for(Pe=1,we=new Array(Ee-1);Pe<Ee;Pe++)we[Pe-1]=arguments[Pe];Me.fn.apply(Me.context,we)}else{var Ie=Me.length,Fe;for(Pe=0;Pe<Ie;Pe++)switch(Me[Pe].once&&this.removeListener(_e,Me[Pe].fn,void 0,!0),Ee){case 1:Me[Pe].fn.call(Me[Pe].context);break;case 2:Me[Pe].fn.call(Me[Pe].context,xe);break;case 3:Me[Pe].fn.call(Me[Pe].context,xe,Z);break;case 4:Me[Pe].fn.call(Me[Pe].context,xe,Z,J);break;default:if(!we)for(Fe=1,we=new Array(Ee-1);Fe<Ee;Fe++)we[Fe-1]=arguments[Fe];Me[Pe].fn.apply(Me[Pe].context,we)}}return!0},Y.prototype.on=function(_e,xe,Z){return V(this,_e,xe,Z,!1)},Y.prototype.once=function(_e,xe,Z){return V(this,_e,xe,Z,!0)},Y.prototype.removeListener=function(_e,xe,Z,J){var Se=I?I+_e:_e;if(!this._events[Se])return this;if(!xe)return X(this,Se),this;var Te=this._events[Se];if(Te.fn)Te.fn===xe&&(!J||Te.once)&&(!Z||Te.context===Z)&&X(this,Se);else{for(var Ae=0,Me=[],Ee=Te.length;Ae<Ee;Ae++)(Te[Ae].fn!==xe||J&&!Te[Ae].once||Z&&Te[Ae].context!==Z)&&Me.push(Te[Ae]);Me.length?this._events[Se]=Me.length===1?Me[0]:Me:X(this,Se)}return this},Y.prototype.removeAllListeners=function(_e){var xe;return _e?(xe=I?I+_e:_e,this._events[xe]&&X(this,xe)):(this._events=new B,this._eventsCount=0),this},Y.prototype.off=Y.prototype.removeListener,Y.prototype.addListener=Y.prototype.on,Y.prefixed=I,Y.EventEmitter=Y,C.exports=Y})(eventemitter3);var eventemitter3Exports=eventemitter3.exports;const EventEmitter=getDefaultExportFromCjs(eventemitter3Exports);var earcut$2={exports:{}};earcut$2.exports=earcut,earcut$2.exports.default=earcut;function earcut(C,E,I){I=I||2;var B=E&&E.length,U=B?E[0]*I:C.length,V=linkedList(C,0,U,I,!0),X=[];if(!V||V.next===V.prev)return X;var Y,K,_e,xe,Z,J,Se;if(B&&(V=eliminateHoles(C,E,V,I)),C.length>80*I){Y=_e=C[0],K=xe=C[1];for(var Te=I;Te<U;Te+=I)Z=C[Te],J=C[Te+1],Z<Y&&(Y=Z),J<K&&(K=J),Z>_e&&(_e=Z),J>xe&&(xe=J);Se=Math.max(_e-Y,xe-K),Se=Se!==0?32767/Se:0}return earcutLinked(V,X,I,Y,K,Se,0),X}function linkedList(C,E,I,B,U){var V,X;if(U===signedArea(C,E,I,B)>0)for(V=E;V<I;V+=B)X=insertNode(V,C[V],C[V+1],X);else for(V=I-B;V>=E;V-=B)X=insertNode(V,C[V],C[V+1],X);return X&&equals(X,X.next)&&(removeNode(X),X=X.next),X}function filterPoints(C,E){if(!C)return C;E||(E=C);var I=C,B;do if(B=!1,!I.steiner&&(equals(I,I.next)||area(I.prev,I,I.next)===0)){if(removeNode(I),I=E=I.prev,I===I.next)break;B=!0}else I=I.next;while(B||I!==E);return E}function earcutLinked(C,E,I,B,U,V,X){if(C){!X&&V&&indexCurve(C,B,U,V);for(var Y=C,K,_e;C.prev!==C.next;){if(K=C.prev,_e=C.next,V?isEarHashed(C,B,U,V):isEar(C)){E.push(K.i/I|0),E.push(C.i/I|0),E.push(_e.i/I|0),removeNode(C),C=_e.next,Y=_e.next;continue}if(C=_e,C===Y){X?X===1?(C=cureLocalIntersections(filterPoints(C),E,I),earcutLinked(C,E,I,B,U,V,2)):X===2&&splitEarcut(C,E,I,B,U,V):earcutLinked(filterPoints(C),E,I,B,U,V,1);break}}}}function isEar(C){var E=C.prev,I=C,B=C.next;if(area(E,I,B)>=0)return!1;for(var U=E.x,V=I.x,X=B.x,Y=E.y,K=I.y,_e=B.y,xe=U<V?U<X?U:X:V<X?V:X,Z=Y<K?Y<_e?Y:_e:K<_e?K:_e,J=U>V?U>X?U:X:V>X?V:X,Se=Y>K?Y>_e?Y:_e:K>_e?K:_e,Te=B.next;Te!==E;){if(Te.x>=xe&&Te.x<=J&&Te.y>=Z&&Te.y<=Se&&pointInTriangle(U,Y,V,K,X,_e,Te.x,Te.y)&&area(Te.prev,Te,Te.next)>=0)return!1;Te=Te.next}return!0}function isEarHashed(C,E,I,B){var U=C.prev,V=C,X=C.next;if(area(U,V,X)>=0)return!1;for(var Y=U.x,K=V.x,_e=X.x,xe=U.y,Z=V.y,J=X.y,Se=Y<K?Y<_e?Y:_e:K<_e?K:_e,Te=xe<Z?xe<J?xe:J:Z<J?Z:J,Ae=Y>K?Y>_e?Y:_e:K>_e?K:_e,Me=xe>Z?xe>J?xe:J:Z>J?Z:J,Ee=zOrder(Se,Te,E,I,B),we=zOrder(Ae,Me,E,I,B),Pe=C.prevZ,Ie=C.nextZ;Pe&&Pe.z>=Ee&&Ie&&Ie.z<=we;){if(Pe.x>=Se&&Pe.x<=Ae&&Pe.y>=Te&&Pe.y<=Me&&Pe!==U&&Pe!==X&&pointInTriangle(Y,xe,K,Z,_e,J,Pe.x,Pe.y)&&area(Pe.prev,Pe,Pe.next)>=0||(Pe=Pe.prevZ,Ie.x>=Se&&Ie.x<=Ae&&Ie.y>=Te&&Ie.y<=Me&&Ie!==U&&Ie!==X&&pointInTriangle(Y,xe,K,Z,_e,J,Ie.x,Ie.y)&&area(Ie.prev,Ie,Ie.next)>=0))return!1;Ie=Ie.nextZ}for(;Pe&&Pe.z>=Ee;){if(Pe.x>=Se&&Pe.x<=Ae&&Pe.y>=Te&&Pe.y<=Me&&Pe!==U&&Pe!==X&&pointInTriangle(Y,xe,K,Z,_e,J,Pe.x,Pe.y)&&area(Pe.prev,Pe,Pe.next)>=0)return!1;Pe=Pe.prevZ}for(;Ie&&Ie.z<=we;){if(Ie.x>=Se&&Ie.x<=Ae&&Ie.y>=Te&&Ie.y<=Me&&Ie!==U&&Ie!==X&&pointInTriangle(Y,xe,K,Z,_e,J,Ie.x,Ie.y)&&area(Ie.prev,Ie,Ie.next)>=0)return!1;Ie=Ie.nextZ}return!0}function cureLocalIntersections(C,E,I){var B=C;do{var U=B.prev,V=B.next.next;!equals(U,V)&&intersects(U,B,B.next,V)&&locallyInside(U,V)&&locallyInside(V,U)&&(E.push(U.i/I|0),E.push(B.i/I|0),E.push(V.i/I|0),removeNode(B),removeNode(B.next),B=C=V),B=B.next}while(B!==C);return filterPoints(B)}function splitEarcut(C,E,I,B,U,V){var X=C;do{for(var Y=X.next.next;Y!==X.prev;){if(X.i!==Y.i&&isValidDiagonal(X,Y)){var K=splitPolygon(X,Y);X=filterPoints(X,X.next),K=filterPoints(K,K.next),earcutLinked(X,E,I,B,U,V,0),earcutLinked(K,E,I,B,U,V,0);return}Y=Y.next}X=X.next}while(X!==C)}function eliminateHoles(C,E,I,B){var U=[],V,X,Y,K,_e;for(V=0,X=E.length;V<X;V++)Y=E[V]*B,K=V<X-1?E[V+1]*B:C.length,_e=linkedList(C,Y,K,B,!1),_e===_e.next&&(_e.steiner=!0),U.push(getLeftmost(_e));for(U.sort(compareX),V=0;V<U.length;V++)I=eliminateHole(U[V],I);return I}function compareX(C,E){return C.x-E.x}function eliminateHole(C,E){var I=findHoleBridge(C,E);if(!I)return E;var B=splitPolygon(I,C);return filterPoints(B,B.next),filterPoints(I,I.next)}function findHoleBridge(C,E){var I=E,B=C.x,U=C.y,V=-1/0,X;do{if(U<=I.y&&U>=I.next.y&&I.next.y!==I.y){var Y=I.x+(U-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Y<=B&&Y>V&&(V=Y,X=I.x<I.next.x?I:I.next,Y===B))return X}I=I.next}while(I!==E);if(!X)return null;var K=X,_e=X.x,xe=X.y,Z=1/0,J;I=X;do B>=I.x&&I.x>=_e&&B!==I.x&&pointInTriangle(U<xe?B:V,U,_e,xe,U<xe?V:B,U,I.x,I.y)&&(J=Math.abs(U-I.y)/(B-I.x),locallyInside(I,C)&&(J<Z||J===Z&&(I.x>X.x||I.x===X.x&&sectorContainsSector(X,I)))&&(X=I,Z=J)),I=I.next;while(I!==K);return X}function sectorContainsSector(C,E){return area(C.prev,C,E.prev)<0&&area(E.next,C,C.next)<0}function indexCurve(C,E,I,B){var U=C;do U.z===0&&(U.z=zOrder(U.x,U.y,E,I,B)),U.prevZ=U.prev,U.nextZ=U.next,U=U.next;while(U!==C);U.prevZ.nextZ=null,U.prevZ=null,sortLinked(U)}function sortLinked(C){var E,I,B,U,V,X,Y,K,_e=1;do{for(I=C,C=null,V=null,X=0;I;){for(X++,B=I,Y=0,E=0;E<_e&&(Y++,B=B.nextZ,!!B);E++);for(K=_e;Y>0||K>0&&B;)Y!==0&&(K===0||!B||I.z<=B.z)?(U=I,I=I.nextZ,Y--):(U=B,B=B.nextZ,K--),V?V.nextZ=U:C=U,U.prevZ=V,V=U;I=B}V.nextZ=null,_e*=2}while(X>1);return C}function zOrder(C,E,I,B,U){return C=(C-I)*U|0,E=(E-B)*U|0,C=(C|C<<8)&16711935,C=(C|C<<4)&252645135,C=(C|C<<2)&858993459,C=(C|C<<1)&1431655765,E=(E|E<<8)&16711935,E=(E|E<<4)&252645135,E=(E|E<<2)&858993459,E=(E|E<<1)&1431655765,C|E<<1}function getLeftmost(C){var E=C,I=C;do(E.x<I.x||E.x===I.x&&E.y<I.y)&&(I=E),E=E.next;while(E!==C);return I}function pointInTriangle(C,E,I,B,U,V,X,Y){return(U-X)*(E-Y)>=(C-X)*(V-Y)&&(C-X)*(B-Y)>=(I-X)*(E-Y)&&(I-X)*(V-Y)>=(U-X)*(B-Y)}function isValidDiagonal(C,E){return C.next.i!==E.i&&C.prev.i!==E.i&&!intersectsPolygon(C,E)&&(locallyInside(C,E)&&locallyInside(E,C)&&middleInside(C,E)&&(area(C.prev,C,E.prev)||area(C,E.prev,E))||equals(C,E)&&area(C.prev,C,C.next)>0&&area(E.prev,E,E.next)>0)}function area(C,E,I){return(E.y-C.y)*(I.x-E.x)-(E.x-C.x)*(I.y-E.y)}function equals(C,E){return C.x===E.x&&C.y===E.y}function intersects(C,E,I,B){var U=sign(area(C,E,I)),V=sign(area(C,E,B)),X=sign(area(I,B,C)),Y=sign(area(I,B,E));return!!(U!==V&&X!==Y||U===0&&onSegment(C,I,E)||V===0&&onSegment(C,B,E)||X===0&&onSegment(I,C,B)||Y===0&&onSegment(I,E,B))}function onSegment(C,E,I){return E.x<=Math.max(C.x,I.x)&&E.x>=Math.min(C.x,I.x)&&E.y<=Math.max(C.y,I.y)&&E.y>=Math.min(C.y,I.y)}function sign(C){return C>0?1:C<0?-1:0}function intersectsPolygon(C,E){var I=C;do{if(I.i!==C.i&&I.next.i!==C.i&&I.i!==E.i&&I.next.i!==E.i&&intersects(I,I.next,C,E))return!0;I=I.next}while(I!==C);return!1}function locallyInside(C,E){return area(C.prev,C,C.next)<0?area(C,E,C.next)>=0&&area(C,C.prev,E)>=0:area(C,E,C.prev)<0||area(C,C.next,E)<0}function middleInside(C,E){var I=C,B=!1,U=(C.x+E.x)/2,V=(C.y+E.y)/2;do I.y>V!=I.next.y>V&&I.next.y!==I.y&&U<(I.next.x-I.x)*(V-I.y)/(I.next.y-I.y)+I.x&&(B=!B),I=I.next;while(I!==C);return B}function splitPolygon(C,E){var I=new Node(C.i,C.x,C.y),B=new Node(E.i,E.x,E.y),U=C.next,V=E.prev;return C.next=E,E.prev=C,I.next=U,U.prev=I,B.next=I,I.prev=B,V.next=B,B.prev=V,B}function insertNode(C,E,I,B){var U=new Node(C,E,I);return B?(U.next=B.next,U.prev=B,B.next.prev=U,B.next=U):(U.prev=U,U.next=U),U}function removeNode(C){C.next.prev=C.prev,C.prev.next=C.next,C.prevZ&&(C.prevZ.nextZ=C.nextZ),C.nextZ&&(C.nextZ.prevZ=C.prevZ)}function Node(C,E,I){this.i=C,this.x=E,this.y=I,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}earcut.deviation=function(C,E,I,B){var U=E&&E.length,V=U?E[0]*I:C.length,X=Math.abs(signedArea(C,0,V,I));if(U)for(var Y=0,K=E.length;Y<K;Y++){var _e=E[Y]*I,xe=Y<K-1?E[Y+1]*I:C.length;X-=Math.abs(signedArea(C,_e,xe,I))}var Z=0;for(Y=0;Y<B.length;Y+=3){var J=B[Y]*I,Se=B[Y+1]*I,Te=B[Y+2]*I;Z+=Math.abs((C[J]-C[Te])*(C[Se+1]-C[J+1])-(C[J]-C[Se])*(C[Te+1]-C[J+1]))}return X===0&&Z===0?0:Math.abs((Z-X)/X)};function signedArea(C,E,I,B){for(var U=0,V=E,X=I-B;V<I;V+=B)U+=(C[X]-C[V])*(C[V+1]+C[X+1]),X=V;return U}earcut.flatten=function(C){for(var E=C[0][0].length,I={vertices:[],holes:[],dimensions:E},B=0,U=0;U<C.length;U++){for(var V=0;V<C[U].length;V++)for(var X=0;X<E;X++)I.vertices.push(C[U][V][X]);U>0&&(B+=C[U-1].length,I.holes.push(B))}return I};var earcutExports=earcut$2.exports;const earcut$1=getDefaultExportFromCjs(earcutExports);var punycode$1={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */punycode$1.exports,function(C,E){(function(I){var B=E&&!E.nodeType&&E,U=C&&!C.nodeType&&C,V=typeof commonjsGlobal$1=="object"&&commonjsGlobal$1;(V.global===V||V.window===V||V.self===V)&&(I=V);var X,Y=2147483647,K=36,_e=1,xe=26,Z=38,J=700,Se=72,Te=128,Ae="-",Me=/^xn--/,Ee=/[^\x20-\x7E]/,we=/[\x2E\u3002\uFF0E\uFF61]/g,Pe={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Ie=K-_e,Fe=Math.floor,Oe=String.fromCharCode,$e;function Le(Ge){throw new RangeError(Pe[Ge])}function Ue(Ge,Ne){for(var qe=Ge.length,Ye=[];qe--;)Ye[qe]=Ne(Ge[qe]);return Ye}function He(Ge,Ne){var qe=Ge.split("@"),Ye="";qe.length>1&&(Ye=qe[0]+"@",Ge=qe[1]),Ge=Ge.replace(we,".");var Ke=Ge.split("."),rt=Ue(Ke,Ne).join(".");return Ye+rt}function We(Ge){for(var Ne=[],qe=0,Ye=Ge.length,Ke,rt;qe<Ye;)Ke=Ge.charCodeAt(qe++),Ke>=55296&&Ke<=56319&&qe<Ye?(rt=Ge.charCodeAt(qe++),(rt&64512)==56320?Ne.push(((Ke&1023)<<10)+(rt&1023)+65536):(Ne.push(Ke),qe--)):Ne.push(Ke);return Ne}function je(Ge){return Ue(Ge,function(Ne){var qe="";return Ne>65535&&(Ne-=65536,qe+=Oe(Ne>>>10&1023|55296),Ne=56320|Ne&1023),qe+=Oe(Ne),qe}).join("")}function Ve(Ge){return Ge-48<10?Ge-22:Ge-65<26?Ge-65:Ge-97<26?Ge-97:K}function ze(Ge,Ne){return Ge+22+75*(Ge<26)-((Ne!=0)<<5)}function Xe(Ge,Ne,qe){var Ye=0;for(Ge=qe?Fe(Ge/J):Ge>>1,Ge+=Fe(Ge/Ne);Ge>Ie*xe>>1;Ye+=K)Ge=Fe(Ge/Ie);return Fe(Ye+(Ie+1)*Ge/(Ge+Z))}function De(Ge){var Ne=[],qe=Ge.length,Ye,Ke=0,rt=Te,it=Se,Qe,st,at,Ze,et,nt,tt,Je,ot;for(Qe=Ge.lastIndexOf(Ae),Qe<0&&(Qe=0),st=0;st<Qe;++st)Ge.charCodeAt(st)>=128&&Le("not-basic"),Ne.push(Ge.charCodeAt(st));for(at=Qe>0?Qe+1:0;at<qe;){for(Ze=Ke,et=1,nt=K;at>=qe&&Le("invalid-input"),tt=Ve(Ge.charCodeAt(at++)),(tt>=K||tt>Fe((Y-Ke)/et))&&Le("overflow"),Ke+=tt*et,Je=nt<=it?_e:nt>=it+xe?xe:nt-it,!(tt<Je);nt+=K)ot=K-Je,et>Fe(Y/ot)&&Le("overflow"),et*=ot;Ye=Ne.length+1,it=Xe(Ke-Ze,Ye,Ze==0),Fe(Ke/Ye)>Y-rt&&Le("overflow"),rt+=Fe(Ke/Ye),Ke%=Ye,Ne.splice(Ke++,0,rt)}return je(Ne)}function Be(Ge){var Ne,qe,Ye,Ke,rt,it,Qe,st,at,Ze,et,nt=[],tt,Je,ot,lt;for(Ge=We(Ge),tt=Ge.length,Ne=Te,qe=0,rt=Se,it=0;it<tt;++it)et=Ge[it],et<128&&nt.push(Oe(et));for(Ye=Ke=nt.length,Ke&&nt.push(Ae);Ye<tt;){for(Qe=Y,it=0;it<tt;++it)et=Ge[it],et>=Ne&&et<Qe&&(Qe=et);for(Je=Ye+1,Qe-Ne>Fe((Y-qe)/Je)&&Le("overflow"),qe+=(Qe-Ne)*Je,Ne=Qe,it=0;it<tt;++it)if(et=Ge[it],et<Ne&&++qe>Y&&Le("overflow"),et==Ne){for(st=qe,at=K;Ze=at<=rt?_e:at>=rt+xe?xe:at-rt,!(st<Ze);at+=K)lt=st-Ze,ot=K-Ze,nt.push(Oe(ze(Ze+lt%ot,0))),st=Fe(lt/ot);nt.push(Oe(ze(st,0))),rt=Xe(qe,Je,Ye==Ke),qe=0,++Ye}++qe,++Ne}return nt.join("")}function Re(Ge){return He(Ge,function(Ne){return Me.test(Ne)?De(Ne.slice(4).toLowerCase()):Ne})}function ke(Ge){return He(Ge,function(Ne){return Ee.test(Ne)?"xn--"+Be(Ne):Ne})}if(X={version:"1.4.1",ucs2:{decode:We,encode:je},decode:De,encode:Be,toASCII:ke,toUnicode:Re},B&&U)if(C.exports==B)U.exports=X;else for($e in X)X.hasOwnProperty($e)&&(B[$e]=X[$e]);else I.punycode=X})(commonjsGlobal$1)}(punycode$1,punycode$1.exports);var punycodeExports=punycode$1.exports,shams=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var E={},I=Symbol("test"),B=Object(I);if(typeof I=="string"||Object.prototype.toString.call(I)!=="[object Symbol]"||Object.prototype.toString.call(B)!=="[object Symbol]")return!1;var U=42;E[I]=U;for(I in E)return!1;if(typeof Object.keys=="function"&&Object.keys(E).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(E).length!==0)return!1;var V=Object.getOwnPropertySymbols(E);if(V.length!==1||V[0]!==I||!Object.prototype.propertyIsEnumerable.call(E,I))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var X=Object.getOwnPropertyDescriptor(E,I);if(X.value!==U||X.enumerable!==!0)return!1}return!0},origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=shams,hasSymbols$1=function(){return typeof origSymbol!="function"||typeof Symbol!="function"||typeof origSymbol("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:hasSymbolSham()},test={foo:{}},$Object=Object,hasProto$1=function(){return{__proto__:test}.foo===test.foo&&!({__proto__:null}instanceof $Object)},ERROR_MESSAGE="Function.prototype.bind called on incompatible ",slice=Array.prototype.slice,toStr$1=Object.prototype.toString,funcType="[object Function]",implementation$1=function(E){var I=this;if(typeof I!="function"||toStr$1.call(I)!==funcType)throw new TypeError(ERROR_MESSAGE+I);for(var B=slice.call(arguments,1),U,V=function(){if(this instanceof U){var xe=I.apply(this,B.concat(slice.call(arguments)));return Object(xe)===xe?xe:this}else return I.apply(E,B.concat(slice.call(arguments)))},X=Math.max(0,I.length-B.length),Y=[],K=0;K<X;K++)Y.push("$"+K);if(U=Function("binder","return function ("+Y.join(",")+"){ return binder.apply(this,arguments); }")(V),I.prototype){var _e=function(){};_e.prototype=I.prototype,U.prototype=new _e,_e.prototype=null}return U},implementation=implementation$1,functionBind=Function.prototype.bind||implementation,bind$1=functionBind,src=bind$1.call(Function.call,Object.prototype.hasOwnProperty),undefined$1,$SyntaxError=SyntaxError,$Function=Function,$TypeError$1=TypeError,getEvalledConstructor=function(C){try{return $Function('"use strict"; return ('+C+").constructor;")()}catch{}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch{$gOPD=null}var throwTypeError=function(){throw new $TypeError$1},ThrowTypeError=$gOPD?function(){try{return arguments.callee,throwTypeError}catch{try{return $gOPD(arguments,"callee").get}catch{return throwTypeError}}}():throwTypeError,hasSymbols=hasSymbols$1(),hasProto=hasProto$1(),getProto=Object.getPrototypeOf||(hasProto?function(C){return C.__proto__}:null),needsEval={},TypedArray=typeof Uint8Array>"u"||!getProto?undefined$1:getProto(Uint8Array),INTRINSICS={"%AggregateError%":typeof AggregateError>"u"?undefined$1:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?undefined$1:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined$1,"%AsyncFromSyncIteratorPrototype%":undefined$1,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?undefined$1:Atomics,"%BigInt%":typeof BigInt>"u"?undefined$1:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?undefined$1:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?undefined$1:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?undefined$1:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?undefined$1:Float32Array,"%Float64Array%":typeof Float64Array>"u"?undefined$1:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?undefined$1:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?undefined$1:Int8Array,"%Int16Array%":typeof Int16Array>"u"?undefined$1:Int16Array,"%Int32Array%":typeof Int32Array>"u"?undefined$1:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined$1,"%JSON%":typeof JSON=="object"?JSON:undefined$1,"%Map%":typeof Map>"u"?undefined$1:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols||!getProto?undefined$1:getProto(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?undefined$1:Promise,"%Proxy%":typeof Proxy>"u"?undefined$1:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?undefined$1:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?undefined$1:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols||!getProto?undefined$1:getProto(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?undefined$1:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined$1,"%Symbol%":hasSymbols?Symbol:undefined$1,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError$1,"%Uint8Array%":typeof Uint8Array>"u"?undefined$1:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?undefined$1:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?undefined$1:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?undefined$1:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?undefined$1:WeakMap,"%WeakRef%":typeof WeakRef>"u"?undefined$1:WeakRef,"%WeakSet%":typeof WeakSet>"u"?undefined$1:WeakSet};if(getProto)try{null.error}catch(C){var errorProto=getProto(getProto(C));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function C(E){var I;if(E==="%AsyncFunction%")I=getEvalledConstructor("async function () {}");else if(E==="%GeneratorFunction%")I=getEvalledConstructor("function* () {}");else if(E==="%AsyncGeneratorFunction%")I=getEvalledConstructor("async function* () {}");else if(E==="%AsyncGenerator%"){var B=C("%AsyncGeneratorFunction%");B&&(I=B.prototype)}else if(E==="%AsyncIteratorPrototype%"){var U=C("%AsyncGenerator%");U&&getProto&&(I=getProto(U.prototype))}return INTRINSICS[E]=I,I},LEGACY_ALIASES={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=functionBind,hasOwn$1=src,$concat$1=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace$1=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName$1=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar$1=/\\(\\)?/g,stringToPath$2=function(E){var I=$strSlice(E,0,1),B=$strSlice(E,-1);if(I==="%"&&B!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if(B==="%"&&I!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var U=[];return $replace$1(E,rePropName$1,function(V,X,Y,K){U[U.length]=Y?$replace$1(K,reEscapeChar$1,"$1"):X||V}),U},getBaseIntrinsic=function(E,I){var B=E,U;if(hasOwn$1(LEGACY_ALIASES,B)&&(U=LEGACY_ALIASES[B],B="%"+U[0]+"%"),hasOwn$1(INTRINSICS,B)){var V=INTRINSICS[B];if(V===needsEval&&(V=doEval(B)),typeof V>"u"&&!I)throw new $TypeError$1("intrinsic "+E+" exists, but is not available. Please file an issue!");return{alias:U,name:B,value:V}}throw new $SyntaxError("intrinsic "+E+" does not exist!")},getIntrinsic=function(E,I){if(typeof E!="string"||E.length===0)throw new $TypeError$1("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof I!="boolean")throw new $TypeError$1('"allowMissing" argument must be a boolean');if($exec(/^%?[^%]*%?$/,E)===null)throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var B=stringToPath$2(E),U=B.length>0?B[0]:"",V=getBaseIntrinsic("%"+U+"%",I),X=V.name,Y=V.value,K=!1,_e=V.alias;_e&&(U=_e[0],$spliceApply(B,$concat$1([0,1],_e)));for(var xe=1,Z=!0;xe<B.length;xe+=1){var J=B[xe],Se=$strSlice(J,0,1),Te=$strSlice(J,-1);if((Se==='"'||Se==="'"||Se==="`"||Te==='"'||Te==="'"||Te==="`")&&Se!==Te)throw new $SyntaxError("property names with quotes must have matching quotes");if((J==="constructor"||!Z)&&(K=!0),U+="."+J,X="%"+U+"%",hasOwn$1(INTRINSICS,X))Y=INTRINSICS[X];else if(Y!=null){if(!(J in Y)){if(!I)throw new $TypeError$1("base intrinsic for "+E+" exists, but the property is not available.");return}if($gOPD&&xe+1>=B.length){var Ae=$gOPD(Y,J);Z=!!Ae,Z&&"get"in Ae&&!("originalValue"in Ae.get)?Y=Ae.get:Y=Y[J]}else Z=hasOwn$1(Y,J),Y=Y[J];Z&&!K&&(INTRINSICS[X]=Y)}}return Y},callBind$1={exports:{}};(function(C){var E=functionBind,I=getIntrinsic,B=I("%Function.prototype.apply%"),U=I("%Function.prototype.call%"),V=I("%Reflect.apply%",!0)||E.call(U,B),X=I("%Object.getOwnPropertyDescriptor%",!0),Y=I("%Object.defineProperty%",!0),K=I("%Math.max%");if(Y)try{Y({},"a",{value:1})}catch{Y=null}C.exports=function(Z){var J=V(E,U,arguments);if(X&&Y){var Se=X(J,"length");Se.configurable&&Y(J,"length",{value:1+K(0,Z.length-(arguments.length-1))})}return J};var _e=function(){return V(E,B,arguments)};Y?Y(C.exports,"apply",{value:_e}):C.exports.apply=_e})(callBind$1);var callBindExports=callBind$1.exports,GetIntrinsic$1=getIntrinsic,callBind=callBindExports,$indexOf=callBind(GetIntrinsic$1("String.prototype.indexOf")),callBound$1=function(E,I){var B=GetIntrinsic$1(E,!!I);return typeof B=="function"&&$indexOf(E,".prototype.")>-1?callBind(B):B};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(__viteBrowserExternal$1);var hasMap=typeof Map=="function"&&Map.prototype,mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,mapSize$1=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get=="function"?mapSizeDescriptor.get:null,mapForEach=hasMap&&Map.prototype.forEach,hasSet=typeof Set=="function"&&Set.prototype,setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get=="function"?setSizeDescriptor.get:null,setForEach=hasSet&&Set.prototype.forEach,hasWeakMap=typeof WeakMap=="function"&&WeakMap.prototype,weakMapHas=hasWeakMap?WeakMap.prototype.has:null,hasWeakSet=typeof WeakSet=="function"&&WeakSet.prototype,weakSetHas=hasWeakSet?WeakSet.prototype.has:null,hasWeakRef=typeof WeakRef=="function"&&WeakRef.prototype,weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null,booleanValueOf=Boolean.prototype.valueOf,objectToString=Object.prototype.toString,functionToString=Function.prototype.toString,$match=String.prototype.match,$slice=String.prototype.slice,$replace=String.prototype.replace,$toUpperCase=String.prototype.toUpperCase,$toLowerCase=String.prototype.toLowerCase,$test=RegExp.prototype.test,$concat=Array.prototype.concat,$join=Array.prototype.join,$arrSlice=Array.prototype.slice,$floor=Math.floor,bigIntValueOf=typeof BigInt=="function"?BigInt.prototype.valueOf:null,gOPS=Object.getOwnPropertySymbols,symToString=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,hasShammedSymbols=typeof Symbol=="function"&&typeof Symbol.iterator=="object",toStringTag=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols||"symbol")?Symbol.toStringTag:null,isEnumerable=Object.prototype.propertyIsEnumerable,gPO=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(C){return C.__proto__}:null);function addNumericSeparator(C,E){if(C===1/0||C===-1/0||C!==C||C&&C>-1e3&&C<1e3||$test.call(/e/,E))return E;var I=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof C=="number"){var B=C<0?-$floor(-C):$floor(C);if(B!==C){var U=String(B),V=$slice.call(E,U.length+1);return $replace.call(U,I,"$&_")+"."+$replace.call($replace.call(V,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(E,I,"$&_")}var utilInspect=require$$0,inspectCustom=utilInspect.custom,inspectSymbol=isSymbol$5(inspectCustom)?inspectCustom:null,objectInspect=function C(E,I,B,U){var V=I||{};if(has$3(V,"quoteStyle")&&V.quoteStyle!=="single"&&V.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has$3(V,"maxStringLength")&&(typeof V.maxStringLength=="number"?V.maxStringLength<0&&V.maxStringLength!==1/0:V.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var X=has$3(V,"customInspect")?V.customInspect:!0;if(typeof X!="boolean"&&X!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has$3(V,"indent")&&V.indent!==null&&V.indent!==" "&&!(parseInt(V.indent,10)===V.indent&&V.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has$3(V,"numericSeparator")&&typeof V.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Y=V.numericSeparator;if(typeof E>"u")return"undefined";if(E===null)return"null";if(typeof E=="boolean")return E?"true":"false";if(typeof E=="string")return inspectString(E,V);if(typeof E=="number"){if(E===0)return 1/0/E>0?"0":"-0";var K=String(E);return Y?addNumericSeparator(E,K):K}if(typeof E=="bigint"){var _e=String(E)+"n";return Y?addNumericSeparator(E,_e):_e}var xe=typeof V.depth>"u"?5:V.depth;if(typeof B>"u"&&(B=0),B>=xe&&xe>0&&typeof E=="object")return isArray$9(E)?"[Array]":"[Object]";var Z=getIndent(V,B);if(typeof U>"u")U=[];else if(indexOf(U,E)>=0)return"[Circular]";function J(Ve,ze,Xe){if(ze&&(U=$arrSlice.call(U),U.push(ze)),Xe){var De={depth:V.depth};return has$3(V,"quoteStyle")&&(De.quoteStyle=V.quoteStyle),C(Ve,De,B+1,U)}return C(Ve,V,B+1,U)}if(typeof E=="function"&&!isRegExp$1(E)){var Se=nameOf(E),Te=arrObjKeys(E,J);return"[Function"+(Se?": "+Se:" (anonymous)")+"]"+(Te.length>0?" { "+$join.call(Te,", ")+" }":"")}if(isSymbol$5(E)){var Ae=hasShammedSymbols?$replace.call(String(E),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(E);return typeof E=="object"&&!hasShammedSymbols?markBoxed(Ae):Ae}if(isElement(E)){for(var Me="<"+$toLowerCase.call(String(E.nodeName)),Ee=E.attributes||[],we=0;we<Ee.length;we++)Me+=" "+Ee[we].name+"="+wrapQuotes(quote(Ee[we].value),"double",V);return Me+=">",E.childNodes&&E.childNodes.length&&(Me+="..."),Me+="</"+$toLowerCase.call(String(E.nodeName))+">",Me}if(isArray$9(E)){if(E.length===0)return"[]";var Pe=arrObjKeys(E,J);return Z&&!singleLineValues(Pe)?"["+indentedJoin(Pe,Z)+"]":"[ "+$join.call(Pe,", ")+" ]"}if(isError(E)){var Ie=arrObjKeys(E,J);return!("cause"in Error.prototype)&&"cause"in E&&!isEnumerable.call(E,"cause")?"{ ["+String(E)+"] "+$join.call($concat.call("[cause]: "+J(E.cause),Ie),", ")+" }":Ie.length===0?"["+String(E)+"]":"{ ["+String(E)+"] "+$join.call(Ie,", ")+" }"}if(typeof E=="object"&&X){if(inspectSymbol&&typeof E[inspectSymbol]=="function"&&utilInspect)return utilInspect(E,{depth:xe-B});if(X!=="symbol"&&typeof E.inspect=="function")return E.inspect()}if(isMap(E)){var Fe=[];return mapForEach&&mapForEach.call(E,function(Ve,ze){Fe.push(J(ze,E,!0)+" => "+J(Ve,E))}),collectionOf("Map",mapSize$1.call(E),Fe,Z)}if(isSet(E)){var Oe=[];return setForEach&&setForEach.call(E,function(Ve){Oe.push(J(Ve,E))}),collectionOf("Set",setSize.call(E),Oe,Z)}if(isWeakMap(E))return weakCollectionOf("WeakMap");if(isWeakSet(E))return weakCollectionOf("WeakSet");if(isWeakRef(E))return weakCollectionOf("WeakRef");if(isNumber(E))return markBoxed(J(Number(E)));if(isBigInt(E))return markBoxed(J(bigIntValueOf.call(E)));if(isBoolean(E))return markBoxed(booleanValueOf.call(E));if(isString(E))return markBoxed(J(String(E)));if(!isDate(E)&&!isRegExp$1(E)){var $e=arrObjKeys(E,J),Le=gPO?gPO(E)===Object.prototype:E instanceof Object||E.constructor===Object,Ue=E instanceof Object?"":"null prototype",He=!Le&&toStringTag&&Object(E)===E&&toStringTag in E?$slice.call(toStr(E),8,-1):Ue?"Object":"",We=Le||typeof E.constructor!="function"?"":E.constructor.name?E.constructor.name+" ":"",je=We+(He||Ue?"["+$join.call($concat.call([],He||[],Ue||[]),": ")+"] ":"");return $e.length===0?je+"{}":Z?je+"{"+indentedJoin($e,Z)+"}":je+"{ "+$join.call($e,", ")+" }"}return String(E)};function wrapQuotes(C,E,I){var B=(I.quoteStyle||E)==="double"?'"':"'";return B+C+B}function quote(C){return $replace.call(String(C),/"/g,"&quot;")}function isArray$9(C){return toStr(C)==="[object Array]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isDate(C){return toStr(C)==="[object Date]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isRegExp$1(C){return toStr(C)==="[object RegExp]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isError(C){return toStr(C)==="[object Error]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isString(C){return toStr(C)==="[object String]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isNumber(C){return toStr(C)==="[object Number]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isBoolean(C){return toStr(C)==="[object Boolean]"&&(!toStringTag||!(typeof C=="object"&&toStringTag in C))}function isSymbol$5(C){if(hasShammedSymbols)return C&&typeof C=="object"&&C instanceof Symbol;if(typeof C=="symbol")return!0;if(!C||typeof C!="object"||!symToString)return!1;try{return symToString.call(C),!0}catch{}return!1}function isBigInt(C){if(!C||typeof C!="object"||!bigIntValueOf)return!1;try{return bigIntValueOf.call(C),!0}catch{}return!1}var hasOwn=Object.prototype.hasOwnProperty||function(C){return C in this};function has$3(C,E){return hasOwn.call(C,E)}function toStr(C){return objectToString.call(C)}function nameOf(C){if(C.name)return C.name;var E=$match.call(functionToString.call(C),/^function\s*([\w$]+)/);return E?E[1]:null}function indexOf(C,E){if(C.indexOf)return C.indexOf(E);for(var I=0,B=C.length;I<B;I++)if(C[I]===E)return I;return-1}function isMap(C){if(!mapSize$1||!C||typeof C!="object")return!1;try{mapSize$1.call(C);try{setSize.call(C)}catch{return!0}return C instanceof Map}catch{}return!1}function isWeakMap(C){if(!weakMapHas||!C||typeof C!="object")return!1;try{weakMapHas.call(C,weakMapHas);try{weakSetHas.call(C,weakSetHas)}catch{return!0}return C instanceof WeakMap}catch{}return!1}function isWeakRef(C){if(!weakRefDeref||!C||typeof C!="object")return!1;try{return weakRefDeref.call(C),!0}catch{}return!1}function isSet(C){if(!setSize||!C||typeof C!="object")return!1;try{setSize.call(C);try{mapSize$1.call(C)}catch{return!0}return C instanceof Set}catch{}return!1}function isWeakSet(C){if(!weakSetHas||!C||typeof C!="object")return!1;try{weakSetHas.call(C,weakSetHas);try{weakMapHas.call(C,weakMapHas)}catch{return!0}return C instanceof WeakSet}catch{}return!1}function isElement(C){return!C||typeof C!="object"?!1:typeof HTMLElement<"u"&&C instanceof HTMLElement?!0:typeof C.nodeName=="string"&&typeof C.getAttribute=="function"}function inspectString(C,E){if(C.length>E.maxStringLength){var I=C.length-E.maxStringLength,B="... "+I+" more character"+(I>1?"s":"");return inspectString($slice.call(C,0,E.maxStringLength),E)+B}var U=$replace.call($replace.call(C,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(U,"single",E)}function lowbyte(C){var E=C.charCodeAt(0),I={8:"b",9:"t",10:"n",12:"f",13:"r"}[E];return I?"\\"+I:"\\x"+(E<16?"0":"")+$toUpperCase.call(E.toString(16))}function markBoxed(C){return"Object("+C+")"}function weakCollectionOf(C){return C+" { ? }"}function collectionOf(C,E,I,B){var U=B?indentedJoin(I,B):$join.call(I,", ");return C+" ("+E+") {"+U+"}"}function singleLineValues(C){for(var E=0;E<C.length;E++)if(indexOf(C[E],`
34
- `)>=0)return!1;return!0}function getIndent(C,E){var I;if(C.indent===" ")I=" ";else if(typeof C.indent=="number"&&C.indent>0)I=$join.call(Array(C.indent+1)," ");else return null;return{base:I,prev:$join.call(Array(E+1),I)}}function indentedJoin(C,E){if(C.length===0)return"";var I=`
35
- `+E.prev+E.base;return I+$join.call(C,","+I)+`
36
- `+E.prev}function arrObjKeys(C,E){var I=isArray$9(C),B=[];if(I){B.length=C.length;for(var U=0;U<C.length;U++)B[U]=has$3(C,U)?E(C[U],C):""}var V=typeof gOPS=="function"?gOPS(C):[],X;if(hasShammedSymbols){X={};for(var Y=0;Y<V.length;Y++)X["$"+V[Y]]=V[Y]}for(var K in C)has$3(C,K)&&(I&&String(Number(K))===K&&K<C.length||hasShammedSymbols&&X["$"+K]instanceof Symbol||($test.call(/[^\w$]/,K)?B.push(E(K,C)+": "+E(C[K],C)):B.push(K+": "+E(C[K],C))));if(typeof gOPS=="function")for(var _e=0;_e<V.length;_e++)isEnumerable.call(C,V[_e])&&B.push("["+E(V[_e])+"]: "+E(C[V[_e]],C));return B}var GetIntrinsic=getIntrinsic,callBound=callBound$1,inspect=objectInspect,$TypeError=GetIntrinsic("%TypeError%"),$WeakMap=GetIntrinsic("%WeakMap%",!0),$Map=GetIntrinsic("%Map%",!0),$weakMapGet=callBound("WeakMap.prototype.get",!0),$weakMapSet=callBound("WeakMap.prototype.set",!0),$weakMapHas=callBound("WeakMap.prototype.has",!0),$mapGet=callBound("Map.prototype.get",!0),$mapSet=callBound("Map.prototype.set",!0),$mapHas=callBound("Map.prototype.has",!0),listGetNode=function(C,E){for(var I=C,B;(B=I.next)!==null;I=B)if(B.key===E)return I.next=B.next,B.next=C.next,C.next=B,B},listGet=function(C,E){var I=listGetNode(C,E);return I&&I.value},listSet=function(C,E,I){var B=listGetNode(C,E);B?B.value=I:C.next={key:E,next:C.next,value:I}},listHas=function(C,E){return!!listGetNode(C,E)},sideChannel=function(){var E,I,B,U={assert:function(V){if(!U.has(V))throw new $TypeError("Side channel does not contain "+inspect(V))},get:function(V){if($WeakMap&&V&&(typeof V=="object"||typeof V=="function")){if(E)return $weakMapGet(E,V)}else if($Map){if(I)return $mapGet(I,V)}else if(B)return listGet(B,V)},has:function(V){if($WeakMap&&V&&(typeof V=="object"||typeof V=="function")){if(E)return $weakMapHas(E,V)}else if($Map){if(I)return $mapHas(I,V)}else if(B)return listHas(B,V);return!1},set:function(V,X){$WeakMap&&V&&(typeof V=="object"||typeof V=="function")?(E||(E=new $WeakMap),$weakMapSet(E,V,X)):$Map?(I||(I=new $Map),$mapSet(I,V,X)):(B||(B={key:{},next:null}),listSet(B,V,X))}};return U},replace=String.prototype.replace,percentTwenties=/%20/g,Format={RFC1738:"RFC1738",RFC3986:"RFC3986"},formats$3={default:Format.RFC3986,formatters:{RFC1738:function(C){return replace.call(C,percentTwenties,"+")},RFC3986:function(C){return String(C)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986},formats$2=formats$3,has$2=Object.prototype.hasOwnProperty,isArray$8=Array.isArray,hexTable=function(){for(var C=[],E=0;E<256;++E)C.push("%"+((E<16?"0":"")+E.toString(16)).toUpperCase());return C}(),compactQueue=function(E){for(;E.length>1;){var I=E.pop(),B=I.obj[I.prop];if(isArray$8(B)){for(var U=[],V=0;V<B.length;++V)typeof B[V]<"u"&&U.push(B[V]);I.obj[I.prop]=U}}},arrayToObject=function(E,I){for(var B=I&&I.plainObjects?Object.create(null):{},U=0;U<E.length;++U)typeof E[U]<"u"&&(B[U]=E[U]);return B},merge=function C(E,I,B){if(!I)return E;if(typeof I!="object"){if(isArray$8(E))E.push(I);else if(E&&typeof E=="object")(B&&(B.plainObjects||B.allowPrototypes)||!has$2.call(Object.prototype,I))&&(E[I]=!0);else return[E,I];return E}if(!E||typeof E!="object")return[E].concat(I);var U=E;return isArray$8(E)&&!isArray$8(I)&&(U=arrayToObject(E,B)),isArray$8(E)&&isArray$8(I)?(I.forEach(function(V,X){if(has$2.call(E,X)){var Y=E[X];Y&&typeof Y=="object"&&V&&typeof V=="object"?E[X]=C(Y,V,B):E.push(V)}else E[X]=V}),E):Object.keys(I).reduce(function(V,X){var Y=I[X];return has$2.call(V,X)?V[X]=C(V[X],Y,B):V[X]=Y,V},U)},assign=function(E,I){return Object.keys(I).reduce(function(B,U){return B[U]=I[U],B},E)},decode=function(C,E,I){var B=C.replace(/\+/g," ");if(I==="iso-8859-1")return B.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(B)}catch{return B}},encode=function(E,I,B,U,V){if(E.length===0)return E;var X=E;if(typeof E=="symbol"?X=Symbol.prototype.toString.call(E):typeof E!="string"&&(X=String(E)),B==="iso-8859-1")return escape(X).replace(/%u[0-9a-f]{4}/gi,function(xe){return"%26%23"+parseInt(xe.slice(2),16)+"%3B"});for(var Y="",K=0;K<X.length;++K){var _e=X.charCodeAt(K);if(_e===45||_e===46||_e===95||_e===126||_e>=48&&_e<=57||_e>=65&&_e<=90||_e>=97&&_e<=122||V===formats$2.RFC1738&&(_e===40||_e===41)){Y+=X.charAt(K);continue}if(_e<128){Y=Y+hexTable[_e];continue}if(_e<2048){Y=Y+(hexTable[192|_e>>6]+hexTable[128|_e&63]);continue}if(_e<55296||_e>=57344){Y=Y+(hexTable[224|_e>>12]+hexTable[128|_e>>6&63]+hexTable[128|_e&63]);continue}K+=1,_e=65536+((_e&1023)<<10|X.charCodeAt(K)&1023),Y+=hexTable[240|_e>>18]+hexTable[128|_e>>12&63]+hexTable[128|_e>>6&63]+hexTable[128|_e&63]}return Y},compact=function(E){for(var I=[{obj:{o:E},prop:"o"}],B=[],U=0;U<I.length;++U)for(var V=I[U],X=V.obj[V.prop],Y=Object.keys(X),K=0;K<Y.length;++K){var _e=Y[K],xe=X[_e];typeof xe=="object"&&xe!==null&&B.indexOf(xe)===-1&&(I.push({obj:X,prop:_e}),B.push(xe))}return compactQueue(I),E},isRegExp=function(E){return Object.prototype.toString.call(E)==="[object RegExp]"},isBuffer=function(E){return!E||typeof E!="object"?!1:!!(E.constructor&&E.constructor.isBuffer&&E.constructor.isBuffer(E))},combine$1=function(E,I){return[].concat(E,I)},maybeMap=function(E,I){if(isArray$8(E)){for(var B=[],U=0;U<E.length;U+=1)B.push(I(E[U]));return B}return I(E)},utils$2={arrayToObject,assign,combine:combine$1,compact,decode,encode,isBuffer,isRegExp,maybeMap,merge},getSideChannel=sideChannel,utils$1=utils$2,formats$1=formats$3,has$1=Object.prototype.hasOwnProperty,arrayPrefixGenerators={brackets:function(E){return E+"[]"},comma:"comma",indices:function(E,I){return E+"["+I+"]"},repeat:function(E){return E}},isArray$7=Array.isArray,push=Array.prototype.push,pushToArray=function(C,E){push.apply(C,isArray$7(E)?E:[E])},toISO=Date.prototype.toISOString,defaultFormat=formats$1.default,defaults$1={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:utils$1.encode,encodeValuesOnly:!1,format:defaultFormat,formatter:formats$1.formatters[defaultFormat],indices:!1,serializeDate:function(E){return toISO.call(E)},skipNulls:!1,strictNullHandling:!1},isNonNullishPrimitive=function(E){return typeof E=="string"||typeof E=="number"||typeof E=="boolean"||typeof E=="symbol"||typeof E=="bigint"},sentinel={},stringify$1=function C(E,I,B,U,V,X,Y,K,_e,xe,Z,J,Se,Te,Ae,Me){for(var Ee=E,we=Me,Pe=0,Ie=!1;(we=we.get(sentinel))!==void 0&&!Ie;){var Fe=we.get(E);if(Pe+=1,typeof Fe<"u"){if(Fe===Pe)throw new RangeError("Cyclic object value");Ie=!0}typeof we.get(sentinel)>"u"&&(Pe=0)}if(typeof K=="function"?Ee=K(I,Ee):Ee instanceof Date?Ee=Z(Ee):B==="comma"&&isArray$7(Ee)&&(Ee=utils$1.maybeMap(Ee,function(De){return De instanceof Date?Z(De):De})),Ee===null){if(V)return Y&&!Te?Y(I,defaults$1.encoder,Ae,"key",J):I;Ee=""}if(isNonNullishPrimitive(Ee)||utils$1.isBuffer(Ee)){if(Y){var Oe=Te?I:Y(I,defaults$1.encoder,Ae,"key",J);return[Se(Oe)+"="+Se(Y(Ee,defaults$1.encoder,Ae,"value",J))]}return[Se(I)+"="+Se(String(Ee))]}var $e=[];if(typeof Ee>"u")return $e;var Le;if(B==="comma"&&isArray$7(Ee))Te&&Y&&(Ee=utils$1.maybeMap(Ee,Y)),Le=[{value:Ee.length>0?Ee.join(",")||null:void 0}];else if(isArray$7(K))Le=K;else{var Ue=Object.keys(Ee);Le=_e?Ue.sort(_e):Ue}for(var He=U&&isArray$7(Ee)&&Ee.length===1?I+"[]":I,We=0;We<Le.length;++We){var je=Le[We],Ve=typeof je=="object"&&typeof je.value<"u"?je.value:Ee[je];if(!(X&&Ve===null)){var ze=isArray$7(Ee)?typeof B=="function"?B(He,je):He:He+(xe?"."+je:"["+je+"]");Me.set(E,Pe);var Xe=getSideChannel();Xe.set(sentinel,Me),pushToArray($e,C(Ve,ze,B,U,V,X,B==="comma"&&Te&&isArray$7(Ee)?null:Y,K,_e,xe,Z,J,Se,Te,Ae,Xe))}}return $e},normalizeStringifyOptions=function(E){if(!E)return defaults$1;if(E.encoder!==null&&typeof E.encoder<"u"&&typeof E.encoder!="function")throw new TypeError("Encoder has to be a function.");var I=E.charset||defaults$1.charset;if(typeof E.charset<"u"&&E.charset!=="utf-8"&&E.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var B=formats$1.default;if(typeof E.format<"u"){if(!has$1.call(formats$1.formatters,E.format))throw new TypeError("Unknown format option provided.");B=E.format}var U=formats$1.formatters[B],V=defaults$1.filter;return(typeof E.filter=="function"||isArray$7(E.filter))&&(V=E.filter),{addQueryPrefix:typeof E.addQueryPrefix=="boolean"?E.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:typeof E.allowDots>"u"?defaults$1.allowDots:!!E.allowDots,charset:I,charsetSentinel:typeof E.charsetSentinel=="boolean"?E.charsetSentinel:defaults$1.charsetSentinel,delimiter:typeof E.delimiter>"u"?defaults$1.delimiter:E.delimiter,encode:typeof E.encode=="boolean"?E.encode:defaults$1.encode,encoder:typeof E.encoder=="function"?E.encoder:defaults$1.encoder,encodeValuesOnly:typeof E.encodeValuesOnly=="boolean"?E.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:V,format:B,formatter:U,serializeDate:typeof E.serializeDate=="function"?E.serializeDate:defaults$1.serializeDate,skipNulls:typeof E.skipNulls=="boolean"?E.skipNulls:defaults$1.skipNulls,sort:typeof E.sort=="function"?E.sort:null,strictNullHandling:typeof E.strictNullHandling=="boolean"?E.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(C,E){var I=C,B=normalizeStringifyOptions(E),U,V;typeof B.filter=="function"?(V=B.filter,I=V("",I)):isArray$7(B.filter)&&(V=B.filter,U=V);var X=[];if(typeof I!="object"||I===null)return"";var Y;E&&E.arrayFormat in arrayPrefixGenerators?Y=E.arrayFormat:E&&"indices"in E?Y=E.indices?"indices":"repeat":Y="indices";var K=arrayPrefixGenerators[Y];if(E&&"commaRoundTrip"in E&&typeof E.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var _e=K==="comma"&&E&&E.commaRoundTrip;U||(U=Object.keys(I)),B.sort&&U.sort(B.sort);for(var xe=getSideChannel(),Z=0;Z<U.length;++Z){var J=U[Z];B.skipNulls&&I[J]===null||pushToArray(X,stringify$1(I[J],J,K,_e,B.strictNullHandling,B.skipNulls,B.encode?B.encoder:null,B.filter,B.sort,B.allowDots,B.serializeDate,B.format,B.formatter,B.encodeValuesOnly,B.charset,xe))}var Se=X.join(B.delimiter),Te=B.addQueryPrefix===!0?"?":"";return B.charsetSentinel&&(B.charset==="iso-8859-1"?Te+="utf8=%26%2310003%3B&":Te+="utf8=%E2%9C%93&"),Se.length>0?Te+Se:""},utils=utils$2,has=Object.prototype.hasOwnProperty,isArray$6=Array.isArray,defaults={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:utils.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(C){return C.replace(/&#(\d+);/g,function(E,I){return String.fromCharCode(parseInt(I,10))})},parseArrayValue=function(C,E){return C&&typeof C=="string"&&E.comma&&C.indexOf(",")>-1?C.split(","):C},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function(E,I){var B={__proto__:null},U=I.ignoreQueryPrefix?E.replace(/^\?/,""):E,V=I.parameterLimit===1/0?void 0:I.parameterLimit,X=U.split(I.delimiter,V),Y=-1,K,_e=I.charset;if(I.charsetSentinel)for(K=0;K<X.length;++K)X[K].indexOf("utf8=")===0&&(X[K]===charsetSentinel?_e="utf-8":X[K]===isoSentinel&&(_e="iso-8859-1"),Y=K,K=X.length);for(K=0;K<X.length;++K)if(K!==Y){var xe=X[K],Z=xe.indexOf("]="),J=Z===-1?xe.indexOf("="):Z+1,Se,Te;J===-1?(Se=I.decoder(xe,defaults.decoder,_e,"key"),Te=I.strictNullHandling?null:""):(Se=I.decoder(xe.slice(0,J),defaults.decoder,_e,"key"),Te=utils.maybeMap(parseArrayValue(xe.slice(J+1),I),function(Ae){return I.decoder(Ae,defaults.decoder,_e,"value")})),Te&&I.interpretNumericEntities&&_e==="iso-8859-1"&&(Te=interpretNumericEntities(Te)),xe.indexOf("[]=")>-1&&(Te=isArray$6(Te)?[Te]:Te),has.call(B,Se)?B[Se]=utils.combine(B[Se],Te):B[Se]=Te}return B},parseObject=function(C,E,I,B){for(var U=B?E:parseArrayValue(E,I),V=C.length-1;V>=0;--V){var X,Y=C[V];if(Y==="[]"&&I.parseArrays)X=[].concat(U);else{X=I.plainObjects?Object.create(null):{};var K=Y.charAt(0)==="["&&Y.charAt(Y.length-1)==="]"?Y.slice(1,-1):Y,_e=parseInt(K,10);!I.parseArrays&&K===""?X={0:U}:!isNaN(_e)&&Y!==K&&String(_e)===K&&_e>=0&&I.parseArrays&&_e<=I.arrayLimit?(X=[],X[_e]=U):K!=="__proto__"&&(X[K]=U)}U=X}return U},parseKeys=function(E,I,B,U){if(E){var V=B.allowDots?E.replace(/\.([^.[]+)/g,"[$1]"):E,X=/(\[[^[\]]*])/,Y=/(\[[^[\]]*])/g,K=B.depth>0&&X.exec(V),_e=K?V.slice(0,K.index):V,xe=[];if(_e){if(!B.plainObjects&&has.call(Object.prototype,_e)&&!B.allowPrototypes)return;xe.push(_e)}for(var Z=0;B.depth>0&&(K=Y.exec(V))!==null&&Z<B.depth;){if(Z+=1,!B.plainObjects&&has.call(Object.prototype,K[1].slice(1,-1))&&!B.allowPrototypes)return;xe.push(K[1])}return K&&xe.push("["+V.slice(K.index)+"]"),parseObject(xe,I,B,U)}},normalizeParseOptions=function(E){if(!E)return defaults;if(E.decoder!==null&&E.decoder!==void 0&&typeof E.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof E.charset<"u"&&E.charset!=="utf-8"&&E.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var I=typeof E.charset>"u"?defaults.charset:E.charset;return{allowDots:typeof E.allowDots>"u"?defaults.allowDots:!!E.allowDots,allowPrototypes:typeof E.allowPrototypes=="boolean"?E.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof E.allowSparse=="boolean"?E.allowSparse:defaults.allowSparse,arrayLimit:typeof E.arrayLimit=="number"?E.arrayLimit:defaults.arrayLimit,charset:I,charsetSentinel:typeof E.charsetSentinel=="boolean"?E.charsetSentinel:defaults.charsetSentinel,comma:typeof E.comma=="boolean"?E.comma:defaults.comma,decoder:typeof E.decoder=="function"?E.decoder:defaults.decoder,delimiter:typeof E.delimiter=="string"||utils.isRegExp(E.delimiter)?E.delimiter:defaults.delimiter,depth:typeof E.depth=="number"||E.depth===!1?+E.depth:defaults.depth,ignoreQueryPrefix:E.ignoreQueryPrefix===!0,interpretNumericEntities:typeof E.interpretNumericEntities=="boolean"?E.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof E.parameterLimit=="number"?E.parameterLimit:defaults.parameterLimit,parseArrays:E.parseArrays!==!1,plainObjects:typeof E.plainObjects=="boolean"?E.plainObjects:defaults.plainObjects,strictNullHandling:typeof E.strictNullHandling=="boolean"?E.strictNullHandling:defaults.strictNullHandling}},parse$3=function(C,E){var I=normalizeParseOptions(E);if(C===""||C===null||typeof C>"u")return I.plainObjects?Object.create(null):{};for(var B=typeof C=="string"?parseValues(C,I):C,U=I.plainObjects?Object.create(null):{},V=Object.keys(B),X=0;X<V.length;++X){var Y=V[X],K=parseKeys(Y,B[Y],I,typeof C=="string");U=utils.merge(U,K,I)}return I.allowSparse===!0?U:utils.compact(U)},stringify=stringify_1,parse$2=parse$3,formats=formats$3,lib$2={formats,parse:parse$2,stringify},punycode=punycodeExports;function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r",`
37
- `," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=lib$2;function urlParse(C,E,I){if(C&&typeof C=="object"&&C instanceof Url)return C;var B=new Url;return B.parse(C,E,I),B}Url.prototype.parse=function(C,E,I){if(typeof C!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof C);var B=C.indexOf("?"),U=B!==-1&&B<C.indexOf("#")?"?":"#",V=C.split(U),X=/\\/g;V[0]=V[0].replace(X,"/"),C=V.join(U);var Y=C;if(Y=Y.trim(),!I&&C.split("#").length===1){var K=simplePathPattern.exec(Y);if(K)return this.path=Y,this.href=Y,this.pathname=K[1],K[2]?(this.search=K[2],E?this.query=querystring.parse(this.search.substr(1)):this.query=this.search.substr(1)):E&&(this.search="",this.query={}),this}var _e=protocolPattern.exec(Y);if(_e){_e=_e[0];var xe=_e.toLowerCase();this.protocol=xe,Y=Y.substr(_e.length)}if(I||_e||Y.match(/^\/\/[^@/]+@[^@/]+/)){var Z=Y.substr(0,2)==="//";Z&&!(_e&&hostlessProtocol[_e])&&(Y=Y.substr(2),this.slashes=!0)}if(!hostlessProtocol[_e]&&(Z||_e&&!slashedProtocol[_e])){for(var J=-1,Se=0;Se<hostEndingChars.length;Se++){var Te=Y.indexOf(hostEndingChars[Se]);Te!==-1&&(J===-1||Te<J)&&(J=Te)}var Ae,Me;J===-1?Me=Y.lastIndexOf("@"):Me=Y.lastIndexOf("@",J),Me!==-1&&(Ae=Y.slice(0,Me),Y=Y.slice(Me+1),this.auth=decodeURIComponent(Ae)),J=-1;for(var Se=0;Se<nonHostChars.length;Se++){var Te=Y.indexOf(nonHostChars[Se]);Te!==-1&&(J===-1||Te<J)&&(J=Te)}J===-1&&(J=Y.length),this.host=Y.slice(0,J),Y=Y.slice(J),this.parseHost(),this.hostname=this.hostname||"";var Ee=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!Ee)for(var we=this.hostname.split(/\./),Se=0,Pe=we.length;Se<Pe;Se++){var Ie=we[Se];if(Ie&&!Ie.match(hostnamePartPattern)){for(var Fe="",Oe=0,$e=Ie.length;Oe<$e;Oe++)Ie.charCodeAt(Oe)>127?Fe+="x":Fe+=Ie[Oe];if(!Fe.match(hostnamePartPattern)){var Le=we.slice(0,Se),Ue=we.slice(Se+1),He=Ie.match(hostnamePartStart);He&&(Le.push(He[1]),Ue.unshift(He[2])),Ue.length&&(Y="/"+Ue.join(".")+Y),this.hostname=Le.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),Ee||(this.hostname=punycode.toASCII(this.hostname));var We=this.port?":"+this.port:"",je=this.hostname||"";this.host=je+We,this.href+=this.host,Ee&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),Y[0]!=="/"&&(Y="/"+Y))}if(!unsafeProtocol[xe])for(var Se=0,Pe=autoEscape.length;Se<Pe;Se++){var Ve=autoEscape[Se];if(Y.indexOf(Ve)!==-1){var ze=encodeURIComponent(Ve);ze===Ve&&(ze=escape(Ve)),Y=Y.split(Ve).join(ze)}}var Xe=Y.indexOf("#");Xe!==-1&&(this.hash=Y.substr(Xe),Y=Y.slice(0,Xe));var De=Y.indexOf("?");if(De!==-1?(this.search=Y.substr(De),this.query=Y.substr(De+1),E&&(this.query=querystring.parse(this.query)),Y=Y.slice(0,De)):E&&(this.search="",this.query={}),Y&&(this.pathname=Y),slashedProtocol[xe]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var We=this.pathname||"",Be=this.search||"";this.path=We+Be}return this.href=this.format(),this};function urlFormat(C){return typeof C=="string"&&(C=urlParse(C)),C instanceof Url?C.format():Url.prototype.format.call(C)}Url.prototype.format=function(){var C=this.auth||"";C&&(C=encodeURIComponent(C),C=C.replace(/%3A/i,":"),C+="@");var E=this.protocol||"",I=this.pathname||"",B=this.hash||"",U=!1,V="";this.host?U=C+this.host:this.hostname&&(U=C+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(U+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(V=querystring.stringify(this.query));var X=this.search||V&&"?"+V||"";return E&&E.substr(-1)!==":"&&(E+=":"),this.slashes||(!E||slashedProtocol[E])&&U!==!1?(U="//"+(U||""),I&&I.charAt(0)!=="/"&&(I="/"+I)):U||(U=""),B&&B.charAt(0)!=="#"&&(B="#"+B),X&&X.charAt(0)!=="?"&&(X="?"+X),I=I.replace(/[?#]/g,function(Y){return encodeURIComponent(Y)}),X=X.replace("#","%23"),E+U+I+X+B};function urlResolve(C,E){return urlParse(C,!1,!0).resolve(E)}Url.prototype.resolve=function(C){return this.resolveObject(urlParse(C,!1,!0)).format()},Url.prototype.resolveObject=function(C){if(typeof C=="string"){var E=new Url;E.parse(C,!1,!0),C=E}for(var I=new Url,B=Object.keys(this),U=0;U<B.length;U++){var V=B[U];I[V]=this[V]}if(I.hash=C.hash,C.href==="")return I.href=I.format(),I;if(C.slashes&&!C.protocol){for(var X=Object.keys(C),Y=0;Y<X.length;Y++){var K=X[Y];K!=="protocol"&&(I[K]=C[K])}return slashedProtocol[I.protocol]&&I.hostname&&!I.pathname&&(I.pathname="/",I.path=I.pathname),I.href=I.format(),I}if(C.protocol&&C.protocol!==I.protocol){if(!slashedProtocol[C.protocol]){for(var _e=Object.keys(C),xe=0;xe<_e.length;xe++){var Z=_e[xe];I[Z]=C[Z]}return I.href=I.format(),I}if(I.protocol=C.protocol,!C.host&&!hostlessProtocol[C.protocol]){for(var Pe=(C.pathname||"").split("/");Pe.length&&!(C.host=Pe.shift()););C.host||(C.host=""),C.hostname||(C.hostname=""),Pe[0]!==""&&Pe.unshift(""),Pe.length<2&&Pe.unshift(""),I.pathname=Pe.join("/")}else I.pathname=C.pathname;if(I.search=C.search,I.query=C.query,I.host=C.host||"",I.auth=C.auth,I.hostname=C.hostname||C.host,I.port=C.port,I.pathname||I.search){var J=I.pathname||"",Se=I.search||"";I.path=J+Se}return I.slashes=I.slashes||C.slashes,I.href=I.format(),I}var Te=I.pathname&&I.pathname.charAt(0)==="/",Ae=C.host||C.pathname&&C.pathname.charAt(0)==="/",Me=Ae||Te||I.host&&C.pathname,Ee=Me,we=I.pathname&&I.pathname.split("/")||[],Pe=C.pathname&&C.pathname.split("/")||[],Ie=I.protocol&&!slashedProtocol[I.protocol];if(Ie&&(I.hostname="",I.port=null,I.host&&(we[0]===""?we[0]=I.host:we.unshift(I.host)),I.host="",C.protocol&&(C.hostname=null,C.port=null,C.host&&(Pe[0]===""?Pe[0]=C.host:Pe.unshift(C.host)),C.host=null),Me=Me&&(Pe[0]===""||we[0]==="")),Ae)I.host=C.host||C.host===""?C.host:I.host,I.hostname=C.hostname||C.hostname===""?C.hostname:I.hostname,I.search=C.search,I.query=C.query,we=Pe;else if(Pe.length)we||(we=[]),we.pop(),we=we.concat(Pe),I.search=C.search,I.query=C.query;else if(C.search!=null){if(Ie){I.host=we.shift(),I.hostname=I.host;var Fe=I.host&&I.host.indexOf("@")>0?I.host.split("@"):!1;Fe&&(I.auth=Fe.shift(),I.hostname=Fe.shift(),I.host=I.hostname)}return I.search=C.search,I.query=C.query,(I.pathname!==null||I.search!==null)&&(I.path=(I.pathname?I.pathname:"")+(I.search?I.search:"")),I.href=I.format(),I}if(!we.length)return I.pathname=null,I.search?I.path="/"+I.search:I.path=null,I.href=I.format(),I;for(var Oe=we.slice(-1)[0],$e=(I.host||C.host||we.length>1)&&(Oe==="."||Oe==="..")||Oe==="",Le=0,Ue=we.length;Ue>=0;Ue--)Oe=we[Ue],Oe==="."?we.splice(Ue,1):Oe===".."?(we.splice(Ue,1),Le++):Le&&(we.splice(Ue,1),Le--);if(!Me&&!Ee)for(;Le--;Le)we.unshift("..");Me&&we[0]!==""&&(!we[0]||we[0].charAt(0)!=="/")&&we.unshift(""),$e&&we.join("/").substr(-1)!=="/"&&we.push("");var He=we[0]===""||we[0]&&we[0].charAt(0)==="/";if(Ie){I.hostname=He?"":we.length?we.shift():"",I.host=I.hostname;var Fe=I.host&&I.host.indexOf("@")>0?I.host.split("@"):!1;Fe&&(I.auth=Fe.shift(),I.hostname=Fe.shift(),I.host=I.hostname)}return Me=Me||I.host&&we.length,Me&&!He&&we.unshift(""),we.length>0?I.pathname=we.join("/"):(I.pathname=null,I.path=null),(I.pathname!==null||I.search!==null)&&(I.path=(I.pathname?I.pathname:"")+(I.search?I.search:"")),I.auth=C.auth||I.auth,I.slashes=I.slashes||C.slashes,I.href=I.format(),I},Url.prototype.parseHost=function(){var C=this.host,E=portPattern.exec(C);E&&(E=E[0],E!==":"&&(this.port=E.substr(1)),C=C.substr(0,C.length-E.length)),C&&(this.hostname=C)};var parse$1=urlParse,resolve=urlResolve,format=urlFormat;const url={parse:parse$1,format,resolve},warnings={};function deprecation(C,E,I=3){if(warnings[E])return;let B=new Error().stack;typeof B>"u"?console.warn("PixiJS Deprecation Warning: ",`${E}
38
- Deprecated since v${C}`):(B=B.split(`
39
- `).splice(I).join(`
40
- `),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${E}
41
- Deprecated since v${C}`),console.warn(B),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${E}
42
- Deprecated since v${C}`),console.warn(B))),warnings[E]=!0}let supported;function isWebGLSupported(){return typeof supported>"u"&&(supported=function(){var I;const E={stencil:!0,failIfMajorPerformanceCaveat:settings.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!settings.ADAPTER.getWebGLRenderingContext())return!1;const B=settings.ADAPTER.createCanvas();let U=B.getContext("webgl",E)||B.getContext("experimental-webgl",E);const V=!!((I=U==null?void 0:U.getContextAttributes())!=null&&I.stencil);if(U){const X=U.getExtension("WEBGL_lose_context");X&&X.loseContext()}return U=null,V}catch{return!1}}()),supported}var r$4={grad:.9,turn:360,rad:360/(2*Math.PI)},t$3=function(C){return typeof C=="string"?C.length>0:typeof C=="number"},n$5=function(C,E,I){return E===void 0&&(E=0),I===void 0&&(I=Math.pow(10,E)),Math.round(I*C)/I+0},e$3=function(C,E,I){return E===void 0&&(E=0),I===void 0&&(I=1),C>I?I:C>E?C:E},u$4=function(C){return(C=isFinite(C)?C%360:0)>0?C:C+360},a$6=function(C){return{r:e$3(C.r,0,255),g:e$3(C.g,0,255),b:e$3(C.b,0,255),a:e$3(C.a)}},o$5=function(C){return{r:n$5(C.r),g:n$5(C.g),b:n$5(C.b),a:n$5(C.a,3)}},i$6=/^#([0-9a-f]{3,8})$/i,s$5=function(C){var E=C.toString(16);return E.length<2?"0"+E:E},h$1=function(C){var E=C.r,I=C.g,B=C.b,U=C.a,V=Math.max(E,I,B),X=V-Math.min(E,I,B),Y=X?V===E?(I-B)/X:V===I?2+(B-E)/X:4+(E-I)/X:0;return{h:60*(Y<0?Y+6:Y),s:V?X/V*100:0,v:V/255*100,a:U}},b$2=function(C){var E=C.h,I=C.s,B=C.v,U=C.a;E=E/360*6,I/=100,B/=100;var V=Math.floor(E),X=B*(1-I),Y=B*(1-(E-V)*I),K=B*(1-(1-E+V)*I),_e=V%6;return{r:255*[B,Y,X,X,K,B][_e],g:255*[K,B,B,Y,X,X][_e],b:255*[X,X,K,B,B,Y][_e],a:U}},g$2=function(C){return{h:u$4(C.h),s:e$3(C.s,0,100),l:e$3(C.l,0,100),a:e$3(C.a)}},d$4=function(C){return{h:n$5(C.h),s:n$5(C.s),l:n$5(C.l),a:n$5(C.a,3)}},f$4=function(C){return b$2((I=(E=C).s,{h:E.h,s:(I*=((B=E.l)<50?B:100-B)/100)>0?2*I/(B+I)*100:0,v:B+I,a:E.a}));var E,I,B},c$7=function(C){return{h:(E=h$1(C)).h,s:(U=(200-(I=E.s))*(B=E.v)/100)>0&&U<200?I*B/100/(U<=100?U:200-U)*100:0,l:U/2,a:E.a};var E,I,B,U},l$5=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,p$2=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v$3=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m$3=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y$2={string:[[function(C){var E=i$6.exec(C);return E?(C=E[1]).length<=4?{r:parseInt(C[0]+C[0],16),g:parseInt(C[1]+C[1],16),b:parseInt(C[2]+C[2],16),a:C.length===4?n$5(parseInt(C[3]+C[3],16)/255,2):1}:C.length===6||C.length===8?{r:parseInt(C.substr(0,2),16),g:parseInt(C.substr(2,2),16),b:parseInt(C.substr(4,2),16),a:C.length===8?n$5(parseInt(C.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(C){var E=v$3.exec(C)||m$3.exec(C);return E?E[2]!==E[4]||E[4]!==E[6]?null:a$6({r:Number(E[1])/(E[2]?100/255:1),g:Number(E[3])/(E[4]?100/255:1),b:Number(E[5])/(E[6]?100/255:1),a:E[7]===void 0?1:Number(E[7])/(E[8]?100:1)}):null},"rgb"],[function(C){var E=l$5.exec(C)||p$2.exec(C);if(!E)return null;var I,B,U=g$2({h:(I=E[1],B=E[2],B===void 0&&(B="deg"),Number(I)*(r$4[B]||1)),s:Number(E[3]),l:Number(E[4]),a:E[5]===void 0?1:Number(E[5])/(E[6]?100:1)});return f$4(U)},"hsl"]],object:[[function(C){var E=C.r,I=C.g,B=C.b,U=C.a,V=U===void 0?1:U;return t$3(E)&&t$3(I)&&t$3(B)?a$6({r:Number(E),g:Number(I),b:Number(B),a:Number(V)}):null},"rgb"],[function(C){var E=C.h,I=C.s,B=C.l,U=C.a,V=U===void 0?1:U;if(!t$3(E)||!t$3(I)||!t$3(B))return null;var X=g$2({h:Number(E),s:Number(I),l:Number(B),a:Number(V)});return f$4(X)},"hsl"],[function(C){var E=C.h,I=C.s,B=C.v,U=C.a,V=U===void 0?1:U;if(!t$3(E)||!t$3(I)||!t$3(B))return null;var X=function(Y){return{h:u$4(Y.h),s:e$3(Y.s,0,100),v:e$3(Y.v,0,100),a:e$3(Y.a)}}({h:Number(E),s:Number(I),v:Number(B),a:Number(V)});return b$2(X)},"hsv"]]},N$1=function(C,E){for(var I=0;I<E.length;I++){var B=E[I][0](C);if(B)return[B,E[I][1]]}return[null,void 0]},x$3=function(C){return typeof C=="string"?N$1(C.trim(),y$2.string):typeof C=="object"&&C!==null?N$1(C,y$2.object):[null,void 0]},M$1=function(C,E){var I=c$7(C);return{h:I.h,s:e$3(I.s+100*E,0,100),l:I.l,a:I.a}},H=function(C){return(299*C.r+587*C.g+114*C.b)/1e3/255},$=function(C,E){var I=c$7(C);return{h:I.h,s:I.s,l:e$3(I.l+100*E,0,100),a:I.a}},j=function(){function C(E){this.parsed=x$3(E)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return C.prototype.isValid=function(){return this.parsed!==null},C.prototype.brightness=function(){return n$5(H(this.rgba),2)},C.prototype.isDark=function(){return H(this.rgba)<.5},C.prototype.isLight=function(){return H(this.rgba)>=.5},C.prototype.toHex=function(){return E=o$5(this.rgba),I=E.r,B=E.g,U=E.b,X=(V=E.a)<1?s$5(n$5(255*V)):"","#"+s$5(I)+s$5(B)+s$5(U)+X;var E,I,B,U,V,X},C.prototype.toRgb=function(){return o$5(this.rgba)},C.prototype.toRgbString=function(){return E=o$5(this.rgba),I=E.r,B=E.g,U=E.b,(V=E.a)<1?"rgba("+I+", "+B+", "+U+", "+V+")":"rgb("+I+", "+B+", "+U+")";var E,I,B,U,V},C.prototype.toHsl=function(){return d$4(c$7(this.rgba))},C.prototype.toHslString=function(){return E=d$4(c$7(this.rgba)),I=E.h,B=E.s,U=E.l,(V=E.a)<1?"hsla("+I+", "+B+"%, "+U+"%, "+V+")":"hsl("+I+", "+B+"%, "+U+"%)";var E,I,B,U,V},C.prototype.toHsv=function(){return E=h$1(this.rgba),{h:n$5(E.h),s:n$5(E.s),v:n$5(E.v),a:n$5(E.a,3)};var E},C.prototype.invert=function(){return w$1({r:255-(E=this.rgba).r,g:255-E.g,b:255-E.b,a:E.a});var E},C.prototype.saturate=function(E){return E===void 0&&(E=.1),w$1(M$1(this.rgba,E))},C.prototype.desaturate=function(E){return E===void 0&&(E=.1),w$1(M$1(this.rgba,-E))},C.prototype.grayscale=function(){return w$1(M$1(this.rgba,-1))},C.prototype.lighten=function(E){return E===void 0&&(E=.1),w$1($(this.rgba,E))},C.prototype.darken=function(E){return E===void 0&&(E=.1),w$1($(this.rgba,-E))},C.prototype.rotate=function(E){return E===void 0&&(E=15),this.hue(this.hue()+E)},C.prototype.alpha=function(E){return typeof E=="number"?w$1({r:(I=this.rgba).r,g:I.g,b:I.b,a:E}):n$5(this.rgba.a,3);var I},C.prototype.hue=function(E){var I=c$7(this.rgba);return typeof E=="number"?w$1({h:E,s:I.s,l:I.l,a:I.a}):n$5(I.h)},C.prototype.isEqual=function(E){return this.toHex()===w$1(E).toHex()},C}(),w$1=function(C){return C instanceof j?C:new j(C)},S$1=[],k$1=function(C){C.forEach(function(E){S$1.indexOf(E)<0&&(E(j,y$2),S$1.push(E))})};function namesPlugin(C,E){var I={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},B={};for(var U in I)B[I[U]]=U;var V={};C.prototype.toName=function(X){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var Y,K,_e=B[this.toHex()];if(_e)return _e;if(X!=null&&X.closest){var xe=this.toRgb(),Z=1/0,J="black";if(!V.length)for(var Se in I)V[Se]=new C(I[Se]).toRgb();for(var Te in I){var Ae=(Y=xe,K=V[Te],Math.pow(Y.r-K.r,2)+Math.pow(Y.g-K.g,2)+Math.pow(Y.b-K.b,2));Ae<Z&&(Z=Ae,J=Te)}return J}},E.string.push([function(X){var Y=X.toLowerCase(),K=Y==="transparent"?"#0000":I[Y];return K?new C(K).toRgb():null},"name"])}k$1([namesPlugin]);const _Color=class{constructor(C=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=C}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(C){return this.value=C,this}set value(C){if(C instanceof _Color)this._value=this.cloneSource(C._value),this._int=C._int,this._components.set(C._components);else{if(C===null)throw new Error("Cannot set PIXI.Color#value to null");(this._value===null||!this.isSourceEqual(this._value,C))&&(this.normalize(C),this._value=this.cloneSource(C))}}get value(){return this._value}cloneSource(C){return typeof C=="string"||typeof C=="number"||C instanceof Number||C===null?C:Array.isArray(C)||ArrayBuffer.isView(C)?C.slice(0):typeof C=="object"&&C!==null?{...C}:C}isSourceEqual(C,E){const I=typeof C;if(I!==typeof E)return!1;if(I==="number"||I==="string"||C instanceof Number)return C===E;if(Array.isArray(C)&&Array.isArray(E)||ArrayBuffer.isView(C)&&ArrayBuffer.isView(E))return C.length!==E.length?!1:C.every((U,V)=>U===E[V]);if(C!==null&&E!==null){const U=Object.keys(C),V=Object.keys(E);return U.length!==V.length?!1:U.every(X=>C[X]===E[X])}return C===E}toRgba(){const[C,E,I,B]=this._components;return{r:C,g:E,b:I,a:B}}toRgb(){const[C,E,I]=this._components;return{r:C,g:E,b:I}}toRgbaString(){const[C,E,I]=this.toUint8RgbArray();return`rgba(${C},${E},${I},${this.alpha})`}toUint8RgbArray(C){const[E,I,B]=this._components;return C=C??[],C[0]=Math.round(E*255),C[1]=Math.round(I*255),C[2]=Math.round(B*255),C}toRgbArray(C){C=C??[];const[E,I,B]=this._components;return C[0]=E,C[1]=I,C[2]=B,C}toNumber(){return this._int}toLittleEndianNumber(){const C=this._int;return(C>>16)+(C&65280)+((C&255)<<16)}multiply(C){const[E,I,B,U]=_Color.temp.setValue(C)._components;return this._components[0]*=E,this._components[1]*=I,this._components[2]*=B,this._components[3]*=U,this.refreshInt(),this._value=null,this}premultiply(C,E=!0){return E&&(this._components[0]*=C,this._components[1]*=C,this._components[2]*=C),this._components[3]=C,this.refreshInt(),this._value=null,this}toPremultiplied(C){if(C===1)return(C*255<<24)+this._int;if(C===0)return 0;let E=this._int>>16&255,I=this._int>>8&255,B=this._int&255;return E=E*C+.5|0,I=I*C+.5|0,B=B*C+.5|0,(C*255<<24)+(E<<16)+(I<<8)+B}toHex(){const C=this._int.toString(16);return`#${"000000".substring(0,6-C.length)+C}`}toHexa(){const E=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-E.length)+E}setAlpha(C){return this._components[3]=this._clamp(C),this}round(C){const[E,I,B]=this._components;return this._components[0]=Math.round(E*C)/C,this._components[1]=Math.round(I*C)/C,this._components[2]=Math.round(B*C)/C,this.refreshInt(),this._value=null,this}toArray(C){C=C??[];const[E,I,B,U]=this._components;return C[0]=E,C[1]=I,C[2]=B,C[3]=U,C}normalize(C){let E;if((typeof C=="number"||C instanceof Number)&&C>=0&&C<=16777215){const I=C;E=[(I>>16&255)/255,(I>>8&255)/255,(I&255)/255,1]}else if((Array.isArray(C)||C instanceof Float32Array)&&C.length>=3&&C.length<=4){C=this._clamp(C);const[I,B,U,V=1]=C;E=[I,B,U,V]}else if((C instanceof Uint8Array||C instanceof Uint8ClampedArray)&&C.length>=3&&C.length<=4){C=this._clamp(C,0,255);const[I,B,U,V=255]=C;E=[I/255,B/255,U/255,V/255]}else if(typeof C=="string"||typeof C=="object"){if(typeof C=="string"){const B=_Color.HEX_PATTERN.exec(C);B&&(C=`#${B[2]}`)}const I=w$1(C);if(I.isValid()){const{r:B,g:U,b:V,a:X}=I.rgba;E=[B/255,U/255,V/255,X]}}if(E)this._components.set(E),this.refreshInt();else throw new Error(`Unable to convert color ${C}`)}refreshInt(){this._clamp(this._components);const[C,E,I]=this._components;this._int=(C*255<<16)+(E*255<<8)+(I*255|0)}_clamp(C,E=0,I=1){return typeof C=="number"?Math.min(Math.max(C,E),I):(C.forEach((B,U)=>{C[U]=Math.min(Math.max(B,E),I)}),C)}};let Color=_Color;Color.shared=new _Color,Color.temp=new _Color,Color.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;function hex2rgb(C,E=[]){return deprecation("7.2.0","utils.hex2rgb is deprecated, use Color#toRgbArray instead"),Color.shared.setValue(C).toRgbArray(E)}function rgb2hex(C){return deprecation("7.2.0","utils.rgb2hex is deprecated, use Color#toNumber instead"),Color.shared.setValue(C).toNumber()}function mapPremultipliedBlendModes(){const C=[],E=[];for(let B=0;B<32;B++)C[B]=B,E[B]=B;C[BLEND_MODES.NORMAL_NPM]=BLEND_MODES.NORMAL,C[BLEND_MODES.ADD_NPM]=BLEND_MODES.ADD,C[BLEND_MODES.SCREEN_NPM]=BLEND_MODES.SCREEN,E[BLEND_MODES.NORMAL]=BLEND_MODES.NORMAL_NPM,E[BLEND_MODES.ADD]=BLEND_MODES.ADD_NPM,E[BLEND_MODES.SCREEN]=BLEND_MODES.SCREEN_NPM;const I=[];return I.push(E),I.push(C),I}const premultiplyBlendMode=mapPremultipliedBlendModes();function getBufferType(C){if(C.BYTES_PER_ELEMENT===4)return C instanceof Float32Array?"Float32Array":C instanceof Uint32Array?"Uint32Array":"Int32Array";if(C.BYTES_PER_ELEMENT===2){if(C instanceof Uint16Array)return"Uint16Array"}else if(C.BYTES_PER_ELEMENT===1&&C instanceof Uint8Array)return"Uint8Array";return null}function nextPow2(C){return C+=C===0?1:0,--C,C|=C>>>1,C|=C>>>2,C|=C>>>4,C|=C>>>8,C|=C>>>16,C+1}function isPow2(C){return!(C&C-1)&&!!C}function log2(C){let E=(C>65535?1:0)<<4;C>>>=E;let I=(C>255?1:0)<<3;return C>>>=I,E|=I,I=(C>15?1:0)<<2,C>>>=I,E|=I,I=(C>3?1:0)<<1,C>>>=I,E|=I,E|C>>1}function removeItems(C,E,I){const B=C.length;let U;if(E>=B||I===0)return;I=E+I>B?B-E:I;const V=B-I;for(U=E;U<V;++U)C[U]=C[U+I];C.length=V}let nextUid=0;function uid(){return++nextUid}const ProgramCache={},TextureCache=Object.create(null),BaseTextureCache=Object.create(null);let tempAnchor;function determineCrossOrigin(C,E=globalThis.location){if(C.startsWith("data:"))return"";E=E||globalThis.location,tempAnchor||(tempAnchor=document.createElement("a")),tempAnchor.href=C;const I=url.parse(tempAnchor.href),B=!I.port&&E.port===""||I.port===E.port;return I.hostname!==E.hostname||!B||I.protocol!==E.protocol?"anonymous":""}function getResolutionOfUrl(C,E=1){var B;const I=(B=settings.RETINA_PREFIX)==null?void 0:B.exec(C);return I?parseFloat(I[1]):E}var ExtensionType=(C=>(C.Renderer="renderer",C.Application="application",C.RendererSystem="renderer-webgl-system",C.RendererPlugin="renderer-webgl-plugin",C.CanvasRendererSystem="renderer-canvas-system",C.CanvasRendererPlugin="renderer-canvas-plugin",C.Asset="asset",C.LoadParser="load-parser",C.ResolveParser="resolve-parser",C.CacheParser="cache-parser",C.DetectionParser="detection-parser",C))(ExtensionType||{});const normalizeExtension=C=>{if(typeof C=="function"||typeof C=="object"&&C.extension){if(!C.extension)throw new Error("Extension class must have an extension object");C={...typeof C.extension!="object"?{type:C.extension}:C.extension,ref:C}}if(typeof C=="object")C={...C};else throw new Error("Invalid extension type");return typeof C.type=="string"&&(C.type=[C.type]),C},normalizePriority=(C,E)=>normalizeExtension(C).priority??E,extensions={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...C){return C.map(normalizeExtension).forEach(E=>{E.type.forEach(I=>{var B,U;return(U=(B=this._removeHandlers)[I])==null?void 0:U.call(B,E)})}),this},add(...C){return C.map(normalizeExtension).forEach(E=>{E.type.forEach(I=>{const B=this._addHandlers,U=this._queue;B[I]?B[I](E):(U[I]=U[I]||[],U[I].push(E))})}),this},handle(C,E,I){const B=this._addHandlers,U=this._removeHandlers;if(B[C]||U[C])throw new Error(`Extension type ${C} already has a handler`);B[C]=E,U[C]=I;const V=this._queue;return V[C]&&(V[C].forEach(X=>E(X)),delete V[C]),this},handleByMap(C,E){return this.handle(C,I=>{E[I.name]=I.ref},I=>{delete E[I.name]})},handleByList(C,E,I=-1){return this.handle(C,B=>{E.includes(B.ref)||(E.push(B.ref),E.sort((U,V)=>normalizePriority(V,I)-normalizePriority(U,I)))},B=>{const U=E.indexOf(B.ref);U!==-1&&E.splice(U,1)})}};class ViewableBuffer{constructor(E){typeof E=="number"?this.rawBinaryData=new ArrayBuffer(E):E instanceof Uint8Array?this.rawBinaryData=E.buffer:this.rawBinaryData=E,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get uint16View(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}view(E){return this[`${E}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(E){switch(E){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${E} isn't a valid view type`)}}}const fragTemplate=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
43
- `);function generateIfTestSrc(C){let E="";for(let I=0;I<C;++I)I>0&&(E+=`
44
- else `),I<C-1&&(E+=`if(test == ${I}.0){}`);return E}function checkMaxIfStatementsInShader(C,E){if(C===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");const I=E.createShader(E.FRAGMENT_SHADER);for(;;){const B=fragTemplate.replace(/%forloop%/gi,generateIfTestSrc(C));if(E.shaderSource(I,B),E.compileShader(I),!E.getShaderParameter(I,E.COMPILE_STATUS))C=C/2|0;else break}return C}const BLEND$1=0,OFFSET$1=1,CULLING$1=2,DEPTH_TEST$1=3,WINDING$1=4,DEPTH_MASK$1=5;let State$1=class Et{constructor(){this.data=0,this.blendMode=BLEND_MODES.NORMAL,this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<<BLEND$1)}set blend(E){!!(this.data&1<<BLEND$1)!==E&&(this.data^=1<<BLEND$1)}get offsets(){return!!(this.data&1<<OFFSET$1)}set offsets(E){!!(this.data&1<<OFFSET$1)!==E&&(this.data^=1<<OFFSET$1)}get culling(){return!!(this.data&1<<CULLING$1)}set culling(E){!!(this.data&1<<CULLING$1)!==E&&(this.data^=1<<CULLING$1)}get depthTest(){return!!(this.data&1<<DEPTH_TEST$1)}set depthTest(E){!!(this.data&1<<DEPTH_TEST$1)!==E&&(this.data^=1<<DEPTH_TEST$1)}get depthMask(){return!!(this.data&1<<DEPTH_MASK$1)}set depthMask(E){!!(this.data&1<<DEPTH_MASK$1)!==E&&(this.data^=1<<DEPTH_MASK$1)}get clockwiseFrontFace(){return!!(this.data&1<<WINDING$1)}set clockwiseFrontFace(E){!!(this.data&1<<WINDING$1)!==E&&(this.data^=1<<WINDING$1)}get blendMode(){return this._blendMode}set blendMode(E){this.blend=E!==BLEND_MODES.NONE,this._blendMode=E}get polygonOffset(){return this._polygonOffset}set polygonOffset(E){this.offsets=!!E,this._polygonOffset=E}toString(){return`[@pixi/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){const E=new Et;return E.depthTest=!1,E.blend=!0,E}};const INSTALLED=[];function autoDetectResource(C,E){if(!C)return null;let I="";if(typeof C=="string"){const B=/\.(\w{3,4})(?:$|\?|#)/i.exec(C);B&&(I=B[1].toLowerCase())}for(let B=INSTALLED.length-1;B>=0;--B){const U=INSTALLED[B];if(U.test&&U.test(C,I))return new U(C,E)}throw new Error("Unrecognized source type to auto-detect Resource")}class Runner{constructor(E){this.items=[],this._name=E,this._aliasCount=0}emit(E,I,B,U,V,X,Y,K){if(arguments.length>8)throw new Error("max arguments reached");const{name:_e,items:xe}=this;this._aliasCount++;for(let Z=0,J=xe.length;Z<J;Z++)xe[Z][_e](E,I,B,U,V,X,Y,K);return xe===this.items&&this._aliasCount--,this}ensureNonAliasedItems(){this._aliasCount>0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))}add(E){return E[this._name]&&(this.ensureNonAliasedItems(),this.remove(E),this.items.push(E)),this}remove(E){const I=this.items.indexOf(E);return I!==-1&&(this.ensureNonAliasedItems(),this.items.splice(I,1)),this}contains(E){return this.items.includes(E)}removeAll(){return this.ensureNonAliasedItems(),this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}Object.defineProperties(Runner.prototype,{dispatch:{value:Runner.prototype.emit},run:{value:Runner.prototype.emit}});class Resource{constructor(E=0,I=0){this._width=E,this._height=I,this.destroyed=!1,this.internal=!1,this.onResize=new Runner("setRealSize"),this.onUpdate=new Runner("update"),this.onError=new Runner("onError")}bind(E){this.onResize.add(E),this.onUpdate.add(E),this.onError.add(E),(this._width||this._height)&&this.onResize.emit(this._width,this._height)}unbind(E){this.onResize.remove(E),this.onUpdate.remove(E),this.onError.remove(E)}resize(E,I){(E!==this._width||I!==this._height)&&(this._width=E,this._height=I,this.onResize.emit(E,I))}get valid(){return!!this._width&&!!this._height}update(){this.destroyed||this.onUpdate.emit()}load(){return Promise.resolve(this)}get width(){return this._width}get height(){return this._height}style(E,I,B){return!1}dispose(){}destroy(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)}static test(E,I){return!1}}class BufferResource extends Resource{constructor(E,I){const{width:B,height:U}=I||{};if(!B||!U)throw new Error("BufferResource width or height invalid");super(B,U),this.data=E}upload(E,I,B){const U=E.gl;U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.alphaMode===ALPHA_MODES.UNPACK);const V=I.realWidth,X=I.realHeight;return B.width===V&&B.height===X?U.texSubImage2D(I.target,0,0,0,V,X,I.format,B.type,this.data):(B.width=V,B.height=X,U.texImage2D(I.target,0,B.internalFormat,V,X,0,I.format,B.type,this.data)),!0}dispose(){this.data=null}static test(E){return E instanceof Float32Array||E instanceof Uint8Array||E instanceof Uint32Array}}const defaultBufferOptions={scaleMode:SCALE_MODES.NEAREST,format:FORMATS.RGBA,alphaMode:ALPHA_MODES.NPM},_BaseTexture=class extends EventEmitter{constructor(C=null,E=null){super(),E=Object.assign({},_BaseTexture.defaultOptions,E);const{alphaMode:I,mipmap:B,anisotropicLevel:U,scaleMode:V,width:X,height:Y,wrapMode:K,format:_e,type:xe,target:Z,resolution:J,resourceOptions:Se}=E;C&&!(C instanceof Resource)&&(C=autoDetectResource(C,Se),C.internal=!0),this.resolution=J||settings.RESOLUTION,this.width=Math.round((X||0)*this.resolution)/this.resolution,this.height=Math.round((Y||0)*this.resolution)/this.resolution,this._mipmap=B,this.anisotropicLevel=U,this._wrapMode=K,this._scaleMode=V,this.format=_e,this.type=xe,this.target=Z,this.alphaMode=I,this.uid=uid(),this.touched=0,this.isPowerOfTwo=!1,this._refreshPOT(),this._glTextures={},this.dirtyId=0,this.dirtyStyleId=0,this.cacheId=null,this.valid=X>0&&Y>0,this.textureCacheIds=[],this.destroyed=!1,this.resource=null,this._batchEnabled=0,this._batchLocation=0,this.parentTextureArray=null,this.setResource(C)}get realWidth(){return Math.round(this.width*this.resolution)}get realHeight(){return Math.round(this.height*this.resolution)}get mipmap(){return this._mipmap}set mipmap(C){this._mipmap!==C&&(this._mipmap=C,this.dirtyStyleId++)}get scaleMode(){return this._scaleMode}set scaleMode(C){this._scaleMode!==C&&(this._scaleMode=C,this.dirtyStyleId++)}get wrapMode(){return this._wrapMode}set wrapMode(C){this._wrapMode!==C&&(this._wrapMode=C,this.dirtyStyleId++)}setStyle(C,E){let I;return C!==void 0&&C!==this.scaleMode&&(this.scaleMode=C,I=!0),E!==void 0&&E!==this.mipmap&&(this.mipmap=E,I=!0),I&&this.dirtyStyleId++,this}setSize(C,E,I){return I=I||this.resolution,this.setRealSize(C*I,E*I,I)}setRealSize(C,E,I){return this.resolution=I||this.resolution,this.width=Math.round(C)/this.resolution,this.height=Math.round(E)/this.resolution,this._refreshPOT(),this.update(),this}_refreshPOT(){this.isPowerOfTwo=isPow2(this.realWidth)&&isPow2(this.realHeight)}setResolution(C){const E=this.resolution;return E===C?this:(this.resolution=C,this.valid&&(this.width=Math.round(this.width*E)/C,this.height=Math.round(this.height*E)/C,this.emit("update",this)),this._refreshPOT(),this)}setResource(C){if(this.resource===C)return this;if(this.resource)throw new Error("Resource can be set only once");return C.bind(this),this.resource=C,this}update(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))}onError(C){this.emit("error",this,C)}destroy(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete BaseTextureCache[this.cacheId],delete TextureCache[this.cacheId],this.cacheId=null),this.dispose(),_BaseTexture.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0}dispose(){this.emit("dispose",this)}castToBaseTexture(){return this}static from(C,E,I=settings.STRICT_TEXTURE_CACHE){const B=typeof C=="string";let U=null;if(B)U=C;else{if(!C._pixiId){const X=(E==null?void 0:E.pixiIdPrefix)||"pixiid";C._pixiId=`${X}_${uid()}`}U=C._pixiId}let V=BaseTextureCache[U];if(B&&I&&!V)throw new Error(`The cacheId "${U}" does not exist in BaseTextureCache.`);return V||(V=new _BaseTexture(C,E),V.cacheId=U,_BaseTexture.addToCache(V,U)),V}static fromBuffer(C,E,I,B){C=C||new Float32Array(E*I*4);const U=new BufferResource(C,{width:E,height:I}),V=C instanceof Float32Array?TYPES.FLOAT:TYPES.UNSIGNED_BYTE;return new _BaseTexture(U,Object.assign({},defaultBufferOptions,B||{width:E,height:I,type:V}))}static addToCache(C,E){E&&(C.textureCacheIds.includes(E)||C.textureCacheIds.push(E),BaseTextureCache[E]&&BaseTextureCache[E]!==C&&console.warn(`BaseTexture added to the cache with an id [${E}] that already had an entry`),BaseTextureCache[E]=C)}static removeFromCache(C){if(typeof C=="string"){const E=BaseTextureCache[C];if(E){const I=E.textureCacheIds.indexOf(C);return I>-1&&E.textureCacheIds.splice(I,1),delete BaseTextureCache[C],E}}else if(C!=null&&C.textureCacheIds){for(let E=0;E<C.textureCacheIds.length;++E)delete BaseTextureCache[C.textureCacheIds[E]];return C.textureCacheIds.length=0,C}return null}};let BaseTexture=_BaseTexture;BaseTexture.defaultOptions={mipmap:MIPMAP_MODES.POW2,anisotropicLevel:0,scaleMode:SCALE_MODES.LINEAR,wrapMode:WRAP_MODES.CLAMP,alphaMode:ALPHA_MODES.UNPACK,target:TARGETS.TEXTURE_2D,format:FORMATS.RGBA,type:TYPES.UNSIGNED_BYTE},BaseTexture._globalBatch=0;class BatchDrawCall{constructor(){this.texArray=null,this.blend=0,this.type=DRAW_MODES.TRIANGLES,this.start=0,this.size=0,this.data=null}}let UID$4=0;class Buffer{constructor(E,I=!0,B=!1){this.data=E||new Float32Array(1),this._glBuffers={},this._updateID=0,this.index=B,this.static=I,this.id=UID$4++,this.disposeRunner=new Runner("disposeBuffer")}update(E){E instanceof Array&&(E=new Float32Array(E)),this.data=E||this.data,this._updateID++}dispose(){this.disposeRunner.emit(this,!1)}destroy(){this.dispose(),this.data=null}set index(E){this.type=E?BUFFER_TYPE.ELEMENT_ARRAY_BUFFER:BUFFER_TYPE.ARRAY_BUFFER}get index(){return this.type===BUFFER_TYPE.ELEMENT_ARRAY_BUFFER}static from(E){return E instanceof Array&&(E=new Float32Array(E)),new Buffer(E)}}class Attribute{constructor(E,I=0,B=!1,U=TYPES.FLOAT,V,X,Y,K=1){this.buffer=E,this.size=I,this.normalized=B,this.type=U,this.stride=V,this.start=X,this.instance=Y,this.divisor=K}destroy(){this.buffer=null}static from(E,I,B,U,V){return new Attribute(E,I,B,U,V)}}const map$3={Float32Array,Uint32Array,Int32Array,Uint8Array};function interleaveTypedArrays(C,E){let I=0,B=0;const U={};for(let K=0;K<C.length;K++)B+=E[K],I+=C[K].length;const V=new ArrayBuffer(I*4);let X=null,Y=0;for(let K=0;K<C.length;K++){const _e=E[K],xe=C[K],Z=getBufferType(xe);U[Z]||(U[Z]=new map$3[Z](V)),X=U[Z];for(let J=0;J<xe.length;J++){const Se=(J/_e|0)*B+Y,Te=J%_e;X[Se+Te]=xe[J]}Y+=_e}return new Float32Array(V)}const byteSizeMap$1={5126:4,5123:2,5121:1};let UID$3=0;const map$2={Float32Array,Uint32Array,Int32Array,Uint8Array,Uint16Array};class Geometry{constructor(E=[],I={}){this.buffers=E,this.indexBuffer=null,this.attributes=I,this.glVertexArrayObjects={},this.id=UID$3++,this.instanced=!1,this.instanceCount=1,this.disposeRunner=new Runner("disposeGeometry"),this.refCount=0}addAttribute(E,I,B=0,U=!1,V,X,Y,K=!1){if(!I)throw new Error("You must pass a buffer when creating an attribute");I instanceof Buffer||(I instanceof Array&&(I=new Float32Array(I)),I=new Buffer(I));const _e=E.split("|");if(_e.length>1){for(let Z=0;Z<_e.length;Z++)this.addAttribute(_e[Z],I,B,U,V);return this}let xe=this.buffers.indexOf(I);return xe===-1&&(this.buffers.push(I),xe=this.buffers.length-1),this.attributes[E]=new Attribute(xe,B,U,V,X,Y,K),this.instanced=this.instanced||K,this}getAttribute(E){return this.attributes[E]}getBuffer(E){return this.buffers[this.getAttribute(E).buffer]}addIndex(E){return E instanceof Buffer||(E instanceof Array&&(E=new Uint16Array(E)),E=new Buffer(E)),E.type=BUFFER_TYPE.ELEMENT_ARRAY_BUFFER,this.indexBuffer=E,this.buffers.includes(E)||this.buffers.push(E),this}getIndex(){return this.indexBuffer}interleave(){if(this.buffers.length===1||this.buffers.length===2&&this.indexBuffer)return this;const E=[],I=[],B=new Buffer;let U;for(U in this.attributes){const V=this.attributes[U],X=this.buffers[V.buffer];E.push(X.data),I.push(V.size*byteSizeMap$1[V.type]/4),V.buffer=0}for(B.data=interleaveTypedArrays(E,I),U=0;U<this.buffers.length;U++)this.buffers[U]!==this.indexBuffer&&this.buffers[U].destroy();return this.buffers=[B],this.indexBuffer&&this.buffers.push(this.indexBuffer),this}getSize(){for(const E in this.attributes){const I=this.attributes[E];return this.buffers[I.buffer].data.length/(I.stride/4||I.size)}return 0}dispose(){this.disposeRunner.emit(this,!1)}destroy(){this.dispose(),this.buffers=null,this.indexBuffer=null,this.attributes=null}clone(){const E=new Geometry;for(let I=0;I<this.buffers.length;I++)E.buffers[I]=new Buffer(this.buffers[I].data.slice(0));for(const I in this.attributes){const B=this.attributes[I];E.attributes[I]=new Attribute(B.buffer,B.size,B.normalized,B.type,B.stride,B.start,B.instance)}return this.indexBuffer&&(E.indexBuffer=E.buffers[this.buffers.indexOf(this.indexBuffer)],E.indexBuffer.type=BUFFER_TYPE.ELEMENT_ARRAY_BUFFER),E}static merge(E){const I=new Geometry,B=[],U=[],V=[];let X;for(let Y=0;Y<E.length;Y++){X=E[Y];for(let K=0;K<X.buffers.length;K++)U[K]=U[K]||0,U[K]+=X.buffers[K].data.length,V[K]=0}for(let Y=0;Y<X.buffers.length;Y++)B[Y]=new map$2[getBufferType(X.buffers[Y].data)](U[Y]),I.buffers[Y]=new Buffer(B[Y]);for(let Y=0;Y<E.length;Y++){X=E[Y];for(let K=0;K<X.buffers.length;K++)B[K].set(X.buffers[K].data,V[K]),V[K]+=X.buffers[K].data.length}if(I.attributes=X.attributes,X.indexBuffer){I.indexBuffer=I.buffers[X.buffers.indexOf(X.indexBuffer)],I.indexBuffer.type=BUFFER_TYPE.ELEMENT_ARRAY_BUFFER;let Y=0,K=0,_e=0,xe=0;for(let Z=0;Z<X.buffers.length;Z++)if(X.buffers[Z]!==X.indexBuffer){xe=Z;break}for(const Z in X.attributes){const J=X.attributes[Z];(J.buffer|0)===xe&&(K+=J.size*byteSizeMap$1[J.type]/4)}for(let Z=0;Z<E.length;Z++){const J=E[Z].indexBuffer.data;for(let Se=0;Se<J.length;Se++)I.indexBuffer.data[Se+_e]+=Y;Y+=E[Z].buffers[xe].data.length/K,_e+=J.length}}return I}}class BatchGeometry extends Geometry{constructor(E=!1){super(),this._buffer=new Buffer(null,E,!1),this._indexBuffer=new Buffer(null,E,!0),this.addAttribute("aVertexPosition",this._buffer,2,!1,TYPES.FLOAT).addAttribute("aTextureCoord",this._buffer,2,!1,TYPES.FLOAT).addAttribute("aColor",this._buffer,4,!0,TYPES.UNSIGNED_BYTE).addAttribute("aTextureId",this._buffer,1,!0,TYPES.FLOAT).addIndex(this._indexBuffer)}}const PI_2=Math.PI*2,RAD_TO_DEG=180/Math.PI,DEG_TO_RAD=Math.PI/180;var SHAPES=(C=>(C[C.POLY=0]="POLY",C[C.RECT=1]="RECT",C[C.CIRC=2]="CIRC",C[C.ELIP=3]="ELIP",C[C.RREC=4]="RREC",C))(SHAPES||{});class Point{constructor(E=0,I=0){this.x=0,this.y=0,this.x=E,this.y=I}clone(){return new Point(this.x,this.y)}copyFrom(E){return this.set(E.x,E.y),this}copyTo(E){return E.set(this.x,this.y),E}equals(E){return E.x===this.x&&E.y===this.y}set(E=0,I=E){return this.x=E,this.y=I,this}toString(){return`[@pixi/math:Point x=${this.x} y=${this.y}]`}}const tempPoints$1=[new Point,new Point,new Point,new Point];class Rectangle{constructor(E=0,I=0,B=0,U=0){this.x=Number(E),this.y=Number(I),this.width=Number(B),this.height=Number(U),this.type=SHAPES.RECT}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}static get EMPTY(){return new Rectangle(0,0,0,0)}clone(){return new Rectangle(this.x,this.y,this.width,this.height)}copyFrom(E){return this.x=E.x,this.y=E.y,this.width=E.width,this.height=E.height,this}copyTo(E){return E.x=this.x,E.y=this.y,E.width=this.width,E.height=this.height,E}contains(E,I){return this.width<=0||this.height<=0?!1:E>=this.x&&E<this.x+this.width&&I>=this.y&&I<this.y+this.height}intersects(E,I){if(!I){const Le=this.x<E.x?E.x:this.x;if((this.right>E.right?E.right:this.right)<=Le)return!1;const He=this.y<E.y?E.y:this.y;return(this.bottom>E.bottom?E.bottom:this.bottom)>He}const B=this.left,U=this.right,V=this.top,X=this.bottom;if(U<=B||X<=V)return!1;const Y=tempPoints$1[0].set(E.left,E.top),K=tempPoints$1[1].set(E.left,E.bottom),_e=tempPoints$1[2].set(E.right,E.top),xe=tempPoints$1[3].set(E.right,E.bottom);if(_e.x<=Y.x||K.y<=Y.y)return!1;const Z=Math.sign(I.a*I.d-I.b*I.c);if(Z===0||(I.apply(Y,Y),I.apply(K,K),I.apply(_e,_e),I.apply(xe,xe),Math.max(Y.x,K.x,_e.x,xe.x)<=B||Math.min(Y.x,K.x,_e.x,xe.x)>=U||Math.max(Y.y,K.y,_e.y,xe.y)<=V||Math.min(Y.y,K.y,_e.y,xe.y)>=X))return!1;const J=Z*(K.y-Y.y),Se=Z*(Y.x-K.x),Te=J*B+Se*V,Ae=J*U+Se*V,Me=J*B+Se*X,Ee=J*U+Se*X;if(Math.max(Te,Ae,Me,Ee)<=J*Y.x+Se*Y.y||Math.min(Te,Ae,Me,Ee)>=J*xe.x+Se*xe.y)return!1;const we=Z*(Y.y-_e.y),Pe=Z*(_e.x-Y.x),Ie=we*B+Pe*V,Fe=we*U+Pe*V,Oe=we*B+Pe*X,$e=we*U+Pe*X;return!(Math.max(Ie,Fe,Oe,$e)<=we*Y.x+Pe*Y.y||Math.min(Ie,Fe,Oe,$e)>=we*xe.x+Pe*xe.y)}pad(E=0,I=E){return this.x-=E,this.y-=I,this.width+=E*2,this.height+=I*2,this}fit(E){const I=Math.max(this.x,E.x),B=Math.min(this.x+this.width,E.x+E.width),U=Math.max(this.y,E.y),V=Math.min(this.y+this.height,E.y+E.height);return this.x=I,this.width=Math.max(B-I,0),this.y=U,this.height=Math.max(V-U,0),this}ceil(E=1,I=.001){const B=Math.ceil((this.x+this.width-I)*E)/E,U=Math.ceil((this.y+this.height-I)*E)/E;return this.x=Math.floor((this.x+I)*E)/E,this.y=Math.floor((this.y+I)*E)/E,this.width=B-this.x,this.height=U-this.y,this}enlarge(E){const I=Math.min(this.x,E.x),B=Math.max(this.x+this.width,E.x+E.width),U=Math.min(this.y,E.y),V=Math.max(this.y+this.height,E.y+E.height);return this.x=I,this.width=B-I,this.y=U,this.height=V-U,this}toString(){return`[@pixi/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}class Circle{constructor(E=0,I=0,B=0){this.x=E,this.y=I,this.radius=B,this.type=SHAPES.CIRC}clone(){return new Circle(this.x,this.y,this.radius)}contains(E,I){if(this.radius<=0)return!1;const B=this.radius*this.radius;let U=this.x-E,V=this.y-I;return U*=U,V*=V,U+V<=B}getBounds(){return new Rectangle(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)}toString(){return`[@pixi/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}let Ellipse$1=class At{constructor(E=0,I=0,B=0,U=0){this.x=E,this.y=I,this.width=B,this.height=U,this.type=SHAPES.ELIP}clone(){return new At(this.x,this.y,this.width,this.height)}contains(E,I){if(this.width<=0||this.height<=0)return!1;let B=(E-this.x)/this.width,U=(I-this.y)/this.height;return B*=B,U*=U,B+U<=1}getBounds(){return new Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)}toString(){return`[@pixi/math:Ellipse x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};class Polygon{constructor(...E){let I=Array.isArray(E[0])?E[0]:E;if(typeof I[0]!="number"){const B=[];for(let U=0,V=I.length;U<V;U++)B.push(I[U].x,I[U].y);I=B}this.points=I,this.type=SHAPES.POLY,this.closeStroke=!0}clone(){const E=this.points.slice(),I=new Polygon(E);return I.closeStroke=this.closeStroke,I}contains(E,I){let B=!1;const U=this.points.length/2;for(let V=0,X=U-1;V<U;X=V++){const Y=this.points[V*2],K=this.points[V*2+1],_e=this.points[X*2],xe=this.points[X*2+1];K>I!=xe>I&&E<(_e-Y)*((I-K)/(xe-K))+Y&&(B=!B)}return B}toString(){return`[@pixi/math:PolygoncloseStroke=${this.closeStroke}points=${this.points.reduce((E,I)=>`${E}, ${I}`,"")}]`}}class RoundedRectangle{constructor(E=0,I=0,B=0,U=0,V=20){this.x=E,this.y=I,this.width=B,this.height=U,this.radius=V,this.type=SHAPES.RREC}clone(){return new RoundedRectangle(this.x,this.y,this.width,this.height,this.radius)}contains(E,I){if(this.width<=0||this.height<=0)return!1;if(E>=this.x&&E<=this.x+this.width&&I>=this.y&&I<=this.y+this.height){const B=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(I>=this.y+B&&I<=this.y+this.height-B||E>=this.x+B&&E<=this.x+this.width-B)return!0;let U=E-(this.x+B),V=I-(this.y+B);const X=B*B;if(U*U+V*V<=X||(U=E-(this.x+this.width-B),U*U+V*V<=X)||(V=I-(this.y+this.height-B),U*U+V*V<=X)||(U=E-(this.x+B),U*U+V*V<=X))return!0}return!1}toString(){return`[@pixi/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}let Matrix$2=class Tt{constructor(E=1,I=0,B=0,U=1,V=0,X=0){this.array=null,this.a=E,this.b=I,this.c=B,this.d=U,this.tx=V,this.ty=X}fromArray(E){this.a=E[0],this.b=E[1],this.c=E[3],this.d=E[4],this.tx=E[2],this.ty=E[5]}set(E,I,B,U,V,X){return this.a=E,this.b=I,this.c=B,this.d=U,this.tx=V,this.ty=X,this}toArray(E,I){this.array||(this.array=new Float32Array(9));const B=I||this.array;return E?(B[0]=this.a,B[1]=this.b,B[2]=0,B[3]=this.c,B[4]=this.d,B[5]=0,B[6]=this.tx,B[7]=this.ty,B[8]=1):(B[0]=this.a,B[1]=this.c,B[2]=this.tx,B[3]=this.b,B[4]=this.d,B[5]=this.ty,B[6]=0,B[7]=0,B[8]=1),B}apply(E,I){I=I||new Point;const B=E.x,U=E.y;return I.x=this.a*B+this.c*U+this.tx,I.y=this.b*B+this.d*U+this.ty,I}applyInverse(E,I){I=I||new Point;const B=1/(this.a*this.d+this.c*-this.b),U=E.x,V=E.y;return I.x=this.d*B*U+-this.c*B*V+(this.ty*this.c-this.tx*this.d)*B,I.y=this.a*B*V+-this.b*B*U+(-this.ty*this.a+this.tx*this.b)*B,I}translate(E,I){return this.tx+=E,this.ty+=I,this}scale(E,I){return this.a*=E,this.d*=I,this.c*=E,this.b*=I,this.tx*=E,this.ty*=I,this}rotate(E){const I=Math.cos(E),B=Math.sin(E),U=this.a,V=this.c,X=this.tx;return this.a=U*I-this.b*B,this.b=U*B+this.b*I,this.c=V*I-this.d*B,this.d=V*B+this.d*I,this.tx=X*I-this.ty*B,this.ty=X*B+this.ty*I,this}append(E){const I=this.a,B=this.b,U=this.c,V=this.d;return this.a=E.a*I+E.b*U,this.b=E.a*B+E.b*V,this.c=E.c*I+E.d*U,this.d=E.c*B+E.d*V,this.tx=E.tx*I+E.ty*U+this.tx,this.ty=E.tx*B+E.ty*V+this.ty,this}setTransform(E,I,B,U,V,X,Y,K,_e){return this.a=Math.cos(Y+_e)*V,this.b=Math.sin(Y+_e)*V,this.c=-Math.sin(Y-K)*X,this.d=Math.cos(Y-K)*X,this.tx=E-(B*this.a+U*this.c),this.ty=I-(B*this.b+U*this.d),this}prepend(E){const I=this.tx;if(E.a!==1||E.b!==0||E.c!==0||E.d!==1){const B=this.a,U=this.c;this.a=B*E.a+this.b*E.c,this.b=B*E.b+this.b*E.d,this.c=U*E.a+this.d*E.c,this.d=U*E.b+this.d*E.d}return this.tx=I*E.a+this.ty*E.c+E.tx,this.ty=I*E.b+this.ty*E.d+E.ty,this}decompose(E){const I=this.a,B=this.b,U=this.c,V=this.d,X=E.pivot,Y=-Math.atan2(-U,V),K=Math.atan2(B,I),_e=Math.abs(Y+K);return _e<1e-5||Math.abs(PI_2-_e)<1e-5?(E.rotation=K,E.skew.x=E.skew.y=0):(E.rotation=0,E.skew.x=Y,E.skew.y=K),E.scale.x=Math.sqrt(I*I+B*B),E.scale.y=Math.sqrt(U*U+V*V),E.position.x=this.tx+(X.x*I+X.y*U),E.position.y=this.ty+(X.x*B+X.y*V),E}invert(){const E=this.a,I=this.b,B=this.c,U=this.d,V=this.tx,X=E*U-I*B;return this.a=U/X,this.b=-I/X,this.c=-B/X,this.d=E/X,this.tx=(B*this.ty-U*V)/X,this.ty=-(E*this.ty-I*V)/X,this}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){const E=new Tt;return E.a=this.a,E.b=this.b,E.c=this.c,E.d=this.d,E.tx=this.tx,E.ty=this.ty,E}copyTo(E){return E.a=this.a,E.b=this.b,E.c=this.c,E.d=this.d,E.tx=this.tx,E.ty=this.ty,E}copyFrom(E){return this.a=E.a,this.b=E.b,this.c=E.c,this.d=E.d,this.tx=E.tx,this.ty=E.ty,this}toString(){return`[@pixi/math:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return new Tt}static get TEMP_MATRIX(){return new Tt}};const ux=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],uy=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],vx=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],vy=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],rotationCayley=[],rotationMatrices=[],signum=Math.sign;function init(){for(let C=0;C<16;C++){const E=[];rotationCayley.push(E);for(let I=0;I<16;I++){const B=signum(ux[C]*ux[I]+vx[C]*uy[I]),U=signum(uy[C]*ux[I]+vy[C]*uy[I]),V=signum(ux[C]*vx[I]+vx[C]*vy[I]),X=signum(uy[C]*vx[I]+vy[C]*vy[I]);for(let Y=0;Y<16;Y++)if(ux[Y]===B&&uy[Y]===U&&vx[Y]===V&&vy[Y]===X){E.push(Y);break}}}for(let C=0;C<16;C++){const E=new Matrix$2;E.set(ux[C],uy[C],vx[C],vy[C],0,0),rotationMatrices.push(E)}}init();const groupD8={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:C=>ux[C],uY:C=>uy[C],vX:C=>vx[C],vY:C=>vy[C],inv:C=>C&8?C&15:-C&7,add:(C,E)=>rotationCayley[C][E],sub:(C,E)=>rotationCayley[C][groupD8.inv(E)],rotate180:C=>C^4,isVertical:C=>(C&3)===2,byDirection:(C,E)=>Math.abs(C)*2<=Math.abs(E)?E>=0?groupD8.S:groupD8.N:Math.abs(E)*2<=Math.abs(C)?C>0?groupD8.E:groupD8.W:E>0?C>0?groupD8.SE:groupD8.SW:C>0?groupD8.NE:groupD8.NW,matrixAppendRotationInv:(C,E,I=0,B=0)=>{const U=rotationMatrices[groupD8.inv(E)];U.tx=I,U.ty=B,C.append(U)}};class ObservablePoint{constructor(E,I,B=0,U=0){this._x=B,this._y=U,this.cb=E,this.scope=I}clone(E=this.cb,I=this.scope){return new ObservablePoint(E,I,this._x,this._y)}set(E=0,I=E){return(this._x!==E||this._y!==I)&&(this._x=E,this._y=I,this.cb.call(this.scope)),this}copyFrom(E){return(this._x!==E.x||this._y!==E.y)&&(this._x=E.x,this._y=E.y,this.cb.call(this.scope)),this}copyTo(E){return E.set(this._x,this._y),E}equals(E){return E.x===this._x&&E.y===this._y}toString(){return`[@pixi/math:ObservablePoint x=0 y=0 scope=${this.scope}]`}get x(){return this._x}set x(E){this._x!==E&&(this._x=E,this.cb.call(this.scope))}get y(){return this._y}set y(E){this._y!==E&&(this._y=E,this.cb.call(this.scope))}}const _Transform=class{constructor(){this.worldTransform=new Matrix$2,this.localTransform=new Matrix$2,this.position=new ObservablePoint(this.onChange,this,0,0),this.scale=new ObservablePoint(this.onChange,this,1,1),this.pivot=new ObservablePoint(this.onChange,this,0,0),this.skew=new ObservablePoint(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}onChange(){this._localID++}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++}toString(){return`[@pixi/math:Transform position=(${this.position.x}, ${this.position.y}) rotation=${this.rotation} scale=(${this.scale.x}, ${this.scale.y}) skew=(${this.skew.x}, ${this.skew.y}) ]`}updateLocalTransform(){const C=this.localTransform;this._localID!==this._currentLocalID&&(C.a=this._cx*this.scale.x,C.b=this._sx*this.scale.x,C.c=this._cy*this.scale.y,C.d=this._sy*this.scale.y,C.tx=this.position.x-(this.pivot.x*C.a+this.pivot.y*C.c),C.ty=this.position.y-(this.pivot.x*C.b+this.pivot.y*C.d),this._currentLocalID=this._localID,this._parentID=-1)}updateTransform(C){const E=this.localTransform;if(this._localID!==this._currentLocalID&&(E.a=this._cx*this.scale.x,E.b=this._sx*this.scale.x,E.c=this._cy*this.scale.y,E.d=this._sy*this.scale.y,E.tx=this.position.x-(this.pivot.x*E.a+this.pivot.y*E.c),E.ty=this.position.y-(this.pivot.x*E.b+this.pivot.y*E.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==C._worldID){const I=C.worldTransform,B=this.worldTransform;B.a=E.a*I.a+E.b*I.c,B.b=E.a*I.b+E.b*I.d,B.c=E.c*I.a+E.d*I.c,B.d=E.c*I.b+E.d*I.d,B.tx=E.tx*I.a+E.ty*I.c+I.tx,B.ty=E.tx*I.b+E.ty*I.d+I.ty,this._parentID=C._worldID,this._worldID++}}setFromMatrix(C){C.decompose(this),this._localID++}get rotation(){return this._rotation}set rotation(C){this._rotation!==C&&(this._rotation=C,this.updateSkew())}};let Transform=_Transform;Transform.IDENTITY=new _Transform;var defaultFragment$2=`varying vec2 vTextureCoord;
45
-
46
- uniform sampler2D uSampler;
47
-
48
- void main(void){
49
- gl_FragColor *= texture2D(uSampler, vTextureCoord);
50
- }`,defaultVertex$2=`attribute vec2 aVertexPosition;
51
- attribute vec2 aTextureCoord;
52
-
53
- uniform mat3 projectionMatrix;
54
-
55
- varying vec2 vTextureCoord;
56
-
57
- void main(void){
58
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
59
- vTextureCoord = aTextureCoord;
60
- }
61
- `;function compileShader(C,E,I){const B=C.createShader(E);return C.shaderSource(B,I),C.compileShader(B),B}function booleanArray(C){const E=new Array(C);for(let I=0;I<E.length;I++)E[I]=!1;return E}function defaultValue(C,E){switch(C){case"float":return 0;case"vec2":return new Float32Array(2*E);case"vec3":return new Float32Array(3*E);case"vec4":return new Float32Array(4*E);case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"ivec2":return new Int32Array(2*E);case"ivec3":return new Int32Array(3*E);case"ivec4":return new Int32Array(4*E);case"uvec2":return new Uint32Array(2*E);case"uvec3":return new Uint32Array(3*E);case"uvec4":return new Uint32Array(4*E);case"bool":return!1;case"bvec2":return booleanArray(2*E);case"bvec3":return booleanArray(3*E);case"bvec4":return booleanArray(4*E);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}const uniformParsers=[{test:C=>C.type==="float"&&C.size===1&&!C.isArray,code:C=>`
62
- if(uv["${C}"] !== ud["${C}"].value)
63
- {
64
- ud["${C}"].value = uv["${C}"]
65
- gl.uniform1f(ud["${C}"].location, uv["${C}"])
66
- }
67
- `},{test:(C,E)=>(C.type==="sampler2D"||C.type==="samplerCube"||C.type==="sampler2DArray")&&C.size===1&&!C.isArray&&(E==null||E.castToBaseTexture!==void 0),code:C=>`t = syncData.textureCount++;
68
-
69
- renderer.texture.bind(uv["${C}"], t);
70
-
71
- if(ud["${C}"].value !== t)
72
- {
73
- ud["${C}"].value = t;
74
- gl.uniform1i(ud["${C}"].location, t);
75
- ; // eslint-disable-line max-len
76
- }`},{test:(C,E)=>C.type==="mat3"&&C.size===1&&!C.isArray&&E.a!==void 0,code:C=>`
77
- gl.uniformMatrix3fv(ud["${C}"].location, false, uv["${C}"].toArray(true));
78
- `,codeUbo:C=>`
79
- var ${C}_matrix = uv.${C}.toArray(true);
80
-
81
- data[offset] = ${C}_matrix[0];
82
- data[offset+1] = ${C}_matrix[1];
83
- data[offset+2] = ${C}_matrix[2];
84
-
85
- data[offset + 4] = ${C}_matrix[3];
86
- data[offset + 5] = ${C}_matrix[4];
87
- data[offset + 6] = ${C}_matrix[5];
88
-
89
- data[offset + 8] = ${C}_matrix[6];
90
- data[offset + 9] = ${C}_matrix[7];
91
- data[offset + 10] = ${C}_matrix[8];
92
- `},{test:(C,E)=>C.type==="vec2"&&C.size===1&&!C.isArray&&E.x!==void 0,code:C=>`
93
- cv = ud["${C}"].value;
94
- v = uv["${C}"];
95
-
96
- if(cv[0] !== v.x || cv[1] !== v.y)
97
- {
98
- cv[0] = v.x;
99
- cv[1] = v.y;
100
- gl.uniform2f(ud["${C}"].location, v.x, v.y);
101
- }`,codeUbo:C=>`
102
- v = uv.${C};
103
-
104
- data[offset] = v.x;
105
- data[offset+1] = v.y;
106
- `},{test:C=>C.type==="vec2"&&C.size===1&&!C.isArray,code:C=>`
107
- cv = ud["${C}"].value;
108
- v = uv["${C}"];
109
-
110
- if(cv[0] !== v[0] || cv[1] !== v[1])
111
- {
112
- cv[0] = v[0];
113
- cv[1] = v[1];
114
- gl.uniform2f(ud["${C}"].location, v[0], v[1]);
115
- }
116
- `},{test:(C,E)=>C.type==="vec4"&&C.size===1&&!C.isArray&&E.width!==void 0,code:C=>`
117
- cv = ud["${C}"].value;
118
- v = uv["${C}"];
119
-
120
- if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)
121
- {
122
- cv[0] = v.x;
123
- cv[1] = v.y;
124
- cv[2] = v.width;
125
- cv[3] = v.height;
126
- gl.uniform4f(ud["${C}"].location, v.x, v.y, v.width, v.height)
127
- }`,codeUbo:C=>`
128
- v = uv.${C};
129
-
130
- data[offset] = v.x;
131
- data[offset+1] = v.y;
132
- data[offset+2] = v.width;
133
- data[offset+3] = v.height;
134
- `},{test:(C,E)=>C.type==="vec4"&&C.size===1&&!C.isArray&&E.red!==void 0,code:C=>`
135
- cv = ud["${C}"].value;
136
- v = uv["${C}"];
137
-
138
- if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha)
139
- {
140
- cv[0] = v.red;
141
- cv[1] = v.green;
142
- cv[2] = v.blue;
143
- cv[3] = v.alpha;
144
- gl.uniform4f(ud["${C}"].location, v.red, v.green, v.blue, v.alpha)
145
- }`,codeUbo:C=>`
146
- v = uv.${C};
147
-
148
- data[offset] = v.red;
149
- data[offset+1] = v.green;
150
- data[offset+2] = v.blue;
151
- data[offset+3] = v.alpha;
152
- `},{test:(C,E)=>C.type==="vec3"&&C.size===1&&!C.isArray&&E.red!==void 0,code:C=>`
153
- cv = ud["${C}"].value;
154
- v = uv["${C}"];
155
-
156
- if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.a)
157
- {
158
- cv[0] = v.red;
159
- cv[1] = v.green;
160
- cv[2] = v.blue;
161
-
162
- gl.uniform3f(ud["${C}"].location, v.red, v.green, v.blue)
163
- }`,codeUbo:C=>`
164
- v = uv.${C};
165
-
166
- data[offset] = v.red;
167
- data[offset+1] = v.green;
168
- data[offset+2] = v.blue;
169
- `},{test:C=>C.type==="vec4"&&C.size===1&&!C.isArray,code:C=>`
170
- cv = ud["${C}"].value;
171
- v = uv["${C}"];
172
-
173
- if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
174
- {
175
- cv[0] = v[0];
176
- cv[1] = v[1];
177
- cv[2] = v[2];
178
- cv[3] = v[3];
179
-
180
- gl.uniform4f(ud["${C}"].location, v[0], v[1], v[2], v[3])
181
- }`}],GLSL_TO_SINGLE_SETTERS_CACHED={float:`
182
- if (cv !== v)
183
- {
184
- cu.value = v;
185
- gl.uniform1f(location, v);
186
- }`,vec2:`
187
- if (cv[0] !== v[0] || cv[1] !== v[1])
188
- {
189
- cv[0] = v[0];
190
- cv[1] = v[1];
191
-
192
- gl.uniform2f(location, v[0], v[1])
193
- }`,vec3:`
194
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
195
- {
196
- cv[0] = v[0];
197
- cv[1] = v[1];
198
- cv[2] = v[2];
199
-
200
- gl.uniform3f(location, v[0], v[1], v[2])
201
- }`,vec4:`
202
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
203
- {
204
- cv[0] = v[0];
205
- cv[1] = v[1];
206
- cv[2] = v[2];
207
- cv[3] = v[3];
208
-
209
- gl.uniform4f(location, v[0], v[1], v[2], v[3]);
210
- }`,int:`
211
- if (cv !== v)
212
- {
213
- cu.value = v;
214
-
215
- gl.uniform1i(location, v);
216
- }`,ivec2:`
217
- if (cv[0] !== v[0] || cv[1] !== v[1])
218
- {
219
- cv[0] = v[0];
220
- cv[1] = v[1];
221
-
222
- gl.uniform2i(location, v[0], v[1]);
223
- }`,ivec3:`
224
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
225
- {
226
- cv[0] = v[0];
227
- cv[1] = v[1];
228
- cv[2] = v[2];
229
-
230
- gl.uniform3i(location, v[0], v[1], v[2]);
231
- }`,ivec4:`
232
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
233
- {
234
- cv[0] = v[0];
235
- cv[1] = v[1];
236
- cv[2] = v[2];
237
- cv[3] = v[3];
238
-
239
- gl.uniform4i(location, v[0], v[1], v[2], v[3]);
240
- }`,uint:`
241
- if (cv !== v)
242
- {
243
- cu.value = v;
244
-
245
- gl.uniform1ui(location, v);
246
- }`,uvec2:`
247
- if (cv[0] !== v[0] || cv[1] !== v[1])
248
- {
249
- cv[0] = v[0];
250
- cv[1] = v[1];
251
-
252
- gl.uniform2ui(location, v[0], v[1]);
253
- }`,uvec3:`
254
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
255
- {
256
- cv[0] = v[0];
257
- cv[1] = v[1];
258
- cv[2] = v[2];
259
-
260
- gl.uniform3ui(location, v[0], v[1], v[2]);
261
- }`,uvec4:`
262
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
263
- {
264
- cv[0] = v[0];
265
- cv[1] = v[1];
266
- cv[2] = v[2];
267
- cv[3] = v[3];
268
-
269
- gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
270
- }`,bool:`
271
- if (cv !== v)
272
- {
273
- cu.value = v;
274
- gl.uniform1i(location, v);
275
- }`,bvec2:`
276
- if (cv[0] != v[0] || cv[1] != v[1])
277
- {
278
- cv[0] = v[0];
279
- cv[1] = v[1];
280
-
281
- gl.uniform2i(location, v[0], v[1]);
282
- }`,bvec3:`
283
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
284
- {
285
- cv[0] = v[0];
286
- cv[1] = v[1];
287
- cv[2] = v[2];
288
-
289
- gl.uniform3i(location, v[0], v[1], v[2]);
290
- }`,bvec4:`
291
- if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
292
- {
293
- cv[0] = v[0];
294
- cv[1] = v[1];
295
- cv[2] = v[2];
296
- cv[3] = v[3];
297
-
298
- gl.uniform4i(location, v[0], v[1], v[2], v[3]);
299
- }`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:`
300
- if (cv !== v)
301
- {
302
- cu.value = v;
303
-
304
- gl.uniform1i(location, v);
305
- }`,samplerCube:`
306
- if (cv !== v)
307
- {
308
- cu.value = v;
309
-
310
- gl.uniform1i(location, v);
311
- }`,sampler2DArray:`
312
- if (cv !== v)
313
- {
314
- cu.value = v;
315
-
316
- gl.uniform1i(location, v);
317
- }`},GLSL_TO_ARRAY_SETTERS={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"};function generateUniformsSync(C,E){var B;const I=[`
318
- var v = null;
319
- var cv = null;
320
- var cu = null;
321
- var t = 0;
322
- var gl = renderer.gl;
323
- `];for(const U in C.uniforms){const V=E[U];if(!V){(B=C.uniforms[U])!=null&&B.group&&(C.uniforms[U].ubo?I.push(`
324
- renderer.shader.syncUniformBufferGroup(uv.${U}, '${U}');
325
- `):I.push(`
326
- renderer.shader.syncUniformGroup(uv.${U}, syncData);
327
- `));continue}const X=C.uniforms[U];let Y=!1;for(let K=0;K<uniformParsers.length;K++)if(uniformParsers[K].test(V,X)){I.push(uniformParsers[K].code(U,X)),Y=!0;break}if(!Y){const _e=(V.size===1&&!V.isArray?GLSL_TO_SINGLE_SETTERS_CACHED:GLSL_TO_ARRAY_SETTERS)[V.type].replace("location",`ud["${U}"].location`);I.push(`
328
- cu = ud["${U}"];
329
- cv = cu.value;
330
- v = uv["${U}"];
331
- ${_e};`)}}return new Function("ud","uv","renderer","syncData",I.join(`
332
- `))}const unknownContext={};let context=unknownContext;function getTestContext(){if(context===unknownContext||context!=null&&context.isContextLost()){const C=settings.ADAPTER.createCanvas();let E;settings.PREFER_ENV>=ENV.WEBGL2&&(E=C.getContext("webgl2",{})),E||(E=C.getContext("webgl",{})||C.getContext("experimental-webgl",{}),E?E.getExtension("WEBGL_draw_buffers"):E=null),context=E}return context}let maxFragmentPrecision;function getMaxFragmentPrecision(){if(!maxFragmentPrecision){maxFragmentPrecision=PRECISION.MEDIUM;const C=getTestContext();C&&C.getShaderPrecisionFormat&&(maxFragmentPrecision=C.getShaderPrecisionFormat(C.FRAGMENT_SHADER,C.HIGH_FLOAT).precision?PRECISION.HIGH:PRECISION.MEDIUM)}return maxFragmentPrecision}function logPrettyShaderError(C,E){const I=C.getShaderSource(E).split(`
333
- `).map((_e,xe)=>`${xe}: ${_e}`),B=C.getShaderInfoLog(E),U=B.split(`
334
- `),V={},X=U.map(_e=>parseFloat(_e.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(_e=>_e&&!V[_e]?(V[_e]=!0,!0):!1),Y=[""];X.forEach(_e=>{I[_e-1]=`%c${I[_e-1]}%c`,Y.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});const K=I.join(`
335
- `);Y[0]=K,console.error(B),console.groupCollapsed("click to view full shader code"),console.warn(...Y),console.groupEnd()}function logProgramError(C,E,I,B){C.getProgramParameter(E,C.LINK_STATUS)||(C.getShaderParameter(I,C.COMPILE_STATUS)||logPrettyShaderError(C,I),C.getShaderParameter(B,C.COMPILE_STATUS)||logPrettyShaderError(C,B),console.error("PixiJS Error: Could not initialize shader."),C.getProgramInfoLog(E)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",C.getProgramInfoLog(E)))}const GLSL_TO_SIZE={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function mapSize(C){return GLSL_TO_SIZE[C]}let GL_TABLE=null;const GL_TO_GLSL_TYPES={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function mapType(C,E){if(!GL_TABLE){const I=Object.keys(GL_TO_GLSL_TYPES);GL_TABLE={};for(let B=0;B<I.length;++B){const U=I[B];GL_TABLE[C[U]]=GL_TO_GLSL_TYPES[U]}}return GL_TABLE[E]}function setPrecision(C,E,I){if(C.substring(0,9)!=="precision"){let B=E;return E===PRECISION.HIGH&&I!==PRECISION.HIGH&&(B=PRECISION.MEDIUM),`precision ${B} float;
336
- ${C}`}else if(I!==PRECISION.HIGH&&C.substring(0,15)==="precision highp")return C.replace("precision highp","precision mediump");return C}let unsafeEval;function unsafeEvalSupported(){if(typeof unsafeEval=="boolean")return unsafeEval;try{unsafeEval=new Function("param1","param2","param3","return param1[param2] === param3;")({a:"b"},"a","b")===!0}catch{unsafeEval=!1}return unsafeEval}let UID$2=0;const nameCache={},_Program=class{constructor(C,E,I="pixi-shader",B={}){this.extra={},this.id=UID$2++,this.vertexSrc=C||_Program.defaultVertexSrc,this.fragmentSrc=E||_Program.defaultFragmentSrc,this.vertexSrc=this.vertexSrc.trim(),this.fragmentSrc=this.fragmentSrc.trim(),this.extra=B,this.vertexSrc.substring(0,8)!=="#version"&&(I=I.replace(/\s+/g,"-"),nameCache[I]?(nameCache[I]++,I+=`-${nameCache[I]}`):nameCache[I]=1,this.vertexSrc=`#define SHADER_NAME ${I}
337
- ${this.vertexSrc}`,this.fragmentSrc=`#define SHADER_NAME ${I}
338
- ${this.fragmentSrc}`,this.vertexSrc=setPrecision(this.vertexSrc,_Program.defaultVertexPrecision,PRECISION.HIGH),this.fragmentSrc=setPrecision(this.fragmentSrc,_Program.defaultFragmentPrecision,getMaxFragmentPrecision())),this.glPrograms={},this.syncUniforms=null}static get defaultVertexSrc(){return defaultVertex$2}static get defaultFragmentSrc(){return defaultFragment$2}static from(C,E,I){const B=C+E;let U=ProgramCache[B];return U||(ProgramCache[B]=U=new _Program(C,E,I)),U}};let Program=_Program;Program.defaultVertexPrecision=PRECISION.HIGH,Program.defaultFragmentPrecision=isMobile.apple.device?PRECISION.HIGH:PRECISION.MEDIUM;let UID$1=0;class UniformGroup{constructor(E,I,B){this.group=!0,this.syncUniforms={},this.dirtyId=0,this.id=UID$1++,this.static=!!I,this.ubo=!!B,E instanceof Buffer?(this.buffer=E,this.buffer.type=BUFFER_TYPE.UNIFORM_BUFFER,this.autoManage=!1,this.ubo=!0):(this.uniforms=E,this.ubo&&(this.buffer=new Buffer(new Float32Array(1)),this.buffer.type=BUFFER_TYPE.UNIFORM_BUFFER,this.autoManage=!0))}update(){this.dirtyId++,!this.autoManage&&this.buffer&&this.buffer.update()}add(E,I,B){if(!this.ubo)this.uniforms[E]=new UniformGroup(I,B);else throw new Error("[UniformGroup] uniform groups in ubo mode cannot be modified, or have uniform groups nested in them")}static from(E,I,B){return new UniformGroup(E,I,B)}static uboFrom(E,I){return new UniformGroup(E,I??!0,!0)}}class Shader{constructor(E,I){this.uniformBindCount=0,this.program=E,I?I instanceof UniformGroup?this.uniformGroup=I:this.uniformGroup=new UniformGroup(I):this.uniformGroup=new UniformGroup({}),this.disposeRunner=new Runner("disposeShader")}checkUniformExists(E,I){if(I.uniforms[E])return!0;for(const B in I.uniforms){const U=I.uniforms[B];if(U.group&&this.checkUniformExists(E,U))return!0}return!1}destroy(){this.uniformGroup=null,this.disposeRunner.emit(this),this.disposeRunner.destroy()}get uniforms(){return this.uniformGroup.uniforms}static from(E,I,B){const U=Program.from(E,I);return new Shader(U,B)}}class BatchShaderGenerator{constructor(E,I){if(this.vertexSrc=E,this.fragTemplate=I,this.programCache={},this.defaultGroupCache={},!I.includes("%count%"))throw new Error('Fragment template must contain "%count%".');if(!I.includes("%forloop%"))throw new Error('Fragment template must contain "%forloop%".')}generateShader(E){if(!this.programCache[E]){const B=new Int32Array(E);for(let V=0;V<E;V++)B[V]=V;this.defaultGroupCache[E]=UniformGroup.from({uSamplers:B},!0);let U=this.fragTemplate;U=U.replace(/%count%/gi,`${E}`),U=U.replace(/%forloop%/gi,this.generateSampleSrc(E)),this.programCache[E]=new Program(this.vertexSrc,U)}const I={tint:new Float32Array([1,1,1,1]),translationMatrix:new Matrix$2,default:this.defaultGroupCache[E]};return new Shader(this.programCache[E],I)}generateSampleSrc(E){let I="";I+=`
339
- `,I+=`
340
- `;for(let B=0;B<E;B++)B>0&&(I+=`
341
- else `),B<E-1&&(I+=`if(vTextureId < ${B}.5)`),I+=`
342
- {`,I+=`
343
- color = texture2D(uSamplers[${B}], vTextureCoord);`,I+=`
344
- }`;return I+=`
345
- `,I+=`
346
- `,I}}class BatchTextureArray{constructor(){this.elements=[],this.ids=[],this.count=0}clear(){for(let E=0;E<this.count;E++)this.elements[E]=null;this.count=0}}function canUploadSameBuffer(){return!isMobile.apple.device}function maxRecommendedTextures(C){let E=!0;const I=settings.ADAPTER.getNavigator();if(isMobile.tablet||isMobile.phone){if(isMobile.apple.device){const B=I.userAgent.match(/OS (\d+)_(\d+)?/);B&&parseInt(B[1],10)<11&&(E=!1)}if(isMobile.android.device){const B=I.userAgent.match(/Android\s([0-9.]*)/);B&&parseInt(B[1],10)<7&&(E=!1)}}return E?C:4}class ObjectRenderer{constructor(E){this.renderer=E}flush(){}destroy(){this.renderer=null}start(){}stop(){this.flush()}render(E){}}var defaultFragment$1=`varying vec2 vTextureCoord;
347
- varying vec4 vColor;
348
- varying float vTextureId;
349
- uniform sampler2D uSamplers[%count%];
350
-
351
- void main(void){
352
- vec4 color;
353
- %forloop%
354
- gl_FragColor = color * vColor;
355
- }
356
- `,defaultVertex$1=`precision highp float;
357
- attribute vec2 aVertexPosition;
358
- attribute vec2 aTextureCoord;
359
- attribute vec4 aColor;
360
- attribute float aTextureId;
361
-
362
- uniform mat3 projectionMatrix;
363
- uniform mat3 translationMatrix;
364
- uniform vec4 tint;
365
-
366
- varying vec2 vTextureCoord;
367
- varying vec4 vColor;
368
- varying float vTextureId;
369
-
370
- void main(void){
371
- gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
372
-
373
- vTextureCoord = aTextureCoord;
374
- vTextureId = aTextureId;
375
- vColor = aColor * tint;
376
- }
377
- `;const _BatchRenderer=class extends ObjectRenderer{constructor(C){super(C),this.setShaderGenerator(),this.geometryClass=BatchGeometry,this.vertexSize=6,this.state=State$1.for2d(),this.size=_BatchRenderer.defaultBatchSize*4,this._vertexCount=0,this._indexCount=0,this._bufferedElements=[],this._bufferedTextures=[],this._bufferSize=0,this._shader=null,this._packedGeometries=[],this._packedGeometryPoolSize=2,this._flushId=0,this._aBuffers={},this._iBuffers={},this.maxTextures=1,this.renderer.on("prerender",this.onPrerender,this),C.runners.contextChange.add(this),this._dcIndex=0,this._aIndex=0,this._iIndex=0,this._attributeBuffer=null,this._indexBuffer=null,this._tempBoundTextures=[]}static get defaultMaxTextures(){return this._defaultMaxTextures=this._defaultMaxTextures??maxRecommendedTextures(32),this._defaultMaxTextures}static set defaultMaxTextures(C){this._defaultMaxTextures=C}static get canUploadSameBuffer(){return this._canUploadSameBuffer=this._canUploadSameBuffer??canUploadSameBuffer(),this._canUploadSameBuffer}static set canUploadSameBuffer(C){this._canUploadSameBuffer=C}get MAX_TEXTURES(){return deprecation("7.1.0","BatchRenderer#MAX_TEXTURES renamed to BatchRenderer#maxTextures"),this.maxTextures}static get defaultVertexSrc(){return defaultVertex$1}static get defaultFragmentTemplate(){return defaultFragment$1}setShaderGenerator({vertex:C=_BatchRenderer.defaultVertexSrc,fragment:E=_BatchRenderer.defaultFragmentTemplate}={}){this.shaderGenerator=new BatchShaderGenerator(C,E)}contextChange(){const C=this.renderer.gl;settings.PREFER_ENV===ENV.WEBGL_LEGACY?this.maxTextures=1:(this.maxTextures=Math.min(C.getParameter(C.MAX_TEXTURE_IMAGE_UNITS),_BatchRenderer.defaultMaxTextures),this.maxTextures=checkMaxIfStatementsInShader(this.maxTextures,C)),this._shader=this.shaderGenerator.generateShader(this.maxTextures);for(let E=0;E<this._packedGeometryPoolSize;E++)this._packedGeometries[E]=new this.geometryClass;this.initFlushBuffers()}initFlushBuffers(){const{_drawCallPool:C,_textureArrayPool:E}=_BatchRenderer,I=this.size/4,B=Math.floor(I/this.maxTextures)+1;for(;C.length<I;)C.push(new BatchDrawCall);for(;E.length<B;)E.push(new BatchTextureArray);for(let U=0;U<this.maxTextures;U++)this._tempBoundTextures[U]=null}onPrerender(){this._flushId=0}render(C){C._texture.valid&&(this._vertexCount+C.vertexData.length/2>this.size&&this.flush(),this._vertexCount+=C.vertexData.length/2,this._indexCount+=C.indices.length,this._bufferedTextures[this._bufferSize]=C._texture.baseTexture,this._bufferedElements[this._bufferSize++]=C)}buildTexturesAndDrawCalls(){const{_bufferedTextures:C,maxTextures:E}=this,I=_BatchRenderer._textureArrayPool,B=this.renderer.batch,U=this._tempBoundTextures,V=this.renderer.textureGC.count;let X=++BaseTexture._globalBatch,Y=0,K=I[0],_e=0;B.copyBoundTextures(U,E);for(let xe=0;xe<this._bufferSize;++xe){const Z=C[xe];C[xe]=null,Z._batchEnabled!==X&&(K.count>=E&&(B.boundArray(K,U,X,E),this.buildDrawCalls(K,_e,xe),_e=xe,K=I[++Y],++X),Z._batchEnabled=X,Z.touched=V,K.elements[K.count++]=Z)}K.count>0&&(B.boundArray(K,U,X,E),this.buildDrawCalls(K,_e,this._bufferSize),++Y,++X);for(let xe=0;xe<U.length;xe++)U[xe]=null;BaseTexture._globalBatch=X}buildDrawCalls(C,E,I){const{_bufferedElements:B,_attributeBuffer:U,_indexBuffer:V,vertexSize:X}=this,Y=_BatchRenderer._drawCallPool;let K=this._dcIndex,_e=this._aIndex,xe=this._iIndex,Z=Y[K];Z.start=this._iIndex,Z.texArray=C;for(let J=E;J<I;++J){const Se=B[J],Te=Se._texture.baseTexture,Ae=premultiplyBlendMode[Te.alphaMode?1:0][Se.blendMode];B[J]=null,E<J&&Z.blend!==Ae&&(Z.size=xe-Z.start,E=J,Z=Y[++K],Z.texArray=C,Z.start=xe),this.packInterleavedGeometry(Se,U,V,_e,xe),_e+=Se.vertexData.length/2*X,xe+=Se.indices.length,Z.blend=Ae}E<I&&(Z.size=xe-Z.start,++K),this._dcIndex=K,this._aIndex=_e,this._iIndex=xe}bindAndClearTexArray(C){const E=this.renderer.texture;for(let I=0;I<C.count;I++)E.bind(C.elements[I],C.ids[I]),C.elements[I]=null;C.count=0}updateGeometry(){const{_packedGeometries:C,_attributeBuffer:E,_indexBuffer:I}=this;_BatchRenderer.canUploadSameBuffer?(C[this._flushId]._buffer.update(E.rawBinaryData),C[this._flushId]._indexBuffer.update(I),this.renderer.geometry.updateBuffers()):(this._packedGeometryPoolSize<=this._flushId&&(this._packedGeometryPoolSize++,C[this._flushId]=new this.geometryClass),C[this._flushId]._buffer.update(E.rawBinaryData),C[this._flushId]._indexBuffer.update(I),this.renderer.geometry.bind(C[this._flushId]),this.renderer.geometry.updateBuffers(),this._flushId++)}drawBatches(){const C=this._dcIndex,{gl:E,state:I}=this.renderer,B=_BatchRenderer._drawCallPool;let U=null;for(let V=0;V<C;V++){const{texArray:X,type:Y,size:K,start:_e,blend:xe}=B[V];U!==X&&(U=X,this.bindAndClearTexArray(X)),this.state.blendMode=xe,I.set(this.state),E.drawElements(Y,K,E.UNSIGNED_SHORT,_e*2)}}flush(){this._vertexCount!==0&&(this._attributeBuffer=this.getAttributeBuffer(this._vertexCount),this._indexBuffer=this.getIndexBuffer(this._indexCount),this._aIndex=0,this._iIndex=0,this._dcIndex=0,this.buildTexturesAndDrawCalls(),this.updateGeometry(),this.drawBatches(),this._bufferSize=0,this._vertexCount=0,this._indexCount=0)}start(){this.renderer.state.set(this.state),this.renderer.texture.ensureSamplerType(this.maxTextures),this.renderer.shader.bind(this._shader),_BatchRenderer.canUploadSameBuffer&&this.renderer.geometry.bind(this._packedGeometries[this._flushId])}stop(){this.flush()}destroy(){for(let C=0;C<this._packedGeometryPoolSize;C++)this._packedGeometries[C]&&this._packedGeometries[C].destroy();this.renderer.off("prerender",this.onPrerender,this),this._aBuffers=null,this._iBuffers=null,this._packedGeometries=null,this._attributeBuffer=null,this._indexBuffer=null,this._shader&&(this._shader.destroy(),this._shader=null),super.destroy()}getAttributeBuffer(C){const E=nextPow2(Math.ceil(C/8)),I=log2(E),B=E*8;this._aBuffers.length<=I&&(this._iBuffers.length=I+1);let U=this._aBuffers[B];return U||(this._aBuffers[B]=U=new ViewableBuffer(B*this.vertexSize*4)),U}getIndexBuffer(C){const E=nextPow2(Math.ceil(C/12)),I=log2(E),B=E*12;this._iBuffers.length<=I&&(this._iBuffers.length=I+1);let U=this._iBuffers[I];return U||(this._iBuffers[I]=U=new Uint16Array(B)),U}packInterleavedGeometry(C,E,I,B,U){const{uint32View:V,float32View:X}=E,Y=B/this.vertexSize,K=C.uvs,_e=C.indices,xe=C.vertexData,Z=C._texture.baseTexture._batchLocation,J=Math.min(C.worldAlpha,1),Se=Color.shared.setValue(C._tintRGB).toPremultiplied(J);for(let Te=0;Te<xe.length;Te+=2)X[B++]=xe[Te],X[B++]=xe[Te+1],X[B++]=K[Te],X[B++]=K[Te+1],V[B++]=Se,X[B++]=Z;for(let Te=0;Te<_e.length;Te++)I[U++]=Y+_e[Te]}};let BatchRenderer=_BatchRenderer;BatchRenderer.defaultBatchSize=4096,BatchRenderer.extension={name:"batch",type:ExtensionType.RendererPlugin},BatchRenderer._drawCallPool=[],BatchRenderer._textureArrayPool=[],extensions.add(BatchRenderer);var defaultFragment=`varying vec2 vTextureCoord;
378
-
379
- uniform sampler2D uSampler;
380
-
381
- void main(void){
382
- gl_FragColor = texture2D(uSampler, vTextureCoord);
383
- }
384
- `,defaultVertex=`attribute vec2 aVertexPosition;
385
-
386
- uniform mat3 projectionMatrix;
387
-
388
- varying vec2 vTextureCoord;
389
-
390
- uniform vec4 inputSize;
391
- uniform vec4 outputFrame;
392
-
393
- vec4 filterVertexPosition( void )
394
- {
395
- vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
396
-
397
- return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
398
- }
399
-
400
- vec2 filterTextureCoord( void )
401
- {
402
- return aVertexPosition * (outputFrame.zw * inputSize.zw);
403
- }
404
-
405
- void main(void)
406
- {
407
- gl_Position = filterVertexPosition();
408
- vTextureCoord = filterTextureCoord();
409
- }
410
- `;const _Filter=class extends Shader{constructor(C,E,I){const B=Program.from(C||_Filter.defaultVertexSrc,E||_Filter.defaultFragmentSrc);super(B,I),this.padding=0,this.resolution=_Filter.defaultResolution,this.multisample=_Filter.defaultMultisample,this.enabled=!0,this.autoFit=!0,this.state=new State$1}apply(C,E,I,B,U){C.applyFilter(this,E,I,B)}get blendMode(){return this.state.blendMode}set blendMode(C){this.state.blendMode=C}get resolution(){return this._resolution}set resolution(C){this._resolution=C}static get defaultVertexSrc(){return defaultVertex}static get defaultFragmentSrc(){return defaultFragment}};let Filter=_Filter;Filter.defaultResolution=1,Filter.defaultMultisample=MSAA_QUALITY.NONE;class BackgroundSystem{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new Color(0),this.alpha=1}init(E){this.clearBeforeRender=E.clearBeforeRender;const{backgroundColor:I,background:B,backgroundAlpha:U}=E,V=B??I;V!==void 0&&(this.color=V),this.alpha=U}get color(){return this._backgroundColor.value}set color(E){this._backgroundColor.setValue(E)}get alpha(){return this._backgroundColor.alpha}set alpha(E){this._backgroundColor.setAlpha(E)}get backgroundColor(){return this._backgroundColor}destroy(){}}BackgroundSystem.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0},BackgroundSystem.extension={type:[ExtensionType.RendererSystem,ExtensionType.CanvasRendererSystem],name:"background"},extensions.add(BackgroundSystem);class BatchSystem{constructor(E){this.renderer=E,this.emptyRenderer=new ObjectRenderer(E),this.currentRenderer=this.emptyRenderer}setObjectRenderer(E){this.currentRenderer!==E&&(this.currentRenderer.stop(),this.currentRenderer=E,this.currentRenderer.start())}flush(){this.setObjectRenderer(this.emptyRenderer)}reset(){this.setObjectRenderer(this.emptyRenderer)}copyBoundTextures(E,I){const{boundTextures:B}=this.renderer.texture;for(let U=I-1;U>=0;--U)E[U]=B[U]||null,E[U]&&(E[U]._batchLocation=U)}boundArray(E,I,B,U){const{elements:V,ids:X,count:Y}=E;let K=0;for(let _e=0;_e<Y;_e++){const xe=V[_e],Z=xe._batchLocation;if(Z>=0&&Z<U&&I[Z]===xe){X[_e]=Z;continue}for(;K<U;){const J=I[K];if(J&&J._batchEnabled===B&&J._batchLocation===K){K++;continue}X[_e]=K,xe._batchLocation=K,I[K]=xe;break}}}destroy(){this.renderer=null}}BatchSystem.extension={type:ExtensionType.RendererSystem,name:"batch"},extensions.add(BatchSystem);let CONTEXT_UID_COUNTER=0;class ContextSystem{constructor(E){this.renderer=E,this.webGLVersion=1,this.extensions={},this.supports={uint32Indices:!1},this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(E){this.gl=E,this.renderer.gl=E,this.renderer.CONTEXT_UID=CONTEXT_UID_COUNTER++}init(E){if(E.context)this.initFromContext(E.context);else{const I=this.renderer.background.alpha<1,B=E.premultipliedAlpha;this.preserveDrawingBuffer=E.preserveDrawingBuffer,this.useContextAlpha=E.useContextAlpha,this.powerPreference=E.powerPreference,this.initFromOptions({alpha:I,premultipliedAlpha:B,antialias:E.antialias,stencil:!0,preserveDrawingBuffer:E.preserveDrawingBuffer,powerPreference:E.powerPreference})}}initFromContext(E){this.gl=E,this.validateContext(E),this.renderer.gl=E,this.renderer.CONTEXT_UID=CONTEXT_UID_COUNTER++,this.renderer.runners.contextChange.emit(E);const I=this.renderer.view;I.addEventListener!==void 0&&(I.addEventListener("webglcontextlost",this.handleContextLost,!1),I.addEventListener("webglcontextrestored",this.handleContextRestored,!1))}initFromOptions(E){const I=this.createContext(this.renderer.view,E);this.initFromContext(I)}createContext(E,I){let B;if(settings.PREFER_ENV>=ENV.WEBGL2&&(B=E.getContext("webgl2",I)),B)this.webGLVersion=2;else if(this.webGLVersion=1,B=E.getContext("webgl",I)||E.getContext("experimental-webgl",I),!B)throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=B,this.getExtensions(),this.gl}getExtensions(){const{gl:E}=this,I={loseContext:E.getExtension("WEBGL_lose_context"),anisotropicFiltering:E.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:E.getExtension("OES_texture_float_linear"),s3tc:E.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:E.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:E.getExtension("WEBGL_compressed_texture_etc"),etc1:E.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:E.getExtension("WEBGL_compressed_texture_pvrtc")||E.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:E.getExtension("WEBGL_compressed_texture_atc"),astc:E.getExtension("WEBGL_compressed_texture_astc")};this.webGLVersion===1?Object.assign(this.extensions,I,{drawBuffers:E.getExtension("WEBGL_draw_buffers"),depthTexture:E.getExtension("WEBGL_depth_texture"),vertexArrayObject:E.getExtension("OES_vertex_array_object")||E.getExtension("MOZ_OES_vertex_array_object")||E.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:E.getExtension("OES_element_index_uint"),floatTexture:E.getExtension("OES_texture_float"),floatTextureLinear:E.getExtension("OES_texture_float_linear"),textureHalfFloat:E.getExtension("OES_texture_half_float"),textureHalfFloatLinear:E.getExtension("OES_texture_half_float_linear")}):this.webGLVersion===2&&Object.assign(this.extensions,I,{colorBufferFloat:E.getExtension("EXT_color_buffer_float")})}handleContextLost(E){E.preventDefault(),setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext&&this.extensions.loseContext.restoreContext()},0)}handleContextRestored(){this.renderer.runners.contextChange.emit(this.gl)}destroy(){const E=this.renderer.view;this.renderer=null,E.removeEventListener!==void 0&&(E.removeEventListener("webglcontextlost",this.handleContextLost),E.removeEventListener("webglcontextrestored",this.handleContextRestored)),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()}postrender(){this.renderer.objectRenderer.renderingToScreen&&this.gl.flush()}validateContext(E){const I=E.getContextAttributes(),B="WebGL2RenderingContext"in globalThis&&E instanceof globalThis.WebGL2RenderingContext;B&&(this.webGLVersion=2),I&&!I.stencil&&console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const U=B||!!E.getExtension("OES_element_index_uint");this.supports.uint32Indices=U,U||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")}}ContextSystem.defaultOptions={context:null,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default"},ContextSystem.extension={type:ExtensionType.RendererSystem,name:"context"},extensions.add(ContextSystem);class DepthResource extends BufferResource{upload(E,I,B){const U=E.gl;U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.alphaMode===ALPHA_MODES.UNPACK);const V=I.realWidth,X=I.realHeight;return B.width===V&&B.height===X?U.texSubImage2D(I.target,0,0,0,V,X,I.format,B.type,this.data):(B.width=V,B.height=X,U.texImage2D(I.target,0,B.internalFormat,V,X,0,I.format,B.type,this.data)),!0}}class Framebuffer{constructor(E,I){this.width=Math.round(E||100),this.height=Math.round(I||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new Runner("disposeFramebuffer"),this.multisample=MSAA_QUALITY.NONE}get colorTexture(){return this.colorTextures[0]}addColorTexture(E=0,I){return this.colorTextures[E]=I||new BaseTexture(null,{scaleMode:SCALE_MODES.NEAREST,resolution:1,mipmap:MIPMAP_MODES.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this}addDepthTexture(E){return this.depthTexture=E||new BaseTexture(new DepthResource(null,{width:this.width,height:this.height}),{scaleMode:SCALE_MODES.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:MIPMAP_MODES.OFF,format:FORMATS.DEPTH_COMPONENT,type:TYPES.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this}enableDepth(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this}enableStencil(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this}resize(E,I){if(E=Math.round(E),I=Math.round(I),!(E===this.width&&I===this.height)){this.width=E,this.height=I,this.dirtyId++,this.dirtySize++;for(let B=0;B<this.colorTextures.length;B++){const U=this.colorTextures[B],V=U.resolution;U.setSize(E/V,I/V)}if(this.depthTexture){const B=this.depthTexture.resolution;this.depthTexture.setSize(E/B,I/B)}}}dispose(){this.disposeRunner.emit(this,!1)}destroyDepthTexture(){this.depthTexture&&(this.depthTexture.destroy(),this.depthTexture=null,++this.dirtyId,++this.dirtyFormat)}}class BaseRenderTexture extends BaseTexture{constructor(E={}){if(typeof E=="number"){const I=arguments[0],B=arguments[1],U=arguments[2],V=arguments[3];E={width:I,height:B,scaleMode:U,resolution:V}}E.width=E.width||100,E.height=E.height||100,E.multisample??(E.multisample=MSAA_QUALITY.NONE),super(null,E),this.mipmap=MIPMAP_MODES.OFF,this.valid=!0,this._clear=new Color([0,0,0,0]),this.framebuffer=new Framebuffer(this.realWidth,this.realHeight).addColorTexture(0,this),this.framebuffer.multisample=E.multisample,this.maskStack=[],this.filterStack=[{}]}set clearColor(E){this._clear.setValue(E)}get clearColor(){return this._clear.value}get clear(){return this._clear}resize(E,I){this.framebuffer.resize(E*this.resolution,I*this.resolution),this.setRealSize(this.framebuffer.width,this.framebuffer.height)}dispose(){this.framebuffer.dispose(),super.dispose()}destroy(){super.destroy(),this.framebuffer.destroyDepthTexture(),this.framebuffer=null}}class BaseImageResource extends Resource{constructor(E){const I=E,B=I.naturalWidth||I.videoWidth||I.width,U=I.naturalHeight||I.videoHeight||I.height;super(B,U),this.source=E,this.noSubImage=!1}static crossOrigin(E,I,B){B===void 0&&!I.startsWith("data:")?E.crossOrigin=determineCrossOrigin(I):B!==!1&&(E.crossOrigin=typeof B=="string"?B:"anonymous")}upload(E,I,B,U){const V=E.gl,X=I.realWidth,Y=I.realHeight;if(U=U||this.source,typeof HTMLImageElement<"u"&&U instanceof HTMLImageElement){if(!U.complete||U.naturalWidth===0)return!1}else if(typeof HTMLVideoElement<"u"&&U instanceof HTMLVideoElement&&U.readyState<=1&&U.buffered.length===0)return!1;return V.pixelStorei(V.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.alphaMode===ALPHA_MODES.UNPACK),!this.noSubImage&&I.target===V.TEXTURE_2D&&B.width===X&&B.height===Y?V.texSubImage2D(V.TEXTURE_2D,0,0,0,I.format,B.type,U):(B.width=X,B.height=Y,V.texImage2D(I.target,0,B.internalFormat,I.format,B.type,U)),!0}update(){if(this.destroyed)return;const E=this.source,I=E.naturalWidth||E.videoWidth||E.width,B=E.naturalHeight||E.videoHeight||E.height;this.resize(I,B),super.update()}dispose(){this.source=null}}class ImageResource extends BaseImageResource{constructor(E,I){if(I=I||{},typeof E=="string"){const B=new Image;BaseImageResource.crossOrigin(B,E,I.crossorigin),B.src=E,E=B}super(E),!E.complete&&this._width&&this._height&&(this._width=0,this._height=0),this.url=E.src,this._process=null,this.preserveBitmap=!1,this.createBitmap=(I.createBitmap??settings.CREATE_IMAGE_BITMAP)&&!!globalThis.createImageBitmap,this.alphaMode=typeof I.alphaMode=="number"?I.alphaMode:null,this.bitmap=null,this._load=null,I.autoLoad!==!1&&this.load()}load(E){return this._load?this._load:(E!==void 0&&(this.createBitmap=E),this._load=new Promise((I,B)=>{const U=this.source;this.url=U.src;const V=()=>{this.destroyed||(U.onload=null,U.onerror=null,this.resize(U.width,U.height),this._load=null,this.createBitmap?I(this.process()):I(this))};U.complete&&U.src?V():(U.onload=V,U.onerror=X=>{B(X),this.onError.emit(X)})}),this._load)}process(){const E=this.source;if(this._process!==null)return this._process;if(this.bitmap!==null||!globalThis.createImageBitmap)return Promise.resolve(this);const I=globalThis.createImageBitmap,B=!E.crossOrigin||E.crossOrigin==="anonymous";return this._process=fetch(E.src,{mode:B?"cors":"no-cors"}).then(U=>U.blob()).then(U=>I(U,0,0,E.width,E.height,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===ALPHA_MODES.UNPACK?"premultiply":"none"})).then(U=>this.destroyed?Promise.reject():(this.bitmap=U,this.update(),this._process=null,Promise.resolve(this))),this._process}upload(E,I,B){if(typeof this.alphaMode=="number"&&(I.alphaMode=this.alphaMode),!this.createBitmap)return super.upload(E,I,B);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(super.upload(E,I,B,this.bitmap),!this.preserveBitmap){let U=!0;const V=I._glTextures;for(const X in V){const Y=V[X];if(Y!==B&&Y.dirtyId!==I.dirtyId){U=!1;break}}U&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0}dispose(){this.source.onload=null,this.source.onerror=null,super.dispose(),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null}static test(E){return typeof HTMLImageElement<"u"&&(typeof E=="string"||E instanceof HTMLImageElement)}}class TextureUvs{constructor(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}set(E,I,B){const U=I.width,V=I.height;if(B){const X=E.width/2/U,Y=E.height/2/V,K=E.x/U+X,_e=E.y/V+Y;B=groupD8.add(B,groupD8.NW),this.x0=K+X*groupD8.uX(B),this.y0=_e+Y*groupD8.uY(B),B=groupD8.add(B,2),this.x1=K+X*groupD8.uX(B),this.y1=_e+Y*groupD8.uY(B),B=groupD8.add(B,2),this.x2=K+X*groupD8.uX(B),this.y2=_e+Y*groupD8.uY(B),B=groupD8.add(B,2),this.x3=K+X*groupD8.uX(B),this.y3=_e+Y*groupD8.uY(B)}else this.x0=E.x/U,this.y0=E.y/V,this.x1=(E.x+E.width)/U,this.y1=E.y/V,this.x2=(E.x+E.width)/U,this.y2=(E.y+E.height)/V,this.x3=E.x/U,this.y3=(E.y+E.height)/V;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3}toString(){return`[@pixi/core:TextureUvs x0=${this.x0} y0=${this.y0} x1=${this.x1} y1=${this.y1} x2=${this.x2} y2=${this.y2} x3=${this.x3} y3=${this.y3}]`}}const DEFAULT_UVS=new TextureUvs;function removeAllHandlers(C){C.destroy=function(){},C.on=function(){},C.once=function(){},C.emit=function(){}}class Texture extends EventEmitter{constructor(E,I,B,U,V,X,Y){if(super(),this.noFrame=!1,I||(this.noFrame=!0,I=new Rectangle(0,0,1,1)),E instanceof Texture&&(E=E.baseTexture),this.baseTexture=E,this._frame=I,this.trim=U,this.valid=!1,this._uvs=DEFAULT_UVS,this.uvMatrix=null,this.orig=B||I,this._rotate=Number(V||0),V===!0)this._rotate=2;else if(this._rotate%2!==0)throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");this.defaultAnchor=X?new Point(X.x,X.y):new Point(0,0),this.defaultBorders=Y,this._updateID=0,this.textureCacheIds=[],E.valid?this.noFrame?E.valid&&this.onBaseTextureUpdated(E):this.frame=I:E.once("loaded",this.onBaseTextureUpdated,this),this.noFrame&&E.on("update",this.onBaseTextureUpdated,this)}update(){this.baseTexture.resource&&this.baseTexture.resource.update()}onBaseTextureUpdated(E){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=E.width,this._frame.height=E.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)}destroy(E){if(this.baseTexture){if(E){const{resource:I}=this.baseTexture;I!=null&&I.url&&TextureCache[I.url]&&Texture.removeFromCache(I.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,Texture.removeFromCache(this),this.textureCacheIds=null}clone(){var U;const E=this._frame.clone(),I=this._frame===this.orig?E:this.orig.clone(),B=new Texture(this.baseTexture,!this.noFrame&&E,I,(U=this.trim)==null?void 0:U.clone(),this.rotate,this.defaultAnchor,this.defaultBorders);return this.noFrame&&(B._frame=E),B}updateUvs(){this._uvs===DEFAULT_UVS&&(this._uvs=new TextureUvs),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++}static from(E,I={},B=settings.STRICT_TEXTURE_CACHE){const U=typeof E=="string";let V=null;if(U)V=E;else if(E instanceof BaseTexture){if(!E.cacheId){const Y=(I==null?void 0:I.pixiIdPrefix)||"pixiid";E.cacheId=`${Y}-${uid()}`,BaseTexture.addToCache(E,E.cacheId)}V=E.cacheId}else{if(!E._pixiId){const Y=(I==null?void 0:I.pixiIdPrefix)||"pixiid";E._pixiId=`${Y}_${uid()}`}V=E._pixiId}let X=TextureCache[V];if(U&&B&&!X)throw new Error(`The cacheId "${V}" does not exist in TextureCache.`);return!X&&!(E instanceof BaseTexture)?(I.resolution||(I.resolution=getResolutionOfUrl(E)),X=new Texture(new BaseTexture(E,I)),X.baseTexture.cacheId=V,BaseTexture.addToCache(X.baseTexture,V),Texture.addToCache(X,V)):!X&&E instanceof BaseTexture&&(X=new Texture(E),Texture.addToCache(X,V)),X}static fromURL(E,I){const B=Object.assign({autoLoad:!1},I==null?void 0:I.resourceOptions),U=Texture.from(E,Object.assign({resourceOptions:B},I),!1),V=U.baseTexture.resource;return U.baseTexture.valid?Promise.resolve(U):V.load().then(()=>Promise.resolve(U))}static fromBuffer(E,I,B,U){return new Texture(BaseTexture.fromBuffer(E,I,B,U))}static fromLoader(E,I,B,U){const V=new BaseTexture(E,Object.assign({scaleMode:BaseTexture.defaultOptions.scaleMode,resolution:getResolutionOfUrl(I)},U)),{resource:X}=V;X instanceof ImageResource&&(X.url=I);const Y=new Texture(V);return B||(B=I),BaseTexture.addToCache(Y.baseTexture,B),Texture.addToCache(Y,B),B!==I&&(BaseTexture.addToCache(Y.baseTexture,I),Texture.addToCache(Y,I)),Y.baseTexture.valid?Promise.resolve(Y):new Promise(K=>{Y.baseTexture.once("loaded",()=>K(Y))})}static addToCache(E,I){I&&(E.textureCacheIds.includes(I)||E.textureCacheIds.push(I),TextureCache[I]&&TextureCache[I]!==E&&console.warn(`Texture added to the cache with an id [${I}] that already had an entry`),TextureCache[I]=E)}static removeFromCache(E){if(typeof E=="string"){const I=TextureCache[E];if(I){const B=I.textureCacheIds.indexOf(E);return B>-1&&I.textureCacheIds.splice(B,1),delete TextureCache[E],I}}else if(E!=null&&E.textureCacheIds){for(let I=0;I<E.textureCacheIds.length;++I)TextureCache[E.textureCacheIds[I]]===E&&delete TextureCache[E.textureCacheIds[I]];return E.textureCacheIds.length=0,E}return null}get resolution(){return this.baseTexture.resolution}get frame(){return this._frame}set frame(E){this._frame=E,this.noFrame=!1;const{x:I,y:B,width:U,height:V}=E,X=I+U>this.baseTexture.width,Y=B+V>this.baseTexture.height;if(X||Y){const K=X&&Y?"and":"or",_e=`X: ${I} + ${U} = ${I+U} > ${this.baseTexture.width}`,xe=`Y: ${B} + ${V} = ${B+V} > ${this.baseTexture.height}`;throw new Error(`Texture Error: frame does not fit inside the base Texture dimensions: ${_e} ${K} ${xe}`)}this.valid=U&&V&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=E),this.valid&&this.updateUvs()}get rotate(){return this._rotate}set rotate(E){this._rotate=E,this.valid&&this.updateUvs()}get width(){return this.orig.width}get height(){return this.orig.height}castToBaseTexture(){return this.baseTexture}static get EMPTY(){return Texture._EMPTY||(Texture._EMPTY=new Texture(new BaseTexture),removeAllHandlers(Texture._EMPTY),removeAllHandlers(Texture._EMPTY.baseTexture)),Texture._EMPTY}static get WHITE(){if(!Texture._WHITE){const E=settings.ADAPTER.createCanvas(16,16),I=E.getContext("2d");E.width=16,E.height=16,I.fillStyle="white",I.fillRect(0,0,16,16),Texture._WHITE=new Texture(BaseTexture.from(E)),removeAllHandlers(Texture._WHITE),removeAllHandlers(Texture._WHITE.baseTexture)}return Texture._WHITE}}class RenderTexture extends Texture{constructor(E,I){super(E,I),this.valid=!0,this.filterFrame=null,this.filterPoolKey=null,this.updateUvs()}get framebuffer(){return this.baseTexture.framebuffer}get multisample(){return this.framebuffer.multisample}set multisample(E){this.framebuffer.multisample=E}resize(E,I,B=!0){const U=this.baseTexture.resolution,V=Math.round(E*U)/U,X=Math.round(I*U)/U;this.valid=V>0&&X>0,this._frame.width=this.orig.width=V,this._frame.height=this.orig.height=X,B&&this.baseTexture.resize(V,X),this.updateUvs()}setResolution(E){const{baseTexture:I}=this;I.resolution!==E&&(I.setResolution(E),this.resize(I.width,I.height,!1))}static create(E){return new RenderTexture(new BaseRenderTexture(E))}}class RenderTexturePool{constructor(E){this.texturePool={},this.textureOptions=E||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}createTexture(E,I,B=MSAA_QUALITY.NONE){const U=new BaseRenderTexture(Object.assign({width:E,height:I,resolution:1,multisample:B},this.textureOptions));return new RenderTexture(U)}getOptimalTexture(E,I,B=1,U=MSAA_QUALITY.NONE){let V;E=Math.ceil(E*B-1e-6),I=Math.ceil(I*B-1e-6),!this.enableFullScreen||E!==this._pixelsWidth||I!==this._pixelsHeight?(E=nextPow2(E),I=nextPow2(I),V=((E&65535)<<16|I&65535)>>>0,U>1&&(V+=U*4294967296)):V=U>1?-U:-1,this.texturePool[V]||(this.texturePool[V]=[]);let X=this.texturePool[V].pop();return X||(X=this.createTexture(E,I,U)),X.filterPoolKey=V,X.setResolution(B),X}getFilterTexture(E,I,B){const U=this.getOptimalTexture(E.width,E.height,I||E.resolution,B||MSAA_QUALITY.NONE);return U.filterFrame=E.filterFrame,U}returnTexture(E){const I=E.filterPoolKey;E.filterFrame=null,this.texturePool[I].push(E)}returnFilterTexture(E){this.returnTexture(E)}clear(E){if(E=E!==!1,E)for(const I in this.texturePool){const B=this.texturePool[I];if(B)for(let U=0;U<B.length;U++)B[U].destroy(!0)}this.texturePool={}}setScreenSize(E){if(!(E.width===this._pixelsWidth&&E.height===this._pixelsHeight)){this.enableFullScreen=E.width>0&&E.height>0;for(const I in this.texturePool){if(!(Number(I)<0))continue;const B=this.texturePool[I];if(B)for(let U=0;U<B.length;U++)B[U].destroy(!0);this.texturePool[I]=[]}this._pixelsWidth=E.width,this._pixelsHeight=E.height}}}RenderTexturePool.SCREEN_KEY=-1;class Quad extends Geometry{constructor(){super(),this.addAttribute("aVertexPosition",new Float32Array([0,0,1,0,1,1,0,1])).addIndex([0,1,3,2])}}class QuadUv extends Geometry{constructor(){super(),this.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,1]),this.uvs=new Float32Array([0,0,1,0,1,1,0,1]),this.vertexBuffer=new Buffer(this.vertices),this.uvBuffer=new Buffer(this.uvs),this.addAttribute("aVertexPosition",this.vertexBuffer).addAttribute("aTextureCoord",this.uvBuffer).addIndex([0,1,2,0,2,3])}map(E,I){let B=0,U=0;return this.uvs[0]=B,this.uvs[1]=U,this.uvs[2]=B+I.width/E.width,this.uvs[3]=U,this.uvs[4]=B+I.width/E.width,this.uvs[5]=U+I.height/E.height,this.uvs[6]=B,this.uvs[7]=U+I.height/E.height,B=I.x,U=I.y,this.vertices[0]=B,this.vertices[1]=U,this.vertices[2]=B+I.width,this.vertices[3]=U,this.vertices[4]=B+I.width,this.vertices[5]=U+I.height,this.vertices[6]=B,this.vertices[7]=U+I.height,this.invalidate(),this}invalidate(){return this.vertexBuffer._updateID++,this.uvBuffer._updateID++,this}}class FilterState{constructor(){this.renderTexture=null,this.target=null,this.legacy=!1,this.resolution=1,this.multisample=MSAA_QUALITY.NONE,this.sourceFrame=new Rectangle,this.destinationFrame=new Rectangle,this.bindingSourceFrame=new Rectangle,this.bindingDestinationFrame=new Rectangle,this.filters=[],this.transform=null}clear(){this.target=null,this.filters=null,this.renderTexture=null}}const tempPoints=[new Point,new Point,new Point,new Point],tempMatrix$2=new Matrix$2;class FilterSystem{constructor(E){this.renderer=E,this.defaultFilterStack=[{}],this.texturePool=new RenderTexturePool,this.statePool=[],this.quad=new Quad,this.quadUv=new QuadUv,this.tempRect=new Rectangle,this.activeState={},this.globalUniforms=new UniformGroup({outputFrame:new Rectangle,inputSize:new Float32Array(4),inputPixel:new Float32Array(4),inputClamp:new Float32Array(4),resolution:1,filterArea:new Float32Array(4),filterClamp:new Float32Array(4)},!0),this.forceClear=!1,this.useMaxPadding=!1}init(){this.texturePool.setScreenSize(this.renderer.view)}push(E,I){const B=this.renderer,U=this.defaultFilterStack,V=this.statePool.pop()||new FilterState,X=this.renderer.renderTexture;let Y=I[0].resolution,K=I[0].multisample,_e=I[0].padding,xe=I[0].autoFit,Z=I[0].legacy??!0;for(let Te=1;Te<I.length;Te++){const Ae=I[Te];Y=Math.min(Y,Ae.resolution),K=Math.min(K,Ae.multisample),_e=this.useMaxPadding?Math.max(_e,Ae.padding):_e+Ae.padding,xe=xe&&Ae.autoFit,Z=Z||(Ae.legacy??!0)}U.length===1&&(this.defaultFilterStack[0].renderTexture=X.current),U.push(V),V.resolution=Y,V.multisample=K,V.legacy=Z,V.target=E,V.sourceFrame.copyFrom(E.filterArea||E.getBounds(!0)),V.sourceFrame.pad(_e);const J=this.tempRect.copyFrom(X.sourceFrame);B.projection.transform&&this.transformAABB(tempMatrix$2.copyFrom(B.projection.transform).invert(),J),xe?(V.sourceFrame.fit(J),(V.sourceFrame.width<=0||V.sourceFrame.height<=0)&&(V.sourceFrame.width=0,V.sourceFrame.height=0)):V.sourceFrame.intersects(J)||(V.sourceFrame.width=0,V.sourceFrame.height=0),this.roundFrame(V.sourceFrame,X.current?X.current.resolution:B.resolution,X.sourceFrame,X.destinationFrame,B.projection.transform),V.renderTexture=this.getOptimalFilterTexture(V.sourceFrame.width,V.sourceFrame.height,Y,K),V.filters=I,V.destinationFrame.width=V.renderTexture.width,V.destinationFrame.height=V.renderTexture.height;const Se=this.tempRect;Se.x=0,Se.y=0,Se.width=V.sourceFrame.width,Se.height=V.sourceFrame.height,V.renderTexture.filterFrame=V.sourceFrame,V.bindingSourceFrame.copyFrom(X.sourceFrame),V.bindingDestinationFrame.copyFrom(X.destinationFrame),V.transform=B.projection.transform,B.projection.transform=null,X.bind(V.renderTexture,V.sourceFrame,Se),B.framebuffer.clear(0,0,0,0)}pop(){const E=this.defaultFilterStack,I=E.pop(),B=I.filters;this.activeState=I;const U=this.globalUniforms.uniforms;U.outputFrame=I.sourceFrame,U.resolution=I.resolution;const V=U.inputSize,X=U.inputPixel,Y=U.inputClamp;if(V[0]=I.destinationFrame.width,V[1]=I.destinationFrame.height,V[2]=1/V[0],V[3]=1/V[1],X[0]=Math.round(V[0]*I.resolution),X[1]=Math.round(V[1]*I.resolution),X[2]=1/X[0],X[3]=1/X[1],Y[0]=.5*X[2],Y[1]=.5*X[3],Y[2]=I.sourceFrame.width*V[2]-.5*X[2],Y[3]=I.sourceFrame.height*V[3]-.5*X[3],I.legacy){const _e=U.filterArea;_e[0]=I.destinationFrame.width,_e[1]=I.destinationFrame.height,_e[2]=I.sourceFrame.x,_e[3]=I.sourceFrame.y,U.filterClamp=U.inputClamp}this.globalUniforms.update();const K=E[E.length-1];if(this.renderer.framebuffer.blit(),B.length===1)B[0].apply(this,I.renderTexture,K.renderTexture,CLEAR_MODES.BLEND,I),this.returnFilterTexture(I.renderTexture);else{let _e=I.renderTexture,xe=this.getOptimalFilterTexture(_e.width,_e.height,I.resolution);xe.filterFrame=_e.filterFrame;let Z=0;for(Z=0;Z<B.length-1;++Z){Z===1&&I.multisample>1&&(xe=this.getOptimalFilterTexture(_e.width,_e.height,I.resolution),xe.filterFrame=_e.filterFrame),B[Z].apply(this,_e,xe,CLEAR_MODES.CLEAR,I);const J=_e;_e=xe,xe=J}B[Z].apply(this,_e,K.renderTexture,CLEAR_MODES.BLEND,I),Z>1&&I.multisample>1&&this.returnFilterTexture(I.renderTexture),this.returnFilterTexture(_e),this.returnFilterTexture(xe)}I.clear(),this.statePool.push(I)}bindAndClear(E,I=CLEAR_MODES.CLEAR){const{renderTexture:B,state:U}=this.renderer;if(E===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,E!=null&&E.filterFrame){const X=this.tempRect;X.x=0,X.y=0,X.width=E.filterFrame.width,X.height=E.filterFrame.height,B.bind(E,E.filterFrame,X)}else E!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?B.bind(E):this.renderer.renderTexture.bind(E,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);const V=U.stateId&1||this.forceClear;(I===CLEAR_MODES.CLEAR||I===CLEAR_MODES.BLIT&&V)&&this.renderer.framebuffer.clear(0,0,0,0)}applyFilter(E,I,B,U){const V=this.renderer;V.state.set(E.state),this.bindAndClear(B,U),E.uniforms.uSampler=I,E.uniforms.filterGlobals=this.globalUniforms,V.shader.bind(E),E.legacy=!!E.program.attributeData.aTextureCoord,E.legacy?(this.quadUv.map(I._frame,I.filterFrame),V.geometry.bind(this.quadUv),V.geometry.draw(DRAW_MODES.TRIANGLES)):(V.geometry.bind(this.quad),V.geometry.draw(DRAW_MODES.TRIANGLE_STRIP))}calculateSpriteMatrix(E,I){const{sourceFrame:B,destinationFrame:U}=this.activeState,{orig:V}=I._texture,X=E.set(U.width,0,0,U.height,B.x,B.y),Y=I.worldTransform.copyTo(Matrix$2.TEMP_MATRIX);return Y.invert(),X.prepend(Y),X.scale(1/V.width,1/V.height),X.translate(I.anchor.x,I.anchor.y),X}destroy(){this.renderer=null,this.texturePool.clear(!1)}getOptimalFilterTexture(E,I,B=1,U=MSAA_QUALITY.NONE){return this.texturePool.getOptimalTexture(E,I,B,U)}getFilterTexture(E,I,B){if(typeof E=="number"){const V=E;E=I,I=V}E=E||this.activeState.renderTexture;const U=this.texturePool.getOptimalTexture(E.width,E.height,I||E.resolution,B||MSAA_QUALITY.NONE);return U.filterFrame=E.filterFrame,U}returnFilterTexture(E){this.texturePool.returnTexture(E)}emptyPool(){this.texturePool.clear(!0)}resize(){this.texturePool.setScreenSize(this.renderer.view)}transformAABB(E,I){const B=tempPoints[0],U=tempPoints[1],V=tempPoints[2],X=tempPoints[3];B.set(I.left,I.top),U.set(I.left,I.bottom),V.set(I.right,I.top),X.set(I.right,I.bottom),E.apply(B,B),E.apply(U,U),E.apply(V,V),E.apply(X,X);const Y=Math.min(B.x,U.x,V.x,X.x),K=Math.min(B.y,U.y,V.y,X.y),_e=Math.max(B.x,U.x,V.x,X.x),xe=Math.max(B.y,U.y,V.y,X.y);I.x=Y,I.y=K,I.width=_e-Y,I.height=xe-K}roundFrame(E,I,B,U,V){if(!(E.width<=0||E.height<=0||B.width<=0||B.height<=0)){if(V){const{a:X,b:Y,c:K,d:_e}=V;if((Math.abs(Y)>1e-4||Math.abs(K)>1e-4)&&(Math.abs(X)>1e-4||Math.abs(_e)>1e-4))return}V=V?tempMatrix$2.copyFrom(V):tempMatrix$2.identity(),V.translate(-B.x,-B.y).scale(U.width/B.width,U.height/B.height).translate(U.x,U.y),this.transformAABB(V,E),E.ceil(I),this.transformAABB(V.invert(),E)}}}FilterSystem.extension={type:ExtensionType.RendererSystem,name:"filter"},extensions.add(FilterSystem);class GLFramebuffer{constructor(E){this.framebuffer=E,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=MSAA_QUALITY.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}}const tempRectangle=new Rectangle;class FramebufferSystem{constructor(E){this.renderer=E,this.managedFramebuffers=[],this.unknownFramebuffer=new Framebuffer(10,10),this.msaaSamples=null}contextChange(){this.disposeAll(!0);const E=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new Rectangle,this.hasMRT=!0,this.writeDepthTexture=!0,this.renderer.context.webGLVersion===1){let I=this.renderer.context.extensions.drawBuffers,B=this.renderer.context.extensions.depthTexture;settings.PREFER_ENV===ENV.WEBGL_LEGACY&&(I=null,B=null),I?E.drawBuffers=U=>I.drawBuffersWEBGL(U):(this.hasMRT=!1,E.drawBuffers=()=>{}),B||(this.writeDepthTexture=!1)}else this.msaaSamples=E.getInternalformatParameter(E.RENDERBUFFER,E.RGBA8,E.SAMPLES)}bind(E,I,B=0){const{gl:U}=this;if(E){const V=E.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(E);this.current!==E&&(this.current=E,U.bindFramebuffer(U.FRAMEBUFFER,V.framebuffer)),V.mipLevel!==B&&(E.dirtyId++,E.dirtyFormat++,V.mipLevel=B),V.dirtyId!==E.dirtyId&&(V.dirtyId=E.dirtyId,V.dirtyFormat!==E.dirtyFormat?(V.dirtyFormat=E.dirtyFormat,V.dirtySize=E.dirtySize,this.updateFramebuffer(E,B)):V.dirtySize!==E.dirtySize&&(V.dirtySize=E.dirtySize,this.resizeFramebuffer(E)));for(let X=0;X<E.colorTextures.length;X++){const Y=E.colorTextures[X];this.renderer.texture.unbind(Y.parentTextureArray||Y)}if(E.depthTexture&&this.renderer.texture.unbind(E.depthTexture),I){const X=I.width>>B,Y=I.height>>B,K=X/I.width;this.setViewport(I.x*K,I.y*K,X,Y)}else{const X=E.width>>B,Y=E.height>>B;this.setViewport(0,0,X,Y)}}else this.current&&(this.current=null,U.bindFramebuffer(U.FRAMEBUFFER,null)),I?this.setViewport(I.x,I.y,I.width,I.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)}setViewport(E,I,B,U){const V=this.viewport;E=Math.round(E),I=Math.round(I),B=Math.round(B),U=Math.round(U),(V.width!==B||V.height!==U||V.x!==E||V.y!==I)&&(V.x=E,V.y=I,V.width=B,V.height=U,this.gl.viewport(E,I,B,U))}get size(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}clear(E,I,B,U,V=BUFFER_BITS.COLOR|BUFFER_BITS.DEPTH){const{gl:X}=this;X.clearColor(E,I,B,U),X.clear(V)}initFramebuffer(E){const{gl:I}=this,B=new GLFramebuffer(I.createFramebuffer());return B.multisample=this.detectSamples(E.multisample),E.glFramebuffers[this.CONTEXT_UID]=B,this.managedFramebuffers.push(E),E.disposeRunner.add(this),B}resizeFramebuffer(E){const{gl:I}=this,B=E.glFramebuffers[this.CONTEXT_UID];B.stencil&&(I.bindRenderbuffer(I.RENDERBUFFER,B.stencil),B.msaaBuffer?I.renderbufferStorageMultisample(I.RENDERBUFFER,B.multisample,I.DEPTH24_STENCIL8,E.width,E.height):I.renderbufferStorage(I.RENDERBUFFER,I.DEPTH_STENCIL,E.width,E.height));const U=E.colorTextures;let V=U.length;I.drawBuffers||(V=Math.min(V,1));for(let X=0;X<V;X++){const Y=U[X],K=Y.parentTextureArray||Y;this.renderer.texture.bind(K,0),X===0&&B.msaaBuffer&&(I.bindRenderbuffer(I.RENDERBUFFER,B.msaaBuffer),I.renderbufferStorageMultisample(I.RENDERBUFFER,B.multisample,K._glTextures[this.CONTEXT_UID].internalFormat,E.width,E.height))}E.depthTexture&&this.writeDepthTexture&&this.renderer.texture.bind(E.depthTexture,0)}updateFramebuffer(E,I){const{gl:B}=this,U=E.glFramebuffers[this.CONTEXT_UID],V=E.colorTextures;let X=V.length;B.drawBuffers||(X=Math.min(X,1)),U.multisample>1&&this.canMultisampleFramebuffer(E)?U.msaaBuffer=U.msaaBuffer||B.createRenderbuffer():U.msaaBuffer&&(B.deleteRenderbuffer(U.msaaBuffer),U.msaaBuffer=null,U.blitFramebuffer&&(U.blitFramebuffer.dispose(),U.blitFramebuffer=null));const Y=[];for(let K=0;K<X;K++){const _e=V[K],xe=_e.parentTextureArray||_e;this.renderer.texture.bind(xe,0),K===0&&U.msaaBuffer?(B.bindRenderbuffer(B.RENDERBUFFER,U.msaaBuffer),B.renderbufferStorageMultisample(B.RENDERBUFFER,U.multisample,xe._glTextures[this.CONTEXT_UID].internalFormat,E.width,E.height),B.framebufferRenderbuffer(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.RENDERBUFFER,U.msaaBuffer)):(B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0+K,_e.target,xe._glTextures[this.CONTEXT_UID].texture,I),Y.push(B.COLOR_ATTACHMENT0+K))}if(Y.length>1&&B.drawBuffers(Y),E.depthTexture&&this.writeDepthTexture){const _e=E.depthTexture;this.renderer.texture.bind(_e,0),B.framebufferTexture2D(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.TEXTURE_2D,_e._glTextures[this.CONTEXT_UID].texture,I)}(E.stencil||E.depth)&&!(E.depthTexture&&this.writeDepthTexture)?(U.stencil=U.stencil||B.createRenderbuffer(),B.bindRenderbuffer(B.RENDERBUFFER,U.stencil),U.msaaBuffer?B.renderbufferStorageMultisample(B.RENDERBUFFER,U.multisample,B.DEPTH24_STENCIL8,E.width,E.height):B.renderbufferStorage(B.RENDERBUFFER,B.DEPTH_STENCIL,E.width,E.height),B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,U.stencil)):U.stencil&&(B.deleteRenderbuffer(U.stencil),U.stencil=null)}canMultisampleFramebuffer(E){return this.renderer.context.webGLVersion!==1&&E.colorTextures.length<=1&&!E.depthTexture}detectSamples(E){const{msaaSamples:I}=this;let B=MSAA_QUALITY.NONE;if(E<=1||I===null)return B;for(let U=0;U<I.length;U++)if(I[U]<=E){B=I[U];break}return B===1&&(B=MSAA_QUALITY.NONE),B}blit(E,I,B){const{current:U,renderer:V,gl:X,CONTEXT_UID:Y}=this;if(V.context.webGLVersion!==2||!U)return;const K=U.glFramebuffers[Y];if(!K)return;if(!E){if(!K.msaaBuffer)return;const xe=U.colorTextures[0];if(!xe)return;K.blitFramebuffer||(K.blitFramebuffer=new Framebuffer(U.width,U.height),K.blitFramebuffer.addColorTexture(0,xe)),E=K.blitFramebuffer,E.colorTextures[0]!==xe&&(E.colorTextures[0]=xe,E.dirtyId++,E.dirtyFormat++),(E.width!==U.width||E.height!==U.height)&&(E.width=U.width,E.height=U.height,E.dirtyId++,E.dirtySize++)}I||(I=tempRectangle,I.width=U.width,I.height=U.height),B||(B=I);const _e=I.width===B.width&&I.height===B.height;this.bind(E),X.bindFramebuffer(X.READ_FRAMEBUFFER,K.framebuffer),X.blitFramebuffer(I.left,I.top,I.right,I.bottom,B.left,B.top,B.right,B.bottom,X.COLOR_BUFFER_BIT,_e?X.NEAREST:X.LINEAR)}disposeFramebuffer(E,I){const B=E.glFramebuffers[this.CONTEXT_UID],U=this.gl;if(!B)return;delete E.glFramebuffers[this.CONTEXT_UID];const V=this.managedFramebuffers.indexOf(E);V>=0&&this.managedFramebuffers.splice(V,1),E.disposeRunner.remove(this),I||(U.deleteFramebuffer(B.framebuffer),B.msaaBuffer&&U.deleteRenderbuffer(B.msaaBuffer),B.stencil&&U.deleteRenderbuffer(B.stencil)),B.blitFramebuffer&&this.disposeFramebuffer(B.blitFramebuffer,I)}disposeAll(E){const I=this.managedFramebuffers;this.managedFramebuffers=[];for(let B=0;B<I.length;B++)this.disposeFramebuffer(I[B],E)}forceStencil(){const E=this.current;if(!E)return;const I=E.glFramebuffers[this.CONTEXT_UID];if(!I||I.stencil)return;E.stencil=!0;const B=E.width,U=E.height,V=this.gl,X=V.createRenderbuffer();V.bindRenderbuffer(V.RENDERBUFFER,X),I.msaaBuffer?V.renderbufferStorageMultisample(V.RENDERBUFFER,I.multisample,V.DEPTH24_STENCIL8,B,U):V.renderbufferStorage(V.RENDERBUFFER,V.DEPTH_STENCIL,B,U),I.stencil=X,V.framebufferRenderbuffer(V.FRAMEBUFFER,V.DEPTH_STENCIL_ATTACHMENT,V.RENDERBUFFER,X)}reset(){this.current=this.unknownFramebuffer,this.viewport=new Rectangle}destroy(){this.renderer=null}}FramebufferSystem.extension={type:ExtensionType.RendererSystem,name:"framebuffer"},extensions.add(FramebufferSystem);const byteSizeMap={5126:4,5123:2,5121:1};class GeometrySystem{constructor(E){this.renderer=E,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this.canUseUInt32ElementIndex=!1,this.managedGeometries={}}contextChange(){this.disposeAll(!0);const E=this.gl=this.renderer.gl,I=this.renderer.context;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,I.webGLVersion!==2){let B=this.renderer.context.extensions.vertexArrayObject;settings.PREFER_ENV===ENV.WEBGL_LEGACY&&(B=null),B?(E.createVertexArray=()=>B.createVertexArrayOES(),E.bindVertexArray=U=>B.bindVertexArrayOES(U),E.deleteVertexArray=U=>B.deleteVertexArrayOES(U)):(this.hasVao=!1,E.createVertexArray=()=>null,E.bindVertexArray=()=>null,E.deleteVertexArray=()=>null)}if(I.webGLVersion!==2){const B=E.getExtension("ANGLE_instanced_arrays");B?(E.vertexAttribDivisor=(U,V)=>B.vertexAttribDivisorANGLE(U,V),E.drawElementsInstanced=(U,V,X,Y,K)=>B.drawElementsInstancedANGLE(U,V,X,Y,K),E.drawArraysInstanced=(U,V,X,Y)=>B.drawArraysInstancedANGLE(U,V,X,Y)):this.hasInstance=!1}this.canUseUInt32ElementIndex=I.webGLVersion===2||!!I.extensions.uint32ElementIndex}bind(E,I){I=I||this.renderer.shader.shader;const{gl:B}=this;let U=E.glVertexArrayObjects[this.CONTEXT_UID],V=!1;U||(this.managedGeometries[E.id]=E,E.disposeRunner.add(this),E.glVertexArrayObjects[this.CONTEXT_UID]=U={},V=!0);const X=U[I.program.id]||this.initGeometryVao(E,I,V);this._activeGeometry=E,this._activeVao!==X&&(this._activeVao=X,this.hasVao?B.bindVertexArray(X):this.activateVao(E,I.program)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){const E=this._activeGeometry,I=this.renderer.buffer;for(let B=0;B<E.buffers.length;B++){const U=E.buffers[B];I.update(U)}}checkCompatibility(E,I){const B=E.attributes,U=I.attributeData;for(const V in U)if(!B[V])throw new Error(`shader and geometry incompatible, geometry missing the "${V}" attribute`)}getSignature(E,I){const B=E.attributes,U=I.attributeData,V=["g",E.id];for(const X in B)U[X]&&V.push(X,U[X].location);return V.join("-")}initGeometryVao(E,I,B=!0){const U=this.gl,V=this.CONTEXT_UID,X=this.renderer.buffer,Y=I.program;Y.glPrograms[V]||this.renderer.shader.generateProgram(I),this.checkCompatibility(E,Y);const K=this.getSignature(E,Y),_e=E.glVertexArrayObjects[this.CONTEXT_UID];let xe=_e[K];if(xe)return _e[Y.id]=xe,xe;const Z=E.buffers,J=E.attributes,Se={},Te={};for(const Ae in Z)Se[Ae]=0,Te[Ae]=0;for(const Ae in J)!J[Ae].size&&Y.attributeData[Ae]?J[Ae].size=Y.attributeData[Ae].size:J[Ae].size||console.warn(`PIXI Geometry attribute '${Ae}' size cannot be determined (likely the bound shader does not have the attribute)`),Se[J[Ae].buffer]+=J[Ae].size*byteSizeMap[J[Ae].type];for(const Ae in J){const Me=J[Ae],Ee=Me.size;Me.stride===void 0&&(Se[Me.buffer]===Ee*byteSizeMap[Me.type]?Me.stride=0:Me.stride=Se[Me.buffer]),Me.start===void 0&&(Me.start=Te[Me.buffer],Te[Me.buffer]+=Ee*byteSizeMap[Me.type])}xe=U.createVertexArray(),U.bindVertexArray(xe);for(let Ae=0;Ae<Z.length;Ae++){const Me=Z[Ae];X.bind(Me),B&&Me._glBuffers[V].refCount++}return this.activateVao(E,Y),_e[Y.id]=xe,_e[K]=xe,U.bindVertexArray(null),X.unbind(BUFFER_TYPE.ARRAY_BUFFER),xe}disposeGeometry(E,I){var Y;if(!this.managedGeometries[E.id])return;delete this.managedGeometries[E.id];const B=E.glVertexArrayObjects[this.CONTEXT_UID],U=this.gl,V=E.buffers,X=(Y=this.renderer)==null?void 0:Y.buffer;if(E.disposeRunner.remove(this),!!B){if(X)for(let K=0;K<V.length;K++){const _e=V[K]._glBuffers[this.CONTEXT_UID];_e&&(_e.refCount--,_e.refCount===0&&!I&&X.dispose(V[K],I))}if(!I){for(const K in B)if(K[0]==="g"){const _e=B[K];this._activeVao===_e&&this.unbind(),U.deleteVertexArray(_e)}}delete E.glVertexArrayObjects[this.CONTEXT_UID]}}disposeAll(E){const I=Object.keys(this.managedGeometries);for(let B=0;B<I.length;B++)this.disposeGeometry(this.managedGeometries[I[B]],E)}activateVao(E,I){const B=this.gl,U=this.CONTEXT_UID,V=this.renderer.buffer,X=E.buffers,Y=E.attributes;E.indexBuffer&&V.bind(E.indexBuffer);let K=null;for(const _e in Y){const xe=Y[_e],Z=X[xe.buffer],J=Z._glBuffers[U];if(I.attributeData[_e]){K!==J&&(V.bind(Z),K=J);const Se=I.attributeData[_e].location;if(B.enableVertexAttribArray(Se),B.vertexAttribPointer(Se,xe.size,xe.type||B.FLOAT,xe.normalized,xe.stride,xe.start),xe.instance)if(this.hasInstance)B.vertexAttribDivisor(Se,xe.divisor);else throw new Error("geometry error, GPU Instancing is not supported on this device")}}}draw(E,I,B,U){const{gl:V}=this,X=this._activeGeometry;if(X.indexBuffer){const Y=X.indexBuffer.data.BYTES_PER_ELEMENT,K=Y===2?V.UNSIGNED_SHORT:V.UNSIGNED_INT;Y===2||Y===4&&this.canUseUInt32ElementIndex?X.instanced?V.drawElementsInstanced(E,I||X.indexBuffer.data.length,K,(B||0)*Y,U||1):V.drawElements(E,I||X.indexBuffer.data.length,K,(B||0)*Y):console.warn("unsupported index buffer type: uint32")}else X.instanced?V.drawArraysInstanced(E,B,I||X.getSize(),U||1):V.drawArrays(E,B,I||X.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this.renderer=null}}GeometrySystem.extension={type:ExtensionType.RendererSystem,name:"geometry"},extensions.add(GeometrySystem);const tempMat=new Matrix$2;class TextureMatrix{constructor(E,I){this._texture=E,this.mapCoord=new Matrix$2,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,this.clampMargin=typeof I>"u"?.5:I,this.isSimple=!1}get texture(){return this._texture}set texture(E){this._texture=E,this._textureID=-1}multiplyUvs(E,I){I===void 0&&(I=E);const B=this.mapCoord;for(let U=0;U<E.length;U+=2){const V=E[U],X=E[U+1];I[U]=V*B.a+X*B.c+B.tx,I[U+1]=V*B.b+X*B.d+B.ty}return I}update(E){const I=this._texture;if(!I||!I.valid||!E&&this._textureID===I._updateID)return!1;this._textureID=I._updateID,this._updateID++;const B=I._uvs;this.mapCoord.set(B.x1-B.x0,B.y1-B.y0,B.x3-B.x0,B.y3-B.y0,B.x0,B.y0);const U=I.orig,V=I.trim;V&&(tempMat.set(U.width/V.width,0,0,U.height/V.height,-V.x/V.width,-V.y/V.height),this.mapCoord.append(tempMat));const X=I.baseTexture,Y=this.uClampFrame,K=this.clampMargin/X.resolution,_e=this.clampOffset;return Y[0]=(I._frame.x+K+_e)/X.width,Y[1]=(I._frame.y+K+_e)/X.height,Y[2]=(I._frame.x+I._frame.width-K+_e)/X.width,Y[3]=(I._frame.y+I._frame.height-K+_e)/X.height,this.uClampOffset[0]=_e/X.realWidth,this.uClampOffset[1]=_e/X.realHeight,this.isSimple=I._frame.width===X.width&&I._frame.height===X.height&&I.rotate===0,!0}}var fragment=`varying vec2 vMaskCoord;
411
- varying vec2 vTextureCoord;
412
-
413
- uniform sampler2D uSampler;
414
- uniform sampler2D mask;
415
- uniform float alpha;
416
- uniform float npmAlpha;
417
- uniform vec4 maskClamp;
418
-
419
- void main(void)
420
- {
421
- float clip = step(3.5,
422
- step(maskClamp.x, vMaskCoord.x) +
423
- step(maskClamp.y, vMaskCoord.y) +
424
- step(vMaskCoord.x, maskClamp.z) +
425
- step(vMaskCoord.y, maskClamp.w));
426
-
427
- vec4 original = texture2D(uSampler, vTextureCoord);
428
- vec4 masky = texture2D(mask, vMaskCoord);
429
- float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
430
-
431
- original *= (alphaMul * masky.r * alpha * clip);
432
-
433
- gl_FragColor = original;
434
- }
435
- `,vertex=`attribute vec2 aVertexPosition;
436
- attribute vec2 aTextureCoord;
437
-
438
- uniform mat3 projectionMatrix;
439
- uniform mat3 otherMatrix;
440
-
441
- varying vec2 vMaskCoord;
442
- varying vec2 vTextureCoord;
443
-
444
- void main(void)
445
- {
446
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
447
-
448
- vTextureCoord = aTextureCoord;
449
- vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0) ).xy;
450
- }
451
- `;class SpriteMaskFilter extends Filter{constructor(E,I,B){let U=null;typeof E!="string"&&I===void 0&&B===void 0&&(U=E,E=void 0,I=void 0,B=void 0),super(E||vertex,I||fragment,B),this.maskSprite=U,this.maskMatrix=new Matrix$2}get maskSprite(){return this._maskSprite}set maskSprite(E){this._maskSprite=E,this._maskSprite&&(this._maskSprite.renderable=!1)}apply(E,I,B,U){const V=this._maskSprite,X=V._texture;X.valid&&(X.uvMatrix||(X.uvMatrix=new TextureMatrix(X,0)),X.uvMatrix.update(),this.uniforms.npmAlpha=X.baseTexture.alphaMode?0:1,this.uniforms.mask=X,this.uniforms.otherMatrix=E.calculateSpriteMatrix(this.maskMatrix,V).prepend(X.uvMatrix.mapCoord),this.uniforms.alpha=V.worldAlpha,this.uniforms.maskClamp=X.uvMatrix.uClampFrame,E.applyFilter(this,I,B,U))}}class MaskData{constructor(E=null){this.type=MASK_TYPES.NONE,this.autoDetect=!0,this.maskObject=E||null,this.pooled=!1,this.isMaskData=!0,this.resolution=null,this.multisample=Filter.defaultMultisample,this.enabled=!0,this.colorMask=15,this._filters=null,this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null,this._scissorRectLocal=null,this._colorMask=15,this._target=null}get filter(){return this._filters?this._filters[0]:null}set filter(E){E?this._filters?this._filters[0]=E:this._filters=[E]:this._filters=null}reset(){this.pooled&&(this.maskObject=null,this.type=MASK_TYPES.NONE,this.autoDetect=!0),this._target=null,this._scissorRectLocal=null}copyCountersOrReset(E){E?(this._stencilCounter=E._stencilCounter,this._scissorCounter=E._scissorCounter,this._scissorRect=E._scissorRect):(this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null)}}class MaskSystem{constructor(E){this.renderer=E,this.enableScissor=!0,this.alphaMaskPool=[],this.maskDataPool=[],this.maskStack=[],this.alphaMaskIndex=0}setMaskStack(E){this.maskStack=E,this.renderer.scissor.setMaskStack(E),this.renderer.stencil.setMaskStack(E)}push(E,I){let B=I;if(!B.isMaskData){const V=this.maskDataPool.pop()||new MaskData;V.pooled=!0,V.maskObject=I,B=V}const U=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null;if(B.copyCountersOrReset(U),B._colorMask=U?U._colorMask:15,B.autoDetect&&this.detect(B),B._target=E,B.type!==MASK_TYPES.SPRITE&&this.maskStack.push(B),B.enabled)switch(B.type){case MASK_TYPES.SCISSOR:this.renderer.scissor.push(B);break;case MASK_TYPES.STENCIL:this.renderer.stencil.push(B);break;case MASK_TYPES.SPRITE:B.copyCountersOrReset(null),this.pushSpriteMask(B);break;case MASK_TYPES.COLOR:this.pushColorMask(B);break}B.type===MASK_TYPES.SPRITE&&this.maskStack.push(B)}pop(E){const I=this.maskStack.pop();if(!(!I||I._target!==E)){if(I.enabled)switch(I.type){case MASK_TYPES.SCISSOR:this.renderer.scissor.pop(I);break;case MASK_TYPES.STENCIL:this.renderer.stencil.pop(I.maskObject);break;case MASK_TYPES.SPRITE:this.popSpriteMask(I);break;case MASK_TYPES.COLOR:this.popColorMask(I);break}if(I.reset(),I.pooled&&this.maskDataPool.push(I),this.maskStack.length!==0){const B=this.maskStack[this.maskStack.length-1];B.type===MASK_TYPES.SPRITE&&B._filters&&(B._filters[0].maskSprite=B.maskObject)}}}detect(E){const I=E.maskObject;I?I.isSprite?E.type=MASK_TYPES.SPRITE:this.enableScissor&&this.renderer.scissor.testScissor(E)?E.type=MASK_TYPES.SCISSOR:E.type=MASK_TYPES.STENCIL:E.type=MASK_TYPES.COLOR}pushSpriteMask(E){const{maskObject:I}=E,B=E._target;let U=E._filters;U||(U=this.alphaMaskPool[this.alphaMaskIndex],U||(U=this.alphaMaskPool[this.alphaMaskIndex]=[new SpriteMaskFilter]));const V=this.renderer,X=V.renderTexture;let Y,K;if(X.current){const xe=X.current;Y=E.resolution||xe.resolution,K=E.multisample??xe.multisample}else Y=E.resolution||V.resolution,K=E.multisample??V.multisample;U[0].resolution=Y,U[0].multisample=K,U[0].maskSprite=I;const _e=B.filterArea;B.filterArea=I.getBounds(!0),V.filter.push(B,U),B.filterArea=_e,E._filters||this.alphaMaskIndex++}popSpriteMask(E){this.renderer.filter.pop(),E._filters?E._filters[0].maskSprite=null:(this.alphaMaskIndex--,this.alphaMaskPool[this.alphaMaskIndex][0].maskSprite=null)}pushColorMask(E){const I=E._colorMask,B=E._colorMask=I&E.colorMask;B!==I&&this.renderer.gl.colorMask((B&1)!==0,(B&2)!==0,(B&4)!==0,(B&8)!==0)}popColorMask(E){const I=E._colorMask,B=this.maskStack.length>0?this.maskStack[this.maskStack.length-1]._colorMask:15;B!==I&&this.renderer.gl.colorMask((B&1)!==0,(B&2)!==0,(B&4)!==0,(B&8)!==0)}destroy(){this.renderer=null}}MaskSystem.extension={type:ExtensionType.RendererSystem,name:"mask"},extensions.add(MaskSystem);class AbstractMaskSystem{constructor(E){this.renderer=E,this.maskStack=[],this.glConst=0}getStackLength(){return this.maskStack.length}setMaskStack(E){const{gl:I}=this.renderer,B=this.getStackLength();this.maskStack=E;const U=this.getStackLength();U!==B&&(U===0?I.disable(this.glConst):(I.enable(this.glConst),this._useCurrent()))}_useCurrent(){}destroy(){this.renderer=null,this.maskStack=null}}const tempMatrix$1=new Matrix$2,rectPool=[],_ScissorSystem=class extends AbstractMaskSystem{constructor(C){super(C),this.glConst=settings.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST}getStackLength(){const C=this.maskStack[this.maskStack.length-1];return C?C._scissorCounter:0}calcScissorRect(C){if(C._scissorRectLocal)return;const E=C._scissorRect,{maskObject:I}=C,{renderer:B}=this,U=B.renderTexture,V=I.getBounds(!0,rectPool.pop()??new Rectangle);this.roundFrameToPixels(V,U.current?U.current.resolution:B.resolution,U.sourceFrame,U.destinationFrame,B.projection.transform),E&&V.fit(E),C._scissorRectLocal=V}static isMatrixRotated(C){if(!C)return!1;const{a:E,b:I,c:B,d:U}=C;return(Math.abs(I)>1e-4||Math.abs(B)>1e-4)&&(Math.abs(E)>1e-4||Math.abs(U)>1e-4)}testScissor(C){const{maskObject:E}=C;if(!E.isFastRect||!E.isFastRect()||_ScissorSystem.isMatrixRotated(E.worldTransform)||_ScissorSystem.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(C);const I=C._scissorRectLocal;return I.width>0&&I.height>0}roundFrameToPixels(C,E,I,B,U){_ScissorSystem.isMatrixRotated(U)||(U=U?tempMatrix$1.copyFrom(U):tempMatrix$1.identity(),U.translate(-I.x,-I.y).scale(B.width/I.width,B.height/I.height).translate(B.x,B.y),this.renderer.filter.transformAABB(U,C),C.fit(B),C.x=Math.round(C.x*E),C.y=Math.round(C.y*E),C.width=Math.round(C.width*E),C.height=Math.round(C.height*E))}push(C){C._scissorRectLocal||this.calcScissorRect(C);const{gl:E}=this.renderer;C._scissorRect||E.enable(E.SCISSOR_TEST),C._scissorCounter++,C._scissorRect=C._scissorRectLocal,this._useCurrent()}pop(C){const{gl:E}=this.renderer;C&&rectPool.push(C._scissorRectLocal),this.getStackLength()>0?this._useCurrent():E.disable(E.SCISSOR_TEST)}_useCurrent(){const C=this.maskStack[this.maskStack.length-1]._scissorRect;let E;this.renderer.renderTexture.current?E=C.y:E=this.renderer.height-C.height-C.y,this.renderer.gl.scissor(C.x,E,C.width,C.height)}};let ScissorSystem=_ScissorSystem;ScissorSystem.extension={type:ExtensionType.RendererSystem,name:"scissor"},extensions.add(ScissorSystem);class StencilSystem extends AbstractMaskSystem{constructor(E){super(E),this.glConst=settings.ADAPTER.getWebGLRenderingContext().STENCIL_TEST}getStackLength(){const E=this.maskStack[this.maskStack.length-1];return E?E._stencilCounter:0}push(E){const I=E.maskObject,{gl:B}=this.renderer,U=E._stencilCounter;U===0&&(this.renderer.framebuffer.forceStencil(),B.clearStencil(0),B.clear(B.STENCIL_BUFFER_BIT),B.enable(B.STENCIL_TEST)),E._stencilCounter++;const V=E._colorMask;V!==0&&(E._colorMask=0,B.colorMask(!1,!1,!1,!1)),B.stencilFunc(B.EQUAL,U,4294967295),B.stencilOp(B.KEEP,B.KEEP,B.INCR),I.renderable=!0,I.render(this.renderer),this.renderer.batch.flush(),I.renderable=!1,V!==0&&(E._colorMask=V,B.colorMask((V&1)!==0,(V&2)!==0,(V&4)!==0,(V&8)!==0)),this._useCurrent()}pop(E){const I=this.renderer.gl;if(this.getStackLength()===0)I.disable(I.STENCIL_TEST);else{const B=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null,U=B?B._colorMask:15;U!==0&&(B._colorMask=0,I.colorMask(!1,!1,!1,!1)),I.stencilOp(I.KEEP,I.KEEP,I.DECR),E.renderable=!0,E.render(this.renderer),this.renderer.batch.flush(),E.renderable=!1,U!==0&&(B._colorMask=U,I.colorMask((U&1)!==0,(U&2)!==0,(U&4)!==0,(U&8)!==0)),this._useCurrent()}}_useCurrent(){const E=this.renderer.gl;E.stencilFunc(E.EQUAL,this.getStackLength(),4294967295),E.stencilOp(E.KEEP,E.KEEP,E.KEEP)}}StencilSystem.extension={type:ExtensionType.RendererSystem,name:"stencil"},extensions.add(StencilSystem);class PluginSystem{constructor(E){this.renderer=E,this.plugins={},Object.defineProperties(this.plugins,{extract:{enumerable:!1,get(){return deprecation("7.0.0","renderer.plugins.extract has moved to renderer.extract"),E.extract}},prepare:{enumerable:!1,get(){return deprecation("7.0.0","renderer.plugins.prepare has moved to renderer.prepare"),E.prepare}},interaction:{enumerable:!1,get(){return deprecation("7.0.0","renderer.plugins.interaction has been deprecated, use renderer.events"),E.events}}})}init(){const E=this.rendererPlugins;for(const I in E)this.plugins[I]=new E[I](this.renderer)}destroy(){for(const E in this.plugins)this.plugins[E].destroy(),this.plugins[E]=null}}PluginSystem.extension={type:[ExtensionType.RendererSystem,ExtensionType.CanvasRendererSystem],name:"_plugin"},extensions.add(PluginSystem);class ProjectionSystem{constructor(E){this.renderer=E,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new Matrix$2,this.transform=null}update(E,I,B,U){this.destinationFrame=E||this.destinationFrame||this.defaultFrame,this.sourceFrame=I||this.sourceFrame||E,this.calculateProjection(this.destinationFrame,this.sourceFrame,B,U),this.transform&&this.projectionMatrix.append(this.transform);const V=this.renderer;V.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,V.globalUniforms.update(),V.shader.shader&&V.shader.syncUniformGroup(V.shader.shader.uniforms.globals)}calculateProjection(E,I,B,U){const V=this.projectionMatrix,X=U?-1:1;V.identity(),V.a=1/I.width*2,V.d=X*(1/I.height*2),V.tx=-1-I.x*V.a,V.ty=-X-I.y*V.d}setTransform(E){}destroy(){this.renderer=null}}ProjectionSystem.extension={type:ExtensionType.RendererSystem,name:"projection"},extensions.add(ProjectionSystem);const tempTransform=new Transform;class GenerateTextureSystem{constructor(E){this.renderer=E,this._tempMatrix=new Matrix$2}generateTexture(E,I){const{region:B,...U}=I||{},V=B||E.getLocalBounds(null,!0);V.width===0&&(V.width=1),V.height===0&&(V.height=1);const X=RenderTexture.create({width:V.width,height:V.height,...U});this._tempMatrix.tx=-V.x,this._tempMatrix.ty=-V.y;const Y=E.transform;return E.transform=tempTransform,this.renderer.render(E,{renderTexture:X,transform:this._tempMatrix,skipUpdateTransform:!!E.parent,blit:!0}),E.transform=Y,X}destroy(){}}GenerateTextureSystem.extension={type:[ExtensionType.RendererSystem,ExtensionType.CanvasRendererSystem],name:"textureGenerator"},extensions.add(GenerateTextureSystem);const tempRect=new Rectangle,tempRect2=new Rectangle;class RenderTextureSystem{constructor(E){this.renderer=E,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new Rectangle,this.destinationFrame=new Rectangle,this.viewportFrame=new Rectangle}bind(E=null,I,B){const U=this.renderer;this.current=E;let V,X,Y;E?(V=E.baseTexture,Y=V.resolution,I||(tempRect.width=E.frame.width,tempRect.height=E.frame.height,I=tempRect),B||(tempRect2.x=E.frame.x,tempRect2.y=E.frame.y,tempRect2.width=I.width,tempRect2.height=I.height,B=tempRect2),X=V.framebuffer):(Y=U.resolution,I||(tempRect.width=U._view.screen.width,tempRect.height=U._view.screen.height,I=tempRect),B||(B=tempRect,B.width=I.width,B.height=I.height));const K=this.viewportFrame;K.x=B.x*Y,K.y=B.y*Y,K.width=B.width*Y,K.height=B.height*Y,E||(K.y=U.view.height-(K.y+K.height)),K.ceil(),this.renderer.framebuffer.bind(X,K),this.renderer.projection.update(B,I,Y,!X),E?this.renderer.mask.setMaskStack(V.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(I),this.destinationFrame.copyFrom(B)}clear(E,I){const B=this.current?this.current.baseTexture.clear:this.renderer.background.backgroundColor,U=E?Color.shared.setValue(E):B,V=this.destinationFrame,X=this.current?this.current.baseTexture:this.renderer._view.screen,Y=V.width!==X.width||V.height!==X.height;if(Y){let{x:K,y:_e,width:xe,height:Z}=this.viewportFrame;K=Math.round(K),_e=Math.round(_e),xe=Math.round(xe),Z=Math.round(Z),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(K,_e,xe,Z)}this.renderer.framebuffer.clear(U.red,U.green,U.blue,U.alpha,I),Y&&this.renderer.scissor.pop()}resize(){this.bind(null)}reset(){this.bind(null)}destroy(){this.renderer=null}}RenderTextureSystem.extension={type:ExtensionType.RendererSystem,name:"renderTexture"},extensions.add(RenderTextureSystem);class GLProgram{constructor(E,I){this.program=E,this.uniformData=I,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null}}function getAttributeData(C,E){const I={},B=E.getProgramParameter(C,E.ACTIVE_ATTRIBUTES);for(let U=0;U<B;U++){const V=E.getActiveAttrib(C,U);if(V.name.startsWith("gl_"))continue;const X=mapType(E,V.type),Y={type:X,name:V.name,size:mapSize(X),location:E.getAttribLocation(C,V.name)};I[V.name]=Y}return I}function getUniformData(C,E){const I={},B=E.getProgramParameter(C,E.ACTIVE_UNIFORMS);for(let U=0;U<B;U++){const V=E.getActiveUniform(C,U),X=V.name.replace(/\[.*?\]$/,""),Y=!!V.name.match(/\[.*?\]$/),K=mapType(E,V.type);I[X]={name:X,index:U,type:K,size:V.size,isArray:Y,value:defaultValue(K,V.size)}}return I}function generateProgram(C,E){var K;const I=compileShader(C,C.VERTEX_SHADER,E.vertexSrc),B=compileShader(C,C.FRAGMENT_SHADER,E.fragmentSrc),U=C.createProgram();C.attachShader(U,I),C.attachShader(U,B);const V=(K=E.extra)==null?void 0:K.transformFeedbackVaryings;if(V&&(typeof C.transformFeedbackVaryings!="function"?console.warn("TransformFeedback is not supported but TransformFeedbackVaryings are given."):C.transformFeedbackVaryings(U,V.names,V.bufferMode==="separate"?C.SEPARATE_ATTRIBS:C.INTERLEAVED_ATTRIBS)),C.linkProgram(U),C.getProgramParameter(U,C.LINK_STATUS)||logProgramError(C,U,I,B),E.attributeData=getAttributeData(U,C),E.uniformData=getUniformData(U,C),!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(E.vertexSrc)){const _e=Object.keys(E.attributeData);_e.sort((xe,Z)=>xe>Z?1:-1);for(let xe=0;xe<_e.length;xe++)E.attributeData[_e[xe]].location=xe,C.bindAttribLocation(U,xe,_e[xe]);C.linkProgram(U)}C.deleteShader(I),C.deleteShader(B);const X={};for(const _e in E.uniformData){const xe=E.uniformData[_e];X[_e]={location:C.getUniformLocation(U,_e),value:defaultValue(xe.type,xe.size)}}return new GLProgram(U,X)}function uboUpdate(C,E,I,B,U){I.buffer.update(U)}const UBO_TO_SINGLE_SETTERS={float:`
452
- data[offset] = v;
453
- `,vec2:`
454
- data[offset] = v[0];
455
- data[offset+1] = v[1];
456
- `,vec3:`
457
- data[offset] = v[0];
458
- data[offset+1] = v[1];
459
- data[offset+2] = v[2];
460
-
461
- `,vec4:`
462
- data[offset] = v[0];
463
- data[offset+1] = v[1];
464
- data[offset+2] = v[2];
465
- data[offset+3] = v[3];
466
- `,mat2:`
467
- data[offset] = v[0];
468
- data[offset+1] = v[1];
469
-
470
- data[offset+4] = v[2];
471
- data[offset+5] = v[3];
472
- `,mat3:`
473
- data[offset] = v[0];
474
- data[offset+1] = v[1];
475
- data[offset+2] = v[2];
476
-
477
- data[offset + 4] = v[3];
478
- data[offset + 5] = v[4];
479
- data[offset + 6] = v[5];
480
-
481
- data[offset + 8] = v[6];
482
- data[offset + 9] = v[7];
483
- data[offset + 10] = v[8];
484
- `,mat4:`
485
- for(var i = 0; i < 16; i++)
486
- {
487
- data[offset + i] = v[i];
488
- }
489
- `},GLSL_TO_STD40_SIZE={float:4,vec2:8,vec3:12,vec4:16,int:4,ivec2:8,ivec3:12,ivec4:16,uint:4,uvec2:8,uvec3:12,uvec4:16,bool:4,bvec2:8,bvec3:12,bvec4:16,mat2:16*2,mat3:16*3,mat4:16*4};function createUBOElements(C){const E=C.map(V=>({data:V,offset:0,dataLen:0,dirty:0}));let I=0,B=0,U=0;for(let V=0;V<E.length;V++){const X=E[V];if(I=GLSL_TO_STD40_SIZE[X.data.type],X.data.size>1&&(I=Math.max(I,16)*X.data.size),X.dataLen=I,B%I!==0&&B<16){const Y=B%I%16;B+=Y,U+=Y}B+I>16?(U=Math.ceil(U/16)*16,X.offset=U,U+=I,B=I):(X.offset=U,B+=I,U+=I)}return U=Math.ceil(U/16)*16,{uboElements:E,size:U}}function getUBOData(C,E){const I=[];for(const B in C)E[B]&&I.push(E[B]);return I.sort((B,U)=>B.index-U.index),I}function generateUniformBufferSync(C,E){if(!C.autoManage)return{size:0,syncFunc:uboUpdate};const I=getUBOData(C.uniforms,E),{uboElements:B,size:U}=createUBOElements(I),V=[`
490
- var v = null;
491
- var v2 = null;
492
- var cv = null;
493
- var t = 0;
494
- var gl = renderer.gl
495
- var index = 0;
496
- var data = buffer.data;
497
- `];for(let X=0;X<B.length;X++){const Y=B[X],K=C.uniforms[Y.data.name],_e=Y.data.name;let xe=!1;for(let Z=0;Z<uniformParsers.length;Z++){const J=uniformParsers[Z];if(J.codeUbo&&J.test(Y.data,K)){V.push(`offset = ${Y.offset/4};`,uniformParsers[Z].codeUbo(Y.data.name,K)),xe=!0;break}}if(!xe)if(Y.data.size>1){const Z=mapSize(Y.data.type),J=Math.max(GLSL_TO_STD40_SIZE[Y.data.type]/16,1),Se=Z/J,Te=(4-Se%4)%4;V.push(`
498
- cv = ud.${_e}.value;
499
- v = uv.${_e};
500
- offset = ${Y.offset/4};
501
-
502
- t = 0;
503
-
504
- for(var i=0; i < ${Y.data.size*J}; i++)
505
- {
506
- for(var j = 0; j < ${Se}; j++)
507
- {
508
- data[offset++] = v[t++];
509
- }
510
- offset += ${Te};
511
- }
512
-
513
- `)}else{const Z=UBO_TO_SINGLE_SETTERS[Y.data.type];V.push(`
514
- cv = ud.${_e}.value;
515
- v = uv.${_e};
516
- offset = ${Y.offset/4};
517
- ${Z};
518
- `)}}return V.push(`
519
- renderer.buffer.update(buffer);
520
- `),{size:U,syncFunc:new Function("ud","uv","renderer","syncData","buffer",V.join(`
521
- `))}}let UID=0;const defaultSyncData={textureCount:0,uboCount:0};class ShaderSystem{constructor(E){this.destroyed=!1,this.renderer=E,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=UID++}systemCheck(){if(!unsafeEvalSupported())throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")}contextChange(E){this.gl=E,this.reset()}bind(E,I){E.disposeRunner.add(this),E.uniforms.globals=this.renderer.globalUniforms;const B=E.program,U=B.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(E);return this.shader=E,this.program!==B&&(this.program=B,this.gl.useProgram(U.program)),I||(defaultSyncData.textureCount=0,defaultSyncData.uboCount=0,this.syncUniformGroup(E.uniformGroup,defaultSyncData)),U}setUniforms(E){const I=this.shader.program,B=I.glPrograms[this.renderer.CONTEXT_UID];I.syncUniforms(B.uniformData,E,this.renderer)}syncUniformGroup(E,I){const B=this.getGlProgram();(!E.static||E.dirtyId!==B.uniformDirtyGroups[E.id])&&(B.uniformDirtyGroups[E.id]=E.dirtyId,this.syncUniforms(E,B,I))}syncUniforms(E,I,B){(E.syncUniforms[this.shader.program.id]||this.createSyncGroups(E))(I.uniformData,E.uniforms,this.renderer,B)}createSyncGroups(E){const I=this.getSignature(E,this.shader.program.uniformData,"u");return this.cache[I]||(this.cache[I]=generateUniformsSync(E,this.shader.program.uniformData)),E.syncUniforms[this.shader.program.id]=this.cache[I],E.syncUniforms[this.shader.program.id]}syncUniformBufferGroup(E,I){const B=this.getGlProgram();if(!E.static||E.dirtyId!==0||!B.uniformGroups[E.id]){E.dirtyId=0;const U=B.uniformGroups[E.id]||this.createSyncBufferGroup(E,B,I);E.buffer.update(),U(B.uniformData,E.uniforms,this.renderer,defaultSyncData,E.buffer)}this.renderer.buffer.bindBufferBase(E.buffer,B.uniformBufferBindings[I])}createSyncBufferGroup(E,I,B){const{gl:U}=this.renderer;this.renderer.buffer.bind(E.buffer);const V=this.gl.getUniformBlockIndex(I.program,B);I.uniformBufferBindings[B]=this.shader.uniformBindCount,U.uniformBlockBinding(I.program,V,this.shader.uniformBindCount),this.shader.uniformBindCount++;const X=this.getSignature(E,this.shader.program.uniformData,"ubo");let Y=this._uboCache[X];if(Y||(Y=this._uboCache[X]=generateUniformBufferSync(E,this.shader.program.uniformData)),E.autoManage){const K=new Float32Array(Y.size/4);E.buffer.update(K)}return I.uniformGroups[E.id]=Y.syncFunc,I.uniformGroups[E.id]}getSignature(E,I,B){const U=E.uniforms,V=[`${B}-`];for(const X in U)V.push(X),I[X]&&V.push(I[X].type);return V.join("-")}getGlProgram(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null}generateProgram(E){const I=this.gl,B=E.program,U=generateProgram(I,B);return B.glPrograms[this.renderer.CONTEXT_UID]=U,U}reset(){this.program=null,this.shader=null}disposeShader(E){this.shader===E&&(this.shader=null)}destroy(){this.renderer=null,this.destroyed=!0}}ShaderSystem.extension={type:ExtensionType.RendererSystem,name:"shader"},extensions.add(ShaderSystem);class StartupSystem{constructor(E){this.renderer=E}run(E){const{renderer:I}=this;I.runners.init.emit(I.options),E.hello&&console.log(`PixiJS 7.2.3 - ${I.rendererLogId} - https://pixijs.com`),I.resize(I.screen.width,I.screen.height)}destroy(){}}StartupSystem.defaultOptions={hello:!1},StartupSystem.extension={type:[ExtensionType.RendererSystem,ExtensionType.CanvasRendererSystem],name:"startup"},extensions.add(StartupSystem);function mapWebGLBlendModesToPixi(C,E=[]){return E[BLEND_MODES.NORMAL]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.ADD]=[C.ONE,C.ONE],E[BLEND_MODES.MULTIPLY]=[C.DST_COLOR,C.ONE_MINUS_SRC_ALPHA,C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.SCREEN]=[C.ONE,C.ONE_MINUS_SRC_COLOR,C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.OVERLAY]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.DARKEN]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.LIGHTEN]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.COLOR_DODGE]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.COLOR_BURN]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.HARD_LIGHT]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.SOFT_LIGHT]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.DIFFERENCE]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.EXCLUSION]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.HUE]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.SATURATION]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.COLOR]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.LUMINOSITY]=[C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.NONE]=[0,0],E[BLEND_MODES.NORMAL_NPM]=[C.SRC_ALPHA,C.ONE_MINUS_SRC_ALPHA,C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.ADD_NPM]=[C.SRC_ALPHA,C.ONE,C.ONE,C.ONE],E[BLEND_MODES.SCREEN_NPM]=[C.SRC_ALPHA,C.ONE_MINUS_SRC_COLOR,C.ONE,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.SRC_IN]=[C.DST_ALPHA,C.ZERO],E[BLEND_MODES.SRC_OUT]=[C.ONE_MINUS_DST_ALPHA,C.ZERO],E[BLEND_MODES.SRC_ATOP]=[C.DST_ALPHA,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.DST_OVER]=[C.ONE_MINUS_DST_ALPHA,C.ONE],E[BLEND_MODES.DST_IN]=[C.ZERO,C.SRC_ALPHA],E[BLEND_MODES.DST_OUT]=[C.ZERO,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.DST_ATOP]=[C.ONE_MINUS_DST_ALPHA,C.SRC_ALPHA],E[BLEND_MODES.XOR]=[C.ONE_MINUS_DST_ALPHA,C.ONE_MINUS_SRC_ALPHA],E[BLEND_MODES.SUBTRACT]=[C.ONE,C.ONE,C.ONE,C.ONE,C.FUNC_REVERSE_SUBTRACT,C.FUNC_ADD],E}const BLEND=0,OFFSET=1,CULLING=2,DEPTH_TEST=3,WINDING=4,DEPTH_MASK=5,_StateSystem=class{constructor(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=BLEND_MODES.NONE,this._blendEq=!1,this.map=[],this.map[BLEND]=this.setBlend,this.map[OFFSET]=this.setOffset,this.map[CULLING]=this.setCullFace,this.map[DEPTH_TEST]=this.setDepthTest,this.map[WINDING]=this.setFrontFace,this.map[DEPTH_MASK]=this.setDepthMask,this.checks=[],this.defaultState=new State$1,this.defaultState.blend=!0}contextChange(C){this.gl=C,this.blendModes=mapWebGLBlendModesToPixi(C),this.set(this.defaultState),this.reset()}set(C){if(C=C||this.defaultState,this.stateId!==C.data){let E=this.stateId^C.data,I=0;for(;E;)E&1&&this.map[I].call(this,!!(C.data&1<<I)),E=E>>1,I++;this.stateId=C.data}for(let E=0;E<this.checks.length;E++)this.checks[E](this,C)}forceState(C){C=C||this.defaultState;for(let E=0;E<this.map.length;E++)this.map[E].call(this,!!(C.data&1<<E));for(let E=0;E<this.checks.length;E++)this.checks[E](this,C);this.stateId=C.data}setBlend(C){this.updateCheck(_StateSystem.checkBlendMode,C),this.gl[C?"enable":"disable"](this.gl.BLEND)}setOffset(C){this.updateCheck(_StateSystem.checkPolygonOffset,C),this.gl[C?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)}setDepthTest(C){this.gl[C?"enable":"disable"](this.gl.DEPTH_TEST)}setDepthMask(C){this.gl.depthMask(C)}setCullFace(C){this.gl[C?"enable":"disable"](this.gl.CULL_FACE)}setFrontFace(C){this.gl.frontFace(this.gl[C?"CW":"CCW"])}setBlendMode(C){if(C===this.blendMode)return;this.blendMode=C;const E=this.blendModes[C],I=this.gl;E.length===2?I.blendFunc(E[0],E[1]):I.blendFuncSeparate(E[0],E[1],E[2],E[3]),E.length===6?(this._blendEq=!0,I.blendEquationSeparate(E[4],E[5])):this._blendEq&&(this._blendEq=!1,I.blendEquationSeparate(I.FUNC_ADD,I.FUNC_ADD))}setPolygonOffset(C,E){this.gl.polygonOffset(C,E)}reset(){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode=-1,this.setBlendMode(0)}updateCheck(C,E){const I=this.checks.indexOf(C);E&&I===-1?this.checks.push(C):!E&&I!==-1&&this.checks.splice(I,1)}static checkBlendMode(C,E){C.setBlendMode(E.blendMode)}static checkPolygonOffset(C,E){C.setPolygonOffset(1,E.polygonOffset)}destroy(){this.gl=null}};let StateSystem=_StateSystem;StateSystem.extension={type:ExtensionType.RendererSystem,name:"state"},extensions.add(StateSystem);class SystemManager extends EventEmitter{constructor(){super(...arguments),this.runners={},this._systemsHash={}}setup(E){this.addRunners(...E.runners);const I=(E.priority??[]).filter(U=>E.systems[U]),B=[...I,...Object.keys(E.systems).filter(U=>!I.includes(U))];for(const U of B)this.addSystem(E.systems[U],U)}addRunners(...E){E.forEach(I=>{this.runners[I]=new Runner(I)})}addSystem(E,I){const B=new E(this);if(this[I])throw new Error(`Whoops! The name "${I}" is already in use`);this[I]=B,this._systemsHash[I]=B;for(const U in this.runners)this.runners[U].add(B);return this}emitWithCustomOptions(E,I){const B=Object.keys(this._systemsHash);E.items.forEach(U=>{const V=B.find(X=>this._systemsHash[X]===U);U[E.name](I[V])})}destroy(){Object.values(this.runners).forEach(E=>{E.destroy()}),this._systemsHash={}}}const _TextureGCSystem=class{constructor(C){this.renderer=C,this.count=0,this.checkCount=0,this.maxIdle=_TextureGCSystem.defaultMaxIdle,this.checkCountMax=_TextureGCSystem.defaultCheckCountMax,this.mode=_TextureGCSystem.defaultMode}postrender(){this.renderer.objectRenderer.renderingToScreen&&(this.count++,this.mode!==GC_MODES.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){const C=this.renderer.texture,E=C.managedTextures;let I=!1;for(let B=0;B<E.length;B++){const U=E[B];!U.framebuffer&&this.count-U.touched>this.maxIdle&&(C.destroyTexture(U,!0),E[B]=null,I=!0)}if(I){let B=0;for(let U=0;U<E.length;U++)E[U]!==null&&(E[B++]=E[U]);E.length=B}}unload(C){const E=this.renderer.texture,I=C._texture;I&&!I.framebuffer&&E.destroyTexture(I);for(let B=C.children.length-1;B>=0;B--)this.unload(C.children[B])}destroy(){this.renderer=null}};let TextureGCSystem=_TextureGCSystem;TextureGCSystem.defaultMode=GC_MODES.AUTO,TextureGCSystem.defaultMaxIdle=60*60,TextureGCSystem.defaultCheckCountMax=60*10,TextureGCSystem.extension={type:ExtensionType.RendererSystem,name:"textureGC"},extensions.add(TextureGCSystem);class GLTexture{constructor(E){this.texture=E,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=TYPES.UNSIGNED_BYTE,this.internalFormat=FORMATS.RGBA,this.samplerType=0}}function mapTypeAndFormatToInternalFormat(C){let E;return"WebGL2RenderingContext"in globalThis&&C instanceof globalThis.WebGL2RenderingContext?E={[TYPES.UNSIGNED_BYTE]:{[FORMATS.RGBA]:C.RGBA8,[FORMATS.RGB]:C.RGB8,[FORMATS.RG]:C.RG8,[FORMATS.RED]:C.R8,[FORMATS.RGBA_INTEGER]:C.RGBA8UI,[FORMATS.RGB_INTEGER]:C.RGB8UI,[FORMATS.RG_INTEGER]:C.RG8UI,[FORMATS.RED_INTEGER]:C.R8UI,[FORMATS.ALPHA]:C.ALPHA,[FORMATS.LUMINANCE]:C.LUMINANCE,[FORMATS.LUMINANCE_ALPHA]:C.LUMINANCE_ALPHA},[TYPES.BYTE]:{[FORMATS.RGBA]:C.RGBA8_SNORM,[FORMATS.RGB]:C.RGB8_SNORM,[FORMATS.RG]:C.RG8_SNORM,[FORMATS.RED]:C.R8_SNORM,[FORMATS.RGBA_INTEGER]:C.RGBA8I,[FORMATS.RGB_INTEGER]:C.RGB8I,[FORMATS.RG_INTEGER]:C.RG8I,[FORMATS.RED_INTEGER]:C.R8I},[TYPES.UNSIGNED_SHORT]:{[FORMATS.RGBA_INTEGER]:C.RGBA16UI,[FORMATS.RGB_INTEGER]:C.RGB16UI,[FORMATS.RG_INTEGER]:C.RG16UI,[FORMATS.RED_INTEGER]:C.R16UI,[FORMATS.DEPTH_COMPONENT]:C.DEPTH_COMPONENT16},[TYPES.SHORT]:{[FORMATS.RGBA_INTEGER]:C.RGBA16I,[FORMATS.RGB_INTEGER]:C.RGB16I,[FORMATS.RG_INTEGER]:C.RG16I,[FORMATS.RED_INTEGER]:C.R16I},[TYPES.UNSIGNED_INT]:{[FORMATS.RGBA_INTEGER]:C.RGBA32UI,[FORMATS.RGB_INTEGER]:C.RGB32UI,[FORMATS.RG_INTEGER]:C.RG32UI,[FORMATS.RED_INTEGER]:C.R32UI,[FORMATS.DEPTH_COMPONENT]:C.DEPTH_COMPONENT24},[TYPES.INT]:{[FORMATS.RGBA_INTEGER]:C.RGBA32I,[FORMATS.RGB_INTEGER]:C.RGB32I,[FORMATS.RG_INTEGER]:C.RG32I,[FORMATS.RED_INTEGER]:C.R32I},[TYPES.FLOAT]:{[FORMATS.RGBA]:C.RGBA32F,[FORMATS.RGB]:C.RGB32F,[FORMATS.RG]:C.RG32F,[FORMATS.RED]:C.R32F,[FORMATS.DEPTH_COMPONENT]:C.DEPTH_COMPONENT32F},[TYPES.HALF_FLOAT]:{[FORMATS.RGBA]:C.RGBA16F,[FORMATS.RGB]:C.RGB16F,[FORMATS.RG]:C.RG16F,[FORMATS.RED]:C.R16F},[TYPES.UNSIGNED_SHORT_5_6_5]:{[FORMATS.RGB]:C.RGB565},[TYPES.UNSIGNED_SHORT_4_4_4_4]:{[FORMATS.RGBA]:C.RGBA4},[TYPES.UNSIGNED_SHORT_5_5_5_1]:{[FORMATS.RGBA]:C.RGB5_A1},[TYPES.UNSIGNED_INT_2_10_10_10_REV]:{[FORMATS.RGBA]:C.RGB10_A2,[FORMATS.RGBA_INTEGER]:C.RGB10_A2UI},[TYPES.UNSIGNED_INT_10F_11F_11F_REV]:{[FORMATS.RGB]:C.R11F_G11F_B10F},[TYPES.UNSIGNED_INT_5_9_9_9_REV]:{[FORMATS.RGB]:C.RGB9_E5},[TYPES.UNSIGNED_INT_24_8]:{[FORMATS.DEPTH_STENCIL]:C.DEPTH24_STENCIL8},[TYPES.FLOAT_32_UNSIGNED_INT_24_8_REV]:{[FORMATS.DEPTH_STENCIL]:C.DEPTH32F_STENCIL8}}:E={[TYPES.UNSIGNED_BYTE]:{[FORMATS.RGBA]:C.RGBA,[FORMATS.RGB]:C.RGB,[FORMATS.ALPHA]:C.ALPHA,[FORMATS.LUMINANCE]:C.LUMINANCE,[FORMATS.LUMINANCE_ALPHA]:C.LUMINANCE_ALPHA},[TYPES.UNSIGNED_SHORT_5_6_5]:{[FORMATS.RGB]:C.RGB},[TYPES.UNSIGNED_SHORT_4_4_4_4]:{[FORMATS.RGBA]:C.RGBA},[TYPES.UNSIGNED_SHORT_5_5_5_1]:{[FORMATS.RGBA]:C.RGBA}},E}class TextureSystem{constructor(E){this.renderer=E,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new BaseTexture,this.hasIntegerTextures=!1}contextChange(){const E=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=mapTypeAndFormatToInternalFormat(E);const I=E.getParameter(E.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=I;for(let U=0;U<I;U++)this.boundTextures[U]=null;this.emptyTextures={};const B=new GLTexture(E.createTexture());E.bindTexture(E.TEXTURE_2D,B.texture),E.texImage2D(E.TEXTURE_2D,0,E.RGBA,1,1,0,E.RGBA,E.UNSIGNED_BYTE,new Uint8Array(4)),this.emptyTextures[E.TEXTURE_2D]=B,this.emptyTextures[E.TEXTURE_CUBE_MAP]=new GLTexture(E.createTexture()),E.bindTexture(E.TEXTURE_CUBE_MAP,this.emptyTextures[E.TEXTURE_CUBE_MAP].texture);for(let U=0;U<6;U++)E.texImage2D(E.TEXTURE_CUBE_MAP_POSITIVE_X+U,0,E.RGBA,1,1,0,E.RGBA,E.UNSIGNED_BYTE,null);E.texParameteri(E.TEXTURE_CUBE_MAP,E.TEXTURE_MAG_FILTER,E.LINEAR),E.texParameteri(E.TEXTURE_CUBE_MAP,E.TEXTURE_MIN_FILTER,E.LINEAR);for(let U=0;U<this.boundTextures.length;U++)this.bind(null,U)}bind(E,I=0){const{gl:B}=this;if(E=E==null?void 0:E.castToBaseTexture(),E!=null&&E.valid&&!E.parentTextureArray){E.touched=this.renderer.textureGC.count;const U=E._glTextures[this.CONTEXT_UID]||this.initTexture(E);this.boundTextures[I]!==E&&(this.currentLocation!==I&&(this.currentLocation=I,B.activeTexture(B.TEXTURE0+I)),B.bindTexture(E.target,U.texture)),U.dirtyId!==E.dirtyId?(this.currentLocation!==I&&(this.currentLocation=I,B.activeTexture(B.TEXTURE0+I)),this.updateTexture(E)):U.dirtyStyleId!==E.dirtyStyleId&&this.updateTextureStyle(E),this.boundTextures[I]=E}else this.currentLocation!==I&&(this.currentLocation=I,B.activeTexture(B.TEXTURE0+I)),B.bindTexture(B.TEXTURE_2D,this.emptyTextures[B.TEXTURE_2D].texture),this.boundTextures[I]=null}reset(){this._unknownBoundTextures=!0,this.hasIntegerTextures=!1,this.currentLocation=-1;for(let E=0;E<this.boundTextures.length;E++)this.boundTextures[E]=this.unknownTexture}unbind(E){const{gl:I,boundTextures:B}=this;if(this._unknownBoundTextures){this._unknownBoundTextures=!1;for(let U=0;U<B.length;U++)B[U]===this.unknownTexture&&this.bind(null,U)}for(let U=0;U<B.length;U++)B[U]===E&&(this.currentLocation!==U&&(I.activeTexture(I.TEXTURE0+U),this.currentLocation=U),I.bindTexture(E.target,this.emptyTextures[E.target].texture),B[U]=null)}ensureSamplerType(E){const{boundTextures:I,hasIntegerTextures:B,CONTEXT_UID:U}=this;if(B)for(let V=E-1;V>=0;--V){const X=I[V];X&&X._glTextures[U].samplerType!==SAMPLER_TYPES.FLOAT&&this.renderer.texture.unbind(X)}}initTexture(E){const I=new GLTexture(this.gl.createTexture());return I.dirtyId=-1,E._glTextures[this.CONTEXT_UID]=I,this.managedTextures.push(E),E.on("dispose",this.destroyTexture,this),I}initTextureType(E,I){var B;I.internalFormat=((B=this.internalFormats[E.type])==null?void 0:B[E.format])??E.format,this.webGLVersion===2&&E.type===TYPES.HALF_FLOAT?I.type=this.gl.HALF_FLOAT:I.type=E.type}updateTexture(E){var U;const I=E._glTextures[this.CONTEXT_UID];if(!I)return;const B=this.renderer;if(this.initTextureType(E,I),(U=E.resource)!=null&&U.upload(B,E,I))I.samplerType!==SAMPLER_TYPES.FLOAT&&(this.hasIntegerTextures=!0);else{const V=E.realWidth,X=E.realHeight,Y=B.gl;(I.width!==V||I.height!==X||I.dirtyId<0)&&(I.width=V,I.height=X,Y.texImage2D(E.target,0,I.internalFormat,V,X,0,E.format,I.type,null))}E.dirtyStyleId!==I.dirtyStyleId&&this.updateTextureStyle(E),I.dirtyId=E.dirtyId}destroyTexture(E,I){const{gl:B}=this;if(E=E.castToBaseTexture(),E._glTextures[this.CONTEXT_UID]&&(this.unbind(E),B.deleteTexture(E._glTextures[this.CONTEXT_UID].texture),E.off("dispose",this.destroyTexture,this),delete E._glTextures[this.CONTEXT_UID],!I)){const U=this.managedTextures.indexOf(E);U!==-1&&removeItems(this.managedTextures,U,1)}}updateTextureStyle(E){var B;const I=E._glTextures[this.CONTEXT_UID];I&&((E.mipmap===MIPMAP_MODES.POW2||this.webGLVersion!==2)&&!E.isPowerOfTwo?I.mipmap=!1:I.mipmap=E.mipmap>=1,this.webGLVersion!==2&&!E.isPowerOfTwo?I.wrapMode=WRAP_MODES.CLAMP:I.wrapMode=E.wrapMode,(B=E.resource)!=null&&B.style(this.renderer,E,I)||this.setStyle(E,I),I.dirtyStyleId=E.dirtyStyleId)}setStyle(E,I){const B=this.gl;if(I.mipmap&&E.mipmap!==MIPMAP_MODES.ON_MANUAL&&B.generateMipmap(E.target),B.texParameteri(E.target,B.TEXTURE_WRAP_S,I.wrapMode),B.texParameteri(E.target,B.TEXTURE_WRAP_T,I.wrapMode),I.mipmap){B.texParameteri(E.target,B.TEXTURE_MIN_FILTER,E.scaleMode===SCALE_MODES.LINEAR?B.LINEAR_MIPMAP_LINEAR:B.NEAREST_MIPMAP_NEAREST);const U=this.renderer.context.extensions.anisotropicFiltering;if(U&&E.anisotropicLevel>0&&E.scaleMode===SCALE_MODES.LINEAR){const V=Math.min(E.anisotropicLevel,B.getParameter(U.MAX_TEXTURE_MAX_ANISOTROPY_EXT));B.texParameterf(E.target,U.TEXTURE_MAX_ANISOTROPY_EXT,V)}}else B.texParameteri(E.target,B.TEXTURE_MIN_FILTER,E.scaleMode===SCALE_MODES.LINEAR?B.LINEAR:B.NEAREST);B.texParameteri(E.target,B.TEXTURE_MAG_FILTER,E.scaleMode===SCALE_MODES.LINEAR?B.LINEAR:B.NEAREST)}destroy(){this.renderer=null}}TextureSystem.extension={type:ExtensionType.RendererSystem,name:"texture"},extensions.add(TextureSystem);class TransformFeedbackSystem{constructor(E){this.renderer=E}contextChange(){this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(E){const{gl:I,CONTEXT_UID:B}=this,U=E._glTransformFeedbacks[B]||this.createGLTransformFeedback(E);I.bindTransformFeedback(I.TRANSFORM_FEEDBACK,U)}unbind(){const{gl:E}=this;E.bindTransformFeedback(E.TRANSFORM_FEEDBACK,null)}beginTransformFeedback(E,I){const{gl:B,renderer:U}=this;I&&U.shader.bind(I),B.beginTransformFeedback(E)}endTransformFeedback(){const{gl:E}=this;E.endTransformFeedback()}createGLTransformFeedback(E){const{gl:I,renderer:B,CONTEXT_UID:U}=this,V=I.createTransformFeedback();E._glTransformFeedbacks[U]=V,I.bindTransformFeedback(I.TRANSFORM_FEEDBACK,V);for(let X=0;X<E.buffers.length;X++){const Y=E.buffers[X];Y&&(B.buffer.update(Y),Y._glBuffers[U].refCount++,I.bindBufferBase(I.TRANSFORM_FEEDBACK_BUFFER,X,Y._glBuffers[U].buffer||null))}return I.bindTransformFeedback(I.TRANSFORM_FEEDBACK,null),E.disposeRunner.add(this),V}disposeTransformFeedback(E,I){const B=E._glTransformFeedbacks[this.CONTEXT_UID],U=this.gl;E.disposeRunner.remove(this);const V=this.renderer.buffer;if(V)for(let X=0;X<E.buffers.length;X++){const Y=E.buffers[X];if(!Y)continue;const K=Y._glBuffers[this.CONTEXT_UID];K&&(K.refCount--,K.refCount===0&&!I&&V.dispose(Y,I))}B&&(I||U.deleteTransformFeedback(B),delete E._glTransformFeedbacks[this.CONTEXT_UID])}destroy(){this.renderer=null}}TransformFeedbackSystem.extension={type:ExtensionType.RendererSystem,name:"transformFeedback"},extensions.add(TransformFeedbackSystem);class ViewSystem{constructor(E){this.renderer=E}init(E){this.screen=new Rectangle(0,0,E.width,E.height),this.element=E.view||settings.ADAPTER.createCanvas(),this.resolution=E.resolution||settings.RESOLUTION,this.autoDensity=!!E.autoDensity}resizeView(E,I){this.element.width=Math.round(E*this.resolution),this.element.height=Math.round(I*this.resolution);const B=this.element.width/this.resolution,U=this.element.height/this.resolution;this.screen.width=B,this.screen.height=U,this.autoDensity&&(this.element.style.width=`${B}px`,this.element.style.height=`${U}px`),this.renderer.emit("resize",B,U),this.renderer.runners.resize.emit(this.screen.width,this.screen.height)}destroy(E){var I;E&&((I=this.element.parentNode)==null||I.removeChild(this.element)),this.renderer=null,this.element=null,this.screen=null}}ViewSystem.defaultOptions={width:800,height:600,resolution:settings.RESOLUTION,autoDensity:!1},ViewSystem.extension={type:[ExtensionType.RendererSystem,ExtensionType.CanvasRendererSystem],name:"_view"},extensions.add(ViewSystem),settings.PREFER_ENV=ENV.WEBGL2,settings.STRICT_TEXTURE_CACHE=!1,settings.RENDER_OPTIONS={...ContextSystem.defaultOptions,...BackgroundSystem.defaultOptions,...ViewSystem.defaultOptions,...StartupSystem.defaultOptions},Object.defineProperties(settings,{WRAP_MODE:{get(){return BaseTexture.defaultOptions.wrapMode},set(C){deprecation("7.1.0","settings.WRAP_MODE is deprecated, use BaseTexture.defaultOptions.wrapMode"),BaseTexture.defaultOptions.wrapMode=C}},SCALE_MODE:{get(){return BaseTexture.defaultOptions.scaleMode},set(C){deprecation("7.1.0","settings.SCALE_MODE is deprecated, use BaseTexture.defaultOptions.scaleMode"),BaseTexture.defaultOptions.scaleMode=C}},MIPMAP_TEXTURES:{get(){return BaseTexture.defaultOptions.mipmap},set(C){deprecation("7.1.0","settings.MIPMAP_TEXTURES is deprecated, use BaseTexture.defaultOptions.mipmap"),BaseTexture.defaultOptions.mipmap=C}},ANISOTROPIC_LEVEL:{get(){return BaseTexture.defaultOptions.anisotropicLevel},set(C){deprecation("7.1.0","settings.ANISOTROPIC_LEVEL is deprecated, use BaseTexture.defaultOptions.anisotropicLevel"),BaseTexture.defaultOptions.anisotropicLevel=C}},FILTER_RESOLUTION:{get(){return deprecation("7.1.0","settings.FILTER_RESOLUTION is deprecated, use Filter.defaultResolution"),Filter.defaultResolution},set(C){Filter.defaultResolution=C}},FILTER_MULTISAMPLE:{get(){return deprecation("7.1.0","settings.FILTER_MULTISAMPLE is deprecated, use Filter.defaultMultisample"),Filter.defaultMultisample},set(C){Filter.defaultMultisample=C}},SPRITE_MAX_TEXTURES:{get(){return BatchRenderer.defaultMaxTextures},set(C){deprecation("7.1.0","settings.SPRITE_MAX_TEXTURES is deprecated, use BatchRenderer.defaultMaxTextures"),BatchRenderer.defaultMaxTextures=C}},SPRITE_BATCH_SIZE:{get(){return BatchRenderer.defaultBatchSize},set(C){deprecation("7.1.0","settings.SPRITE_BATCH_SIZE is deprecated, use BatchRenderer.defaultBatchSize"),BatchRenderer.defaultBatchSize=C}},CAN_UPLOAD_SAME_BUFFER:{get(){return BatchRenderer.canUploadSameBuffer},set(C){deprecation("7.1.0","settings.CAN_UPLOAD_SAME_BUFFER is deprecated, use BatchRenderer.canUploadSameBuffer"),BatchRenderer.canUploadSameBuffer=C}},GC_MODE:{get(){return TextureGCSystem.defaultMode},set(C){deprecation("7.1.0","settings.GC_MODE is deprecated, use TextureGCSystem.defaultMode"),TextureGCSystem.defaultMode=C}},GC_MAX_IDLE:{get(){return TextureGCSystem.defaultMaxIdle},set(C){deprecation("7.1.0","settings.GC_MAX_IDLE is deprecated, use TextureGCSystem.defaultMaxIdle"),TextureGCSystem.defaultMaxIdle=C}},GC_MAX_CHECK_COUNT:{get(){return TextureGCSystem.defaultCheckCountMax},set(C){deprecation("7.1.0","settings.GC_MAX_CHECK_COUNT is deprecated, use TextureGCSystem.defaultCheckCountMax"),TextureGCSystem.defaultCheckCountMax=C}},PRECISION_VERTEX:{get(){return Program.defaultVertexPrecision},set(C){deprecation("7.1.0","settings.PRECISION_VERTEX is deprecated, use Program.defaultVertexPrecision"),Program.defaultVertexPrecision=C}},PRECISION_FRAGMENT:{get(){return Program.defaultFragmentPrecision},set(C){deprecation("7.1.0","settings.PRECISION_FRAGMENT is deprecated, use Program.defaultFragmentPrecision"),Program.defaultFragmentPrecision=C}}});var UPDATE_PRIORITY=(C=>(C[C.INTERACTION=50]="INTERACTION",C[C.HIGH=25]="HIGH",C[C.NORMAL=0]="NORMAL",C[C.LOW=-25]="LOW",C[C.UTILITY=-50]="UTILITY",C))(UPDATE_PRIORITY||{});class TickerListener{constructor(E,I=null,B=0,U=!1){this.next=null,this.previous=null,this._destroyed=!1,this.fn=E,this.context=I,this.priority=B,this.once=U}match(E,I=null){return this.fn===E&&this.context===I}emit(E){this.fn&&(this.context?this.fn.call(this.context,E):this.fn(E));const I=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),I}connect(E){this.previous=E,E.next&&(E.next.previous=this),this.next=E.next,E.next=this}destroy(E=!1){this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const I=this.next;return this.next=E?null:I,this.previous=null,I}}const _Ticker=class{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new TickerListener(null,null,1/0),this.deltaMS=1/_Ticker.targetFPMS,this.elapsedMS=1/_Ticker.targetFPMS,this._tick=C=>{this._requestId=null,this.started&&(this.update(C),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(C,E,I=UPDATE_PRIORITY.NORMAL){return this._addListener(new TickerListener(C,E,I))}addOnce(C,E,I=UPDATE_PRIORITY.NORMAL){return this._addListener(new TickerListener(C,E,I,!0))}_addListener(C){let E=this._head.next,I=this._head;if(!E)C.connect(I);else{for(;E;){if(C.priority>E.priority){C.connect(I);break}I=E,E=E.next}C.previous||C.connect(I)}return this._startIfPossible(),this}remove(C,E){let I=this._head.next;for(;I;)I.match(C,E)?I=I.destroy():I=I.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let C=0,E=this._head;for(;E=E.next;)C++;return C}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let C=this._head.next;for(;C;)C=C.destroy(!0);this._head.destroy(),this._head=null}}update(C=performance.now()){let E;if(C>this.lastTime){if(E=this.elapsedMS=C-this.lastTime,E>this._maxElapsedMS&&(E=this._maxElapsedMS),E*=this.speed,this._minElapsedMS){const U=C-this._lastFrame|0;if(U<this._minElapsedMS)return;this._lastFrame=C-U%this._minElapsedMS}this.deltaMS=E,this.deltaTime=this.deltaMS*_Ticker.targetFPMS;const I=this._head;let B=I.next;for(;B;)B=B.emit(this.deltaTime);I.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=C}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(C){const E=Math.min(this.maxFPS,C),I=Math.min(Math.max(0,E)/1e3,_Ticker.targetFPMS);this._maxElapsedMS=1/I}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(C){if(C===0)this._minElapsedMS=0;else{const E=Math.max(this.minFPS,C);this._minElapsedMS=1/(E/1e3)}}static get shared(){if(!_Ticker._shared){const C=_Ticker._shared=new _Ticker;C.autoStart=!0,C._protected=!0}return _Ticker._shared}static get system(){if(!_Ticker._system){const C=_Ticker._system=new _Ticker;C.autoStart=!0,C._protected=!0}return _Ticker._system}};let Ticker=_Ticker;Ticker.targetFPMS=.06,Object.defineProperties(settings,{TARGET_FPMS:{get(){return Ticker.targetFPMS},set(C){deprecation("7.1.0","settings.TARGET_FPMS is deprecated, use Ticker.targetFPMS"),Ticker.targetFPMS=C}}});class TickerPlugin{static init(E){E=Object.assign({autoStart:!0,sharedTicker:!1},E),Object.defineProperty(this,"ticker",{set(I){this._ticker&&this._ticker.remove(this.render,this),this._ticker=I,I&&I.add(this.render,this,UPDATE_PRIORITY.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=E.sharedTicker?Ticker.shared:new Ticker,E.autoStart&&this.start()}static destroy(){if(this._ticker){const E=this._ticker;this.ticker=null,E.destroy()}}}TickerPlugin.extension=ExtensionType.Application,extensions.add(TickerPlugin);const renderers=[];extensions.handleByList(ExtensionType.Renderer,renderers);class MultisampleSystem{constructor(E){this.renderer=E}contextChange(E){let I;if(this.renderer.context.webGLVersion===1){const B=E.getParameter(E.FRAMEBUFFER_BINDING);E.bindFramebuffer(E.FRAMEBUFFER,null),I=E.getParameter(E.SAMPLES),E.bindFramebuffer(E.FRAMEBUFFER,B)}else{const B=E.getParameter(E.DRAW_FRAMEBUFFER_BINDING);E.bindFramebuffer(E.DRAW_FRAMEBUFFER,null),I=E.getParameter(E.SAMPLES),E.bindFramebuffer(E.DRAW_FRAMEBUFFER,B)}I>=MSAA_QUALITY.HIGH?this.multisample=MSAA_QUALITY.HIGH:I>=MSAA_QUALITY.MEDIUM?this.multisample=MSAA_QUALITY.MEDIUM:I>=MSAA_QUALITY.LOW?this.multisample=MSAA_QUALITY.LOW:this.multisample=MSAA_QUALITY.NONE}destroy(){}}MultisampleSystem.extension={type:ExtensionType.RendererSystem,name:"_multisample"},extensions.add(MultisampleSystem);class GLBuffer{constructor(E){this.buffer=E||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}}class BufferSystem{constructor(E){this.renderer=E,this.managedBuffers={},this.boundBufferBases={}}destroy(){this.renderer=null}contextChange(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(E){const{gl:I,CONTEXT_UID:B}=this,U=E._glBuffers[B]||this.createGLBuffer(E);I.bindBuffer(E.type,U.buffer)}unbind(E){const{gl:I}=this;I.bindBuffer(E,null)}bindBufferBase(E,I){const{gl:B,CONTEXT_UID:U}=this;if(this.boundBufferBases[I]!==E){const V=E._glBuffers[U]||this.createGLBuffer(E);this.boundBufferBases[I]=E,B.bindBufferBase(B.UNIFORM_BUFFER,I,V.buffer)}}bindBufferRange(E,I,B){const{gl:U,CONTEXT_UID:V}=this;B=B||0;const X=E._glBuffers[V]||this.createGLBuffer(E);U.bindBufferRange(U.UNIFORM_BUFFER,I||0,X.buffer,B*256,256)}update(E){const{gl:I,CONTEXT_UID:B}=this,U=E._glBuffers[B]||this.createGLBuffer(E);if(E._updateID!==U.updateID)if(U.updateID=E._updateID,I.bindBuffer(E.type,U.buffer),U.byteLength>=E.data.byteLength)I.bufferSubData(E.type,0,E.data);else{const V=E.static?I.STATIC_DRAW:I.DYNAMIC_DRAW;U.byteLength=E.data.byteLength,I.bufferData(E.type,E.data,V)}}dispose(E,I){if(!this.managedBuffers[E.id])return;delete this.managedBuffers[E.id];const B=E._glBuffers[this.CONTEXT_UID],U=this.gl;E.disposeRunner.remove(this),B&&(I||U.deleteBuffer(B.buffer),delete E._glBuffers[this.CONTEXT_UID])}disposeAll(E){const I=Object.keys(this.managedBuffers);for(let B=0;B<I.length;B++)this.dispose(this.managedBuffers[I[B]],E)}createGLBuffer(E){const{CONTEXT_UID:I,gl:B}=this;return E._glBuffers[I]=new GLBuffer(B.createBuffer()),this.managedBuffers[E.id]=E,E.disposeRunner.add(this),E._glBuffers[I]}}BufferSystem.extension={type:ExtensionType.RendererSystem,name:"buffer"},extensions.add(BufferSystem);class ObjectRendererSystem{constructor(E){this.renderer=E}render(E,I){const B=this.renderer;let U,V,X,Y;if(I&&(U=I.renderTexture,V=I.clear,X=I.transform,Y=I.skipUpdateTransform),this.renderingToScreen=!U,B.runners.prerender.emit(),B.emit("prerender"),B.projection.transform=X,!B.context.isLost){if(U||(this.lastObjectRendered=E),!Y){const K=E.enableTempParent();E.updateTransform(),E.disableTempParent(K)}B.renderTexture.bind(U),B.batch.currentRenderer.start(),(V??B.background.clearBeforeRender)&&B.renderTexture.clear(),E.render(B),B.batch.currentRenderer.flush(),U&&(I.blit&&B.framebuffer.blit(),U.baseTexture.update()),B.runners.postrender.emit(),B.projection.transform=null,B.emit("postrender")}}destroy(){this.renderer=null,this.lastObjectRendered=null}}ObjectRendererSystem.extension={type:ExtensionType.RendererSystem,name:"objectRenderer"},extensions.add(ObjectRendererSystem);const _Renderer=class extends SystemManager{constructor(C){super(),this.type=RENDERER_TYPE.WEBGL,C=Object.assign({},settings.RENDER_OPTIONS,C),this.gl=null,this.CONTEXT_UID=0,this.globalUniforms=new UniformGroup({projectionMatrix:new Matrix$2},!0);const E={runners:["init","destroy","contextChange","resolutionChange","reset","update","postrender","prerender","resize"],systems:_Renderer.__systems,priority:["_view","textureGenerator","background","_plugin","startup","context","state","texture","buffer","geometry","framebuffer","transformFeedback","mask","scissor","stencil","projection","textureGC","filter","renderTexture","batch","objectRenderer","_multisample"]};this.setup(E),"useContextAlpha"in C&&(deprecation("7.0.0","options.useContextAlpha is deprecated, use options.premultipliedAlpha and options.backgroundAlpha instead"),C.premultipliedAlpha=C.useContextAlpha&&C.useContextAlpha!=="notMultiplied",C.backgroundAlpha=C.useContextAlpha===!1?1:C.backgroundAlpha),this._plugin.rendererPlugins=_Renderer.__plugins,this.options=C,this.startup.run(this.options)}static test(C){return C!=null&&C.forceCanvas?!1:isWebGLSupported()}render(C,E){this.objectRenderer.render(C,E)}resize(C,E){this._view.resizeView(C,E)}reset(){return this.runners.reset.emit(),this}clear(){this.renderTexture.bind(),this.renderTexture.clear()}destroy(C=!1){this.runners.destroy.items.reverse(),this.emitWithCustomOptions(this.runners.destroy,{_view:C}),super.destroy()}get plugins(){return this._plugin.plugins}get multisample(){return this._multisample.multisample}get width(){return this._view.element.width}get height(){return this._view.element.height}get resolution(){return this._view.resolution}set resolution(C){this._view.resolution=C,this.runners.resolutionChange.emit(C)}get autoDensity(){return this._view.autoDensity}get view(){return this._view.element}get screen(){return this._view.screen}get lastObjectRendered(){return this.objectRenderer.lastObjectRendered}get renderingToScreen(){return this.objectRenderer.renderingToScreen}get rendererLogId(){return`WebGL ${this.context.webGLVersion}`}get clearBeforeRender(){return deprecation("7.0.0","renderer.clearBeforeRender has been deprecated, please use renderer.background.clearBeforeRender instead."),this.background.clearBeforeRender}get useContextAlpha(){return deprecation("7.0.0","renderer.useContextAlpha has been deprecated, please use renderer.context.premultipliedAlpha instead."),this.context.useContextAlpha}get preserveDrawingBuffer(){return deprecation("7.0.0","renderer.preserveDrawingBuffer has been deprecated, we cannot truly know this unless pixi created the context"),this.context.preserveDrawingBuffer}get backgroundColor(){return deprecation("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color}set backgroundColor(C){deprecation("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color=C}get backgroundAlpha(){return deprecation("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha}set backgroundAlpha(C){deprecation("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha=C}get powerPreference(){return deprecation("7.0.0","renderer.powerPreference has been deprecated, we can only know this if pixi creates the context"),this.context.powerPreference}generateTexture(C,E){return this.textureGenerator.generateTexture(C,E)}};let Renderer=_Renderer;Renderer.extension={type:ExtensionType.Renderer,priority:1},Renderer.__plugins={},Renderer.__systems={},extensions.handleByMap(ExtensionType.RendererPlugin,Renderer.__plugins),extensions.handleByMap(ExtensionType.RendererSystem,Renderer.__systems),extensions.add(Renderer);class AbstractMultiResource extends Resource{constructor(E,I){const{width:B,height:U}=I||{};super(B,U),this.items=[],this.itemDirtyIds=[];for(let V=0;V<E;V++){const X=new BaseTexture;this.items.push(X),this.itemDirtyIds.push(-2)}this.length=E,this._load=null,this.baseTexture=null}initFromArray(E,I){for(let B=0;B<this.length;B++)E[B]&&(E[B].castToBaseTexture?this.addBaseTextureAt(E[B].castToBaseTexture(),B):E[B]instanceof Resource?this.addResourceAt(E[B],B):this.addResourceAt(autoDetectResource(E[B],I),B))}dispose(){for(let E=0,I=this.length;E<I;E++)this.items[E].destroy();this.items=null,this.itemDirtyIds=null,this._load=null}addResourceAt(E,I){if(!this.items[I])throw new Error(`Index ${I} is out of bounds`);return E.valid&&!this.valid&&this.resize(E.width,E.height),this.items[I].setResource(E),this}bind(E){if(this.baseTexture!==null)throw new Error("Only one base texture per TextureArray is allowed");super.bind(E);for(let I=0;I<this.length;I++)this.items[I].parentTextureArray=E,this.items[I].on("update",E.update,E)}unbind(E){super.unbind(E);for(let I=0;I<this.length;I++)this.items[I].parentTextureArray=null,this.items[I].off("update",E.update,E)}load(){if(this._load)return this._load;const I=this.items.map(B=>B.resource).filter(B=>B).map(B=>B.load());return this._load=Promise.all(I).then(()=>{const{realWidth:B,realHeight:U}=this.items[0];return this.resize(B,U),Promise.resolve(this)}),this._load}}class ArrayResource extends AbstractMultiResource{constructor(E,I){const{width:B,height:U}=I||{};let V,X;Array.isArray(E)?(V=E,X=E.length):X=E,super(X,{width:B,height:U}),V&&this.initFromArray(V,I)}addBaseTextureAt(E,I){if(E.resource)this.addResourceAt(E.resource,I);else throw new Error("ArrayResource does not support RenderTexture");return this}bind(E){super.bind(E),E.target=TARGETS.TEXTURE_2D_ARRAY}upload(E,I,B){const{length:U,itemDirtyIds:V,items:X}=this,{gl:Y}=E;B.dirtyId<0&&Y.texImage3D(Y.TEXTURE_2D_ARRAY,0,B.internalFormat,this._width,this._height,U,0,I.format,B.type,null);for(let K=0;K<U;K++){const _e=X[K];V[K]<_e.dirtyId&&(V[K]=_e.dirtyId,_e.valid&&Y.texSubImage3D(Y.TEXTURE_2D_ARRAY,0,0,0,K,_e.resource.width,_e.resource.height,1,I.format,B.type,_e.resource.source))}return!0}}class CanvasResource extends BaseImageResource{constructor(E){super(E)}static test(E){const{OffscreenCanvas:I}=globalThis;return I&&E instanceof I?!0:globalThis.HTMLCanvasElement&&E instanceof HTMLCanvasElement}}const _CubeResource=class extends AbstractMultiResource{constructor(C,E){const{width:I,height:B,autoLoad:U,linkBaseTexture:V}=E||{};if(C&&C.length!==_CubeResource.SIDES)throw new Error(`Invalid length. Got ${C.length}, expected 6`);super(6,{width:I,height:B});for(let X=0;X<_CubeResource.SIDES;X++)this.items[X].target=TARGETS.TEXTURE_CUBE_MAP_POSITIVE_X+X;this.linkBaseTexture=V!==!1,C&&this.initFromArray(C,E),U!==!1&&this.load()}bind(C){super.bind(C),C.target=TARGETS.TEXTURE_CUBE_MAP}addBaseTextureAt(C,E,I){if(I===void 0&&(I=this.linkBaseTexture),!this.items[E])throw new Error(`Index ${E} is out of bounds`);if(!this.linkBaseTexture||C.parentTextureArray||Object.keys(C._glTextures).length>0)if(C.resource)this.addResourceAt(C.resource,E);else throw new Error("CubeResource does not support copying of renderTexture.");else C.target=TARGETS.TEXTURE_CUBE_MAP_POSITIVE_X+E,C.parentTextureArray=this.baseTexture,this.items[E]=C;return C.valid&&!this.valid&&this.resize(C.realWidth,C.realHeight),this.items[E]=C,this}upload(C,E,I){const B=this.itemDirtyIds;for(let U=0;U<_CubeResource.SIDES;U++){const V=this.items[U];(B[U]<V.dirtyId||I.dirtyId<E.dirtyId)&&(V.valid&&V.resource?(V.resource.upload(C,V,I),B[U]=V.dirtyId):B[U]<-1&&(C.gl.texImage2D(V.target,0,I.internalFormat,E.realWidth,E.realHeight,0,E.format,I.type,null),B[U]=-1))}return!0}static test(C){return Array.isArray(C)&&C.length===_CubeResource.SIDES}};let CubeResource=_CubeResource;CubeResource.SIDES=6;class ImageBitmapResource extends BaseImageResource{constructor(E,I){I=I||{};let B,U;typeof E=="string"?(B=ImageBitmapResource.EMPTY,U=E):(B=E,U=null),super(B),this.url=U,this.crossOrigin=I.crossOrigin??!0,this.alphaMode=typeof I.alphaMode=="number"?I.alphaMode:null,this._load=null,I.autoLoad!==!1&&this.load()}load(){return this._load?this._load:(this._load=new Promise(async(E,I)=>{if(this.url===null){E(this);return}try{const B=await settings.ADAPTER.fetch(this.url,{mode:this.crossOrigin?"cors":"no-cors"});if(this.destroyed)return;const U=await B.blob();if(this.destroyed)return;const V=await createImageBitmap(U,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===ALPHA_MODES.UNPACK?"premultiply":"none"});if(this.destroyed)return;this.source=V,this.update(),E(this)}catch(B){if(this.destroyed)return;I(B),this.onError.emit(B)}}),this._load)}upload(E,I,B){return this.source instanceof ImageBitmap?(typeof this.alphaMode=="number"&&(I.alphaMode=this.alphaMode),super.upload(E,I,B)):(this.load(),!1)}dispose(){this.source instanceof ImageBitmap&&this.source.close(),super.dispose(),this._load=null}static test(E){return!!globalThis.createImageBitmap&&typeof ImageBitmap<"u"&&(typeof E=="string"||E instanceof ImageBitmap)}static get EMPTY(){return ImageBitmapResource._EMPTY=ImageBitmapResource._EMPTY??settings.ADAPTER.createCanvas(0,0),ImageBitmapResource._EMPTY}}const _SVGResource=class extends BaseImageResource{constructor(C,E){E=E||{},super(settings.ADAPTER.createCanvas()),this._width=0,this._height=0,this.svg=C,this.scale=E.scale||1,this._overrideWidth=E.width,this._overrideHeight=E.height,this._resolve=null,this._crossorigin=E.crossorigin,this._load=null,E.autoLoad!==!1&&this.load()}load(){return this._load?this._load:(this._load=new Promise(C=>{if(this._resolve=()=>{this.resize(this.source.width,this.source.height),C(this)},_SVGResource.SVG_XML.test(this.svg.trim())){if(!btoa)throw new Error("Your browser doesn't support base64 conversions.");this.svg=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(this.svg)))}`}this._loadSvg()}),this._load)}_loadSvg(){const C=new Image;BaseImageResource.crossOrigin(C,this.svg,this._crossorigin),C.src=this.svg,C.onerror=E=>{this._resolve&&(C.onerror=null,this.onError.emit(E))},C.onload=()=>{if(!this._resolve)return;const E=C.width,I=C.height;if(!E||!I)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");let B=E*this.scale,U=I*this.scale;(this._overrideWidth||this._overrideHeight)&&(B=this._overrideWidth||this._overrideHeight/I*E,U=this._overrideHeight||this._overrideWidth/E*I),B=Math.round(B),U=Math.round(U);const V=this.source;V.width=B,V.height=U,V._pixiId=`canvas_${uid()}`,V.getContext("2d").drawImage(C,0,0,E,I,0,0,B,U),this._resolve(),this._resolve=null}}static getSize(C){const E=_SVGResource.SVG_SIZE.exec(C),I={};return E&&(I[E[1]]=Math.round(parseFloat(E[3])),I[E[5]]=Math.round(parseFloat(E[7]))),I}dispose(){super.dispose(),this._resolve=null,this._crossorigin=null}static test(C,E){return E==="svg"||typeof C=="string"&&C.startsWith("data:image/svg+xml")||typeof C=="string"&&_SVGResource.SVG_XML.test(C)}};let SVGResource=_SVGResource;SVGResource.SVG_XML=/^(<\?xml[^?]+\?>)?\s*(<!--[^(-->)]*-->)?\s*\<svg/m,SVGResource.SVG_SIZE=/<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;const _VideoResource=class extends BaseImageResource{constructor(C,E){if(E=E||{},!(C instanceof HTMLVideoElement)){const I=document.createElement("video");I.setAttribute("preload","auto"),I.setAttribute("webkit-playsinline",""),I.setAttribute("playsinline",""),typeof C=="string"&&(C=[C]);const B=C[0].src||C[0];BaseImageResource.crossOrigin(I,B,E.crossorigin);for(let U=0;U<C.length;++U){const V=document.createElement("source");let{src:X,mime:Y}=C[U];X=X||C[U];const K=X.split("?").shift().toLowerCase(),_e=K.slice(K.lastIndexOf(".")+1);Y=Y||_VideoResource.MIME_TYPES[_e]||`video/${_e}`,V.src=X,V.type=Y,I.appendChild(V)}C=I}super(C),this.noSubImage=!0,this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=E.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=E.autoPlay!==!1,this._load=null,this._resolve=null,this._onCanPlay=this._onCanPlay.bind(this),this._onError=this._onError.bind(this),E.autoLoad!==!1&&this.load()}update(C=0){if(!this.destroyed){const E=Ticker.shared.elapsedMS*this.source.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-E),(!this._updateFPS||this._msToNextUpdate<=0)&&(super.update(),this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0)}}load(){if(this._load)return this._load;const C=this.source;return(C.readyState===C.HAVE_ENOUGH_DATA||C.readyState===C.HAVE_FUTURE_DATA)&&C.width&&C.height&&(C.complete=!0),C.addEventListener("play",this._onPlayStart.bind(this)),C.addEventListener("pause",this._onPlayStop.bind(this)),this._isSourceReady()?this._onCanPlay():(C.addEventListener("canplay",this._onCanPlay),C.addEventListener("canplaythrough",this._onCanPlay),C.addEventListener("error",this._onError,!0)),this._load=new Promise(E=>{this.valid?E(this):(this._resolve=E,C.load())}),this._load}_onError(C){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(C)}_isSourcePlaying(){const C=this.source;return!C.paused&&!C.ended&&this._isSourceReady()}_isSourceReady(){return this.source.readyState>2}_onPlayStart(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(Ticker.shared.add(this.update,this),this._isConnectedToTicker=!0)}_onPlayStop(){this._isConnectedToTicker&&(Ticker.shared.remove(this.update,this),this._isConnectedToTicker=!1)}_onCanPlay(){const C=this.source;C.removeEventListener("canplay",this._onCanPlay),C.removeEventListener("canplaythrough",this._onCanPlay);const E=this.valid;this.resize(C.videoWidth,C.videoHeight),!E&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&C.play()}dispose(){this._isConnectedToTicker&&(Ticker.shared.remove(this.update,this),this._isConnectedToTicker=!1);const C=this.source;C&&(C.removeEventListener("error",this._onError,!0),C.pause(),C.src="",C.load()),super.dispose()}get autoUpdate(){return this._autoUpdate}set autoUpdate(C){C!==this._autoUpdate&&(this._autoUpdate=C,!this._autoUpdate&&this._isConnectedToTicker?(Ticker.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(Ticker.shared.add(this.update,this),this._isConnectedToTicker=!0))}get updateFPS(){return this._updateFPS}set updateFPS(C){C!==this._updateFPS&&(this._updateFPS=C)}static test(C,E){return globalThis.HTMLVideoElement&&C instanceof HTMLVideoElement||_VideoResource.TYPES.includes(E)}};let VideoResource=_VideoResource;VideoResource.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],VideoResource.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},INSTALLED.push(ImageBitmapResource,ImageResource,CanvasResource,VideoResource,SVGResource,BufferResource,CubeResource,ArrayResource);var e$2=`attribute vec2 aVertexPosition;
522
- attribute vec2 aTextureCoord;
523
-
524
- uniform mat3 projectionMatrix;
525
-
526
- varying vec2 vTextureCoord;
527
-
528
- void main(void)
529
- {
530
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
531
- vTextureCoord = aTextureCoord;
532
- }`,o$4=`varying vec2 vTextureCoord;
533
- uniform sampler2D uSampler;
534
-
535
- uniform float gamma;
536
- uniform float contrast;
537
- uniform float saturation;
538
- uniform float brightness;
539
- uniform float red;
540
- uniform float green;
541
- uniform float blue;
542
- uniform float alpha;
543
-
544
- void main(void)
545
- {
546
- vec4 c = texture2D(uSampler, vTextureCoord);
547
-
548
- if (c.a > 0.0) {
549
- c.rgb /= c.a;
550
-
551
- vec3 rgb = pow(c.rgb, vec3(1. / gamma));
552
- rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast);
553
- rgb.r *= red;
554
- rgb.g *= green;
555
- rgb.b *= blue;
556
- c.rgb = rgb * brightness;
557
-
558
- c.rgb *= c.a;
559
- }
560
-
561
- gl_FragColor = c * alpha;
562
- }
563
- `;let s$4=class extends Filter{constructor(E){super(e$2,o$4),this.gamma=1,this.saturation=1,this.contrast=1,this.brightness=1,this.red=1,this.green=1,this.blue=1,this.alpha=1,Object.assign(this,E)}apply(E,I,B,U){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,E.applyFilter(this,I,B,U)}};var c$6=`attribute vec2 aVertexPosition;
564
- attribute vec2 aTextureCoord;
565
-
566
- uniform mat3 projectionMatrix;
567
-
568
- varying vec2 vTextureCoord;
569
-
570
- void main(void)
571
- {
572
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
573
- vTextureCoord = aTextureCoord;
574
- }`,v$2=`
575
- varying vec2 vTextureCoord;
576
- uniform sampler2D uSampler;
577
-
578
- uniform vec2 uOffset;
579
-
580
- void main(void)
581
- {
582
- vec4 color = vec4(0.0);
583
-
584
- // Sample top left pixel
585
- color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));
586
-
587
- // Sample top right pixel
588
- color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));
589
-
590
- // Sample bottom right pixel
591
- color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));
592
-
593
- // Sample bottom left pixel
594
- color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));
595
-
596
- // Average
597
- color *= 0.25;
598
-
599
- gl_FragColor = color;
600
- }`,y$1=`
601
- varying vec2 vTextureCoord;
602
- uniform sampler2D uSampler;
603
-
604
- uniform vec2 uOffset;
605
- uniform vec4 filterClamp;
606
-
607
- void main(void)
608
- {
609
- vec4 color = vec4(0.0);
610
-
611
- // Sample top left pixel
612
- color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));
613
-
614
- // Sample top right pixel
615
- color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));
616
-
617
- // Sample bottom right pixel
618
- color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));
619
-
620
- // Sample bottom left pixel
621
- color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));
622
-
623
- // Average
624
- color *= 0.25;
625
-
626
- gl_FragColor = color;
627
- }
628
- `;let _$1=class extends Filter{constructor(E=4,I=3,B=!1){super(c$6,B?y$1:v$2),this._kernels=[],this._blur=4,this._quality=3,this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new Point,this.pixelSize=1,this._clamp=B,Array.isArray(E)?this.kernels=E:(this._blur=E,this.quality=I)}apply(E,I,B,U){const V=this._pixelSize.x/I._frame.width,X=this._pixelSize.y/I._frame.height;let Y;if(this._quality===1||this._blur===0)Y=this._kernels[0]+.5,this.uniforms.uOffset[0]=Y*V,this.uniforms.uOffset[1]=Y*X,E.applyFilter(this,I,B,U);else{const K=E.getFilterTexture();let _e=I,xe=K,Z;const J=this._quality-1;for(let Se=0;Se<J;Se++)Y=this._kernels[Se]+.5,this.uniforms.uOffset[0]=Y*V,this.uniforms.uOffset[1]=Y*X,E.applyFilter(this,_e,xe,1),Z=_e,_e=xe,xe=Z;Y=this._kernels[J]+.5,this.uniforms.uOffset[0]=Y*V,this.uniforms.uOffset[1]=Y*X,E.applyFilter(this,_e,B,U),E.returnFilterTexture(K)}}_updatePadding(){this.padding=Math.ceil(this._kernels.reduce((E,I)=>E+I+.5,0))}_generateKernels(){const E=this._blur,I=this._quality,B=[E];if(E>0){let U=E;const V=E/I;for(let X=1;X<I;X++)U-=V,B.push(U)}this._kernels=B,this._updatePadding()}get kernels(){return this._kernels}set kernels(E){Array.isArray(E)&&E.length>0?(this._kernels=E,this._quality=E.length,this._blur=Math.max(...E)):(this._kernels=[0],this._quality=1)}get clamp(){return this._clamp}set pixelSize(E){typeof E=="number"?(this._pixelSize.x=E,this._pixelSize.y=E):Array.isArray(E)?(this._pixelSize.x=E[0],this._pixelSize.y=E[1]):E instanceof Point?(this._pixelSize.x=E.x,this._pixelSize.y=E.y):(this._pixelSize.x=1,this._pixelSize.y=1)}get pixelSize(){return this._pixelSize}get quality(){return this._quality}set quality(E){this._quality=Math.max(1,Math.round(E)),this._generateKernels()}get blur(){return this._blur}set blur(E){this._blur=E,this._generateKernels()}};var a$5=`attribute vec2 aVertexPosition;
629
- attribute vec2 aTextureCoord;
630
-
631
- uniform mat3 projectionMatrix;
632
-
633
- varying vec2 vTextureCoord;
634
-
635
- void main(void)
636
- {
637
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
638
- vTextureCoord = aTextureCoord;
639
- }`,m$2=`
640
- uniform sampler2D uSampler;
641
- varying vec2 vTextureCoord;
642
-
643
- uniform float threshold;
644
-
645
- void main() {
646
- vec4 color = texture2D(uSampler, vTextureCoord);
647
-
648
- // A simple & fast algorithm for getting brightness.
649
- // It's inaccuracy , but good enought for this feature.
650
- float _max = max(max(color.r, color.g), color.b);
651
- float _min = min(min(color.r, color.g), color.b);
652
- float brightness = (_max + _min) * 0.5;
653
-
654
- if(brightness > threshold) {
655
- gl_FragColor = color;
656
- } else {
657
- gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
658
- }
659
- }
660
- `;let x$2=class extends Filter{constructor(E=.5){super(a$5,m$2),this.threshold=E}get threshold(){return this.uniforms.threshold}set threshold(E){this.uniforms.threshold=E}};var g$1=`uniform sampler2D uSampler;
661
- varying vec2 vTextureCoord;
662
-
663
- uniform sampler2D bloomTexture;
664
- uniform float bloomScale;
665
- uniform float brightness;
666
-
667
- void main() {
668
- vec4 color = texture2D(uSampler, vTextureCoord);
669
- color.rgb *= brightness;
670
- vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0);
671
- bloomColor.rgb *= bloomScale;
672
- gl_FragColor = color + bloomColor;
673
- }
674
- `;const c$5=class extends Filter{constructor(E){super(a$5,g$1),this.bloomScale=1,this.brightness=1,this._resolution=settings.FILTER_RESOLUTION,typeof E=="number"&&(E={threshold:E});const I=Object.assign(c$5.defaults,E);this.bloomScale=I.bloomScale,this.brightness=I.brightness;const{kernels:B,blur:U,quality:V,pixelSize:X,resolution:Y}=I;this._extractFilter=new x$2(I.threshold),this._extractFilter.resolution=Y,this._blurFilter=B?new _$1(B):new _$1(U,V),this.pixelSize=X,this.resolution=Y}apply(E,I,B,U,V){const X=E.getFilterTexture();this._extractFilter.apply(E,I,X,1,V);const Y=E.getFilterTexture();this._blurFilter.apply(E,X,Y,1),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=Y,E.applyFilter(this,I,B,U),E.returnFilterTexture(Y),E.returnFilterTexture(X)}get resolution(){return this._resolution}set resolution(E){this._resolution=E,this._extractFilter&&(this._extractFilter.resolution=E),this._blurFilter&&(this._blurFilter.resolution=E)}get threshold(){return this._extractFilter.threshold}set threshold(E){this._extractFilter.threshold=E}get kernels(){return this._blurFilter.kernels}set kernels(E){this._blurFilter.kernels=E}get blur(){return this._blurFilter.blur}set blur(E){this._blurFilter.blur=E}get quality(){return this._blurFilter.quality}set quality(E){this._blurFilter.quality=E}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(E){this._blurFilter.pixelSize=E}};let b$1=c$5;b$1.defaults={threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:settings.FILTER_RESOLUTION};var d$3=`attribute vec2 aVertexPosition;
675
- attribute vec2 aTextureCoord;
676
-
677
- uniform mat3 projectionMatrix;
678
-
679
- varying vec2 vTextureCoord;
680
-
681
- void main(void)
682
- {
683
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
684
- vTextureCoord = aTextureCoord;
685
- }`,u$3=`uniform float radius;
686
- uniform float strength;
687
- uniform vec2 center;
688
- uniform sampler2D uSampler;
689
- varying vec2 vTextureCoord;
690
-
691
- uniform vec4 filterArea;
692
- uniform vec4 filterClamp;
693
- uniform vec2 dimensions;
694
-
695
- void main()
696
- {
697
- vec2 coord = vTextureCoord * filterArea.xy;
698
- coord -= center * dimensions.xy;
699
- float distance = length(coord);
700
- if (distance < radius) {
701
- float percent = distance / radius;
702
- if (strength > 0.0) {
703
- coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);
704
- } else {
705
- coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);
706
- }
707
- }
708
- coord += center * dimensions.xy;
709
- coord /= filterArea.xy;
710
- vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);
711
- vec4 color = texture2D(uSampler, clampedCoord);
712
- if (coord != clampedCoord) {
713
- color *= max(0.0, 1.0 - length(coord - clampedCoord));
714
- }
715
-
716
- gl_FragColor = color;
717
- }
718
- `;const n$4=class extends Filter{constructor(E){super(d$3,u$3),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,n$4.defaults,E)}apply(E,I,B,U){const{width:V,height:X}=I.filterFrame;this.uniforms.dimensions[0]=V,this.uniforms.dimensions[1]=X,E.applyFilter(this,I,B,U)}get radius(){return this.uniforms.radius}set radius(E){this.uniforms.radius=E}get strength(){return this.uniforms.strength}set strength(E){this.uniforms.strength=E}get center(){return this.uniforms.center}set center(E){this.uniforms.center=E}};let t$2=n$4;t$2.defaults={center:[.5,.5],radius:100,strength:1};var Q=`const float PI = 3.1415926538;
719
- const float PI_2 = PI*2.;
720
-
721
- varying vec2 vTextureCoord;
722
- varying vec2 vFilterCoord;
723
- uniform sampler2D uSampler;
724
-
725
- const int TYPE_LINEAR = 0;
726
- const int TYPE_RADIAL = 1;
727
- const int TYPE_CONIC = 2;
728
- const int MAX_STOPS = 32;
729
-
730
- uniform int uNumStops;
731
- uniform float uAlphas[3*MAX_STOPS];
732
- uniform vec3 uColors[MAX_STOPS];
733
- uniform float uOffsets[MAX_STOPS];
734
- uniform int uType;
735
- uniform float uAngle;
736
- uniform float uAlpha;
737
- uniform int uMaxColors;
738
-
739
- struct ColorStop {
740
- float offset;
741
- vec3 color;
742
- float alpha;
743
- };
744
-
745
- mat2 rotate2d(float angle){
746
- return mat2(cos(angle), -sin(angle),
747
- sin(angle), cos(angle));
748
- }
749
-
750
- float projectLinearPosition(vec2 pos, float angle){
751
- vec2 center = vec2(0.5);
752
- vec2 result = pos - center;
753
- result = rotate2d(angle) * result;
754
- result = result + center;
755
- return clamp(result.x, 0., 1.);
756
- }
757
-
758
- float projectRadialPosition(vec2 pos) {
759
- float r = distance(vFilterCoord, vec2(0.5));
760
- return clamp(2.*r, 0., 1.);
761
- }
762
-
763
- float projectAnglePosition(vec2 pos, float angle) {
764
- vec2 center = pos - vec2(0.5);
765
- float polarAngle=atan(-center.y, center.x);
766
- return mod(polarAngle + angle, PI_2) / PI_2;
767
- }
768
-
769
- float projectPosition(vec2 pos, int type, float angle) {
770
- if (type == TYPE_LINEAR) {
771
- return projectLinearPosition(pos, angle);
772
- } else if (type == TYPE_RADIAL) {
773
- return projectRadialPosition(pos);
774
- } else if (type == TYPE_CONIC) {
775
- return projectAnglePosition(pos, angle);
776
- }
777
-
778
- return pos.y;
779
- }
780
-
781
- void main(void) {
782
- // current/original color
783
- vec4 currentColor = texture2D(uSampler, vTextureCoord);
784
-
785
- // skip calculations if gradient alpha is 0
786
- if (0.0 == uAlpha) {
787
- gl_FragColor = currentColor;
788
- return;
789
- }
790
-
791
- // project position
792
- float y = projectPosition(vFilterCoord, uType, radians(uAngle));
793
-
794
- // check gradient bounds
795
- float offsetMin = uOffsets[0];
796
- float offsetMax = 0.0;
797
-
798
- for (int i = 0; i < MAX_STOPS; i++) {
799
- if (i == uNumStops-1){ // last index
800
- offsetMax = uOffsets[i];
801
- }
802
- }
803
-
804
- if (y < offsetMin || y > offsetMax) {
805
- gl_FragColor = currentColor;
806
- return;
807
- }
808
-
809
- // limit colors
810
- if (uMaxColors > 0) {
811
- float stepSize = 1./float(uMaxColors);
812
- float stepNumber = float(floor(y/stepSize));
813
- y = stepSize * (stepNumber + 0.5);// offset by 0.5 to use color from middle of segment
814
- }
815
-
816
- // find color stops
817
- ColorStop from;
818
- ColorStop to;
819
-
820
- for (int i = 0; i < MAX_STOPS; i++) {
821
- if (y >= uOffsets[i]) {
822
- from = ColorStop(uOffsets[i], uColors[i], uAlphas[i]);
823
- to = ColorStop(uOffsets[i+1], uColors[i+1], uAlphas[i+1]);
824
- }
825
-
826
- if (i == uNumStops-1){ // last index
827
- break;
828
- }
829
- }
830
-
831
- // mix colors from stops
832
- vec4 colorFrom = vec4(from.color * from.alpha, from.alpha);
833
- vec4 colorTo = vec4(to.color * to.alpha, to.alpha);
834
-
835
- float segmentHeight = to.offset - from.offset;
836
- float relativePos = y - from.offset;// position from 0 to [segmentHeight]
837
- float relativePercent = relativePos / segmentHeight;// position in percent between [from.offset] and [to.offset].
838
-
839
- float gradientAlpha = uAlpha * currentColor.a;
840
- vec4 gradientColor = mix(colorFrom, colorTo, relativePercent) * gradientAlpha;
841
-
842
- // mix resulting color with current color
843
- gl_FragColor = gradientColor + currentColor*(1.-gradientColor.a);
844
- }
845
- `,W=`attribute vec2 aVertexPosition;
846
- attribute vec2 aTextureCoord;
847
-
848
- uniform mat3 projectionMatrix;
849
- uniform vec4 inputSize;
850
- uniform vec4 outputFrame;
851
-
852
- varying vec2 vTextureCoord;
853
- varying vec2 vFilterCoord;
854
-
855
- void main(void)
856
- {
857
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
858
- vTextureCoord = aTextureCoord;
859
- vFilterCoord = vTextureCoord * inputSize.xy / outputFrame.zw;
860
- }
861
- `,v$1=v$1||{};v$1.stringify=function(){var C={"visit_linear-gradient":function(E){return C.visit_gradient(E)},"visit_repeating-linear-gradient":function(E){return C.visit_gradient(E)},"visit_radial-gradient":function(E){return C.visit_gradient(E)},"visit_repeating-radial-gradient":function(E){return C.visit_gradient(E)},visit_gradient:function(E){var I=C.visit(E.orientation);return I&&(I+=", "),E.type+"("+I+C.visit(E.colorStops)+")"},visit_shape:function(E){var I=E.value,B=C.visit(E.at),U=C.visit(E.style);return U&&(I+=" "+U),B&&(I+=" at "+B),I},"visit_default-radial":function(E){var I="",B=C.visit(E.at);return B&&(I+=B),I},"visit_extent-keyword":function(E){var I=E.value,B=C.visit(E.at);return B&&(I+=" at "+B),I},"visit_position-keyword":function(E){return E.value},visit_position:function(E){return C.visit(E.value.x)+" "+C.visit(E.value.y)},"visit_%":function(E){return E.value+"%"},visit_em:function(E){return E.value+"em"},visit_px:function(E){return E.value+"px"},visit_literal:function(E){return C.visit_color(E.value,E)},visit_hex:function(E){return C.visit_color("#"+E.value,E)},visit_rgb:function(E){return C.visit_color("rgb("+E.value.join(", ")+")",E)},visit_rgba:function(E){return C.visit_color("rgba("+E.value.join(", ")+")",E)},visit_color:function(E,I){var B=E,U=C.visit(I.length);return U&&(B+=" "+U),B},visit_angular:function(E){return E.value+"deg"},visit_directional:function(E){return"to "+E.value},visit_array:function(E){var I="",B=E.length;return E.forEach(function(U,V){I+=C.visit(U),V<B-1&&(I+=", ")}),I},visit:function(E){if(!E)return"";var I="";if(E instanceof Array)return C.visit_array(E,I);if(E.type){var B=C["visit_"+E.type];if(B)return B(E);throw Error("Missing visitor visit_"+E.type)}else throw Error("Invalid node.")}};return function(E){return C.visit(E)}}();var v$1=v$1||{};v$1.parse=function(){var C={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},E="";function I(Be){var Re=new Error(E+": "+Be);throw Re.source=E,Re}function B(){var Be=U();return E.length>0&&I("Invalid input not EOF"),Be}function U(){return Pe(V)}function V(){return X("linear-gradient",C.linearGradient,K)||X("repeating-linear-gradient",C.repeatingLinearGradient,K)||X("radial-gradient",C.radialGradient,Z)||X("repeating-radial-gradient",C.repeatingRadialGradient,Z)}function X(Be,Re,ke){return Y(Re,function(Ge){var Ne=ke();return Ne&&(Xe(C.comma)||I("Missing comma before color stops")),{type:Be,orientation:Ne,colorStops:Pe(Ie)}})}function Y(Be,Re){var ke=Xe(Be);if(ke){Xe(C.startCall)||I("Missing (");var Ge=Re(ke);return Xe(C.endCall)||I("Missing )"),Ge}}function K(){return _e()||xe()}function _e(){return ze("directional",C.sideOrCorner,1)}function xe(){return ze("angular",C.angleValue,1)}function Z(){var Be,Re=J(),ke;return Re&&(Be=[],Be.push(Re),ke=E,Xe(C.comma)&&(Re=J(),Re?Be.push(Re):E=ke)),Be}function J(){var Be=Se()||Te();if(Be)Be.at=Me();else{var Re=Ae();if(Re){Be=Re;var ke=Me();ke&&(Be.at=ke)}else{var Ge=Ee();Ge&&(Be={type:"default-radial",at:Ge})}}return Be}function Se(){var Be=ze("shape",/^(circle)/i,0);return Be&&(Be.style=Ve()||Ae()),Be}function Te(){var Be=ze("shape",/^(ellipse)/i,0);return Be&&(Be.style=We()||Ae()),Be}function Ae(){return ze("extent-keyword",C.extentKeywords,1)}function Me(){if(ze("position",/^at/,0)){var Be=Ee();return Be||I("Missing positioning value"),Be}}function Ee(){var Be=we();if(Be.x||Be.y)return{type:"position",value:Be}}function we(){return{x:We(),y:We()}}function Pe(Be){var Re=Be(),ke=[];if(Re)for(ke.push(Re);Xe(C.comma);)Re=Be(),Re?ke.push(Re):I("One extra comma");return ke}function Ie(){var Be=Fe();return Be||I("Expected color definition"),Be.length=We(),Be}function Fe(){return $e()||Ue()||Le()||Oe()}function Oe(){return ze("literal",C.literalColor,0)}function $e(){return ze("hex",C.hexColor,1)}function Le(){return Y(C.rgbColor,function(){return{type:"rgb",value:Pe(He)}})}function Ue(){return Y(C.rgbaColor,function(){return{type:"rgba",value:Pe(He)}})}function He(){return Xe(C.number)[1]}function We(){return ze("%",C.percentageValue,1)||je()||Ve()}function je(){return ze("position-keyword",C.positionKeywords,1)}function Ve(){return ze("px",C.pixelValue,1)||ze("em",C.emValue,1)}function ze(Be,Re,ke){var Ge=Xe(Re);if(Ge)return{type:Be,value:Ge[ke]}}function Xe(Be){var Re,ke;return ke=/^[\n\r\t\s]+/.exec(E),ke&&De(ke[0].length),Re=Be.exec(E),Re&&De(Re[0].length),Re}function De(Be){E=E.substr(Be)}return function(Be){return E=Be.toString(),B()}}();var ee=v$1.parse;v$1.stringify;var R={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},G={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function te(C){var E,I=[],B=1,U;if(typeof C=="string")if(R[C])I=R[C].slice(),U="rgb";else if(C==="transparent")B=0,U="rgb",I=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(C)){var V=C.slice(1),X=V.length,Y=X<=4;B=1,Y?(I=[parseInt(V[0]+V[0],16),parseInt(V[1]+V[1],16),parseInt(V[2]+V[2],16)],X===4&&(B=parseInt(V[3]+V[3],16)/255)):(I=[parseInt(V[0]+V[1],16),parseInt(V[2]+V[3],16),parseInt(V[4]+V[5],16)],X===8&&(B=parseInt(V[6]+V[7],16)/255)),I[0]||(I[0]=0),I[1]||(I[1]=0),I[2]||(I[2]=0),U="rgb"}else if(E=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(C)){var K=E[1],_e=K==="rgb",V=K.replace(/a$/,"");U=V;var X=V==="cmyk"?4:V==="gray"?1:3;I=E[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(J,Se){if(/%$/.test(J))return Se===X?parseFloat(J)/100:V==="rgb"?parseFloat(J)*255/100:parseFloat(J);if(V[Se]==="h"){if(/deg$/.test(J))return parseFloat(J);if(G[J]!==void 0)return G[J]}return parseFloat(J)}),K===V&&I.push(1),B=_e||I[X]===void 0?1:I[X],I=I.slice(0,X)}else C.length>10&&/[0-9](?:\s|\/)/.test(C)&&(I=C.match(/([0-9]+)/g).map(function(xe){return parseFloat(xe)}),U=C.match(/([a-z])/ig).join("").toLowerCase());else isNaN(C)?Array.isArray(C)||C.length?(I=[C[0],C[1],C[2]],U="rgb",B=C.length===4?C[3]:1):C instanceof Object&&(C.r!=null||C.red!=null||C.R!=null?(U="rgb",I=[C.r||C.red||C.R||0,C.g||C.green||C.G||0,C.b||C.blue||C.B||0]):(U="hsl",I=[C.h||C.hue||C.H||0,C.s||C.saturation||C.S||0,C.l||C.lightness||C.L||C.b||C.brightness]),B=C.a||C.alpha||C.opacity||1,C.opacity!=null&&(B/=100)):(U="rgb",I=[C>>>16,(C&65280)>>>8,C&255]);return{space:U,values:I,alpha:B}}var A={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},S={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(C){var E=C[0]/360,I=C[1]/100,B=C[2]/100,U,V,X,Y,K;if(I===0)return K=B*255,[K,K,K];B<.5?V=B*(1+I):V=B+I-B*I,U=2*B-V,Y=[0,0,0];for(var _e=0;_e<3;_e++)X=E+1/3*-(_e-1),X<0?X++:X>1&&X--,6*X<1?K=U+(V-U)*6*X:2*X<1?K=V:3*X<2?K=U+(V-U)*(2/3-X)*6:K=U,Y[_e]=K*255;return Y}};A.hsl=function(C){var E=C[0]/255,I=C[1]/255,B=C[2]/255,U=Math.min(E,I,B),V=Math.max(E,I,B),X=V-U,Y,K,_e;return V===U?Y=0:E===V?Y=(I-B)/X:I===V?Y=2+(B-E)/X:B===V&&(Y=4+(E-I)/X),Y=Math.min(Y*60,360),Y<0&&(Y+=360),_e=(U+V)/2,V===U?K=0:_e<=.5?K=X/(V+U):K=X/(2-V-U),[Y,K*100,_e*100]};function re(C){Array.isArray(C)&&C.raw&&(C=String.raw(...arguments));var E,I=te(C);if(!I.space)return[];const B=I.space[0]==="h"?S.min:A.min,U=I.space[0]==="h"?S.max:A.max;return E=Array(3),E[0]=Math.min(Math.max(I.values[0],B[0]),U[0]),E[1]=Math.min(Math.max(I.values[1],B[1]),U[1]),E[2]=Math.min(Math.max(I.values[2],B[2]),U[2]),I.space[0]==="h"&&(E=S.rgb(E)),E.push(Math.min(Math.max(I.alpha,0),1)),E}function L(C){switch(typeof C){case"string":return ne(C);case"number":return hex2rgb(C);default:return C}}function ne(C){const E=re(C);if(!E)throw new Error(`Unable to parse color "${C}" as RGBA.`);return[E[0]/255,E[1]/255,E[2]/255,E[3]]}function ie(C){const E=ee(ge(C));if(E.length===0)throw new Error("Invalid CSS gradient.");if(E.length!==1)throw new Error("Unsupported CSS gradient (multiple gradients is not supported).");const I=E[0],B=oe(I.type),U=ae(I.colorStops),V=ce(I.orientation);return{type:B,stops:U,angle:V}}function oe(C){const E={"linear-gradient":0,"radial-gradient":1};if(!(C in E))throw new Error(`Unsupported gradient type "${C}"`);return E[C]}function ae(C){const E=ue(C),I=[];for(let B=0;B<C.length;B++){const U=le(C[B]);I.push({offset:E[B],color:U.slice(0,3),alpha:U[3]})}return I}function le(C){return L(se(C))}function se(C){switch(C.type){case"hex":return`#${C.value}`;case"literal":return C.value;default:return`${C.type}(${C.value.join(",")})`}}function ue(C){const E=[];for(let U=0;U<C.length;U++){const V=C[U];let X=-1;V.type==="literal"&&V.length&&"type"in V.length&&V.length.type==="%"&&"value"in V.length&&(X=parseFloat(V.length.value)/100),E.push(X)}const I=U=>{for(let V=U;V<E.length;V++)if(E[V]!==-1)return{indexDelta:V-U,offset:E[V]};return{indexDelta:E.length-1-U,offset:1}};let B=0;for(let U=0;U<E.length;U++){const V=E[U];if(V!==-1)B=V;else if(U===0)E[U]=0;else if(U+1===E.length)E[U]=1;else{const X=I(U),Y=(X.offset-B)/(1+X.indexDelta);for(let K=0;K<=X.indexDelta;K++)E[U+K]=B+(K+1)*Y;U+=X.indexDelta,B=E[U]}}return E.map(fe)}function fe(C){return C.toString().length>6?parseFloat(C.toString().substring(0,6)):C}function ce(C){if(typeof C>"u")return 0;if("type"in C&&"value"in C)switch(C.type){case"angular":return parseFloat(C.value);case"directional":return pe(C.value)}return 0}function pe(C){const E={left:270,top:0,bottom:180,right:90,"left top":315,"top left":315,"left bottom":225,"bottom left":225,"right top":45,"top right":45,"right bottom":135,"bottom right":135};if(!(C in E))throw new Error(`Unsupported directional value "${C}"`);return E[C]}function ge(C){let E=C.replace(/\s{2,}/gu," ");return E=E.replace(/;/g,""),E=E.replace(/ ,/g,","),E=E.replace(/\( /g,"("),E=E.replace(/ \)/g,")"),E.trim()}var he=Object.defineProperty,me=Object.defineProperties,de=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,z$1=(C,E,I)=>E in C?he(C,E,{enumerable:!0,configurable:!0,writable:!0,value:I}):C[E]=I,k=(C,E)=>{for(var I in E||(E={}))ve.call(E,I)&&z$1(C,I,E[I]);if(N)for(var I of N(E))ye.call(E,I)&&z$1(C,I,E[I]);return C},be=(C,E)=>me(C,de(E));const D=90;function Ce(C){return[...C].sort((E,I)=>E.offset-I.offset)}const P$1=class extends Filter{constructor(E){E&&"css"in E&&(E=be(k({},ie(E.css||"")),{alpha:E.alpha,maxColors:E.maxColors}));const I=k(k({},P$1.defaults),E);if(!I.stops||I.stops.length<2)throw new Error("ColorGradientFilter requires at least 2 color stops.");super(W,Q),this._stops=[],this.autoFit=!1,Object.assign(this,I)}get stops(){return this._stops}set stops(E){const I=Ce(E),B=new Float32Array(I.length*3),U=0,V=1,X=2;for(let Y=0;Y<I.length;Y++){const K=L(I[Y].color),_e=Y*3;B[_e+U]=K[U],B[_e+V]=K[V],B[_e+X]=K[X]}this.uniforms.uColors=B,this.uniforms.uOffsets=I.map(Y=>Y.offset),this.uniforms.uAlphas=I.map(Y=>Y.alpha),this.uniforms.uNumStops=I.length,this._stops=I}set type(E){this.uniforms.uType=E}get type(){return this.uniforms.uType}set angle(E){this.uniforms.uAngle=E-D}get angle(){return this.uniforms.uAngle+D}set alpha(E){this.uniforms.uAlpha=E}get alpha(){return this.uniforms.uAlpha}set maxColors(E){this.uniforms.uMaxColors=E}get maxColors(){return this.uniforms.uMaxColors}};let y=P$1;y.LINEAR=0,y.RADIAL=1,y.CONIC=2,y.defaults={type:P$1.LINEAR,stops:[{offset:0,color:16711680,alpha:1},{offset:1,color:255,alpha:1}],alpha:1,angle:90,maxColors:0};var o$3=`attribute vec2 aVertexPosition;
862
- attribute vec2 aTextureCoord;
863
-
864
- uniform mat3 projectionMatrix;
865
-
866
- varying vec2 vTextureCoord;
867
-
868
- void main(void)
869
- {
870
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
871
- vTextureCoord = aTextureCoord;
872
- }`,x$1=`precision mediump float;
873
-
874
- varying mediump vec2 vTextureCoord;
875
-
876
- uniform sampler2D uSampler;
877
- uniform vec2 texelSize;
878
- uniform float matrix[9];
879
-
880
- void main(void)
881
- {
882
- vec4 c11 = texture2D(uSampler, vTextureCoord - texelSize); // top left
883
- vec4 c12 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - texelSize.y)); // top center
884
- vec4 c13 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y - texelSize.y)); // top right
885
-
886
- vec4 c21 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y)); // mid left
887
- vec4 c22 = texture2D(uSampler, vTextureCoord); // mid center
888
- vec4 c23 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y)); // mid right
889
-
890
- vec4 c31 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y + texelSize.y)); // bottom left
891
- vec4 c32 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + texelSize.y)); // bottom center
892
- vec4 c33 = texture2D(uSampler, vTextureCoord + texelSize); // bottom right
893
-
894
- gl_FragColor =
895
- c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] +
896
- c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] +
897
- c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8];
898
-
899
- gl_FragColor.a = c22.a;
900
- }
901
- `;let n$3=class extends Filter{constructor(E,I=200,B=200){super(o$3,x$1),this.uniforms.texelSize=new Float32Array(2),this.uniforms.matrix=new Float32Array(9),E!==void 0&&(this.matrix=E),this.width=I,this.height=B}get matrix(){return this.uniforms.matrix}set matrix(E){E.forEach((I,B)=>{this.uniforms.matrix[B]=I})}get width(){return 1/this.uniforms.texelSize[0]}set width(E){this.uniforms.texelSize[0]=1/E}get height(){return 1/this.uniforms.texelSize[1]}set height(E){this.uniforms.texelSize[1]=1/E}};var a$4=`attribute vec2 aVertexPosition;
902
- attribute vec2 aTextureCoord;
903
-
904
- uniform mat3 projectionMatrix;
905
-
906
- varying vec2 vTextureCoord;
907
-
908
- void main(void)
909
- {
910
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
911
- vTextureCoord = aTextureCoord;
912
- }`,g=`varying vec2 vTextureCoord;
913
- uniform sampler2D uSampler;
914
-
915
- uniform vec4 filterArea;
916
- uniform vec2 dimensions;
917
-
918
- const float SQRT_2 = 1.414213;
919
-
920
- const float light = 1.0;
921
-
922
- uniform float curvature;
923
- uniform float lineWidth;
924
- uniform float lineContrast;
925
- uniform bool verticalLine;
926
- uniform float noise;
927
- uniform float noiseSize;
928
-
929
- uniform float vignetting;
930
- uniform float vignettingAlpha;
931
- uniform float vignettingBlur;
932
-
933
- uniform float seed;
934
- uniform float time;
935
-
936
- float rand(vec2 co) {
937
- return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
938
- }
939
-
940
- void main(void)
941
- {
942
- vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;
943
- vec2 dir = vec2(vTextureCoord.xy * filterArea.xy / dimensions - vec2(0.5, 0.5));
944
-
945
- gl_FragColor = texture2D(uSampler, vTextureCoord);
946
- vec3 rgb = gl_FragColor.rgb;
947
-
948
- if (noise > 0.0 && noiseSize > 0.0)
949
- {
950
- pixelCoord.x = floor(pixelCoord.x / noiseSize);
951
- pixelCoord.y = floor(pixelCoord.y / noiseSize);
952
- float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;
953
- rgb += _noise * noise;
954
- }
955
-
956
- if (lineWidth > 0.0)
957
- {
958
- float _c = curvature > 0. ? curvature : 1.;
959
- float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;
960
- vec2 uv = dir * k;
961
-
962
- float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c;
963
- float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast;
964
- rgb *= j;
965
- float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.);
966
- rgb *= 0.99 + ceil(segment) * 0.015;
967
- }
968
-
969
- if (vignetting > 0.0)
970
- {
971
- float outter = SQRT_2 - vignetting * SQRT_2;
972
- float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);
973
- rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);
974
- }
975
-
976
- gl_FragColor.rgb = rgb;
977
- }
978
- `;const e$1=class extends Filter{constructor(E){super(a$4,g),this.time=0,this.seed=0,this.uniforms.dimensions=new Float32Array(2),Object.assign(this,e$1.defaults,E)}apply(E,I,B,U){const{width:V,height:X}=I.filterFrame;this.uniforms.dimensions[0]=V,this.uniforms.dimensions[1]=X,this.uniforms.seed=this.seed,this.uniforms.time=this.time,E.applyFilter(this,I,B,U)}set curvature(E){this.uniforms.curvature=E}get curvature(){return this.uniforms.curvature}set lineWidth(E){this.uniforms.lineWidth=E}get lineWidth(){return this.uniforms.lineWidth}set lineContrast(E){this.uniforms.lineContrast=E}get lineContrast(){return this.uniforms.lineContrast}set verticalLine(E){this.uniforms.verticalLine=E}get verticalLine(){return this.uniforms.verticalLine}set noise(E){this.uniforms.noise=E}get noise(){return this.uniforms.noise}set noiseSize(E){this.uniforms.noiseSize=E}get noiseSize(){return this.uniforms.noiseSize}set vignetting(E){this.uniforms.vignetting=E}get vignetting(){return this.uniforms.vignetting}set vignettingAlpha(E){this.uniforms.vignettingAlpha=E}get vignettingAlpha(){return this.uniforms.vignettingAlpha}set vignettingBlur(E){this.uniforms.vignettingBlur=E}get vignettingBlur(){return this.uniforms.vignettingBlur}};let t$1=e$1;t$1.defaults={curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0};var w=`attribute vec2 aVertexPosition;
979
- attribute vec2 aTextureCoord;
980
-
981
- uniform mat3 projectionMatrix;
982
-
983
- varying vec2 vTextureCoord;
984
-
985
- void main(void)
986
- {
987
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
988
- vTextureCoord = aTextureCoord;
989
- }`,O=`varying vec2 vTextureCoord;
990
- uniform sampler2D uSampler;
991
- uniform float alpha;
992
- uniform vec3 color;
993
-
994
- uniform vec2 shift;
995
- uniform vec4 inputSize;
996
-
997
- void main(void){
998
- vec4 sample = texture2D(uSampler, vTextureCoord - shift * inputSize.zw);
999
-
1000
- // Premultiply alpha
1001
- sample.rgb = color.rgb * sample.a;
1002
-
1003
- // alpha user alpha
1004
- sample *= alpha;
1005
-
1006
- gl_FragColor = sample;
1007
- }`,P=Object.defineProperty,c$4=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,_=(C,E,I)=>E in C?P(C,E,{enumerable:!0,configurable:!0,writable:!0,value:I}):C[E]=I,b=(C,E)=>{for(var I in E||(E={}))T.call(E,I)&&_(C,I,E[I]);if(c$4)for(var I of c$4(E))z.call(E,I)&&_(C,I,E[I]);return C};const o$2=class extends Filter{constructor(E){super(),this.angle=45,this._distance=5,this._resolution=settings.FILTER_RESOLUTION;const I=E?b(b({},o$2.defaults),E):o$2.defaults,{kernels:B,blur:U,quality:V,pixelSize:X,resolution:Y}=I;this._offset=new ObservablePoint(this._updatePadding,this),this._tintFilter=new Filter(w,O),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.uniforms.shift=this._offset,this._tintFilter.resolution=Y,this._blurFilter=B?new _$1(B):new _$1(U,V),this.pixelSize=X,this.resolution=Y;const{shadowOnly:K,rotation:_e,distance:xe,offset:Z,alpha:J,color:Se}=I;this.shadowOnly=K,_e!==void 0&&xe!==void 0?(this.rotation=_e,this.distance=xe):this.offset=Z,this.alpha=J,this.color=Se}apply(E,I,B,U){const V=E.getFilterTexture();this._tintFilter.apply(E,I,V,1),this._blurFilter.apply(E,V,B,U),this.shadowOnly!==!0&&E.applyFilter(this,I,B,0),E.returnFilterTexture(V)}_updatePadding(){const E=Math.max(Math.abs(this._offset.x),Math.abs(this._offset.y));this.padding=E+this.blur*2}_updateShift(){this._tintFilter.uniforms.shift.set(this.distance*Math.cos(this.angle),this.distance*Math.sin(this.angle))}set offset(E){this._offset.copyFrom(E),this._updatePadding()}get offset(){return this._offset}get resolution(){return this._resolution}set resolution(E){this._resolution=E,this._tintFilter&&(this._tintFilter.resolution=E),this._blurFilter&&(this._blurFilter.resolution=E)}get distance(){return this._distance}set distance(E){deprecation("5.3.0","DropShadowFilter distance is deprecated, use offset"),this._distance=E,this._updatePadding(),this._updateShift()}get rotation(){return this.angle/DEG_TO_RAD}set rotation(E){deprecation("5.3.0","DropShadowFilter rotation is deprecated, use offset"),this.angle=E*DEG_TO_RAD,this._updateShift()}get alpha(){return this._tintFilter.uniforms.alpha}set alpha(E){this._tintFilter.uniforms.alpha=E}get color(){return rgb2hex(this._tintFilter.uniforms.color)}set color(E){hex2rgb(E,this._tintFilter.uniforms.color)}get kernels(){return this._blurFilter.kernels}set kernels(E){this._blurFilter.kernels=E}get blur(){return this._blurFilter.blur}set blur(E){this._blurFilter.blur=E,this._updatePadding()}get quality(){return this._blurFilter.quality}set quality(E){this._blurFilter.quality=E}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(E){this._blurFilter.pixelSize=E}};let F=o$2;F.defaults={offset:{x:4,y:4},color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:settings.FILTER_RESOLUTION};var p$1=`attribute vec2 aVertexPosition;
1008
- attribute vec2 aTextureCoord;
1009
-
1010
- uniform mat3 projectionMatrix;
1011
-
1012
- varying vec2 vTextureCoord;
1013
-
1014
- void main(void)
1015
- {
1016
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1017
- vTextureCoord = aTextureCoord;
1018
- }`,M=`// precision highp float;
1019
-
1020
- varying vec2 vTextureCoord;
1021
- uniform sampler2D uSampler;
1022
-
1023
- uniform vec4 filterArea;
1024
- uniform vec4 filterClamp;
1025
- uniform vec2 dimensions;
1026
- uniform float aspect;
1027
-
1028
- uniform sampler2D displacementMap;
1029
- uniform float offset;
1030
- uniform float sinDir;
1031
- uniform float cosDir;
1032
- uniform int fillMode;
1033
-
1034
- uniform float seed;
1035
- uniform vec2 red;
1036
- uniform vec2 green;
1037
- uniform vec2 blue;
1038
-
1039
- const int TRANSPARENT = 0;
1040
- const int ORIGINAL = 1;
1041
- const int LOOP = 2;
1042
- const int CLAMP = 3;
1043
- const int MIRROR = 4;
1044
-
1045
- void main(void)
1046
- {
1047
- vec2 coord = (vTextureCoord * filterArea.xy) / dimensions;
1048
-
1049
- if (coord.x > 1.0 || coord.y > 1.0) {
1050
- return;
1051
- }
1052
-
1053
- float cx = coord.x - 0.5;
1054
- float cy = (coord.y - 0.5) * aspect;
1055
- float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5;
1056
-
1057
- // displacementMap: repeat
1058
- // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);
1059
-
1060
- // displacementMap: mirror
1061
- ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);
1062
-
1063
- vec4 dc = texture2D(displacementMap, vec2(0.5, ny));
1064
-
1065
- float displacement = (dc.r - dc.g) * (offset / filterArea.x);
1066
-
1067
- coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect);
1068
-
1069
- if (fillMode == CLAMP) {
1070
- coord = clamp(coord, filterClamp.xy, filterClamp.zw);
1071
- } else {
1072
- if( coord.x > filterClamp.z ) {
1073
- if (fillMode == TRANSPARENT) {
1074
- discard;
1075
- } else if (fillMode == LOOP) {
1076
- coord.x -= filterClamp.z;
1077
- } else if (fillMode == MIRROR) {
1078
- coord.x = filterClamp.z * 2.0 - coord.x;
1079
- }
1080
- } else if( coord.x < filterClamp.x ) {
1081
- if (fillMode == TRANSPARENT) {
1082
- discard;
1083
- } else if (fillMode == LOOP) {
1084
- coord.x += filterClamp.z;
1085
- } else if (fillMode == MIRROR) {
1086
- coord.x *= -filterClamp.z;
1087
- }
1088
- }
1089
-
1090
- if( coord.y > filterClamp.w ) {
1091
- if (fillMode == TRANSPARENT) {
1092
- discard;
1093
- } else if (fillMode == LOOP) {
1094
- coord.y -= filterClamp.w;
1095
- } else if (fillMode == MIRROR) {
1096
- coord.y = filterClamp.w * 2.0 - coord.y;
1097
- }
1098
- } else if( coord.y < filterClamp.y ) {
1099
- if (fillMode == TRANSPARENT) {
1100
- discard;
1101
- } else if (fillMode == LOOP) {
1102
- coord.y += filterClamp.w;
1103
- } else if (fillMode == MIRROR) {
1104
- coord.y *= -filterClamp.w;
1105
- }
1106
- }
1107
- }
1108
-
1109
- gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r;
1110
- gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g;
1111
- gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b;
1112
- gl_FragColor.a = texture2D(uSampler, coord).a;
1113
- }
1114
- `;const c$3=class extends Filter{constructor(E){super(p$1,M),this.offset=100,this.fillMode=c$3.TRANSPARENT,this.average=!1,this.seed=0,this.minSize=8,this.sampleSize=512,this._slices=0,this._offsets=new Float32Array(1),this._sizes=new Float32Array(1),this._direction=-1,this.uniforms.dimensions=new Float32Array(2),this._canvas=document.createElement("canvas"),this._canvas.width=4,this._canvas.height=this.sampleSize,this.texture=Texture.from(this._canvas,{scaleMode:SCALE_MODES.NEAREST}),Object.assign(this,c$3.defaults,E)}apply(E,I,B,U){const{width:V,height:X}=I.filterFrame;this.uniforms.dimensions[0]=V,this.uniforms.dimensions[1]=X,this.uniforms.aspect=X/V,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,E.applyFilter(this,I,B,U)}_randomizeSizes(){const E=this._sizes,I=this._slices-1,B=this.sampleSize,U=Math.min(this.minSize/B,.9/this._slices);if(this.average){const V=this._slices;let X=1;for(let Y=0;Y<I;Y++){const K=X/(V-Y),_e=Math.max(K*(1-Math.random()*.6),U);E[Y]=_e,X-=_e}E[I]=X}else{let V=1;const X=Math.sqrt(1/this._slices);for(let Y=0;Y<I;Y++){const K=Math.max(X*V*Math.random(),U);E[Y]=K,V-=K}E[I]=V}this.shuffle()}shuffle(){const E=this._sizes,I=this._slices-1;for(let B=I;B>0;B--){const U=Math.random()*B>>0,V=E[B];E[B]=E[U],E[U]=V}}_randomizeOffsets(){for(let E=0;E<this._slices;E++)this._offsets[E]=Math.random()*(Math.random()<.5?-1:1)}refresh(){this._randomizeSizes(),this._randomizeOffsets(),this.redraw()}redraw(){const E=this.sampleSize,I=this.texture,B=this._canvas.getContext("2d");B.clearRect(0,0,8,E);let U,V=0;for(let X=0;X<this._slices;X++){U=Math.floor(this._offsets[X]*256);const Y=this._sizes[X]*E,K=U>0?U:0,_e=U<0?-U:0;B.fillStyle=`rgba(${K}, ${_e}, 0, 1)`,B.fillRect(0,V>>0,E,Y+1>>0),V+=Y}I.baseTexture.update(),this.uniforms.displacementMap=I}set sizes(E){const I=Math.min(this._slices,E.length);for(let B=0;B<I;B++)this._sizes[B]=E[B]}get sizes(){return this._sizes}set offsets(E){const I=Math.min(this._slices,E.length);for(let B=0;B<I;B++)this._offsets[B]=E[B]}get offsets(){return this._offsets}get slices(){return this._slices}set slices(E){this._slices!==E&&(this._slices=E,this.uniforms.slices=E,this._sizes=this.uniforms.slicesWidth=new Float32Array(E),this._offsets=this.uniforms.slicesOffset=new Float32Array(E),this.refresh())}get direction(){return this._direction}set direction(E){if(this._direction===E)return;this._direction=E;const I=E*DEG_TO_RAD;this.uniforms.sinDir=Math.sin(I),this.uniforms.cosDir=Math.cos(I)}get red(){return this.uniforms.red}set red(E){this.uniforms.red=E}get green(){return this.uniforms.green}set green(E){this.uniforms.green=E}get blue(){return this.uniforms.blue}set blue(E){this.uniforms.blue=E}destroy(){var E;(E=this.texture)==null||E.destroy(!0),this.texture=this._canvas=this.red=this.green=this.blue=this._sizes=this._offsets=null}};let l$4=c$3;l$4.defaults={slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:[0,0],green:[0,0],blue:[0,0],minSize:8,sampleSize:512},l$4.TRANSPARENT=0,l$4.ORIGINAL=1,l$4.LOOP=2,l$4.CLAMP=3,l$4.MIRROR=4;var f$3=`attribute vec2 aVertexPosition;
1115
- attribute vec2 aTextureCoord;
1116
-
1117
- uniform mat3 projectionMatrix;
1118
-
1119
- varying vec2 vTextureCoord;
1120
-
1121
- void main(void)
1122
- {
1123
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1124
- vTextureCoord = aTextureCoord;
1125
- }`,p=`varying vec2 vTextureCoord;
1126
- varying vec4 vColor;
1127
-
1128
- uniform sampler2D uSampler;
1129
-
1130
- uniform float outerStrength;
1131
- uniform float innerStrength;
1132
-
1133
- uniform vec4 glowColor;
1134
-
1135
- uniform vec4 filterArea;
1136
- uniform vec4 filterClamp;
1137
- uniform bool knockout;
1138
- uniform float alpha;
1139
-
1140
- const float PI = 3.14159265358979323846264;
1141
-
1142
- const float DIST = __DIST__;
1143
- const float ANGLE_STEP_SIZE = min(__ANGLE_STEP_SIZE__, PI * 2.0);
1144
- const float ANGLE_STEP_NUM = ceil(PI * 2.0 / ANGLE_STEP_SIZE);
1145
-
1146
- const float MAX_TOTAL_ALPHA = ANGLE_STEP_NUM * DIST * (DIST + 1.0) / 2.0;
1147
-
1148
- void main(void) {
1149
- vec2 px = vec2(1.0 / filterArea.x, 1.0 / filterArea.y);
1150
-
1151
- float totalAlpha = 0.0;
1152
-
1153
- vec2 direction;
1154
- vec2 displaced;
1155
- vec4 curColor;
1156
-
1157
- for (float angle = 0.0; angle < PI * 2.0; angle += ANGLE_STEP_SIZE) {
1158
- direction = vec2(cos(angle), sin(angle)) * px;
1159
-
1160
- for (float curDistance = 0.0; curDistance < DIST; curDistance++) {
1161
- displaced = clamp(vTextureCoord + direction *
1162
- (curDistance + 1.0), filterClamp.xy, filterClamp.zw);
1163
-
1164
- curColor = texture2D(uSampler, displaced);
1165
-
1166
- totalAlpha += (DIST - curDistance) * curColor.a;
1167
- }
1168
- }
1169
-
1170
- curColor = texture2D(uSampler, vTextureCoord);
1171
-
1172
- float alphaRatio = (totalAlpha / MAX_TOTAL_ALPHA);
1173
-
1174
- float innerGlowAlpha = (1.0 - alphaRatio) * innerStrength * curColor.a;
1175
- float innerGlowStrength = min(1.0, innerGlowAlpha);
1176
-
1177
- vec4 innerColor = mix(curColor, glowColor, innerGlowStrength);
1178
-
1179
- float outerGlowAlpha = alphaRatio * outerStrength * (1. - curColor.a);
1180
- float outerGlowStrength = min(1.0 - innerColor.a, outerGlowAlpha);
1181
-
1182
- if (knockout) {
1183
- float resultAlpha = (outerGlowAlpha + innerGlowAlpha) * alpha;
1184
- gl_FragColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);
1185
- }
1186
- else {
1187
- vec4 outerGlowColor = outerGlowStrength * glowColor.rgba * alpha;
1188
- gl_FragColor = innerColor + outerGlowColor;
1189
- }
1190
- }
1191
- `;const e=class extends Filter{constructor(C){const E=Object.assign({},e.defaults,C),{outerStrength:I,innerStrength:B,color:U,knockout:V,quality:X,alpha:Y}=E,K=Math.round(E.distance);super(f$3,p.replace(/__ANGLE_STEP_SIZE__/gi,`${(1/X/K).toFixed(7)}`).replace(/__DIST__/gi,`${K.toFixed(0)}.0`)),this.uniforms.glowColor=new Float32Array([0,0,0,1]),this.uniforms.alpha=1,Object.assign(this,{color:U,outerStrength:I,innerStrength:B,padding:K,knockout:V,alpha:Y})}get color(){return rgb2hex(this.uniforms.glowColor)}set color(C){hex2rgb(C,this.uniforms.glowColor)}get outerStrength(){return this.uniforms.outerStrength}set outerStrength(C){this.uniforms.outerStrength=C}get innerStrength(){return this.uniforms.innerStrength}set innerStrength(C){this.uniforms.innerStrength=C}get knockout(){return this.uniforms.knockout}set knockout(C){this.uniforms.knockout=C}get alpha(){return this.uniforms.alpha}set alpha(C){this.uniforms.alpha=C}};let l$3=e;l$3.defaults={distance:10,outerStrength:4,innerStrength:0,color:16777215,quality:.1,knockout:!1,alpha:1};var v=`attribute vec2 aVertexPosition;
1192
- attribute vec2 aTextureCoord;
1193
-
1194
- uniform mat3 projectionMatrix;
1195
-
1196
- varying vec2 vTextureCoord;
1197
-
1198
- void main(void)
1199
- {
1200
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1201
- vTextureCoord = aTextureCoord;
1202
- }`,f$2=`vec3 mod289(vec3 x)
1203
- {
1204
- return x - floor(x * (1.0 / 289.0)) * 289.0;
1205
- }
1206
- vec4 mod289(vec4 x)
1207
- {
1208
- return x - floor(x * (1.0 / 289.0)) * 289.0;
1209
- }
1210
- vec4 permute(vec4 x)
1211
- {
1212
- return mod289(((x * 34.0) + 1.0) * x);
1213
- }
1214
- vec4 taylorInvSqrt(vec4 r)
1215
- {
1216
- return 1.79284291400159 - 0.85373472095314 * r;
1217
- }
1218
- vec3 fade(vec3 t)
1219
- {
1220
- return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
1221
- }
1222
- // Classic Perlin noise, periodic variant
1223
- float pnoise(vec3 P, vec3 rep)
1224
- {
1225
- vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period
1226
- vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period
1227
- Pi0 = mod289(Pi0);
1228
- Pi1 = mod289(Pi1);
1229
- vec3 Pf0 = fract(P); // Fractional part for interpolation
1230
- vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
1231
- vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
1232
- vec4 iy = vec4(Pi0.yy, Pi1.yy);
1233
- vec4 iz0 = Pi0.zzzz;
1234
- vec4 iz1 = Pi1.zzzz;
1235
- vec4 ixy = permute(permute(ix) + iy);
1236
- vec4 ixy0 = permute(ixy + iz0);
1237
- vec4 ixy1 = permute(ixy + iz1);
1238
- vec4 gx0 = ixy0 * (1.0 / 7.0);
1239
- vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
1240
- gx0 = fract(gx0);
1241
- vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
1242
- vec4 sz0 = step(gz0, vec4(0.0));
1243
- gx0 -= sz0 * (step(0.0, gx0) - 0.5);
1244
- gy0 -= sz0 * (step(0.0, gy0) - 0.5);
1245
- vec4 gx1 = ixy1 * (1.0 / 7.0);
1246
- vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
1247
- gx1 = fract(gx1);
1248
- vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
1249
- vec4 sz1 = step(gz1, vec4(0.0));
1250
- gx1 -= sz1 * (step(0.0, gx1) - 0.5);
1251
- gy1 -= sz1 * (step(0.0, gy1) - 0.5);
1252
- vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);
1253
- vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);
1254
- vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);
1255
- vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);
1256
- vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);
1257
- vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);
1258
- vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);
1259
- vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);
1260
- vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
1261
- g000 *= norm0.x;
1262
- g010 *= norm0.y;
1263
- g100 *= norm0.z;
1264
- g110 *= norm0.w;
1265
- vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
1266
- g001 *= norm1.x;
1267
- g011 *= norm1.y;
1268
- g101 *= norm1.z;
1269
- g111 *= norm1.w;
1270
- float n000 = dot(g000, Pf0);
1271
- float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
1272
- float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
1273
- float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
1274
- float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
1275
- float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
1276
- float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
1277
- float n111 = dot(g111, Pf1);
1278
- vec3 fade_xyz = fade(Pf0);
1279
- vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
1280
- vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
1281
- float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
1282
- return 2.2 * n_xyz;
1283
- }
1284
- float turb(vec3 P, vec3 rep, float lacunarity, float gain)
1285
- {
1286
- float sum = 0.0;
1287
- float sc = 1.0;
1288
- float totalgain = 1.0;
1289
- for (float i = 0.0; i < 6.0; i++)
1290
- {
1291
- sum += totalgain * pnoise(P * sc, rep);
1292
- sc *= lacunarity;
1293
- totalgain *= gain;
1294
- }
1295
- return abs(sum);
1296
- }
1297
- `,x=`varying vec2 vTextureCoord;
1298
- uniform sampler2D uSampler;
1299
- uniform vec4 filterArea;
1300
- uniform vec2 dimensions;
1301
-
1302
- uniform vec2 light;
1303
- uniform bool parallel;
1304
- uniform float aspect;
1305
-
1306
- uniform float gain;
1307
- uniform float lacunarity;
1308
- uniform float time;
1309
- uniform float alpha;
1310
-
1311
- \${perlin}
1312
-
1313
- void main(void) {
1314
- vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;
1315
-
1316
- float d;
1317
-
1318
- if (parallel) {
1319
- float _cos = light.x;
1320
- float _sin = light.y;
1321
- d = (_cos * coord.x) + (_sin * coord.y * aspect);
1322
- } else {
1323
- float dx = coord.x - light.x / dimensions.x;
1324
- float dy = (coord.y - light.y / dimensions.y) * aspect;
1325
- float dis = sqrt(dx * dx + dy * dy) + 0.00001;
1326
- d = dy / dis;
1327
- }
1328
-
1329
- vec3 dir = vec3(d, d, 0.0);
1330
-
1331
- float noise = turb(dir + vec3(time, 0.0, 62.1 + time) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);
1332
- noise = mix(noise, 0.0, 0.3);
1333
- //fade vertically.
1334
- vec4 mist = vec4(noise, noise, noise, 1.0) * (1.0 - coord.y);
1335
- mist.a = 1.0;
1336
- // apply user alpha
1337
- mist *= alpha;
1338
-
1339
- gl_FragColor = texture2D(uSampler, vTextureCoord) + mist;
1340
-
1341
- }
1342
- `;const a$3=class extends Filter{constructor(E){super(v,x.replace("${perlin}",f$2)),this.parallel=!0,this.time=0,this._angle=0,this.uniforms.dimensions=new Float32Array(2);const I=Object.assign(a$3.defaults,E);this._angleLight=new Point,this.angle=I.angle,this.gain=I.gain,this.lacunarity=I.lacunarity,this.alpha=I.alpha,this.parallel=I.parallel,this.center=I.center,this.time=I.time}apply(E,I,B,U){const{width:V,height:X}=I.filterFrame;this.uniforms.light=this.parallel?this._angleLight:this.center,this.uniforms.parallel=this.parallel,this.uniforms.dimensions[0]=V,this.uniforms.dimensions[1]=X,this.uniforms.aspect=X/V,this.uniforms.time=this.time,this.uniforms.alpha=this.alpha,E.applyFilter(this,I,B,U)}get angle(){return this._angle}set angle(E){this._angle=E;const I=E*DEG_TO_RAD;this._angleLight.x=Math.cos(I),this._angleLight.y=Math.sin(I)}get gain(){return this.uniforms.gain}set gain(E){this.uniforms.gain=E}get lacunarity(){return this.uniforms.lacunarity}set lacunarity(E){this.uniforms.lacunarity=E}get alpha(){return this.uniforms.alpha}set alpha(E){this.uniforms.alpha=E}};let r$3=a$3;r$3.defaults={angle:30,gain:.5,lacunarity:2.5,time:0,parallel:!0,center:[0,0],alpha:1};var i$5=`attribute vec2 aVertexPosition;
1343
- attribute vec2 aTextureCoord;
1344
-
1345
- uniform mat3 projectionMatrix;
1346
-
1347
- varying vec2 vTextureCoord;
1348
-
1349
- void main(void)
1350
- {
1351
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1352
- vTextureCoord = aTextureCoord;
1353
- }`,s$3=`precision mediump float;
1354
-
1355
- varying vec2 vTextureCoord;
1356
- uniform sampler2D uSampler;
1357
- uniform float uHue;
1358
- uniform float uAlpha;
1359
- uniform bool uColorize;
1360
- uniform float uSaturation;
1361
- uniform float uLightness;
1362
-
1363
- // https://en.wikipedia.org/wiki/Luma_(video)
1364
- const vec3 weight = vec3(0.299, 0.587, 0.114);
1365
-
1366
- float getWeightedAverage(vec3 rgb) {
1367
- return rgb.r * weight.r + rgb.g * weight.g + rgb.b * weight.b;
1368
- }
1369
-
1370
- // https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786?permalink_comment_id=3195243#gistcomment-3195243
1371
- const vec3 k = vec3(0.57735, 0.57735, 0.57735);
1372
-
1373
- vec3 hueShift(vec3 color, float angle) {
1374
- float cosAngle = cos(angle);
1375
- return vec3(
1376
- color * cosAngle +
1377
- cross(k, color) * sin(angle) +
1378
- k * dot(k, color) * (1.0 - cosAngle)
1379
- );
1380
- }
1381
-
1382
- void main()
1383
- {
1384
- vec4 color = texture2D(uSampler, vTextureCoord);
1385
- vec4 result = color;
1386
-
1387
- // colorize
1388
- if (uColorize) {
1389
- result.rgb = vec3(getWeightedAverage(result.rgb), 0., 0.);
1390
- }
1391
-
1392
- // hue
1393
- result.rgb = hueShift(result.rgb, uHue);
1394
-
1395
- // saturation
1396
- // https://github.com/evanw/glfx.js/blob/master/src/filters/adjust/huesaturation.js
1397
- float average = (result.r + result.g + result.b) / 3.0;
1398
-
1399
- if (uSaturation > 0.) {
1400
- result.rgb += (average - result.rgb) * (1. - 1. / (1.001 - uSaturation));
1401
- } else {
1402
- result.rgb -= (average - result.rgb) * uSaturation;
1403
- }
1404
-
1405
- // lightness
1406
- result.rgb = mix(result.rgb, vec3(ceil(uLightness)) * color.a, abs(uLightness));
1407
-
1408
- // alpha
1409
- gl_FragColor = mix(color, result, uAlpha);
1410
- }
1411
- `;const t=class extends Filter{constructor(C){super(i$5,s$3),this._hue=0;const E=Object.assign({},t.defaults,C);Object.assign(this,E)}get hue(){return this._hue}set hue(C){this._hue=C,this.uniforms.uHue=this._hue*(Math.PI/180)}get alpha(){return this.uniforms.uAlpha}set alpha(C){this.uniforms.uAlpha=C}get colorize(){return this.uniforms.uColorize}set colorize(C){this.uniforms.uColorize=C}get lightness(){return this.uniforms.uLightness}set lightness(C){this.uniforms.uLightness=C}get saturation(){return this.uniforms.uSaturation}set saturation(C){this.uniforms.uSaturation=C}};let n$2=t;n$2.defaults={hue:0,saturation:0,lightness:0,colorize:!1,alpha:1};var l$2=`attribute vec2 aVertexPosition;
1412
- attribute vec2 aTextureCoord;
1413
-
1414
- uniform mat3 projectionMatrix;
1415
-
1416
- varying vec2 vTextureCoord;
1417
-
1418
- void main(void)
1419
- {
1420
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1421
- vTextureCoord = aTextureCoord;
1422
- }`,d$2=`varying vec2 vTextureCoord;
1423
- uniform sampler2D uSampler;
1424
- uniform vec4 filterArea;
1425
- uniform vec2 dimensions;
1426
-
1427
- uniform float sepia;
1428
- uniform float noise;
1429
- uniform float noiseSize;
1430
- uniform float scratch;
1431
- uniform float scratchDensity;
1432
- uniform float scratchWidth;
1433
- uniform float vignetting;
1434
- uniform float vignettingAlpha;
1435
- uniform float vignettingBlur;
1436
- uniform float seed;
1437
-
1438
- const float SQRT_2 = 1.414213;
1439
- const vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);
1440
-
1441
- float rand(vec2 co) {
1442
- return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
1443
- }
1444
-
1445
- vec3 Overlay(vec3 src, vec3 dst)
1446
- {
1447
- // if (dst <= 0.5) then: 2 * src * dst
1448
- // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)
1449
- return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),
1450
- (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),
1451
- (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));
1452
- }
1453
-
1454
-
1455
- void main()
1456
- {
1457
- gl_FragColor = texture2D(uSampler, vTextureCoord);
1458
- vec3 color = gl_FragColor.rgb;
1459
-
1460
- if (sepia > 0.0)
1461
- {
1462
- float gray = (color.x + color.y + color.z) / 3.0;
1463
- vec3 grayscale = vec3(gray);
1464
-
1465
- color = Overlay(SEPIA_RGB, grayscale);
1466
-
1467
- color = grayscale + sepia * (color - grayscale);
1468
- }
1469
-
1470
- vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;
1471
-
1472
- if (vignetting > 0.0)
1473
- {
1474
- float outter = SQRT_2 - vignetting * SQRT_2;
1475
- vec2 dir = vec2(vec2(0.5, 0.5) - coord);
1476
- dir.y *= dimensions.y / dimensions.x;
1477
- float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);
1478
- color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);
1479
- }
1480
-
1481
- if (scratchDensity > seed && scratch != 0.0)
1482
- {
1483
- float phase = seed * 256.0;
1484
- float s = mod(floor(phase), 2.0);
1485
- float dist = 1.0 / scratchDensity;
1486
- float d = distance(coord, vec2(seed * dist, abs(s - seed * dist)));
1487
- if (d < seed * 0.6 + 0.4)
1488
- {
1489
- highp float period = scratchDensity * 10.0;
1490
-
1491
- float xx = coord.x * period + phase;
1492
- float aa = abs(mod(xx, 0.5) * 4.0);
1493
- float bb = mod(floor(xx / 0.5), 2.0);
1494
- float yy = (1.0 - bb) * aa + bb * (2.0 - aa);
1495
-
1496
- float kk = 2.0 * period;
1497
- float dw = scratchWidth / dimensions.x * (0.75 + seed);
1498
- float dh = dw * kk;
1499
-
1500
- float tine = (yy - (2.0 - dh));
1501
-
1502
- if (tine > 0.0) {
1503
- float _sign = sign(scratch);
1504
-
1505
- tine = s * tine / period + scratch + 0.1;
1506
- tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);
1507
-
1508
- color.rgb *= tine;
1509
- }
1510
- }
1511
- }
1512
-
1513
- if (noise > 0.0 && noiseSize > 0.0)
1514
- {
1515
- vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;
1516
- pixelCoord.x = floor(pixelCoord.x / noiseSize);
1517
- pixelCoord.y = floor(pixelCoord.y / noiseSize);
1518
- // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0);
1519
- // float _noise = snoise(d) * 0.5;
1520
- float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;
1521
- color += _noise * noise;
1522
- }
1523
-
1524
- gl_FragColor.rgb = color;
1525
- }
1526
- `;const s$2=class extends Filter{constructor(E,I=0){super(l$2,d$2),this.seed=0,this.uniforms.dimensions=new Float32Array(2),typeof E=="number"?(this.seed=E,E=void 0):this.seed=I,Object.assign(this,s$2.defaults,E)}apply(E,I,B,U){var V,X;this.uniforms.dimensions[0]=(V=I.filterFrame)==null?void 0:V.width,this.uniforms.dimensions[1]=(X=I.filterFrame)==null?void 0:X.height,this.uniforms.seed=this.seed,E.applyFilter(this,I,B,U)}set sepia(E){this.uniforms.sepia=E}get sepia(){return this.uniforms.sepia}set noise(E){this.uniforms.noise=E}get noise(){return this.uniforms.noise}set noiseSize(E){this.uniforms.noiseSize=E}get noiseSize(){return this.uniforms.noiseSize}set scratch(E){this.uniforms.scratch=E}get scratch(){return this.uniforms.scratch}set scratchDensity(E){this.uniforms.scratchDensity=E}get scratchDensity(){return this.uniforms.scratchDensity}set scratchWidth(E){this.uniforms.scratchWidth=E}get scratchWidth(){return this.uniforms.scratchWidth}set vignetting(E){this.uniforms.vignetting=E}get vignetting(){return this.uniforms.vignetting}set vignettingAlpha(E){this.uniforms.vignettingAlpha=E}get vignettingAlpha(){return this.uniforms.vignettingAlpha}set vignettingBlur(E){this.uniforms.vignettingBlur=E}get vignettingBlur(){return this.uniforms.vignettingBlur}};let r$2=s$2;r$2.defaults={sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3};var u$2=`attribute vec2 aVertexPosition;
1527
- attribute vec2 aTextureCoord;
1528
-
1529
- uniform mat3 projectionMatrix;
1530
-
1531
- varying vec2 vTextureCoord;
1532
-
1533
- void main(void)
1534
- {
1535
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1536
- vTextureCoord = aTextureCoord;
1537
- }`,c$2=`varying vec2 vTextureCoord;
1538
- uniform sampler2D uSampler;
1539
- uniform vec4 filterClamp;
1540
-
1541
- uniform float uAlpha;
1542
- uniform vec2 uThickness;
1543
- uniform vec4 uColor;
1544
- uniform bool uKnockout;
1545
-
1546
- const float DOUBLE_PI = 2. * 3.14159265358979323846264;
1547
- const float ANGLE_STEP = \${angleStep};
1548
-
1549
- float outlineMaxAlphaAtPos(vec2 pos) {
1550
- if (uThickness.x == 0. || uThickness.y == 0.) {
1551
- return 0.;
1552
- }
1553
-
1554
- vec4 displacedColor;
1555
- vec2 displacedPos;
1556
- float maxAlpha = 0.;
1557
-
1558
- for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) {
1559
- displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle);
1560
- displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle);
1561
- displacedColor = texture2D(uSampler, clamp(displacedPos, filterClamp.xy, filterClamp.zw));
1562
- maxAlpha = max(maxAlpha, displacedColor.a);
1563
- }
1564
-
1565
- return maxAlpha;
1566
- }
1567
-
1568
- void main(void) {
1569
- vec4 sourceColor = texture2D(uSampler, vTextureCoord);
1570
- vec4 contentColor = sourceColor * float(!uKnockout);
1571
- float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a);
1572
- vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);
1573
- gl_FragColor = contentColor + outlineColor;
1574
- }
1575
- `;const r$1=class extends Filter{constructor(E=1,I=0,B=.1,U=1,V=!1){super(u$2,c$2.replace(/\$\{angleStep\}/,r$1.getAngleStep(B))),this._thickness=1,this._alpha=1,this._knockout=!1,this.uniforms.uThickness=new Float32Array([0,0]),this.uniforms.uColor=new Float32Array([0,0,0,1]),this.uniforms.uAlpha=U,this.uniforms.uKnockout=V,Object.assign(this,{thickness:E,color:I,quality:B,alpha:U,knockout:V})}static getAngleStep(E){const I=Math.max(E*r$1.MAX_SAMPLES,r$1.MIN_SAMPLES);return(Math.PI*2/I).toFixed(7)}apply(E,I,B,U){this.uniforms.uThickness[0]=this._thickness/I._frame.width,this.uniforms.uThickness[1]=this._thickness/I._frame.height,this.uniforms.uAlpha=this._alpha,this.uniforms.uKnockout=this._knockout,E.applyFilter(this,I,B,U)}get alpha(){return this._alpha}set alpha(E){this._alpha=E}get color(){return rgb2hex(this.uniforms.uColor)}set color(E){hex2rgb(E,this.uniforms.uColor)}get knockout(){return this._knockout}set knockout(E){this._knockout=E}get thickness(){return this._thickness}set thickness(E){this._thickness=E,this.padding=E}};let i$4=r$1;i$4.MIN_SAMPLES=1,i$4.MAX_SAMPLES=100;var m$1=`attribute vec2 aVertexPosition;
1576
- attribute vec2 aTextureCoord;
1577
-
1578
- uniform mat3 projectionMatrix;
1579
-
1580
- varying vec2 vTextureCoord;
1581
-
1582
- void main(void)
1583
- {
1584
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1585
- vTextureCoord = aTextureCoord;
1586
- }`,s$1=`varying vec2 vTextureCoord;
1587
- uniform sampler2D uSampler;
1588
-
1589
- uniform vec4 filterArea;
1590
- uniform vec4 filterClamp;
1591
- uniform vec2 dimensions;
1592
-
1593
- uniform bool mirror;
1594
- uniform float boundary;
1595
- uniform vec2 amplitude;
1596
- uniform vec2 waveLength;
1597
- uniform vec2 alpha;
1598
- uniform float time;
1599
-
1600
- float rand(vec2 co) {
1601
- return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
1602
- }
1603
-
1604
- void main(void)
1605
- {
1606
- vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;
1607
- vec2 coord = pixelCoord / dimensions;
1608
-
1609
- if (coord.y < boundary) {
1610
- gl_FragColor = texture2D(uSampler, vTextureCoord);
1611
- return;
1612
- }
1613
-
1614
- float k = (coord.y - boundary) / (1. - boundary + 0.0001);
1615
- float areaY = boundary * dimensions.y / filterArea.y;
1616
- float v = areaY + areaY - vTextureCoord.y;
1617
- float y = mirror ? v : vTextureCoord.y;
1618
-
1619
- float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x;
1620
- float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y;
1621
- float _alpha = (alpha.y - alpha.x) * k + alpha.x;
1622
-
1623
- float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude;
1624
- x = clamp(x, filterClamp.x, filterClamp.z);
1625
-
1626
- vec4 color = texture2D(uSampler, vec2(x, y));
1627
-
1628
- gl_FragColor = color * _alpha;
1629
- }
1630
- `;const i$3=class extends Filter{constructor(E){super(m$1,s$1),this.time=0,this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,i$3.defaults,E)}apply(E,I,B,U){var V,X;this.uniforms.dimensions[0]=(V=I.filterFrame)==null?void 0:V.width,this.uniforms.dimensions[1]=(X=I.filterFrame)==null?void 0:X.height,this.uniforms.time=this.time,E.applyFilter(this,I,B,U)}set mirror(E){this.uniforms.mirror=E}get mirror(){return this.uniforms.mirror}set boundary(E){this.uniforms.boundary=E}get boundary(){return this.uniforms.boundary}set amplitude(E){this.uniforms.amplitude[0]=E[0],this.uniforms.amplitude[1]=E[1]}get amplitude(){return this.uniforms.amplitude}set waveLength(E){this.uniforms.waveLength[0]=E[0],this.uniforms.waveLength[1]=E[1]}get waveLength(){return this.uniforms.waveLength}set alpha(E){this.uniforms.alpha[0]=E[0],this.uniforms.alpha[1]=E[1]}get alpha(){return this.uniforms.alpha}};let o$1=i$3;o$1.defaults={mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0};var s=`attribute vec2 aVertexPosition;
1631
- attribute vec2 aTextureCoord;
1632
-
1633
- uniform mat3 projectionMatrix;
1634
-
1635
- varying vec2 vTextureCoord;
1636
-
1637
- void main(void)
1638
- {
1639
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1640
- vTextureCoord = aTextureCoord;
1641
- }`,f$1=`varying vec2 vTextureCoord;
1642
- uniform sampler2D uSampler;
1643
- uniform vec4 filterArea;
1644
- uniform vec4 filterClamp;
1645
-
1646
- uniform vec2 center;
1647
-
1648
- uniform float amplitude;
1649
- uniform float wavelength;
1650
- // uniform float power;
1651
- uniform float brightness;
1652
- uniform float speed;
1653
- uniform float radius;
1654
-
1655
- uniform float time;
1656
-
1657
- const float PI = 3.14159;
1658
-
1659
- void main()
1660
- {
1661
- float halfWavelength = wavelength * 0.5 / filterArea.x;
1662
- float maxRadius = radius / filterArea.x;
1663
- float currentRadius = time * speed / filterArea.x;
1664
-
1665
- float fade = 1.0;
1666
-
1667
- if (maxRadius > 0.0) {
1668
- if (currentRadius > maxRadius) {
1669
- gl_FragColor = texture2D(uSampler, vTextureCoord);
1670
- return;
1671
- }
1672
- fade = 1.0 - pow(currentRadius / maxRadius, 2.0);
1673
- }
1674
-
1675
- vec2 dir = vec2(vTextureCoord - center / filterArea.xy);
1676
- dir.y *= filterArea.y / filterArea.x;
1677
- float dist = length(dir);
1678
-
1679
- if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {
1680
- gl_FragColor = texture2D(uSampler, vTextureCoord);
1681
- return;
1682
- }
1683
-
1684
- vec2 diffUV = normalize(dir);
1685
-
1686
- float diff = (dist - currentRadius) / halfWavelength;
1687
-
1688
- float p = 1.0 - pow(abs(diff), 2.0);
1689
-
1690
- // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade );
1691
- float powDiff = 1.25 * sin(diff * PI) * p * ( amplitude * fade );
1692
-
1693
- vec2 offset = diffUV * powDiff / filterArea.xy;
1694
-
1695
- // Do clamp :
1696
- vec2 coord = vTextureCoord + offset;
1697
- vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);
1698
- vec4 color = texture2D(uSampler, clampedCoord);
1699
- if (coord != clampedCoord) {
1700
- color *= max(0.0, 1.0 - length(coord - clampedCoord));
1701
- }
1702
-
1703
- // No clamp :
1704
- // gl_FragColor = texture2D(uSampler, vTextureCoord + offset);
1705
-
1706
- color.rgb *= 1.0 + (brightness - 1.0) * p * fade;
1707
-
1708
- gl_FragColor = color;
1709
- }
1710
- `;const n$1=class extends Filter{constructor(E=[0,0],I,B=0){super(s,f$1),this.center=E,Object.assign(this,n$1.defaults,I),this.time=B}apply(E,I,B,U){this.uniforms.time=this.time,E.applyFilter(this,I,B,U)}get center(){return this.uniforms.center}set center(E){this.uniforms.center=E}get amplitude(){return this.uniforms.amplitude}set amplitude(E){this.uniforms.amplitude=E}get wavelength(){return this.uniforms.wavelength}set wavelength(E){this.uniforms.wavelength=E}get brightness(){return this.uniforms.brightness}set brightness(E){this.uniforms.brightness=E}get speed(){return this.uniforms.speed}set speed(E){this.uniforms.speed=E}get radius(){return this.uniforms.radius}set radius(E){this.uniforms.radius=E}};let i$2=n$1;i$2.defaults={amplitude:30,wavelength:160,brightness:1,speed:500,radius:-1};var m=`attribute vec2 aVertexPosition;
1711
- attribute vec2 aTextureCoord;
1712
-
1713
- uniform mat3 projectionMatrix;
1714
-
1715
- varying vec2 vTextureCoord;
1716
-
1717
- void main(void)
1718
- {
1719
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1720
- vTextureCoord = aTextureCoord;
1721
- }`,c$1=`varying vec2 vTextureCoord;
1722
-
1723
- uniform sampler2D uSampler;
1724
- uniform float blur;
1725
- uniform float gradientBlur;
1726
- uniform vec2 start;
1727
- uniform vec2 end;
1728
- uniform vec2 delta;
1729
- uniform vec2 texSize;
1730
-
1731
- float random(vec3 scale, float seed)
1732
- {
1733
- return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);
1734
- }
1735
-
1736
- void main(void)
1737
- {
1738
- vec4 color = vec4(0.0);
1739
- float total = 0.0;
1740
-
1741
- float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);
1742
- vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));
1743
- float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;
1744
-
1745
- for (float t = -30.0; t <= 30.0; t++)
1746
- {
1747
- float percent = (t + offset - 0.5) / 30.0;
1748
- float weight = 1.0 - abs(percent);
1749
- vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);
1750
- sample.rgb *= sample.a;
1751
- color += sample * weight;
1752
- total += weight;
1753
- }
1754
-
1755
- color /= total;
1756
- color.rgb /= color.a + 0.00001;
1757
-
1758
- gl_FragColor = color;
1759
- }
1760
- `;let l$1=class extends Filter{constructor(E){var I,B;super(m,c$1),this.uniforms.blur=E.blur,this.uniforms.gradientBlur=E.gradientBlur,this.uniforms.start=(I=E.start)!=null?I:new Point(0,window.innerHeight/2),this.uniforms.end=(B=E.end)!=null?B:new Point(600,window.innerHeight/2),this.uniforms.delta=new Point(30,30),this.uniforms.texSize=new Point(window.innerWidth,window.innerHeight),this.updateDelta()}updateDelta(){this.uniforms.delta.x=0,this.uniforms.delta.y=0}get blur(){return this.uniforms.blur}set blur(E){this.uniforms.blur=E}get gradientBlur(){return this.uniforms.gradientBlur}set gradientBlur(E){this.uniforms.gradientBlur=E}get start(){return this.uniforms.start}set start(E){this.uniforms.start=E,this.updateDelta()}get end(){return this.uniforms.end}set end(E){this.uniforms.end=E,this.updateDelta()}},a$2=class extends l$1{updateDelta(){const E=this.uniforms.end.x-this.uniforms.start.x,I=this.uniforms.end.y-this.uniforms.start.y,B=Math.sqrt(E*E+I*I);this.uniforms.delta.x=E/B,this.uniforms.delta.y=I/B}},u$1=class extends l$1{updateDelta(){const E=this.uniforms.end.x-this.uniforms.start.x,I=this.uniforms.end.y-this.uniforms.start.y,B=Math.sqrt(E*E+I*I);this.uniforms.delta.x=-I/B,this.uniforms.delta.y=E/B}};const d$1=class extends Filter{constructor(E,I,B,U){super(),typeof E=="number"&&(deprecation("5.3.0","TiltShiftFilter constructor arguments is deprecated, use options."),E={blur:E,gradientBlur:I,start:B,end:U}),E=Object.assign({},d$1.defaults,E),this.tiltShiftXFilter=new a$2(E),this.tiltShiftYFilter=new u$1(E)}apply(E,I,B,U){const V=E.getFilterTexture();this.tiltShiftXFilter.apply(E,I,V,1),this.tiltShiftYFilter.apply(E,V,B,U),E.returnFilterTexture(V)}get blur(){return this.tiltShiftXFilter.blur}set blur(E){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=E}get gradientBlur(){return this.tiltShiftXFilter.gradientBlur}set gradientBlur(E){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=E}get start(){return this.tiltShiftXFilter.start}set start(E){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=E}get end(){return this.tiltShiftXFilter.end}set end(E){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=E}};let h=d$1;h.defaults={blur:100,gradientBlur:600,start:void 0,end:void 0};var i$1=`attribute vec2 aVertexPosition;
1761
- attribute vec2 aTextureCoord;
1762
-
1763
- uniform mat3 projectionMatrix;
1764
-
1765
- varying vec2 vTextureCoord;
1766
-
1767
- void main(void)
1768
- {
1769
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1770
- vTextureCoord = aTextureCoord;
1771
- }`,a$1=`varying vec2 vTextureCoord;
1772
-
1773
- uniform sampler2D uSampler;
1774
- uniform float radius;
1775
- uniform float angle;
1776
- uniform vec2 offset;
1777
- uniform vec4 filterArea;
1778
-
1779
- vec2 mapCoord( vec2 coord )
1780
- {
1781
- coord *= filterArea.xy;
1782
- coord += filterArea.zw;
1783
-
1784
- return coord;
1785
- }
1786
-
1787
- vec2 unmapCoord( vec2 coord )
1788
- {
1789
- coord -= filterArea.zw;
1790
- coord /= filterArea.xy;
1791
-
1792
- return coord;
1793
- }
1794
-
1795
- vec2 twist(vec2 coord)
1796
- {
1797
- coord -= offset;
1798
-
1799
- float dist = length(coord);
1800
-
1801
- if (dist < radius)
1802
- {
1803
- float ratioDist = (radius - dist) / radius;
1804
- float angleMod = ratioDist * ratioDist * angle;
1805
- float s = sin(angleMod);
1806
- float c = cos(angleMod);
1807
- coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);
1808
- }
1809
-
1810
- coord += offset;
1811
-
1812
- return coord;
1813
- }
1814
-
1815
- void main(void)
1816
- {
1817
-
1818
- vec2 coord = mapCoord(vTextureCoord);
1819
-
1820
- coord = twist(coord);
1821
-
1822
- coord = unmapCoord(coord);
1823
-
1824
- gl_FragColor = texture2D(uSampler, coord );
1825
-
1826
- }
1827
- `;const n=class extends Filter{constructor(C){super(i$1,a$1),Object.assign(this,n.defaults,C)}get offset(){return this.uniforms.offset}set offset(C){this.uniforms.offset=C}get radius(){return this.uniforms.radius}set radius(C){this.uniforms.radius=C}get angle(){return this.uniforms.angle}set angle(C){this.uniforms.angle=C}};let r=n;r.defaults={radius:200,angle:4,padding:20,offset:new Point};var l=`attribute vec2 aVertexPosition;
1828
- attribute vec2 aTextureCoord;
1829
-
1830
- uniform mat3 projectionMatrix;
1831
-
1832
- varying vec2 vTextureCoord;
1833
-
1834
- void main(void)
1835
- {
1836
- gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
1837
- vTextureCoord = aTextureCoord;
1838
- }`,u=`varying vec2 vTextureCoord;
1839
- uniform sampler2D uSampler;
1840
- uniform vec4 filterArea;
1841
-
1842
- uniform vec2 uCenter;
1843
- uniform float uStrength;
1844
- uniform float uInnerRadius;
1845
- uniform float uRadius;
1846
-
1847
- const float MAX_KERNEL_SIZE = \${maxKernelSize};
1848
-
1849
- // author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/
1850
- highp float rand(vec2 co, float seed) {
1851
- const highp float a = 12.9898, b = 78.233, c = 43758.5453;
1852
- highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);
1853
- return fract(sin(sn) * c + seed);
1854
- }
1855
-
1856
- void main() {
1857
-
1858
- float minGradient = uInnerRadius * 0.3;
1859
- float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x;
1860
-
1861
- float gradient = uRadius * 0.3;
1862
- float radius = (uRadius - gradient * 0.5) / filterArea.x;
1863
-
1864
- float countLimit = MAX_KERNEL_SIZE;
1865
-
1866
- vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord);
1867
- float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x));
1868
-
1869
- float strength = uStrength;
1870
-
1871
- float delta = 0.0;
1872
- float gap;
1873
- if (dist < innerRadius) {
1874
- delta = innerRadius - dist;
1875
- gap = minGradient;
1876
- } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity
1877
- delta = dist - radius;
1878
- gap = gradient;
1879
- }
1880
-
1881
- if (delta > 0.0) {
1882
- float normalCount = gap / filterArea.x;
1883
- delta = (normalCount - delta) / normalCount;
1884
- countLimit *= delta;
1885
- strength *= delta;
1886
- if (countLimit < 1.0)
1887
- {
1888
- gl_FragColor = texture2D(uSampler, vTextureCoord);
1889
- return;
1890
- }
1891
- }
1892
-
1893
- // randomize the lookup values to hide the fixed number of samples
1894
- float offset = rand(vTextureCoord, 0.0);
1895
-
1896
- float total = 0.0;
1897
- vec4 color = vec4(0.0);
1898
-
1899
- dir *= strength;
1900
-
1901
- for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {
1902
- float percent = (t + offset) / MAX_KERNEL_SIZE;
1903
- float weight = 4.0 * (percent - percent * percent);
1904
- vec2 p = vTextureCoord + dir * percent;
1905
- vec4 sample = texture2D(uSampler, p);
1906
-
1907
- // switch to pre-multiplied alpha to correctly blur transparent images
1908
- // sample.rgb *= sample.a;
1909
-
1910
- color += sample * weight;
1911
- total += weight;
1912
-
1913
- if (t > countLimit){
1914
- break;
1915
- }
1916
- }
1917
-
1918
- color /= total;
1919
- // switch back from pre-multiplied alpha
1920
- // color.rgb /= color.a + 0.00001;
1921
-
1922
- gl_FragColor = color;
1923
- }
1924
- `,i=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,c=(C,E)=>{var I={};for(var B in C)d.call(C,B)&&E.indexOf(B)<0&&(I[B]=C[B]);if(C!=null&&i)for(var B of i(C))E.indexOf(B)<0&&f.call(C,B)&&(I[B]=C[B]);return I};const a=class extends Filter{constructor(C){const E=Object.assign(a.defaults,C),{maxKernelSize:I}=E,B=c(E,["maxKernelSize"]);super(l,u.replace("${maxKernelSize}",I.toFixed(1))),Object.assign(this,B)}get center(){return this.uniforms.uCenter}set center(C){this.uniforms.uCenter=C}get strength(){return this.uniforms.uStrength}set strength(C){this.uniforms.uStrength=C}get innerRadius(){return this.uniforms.uInnerRadius}set innerRadius(C){this.uniforms.uInnerRadius=C}get radius(){return this.uniforms.uRadius}set radius(C){(C<0||C===1/0)&&(C=-1),this.uniforms.uRadius=C}};let o=a;o.defaults={strength:.1,center:[0,0],innerRadius:0,radius:-1,maxKernelSize:32};const withFiltersHook=C=>{const{contrast:E=1,saturation:I=1,brightness:B=1,alpha:U=1,red:V=1,blue:X=1,gamma:Y=1,green:K=1,blurRadius:_e=0,temperature:xe=0,hue:Z=0,sharpness:J=0,vignette:Se=0,noise:Te=0}=C||{},Ae=new PIXI__namespace.Filter(null,`
1925
- precision mediump float;
1926
- varying vec2 vTextureCoord;
1927
- uniform sampler2D uSampler;
1928
- uniform float temperature;
1929
-
1930
- void main() {
1931
- vec4 color = texture2D(uSampler, vTextureCoord);
1932
- color.r = color.r + (temperature / 100.0);
1933
- color.b = color.b - (temperature / 100.0);
1934
- gl_FragColor = color;
1935
- }
1936
- `);Ae.uniforms.temperature=xe;const Me=new n$3([0,-J,0,-J,1+4*J,-J,0,-J,0]),Ee=new PIXI__namespace.filters.ColorMatrixFilter;Ee.hue(Z,!1);const we=new _$1(_e,1,!0),Pe=new r$2({vignetting:Se}),Ie=new PIXI__namespace.filters.NoiseFilter(Te);return{adjustmentFilter:new s$4({...Y&&{gamma:Y},...B&&{brightness:B},...E&&{contrast:E},...I&&{saturation:I},...V&&{red:V},...K&&{green:K},...X&&{blue:X},...U&&{alpha:U}}),blurFilter:we,hueFilter:Ee,sharpnessFilter:Me,temperatureFilter:Ae,vignetteFilter:Pe,noiseFilter:Ie}},withEffectsHooks=()=>{const C=new PIXI__namespace.Filter(null,`
1937
- precision mediump float;
1938
- uniform mat3 uNightVisionMatrix;
1939
- varying vec2 vTextureCoord;
1940
- uniform sampler2D uSampler;
1941
-
1942
- void main(void) {
1943
- vec4 texColor = texture2D(uSampler, vTextureCoord);
1944
- vec3 color = texColor.rgb;
1945
- gl_FragColor = vec4(uNightVisionMatrix * vec3(color), texColor.a);
1946
- }
1947
- `),E=[.393,.769,.189,.349,.686,.168,.272,.534,.131];C.uniforms.uNightVisionMatrix=E;const I=new PIXI__namespace.Filter(null,`
1948
- precision mediump float;
1949
- varying vec2 vTextureCoord;
1950
- uniform sampler2D uSampler;
1951
- uniform vec4 vignetteColor;
1952
- uniform float vignetteSize;
1953
- uniform float vignetteStrength;
1954
-
1955
- void main(void) {
1956
- vec4 texColor = texture2D(uSampler, vTextureCoord);
1957
- vec2 delta = vTextureCoord - vec2(0.5);
1958
- float vignette = 1.0 - smoothstep(vignetteSize, 0.5, length(delta));
1959
- gl_FragColor = texColor * vignetteColor * vignetteStrength * vignette;
1960
- }
1961
- `);return I.uniforms.vignetteColor=[0,0,0,1],I.uniforms.vignetteSize=.7,I.uniforms.vignetteStrength=.6,{nightVisionFilter:C,vignetteFilter:I}},PixiImageSprite=React__namespace.forwardRef((C,E)=>{const I=React.useRef(null),B=React.useRef(null),{src:U,visible:V,disabled:X,transformation:{x:Y,y:K,width:_e,height:xe,anchor:Z,colorCorrection:J={},effect:Se},pointerdown:Te}=C,{blurRadius:Ae=0,vignette:Me=0,noise:Ee=0}=J,{temperatureFilter:we,sharpnessFilter:Pe,hueFilter:Ie,blurFilter:Fe,adjustmentFilter:Oe,vignetteFilter:$e,noiseFilter:Le}=withFiltersHook(J),{nightVisionFilter:Ue}=withEffectsHooks();return React__namespace.useEffect(()=>()=>{console.log("PixiImageSprite unmounting")},[]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,children:jsxRuntimeExports.jsx(react.Container,{ref:B,children:jsxRuntimeExports.jsx(react.Sprite,{image:U,width:_e,height:xe,anchor:Z,ref:I,alpha:V?1:0,x:Y,y:K,...!X&&V&&{interactive:!0,pointerdown:Te},filters:[we,Pe,Ie,Oe,...Ae>0?[Fe]:[],...Se===Effects.NightVision?[Ue]:[],...Me>0?[$e]:[],...Ee>0?[Le]:[]]})})})});PixiImageSprite.whyDidYouRender={logOnDifferentValues:!0,customName:"ImageSprite"};const buildCircle={build(C){const E=C.points;let I,B,U,V,X,Y;if(C.type===SHAPES.CIRC){const Te=C.shape;I=Te.x,B=Te.y,X=Y=Te.radius,U=V=0}else if(C.type===SHAPES.ELIP){const Te=C.shape;I=Te.x,B=Te.y,X=Te.width,Y=Te.height,U=V=0}else{const Te=C.shape,Ae=Te.width/2,Me=Te.height/2;I=Te.x+Ae,B=Te.y+Me,X=Y=Math.max(0,Math.min(Te.radius,Math.min(Ae,Me))),U=Ae-X,V=Me-Y}if(!(X>=0&&Y>=0&&U>=0&&V>=0)){E.length=0;return}const K=Math.ceil(2.3*Math.sqrt(X+Y)),_e=K*8+(U?4:0)+(V?4:0);if(E.length=_e,_e===0)return;if(K===0){E.length=8,E[0]=E[6]=I+U,E[1]=E[3]=B+V,E[2]=E[4]=I-U,E[5]=E[7]=B-V;return}let xe=0,Z=K*4+(U?2:0)+2,J=Z,Se=_e;{const Te=U+X,Ae=V,Me=I+Te,Ee=I-Te,we=B+Ae;if(E[xe++]=Me,E[xe++]=we,E[--Z]=we,E[--Z]=Ee,V){const Pe=B-Ae;E[J++]=Ee,E[J++]=Pe,E[--Se]=Pe,E[--Se]=Me}}for(let Te=1;Te<K;Te++){const Ae=Math.PI/2*(Te/K),Me=U+Math.cos(Ae)*X,Ee=V+Math.sin(Ae)*Y,we=I+Me,Pe=I-Me,Ie=B+Ee,Fe=B-Ee;E[xe++]=we,E[xe++]=Ie,E[--Z]=Ie,E[--Z]=Pe,E[J++]=Pe,E[J++]=Fe,E[--Se]=Fe,E[--Se]=we}{const Te=U,Ae=V+Y,Me=I+Te,Ee=I-Te,we=B+Ae,Pe=B-Ae;E[xe++]=Me,E[xe++]=we,E[--Se]=Pe,E[--Se]=Me,U&&(E[xe++]=Ee,E[xe++]=we,E[--Se]=Pe,E[--Se]=Ee)}},triangulate(C,E){const I=C.points,B=E.points,U=E.indices;if(I.length===0)return;let V=B.length/2;const X=V;let Y,K;if(C.type!==SHAPES.RREC){const xe=C.shape;Y=xe.x,K=xe.y}else{const xe=C.shape;Y=xe.x+xe.width/2,K=xe.y+xe.height/2}const _e=C.matrix;B.push(C.matrix?_e.a*Y+_e.c*K+_e.tx:Y,C.matrix?_e.b*Y+_e.d*K+_e.ty:K),V++,B.push(I[0],I[1]);for(let xe=2;xe<I.length;xe+=2)B.push(I[xe],I[xe+1]),U.push(V++,X,V);U.push(X+1,X,V)}};function fixOrientation(C,E=!1){const I=C.length;if(I<6)return;let B=0;for(let U=0,V=C[I-2],X=C[I-1];U<I;U+=2){const Y=C[U],K=C[U+1];B+=(Y-V)*(K+X),V=Y,X=K}if(!E&&B>0||E&&B<=0){const U=I/2;for(let V=U+U%2;V<I;V+=2){const X=I-V-2,Y=I-V-1,K=V,_e=V+1;[C[X],C[K]]=[C[K],C[X]],[C[Y],C[_e]]=[C[_e],C[Y]]}}}const buildPoly={build(C){C.points=C.shape.points.slice()},triangulate(C,E){let I=C.points;const B=C.holes,U=E.points,V=E.indices;if(I.length>=6){fixOrientation(I,!1);const X=[];for(let _e=0;_e<B.length;_e++){const xe=B[_e];fixOrientation(xe.points,!0),X.push(I.length/2),I=I.concat(xe.points)}const Y=earcut$1(I,X,2);if(!Y)return;const K=U.length/2;for(let _e=0;_e<Y.length;_e+=3)V.push(Y[_e]+K),V.push(Y[_e+1]+K),V.push(Y[_e+2]+K);for(let _e=0;_e<I.length;_e++)U.push(I[_e])}}},buildRectangle={build(C){const E=C.shape,I=E.x,B=E.y,U=E.width,V=E.height,X=C.points;X.length=0,U>=0&&V>=0&&X.push(I,B,I+U,B,I+U,B+V,I,B+V)},triangulate(C,E){const I=C.points,B=E.points;if(I.length===0)return;const U=B.length/2;B.push(I[0],I[1],I[2],I[3],I[6],I[7],I[4],I[5]),E.indices.push(U,U+1,U+2,U+1,U+2,U+3)}},buildRoundedRectangle={build(C){buildCircle.build(C)},triangulate(C,E){buildCircle.triangulate(C,E)}};var LINE_JOIN=(C=>(C.MITER="miter",C.BEVEL="bevel",C.ROUND="round",C))(LINE_JOIN||{}),LINE_CAP=(C=>(C.BUTT="butt",C.ROUND="round",C.SQUARE="square",C))(LINE_CAP||{});const curves={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount(C,E=20){if(!this.adaptive||!C||isNaN(C))return E;let I=Math.ceil(C/this.maxLength);return I<this.minSegments?I=this.minSegments:I>this.maxSegments&&(I=this.maxSegments),I}};class ArcUtils{static curveTo(E,I,B,U,V,X){const Y=X[X.length-2],_e=X[X.length-1]-I,xe=Y-E,Z=U-I,J=B-E,Se=Math.abs(_e*J-xe*Z);if(Se<1e-8||V===0)return(X[X.length-2]!==E||X[X.length-1]!==I)&&X.push(E,I),null;const Te=_e*_e+xe*xe,Ae=Z*Z+J*J,Me=_e*Z+xe*J,Ee=V*Math.sqrt(Te)/Se,we=V*Math.sqrt(Ae)/Se,Pe=Ee*Me/Te,Ie=we*Me/Ae,Fe=Ee*J+we*xe,Oe=Ee*Z+we*_e,$e=xe*(we+Pe),Le=_e*(we+Pe),Ue=J*(Ee+Ie),He=Z*(Ee+Ie),We=Math.atan2(Le-Oe,$e-Fe),je=Math.atan2(He-Oe,Ue-Fe);return{cx:Fe+E,cy:Oe+I,radius:V,startAngle:We,endAngle:je,anticlockwise:xe*Z>J*_e}}static arc(E,I,B,U,V,X,Y,K,_e){const xe=Y-X,Z=curves._segmentsCount(Math.abs(xe)*V,Math.ceil(Math.abs(xe)/PI_2)*40),J=xe/(Z*2),Se=J*2,Te=Math.cos(J),Ae=Math.sin(J),Me=Z-1,Ee=Me%1/Me;for(let we=0;we<=Me;++we){const Pe=we+Ee*we,Ie=J+X+Se*Pe,Fe=Math.cos(Ie),Oe=-Math.sin(Ie);_e.push((Te*Fe+Ae*Oe)*V+B,(Te*-Oe+Ae*Fe)*V+U)}}}class BatchPart{constructor(){this.reset()}begin(E,I,B){this.reset(),this.style=E,this.start=I,this.attribStart=B}end(E,I){this.attribSize=I-this.attribStart,this.size=E-this.start}reset(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0}}class BezierUtils{static curveLength(E,I,B,U,V,X,Y,K){let xe=0,Z=0,J=0,Se=0,Te=0,Ae=0,Me=0,Ee=0,we=0,Pe=0,Ie=0,Fe=E,Oe=I;for(let $e=1;$e<=10;++$e)Z=$e/10,J=Z*Z,Se=J*Z,Te=1-Z,Ae=Te*Te,Me=Ae*Te,Ee=Me*E+3*Ae*Z*B+3*Te*J*V+Se*Y,we=Me*I+3*Ae*Z*U+3*Te*J*X+Se*K,Pe=Fe-Ee,Ie=Oe-we,Fe=Ee,Oe=we,xe+=Math.sqrt(Pe*Pe+Ie*Ie);return xe}static curveTo(E,I,B,U,V,X,Y){const K=Y[Y.length-2],_e=Y[Y.length-1];Y.length-=2;const xe=curves._segmentsCount(BezierUtils.curveLength(K,_e,E,I,B,U,V,X));let Z=0,J=0,Se=0,Te=0,Ae=0;Y.push(K,_e);for(let Me=1,Ee=0;Me<=xe;++Me)Ee=Me/xe,Z=1-Ee,J=Z*Z,Se=J*Z,Te=Ee*Ee,Ae=Te*Ee,Y.push(Se*K+3*J*Ee*E+3*Z*Te*B+Ae*V,Se*_e+3*J*Ee*I+3*Z*Te*U+Ae*X)}}function square(C,E,I,B,U,V,X,Y){const K=C-I*U,_e=E-B*U,xe=C+I*V,Z=E+B*V;let J,Se;X?(J=B,Se=-I):(J=-B,Se=I);const Te=K+J,Ae=_e+Se,Me=xe+J,Ee=Z+Se;return Y.push(Te,Ae,Me,Ee),2}function round(C,E,I,B,U,V,X,Y){const K=I-C,_e=B-E;let xe=Math.atan2(K,_e),Z=Math.atan2(U-C,V-E);Y&&xe<Z?xe+=Math.PI*2:!Y&&xe>Z&&(Z+=Math.PI*2);let J=xe;const Se=Z-xe,Te=Math.abs(Se),Ae=Math.sqrt(K*K+_e*_e),Me=(15*Te*Math.sqrt(Ae)/Math.PI>>0)+1,Ee=Se/Me;if(J+=Ee,Y){X.push(C,E,I,B);for(let we=1,Pe=J;we<Me;we++,Pe+=Ee)X.push(C,E,C+Math.sin(Pe)*Ae,E+Math.cos(Pe)*Ae);X.push(C,E,U,V)}else{X.push(I,B,C,E);for(let we=1,Pe=J;we<Me;we++,Pe+=Ee)X.push(C+Math.sin(Pe)*Ae,E+Math.cos(Pe)*Ae,C,E);X.push(U,V,C,E)}return Me*2}function buildNonNativeLine(C,E){const I=C.shape;let B=C.points||I.points.slice();const U=E.closePointEps;if(B.length===0)return;const V=C.lineStyle,X=new Point(B[0],B[1]),Y=new Point(B[B.length-2],B[B.length-1]),K=I.type!==SHAPES.POLY||I.closeStroke,_e=Math.abs(X.x-Y.x)<U&&Math.abs(X.y-Y.y)<U;if(K){B=B.slice(),_e&&(B.pop(),B.pop(),Y.set(B[B.length-2],B[B.length-1]));const Be=(X.x+Y.x)*.5,Re=(Y.y+X.y)*.5;B.unshift(Be,Re),B.push(Be,Re)}const xe=E.points,Z=B.length/2;let J=B.length;const Se=xe.length/2,Te=V.width/2,Ae=Te*Te,Me=V.miterLimit*V.miterLimit;let Ee=B[0],we=B[1],Pe=B[2],Ie=B[3],Fe=0,Oe=0,$e=-(we-Ie),Le=Ee-Pe,Ue=0,He=0,We=Math.sqrt($e*$e+Le*Le);$e/=We,Le/=We,$e*=Te,Le*=Te;const je=V.alignment,Ve=(1-je)*2,ze=je*2;K||(V.cap===LINE_CAP.ROUND?J+=round(Ee-$e*(Ve-ze)*.5,we-Le*(Ve-ze)*.5,Ee-$e*Ve,we-Le*Ve,Ee+$e*ze,we+Le*ze,xe,!0)+2:V.cap===LINE_CAP.SQUARE&&(J+=square(Ee,we,$e,Le,Ve,ze,!0,xe))),xe.push(Ee-$e*Ve,we-Le*Ve,Ee+$e*ze,we+Le*ze);for(let Be=1;Be<Z-1;++Be){Ee=B[(Be-1)*2],we=B[(Be-1)*2+1],Pe=B[Be*2],Ie=B[Be*2+1],Fe=B[(Be+1)*2],Oe=B[(Be+1)*2+1],$e=-(we-Ie),Le=Ee-Pe,We=Math.sqrt($e*$e+Le*Le),$e/=We,Le/=We,$e*=Te,Le*=Te,Ue=-(Ie-Oe),He=Pe-Fe,We=Math.sqrt(Ue*Ue+He*He),Ue/=We,He/=We,Ue*=Te,He*=Te;const Re=Pe-Ee,ke=we-Ie,Ge=Pe-Fe,Ne=Oe-Ie,qe=Re*Ge+ke*Ne,Ye=ke*Ge-Ne*Re,Ke=Ye<0;if(Math.abs(Ye)<.001*Math.abs(qe)){xe.push(Pe-$e*Ve,Ie-Le*Ve,Pe+$e*ze,Ie+Le*ze),qe>=0&&(V.join===LINE_JOIN.ROUND?J+=round(Pe,Ie,Pe-$e*Ve,Ie-Le*Ve,Pe-Ue*Ve,Ie-He*Ve,xe,!1)+4:J+=2,xe.push(Pe-Ue*ze,Ie-He*ze,Pe+Ue*Ve,Ie+He*Ve));continue}const rt=(-$e+Ee)*(-Le+Ie)-(-$e+Pe)*(-Le+we),it=(-Ue+Fe)*(-He+Ie)-(-Ue+Pe)*(-He+Oe),Qe=(Re*it-Ge*rt)/Ye,st=(Ne*rt-ke*it)/Ye,at=(Qe-Pe)*(Qe-Pe)+(st-Ie)*(st-Ie),Ze=Pe+(Qe-Pe)*Ve,et=Ie+(st-Ie)*Ve,nt=Pe-(Qe-Pe)*ze,tt=Ie-(st-Ie)*ze,Je=Math.min(Re*Re+ke*ke,Ge*Ge+Ne*Ne),ot=Ke?Ve:ze,lt=Je+ot*ot*Ae,ht=at<=lt;let ct=V.join;if(ct===LINE_JOIN.MITER&&at/Ae>Me&&(ct=LINE_JOIN.BEVEL),ht)switch(ct){case LINE_JOIN.MITER:{xe.push(Ze,et,nt,tt);break}case LINE_JOIN.BEVEL:{Ke?xe.push(Ze,et,Pe+$e*ze,Ie+Le*ze,Ze,et,Pe+Ue*ze,Ie+He*ze):xe.push(Pe-$e*Ve,Ie-Le*Ve,nt,tt,Pe-Ue*Ve,Ie-He*Ve,nt,tt),J+=2;break}case LINE_JOIN.ROUND:{Ke?(xe.push(Ze,et,Pe+$e*ze,Ie+Le*ze),J+=round(Pe,Ie,Pe+$e*ze,Ie+Le*ze,Pe+Ue*ze,Ie+He*ze,xe,!0)+4,xe.push(Ze,et,Pe+Ue*ze,Ie+He*ze)):(xe.push(Pe-$e*Ve,Ie-Le*Ve,nt,tt),J+=round(Pe,Ie,Pe-$e*Ve,Ie-Le*Ve,Pe-Ue*Ve,Ie-He*Ve,xe,!1)+4,xe.push(Pe-Ue*Ve,Ie-He*Ve,nt,tt));break}}else{switch(xe.push(Pe-$e*Ve,Ie-Le*Ve,Pe+$e*ze,Ie+Le*ze),ct){case LINE_JOIN.MITER:{Ke?xe.push(nt,tt,nt,tt):xe.push(Ze,et,Ze,et),J+=2;break}case LINE_JOIN.ROUND:{Ke?J+=round(Pe,Ie,Pe+$e*ze,Ie+Le*ze,Pe+Ue*ze,Ie+He*ze,xe,!0)+2:J+=round(Pe,Ie,Pe-$e*Ve,Ie-Le*Ve,Pe-Ue*Ve,Ie-He*Ve,xe,!1)+2;break}}xe.push(Pe-Ue*Ve,Ie-He*Ve,Pe+Ue*ze,Ie+He*ze),J+=2}}Ee=B[(Z-2)*2],we=B[(Z-2)*2+1],Pe=B[(Z-1)*2],Ie=B[(Z-1)*2+1],$e=-(we-Ie),Le=Ee-Pe,We=Math.sqrt($e*$e+Le*Le),$e/=We,Le/=We,$e*=Te,Le*=Te,xe.push(Pe-$e*Ve,Ie-Le*Ve,Pe+$e*ze,Ie+Le*ze),K||(V.cap===LINE_CAP.ROUND?J+=round(Pe-$e*(Ve-ze)*.5,Ie-Le*(Ve-ze)*.5,Pe-$e*Ve,Ie-Le*Ve,Pe+$e*ze,Ie+Le*ze,xe,!1)+2:V.cap===LINE_CAP.SQUARE&&(J+=square(Pe,Ie,$e,Le,Ve,ze,!1,xe)));const Xe=E.indices,De=curves.epsilon*curves.epsilon;for(let Be=Se;Be<J+Se-2;++Be)Ee=xe[Be*2],we=xe[Be*2+1],Pe=xe[(Be+1)*2],Ie=xe[(Be+1)*2+1],Fe=xe[(Be+2)*2],Oe=xe[(Be+2)*2+1],!(Math.abs(Ee*(Ie-Oe)+Pe*(Oe-we)+Fe*(we-Ie))<De)&&Xe.push(Be,Be+1,Be+2)}function buildNativeLine(C,E){let I=0;const B=C.shape,U=C.points||B.points,V=B.type!==SHAPES.POLY||B.closeStroke;if(U.length===0)return;const X=E.points,Y=E.indices,K=U.length/2,_e=X.length/2;let xe=_e;for(X.push(U[0],U[1]),I=1;I<K;I++)X.push(U[I*2],U[I*2+1]),Y.push(xe,xe+1),xe++;V&&Y.push(xe,_e)}function buildLine(C,E){C.lineStyle.native?buildNativeLine(C,E):buildNonNativeLine(C,E)}class QuadraticUtils{static curveLength(E,I,B,U,V,X){const Y=E-2*B+V,K=I-2*U+X,_e=2*B-2*E,xe=2*U-2*I,Z=4*(Y*Y+K*K),J=4*(Y*_e+K*xe),Se=_e*_e+xe*xe,Te=2*Math.sqrt(Z+J+Se),Ae=Math.sqrt(Z),Me=2*Z*Ae,Ee=2*Math.sqrt(Se),we=J/Ae;return(Me*Te+Ae*J*(Te-Ee)+(4*Se*Z-J*J)*Math.log((2*Ae+we+Te)/(we+Ee)))/(4*Me)}static curveTo(E,I,B,U,V){const X=V[V.length-2],Y=V[V.length-1],K=curves._segmentsCount(QuadraticUtils.curveLength(X,Y,E,I,B,U));let _e=0,xe=0;for(let Z=1;Z<=K;++Z){const J=Z/K;_e=X+(E-X)*J,xe=Y+(I-Y)*J,V.push(_e+(E+(B-E)*J-_e)*J,xe+(I+(U-I)*J-xe)*J)}}}const FILL_COMMANDS={[SHAPES.POLY]:buildPoly,[SHAPES.CIRC]:buildCircle,[SHAPES.ELIP]:buildCircle,[SHAPES.RECT]:buildRectangle,[SHAPES.RREC]:buildRoundedRectangle},BATCH_POOL=[],DRAW_CALL_POOL=[];class Bounds{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}clear(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}getRectangle(E){return this.minX>this.maxX||this.minY>this.maxY?Rectangle.EMPTY:(E=E||new Rectangle(0,0,1,1),E.x=this.minX,E.y=this.minY,E.width=this.maxX-this.minX,E.height=this.maxY-this.minY,E)}addPoint(E){this.minX=Math.min(this.minX,E.x),this.maxX=Math.max(this.maxX,E.x),this.minY=Math.min(this.minY,E.y),this.maxY=Math.max(this.maxY,E.y)}addPointMatrix(E,I){const{a:B,b:U,c:V,d:X,tx:Y,ty:K}=E,_e=B*I.x+V*I.y+Y,xe=U*I.x+X*I.y+K;this.minX=Math.min(this.minX,_e),this.maxX=Math.max(this.maxX,_e),this.minY=Math.min(this.minY,xe),this.maxY=Math.max(this.maxY,xe)}addQuad(E){let I=this.minX,B=this.minY,U=this.maxX,V=this.maxY,X=E[0],Y=E[1];I=X<I?X:I,B=Y<B?Y:B,U=X>U?X:U,V=Y>V?Y:V,X=E[2],Y=E[3],I=X<I?X:I,B=Y<B?Y:B,U=X>U?X:U,V=Y>V?Y:V,X=E[4],Y=E[5],I=X<I?X:I,B=Y<B?Y:B,U=X>U?X:U,V=Y>V?Y:V,X=E[6],Y=E[7],I=X<I?X:I,B=Y<B?Y:B,U=X>U?X:U,V=Y>V?Y:V,this.minX=I,this.minY=B,this.maxX=U,this.maxY=V}addFrame(E,I,B,U,V){this.addFrameMatrix(E.worldTransform,I,B,U,V)}addFrameMatrix(E,I,B,U,V){const X=E.a,Y=E.b,K=E.c,_e=E.d,xe=E.tx,Z=E.ty;let J=this.minX,Se=this.minY,Te=this.maxX,Ae=this.maxY,Me=X*I+K*B+xe,Ee=Y*I+_e*B+Z;J=Me<J?Me:J,Se=Ee<Se?Ee:Se,Te=Me>Te?Me:Te,Ae=Ee>Ae?Ee:Ae,Me=X*U+K*B+xe,Ee=Y*U+_e*B+Z,J=Me<J?Me:J,Se=Ee<Se?Ee:Se,Te=Me>Te?Me:Te,Ae=Ee>Ae?Ee:Ae,Me=X*I+K*V+xe,Ee=Y*I+_e*V+Z,J=Me<J?Me:J,Se=Ee<Se?Ee:Se,Te=Me>Te?Me:Te,Ae=Ee>Ae?Ee:Ae,Me=X*U+K*V+xe,Ee=Y*U+_e*V+Z,J=Me<J?Me:J,Se=Ee<Se?Ee:Se,Te=Me>Te?Me:Te,Ae=Ee>Ae?Ee:Ae,this.minX=J,this.minY=Se,this.maxX=Te,this.maxY=Ae}addVertexData(E,I,B){let U=this.minX,V=this.minY,X=this.maxX,Y=this.maxY;for(let K=I;K<B;K+=2){const _e=E[K],xe=E[K+1];U=_e<U?_e:U,V=xe<V?xe:V,X=_e>X?_e:X,Y=xe>Y?xe:Y}this.minX=U,this.minY=V,this.maxX=X,this.maxY=Y}addVertices(E,I,B,U){this.addVerticesMatrix(E.worldTransform,I,B,U)}addVerticesMatrix(E,I,B,U,V=0,X=V){const Y=E.a,K=E.b,_e=E.c,xe=E.d,Z=E.tx,J=E.ty;let Se=this.minX,Te=this.minY,Ae=this.maxX,Me=this.maxY;for(let Ee=B;Ee<U;Ee+=2){const we=I[Ee],Pe=I[Ee+1],Ie=Y*we+_e*Pe+Z,Fe=xe*Pe+K*we+J;Se=Math.min(Se,Ie-V),Ae=Math.max(Ae,Ie+V),Te=Math.min(Te,Fe-X),Me=Math.max(Me,Fe+X)}this.minX=Se,this.minY=Te,this.maxX=Ae,this.maxY=Me}addBounds(E){const I=this.minX,B=this.minY,U=this.maxX,V=this.maxY;this.minX=E.minX<I?E.minX:I,this.minY=E.minY<B?E.minY:B,this.maxX=E.maxX>U?E.maxX:U,this.maxY=E.maxY>V?E.maxY:V}addBoundsMask(E,I){const B=E.minX>I.minX?E.minX:I.minX,U=E.minY>I.minY?E.minY:I.minY,V=E.maxX<I.maxX?E.maxX:I.maxX,X=E.maxY<I.maxY?E.maxY:I.maxY;if(B<=V&&U<=X){const Y=this.minX,K=this.minY,_e=this.maxX,xe=this.maxY;this.minX=B<Y?B:Y,this.minY=U<K?U:K,this.maxX=V>_e?V:_e,this.maxY=X>xe?X:xe}}addBoundsMatrix(E,I){this.addFrameMatrix(I,E.minX,E.minY,E.maxX,E.maxY)}addBoundsArea(E,I){const B=E.minX>I.x?E.minX:I.x,U=E.minY>I.y?E.minY:I.y,V=E.maxX<I.x+I.width?E.maxX:I.x+I.width,X=E.maxY<I.y+I.height?E.maxY:I.y+I.height;if(B<=V&&U<=X){const Y=this.minX,K=this.minY,_e=this.maxX,xe=this.maxY;this.minX=B<Y?B:Y,this.minY=U<K?U:K,this.maxX=V>_e?V:_e,this.maxY=X>xe?X:xe}}pad(E=0,I=E){this.isEmpty()||(this.minX-=E,this.maxX+=E,this.minY-=I,this.maxY+=I)}addFramePad(E,I,B,U,V,X){E-=V,I-=X,B+=V,U+=X,this.minX=this.minX<E?this.minX:E,this.maxX=this.maxX>B?this.maxX:B,this.minY=this.minY<I?this.minY:I,this.maxY=this.maxY>U?this.maxY:U}}class DisplayObject extends EventEmitter{constructor(){super(),this.tempDisplayObjectParent=null,this.transform=new Transform,this.alpha=1,this.visible=!0,this.renderable=!0,this.cullable=!1,this.cullArea=null,this.parent=null,this.worldAlpha=1,this._lastSortedIndex=0,this._zIndex=0,this.filterArea=null,this.filters=null,this._enabledFilters=null,this._bounds=new Bounds,this._localBounds=null,this._boundsID=0,this._boundsRect=null,this._localBoundsRect=null,this._mask=null,this._maskRefCount=0,this._destroyed=!1,this.isSprite=!1,this.isMask=!1}static mixin(E){const I=Object.keys(E);for(let B=0;B<I.length;++B){const U=I[B];Object.defineProperty(DisplayObject.prototype,U,Object.getOwnPropertyDescriptor(E,U))}}get destroyed(){return this._destroyed}_recursivePostUpdateTransform(){this.parent?(this.parent._recursivePostUpdateTransform(),this.transform.updateTransform(this.parent.transform)):this.transform.updateTransform(this._tempDisplayObjectParent.transform)}updateTransform(){this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha}getBounds(E,I){return E||(this.parent?(this._recursivePostUpdateTransform(),this.updateTransform()):(this.parent=this._tempDisplayObjectParent,this.updateTransform(),this.parent=null)),this._bounds.updateID!==this._boundsID&&(this.calculateBounds(),this._bounds.updateID=this._boundsID),I||(this._boundsRect||(this._boundsRect=new Rectangle),I=this._boundsRect),this._bounds.getRectangle(I)}getLocalBounds(E){E||(this._localBoundsRect||(this._localBoundsRect=new Rectangle),E=this._localBoundsRect),this._localBounds||(this._localBounds=new Bounds);const I=this.transform,B=this.parent;this.parent=null,this.transform=this._tempDisplayObjectParent.transform;const U=this._bounds,V=this._boundsID;this._bounds=this._localBounds;const X=this.getBounds(!1,E);return this.parent=B,this.transform=I,this._bounds=U,this._bounds.updateID+=this._boundsID-V,X}toGlobal(E,I,B=!1){return B||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.apply(E,I)}toLocal(E,I,B,U){return I&&(E=I.toGlobal(E,B,U)),U||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.applyInverse(E,B)}setParent(E){if(!E||!E.addChild)throw new Error("setParent: Argument must be a Container");return E.addChild(this),E}removeFromParent(){var E;(E=this.parent)==null||E.removeChild(this)}setTransform(E=0,I=0,B=1,U=1,V=0,X=0,Y=0,K=0,_e=0){return this.position.x=E,this.position.y=I,this.scale.x=B||1,this.scale.y=U||1,this.rotation=V,this.skew.x=X,this.skew.y=Y,this.pivot.x=K,this.pivot.y=_e,this}destroy(E){this.removeFromParent(),this._destroyed=!0,this.transform=null,this.parent=null,this._bounds=null,this.mask=null,this.cullArea=null,this.filters=null,this.filterArea=null,this.hitArea=null,this.eventMode="auto",this.interactiveChildren=!1,this.emit("destroyed"),this.removeAllListeners()}get _tempDisplayObjectParent(){return this.tempDisplayObjectParent===null&&(this.tempDisplayObjectParent=new TemporaryDisplayObject),this.tempDisplayObjectParent}enableTempParent(){const E=this.parent;return this.parent=this._tempDisplayObjectParent,E}disableTempParent(E){this.parent=E}get x(){return this.position.x}set x(E){this.transform.position.x=E}get y(){return this.position.y}set y(E){this.transform.position.y=E}get worldTransform(){return this.transform.worldTransform}get localTransform(){return this.transform.localTransform}get position(){return this.transform.position}set position(E){this.transform.position.copyFrom(E)}get scale(){return this.transform.scale}set scale(E){this.transform.scale.copyFrom(E)}get pivot(){return this.transform.pivot}set pivot(E){this.transform.pivot.copyFrom(E)}get skew(){return this.transform.skew}set skew(E){this.transform.skew.copyFrom(E)}get rotation(){return this.transform.rotation}set rotation(E){this.transform.rotation=E}get angle(){return this.transform.rotation*RAD_TO_DEG}set angle(E){this.transform.rotation=E*DEG_TO_RAD}get zIndex(){return this._zIndex}set zIndex(E){this._zIndex=E,this.parent&&(this.parent.sortDirty=!0)}get worldVisible(){let E=this;do{if(!E.visible)return!1;E=E.parent}while(E);return!0}get mask(){return this._mask}set mask(E){if(this._mask!==E){if(this._mask){const I=this._mask.isMaskData?this._mask.maskObject:this._mask;I&&(I._maskRefCount--,I._maskRefCount===0&&(I.renderable=!0,I.isMask=!1))}if(this._mask=E,this._mask){const I=this._mask.isMaskData?this._mask.maskObject:this._mask;I&&(I._maskRefCount===0&&(I.renderable=!1,I.isMask=!0),I._maskRefCount++)}}}}class TemporaryDisplayObject extends DisplayObject{constructor(){super(...arguments),this.sortDirty=null}}DisplayObject.prototype.displayObjectUpdateTransform=DisplayObject.prototype.updateTransform;const tempMatrix=new Matrix$2;function sortChildren(C,E){return C.zIndex===E.zIndex?C._lastSortedIndex-E._lastSortedIndex:C.zIndex-E.zIndex}const _Container=class extends DisplayObject{constructor(){super(),this.children=[],this.sortableChildren=_Container.defaultSortableChildren,this.sortDirty=!1}onChildrenChange(C){}addChild(...C){if(C.length>1)for(let E=0;E<C.length;E++)this.addChild(C[E]);else{const E=C[0];E.parent&&E.parent.removeChild(E),E.parent=this,this.sortDirty=!0,E.transform._parentID=-1,this.children.push(E),this._boundsID++,this.onChildrenChange(this.children.length-1),this.emit("childAdded",E,this,this.children.length-1),E.emit("added",this)}return C[0]}addChildAt(C,E){if(E<0||E>this.children.length)throw new Error(`${C}addChildAt: The index ${E} supplied is out of bounds ${this.children.length}`);return C.parent&&C.parent.removeChild(C),C.parent=this,this.sortDirty=!0,C.transform._parentID=-1,this.children.splice(E,0,C),this._boundsID++,this.onChildrenChange(E),C.emit("added",this),this.emit("childAdded",C,this,E),C}swapChildren(C,E){if(C===E)return;const I=this.getChildIndex(C),B=this.getChildIndex(E);this.children[I]=E,this.children[B]=C,this.onChildrenChange(I<B?I:B)}getChildIndex(C){const E=this.children.indexOf(C);if(E===-1)throw new Error("The supplied DisplayObject must be a child of the caller");return E}setChildIndex(C,E){if(E<0||E>=this.children.length)throw new Error(`The index ${E} supplied is out of bounds ${this.children.length}`);const I=this.getChildIndex(C);removeItems(this.children,I,1),this.children.splice(E,0,C),this.onChildrenChange(E)}getChildAt(C){if(C<0||C>=this.children.length)throw new Error(`getChildAt: Index (${C}) does not exist.`);return this.children[C]}removeChild(...C){if(C.length>1)for(let E=0;E<C.length;E++)this.removeChild(C[E]);else{const E=C[0],I=this.children.indexOf(E);if(I===-1)return null;E.parent=null,E.transform._parentID=-1,removeItems(this.children,I,1),this._boundsID++,this.onChildrenChange(I),E.emit("removed",this),this.emit("childRemoved",E,this,I)}return C[0]}removeChildAt(C){const E=this.getChildAt(C);return E.parent=null,E.transform._parentID=-1,removeItems(this.children,C,1),this._boundsID++,this.onChildrenChange(C),E.emit("removed",this),this.emit("childRemoved",E,this,C),E}removeChildren(C=0,E=this.children.length){const I=C,B=E,U=B-I;let V;if(U>0&&U<=B){V=this.children.splice(I,U);for(let X=0;X<V.length;++X)V[X].parent=null,V[X].transform&&(V[X].transform._parentID=-1);this._boundsID++,this.onChildrenChange(C);for(let X=0;X<V.length;++X)V[X].emit("removed",this),this.emit("childRemoved",V[X],this,X);return V}else if(U===0&&this.children.length===0)return[];throw new RangeError("removeChildren: numeric values are outside the acceptable range.")}sortChildren(){let C=!1;for(let E=0,I=this.children.length;E<I;++E){const B=this.children[E];B._lastSortedIndex=E,!C&&B.zIndex!==0&&(C=!0)}C&&this.children.length>1&&this.children.sort(sortChildren),this.sortDirty=!1}updateTransform(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(let C=0,E=this.children.length;C<E;++C){const I=this.children[C];I.visible&&I.updateTransform()}}calculateBounds(){this._bounds.clear(),this._calculateBounds();for(let C=0;C<this.children.length;C++){const E=this.children[C];if(!(!E.visible||!E.renderable))if(E.calculateBounds(),E._mask){const I=E._mask.isMaskData?E._mask.maskObject:E._mask;I?(I.calculateBounds(),this._bounds.addBoundsMask(E._bounds,I._bounds)):this._bounds.addBounds(E._bounds)}else E.filterArea?this._bounds.addBoundsArea(E._bounds,E.filterArea):this._bounds.addBounds(E._bounds)}this._bounds.updateID=this._boundsID}getLocalBounds(C,E=!1){const I=super.getLocalBounds(C);if(!E)for(let B=0,U=this.children.length;B<U;++B){const V=this.children[B];V.visible&&V.updateTransform()}return I}_calculateBounds(){}_renderWithCulling(C){const E=C.renderTexture.sourceFrame;if(!(E.width>0&&E.height>0))return;let I,B;this.cullArea?(I=this.cullArea,B=this.worldTransform):this._render!==_Container.prototype._render&&(I=this.getBounds(!0));const U=C.projection.transform;if(U&&(B?(B=tempMatrix.copyFrom(B),B.prepend(U)):B=U),I&&E.intersects(I,B))this._render(C);else if(this.cullArea)return;for(let V=0,X=this.children.length;V<X;++V){const Y=this.children[V],K=Y.cullable;Y.cullable=K||!this.cullArea,Y.render(C),Y.cullable=K}}render(C){var E;if(!(!this.visible||this.worldAlpha<=0||!this.renderable))if(this._mask||(E=this.filters)!=null&&E.length)this.renderAdvanced(C);else if(this.cullable)this._renderWithCulling(C);else{this._render(C);for(let I=0,B=this.children.length;I<B;++I)this.children[I].render(C)}}renderAdvanced(C){var U,V,X;const E=this.filters,I=this._mask;if(E){this._enabledFilters||(this._enabledFilters=[]),this._enabledFilters.length=0;for(let Y=0;Y<E.length;Y++)E[Y].enabled&&this._enabledFilters.push(E[Y])}const B=E&&((U=this._enabledFilters)==null?void 0:U.length)||I&&(!I.isMaskData||I.enabled&&(I.autoDetect||I.type!==MASK_TYPES.NONE));if(B&&C.batch.flush(),E&&((V=this._enabledFilters)!=null&&V.length)&&C.filter.push(this,this._enabledFilters),I&&C.mask.push(this,this._mask),this.cullable)this._renderWithCulling(C);else{this._render(C);for(let Y=0,K=this.children.length;Y<K;++Y)this.children[Y].render(C)}B&&C.batch.flush(),I&&C.mask.pop(this),E&&((X=this._enabledFilters)!=null&&X.length)&&C.filter.pop()}_render(C){}destroy(C){super.destroy(),this.sortDirty=!1;const E=typeof C=="boolean"?C:C==null?void 0:C.children,I=this.removeChildren(0,this.children.length);if(E)for(let B=0;B<I.length;++B)I[B].destroy(C)}get width(){return this.scale.x*this.getLocalBounds().width}set width(C){const E=this.getLocalBounds().width;E!==0?this.scale.x=C/E:this.scale.x=1,this._width=C}get height(){return this.scale.y*this.getLocalBounds().height}set height(C){const E=this.getLocalBounds().height;E!==0?this.scale.y=C/E:this.scale.y=1,this._height=C}};let Container=_Container;Container.defaultSortableChildren=!1,Container.prototype.containerUpdateTransform=Container.prototype.updateTransform,Object.defineProperties(settings,{SORTABLE_CHILDREN:{get(){return Container.defaultSortableChildren},set(C){deprecation("7.1.0","settings.SORTABLE_CHILDREN is deprecated, use Container.defaultSortableChildren"),Container.defaultSortableChildren=C}}});class GraphicsData{constructor(E,I=null,B=null,U=null){this.points=[],this.holes=[],this.shape=E,this.lineStyle=B,this.fillStyle=I,this.matrix=U,this.type=E.type}clone(){return new GraphicsData(this.shape,this.fillStyle,this.lineStyle,this.matrix)}destroy(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null}}const tmpPoint=new Point,_GraphicsGeometry=class extends BatchGeometry{constructor(){super(),this.closePointEps=1e-4,this.boundsPadding=0,this.uvsFloat32=null,this.indicesUint16=null,this.batchable=!1,this.points=[],this.colors=[],this.uvs=[],this.indices=[],this.textureIds=[],this.graphicsData=[],this.drawCalls=[],this.batchDirty=-1,this.batches=[],this.dirty=0,this.cacheDirty=-1,this.clearDirty=0,this.shapeIndex=0,this._bounds=new Bounds,this.boundsDirty=-1}get bounds(){return this.updateBatches(),this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds}invalidate(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(let C=0;C<this.drawCalls.length;C++)this.drawCalls[C].texArray.clear(),DRAW_CALL_POOL.push(this.drawCalls[C]);this.drawCalls.length=0;for(let C=0;C<this.batches.length;C++){const E=this.batches[C];E.reset(),BATCH_POOL.push(E)}this.batches.length=0}clear(){return this.graphicsData.length>0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this}drawShape(C,E=null,I=null,B=null){const U=new GraphicsData(C,E,I,B);return this.graphicsData.push(U),this.dirty++,this}drawHole(C,E=null){if(!this.graphicsData.length)return null;const I=new GraphicsData(C,null,null,E),B=this.graphicsData[this.graphicsData.length-1];return I.lineStyle=B.lineStyle,B.holes.push(I),this.dirty++,this}destroy(){super.destroy();for(let C=0;C<this.graphicsData.length;++C)this.graphicsData[C].destroy();this.points.length=0,this.points=null,this.colors.length=0,this.colors=null,this.uvs.length=0,this.uvs=null,this.indices.length=0,this.indices=null,this.indexBuffer.destroy(),this.indexBuffer=null,this.graphicsData.length=0,this.graphicsData=null,this.drawCalls.length=0,this.drawCalls=null,this.batches.length=0,this.batches=null,this._bounds=null}containsPoint(C){const E=this.graphicsData;for(let I=0;I<E.length;++I){const B=E[I];if(B.fillStyle.visible&&B.shape&&(B.matrix?B.matrix.applyInverse(C,tmpPoint):tmpPoint.copyFrom(C),B.shape.contains(tmpPoint.x,tmpPoint.y))){let U=!1;if(B.holes){for(let V=0;V<B.holes.length;V++)if(B.holes[V].shape.contains(tmpPoint.x,tmpPoint.y)){U=!0;break}}if(!U)return!0}}return!1}updateBatches(){if(!this.graphicsData.length){this.batchable=!0;return}if(!this.validateBatching())return;this.cacheDirty=this.dirty;const C=this.uvs,E=this.graphicsData;let I=null,B=null;this.batches.length>0&&(I=this.batches[this.batches.length-1],B=I.style);for(let Y=this.shapeIndex;Y<E.length;Y++){this.shapeIndex++;const K=E[Y],_e=K.fillStyle,xe=K.lineStyle;FILL_COMMANDS[K.type].build(K),K.matrix&&this.transformPoints(K.points,K.matrix),(_e.visible||xe.visible)&&this.processHoles(K.holes);for(let J=0;J<2;J++){const Se=J===0?_e:xe;if(!Se.visible)continue;const Te=Se.texture.baseTexture,Ae=this.indices.length,Me=this.points.length/2;Te.wrapMode=WRAP_MODES.REPEAT,J===0?this.processFill(K):this.processLine(K);const Ee=this.points.length/2-Me;Ee!==0&&(I&&!this._compareStyles(B,Se)&&(I.end(Ae,Me),I=null),I||(I=BATCH_POOL.pop()||new BatchPart,I.begin(Se,Ae,Me),this.batches.push(I),B=Se),this.addUvs(this.points,C,Se.texture,Me,Ee,Se.matrix))}}const U=this.indices.length,V=this.points.length/2;if(I&&I.end(U,V),this.batches.length===0){this.batchable=!0;return}const X=V>65535;this.indicesUint16&&this.indices.length===this.indicesUint16.length&&X===this.indicesUint16.BYTES_PER_ELEMENT>2?this.indicesUint16.set(this.indices):this.indicesUint16=X?new Uint32Array(this.indices):new Uint16Array(this.indices),this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}_compareStyles(C,E){return!(!C||!E||C.texture.baseTexture!==E.texture.baseTexture||C.color+C.alpha!==E.color+E.alpha||!!C.native!=!!E.native)}validateBatching(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(let C=0,E=this.graphicsData.length;C<E;C++){const I=this.graphicsData[C],B=I.fillStyle,U=I.lineStyle;if(B&&!B.texture.baseTexture.valid||U&&!U.texture.baseTexture.valid)return!1}return!0}packBatches(){this.batchDirty++,this.uvsFloat32=new Float32Array(this.uvs);const C=this.batches;for(let E=0,I=C.length;E<I;E++){const B=C[E];for(let U=0;U<B.size;U++){const V=B.start+U;this.indicesUint16[V]=this.indicesUint16[V]-B.attribStart}}}isBatchable(){if(this.points.length>65535*2)return!1;const C=this.batches;for(let E=0;E<C.length;E++)if(C[E].style.native)return!1;return this.points.length<_GraphicsGeometry.BATCHABLE_SIZE*2}buildDrawCalls(){let C=++BaseTexture._globalBatch;for(let xe=0;xe<this.drawCalls.length;xe++)this.drawCalls[xe].texArray.clear(),DRAW_CALL_POOL.push(this.drawCalls[xe]);this.drawCalls.length=0;const E=this.colors,I=this.textureIds;let B=DRAW_CALL_POOL.pop();B||(B=new BatchDrawCall,B.texArray=new BatchTextureArray),B.texArray.count=0,B.start=0,B.size=0,B.type=DRAW_MODES.TRIANGLES;let U=0,V=null,X=0,Y=!1,K=DRAW_MODES.TRIANGLES,_e=0;this.drawCalls.push(B);for(let xe=0;xe<this.batches.length;xe++){const Z=this.batches[xe],J=8,Se=Z.style,Te=Se.texture.baseTexture;Y!==!!Se.native&&(Y=!!Se.native,K=Y?DRAW_MODES.LINES:DRAW_MODES.TRIANGLES,V=null,U=J,C++),V!==Te&&(V=Te,Te._batchEnabled!==C&&(U===J&&(C++,U=0,B.size>0&&(B=DRAW_CALL_POOL.pop(),B||(B=new BatchDrawCall,B.texArray=new BatchTextureArray),this.drawCalls.push(B)),B.start=_e,B.size=0,B.texArray.count=0,B.type=K),Te.touched=1,Te._batchEnabled=C,Te._batchLocation=U,Te.wrapMode=WRAP_MODES.REPEAT,B.texArray.elements[B.texArray.count++]=Te,U++)),B.size+=Z.size,_e+=Z.size,X=Te._batchLocation,this.addColors(E,Se.color,Se.alpha,Z.attribSize,Z.attribStart),this.addTextureIds(I,X,Z.attribSize,Z.attribStart)}BaseTexture._globalBatch=C,this.packAttributes()}packAttributes(){const C=this.points,E=this.uvs,I=this.colors,B=this.textureIds,U=new ArrayBuffer(C.length*3*4),V=new Float32Array(U),X=new Uint32Array(U);let Y=0;for(let K=0;K<C.length/2;K++)V[Y++]=C[K*2],V[Y++]=C[K*2+1],V[Y++]=E[K*2],V[Y++]=E[K*2+1],X[Y++]=I[K],V[Y++]=B[K];this._buffer.update(U),this._indexBuffer.update(this.indicesUint16)}processFill(C){C.holes.length?buildPoly.triangulate(C,this):FILL_COMMANDS[C.type].triangulate(C,this)}processLine(C){buildLine(C,this);for(let E=0;E<C.holes.length;E++)buildLine(C.holes[E],this)}processHoles(C){for(let E=0;E<C.length;E++){const I=C[E];FILL_COMMANDS[I.type].build(I),I.matrix&&this.transformPoints(I.points,I.matrix)}}calculateBounds(){const C=this._bounds;C.clear(),C.addVertexData(this.points,0,this.points.length),C.pad(this.boundsPadding,this.boundsPadding)}transformPoints(C,E){for(let I=0;I<C.length/2;I++){const B=C[I*2],U=C[I*2+1];C[I*2]=E.a*B+E.c*U+E.tx,C[I*2+1]=E.b*B+E.d*U+E.ty}}addColors(C,E,I,B,U=0){const V=Color.shared.setValue(E).toLittleEndianNumber(),X=Color.shared.setValue(V).toPremultiplied(I);C.length=Math.max(C.length,U+B);for(let Y=0;Y<B;Y++)C[U+Y]=X}addTextureIds(C,E,I,B=0){C.length=Math.max(C.length,B+I);for(let U=0;U<I;U++)C[B+U]=E}addUvs(C,E,I,B,U,V=null){let X=0;const Y=E.length,K=I.frame;for(;X<U;){let xe=C[(B+X)*2],Z=C[(B+X)*2+1];if(V){const J=V.a*xe+V.c*Z+V.tx;Z=V.b*xe+V.d*Z+V.ty,xe=J}X++,E.push(xe/K.width,Z/K.height)}const _e=I.baseTexture;(K.width<_e.width||K.height<_e.height)&&this.adjustUvs(E,I,Y,U)}adjustUvs(C,E,I,B){const U=E.baseTexture,V=1e-6,X=I+B*2,Y=E.frame,K=Y.width/U.width,_e=Y.height/U.height;let xe=Y.x/Y.width,Z=Y.y/Y.height,J=Math.floor(C[I]+V),Se=Math.floor(C[I+1]+V);for(let Te=I+2;Te<X;Te+=2)J=Math.min(J,Math.floor(C[Te]+V)),Se=Math.min(Se,Math.floor(C[Te+1]+V));xe-=J,Z-=Se;for(let Te=I;Te<X;Te+=2)C[Te]=(C[Te]+xe)*K,C[Te+1]=(C[Te+1]+Z)*_e}};let GraphicsGeometry=_GraphicsGeometry;GraphicsGeometry.BATCHABLE_SIZE=100;class FillStyle{constructor(){this.color=16777215,this.alpha=1,this.texture=Texture.WHITE,this.matrix=null,this.visible=!1,this.reset()}clone(){const E=new FillStyle;return E.color=this.color,E.alpha=this.alpha,E.texture=this.texture,E.matrix=this.matrix,E.visible=this.visible,E}reset(){this.color=16777215,this.alpha=1,this.texture=Texture.WHITE,this.matrix=null,this.visible=!1}destroy(){this.texture=null,this.matrix=null}}class LineStyle extends FillStyle{constructor(){super(...arguments),this.width=0,this.alignment=.5,this.native=!1,this.cap=LINE_CAP.BUTT,this.join=LINE_JOIN.MITER,this.miterLimit=10}clone(){const E=new LineStyle;return E.color=this.color,E.alpha=this.alpha,E.texture=this.texture,E.matrix=this.matrix,E.visible=this.visible,E.width=this.width,E.alignment=this.alignment,E.native=this.native,E.cap=this.cap,E.join=this.join,E.miterLimit=this.miterLimit,E}reset(){super.reset(),this.color=0,this.alignment=.5,this.width=0,this.native=!1}}const DEFAULT_SHADERS={},_Graphics=class extends Container{constructor(C=null){super(),this.shader=null,this.pluginName="batch",this.currentPath=null,this.batches=[],this.batchTint=-1,this.batchDirty=-1,this.vertexData=null,this._fillStyle=new FillStyle,this._lineStyle=new LineStyle,this._matrix=null,this._holeMode=!1,this.state=State$1.for2d(),this._geometry=C||new GraphicsGeometry,this._geometry.refCount++,this._transformID=-1,this._tintColor=new Color(16777215),this.blendMode=BLEND_MODES.NORMAL}get geometry(){return this._geometry}clone(){return this.finishPoly(),new _Graphics(this._geometry)}set blendMode(C){this.state.blendMode=C}get blendMode(){return this.state.blendMode}get tint(){return this._tintColor.value}set tint(C){this._tintColor.setValue(C)}get fill(){return this._fillStyle}get line(){return this._lineStyle}lineStyle(C=null,E=0,I,B=.5,U=!1){return typeof C=="number"&&(C={width:C,color:E,alpha:I,alignment:B,native:U}),this.lineTextureStyle(C)}lineTextureStyle(C){const E={width:0,texture:Texture.WHITE,color:C!=null&&C.texture?16777215:0,matrix:null,alignment:.5,native:!1,cap:LINE_CAP.BUTT,join:LINE_JOIN.MITER,miterLimit:10};C=Object.assign(E,C),this.normalizeColor(C),this.currentPath&&this.startPoly();const I=C.width>0&&C.alpha>0;return I?(C.matrix&&(C.matrix=C.matrix.clone(),C.matrix.invert()),Object.assign(this._lineStyle,{visible:I},C)):this._lineStyle.reset(),this}startPoly(){if(this.currentPath){const C=this.currentPath.points,E=this.currentPath.points.length;E>2&&(this.drawShape(this.currentPath),this.currentPath=new Polygon,this.currentPath.closeStroke=!1,this.currentPath.points.push(C[E-2],C[E-1]))}else this.currentPath=new Polygon,this.currentPath.closeStroke=!1}finishPoly(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)}moveTo(C,E){return this.startPoly(),this.currentPath.points[0]=C,this.currentPath.points[1]=E,this}lineTo(C,E){this.currentPath||this.moveTo(0,0);const I=this.currentPath.points,B=I[I.length-2],U=I[I.length-1];return(B!==C||U!==E)&&I.push(C,E),this}_initCurve(C=0,E=0){this.currentPath?this.currentPath.points.length===0&&(this.currentPath.points=[C,E]):this.moveTo(C,E)}quadraticCurveTo(C,E,I,B){this._initCurve();const U=this.currentPath.points;return U.length===0&&this.moveTo(0,0),QuadraticUtils.curveTo(C,E,I,B,U),this}bezierCurveTo(C,E,I,B,U,V){return this._initCurve(),BezierUtils.curveTo(C,E,I,B,U,V,this.currentPath.points),this}arcTo(C,E,I,B,U){this._initCurve(C,E);const V=this.currentPath.points,X=ArcUtils.curveTo(C,E,I,B,U,V);if(X){const{cx:Y,cy:K,radius:_e,startAngle:xe,endAngle:Z,anticlockwise:J}=X;this.arc(Y,K,_e,xe,Z,J)}return this}arc(C,E,I,B,U,V=!1){if(B===U)return this;if(!V&&U<=B?U+=PI_2:V&&B<=U&&(B+=PI_2),U-B===0)return this;const Y=C+Math.cos(B)*I,K=E+Math.sin(B)*I,_e=this._geometry.closePointEps;let xe=this.currentPath?this.currentPath.points:null;if(xe){const Z=Math.abs(xe[xe.length-2]-Y),J=Math.abs(xe[xe.length-1]-K);Z<_e&&J<_e||xe.push(Y,K)}else this.moveTo(Y,K),xe=this.currentPath.points;return ArcUtils.arc(Y,K,C,E,I,B,U,V,xe),this}beginFill(C=0,E){return this.beginTextureFill({texture:Texture.WHITE,color:C,alpha:E})}normalizeColor(C){const E=Color.shared.setValue(C.color??0);C.color=E.toNumber(),C.alpha??(C.alpha=E.alpha)}beginTextureFill(C){const E={texture:Texture.WHITE,color:16777215,matrix:null};C=Object.assign(E,C),this.normalizeColor(C),this.currentPath&&this.startPoly();const I=C.alpha>0;return I?(C.matrix&&(C.matrix=C.matrix.clone(),C.matrix.invert()),Object.assign(this._fillStyle,{visible:I},C)):this._fillStyle.reset(),this}endFill(){return this.finishPoly(),this._fillStyle.reset(),this}drawRect(C,E,I,B){return this.drawShape(new Rectangle(C,E,I,B))}drawRoundedRect(C,E,I,B,U){return this.drawShape(new RoundedRectangle(C,E,I,B,U))}drawCircle(C,E,I){return this.drawShape(new Circle(C,E,I))}drawEllipse(C,E,I,B){return this.drawShape(new Ellipse$1(C,E,I,B))}drawPolygon(...C){let E,I=!0;const B=C[0];B.points?(I=B.closeStroke,E=B.points):Array.isArray(C[0])?E=C[0]:E=C;const U=new Polygon(E);return U.closeStroke=I,this.drawShape(U),this}drawShape(C){return this._holeMode?this._geometry.drawHole(C,this._matrix):this._geometry.drawShape(C,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this}clear(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this}isFastRect(){const C=this._geometry.graphicsData;return C.length===1&&C[0].shape.type===SHAPES.RECT&&!C[0].matrix&&!C[0].holes.length&&!(C[0].lineStyle.visible&&C[0].lineStyle.width)}_render(C){this.finishPoly();const E=this._geometry;E.updateBatches(),E.batchable?(this.batchDirty!==E.batchDirty&&this._populateBatches(),this._renderBatched(C)):(C.batch.flush(),this._renderDirect(C))}_populateBatches(){const C=this._geometry,E=this.blendMode,I=C.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=C.batchDirty,this.batches.length=I,this.vertexData=new Float32Array(C.points);for(let B=0;B<I;B++){const U=C.batches[B],V=U.style.color,X=new Float32Array(this.vertexData.buffer,U.attribStart*4*2,U.attribSize*2),Y=new Float32Array(C.uvsFloat32.buffer,U.attribStart*4*2,U.attribSize*2),K=new Uint16Array(C.indicesUint16.buffer,U.start*2,U.size),_e={vertexData:X,blendMode:E,indices:K,uvs:Y,_batchRGB:Color.shared.setValue(V).toRgbArray(),_tintRGB:V,_texture:U.style.texture,alpha:U.style.alpha,worldAlpha:1};this.batches[B]=_e}}_renderBatched(C){if(this.batches.length){C.batch.setObjectRenderer(C.plugins[this.pluginName]),this.calculateVertices(),this.calculateTints();for(let E=0,I=this.batches.length;E<I;E++){const B=this.batches[E];B.worldAlpha=this.worldAlpha*B.alpha,C.plugins[this.pluginName].render(B)}}}_renderDirect(C){const E=this._resolveDirectShader(C),I=this._geometry,B=this.worldAlpha,U=E.uniforms,V=I.drawCalls;U.translationMatrix=this.transform.worldTransform,Color.shared.setValue(this._tintColor).premultiply(B).toArray(U.tint),C.shader.bind(E),C.geometry.bind(I,E),C.state.set(this.state);for(let X=0,Y=V.length;X<Y;X++)this._renderDrawCallDirect(C,I.drawCalls[X])}_renderDrawCallDirect(C,E){const{texArray:I,type:B,size:U,start:V}=E,X=I.count;for(let Y=0;Y<X;Y++)C.texture.bind(I.elements[Y],Y);C.geometry.draw(B,U,V)}_resolveDirectShader(C){let E=this.shader;const I=this.pluginName;if(!E){if(!DEFAULT_SHADERS[I]){const{maxTextures:B}=C.plugins[I],U=new Int32Array(B);for(let Y=0;Y<B;Y++)U[Y]=Y;const V={tint:new Float32Array([1,1,1,1]),translationMatrix:new Matrix$2,default:UniformGroup.from({uSamplers:U},!0)},X=C.plugins[I]._shader.program;DEFAULT_SHADERS[I]=new Shader(X,V)}E=DEFAULT_SHADERS[I]}return E}_calculateBounds(){this.finishPoly();const C=this._geometry;if(!C.graphicsData.length)return;const{minX:E,minY:I,maxX:B,maxY:U}=C.bounds;this._bounds.addFrame(this.transform,E,I,B,U)}containsPoint(C){return this.worldTransform.applyInverse(C,_Graphics._TEMP_POINT),this._geometry.containsPoint(_Graphics._TEMP_POINT)}calculateTints(){if(this.batchTint!==this.tint){this.batchTint=this._tintColor.toNumber();for(let C=0;C<this.batches.length;C++){const E=this.batches[C];E._tintRGB=Color.shared.setValue(this._tintColor).multiply(E._batchRGB).toLittleEndianNumber()}}}calculateVertices(){const C=this.transform._worldID;if(this._transformID===C)return;this._transformID=C;const E=this.transform.worldTransform,I=E.a,B=E.b,U=E.c,V=E.d,X=E.tx,Y=E.ty,K=this._geometry.points,_e=this.vertexData;let xe=0;for(let Z=0;Z<K.length;Z+=2){const J=K[Z],Se=K[Z+1];_e[xe++]=I*J+U*Se+X,_e[xe++]=V*Se+B*J+Y}}closePath(){const C=this.currentPath;return C&&(C.closeStroke=!0,this.finishPoly()),this}setMatrix(C){return this._matrix=C,this}beginHole(){return this.finishPoly(),this._holeMode=!0,this}endHole(){return this.finishPoly(),this._holeMode=!1,this}destroy(C){this._geometry.refCount--,this._geometry.refCount===0&&this._geometry.dispose(),this._matrix=null,this.currentPath=null,this._lineStyle.destroy(),this._lineStyle=null,this._fillStyle.destroy(),this._fillStyle=null,this._geometry=null,this.shader=null,this.vertexData=null,this.batches.length=0,this.batches=null,super.destroy(C)}};let Graphics=_Graphics;Graphics.curves=curves,Graphics._TEMP_POINT=new Point;var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},parserExports={},parser={get exports(){return parserExports},set exports(C){parserExports=C}};/*!
1962
- * d-path-parser - v1.0.0
1963
- * by Massimo Artizzu (MaxArt2501)
1964
- *
1965
- * https://github.com/MaxArt2501/d-path-parser
1966
- *
1967
- * Licensed under the MIT License
1968
- * See LICENSE for details
1969
- */(function(C,E){(function(I,B){C.exports=B()})(commonjsGlobal,function(){return function(B){for(var U={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},V={number:function(Ae){return+Se("number",Ae)},"coordinate pair":function(Ae){var Me=Se("number",Ae);if(Me===null&&!Ae)return null;Se("comma");var Ee=Se("number",!0);return{x:+Me,y:+Ee}},"arc definition":function(Ae){var Me=V["coordinate pair"](Ae);if(!Me&&!Ae)return null;Se("comma");var Ee=+Se("number",!0);Se("comma",!0);var we=!!+Se("flag",!0);Se("comma");var Pe=!!+Se("flag",!0);Se("comma");var Ie=V["coordinate pair"](!0);return{radii:Me,rotation:Ee,large:we,clockwise:Pe,end:Ie}}},X=0,Y=[];X<B.length;){var K=Se("command"),_e=K.toUpperCase(),xe=K!==_e,Z;switch(_e){case"M":Z=Te("coordinate pair").map(function(Ae,Me){return Me===1&&(K=xe?"l":"L"),J({end:Ae})});break;case"L":case"T":Z=Te("coordinate pair").map(function(Ae){return J({end:Ae})});break;case"C":if(Z=Te("coordinate pair"),Z.length%3)throw Error("Expected coordinate pair triplet at position "+X);Z=Z.reduce(function(Ae,Me,Ee){var we=Ee%3;if(!we)Ae.push(J({cp1:Me}));else{var Pe=Ae[Ae.length-1];Pe[we===1?"cp2":"end"]=Me}return Ae},[]);break;case"Q":case"S":if(Z=Te("coordinate pair"),Z.length&1)throw Error("Expected coordinate pair couple at position "+X);Z=Z.reduce(function(Ae,Me,Ee){var we=Ee&1;if(!we)Ae.push(J({cp:Me}));else{var Pe=Ae[Ae.length-1];Pe.end=Me}return Ae},[]);break;case"H":case"V":Z=Te("number").map(function(Ae){return J({value:Ae})});break;case"A":Z=Te("arc definition").map(J);break;case"Z":Z=[{code:"Z"}];break}Y.push.apply(Y,Z)}return Y;function J(Ae){return Ae.code=K,Ae.relative=xe,Ae}function Se(Ae,Me){U[Ae].lastIndex=X;var Ee=U[Ae].exec(B);if(!Ee||Ee.index!==X){if(!Me)return null;throw Error("Expected "+Ae+" at position "+X)}return X=U[Ae].lastIndex,Ee[1]}function Te(Ae){for(var Me=[],Ee,we=!0;Ee=V[Ae](we);)Me.push(Ee),we=!!Se("comma");return Me}}})})(parser);const trimLeft=/^\s+/,trimRight=/\s+$/;function tinycolor(C,E){if(C=C||"",E=E||{},C instanceof tinycolor)return C;if(!(this instanceof tinycolor))return new tinycolor(C,E);var I=inputToRGB(C);this._originalInput=C,this._r=I.r,this._g=I.g,this._b=I.b,this._a=I.a,this._roundA=Math.round(100*this._a)/100,this._format=E.format||I.format,this._gradientType=E.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=I.ok}tinycolor.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var C=this.toRgb();return(C.r*299+C.g*587+C.b*114)/1e3},getLuminance:function(){var C=this.toRgb(),E,I,B,U,V,X;return E=C.r/255,I=C.g/255,B=C.b/255,E<=.03928?U=E/12.92:U=Math.pow((E+.055)/1.055,2.4),I<=.03928?V=I/12.92:V=Math.pow((I+.055)/1.055,2.4),B<=.03928?X=B/12.92:X=Math.pow((B+.055)/1.055,2.4),.2126*U+.7152*V+.0722*X},setAlpha:function(C){return this._a=boundAlpha(C),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var C=rgbToHsv(this._r,this._g,this._b);return{h:C.h*360,s:C.s,v:C.v,a:this._a}},toHsvString:function(){var C=rgbToHsv(this._r,this._g,this._b),E=Math.round(C.h*360),I=Math.round(C.s*100),B=Math.round(C.v*100);return this._a==1?"hsv("+E+", "+I+"%, "+B+"%)":"hsva("+E+", "+I+"%, "+B+"%, "+this._roundA+")"},toHsl:function(){var C=rgbToHsl(this._r,this._g,this._b);return{h:C.h*360,s:C.s,l:C.l,a:this._a}},toHslString:function(){var C=rgbToHsl(this._r,this._g,this._b),E=Math.round(C.h*360),I=Math.round(C.s*100),B=Math.round(C.l*100);return this._a==1?"hsl("+E+", "+I+"%, "+B+"%)":"hsla("+E+", "+I+"%, "+B+"%, "+this._roundA+")"},toHex:function(C){return rgbToHex(this._r,this._g,this._b,C)},toHexString:function(C){return"#"+this.toHex(C)},toHex8:function(C){return rgbaToHex(this._r,this._g,this._b,this._a,C)},toHex8String:function(C){return"#"+this.toHex8(C)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(bound01(this._r,255)*100)+"%",g:Math.round(bound01(this._g,255)*100)+"%",b:Math.round(bound01(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%)":"rgba("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:hexNames[rgbToHex(this._r,this._g,this._b,!0)]||!1},toFilter:function(C){var E="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a),I=E,B=this._gradientType?"GradientType = 1, ":"";if(C){var U=tinycolor(C);I="#"+rgbaToArgbHex(U._r,U._g,U._b,U._a)}return"progid:DXImageTransform.Microsoft.gradient("+B+"startColorstr="+E+",endColorstr="+I+")"},toString:function(C){var E=!!C;C=C||this._format;var I=!1,B=this._a<1&&this._a>=0,U=!E&&B&&(C==="hex"||C==="hex6"||C==="hex3"||C==="hex4"||C==="hex8"||C==="name");return U?C==="name"&&this._a===0?this.toName():this.toRgbString():(C==="rgb"&&(I=this.toRgbString()),C==="prgb"&&(I=this.toPercentageRgbString()),(C==="hex"||C==="hex6")&&(I=this.toHexString()),C==="hex3"&&(I=this.toHexString(!0)),C==="hex4"&&(I=this.toHex8String(!0)),C==="hex8"&&(I=this.toHex8String()),C==="name"&&(I=this.toName()),C==="hsl"&&(I=this.toHslString()),C==="hsv"&&(I=this.toHsvString()),I||this.toHexString())},clone:function(){return tinycolor(this.toString())},_applyModification:function(C,E){var I=C.apply(null,[this].concat([].slice.call(E)));return this._r=I._r,this._g=I._g,this._b=I._b,this.setAlpha(I._a),this},lighten:function(){return this._applyModification(lighten,arguments)},brighten:function(){return this._applyModification(brighten,arguments)},darken:function(){return this._applyModification(darken,arguments)},desaturate:function(){return this._applyModification(desaturate,arguments)},saturate:function(){return this._applyModification(saturate,arguments)},greyscale:function(){return this._applyModification(greyscale,arguments)},spin:function(){return this._applyModification(spin,arguments)},_applyCombination:function(C,E){return C.apply(null,[this].concat([].slice.call(E)))},analogous:function(){return this._applyCombination(analogous,arguments)},complement:function(){return this._applyCombination(complement,arguments)},monochromatic:function(){return this._applyCombination(monochromatic,arguments)},splitcomplement:function(){return this._applyCombination(splitcomplement,arguments)},triad:function(){return this._applyCombination(polyad,[3])},tetrad:function(){return this._applyCombination(polyad,[4])}},tinycolor.fromRatio=function(C,E){if(typeof C=="object"){var I={};for(var B in C)C.hasOwnProperty(B)&&(B==="a"?I[B]=C[B]:I[B]=convertToPercentage(C[B]));C=I}return tinycolor(C,E)};function inputToRGB(C){var E={r:0,g:0,b:0},I=1,B=null,U=null,V=null,X=!1,Y=!1;return typeof C=="string"&&(C=stringInputToObject(C)),typeof C=="object"&&(isValidCSSUnit(C.r)&&isValidCSSUnit(C.g)&&isValidCSSUnit(C.b)?(E=rgbToRgb(C.r,C.g,C.b),X=!0,Y=String(C.r).substr(-1)==="%"?"prgb":"rgb"):isValidCSSUnit(C.h)&&isValidCSSUnit(C.s)&&isValidCSSUnit(C.v)?(B=convertToPercentage(C.s),U=convertToPercentage(C.v),E=hsvToRgb(C.h,B,U),X=!0,Y="hsv"):isValidCSSUnit(C.h)&&isValidCSSUnit(C.s)&&isValidCSSUnit(C.l)&&(B=convertToPercentage(C.s),V=convertToPercentage(C.l),E=hslToRgb(C.h,B,V),X=!0,Y="hsl"),C.hasOwnProperty("a")&&(I=C.a)),I=boundAlpha(I),{ok:X,format:C.format||Y,r:Math.min(255,Math.max(E.r,0)),g:Math.min(255,Math.max(E.g,0)),b:Math.min(255,Math.max(E.b,0)),a:I}}function rgbToRgb(C,E,I){return{r:bound01(C,255)*255,g:bound01(E,255)*255,b:bound01(I,255)*255}}function rgbToHsl(C,E,I){C=bound01(C,255),E=bound01(E,255),I=bound01(I,255);var B=Math.max(C,E,I),U=Math.min(C,E,I),V,X,Y=(B+U)/2;if(B==U)V=X=0;else{var K=B-U;switch(X=Y>.5?K/(2-B-U):K/(B+U),B){case C:V=(E-I)/K+(E<I?6:0);break;case E:V=(I-C)/K+2;break;case I:V=(C-E)/K+4;break}V/=6}return{h:V,s:X,l:Y}}function hslToRgb(C,E,I){var B,U,V;C=bound01(C,360),E=bound01(E,100),I=bound01(I,100);function X(_e,xe,Z){return Z<0&&(Z+=1),Z>1&&(Z-=1),Z<1/6?_e+(xe-_e)*6*Z:Z<1/2?xe:Z<2/3?_e+(xe-_e)*(2/3-Z)*6:_e}if(E===0)B=U=V=I;else{var Y=I<.5?I*(1+E):I+E-I*E,K=2*I-Y;B=X(K,Y,C+1/3),U=X(K,Y,C),V=X(K,Y,C-1/3)}return{r:B*255,g:U*255,b:V*255}}function rgbToHsv(C,E,I){C=bound01(C,255),E=bound01(E,255),I=bound01(I,255);var B=Math.max(C,E,I),U=Math.min(C,E,I),V,X,Y=B,K=B-U;if(X=B===0?0:K/B,B==U)V=0;else{switch(B){case C:V=(E-I)/K+(E<I?6:0);break;case E:V=(I-C)/K+2;break;case I:V=(C-E)/K+4;break}V/=6}return{h:V,s:X,v:Y}}function hsvToRgb(C,E,I){C=bound01(C,360)*6,E=bound01(E,100),I=bound01(I,100);var B=Math.floor(C),U=C-B,V=I*(1-E),X=I*(1-U*E),Y=I*(1-(1-U)*E),K=B%6,_e=[I,X,V,V,Y,I][K],xe=[Y,I,I,X,V,V][K],Z=[V,V,Y,I,I,X][K];return{r:_e*255,g:xe*255,b:Z*255}}function rgbToHex(C,E,I,B){var U=[pad2(Math.round(C).toString(16)),pad2(Math.round(E).toString(16)),pad2(Math.round(I).toString(16))];return B&&U[0].charAt(0)==U[0].charAt(1)&&U[1].charAt(0)==U[1].charAt(1)&&U[2].charAt(0)==U[2].charAt(1)?U[0].charAt(0)+U[1].charAt(0)+U[2].charAt(0):U.join("")}function rgbaToHex(C,E,I,B,U){var V=[pad2(Math.round(C).toString(16)),pad2(Math.round(E).toString(16)),pad2(Math.round(I).toString(16)),pad2(convertDecimalToHex(B))];return U&&V[0].charAt(0)==V[0].charAt(1)&&V[1].charAt(0)==V[1].charAt(1)&&V[2].charAt(0)==V[2].charAt(1)&&V[3].charAt(0)==V[3].charAt(1)?V[0].charAt(0)+V[1].charAt(0)+V[2].charAt(0)+V[3].charAt(0):V.join("")}function rgbaToArgbHex(C,E,I,B){var U=[pad2(convertDecimalToHex(B)),pad2(Math.round(C).toString(16)),pad2(Math.round(E).toString(16)),pad2(Math.round(I).toString(16))];return U.join("")}tinycolor.equals=function(C,E){return!C||!E?!1:tinycolor(C).toRgbString()==tinycolor(E).toRgbString()},tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function desaturate(C,E){E=E===0?0:E||10;var I=tinycolor(C).toHsl();return I.s-=E/100,I.s=clamp01(I.s),tinycolor(I)}function saturate(C,E){E=E===0?0:E||10;var I=tinycolor(C).toHsl();return I.s+=E/100,I.s=clamp01(I.s),tinycolor(I)}function greyscale(C){return tinycolor(C).desaturate(100)}function lighten(C,E){E=E===0?0:E||10;var I=tinycolor(C).toHsl();return I.l+=E/100,I.l=clamp01(I.l),tinycolor(I)}function brighten(C,E){E=E===0?0:E||10;var I=tinycolor(C).toRgb();return I.r=Math.max(0,Math.min(255,I.r-Math.round(255*-(E/100)))),I.g=Math.max(0,Math.min(255,I.g-Math.round(255*-(E/100)))),I.b=Math.max(0,Math.min(255,I.b-Math.round(255*-(E/100)))),tinycolor(I)}function darken(C,E){E=E===0?0:E||10;var I=tinycolor(C).toHsl();return I.l-=E/100,I.l=clamp01(I.l),tinycolor(I)}function spin(C,E){var I=tinycolor(C).toHsl(),B=(I.h+E)%360;return I.h=B<0?360+B:B,tinycolor(I)}function complement(C){var E=tinycolor(C).toHsl();return E.h=(E.h+180)%360,tinycolor(E)}function polyad(C,E){if(isNaN(E)||E<=0)throw new Error("Argument to polyad must be a positive number");for(var I=tinycolor(C).toHsl(),B=[tinycolor(C)],U=360/E,V=1;V<E;V++)B.push(tinycolor({h:(I.h+V*U)%360,s:I.s,l:I.l}));return B}function splitcomplement(C){var E=tinycolor(C).toHsl(),I=E.h;return[tinycolor(C),tinycolor({h:(I+72)%360,s:E.s,l:E.l}),tinycolor({h:(I+216)%360,s:E.s,l:E.l})]}function analogous(C,E,I){E=E||6,I=I||30;var B=tinycolor(C).toHsl(),U=360/I,V=[tinycolor(C)];for(B.h=(B.h-(U*E>>1)+720)%360;--E;)B.h=(B.h+U)%360,V.push(tinycolor(B));return V}function monochromatic(C,E){E=E||6;for(var I=tinycolor(C).toHsv(),B=I.h,U=I.s,V=I.v,X=[],Y=1/E;E--;)X.push(tinycolor({h:B,s:U,v:V})),V=(V+Y)%1;return X}tinycolor.mix=function(C,E,I){I=I===0?0:I||50;var B=tinycolor(C).toRgb(),U=tinycolor(E).toRgb(),V=I/100,X={r:(U.r-B.r)*V+B.r,g:(U.g-B.g)*V+B.g,b:(U.b-B.b)*V+B.b,a:(U.a-B.a)*V+B.a};return tinycolor(X)},tinycolor.readability=function(C,E){var I=tinycolor(C),B=tinycolor(E);return(Math.max(I.getLuminance(),B.getLuminance())+.05)/(Math.min(I.getLuminance(),B.getLuminance())+.05)},tinycolor.isReadable=function(C,E,I){var B=tinycolor.readability(C,E),U,V;switch(V=!1,U=validateWCAG2Parms(I),U.level+U.size){case"AAsmall":case"AAAlarge":V=B>=4.5;break;case"AAlarge":V=B>=3;break;case"AAAsmall":V=B>=7;break}return V},tinycolor.mostReadable=function(C,E,I){var B=null,U=0,V,X,Y,K;I=I||{},X=I.includeFallbackColors,Y=I.level,K=I.size;for(var _e=0;_e<E.length;_e++)V=tinycolor.readability(C,E[_e]),V>U&&(U=V,B=tinycolor(E[_e]));return tinycolor.isReadable(C,B,{level:Y,size:K})||!X?B:(I.includeFallbackColors=!1,tinycolor.mostReadable(C,["#fff","#000"],I))};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},hexNames=tinycolor.hexNames=flip(names);function flip(C){var E={};for(var I in C)C.hasOwnProperty(I)&&(E[C[I]]=I);return E}function boundAlpha(C){return C=parseFloat(C),(isNaN(C)||C<0||C>1)&&(C=1),C}function bound01(C,E){isOnePointZero(C)&&(C="100%");var I=isPercentage(C);return C=Math.min(E,Math.max(0,parseFloat(C))),I&&(C=parseInt(C*E,10)/100),Math.abs(C-E)<1e-6?1:C%E/parseFloat(E)}function clamp01(C){return Math.min(1,Math.max(0,C))}function parseIntFromHex(C){return parseInt(C,16)}function isOnePointZero(C){return typeof C=="string"&&C.indexOf(".")!=-1&&parseFloat(C)===1}function isPercentage(C){return typeof C=="string"&&C.indexOf("%")!=-1}function pad2(C){return C.length==1?"0"+C:""+C}function convertToPercentage(C){return C<=1&&(C=C*100+"%"),C}function convertDecimalToHex(C){return Math.round(parseFloat(C)*255).toString(16)}function convertHexToDecimal(C){return parseIntFromHex(C)/255}var matchers=function(){var C="[-\\+]?\\d+%?",E="[-\\+]?\\d*\\.\\d+%?",I="(?:"+E+")|(?:"+C+")",B="[\\s|\\(]+("+I+")[,|\\s]+("+I+")[,|\\s]+("+I+")\\s*\\)?",U="[\\s|\\(]+("+I+")[,|\\s]+("+I+")[,|\\s]+("+I+")[,|\\s]+("+I+")\\s*\\)?";return{CSS_UNIT:new RegExp(I),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+U),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+U),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+U),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function isValidCSSUnit(C){return!!matchers.CSS_UNIT.exec(C)}function stringInputToObject(C){C=C.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var E=!1;if(names[C])C=names[C],E=!0;else if(C=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var I;return(I=matchers.rgb.exec(C))?{r:I[1],g:I[2],b:I[3]}:(I=matchers.rgba.exec(C))?{r:I[1],g:I[2],b:I[3],a:I[4]}:(I=matchers.hsl.exec(C))?{h:I[1],s:I[2],l:I[3]}:(I=matchers.hsla.exec(C))?{h:I[1],s:I[2],l:I[3],a:I[4]}:(I=matchers.hsv.exec(C))?{h:I[1],s:I[2],v:I[3]}:(I=matchers.hsva.exec(C))?{h:I[1],s:I[2],v:I[3],a:I[4]}:(I=matchers.hex8.exec(C))?{r:parseIntFromHex(I[1]),g:parseIntFromHex(I[2]),b:parseIntFromHex(I[3]),a:convertHexToDecimal(I[4]),format:E?"name":"hex8"}:(I=matchers.hex6.exec(C))?{r:parseIntFromHex(I[1]),g:parseIntFromHex(I[2]),b:parseIntFromHex(I[3]),format:E?"name":"hex"}:(I=matchers.hex4.exec(C))?{r:parseIntFromHex(I[1]+""+I[1]),g:parseIntFromHex(I[2]+""+I[2]),b:parseIntFromHex(I[3]+""+I[3]),a:convertHexToDecimal(I[4]+""+I[4]),format:E?"name":"hex8"}:(I=matchers.hex3.exec(C))?{r:parseIntFromHex(I[1]+""+I[1]),g:parseIntFromHex(I[2]+""+I[2]),b:parseIntFromHex(I[3]+""+I[3]),format:E?"name":"hex"}:!1}function validateWCAG2Parms(C){var E,I;return C=C||{level:"AA",size:"small"},E=(C.level||"AA").toUpperCase(),I=(C.size||"small").toLowerCase(),E!=="AA"&&E!=="AAA"&&(E="AA"),I!=="small"&&I!=="large"&&(I="small"),{level:E,size:I}}var _slicedToArray=function(){function C(E,I){var B=[],U=!0,V=!1,X=void 0;try{for(var Y=E[Symbol.iterator](),K;!(U=(K=Y.next()).done)&&(B.push(K.value),!(I&&B.length===I));U=!0);}catch(_e){V=!0,X=_e}finally{try{!U&&Y.return&&Y.return()}finally{if(V)throw X}}return B}return function(E,I){if(Array.isArray(E))return E;if(Symbol.iterator in Object(E))return C(E,I);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),TAU$1=Math.PI*2,mapToEllipse=function(E,I,B,U,V,X,Y){var K=E.x,_e=E.y;K*=I,_e*=B;var xe=U*K-V*_e,Z=V*K+U*_e;return{x:xe+X,y:Z+Y}},approxUnitArc=function(E,I){var B=I===1.5707963267948966?.551915024494:I===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(I/4),U=Math.cos(E),V=Math.sin(E),X=Math.cos(E+I),Y=Math.sin(E+I);return[{x:U-V*B,y:V+U*B},{x:X+Y*B,y:Y-X*B},{x:X,y:Y}]},vectorAngle=function(E,I,B,U){var V=E*U-I*B<0?-1:1,X=E*B+I*U;return X>1&&(X=1),X<-1&&(X=-1),V*Math.acos(X)},getArcCenter=function(E,I,B,U,V,X,Y,K,_e,xe,Z,J){var Se=Math.pow(V,2),Te=Math.pow(X,2),Ae=Math.pow(Z,2),Me=Math.pow(J,2),Ee=Se*Te-Se*Me-Te*Ae;Ee<0&&(Ee=0),Ee/=Se*Me+Te*Ae,Ee=Math.sqrt(Ee)*(Y===K?-1:1);var we=Ee*V/X*J,Pe=Ee*-X/V*Z,Ie=xe*we-_e*Pe+(E+B)/2,Fe=_e*we+xe*Pe+(I+U)/2,Oe=(Z-we)/V,$e=(J-Pe)/X,Le=(-Z-we)/V,Ue=(-J-Pe)/X,He=vectorAngle(1,0,Oe,$e),We=vectorAngle(Oe,$e,Le,Ue);return K===0&&We>0&&(We-=TAU$1),K===1&&We<0&&(We+=TAU$1),[Ie,Fe,He,We]},arcToBezier=function(E){var I=E.px,B=E.py,U=E.cx,V=E.cy,X=E.rx,Y=E.ry,K=E.xAxisRotation,_e=K===void 0?0:K,xe=E.largeArcFlag,Z=xe===void 0?0:xe,J=E.sweepFlag,Se=J===void 0?0:J,Te=[];if(X===0||Y===0)return[];var Ae=Math.sin(_e*TAU$1/360),Me=Math.cos(_e*TAU$1/360),Ee=Me*(I-U)/2+Ae*(B-V)/2,we=-Ae*(I-U)/2+Me*(B-V)/2;if(Ee===0&&we===0)return[];X=Math.abs(X),Y=Math.abs(Y);var Pe=Math.pow(Ee,2)/Math.pow(X,2)+Math.pow(we,2)/Math.pow(Y,2);Pe>1&&(X*=Math.sqrt(Pe),Y*=Math.sqrt(Pe));var Ie=getArcCenter(I,B,U,V,X,Y,Z,Se,Ae,Me,Ee,we),Fe=_slicedToArray(Ie,4),Oe=Fe[0],$e=Fe[1],Le=Fe[2],Ue=Fe[3],He=Math.abs(Ue)/(TAU$1/4);Math.abs(1-He)<1e-7&&(He=1);var We=Math.max(Math.ceil(He),1);Ue/=We;for(var je=0;je<We;je++)Te.push(approxUnitArc(Le,Ue)),Le+=Ue;return Te.map(function(Ve){var ze=mapToEllipse(Ve[0],X,Y,Me,Ae,Oe,$e),Xe=ze.x,De=ze.y,Be=mapToEllipse(Ve[1],X,Y,Me,Ae,Oe,$e),Re=Be.x,ke=Be.y,Ge=mapToEllipse(Ve[2],X,Y,Me,Ae,Oe,$e),Ne=Ge.x,qe=Ge.y;return{x1:Xe,y1:De,x2:Re,y2:ke,x:Ne,y:qe}})};class SVG extends Graphics{constructor(E){super(),this.lineColor=null,E&&this.drawSVG(E)}drawSVG(E){if(typeof E=="string"){const I=document.createElement("div");I.innerHTML=E.trim(),E=I.querySelector("svg")}if(!E)throw new Error("Missing <svg> element in SVG constructor");return this._svgFill(E),this._svgChildren(E.children),this}_svgChildren(E,I=!1){for(let B=0;B<E.length;B++){const U=E[B];switch(this._svgFill(U,I),U.nodeName.toLowerCase()){case"path":{this._svgPath(U);break}case"circle":case"ellipse":{this._svgCircle(U);break}case"rect":{this._svgRect(U);break}case"polygon":{this._svgPoly(U,!0);break}case"polyline":{this._svgPoly(U);break}case"g":break;default:{console.info(`[PIXI.SVG] <${U.nodeName}> elements unsupported`);break}}this._svgChildren(U.children,!0)}}_hexToUint(E){if(E[0]==="#")return E=E.substr(1),E.length===3&&(E=E.replace(/([a-f0-9])/ig,"$1$1")),parseInt(E,16);const{r:I,g:B,b:U}=tinycolor(E).toRgb();return(I<<16)+(B<<8)+U}_svgCircle(E){let I="r",B="r";const U=E.nodeName==="elipse";U&&(I+="x",B+="y");const V=parseFloat(E.getAttribute(B)),X=parseFloat(E.getAttribute(I)),Y=E.getAttribute("cx"),K=E.getAttribute("cy");let _e=0,xe=0;Y!==null&&(_e=parseFloat(Y)),K!==null&&(xe=parseFloat(K)),U?this.drawEllipse(_e,xe,V,X):this.drawCircle(_e,xe,V)}_svgRect(E){const I=parseFloat(E.getAttribute("x")),B=parseFloat(E.getAttribute("y")),U=parseFloat(E.getAttribute("width")),V=parseFloat(E.getAttribute("height")),X=parseFloat(E.getAttribute("rx"));X?this.drawRoundedRect(I,B,U,V,X):this.drawRect(I,B,U,V)}_convertStyleName(E){return E.trim().replace("-width","Width").replace(/.*-(line)?/,"")}_svgStyle(E){const I=E.getAttribute("style"),B=E.getAttribute("opacity"),U={fill:E.getAttribute("fill"),opacity:B||E.getAttribute("fill-opacity"),stroke:E.getAttribute("stroke"),strokeOpacity:B||E.getAttribute("stroke-opacity"),strokeWidth:E.getAttribute("stroke-width"),cap:E.getAttribute("stroke-linecap"),join:E.getAttribute("stroke-linejoin"),miterLimit:E.getAttribute("stroke-miterlimit")};return I!==null&&I.split(";").forEach(V=>{const[X,Y]=V.split(":");if(X){const K=this._convertStyleName(X);U[K]||(U[K]=Y.trim())}}),U}_svgPoly(E,I){const B=E.getAttribute("points").split(/[ ,]/g).map(U=>parseInt(U,10));this.drawPolygon(B),I&&this.closePath()}_svgFill(E,I){const{fill:B,opacity:U,stroke:V,strokeOpacity:X,strokeWidth:Y,cap:K,join:_e,miterLimit:xe}=this._svgStyle(E),J=Y!==null?parseFloat(Y):V!==null?1:0,Se=V!==null?this._hexToUint(V):this.lineColor;B?B==="none"?this.beginFill(0,0):this.beginFill(this._hexToUint(B),U!==null?parseFloat(U):1):I||this.beginFill(0),this.lineStyle({width:V===null&&Y===null&&I?this.line.width:J,alpha:X===null?this.line.alpha:parseFloat(X),color:V===null&&I?this.line.color:Se,cap:K===null&&I?this.line.cap:K,join:_e===null&&I?this.line.join:_e,miterLimit:xe===null&&I?this.line.miterLimit:parseFloat(xe)}),E.getAttribute("fill-rule")&&console.info('[PIXI.SVG] "fill-rule" attribute is not supported')}_svgPath(E){const I=E.getAttribute("d");let B=0,U=0;const V=parserExports(I.trim());for(let X=0;X<V.length;X++){const Y=V[X];switch(Y.code){case"m":{this.moveTo(B+=Y.end.x,U+=Y.end.y);break}case"M":{this.moveTo(B=Y.end.x,U=Y.end.y);break}case"H":{this.lineTo(B=Y.value,U);break}case"h":{this.lineTo(B+=Y.value,U);break}case"V":{this.lineTo(B,U=Y.value);break}case"v":{this.lineTo(B,U+=Y.value);break}case"Z":{this.closePath();break}case"L":{this.lineTo(B=Y.end.x,U=Y.end.y);break}case"l":{this.lineTo(B+=Y.end.x,U+=Y.end.y);break}case"C":{this.bezierCurveTo(Y.cp1.x,Y.cp1.y,Y.cp2.x,Y.cp2.y,B=Y.end.x,U=Y.end.y);break}case"c":{const K=B,_e=U;this.bezierCurveTo(K+Y.cp1.x,_e+Y.cp1.y,K+Y.cp2.x,_e+Y.cp2.y,B+=Y.end.x,U+=Y.end.y);break}case"s":case"q":{const K=B,_e=U;this.quadraticCurveTo(K+Y.cp.x,_e+Y.cp.y,B+=Y.end.x,U+=Y.end.y);break}case"S":case"Q":{this.quadraticCurveTo(Y.cp.x,Y.cp.y,B=Y.end.x,U=Y.end.y);break}case"a":{arcToBezier({px:B,py:U,cx:B+=Y.end.x,cy:U+=Y.end.y,rx:Y.radii.x,ry:Y.radii.y,xAxisRotation:Y.rotation,largeArcFlag:Y.large?1:0,sweepFlag:Y.clockwise?1:0}).forEach(({x1:K,y1:_e,x2:xe,y2:Z,x:J,y:Se})=>this.bezierCurveTo(K,_e,xe,Z,J,Se));break}case"A":{arcToBezier({px:B,py:U,cx:B=Y.end.x,cy:U=Y.end.y,rx:Y.radii.x,ry:Y.radii.y,xAxisRotation:Y.rotation,largeArcFlag:Y.large?1:0,sweepFlag:Y.clockwise?1:0}).forEach(({x1:K,y1:_e,x2:xe,y2:Z,x:J,y:Se})=>this.bezierCurveTo(K,_e,xe,Z,J,Se));break}default:{console.info("[PIXI.SVG] Draw command not supported:",Y.code,Y);break}}}}}var paramCounts={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},SPECIAL_SPACES=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function isSpace(C){return C===10||C===13||C===8232||C===8233||C===32||C===9||C===11||C===12||C===160||C>=5760&&SPECIAL_SPACES.indexOf(C)>=0}function isCommand(C){switch(C|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0}return!1}function isArc(C){return(C|32)===97}function isDigit(C){return C>=48&&C<=57}function isDigitStart(C){return C>=48&&C<=57||C===43||C===45||C===46}function State(C){this.index=0,this.path=C,this.max=C.length,this.result=[],this.param=0,this.err="",this.segmentStart=0,this.data=[]}function skipSpaces(C){for(;C.index<C.max&&isSpace(C.path.charCodeAt(C.index));)C.index++}function scanFlag(C){var E=C.path.charCodeAt(C.index);if(E===48){C.param=0,C.index++;return}if(E===49){C.param=1,C.index++;return}C.err="SvgPath: arc flag can be 0 or 1 only (at pos "+C.index+")"}function scanParam(C){var E=C.index,I=E,B=C.max,U=!1,V=!1,X=!1,Y=!1,K;if(I>=B){C.err="SvgPath: missed param (at pos "+I+")";return}if(K=C.path.charCodeAt(I),(K===43||K===45)&&(I++,K=I<B?C.path.charCodeAt(I):0),!isDigit(K)&&K!==46){C.err="SvgPath: param should start with 0..9 or `.` (at pos "+I+")";return}if(K!==46){if(U=K===48,I++,K=I<B?C.path.charCodeAt(I):0,U&&I<B&&K&&isDigit(K)){C.err="SvgPath: numbers started with `0` such as `09` are illegal (at pos "+E+")";return}for(;I<B&&isDigit(C.path.charCodeAt(I));)I++,V=!0;K=I<B?C.path.charCodeAt(I):0}if(K===46){for(Y=!0,I++;isDigit(C.path.charCodeAt(I));)I++,X=!0;K=I<B?C.path.charCodeAt(I):0}if(K===101||K===69){if(Y&&!V&&!X){C.err="SvgPath: invalid float exponent (at pos "+I+")";return}if(I++,K=I<B?C.path.charCodeAt(I):0,(K===43||K===45)&&I++,I<B&&isDigit(C.path.charCodeAt(I)))for(;I<B&&isDigit(C.path.charCodeAt(I));)I++;else{C.err="SvgPath: invalid float exponent (at pos "+I+")";return}}C.index=I,C.param=parseFloat(C.path.slice(E,I))+0}function finalizeSegment(C){var E,I;E=C.path[C.segmentStart],I=E.toLowerCase();var B=C.data;if(I==="m"&&B.length>2&&(C.result.push([E,B[0],B[1]]),B=B.slice(2),I="l",E=E==="m"?"l":"L"),I==="r")C.result.push([E].concat(B));else for(;B.length>=paramCounts[I]&&(C.result.push([E].concat(B.splice(0,paramCounts[I]))),!!paramCounts[I]););}function scanSegment(C){var E=C.max,I,B,U,V,X;if(C.segmentStart=C.index,I=C.path.charCodeAt(C.index),B=isArc(I),!isCommand(I)){C.err="SvgPath: bad command "+C.path[C.index]+" (at pos "+C.index+")";return}if(V=paramCounts[C.path[C.index].toLowerCase()],C.index++,skipSpaces(C),C.data=[],!V){finalizeSegment(C);return}for(U=!1;;){for(X=V;X>0;X--){if(B&&(X===3||X===4)?scanFlag(C):scanParam(C),C.err.length){finalizeSegment(C);return}C.data.push(C.param),skipSpaces(C),U=!1,C.index<E&&C.path.charCodeAt(C.index)===44&&(C.index++,skipSpaces(C),U=!0)}if(!U&&(C.index>=C.max||!isDigitStart(C.path.charCodeAt(C.index))))break}finalizeSegment(C)}var path_parse=function(E){var I=new State(E),B=I.max;for(skipSpaces(I);I.index<B&&!I.err.length;)scanSegment(I);return I.result.length&&("mM".indexOf(I.result[0][0])<0?(I.err="SvgPath: string should start with `M` or `m`",I.result=[]):I.result[0][0]="M"),{err:I.err,segments:I.result}};function combine(C,E){return[C[0]*E[0]+C[2]*E[1],C[1]*E[0]+C[3]*E[1],C[0]*E[2]+C[2]*E[3],C[1]*E[2]+C[3]*E[3],C[0]*E[4]+C[2]*E[5]+C[4],C[1]*E[4]+C[3]*E[5]+C[5]]}function Matrix$1(){if(!(this instanceof Matrix$1))return new Matrix$1;this.queue=[],this.cache=null}Matrix$1.prototype.matrix=function(C){return C[0]===1&&C[1]===0&&C[2]===0&&C[3]===1&&C[4]===0&&C[5]===0?this:(this.cache=null,this.queue.push(C),this)},Matrix$1.prototype.translate=function(C,E){return(C!==0||E!==0)&&(this.cache=null,this.queue.push([1,0,0,1,C,E])),this},Matrix$1.prototype.scale=function(C,E){return(C!==1||E!==1)&&(this.cache=null,this.queue.push([C,0,0,E,0,0])),this},Matrix$1.prototype.rotate=function(C,E,I){var B,U,V;return C!==0&&(this.translate(E,I),B=C*Math.PI/180,U=Math.cos(B),V=Math.sin(B),this.queue.push([U,V,-V,U,0,0]),this.cache=null,this.translate(-E,-I)),this},Matrix$1.prototype.skewX=function(C){return C!==0&&(this.cache=null,this.queue.push([1,0,Math.tan(C*Math.PI/180),1,0,0])),this},Matrix$1.prototype.skewY=function(C){return C!==0&&(this.cache=null,this.queue.push([1,Math.tan(C*Math.PI/180),0,1,0,0])),this},Matrix$1.prototype.toArray=function(){if(this.cache)return this.cache;if(!this.queue.length)return this.cache=[1,0,0,1,0,0],this.cache;if(this.cache=this.queue[0],this.queue.length===1)return this.cache;for(var C=1;C<this.queue.length;C++)this.cache=combine(this.cache,this.queue[C]);return this.cache},Matrix$1.prototype.calc=function(C,E,I){var B;return this.queue.length?(this.cache||(this.cache=this.toArray()),B=this.cache,[C*B[0]+E*B[2]+(I?0:B[4]),C*B[1]+E*B[3]+(I?0:B[5])]):[C,E]};var matrix$1=Matrix$1,Matrix=matrix$1,operations={matrix:!0,scale:!0,rotate:!0,translate:!0,skewX:!0,skewY:!0},CMD_SPLIT_RE=/\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/,PARAMS_SPLIT_RE=/[\s,]+/,transform_parse=function(E){var I=new Matrix,B,U;return E.split(CMD_SPLIT_RE).forEach(function(V){if(V.length){if(typeof operations[V]<"u"){B=V;return}switch(U=V.split(PARAMS_SPLIT_RE).map(function(X){return+X||0}),B){case"matrix":U.length===6&&I.matrix(U);return;case"scale":U.length===1?I.scale(U[0],U[0]):U.length===2&&I.scale(U[0],U[1]);return;case"rotate":U.length===1?I.rotate(U[0],0,0):U.length===3&&I.rotate(U[0],U[1],U[2]);return;case"translate":U.length===1?I.translate(U[0],0):U.length===2&&I.translate(U[0],U[1]);return;case"skewX":U.length===1&&I.skewX(U[0]);return;case"skewY":U.length===1&&I.skewY(U[0]);return}}}),I},TAU=Math.PI*2;function unit_vector_angle(C,E,I,B){var U=C*B-E*I<0?-1:1,V=C*I+E*B;return V>1&&(V=1),V<-1&&(V=-1),U*Math.acos(V)}function get_arc_center(C,E,I,B,U,V,X,Y,K,_e){var xe=_e*(C-I)/2+K*(E-B)/2,Z=-K*(C-I)/2+_e*(E-B)/2,J=X*X,Se=Y*Y,Te=xe*xe,Ae=Z*Z,Me=J*Se-J*Ae-Se*Te;Me<0&&(Me=0),Me/=J*Ae+Se*Te,Me=Math.sqrt(Me)*(U===V?-1:1);var Ee=Me*X/Y*Z,we=Me*-Y/X*xe,Pe=_e*Ee-K*we+(C+I)/2,Ie=K*Ee+_e*we+(E+B)/2,Fe=(xe-Ee)/X,Oe=(Z-we)/Y,$e=(-xe-Ee)/X,Le=(-Z-we)/Y,Ue=unit_vector_angle(1,0,Fe,Oe),He=unit_vector_angle(Fe,Oe,$e,Le);return V===0&&He>0&&(He-=TAU),V===1&&He<0&&(He+=TAU),[Pe,Ie,Ue,He]}function approximate_unit_arc(C,E){var I=1.3333333333333333*Math.tan(E/4),B=Math.cos(C),U=Math.sin(C),V=Math.cos(C+E),X=Math.sin(C+E);return[B,U,B-U*I,U+B*I,V+X*I,X-V*I,V,X]}var a2c$1=function(E,I,B,U,V,X,Y,K,_e){var xe=Math.sin(_e*TAU/360),Z=Math.cos(_e*TAU/360),J=Z*(E-B)/2+xe*(I-U)/2,Se=-xe*(E-B)/2+Z*(I-U)/2;if(J===0&&Se===0)return[];if(Y===0||K===0)return[];Y=Math.abs(Y),K=Math.abs(K);var Te=J*J/(Y*Y)+Se*Se/(K*K);Te>1&&(Y*=Math.sqrt(Te),K*=Math.sqrt(Te));var Ae=get_arc_center(E,I,B,U,V,X,Y,K,xe,Z),Me=[],Ee=Ae[2],we=Ae[3],Pe=Math.max(Math.ceil(Math.abs(we)/(TAU/4)),1);we/=Pe;for(var Ie=0;Ie<Pe;Ie++)Me.push(approximate_unit_arc(Ee,we)),Ee+=we;return Me.map(function(Fe){for(var Oe=0;Oe<Fe.length;Oe+=2){var $e=Fe[Oe+0],Le=Fe[Oe+1];$e*=Y,Le*=K;var Ue=Z*$e-xe*Le,He=xe*$e+Z*Le;Fe[Oe+0]=Ue+Ae[0],Fe[Oe+1]=He+Ae[1]}return Fe})},epsilon=1e-10,torad=Math.PI/180;function Ellipse(C,E,I){if(!(this instanceof Ellipse))return new Ellipse(C,E,I);this.rx=C,this.ry=E,this.ax=I}Ellipse.prototype.transform=function(C){var E=Math.cos(this.ax*torad),I=Math.sin(this.ax*torad),B=[this.rx*(C[0]*E+C[2]*I),this.rx*(C[1]*E+C[3]*I),this.ry*(-C[0]*I+C[2]*E),this.ry*(-C[1]*I+C[3]*E)],U=B[0]*B[0]+B[2]*B[2],V=B[1]*B[1]+B[3]*B[3],X=((B[0]-B[3])*(B[0]-B[3])+(B[2]+B[1])*(B[2]+B[1]))*((B[0]+B[3])*(B[0]+B[3])+(B[2]-B[1])*(B[2]-B[1])),Y=(U+V)/2;if(X<epsilon*Y)return this.rx=this.ry=Math.sqrt(Y),this.ax=0,this;var K=B[0]*B[1]+B[2]*B[3];X=Math.sqrt(X);var _e=Y+X/2,xe=Y-X/2;return this.ax=Math.abs(K)<epsilon&&Math.abs(_e-V)<epsilon?90:Math.atan(Math.abs(K)>Math.abs(_e-V)?(_e-U)/K:K/(_e-V))*180/Math.PI,this.ax>=0?(this.rx=Math.sqrt(_e),this.ry=Math.sqrt(xe)):(this.ax+=90,this.rx=Math.sqrt(xe),this.ry=Math.sqrt(_e)),this},Ellipse.prototype.isDegenerate=function(){return this.rx<epsilon*this.ry||this.ry<epsilon*this.rx};var ellipse$1=Ellipse,pathParse=path_parse,transformParse=transform_parse,matrix=matrix$1,a2c=a2c$1,ellipse=ellipse$1;function SvgPath(C){if(!(this instanceof SvgPath))return new SvgPath(C);var E=pathParse(C);this.segments=E.segments,this.err=E.err,this.__stack=[]}SvgPath.from=function(C){if(typeof C=="string")return new SvgPath(C);if(C instanceof SvgPath){var E=new SvgPath("");return E.err=C.err,E.segments=C.segments.map(function(I){return I.slice()}),E.__stack=C.__stack.map(function(I){return matrix().matrix(I.toArray())}),E}throw new Error("SvgPath.from: invalid param type "+C)},SvgPath.prototype.__matrix=function(C){var E=this,I;C.queue.length&&this.iterate(function(B,U,V,X){var Y,K,_e,xe;switch(B[0]){case"v":Y=C.calc(0,B[1],!0),K=Y[0]===0?["v",Y[1]]:["l",Y[0],Y[1]];break;case"V":Y=C.calc(V,B[1],!1),K=Y[0]===C.calc(V,X,!1)[0]?["V",Y[1]]:["L",Y[0],Y[1]];break;case"h":Y=C.calc(B[1],0,!0),K=Y[1]===0?["h",Y[0]]:["l",Y[0],Y[1]];break;case"H":Y=C.calc(B[1],X,!1),K=Y[1]===C.calc(V,X,!1)[1]?["H",Y[0]]:["L",Y[0],Y[1]];break;case"a":case"A":var Z=C.toArray(),J=ellipse(B[1],B[2],B[3]).transform(Z);if(Z[0]*Z[3]-Z[1]*Z[2]<0&&(B[5]=B[5]?"0":"1"),Y=C.calc(B[6],B[7],B[0]==="a"),B[0]==="A"&&B[6]===V&&B[7]===X||B[0]==="a"&&B[6]===0&&B[7]===0){K=[B[0]==="a"?"l":"L",Y[0],Y[1]];break}J.isDegenerate()?K=[B[0]==="a"?"l":"L",Y[0],Y[1]]:K=[B[0],J.rx,J.ry,J.ax,B[4],B[5],Y[0],Y[1]];break;case"m":xe=U>0,Y=C.calc(B[1],B[2],xe),K=["m",Y[0],Y[1]];break;default:for(_e=B[0],K=[_e],xe=_e.toLowerCase()===_e,I=1;I<B.length;I+=2)Y=C.calc(B[I],B[I+1],xe),K.push(Y[0],Y[1])}E.segments[U]=K},!0)},SvgPath.prototype.__evaluateStack=function(){var C,E;if(this.__stack.length){if(this.__stack.length===1){this.__matrix(this.__stack[0]),this.__stack=[];return}for(C=matrix(),E=this.__stack.length;--E>=0;)C.matrix(this.__stack[E].toArray());this.__matrix(C),this.__stack=[]}},SvgPath.prototype.toString=function(){var C="",E="",I=!1;this.__evaluateStack();for(var B=0,U=this.segments.length;B<U;B++){var V=this.segments[B],X=V[0];X!==E||X==="m"||X==="M"?(X==="m"&&E==="z"&&(C+=" "),C+=X,I=!1):I=!0;for(var Y=1;Y<V.length;Y++){var K=V[Y];Y===1?I&&K>=0&&(C+=" "):K>=0&&(C+=" "),C+=K}E=X}return C},SvgPath.prototype.translate=function(C,E){return this.__stack.push(matrix().translate(C,E||0)),this},SvgPath.prototype.scale=function(C,E){return this.__stack.push(matrix().scale(C,!E&&E!==0?C:E)),this},SvgPath.prototype.rotate=function(C,E,I){return this.__stack.push(matrix().rotate(C,E||0,I||0)),this},SvgPath.prototype.skewX=function(C){return this.__stack.push(matrix().skewX(C)),this},SvgPath.prototype.skewY=function(C){return this.__stack.push(matrix().skewY(C)),this},SvgPath.prototype.matrix=function(C){return this.__stack.push(matrix().matrix(C)),this},SvgPath.prototype.transform=function(C){return C.trim()?(this.__stack.push(transformParse(C)),this):this},SvgPath.prototype.round=function(C){var E=0,I=0,B=0,U=0,V;return C=C||0,this.__evaluateStack(),this.segments.forEach(function(X){var Y=X[0].toLowerCase()===X[0];switch(X[0]){case"H":case"h":Y&&(X[1]+=B),B=X[1]-X[1].toFixed(C),X[1]=+X[1].toFixed(C);return;case"V":case"v":Y&&(X[1]+=U),U=X[1]-X[1].toFixed(C),X[1]=+X[1].toFixed(C);return;case"Z":case"z":B=E,U=I;return;case"M":case"m":Y&&(X[1]+=B,X[2]+=U),B=X[1]-X[1].toFixed(C),U=X[2]-X[2].toFixed(C),E=B,I=U,X[1]=+X[1].toFixed(C),X[2]=+X[2].toFixed(C);return;case"A":case"a":Y&&(X[6]+=B,X[7]+=U),B=X[6]-X[6].toFixed(C),U=X[7]-X[7].toFixed(C),X[1]=+X[1].toFixed(C),X[2]=+X[2].toFixed(C),X[3]=+X[3].toFixed(C+2),X[6]=+X[6].toFixed(C),X[7]=+X[7].toFixed(C);return;default:V=X.length,Y&&(X[V-2]+=B,X[V-1]+=U),B=X[V-2]-X[V-2].toFixed(C),U=X[V-1]-X[V-1].toFixed(C),X.forEach(function(K,_e){_e&&(X[_e]=+X[_e].toFixed(C))});return}}),this},SvgPath.prototype.iterate=function(C,E){var I=this.segments,B={},U=!1,V=0,X=0,Y=0,K=0,_e,xe,Z;if(E||this.__evaluateStack(),I.forEach(function(J,Se){var Te=C(J,Se,V,X);Array.isArray(Te)&&(B[Se]=Te,U=!0);var Ae=J[0]===J[0].toLowerCase();switch(J[0]){case"m":case"M":V=J[1]+(Ae?V:0),X=J[2]+(Ae?X:0),Y=V,K=X;return;case"h":case"H":V=J[1]+(Ae?V:0);return;case"v":case"V":X=J[1]+(Ae?X:0);return;case"z":case"Z":V=Y,X=K;return;default:V=J[J.length-2]+(Ae?V:0),X=J[J.length-1]+(Ae?X:0)}}),!U)return this;for(Z=[],_e=0;_e<I.length;_e++)if(typeof B[_e]<"u")for(xe=0;xe<B[_e].length;xe++)Z.push(B[_e][xe]);else Z.push(I[_e]);return this.segments=Z,this},SvgPath.prototype.abs=function(){return this.iterate(function(C,E,I,B){var U=C[0],V=U.toUpperCase(),X;if(U!==V)switch(C[0]=V,U){case"v":C[1]+=B;return;case"a":C[6]+=I,C[7]+=B;return;default:for(X=1;X<C.length;X++)C[X]+=X%2?I:B}},!0),this},SvgPath.prototype.rel=function(){return this.iterate(function(C,E,I,B){var U=C[0],V=U.toLowerCase(),X;if(U!==V&&!(E===0&&U==="M"))switch(C[0]=V,U){case"V":C[1]-=B;return;case"A":C[6]-=I,C[7]-=B;return;default:for(X=1;X<C.length;X++)C[X]-=X%2?I:B}},!0),this},SvgPath.prototype.unarc=function(){return this.iterate(function(C,E,I,B){var U,V,X,Y=[],K=C[0];return K!=="A"&&K!=="a"?null:(K==="a"?(V=I+C[6],X=B+C[7]):(V=C[6],X=C[7]),U=a2c(I,B,V,X,C[4],C[5],C[1],C[2],C[3]),U.length===0?[[C[0]==="a"?"l":"L",C[6],C[7]]]:(U.forEach(function(_e){Y.push(["C",_e[2],_e[3],_e[4],_e[5],_e[6],_e[7]])}),Y))}),this},SvgPath.prototype.unshort=function(){var C=this.segments,E,I,B,U,V;return this.iterate(function(X,Y,K,_e){var xe=X[0],Z=xe.toUpperCase(),J;Y&&(Z==="T"?(J=xe==="t",B=C[Y-1],B[0]==="Q"?(E=B[1]-K,I=B[2]-_e):B[0]==="q"?(E=B[1]-B[3],I=B[2]-B[4]):(E=0,I=0),U=-E,V=-I,J||(U+=K,V+=_e),C[Y]=[J?"q":"Q",U,V,X[1],X[2]]):Z==="S"&&(J=xe==="s",B=C[Y-1],B[0]==="C"?(E=B[3]-K,I=B[4]-_e):B[0]==="c"?(E=B[3]-B[5],I=B[4]-B[6]):(E=0,I=0),U=-E,V=-I,J||(U+=K,V+=_e),C[Y]=[J?"c":"C",U,V,X[1],X[2],X[3],X[4]]))}),this};var svgpath$2=SvgPath,svgpath=svgpath$2;const svgpath$1=getDefaultExportFromCjs(svgpath),PixiSvgPathSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(null),U=React.useRef(null),V=React.useRef(null),X=React.useRef(null),{path:Y,visible:K,disabled:_e,transformation:{x:xe,y:Z,width:J,height:Se,anchor:Te,hexColor:Ae,fill:Me,stroke:Ee="none",strokeWidth:we=0,colorCorrection:Pe={}},pointerdown:Ie,pointerup:Fe}=C,Oe=react.useApp(),{temperatureFilter:$e,sharpnessFilter:Le,hueFilter:Ue,blurFilter:He,adjustmentFilter:We,vignetteFilter:je,noiseFilter:Ve}=withFiltersHook(Pe),{blurRadius:ze=0,vignette:Xe=0,noise:De=0}=Pe;return React__namespace.useEffect(()=>{const Be=svgpath$1(Y).scale(5).translate(0,0).toString(),Re=`<svg xmlns="http://www.w3.org/2000/svg" width="${J}" height="${Se}">
1970
- <path stroke="${Ee}" stroke-width="${we}" fill="${Ae||Me}" d="${Be}">
1971
- </path>
1972
- </svg>`,ke=new SVG(Re),Ge=Oe.renderer.generateTexture(ke);return B(Ge),()=>{}},[Oe,Y,Ee,we,Ae,Me]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,children:jsxRuntimeExports.jsx(react.Container,{ref:V,children:jsxRuntimeExports.jsx(react.Container,{ref:X,children:I&&jsxRuntimeExports.jsx(react.Sprite,{texture:I,width:J,height:Se,anchor:Te,ref:U,x:xe,y:Z,alpha:K?1:0,...!_e&&K&&{interactive:!0,pointerdown:Ie,pointerup:Fe},filters:[$e,Le,Ue,We,...ze>0?[He]:[],...Xe>0?[je]:[],...De>0?[Ve]:[]]})})})})});var howler={};/*!
1973
- * howler.js v2.2.3
1974
- * howlerjs.com
1975
- *
1976
- * (c) 2013-2020, James Simpson of GoldFire Studios
1977
- * goldfirestudios.com
1978
- *
1979
- * MIT License
1980
- */(function(C){(function(){var E=function(){this.init()};E.prototype={init:function(){var Z=this||I;return Z._counter=1e3,Z._html5AudioPool=[],Z.html5PoolSize=10,Z._codecs={},Z._howls=[],Z._muted=!1,Z._volume=1,Z._canPlayEvent="canplaythrough",Z._navigator=typeof window<"u"&&window.navigator?window.navigator:null,Z.masterGain=null,Z.noAudio=!1,Z.usingWebAudio=!0,Z.autoSuspend=!0,Z.ctx=null,Z.autoUnlock=!0,Z._setup(),Z},volume:function(Z){var J=this||I;if(Z=parseFloat(Z),J.ctx||xe(),typeof Z<"u"&&Z>=0&&Z<=1){if(J._volume=Z,J._muted)return J;J.usingWebAudio&&J.masterGain.gain.setValueAtTime(Z,I.ctx.currentTime);for(var Se=0;Se<J._howls.length;Se++)if(!J._howls[Se]._webAudio)for(var Te=J._howls[Se]._getSoundIds(),Ae=0;Ae<Te.length;Ae++){var Me=J._howls[Se]._soundById(Te[Ae]);Me&&Me._node&&(Me._node.volume=Me._volume*Z)}return J}return J._volume},mute:function(Z){var J=this||I;J.ctx||xe(),J._muted=Z,J.usingWebAudio&&J.masterGain.gain.setValueAtTime(Z?0:J._volume,I.ctx.currentTime);for(var Se=0;Se<J._howls.length;Se++)if(!J._howls[Se]._webAudio)for(var Te=J._howls[Se]._getSoundIds(),Ae=0;Ae<Te.length;Ae++){var Me=J._howls[Se]._soundById(Te[Ae]);Me&&Me._node&&(Me._node.muted=Z?!0:Me._muted)}return J},stop:function(){for(var Z=this||I,J=0;J<Z._howls.length;J++)Z._howls[J].stop();return Z},unload:function(){for(var Z=this||I,J=Z._howls.length-1;J>=0;J--)Z._howls[J].unload();return Z.usingWebAudio&&Z.ctx&&typeof Z.ctx.close<"u"&&(Z.ctx.close(),Z.ctx=null,xe()),Z},codecs:function(Z){return(this||I)._codecs[Z.replace(/^x-/,"")]},_setup:function(){var Z=this||I;if(Z.state=Z.ctx&&Z.ctx.state||"suspended",Z._autoSuspend(),!Z.usingWebAudio)if(typeof Audio<"u")try{var J=new Audio;typeof J.oncanplaythrough>"u"&&(Z._canPlayEvent="canplay")}catch{Z.noAudio=!0}else Z.noAudio=!0;try{var J=new Audio;J.muted&&(Z.noAudio=!0)}catch{}return Z.noAudio||Z._setupCodecs(),Z},_setupCodecs:function(){var Z=this||I,J=null;try{J=typeof Audio<"u"?new Audio:null}catch{return Z}if(!J||typeof J.canPlayType!="function")return Z;var Se=J.canPlayType("audio/mpeg;").replace(/^no$/,""),Te=Z._navigator?Z._navigator.userAgent:"",Ae=Te.match(/OPR\/([0-6].)/g),Me=Ae&&parseInt(Ae[0].split("/")[1],10)<33,Ee=Te.indexOf("Safari")!==-1&&Te.indexOf("Chrome")===-1,we=Te.match(/Version\/(.*?) /),Pe=Ee&&we&&parseInt(we[1],10)<15;return Z._codecs={mp3:!!(!Me&&(Se||J.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!Se,opus:!!J.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!J.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!J.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(J.canPlayType('audio/wav; codecs="1"')||J.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!J.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!J.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(J.canPlayType("audio/x-m4a;")||J.canPlayType("audio/m4a;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(J.canPlayType("audio/x-m4b;")||J.canPlayType("audio/m4b;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(J.canPlayType("audio/x-mp4;")||J.canPlayType("audio/mp4;")||J.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!Pe&&J.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!Pe&&J.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!J.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(J.canPlayType("audio/x-flac;")||J.canPlayType("audio/flac;")).replace(/^no$/,"")},Z},_unlockAudio:function(){var Z=this||I;if(!(Z._audioUnlocked||!Z.ctx)){Z._audioUnlocked=!1,Z.autoUnlock=!1,!Z._mobileUnloaded&&Z.ctx.sampleRate!==44100&&(Z._mobileUnloaded=!0,Z.unload()),Z._scratchBuffer=Z.ctx.createBuffer(1,1,22050);var J=function(Se){for(;Z._html5AudioPool.length<Z.html5PoolSize;)try{var Te=new Audio;Te._unlocked=!0,Z._releaseHtml5Audio(Te)}catch{Z.noAudio=!0;break}for(var Ae=0;Ae<Z._howls.length;Ae++)if(!Z._howls[Ae]._webAudio)for(var Me=Z._howls[Ae]._getSoundIds(),Ee=0;Ee<Me.length;Ee++){var we=Z._howls[Ae]._soundById(Me[Ee]);we&&we._node&&!we._node._unlocked&&(we._node._unlocked=!0,we._node.load())}Z._autoResume();var Pe=Z.ctx.createBufferSource();Pe.buffer=Z._scratchBuffer,Pe.connect(Z.ctx.destination),typeof Pe.start>"u"?Pe.noteOn(0):Pe.start(0),typeof Z.ctx.resume=="function"&&Z.ctx.resume(),Pe.onended=function(){Pe.disconnect(0),Z._audioUnlocked=!0,document.removeEventListener("touchstart",J,!0),document.removeEventListener("touchend",J,!0),document.removeEventListener("click",J,!0),document.removeEventListener("keydown",J,!0);for(var Ie=0;Ie<Z._howls.length;Ie++)Z._howls[Ie]._emit("unlock")}};return document.addEventListener("touchstart",J,!0),document.addEventListener("touchend",J,!0),document.addEventListener("click",J,!0),document.addEventListener("keydown",J,!0),Z}},_obtainHtml5Audio:function(){var Z=this||I;if(Z._html5AudioPool.length)return Z._html5AudioPool.pop();var J=new Audio().play();return J&&typeof Promise<"u"&&(J instanceof Promise||typeof J.then=="function")&&J.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(Z){var J=this||I;return Z._unlocked&&J._html5AudioPool.push(Z),J},_autoSuspend:function(){var Z=this;if(!(!Z.autoSuspend||!Z.ctx||typeof Z.ctx.suspend>"u"||!I.usingWebAudio)){for(var J=0;J<Z._howls.length;J++)if(Z._howls[J]._webAudio){for(var Se=0;Se<Z._howls[J]._sounds.length;Se++)if(!Z._howls[J]._sounds[Se]._paused)return Z}return Z._suspendTimer&&clearTimeout(Z._suspendTimer),Z._suspendTimer=setTimeout(function(){if(Z.autoSuspend){Z._suspendTimer=null,Z.state="suspending";var Te=function(){Z.state="suspended",Z._resumeAfterSuspend&&(delete Z._resumeAfterSuspend,Z._autoResume())};Z.ctx.suspend().then(Te,Te)}},3e4),Z}},_autoResume:function(){var Z=this;if(!(!Z.ctx||typeof Z.ctx.resume>"u"||!I.usingWebAudio))return Z.state==="running"&&Z.ctx.state!=="interrupted"&&Z._suspendTimer?(clearTimeout(Z._suspendTimer),Z._suspendTimer=null):Z.state==="suspended"||Z.state==="running"&&Z.ctx.state==="interrupted"?(Z.ctx.resume().then(function(){Z.state="running";for(var J=0;J<Z._howls.length;J++)Z._howls[J]._emit("resume")}),Z._suspendTimer&&(clearTimeout(Z._suspendTimer),Z._suspendTimer=null)):Z.state==="suspending"&&(Z._resumeAfterSuspend=!0),Z}};var I=new E,B=function(Z){var J=this;if(!Z.src||Z.src.length===0){console.error("An array of source files must be passed with any new Howl.");return}J.init(Z)};B.prototype={init:function(Z){var J=this;return I.ctx||xe(),J._autoplay=Z.autoplay||!1,J._format=typeof Z.format!="string"?Z.format:[Z.format],J._html5=Z.html5||!1,J._muted=Z.mute||!1,J._loop=Z.loop||!1,J._pool=Z.pool||5,J._preload=typeof Z.preload=="boolean"||Z.preload==="metadata"?Z.preload:!0,J._rate=Z.rate||1,J._sprite=Z.sprite||{},J._src=typeof Z.src!="string"?Z.src:[Z.src],J._volume=Z.volume!==void 0?Z.volume:1,J._xhr={method:Z.xhr&&Z.xhr.method?Z.xhr.method:"GET",headers:Z.xhr&&Z.xhr.headers?Z.xhr.headers:null,withCredentials:Z.xhr&&Z.xhr.withCredentials?Z.xhr.withCredentials:!1},J._duration=0,J._state="unloaded",J._sounds=[],J._endTimers={},J._queue=[],J._playLock=!1,J._onend=Z.onend?[{fn:Z.onend}]:[],J._onfade=Z.onfade?[{fn:Z.onfade}]:[],J._onload=Z.onload?[{fn:Z.onload}]:[],J._onloaderror=Z.onloaderror?[{fn:Z.onloaderror}]:[],J._onplayerror=Z.onplayerror?[{fn:Z.onplayerror}]:[],J._onpause=Z.onpause?[{fn:Z.onpause}]:[],J._onplay=Z.onplay?[{fn:Z.onplay}]:[],J._onstop=Z.onstop?[{fn:Z.onstop}]:[],J._onmute=Z.onmute?[{fn:Z.onmute}]:[],J._onvolume=Z.onvolume?[{fn:Z.onvolume}]:[],J._onrate=Z.onrate?[{fn:Z.onrate}]:[],J._onseek=Z.onseek?[{fn:Z.onseek}]:[],J._onunlock=Z.onunlock?[{fn:Z.onunlock}]:[],J._onresume=[],J._webAudio=I.usingWebAudio&&!J._html5,typeof I.ctx<"u"&&I.ctx&&I.autoUnlock&&I._unlockAudio(),I._howls.push(J),J._autoplay&&J._queue.push({event:"play",action:function(){J.play()}}),J._preload&&J._preload!=="none"&&J.load(),J},load:function(){var Z=this,J=null;if(I.noAudio){Z._emit("loaderror",null,"No audio support.");return}typeof Z._src=="string"&&(Z._src=[Z._src]);for(var Se=0;Se<Z._src.length;Se++){var Te,Ae;if(Z._format&&Z._format[Se])Te=Z._format[Se];else{if(Ae=Z._src[Se],typeof Ae!="string"){Z._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}Te=/^data:audio\/([^;,]+);/i.exec(Ae),Te||(Te=/\.([^.]+)$/.exec(Ae.split("?",1)[0])),Te&&(Te=Te[1].toLowerCase())}if(Te||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),Te&&I.codecs(Te)){J=Z._src[Se];break}}if(!J){Z._emit("loaderror",null,"No codec support for selected audio sources.");return}return Z._src=J,Z._state="loading",window.location.protocol==="https:"&&J.slice(0,5)==="http:"&&(Z._html5=!0,Z._webAudio=!1),new U(Z),Z._webAudio&&X(Z),Z},play:function(Z,J){var Se=this,Te=null;if(typeof Z=="number")Te=Z,Z=null;else{if(typeof Z=="string"&&Se._state==="loaded"&&!Se._sprite[Z])return null;if(typeof Z>"u"&&(Z="__default",!Se._playLock)){for(var Ae=0,Me=0;Me<Se._sounds.length;Me++)Se._sounds[Me]._paused&&!Se._sounds[Me]._ended&&(Ae++,Te=Se._sounds[Me]._id);Ae===1?Z=null:Te=null}}var Ee=Te?Se._soundById(Te):Se._inactiveSound();if(!Ee)return null;if(Te&&!Z&&(Z=Ee._sprite||"__default"),Se._state!=="loaded"){Ee._sprite=Z,Ee._ended=!1;var we=Ee._id;return Se._queue.push({event:"play",action:function(){Se.play(we)}}),we}if(Te&&!Ee._paused)return J||Se._loadQueue("play"),Ee._id;Se._webAudio&&I._autoResume();var Pe=Math.max(0,Ee._seek>0?Ee._seek:Se._sprite[Z][0]/1e3),Ie=Math.max(0,(Se._sprite[Z][0]+Se._sprite[Z][1])/1e3-Pe),Fe=Ie*1e3/Math.abs(Ee._rate),Oe=Se._sprite[Z][0]/1e3,$e=(Se._sprite[Z][0]+Se._sprite[Z][1])/1e3;Ee._sprite=Z,Ee._ended=!1;var Le=function(){Ee._paused=!1,Ee._seek=Pe,Ee._start=Oe,Ee._stop=$e,Ee._loop=!!(Ee._loop||Se._sprite[Z][2])};if(Pe>=$e){Se._ended(Ee);return}var Ue=Ee._node;if(Se._webAudio){var He=function(){Se._playLock=!1,Le(),Se._refreshBuffer(Ee);var ze=Ee._muted||Se._muted?0:Ee._volume;Ue.gain.setValueAtTime(ze,I.ctx.currentTime),Ee._playStart=I.ctx.currentTime,typeof Ue.bufferSource.start>"u"?Ee._loop?Ue.bufferSource.noteGrainOn(0,Pe,86400):Ue.bufferSource.noteGrainOn(0,Pe,Ie):Ee._loop?Ue.bufferSource.start(0,Pe,86400):Ue.bufferSource.start(0,Pe,Ie),Fe!==1/0&&(Se._endTimers[Ee._id]=setTimeout(Se._ended.bind(Se,Ee),Fe)),J||setTimeout(function(){Se._emit("play",Ee._id),Se._loadQueue()},0)};I.state==="running"&&I.ctx.state!=="interrupted"?He():(Se._playLock=!0,Se.once("resume",He),Se._clearTimer(Ee._id))}else{var We=function(){Ue.currentTime=Pe,Ue.muted=Ee._muted||Se._muted||I._muted||Ue.muted,Ue.volume=Ee._volume*I.volume(),Ue.playbackRate=Ee._rate;try{var ze=Ue.play();if(ze&&typeof Promise<"u"&&(ze instanceof Promise||typeof ze.then=="function")?(Se._playLock=!0,Le(),ze.then(function(){Se._playLock=!1,Ue._unlocked=!0,J?Se._loadQueue():Se._emit("play",Ee._id)}).catch(function(){Se._playLock=!1,Se._emit("playerror",Ee._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),Ee._ended=!0,Ee._paused=!0})):J||(Se._playLock=!1,Le(),Se._emit("play",Ee._id)),Ue.playbackRate=Ee._rate,Ue.paused){Se._emit("playerror",Ee._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}Z!=="__default"||Ee._loop?Se._endTimers[Ee._id]=setTimeout(Se._ended.bind(Se,Ee),Fe):(Se._endTimers[Ee._id]=function(){Se._ended(Ee),Ue.removeEventListener("ended",Se._endTimers[Ee._id],!1)},Ue.addEventListener("ended",Se._endTimers[Ee._id],!1))}catch(Xe){Se._emit("playerror",Ee._id,Xe)}};Ue.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(Ue.src=Se._src,Ue.load());var je=window&&window.ejecta||!Ue.readyState&&I._navigator.isCocoonJS;if(Ue.readyState>=3||je)We();else{Se._playLock=!0,Se._state="loading";var Ve=function(){Se._state="loaded",We(),Ue.removeEventListener(I._canPlayEvent,Ve,!1)};Ue.addEventListener(I._canPlayEvent,Ve,!1),Se._clearTimer(Ee._id)}}return Ee._id},pause:function(Z){var J=this;if(J._state!=="loaded"||J._playLock)return J._queue.push({event:"pause",action:function(){J.pause(Z)}}),J;for(var Se=J._getSoundIds(Z),Te=0;Te<Se.length;Te++){J._clearTimer(Se[Te]);var Ae=J._soundById(Se[Te]);if(Ae&&!Ae._paused&&(Ae._seek=J.seek(Se[Te]),Ae._rateSeek=0,Ae._paused=!0,J._stopFade(Se[Te]),Ae._node))if(J._webAudio){if(!Ae._node.bufferSource)continue;typeof Ae._node.bufferSource.stop>"u"?Ae._node.bufferSource.noteOff(0):Ae._node.bufferSource.stop(0),J._cleanBuffer(Ae._node)}else(!isNaN(Ae._node.duration)||Ae._node.duration===1/0)&&Ae._node.pause();arguments[1]||J._emit("pause",Ae?Ae._id:null)}return J},stop:function(Z,J){var Se=this;if(Se._state!=="loaded"||Se._playLock)return Se._queue.push({event:"stop",action:function(){Se.stop(Z)}}),Se;for(var Te=Se._getSoundIds(Z),Ae=0;Ae<Te.length;Ae++){Se._clearTimer(Te[Ae]);var Me=Se._soundById(Te[Ae]);Me&&(Me._seek=Me._start||0,Me._rateSeek=0,Me._paused=!0,Me._ended=!0,Se._stopFade(Te[Ae]),Me._node&&(Se._webAudio?Me._node.bufferSource&&(typeof Me._node.bufferSource.stop>"u"?Me._node.bufferSource.noteOff(0):Me._node.bufferSource.stop(0),Se._cleanBuffer(Me._node)):(!isNaN(Me._node.duration)||Me._node.duration===1/0)&&(Me._node.currentTime=Me._start||0,Me._node.pause(),Me._node.duration===1/0&&Se._clearSound(Me._node))),J||Se._emit("stop",Me._id))}return Se},mute:function(Z,J){var Se=this;if(Se._state!=="loaded"||Se._playLock)return Se._queue.push({event:"mute",action:function(){Se.mute(Z,J)}}),Se;if(typeof J>"u")if(typeof Z=="boolean")Se._muted=Z;else return Se._muted;for(var Te=Se._getSoundIds(J),Ae=0;Ae<Te.length;Ae++){var Me=Se._soundById(Te[Ae]);Me&&(Me._muted=Z,Me._interval&&Se._stopFade(Me._id),Se._webAudio&&Me._node?Me._node.gain.setValueAtTime(Z?0:Me._volume,I.ctx.currentTime):Me._node&&(Me._node.muted=I._muted?!0:Z),Se._emit("mute",Me._id))}return Se},volume:function(){var Z=this,J=arguments,Se,Te;if(J.length===0)return Z._volume;if(J.length===1||J.length===2&&typeof J[1]>"u"){var Ae=Z._getSoundIds(),Me=Ae.indexOf(J[0]);Me>=0?Te=parseInt(J[0],10):Se=parseFloat(J[0])}else J.length>=2&&(Se=parseFloat(J[0]),Te=parseInt(J[1],10));var Ee;if(typeof Se<"u"&&Se>=0&&Se<=1){if(Z._state!=="loaded"||Z._playLock)return Z._queue.push({event:"volume",action:function(){Z.volume.apply(Z,J)}}),Z;typeof Te>"u"&&(Z._volume=Se),Te=Z._getSoundIds(Te);for(var we=0;we<Te.length;we++)Ee=Z._soundById(Te[we]),Ee&&(Ee._volume=Se,J[2]||Z._stopFade(Te[we]),Z._webAudio&&Ee._node&&!Ee._muted?Ee._node.gain.setValueAtTime(Se,I.ctx.currentTime):Ee._node&&!Ee._muted&&(Ee._node.volume=Se*I.volume()),Z._emit("volume",Ee._id))}else return Ee=Te?Z._soundById(Te):Z._sounds[0],Ee?Ee._volume:0;return Z},fade:function(Z,J,Se,Te){var Ae=this;if(Ae._state!=="loaded"||Ae._playLock)return Ae._queue.push({event:"fade",action:function(){Ae.fade(Z,J,Se,Te)}}),Ae;Z=Math.min(Math.max(0,parseFloat(Z)),1),J=Math.min(Math.max(0,parseFloat(J)),1),Se=parseFloat(Se),Ae.volume(Z,Te);for(var Me=Ae._getSoundIds(Te),Ee=0;Ee<Me.length;Ee++){var we=Ae._soundById(Me[Ee]);if(we){if(Te||Ae._stopFade(Me[Ee]),Ae._webAudio&&!we._muted){var Pe=I.ctx.currentTime,Ie=Pe+Se/1e3;we._volume=Z,we._node.gain.setValueAtTime(Z,Pe),we._node.gain.linearRampToValueAtTime(J,Ie)}Ae._startFadeInterval(we,Z,J,Se,Me[Ee],typeof Te>"u")}}return Ae},_startFadeInterval:function(Z,J,Se,Te,Ae,Me){var Ee=this,we=J,Pe=Se-J,Ie=Math.abs(Pe/.01),Fe=Math.max(4,Ie>0?Te/Ie:Te),Oe=Date.now();Z._fadeTo=Se,Z._interval=setInterval(function(){var $e=(Date.now()-Oe)/Te;Oe=Date.now(),we+=Pe*$e,we=Math.round(we*100)/100,Pe<0?we=Math.max(Se,we):we=Math.min(Se,we),Ee._webAudio?Z._volume=we:Ee.volume(we,Z._id,!0),Me&&(Ee._volume=we),(Se<J&&we<=Se||Se>J&&we>=Se)&&(clearInterval(Z._interval),Z._interval=null,Z._fadeTo=null,Ee.volume(Se,Z._id),Ee._emit("fade",Z._id))},Fe)},_stopFade:function(Z){var J=this,Se=J._soundById(Z);return Se&&Se._interval&&(J._webAudio&&Se._node.gain.cancelScheduledValues(I.ctx.currentTime),clearInterval(Se._interval),Se._interval=null,J.volume(Se._fadeTo,Z),Se._fadeTo=null,J._emit("fade",Z)),J},loop:function(){var Z=this,J=arguments,Se,Te,Ae;if(J.length===0)return Z._loop;if(J.length===1)if(typeof J[0]=="boolean")Se=J[0],Z._loop=Se;else return Ae=Z._soundById(parseInt(J[0],10)),Ae?Ae._loop:!1;else J.length===2&&(Se=J[0],Te=parseInt(J[1],10));for(var Me=Z._getSoundIds(Te),Ee=0;Ee<Me.length;Ee++)Ae=Z._soundById(Me[Ee]),Ae&&(Ae._loop=Se,Z._webAudio&&Ae._node&&Ae._node.bufferSource&&(Ae._node.bufferSource.loop=Se,Se&&(Ae._node.bufferSource.loopStart=Ae._start||0,Ae._node.bufferSource.loopEnd=Ae._stop,Z.playing(Me[Ee])&&(Z.pause(Me[Ee],!0),Z.play(Me[Ee],!0)))));return Z},rate:function(){var Z=this,J=arguments,Se,Te;if(J.length===0)Te=Z._sounds[0]._id;else if(J.length===1){var Ae=Z._getSoundIds(),Me=Ae.indexOf(J[0]);Me>=0?Te=parseInt(J[0],10):Se=parseFloat(J[0])}else J.length===2&&(Se=parseFloat(J[0]),Te=parseInt(J[1],10));var Ee;if(typeof Se=="number"){if(Z._state!=="loaded"||Z._playLock)return Z._queue.push({event:"rate",action:function(){Z.rate.apply(Z,J)}}),Z;typeof Te>"u"&&(Z._rate=Se),Te=Z._getSoundIds(Te);for(var we=0;we<Te.length;we++)if(Ee=Z._soundById(Te[we]),Ee){Z.playing(Te[we])&&(Ee._rateSeek=Z.seek(Te[we]),Ee._playStart=Z._webAudio?I.ctx.currentTime:Ee._playStart),Ee._rate=Se,Z._webAudio&&Ee._node&&Ee._node.bufferSource?Ee._node.bufferSource.playbackRate.setValueAtTime(Se,I.ctx.currentTime):Ee._node&&(Ee._node.playbackRate=Se);var Pe=Z.seek(Te[we]),Ie=(Z._sprite[Ee._sprite][0]+Z._sprite[Ee._sprite][1])/1e3-Pe,Fe=Ie*1e3/Math.abs(Ee._rate);(Z._endTimers[Te[we]]||!Ee._paused)&&(Z._clearTimer(Te[we]),Z._endTimers[Te[we]]=setTimeout(Z._ended.bind(Z,Ee),Fe)),Z._emit("rate",Ee._id)}}else return Ee=Z._soundById(Te),Ee?Ee._rate:Z._rate;return Z},seek:function(){var Z=this,J=arguments,Se,Te;if(J.length===0)Z._sounds.length&&(Te=Z._sounds[0]._id);else if(J.length===1){var Ae=Z._getSoundIds(),Me=Ae.indexOf(J[0]);Me>=0?Te=parseInt(J[0],10):Z._sounds.length&&(Te=Z._sounds[0]._id,Se=parseFloat(J[0]))}else J.length===2&&(Se=parseFloat(J[0]),Te=parseInt(J[1],10));if(typeof Te>"u")return 0;if(typeof Se=="number"&&(Z._state!=="loaded"||Z._playLock))return Z._queue.push({event:"seek",action:function(){Z.seek.apply(Z,J)}}),Z;var Ee=Z._soundById(Te);if(Ee)if(typeof Se=="number"&&Se>=0){var we=Z.playing(Te);we&&Z.pause(Te,!0),Ee._seek=Se,Ee._ended=!1,Z._clearTimer(Te),!Z._webAudio&&Ee._node&&!isNaN(Ee._node.duration)&&(Ee._node.currentTime=Se);var Pe=function(){we&&Z.play(Te,!0),Z._emit("seek",Te)};if(we&&!Z._webAudio){var Ie=function(){Z._playLock?setTimeout(Ie,0):Pe()};setTimeout(Ie,0)}else Pe()}else if(Z._webAudio){var Fe=Z.playing(Te)?I.ctx.currentTime-Ee._playStart:0,Oe=Ee._rateSeek?Ee._rateSeek-Ee._seek:0;return Ee._seek+(Oe+Fe*Math.abs(Ee._rate))}else return Ee._node.currentTime;return Z},playing:function(Z){var J=this;if(typeof Z=="number"){var Se=J._soundById(Z);return Se?!Se._paused:!1}for(var Te=0;Te<J._sounds.length;Te++)if(!J._sounds[Te]._paused)return!0;return!1},duration:function(Z){var J=this,Se=J._duration,Te=J._soundById(Z);return Te&&(Se=J._sprite[Te._sprite][1]/1e3),Se},state:function(){return this._state},unload:function(){for(var Z=this,J=Z._sounds,Se=0;Se<J.length;Se++)J[Se]._paused||Z.stop(J[Se]._id),Z._webAudio||(Z._clearSound(J[Se]._node),J[Se]._node.removeEventListener("error",J[Se]._errorFn,!1),J[Se]._node.removeEventListener(I._canPlayEvent,J[Se]._loadFn,!1),J[Se]._node.removeEventListener("ended",J[Se]._endFn,!1),I._releaseHtml5Audio(J[Se]._node)),delete J[Se]._node,Z._clearTimer(J[Se]._id);var Te=I._howls.indexOf(Z);Te>=0&&I._howls.splice(Te,1);var Ae=!0;for(Se=0;Se<I._howls.length;Se++)if(I._howls[Se]._src===Z._src||Z._src.indexOf(I._howls[Se]._src)>=0){Ae=!1;break}return V&&Ae&&delete V[Z._src],I.noAudio=!1,Z._state="unloaded",Z._sounds=[],Z=null,null},on:function(Z,J,Se,Te){var Ae=this,Me=Ae["_on"+Z];return typeof J=="function"&&Me.push(Te?{id:Se,fn:J,once:Te}:{id:Se,fn:J}),Ae},off:function(Z,J,Se){var Te=this,Ae=Te["_on"+Z],Me=0;if(typeof J=="number"&&(Se=J,J=null),J||Se)for(Me=0;Me<Ae.length;Me++){var Ee=Se===Ae[Me].id;if(J===Ae[Me].fn&&Ee||!J&&Ee){Ae.splice(Me,1);break}}else if(Z)Te["_on"+Z]=[];else{var we=Object.keys(Te);for(Me=0;Me<we.length;Me++)we[Me].indexOf("_on")===0&&Array.isArray(Te[we[Me]])&&(Te[we[Me]]=[])}return Te},once:function(Z,J,Se){var Te=this;return Te.on(Z,J,Se,1),Te},_emit:function(Z,J,Se){for(var Te=this,Ae=Te["_on"+Z],Me=Ae.length-1;Me>=0;Me--)(!Ae[Me].id||Ae[Me].id===J||Z==="load")&&(setTimeout((function(Ee){Ee.call(this,J,Se)}).bind(Te,Ae[Me].fn),0),Ae[Me].once&&Te.off(Z,Ae[Me].fn,Ae[Me].id));return Te._loadQueue(Z),Te},_loadQueue:function(Z){var J=this;if(J._queue.length>0){var Se=J._queue[0];Se.event===Z&&(J._queue.shift(),J._loadQueue()),Z||Se.action()}return J},_ended:function(Z){var J=this,Se=Z._sprite;if(!J._webAudio&&Z._node&&!Z._node.paused&&!Z._node.ended&&Z._node.currentTime<Z._stop)return setTimeout(J._ended.bind(J,Z),100),J;var Te=!!(Z._loop||J._sprite[Se][2]);if(J._emit("end",Z._id),!J._webAudio&&Te&&J.stop(Z._id,!0).play(Z._id),J._webAudio&&Te){J._emit("play",Z._id),Z._seek=Z._start||0,Z._rateSeek=0,Z._playStart=I.ctx.currentTime;var Ae=(Z._stop-Z._start)*1e3/Math.abs(Z._rate);J._endTimers[Z._id]=setTimeout(J._ended.bind(J,Z),Ae)}return J._webAudio&&!Te&&(Z._paused=!0,Z._ended=!0,Z._seek=Z._start||0,Z._rateSeek=0,J._clearTimer(Z._id),J._cleanBuffer(Z._node),I._autoSuspend()),!J._webAudio&&!Te&&J.stop(Z._id,!0),J},_clearTimer:function(Z){var J=this;if(J._endTimers[Z]){if(typeof J._endTimers[Z]!="function")clearTimeout(J._endTimers[Z]);else{var Se=J._soundById(Z);Se&&Se._node&&Se._node.removeEventListener("ended",J._endTimers[Z],!1)}delete J._endTimers[Z]}return J},_soundById:function(Z){for(var J=this,Se=0;Se<J._sounds.length;Se++)if(Z===J._sounds[Se]._id)return J._sounds[Se];return null},_inactiveSound:function(){var Z=this;Z._drain();for(var J=0;J<Z._sounds.length;J++)if(Z._sounds[J]._ended)return Z._sounds[J].reset();return new U(Z)},_drain:function(){var Z=this,J=Z._pool,Se=0,Te=0;if(!(Z._sounds.length<J)){for(Te=0;Te<Z._sounds.length;Te++)Z._sounds[Te]._ended&&Se++;for(Te=Z._sounds.length-1;Te>=0;Te--){if(Se<=J)return;Z._sounds[Te]._ended&&(Z._webAudio&&Z._sounds[Te]._node&&Z._sounds[Te]._node.disconnect(0),Z._sounds.splice(Te,1),Se--)}}},_getSoundIds:function(Z){var J=this;if(typeof Z>"u"){for(var Se=[],Te=0;Te<J._sounds.length;Te++)Se.push(J._sounds[Te]._id);return Se}else return[Z]},_refreshBuffer:function(Z){var J=this;return Z._node.bufferSource=I.ctx.createBufferSource(),Z._node.bufferSource.buffer=V[J._src],Z._panner?Z._node.bufferSource.connect(Z._panner):Z._node.bufferSource.connect(Z._node),Z._node.bufferSource.loop=Z._loop,Z._loop&&(Z._node.bufferSource.loopStart=Z._start||0,Z._node.bufferSource.loopEnd=Z._stop||0),Z._node.bufferSource.playbackRate.setValueAtTime(Z._rate,I.ctx.currentTime),J},_cleanBuffer:function(Z){var J=this,Se=I._navigator&&I._navigator.vendor.indexOf("Apple")>=0;if(I._scratchBuffer&&Z.bufferSource&&(Z.bufferSource.onended=null,Z.bufferSource.disconnect(0),Se))try{Z.bufferSource.buffer=I._scratchBuffer}catch{}return Z.bufferSource=null,J},_clearSound:function(Z){var J=/MSIE |Trident\//.test(I._navigator&&I._navigator.userAgent);J||(Z.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var U=function(Z){this._parent=Z,this.init()};U.prototype={init:function(){var Z=this,J=Z._parent;return Z._muted=J._muted,Z._loop=J._loop,Z._volume=J._volume,Z._rate=J._rate,Z._seek=0,Z._paused=!0,Z._ended=!0,Z._sprite="__default",Z._id=++I._counter,J._sounds.push(Z),Z.create(),Z},create:function(){var Z=this,J=Z._parent,Se=I._muted||Z._muted||Z._parent._muted?0:Z._volume;return J._webAudio?(Z._node=typeof I.ctx.createGain>"u"?I.ctx.createGainNode():I.ctx.createGain(),Z._node.gain.setValueAtTime(Se,I.ctx.currentTime),Z._node.paused=!0,Z._node.connect(I.masterGain)):I.noAudio||(Z._node=I._obtainHtml5Audio(),Z._errorFn=Z._errorListener.bind(Z),Z._node.addEventListener("error",Z._errorFn,!1),Z._loadFn=Z._loadListener.bind(Z),Z._node.addEventListener(I._canPlayEvent,Z._loadFn,!1),Z._endFn=Z._endListener.bind(Z),Z._node.addEventListener("ended",Z._endFn,!1),Z._node.src=J._src,Z._node.preload=J._preload===!0?"auto":J._preload,Z._node.volume=Se*I.volume(),Z._node.load()),Z},reset:function(){var Z=this,J=Z._parent;return Z._muted=J._muted,Z._loop=J._loop,Z._volume=J._volume,Z._rate=J._rate,Z._seek=0,Z._rateSeek=0,Z._paused=!0,Z._ended=!0,Z._sprite="__default",Z._id=++I._counter,Z},_errorListener:function(){var Z=this;Z._parent._emit("loaderror",Z._id,Z._node.error?Z._node.error.code:0),Z._node.removeEventListener("error",Z._errorFn,!1)},_loadListener:function(){var Z=this,J=Z._parent;J._duration=Math.ceil(Z._node.duration*10)/10,Object.keys(J._sprite).length===0&&(J._sprite={__default:[0,J._duration*1e3]}),J._state!=="loaded"&&(J._state="loaded",J._emit("load"),J._loadQueue()),Z._node.removeEventListener(I._canPlayEvent,Z._loadFn,!1)},_endListener:function(){var Z=this,J=Z._parent;J._duration===1/0&&(J._duration=Math.ceil(Z._node.duration*10)/10,J._sprite.__default[1]===1/0&&(J._sprite.__default[1]=J._duration*1e3),J._ended(Z)),Z._node.removeEventListener("ended",Z._endFn,!1)}};var V={},X=function(Z){var J=Z._src;if(V[J]){Z._duration=V[J].duration,_e(Z);return}if(/^data:[^;]+;base64,/.test(J)){for(var Se=atob(J.split(",")[1]),Te=new Uint8Array(Se.length),Ae=0;Ae<Se.length;++Ae)Te[Ae]=Se.charCodeAt(Ae);K(Te.buffer,Z)}else{var Me=new XMLHttpRequest;Me.open(Z._xhr.method,J,!0),Me.withCredentials=Z._xhr.withCredentials,Me.responseType="arraybuffer",Z._xhr.headers&&Object.keys(Z._xhr.headers).forEach(function(Ee){Me.setRequestHeader(Ee,Z._xhr.headers[Ee])}),Me.onload=function(){var Ee=(Me.status+"")[0];if(Ee!=="0"&&Ee!=="2"&&Ee!=="3"){Z._emit("loaderror",null,"Failed loading audio file with status: "+Me.status+".");return}K(Me.response,Z)},Me.onerror=function(){Z._webAudio&&(Z._html5=!0,Z._webAudio=!1,Z._sounds=[],delete V[J],Z.load())},Y(Me)}},Y=function(Z){try{Z.send()}catch{Z.onerror()}},K=function(Z,J){var Se=function(){J._emit("loaderror",null,"Decoding audio data failed.")},Te=function(Ae){Ae&&J._sounds.length>0?(V[J._src]=Ae,_e(J,Ae)):Se()};typeof Promise<"u"&&I.ctx.decodeAudioData.length===1?I.ctx.decodeAudioData(Z).then(Te).catch(Se):I.ctx.decodeAudioData(Z,Te,Se)},_e=function(Z,J){J&&!Z._duration&&(Z._duration=J.duration),Object.keys(Z._sprite).length===0&&(Z._sprite={__default:[0,Z._duration*1e3]}),Z._state!=="loaded"&&(Z._state="loaded",Z._emit("load"),Z._loadQueue())},xe=function(){if(I.usingWebAudio){try{typeof AudioContext<"u"?I.ctx=new AudioContext:typeof webkitAudioContext<"u"?I.ctx=new webkitAudioContext:I.usingWebAudio=!1}catch{I.usingWebAudio=!1}I.ctx||(I.usingWebAudio=!1);var Z=/iP(hone|od|ad)/.test(I._navigator&&I._navigator.platform),J=I._navigator&&I._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),Se=J?parseInt(J[1],10):null;if(Z&&Se&&Se<9){var Te=/safari/.test(I._navigator&&I._navigator.userAgent.toLowerCase());I._navigator&&!Te&&(I.usingWebAudio=!1)}I.usingWebAudio&&(I.masterGain=typeof I.ctx.createGain>"u"?I.ctx.createGainNode():I.ctx.createGain(),I.masterGain.gain.setValueAtTime(I._muted?0:I._volume,I.ctx.currentTime),I.masterGain.connect(I.ctx.destination)),I._setup()}};C.Howler=I,C.Howl=B,typeof commonjsGlobal$1<"u"?(commonjsGlobal$1.HowlerGlobal=E,commonjsGlobal$1.Howler=I,commonjsGlobal$1.Howl=B,commonjsGlobal$1.Sound=U):typeof window<"u"&&(window.HowlerGlobal=E,window.Howler=I,window.Howl=B,window.Sound=U)})();/*!
1981
- * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
1982
- *
1983
- * howler.js v2.2.3
1984
- * howlerjs.com
1985
- *
1986
- * (c) 2013-2020, James Simpson of GoldFire Studios
1987
- * goldfirestudios.com
1988
- *
1989
- * MIT License
1990
- */(function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(I){var B=this;if(!B.ctx||!B.ctx.listener)return B;for(var U=B._howls.length-1;U>=0;U--)B._howls[U].stereo(I);return B},HowlerGlobal.prototype.pos=function(I,B,U){var V=this;if(!V.ctx||!V.ctx.listener)return V;if(B=typeof B!="number"?V._pos[1]:B,U=typeof U!="number"?V._pos[2]:U,typeof I=="number")V._pos=[I,B,U],typeof V.ctx.listener.positionX<"u"?(V.ctx.listener.positionX.setTargetAtTime(V._pos[0],Howler.ctx.currentTime,.1),V.ctx.listener.positionY.setTargetAtTime(V._pos[1],Howler.ctx.currentTime,.1),V.ctx.listener.positionZ.setTargetAtTime(V._pos[2],Howler.ctx.currentTime,.1)):V.ctx.listener.setPosition(V._pos[0],V._pos[1],V._pos[2]);else return V._pos;return V},HowlerGlobal.prototype.orientation=function(I,B,U,V,X,Y){var K=this;if(!K.ctx||!K.ctx.listener)return K;var _e=K._orientation;if(B=typeof B!="number"?_e[1]:B,U=typeof U!="number"?_e[2]:U,V=typeof V!="number"?_e[3]:V,X=typeof X!="number"?_e[4]:X,Y=typeof Y!="number"?_e[5]:Y,typeof I=="number")K._orientation=[I,B,U,V,X,Y],typeof K.ctx.listener.forwardX<"u"?(K.ctx.listener.forwardX.setTargetAtTime(I,Howler.ctx.currentTime,.1),K.ctx.listener.forwardY.setTargetAtTime(B,Howler.ctx.currentTime,.1),K.ctx.listener.forwardZ.setTargetAtTime(U,Howler.ctx.currentTime,.1),K.ctx.listener.upX.setTargetAtTime(V,Howler.ctx.currentTime,.1),K.ctx.listener.upY.setTargetAtTime(X,Howler.ctx.currentTime,.1),K.ctx.listener.upZ.setTargetAtTime(Y,Howler.ctx.currentTime,.1)):K.ctx.listener.setOrientation(I,B,U,V,X,Y);else return _e;return K},Howl.prototype.init=function(I){return function(B){var U=this;return U._orientation=B.orientation||[1,0,0],U._stereo=B.stereo||null,U._pos=B.pos||null,U._pannerAttr={coneInnerAngle:typeof B.coneInnerAngle<"u"?B.coneInnerAngle:360,coneOuterAngle:typeof B.coneOuterAngle<"u"?B.coneOuterAngle:360,coneOuterGain:typeof B.coneOuterGain<"u"?B.coneOuterGain:0,distanceModel:typeof B.distanceModel<"u"?B.distanceModel:"inverse",maxDistance:typeof B.maxDistance<"u"?B.maxDistance:1e4,panningModel:typeof B.panningModel<"u"?B.panningModel:"HRTF",refDistance:typeof B.refDistance<"u"?B.refDistance:1,rolloffFactor:typeof B.rolloffFactor<"u"?B.rolloffFactor:1},U._onstereo=B.onstereo?[{fn:B.onstereo}]:[],U._onpos=B.onpos?[{fn:B.onpos}]:[],U._onorientation=B.onorientation?[{fn:B.onorientation}]:[],I.call(this,B)}}(Howl.prototype.init),Howl.prototype.stereo=function(I,B){var U=this;if(!U._webAudio)return U;if(U._state!=="loaded")return U._queue.push({event:"stereo",action:function(){U.stereo(I,B)}}),U;var V=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof B>"u")if(typeof I=="number")U._stereo=I,U._pos=[I,0,0];else return U._stereo;for(var X=U._getSoundIds(B),Y=0;Y<X.length;Y++){var K=U._soundById(X[Y]);if(K)if(typeof I=="number")K._stereo=I,K._pos=[I,0,0],K._node&&(K._pannerAttr.panningModel="equalpower",(!K._panner||!K._panner.pan)&&E(K,V),V==="spatial"?typeof K._panner.positionX<"u"?(K._panner.positionX.setValueAtTime(I,Howler.ctx.currentTime),K._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),K._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):K._panner.setPosition(I,0,0):K._panner.pan.setValueAtTime(I,Howler.ctx.currentTime)),U._emit("stereo",K._id);else return K._stereo}return U},Howl.prototype.pos=function(I,B,U,V){var X=this;if(!X._webAudio)return X;if(X._state!=="loaded")return X._queue.push({event:"pos",action:function(){X.pos(I,B,U,V)}}),X;if(B=typeof B!="number"?0:B,U=typeof U!="number"?-.5:U,typeof V>"u")if(typeof I=="number")X._pos=[I,B,U];else return X._pos;for(var Y=X._getSoundIds(V),K=0;K<Y.length;K++){var _e=X._soundById(Y[K]);if(_e)if(typeof I=="number")_e._pos=[I,B,U],_e._node&&((!_e._panner||_e._panner.pan)&&E(_e,"spatial"),typeof _e._panner.positionX<"u"?(_e._panner.positionX.setValueAtTime(I,Howler.ctx.currentTime),_e._panner.positionY.setValueAtTime(B,Howler.ctx.currentTime),_e._panner.positionZ.setValueAtTime(U,Howler.ctx.currentTime)):_e._panner.setPosition(I,B,U)),X._emit("pos",_e._id);else return _e._pos}return X},Howl.prototype.orientation=function(I,B,U,V){var X=this;if(!X._webAudio)return X;if(X._state!=="loaded")return X._queue.push({event:"orientation",action:function(){X.orientation(I,B,U,V)}}),X;if(B=typeof B!="number"?X._orientation[1]:B,U=typeof U!="number"?X._orientation[2]:U,typeof V>"u")if(typeof I=="number")X._orientation=[I,B,U];else return X._orientation;for(var Y=X._getSoundIds(V),K=0;K<Y.length;K++){var _e=X._soundById(Y[K]);if(_e)if(typeof I=="number")_e._orientation=[I,B,U],_e._node&&(_e._panner||(_e._pos||(_e._pos=X._pos||[0,0,-.5]),E(_e,"spatial")),typeof _e._panner.orientationX<"u"?(_e._panner.orientationX.setValueAtTime(I,Howler.ctx.currentTime),_e._panner.orientationY.setValueAtTime(B,Howler.ctx.currentTime),_e._panner.orientationZ.setValueAtTime(U,Howler.ctx.currentTime)):_e._panner.setOrientation(I,B,U)),X._emit("orientation",_e._id);else return _e._orientation}return X},Howl.prototype.pannerAttr=function(){var I=this,B=arguments,U,V,X;if(!I._webAudio)return I;if(B.length===0)return I._pannerAttr;if(B.length===1)if(typeof B[0]=="object")U=B[0],typeof V>"u"&&(U.pannerAttr||(U.pannerAttr={coneInnerAngle:U.coneInnerAngle,coneOuterAngle:U.coneOuterAngle,coneOuterGain:U.coneOuterGain,distanceModel:U.distanceModel,maxDistance:U.maxDistance,refDistance:U.refDistance,rolloffFactor:U.rolloffFactor,panningModel:U.panningModel}),I._pannerAttr={coneInnerAngle:typeof U.pannerAttr.coneInnerAngle<"u"?U.pannerAttr.coneInnerAngle:I._coneInnerAngle,coneOuterAngle:typeof U.pannerAttr.coneOuterAngle<"u"?U.pannerAttr.coneOuterAngle:I._coneOuterAngle,coneOuterGain:typeof U.pannerAttr.coneOuterGain<"u"?U.pannerAttr.coneOuterGain:I._coneOuterGain,distanceModel:typeof U.pannerAttr.distanceModel<"u"?U.pannerAttr.distanceModel:I._distanceModel,maxDistance:typeof U.pannerAttr.maxDistance<"u"?U.pannerAttr.maxDistance:I._maxDistance,refDistance:typeof U.pannerAttr.refDistance<"u"?U.pannerAttr.refDistance:I._refDistance,rolloffFactor:typeof U.pannerAttr.rolloffFactor<"u"?U.pannerAttr.rolloffFactor:I._rolloffFactor,panningModel:typeof U.pannerAttr.panningModel<"u"?U.pannerAttr.panningModel:I._panningModel});else return X=I._soundById(parseInt(B[0],10)),X?X._pannerAttr:I._pannerAttr;else B.length===2&&(U=B[0],V=parseInt(B[1],10));for(var Y=I._getSoundIds(V),K=0;K<Y.length;K++)if(X=I._soundById(Y[K]),X){var _e=X._pannerAttr;_e={coneInnerAngle:typeof U.coneInnerAngle<"u"?U.coneInnerAngle:_e.coneInnerAngle,coneOuterAngle:typeof U.coneOuterAngle<"u"?U.coneOuterAngle:_e.coneOuterAngle,coneOuterGain:typeof U.coneOuterGain<"u"?U.coneOuterGain:_e.coneOuterGain,distanceModel:typeof U.distanceModel<"u"?U.distanceModel:_e.distanceModel,maxDistance:typeof U.maxDistance<"u"?U.maxDistance:_e.maxDistance,refDistance:typeof U.refDistance<"u"?U.refDistance:_e.refDistance,rolloffFactor:typeof U.rolloffFactor<"u"?U.rolloffFactor:_e.rolloffFactor,panningModel:typeof U.panningModel<"u"?U.panningModel:_e.panningModel};var xe=X._panner;xe?(xe.coneInnerAngle=_e.coneInnerAngle,xe.coneOuterAngle=_e.coneOuterAngle,xe.coneOuterGain=_e.coneOuterGain,xe.distanceModel=_e.distanceModel,xe.maxDistance=_e.maxDistance,xe.refDistance=_e.refDistance,xe.rolloffFactor=_e.rolloffFactor,xe.panningModel=_e.panningModel):(X._pos||(X._pos=I._pos||[0,0,-.5]),E(X,"spatial"))}return I},Sound.prototype.init=function(I){return function(){var B=this,U=B._parent;B._orientation=U._orientation,B._stereo=U._stereo,B._pos=U._pos,B._pannerAttr=U._pannerAttr,I.call(this),B._stereo?U.stereo(B._stereo):B._pos&&U.pos(B._pos[0],B._pos[1],B._pos[2],B._id)}}(Sound.prototype.init),Sound.prototype.reset=function(I){return function(){var B=this,U=B._parent;return B._orientation=U._orientation,B._stereo=U._stereo,B._pos=U._pos,B._pannerAttr=U._pannerAttr,B._stereo?U.stereo(B._stereo):B._pos?U.pos(B._pos[0],B._pos[1],B._pos[2],B._id):B._panner&&(B._panner.disconnect(0),B._panner=void 0,U._refreshBuffer(B)),I.call(this)}}(Sound.prototype.reset);var E=function(I,B){B=B||"spatial",B==="spatial"?(I._panner=Howler.ctx.createPanner(),I._panner.coneInnerAngle=I._pannerAttr.coneInnerAngle,I._panner.coneOuterAngle=I._pannerAttr.coneOuterAngle,I._panner.coneOuterGain=I._pannerAttr.coneOuterGain,I._panner.distanceModel=I._pannerAttr.distanceModel,I._panner.maxDistance=I._pannerAttr.maxDistance,I._panner.refDistance=I._pannerAttr.refDistance,I._panner.rolloffFactor=I._pannerAttr.rolloffFactor,I._panner.panningModel=I._pannerAttr.panningModel,typeof I._panner.positionX<"u"?(I._panner.positionX.setValueAtTime(I._pos[0],Howler.ctx.currentTime),I._panner.positionY.setValueAtTime(I._pos[1],Howler.ctx.currentTime),I._panner.positionZ.setValueAtTime(I._pos[2],Howler.ctx.currentTime)):I._panner.setPosition(I._pos[0],I._pos[1],I._pos[2]),typeof I._panner.orientationX<"u"?(I._panner.orientationX.setValueAtTime(I._orientation[0],Howler.ctx.currentTime),I._panner.orientationY.setValueAtTime(I._orientation[1],Howler.ctx.currentTime),I._panner.orientationZ.setValueAtTime(I._orientation[2],Howler.ctx.currentTime)):I._panner.setOrientation(I._orientation[0],I._orientation[1],I._orientation[2])):(I._panner=Howler.ctx.createStereoPanner(),I._panner.pan.setValueAtTime(I._stereo,Howler.ctx.currentTime)),I._panner.connect(I._node),I._paused||I._parent.pause(I._id,!0).play(I._id,!0)}})()})(howler);const isRemoteAsset=C=>!C.startsWith(window.location.origin)&&!C.startsWith("data"),PixiAudioSprite=React__namespace.forwardRef((C,E)=>{const I={isPlaying:!1,progress:0,speed:1,mute:!1,isWaiting:!1,loaded:!1,size:{width:50,height:50},isDragging:!1},[,B]=React__namespace.useState(!1),[U,V]=React__namespace.useState(""),[X,Y]=React__namespace.useState({}),[K,_e]=React__namespace.useState(!1),xe=React.useRef(null),Z=React.useRef(I),J=React.useRef(null),Se=React__namespace.useRef(null),Te=React.useRef(),Ae=React__namespace.useRef(),Me=React.useRef(),Ee=React.useRef(),we=React.useRef(document.body),Pe=React.useRef(null),Ie=React__namespace.useRef(),{tl:Fe,dragModeRef:Oe}=React.useContext(GsapPixieContext),{uniqueId:$e,src:Le,startAt:Ue,endAt:He,mute:We,speed:je,audioStartAt:Ve,audioEndAt:ze,visible:Xe=!1,transformation:De}=C,{width:Be=0,height:Re=0,x:ke=0,y:Ge=0,waveform:Ne=Waveforms.NONE}=De||{};React__namespace.useLayoutEffect(()=>(Ne!==Waveforms.NONE&&(Ae.current=document.createElement("canvas"),Ae.current.setAttribute("id",`${$e}audioContainer`),Ae.current.setAttribute("width","300"),Ae.current.setAttribute("height","300"),we.current.appendChild(Ae.current)),()=>{Ae.current&&we.current&&(we.current.removeChild(Ae.current),Ae.current=void 0)}),[Ne]),useCustomEventListener(Events.PAUSE,()=>{var Qe;xe.current&&Se.current&&((Qe=Se.current)==null||Qe.pause(),Z.current.isPlaying=!1)}),useCustomEventListener(Events.COMPLETE,()=>{Ve>0&&Se.current&&Se.current.seek(Ve)}),useCustomEventListener(Events.SCRUBBER_CLICKED,()=>{var Qe;xe.current&&Se.current&&((Qe=Se.current)==null||Qe.pause(),Z.current.isPlaying=!1)});const qe=React__namespace.useCallback(()=>{if(Te.current&&Ae.current){const Qe=Ae.current,st=Qe.getContext("2d"),at=Qe.width,Ze=Qe.height,et=Te.current,nt=et.frequencyBinCount,tt=new Uint8Array(nt),Je=at/nt*2.5;let ot=0;et.getByteFrequencyData(tt),st.fillStyle="#000",st.fillRect(0,0,at,Ze);for(let lt=0;lt<nt;lt++){const ht=tt[lt],ct=ht+25*(lt/nt),ft=250*(lt/nt),ut=50;st.fillStyle="rgb("+ct+","+ft+","+ut+")",st.fillRect(ot,Ze-ht,Je,ht),ot+=Je+1}}},[]);React__namespace.useEffect(()=>{const Qe=async at=>{try{return await fetch(at,{mode:"cors",referrerPolicy:"no-referrer-when-downgrade"})}catch(Ze){const et=Ze;throw et.message.includes("Failed to fetch")||et.message.includes("Load failed")||et.message.includes("NetworkError when attempting to fetch resource")?new TypeError(`Failed to read from ${at}: ${et.message}. Does the resource support CORS?`):Ze}};(async()=>{if(!isEmpty$1(Le)){const Ze=await(await Qe(Le)).arrayBuffer(),et=new Blob([Ze]),nt=URL.createObjectURL(et);if(Howler.ctx){const tt=await Howler.ctx.decodeAudioData(Ze),ot={channelWaveforms:new Array(tt.numberOfChannels).fill(!0).map((lt,ht)=>tt.getChannelData(ht)),sampleRate:Howler.ctx.sampleRate,durationInSeconds:tt.duration,numberOfChannels:tt.numberOfChannels,resultId:String(Math.random()),isRemote:isRemoteAsset(Le)};Y(ot)}V(nt)}})()},[$e,Le,Ue,He,Ve,ze,We,Xe,je,Le,Ne]),React__namespace.useEffect(()=>{Se.current&&(Oe.current?(Se.current.pause(),Z.current.isPlaying=!1,Z.current.isDragging=!0):Z.current.isDragging=!1)},[Oe]);const Ye=(Qe,st)=>{Fe.current&&Fe.current.isActive()&&J.current&&J.current.isActive()&&!Oe.current&&Se.current&&(console.log("gsap on start 0020",$e,Qe,st),Se.current.play(),Z.current.isPlaying=!0)},Ke=()=>{var Qe;xe.current&&((Qe=Se.current)==null||Qe.stop(),Z.current.isPlaying=!1,Z.current.completed=!0)},rt=Qe=>{var at,Ze;const st=Qe+((at=J.current)==null?void 0:at.time());Se.current&&Oe.current?(Se.current.seek(st),Se.current.pause(),Z.current.isPlaying=!1):xe.current&&!Z.current.isPlaying&&((Ze=Fe.current)!=null&&Ze.isActive())&&Se.current&&(Se.current.seek(st),Se.current.play(),Z.current.isPlaying=!0),qe(),Ie.current&&Ie.current.update()},it=()=>{};return React.useEffect(()=>{let Qe=gsap$2.context(()=>{});if(xe.current&&Fe.current){const st={duration:Number(ze)-Number(Ve),onStart:Ye,onComplete:Ke,onStartParams:[Ve,ze],onCompleteParams:[],onInterrupt:it,onUpdate:rt,onUpdateParams:[Ve,ze],id:$e};Qe=gsap$2.context(()=>{J.current=gsap$2.from(xe.current,st,Ve),Fe.current.to(xe.current,{alpha:1,duration:.01},Ue).to(xe.current,{alpha:0,duration:.1},Number(He)),Fe.current.add(J.current,Ue)})}return()=>{J.current&&(J.current.kill(),gsap$2.killTweensOf(J.current)),Qe.revert()}},[Ue,He,Ve,ze,$e]),React__namespace.useEffect(()=>(xe.current&&B(!0),()=>{console.log("unmounting audio sprite",$e),console.log("audioContainerRef.current",Se.current)}),[]),React__namespace.useEffect(()=>(Ie.current&&Ie.current.update(),()=>{}),[K]),React__namespace.useEffect(()=>(isEmpty$1(U)||(Se.current=new howler.Howl({src:[U],format:["mp3"],html5:!0,autoplay:!1,loop:!1,rate:je||1,onload:()=>{if(Z.current.loaded=!0,Se.current&&(Ve>0&&Se.current.seek(Ve),Se.current.volume(!We&&Xe?1:0),Se.current.rate(je||1),Se.current.pause(),Z.current.isPlaying=!1,Z.current.completed=!1,!Te.current&&Ne!==Waveforms.NONE)){const Qe=Howler.ctx.createAnalyser();Qe.fftSize=256;const st=Howler.ctx.createGain(),at=Howler.ctx.createMediaElementSource(Se.current._sounds[0]._node);if(at.connect(Qe),Qe.connect(st),st.connect(Howler.ctx.destination),Te.current=Qe,Me.current=at,Ee.current=st,Ae.current){Ae.current.setAttribute("style","display:none");const Ze=PIXI__namespace.Texture.from(Ae.current);Ie.current=Ze}_e(!0)}},onend:()=>{console.log("end of playing audio sprite"+$e),Z.current.isPlaying=!1,Z.current.completed=!0},onplay:()=>{console.log("play of playing audio sprite"+$e),Z.current.isPlaying=!0},onpause:()=>{console.log("pause of playing audio sprite"+$e),Z.current.isPlaying=!1},onstop:()=>{console.log("stop of playing audio sprite"+$e),Z.current.isPlaying=!1}}),Howler.ctx.resume().then(()=>{console.log("audio ctx resumed")})),()=>{Se.current&&Se.current.unload(),isEmpty$1(U)||URL.revokeObjectURL(U)}),[$e,Le,Ue,He,Ve,ze,We,Xe,je,U,Ne]),React__namespace.useEffect(()=>{Se.current&&(console.log("running updateEffect 2002",$e,ze),Se.current.volume(!We&&Xe?1:0),Se.current.rate(je||1),Z.current.isPlaying=!0)},[We,Xe,je]),jsxRuntimeExports.jsx(react.Container,{ref:xe,children:Ne!==Waveforms.NONE&&K&&Ie.current&&jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,isGif:!0,children:jsxRuntimeExports.jsx(react.Sprite,{texture:Ie.current,width:Be||300,height:Re||300,anchor:.5,x:ke,y:Ge,ref:Pe,alpha:Xe?1:0})})})});function arrayMap$2(C,E){for(var I=-1,B=C==null?0:C.length,U=Array(B);++I<B;)U[I]=E(C[I],I,C);return U}var _arrayMap=arrayMap$2,Stack=_Stack,baseIsEqual$1=_baseIsEqual,COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch$1(C,E,I,B){var U=I.length,V=U,X=!B;if(C==null)return!V;for(C=Object(C);U--;){var Y=I[U];if(X&&Y[2]?Y[1]!==C[Y[0]]:!(Y[0]in C))return!1}for(;++U<V;){Y=I[U];var K=Y[0],_e=C[K],xe=Y[1];if(X&&Y[2]){if(_e===void 0&&!(K in C))return!1}else{var Z=new Stack;if(B)var J=B(_e,xe,K,C,E,Z);if(!(J===void 0?baseIsEqual$1(xe,_e,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,B,Z):J))return!1}}return!0}var _baseIsMatch=baseIsMatch$1,isObject$2=isObject_1;function isStrictComparable$2(C){return C===C&&!isObject$2(C)}var _isStrictComparable=isStrictComparable$2,isStrictComparable$1=_isStrictComparable,keys$1=keys_1;function getMatchData$1(C){for(var E=keys$1(C),I=E.length;I--;){var B=E[I],U=C[B];E[I]=[B,U,isStrictComparable$1(U)]}return E}var _getMatchData=getMatchData$1;function matchesStrictComparable$2(C,E){return function(I){return I==null?!1:I[C]===E&&(E!==void 0||C in Object(I))}}var _matchesStrictComparable=matchesStrictComparable$2,baseIsMatch=_baseIsMatch,getMatchData=_getMatchData,matchesStrictComparable$1=_matchesStrictComparable;function baseMatches$1(C){var E=getMatchData(C);return E.length==1&&E[0][2]?matchesStrictComparable$1(E[0][0],E[0][1]):function(I){return I===C||baseIsMatch(I,C,E)}}var _baseMatches=baseMatches$1,baseGetTag=_baseGetTag,isObjectLike=isObjectLike_1,symbolTag="[object Symbol]";function isSymbol$4(C){return typeof C=="symbol"||isObjectLike(C)&&baseGetTag(C)==symbolTag}var isSymbol_1=isSymbol$4,isArray$5=isArray_1,isSymbol$3=isSymbol_1,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey$3(C,E){if(isArray$5(C))return!1;var I=typeof C;return I=="number"||I=="symbol"||I=="boolean"||C==null||isSymbol$3(C)?!0:reIsPlainProp.test(C)||!reIsDeepProp.test(C)||E!=null&&C in Object(E)}var _isKey=isKey$3,MapCache=_MapCache,FUNC_ERROR_TEXT$1="Expected a function";function memoize$1(C,E){if(typeof C!="function"||E!=null&&typeof E!="function")throw new TypeError(FUNC_ERROR_TEXT$1);var I=function(){var B=arguments,U=E?E.apply(this,B):B[0],V=I.cache;if(V.has(U))return V.get(U);var X=C.apply(this,B);return I.cache=V.set(U,X)||V,X};return I.cache=new(memoize$1.Cache||MapCache),I}memoize$1.Cache=MapCache;var memoize_1=memoize$1,memoize=memoize_1,MAX_MEMOIZE_SIZE=500;function memoizeCapped$1(C){var E=memoize(C,function(B){return I.size===MAX_MEMOIZE_SIZE&&I.clear(),B}),I=E.cache;return E}var _memoizeCapped=memoizeCapped$1,memoizeCapped=_memoizeCapped,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath$1=memoizeCapped(function(C){var E=[];return C.charCodeAt(0)===46&&E.push(""),C.replace(rePropName,function(I,B,U,V){E.push(U?V.replace(reEscapeChar,"$1"):B||I)}),E}),_stringToPath=stringToPath$1,Symbol$1=_Symbol,arrayMap$1=_arrayMap,isArray$4=isArray_1,isSymbol$2=isSymbol_1,INFINITY$1=1/0,symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0;function baseToString$1(C){if(typeof C=="string")return C;if(isArray$4(C))return arrayMap$1(C,baseToString$1)+"";if(isSymbol$2(C))return symbolToString?symbolToString.call(C):"";var E=C+"";return E=="0"&&1/C==-INFINITY$1?"-0":E}var _baseToString=baseToString$1,baseToString=_baseToString;function toString$1(C){return C==null?"":baseToString(C)}var toString_1=toString$1,isArray$3=isArray_1,isKey$2=_isKey,stringToPath=_stringToPath,toString=toString_1;function castPath$2(C,E){return isArray$3(C)?C:isKey$2(C,E)?[C]:stringToPath(toString(C))}var _castPath=castPath$2,isSymbol$1=isSymbol_1,INFINITY=1/0;function toKey$4(C){if(typeof C=="string"||isSymbol$1(C))return C;var E=C+"";return E=="0"&&1/C==-INFINITY?"-0":E}var _toKey=toKey$4,castPath$1=_castPath,toKey$3=_toKey;function baseGet$2(C,E){E=castPath$1(E,C);for(var I=0,B=E.length;C!=null&&I<B;)C=C[toKey$3(E[I++])];return I&&I==B?C:void 0}var _baseGet=baseGet$2,baseGet$1=_baseGet;function get$1(C,E,I){var B=C==null?void 0:baseGet$1(C,E);return B===void 0?I:B}var get_1=get$1;function baseHasIn$1(C,E){return C!=null&&E in Object(C)}var _baseHasIn=baseHasIn$1,castPath=_castPath,isArguments=isArguments_1,isArray$2=isArray_1,isIndex=_isIndex,isLength=isLength_1,toKey$2=_toKey;function hasPath$1(C,E,I){E=castPath(E,C);for(var B=-1,U=E.length,V=!1;++B<U;){var X=toKey$2(E[B]);if(!(V=C!=null&&I(C,X)))break;C=C[X]}return V||++B!=U?V:(U=C==null?0:C.length,!!U&&isLength(U)&&isIndex(X,U)&&(isArray$2(C)||isArguments(C)))}var _hasPath=hasPath$1,baseHasIn=_baseHasIn,hasPath=_hasPath;function hasIn$1(C,E){return C!=null&&hasPath(C,E,baseHasIn)}var hasIn_1=hasIn$1,baseIsEqual=_baseIsEqual,get=get_1,hasIn=hasIn_1,isKey$1=_isKey,isStrictComparable=_isStrictComparable,matchesStrictComparable=_matchesStrictComparable,toKey$1=_toKey,COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty$1(C,E){return isKey$1(C)&&isStrictComparable(E)?matchesStrictComparable(toKey$1(C),E):function(I){var B=get(I,C);return B===void 0&&B===E?hasIn(I,C):baseIsEqual(E,B,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}var _baseMatchesProperty=baseMatchesProperty$1;function identity$1(C){return C}var identity_1=identity$1;function baseProperty$1(C){return function(E){return E==null?void 0:E[C]}}var _baseProperty=baseProperty$1,baseGet=_baseGet;function basePropertyDeep$1(C){return function(E){return baseGet(E,C)}}var _basePropertyDeep=basePropertyDeep$1,baseProperty=_baseProperty,basePropertyDeep=_basePropertyDeep,isKey=_isKey,toKey=_toKey;function property$1(C){return isKey(C)?baseProperty(toKey(C)):basePropertyDeep(C)}var property_1=property$1,baseMatches=_baseMatches,baseMatchesProperty=_baseMatchesProperty,identity=identity_1,isArray$1=isArray_1,property=property_1;function baseIteratee$1(C){return typeof C=="function"?C:C==null?identity:typeof C=="object"?isArray$1(C)?baseMatchesProperty(C[0],C[1]):baseMatches(C):property(C)}var _baseIteratee=baseIteratee$1;function createBaseFor$1(C){return function(E,I,B){for(var U=-1,V=Object(E),X=B(E),Y=X.length;Y--;){var K=X[C?Y:++U];if(I(V[K],K,V)===!1)break}return E}}var _createBaseFor=createBaseFor$1,createBaseFor=_createBaseFor,baseFor$1=createBaseFor(),_baseFor=baseFor$1,baseFor=_baseFor,keys=keys_1;function baseForOwn$1(C,E){return C&&baseFor(C,E,keys)}var _baseForOwn=baseForOwn$1,isArrayLike$1=isArrayLike_1;function createBaseEach$1(C,E){return function(I,B){if(I==null)return I;if(!isArrayLike$1(I))return C(I,B);for(var U=I.length,V=E?U:-1,X=Object(I);(E?V--:++V<U)&&B(X[V],V,X)!==!1;);return I}}var _createBaseEach=createBaseEach$1,baseForOwn=_baseForOwn,createBaseEach=_createBaseEach,baseEach$1=createBaseEach(baseForOwn),_baseEach=baseEach$1,baseEach=_baseEach,isArrayLike=isArrayLike_1;function baseMap$1(C,E){var I=-1,B=isArrayLike(C)?Array(C.length):[];return baseEach(C,function(U,V,X){B[++I]=E(U,V,X)}),B}var _baseMap=baseMap$1,arrayMap=_arrayMap,baseIteratee=_baseIteratee,baseMap=_baseMap,isArray=isArray_1;function map(C,E){var I=isArray(C)?arrayMap:baseMap;return I(C,baseIteratee(E))}var map_1=map;const map$1=getDefaultExportFromCjs(map_1);var lib$1={},gif={},lib={};Object.defineProperty(lib,"__esModule",{value:!0}),lib.loop=lib.conditional=lib.parse=void 0;var parse=function C(E,I){var B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},U=arguments.length>3&&arguments[3]!==void 0?arguments[3]:B;if(Array.isArray(I))I.forEach(function(X){return C(E,X,B,U)});else if(typeof I=="function")I(E,B,U,C);else{var V=Object.keys(I)[0];Array.isArray(I[V])?(U[V]={},C(E,I[V],B,U[V])):U[V]=I[V](E,B,U,C)}return B};lib.parse=parse;var conditional=function(E,I){return function(B,U,V,X){I(B,U,V)&&X(B,E,U,V)}};lib.conditional=conditional;var loop=function(E,I){return function(B,U,V,X){for(var Y=[],K=B.pos;I(B,U,V);){var _e={};if(X(B,E,U,_e),B.pos===K)break;K=B.pos,Y.push(_e)}return Y}};lib.loop=loop;var uint8={};Object.defineProperty(uint8,"__esModule",{value:!0}),uint8.readBits=uint8.readArray=uint8.readUnsigned=uint8.readString=uint8.peekBytes=uint8.readBytes=uint8.peekByte=uint8.readByte=uint8.buildStream=void 0;var buildStream=function(E){return{data:E,pos:0}};uint8.buildStream=buildStream;var readByte=function(){return function(E){return E.data[E.pos++]}};uint8.readByte=readByte;var peekByte=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(I){return I.data[I.pos+E]}};uint8.peekByte=peekByte;var readBytes=function(E){return function(I){return I.data.subarray(I.pos,I.pos+=E)}};uint8.readBytes=readBytes;var peekBytes=function(E){return function(I){return I.data.subarray(I.pos,I.pos+E)}};uint8.peekBytes=peekBytes;var readString=function(E){return function(I){return Array.from(readBytes(E)(I)).map(function(B){return String.fromCharCode(B)}).join("")}};uint8.readString=readString;var readUnsigned=function(E){return function(I){var B=readBytes(2)(I);return E?(B[1]<<8)+B[0]:(B[0]<<8)+B[1]}};uint8.readUnsigned=readUnsigned;var readArray=function(E,I){return function(B,U,V){for(var X=typeof I=="function"?I(B,U,V):I,Y=readBytes(E),K=new Array(X),_e=0;_e<X;_e++)K[_e]=Y(B);return K}};uint8.readArray=readArray;var subBitsTotal=function(E,I,B){for(var U=0,V=0;V<B;V++)U+=E[I+V]&&Math.pow(2,B-V-1);return U},readBits=function(E){return function(I){for(var B=readByte()(I),U=new Array(8),V=0;V<8;V++)U[7-V]=!!(B&1<<V);return Object.keys(E).reduce(function(X,Y){var K=E[Y];return K.length?X[Y]=subBitsTotal(U,K.index,K.length):X[Y]=U[K.index],X},{})}};uint8.readBits=readBits,function(C){Object.defineProperty(C,"__esModule",{value:!0}),C.default=void 0;var E=lib,I=uint8,B={blocks:function(J){for(var Se=0,Te=[],Ae=J.data.length,Me=0,Ee=(0,I.readByte)()(J);Ee!==Se&&Ee;Ee=(0,I.readByte)()(J)){if(J.pos+Ee>=Ae){var we=Ae-J.pos;Te.push((0,I.readBytes)(we)(J)),Me+=we;break}Te.push((0,I.readBytes)(Ee)(J)),Me+=Ee}for(var Pe=new Uint8Array(Me),Ie=0,Fe=0;Fe<Te.length;Fe++)Pe.set(Te[Fe],Ie),Ie+=Te[Fe].length;return Pe}},U=(0,E.conditional)({gce:[{codes:(0,I.readBytes)(2)},{byteSize:(0,I.readByte)()},{extras:(0,I.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,I.readUnsigned)(!0)},{transparentColorIndex:(0,I.readByte)()},{terminator:(0,I.readByte)()}]},function(Z){var J=(0,I.peekBytes)(2)(Z);return J[0]===33&&J[1]===249}),V=(0,E.conditional)({image:[{code:(0,I.readByte)()},{descriptor:[{left:(0,I.readUnsigned)(!0)},{top:(0,I.readUnsigned)(!0)},{width:(0,I.readUnsigned)(!0)},{height:(0,I.readUnsigned)(!0)},{lct:(0,I.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,E.conditional)({lct:(0,I.readArray)(3,function(Z,J,Se){return Math.pow(2,Se.descriptor.lct.size+1)})},function(Z,J,Se){return Se.descriptor.lct.exists}),{data:[{minCodeSize:(0,I.readByte)()},B]}]},function(Z){return(0,I.peekByte)()(Z)===44}),X=(0,E.conditional)({text:[{codes:(0,I.readBytes)(2)},{blockSize:(0,I.readByte)()},{preData:function(J,Se,Te){return(0,I.readBytes)(Te.text.blockSize)(J)}},B]},function(Z){var J=(0,I.peekBytes)(2)(Z);return J[0]===33&&J[1]===1}),Y=(0,E.conditional)({application:[{codes:(0,I.readBytes)(2)},{blockSize:(0,I.readByte)()},{id:function(J,Se,Te){return(0,I.readString)(Te.blockSize)(J)}},B]},function(Z){var J=(0,I.peekBytes)(2)(Z);return J[0]===33&&J[1]===255}),K=(0,E.conditional)({comment:[{codes:(0,I.readBytes)(2)},B]},function(Z){var J=(0,I.peekBytes)(2)(Z);return J[0]===33&&J[1]===254}),_e=[{header:[{signature:(0,I.readString)(3)},{version:(0,I.readString)(3)}]},{lsd:[{width:(0,I.readUnsigned)(!0)},{height:(0,I.readUnsigned)(!0)},{gct:(0,I.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,I.readByte)()},{pixelAspectRatio:(0,I.readByte)()}]},(0,E.conditional)({gct:(0,I.readArray)(3,function(Z,J){return Math.pow(2,J.lsd.gct.size+1)})},function(Z,J){return J.lsd.gct.exists}),{frames:(0,E.loop)([U,Y,K,V,X],function(Z){var J=(0,I.peekByte)()(Z);return J===33||J===44})}],xe=_e;C.default=xe}(gif);var deinterlace$1={};Object.defineProperty(deinterlace$1,"__esModule",{value:!0}),deinterlace$1.deinterlace=void 0;var deinterlace=function(E,I){for(var B=new Array(E.length),U=E.length/I,V=function(J,Se){var Te=E.slice(Se*I,(Se+1)*I);B.splice.apply(B,[J*I,I].concat(Te))},X=[0,4,2,1],Y=[8,8,4,2],K=0,_e=0;_e<4;_e++)for(var xe=X[_e];xe<U;xe+=Y[_e])V(xe,K),K++;return B};deinterlace$1.deinterlace=deinterlace;var lzw$1={};Object.defineProperty(lzw$1,"__esModule",{value:!0}),lzw$1.lzw=void 0;var lzw=function(E,I,B){var U=4096,V=-1,X=B,Y,K,_e,xe,Z,J,Se,Oe,Te,Ae,Fe,Me,$e,Le,He,Ue,Ee=new Array(B),we=new Array(U),Pe=new Array(U),Ie=new Array(U+1);for(Me=E,K=1<<Me,Z=K+1,Y=K+2,Se=V,xe=Me+1,_e=(1<<xe)-1,Te=0;Te<K;Te++)we[Te]=0,Pe[Te]=Te;var Fe,Oe,$e,Le,Ue,He;for(Fe=Oe=$e=Le=Ue=He=0,Ae=0;Ae<X;){if(Le===0){if(Oe<xe){Fe+=I[He]<<Oe,Oe+=8,He++;continue}if(Te=Fe&_e,Fe>>=xe,Oe-=xe,Te>Y||Te==Z)break;if(Te==K){xe=Me+1,_e=(1<<xe)-1,Y=K+2,Se=V;continue}if(Se==V){Ie[Le++]=Pe[Te],Se=Te,$e=Te;continue}for(J=Te,Te==Y&&(Ie[Le++]=$e,Te=Se);Te>K;)Ie[Le++]=Pe[Te],Te=we[Te];$e=Pe[Te]&255,Ie[Le++]=$e,Y<U&&(we[Y]=Se,Pe[Y]=$e,Y++,!(Y&_e)&&Y<U&&(xe++,_e+=Y)),Se=J}Le--,Ee[Ue++]=Ie[Le],Ae++}for(Ae=Ue;Ae<X;Ae++)Ee[Ae]=0;return Ee};lzw$1.lzw=lzw,Object.defineProperty(lib$1,"__esModule",{value:!0}),lib$1.decompressFrames=lib$1.decompressFrame=lib$1.parseGIF=void 0;var _gif=_interopRequireDefault(gif),_jsBinarySchemaParser=lib,_uint=uint8,_deinterlace=deinterlace$1,_lzw=lzw$1;function _interopRequireDefault(C){return C&&C.__esModule?C:{default:C}}var parseGIF=function(E){var I=new Uint8Array(E);return(0,_jsBinarySchemaParser.parse)((0,_uint.buildStream)(I),_gif.default)};lib$1.parseGIF=parseGIF;var generatePatch=function(E){for(var I=E.pixels.length,B=new Uint8ClampedArray(I*4),U=0;U<I;U++){var V=U*4,X=E.pixels[U],Y=E.colorTable[X]||[0,0,0];B[V]=Y[0],B[V+1]=Y[1],B[V+2]=Y[2],B[V+3]=X!==E.transparentIndex?255:0}return B},decompressFrame=function(E,I,B){if(!E.image){console.warn("gif frame does not have associated image.");return}var U=E.image,V=U.descriptor.width*U.descriptor.height,X=(0,_lzw.lzw)(U.data.minCodeSize,U.data.blocks,V);U.descriptor.lct.interlaced&&(X=(0,_deinterlace.deinterlace)(X,U.descriptor.width));var Y={pixels:X,dims:{top:E.image.descriptor.top,left:E.image.descriptor.left,width:E.image.descriptor.width,height:E.image.descriptor.height}};return U.descriptor.lct&&U.descriptor.lct.exists?Y.colorTable=U.lct:Y.colorTable=I,E.gce&&(Y.delay=(E.gce.delay||10)*10,Y.disposalType=E.gce.extras.disposal,E.gce.extras.transparentColorGiven&&(Y.transparentIndex=E.gce.transparentColorIndex)),B&&(Y.patch=generatePatch(Y)),Y};lib$1.decompressFrame=decompressFrame;var decompressFrames=function(E,I){return E.frames.filter(function(B){return B.image}).map(function(B){return decompressFrame(B,E.gct,I)})};lib$1.decompressFrames=decompressFrames;const reducer=(C,E={})=>{typeof E=="function"&&(E=E(C));const I=E.loaded&&C.loaded!==E.loaded,{playing:B,...U}=E,V={...C,...U};return I&&Object.assign(V,{playing:V.autoPlay&&V.loaded}),(E.delays!=null||E.frames!=null)&&Object.assign(V,{length:V.frames.length}),(E.index!=null||E.frames!=null)&&Object.assign(V,{index:V.length===0?0:(V.length+V.index)%V.length}),E.playing!=null&&Object.assign(V,V.loaded?{playing:B}:{autoPlay:B}),V},initializer=C=>reducer({autoPlay:!0,playing:!1,frames:[],delays:[],index:0,length:0,loaded:!1},C),usePlayerState=C=>React.useReducer(reducer,C,initializer);var code='function e(e){var r={exports:{}};return e(r,r.exports),r.exports}var r=e((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.loop=r.conditional=r.parse=void 0;r.parse=function e(r,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;if(Array.isArray(t))t.forEach((function(t){return e(r,t,n,a)}));else if("function"==typeof t)t(r,n,a,e);else{var i=Object.keys(t)[0];Array.isArray(t[i])?(a[i]={},e(r,t[i],n,a[i])):a[i]=t[i](r,n,a,e)}return n};r.conditional=function(e,r){return function(t,n,a,i){r(t,n,a)&&i(t,e,n,a)}};r.loop=function(e,r){return function(t,n,a,i){for(var o=[];r(t,n,a);){var s={};i(t,e,n,s),o.push(s)}return o}}})),t=e((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.readBits=r.readArray=r.readUnsigned=r.readString=r.peekBytes=r.readBytes=r.peekByte=r.readByte=r.buildStream=void 0;r.buildStream=function(e){return{data:e,pos:0}};var t=function(){return function(e){return e.data[e.pos++]}};r.readByte=t;r.peekByte=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(r){return r.data[r.pos+e]}};var n=function(e){return function(r){return r.data.subarray(r.pos,r.pos+=e)}};r.readBytes=n;r.peekBytes=function(e){return function(r){return r.data.subarray(r.pos,r.pos+e)}};r.readString=function(e){return function(r){return Array.from(n(e)(r)).map((function(e){return String.fromCharCode(e)})).join("")}};r.readUnsigned=function(e){return function(r){var t=n(2)(r);return e?(t[1]<<8)+t[0]:(t[0]<<8)+t[1]}};r.readArray=function(e,r){return function(t,a,i){for(var o="function"==typeof r?r(t,a,i):r,s=n(e),d=new Array(o),c=0;c<o;c++)d[c]=s(t);return d}};r.readBits=function(e){return function(r){for(var t=function(e){return e.data[e.pos++]}(r),n=new Array(8),a=0;a<8;a++)n[7-a]=!!(t&1<<a);return Object.keys(e).reduce((function(r,t){var a=e[t];return a.length?r[t]=function(e,r,t){for(var n=0,a=0;a<t;a++)n+=e[r+a]&&Math.pow(2,t-a-1);return n}(n,a.index,a.length):r[t]=n[a.index],r}),{})}}})),n=e((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={blocks:function(e){for(var r=[],n=e.data.length,a=0,i=(0,t.readByte)()(e);0!==i;i=(0,t.readByte)()(e)){if(e.pos+i>=n){var o=n-e.pos;r.push((0,t.readBytes)(o)(e)),a+=o;break}r.push((0,t.readBytes)(i)(e)),a+=i}for(var s=new Uint8Array(a),d=0,c=0;c<r.length;c++)s.set(r[c],d),d+=r[c].length;return s}},i=(0,r.conditional)({gce:[{codes:(0,t.readBytes)(2)},{byteSize:(0,t.readByte)()},{extras:(0,t.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,t.readUnsigned)(!0)},{transparentColorIndex:(0,t.readByte)()},{terminator:(0,t.readByte)()}]},(function(e){var r=(0,t.peekBytes)(2)(e);return 33===r[0]&&249===r[1]})),o=(0,r.conditional)({image:[{code:(0,t.readByte)()},{descriptor:[{left:(0,t.readUnsigned)(!0)},{top:(0,t.readUnsigned)(!0)},{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{lct:(0,t.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,r.conditional)({lct:(0,t.readArray)(3,(function(e,r,t){return Math.pow(2,t.descriptor.lct.size+1)}))},(function(e,r,t){return t.descriptor.lct.exists})),{data:[{minCodeSize:(0,t.readByte)()},a]}]},(function(e){return 44===(0,t.peekByte)()(e)})),s=(0,r.conditional)({text:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{preData:function(e,r,n){return(0,t.readBytes)(n.text.blockSize)(e)}},a]},(function(e){var r=(0,t.peekBytes)(2)(e);return 33===r[0]&&1===r[1]})),d=(0,r.conditional)({application:[{codes:(0,t.readBytes)(2)},{blockSize:(0,t.readByte)()},{id:function(e,r,n){return(0,t.readString)(n.blockSize)(e)}},a]},(function(e){var r=(0,t.peekBytes)(2)(e);return 33===r[0]&&255===r[1]})),c=(0,r.conditional)({comment:[{codes:(0,t.readBytes)(2)},a]},(function(e){var r=(0,t.peekBytes)(2)(e);return 33===r[0]&&254===r[1]})),u=[{header:[{signature:(0,t.readString)(3)},{version:(0,t.readString)(3)}]},{lsd:[{width:(0,t.readUnsigned)(!0)},{height:(0,t.readUnsigned)(!0)},{gct:(0,t.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,t.readByte)()},{pixelAspectRatio:(0,t.readByte)()}]},(0,r.conditional)({gct:(0,t.readArray)(3,(function(e,r){return Math.pow(2,r.lsd.gct.size+1)}))},(function(e,r){return r.lsd.gct.exists})),{frames:(0,r.loop)([i,d,c,o,s],(function(e){var r=(0,t.peekByte)()(e);return 33===r||44===r}))}];n.default=u})),a=e((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.deinterlace=void 0;r.deinterlace=function(e,r){for(var t=new Array(e.length),n=e.length/r,a=function(n,a){var i=e.slice(a*r,(a+1)*r);t.splice.apply(t,[n*r,r].concat(i))},i=[0,4,2,1],o=[8,8,4,2],s=0,d=0;d<4;d++)for(var c=i[d];c<n;c+=o[d])a(c,s),s++;return t}})),i=e((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.lzw=void 0;r.lzw=function(e,r,t){var n,a,i,o,s,d,c,u,l,f,p,g,y,h,v,m,x=4096,B=t,w=new Array(t),b=new Array(x),k=new Array(x),A=new Array(4097);for(s=(a=1<<(f=e))+1,n=a+2,c=-1,i=(1<<(o=f+1))-1,u=0;u<a;u++)b[u]=0,k[u]=u;for(p=g=y=h=v=m=0,l=0;l<B;){if(0===h){if(g<o){p+=r[m]<<g,g+=8,m++;continue}if(u=p&i,p>>=o,g-=o,u>n||u==s)break;if(u==a){i=(1<<(o=f+1))-1,n=a+2,c=-1;continue}if(-1==c){A[h++]=k[u],c=u,y=u;continue}for(d=u,u==n&&(A[h++]=y,u=c);u>a;)A[h++]=k[u],u=b[u];y=255&k[u],A[h++]=y,n<x&&(b[n]=c,k[n]=y,0==(++n&i)&&n<x&&(o++,i+=n)),c=d}h--,w[v++]=A[h],l++}for(l=v;l<B;l++)w[l]=0;return w}})),o=e((function(e,o){Object.defineProperty(o,"__esModule",{value:!0}),o.decompressFrames=o.decompressFrame=o.parseGIF=void 0;var s,d=(s=n)&&s.__esModule?s:{default:s};o.parseGIF=function(e){var n=new Uint8Array(e);return(0,r.parse)((0,t.buildStream)(n),d.default)};var c=function(e,r,t){if(e.image){var n=e.image,o=n.descriptor.width*n.descriptor.height,s=(0,i.lzw)(n.data.minCodeSize,n.data.blocks,o);n.descriptor.lct.interlaced&&(s=(0,a.deinterlace)(s,n.descriptor.width));var d={pixels:s,dims:{top:e.image.descriptor.top,left:e.image.descriptor.left,width:e.image.descriptor.width,height:e.image.descriptor.height}};return n.descriptor.lct&&n.descriptor.lct.exists?d.colorTable=n.lct:d.colorTable=r,e.gce&&(d.delay=10*(e.gce.delay||10),d.disposalType=e.gce.extras.disposal,e.gce.extras.transparentColorGiven&&(d.transparentIndex=e.gce.transparentColorIndex)),t&&(d.patch=function(e){for(var r=e.pixels.length,t=new Uint8ClampedArray(4*r),n=0;n<r;n++){var a=4*n,i=e.pixels[n],o=e.colorTable[i]||[0,0,0];t[a]=o[0],t[a+1]=o[1],t[a+2]=o[2],t[a+3]=i!==e.transparentIndex?255:0}return t}(d)),d}console.warn("gif frame does not have associated image.")};o.decompressFrame=c;o.decompressFrames=function(e,r){return e.frames.filter((function(e){return e.image})).map((function(t){return c(t,e.gct,r)}))}}));const s=(e,r,t)=>{const{width:n,height:a,top:i,left:o}=r.dims,s=i*t.width+o;for(let i=0;i<a;i++)for(let a=0;a<n;a++){const o=i*n+a,d=r.pixels[o];if(d!==r.transparentIndex){const n=s+i*t.width+a,o=r.colorTable[d]||[0,0,0];e[4*n]=o[0],e[4*n+1]=o[1],e[4*n+2]=o[2],e[4*n+3]=255}}return e},d=new Map;self.addEventListener("message",(e=>{const{type:r,src:t}=e.data||e;switch(r){case"parse":if(!d.has(t)){const e=new AbortController,r={signal:e.signal};d.set(t,e),((e,{signal:r})=>fetch(e,{signal:r}).then((e=>{if(!e.headers.get("Content-Type").includes("image/gif"))throw Error(`Wrong content type: "${e.headers.get("Content-Type")}"`);return e.arrayBuffer()})).then((e=>o.parseGIF(e))).then((e=>((e=>{let r=null;for(const t of e.frames)r=t.gce?t.gce:r,"image"in t&&!("gce"in t)&&(t.gce=r)})(e),e))).then((e=>Promise.all([o.decompressFrames(e,!1),{width:e.lsd.width,height:e.lsd.height}]))).then((([e,r])=>{const t=[],n=r.width*r.height*4;for(let a=0;a<e.length;++a){const i=e[a],o=0===a||2===e[a-1].disposalType?new Uint8ClampedArray(n):t[a-1].slice();t.push(s(o,i,r))}return{...r,loaded:!0,delays:e.map((e=>e.delay)),frames:t}})))(t,r).then((e=>{self.postMessage(Object.assign(e,{src:t}),e.frames.map((e=>e.buffer)))})).catch((e=>{self.postMessage({src:t,error:e,loaded:!0})})).finally((()=>{d.delete(t)}))}break;case"cancel":if(d.has(t)){d.get(t).abort(),d.delete(t)}}}));\n';function WorkerFactory(C){const E=new Blob([code],{type:"application/javascript"}),I=URL.createObjectURL(E),B=new Worker(I,C);return URL.revokeObjectURL(I),B}const genearate=C=>({...C,frames:C.frames.map(E=>{const I=new ImageData(C.width,C.height);return I.data.set(new Uint8ClampedArray(E)),I})}),createSingleton=(C,E)=>{const I={};return()=>(I.instance||(I.instance=C()),React.useLayoutEffect(()=>(I.timeout?(clearTimeout(I.timeout),delete I.timeout):I.usageCount=(I.usageCount||0)+1,()=>{I.timeout=setTimeout(()=>{I.usageCount=I.usageCount-1,I.usageCount===0&&(E&&E(I.instance),delete I.instance,delete I.timeout)})}),[I,E]),I.instance)},useUpdatedRef=C=>{const E=React.useRef(C);return React.useEffect(()=>{E.current=C},[C]),E},useEventCallback=C=>{const E=useUpdatedRef(C);return React.useCallback(I=>E.current&&E.current(I),[])},useWorkerSingleton=createSingleton(()=>new WorkerFactory,C=>C.terminate()),useWorkerParser=(C,E)=>{const I=useEventCallback(E),B=useWorkerSingleton();React.useEffect(()=>{if(typeof C=="string"){const U=V=>{const X=V.data||V;if(X.src===C){const Y=X.error?X:genearate(X);I(Y)}};return B.addEventListener("message",U),B.postMessage({src:C,type:"parse"}),()=>{B.postMessage({src:C,type:"cancel"}),B.removeEventListener("message",U)}}},[B,C])},PixiAnimatedSpriteComp=({isPlaying:C,forwardRef:E,...I})=>{const B=React__namespace.useRef(null);return React__namespace.useImperativeHandle(E,()=>B.current,[B]),React__namespace.useEffect(()=>{if(B.current===null)return;const U=B.current;U[C?"gotoAndPlay":"gotoAndStop"](U.currentFrame)},[C]),jsxRuntimeExports.jsx(react.AnimatedSprite,{ref:B,...I,isPlaying:C})},PixiAnimatedSprite=React__namespace.memo(PixiAnimatedSpriteComp),initialState$2={isPlaying:!1,progress:0,speed:1,isMuted:!1,isWaiting:!1,loaded:!1,size:{width:50,height:50},isDragging:!1,totalFrames:0,totalDuration:0,currentFrame:0},PixiGifSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(0),[U,V]=React__namespace.useState([]),[,X]=React.useState(!1),Y=React.useRef(null),K=React.useRef(null),_e=React.useRef(initialState$2),xe=React.useRef(),[Z,J]=usePlayerState({autoPlay:!1}),{tl:Se}=React.useContext(GsapPixieContext),{src:Te,uniqueId:Ae,startAt:Me,endAt:Ee,frameStartAt:we,frameEndAt:Pe,loop:Ie,visible:Fe,disabled:Oe,transformation:{width:$e=0,height:Le=0,x:Ue,y:He,colorCorrection:We={}},pointerdown:je}=C,{frames:Ve,delays:ze}=Z;useWorkerParser(Te,J);const{temperatureFilter:Xe,sharpnessFilter:De,hueFilter:Be,blurFilter:Re,adjustmentFilter:ke,vignetteFilter:Ge,noiseFilter:Ne}=withFiltersHook(We),{blurRadius:qe=0,vignette:Ye=0,noise:Ke=0}=We,rt=.1;React__namespace.useEffect(()=>{if(!isEmpty$1(Ve)){const Ze=map$1(Ve,nt=>{const{data:tt,width:Je,height:ot}=nt,lt=new Uint8Array(tt);return PIXI__namespace.Texture.fromBuffer(lt,Je,ot)}).map((nt,tt)=>({texture:nt,time:ze[tt]}));V(Ze);let et=0;ze.forEach(nt=>{et+=nt}),B(et/1e3),_e.current.totalDuration=et,_e.current.totalFrames=Ve.length}},[Ae,Ve,ze]);const it=()=>{Y.current&&(Y.current.stop(),_e.current.isPlaying=!1)},Qe=()=>{if(Y.current&&xe.current){const at=xe.current.time();let Ze=at===0?0:at/rt;Ze=isNaN(Ze)?0:Ze;const et=_e.current.totalFrames;Ze=Ze>et?et:Ze,Ze=Math.round(Ze),Ze>=et?(Y.current.gotoAndStop(0),_e.current.isPlaying=!1):(Y.current.currentFrame=Ze,_e.current.isPlaying=!0)}},st=()=>{X(!0)};return React.useEffect(()=>{let at=gsap$2.context(()=>{});if(K.current&&Se.current&&I>0){const Ze={duration:Number(I),onInterrupt:it,onUpdate:Qe,onUpdateParams:[we,Pe]},et=Number(Ee)-Number(Me),nt=Math.max(0,Math.floor(et/I)-1);xe.current&&xe.current.kill(),at=gsap$2.context(()=>{xe.current=gsap$2.timeline({repeat:Ie?nt:0,repeatDelay:0}).from(K.current,Ze,we),Se.current.add(xe.current,Me)})}return()=>{xe.current&&(xe.current.kill(),gsap$2.killTweensOf(xe.current)),at.revert()}},[Te,Ae,Me,Ee,we,Pe,I,Ie]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,isGif:!0,children:jsxRuntimeExports.jsx(react.Container,{ref:K,children:!isEmpty$1(U)&&jsxRuntimeExports.jsx(PixiAnimatedSprite,{x:Ue,y:He,width:$e,height:Le,animationSpeed:1,alpha:Fe?1:0,loop:Ie,textures:U,onComplete:st,anchor:.5,forwardRef:Y,...!Oe&&Fe&&{interactive:!0,pointerdown:je},filters:[Xe,De,Be,ke,...qe>0?[Re]:[],...Ye>0?[Ge]:[],...Ke>0?[Ne]:[]]})})})}),PixiTextSprite=React__namespace.forwardRef((C,E)=>{const B=React.useRef(null),U=React.useRef(0),V=React.useRef(null),X=React.useRef(null),Y=React.useRef(16),K=React.useRef(null),{visible:_e,text:xe,disabled:Z,transformation:J,pointerdown:Se,onDobuleClick:Te}=C,{x:Ae,y:Me,fontFamily:Ee="Arial",fontWeight:we="normal",fontStyle:Pe="normal",fontSize:Ie=16,fontVariant:Fe="normal",fill:Oe="black",stroke:$e,strokeThickness:Le=0,blurRadius:Ue=0,blurEnabled:He=!1,dropShadowColor:We=null,dropShadow:je=!1,dropShadowBlur:Ve=0,wordWrapWidth:ze=5e7,leading:Xe=0,letterSpacing:De,colorCorrection:Be={}}=J,{temperatureFilter:Re,sharpnessFilter:ke,hueFilter:Ge,blurFilter:Ne,adjustmentFilter:qe}=withFiltersHook(Be),{blurRadius:Ye=0}=Be;React__namespace.useEffect(()=>{Y.current=Number(Ie)},[Ie]);const Ke=["italic","oblique"].includes(Pe)?Pe:void 0,rt=["small-caps"].includes(Fe),it=["bold","bolder","lighter","100","200","300"].includes(we)?we:void 0,Qe=Number(De)>0?De:void 0,st=React__namespace.useMemo(()=>new PIXI__namespace.TextStyle({fontFamily:Ee,fontSize:Ie,fill:Oe||"white",...$e&&Le>0&&{stroke:$e,strokeThickness:Le},...Ke&&{fontStyle:Ke},...rt&&{fontVariant:rt},...it&&{fontWeight:it},...Qe&&{letterSpacing:Qe},...He&&{dropShadow:!0,dropShadowBlur:Number(Ue),dropShadowColor:(We==null?void 0:We.toString())||"black",dropShadowAngle:.5235987755982988,dropShadowDistance:5},...je&&{dropShadow:!0,dropShadowBlur:Number(Ve),dropShadowColor:(We==null?void 0:We.toString())||"black",dropShadowAngle:.5235987755982988,dropShadowDistance:5},wordWrap:!0,breakWords:!0,wordWrapWidth:ze||500,leading:Xe||0}),[He,Ue,Oe,Ee,Ie,Pe,Xe,Ke,it,rt,Qe,We,$e,Le,ze,je,Ve]);React__namespace.useEffect(()=>{K.current={...J}},[J]);const at=()=>{const et=new Date().getTime();et-U.current<300&&Te?Te():Se&&Se(),U.current=et},Ze=()=>{!Z&&Te&&Te()};return jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,isText:!0,onDoubleClick:Ze,children:jsxRuntimeExports.jsx(react.Container,{ref:B,children:jsxRuntimeExports.jsx(react.Container,{alpha:1,ref:X,children:jsxRuntimeExports.jsx(react.Text,{style:st,x:Ae,y:Me,anchor:.5,text:xe,alpha:_e?1:0,..._e&&!Z&&{interactive:!0,buttonMode:!0,pointerdown:at},ref:V,filters:[Re,ke,Ge,qe,...Ye>0?[Ne]:[]]})})})})});var root=_root,now$1=function(){return root.Date.now()},now_1=now$1,reWhitespace=/\s/;function trimmedEndIndex$1(C){for(var E=C.length;E--&&reWhitespace.test(C.charAt(E)););return E}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(C){return C&&C.slice(0,trimmedEndIndex(C)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$1=isObject_1,isSymbol=isSymbol_1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$1(C){if(typeof C=="number")return C;if(isSymbol(C))return NAN;if(isObject$1(C)){var E=typeof C.valueOf=="function"?C.valueOf():C;C=isObject$1(E)?E+"":E}if(typeof C!="string")return C===0?C:+C;C=baseTrim(C);var I=reIsBinary.test(C);return I||reIsOctal.test(C)?freeParseInt(C.slice(2),I?2:8):reIsBadHex.test(C)?NAN:+C}var toNumber_1=toNumber$1,isObject=isObject_1,now=now_1,toNumber=toNumber_1,FUNC_ERROR_TEXT="Expected a function",nativeMax=Math.max,nativeMin=Math.min;function debounce(C,E,I){var B,U,V,X,Y,K,_e=0,xe=!1,Z=!1,J=!0;if(typeof C!="function")throw new TypeError(FUNC_ERROR_TEXT);E=toNumber(E)||0,isObject(I)&&(xe=!!I.leading,Z="maxWait"in I,V=Z?nativeMax(toNumber(I.maxWait)||0,E):V,J="trailing"in I?!!I.trailing:J);function Se(Oe){var $e=B,Le=U;return B=U=void 0,_e=Oe,X=C.apply(Le,$e),X}function Te(Oe){return _e=Oe,Y=setTimeout(Ee,E),xe?Se(Oe):X}function Ae(Oe){var $e=Oe-K,Le=Oe-_e,Ue=E-$e;return Z?nativeMin(Ue,V-Le):Ue}function Me(Oe){var $e=Oe-K,Le=Oe-_e;return K===void 0||$e>=E||$e<0||Z&&Le>=V}function Ee(){var Oe=now();if(Me(Oe))return we(Oe);Y=setTimeout(Ee,Ae(Oe))}function we(Oe){return Y=void 0,J&&B?Se(Oe):(B=U=void 0,X)}function Pe(){Y!==void 0&&clearTimeout(Y),_e=0,B=K=U=Y=void 0}function Ie(){return Y===void 0?X:we(now())}function Fe(){var Oe=now(),$e=Me(Oe);if(B=arguments,U=this,K=Oe,$e){if(Y===void 0)return Te(K);if(Z)return clearTimeout(Y),Y=setTimeout(Ee,E),Se(K)}return Y===void 0&&(Y=setTimeout(Ee,E)),X}return Fe.cancel=Pe,Fe.flush=Ie,Fe}var debounce_1=debounce;const debounce$1=getDefaultExportFromCjs(debounce_1),useDebouncedPointerEvents=(C,E,I,B)=>{const U=React.useCallback(debounce$1(C,B),[C,B]),V=React.useCallback(debounce$1(E,B),[E,B]),X=React.useCallback(debounce$1(I,B),[I,B]),Y=React.useCallback(()=>{U()},[U]),K=React.useCallback(()=>{V()},[V]),_e=React.useCallback(()=>{X()},[X]);return{onPointerOver:Y,onPointerDown:K,onPointerOut:_e}},initialState$1={isPlaying:!1,progress:0,speed:1,isMuted:!1,isWaiting:!1,isStalled:!1,loaded:!1,size:{width:50,height:50},isDragging:!1,timeDiff:0},PixiVideoSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(!1),U=React__namespace.useRef(),V=React.useRef(null),X=React.useRef(null),Y=React.useRef(null),K=React.useRef(initialState$1),_e=React.useRef(),{uniqueId:xe,mute:Z=!1,src:J,startAt:Se,endAt:Te,frameStartAt:Ae,frameEndAt:Me,visible:Ee,disabled:we,transformation:{x:Pe,y:Ie,width:Fe,height:Oe,animation:$e,colorCorrection:Le={}},pointerdown:Ue=()=>{},pointerout:He=()=>{},pointerover:We=()=>{},fps:je=0}=C,{tl:Ve,dragModeRef:ze,isRemotion:Xe}=React.useContext(GsapPixieContext),{onPointerDown:De,onPointerOut:Be,onPointerOver:Re}=useDebouncedPointerEvents(We,Ue,He,1),{blurRadius:ke=0,vignette:Ge=0,noise:Ne=0}=Le,{temperatureFilter:qe,sharpnessFilter:Ye,hueFilter:Ke,blurFilter:rt,adjustmentFilter:it,vignetteFilter:Qe,noiseFilter:st}=withFiltersHook(Le),at=J||"",Ze=React__namespace.useMemo(()=>{const ot=document.createElement("video");return ot.src=J,ot.crossOrigin="Anonymus",ot.autoplay=!1,ot.currentTime=Ae===0?.001:Ae,ot},[J,Ae]);useCustomEventListener(Events.PAUSE,()=>{Y.current&&(Y.current.pause(),K.current.isPlaying=!1)}),useCustomEventListener(Events.SCRUBBER_CLICKED,()=>{Y.current&&(Y.current.pause(),K.current.isPlaying=!1)}),useCustomEventListener(Events.REVERSE_MODE_END,()=>{Y.current&&(Y.current.pause(),K.current.isPlaying=!1)});const et=ot=>{if(Y.current){if(Y.current.currentTime=Number(ot),!ze.current){const lt=Y.current,ht=lt.currentTime>0&&!lt.paused&&!lt.ended&&lt.readyState>lt.HAVE_CURRENT_DATA;Ve.current&&Ve.current.isActive()&&_e.current&&_e.current.isActive()&&(ht||Y.current.play(),K.current.isPlaying=!0)}K.current.progress=0}},nt=()=>{if(Y.current){const ot=Y.current;ot.currentTime>0&&!ot.paused&&!ot.ended&&ot.readyState>ot.HAVE_CURRENT_DATA&&Y.current.pause(),K.current.isPlaying=!1,_e.current&&(K.current.progress=_e.current.progress())}},tt=()=>{},Je=()=>{var ot,lt;if(_e.current&&(K.current.progress=_e.current.progress()),Y.current&&_e.current){const ht=Ae+((ot=_e==null?void 0:_e.current)==null?void 0:ot.time()),ct=Math.abs(Y.current.currentTime-ht),ft=Y.current,ut=ft.currentTime>0&&!ft.paused&&!ft.ended&&ft.readyState>ft.HAVE_CURRENT_DATA;ze.current&&U.current?(Y.current.currentTime=ht,U.current.update(),K.current.isPlaying=!1):(ut!==K.current.isPlaying||!ut)&&K.current.progress>.01&&K.current.progress<.99?(lt=Ve.current)!=null&&lt.isActive()&&_e.current&&_e.current.isActive()&&(ut||Y.current.play(),K.current.isPlaying=!0):ct>.3&&K.current.progress>.01&&K.current.progress<.99&&(Y.current.currentTime=ht)}};return React.useEffect(()=>{let ot=gsap$2.context(()=>{});if(X.current&&Ve.current){const lt={duration:Number(Te)-Number(Se),onStart:et,onComplete:nt,onStartParams:[Ae,Me],onCompleteParams:[],onInterrupt:tt,onUpdate:Je,onUpdateParams:[Ae,Me],onPause:()=>{console.log("onPause video sprite pause",xe)},onResume:()=>{console.log("onResume video sprite resume",xe)},onReverseComplete:()=>{console.log("onReverseComplete video sprite reverse complete",xe)},onKill:()=>{console.log("onKill video sprite kill",xe)}};_e.current&&(_e.current.kill(),Ve.current.remove(_e.current)),ot=gsap$2.context(()=>{_e.current=gsap$2.to(X.current,lt,Ae),Ve.current.add(_e.current,Se)})}return()=>{_e.current&&(_e.current.kill(),gsap$2.killTweensOf(_e.current)),ot.revert()}},[$e,Se,Te,Ae,Me,xe]),React__namespace.useEffect(()=>{Y.current&&(Y.current.muted=Z,K.current.isMuted=Z);const ot=setTimeout(()=>{Y.current&&(Y.current.muted=Z,K.current.isMuted=Z)},1500);return()=>{clearTimeout(ot)}},[Z]),React__namespace.useEffect(()=>{const ot=Math.round((Number(Ae)+Number.EPSILON)*100)/100,lt=function(){Y.current&&(Y.current.currentTime=ot,Y.current.muted=Z)},ht=function(){K.current.isWaiting=!1,K.current.isStalled=!1},ct=function(){K.current.isWaiting=!0,K.current.isStalled=!1},ft=function(){K.current.isWaiting=!1,K.current.isStalled=!1},ut=function(){K.current.isWaiting=!1,K.current.isStalled=!0},dt=Math.round((Number(Ae)+Number.EPSILON)*100)/100,gt=Math.round((Number(Me)+Number.EPSILON)*100)/100,vt=`${at}#t=${dt},${gt}`;return PIXI__namespace.Texture.fromLoader(Ze,vt,xe,{pixiIdPrefix:xe,resourceOptions:{autoPlay:!1,crossorigin:"Anonymus",updateFPS:je?Math.max(120,Number(je)):30}}).then(pt=>{pt&&(U.current=pt,B(!0),Y.current=pt.baseTexture.resource.source,Y.current.id=xe,Y.current.addEventListener("loadedmetadata",lt),Y.current.addEventListener("ended",ht),Y.current.addEventListener("loadstart",ct),Y.current.addEventListener("canplaythrough",ft),Y.current.addEventListener("stalled",ut))}),()=>{Y.current&&(Y.current.pause(),Y.current.removeEventListener("loadedmetadata",lt),Y.current.removeEventListener("ended",ht),Y.current.removeEventListener("loadstart",ct),Y.current.removeEventListener("canplaythrough",ft),Y.current.removeEventListener("stalled",ut))}},[at,xe,Ae,Me,Ze]),React__namespace.useEffect(()=>{const ot=setTimeout(()=>{I&&U.current&&_e.current&&Ve.current&&_e.current.progress()<.1&&Y.current&&!_e.current.isActive()&&!Xe&&(Y.current.currentTime=Ae,U.current.update())},30);return()=>{clearTimeout(ot)}},[I]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,pointerdown:De,pointerover:Re,pointerout:Be,children:jsxRuntimeExports.jsx(react.Container,{ref:X,children:U.current&&jsxRuntimeExports.jsx(react.Sprite,{texture:U.current,width:Fe,height:Oe,anchor:.5,x:Pe,y:Ie,ref:V,alpha:Ee?1:0,...!we&&Ee&&{interactive:!0,pointerdown:Ue},filters:[qe,Ye,Ke,it,...ke>0?[rt]:[],...Ge>0?[Qe]:[],...Ne>0?[st]:[]]})})})});PixiVideoSprite.whyDidYouRender={logOnDifferentValues:!0,customName:"PixiVideoSprite"};const PixiVideoCanvasSyncSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(),U=React.useRef(null),V=React.useRef(null),{visible:X,disabled:Y,transformation:{x:K,y:_e,width:xe,height:Z,colorCorrection:J={}},pointerdown:Se=()=>{},pointerout:Te=()=>{},pointerover:Ae=()=>{},canvasImageRef:Me}=C,Ee=Me&&(Me==null?void 0:Me.getCanvas()),we=react.useApp(),{onPointerDown:Pe,onPointerOut:Ie,onPointerOver:Fe}=useDebouncedPointerEvents(Ae,Se,Te,1),{blurRadius:Oe=0,vignette:$e=0,noise:Le=0}=J,{temperatureFilter:Ue,sharpnessFilter:He,hueFilter:We,blurFilter:je,adjustmentFilter:Ve,vignetteFilter:ze,noiseFilter:Xe}=withFiltersHook(J);return react.useTick(()=>{if(U.current&&U.current.texture){const De=U.current.texture.baseTexture;De&&De.update(),V.current&&we.renderer.render(V.current)}}),React__namespace.useEffect(()=>{if(!isEmpty$1(Ee)){const De=PIXI__namespace.Texture.from(Ee);B(De)}},[Ee]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,pointerdown:Pe,pointerover:Fe,pointerout:Ie,children:jsxRuntimeExports.jsx(react.Container,{ref:V,children:I&&jsxRuntimeExports.jsx(react.Sprite,{texture:I,width:xe,height:Z,anchor:.5,x:K,y:_e,ref:U,alpha:X?1:0,...!Y&&X&&{interactive:!0,pointerdown:Se},filters:[Ue,He,We,Ve,...Oe>0?[je]:[],...$e>0?[ze]:[],...Le>0?[Xe]:[]]})})})}),PixiSequence=C=>{const{startAt:E,endAt:I,uniqueId:B}=C,U=React.useRef(null),V=React.useRef(null),X=React.useRef(null),Y=React.useRef(null),{tl:K,totalDuration:_e=0}=React.useContext(GsapPixieContext);return React__namespace.useEffect(()=>{const xe=gsap$2.context(()=>{if(U.current&&K.current){Y.current&&(Y.current.kill(),K.current.remove(Y.current));const Z=E<.2?1:0;Y.current=gsap$2.timeline().set(U.current,{alpha:Z}).to(U.current,{pixi:{alpha:1,eventMode:"static"},duration:Number(I)-Number(E)}).set(U.current,{alpha:0,eventMode:"none"}),K.current.add([Y.current],E)}});return()=>{Y.current&&(K.current.remove(Y.current),Y.current.progress(0).kill()),xe.revert()}},[E,I,_e,B]),jsxRuntimeExports.jsx(react.Container,{ref:U,alpha:E<.2?1:0,eventMode:E<.2?"static":"none",children:jsxRuntimeExports.jsx(react.Container,{ref:X,children:jsxRuntimeExports.jsx(react.Container,{ref:V,alpha:1,children:C.children})})})},PixiSequenceWrapper=C=>{const{startAt:E,endAt:I}=C,{setTotalDuration:B}=React.useContext(GsapPixieContext);return React__namespace.useEffect(()=>{B&&B(Number(I)+.2)},[E,I]),C.children},PixiRemotionSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(),U=React.useRef(null),V=React.useRef(null),{visible:X,disabled:Y,transformation:{x:K,y:_e,width:xe,height:Z,colorCorrection:J={}},pointerdown:Se=()=>{},pointerout:Te=()=>{},pointerover:Ae=()=>{},canvasImageRef:Me}=C,Ee=Me&&(Me==null?void 0:Me.getCanvas()),we=react.useApp(),{onPointerDown:Pe,onPointerOut:Ie,onPointerOver:Fe}=useDebouncedPointerEvents(Ae,Se,Te,1),{blurRadius:Oe=0,vignette:$e=0,noise:Le=0}=J,{temperatureFilter:Ue,sharpnessFilter:He,hueFilter:We,blurFilter:je,adjustmentFilter:Ve,vignetteFilter:ze,noiseFilter:Xe}=withFiltersHook(J);return react.useTick(()=>{if(U.current&&U.current.texture){const De=U.current.texture.baseTexture;De&&De.update(),V.current&&we.renderer.render(V.current)}}),React__namespace.useEffect(()=>{if(!isEmpty$1(Ee)){const De=PIXI__namespace.Texture.from(Ee);B(De)}},[Ee]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,pointerdown:Pe,pointerover:Fe,pointerout:Ie,children:jsxRuntimeExports.jsx(react.Container,{ref:V,children:I&&jsxRuntimeExports.jsx(react.Sprite,{texture:I,width:xe,height:Z,anchor:.5,x:K,y:_e,ref:U,alpha:X?1:0,...!Y&&X&&{interactive:!0,pointerdown:Se},filters:[Ue,He,We,Ve,...Oe>0?[je]:[],...$e>0?[ze]:[],...Le>0?[Xe]:[]]})})})});var lottie$1={exports:{}};(function(module,exports){typeof navigator<"u"&&function(C,E){module.exports=E()}(commonjsGlobal$1,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(E){_useWebWorker=!!E},getWebWorker=function(){return _useWebWorker},setLocationHref=function(E){locationHref=E},getLocationHref=function(){return locationHref};function createTag(C){return document.createElement(C)}function extendPrototype(C,E){var I,B=C.length,U;for(I=0;I<B;I+=1){U=C[I].prototype;for(var V in U)Object.prototype.hasOwnProperty.call(U,V)&&(E.prototype[V]=U[V])}}function getDescriptor(C,E){return Object.getOwnPropertyDescriptor(C,E)}function createProxyFunction(C){function E(){}return E.prototype=C,E}var audioControllerFactory=function(){function C(E){this.audios=[],this.audioFactory=E,this._volume=1,this._isMuted=!1}return C.prototype={addAudio:function(I){this.audios.push(I)},pause:function(){var I,B=this.audios.length;for(I=0;I<B;I+=1)this.audios[I].pause()},resume:function(){var I,B=this.audios.length;for(I=0;I<B;I+=1)this.audios[I].resume()},setRate:function(I){var B,U=this.audios.length;for(B=0;B<U;B+=1)this.audios[B].setRate(I)},createAudio:function(I){return this.audioFactory?this.audioFactory(I):window.Howl?new window.Howl({src:[I]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(I){this.audioFactory=I},setVolume:function(I){this._volume=I,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var I,B=this.audios.length;for(I=0;I<B;I+=1)this.audios[I].volume(this._volume*(this._isMuted?0:1))}},function(){return new C}}(),createTypedArray=function(){function C(I,B){var U=0,V=[],X;switch(I){case"int16":case"uint8c":X=1;break;default:X=1.1;break}for(U=0;U<B;U+=1)V.push(X);return V}function E(I,B){return I==="float32"?new Float32Array(B):I==="int16"?new Int16Array(B):I==="uint8c"?new Uint8ClampedArray(B):C(I,B)}return typeof Uint8ClampedArray=="function"&&typeof Float32Array=="function"?E:C}();function createSizedArray(C){return Array.apply(null,{length:C})}function _typeof$6(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$6=function(I){return typeof I}:_typeof$6=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$6(C)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};(function(){var C=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],E,I=C.length;for(E=0;E<I;E+=1)BMMath[C[E]]=Math[C[E]]})(),BMMath.random=Math.random,BMMath.abs=function(C){var E=_typeof$6(C);if(E==="object"&&C.length){var I=createSizedArray(C.length),B,U=C.length;for(B=0;B<U;B+=1)I[B]=Math.abs(C[B]);return I}return Math.abs(C)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function styleDiv(C){C.style.position="absolute",C.style.top=0,C.style.left=0,C.style.display="block",C.style.transformOrigin="0 0",C.style.webkitTransformOrigin="0 0",C.style.backfaceVisibility="visible",C.style.webkitBackfaceVisibility="visible",C.style.transformStyle="preserve-3d",C.style.webkitTransformStyle="preserve-3d",C.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(C,E,I,B){this.type=C,this.currentTime=E,this.totalTime=I,this.direction=B<0?-1:1}function BMCompleteEvent(C,E){this.type=C,this.direction=E<0?-1:1}function BMCompleteLoopEvent(C,E,I,B){this.type=C,this.currentLoop=I,this.totalLoops=E,this.direction=B<0?-1:1}function BMSegmentStartEvent(C,E,I){this.type=C,this.firstFrame=E,this.totalFrames=I}function BMDestroyEvent(C,E){this.type=C,this.target=E}function BMRenderFrameErrorEvent(C,E){this.type="renderFrameError",this.nativeError=C,this.currentTime=E}function BMConfigErrorEvent(C){this.type="configError",this.nativeError=C}var createElementID=function(){var C=0;return function(){return C+=1,idPrefix$1+"__lottie_element_"+C}}();function HSVtoRGB(C,E,I){var B,U,V,X,Y,K,_e,xe;switch(X=Math.floor(C*6),Y=C*6-X,K=I*(1-E),_e=I*(1-Y*E),xe=I*(1-(1-Y)*E),X%6){case 0:B=I,U=xe,V=K;break;case 1:B=_e,U=I,V=K;break;case 2:B=K,U=I,V=xe;break;case 3:B=K,U=_e,V=I;break;case 4:B=xe,U=K,V=I;break;case 5:B=I,U=K,V=_e;break}return[B,U,V]}function RGBtoHSV(C,E,I){var B=Math.max(C,E,I),U=Math.min(C,E,I),V=B-U,X,Y=B===0?0:V/B,K=B/255;switch(B){case U:X=0;break;case C:X=E-I+V*(E<I?6:0),X/=6*V;break;case E:X=I-C+V*2,X/=6*V;break;case I:X=C-E+V*4,X/=6*V;break}return[X,Y,K]}function addSaturationToRGB(C,E){var I=RGBtoHSV(C[0]*255,C[1]*255,C[2]*255);return I[1]+=E,I[1]>1?I[1]=1:I[1]<=0&&(I[1]=0),HSVtoRGB(I[0],I[1],I[2])}function addBrightnessToRGB(C,E){var I=RGBtoHSV(C[0]*255,C[1]*255,C[2]*255);return I[2]+=E,I[2]>1?I[2]=1:I[2]<0&&(I[2]=0),HSVtoRGB(I[0],I[1],I[2])}function addHueToRGB(C,E){var I=RGBtoHSV(C[0]*255,C[1]*255,C[2]*255);return I[0]+=E/360,I[0]>1?I[0]-=1:I[0]<0&&(I[0]+=1),HSVtoRGB(I[0],I[1],I[2])}var rgbToHex=function(){var C=[],E,I;for(E=0;E<256;E+=1)I=E.toString(16),C[E]=I.length===1?"0"+I:I;return function(B,U,V){return B<0&&(B=0),U<0&&(U=0),V<0&&(V=0),"#"+C[B]+C[U]+C[V]}}(),setSubframeEnabled=function(E){subframeEnabled=!!E},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(E){expressionsPlugin=E},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(E){expressionsInterfaces=E},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(E){defaultCurveSegments=E},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(E){idPrefix$1=E};function createNS(C){return document.createElementNS(svgNS,C)}function _typeof$5(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(I){return typeof I}:_typeof$5=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$5(C)}var dataManager=function(){var C=1,E=[],I,B,U={onmessage:function(){},postMessage:function(Se){I({data:Se})}},V={postMessage:function(Se){U.onmessage({data:Se})}};function X(J){if(window.Worker&&window.Blob&&getWebWorker()){var Se=new Blob(["var _workerSelf = self; self.onmessage = ",J.toString()],{type:"text/javascript"}),Te=URL.createObjectURL(Se);return new Worker(Te)}return I=J,U}function Y(){B||(B=X(function(Se){function Te(){function Me(Xe,De){var Be,Re,ke=Xe.length,Ge,Ne,qe,Ye;for(Re=0;Re<ke;Re+=1)if(Be=Xe[Re],"ks"in Be&&!Be.completed){if(Be.completed=!0,Be.hasMask){var Ke=Be.masksProperties;for(Ne=Ke.length,Ge=0;Ge<Ne;Ge+=1)if(Ke[Ge].pt.k.i)Fe(Ke[Ge].pt.k);else for(Ye=Ke[Ge].pt.k.length,qe=0;qe<Ye;qe+=1)Ke[Ge].pt.k[qe].s&&Fe(Ke[Ge].pt.k[qe].s[0]),Ke[Ge].pt.k[qe].e&&Fe(Ke[Ge].pt.k[qe].e[0])}Be.ty===0?(Be.layers=Pe(Be.refId,De),Me(Be.layers,De)):Be.ty===4?Ie(Be.shapes):Be.ty===5&&Ve(Be)}}function Ee(Xe,De){if(Xe){var Be=0,Re=Xe.length;for(Be=0;Be<Re;Be+=1)Xe[Be].t===1&&(Xe[Be].data.layers=Pe(Xe[Be].data.refId,De),Me(Xe[Be].data.layers,De))}}function we(Xe,De){for(var Be=0,Re=De.length;Be<Re;){if(De[Be].id===Xe)return De[Be];Be+=1}return null}function Pe(Xe,De){var Be=we(Xe,De);return Be?Be.layers.__used?JSON.parse(JSON.stringify(Be.layers)):(Be.layers.__used=!0,Be.layers):null}function Ie(Xe){var De,Be=Xe.length,Re,ke;for(De=Be-1;De>=0;De-=1)if(Xe[De].ty==="sh")if(Xe[De].ks.k.i)Fe(Xe[De].ks.k);else for(ke=Xe[De].ks.k.length,Re=0;Re<ke;Re+=1)Xe[De].ks.k[Re].s&&Fe(Xe[De].ks.k[Re].s[0]),Xe[De].ks.k[Re].e&&Fe(Xe[De].ks.k[Re].e[0]);else Xe[De].ty==="gr"&&Ie(Xe[De].it)}function Fe(Xe){var De,Be=Xe.i.length;for(De=0;De<Be;De+=1)Xe.i[De][0]+=Xe.v[De][0],Xe.i[De][1]+=Xe.v[De][1],Xe.o[De][0]+=Xe.v[De][0],Xe.o[De][1]+=Xe.v[De][1]}function Oe(Xe,De){var Be=De?De.split("."):[100,100,100];return Xe[0]>Be[0]?!0:Be[0]>Xe[0]?!1:Xe[1]>Be[1]?!0:Be[1]>Xe[1]?!1:Xe[2]>Be[2]?!0:Be[2]>Xe[2]?!1:null}var $e=function(){var Xe=[4,4,14];function De(Re){var ke=Re.t.d;Re.t.d={k:[{s:ke,t:0}]}}function Be(Re){var ke,Ge=Re.length;for(ke=0;ke<Ge;ke+=1)Re[ke].ty===5&&De(Re[ke])}return function(Re){if(Oe(Xe,Re.v)&&(Be(Re.layers),Re.assets)){var ke,Ge=Re.assets.length;for(ke=0;ke<Ge;ke+=1)Re.assets[ke].layers&&Be(Re.assets[ke].layers)}}}(),Le=function(){var Xe=[4,7,99];return function(De){if(De.chars&&!Oe(Xe,De.v)){var Be,Re=De.chars.length;for(Be=0;Be<Re;Be+=1){var ke=De.chars[Be];ke.data&&ke.data.shapes&&(Ie(ke.data.shapes),ke.data.ip=0,ke.data.op=99999,ke.data.st=0,ke.data.sr=1,ke.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},De.chars[Be].t||(ke.data.shapes.push({ty:"no"}),ke.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}}(),Ue=function(){var Xe=[5,7,15];function De(Re){var ke=Re.t.p;typeof ke.a=="number"&&(ke.a={a:0,k:ke.a}),typeof ke.p=="number"&&(ke.p={a:0,k:ke.p}),typeof ke.r=="number"&&(ke.r={a:0,k:ke.r})}function Be(Re){var ke,Ge=Re.length;for(ke=0;ke<Ge;ke+=1)Re[ke].ty===5&&De(Re[ke])}return function(Re){if(Oe(Xe,Re.v)&&(Be(Re.layers),Re.assets)){var ke,Ge=Re.assets.length;for(ke=0;ke<Ge;ke+=1)Re.assets[ke].layers&&Be(Re.assets[ke].layers)}}}(),He=function(){var Xe=[4,1,9];function De(Re){var ke,Ge=Re.length,Ne,qe;for(ke=0;ke<Ge;ke+=1)if(Re[ke].ty==="gr")De(Re[ke].it);else if(Re[ke].ty==="fl"||Re[ke].ty==="st")if(Re[ke].c.k&&Re[ke].c.k[0].i)for(qe=Re[ke].c.k.length,Ne=0;Ne<qe;Ne+=1)Re[ke].c.k[Ne].s&&(Re[ke].c.k[Ne].s[0]/=255,Re[ke].c.k[Ne].s[1]/=255,Re[ke].c.k[Ne].s[2]/=255,Re[ke].c.k[Ne].s[3]/=255),Re[ke].c.k[Ne].e&&(Re[ke].c.k[Ne].e[0]/=255,Re[ke].c.k[Ne].e[1]/=255,Re[ke].c.k[Ne].e[2]/=255,Re[ke].c.k[Ne].e[3]/=255);else Re[ke].c.k[0]/=255,Re[ke].c.k[1]/=255,Re[ke].c.k[2]/=255,Re[ke].c.k[3]/=255}function Be(Re){var ke,Ge=Re.length;for(ke=0;ke<Ge;ke+=1)Re[ke].ty===4&&De(Re[ke].shapes)}return function(Re){if(Oe(Xe,Re.v)&&(Be(Re.layers),Re.assets)){var ke,Ge=Re.assets.length;for(ke=0;ke<Ge;ke+=1)Re.assets[ke].layers&&Be(Re.assets[ke].layers)}}}(),We=function(){var Xe=[4,4,18];function De(Re){var ke,Ge=Re.length,Ne,qe;for(ke=Ge-1;ke>=0;ke-=1)if(Re[ke].ty==="sh")if(Re[ke].ks.k.i)Re[ke].ks.k.c=Re[ke].closed;else for(qe=Re[ke].ks.k.length,Ne=0;Ne<qe;Ne+=1)Re[ke].ks.k[Ne].s&&(Re[ke].ks.k[Ne].s[0].c=Re[ke].closed),Re[ke].ks.k[Ne].e&&(Re[ke].ks.k[Ne].e[0].c=Re[ke].closed);else Re[ke].ty==="gr"&&De(Re[ke].it)}function Be(Re){var ke,Ge,Ne=Re.length,qe,Ye,Ke,rt;for(Ge=0;Ge<Ne;Ge+=1){if(ke=Re[Ge],ke.hasMask){var it=ke.masksProperties;for(Ye=it.length,qe=0;qe<Ye;qe+=1)if(it[qe].pt.k.i)it[qe].pt.k.c=it[qe].cl;else for(rt=it[qe].pt.k.length,Ke=0;Ke<rt;Ke+=1)it[qe].pt.k[Ke].s&&(it[qe].pt.k[Ke].s[0].c=it[qe].cl),it[qe].pt.k[Ke].e&&(it[qe].pt.k[Ke].e[0].c=it[qe].cl)}ke.ty===4&&De(ke.shapes)}}return function(Re){if(Oe(Xe,Re.v)&&(Be(Re.layers),Re.assets)){var ke,Ge=Re.assets.length;for(ke=0;ke<Ge;ke+=1)Re.assets[ke].layers&&Be(Re.assets[ke].layers)}}}();function je(Xe){Xe.__complete||(He(Xe),$e(Xe),Le(Xe),Ue(Xe),We(Xe),Me(Xe.layers,Xe.assets),Ee(Xe.chars,Xe.assets),Xe.__complete=!0)}function Ve(Xe){Xe.t.a.length===0&&"m"in Xe.t.p}var ze={};return ze.completeData=je,ze.checkColors=He,ze.checkChars=Le,ze.checkPathProperties=Ue,ze.checkShapes=We,ze.completeLayers=Me,ze}if(V.dataManager||(V.dataManager=Te()),V.assetLoader||(V.assetLoader=function(){function Me(we){var Pe=we.getResponseHeader("content-type");return Pe&&we.responseType==="json"&&Pe.indexOf("json")!==-1||we.response&&_typeof$5(we.response)==="object"?we.response:we.response&&typeof we.response=="string"?JSON.parse(we.response):we.responseText?JSON.parse(we.responseText):null}function Ee(we,Pe,Ie,Fe){var Oe,$e=new XMLHttpRequest;try{$e.responseType="json"}catch{}$e.onreadystatechange=function(){if($e.readyState===4)if($e.status===200)Oe=Me($e),Ie(Oe);else try{Oe=Me($e),Ie(Oe)}catch(Le){Fe&&Fe(Le)}};try{$e.open(["G","E","T"].join(""),we,!0)}catch{$e.open(["G","E","T"].join(""),Pe+"/"+we,!0)}$e.send()}return{load:Ee}}()),Se.data.type==="loadAnimation")V.assetLoader.load(Se.data.path,Se.data.fullPath,function(Me){V.dataManager.completeData(Me),V.postMessage({id:Se.data.id,payload:Me,status:"success"})},function(){V.postMessage({id:Se.data.id,status:"error"})});else if(Se.data.type==="complete"){var Ae=Se.data.animation;V.dataManager.completeData(Ae),V.postMessage({id:Se.data.id,payload:Ae,status:"success"})}else Se.data.type==="loadData"&&V.assetLoader.load(Se.data.path,Se.data.fullPath,function(Me){V.postMessage({id:Se.data.id,payload:Me,status:"success"})},function(){V.postMessage({id:Se.data.id,status:"error"})})}),B.onmessage=function(J){var Se=J.data,Te=Se.id,Ae=E[Te];E[Te]=null,Se.status==="success"?Ae.onComplete(Se.payload):Ae.onError&&Ae.onError()})}function K(J,Se){C+=1;var Te="processId_"+C;return E[Te]={onComplete:J,onError:Se},Te}function _e(J,Se,Te){Y();var Ae=K(Se,Te);B.postMessage({type:"loadAnimation",path:J,fullPath:window.location.origin+window.location.pathname,id:Ae})}function xe(J,Se,Te){Y();var Ae=K(Se,Te);B.postMessage({type:"loadData",path:J,fullPath:window.location.origin+window.location.pathname,id:Ae})}function Z(J,Se,Te){Y();var Ae=K(Se,Te);B.postMessage({type:"complete",animation:J,id:Ae})}return{loadAnimation:_e,loadData:xe,completeAnimation:Z}}(),ImagePreloader=function(){var C=function(){var Ee=createTag("canvas");Ee.width=1,Ee.height=1;var we=Ee.getContext("2d");return we.fillStyle="rgba(0,0,0,0)",we.fillRect(0,0,1,1),Ee}();function E(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function I(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function B(Ee,we,Pe){var Ie="";if(Ee.e)Ie=Ee.p;else if(we){var Fe=Ee.p;Fe.indexOf("images/")!==-1&&(Fe=Fe.split("/")[1]),Ie=we+Fe}else Ie=Pe,Ie+=Ee.u?Ee.u:"",Ie+=Ee.p;return Ie}function U(Ee){var we=0,Pe=setInterval((function(){var Ie=Ee.getBBox();(Ie.width||we>500)&&(this._imageLoaded(),clearInterval(Pe)),we+=1}).bind(this),50)}function V(Ee){var we=B(Ee,this.assetsPath,this.path),Pe=createNS("image");isSafari?this.testImageLoaded(Pe):Pe.addEventListener("load",this._imageLoaded,!1),Pe.addEventListener("error",(function(){Ie.img=C,this._imageLoaded()}).bind(this),!1),Pe.setAttributeNS("http://www.w3.org/1999/xlink","href",we),this._elementHelper.append?this._elementHelper.append(Pe):this._elementHelper.appendChild(Pe);var Ie={img:Pe,assetData:Ee};return Ie}function X(Ee){var we=B(Ee,this.assetsPath,this.path),Pe=createTag("img");Pe.crossOrigin="anonymous",Pe.addEventListener("load",this._imageLoaded,!1),Pe.addEventListener("error",(function(){Ie.img=C,this._imageLoaded()}).bind(this),!1),Pe.src=we;var Ie={img:Pe,assetData:Ee};return Ie}function Y(Ee){var we={assetData:Ee},Pe=B(Ee,this.assetsPath,this.path);return dataManager.loadData(Pe,(function(Ie){we.img=Ie,this._footageLoaded()}).bind(this),(function(){we.img={},this._footageLoaded()}).bind(this)),we}function K(Ee,we){this.imagesLoadedCb=we;var Pe,Ie=Ee.length;for(Pe=0;Pe<Ie;Pe+=1)Ee[Pe].layers||(!Ee[Pe].t||Ee[Pe].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(Ee[Pe]))):Ee[Pe].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(Ee[Pe]))))}function _e(Ee){this.path=Ee||""}function xe(Ee){this.assetsPath=Ee||""}function Z(Ee){for(var we=0,Pe=this.images.length;we<Pe;){if(this.images[we].assetData===Ee)return this.images[we].img;we+=1}return null}function J(){this.imagesLoadedCb=null,this.images.length=0}function Se(){return this.totalImages===this.loadedAssets}function Te(){return this.totalFootages===this.loadedFootagesCount}function Ae(Ee,we){Ee==="svg"?(this._elementHelper=we,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}function Me(){this._imageLoaded=E.bind(this),this._footageLoaded=I.bind(this),this.testImageLoaded=U.bind(this),this.createFootageData=Y.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return Me.prototype={loadAssets:K,setAssetsPath:xe,setPath:_e,loadedImages:Se,loadedFootages:Te,destroy:J,getAsset:Z,createImgData:X,createImageData:V,imageLoaded:E,footageLoaded:I,setCacheType:Ae},Me}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(E,I){if(this._cbs[E])for(var B=this._cbs[E],U=0;U<B.length;U+=1)B[U](I)},addEventListener:function(E,I){return this._cbs[E]||(this._cbs[E]=[]),this._cbs[E].push(I),(function(){this.removeEventListener(E,I)}).bind(this)},removeEventListener:function(E,I){if(!I)this._cbs[E]=null;else if(this._cbs[E]){for(var B=0,U=this._cbs[E].length;B<U;)this._cbs[E][B]===I&&(this._cbs[E].splice(B,1),B-=1,U-=1),B+=1;this._cbs[E].length||(this._cbs[E]=null)}}};var markerParser=function(){function C(E){for(var I=E.split(`\r
1991
- `),B={},U,V=0,X=0;X<I.length;X+=1)U=I[X].split(":"),U.length===2&&(B[U[0]]=U[1].trim(),V+=1);if(V===0)throw new Error;return B}return function(E){for(var I=[],B=0;B<E.length;B+=1){var U=E[B],V={time:U.tm,duration:U.dr};try{V.payload=JSON.parse(E[B].cm)}catch{try{V.payload=C(E[B].cm)}catch{V.payload={name:E[B].cm}}}I.push(V)}return I}}(),ProjectInterface=function(){function C(E){this.compositions.push(E)}return function(){function E(I){for(var B=0,U=this.compositions.length;B<U;){if(this.compositions[B].data&&this.compositions[B].data.nm===I)return this.compositions[B].prepareFrame&&this.compositions[B].data.xt&&this.compositions[B].prepareFrame(this.currentFrame),this.compositions[B].compInterface;B+=1}return null}return E.compositions=[],E.currentFrame=0,E.registerComposition=C,E}}(),renderers={},registerRenderer=function(E,I){renderers[E]=I};function getRenderer(C){return renderers[C]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var C in renderers)if(renderers[C])return C;return""}function _typeof$4(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$4=function(I){return typeof I}:_typeof$4=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$4(C)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(C){(C.wrapper||C.container)&&(this.wrapper=C.wrapper||C.container);var E="svg";C.animType?E=C.animType:C.renderer&&(E=C.renderer);var I=getRenderer(E);this.renderer=new I(this,C.rendererSettings),this.imagePreloader.setCacheType(E,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=E,C.loop===""||C.loop===null||C.loop===void 0||C.loop===!0?this.loop=!0:C.loop===!1?this.loop=!1:this.loop=parseInt(C.loop,10),this.autoplay="autoplay"in C?C.autoplay:!0,this.name=C.name?C.name:"",this.autoloadSegments=Object.prototype.hasOwnProperty.call(C,"autoloadSegments")?C.autoloadSegments:!0,this.assetsPath=C.assetsPath,this.initialSegment=C.initialSegment,C.audioFactory&&this.audioController.setAudioFactory(C.audioFactory),C.animationData?this.setupAnimation(C.animationData):C.path&&(C.path.lastIndexOf("\\")!==-1?this.path=C.path.substr(0,C.path.lastIndexOf("\\")+1):this.path=C.path.substr(0,C.path.lastIndexOf("/")+1),this.fileName=C.path.substr(C.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(C.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(C){dataManager.completeAnimation(C,this.configAnimation)},AnimationItem.prototype.setData=function(C,E){E&&_typeof$4(E)!=="object"&&(E=JSON.parse(E));var I={wrapper:C,animationData:E},B=C.attributes;I.path=B.getNamedItem("data-animation-path")?B.getNamedItem("data-animation-path").value:B.getNamedItem("data-bm-path")?B.getNamedItem("data-bm-path").value:B.getNamedItem("bm-path")?B.getNamedItem("bm-path").value:"",I.animType=B.getNamedItem("data-anim-type")?B.getNamedItem("data-anim-type").value:B.getNamedItem("data-bm-type")?B.getNamedItem("data-bm-type").value:B.getNamedItem("bm-type")?B.getNamedItem("bm-type").value:B.getNamedItem("data-bm-renderer")?B.getNamedItem("data-bm-renderer").value:B.getNamedItem("bm-renderer")?B.getNamedItem("bm-renderer").value:getRegisteredRenderer()||"canvas";var U=B.getNamedItem("data-anim-loop")?B.getNamedItem("data-anim-loop").value:B.getNamedItem("data-bm-loop")?B.getNamedItem("data-bm-loop").value:B.getNamedItem("bm-loop")?B.getNamedItem("bm-loop").value:"";U==="false"?I.loop=!1:U==="true"?I.loop=!0:U!==""&&(I.loop=parseInt(U,10));var V=B.getNamedItem("data-anim-autoplay")?B.getNamedItem("data-anim-autoplay").value:B.getNamedItem("data-bm-autoplay")?B.getNamedItem("data-bm-autoplay").value:B.getNamedItem("bm-autoplay")?B.getNamedItem("bm-autoplay").value:!0;I.autoplay=V!=="false",I.name=B.getNamedItem("data-name")?B.getNamedItem("data-name").value:B.getNamedItem("data-bm-name")?B.getNamedItem("data-bm-name").value:B.getNamedItem("bm-name")?B.getNamedItem("bm-name").value:"";var X=B.getNamedItem("data-anim-prerender")?B.getNamedItem("data-anim-prerender").value:B.getNamedItem("data-bm-prerender")?B.getNamedItem("data-bm-prerender").value:B.getNamedItem("bm-prerender")?B.getNamedItem("bm-prerender").value:"";X==="false"&&(I.prerender=!1),I.path?this.setParams(I):this.trigger("destroy")},AnimationItem.prototype.includeLayers=function(C){C.op>this.animationData.op&&(this.animationData.op=C.op,this.totalFrames=Math.floor(C.op-this.animationData.ip));var E=this.animationData.layers,I,B=E.length,U=C.layers,V,X=U.length;for(V=0;V<X;V+=1)for(I=0;I<B;){if(E[I].id===U[V].id){E[I]=U[V];break}I+=1}if((C.chars||C.fonts)&&(this.renderer.globalData.fontManager.addChars(C.chars),this.renderer.globalData.fontManager.addFonts(C.fonts,this.renderer.globalData.defs)),C.assets)for(B=C.assets.length,I=0;I<B;I+=1)this.animationData.assets.push(C.assets[I]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(C){this.animationData=C;var E=getExpressionsPlugin();E&&E.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var C=this.animationData.segments;if(!C||C.length===0||!this.autoloadSegments){this.trigger("data_ready"),this.timeCompleted=this.totalFrames;return}var E=C.shift();this.timeCompleted=E.time*this.frameRate;var I=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(I,this.includeLayers.bind(this),(function(){this.trigger("data_failed")}).bind(this))},AnimationItem.prototype.loadSegments=function(){var C=this.animationData.segments;C||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(C){if(this.renderer)try{this.animationData=C,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(C),C.assets||(C.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(C.assets),this.markers=markerParser(C.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(E){this.triggerConfigError(E)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=="canvas")&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var C=getExpressionsPlugin();C&&C.initExpressions(this),this.renderer.initItems(),setTimeout((function(){this.trigger("DOMLoaded")}).bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(C,E){var I=typeof C=="number"?C:void 0,B=typeof E=="number"?E:void 0;this.renderer.updateContainerSize(I,B)},AnimationItem.prototype.setSubframe=function(C){this.isSubframeEnabled=!!C},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(C){this.triggerRenderFrameError(C)}},AnimationItem.prototype.play=function(C){C&&this.name!==C||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(C){C&&this.name!==C||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(C){C&&this.name!==C||(this.isPaused===!0?this.play():this.pause())},AnimationItem.prototype.stop=function(C){C&&this.name!==C||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(C){for(var E,I=0;I<this.markers.length;I+=1)if(E=this.markers[I],E.payload&&E.payload.name===C)return E;return null},AnimationItem.prototype.goToAndStop=function(C,E,I){if(!(I&&this.name!==I)){var B=Number(C);if(isNaN(B)){var U=this.getMarkerData(C);U&&this.goToAndStop(U.time,!0)}else E?this.setCurrentRawFrameValue(C):this.setCurrentRawFrameValue(C*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(C,E,I){if(!(I&&this.name!==I)){var B=Number(C);if(isNaN(B)){var U=this.getMarkerData(C);U&&(U.duration?this.playSegments([U.time,U.time+U.duration],!0):this.goToAndStop(U.time,!0))}else this.goToAndStop(B,E,I);this.play()}},AnimationItem.prototype.advanceTime=function(C){if(!(this.isPaused===!0||this.isLoaded===!1)){var E=this.currentRawFrame+C*this.frameModifier,I=!1;E>=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(E>this.totalFrames?E%this.totalFrames:0)||(I=!0,E=this.totalFrames-1):E>=this.totalFrames?(this.playCount+=1,this.checkSegments(E%this.totalFrames)||(this.setCurrentRawFrameValue(E%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(E):E<0?this.checkSegments(E%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+E%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(I=!0,E=0)):this.setCurrentRawFrameValue(E),I&&(this.setCurrentRawFrameValue(E),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(C,E){this.playCount=0,C[1]<C[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=C[0]-C[1],this.timeCompleted=this.totalFrames,this.firstFrame=C[1],this.setCurrentRawFrameValue(this.totalFrames-.001-E)):C[1]>C[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=C[1]-C[0],this.timeCompleted=this.totalFrames,this.firstFrame=C[0],this.setCurrentRawFrameValue(.001+E)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(C,E){var I=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<C?I=C:this.currentRawFrame+this.firstFrame>E&&(I=E-C)),this.firstFrame=C,this.totalFrames=E-C,this.timeCompleted=this.totalFrames,I!==-1&&this.goToAndStop(I,!0)},AnimationItem.prototype.playSegments=function(C,E){if(E&&(this.segments.length=0),_typeof$4(C[0])==="object"){var I,B=C.length;for(I=0;I<B;I+=1)this.segments.push(C[I])}else this.segments.push(C);this.segments.length&&E&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(C){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),C&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(C){return this.segments.length?(this.adjustSegment(this.segments.shift(),C),!0):!1},AnimationItem.prototype.destroy=function(C){C&&this.name!==C||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.expressionsPlugin=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(C){this.currentRawFrame=C,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(C){this.playSpeed=C,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(C){this.playDirection=C<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setLoop=function(C){this.loop=C},AnimationItem.prototype.setVolume=function(C,E){E&&this.name!==E||this.audioController.setVolume(C)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(C){C&&this.name!==C||this.audioController.mute()},AnimationItem.prototype.unmute=function(C){C&&this.name!==C||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(C){var E="";if(C.e)E=C.p;else if(this.assetsPath){var I=C.p;I.indexOf("images/")!==-1&&(I=I.split("/")[1]),E=this.assetsPath+I}else E=this.path,E+=C.u?C.u:"",E+=C.p;return E},AnimationItem.prototype.getAssetData=function(C){for(var E=0,I=this.assets.length;E<I;){if(C===this.assets[E].id)return this.assets[E];E+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(C){return C?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(C,E,I){try{var B=this.renderer.getElementByPath(C);B.updateDocumentData(E,I)}catch{}},AnimationItem.prototype.trigger=function(C){if(this._cbs&&this._cbs[C])switch(C){case"enterFrame":this.triggerEvent(C,new BMEnterFrameEvent(C,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(C,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(C,new BMCompleteLoopEvent(C,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(C,new BMCompleteEvent(C,this.frameMult));break;case"segmentStart":this.triggerEvent(C,new BMSegmentStartEvent(C,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(C,new BMDestroyEvent(C,this));break;default:this.triggerEvent(C)}C==="enterFrame"&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(C,this.currentFrame,this.totalFrames,this.frameMult)),C==="loopComplete"&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(C,this.loop,this.playCount,this.frameMult)),C==="complete"&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(C,this.frameMult)),C==="segmentStart"&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(C,this.firstFrame,this.totalFrames)),C==="destroy"&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(C,this))},AnimationItem.prototype.triggerRenderFrameError=function(C){var E=new BMRenderFrameErrorEvent(C,this.currentFrame);this.triggerEvent("error",E),this.onError&&this.onError.call(this,E)},AnimationItem.prototype.triggerConfigError=function(C){var E=new BMConfigErrorEvent(C,this.currentFrame);this.triggerEvent("error",E),this.onError&&this.onError.call(this,E)};var animationManager=function(){var C={},E=[],I=0,B=0,U=0,V=!0,X=!1;function Y(De){for(var Be=0,Re=De.target;Be<B;)E[Be].animation===Re&&(E.splice(Be,1),Be-=1,B-=1,Re.isPaused||Z()),Be+=1}function K(De,Be){if(!De)return null;for(var Re=0;Re<B;){if(E[Re].elem===De&&E[Re].elem!==null)return E[Re].animation;Re+=1}var ke=new AnimationItem;return J(ke,De),ke.setData(De,Be),ke}function _e(){var De,Be=E.length,Re=[];for(De=0;De<Be;De+=1)Re.push(E[De].animation);return Re}function xe(){U+=1,He()}function Z(){U-=1}function J(De,Be){De.addEventListener("destroy",Y),De.addEventListener("_active",xe),De.addEventListener("_idle",Z),E.push({elem:Be,animation:De}),B+=1}function Se(De){var Be=new AnimationItem;return J(Be,null),Be.setParams(De),Be}function Te(De,Be){var Re;for(Re=0;Re<B;Re+=1)E[Re].animation.setSpeed(De,Be)}function Ae(De,Be){var Re;for(Re=0;Re<B;Re+=1)E[Re].animation.setDirection(De,Be)}function Me(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.play(De)}function Ee(De){var Be=De-I,Re;for(Re=0;Re<B;Re+=1)E[Re].animation.advanceTime(Be);I=De,U&&!X?window.requestAnimationFrame(Ee):V=!0}function we(De){I=De,window.requestAnimationFrame(Ee)}function Pe(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.pause(De)}function Ie(De,Be,Re){var ke;for(ke=0;ke<B;ke+=1)E[ke].animation.goToAndStop(De,Be,Re)}function Fe(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.stop(De)}function Oe(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.togglePause(De)}function $e(De){var Be;for(Be=B-1;Be>=0;Be-=1)E[Be].animation.destroy(De)}function Le(De,Be,Re){var ke=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),Ge,Ne=ke.length;for(Ge=0;Ge<Ne;Ge+=1)Re&&ke[Ge].setAttribute("data-bm-type",Re),K(ke[Ge],De);if(Be&&Ne===0){Re||(Re="svg");var qe=document.getElementsByTagName("body")[0];qe.innerText="";var Ye=createTag("div");Ye.style.width="100%",Ye.style.height="100%",Ye.setAttribute("data-bm-type",Re),qe.appendChild(Ye),K(Ye,De)}}function Ue(){var De;for(De=0;De<B;De+=1)E[De].animation.resize()}function He(){!X&&U&&V&&(window.requestAnimationFrame(we),V=!1)}function We(){X=!0}function je(){X=!1,He()}function Ve(De,Be){var Re;for(Re=0;Re<B;Re+=1)E[Re].animation.setVolume(De,Be)}function ze(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.mute(De)}function Xe(De){var Be;for(Be=0;Be<B;Be+=1)E[Be].animation.unmute(De)}return C.registerAnimation=K,C.loadAnimation=Se,C.setSpeed=Te,C.setDirection=Ae,C.play=Me,C.pause=Pe,C.stop=Fe,C.togglePause=Oe,C.searchAnimations=Le,C.resize=Ue,C.goToAndStop=Ie,C.destroy=$e,C.freeze=We,C.unfreeze=je,C.setVolume=Ve,C.mute=ze,C.unmute=Xe,C.getRegisteredAnimations=_e,C}(),BezierFactory=function(){var C={};C.getBezierEasing=I;var E={};function I(we,Pe,Ie,Fe,Oe){var $e=Oe||("bez_"+we+"_"+Pe+"_"+Ie+"_"+Fe).replace(/\./g,"p");if(E[$e])return E[$e];var Le=new Ee([we,Pe,Ie,Fe]);return E[$e]=Le,Le}var B=4,U=.001,V=1e-7,X=10,Y=11,K=1/(Y-1),_e=typeof Float32Array=="function";function xe(we,Pe){return 1-3*Pe+3*we}function Z(we,Pe){return 3*Pe-6*we}function J(we){return 3*we}function Se(we,Pe,Ie){return((xe(Pe,Ie)*we+Z(Pe,Ie))*we+J(Pe))*we}function Te(we,Pe,Ie){return 3*xe(Pe,Ie)*we*we+2*Z(Pe,Ie)*we+J(Pe)}function Ae(we,Pe,Ie,Fe,Oe){var $e,Le,Ue=0;do Le=Pe+(Ie-Pe)/2,$e=Se(Le,Fe,Oe)-we,$e>0?Ie=Le:Pe=Le;while(Math.abs($e)>V&&++Ue<X);return Le}function Me(we,Pe,Ie,Fe){for(var Oe=0;Oe<B;++Oe){var $e=Te(Pe,Ie,Fe);if($e===0)return Pe;var Le=Se(Pe,Ie,Fe)-we;Pe-=Le/$e}return Pe}function Ee(we){this._p=we,this._mSampleValues=_e?new Float32Array(Y):new Array(Y),this._precomputed=!1,this.get=this.get.bind(this)}return Ee.prototype={get:function(Pe){var Ie=this._p[0],Fe=this._p[1],Oe=this._p[2],$e=this._p[3];return this._precomputed||this._precompute(),Ie===Fe&&Oe===$e?Pe:Pe===0?0:Pe===1?1:Se(this._getTForX(Pe),Fe,$e)},_precompute:function(){var Pe=this._p[0],Ie=this._p[1],Fe=this._p[2],Oe=this._p[3];this._precomputed=!0,(Pe!==Ie||Fe!==Oe)&&this._calcSampleValues()},_calcSampleValues:function(){for(var Pe=this._p[0],Ie=this._p[2],Fe=0;Fe<Y;++Fe)this._mSampleValues[Fe]=Se(Fe*K,Pe,Ie)},_getTForX:function(Pe){for(var Ie=this._p[0],Fe=this._p[2],Oe=this._mSampleValues,$e=0,Le=1,Ue=Y-1;Le!==Ue&&Oe[Le]<=Pe;++Le)$e+=K;--Le;var He=(Pe-Oe[Le])/(Oe[Le+1]-Oe[Le]),We=$e+He*K,je=Te(We,Ie,Fe);return je>=U?Me(Pe,We,Ie,Fe):je===0?We:Ae(Pe,$e,$e+K,Ie,Fe)}},C}(),pooling=function(){function C(E){return E.concat(createSizedArray(E.length))}return{double:C}}(),poolFactory=function(){return function(C,E,I){var B=0,U=C,V=createSizedArray(U),X={newElement:Y,release:K};function Y(){var _e;return B?(B-=1,_e=V[B]):_e=E(),_e}function K(_e){B===U&&(V=pooling.double(V),U*=2),I&&I(_e),V[B]=_e,B+=1}return X}}(),bezierLengthPool=function(){function C(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,C)}(),segmentsLengthPool=function(){function C(){return{lengths:[],totalLength:0}}function E(I){var B,U=I.lengths.length;for(B=0;B<U;B+=1)bezierLengthPool.release(I.lengths[B]);I.lengths.length=0}return poolFactory(8,C,E)}();function bezFunction(){var C=Math;function E(J,Se,Te,Ae,Me,Ee){var we=J*Ae+Se*Me+Te*Ee-Me*Ae-Ee*J-Te*Se;return we>-.001&&we<.001}function I(J,Se,Te,Ae,Me,Ee,we,Pe,Ie){if(Te===0&&Ee===0&&Ie===0)return E(J,Se,Ae,Me,we,Pe);var Fe=C.sqrt(C.pow(Ae-J,2)+C.pow(Me-Se,2)+C.pow(Ee-Te,2)),Oe=C.sqrt(C.pow(we-J,2)+C.pow(Pe-Se,2)+C.pow(Ie-Te,2)),$e=C.sqrt(C.pow(we-Ae,2)+C.pow(Pe-Me,2)+C.pow(Ie-Ee,2)),Le;return Fe>Oe?Fe>$e?Le=Fe-Oe-$e:Le=$e-Oe-Fe:$e>Oe?Le=$e-Oe-Fe:Le=Oe-Fe-$e,Le>-1e-4&&Le<1e-4}var B=function(){return function(J,Se,Te,Ae){var Me=getDefaultCurveSegments(),Ee,we,Pe,Ie,Fe,Oe=0,$e,Le=[],Ue=[],He=bezierLengthPool.newElement();for(Pe=Te.length,Ee=0;Ee<Me;Ee+=1){for(Fe=Ee/(Me-1),$e=0,we=0;we<Pe;we+=1)Ie=bmPow(1-Fe,3)*J[we]+3*bmPow(1-Fe,2)*Fe*Te[we]+3*(1-Fe)*bmPow(Fe,2)*Ae[we]+bmPow(Fe,3)*Se[we],Le[we]=Ie,Ue[we]!==null&&($e+=bmPow(Le[we]-Ue[we],2)),Ue[we]=Le[we];$e&&($e=bmSqrt($e),Oe+=$e),He.percents[Ee]=Fe,He.lengths[Ee]=Oe}return He.addedLength=Oe,He}}();function U(J){var Se=segmentsLengthPool.newElement(),Te=J.c,Ae=J.v,Me=J.o,Ee=J.i,we,Pe=J._length,Ie=Se.lengths,Fe=0;for(we=0;we<Pe-1;we+=1)Ie[we]=B(Ae[we],Ae[we+1],Me[we],Ee[we+1]),Fe+=Ie[we].addedLength;return Te&&Pe&&(Ie[we]=B(Ae[we],Ae[0],Me[we],Ee[0]),Fe+=Ie[we].addedLength),Se.totalLength=Fe,Se}function V(J){this.segmentLength=0,this.points=new Array(J)}function X(J,Se){this.partialLength=J,this.point=Se}var Y=function(){var J={};return function(Se,Te,Ae,Me){var Ee=(Se[0]+"_"+Se[1]+"_"+Te[0]+"_"+Te[1]+"_"+Ae[0]+"_"+Ae[1]+"_"+Me[0]+"_"+Me[1]).replace(/\./g,"p");if(!J[Ee]){var we=getDefaultCurveSegments(),Pe,Ie,Fe,Oe,$e,Le=0,Ue,He,We=null;Se.length===2&&(Se[0]!==Te[0]||Se[1]!==Te[1])&&E(Se[0],Se[1],Te[0],Te[1],Se[0]+Ae[0],Se[1]+Ae[1])&&E(Se[0],Se[1],Te[0],Te[1],Te[0]+Me[0],Te[1]+Me[1])&&(we=2);var je=new V(we);for(Fe=Ae.length,Pe=0;Pe<we;Pe+=1){for(He=createSizedArray(Fe),$e=Pe/(we-1),Ue=0,Ie=0;Ie<Fe;Ie+=1)Oe=bmPow(1-$e,3)*Se[Ie]+3*bmPow(1-$e,2)*$e*(Se[Ie]+Ae[Ie])+3*(1-$e)*bmPow($e,2)*(Te[Ie]+Me[Ie])+bmPow($e,3)*Te[Ie],He[Ie]=Oe,We!==null&&(Ue+=bmPow(He[Ie]-We[Ie],2));Ue=bmSqrt(Ue),Le+=Ue,je.points[Pe]=new X(Ue,He),We=He}je.segmentLength=Le,J[Ee]=je}return J[Ee]}}();function K(J,Se){var Te=Se.percents,Ae=Se.lengths,Me=Te.length,Ee=bmFloor((Me-1)*J),we=J*Se.addedLength,Pe=0;if(Ee===Me-1||Ee===0||we===Ae[Ee])return Te[Ee];for(var Ie=Ae[Ee]>we?-1:1,Fe=!0;Fe;)if(Ae[Ee]<=we&&Ae[Ee+1]>we?(Pe=(we-Ae[Ee])/(Ae[Ee+1]-Ae[Ee]),Fe=!1):Ee+=Ie,Ee<0||Ee>=Me-1){if(Ee===Me-1)return Te[Ee];Fe=!1}return Te[Ee]+(Te[Ee+1]-Te[Ee])*Pe}function _e(J,Se,Te,Ae,Me,Ee){var we=K(Me,Ee),Pe=1-we,Ie=C.round((Pe*Pe*Pe*J[0]+(we*Pe*Pe+Pe*we*Pe+Pe*Pe*we)*Te[0]+(we*we*Pe+Pe*we*we+we*Pe*we)*Ae[0]+we*we*we*Se[0])*1e3)/1e3,Fe=C.round((Pe*Pe*Pe*J[1]+(we*Pe*Pe+Pe*we*Pe+Pe*Pe*we)*Te[1]+(we*we*Pe+Pe*we*we+we*Pe*we)*Ae[1]+we*we*we*Se[1])*1e3)/1e3;return[Ie,Fe]}var xe=createTypedArray("float32",8);function Z(J,Se,Te,Ae,Me,Ee,we){Me<0?Me=0:Me>1&&(Me=1);var Pe=K(Me,we);Ee=Ee>1?1:Ee;var Ie=K(Ee,we),Fe,Oe=J.length,$e=1-Pe,Le=1-Ie,Ue=$e*$e*$e,He=Pe*$e*$e*3,We=Pe*Pe*$e*3,je=Pe*Pe*Pe,Ve=$e*$e*Le,ze=Pe*$e*Le+$e*Pe*Le+$e*$e*Ie,Xe=Pe*Pe*Le+$e*Pe*Ie+Pe*$e*Ie,De=Pe*Pe*Ie,Be=$e*Le*Le,Re=Pe*Le*Le+$e*Ie*Le+$e*Le*Ie,ke=Pe*Ie*Le+$e*Ie*Ie+Pe*Le*Ie,Ge=Pe*Ie*Ie,Ne=Le*Le*Le,qe=Ie*Le*Le+Le*Ie*Le+Le*Le*Ie,Ye=Ie*Ie*Le+Le*Ie*Ie+Ie*Le*Ie,Ke=Ie*Ie*Ie;for(Fe=0;Fe<Oe;Fe+=1)xe[Fe*4]=C.round((Ue*J[Fe]+He*Te[Fe]+We*Ae[Fe]+je*Se[Fe])*1e3)/1e3,xe[Fe*4+1]=C.round((Ve*J[Fe]+ze*Te[Fe]+Xe*Ae[Fe]+De*Se[Fe])*1e3)/1e3,xe[Fe*4+2]=C.round((Be*J[Fe]+Re*Te[Fe]+ke*Ae[Fe]+Ge*Se[Fe])*1e3)/1e3,xe[Fe*4+3]=C.round((Ne*J[Fe]+qe*Te[Fe]+Ye*Ae[Fe]+Ke*Se[Fe])*1e3)/1e3;return xe}return{getSegmentsLength:U,getNewSegment:Z,getPointInSegment:_e,buildBezierData:Y,pointOnLine2D:E,pointOnLine3D:I}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(C,E){var I=this.offsetTime,B;this.propType==="multidimensional"&&(B=createTypedArray("float32",this.pv.length));for(var U=E.lastIndex,V=U,X=this.keyframes.length-1,Y=!0,K,_e,xe;Y;){if(K=this.keyframes[V],_e=this.keyframes[V+1],V===X-1&&C>=_e.t-I){K.h&&(K=_e),U=0;break}if(_e.t-I>C){U=V;break}V<X-1?V+=1:(U=0,Y=!1)}xe=this.keyframesMetadata[V]||{};var Z,J,Se,Te,Ae,Me,Ee=_e.t-I,we=K.t-I,Pe;if(K.to){xe.bezierData||(xe.bezierData=bez.buildBezierData(K.s,_e.s||K.e,K.to,K.ti));var Ie=xe.bezierData;if(C>=Ee||C<we){var Fe=C>=Ee?Ie.points.length-1:0;for(J=Ie.points[Fe].point.length,Z=0;Z<J;Z+=1)B[Z]=Ie.points[Fe].point[Z]}else{xe.__fnct?Me=xe.__fnct:(Me=BezierFactory.getBezierEasing(K.o.x,K.o.y,K.i.x,K.i.y,K.n).get,xe.__fnct=Me),Se=Me((C-we)/(Ee-we));var Oe=Ie.segmentLength*Se,$e,Le=E.lastFrame<C&&E._lastKeyframeIndex===V?E._lastAddedLength:0;for(Ae=E.lastFrame<C&&E._lastKeyframeIndex===V?E._lastPoint:0,Y=!0,Te=Ie.points.length;Y;){if(Le+=Ie.points[Ae].partialLength,Oe===0||Se===0||Ae===Ie.points.length-1){for(J=Ie.points[Ae].point.length,Z=0;Z<J;Z+=1)B[Z]=Ie.points[Ae].point[Z];break}else if(Oe>=Le&&Oe<Le+Ie.points[Ae+1].partialLength){for($e=(Oe-Le)/Ie.points[Ae+1].partialLength,J=Ie.points[Ae].point.length,Z=0;Z<J;Z+=1)B[Z]=Ie.points[Ae].point[Z]+(Ie.points[Ae+1].point[Z]-Ie.points[Ae].point[Z])*$e;break}Ae<Te-1?Ae+=1:Y=!1}E._lastPoint=Ae,E._lastAddedLength=Le-Ie.points[Ae].partialLength,E._lastKeyframeIndex=V}}else{var Ue,He,We,je,Ve;if(X=K.s.length,Pe=_e.s||K.e,this.sh&&K.h!==1)if(C>=Ee)B[0]=Pe[0],B[1]=Pe[1],B[2]=Pe[2];else if(C<=we)B[0]=K.s[0],B[1]=K.s[1],B[2]=K.s[2];else{var ze=createQuaternion(K.s),Xe=createQuaternion(Pe),De=(C-we)/(Ee-we);quaternionToEuler(B,slerp(ze,Xe,De))}else for(V=0;V<X;V+=1)K.h!==1&&(C>=Ee?Se=1:C<we?Se=0:(K.o.x.constructor===Array?(xe.__fnct||(xe.__fnct=[]),xe.__fnct[V]?Me=xe.__fnct[V]:(Ue=K.o.x[V]===void 0?K.o.x[0]:K.o.x[V],He=K.o.y[V]===void 0?K.o.y[0]:K.o.y[V],We=K.i.x[V]===void 0?K.i.x[0]:K.i.x[V],je=K.i.y[V]===void 0?K.i.y[0]:K.i.y[V],Me=BezierFactory.getBezierEasing(Ue,He,We,je).get,xe.__fnct[V]=Me)):xe.__fnct?Me=xe.__fnct:(Ue=K.o.x,He=K.o.y,We=K.i.x,je=K.i.y,Me=BezierFactory.getBezierEasing(Ue,He,We,je).get,K.keyframeMetadata=Me),Se=Me((C-we)/(Ee-we)))),Pe=_e.s||K.e,Ve=K.h===1?K.s[V]:K.s[V]+(Pe[V]-K.s[V])*Se,this.propType==="multidimensional"?B[V]=Ve:B=Ve}return E.lastIndex=U,B}function slerp(C,E,I){var B=[],U=C[0],V=C[1],X=C[2],Y=C[3],K=E[0],_e=E[1],xe=E[2],Z=E[3],J,Se,Te,Ae,Me;return Se=U*K+V*_e+X*xe+Y*Z,Se<0&&(Se=-Se,K=-K,_e=-_e,xe=-xe,Z=-Z),1-Se>1e-6?(J=Math.acos(Se),Te=Math.sin(J),Ae=Math.sin((1-I)*J)/Te,Me=Math.sin(I*J)/Te):(Ae=1-I,Me=I),B[0]=Ae*U+Me*K,B[1]=Ae*V+Me*_e,B[2]=Ae*X+Me*xe,B[3]=Ae*Y+Me*Z,B}function quaternionToEuler(C,E){var I=E[0],B=E[1],U=E[2],V=E[3],X=Math.atan2(2*B*V-2*I*U,1-2*B*B-2*U*U),Y=Math.asin(2*I*B+2*U*V),K=Math.atan2(2*I*V-2*B*U,1-2*I*I-2*U*U);C[0]=X/degToRads,C[1]=Y/degToRads,C[2]=K/degToRads}function createQuaternion(C){var E=C[0]*degToRads,I=C[1]*degToRads,B=C[2]*degToRads,U=Math.cos(E/2),V=Math.cos(I/2),X=Math.cos(B/2),Y=Math.sin(E/2),K=Math.sin(I/2),_e=Math.sin(B/2),xe=U*V*X-Y*K*_e,Z=Y*K*X+U*V*_e,J=Y*V*X+U*K*_e,Se=U*K*X-Y*V*_e;return[Z,J,Se,xe]}function getValueAtCurrentTime(){var C=this.comp.renderedFrame-this.offsetTime,E=this.keyframes[0].t-this.offsetTime,I=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(C===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=I&&C>=I||this._caching.lastFrame<E&&C<E))){this._caching.lastFrame>=C&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var B=this.interpolateValue(C,this._caching);this.pv=B}return this._caching.lastFrame=C,this.pv}function setVValue(C){var E;if(this.propType==="unidimensional")E=C*this.mult,mathAbs(this.v-E)>1e-5&&(this.v=E,this._mdf=!0);else for(var I=0,B=this.v.length;I<B;)E=C[I]*this.mult,mathAbs(this.v[I]-E)>1e-5&&(this.v[I]=E,this._mdf=!0),I+=1}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var C,E=this.effectsSequence.length,I=this.kf?this.pv:this.data.k;for(C=0;C<E;C+=1)I=this.effectsSequence[C](I);this.setVValue(I),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function addEffect(C){this.effectsSequence.push(C),this.container.addDynamicProperty(this)}function ValueProperty(C,E,I,B){this.propType="unidimensional",this.mult=I||1,this.data=E,this.v=I?E.k*I:E.k,this.pv=E.k,this._mdf=!1,this.elem=C,this.container=B,this.comp=C.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function MultiDimensionalProperty(C,E,I,B){this.propType="multidimensional",this.mult=I||1,this.data=E,this._mdf=!1,this.elem=C,this.container=B,this.comp=C.comp,this.k=!1,this.kf=!1,this.frameId=-1;var U,V=E.k.length;for(this.v=createTypedArray("float32",V),this.pv=createTypedArray("float32",V),this.vel=createTypedArray("float32",V),U=0;U<V;U+=1)this.v[U]=E.k[U]*this.mult,this.pv[U]=E.k[U];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function KeyframedValueProperty(C,E,I,B){this.propType="unidimensional",this.keyframes=E.k,this.keyframesMetadata=[],this.offsetTime=C.data.st,this.frameId=-1,this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=E,this.mult=I||1,this.elem=C,this.container=B,this.comp=C.comp,this.v=initFrame,this.pv=initFrame,this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.addEffect=addEffect}function KeyframedMultidimensionalProperty(C,E,I,B){this.propType="multidimensional";var U,V=E.k.length,X,Y,K,_e;for(U=0;U<V-1;U+=1)E.k[U].to&&E.k[U].s&&E.k[U+1]&&E.k[U+1].s&&(X=E.k[U].s,Y=E.k[U+1].s,K=E.k[U].to,_e=E.k[U].ti,(X.length===2&&!(X[0]===Y[0]&&X[1]===Y[1])&&bez.pointOnLine2D(X[0],X[1],Y[0],Y[1],X[0]+K[0],X[1]+K[1])&&bez.pointOnLine2D(X[0],X[1],Y[0],Y[1],Y[0]+_e[0],Y[1]+_e[1])||X.length===3&&!(X[0]===Y[0]&&X[1]===Y[1]&&X[2]===Y[2])&&bez.pointOnLine3D(X[0],X[1],X[2],Y[0],Y[1],Y[2],X[0]+K[0],X[1]+K[1],X[2]+K[2])&&bez.pointOnLine3D(X[0],X[1],X[2],Y[0],Y[1],Y[2],Y[0]+_e[0],Y[1]+_e[1],Y[2]+_e[2]))&&(E.k[U].to=null,E.k[U].ti=null),X[0]===Y[0]&&X[1]===Y[1]&&K[0]===0&&K[1]===0&&_e[0]===0&&_e[1]===0&&(X.length===2||X[2]===Y[2]&&K[2]===0&&_e[2]===0)&&(E.k[U].to=null,E.k[U].ti=null));this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.data=E,this.keyframes=E.k,this.keyframesMetadata=[],this.offsetTime=C.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=I||1,this.elem=C,this.container=B,this.comp=C.comp,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.frameId=-1;var xe=E.k[0].s.length;for(this.v=createTypedArray("float32",xe),this.pv=createTypedArray("float32",xe),U=0;U<xe;U+=1)this.v[U]=initFrame,this.pv[U]=initFrame;this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray("float32",xe)},this.addEffect=addEffect}var PropertyFactory=function(){function C(I,B,U,V,X){B.sid&&(B=I.globalData.slotManager.getProp(B));var Y;if(!B.k.length)Y=new ValueProperty(I,B,V,X);else if(typeof B.k[0]=="number")Y=new MultiDimensionalProperty(I,B,V,X);else switch(U){case 0:Y=new KeyframedValueProperty(I,B,V,X);break;case 1:Y=new KeyframedMultidimensionalProperty(I,B,V,X);break}return Y.effectsSequence.length&&X.addDynamicProperty(Y),Y}var E={getProp:C};return E}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(E){this.dynamicProperties.indexOf(E)===-1&&(this.dynamicProperties.push(E),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){this._mdf=!1;var E,I=this.dynamicProperties.length;for(E=0;E<I;E+=1)this.dynamicProperties[E].getValue(),this.dynamicProperties[E]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(E){this.container=E,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=function(){function C(){return createTypedArray("float32",2)}return poolFactory(8,C)}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(C,E){this.c=C,this.setLength(E);for(var I=0;I<E;)this.v[I]=pointPool.newElement(),this.o[I]=pointPool.newElement(),this.i[I]=pointPool.newElement(),I+=1},ShapePath.prototype.setLength=function(C){for(;this._maxLength<C;)this.doubleArrayLength();this._length=C},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(C,E,I,B,U){var V;switch(this._length=Math.max(this._length,B+1),this._length>=this._maxLength&&this.doubleArrayLength(),I){case"v":V=this.v;break;case"i":V=this.i;break;case"o":V=this.o;break;default:V=[];break}(!V[B]||V[B]&&!U)&&(V[B]=pointPool.newElement()),V[B][0]=C,V[B][1]=E},ShapePath.prototype.setTripleAt=function(C,E,I,B,U,V,X,Y){this.setXYAt(C,E,"v",X,Y),this.setXYAt(I,B,"o",X,Y),this.setXYAt(U,V,"i",X,Y)},ShapePath.prototype.reverse=function(){var C=new ShapePath;C.setPathData(this.c,this._length);var E=this.v,I=this.o,B=this.i,U=0;this.c&&(C.setTripleAt(E[0][0],E[0][1],B[0][0],B[0][1],I[0][0],I[0][1],0,!1),U=1);var V=this._length-1,X=this._length,Y;for(Y=U;Y<X;Y+=1)C.setTripleAt(E[V][0],E[V][1],B[V][0],B[V][1],I[V][0],I[V][1],Y,!1),V-=1;return C},ShapePath.prototype.length=function(){return this._length};var shapePool=function(){function C(){return new ShapePath}function E(U){var V=U._length,X;for(X=0;X<V;X+=1)pointPool.release(U.v[X]),pointPool.release(U.i[X]),pointPool.release(U.o[X]),U.v[X]=null,U.i[X]=null,U.o[X]=null;U._length=0,U.c=!1}function I(U){var V=B.newElement(),X,Y=U._length===void 0?U.v.length:U._length;for(V.setLength(Y),V.c=U.c,X=0;X<Y;X+=1)V.setTripleAt(U.v[X][0],U.v[X][1],U.o[X][0],U.o[X][1],U.i[X][0],U.i[X][1],X);return V}var B=poolFactory(4,C,E);return B.clone=I,B}();function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(C){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=C,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var C;for(C=0;C<this._length;C+=1)shapePool.release(this.shapes[C]);this._length=0};var shapeCollectionPool=function(){var C={newShapeCollection:U,release:V},E=0,I=4,B=createSizedArray(I);function U(){var X;return E?(E-=1,X=B[E]):X=new ShapeCollection,X}function V(X){var Y,K=X._length;for(Y=0;Y<K;Y+=1)shapePool.release(X.shapes[Y]);X._length=0,E===I&&(B=pooling.double(B),I*=2),B[E]=X,E+=1}return C}(),ShapePropertyFactory=function(){var C=-999999;function E(Ee,we,Pe){var Ie=Pe.lastIndex,Fe,Oe,$e,Le,Ue,He,We,je,Ve,ze=this.keyframes;if(Ee<ze[0].t-this.offsetTime)Fe=ze[0].s[0],$e=!0,Ie=0;else if(Ee>=ze[ze.length-1].t-this.offsetTime)Fe=ze[ze.length-1].s?ze[ze.length-1].s[0]:ze[ze.length-2].e[0],$e=!0;else{for(var Xe=Ie,De=ze.length-1,Be=!0,Re,ke,Ge;Be&&(Re=ze[Xe],ke=ze[Xe+1],!(ke.t-this.offsetTime>Ee));)Xe<De-1?Xe+=1:Be=!1;if(Ge=this.keyframesMetadata[Xe]||{},$e=Re.h===1,Ie=Xe,!$e){if(Ee>=ke.t-this.offsetTime)je=1;else if(Ee<Re.t-this.offsetTime)je=0;else{var Ne;Ge.__fnct?Ne=Ge.__fnct:(Ne=BezierFactory.getBezierEasing(Re.o.x,Re.o.y,Re.i.x,Re.i.y).get,Ge.__fnct=Ne),je=Ne((Ee-(Re.t-this.offsetTime))/(ke.t-this.offsetTime-(Re.t-this.offsetTime)))}Oe=ke.s?ke.s[0]:Re.e[0]}Fe=Re.s[0]}for(He=we._length,We=Fe.i[0].length,Pe.lastIndex=Ie,Le=0;Le<He;Le+=1)for(Ue=0;Ue<We;Ue+=1)Ve=$e?Fe.i[Le][Ue]:Fe.i[Le][Ue]+(Oe.i[Le][Ue]-Fe.i[Le][Ue])*je,we.i[Le][Ue]=Ve,Ve=$e?Fe.o[Le][Ue]:Fe.o[Le][Ue]+(Oe.o[Le][Ue]-Fe.o[Le][Ue])*je,we.o[Le][Ue]=Ve,Ve=$e?Fe.v[Le][Ue]:Fe.v[Le][Ue]+(Oe.v[Le][Ue]-Fe.v[Le][Ue])*je,we.v[Le][Ue]=Ve}function I(){var Ee=this.comp.renderedFrame-this.offsetTime,we=this.keyframes[0].t-this.offsetTime,Pe=this.keyframes[this.keyframes.length-1].t-this.offsetTime,Ie=this._caching.lastFrame;return Ie!==C&&(Ie<we&&Ee<we||Ie>Pe&&Ee>Pe)||(this._caching.lastIndex=Ie<Ee?this._caching.lastIndex:0,this.interpolateShape(Ee,this.pv,this._caching)),this._caching.lastFrame=Ee,this.pv}function B(){this.paths=this.localShapeCollection}function U(Ee,we){if(Ee._length!==we._length||Ee.c!==we.c)return!1;var Pe,Ie=Ee._length;for(Pe=0;Pe<Ie;Pe+=1)if(Ee.v[Pe][0]!==we.v[Pe][0]||Ee.v[Pe][1]!==we.v[Pe][1]||Ee.o[Pe][0]!==we.o[Pe][0]||Ee.o[Pe][1]!==we.o[Pe][1]||Ee.i[Pe][0]!==we.i[Pe][0]||Ee.i[Pe][1]!==we.i[Pe][1])return!1;return!0}function V(Ee){U(this.v,Ee)||(this.v=shapePool.clone(Ee),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function X(){if(this.elem.globalData.frameId!==this.frameId){if(!this.effectsSequence.length){this._mdf=!1;return}if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=!1;var Ee;this.kf?Ee=this.pv:this.data.ks?Ee=this.data.ks.k:Ee=this.data.pt.k;var we,Pe=this.effectsSequence.length;for(we=0;we<Pe;we+=1)Ee=this.effectsSequence[we](Ee);this.setVValue(Ee),this.lock=!1,this.frameId=this.elem.globalData.frameId}}function Y(Ee,we,Pe){this.propType="shape",this.comp=Ee.comp,this.container=Ee,this.elem=Ee,this.data=we,this.k=!1,this.kf=!1,this._mdf=!1;var Ie=Pe===3?we.pt.k:we.ks.k;this.v=shapePool.clone(Ie),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=B,this.effectsSequence=[]}function K(Ee){this.effectsSequence.push(Ee),this.container.addDynamicProperty(this)}Y.prototype.interpolateShape=E,Y.prototype.getValue=X,Y.prototype.setVValue=V,Y.prototype.addEffect=K;function _e(Ee,we,Pe){this.propType="shape",this.comp=Ee.comp,this.elem=Ee,this.container=Ee,this.offsetTime=Ee.data.st,this.keyframes=Pe===3?we.pt.k:we.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var Ie=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,Ie),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=C,this.reset=B,this._caching={lastFrame:C,lastIndex:0},this.effectsSequence=[I.bind(this)]}_e.prototype.getValue=X,_e.prototype.interpolateShape=E,_e.prototype.setVValue=V,_e.prototype.addEffect=K;var xe=function(){var Ee=roundCorner;function we(Pe,Ie){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=Ie.d,this.elem=Pe,this.comp=Pe.comp,this.frameId=-1,this.initDynamicPropertyContainer(Pe),this.p=PropertyFactory.getProp(Pe,Ie.p,1,0,this),this.s=PropertyFactory.getProp(Pe,Ie.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return we.prototype={reset:B,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var Ie=this.p.v[0],Fe=this.p.v[1],Oe=this.s.v[0]/2,$e=this.s.v[1]/2,Le=this.d!==3,Ue=this.v;Ue.v[0][0]=Ie,Ue.v[0][1]=Fe-$e,Ue.v[1][0]=Le?Ie+Oe:Ie-Oe,Ue.v[1][1]=Fe,Ue.v[2][0]=Ie,Ue.v[2][1]=Fe+$e,Ue.v[3][0]=Le?Ie-Oe:Ie+Oe,Ue.v[3][1]=Fe,Ue.i[0][0]=Le?Ie-Oe*Ee:Ie+Oe*Ee,Ue.i[0][1]=Fe-$e,Ue.i[1][0]=Le?Ie+Oe:Ie-Oe,Ue.i[1][1]=Fe-$e*Ee,Ue.i[2][0]=Le?Ie+Oe*Ee:Ie-Oe*Ee,Ue.i[2][1]=Fe+$e,Ue.i[3][0]=Le?Ie-Oe:Ie+Oe,Ue.i[3][1]=Fe+$e*Ee,Ue.o[0][0]=Le?Ie+Oe*Ee:Ie-Oe*Ee,Ue.o[0][1]=Fe-$e,Ue.o[1][0]=Le?Ie+Oe:Ie-Oe,Ue.o[1][1]=Fe+$e*Ee,Ue.o[2][0]=Le?Ie-Oe*Ee:Ie+Oe*Ee,Ue.o[2][1]=Fe+$e,Ue.o[3][0]=Le?Ie-Oe:Ie+Oe,Ue.o[3][1]=Fe-$e*Ee}},extendPrototype([DynamicPropertyContainer],we),we}(),Z=function(){function Ee(we,Pe){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=we,this.comp=we.comp,this.data=Pe,this.frameId=-1,this.d=Pe.d,this.initDynamicPropertyContainer(we),Pe.sy===1?(this.ir=PropertyFactory.getProp(we,Pe.ir,0,0,this),this.is=PropertyFactory.getProp(we,Pe.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(we,Pe.pt,0,0,this),this.p=PropertyFactory.getProp(we,Pe.p,1,0,this),this.r=PropertyFactory.getProp(we,Pe.r,0,degToRads,this),this.or=PropertyFactory.getProp(we,Pe.or,0,0,this),this.os=PropertyFactory.getProp(we,Pe.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return Ee.prototype={reset:B,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var Pe=Math.floor(this.pt.v)*2,Ie=Math.PI*2/Pe,Fe=!0,Oe=this.or.v,$e=this.ir.v,Le=this.os.v,Ue=this.is.v,He=2*Math.PI*Oe/(Pe*2),We=2*Math.PI*$e/(Pe*2),je,Ve,ze,Xe,De=-Math.PI/2;De+=this.r.v;var Be=this.data.d===3?-1:1;for(this.v._length=0,je=0;je<Pe;je+=1){Ve=Fe?Oe:$e,ze=Fe?Le:Ue,Xe=Fe?He:We;var Re=Ve*Math.cos(De),ke=Ve*Math.sin(De),Ge=Re===0&&ke===0?0:ke/Math.sqrt(Re*Re+ke*ke),Ne=Re===0&&ke===0?0:-Re/Math.sqrt(Re*Re+ke*ke);Re+=+this.p.v[0],ke+=+this.p.v[1],this.v.setTripleAt(Re,ke,Re-Ge*Xe*ze*Be,ke-Ne*Xe*ze*Be,Re+Ge*Xe*ze*Be,ke+Ne*Xe*ze*Be,je,!0),Fe=!Fe,De+=Ie*Be}},convertPolygonToPath:function(){var Pe=Math.floor(this.pt.v),Ie=Math.PI*2/Pe,Fe=this.or.v,Oe=this.os.v,$e=2*Math.PI*Fe/(Pe*4),Le,Ue=-Math.PI*.5,He=this.data.d===3?-1:1;for(Ue+=this.r.v,this.v._length=0,Le=0;Le<Pe;Le+=1){var We=Fe*Math.cos(Ue),je=Fe*Math.sin(Ue),Ve=We===0&&je===0?0:je/Math.sqrt(We*We+je*je),ze=We===0&&je===0?0:-We/Math.sqrt(We*We+je*je);We+=+this.p.v[0],je+=+this.p.v[1],this.v.setTripleAt(We,je,We-Ve*$e*Oe*He,je-ze*$e*Oe*He,We+Ve*$e*Oe*He,je+ze*$e*Oe*He,Le,!0),Ue+=Ie*He}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],Ee),Ee}(),J=function(){function Ee(we,Pe){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=we,this.comp=we.comp,this.frameId=-1,this.d=Pe.d,this.initDynamicPropertyContainer(we),this.p=PropertyFactory.getProp(we,Pe.p,1,0,this),this.s=PropertyFactory.getProp(we,Pe.s,1,0,this),this.r=PropertyFactory.getProp(we,Pe.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return Ee.prototype={convertRectToPath:function(){var Pe=this.p.v[0],Ie=this.p.v[1],Fe=this.s.v[0]/2,Oe=this.s.v[1]/2,$e=bmMin(Fe,Oe,this.r.v),Le=$e*(1-roundCorner);this.v._length=0,this.d===2||this.d===1?(this.v.setTripleAt(Pe+Fe,Ie-Oe+$e,Pe+Fe,Ie-Oe+$e,Pe+Fe,Ie-Oe+Le,0,!0),this.v.setTripleAt(Pe+Fe,Ie+Oe-$e,Pe+Fe,Ie+Oe-Le,Pe+Fe,Ie+Oe-$e,1,!0),$e!==0?(this.v.setTripleAt(Pe+Fe-$e,Ie+Oe,Pe+Fe-$e,Ie+Oe,Pe+Fe-Le,Ie+Oe,2,!0),this.v.setTripleAt(Pe-Fe+$e,Ie+Oe,Pe-Fe+Le,Ie+Oe,Pe-Fe+$e,Ie+Oe,3,!0),this.v.setTripleAt(Pe-Fe,Ie+Oe-$e,Pe-Fe,Ie+Oe-$e,Pe-Fe,Ie+Oe-Le,4,!0),this.v.setTripleAt(Pe-Fe,Ie-Oe+$e,Pe-Fe,Ie-Oe+Le,Pe-Fe,Ie-Oe+$e,5,!0),this.v.setTripleAt(Pe-Fe+$e,Ie-Oe,Pe-Fe+$e,Ie-Oe,Pe-Fe+Le,Ie-Oe,6,!0),this.v.setTripleAt(Pe+Fe-$e,Ie-Oe,Pe+Fe-Le,Ie-Oe,Pe+Fe-$e,Ie-Oe,7,!0)):(this.v.setTripleAt(Pe-Fe,Ie+Oe,Pe-Fe+Le,Ie+Oe,Pe-Fe,Ie+Oe,2),this.v.setTripleAt(Pe-Fe,Ie-Oe,Pe-Fe,Ie-Oe+Le,Pe-Fe,Ie-Oe,3))):(this.v.setTripleAt(Pe+Fe,Ie-Oe+$e,Pe+Fe,Ie-Oe+Le,Pe+Fe,Ie-Oe+$e,0,!0),$e!==0?(this.v.setTripleAt(Pe+Fe-$e,Ie-Oe,Pe+Fe-$e,Ie-Oe,Pe+Fe-Le,Ie-Oe,1,!0),this.v.setTripleAt(Pe-Fe+$e,Ie-Oe,Pe-Fe+Le,Ie-Oe,Pe-Fe+$e,Ie-Oe,2,!0),this.v.setTripleAt(Pe-Fe,Ie-Oe+$e,Pe-Fe,Ie-Oe+$e,Pe-Fe,Ie-Oe+Le,3,!0),this.v.setTripleAt(Pe-Fe,Ie+Oe-$e,Pe-Fe,Ie+Oe-Le,Pe-Fe,Ie+Oe-$e,4,!0),this.v.setTripleAt(Pe-Fe+$e,Ie+Oe,Pe-Fe+$e,Ie+Oe,Pe-Fe+Le,Ie+Oe,5,!0),this.v.setTripleAt(Pe+Fe-$e,Ie+Oe,Pe+Fe-Le,Ie+Oe,Pe+Fe-$e,Ie+Oe,6,!0),this.v.setTripleAt(Pe+Fe,Ie+Oe-$e,Pe+Fe,Ie+Oe-$e,Pe+Fe,Ie+Oe-Le,7,!0)):(this.v.setTripleAt(Pe-Fe,Ie-Oe,Pe-Fe+Le,Ie-Oe,Pe-Fe,Ie-Oe,1,!0),this.v.setTripleAt(Pe-Fe,Ie+Oe,Pe-Fe,Ie+Oe-Le,Pe-Fe,Ie+Oe,2,!0),this.v.setTripleAt(Pe+Fe,Ie+Oe,Pe+Fe-Le,Ie+Oe,Pe+Fe,Ie+Oe,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:B},extendPrototype([DynamicPropertyContainer],Ee),Ee}();function Se(Ee,we,Pe){var Ie;if(Pe===3||Pe===4){var Fe=Pe===3?we.pt:we.ks,Oe=Fe.k;Oe.length?Ie=new _e(Ee,we,Pe):Ie=new Y(Ee,we,Pe)}else Pe===5?Ie=new J(Ee,we):Pe===6?Ie=new xe(Ee,we):Pe===7&&(Ie=new Z(Ee,we));return Ie.k&&Ee.addDynamicProperty(Ie),Ie}function Te(){return Y}function Ae(){return _e}var Me={};return Me.getShapeProp=Se,Me.getConstructorFunction=Te,Me.getKeyframedConstructorFunction=Ae,Me}();/*!
1992
- Transformation Matrix v2.0
1993
- (c) Epistemex 2014-2015
1994
- www.epistemex.com
1995
- By Ken Fyrstenberg
1996
- Contributions by leeoniya.
1997
- License: MIT, header required.
1998
- */var Matrix=function(){var C=Math.cos,E=Math.sin,I=Math.tan,B=Math.round;function U(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function V(Re){if(Re===0)return this;var ke=C(Re),Ge=E(Re);return this._t(ke,-Ge,0,0,Ge,ke,0,0,0,0,1,0,0,0,0,1)}function X(Re){if(Re===0)return this;var ke=C(Re),Ge=E(Re);return this._t(1,0,0,0,0,ke,-Ge,0,0,Ge,ke,0,0,0,0,1)}function Y(Re){if(Re===0)return this;var ke=C(Re),Ge=E(Re);return this._t(ke,0,Ge,0,0,1,0,0,-Ge,0,ke,0,0,0,0,1)}function K(Re){if(Re===0)return this;var ke=C(Re),Ge=E(Re);return this._t(ke,-Ge,0,0,Ge,ke,0,0,0,0,1,0,0,0,0,1)}function _e(Re,ke){return this._t(1,ke,Re,1,0,0)}function xe(Re,ke){return this.shear(I(Re),I(ke))}function Z(Re,ke){var Ge=C(ke),Ne=E(ke);return this._t(Ge,Ne,0,0,-Ne,Ge,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,I(Re),1,0,0,0,0,1,0,0,0,0,1)._t(Ge,-Ne,0,0,Ne,Ge,0,0,0,0,1,0,0,0,0,1)}function J(Re,ke,Ge){return!Ge&&Ge!==0&&(Ge=1),Re===1&&ke===1&&Ge===1?this:this._t(Re,0,0,0,0,ke,0,0,0,0,Ge,0,0,0,0,1)}function Se(Re,ke,Ge,Ne,qe,Ye,Ke,rt,it,Qe,st,at,Ze,et,nt,tt){return this.props[0]=Re,this.props[1]=ke,this.props[2]=Ge,this.props[3]=Ne,this.props[4]=qe,this.props[5]=Ye,this.props[6]=Ke,this.props[7]=rt,this.props[8]=it,this.props[9]=Qe,this.props[10]=st,this.props[11]=at,this.props[12]=Ze,this.props[13]=et,this.props[14]=nt,this.props[15]=tt,this}function Te(Re,ke,Ge){return Ge=Ge||0,Re!==0||ke!==0||Ge!==0?this._t(1,0,0,0,0,1,0,0,0,0,1,0,Re,ke,Ge,1):this}function Ae(Re,ke,Ge,Ne,qe,Ye,Ke,rt,it,Qe,st,at,Ze,et,nt,tt){var Je=this.props;if(Re===1&&ke===0&&Ge===0&&Ne===0&&qe===0&&Ye===1&&Ke===0&&rt===0&&it===0&&Qe===0&&st===1&&at===0)return Je[12]=Je[12]*Re+Je[15]*Ze,Je[13]=Je[13]*Ye+Je[15]*et,Je[14]=Je[14]*st+Je[15]*nt,Je[15]*=tt,this._identityCalculated=!1,this;var ot=Je[0],lt=Je[1],ht=Je[2],ct=Je[3],ft=Je[4],ut=Je[5],dt=Je[6],gt=Je[7],vt=Je[8],pt=Je[9],yt=Je[10],mt=Je[11],_t=Je[12],xt=Je[13],bt=Je[14],St=Je[15];return Je[0]=ot*Re+lt*qe+ht*it+ct*Ze,Je[1]=ot*ke+lt*Ye+ht*Qe+ct*et,Je[2]=ot*Ge+lt*Ke+ht*st+ct*nt,Je[3]=ot*Ne+lt*rt+ht*at+ct*tt,Je[4]=ft*Re+ut*qe+dt*it+gt*Ze,Je[5]=ft*ke+ut*Ye+dt*Qe+gt*et,Je[6]=ft*Ge+ut*Ke+dt*st+gt*nt,Je[7]=ft*Ne+ut*rt+dt*at+gt*tt,Je[8]=vt*Re+pt*qe+yt*it+mt*Ze,Je[9]=vt*ke+pt*Ye+yt*Qe+mt*et,Je[10]=vt*Ge+pt*Ke+yt*st+mt*nt,Je[11]=vt*Ne+pt*rt+yt*at+mt*tt,Je[12]=_t*Re+xt*qe+bt*it+St*Ze,Je[13]=_t*ke+xt*Ye+bt*Qe+St*et,Je[14]=_t*Ge+xt*Ke+bt*st+St*nt,Je[15]=_t*Ne+xt*rt+bt*at+St*tt,this._identityCalculated=!1,this}function Me(Re){var ke=Re.props;return this.transform(ke[0],ke[1],ke[2],ke[3],ke[4],ke[5],ke[6],ke[7],ke[8],ke[9],ke[10],ke[11],ke[12],ke[13],ke[14],ke[15])}function Ee(){return this._identityCalculated||(this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0),this._identity}function we(Re){for(var ke=0;ke<16;){if(Re.props[ke]!==this.props[ke])return!1;ke+=1}return!0}function Pe(Re){var ke;for(ke=0;ke<16;ke+=1)Re.props[ke]=this.props[ke];return Re}function Ie(Re){var ke;for(ke=0;ke<16;ke+=1)this.props[ke]=Re[ke]}function Fe(Re,ke,Ge){return{x:Re*this.props[0]+ke*this.props[4]+Ge*this.props[8]+this.props[12],y:Re*this.props[1]+ke*this.props[5]+Ge*this.props[9]+this.props[13],z:Re*this.props[2]+ke*this.props[6]+Ge*this.props[10]+this.props[14]}}function Oe(Re,ke,Ge){return Re*this.props[0]+ke*this.props[4]+Ge*this.props[8]+this.props[12]}function $e(Re,ke,Ge){return Re*this.props[1]+ke*this.props[5]+Ge*this.props[9]+this.props[13]}function Le(Re,ke,Ge){return Re*this.props[2]+ke*this.props[6]+Ge*this.props[10]+this.props[14]}function Ue(){var Re=this.props[0]*this.props[5]-this.props[1]*this.props[4],ke=this.props[5]/Re,Ge=-this.props[1]/Re,Ne=-this.props[4]/Re,qe=this.props[0]/Re,Ye=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/Re,Ke=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/Re,rt=new Matrix;return rt.props[0]=ke,rt.props[1]=Ge,rt.props[4]=Ne,rt.props[5]=qe,rt.props[12]=Ye,rt.props[13]=Ke,rt}function He(Re){var ke=this.getInverseMatrix();return ke.applyToPointArray(Re[0],Re[1],Re[2]||0)}function We(Re){var ke,Ge=Re.length,Ne=[];for(ke=0;ke<Ge;ke+=1)Ne[ke]=He(Re[ke]);return Ne}function je(Re,ke,Ge){var Ne=createTypedArray("float32",6);if(this.isIdentity())Ne[0]=Re[0],Ne[1]=Re[1],Ne[2]=ke[0],Ne[3]=ke[1],Ne[4]=Ge[0],Ne[5]=Ge[1];else{var qe=this.props[0],Ye=this.props[1],Ke=this.props[4],rt=this.props[5],it=this.props[12],Qe=this.props[13];Ne[0]=Re[0]*qe+Re[1]*Ke+it,Ne[1]=Re[0]*Ye+Re[1]*rt+Qe,Ne[2]=ke[0]*qe+ke[1]*Ke+it,Ne[3]=ke[0]*Ye+ke[1]*rt+Qe,Ne[4]=Ge[0]*qe+Ge[1]*Ke+it,Ne[5]=Ge[0]*Ye+Ge[1]*rt+Qe}return Ne}function Ve(Re,ke,Ge){var Ne;return this.isIdentity()?Ne=[Re,ke,Ge]:Ne=[Re*this.props[0]+ke*this.props[4]+Ge*this.props[8]+this.props[12],Re*this.props[1]+ke*this.props[5]+Ge*this.props[9]+this.props[13],Re*this.props[2]+ke*this.props[6]+Ge*this.props[10]+this.props[14]],Ne}function ze(Re,ke){if(this.isIdentity())return Re+","+ke;var Ge=this.props;return Math.round((Re*Ge[0]+ke*Ge[4]+Ge[12])*100)/100+","+Math.round((Re*Ge[1]+ke*Ge[5]+Ge[13])*100)/100}function Xe(){for(var Re=0,ke=this.props,Ge="matrix3d(",Ne=1e4;Re<16;)Ge+=B(ke[Re]*Ne)/Ne,Ge+=Re===15?")":",",Re+=1;return Ge}function De(Re){var ke=1e4;return Re<1e-6&&Re>0||Re>-1e-6&&Re<0?B(Re*ke)/ke:Re}function Be(){var Re=this.props,ke=De(Re[0]),Ge=De(Re[1]),Ne=De(Re[4]),qe=De(Re[5]),Ye=De(Re[12]),Ke=De(Re[13]);return"matrix("+ke+","+Ge+","+Ne+","+qe+","+Ye+","+Ke+")"}return function(){this.reset=U,this.rotate=V,this.rotateX=X,this.rotateY=Y,this.rotateZ=K,this.skew=xe,this.skewFromAxis=Z,this.shear=_e,this.scale=J,this.setTransform=Se,this.translate=Te,this.transform=Ae,this.multiply=Me,this.applyToPoint=Fe,this.applyToX=Oe,this.applyToY=$e,this.applyToZ=Le,this.applyToPointArray=Ve,this.applyToTriplePoints=je,this.applyToPointStringified=ze,this.toCSS=Xe,this.to2dCSS=Be,this.clone=Pe,this.cloneFromProps=Ie,this.equals=we,this.inversePoints=We,this.inversePoint=He,this.getInverseMatrix=Ue,this._t=this.transform,this.isIdentity=Ee,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(I){return typeof I}:_typeof$3=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$3(C)}var lottie={};function setLocation(C){setLocationHref(C)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(C){setSubframeEnabled(C)}function setPrefix(C){setIdPrefix(C)}function loadAnimation(C){return animationManager.loadAnimation(C)}function setQuality(C){if(typeof C=="string")switch(C){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else!isNaN(C)&&C>1&&setDefaultCurveSegments(C)}function inBrowser(){return typeof navigator<"u"}function installPlugin(C,E){C==="expressions"&&setExpressionsPlugin(E)}function getFactory(C){switch(C){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(C){for(var E=queryString.split("&"),I=0;I<E.length;I+=1){var B=E[I].split("=");if(decodeURIComponent(B[0])==C)return decodeURIComponent(B[1])}return null}var queryString="";{var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{_typeof$3(exports)!=="object"&&(window.bodymovin=lottie)}catch(C){}var ShapeModifiers=function(){var C={},E={};C.registerModifier=I,C.getModifier=B;function I(U,V){E[U]||(E[U]=V)}function B(U,V,X){return new E[U](V,X)}return C}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(C){if(!this.closed){C.sh.container.addDynamicProperty(C.sh);var E={shape:C.sh,data:C,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(E),this.addShapeToModifier(E),this._isAnimated&&C.setAsAnimated()}},ShapeModifier.prototype.init=function(C,E){this.shapes=[],this.elem=C,this.initDynamicPropertyContainer(C),this.initModifierProperties(C,E),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(C,E){this.s=PropertyFactory.getProp(C,E.s,0,.01,this),this.e=PropertyFactory.getProp(C,E.e,0,.01,this),this.o=PropertyFactory.getProp(C,E.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=E.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(C){C.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(C,E,I,B,U){var V=[];E<=1?V.push({s:C,e:E}):C>=1?V.push({s:C-1,e:E-1}):(V.push({s:C,e:1}),V.push({s:0,e:E-1}));var X=[],Y,K=V.length,_e;for(Y=0;Y<K;Y+=1)if(_e=V[Y],!(_e.e*U<B||_e.s*U>B+I)){var xe,Z;_e.s*U<=B?xe=0:xe=(_e.s*U-B)/I,_e.e*U>=B+I?Z=1:Z=(_e.e*U-B)/I,X.push([xe,Z])}return X.length||X.push([0,0]),X},TrimModifier.prototype.releasePathsData=function(C){var E,I=C.length;for(E=0;E<I;E+=1)segmentsLengthPool.release(C[E]);return C.length=0,C},TrimModifier.prototype.processShapes=function(C){var E,I;if(this._mdf||C){var B=this.o.v%360/360;if(B<0&&(B+=1),this.s.v>1?E=1+B:this.s.v<0?E=0+B:E=this.s.v+B,this.e.v>1?I=1+B:this.e.v<0?I=0+B:I=this.e.v+B,E>I){var U=E;E=I,I=U}E=Math.round(E*1e4)*1e-4,I=Math.round(I*1e4)*1e-4,this.sValue=E,this.eValue=I}else E=this.sValue,I=this.eValue;var V,X,Y=this.shapes.length,K,_e,xe,Z,J,Se=0;if(I===E)for(X=0;X<Y;X+=1)this.shapes[X].localShapeCollection.releaseShapes(),this.shapes[X].shape._mdf=!0,this.shapes[X].shape.paths=this.shapes[X].localShapeCollection,this._mdf&&(this.shapes[X].pathsData.length=0);else if(I===1&&E===0||I===0&&E===1){if(this._mdf)for(X=0;X<Y;X+=1)this.shapes[X].pathsData.length=0,this.shapes[X].shape._mdf=!0}else{var Te=[],Ae,Me;for(X=0;X<Y;X+=1)if(Ae=this.shapes[X],!Ae.shape._mdf&&!this._mdf&&!C&&this.m!==2)Ae.shape.paths=Ae.localShapeCollection;else{if(V=Ae.shape.paths,_e=V._length,J=0,!Ae.shape._mdf&&Ae.pathsData.length)J=Ae.totalShapeLength;else{for(xe=this.releasePathsData(Ae.pathsData),K=0;K<_e;K+=1)Z=bez.getSegmentsLength(V.shapes[K]),xe.push(Z),J+=Z.totalLength;Ae.totalShapeLength=J,Ae.pathsData=xe}Se+=J,Ae.shape._mdf=!0}var Ee=E,we=I,Pe=0,Ie;for(X=Y-1;X>=0;X-=1)if(Ae=this.shapes[X],Ae.shape._mdf){for(Me=Ae.localShapeCollection,Me.releaseShapes(),this.m===2&&Y>1?(Ie=this.calculateShapeEdges(E,I,Ae.totalShapeLength,Pe,Se),Pe+=Ae.totalShapeLength):Ie=[[Ee,we]],_e=Ie.length,K=0;K<_e;K+=1){Ee=Ie[K][0],we=Ie[K][1],Te.length=0,we<=1?Te.push({s:Ae.totalShapeLength*Ee,e:Ae.totalShapeLength*we}):Ee>=1?Te.push({s:Ae.totalShapeLength*(Ee-1),e:Ae.totalShapeLength*(we-1)}):(Te.push({s:Ae.totalShapeLength*Ee,e:Ae.totalShapeLength}),Te.push({s:0,e:Ae.totalShapeLength*(we-1)}));var Fe=this.addShapes(Ae,Te[0]);if(Te[0].s!==Te[0].e){if(Te.length>1){var Oe=Ae.shape.paths.shapes[Ae.shape.paths._length-1];if(Oe.c){var $e=Fe.pop();this.addPaths(Fe,Me),Fe=this.addShapes(Ae,Te[1],$e)}else this.addPaths(Fe,Me),Fe=this.addShapes(Ae,Te[1])}this.addPaths(Fe,Me)}}Ae.shape.paths=Me}}},TrimModifier.prototype.addPaths=function(C,E){var I,B=C.length;for(I=0;I<B;I+=1)E.addShape(C[I])},TrimModifier.prototype.addSegment=function(C,E,I,B,U,V,X){U.setXYAt(E[0],E[1],"o",V),U.setXYAt(I[0],I[1],"i",V+1),X&&U.setXYAt(C[0],C[1],"v",V),U.setXYAt(B[0],B[1],"v",V+1)},TrimModifier.prototype.addSegmentFromArray=function(C,E,I,B){E.setXYAt(C[1],C[5],"o",I),E.setXYAt(C[2],C[6],"i",I+1),B&&E.setXYAt(C[0],C[4],"v",I),E.setXYAt(C[3],C[7],"v",I+1)},TrimModifier.prototype.addShapes=function(C,E,I){var B=C.pathsData,U=C.shape.paths.shapes,V,X=C.shape.paths._length,Y,K,_e=0,xe,Z,J,Se,Te=[],Ae,Me=!0;for(I?(Z=I._length,Ae=I._length):(I=shapePool.newElement(),Z=0,Ae=0),Te.push(I),V=0;V<X;V+=1){for(J=B[V].lengths,I.c=U[V].c,K=U[V].c?J.length:J.length+1,Y=1;Y<K;Y+=1)if(xe=J[Y-1],_e+xe.addedLength<E.s)_e+=xe.addedLength,I.c=!1;else if(_e>E.e){I.c=!1;break}else E.s<=_e&&E.e>=_e+xe.addedLength?(this.addSegment(U[V].v[Y-1],U[V].o[Y-1],U[V].i[Y],U[V].v[Y],I,Z,Me),Me=!1):(Se=bez.getNewSegment(U[V].v[Y-1],U[V].v[Y],U[V].o[Y-1],U[V].i[Y],(E.s-_e)/xe.addedLength,(E.e-_e)/xe.addedLength,J[Y-1]),this.addSegmentFromArray(Se,I,Z,Me),Me=!1,I.c=!1),_e+=xe.addedLength,Z+=1;if(U[V].c&&J.length){if(xe=J[Y-1],_e<=E.e){var Ee=J[Y-1].addedLength;E.s<=_e&&E.e>=_e+Ee?(this.addSegment(U[V].v[Y-1],U[V].o[Y-1],U[V].i[0],U[V].v[0],I,Z,Me),Me=!1):(Se=bez.getNewSegment(U[V].v[Y-1],U[V].v[0],U[V].o[Y-1],U[V].i[0],(E.s-_e)/Ee,(E.e-_e)/Ee,J[Y-1]),this.addSegmentFromArray(Se,I,Z,Me),Me=!1,I.c=!1)}else I.c=!1;_e+=xe.addedLength,Z+=1}if(I._length&&(I.setXYAt(I.v[Ae][0],I.v[Ae][1],"i",Ae),I.setXYAt(I.v[I._length-1][0],I.v[I._length-1][1],"o",I._length-1)),_e>E.e)break;V<X-1&&(I=shapePool.newElement(),Me=!0,Te.push(I),Z=0)}return Te};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(C,E){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(C,E.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(C,E){var I=E/100,B=[0,0],U=C._length,V=0;for(V=0;V<U;V+=1)B[0]+=C.v[V][0],B[1]+=C.v[V][1];B[0]/=U,B[1]/=U;var X=shapePool.newElement();X.c=C.c;var Y,K,_e,xe,Z,J;for(V=0;V<U;V+=1)Y=C.v[V][0]+(B[0]-C.v[V][0])*I,K=C.v[V][1]+(B[1]-C.v[V][1])*I,_e=C.o[V][0]+(B[0]-C.o[V][0])*-I,xe=C.o[V][1]+(B[1]-C.o[V][1])*-I,Z=C.i[V][0]+(B[0]-C.i[V][0])*-I,J=C.i[V][1]+(B[1]-C.i[V][1])*-I,X.setTripleAt(Y,K,_e,xe,Z,J,V);return X},PuckerAndBloatModifier.prototype.processShapes=function(C){var E,I,B=this.shapes.length,U,V,X=this.amount.v;if(X!==0){var Y,K;for(I=0;I<B;I+=1){if(Y=this.shapes[I],K=Y.localShapeCollection,!(!Y.shape._mdf&&!this._mdf&&!C))for(K.releaseShapes(),Y.shape._mdf=!0,E=Y.shape.paths.shapes,V=Y.shape.paths._length,U=0;U<V;U+=1)K.addShape(this.processPath(E[U],X));Y.shape.paths=Y.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var C=[0,0];function E(K){var _e=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||_e,this.a&&K.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&K.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&K.skewFromAxis(-this.sk.v,this.sa.v),this.r?K.rotate(-this.r.v):K.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?K.translate(this.px.v,this.py.v,-this.pz.v):K.translate(this.px.v,this.py.v,0):K.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function I(K){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||K){var _e;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var xe,Z;if(_e=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(xe=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/_e,0),Z=this.p.getValueAtTime(this.p.keyframes[0].t/_e,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(xe=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/_e,0),Z=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/_e,0)):(xe=this.p.pv,Z=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/_e,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){xe=[],Z=[];var J=this.px,Se=this.py;J._caching.lastFrame+J.offsetTime<=J.keyframes[0].t?(xe[0]=J.getValueAtTime((J.keyframes[0].t+.01)/_e,0),xe[1]=Se.getValueAtTime((Se.keyframes[0].t+.01)/_e,0),Z[0]=J.getValueAtTime(J.keyframes[0].t/_e,0),Z[1]=Se.getValueAtTime(Se.keyframes[0].t/_e,0)):J._caching.lastFrame+J.offsetTime>=J.keyframes[J.keyframes.length-1].t?(xe[0]=J.getValueAtTime(J.keyframes[J.keyframes.length-1].t/_e,0),xe[1]=Se.getValueAtTime(Se.keyframes[Se.keyframes.length-1].t/_e,0),Z[0]=J.getValueAtTime((J.keyframes[J.keyframes.length-1].t-.01)/_e,0),Z[1]=Se.getValueAtTime((Se.keyframes[Se.keyframes.length-1].t-.01)/_e,0)):(xe=[J.pv,Se.pv],Z[0]=J.getValueAtTime((J._caching.lastFrame+J.offsetTime-.01)/_e,J.offsetTime),Z[1]=Se.getValueAtTime((Se._caching.lastFrame+Se.offsetTime-.01)/_e,Se.offsetTime))}else Z=C,xe=Z;this.v.rotate(-Math.atan2(xe[1]-Z[1],xe[0]-Z[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function B(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function U(){}function V(K){this._addDynamicProperty(K),this.elem.addDynamicProperty(K),this._isDirty=!0}function X(K,_e,xe){if(this.elem=K,this.frameId=-1,this.propType="transform",this.data=_e,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(xe||K),_e.p&&_e.p.s?(this.px=PropertyFactory.getProp(K,_e.p.x,0,0,this),this.py=PropertyFactory.getProp(K,_e.p.y,0,0,this),_e.p.z&&(this.pz=PropertyFactory.getProp(K,_e.p.z,0,0,this))):this.p=PropertyFactory.getProp(K,_e.p||{k:[0,0,0]},1,0,this),_e.rx){if(this.rx=PropertyFactory.getProp(K,_e.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(K,_e.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(K,_e.rz,0,degToRads,this),_e.or.k[0].ti){var Z,J=_e.or.k.length;for(Z=0;Z<J;Z+=1)_e.or.k[Z].to=null,_e.or.k[Z].ti=null}this.or=PropertyFactory.getProp(K,_e.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(K,_e.r||{k:0},0,degToRads,this);_e.sk&&(this.sk=PropertyFactory.getProp(K,_e.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(K,_e.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(K,_e.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(K,_e.s||{k:[100,100,100]},1,.01,this),_e.o?this.o=PropertyFactory.getProp(K,_e.o,0,.01,K):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}X.prototype={applyToMatrix:E,getValue:I,precalculateMatrix:B,autoOrient:U},extendPrototype([DynamicPropertyContainer],X),X.prototype.addDynamicProperty=V,X.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function Y(K,_e,xe){return new X(K,_e,xe)}return{getTransformProperty:Y}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(C,E){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(C,E.c,0,null,this),this.o=PropertyFactory.getProp(C,E.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(C,E.tr,this),this.so=PropertyFactory.getProp(C,E.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(C,E.tr.eo,0,.01,this),this.data=E,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(C,E,I,B,U,V){var X=V?-1:1,Y=B.s.v[0]+(1-B.s.v[0])*(1-U),K=B.s.v[1]+(1-B.s.v[1])*(1-U);C.translate(B.p.v[0]*X*U,B.p.v[1]*X*U,B.p.v[2]),E.translate(-B.a.v[0],-B.a.v[1],B.a.v[2]),E.rotate(-B.r.v*X*U),E.translate(B.a.v[0],B.a.v[1],B.a.v[2]),I.translate(-B.a.v[0],-B.a.v[1],B.a.v[2]),I.scale(V?1/Y:Y,V?1/K:K),I.translate(B.a.v[0],B.a.v[1],B.a.v[2])},RepeaterModifier.prototype.init=function(C,E,I,B){for(this.elem=C,this.arr=E,this.pos=I,this.elemsData=B,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(C),this.initModifierProperties(C,E[I]);I>0;)I-=1,this._elements.unshift(E[I]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(C){var E,I=C.length;for(E=0;E<I;E+=1)C[E]._processed=!1,C[E].ty==="gr"&&this.resetElements(C[E].it)},RepeaterModifier.prototype.cloneElements=function(C){var E=JSON.parse(JSON.stringify(C));return this.resetElements(E),E},RepeaterModifier.prototype.changeGroupRender=function(C,E){var I,B=C.length;for(I=0;I<B;I+=1)C[I]._render=E,C[I].ty==="gr"&&this.changeGroupRender(C[I].it,E)},RepeaterModifier.prototype.processShapes=function(C){var E,I,B,U,V,X=!1;if(this._mdf||C){var Y=Math.ceil(this.c.v);if(this._groups.length<Y){for(;this._groups.length<Y;){var K={it:this.cloneElements(this._elements),ty:"gr"};K.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,K),this._groups.splice(0,0,K),this._currentCopies+=1}this.elem.reloadShapes(),X=!0}V=0;var _e;for(B=0;B<=this._groups.length-1;B+=1){if(_e=V<Y,this._groups[B]._render=_e,this.changeGroupRender(this._groups[B].it,_e),!_e){var xe=this.elemsData[B].it,Z=xe[xe.length-1];Z.transform.op.v!==0?(Z.transform.op._mdf=!0,Z.transform.op.v=0):Z.transform.op._mdf=!1}V+=1}this._currentCopies=Y;var J=this.o.v,Se=J%1,Te=J>0?Math.floor(J):Math.ceil(J),Ae=this.pMatrix.props,Me=this.rMatrix.props,Ee=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var we=0;if(J>0){for(;we<Te;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),we+=1;Se&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,Se,!1),we+=Se)}else if(J<0){for(;we>Te;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),we-=1;Se&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-Se,!0),we-=Se)}B=this.data.m===1?0:this._currentCopies-1,U=this.data.m===1?1:-1,V=this._currentCopies;for(var Pe,Ie;V;){if(E=this.elemsData[B].it,I=E[E.length-1].transform.mProps.v.props,Ie=I.length,E[E.length-1].transform.mProps._mdf=!0,E[E.length-1].transform.op._mdf=!0,E[E.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(B/(this._currentCopies-1)),we!==0){for((B!==0&&U===1||B!==this._currentCopies-1&&U===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(Me[0],Me[1],Me[2],Me[3],Me[4],Me[5],Me[6],Me[7],Me[8],Me[9],Me[10],Me[11],Me[12],Me[13],Me[14],Me[15]),this.matrix.transform(Ee[0],Ee[1],Ee[2],Ee[3],Ee[4],Ee[5],Ee[6],Ee[7],Ee[8],Ee[9],Ee[10],Ee[11],Ee[12],Ee[13],Ee[14],Ee[15]),this.matrix.transform(Ae[0],Ae[1],Ae[2],Ae[3],Ae[4],Ae[5],Ae[6],Ae[7],Ae[8],Ae[9],Ae[10],Ae[11],Ae[12],Ae[13],Ae[14],Ae[15]),Pe=0;Pe<Ie;Pe+=1)I[Pe]=this.matrix.props[Pe];this.matrix.reset()}else for(this.matrix.reset(),Pe=0;Pe<Ie;Pe+=1)I[Pe]=this.matrix.props[Pe];we+=1,V-=1,B+=U}}else for(V=this._currentCopies,B=0,U=1;V;)E=this.elemsData[B].it,I=E[E.length-1].transform.mProps.v.props,E[E.length-1].transform.mProps._mdf=!1,E[E.length-1].transform.op._mdf=!1,V-=1,B+=U;return X},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(C,E){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(C,E.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(C,E){var I=shapePool.newElement();I.c=C.c;var B,U=C._length,V,X,Y,K,_e,xe,Z=0,J,Se,Te,Ae,Me,Ee;for(B=0;B<U;B+=1)V=C.v[B],Y=C.o[B],X=C.i[B],V[0]===Y[0]&&V[1]===Y[1]&&V[0]===X[0]&&V[1]===X[1]?(B===0||B===U-1)&&!C.c?(I.setTripleAt(V[0],V[1],Y[0],Y[1],X[0],X[1],Z),Z+=1):(B===0?K=C.v[U-1]:K=C.v[B-1],_e=Math.sqrt(Math.pow(V[0]-K[0],2)+Math.pow(V[1]-K[1],2)),xe=_e?Math.min(_e/2,E)/_e:0,Me=V[0]+(K[0]-V[0])*xe,J=Me,Ee=V[1]-(V[1]-K[1])*xe,Se=Ee,Te=J-(J-V[0])*roundCorner,Ae=Se-(Se-V[1])*roundCorner,I.setTripleAt(J,Se,Te,Ae,Me,Ee,Z),Z+=1,B===U-1?K=C.v[0]:K=C.v[B+1],_e=Math.sqrt(Math.pow(V[0]-K[0],2)+Math.pow(V[1]-K[1],2)),xe=_e?Math.min(_e/2,E)/_e:0,Te=V[0]+(K[0]-V[0])*xe,J=Te,Ae=V[1]+(K[1]-V[1])*xe,Se=Ae,Me=J-(J-V[0])*roundCorner,Ee=Se-(Se-V[1])*roundCorner,I.setTripleAt(J,Se,Te,Ae,Me,Ee,Z),Z+=1):(I.setTripleAt(C.v[B][0],C.v[B][1],C.o[B][0],C.o[B][1],C.i[B][0],C.i[B][1],Z),Z+=1);return I},RoundCornersModifier.prototype.processShapes=function(C){var E,I,B=this.shapes.length,U,V,X=this.rd.v;if(X!==0){var Y,K;for(I=0;I<B;I+=1){if(Y=this.shapes[I],K=Y.localShapeCollection,!(!Y.shape._mdf&&!this._mdf&&!C))for(K.releaseShapes(),Y.shape._mdf=!0,E=Y.shape.paths.shapes,V=Y.shape.paths._length,U=0;U<V;U+=1)K.addShape(this.processPath(E[U],X));Y.shape.paths=Y.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};function floatEqual(C,E){return Math.abs(C-E)*1e5<=Math.min(Math.abs(C),Math.abs(E))}function floatZero(C){return Math.abs(C)<=1e-5}function lerp(C,E,I){return C*(1-I)+E*I}function lerpPoint(C,E,I){return[lerp(C[0],E[0],I),lerp(C[1],E[1],I)]}function quadRoots(C,E,I){if(C===0)return[];var B=E*E-4*C*I;if(B<0)return[];var U=-E/(2*C);if(B===0)return[U];var V=Math.sqrt(B)/(2*C);return[U-V,U+V]}function polynomialCoefficients(C,E,I,B){return[-C+3*E-3*I+B,3*C-6*E+3*I,-3*C+3*E,C]}function singlePoint(C){return new PolynomialBezier(C,C,C,C,!1)}function PolynomialBezier(C,E,I,B,U){U&&pointEqual(C,E)&&(E=lerpPoint(C,B,1/3)),U&&pointEqual(I,B)&&(I=lerpPoint(C,B,2/3));var V=polynomialCoefficients(C[0],E[0],I[0],B[0]),X=polynomialCoefficients(C[1],E[1],I[1],B[1]);this.a=[V[0],X[0]],this.b=[V[1],X[1]],this.c=[V[2],X[2]],this.d=[V[3],X[3]],this.points=[C,E,I,B]}PolynomialBezier.prototype.point=function(C){return[((this.a[0]*C+this.b[0])*C+this.c[0])*C+this.d[0],((this.a[1]*C+this.b[1])*C+this.c[1])*C+this.d[1]]},PolynomialBezier.prototype.derivative=function(C){return[(3*C*this.a[0]+2*this.b[0])*C+this.c[0],(3*C*this.a[1]+2*this.b[1])*C+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(C){var E=this.derivative(C);return Math.atan2(E[1],E[0])},PolynomialBezier.prototype.normalAngle=function(C){var E=this.derivative(C);return Math.atan2(E[0],E[1])},PolynomialBezier.prototype.inflectionPoints=function(){var C=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(C))return[];var E=-.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/C,I=E*E-1/3*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/C;if(I<0)return[];var B=Math.sqrt(I);return floatZero(B)?B>0&&B<1?[E]:[]:[E-B,E+B].filter(function(U){return U>0&&U<1})},PolynomialBezier.prototype.split=function(C){if(C<=0)return[singlePoint(this.points[0]),this];if(C>=1)return[this,singlePoint(this.points[this.points.length-1])];var E=lerpPoint(this.points[0],this.points[1],C),I=lerpPoint(this.points[1],this.points[2],C),B=lerpPoint(this.points[2],this.points[3],C),U=lerpPoint(E,I,C),V=lerpPoint(I,B,C),X=lerpPoint(U,V,C);return[new PolynomialBezier(this.points[0],E,U,X,!0),new PolynomialBezier(X,V,B,this.points[3],!0)]};function extrema(C,E){var I=C.points[0][E],B=C.points[C.points.length-1][E];if(I>B){var U=B;B=I,I=U}for(var V=quadRoots(3*C.a[E],2*C.b[E],C.c[E]),X=0;X<V.length;X+=1)if(V[X]>0&&V[X]<1){var Y=C.point(V[X])[E];Y<I?I=Y:Y>B&&(B=Y)}return{min:I,max:B}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var C=this.bounds();return{left:C.x.min,right:C.x.max,top:C.y.min,bottom:C.y.max,width:C.x.max-C.x.min,height:C.y.max-C.y.min,cx:(C.x.max+C.x.min)/2,cy:(C.y.max+C.y.min)/2}};function intersectData(C,E,I){var B=C.boundingBox();return{cx:B.cx,cy:B.cy,width:B.width,height:B.height,bez:C,t:(E+I)/2,t1:E,t2:I}}function splitData(C){var E=C.bez.split(.5);return[intersectData(E[0],C.t1,C.t),intersectData(E[1],C.t,C.t2)]}function boxIntersect(C,E){return Math.abs(C.cx-E.cx)*2<C.width+E.width&&Math.abs(C.cy-E.cy)*2<C.height+E.height}function intersectsImpl(C,E,I,B,U,V){if(boxIntersect(C,E)){if(I>=V||C.width<=B&&C.height<=B&&E.width<=B&&E.height<=B){U.push([C.t,E.t]);return}var X=splitData(C),Y=splitData(E);intersectsImpl(X[0],Y[0],I+1,B,U,V),intersectsImpl(X[0],Y[1],I+1,B,U,V),intersectsImpl(X[1],Y[0],I+1,B,U,V),intersectsImpl(X[1],Y[1],I+1,B,U,V)}}PolynomialBezier.prototype.intersections=function(C,E,I){E===void 0&&(E=2),I===void 0&&(I=7);var B=[];return intersectsImpl(intersectData(this,0,1),intersectData(C,0,1),0,E,B,I),B},PolynomialBezier.shapeSegment=function(C,E){var I=(E+1)%C.length();return new PolynomialBezier(C.v[E],C.o[E],C.i[I],C.v[I],!0)},PolynomialBezier.shapeSegmentInverted=function(C,E){var I=(E+1)%C.length();return new PolynomialBezier(C.v[I],C.i[I],C.o[E],C.v[E],!0)};function crossProduct(C,E){return[C[1]*E[2]-C[2]*E[1],C[2]*E[0]-C[0]*E[2],C[0]*E[1]-C[1]*E[0]]}function lineIntersection(C,E,I,B){var U=[C[0],C[1],1],V=[E[0],E[1],1],X=[I[0],I[1],1],Y=[B[0],B[1],1],K=crossProduct(crossProduct(U,V),crossProduct(X,Y));return floatZero(K[2])?null:[K[0]/K[2],K[1]/K[2]]}function polarOffset(C,E,I){return[C[0]+Math.cos(E)*I,C[1]-Math.sin(E)*I]}function pointDistance(C,E){return Math.hypot(C[0]-E[0],C[1]-E[1])}function pointEqual(C,E){return floatEqual(C[0],E[0])&&floatEqual(C[1],E[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(C,E){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(C,E.s,0,null,this),this.frequency=PropertyFactory.getProp(C,E.r,0,null,this),this.pointsType=PropertyFactory.getProp(C,E.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(C,E,I,B,U,V,X){var Y=I-Math.PI/2,K=I+Math.PI/2,_e=E[0]+Math.cos(I)*B*U,xe=E[1]-Math.sin(I)*B*U;C.setTripleAt(_e,xe,_e+Math.cos(Y)*V,xe-Math.sin(Y)*V,_e+Math.cos(K)*X,xe-Math.sin(K)*X,C.length())}function getPerpendicularVector(C,E){var I=[E[0]-C[0],E[1]-C[1]],B=-Math.PI*.5,U=[Math.cos(B)*I[0]-Math.sin(B)*I[1],Math.sin(B)*I[0]+Math.cos(B)*I[1]];return U}function getProjectingAngle(C,E){var I=E===0?C.length()-1:E-1,B=(E+1)%C.length(),U=C.v[I],V=C.v[B],X=getPerpendicularVector(U,V);return Math.atan2(0,1)-Math.atan2(X[1],X[0])}function zigZagCorner(C,E,I,B,U,V,X){var Y=getProjectingAngle(E,I),K=E.v[I%E._length],_e=E.v[I===0?E._length-1:I-1],xe=E.v[(I+1)%E._length],Z=V===2?Math.sqrt(Math.pow(K[0]-_e[0],2)+Math.pow(K[1]-_e[1],2)):0,J=V===2?Math.sqrt(Math.pow(K[0]-xe[0],2)+Math.pow(K[1]-xe[1],2)):0;setPoint(C,E.v[I%E._length],Y,X,B,J/((U+1)*2),Z/((U+1)*2))}function zigZagSegment(C,E,I,B,U,V){for(var X=0;X<B;X+=1){var Y=(X+1)/(B+1),K=U===2?Math.sqrt(Math.pow(E.points[3][0]-E.points[0][0],2)+Math.pow(E.points[3][1]-E.points[0][1],2)):0,_e=E.normalAngle(Y),xe=E.point(Y);setPoint(C,xe,_e,V,I,K/((B+1)*2),K/((B+1)*2)),V=-V}return V}ZigZagModifier.prototype.processPath=function(C,E,I,B){var U=C._length,V=shapePool.newElement();if(V.c=C.c,C.c||(U-=1),U===0)return V;var X=-1,Y=PolynomialBezier.shapeSegment(C,0);zigZagCorner(V,C,0,E,I,B,X);for(var K=0;K<U;K+=1)X=zigZagSegment(V,Y,E,I,B,-X),K===U-1&&!C.c?Y=null:Y=PolynomialBezier.shapeSegment(C,(K+1)%U),zigZagCorner(V,C,K+1,E,I,B,X);return V},ZigZagModifier.prototype.processShapes=function(C){var E,I,B=this.shapes.length,U,V,X=this.amplitude.v,Y=Math.max(0,Math.round(this.frequency.v)),K=this.pointsType.v;if(X!==0){var _e,xe;for(I=0;I<B;I+=1){if(_e=this.shapes[I],xe=_e.localShapeCollection,!(!_e.shape._mdf&&!this._mdf&&!C))for(xe.releaseShapes(),_e.shape._mdf=!0,E=_e.shape.paths.shapes,V=_e.shape.paths._length,U=0;U<V;U+=1)xe.addShape(this.processPath(E[U],X,Y,K));_e.shape.paths=_e.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};function linearOffset(C,E,I){var B=Math.atan2(E[0]-C[0],E[1]-C[1]);return[polarOffset(C,B,I),polarOffset(E,B,I)]}function offsetSegment(C,E){var I,B,U,V,X,Y,K;K=linearOffset(C.points[0],C.points[1],E),I=K[0],B=K[1],K=linearOffset(C.points[1],C.points[2],E),U=K[0],V=K[1],K=linearOffset(C.points[2],C.points[3],E),X=K[0],Y=K[1];var _e=lineIntersection(I,B,U,V);_e===null&&(_e=B);var xe=lineIntersection(X,Y,U,V);return xe===null&&(xe=X),new PolynomialBezier(I,_e,xe,Y)}function joinLines(C,E,I,B,U){var V=E.points[3],X=I.points[0];if(B===3||pointEqual(V,X))return V;if(B===2){var Y=-E.tangentAngle(1),K=-I.tangentAngle(0)+Math.PI,_e=lineIntersection(V,polarOffset(V,Y+Math.PI/2,100),X,polarOffset(X,Y+Math.PI/2,100)),xe=_e?pointDistance(_e,V):pointDistance(V,X)/2,Z=polarOffset(V,Y,2*xe*roundCorner);return C.setXYAt(Z[0],Z[1],"o",C.length()-1),Z=polarOffset(X,K,2*xe*roundCorner),C.setTripleAt(X[0],X[1],X[0],X[1],Z[0],Z[1],C.length()),X}var J=pointEqual(V,E.points[2])?E.points[0]:E.points[2],Se=pointEqual(X,I.points[1])?I.points[3]:I.points[1],Te=lineIntersection(J,V,X,Se);return Te&&pointDistance(Te,V)<U?(C.setTripleAt(Te[0],Te[1],Te[0],Te[1],Te[0],Te[1],C.length()),Te):V}function getIntersection(C,E){var I=C.intersections(E);return I.length&&floatEqual(I[0][0],1)&&I.shift(),I.length?I[0]:null}function pruneSegmentIntersection(C,E){var I=C.slice(),B=E.slice(),U=getIntersection(C[C.length-1],E[0]);return U&&(I[C.length-1]=C[C.length-1].split(U[0])[0],B[0]=E[0].split(U[1])[1]),C.length>1&&E.length>1&&(U=getIntersection(C[0],E[E.length-1]),U)?[[C[0].split(U[0])[0]],[E[E.length-1].split(U[1])[1]]]:[I,B]}function pruneIntersections(C){for(var E,I=1;I<C.length;I+=1)E=pruneSegmentIntersection(C[I-1],C[I]),C[I-1]=E[0],C[I]=E[1];return C.length>1&&(E=pruneSegmentIntersection(C[C.length-1],C[0]),C[C.length-1]=E[0],C[0]=E[1]),C}function offsetSegmentSplit(C,E){var I=C.inflectionPoints(),B,U,V,X;if(I.length===0)return[offsetSegment(C,E)];if(I.length===1||floatEqual(I[1],1))return V=C.split(I[0]),B=V[0],U=V[1],[offsetSegment(B,E),offsetSegment(U,E)];V=C.split(I[0]),B=V[0];var Y=(I[1]-I[0])/(1-I[0]);return V=V[1].split(Y),X=V[0],U=V[1],[offsetSegment(B,E),offsetSegment(X,E),offsetSegment(U,E)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(C,E){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(C,E.a,0,null,this),this.miterLimit=PropertyFactory.getProp(C,E.ml,0,null,this),this.lineJoin=E.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(C,E,I,B){var U=shapePool.newElement();U.c=C.c;var V=C.length();C.c||(V-=1);var X,Y,K,_e=[];for(X=0;X<V;X+=1)K=PolynomialBezier.shapeSegment(C,X),_e.push(offsetSegmentSplit(K,E));if(!C.c)for(X=V-1;X>=0;X-=1)K=PolynomialBezier.shapeSegmentInverted(C,X),_e.push(offsetSegmentSplit(K,E));_e=pruneIntersections(_e);var xe=null,Z=null;for(X=0;X<_e.length;X+=1){var J=_e[X];for(Z&&(xe=joinLines(U,Z,J[0],I,B)),Z=J[J.length-1],Y=0;Y<J.length;Y+=1)K=J[Y],xe&&pointEqual(K.points[0],xe)?U.setXYAt(K.points[1][0],K.points[1][1],"o",U.length()-1):U.setTripleAt(K.points[0][0],K.points[0][1],K.points[1][0],K.points[1][1],K.points[0][0],K.points[0][1],U.length()),U.setTripleAt(K.points[3][0],K.points[3][1],K.points[3][0],K.points[3][1],K.points[2][0],K.points[2][1],U.length()),xe=K.points[3]}return _e.length&&joinLines(U,Z,_e[0][0],I,B),U},OffsetPathModifier.prototype.processShapes=function(C){var E,I,B=this.shapes.length,U,V,X=this.amount.v,Y=this.miterLimit.v,K=this.lineJoin;if(X!==0){var _e,xe;for(I=0;I<B;I+=1){if(_e=this.shapes[I],xe=_e.localShapeCollection,!(!_e.shape._mdf&&!this._mdf&&!C))for(xe.releaseShapes(),_e.shape._mdf=!0,E=_e.shape.paths.shapes,V=_e.shape.paths._length,U=0;U<V;U+=1)xe.addShape(this.processPath(E[U],X,K,Y));_e.shape.paths=_e.localShapeCollection}}this.dynamicProperties.length||(this._mdf=!1)};function getFontProperties(C){for(var E=C.fStyle?C.fStyle.split(" "):[],I="normal",B="normal",U=E.length,V,X=0;X<U;X+=1)switch(V=E[X].toLowerCase(),V){case"italic":B="italic";break;case"bold":I="700";break;case"black":I="900";break;case"medium":I="500";break;case"regular":case"normal":I="400";break;case"light":case"thin":I="200";break}return{style:B,weight:C.fWeight||I}}var FontManager=function(){var C=5e3,E={w:0,size:0,shapes:[],data:{shapes:[]}},I=[];I=I.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var B=127988,U=917631,V=917601,X=917626,Y=65039,K=8205,_e=127462,xe=127487,Z=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function J(De){var Be=De.split(","),Re,ke=Be.length,Ge=[];for(Re=0;Re<ke;Re+=1)Be[Re]!=="sans-serif"&&Be[Re]!=="monospace"&&Ge.push(Be[Re]);return Ge.join(",")}function Se(De,Be){var Re=createTag("span");Re.setAttribute("aria-hidden",!0),Re.style.fontFamily=Be;var ke=createTag("span");ke.innerText="giItT1WQy@!-/#",Re.style.position="absolute",Re.style.left="-10000px",Re.style.top="-10000px",Re.style.fontSize="300px",Re.style.fontVariant="normal",Re.style.fontStyle="normal",Re.style.fontWeight="normal",Re.style.letterSpacing="0",Re.appendChild(ke),document.body.appendChild(Re);var Ge=ke.offsetWidth;return ke.style.fontFamily=J(De)+", "+Be,{node:ke,w:Ge,parent:Re}}function Te(){var De,Be=this.fonts.length,Re,ke,Ge=Be;for(De=0;De<Be;De+=1)this.fonts[De].loaded?Ge-=1:this.fonts[De].fOrigin==="n"||this.fonts[De].origin===0?this.fonts[De].loaded=!0:(Re=this.fonts[De].monoCase.node,ke=this.fonts[De].monoCase.w,Re.offsetWidth!==ke?(Ge-=1,this.fonts[De].loaded=!0):(Re=this.fonts[De].sansCase.node,ke=this.fonts[De].sansCase.w,Re.offsetWidth!==ke&&(Ge-=1,this.fonts[De].loaded=!0)),this.fonts[De].loaded&&(this.fonts[De].sansCase.parent.parentNode.removeChild(this.fonts[De].sansCase.parent),this.fonts[De].monoCase.parent.parentNode.removeChild(this.fonts[De].monoCase.parent)));Ge!==0&&Date.now()-this.initTime<C?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)}function Ae(De,Be){var Re=document.body&&Be?"svg":"canvas",ke,Ge=getFontProperties(De);if(Re==="svg"){var Ne=createNS("text");Ne.style.fontSize="100px",Ne.setAttribute("font-family",De.fFamily),Ne.setAttribute("font-style",Ge.style),Ne.setAttribute("font-weight",Ge.weight),Ne.textContent="1",De.fClass?(Ne.style.fontFamily="inherit",Ne.setAttribute("class",De.fClass)):Ne.style.fontFamily=De.fFamily,Be.appendChild(Ne),ke=Ne}else{var qe=new OffscreenCanvas(500,500).getContext("2d");qe.font=Ge.style+" "+Ge.weight+" 100px "+De.fFamily,ke=qe}function Ye(Ke){return Re==="svg"?(ke.textContent=Ke,ke.getComputedTextLength()):ke.measureText(Ke).width}return{measureText:Ye}}function Me(De,Be){if(!De){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=De.list;return}if(!document.body){this.isLoaded=!0,De.list.forEach(function(st){st.helper=Ae(st),st.cache={}}),this.fonts=De.list;return}var Re=De.list,ke,Ge=Re.length,Ne=Ge;for(ke=0;ke<Ge;ke+=1){var qe=!0,Ye,Ke;if(Re[ke].loaded=!1,Re[ke].monoCase=Se(Re[ke].fFamily,"monospace"),Re[ke].sansCase=Se(Re[ke].fFamily,"sans-serif"),!Re[ke].fPath)Re[ke].loaded=!0,Ne-=1;else if(Re[ke].fOrigin==="p"||Re[ke].origin===3){if(Ye=document.querySelectorAll('style[f-forigin="p"][f-family="'+Re[ke].fFamily+'"], style[f-origin="3"][f-family="'+Re[ke].fFamily+'"]'),Ye.length>0&&(qe=!1),qe){var rt=createTag("style");rt.setAttribute("f-forigin",Re[ke].fOrigin),rt.setAttribute("f-origin",Re[ke].origin),rt.setAttribute("f-family",Re[ke].fFamily),rt.type="text/css",rt.innerText="@font-face {font-family: "+Re[ke].fFamily+"; font-style: normal; src: url('"+Re[ke].fPath+"');}",Be.appendChild(rt)}}else if(Re[ke].fOrigin==="g"||Re[ke].origin===1){for(Ye=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),Ke=0;Ke<Ye.length;Ke+=1)Ye[Ke].href.indexOf(Re[ke].fPath)!==-1&&(qe=!1);if(qe){var it=createTag("link");it.setAttribute("f-forigin",Re[ke].fOrigin),it.setAttribute("f-origin",Re[ke].origin),it.type="text/css",it.rel="stylesheet",it.href=Re[ke].fPath,document.body.appendChild(it)}}else if(Re[ke].fOrigin==="t"||Re[ke].origin===2){for(Ye=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),Ke=0;Ke<Ye.length;Ke+=1)Re[ke].fPath===Ye[Ke].src&&(qe=!1);if(qe){var Qe=createTag("link");Qe.setAttribute("f-forigin",Re[ke].fOrigin),Qe.setAttribute("f-origin",Re[ke].origin),Qe.setAttribute("rel","stylesheet"),Qe.setAttribute("href",Re[ke].fPath),Be.appendChild(Qe)}}Re[ke].helper=Ae(Re[ke],Be),Re[ke].cache={},this.fonts.push(Re[ke])}Ne===0?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}function Ee(De){if(De){this.chars||(this.chars=[]);var Be,Re=De.length,ke,Ge=this.chars.length,Ne;for(Be=0;Be<Re;Be+=1){for(ke=0,Ne=!1;ke<Ge;)this.chars[ke].style===De[Be].style&&this.chars[ke].fFamily===De[Be].fFamily&&this.chars[ke].ch===De[Be].ch&&(Ne=!0),ke+=1;Ne||(this.chars.push(De[Be]),Ge+=1)}}}function we(De,Be,Re){for(var ke=0,Ge=this.chars.length;ke<Ge;){if(this.chars[ke].ch===De&&this.chars[ke].style===Be&&this.chars[ke].fFamily===Re)return this.chars[ke];ke+=1}return(typeof De=="string"&&De.charCodeAt(0)!==13||!De)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",De,Be,Re)),E}function Pe(De,Be,Re){var ke=this.getFontByName(Be),Ge=De;if(!ke.cache[Ge]){var Ne=ke.helper;if(De===" "){var qe=Ne.measureText("|"+De+"|"),Ye=Ne.measureText("||");ke.cache[Ge]=(qe-Ye)/100}else ke.cache[Ge]=Ne.measureText(De)/100}return ke.cache[Ge]*Re}function Ie(De){for(var Be=0,Re=this.fonts.length;Be<Re;){if(this.fonts[Be].fName===De)return this.fonts[Be];Be+=1}return this.fonts[0]}function Fe(De){var Be=0,Re=De.charCodeAt(0);if(Re>=55296&&Re<=56319){var ke=De.charCodeAt(1);ke>=56320&&ke<=57343&&(Be=(Re-55296)*1024+ke-56320+65536)}return Be}function Oe(De,Be){var Re=De.toString(16)+Be.toString(16);return Z.indexOf(Re)!==-1}function $e(De){return De===K}function Le(De){return De===Y}function Ue(De){var Be=Fe(De);return Be>=_e&&Be<=xe}function He(De){return Ue(De.substr(0,2))&&Ue(De.substr(2,2))}function We(De){return I.indexOf(De)!==-1}function je(De,Be){var Re=Fe(De.substr(Be,2));if(Re!==B)return!1;var ke=0;for(Be+=2;ke<5;){if(Re=Fe(De.substr(Be,2)),Re<V||Re>X)return!1;ke+=1,Be+=2}return Fe(De.substr(Be,2))===U}function Ve(){this.isLoaded=!0}var ze=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};ze.isModifier=Oe,ze.isZeroWidthJoiner=$e,ze.isFlagEmoji=He,ze.isRegionalCode=Ue,ze.isCombinedCharacter=We,ze.isRegionalFlag=je,ze.isVariationSelector=Le,ze.BLACK_FLAG_CODE_POINT=B;var Xe={addChars:Ee,addFonts:Me,getCharData:we,getFontByName:Ie,measureText:Pe,checkLoadedFonts:Te,setIsLoaded:Ve};return ze.prototype=Xe,ze}();function SlotManager(C){this.animationData=C}SlotManager.prototype.getProp=function(C){return this.animationData.slots&&this.animationData.slots[C.sid]?Object.assign(C,this.animationData.slots[C.sid].p):C};function slotFactory(C){return new SlotManager(C)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(E){this.renderableComponents.indexOf(E)===-1&&this.renderableComponents.push(E)},removeRenderableComponent:function(E){this.renderableComponents.indexOf(E)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(E),1)},prepareRenderableFrame:function(E){this.checkLayerLimits(E)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(E){this.data.ip-this.data.st<=E&&this.data.op-this.data.st>E?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var E,I=this.renderableComponents.length;for(E=0;E<I;E+=1)this.renderableComponents[E].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return this.data.ty===5?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var C={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(E){return C[E]||""}}();function SliderEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,0,0,I)}function AngleEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,0,0,I)}function ColorEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,1,0,I)}function PointEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,1,0,I)}function LayerIndexEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,0,0,I)}function MaskIndexEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,0,0,I)}function CheckboxEffect(C,E,I){this.p=PropertyFactory.getProp(E,C.v,0,0,I)}function NoValueEffect(){this.p={}}function EffectsManager(C,E){var I=C.ef||[];this.effectElements=[];var B,U=I.length,V;for(B=0;B<U;B+=1)V=new GroupEffect(I[B],E),this.effectElements.push(V)}function GroupEffect(C,E){this.init(C,E)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(C,E){this.data=C,this.effectElements=[],this.initDynamicPropertyContainer(E);var I,B=this.data.ef.length,U,V=this.data.ef;for(I=0;I<B;I+=1){switch(U=null,V[I].ty){case 0:U=new SliderEffect(V[I],E,this);break;case 1:U=new AngleEffect(V[I],E,this);break;case 2:U=new ColorEffect(V[I],E,this);break;case 3:U=new PointEffect(V[I],E,this);break;case 4:case 7:U=new CheckboxEffect(V[I],E,this);break;case 10:U=new LayerIndexEffect(V[I],E,this);break;case 11:U=new MaskIndexEffect(V[I],E,this);break;case 5:U=new EffectsManager(V[I],E);break;default:U=new NoValueEffect(V[I]);break}U&&this.effectElements.push(U)}};function BaseElement(){}BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var E=0,I=this.data.masksProperties.length;E<I;){if(this.data.masksProperties[E].mode!=="n"&&this.data.masksProperties[E].cl!==!1)return!0;E+=1}return!1},initExpressions:function(){var E=getExpressionInterfaces();if(E){var I=E("layer"),B=E("effects"),U=E("shape"),V=E("text"),X=E("comp");this.layerInterface=I(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var Y=B.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(Y),this.data.ty===0||this.data.xt?this.compInterface=X(this):this.data.ty===4?(this.layerInterface.shapeInterface=U(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):this.data.ty===5&&(this.layerInterface.textInterface=V(this),this.layerInterface.text=this.layerInterface.textInterface)}},setBlendMode:function(){var E=getBlendMode(this.data.bm),I=this.baseElement||this.layerElement;I.style["mix-blend-mode"]=E},initBaseData:function(E,I,B){this.globalData=I,this.comp=B,this.data=E,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}};function FrameElement(){}FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(E,I){var B,U=this.dynamicProperties.length;for(B=0;B<U;B+=1)(I||this._isParent&&this.dynamicProperties[B].propType==="transform")&&(this.dynamicProperties[B].getValue(),this.dynamicProperties[B]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(E){this.dynamicProperties.indexOf(E)===-1&&this.dynamicProperties.push(E)}};function FootageElement(C,E,I){this.initFrame(),this.initRenderable(),this.assetData=E.getAssetData(C.refId),this.footageData=E.imageLoader.getAsset(this.assetData),this.initBaseData(C,E,I)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var C=getExpressionInterfaces();if(C){var E=C("footage");this.layerInterface=E(this)}},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(C,E,I){this.initFrame(),this.initRenderable(),this.assetData=E.getAssetData(C.refId),this.initBaseData(C,E,I),this._isPlaying=!1,this._canPlay=!1;var B=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(B),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=C.tm?PropertyFactory.getProp(this,C.tm,0,E.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,C.au&&C.au.lv?C.au.lv:{k:[100]},1,.01,this)}AudioElement.prototype.prepareFrame=function(C){if(this.prepareRenderableFrame(C,!0),this.prepareProperties(C,!0),this.tm._placeholder)this._currentTime=C/this.data.sr;else{var E=this.tm.v;this._currentTime=E}this._volume=this.lv.v[0];var I=this._volume*this._volumeMultiplier;this._previousVolume!==I&&(this._previousVolume=I,this.audio.volume(I))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(C){this.audio.rate(C)},AudioElement.prototype.volume=function(C){this._volumeMultiplier=C,this._previousVolume=C*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(C){var E,I=this.layers.length,B;for(this.completeLayers=!0,E=I-1;E>=0;E-=1)this.elements[E]||(B=this.layers[E],B.ip-B.st<=C-this.layers[E].st&&B.op-B.st>C-this.layers[E].st&&this.buildItem(E)),this.completeLayers=this.elements[E]?this.completeLayers:!1;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(C){switch(C.ty){case 2:return this.createImage(C);case 0:return this.createComp(C);case 1:return this.createSolid(C);case 3:return this.createNull(C);case 4:return this.createShape(C);case 5:return this.createText(C);case 6:return this.createAudio(C);case 13:return this.createCamera(C);case 15:return this.createFootage(C);default:return this.createNull(C)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(C){return new AudioElement(C,this.globalData,this)},BaseRenderer.prototype.createFootage=function(C){return new FootageElement(C,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var C,E=this.layers.length;for(C=0;C<E;C+=1)this.buildItem(C);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(C){this.completeLayers=!1;var E,I=C.length,B,U=this.layers.length;for(E=0;E<I;E+=1)for(B=0;B<U;){if(this.layers[B].id===C[E].id){this.layers[B]=C[E];break}B+=1}},BaseRenderer.prototype.setProjectInterface=function(C){this.globalData.projectInterface=C},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(C,E,I){for(var B=this.elements,U=this.layers,V=0,X=U.length;V<X;)U[V].ind==E&&(!B[V]||B[V]===!0?(this.buildItem(V),this.addPendingElement(C)):(I.push(B[V]),B[V].setAsParent(),U[V].parent!==void 0?this.buildElementParenting(C,U[V].parent,I):C.setHierarchy(I))),V+=1},BaseRenderer.prototype.addPendingElement=function(C){this.pendingElements.push(C)},BaseRenderer.prototype.searchExtraCompositions=function(C){var E,I=C.length;for(E=0;E<I;E+=1)if(C[E].xt){var B=this.createComp(C[E]);B.initExpressions(),this.globalData.projectInterface.registerComposition(B)}},BaseRenderer.prototype.getElementById=function(C){var E,I=this.elements.length;for(E=0;E<I;E+=1)if(this.elements[E].data.ind===C)return this.elements[E];return null},BaseRenderer.prototype.getElementByPath=function(C){var E=C.shift(),I;if(typeof E=="number")I=this.elements[E];else{var B,U=this.elements.length;for(B=0;B<U;B+=1)if(this.elements[B].data.nm===E){I=this.elements[B];break}}return C.length===0?I:I.getElementByPath(C)},BaseRenderer.prototype.setupGlobalData=function(C,E){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(C),this.globalData.fontManager.addChars(C.chars),this.globalData.fontManager.addFonts(C.fonts,E),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=C.fr,this.globalData.nm=C.nm,this.globalData.compSize={w:C.w,h:C.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}TransformElement.prototype={initTransform:function(){var E=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:E,localMat:E,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var E,I=this.finalTransform.mat,B=0,U=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;B<U;){if(this.hierarchy[B].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}B+=1}if(this.finalTransform._matMdf)for(E=this.finalTransform.mProp.v.props,I.cloneFromProps(E),B=0;B<U;B+=1)I.multiply(this.hierarchy[B].finalTransform.mProp.v)}this.finalTransform._matMdf&&(this.finalTransform._localMatMdf=this.finalTransform._matMdf),this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v)},renderLocalTransform:function(){if(this.localTransforms){var E=0,I=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)for(;E<I;)this.localTransforms[E]._mdf&&(this.finalTransform._localMatMdf=!0),this.localTransforms[E]._opMdf&&!this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0),E+=1;if(this.finalTransform._localMatMdf){var B=this.finalTransform.localMat;for(this.localTransforms[0].matrix.clone(B),E=1;E<I;E+=1){var U=this.localTransforms[E].matrix;B.multiply(U)}B.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var V=this.finalTransform.localOpacity;for(E=0;E<I;E+=1)V*=this.localTransforms[E].opacity*.01;this.finalTransform.localOpacity=V}}},searchEffectTransforms:function(){if(this.renderableEffectsManager){var E=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(E.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var I=0,B=E.length;for(I=0;I<B;I+=1)this.localTransforms.push(E[I])}}},globalToLocal:function(E){var I=[];I.push(this.finalTransform);for(var B=!0,U=this.comp;B;)U.finalTransform?(U.data.hasMask&&I.splice(0,0,U.finalTransform),U=U.comp):B=!1;var V,X=I.length,Y;for(V=0;V<X;V+=1)Y=I[V].mat.applyToPointArray(0,0,0),E=[E[0]-Y[0],E[1]-Y[1],0];return E},mHelper:new Matrix};function MaskElement(C,E,I){this.data=C,this.element=E,this.globalData=I,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var B=this.globalData.defs,U,V=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(V),this.solidPath="";var X,Y=this.masksProperties,K=0,_e=[],xe,Z,J=createElementID(),Se,Te,Ae,Me,Ee="clipPath",we="clip-path";for(U=0;U<V;U+=1)if((Y[U].mode!=="a"&&Y[U].mode!=="n"||Y[U].inv||Y[U].o.k!==100||Y[U].o.x)&&(Ee="mask",we="mask"),(Y[U].mode==="s"||Y[U].mode==="i")&&K===0?(Se=createNS("rect"),Se.setAttribute("fill","#ffffff"),Se.setAttribute("width",this.element.comp.data.w||0),Se.setAttribute("height",this.element.comp.data.h||0),_e.push(Se)):Se=null,X=createNS("path"),Y[U].mode==="n")this.viewData[U]={op:PropertyFactory.getProp(this.element,Y[U].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,Y[U],3),elem:X,lastPath:""},B.appendChild(X);else{K+=1,X.setAttribute("fill",Y[U].mode==="s"?"#000000":"#ffffff"),X.setAttribute("clip-rule","nonzero");var Pe;if(Y[U].x.k!==0?(Ee="mask",we="mask",Me=PropertyFactory.getProp(this.element,Y[U].x,0,null,this.element),Pe=createElementID(),Te=createNS("filter"),Te.setAttribute("id",Pe),Ae=createNS("feMorphology"),Ae.setAttribute("operator","erode"),Ae.setAttribute("in","SourceGraphic"),Ae.setAttribute("radius","0"),Te.appendChild(Ae),B.appendChild(Te),X.setAttribute("stroke",Y[U].mode==="s"?"#000000":"#ffffff")):(Ae=null,Me=null),this.storedData[U]={elem:X,x:Me,expan:Ae,lastPath:"",lastOperator:"",filterId:Pe,lastRadius:0},Y[U].mode==="i"){Z=_e.length;var Ie=createNS("g");for(xe=0;xe<Z;xe+=1)Ie.appendChild(_e[xe]);var Fe=createNS("mask");Fe.setAttribute("mask-type","alpha"),Fe.setAttribute("id",J+"_"+K),Fe.appendChild(X),B.appendChild(Fe),Ie.setAttribute("mask","url("+getLocationHref()+"#"+J+"_"+K+")"),_e.length=0,_e.push(Ie)}else _e.push(X);Y[U].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[U]={elem:X,lastPath:"",op:PropertyFactory.getProp(this.element,Y[U].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,Y[U],3),invRect:Se},this.viewData[U].prop.k||this.drawPath(Y[U],this.viewData[U].prop.v,this.viewData[U])}for(this.maskElement=createNS(Ee),V=_e.length,U=0;U<V;U+=1)this.maskElement.appendChild(_e[U]);K>0&&(this.maskElement.setAttribute("id",J),this.element.maskedElement.setAttribute(we,"url("+getLocationHref()+"#"+J+")"),B.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(C){return this.viewData[C].prop},MaskElement.prototype.renderFrame=function(C){var E=this.element.finalTransform.mat,I,B=this.masksProperties.length;for(I=0;I<B;I+=1)if((this.viewData[I].prop._mdf||C)&&this.drawPath(this.masksProperties[I],this.viewData[I].prop.v,this.viewData[I]),(this.viewData[I].op._mdf||C)&&this.viewData[I].elem.setAttribute("fill-opacity",this.viewData[I].op.v),this.masksProperties[I].mode!=="n"&&(this.viewData[I].invRect&&(this.element.finalTransform.mProp._mdf||C)&&this.viewData[I].invRect.setAttribute("transform",E.getInverseMatrix().to2dCSS()),this.storedData[I].x&&(this.storedData[I].x._mdf||C))){var U=this.storedData[I].expan;this.storedData[I].x.v<0?(this.storedData[I].lastOperator!=="erode"&&(this.storedData[I].lastOperator="erode",this.storedData[I].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[I].filterId+")")),U.setAttribute("radius",-this.storedData[I].x.v)):(this.storedData[I].lastOperator!=="dilate"&&(this.storedData[I].lastOperator="dilate",this.storedData[I].elem.setAttribute("filter",null)),this.storedData[I].elem.setAttribute("stroke-width",this.storedData[I].x.v*2))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var C="M0,0 ";return C+=" h"+this.globalData.compSize.w,C+=" v"+this.globalData.compSize.h,C+=" h-"+this.globalData.compSize.w,C+=" v-"+this.globalData.compSize.h+" ",C},MaskElement.prototype.drawPath=function(C,E,I){var B=" M"+E.v[0][0]+","+E.v[0][1],U,V;for(V=E._length,U=1;U<V;U+=1)B+=" C"+E.o[U-1][0]+","+E.o[U-1][1]+" "+E.i[U][0]+","+E.i[U][1]+" "+E.v[U][0]+","+E.v[U][1];if(E.c&&V>1&&(B+=" C"+E.o[U-1][0]+","+E.o[U-1][1]+" "+E.i[0][0]+","+E.i[0][1]+" "+E.v[0][0]+","+E.v[0][1]),I.lastPath!==B){var X="";I.elem&&(E.c&&(X=C.inv?this.solidPath+B:B),I.elem.setAttribute("d",X)),I.lastPath=B}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var C={};C.createFilter=E,C.createAlphaToLuminanceFilter=I;function E(B,U){var V=createNS("filter");return V.setAttribute("id",B),U!==!0&&(V.setAttribute("filterUnits","objectBoundingBox"),V.setAttribute("x","0%"),V.setAttribute("y","0%"),V.setAttribute("width","100%"),V.setAttribute("height","100%")),V}function I(){var B=createNS("feColorMatrix");return B.setAttribute("type","matrix"),B.setAttribute("color-interpolation-filters","sRGB"),B.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),B}return C}(),featureSupport=function(){var C={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(C.maskType=!1),/firefox/i.test(navigator.userAgent)&&(C.svgLumaHidden=!1),C}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(C){var E,I="SourceGraphic",B=C.data.ef?C.data.ef.length:0,U=createElementID(),V=filtersFactory.createFilter(U,!0),X=0;this.filters=[];var Y;for(E=0;E<B;E+=1){Y=null;var K=C.data.ef[E].ty;if(registeredEffects$1[K]){var _e=registeredEffects$1[K].effect;Y=new _e(V,C.effectsManager.effectElements[E],C,idPrefix+X,I),I=idPrefix+X,registeredEffects$1[K].countsAsEffect&&(X+=1)}Y&&this.filters.push(Y)}X&&(C.globalData.defs.appendChild(V),C.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+U+")")),this.filters.length&&C.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(C){var E,I=this.filters.length;for(E=0;E<I;E+=1)this.filters[E].renderFrame(C)},SVGEffects.prototype.getEffects=function(C){var E,I=this.filters.length,B=[];for(E=0;E<I;E+=1)this.filters[E].type===C&&B.push(this.filters[E]);return B};function registerEffect$1(C,E,I){registeredEffects$1[C]={effect:E,countsAsEffect:I}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var E=null;if(this.data.td){this.matteMasks={};var I=createNS("g");I.setAttribute("id",this.layerId),I.appendChild(this.layerElement),E=I,this.globalData.defs.appendChild(I)}else this.data.tt?(this.matteElement.appendChild(this.layerElement),E=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.ty===0&&!this.data.hd){var B=createNS("clipPath"),U=createNS("path");U.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var V=createElementID();if(B.setAttribute("id",V),B.appendChild(U),this.globalData.defs.appendChild(B),this.checkMasks()){var X=createNS("g");X.setAttribute("clip-path","url("+getLocationHref()+"#"+V+")"),X.appendChild(this.layerElement),this.transformedElement=X,E?E.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+V+")")}this.data.bm!==0&&this.setBlendMode()},renderElement:function(){this.finalTransform._localMatMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function(E){if(this.matteMasks||(this.matteMasks={}),!this.matteMasks[E]){var I=this.layerId+"_"+E,B,U,V,X;if(E===1||E===3){var Y=createNS("mask");Y.setAttribute("id",I),Y.setAttribute("mask-type",E===3?"luminance":"alpha"),V=createNS("use"),V.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),Y.appendChild(V),this.globalData.defs.appendChild(Y),!featureSupport.maskType&&E===1&&(Y.setAttribute("mask-type","luminance"),B=createElementID(),U=filtersFactory.createFilter(B),this.globalData.defs.appendChild(U),U.appendChild(filtersFactory.createAlphaToLuminanceFilter()),X=createNS("g"),X.appendChild(V),Y.appendChild(X),X.setAttribute("filter","url("+getLocationHref()+"#"+B+")"))}else if(E===2){var K=createNS("mask");K.setAttribute("id",I),K.setAttribute("mask-type","alpha");var _e=createNS("g");K.appendChild(_e),B=createElementID(),U=filtersFactory.createFilter(B);var xe=createNS("feComponentTransfer");xe.setAttribute("in","SourceGraphic"),U.appendChild(xe);var Z=createNS("feFuncA");Z.setAttribute("type","table"),Z.setAttribute("tableValues","1.0 0.0"),xe.appendChild(Z),this.globalData.defs.appendChild(U);var J=createNS("rect");J.setAttribute("width",this.comp.data.w),J.setAttribute("height",this.comp.data.h),J.setAttribute("x","0"),J.setAttribute("y","0"),J.setAttribute("fill","#ffffff"),J.setAttribute("opacity","0"),_e.setAttribute("filter","url("+getLocationHref()+"#"+B+")"),_e.appendChild(J),V=createNS("use"),V.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),_e.appendChild(V),featureSupport.maskType||(K.setAttribute("mask-type","luminance"),U.appendChild(filtersFactory.createAlphaToLuminanceFilter()),X=createNS("g"),_e.appendChild(J),X.appendChild(this.layerElement),_e.appendChild(X)),this.globalData.defs.appendChild(K)}this.matteMasks[E]=I}return this.matteMasks[E]},setMatte:function(E){this.matteElement&&this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+E+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(E){this.hierarchy=E},setAsParent:function(){this._isParent=!0},checkParenting:function(){this.data.parent!==void 0&&this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var C={initElement:function(I,B,U){this.initFrame(),this.initBaseData(I,B,U),this.initTransform(I,B,U),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var I=this.baseElement||this.layerElement;I.style.display="none",this.hidden=!0}},show:function(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var I=this.baseElement||this.layerElement;I.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(I){this._mdf=!1,this.prepareRenderableFrame(I),this.prepareProperties(I,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(C)],RenderableDOMElement)})();function IImageElement(C,E,I){this.assetData=E.getAssetData(C.refId),this.assetData&&this.assetData.sid&&(this.assetData=E.slotManager.getProp(this.assetData)),this.initElement(C,E,I),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var C=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",C),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(C,E){this.elem=C,this.pos=E}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function(E){var I,B=this.shapeModifiers.length;for(I=0;I<B;I+=1)this.shapeModifiers[I].addShape(E)},isShapeInAnimatedModifiers:function(E){for(var I=0,B=this.shapeModifiers.length;I<B;)if(this.shapeModifiers[I].isAnimatedWithShape(E))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var E,I=this.shapes.length;for(E=0;E<I;E+=1)this.shapes[E].sh.reset();I=this.shapeModifiers.length;var B;for(E=I-1;E>=0&&(B=this.shapeModifiers[E].processShapes(this._isFirstFrame),!B);E-=1);}},searchProcessedElement:function(E){for(var I=this.processedElements,B=0,U=I.length;B<U;){if(I[B].elem===E)return I[B].pos;B+=1}return 0},addProcessedElement:function(E,I){for(var B=this.processedElements,U=B.length;U;)if(U-=1,B[U].elem===E){B[U].pos=I;return}B.push(new ProcessedElement(E,I))},prepareFrame:function(E){this.prepareRenderableFrame(E),this.prepareProperties(E,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(C,E,I){this.caches=[],this.styles=[],this.transformers=C,this.lStr="",this.sh=I,this.lvl=E,this._isAnimated=!!I.k;for(var B=0,U=C.length;B<U;){if(C[B].mProps.dynamicProperties.length){this._isAnimated=!0;break}B+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(C,E){this.data=C,this.type=C.ty,this.d="",this.lvl=E,this._mdf=!1,this.closed=C.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(C,E,I,B){this.elem=C,this.frameId=-1,this.dataProps=createSizedArray(E.length),this.renderer=I,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",E.length?E.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(B);var U,V=E.length||0,X;for(U=0;U<V;U+=1)X=PropertyFactory.getProp(C,E[U].v,0,0,this),this.k=X.k||this.k,this.dataProps[U]={n:E[U].n,p:X};this.k||this.getValue(!0),this._isAnimated=this.k}DashProperty.prototype.getValue=function(C){if(!(this.elem.globalData.frameId===this.frameId&&!C)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||C,this._mdf)){var E=0,I=this.dataProps.length;for(this.renderer==="svg"&&(this.dashStr=""),E=0;E<I;E+=1)this.dataProps[E].n!=="o"?this.renderer==="svg"?this.dashStr+=" "+this.dataProps[E].p.v:this.dashArray[E]=this.dataProps[E].p.v:this.dashoffset[0]=this.dataProps[E].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(C,E,I){this.initDynamicPropertyContainer(C),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(C,E.o,0,.01,this),this.w=PropertyFactory.getProp(C,E.w,0,null,this),this.d=new DashProperty(C,E.d||{},"svg",this),this.c=PropertyFactory.getProp(C,E.c,1,255,this),this.style=I,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(C,E,I){this.initDynamicPropertyContainer(C),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(C,E.o,0,.01,this),this.c=PropertyFactory.getProp(C,E.c,1,255,this),this.style=I}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(C,E,I){this.initDynamicPropertyContainer(C),this.getValue=this.iterateDynamicProperties,this.style=I}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(C,E,I){this.data=E,this.c=createTypedArray("uint8c",E.p*4);var B=E.k.k[0].s?E.k.k[0].s.length-E.p*4:E.k.k.length-E.p*4;this.o=createTypedArray("float32",B),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=B,this.initDynamicPropertyContainer(I),this.prop=PropertyFactory.getProp(C,E.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(C,E){for(var I=0,B=this.o.length/2,U;I<B;){if(U=Math.abs(C[I*4]-C[E*4+I*2]),U>.01)return!1;I+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s)for(var C=0,E=this.data.k.k.length;C<E;){if(!this.comparePoints(this.data.k.k[C].s,this.data.p))return!1;C+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(C){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||C){var E,I=this.data.p*4,B,U;for(E=0;E<I;E+=1)B=E%4===0?100:255,U=Math.round(this.prop.v[E]*B),this.c[E]!==U&&(this.c[E]=U,this._cmdf=!C);if(this.o.length)for(I=this.prop.v.length,E=this.data.p*4;E<I;E+=1)B=E%2===0?100:1,U=E%2===0?Math.round(this.prop.v[E]*100):this.prop.v[E],this.o[E-this.data.p*4]!==U&&(this.o[E-this.data.p*4]=U,this._omdf=!C);this._mdf=!C}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(C,E,I){this.initDynamicPropertyContainer(C),this.getValue=this.iterateDynamicProperties,this.initGradientData(C,E,I)}SVGGradientFillStyleData.prototype.initGradientData=function(C,E,I){this.o=PropertyFactory.getProp(C,E.o,0,.01,this),this.s=PropertyFactory.getProp(C,E.s,1,null,this),this.e=PropertyFactory.getProp(C,E.e,1,null,this),this.h=PropertyFactory.getProp(C,E.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(C,E.a||{k:0},0,degToRads,this),this.g=new GradientProperty(C,E.g,this),this.style=I,this.stops=[],this.setGradientData(I.pElem,E),this.setGradientOpacity(E,I),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(C,E){var I=createElementID(),B=createNS(E.t===1?"linearGradient":"radialGradient");B.setAttribute("id",I),B.setAttribute("spreadMethod","pad"),B.setAttribute("gradientUnits","userSpaceOnUse");var U=[],V,X,Y;for(Y=E.g.p*4,X=0;X<Y;X+=4)V=createNS("stop"),B.appendChild(V),U.push(V);C.setAttribute(E.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+I+")"),this.gf=B,this.cst=U},SVGGradientFillStyleData.prototype.setGradientOpacity=function(C,E){if(this.g._hasOpacity&&!this.g._collapsable){var I,B,U,V=createNS("mask"),X=createNS("path");V.appendChild(X);var Y=createElementID(),K=createElementID();V.setAttribute("id",K);var _e=createNS(C.t===1?"linearGradient":"radialGradient");_e.setAttribute("id",Y),_e.setAttribute("spreadMethod","pad"),_e.setAttribute("gradientUnits","userSpaceOnUse"),U=C.g.k.k[0].s?C.g.k.k[0].s.length:C.g.k.k.length;var xe=this.stops;for(B=C.g.p*4;B<U;B+=2)I=createNS("stop"),I.setAttribute("stop-color","rgb(255,255,255)"),_e.appendChild(I),xe.push(I);X.setAttribute(C.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+Y+")"),C.ty==="gs"&&(X.setAttribute("stroke-linecap",lineCapEnum[C.lc||2]),X.setAttribute("stroke-linejoin",lineJoinEnum[C.lj||2]),C.lj===1&&X.setAttribute("stroke-miterlimit",C.ml)),this.of=_e,this.ms=V,this.ost=xe,this.maskId=K,E.msElem=X}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(C,E,I){this.initDynamicPropertyContainer(C),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(C,E.w,0,null,this),this.d=new DashProperty(C,E.d||{},"svg",this),this.initGradientData(C,E,I),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(C,E,I){this.transform={mProps:C,op:E,container:I},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function(E,I,B,U){if(I===0)return"";var V=E.o,X=E.i,Y=E.v,K,_e=" M"+U.applyToPointStringified(Y[0][0],Y[0][1]);for(K=1;K<I;K+=1)_e+=" C"+U.applyToPointStringified(V[K-1][0],V[K-1][1])+" "+U.applyToPointStringified(X[K][0],X[K][1])+" "+U.applyToPointStringified(Y[K][0],Y[K][1]);return B&&I&&(_e+=" C"+U.applyToPointStringified(V[K-1][0],V[K-1][1])+" "+U.applyToPointStringified(X[0][0],X[0][1])+" "+U.applyToPointStringified(Y[0][0],Y[0][1]),_e+="z"),_e},SVGElementsRenderer=function(){var C=new Matrix,E=new Matrix,I={createRenderFunction:B};function B(Z){switch(Z.ty){case"fl":return Y;case"gf":return _e;case"gs":return K;case"st":return xe;case"sh":case"el":case"rc":case"sr":return X;case"tr":return U;case"no":return V;default:return null}}function U(Z,J,Se){(Se||J.transform.op._mdf)&&J.transform.container.setAttribute("opacity",J.transform.op.v),(Se||J.transform.mProps._mdf)&&J.transform.container.setAttribute("transform",J.transform.mProps.v.to2dCSS())}function V(){}function X(Z,J,Se){var Te,Ae,Me,Ee,we,Pe,Ie=J.styles.length,Fe=J.lvl,Oe,$e,Le,Ue;for(Pe=0;Pe<Ie;Pe+=1){if(Ee=J.sh._mdf||Se,J.styles[Pe].lvl<Fe){for($e=E.reset(),Le=Fe-J.styles[Pe].lvl,Ue=J.transformers.length-1;!Ee&&Le>0;)Ee=J.transformers[Ue].mProps._mdf||Ee,Le-=1,Ue-=1;if(Ee)for(Le=Fe-J.styles[Pe].lvl,Ue=J.transformers.length-1;Le>0;)$e.multiply(J.transformers[Ue].mProps.v),Le-=1,Ue-=1}else $e=C;if(Oe=J.sh.paths,Ae=Oe._length,Ee){for(Me="",Te=0;Te<Ae;Te+=1)we=Oe.shapes[Te],we&&we._length&&(Me+=buildShapeString(we,we._length,we.c,$e));J.caches[Pe]=Me}else Me=J.caches[Pe];J.styles[Pe].d+=Z.hd===!0?"":Me,J.styles[Pe]._mdf=Ee||J.styles[Pe]._mdf}}function Y(Z,J,Se){var Te=J.style;(J.c._mdf||Se)&&Te.pElem.setAttribute("fill","rgb("+bmFloor(J.c.v[0])+","+bmFloor(J.c.v[1])+","+bmFloor(J.c.v[2])+")"),(J.o._mdf||Se)&&Te.pElem.setAttribute("fill-opacity",J.o.v)}function K(Z,J,Se){_e(Z,J,Se),xe(Z,J,Se)}function _e(Z,J,Se){var Te=J.gf,Ae=J.g._hasOpacity,Me=J.s.v,Ee=J.e.v;if(J.o._mdf||Se){var we=Z.ty==="gf"?"fill-opacity":"stroke-opacity";J.style.pElem.setAttribute(we,J.o.v)}if(J.s._mdf||Se){var Pe=Z.t===1?"x1":"cx",Ie=Pe==="x1"?"y1":"cy";Te.setAttribute(Pe,Me[0]),Te.setAttribute(Ie,Me[1]),Ae&&!J.g._collapsable&&(J.of.setAttribute(Pe,Me[0]),J.of.setAttribute(Ie,Me[1]))}var Fe,Oe,$e,Le;if(J.g._cmdf||Se){Fe=J.cst;var Ue=J.g.c;for($e=Fe.length,Oe=0;Oe<$e;Oe+=1)Le=Fe[Oe],Le.setAttribute("offset",Ue[Oe*4]+"%"),Le.setAttribute("stop-color","rgb("+Ue[Oe*4+1]+","+Ue[Oe*4+2]+","+Ue[Oe*4+3]+")")}if(Ae&&(J.g._omdf||Se)){var He=J.g.o;for(J.g._collapsable?Fe=J.cst:Fe=J.ost,$e=Fe.length,Oe=0;Oe<$e;Oe+=1)Le=Fe[Oe],J.g._collapsable||Le.setAttribute("offset",He[Oe*2]+"%"),Le.setAttribute("stop-opacity",He[Oe*2+1])}if(Z.t===1)(J.e._mdf||Se)&&(Te.setAttribute("x2",Ee[0]),Te.setAttribute("y2",Ee[1]),Ae&&!J.g._collapsable&&(J.of.setAttribute("x2",Ee[0]),J.of.setAttribute("y2",Ee[1])));else{var We;if((J.s._mdf||J.e._mdf||Se)&&(We=Math.sqrt(Math.pow(Me[0]-Ee[0],2)+Math.pow(Me[1]-Ee[1],2)),Te.setAttribute("r",We),Ae&&!J.g._collapsable&&J.of.setAttribute("r",We)),J.e._mdf||J.h._mdf||J.a._mdf||Se){We||(We=Math.sqrt(Math.pow(Me[0]-Ee[0],2)+Math.pow(Me[1]-Ee[1],2)));var je=Math.atan2(Ee[1]-Me[1],Ee[0]-Me[0]),Ve=J.h.v;Ve>=1?Ve=.99:Ve<=-1&&(Ve=-.99);var ze=We*Ve,Xe=Math.cos(je+J.a.v)*ze+Me[0],De=Math.sin(je+J.a.v)*ze+Me[1];Te.setAttribute("fx",Xe),Te.setAttribute("fy",De),Ae&&!J.g._collapsable&&(J.of.setAttribute("fx",Xe),J.of.setAttribute("fy",De))}}}function xe(Z,J,Se){var Te=J.style,Ae=J.d;Ae&&(Ae._mdf||Se)&&Ae.dashStr&&(Te.pElem.setAttribute("stroke-dasharray",Ae.dashStr),Te.pElem.setAttribute("stroke-dashoffset",Ae.dashoffset[0])),J.c&&(J.c._mdf||Se)&&Te.pElem.setAttribute("stroke","rgb("+bmFloor(J.c.v[0])+","+bmFloor(J.c.v[1])+","+bmFloor(J.c.v[2])+")"),(J.o._mdf||Se)&&Te.pElem.setAttribute("stroke-opacity",J.o.v),(J.w._mdf||Se)&&(Te.pElem.setAttribute("stroke-width",J.w.v),Te.msElem&&Te.msElem.setAttribute("stroke-width",J.w.v))}return I}();function SVGShapeElement(C,E,I){this.shapes=[],this.shapesData=C.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(C,E,I),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var C,E=this.shapes.length,I,B,U=this.stylesList.length,V,X=[],Y=!1;for(B=0;B<U;B+=1){for(V=this.stylesList[B],Y=!1,X.length=0,C=0;C<E;C+=1)I=this.shapes[C],I.styles.indexOf(V)!==-1&&(X.push(I),Y=I._isAnimated||Y);X.length>1&&Y&&this.setShapesAsAnimated(X)}},SVGShapeElement.prototype.setShapesAsAnimated=function(C){var E,I=C.length;for(E=0;E<I;E+=1)C[E].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(C,E){var I,B=new SVGStyleData(C,E),U=B.pElem;if(C.ty==="st")I=new SVGStrokeStyleData(this,C,B);else if(C.ty==="fl")I=new SVGFillStyleData(this,C,B);else if(C.ty==="gf"||C.ty==="gs"){var V=C.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;I=new V(this,C,B),this.globalData.defs.appendChild(I.gf),I.maskId&&(this.globalData.defs.appendChild(I.ms),this.globalData.defs.appendChild(I.of),U.setAttribute("mask","url("+getLocationHref()+"#"+I.maskId+")"))}else C.ty==="no"&&(I=new SVGNoStyleData(this,C,B));return(C.ty==="st"||C.ty==="gs")&&(U.setAttribute("stroke-linecap",lineCapEnum[C.lc||2]),U.setAttribute("stroke-linejoin",lineJoinEnum[C.lj||2]),U.setAttribute("fill-opacity","0"),C.lj===1&&U.setAttribute("stroke-miterlimit",C.ml)),C.r===2&&U.setAttribute("fill-rule","evenodd"),C.ln&&U.setAttribute("id",C.ln),C.cl&&U.setAttribute("class",C.cl),C.bm&&(U.style["mix-blend-mode"]=getBlendMode(C.bm)),this.stylesList.push(B),this.addToAnimatedContents(C,I),I},SVGShapeElement.prototype.createGroupElement=function(C){var E=new ShapeGroupData;return C.ln&&E.gr.setAttribute("id",C.ln),C.cl&&E.gr.setAttribute("class",C.cl),C.bm&&(E.gr.style["mix-blend-mode"]=getBlendMode(C.bm)),E},SVGShapeElement.prototype.createTransformElement=function(C,E){var I=TransformPropertyFactory.getTransformProperty(this,C,this),B=new SVGTransformData(I,I.o,E);return this.addToAnimatedContents(C,B),B},SVGShapeElement.prototype.createShapeElement=function(C,E,I){var B=4;C.ty==="rc"?B=5:C.ty==="el"?B=6:C.ty==="sr"&&(B=7);var U=ShapePropertyFactory.getShapeProp(this,C,B,this),V=new SVGShapeData(E,I,U);return this.shapes.push(V),this.addShapeToModifiers(V),this.addToAnimatedContents(C,V),V},SVGShapeElement.prototype.addToAnimatedContents=function(C,E){for(var I=0,B=this.animatedContents.length;I<B;){if(this.animatedContents[I].element===E)return;I+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(C),element:E,data:C})},SVGShapeElement.prototype.setElementStyles=function(C){var E=C.styles,I,B=this.stylesList.length;for(I=0;I<B;I+=1)this.stylesList[I].closed||E.push(this.stylesList[I])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var C,E=this.itemsData.length;for(C=0;C<E;C+=1)this.prevViewData[C]=this.itemsData[C];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),E=this.dynamicProperties.length,C=0;C<E;C+=1)this.dynamicProperties[C].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(C,E,I,B,U,V,X){var Y=[].concat(V),K,_e=C.length-1,xe,Z,J=[],Se=[],Te,Ae,Me;for(K=_e;K>=0;K-=1){if(Me=this.searchProcessedElement(C[K]),Me?E[K]=I[Me-1]:C[K]._render=X,C[K].ty==="fl"||C[K].ty==="st"||C[K].ty==="gf"||C[K].ty==="gs"||C[K].ty==="no")Me?E[K].style.closed=!1:E[K]=this.createStyleElement(C[K],U),C[K]._render&&E[K].style.pElem.parentNode!==B&&B.appendChild(E[K].style.pElem),J.push(E[K].style);else if(C[K].ty==="gr"){if(!Me)E[K]=this.createGroupElement(C[K]);else for(Z=E[K].it.length,xe=0;xe<Z;xe+=1)E[K].prevViewData[xe]=E[K].it[xe];this.searchShapes(C[K].it,E[K].it,E[K].prevViewData,E[K].gr,U+1,Y,X),C[K]._render&&E[K].gr.parentNode!==B&&B.appendChild(E[K].gr)}else C[K].ty==="tr"?(Me||(E[K]=this.createTransformElement(C[K],B)),Te=E[K].transform,Y.push(Te)):C[K].ty==="sh"||C[K].ty==="rc"||C[K].ty==="el"||C[K].ty==="sr"?(Me||(E[K]=this.createShapeElement(C[K],Y,U)),this.setElementStyles(E[K])):C[K].ty==="tm"||C[K].ty==="rd"||C[K].ty==="ms"||C[K].ty==="pb"||C[K].ty==="zz"||C[K].ty==="op"?(Me?(Ae=E[K],Ae.closed=!1):(Ae=ShapeModifiers.getModifier(C[K].ty),Ae.init(this,C[K]),E[K]=Ae,this.shapeModifiers.push(Ae)),Se.push(Ae)):C[K].ty==="rp"&&(Me?(Ae=E[K],Ae.closed=!0):(Ae=ShapeModifiers.getModifier(C[K].ty),E[K]=Ae,Ae.init(this,C,K,E),this.shapeModifiers.push(Ae),X=!1),Se.push(Ae));this.addProcessedElement(C[K],K+1)}for(_e=J.length,K=0;K<_e;K+=1)J[K].closed=!0;for(_e=Se.length,K=0;K<_e;K+=1)Se[K].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var C,E=this.stylesList.length;for(C=0;C<E;C+=1)this.stylesList[C].reset();for(this.renderShape(),C=0;C<E;C+=1)(this.stylesList[C]._mdf||this._isFirstFrame)&&(this.stylesList[C].msElem&&(this.stylesList[C].msElem.setAttribute("d",this.stylesList[C].d),this.stylesList[C].d="M0 0"+this.stylesList[C].d),this.stylesList[C].pElem.setAttribute("d",this.stylesList[C].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var C,E=this.animatedContents.length,I;for(C=0;C<E;C+=1)I=this.animatedContents[C],(this._isFirstFrame||I.element._isAnimated)&&I.data!==!0&&I.fn(I.data,I.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(C,E,I,B,U,V){this.o=C,this.sw=E,this.sc=I,this.fc=B,this.m=U,this.p=V,this._mdf={o:!0,sw:!!E,sc:!!I,fc:!!B,m:!0,p:!0}}LetterProps.prototype.update=function(C,E,I,B,U,V){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var X=!1;return this.o!==C&&(this.o=C,this._mdf.o=!0,X=!0),this.sw!==E&&(this.sw=E,this._mdf.sw=!0,X=!0),this.sc!==I&&(this.sc=I,this._mdf.sc=!0,X=!0),this.fc!==B&&(this.fc=B,this._mdf.fc=!0,X=!0),this.m!==U&&(this.m=U,this._mdf.m=!0,X=!0),V.length&&(this.p[0]!==V[0]||this.p[1]!==V[1]||this.p[4]!==V[4]||this.p[5]!==V[5]||this.p[12]!==V[12]||this.p[13]!==V[13])&&(this.p=V,this._mdf.p=!0,X=!0),X};function TextProperty(C,E){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,E.d&&E.d.sid&&(E.d=C.globalData.slotManager.getProp(E.d)),this.data=E,this.elem=C,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(C,E){for(var I in E)Object.prototype.hasOwnProperty.call(E,I)&&(C[I]=E[I]);return C},TextProperty.prototype.setCurrentData=function(C){C.__complete||this.completeTextData(C),this.currentData=C,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(C){this.effectsSequence.push(C),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(C){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!C)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var E=this.currentData,I=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var B,U=this.effectsSequence.length,V=C||this.data.d.k[this.keysIndex].s;for(B=0;B<U;B+=1)I!==this.keysIndex?V=this.effectsSequence[B](V,V.t):V=this.effectsSequence[B](this.currentData,V.t);E!==V&&this.setCurrentData(V),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}},TextProperty.prototype.getKeyframeValue=function(){for(var C=this.data.d.k,E=this.elem.comp.renderedFrame,I=0,B=C.length;I<=B-1&&!(I===B-1||C[I+1].t>E);)I+=1;return this.keysIndex!==I&&(this.keysIndex=I),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(C){for(var E=[],I=0,B=C.length,U,V,X=!1,Y=!1,K="";I<B;)X=Y,Y=!1,U=C.charCodeAt(I),K=C.charAt(I),FontManager.isCombinedCharacter(U)?X=!0:U>=55296&&U<=56319?FontManager.isRegionalFlag(C,I)?K=C.substr(I,14):(V=C.charCodeAt(I+1),V>=56320&&V<=57343&&(FontManager.isModifier(U,V)?(K=C.substr(I,2),X=!0):FontManager.isFlagEmoji(C.substr(I,4))?K=C.substr(I,4):K=C.substr(I,2))):U>56319?(V=C.charCodeAt(I+1),FontManager.isVariationSelector(U)&&(X=!0)):FontManager.isZeroWidthJoiner(U)&&(X=!0,Y=!0),X?(E[E.length-1]+=K,X=!1):E.push(K),I+=K.length;return E},TextProperty.prototype.completeTextData=function(C){C.__complete=!0;var E=this.elem.globalData.fontManager,I=this.data,B=[],U,V,X,Y=0,K,_e=I.m.g,xe=0,Z=0,J=0,Se=[],Te=0,Ae=0,Me,Ee,we=E.getFontByName(C.f),Pe,Ie=0,Fe=getFontProperties(we);C.fWeight=Fe.weight,C.fStyle=Fe.style,C.finalSize=C.s,C.finalText=this.buildFinalText(C.t),V=C.finalText.length,C.finalLineHeight=C.lh;var Oe=C.tr/1e3*C.finalSize,$e;if(C.sz)for(var Le=!0,Ue=C.sz[0],He=C.sz[1],We,je;Le;){je=this.buildFinalText(C.t),We=0,Te=0,V=je.length,Oe=C.tr/1e3*C.finalSize;var Ve=-1;for(U=0;U<V;U+=1)$e=je[U].charCodeAt(0),X=!1,je[U]===" "?Ve=U:($e===13||$e===3)&&(Te=0,X=!0,We+=C.finalLineHeight||C.finalSize*1.2),E.chars?(Pe=E.getCharData(je[U],we.fStyle,we.fFamily),Ie=X?0:Pe.w*C.finalSize/100):Ie=E.measureText(je[U],C.f,C.finalSize),Te+Ie>Ue&&je[U]!==" "?(Ve===-1?V+=1:U=Ve,We+=C.finalLineHeight||C.finalSize*1.2,je.splice(U,Ve===U?1:0,"\r"),Ve=-1,Te=0):(Te+=Ie,Te+=Oe);We+=we.ascent*C.finalSize/100,this.canResize&&C.finalSize>this.minimumFontSize&&He<We?(C.finalSize-=1,C.finalLineHeight=C.finalSize*C.lh/C.s):(C.finalText=je,V=C.finalText.length,Le=!1)}Te=-Oe,Ie=0;var ze=0,Xe;for(U=0;U<V;U+=1)if(X=!1,Xe=C.finalText[U],$e=Xe.charCodeAt(0),$e===13||$e===3?(ze=0,Se.push(Te),Ae=Te>Ae?Te:Ae,Te=-2*Oe,K="",X=!0,J+=1):K=Xe,E.chars?(Pe=E.getCharData(Xe,we.fStyle,E.getFontByName(C.f).fFamily),Ie=X?0:Pe.w*C.finalSize/100):Ie=E.measureText(K,C.f,C.finalSize),Xe===" "?ze+=Ie+Oe:(Te+=Ie+Oe+ze,ze=0),B.push({l:Ie,an:Ie,add:xe,n:X,anIndexes:[],val:K,line:J,animatorJustifyOffset:0}),_e==2){if(xe+=Ie,K===""||K===" "||U===V-1){for((K===""||K===" ")&&(xe-=Ie);Z<=U;)B[Z].an=xe,B[Z].ind=Y,B[Z].extra=Ie,Z+=1;Y+=1,xe=0}}else if(_e==3){if(xe+=Ie,K===""||U===V-1){for(K===""&&(xe-=Ie);Z<=U;)B[Z].an=xe,B[Z].ind=Y,B[Z].extra=Ie,Z+=1;xe=0,Y+=1}}else B[Y].ind=Y,B[Y].extra=0,Y+=1;if(C.l=B,Ae=Te>Ae?Te:Ae,Se.push(Te),C.sz)C.boxWidth=C.sz[0],C.justifyOffset=0;else switch(C.boxWidth=Ae,C.j){case 1:C.justifyOffset=-C.boxWidth;break;case 2:C.justifyOffset=-C.boxWidth/2;break;default:C.justifyOffset=0}C.lineWidths=Se;var De=I.a,Be,Re;Ee=De.length;var ke,Ge,Ne=[];for(Me=0;Me<Ee;Me+=1){for(Be=De[Me],Be.a.sc&&(C.strokeColorAnim=!0),Be.a.sw&&(C.strokeWidthAnim=!0),(Be.a.fc||Be.a.fh||Be.a.fs||Be.a.fb)&&(C.fillColorAnim=!0),Ge=0,ke=Be.s.b,U=0;U<V;U+=1)Re=B[U],Re.anIndexes[Me]=Ge,(ke==1&&Re.val!==""||ke==2&&Re.val!==""&&Re.val!==" "||ke==3&&(Re.n||Re.val==" "||U==V-1)||ke==4&&(Re.n||U==V-1))&&(Be.s.rn===1&&Ne.push(Ge),Ge+=1);I.a[Me].s.totalChars=Ge;var qe=-1,Ye;if(Be.s.rn===1)for(U=0;U<V;U+=1)Re=B[U],qe!=Re.anIndexes[Me]&&(qe=Re.anIndexes[Me],Ye=Ne.splice(Math.floor(Math.random()*Ne.length),1)[0]),Re.anIndexes[Me]=Ye}C.yOffset=C.finalLineHeight||C.finalSize*1.2,C.ls=C.ls||0,C.ascent=we.ascent*C.finalSize/100},TextProperty.prototype.updateDocumentData=function(C,E){E=E===void 0?this.keysIndex:E;var I=this.copyData({},this.data.d.k[E].s);I=this.copyData(I,C),this.data.d.k[E].s=I,this.recalculate(E),this.setCurrentData(I),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(C){var E=this.data.d.k[C].s;E.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(E)},TextProperty.prototype.canResizeFont=function(C){this.canResize=C,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(C){this.minimumFontSize=Math.floor(C)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var C=Math.max,E=Math.min,I=Math.floor;function B(V,X){this._currentTextLength=-1,this.k=!1,this.data=X,this.elem=V,this.comp=V.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(V),this.s=PropertyFactory.getProp(V,X.s||{k:0},0,0,this),"e"in X?this.e=PropertyFactory.getProp(V,X.e,0,0,this):this.e={v:100},this.o=PropertyFactory.getProp(V,X.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(V,X.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(V,X.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(V,X.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(V,X.a,0,.01,this),this.dynamicProperties.length||this.getValue()}B.prototype={getMult:function(X){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var Y=0,K=0,_e=1,xe=1;this.ne.v>0?Y=this.ne.v/100:K=-this.ne.v/100,this.xe.v>0?_e=1-this.xe.v/100:xe=1+this.xe.v/100;var Z=BezierFactory.getBezierEasing(Y,K,_e,xe).get,J=0,Se=this.finalS,Te=this.finalE,Ae=this.data.sh;if(Ae===2)Te===Se?J=X>=Te?1:0:J=C(0,E(.5/(Te-Se)+(X-Se)/(Te-Se),1)),J=Z(J);else if(Ae===3)Te===Se?J=X>=Te?0:1:J=1-C(0,E(.5/(Te-Se)+(X-Se)/(Te-Se),1)),J=Z(J);else if(Ae===4)Te===Se?J=0:(J=C(0,E(.5/(Te-Se)+(X-Se)/(Te-Se),1)),J<.5?J*=2:J=1-2*(J-.5)),J=Z(J);else if(Ae===5){if(Te===Se)J=0;else{var Me=Te-Se;X=E(C(0,X+.5-Se),Te-Se);var Ee=-Me/2+X,we=Me/2;J=Math.sqrt(1-Ee*Ee/(we*we))}J=Z(J)}else Ae===6?(Te===Se?J=0:(X=E(C(0,X+.5-Se),Te-Se),J=(1+Math.cos(Math.PI+Math.PI*2*X/(Te-Se)))/2),J=Z(J)):(X>=I(Se)&&(X-Se<0?J=C(0,E(E(Te,1)-(Se-X),1)):J=C(0,E(Te-X,1))),J=Z(J));if(this.sm.v!==100){var Pe=this.sm.v*.01;Pe===0&&(Pe=1e-8);var Ie=.5-Pe*.5;J<Ie?J=0:(J=(J-Ie)/Pe,J>1&&(J=1))}return J*this.a.v},getValue:function(X){this.iterateDynamicProperties(),this._mdf=X||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,X&&this.data.r===2&&(this.e.v=this._currentTextLength);var Y=this.data.r===2?1:100/this.data.totalChars,K=this.o.v/Y,_e=this.s.v/Y+K,xe=this.e.v/Y+K;if(_e>xe){var Z=_e;_e=xe,xe=Z}this.finalS=_e,this.finalE=xe}},extendPrototype([DynamicPropertyContainer],B);function U(V,X,Y){return new B(V,X)}return{getTextSelectorProp:U}}();function TextAnimatorDataProperty(C,E,I){var B={propType:!1},U=PropertyFactory.getProp,V=E.a;this.a={r:V.r?U(C,V.r,0,degToRads,I):B,rx:V.rx?U(C,V.rx,0,degToRads,I):B,ry:V.ry?U(C,V.ry,0,degToRads,I):B,sk:V.sk?U(C,V.sk,0,degToRads,I):B,sa:V.sa?U(C,V.sa,0,degToRads,I):B,s:V.s?U(C,V.s,1,.01,I):B,a:V.a?U(C,V.a,1,0,I):B,o:V.o?U(C,V.o,0,.01,I):B,p:V.p?U(C,V.p,1,0,I):B,sw:V.sw?U(C,V.sw,0,0,I):B,sc:V.sc?U(C,V.sc,1,0,I):B,fc:V.fc?U(C,V.fc,1,0,I):B,fh:V.fh?U(C,V.fh,0,0,I):B,fs:V.fs?U(C,V.fs,0,.01,I):B,fb:V.fb?U(C,V.fb,0,.01,I):B,t:V.t?U(C,V.t,0,0,I):B},this.s=TextSelectorProp.getTextSelectorProp(C,E.s,I),this.s.t=E.s.t}function TextAnimatorProperty(C,E,I){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=C,this._renderType=E,this._elem=I,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(I)}TextAnimatorProperty.prototype.searchProperties=function(){var C,E=this._textData.a.length,I,B=PropertyFactory.getProp;for(C=0;C<E;C+=1)I=this._textData.a[C],this._animatorsData[C]=new TextAnimatorDataProperty(this._elem,I,this);this._textData.p&&"m"in this._textData.p?(this._pathData={a:B(this._elem,this._textData.p.a,0,0,this),f:B(this._elem,this._textData.p.f,0,0,this),l:B(this._elem,this._textData.p.l,0,0,this),r:B(this._elem,this._textData.p.r,0,0,this),p:B(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=B(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(C,E){if(this.lettersChangedFlag=E,!(!this._mdf&&!this._isFirstFrame&&!E&&(!this._hasMaskedPath||!this._pathData.m._mdf))){this._isFirstFrame=!1;var I=this._moreOptions.alignment.v,B=this._animatorsData,U=this._textData,V=this.mHelper,X=this._renderType,Y=this.renderedLetters.length,K,_e,xe,Z,J=C.l,Se,Te,Ae,Me,Ee,we,Pe,Ie,Fe,Oe,$e,Le,Ue,He,We;if(this._hasMaskedPath){if(We=this._pathData.m,!this._pathData.n||this._pathData._mdf){var je=We.v;this._pathData.r.v&&(je=je.reverse()),Se={tLength:0,segments:[]},Z=je._length-1;var Ve;for(Le=0,xe=0;xe<Z;xe+=1)Ve=bez.buildBezierData(je.v[xe],je.v[xe+1],[je.o[xe][0]-je.v[xe][0],je.o[xe][1]-je.v[xe][1]],[je.i[xe+1][0]-je.v[xe+1][0],je.i[xe+1][1]-je.v[xe+1][1]]),Se.tLength+=Ve.segmentLength,Se.segments.push(Ve),Le+=Ve.segmentLength;xe=Z,We.v.c&&(Ve=bez.buildBezierData(je.v[xe],je.v[0],[je.o[xe][0]-je.v[xe][0],je.o[xe][1]-je.v[xe][1]],[je.i[0][0]-je.v[0][0],je.i[0][1]-je.v[0][1]]),Se.tLength+=Ve.segmentLength,Se.segments.push(Ve),Le+=Ve.segmentLength),this._pathData.pi=Se}if(Se=this._pathData.pi,Te=this._pathData.f.v,Pe=0,we=1,Me=0,Ee=!0,Oe=Se.segments,Te<0&&We.v.c)for(Se.tLength<Math.abs(Te)&&(Te=-Math.abs(Te)%Se.tLength),Pe=Oe.length-1,Fe=Oe[Pe].points,we=Fe.length-1;Te<0;)Te+=Fe[we].partialLength,we-=1,we<0&&(Pe-=1,Fe=Oe[Pe].points,we=Fe.length-1);Fe=Oe[Pe].points,Ie=Fe[we-1],Ae=Fe[we],$e=Ae.partialLength}Z=J.length,K=0,_e=0;var ze=C.finalSize*1.2*.714,Xe=!0,De,Be,Re,ke,Ge;ke=B.length;var Ne,qe=-1,Ye,Ke,rt,it=Te,Qe=Pe,st=we,at=-1,Ze,et,nt,tt,Je,ot,lt,ht,ct="",ft=this.defaultPropsArray,ut;if(C.j===2||C.j===1){var dt=0,gt=0,vt=C.j===2?-.5:-1,pt=0,yt=!0;for(xe=0;xe<Z;xe+=1)if(J[xe].n){for(dt&&(dt+=gt);pt<xe;)J[pt].animatorJustifyOffset=dt,pt+=1;dt=0,yt=!0}else{for(Re=0;Re<ke;Re+=1)De=B[Re].a,De.t.propType&&(yt&&C.j===2&&(gt+=De.t.v*vt),Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),Ne.length?dt+=De.t.v*Ne[0]*vt:dt+=De.t.v*Ne*vt);yt=!1}for(dt&&(dt+=gt);pt<xe;)J[pt].animatorJustifyOffset=dt,pt+=1}for(xe=0;xe<Z;xe+=1){if(V.reset(),Ze=1,J[xe].n)K=0,_e+=C.yOffset,_e+=Xe?1:0,Te=it,Xe=!1,this._hasMaskedPath&&(Pe=Qe,we=st,Fe=Oe[Pe].points,Ie=Fe[we-1],Ae=Fe[we],$e=Ae.partialLength,Me=0),ct="",ht="",ot="",ut="",ft=this.defaultPropsArray;else{if(this._hasMaskedPath){if(at!==J[xe].line){switch(C.j){case 1:Te+=Le-C.lineWidths[J[xe].line];break;case 2:Te+=(Le-C.lineWidths[J[xe].line])/2;break}at=J[xe].line}qe!==J[xe].ind&&(J[qe]&&(Te+=J[qe].extra),Te+=J[xe].an/2,qe=J[xe].ind),Te+=I[0]*J[xe].an*.005;var mt=0;for(Re=0;Re<ke;Re+=1)De=B[Re].a,De.p.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),Ne.length?mt+=De.p.v[0]*Ne[0]:mt+=De.p.v[0]*Ne),De.a.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),Ne.length?mt+=De.a.v[0]*Ne[0]:mt+=De.a.v[0]*Ne);for(Ee=!0,this._pathData.a.v&&(Te=J[0].an*.5+(Le-this._pathData.f.v-J[0].an*.5-J[J.length-1].an*.5)*qe/(Z-1),Te+=this._pathData.f.v);Ee;)Me+$e>=Te+mt||!Fe?(Ue=(Te+mt-Me)/Ae.partialLength,Ke=Ie.point[0]+(Ae.point[0]-Ie.point[0])*Ue,rt=Ie.point[1]+(Ae.point[1]-Ie.point[1])*Ue,V.translate(-I[0]*J[xe].an*.005,-(I[1]*ze)*.01),Ee=!1):Fe&&(Me+=Ae.partialLength,we+=1,we>=Fe.length&&(we=0,Pe+=1,Oe[Pe]?Fe=Oe[Pe].points:We.v.c?(we=0,Pe=0,Fe=Oe[Pe].points):(Me-=Ae.partialLength,Fe=null)),Fe&&(Ie=Ae,Ae=Fe[we],$e=Ae.partialLength));Ye=J[xe].an/2-J[xe].add,V.translate(-Ye,0,0)}else Ye=J[xe].an/2-J[xe].add,V.translate(-Ye,0,0),V.translate(-I[0]*J[xe].an*.005,-I[1]*ze*.01,0);for(Re=0;Re<ke;Re+=1)De=B[Re].a,De.t.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),(K!==0||C.j!==0)&&(this._hasMaskedPath?Ne.length?Te+=De.t.v*Ne[0]:Te+=De.t.v*Ne:Ne.length?K+=De.t.v*Ne[0]:K+=De.t.v*Ne));for(C.strokeWidthAnim&&(nt=C.sw||0),C.strokeColorAnim&&(C.sc?et=[C.sc[0],C.sc[1],C.sc[2]]:et=[0,0,0]),C.fillColorAnim&&C.fc&&(tt=[C.fc[0],C.fc[1],C.fc[2]]),Re=0;Re<ke;Re+=1)De=B[Re].a,De.a.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),Ne.length?V.translate(-De.a.v[0]*Ne[0],-De.a.v[1]*Ne[1],De.a.v[2]*Ne[2]):V.translate(-De.a.v[0]*Ne,-De.a.v[1]*Ne,De.a.v[2]*Ne));for(Re=0;Re<ke;Re+=1)De=B[Re].a,De.s.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),Ne.length?V.scale(1+(De.s.v[0]-1)*Ne[0],1+(De.s.v[1]-1)*Ne[1],1):V.scale(1+(De.s.v[0]-1)*Ne,1+(De.s.v[1]-1)*Ne,1));for(Re=0;Re<ke;Re+=1){if(De=B[Re].a,Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),De.sk.propType&&(Ne.length?V.skewFromAxis(-De.sk.v*Ne[0],De.sa.v*Ne[1]):V.skewFromAxis(-De.sk.v*Ne,De.sa.v*Ne)),De.r.propType&&(Ne.length?V.rotateZ(-De.r.v*Ne[2]):V.rotateZ(-De.r.v*Ne)),De.ry.propType&&(Ne.length?V.rotateY(De.ry.v*Ne[1]):V.rotateY(De.ry.v*Ne)),De.rx.propType&&(Ne.length?V.rotateX(De.rx.v*Ne[0]):V.rotateX(De.rx.v*Ne)),De.o.propType&&(Ne.length?Ze+=(De.o.v*Ne[0]-Ze)*Ne[0]:Ze+=(De.o.v*Ne-Ze)*Ne),C.strokeWidthAnim&&De.sw.propType&&(Ne.length?nt+=De.sw.v*Ne[0]:nt+=De.sw.v*Ne),C.strokeColorAnim&&De.sc.propType)for(Je=0;Je<3;Je+=1)Ne.length?et[Je]+=(De.sc.v[Je]-et[Je])*Ne[0]:et[Je]+=(De.sc.v[Je]-et[Je])*Ne;if(C.fillColorAnim&&C.fc){if(De.fc.propType)for(Je=0;Je<3;Je+=1)Ne.length?tt[Je]+=(De.fc.v[Je]-tt[Je])*Ne[0]:tt[Je]+=(De.fc.v[Je]-tt[Je])*Ne;De.fh.propType&&(Ne.length?tt=addHueToRGB(tt,De.fh.v*Ne[0]):tt=addHueToRGB(tt,De.fh.v*Ne)),De.fs.propType&&(Ne.length?tt=addSaturationToRGB(tt,De.fs.v*Ne[0]):tt=addSaturationToRGB(tt,De.fs.v*Ne)),De.fb.propType&&(Ne.length?tt=addBrightnessToRGB(tt,De.fb.v*Ne[0]):tt=addBrightnessToRGB(tt,De.fb.v*Ne))}}for(Re=0;Re<ke;Re+=1)De=B[Re].a,De.p.propType&&(Be=B[Re].s,Ne=Be.getMult(J[xe].anIndexes[Re],U.a[Re].s.totalChars),this._hasMaskedPath?Ne.length?V.translate(0,De.p.v[1]*Ne[0],-De.p.v[2]*Ne[1]):V.translate(0,De.p.v[1]*Ne,-De.p.v[2]*Ne):Ne.length?V.translate(De.p.v[0]*Ne[0],De.p.v[1]*Ne[1],-De.p.v[2]*Ne[2]):V.translate(De.p.v[0]*Ne,De.p.v[1]*Ne,-De.p.v[2]*Ne));if(C.strokeWidthAnim&&(ot=nt<0?0:nt),C.strokeColorAnim&&(lt="rgb("+Math.round(et[0]*255)+","+Math.round(et[1]*255)+","+Math.round(et[2]*255)+")"),C.fillColorAnim&&C.fc&&(ht="rgb("+Math.round(tt[0]*255)+","+Math.round(tt[1]*255)+","+Math.round(tt[2]*255)+")"),this._hasMaskedPath){if(V.translate(0,-C.ls),V.translate(0,I[1]*ze*.01+_e,0),this._pathData.p.v){He=(Ae.point[1]-Ie.point[1])/(Ae.point[0]-Ie.point[0]);var _t=Math.atan(He)*180/Math.PI;Ae.point[0]<Ie.point[0]&&(_t+=180),V.rotate(-_t*Math.PI/180)}V.translate(Ke,rt,0),Te-=I[0]*J[xe].an*.005,J[xe+1]&&qe!==J[xe+1].ind&&(Te+=J[xe].an/2,Te+=C.tr*.001*C.finalSize)}else{switch(V.translate(K,_e,0),C.ps&&V.translate(C.ps[0],C.ps[1]+C.ascent,0),C.j){case 1:V.translate(J[xe].animatorJustifyOffset+C.justifyOffset+(C.boxWidth-C.lineWidths[J[xe].line]),0,0);break;case 2:V.translate(J[xe].animatorJustifyOffset+C.justifyOffset+(C.boxWidth-C.lineWidths[J[xe].line])/2,0,0);break}V.translate(0,-C.ls),V.translate(Ye,0,0),V.translate(I[0]*J[xe].an*.005,I[1]*ze*.01,0),K+=J[xe].l+C.tr*.001*C.finalSize}X==="html"?ct=V.toCSS():X==="svg"?ct=V.to2dCSS():ft=[V.props[0],V.props[1],V.props[2],V.props[3],V.props[4],V.props[5],V.props[6],V.props[7],V.props[8],V.props[9],V.props[10],V.props[11],V.props[12],V.props[13],V.props[14],V.props[15]],ut=Ze}Y<=xe?(Ge=new LetterProps(ut,ot,lt,ht,ct,ft),this.renderedLetters.push(Ge),Y+=1,this.lettersChangedFlag=!0):(Ge=this.renderedLetters[xe],this.lettersChangedFlag=Ge.update(ut,ot,lt,ht,ct,ft)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(C,E,I){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(C,E,I),this.textProperty=new TextProperty(this,C.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(C.t,this.renderType,this),this.initTransform(C,E,I),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(C){this._mdf=!1,this.prepareRenderableFrame(C),this.prepareProperties(C,this.isInRange)},ITextElement.prototype.createPathShape=function(C,E){var I,B=E.length,U,V="";for(I=0;I<B;I+=1)E[I].ty==="sh"&&(U=E[I].ks.k,V+=buildShapeString(U,U.i.length,!0,C));return V},ITextElement.prototype.updateDocumentData=function(C,E){this.textProperty.updateDocumentData(C,E)},ITextElement.prototype.canResizeFont=function(C){this.textProperty.canResizeFont(C)},ITextElement.prototype.setMinimumFontSize=function(C){this.textProperty.setMinimumFontSize(C)},ITextElement.prototype.applyTextPropertiesToMatrix=function(C,E,I,B,U){switch(C.ps&&E.translate(C.ps[0],C.ps[1]+C.ascent,0),E.translate(0,-C.ls,0),C.j){case 1:E.translate(C.justifyOffset+(C.boxWidth-C.lineWidths[I]),0,0);break;case 2:E.translate(C.justifyOffset+(C.boxWidth-C.lineWidths[I])/2,0,0);break}E.translate(B,U,0)},ITextElement.prototype.buildColor=function(C){return"rgb("+Math.round(C[0]*255)+","+Math.round(C[1]*255)+","+Math.round(C[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)};var emptyShapeData={shapes:[]};function SVGTextLottieElement(C,E,I){this.textSpans=[],this.renderType="svg",this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(C){for(var E=0,I=C.length,B=[],U="";E<I;)C[E]===String.fromCharCode(13)||C[E]===String.fromCharCode(3)?(B.push(U),U=""):U+=C[E],E+=1;return B.push(U),B},SVGTextLottieElement.prototype.buildShapeData=function(C,E){if(C.shapes&&C.shapes.length){var I=C.shapes[0];if(I.it){var B=I.it[I.it.length-1];B.s&&(B.s.k[0]=E,B.s.k[1]=E)}}return C},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var C,E,I=this.textProperty.currentData;this.renderedLetters=createSizedArray(I?I.l.length:0),I.fc?this.layerElement.setAttribute("fill",this.buildColor(I.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),I.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(I.sc)),this.layerElement.setAttribute("stroke-width",I.sw)),this.layerElement.setAttribute("font-size",I.finalSize);var B=this.globalData.fontManager.getFontByName(I.f);if(B.fClass)this.layerElement.setAttribute("class",B.fClass);else{this.layerElement.setAttribute("font-family",B.fFamily);var U=I.fWeight,V=I.fStyle;this.layerElement.setAttribute("font-style",V),this.layerElement.setAttribute("font-weight",U)}this.layerElement.setAttribute("aria-label",I.t);var X=I.l||[],Y=!!this.globalData.fontManager.chars;E=X.length;var K,_e=this.mHelper,xe="",Z=this.data.singleShape,J=0,Se=0,Te=!0,Ae=I.tr*.001*I.finalSize;if(Z&&!Y&&!I.sz){var Me=this.textContainer,Ee="start";switch(I.j){case 1:Ee="end";break;case 2:Ee="middle";break;default:Ee="start";break}Me.setAttribute("text-anchor",Ee),Me.setAttribute("letter-spacing",Ae);var we=this.buildTextContents(I.finalText);for(E=we.length,Se=I.ps?I.ps[1]+I.ascent:0,C=0;C<E;C+=1)K=this.textSpans[C].span||createNS("tspan"),K.textContent=we[C],K.setAttribute("x",0),K.setAttribute("y",Se),K.style.display="inherit",Me.appendChild(K),this.textSpans[C]||(this.textSpans[C]={span:null,glyph:null}),this.textSpans[C].span=K,Se+=I.finalLineHeight;this.layerElement.appendChild(Me)}else{var Pe=this.textSpans.length,Ie;for(C=0;C<E;C+=1){if(this.textSpans[C]||(this.textSpans[C]={span:null,childSpan:null,glyph:null}),!Y||!Z||C===0){if(K=Pe>C?this.textSpans[C].span:createNS(Y?"g":"text"),Pe<=C){if(K.setAttribute("stroke-linecap","butt"),K.setAttribute("stroke-linejoin","round"),K.setAttribute("stroke-miterlimit","4"),this.textSpans[C].span=K,Y){var Fe=createNS("g");K.appendChild(Fe),this.textSpans[C].childSpan=Fe}this.textSpans[C].span=K,this.layerElement.appendChild(K)}K.style.display="inherit"}if(_e.reset(),Z&&(X[C].n&&(J=-Ae,Se+=I.yOffset,Se+=Te?1:0,Te=!1),this.applyTextPropertiesToMatrix(I,_e,X[C].line,J,Se),J+=X[C].l||0,J+=Ae),Y){Ie=this.globalData.fontManager.getCharData(I.finalText[C],B.fStyle,this.globalData.fontManager.getFontByName(I.f).fFamily);var Oe;if(Ie.t===1)Oe=new SVGCompElement(Ie.data,this.globalData,this);else{var $e=emptyShapeData;Ie.data&&Ie.data.shapes&&($e=this.buildShapeData(Ie.data,I.finalSize)),Oe=new SVGShapeElement($e,this.globalData,this)}if(this.textSpans[C].glyph){var Le=this.textSpans[C].glyph;this.textSpans[C].childSpan.removeChild(Le.layerElement),Le.destroy()}this.textSpans[C].glyph=Oe,Oe._debug=!0,Oe.prepareFrame(0),Oe.renderFrame(),this.textSpans[C].childSpan.appendChild(Oe.layerElement),Ie.t===1&&this.textSpans[C].childSpan.setAttribute("transform","scale("+I.finalSize/100+","+I.finalSize/100+")")}else Z&&K.setAttribute("transform","translate("+_e.props[12]+","+_e.props[13]+")"),K.textContent=X[C].val,K.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}Z&&K&&K.setAttribute("d",xe)}for(;C<this.textSpans.length;)this.textSpans[C].span.style.display="none",C+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var C=this.layerElement.getBBox();this.bbox={top:C.y,left:C.x,width:C.width,height:C.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var C,E=this.textSpans.length,I;for(this.renderedFrame=this.comp.renderedFrame,C=0;C<E;C+=1)I=this.textSpans[C].glyph,I&&(I.prepareFrame(this.comp.renderedFrame-this.data.st),I._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),(!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){this._sizeChanged=!0;var C,E,I=this.textAnimator.renderedLetters,B=this.textProperty.currentData.l;E=B.length;var U,V,X;for(C=0;C<E;C+=1)B[C].n||(U=I[C],V=this.textSpans[C].span,X=this.textSpans[C].glyph,X&&X.renderFrame(),U._mdf.m&&V.setAttribute("transform",U.m),U._mdf.o&&V.setAttribute("opacity",U.o),U._mdf.sw&&V.setAttribute("stroke-width",U.sw),U._mdf.sc&&V.setAttribute("stroke",U.sc),U._mdf.fc&&V.setAttribute("fill",U.fc))}};function ISolidElement(C,E,I){this.initElement(C,E,I)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var C=createNS("rect");C.setAttribute("width",this.data.sw),C.setAttribute("height",this.data.sh),C.setAttribute("fill",this.data.sc),this.layerElement.appendChild(C)};function NullElement(C,E,I){this.initFrame(),this.initBaseData(C,E,I),this.initFrame(),this.initTransform(C,E,I),this.initHierarchy()}NullElement.prototype.prepareFrame=function(C){this.prepareProperties(C,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(C){return new NullElement(C,this.globalData,this)},SVGRendererBase.prototype.createShape=function(C){return new SVGShapeElement(C,this.globalData,this)},SVGRendererBase.prototype.createText=function(C){return new SVGTextLottieElement(C,this.globalData,this)},SVGRendererBase.prototype.createImage=function(C){return new IImageElement(C,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(C){return new ISolidElement(C,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(C){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+C.w+" "+C.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",C.w),this.svgElement.setAttribute("height",C.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.width&&this.svgElement.setAttribute("width",this.renderConfig.width),this.renderConfig.height&&this.svgElement.setAttribute("height",this.renderConfig.height),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),this.renderConfig.focusable!==void 0&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var E=this.globalData.defs;this.setupGlobalData(C,E),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=C;var I=createNS("clipPath"),B=createNS("rect");B.setAttribute("width",C.w),B.setAttribute("height",C.h),B.setAttribute("x",0),B.setAttribute("y",0);var U=createElementID();I.setAttribute("id",U),I.appendChild(B),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+U+")"),E.appendChild(I),this.layers=C.layers,this.elements=createSizedArray(C.layers.length)},SVGRendererBase.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var C,E=this.layers?this.layers.length:0;for(C=0;C<E;C+=1)this.elements[C]&&this.elements[C].destroy&&this.elements[C].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(C){var E=0,I=this.layers.length;for(E=0;E<I;E+=1)if(this.layers[E].ind===C)return E;return-1},SVGRendererBase.prototype.buildItem=function(C){var E=this.elements;if(!(E[C]||this.layers[C].ty===99)){E[C]=!0;var I=this.createItem(this.layers[C]);if(E[C]=I,getExpressionsPlugin()&&(this.layers[C].ty===0&&this.globalData.projectInterface.registerComposition(I),I.initExpressions()),this.appendElementInPos(I,C),this.layers[C].tt){var B="tp"in this.layers[C]?this.findIndexByInd(this.layers[C].tp):C-1;if(B===-1)return;if(!this.elements[B]||this.elements[B]===!0)this.buildItem(B),this.addPendingElement(I);else{var U=E[B],V=U.getMatte(this.layers[C].tt);I.setMatte(V)}}}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var C=this.pendingElements.pop();if(C.checkParenting(),C.data.tt)for(var E=0,I=this.elements.length;E<I;){if(this.elements[E]===C){var B="tp"in C.data?this.findIndexByInd(C.data.tp):E-1,U=this.elements[B],V=U.getMatte(this.layers[E].tt);C.setMatte(V);break}E+=1}}},SVGRendererBase.prototype.renderFrame=function(C){if(!(this.renderedFrame===C||this.destroyed)){C===null?C=this.renderedFrame:this.renderedFrame=C,this.globalData.frameNum=C,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=C,this.globalData._mdf=!1;var E,I=this.layers.length;for(this.completeLayers||this.checkLayers(C),E=I-1;E>=0;E-=1)(this.completeLayers||this.elements[E])&&this.elements[E].prepareFrame(C-this.layers[E].st);if(this.globalData._mdf)for(E=0;E<I;E+=1)(this.completeLayers||this.elements[E])&&this.elements[E].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(C,E){var I=C.getBaseElement();if(I){for(var B=0,U;B<E;)this.elements[B]&&this.elements[B]!==!0&&this.elements[B].getBaseElement()&&(U=this.elements[B].getBaseElement()),B+=1;U?this.layerElement.insertBefore(I,U):this.layerElement.appendChild(I)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(C,E,I){this.initFrame(),this.initBaseData(C,E,I),this.initTransform(C,E,I),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),(this.data.xt||!E.progressiveLoad)&&this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(C){if(this._mdf=!1,this.prepareRenderableFrame(C),this.prepareProperties(C,this.isInRange),!(!this.isInRange&&!this.data.xt)){if(this.tm._placeholder)this.renderedFrame=C/this.data.sr;else{var E=this.tm.v;E===this.data.op&&(E=this.data.op-1),this.renderedFrame=E}var I,B=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),I=B-1;I>=0;I-=1)(this.completeLayers||this.elements[I])&&(this.elements[I].prepareFrame(this.renderedFrame-this.layers[I].st),this.elements[I]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var C,E=this.layers.length;for(C=0;C<E;C+=1)(this.completeLayers||this.elements[C])&&this.elements[C].renderFrame()},ICompElement.prototype.setElements=function(C){this.elements=C},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var C,E=this.layers.length;for(C=0;C<E;C+=1)this.elements[C]&&this.elements[C].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(C,E,I){this.layers=C.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(C,E,I),this.tm=C.tm?PropertyFactory.getProp(this,C.tm,0,E.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(C){return new SVGCompElement(C,this.globalData,this)};function SVGRenderer(C,E){this.animationItem=C,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var I="";if(E&&E.title){var B=createNS("title"),U=createElementID();B.setAttribute("id",U),B.textContent=E.title,this.svgElement.appendChild(B),I+=U}if(E&&E.description){var V=createNS("desc"),X=createElementID();V.setAttribute("id",X),V.textContent=E.description,this.svgElement.appendChild(V),I+=" "+X}I&&this.svgElement.setAttribute("aria-labelledby",I);var Y=createNS("defs");this.svgElement.appendChild(Y);var K=createNS("g");this.svgElement.appendChild(K),this.layerElement=K,this.renderConfig={preserveAspectRatio:E&&E.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:E&&E.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:E&&E.contentVisibility||"visible",progressiveLoad:E&&E.progressiveLoad||!1,hideOnTransparent:!(E&&E.hideOnTransparent===!1),viewBoxOnly:E&&E.viewBoxOnly||!1,viewBoxSize:E&&E.viewBoxSize||!1,className:E&&E.className||"",id:E&&E.id||"",focusable:E&&E.focusable,filterSize:{width:E&&E.filterSize&&E.filterSize.width||"100%",height:E&&E.filterSize&&E.filterSize.height||"100%",x:E&&E.filterSize&&E.filterSize.x||"0%",y:E&&E.filterSize&&E.filterSize.y||"0%"},width:E&&E.width,height:E&&E.height,runExpressions:!E||E.runExpressions===void 0||E.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:Y,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(C){return new SVGCompElement(C,this.globalData,this)};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function(E){var I,B=E.length,U="_";for(I=0;I<B;I+=1)U+=E[I].transform.key+"_";var V=this.sequences[U];return V||(V={transforms:[].concat(E),finalTransform:new Matrix,_mdf:!1},this.sequences[U]=V,this.sequenceList.push(V)),V},processSequence:function(E,I){for(var B=0,U=E.transforms.length,V=I;B<U&&!I;){if(E.transforms[B].transform.mProps._mdf){V=!0;break}B+=1}if(V)for(E.finalTransform.reset(),B=U-1;B>=0;B-=1)E.finalTransform.multiply(E.transforms[B].transform.mProps.v);E._mdf=V},processSequences:function(E){var I,B=this.sequenceList.length;for(I=0;I<B;I+=1)this.processSequence(this.sequenceList[I],E)},getNewKey:function(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function(){var E="__lottie_element_luma_buffer",I=null,B=null,U=null;function V(){var K=createNS("svg"),_e=createNS("filter"),xe=createNS("feColorMatrix");return _e.setAttribute("id",E),xe.setAttribute("type","matrix"),xe.setAttribute("color-interpolation-filters","sRGB"),xe.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),_e.appendChild(xe),K.appendChild(_e),K.setAttribute("id",E+"_svg"),featureSupport.svgLumaHidden&&(K.style.display="none"),K}function X(){I||(U=V(),document.body.appendChild(U),I=createTag("canvas"),B=I.getContext("2d"),B.filter="url(#"+E+")",B.fillStyle="rgba(0,0,0,0)",B.fillRect(0,0,1,1))}function Y(K){return I||X(),I.width=K.width,I.height=K.height,B.filter="url(#"+E+")",I}return{load:X,get:Y}};function createCanvas(C,E){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(C,E);var I=createTag("canvas");return I.width=C,I.height=E,I}var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas}}(),registeredEffects={};function CVEffects(C){var E,I=C.data.ef?C.data.ef.length:0;this.filters=[];var B;for(E=0;E<I;E+=1){B=null;var U=C.data.ef[E].ty;if(registeredEffects[U]){var V=registeredEffects[U].effect;B=new V(C.effectsManager.effectElements[E],C)}B&&this.filters.push(B)}this.filters.length&&C.addRenderableComponent(this)}CVEffects.prototype.renderFrame=function(C){var E,I=this.filters.length;for(E=0;E<I;E+=1)this.filters[E].renderFrame(C)},CVEffects.prototype.getEffects=function(C){var E,I=this.filters.length,B=[];for(E=0;E<I;E+=1)this.filters[E].type===C&&B.push(this.filters[E]);return B};function registerEffect(C,E){registeredEffects[C]={effect:E}}function CVMaskElement(C,E){this.data=C,this.element=E,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var I,B=this.masksProperties.length,U=!1;for(I=0;I<B;I+=1)this.masksProperties[I].mode!=="n"&&(U=!0),this.viewData[I]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[I],3);this.hasMasks=U,U&&this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(this.hasMasks){var C=this.element.finalTransform.mat,E=this.element.canvasContext,I,B=this.masksProperties.length,U,V,X;for(E.beginPath(),I=0;I<B;I+=1)if(this.masksProperties[I].mode!=="n"){this.masksProperties[I].inv&&(E.moveTo(0,0),E.lineTo(this.element.globalData.compSize.w,0),E.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),E.lineTo(0,this.element.globalData.compSize.h),E.lineTo(0,0)),X=this.viewData[I].v,U=C.applyToPointArray(X.v[0][0],X.v[0][1],0),E.moveTo(U[0],U[1]);var Y,K=X._length;for(Y=1;Y<K;Y+=1)V=C.applyToTriplePoints(X.o[Y-1],X.i[Y],X.v[Y]),E.bezierCurveTo(V[0],V[1],V[2],V[3],V[4],V[5]);V=C.applyToTriplePoints(X.o[Y-1],X.i[0],X.v[0]),E.bezierCurveTo(V[0],V[1],V[2],V[3],V[4],V[5])}this.element.globalData.renderer.save(!0),E.clip()}},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){if(this.data.tt>=1){this.buffers=[];var E=this.globalData.canvasContext,I=assetLoader.createCanvas(E.canvas.width,E.canvas.height);this.buffers.push(I);var B=assetLoader.createCanvas(E.canvas.width,E.canvas.height);this.buffers.push(B),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var E=this.globalData;if(E.blendMode!==this.data.bm){E.blendMode=this.data.bm;var I=getBlendMode(this.data.bm);E.canvasContext.globalCompositeOperation=I}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(E){E.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var E=this.buffers[0],I=E.getContext("2d");this.clearCanvas(I),I.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var E=this.buffers[1],I=E.getContext("2d");this.clearCanvas(I),I.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var B=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(B.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var U=assetLoader.getLumaCanvas(this.canvasContext.canvas),V=U.getContext("2d");V.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(U,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(E,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(E){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!E)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var I=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(I),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(I),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(C,E,I,B){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var U=4;E.ty==="rc"?U=5:E.ty==="el"?U=6:E.ty==="sr"&&(U=7),this.sh=ShapePropertyFactory.getShapeProp(C,E,U,C);var V,X=I.length,Y;for(V=0;V<X;V+=1)I[V].closed||(Y={transforms:B.addTransformSequence(I[V].transforms),trNodes:[]},this.styledShapes.push(Y),I[V].elements.push(Y))}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(C,E,I){this.shapes=[],this.shapesData=C.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(C,E){var I={data:C,type:C.ty,preTransforms:this.transformsManager.addTransformSequence(E),transforms:[],elements:[],closed:C.hd===!0},B={};if(C.ty==="fl"||C.ty==="st"?(B.c=PropertyFactory.getProp(this,C.c,1,255,this),B.c.k||(I.co="rgb("+bmFloor(B.c.v[0])+","+bmFloor(B.c.v[1])+","+bmFloor(B.c.v[2])+")")):(C.ty==="gf"||C.ty==="gs")&&(B.s=PropertyFactory.getProp(this,C.s,1,null,this),B.e=PropertyFactory.getProp(this,C.e,1,null,this),B.h=PropertyFactory.getProp(this,C.h||{k:0},0,.01,this),B.a=PropertyFactory.getProp(this,C.a||{k:0},0,degToRads,this),B.g=new GradientProperty(this,C.g,this)),B.o=PropertyFactory.getProp(this,C.o,0,.01,this),C.ty==="st"||C.ty==="gs"){if(I.lc=lineCapEnum[C.lc||2],I.lj=lineJoinEnum[C.lj||2],C.lj==1&&(I.ml=C.ml),B.w=PropertyFactory.getProp(this,C.w,0,null,this),B.w.k||(I.wi=B.w.v),C.d){var U=new DashProperty(this,C.d,"canvas",this);B.d=U,B.d.k||(I.da=B.d.dashArray,I.do=B.d.dashoffset[0])}}else I.r=C.r===2?"evenodd":"nonzero";return this.stylesList.push(I),B.style=I,B},CVShapeElement.prototype.createGroupElement=function(){var C={it:[],prevViewData:[]};return C},CVShapeElement.prototype.createTransformElement=function(C){var E={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,C.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,C,this)}};return E},CVShapeElement.prototype.createShapeElement=function(C){var E=new CVShapeData(this,C,this.stylesList,this.transformsManager);return this.shapes.push(E),this.addShapeToModifiers(E),E},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var C,E=this.itemsData.length;for(C=0;C<E;C+=1)this.prevViewData[C]=this.itemsData[C];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),E=this.dynamicProperties.length,C=0;C<E;C+=1)this.dynamicProperties[C].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(C){var E,I=this.stylesList.length;for(E=0;E<I;E+=1)this.stylesList[E].closed||this.stylesList[E].transforms.push(C)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var C,E=this.stylesList.length;for(C=0;C<E;C+=1)this.stylesList[C].closed||this.stylesList[C].transforms.pop()},CVShapeElement.prototype.closeStyles=function(C){var E,I=C.length;for(E=0;E<I;E+=1)C[E].closed=!0},CVShapeElement.prototype.searchShapes=function(C,E,I,B,U){var V,X=C.length-1,Y,K,_e=[],xe=[],Z,J,Se,Te=[].concat(U);for(V=X;V>=0;V-=1){if(Z=this.searchProcessedElement(C[V]),Z?E[V]=I[Z-1]:C[V]._shouldRender=B,C[V].ty==="fl"||C[V].ty==="st"||C[V].ty==="gf"||C[V].ty==="gs")Z?E[V].style.closed=!1:E[V]=this.createStyleElement(C[V],Te),_e.push(E[V].style);else if(C[V].ty==="gr"){if(!Z)E[V]=this.createGroupElement(C[V]);else for(K=E[V].it.length,Y=0;Y<K;Y+=1)E[V].prevViewData[Y]=E[V].it[Y];this.searchShapes(C[V].it,E[V].it,E[V].prevViewData,B,Te)}else C[V].ty==="tr"?(Z||(Se=this.createTransformElement(C[V]),E[V]=Se),Te.push(E[V]),this.addTransformToStyleList(E[V])):C[V].ty==="sh"||C[V].ty==="rc"||C[V].ty==="el"||C[V].ty==="sr"?Z||(E[V]=this.createShapeElement(C[V])):C[V].ty==="tm"||C[V].ty==="rd"||C[V].ty==="pb"||C[V].ty==="zz"||C[V].ty==="op"?(Z?(J=E[V],J.closed=!1):(J=ShapeModifiers.getModifier(C[V].ty),J.init(this,C[V]),E[V]=J,this.shapeModifiers.push(J)),xe.push(J)):C[V].ty==="rp"&&(Z?(J=E[V],J.closed=!0):(J=ShapeModifiers.getModifier(C[V].ty),E[V]=J,J.init(this,C,V,E),this.shapeModifiers.push(J),B=!1),xe.push(J));this.addProcessedElement(C[V],V+1)}for(this.removeTransformFromStyleList(),this.closeStyles(_e),X=xe.length,V=0;V<X;V+=1)xe[V].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(C,E){(C._opMdf||E.op._mdf||this._isFirstFrame)&&(E.opacity=C.opacity,E.opacity*=E.op.v,E._opMdf=!0)},CVShapeElement.prototype.drawLayer=function(){var C,E=this.stylesList.length,I,B,U,V,X,Y,K=this.globalData.renderer,_e=this.globalData.canvasContext,xe,Z;for(C=0;C<E;C+=1)if(Z=this.stylesList[C],xe=Z.type,!((xe==="st"||xe==="gs")&&Z.wi===0||!Z.data._shouldRender||Z.coOp===0||this.globalData.currentGlobalAlpha===0)){for(K.save(),X=Z.elements,xe==="st"||xe==="gs"?(K.ctxStrokeStyle(xe==="st"?Z.co:Z.grd),K.ctxLineWidth(Z.wi),K.ctxLineCap(Z.lc),K.ctxLineJoin(Z.lj),K.ctxMiterLimit(Z.ml||0)):K.ctxFillStyle(xe==="fl"?Z.co:Z.grd),K.ctxOpacity(Z.coOp),xe!=="st"&&xe!=="gs"&&_e.beginPath(),K.ctxTransform(Z.preTransforms.finalTransform.props),B=X.length,I=0;I<B;I+=1){for((xe==="st"||xe==="gs")&&(_e.beginPath(),Z.da&&(_e.setLineDash(Z.da),_e.lineDashOffset=Z.do)),Y=X[I].trNodes,V=Y.length,U=0;U<V;U+=1)Y[U].t==="m"?_e.moveTo(Y[U].p[0],Y[U].p[1]):Y[U].t==="c"?_e.bezierCurveTo(Y[U].pts[0],Y[U].pts[1],Y[U].pts[2],Y[U].pts[3],Y[U].pts[4],Y[U].pts[5]):_e.closePath();(xe==="st"||xe==="gs")&&(K.ctxStroke(),Z.da&&_e.setLineDash(this.dashResetter))}xe!=="st"&&xe!=="gs"&&this.globalData.renderer.ctxFill(Z.r),K.restore()}},CVShapeElement.prototype.renderShape=function(C,E,I,B){var U,V=E.length-1,X;for(X=C,U=V;U>=0;U-=1)E[U].ty==="tr"?(X=I[U].transform,this.renderShapeTransform(C,X)):E[U].ty==="sh"||E[U].ty==="el"||E[U].ty==="rc"||E[U].ty==="sr"?this.renderPath(E[U],I[U]):E[U].ty==="fl"?this.renderFill(E[U],I[U],X):E[U].ty==="st"?this.renderStroke(E[U],I[U],X):E[U].ty==="gf"||E[U].ty==="gs"?this.renderGradientFill(E[U],I[U],X):E[U].ty==="gr"?this.renderShape(X,E[U].it,I[U].it):E[U].ty;B&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(C,E){if(this._isFirstFrame||E._mdf||C.transforms._mdf){var I=C.trNodes,B=E.paths,U,V,X,Y=B._length;I.length=0;var K=C.transforms.finalTransform;for(X=0;X<Y;X+=1){var _e=B.shapes[X];if(_e&&_e.v){for(V=_e._length,U=1;U<V;U+=1)U===1&&I.push({t:"m",p:K.applyToPointArray(_e.v[0][0],_e.v[0][1],0)}),I.push({t:"c",pts:K.applyToTriplePoints(_e.o[U-1],_e.i[U],_e.v[U])});V===1&&I.push({t:"m",p:K.applyToPointArray(_e.v[0][0],_e.v[0][1],0)}),_e.c&&V&&(I.push({t:"c",pts:K.applyToTriplePoints(_e.o[U-1],_e.i[0],_e.v[0])}),I.push({t:"z"}))}}C.trNodes=I}},CVShapeElement.prototype.renderPath=function(C,E){if(C.hd!==!0&&C._shouldRender){var I,B=E.styledShapes.length;for(I=0;I<B;I+=1)this.renderStyledShape(E.styledShapes[I],E.sh)}},CVShapeElement.prototype.renderFill=function(C,E,I){var B=E.style;(E.c._mdf||this._isFirstFrame)&&(B.co="rgb("+bmFloor(E.c.v[0])+","+bmFloor(E.c.v[1])+","+bmFloor(E.c.v[2])+")"),(E.o._mdf||I._opMdf||this._isFirstFrame)&&(B.coOp=E.o.v*I.opacity)},CVShapeElement.prototype.renderGradientFill=function(C,E,I){var B=E.style,U;if(!B.grd||E.g._mdf||E.s._mdf||E.e._mdf||C.t!==1&&(E.h._mdf||E.a._mdf)){var V=this.globalData.canvasContext,X=E.s.v,Y=E.e.v;if(C.t===1)U=V.createLinearGradient(X[0],X[1],Y[0],Y[1]);else{var K=Math.sqrt(Math.pow(X[0]-Y[0],2)+Math.pow(X[1]-Y[1],2)),_e=Math.atan2(Y[1]-X[1],Y[0]-X[0]),xe=E.h.v;xe>=1?xe=.99:xe<=-1&&(xe=-.99);var Z=K*xe,J=Math.cos(_e+E.a.v)*Z+X[0],Se=Math.sin(_e+E.a.v)*Z+X[1];U=V.createRadialGradient(J,Se,0,X[0],X[1],K)}var Te,Ae=C.g.p,Me=E.g.c,Ee=1;for(Te=0;Te<Ae;Te+=1)E.g._hasOpacity&&E.g._collapsable&&(Ee=E.g.o[Te*2+1]),U.addColorStop(Me[Te*4]/100,"rgba("+Me[Te*4+1]+","+Me[Te*4+2]+","+Me[Te*4+3]+","+Ee+")");B.grd=U}B.coOp=E.o.v*I.opacity},CVShapeElement.prototype.renderStroke=function(C,E,I){var B=E.style,U=E.d;U&&(U._mdf||this._isFirstFrame)&&(B.da=U.dashArray,B.do=U.dashoffset[0]),(E.c._mdf||this._isFirstFrame)&&(B.co="rgb("+bmFloor(E.c.v[0])+","+bmFloor(E.c.v[1])+","+bmFloor(E.c.v[2])+")"),(E.o._mdf||I._opMdf||this._isFirstFrame)&&(B.coOp=E.o.v*I.opacity),(E.w._mdf||this._isFirstFrame)&&(B.wi=E.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(C,E,I){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var C=this.textProperty.currentData;this.renderedLetters=createSizedArray(C.l?C.l.length:0);var E=!1;C.fc?(E=!0,this.values.fill=this.buildColor(C.fc)):this.values.fill="rgba(0,0,0,0)",this.fill=E;var I=!1;C.sc&&(I=!0,this.values.stroke=this.buildColor(C.sc),this.values.sWidth=C.sw);var B=this.globalData.fontManager.getFontByName(C.f),U,V,X=C.l,Y=this.mHelper;this.stroke=I,this.values.fValue=C.finalSize+"px "+this.globalData.fontManager.getFontByName(C.f).fFamily,V=C.finalText.length;var K,_e,xe,Z,J,Se,Te,Ae,Me,Ee,we=this.data.singleShape,Pe=C.tr*.001*C.finalSize,Ie=0,Fe=0,Oe=!0,$e=0;for(U=0;U<V;U+=1){K=this.globalData.fontManager.getCharData(C.finalText[U],B.fStyle,this.globalData.fontManager.getFontByName(C.f).fFamily),_e=K&&K.data||{},Y.reset(),we&&X[U].n&&(Ie=-Pe,Fe+=C.yOffset,Fe+=Oe?1:0,Oe=!1),J=_e.shapes?_e.shapes[0].it:[],Te=J.length,Y.scale(C.finalSize/100,C.finalSize/100),we&&this.applyTextPropertiesToMatrix(C,Y,X[U].line,Ie,Fe),Me=createSizedArray(Te-1);var Le=0;for(Se=0;Se<Te;Se+=1)if(J[Se].ty==="sh"){for(Z=J[Se].ks.k.i.length,Ae=J[Se].ks.k,Ee=[],xe=1;xe<Z;xe+=1)xe===1&&Ee.push(Y.applyToX(Ae.v[0][0],Ae.v[0][1],0),Y.applyToY(Ae.v[0][0],Ae.v[0][1],0)),Ee.push(Y.applyToX(Ae.o[xe-1][0],Ae.o[xe-1][1],0),Y.applyToY(Ae.o[xe-1][0],Ae.o[xe-1][1],0),Y.applyToX(Ae.i[xe][0],Ae.i[xe][1],0),Y.applyToY(Ae.i[xe][0],Ae.i[xe][1],0),Y.applyToX(Ae.v[xe][0],Ae.v[xe][1],0),Y.applyToY(Ae.v[xe][0],Ae.v[xe][1],0));Ee.push(Y.applyToX(Ae.o[xe-1][0],Ae.o[xe-1][1],0),Y.applyToY(Ae.o[xe-1][0],Ae.o[xe-1][1],0),Y.applyToX(Ae.i[0][0],Ae.i[0][1],0),Y.applyToY(Ae.i[0][0],Ae.i[0][1],0),Y.applyToX(Ae.v[0][0],Ae.v[0][1],0),Y.applyToY(Ae.v[0][0],Ae.v[0][1],0)),Me[Le]=Ee,Le+=1}we&&(Ie+=X[U].l,Ie+=Pe),this.textSpans[$e]?this.textSpans[$e].elem=Me:this.textSpans[$e]={elem:Me},$e+=1}},CVTextElement.prototype.renderInnerContent=function(){this.validateText();var C=this.canvasContext;C.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),this.data.singleShape||this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var E,I,B,U,V,X,Y=this.textAnimator.renderedLetters,K=this.textProperty.currentData.l;I=K.length;var _e,xe=null,Z=null,J=null,Se,Te,Ae=this.globalData.renderer;for(E=0;E<I;E+=1)if(!K[E].n){if(_e=Y[E],_e&&(Ae.save(),Ae.ctxTransform(_e.p),Ae.ctxOpacity(_e.o)),this.fill){for(_e&&_e.fc?xe!==_e.fc&&(Ae.ctxFillStyle(_e.fc),xe=_e.fc):xe!==this.values.fill&&(xe=this.values.fill,Ae.ctxFillStyle(this.values.fill)),Se=this.textSpans[E].elem,U=Se.length,this.globalData.canvasContext.beginPath(),B=0;B<U;B+=1)for(Te=Se[B],X=Te.length,this.globalData.canvasContext.moveTo(Te[0],Te[1]),V=2;V<X;V+=6)this.globalData.canvasContext.bezierCurveTo(Te[V],Te[V+1],Te[V+2],Te[V+3],Te[V+4],Te[V+5]);this.globalData.canvasContext.closePath(),Ae.ctxFill()}if(this.stroke){for(_e&&_e.sw?J!==_e.sw&&(J=_e.sw,Ae.ctxLineWidth(_e.sw)):J!==this.values.sWidth&&(J=this.values.sWidth,Ae.ctxLineWidth(this.values.sWidth)),_e&&_e.sc?Z!==_e.sc&&(Z=_e.sc,Ae.ctxStrokeStyle(_e.sc)):Z!==this.values.stroke&&(Z=this.values.stroke,Ae.ctxStrokeStyle(this.values.stroke)),Se=this.textSpans[E].elem,U=Se.length,this.globalData.canvasContext.beginPath(),B=0;B<U;B+=1)for(Te=Se[B],X=Te.length,this.globalData.canvasContext.moveTo(Te[0],Te[1]),V=2;V<X;V+=6)this.globalData.canvasContext.bezierCurveTo(Te[V],Te[V+1],Te[V+2],Te[V+3],Te[V+4],Te[V+5]);this.globalData.canvasContext.closePath(),Ae.ctxStroke()}_e&&this.globalData.renderer.restore()}};function CVImageElement(C,E,I){this.assetData=E.getAssetData(C.refId),this.img=E.imageLoader.getAsset(this.assetData),this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var C=createTag("canvas");C.width=this.assetData.w,C.height=this.assetData.h;var E=C.getContext("2d"),I=this.img.width,B=this.img.height,U=I/B,V=this.assetData.w/this.assetData.h,X,Y,K=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;U>V&&K==="xMidYMid slice"||U<V&&K!=="xMidYMid slice"?(Y=B,X=Y*V):(X=I,Y=X/V),E.drawImage(this.img,(I-X)/2,(B-Y)/2,X,Y,0,0,this.assetData.w,this.assetData.h),this.img=C}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(C,E,I){this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(){}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(C){return new CVShapeElement(C,this.globalData,this)},CanvasRendererBase.prototype.createText=function(C){return new CVTextElement(C,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(C){return new CVImageElement(C,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(C){return new CVSolidElement(C,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(C){C[0]===1&&C[1]===0&&C[4]===0&&C[5]===1&&C[12]===0&&C[13]===0||this.canvasContext.transform(C[0],C[1],C[4],C[5],C[12],C[13])},CanvasRendererBase.prototype.ctxOpacity=function(C){this.canvasContext.globalAlpha*=C<0?0:C},CanvasRendererBase.prototype.ctxFillStyle=function(C){this.canvasContext.fillStyle=C},CanvasRendererBase.prototype.ctxStrokeStyle=function(C){this.canvasContext.strokeStyle=C},CanvasRendererBase.prototype.ctxLineWidth=function(C){this.canvasContext.lineWidth=C},CanvasRendererBase.prototype.ctxLineCap=function(C){this.canvasContext.lineCap=C},CanvasRendererBase.prototype.ctxLineJoin=function(C){this.canvasContext.lineJoin=C},CanvasRendererBase.prototype.ctxMiterLimit=function(C){this.canvasContext.miterLimit=C},CanvasRendererBase.prototype.ctxFill=function(C){this.canvasContext.fill(C)},CanvasRendererBase.prototype.ctxFillRect=function(C,E,I,B){this.canvasContext.fillRect(C,E,I,B)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(C){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}C&&(this.globalData.blendMode="source-over"),this.contextData.restore(C)},CanvasRendererBase.prototype.configAnimation=function(C){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var E=this.animationItem.container.style;E.width="100%",E.height="100%";var I="0px 0px 0px";E.transformOrigin=I,E.mozTransformOrigin=I,E.webkitTransformOrigin=I,E["-webkit-transform"]=I,E.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=C,this.layers=C.layers,this.transformCanvas={w:C.w,h:C.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(C,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(C.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(C,E){this.reset();var I,B;C?(I=C,B=E,this.canvasContext.canvas.width=I,this.canvasContext.canvas.height=B):(this.animationItem.wrapper&&this.animationItem.container?(I=this.animationItem.wrapper.offsetWidth,B=this.animationItem.wrapper.offsetHeight):(I=this.canvasContext.canvas.width,B=this.canvasContext.canvas.height),this.canvasContext.canvas.width=I*this.renderConfig.dpr,this.canvasContext.canvas.height=B*this.renderConfig.dpr);var U,V;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var X=this.renderConfig.preserveAspectRatio.split(" "),Y=X[1]||"meet",K=X[0]||"xMidYMid",_e=K.substr(0,4),xe=K.substr(4);U=I/B,V=this.transformCanvas.w/this.transformCanvas.h,V>U&&Y==="meet"||V<U&&Y==="slice"?(this.transformCanvas.sx=I/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=I/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=B/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=B/(this.transformCanvas.h/this.renderConfig.dpr)),_e==="xMid"&&(V<U&&Y==="meet"||V>U&&Y==="slice")?this.transformCanvas.tx=(I-this.transformCanvas.w*(B/this.transformCanvas.h))/2*this.renderConfig.dpr:_e==="xMax"&&(V<U&&Y==="meet"||V>U&&Y==="slice")?this.transformCanvas.tx=(I-this.transformCanvas.w*(B/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,xe==="YMid"&&(V>U&&Y==="meet"||V<U&&Y==="slice")?this.transformCanvas.ty=(B-this.transformCanvas.h*(I/this.transformCanvas.w))/2*this.renderConfig.dpr:xe==="YMax"&&(V>U&&Y==="meet"||V<U&&Y==="slice")?this.transformCanvas.ty=(B-this.transformCanvas.h*(I/this.transformCanvas.w))*this.renderConfig.dpr:this.transformCanvas.ty=0}else this.renderConfig.preserveAspectRatio==="none"?(this.transformCanvas.sx=I/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=B/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0);this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText="");var C,E=this.layers?this.layers.length:0;for(C=E-1;C>=0;C-=1)this.elements[C]&&this.elements[C].destroy&&this.elements[C].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(C,E){if(!(this.renderedFrame===C&&this.renderConfig.clearCanvas===!0&&!E||this.destroyed||C===-1)){this.renderedFrame=C,this.globalData.frameNum=C-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||E,this.globalData.projectInterface.currentFrame=C;var I,B=this.layers.length;for(this.completeLayers||this.checkLayers(C),I=B-1;I>=0;I-=1)(this.completeLayers||this.elements[I])&&this.elements[I].prepareFrame(C-this.layers[I].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),I=B-1;I>=0;I-=1)(this.completeLayers||this.elements[I])&&this.elements[I].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(C){var E=this.elements;if(!(E[C]||this.layers[C].ty===99)){var I=this.createItem(this.layers[C],this,this.globalData);E[C]=I,I.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var C=this.pendingElements.pop();C.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var C,E=15;for(C=0;C<E;C+=1){var I=new CanvasContext;this.stack[C]=I}this._length=E,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}CVContextData.prototype.duplicate=function(){var C=this._length*2,E=0;for(E=this._length;E<C;E+=1)this.stack[E]=new CanvasContext;this._length=C},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(C){this.cArrPos-=1;var E=this.stack[this.cArrPos],I=E.transform,B,U=this.cTr.props;for(B=0;B<16;B+=1)U[B]=I[B];if(C){this.nativeContext.restore();var V=this.stack[this.cArrPos+1];this.appliedFillStyle=V.fillStyle,this.appliedStrokeStyle=V.strokeStyle,this.appliedLineWidth=V.lineWidth,this.appliedLineCap=V.lineCap,this.appliedLineJoin=V.lineJoin,this.appliedMiterLimit=V.miterLimit}this.nativeContext.setTransform(I[0],I[1],I[4],I[5],I[12],I[13]),(C||E.opacity!==-1&&this.currentOpacity!==E.opacity)&&(this.nativeContext.globalAlpha=E.opacity,this.currentOpacity=E.opacity),this.currentFillStyle=E.fillStyle,this.currentStrokeStyle=E.strokeStyle,this.currentLineWidth=E.lineWidth,this.currentLineCap=E.lineCap,this.currentLineJoin=E.lineJoin,this.currentMiterLimit=E.miterLimit},CVContextData.prototype.save=function(C){C&&this.nativeContext.save();var E=this.cTr.props;this._length<=this.cArrPos&&this.duplicate();var I=this.stack[this.cArrPos],B;for(B=0;B<16;B+=1)I.transform[B]=E[B];this.cArrPos+=1;var U=this.stack[this.cArrPos];U.opacity=I.opacity,U.fillStyle=I.fillStyle,U.strokeStyle=I.strokeStyle,U.lineWidth=I.lineWidth,U.lineCap=I.lineCap,U.lineJoin=I.lineJoin,U.miterLimit=I.miterLimit},CVContextData.prototype.setOpacity=function(C){this.stack[this.cArrPos].opacity=C},CVContextData.prototype.setContext=function(C){this.nativeContext=C},CVContextData.prototype.fillStyle=function(C){this.stack[this.cArrPos].fillStyle!==C&&(this.currentFillStyle=C,this.stack[this.cArrPos].fillStyle=C)},CVContextData.prototype.strokeStyle=function(C){this.stack[this.cArrPos].strokeStyle!==C&&(this.currentStrokeStyle=C,this.stack[this.cArrPos].strokeStyle=C)},CVContextData.prototype.lineWidth=function(C){this.stack[this.cArrPos].lineWidth!==C&&(this.currentLineWidth=C,this.stack[this.cArrPos].lineWidth=C)},CVContextData.prototype.lineCap=function(C){this.stack[this.cArrPos].lineCap!==C&&(this.currentLineCap=C,this.stack[this.cArrPos].lineCap=C)},CVContextData.prototype.lineJoin=function(C){this.stack[this.cArrPos].lineJoin!==C&&(this.currentLineJoin=C,this.stack[this.cArrPos].lineJoin=C)},CVContextData.prototype.miterLimit=function(C){this.stack[this.cArrPos].miterLimit!==C&&(this.currentMiterLimit=C,this.stack[this.cArrPos].miterLimit=C)},CVContextData.prototype.transform=function(C){this.transformMat.cloneFromProps(C);var E=this.cTr;this.transformMat.multiply(E),E.cloneFromProps(this.transformMat.props);var I=E.props;this.nativeContext.setTransform(I[0],I[1],I[4],I[5],I[12],I[13])},CVContextData.prototype.opacity=function(C){var E=this.stack[this.cArrPos].opacity;E*=C<0?0:C,this.stack[this.cArrPos].opacity!==E&&(this.currentOpacity!==C&&(this.nativeContext.globalAlpha=C,this.currentOpacity=C),this.stack[this.cArrPos].opacity=E)},CVContextData.prototype.fill=function(C){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fill(C)},CVContextData.prototype.fillRect=function(C,E,I,B){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fillRect(C,E,I,B)},CVContextData.prototype.stroke=function(){this.appliedStrokeStyle!==this.currentStrokeStyle&&(this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle),this.appliedLineWidth!==this.currentLineWidth&&(this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth),this.appliedLineCap!==this.currentLineCap&&(this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap),this.appliedLineJoin!==this.currentLineJoin&&(this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin),this.appliedMiterLimit!==this.currentMiterLimit&&(this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit),this.nativeContext.stroke()};function CVCompElement(C,E,I){this.completeLayers=!1,this.layers=C.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(C,E,I),this.tm=C.tm?PropertyFactory.getProp(this,C.tm,0,E.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var C=this.canvasContext;C.beginPath(),C.moveTo(0,0),C.lineTo(this.data.w,0),C.lineTo(this.data.w,this.data.h),C.lineTo(0,this.data.h),C.lineTo(0,0),C.clip();var E,I=this.layers.length;for(E=I-1;E>=0;E-=1)(this.completeLayers||this.elements[E])&&this.elements[E].renderFrame()},CVCompElement.prototype.destroy=function(){var C,E=this.layers.length;for(C=E-1;C>=0;C-=1)this.elements[C]&&this.elements[C].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(C){return new CVCompElement(C,this.globalData,this)};function CanvasRenderer(C,E){this.animationItem=C,this.renderConfig={clearCanvas:E&&E.clearCanvas!==void 0?E.clearCanvas:!0,context:E&&E.context||null,progressiveLoad:E&&E.progressiveLoad||!1,preserveAspectRatio:E&&E.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:E&&E.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:E&&E.contentVisibility||"visible",className:E&&E.className||"",id:E&&E.id||"",runExpressions:!E||E.runExpressions===void 0||E.runExpressions},this.renderConfig.dpr=E&&E.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=E&&E.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(C){return new CVCompElement(C,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.bm!==0&&this.setBlendMode()},renderElement:function(){var E=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var I=this.finalTransform.mat.toCSS();E.transform=I,E.webkitTransform=I}this.finalTransform._opMdf&&(E.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(C,E,I){this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var C;this.data.hasMask?(C=createNS("rect"),C.setAttribute("width",this.data.sw),C.setAttribute("height",this.data.sh),C.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):(C=createTag("div"),C.style.width=this.data.sw+"px",C.style.height=this.data.sh+"px",C.style.backgroundColor=this.data.sc),this.layerElement.appendChild(C)};function HShapeElement(C,E,I){this.shapes=[],this.shapesData=C.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(C,E,I),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var C;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),C=this.svgElement;else{C=createNS("svg");var E=this.comp.data?this.comp.data:this.globalData.compSize;C.setAttribute("width",E.w),C.setAttribute("height",E.h),C.appendChild(this.shapesContainer),this.layerElement.appendChild(C)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=C},HShapeElement.prototype.getTransformedPoint=function(C,E){var I,B=C.length;for(I=0;I<B;I+=1)E=C[I].mProps.v.applyToPointArray(E[0],E[1],0);return E},HShapeElement.prototype.calculateShapeBoundingBox=function(C,E){var I=C.sh.v,B=C.transformers,U,V=I._length,X,Y,K,_e;if(!(V<=1)){for(U=0;U<V-1;U+=1)X=this.getTransformedPoint(B,I.v[U]),Y=this.getTransformedPoint(B,I.o[U]),K=this.getTransformedPoint(B,I.i[U+1]),_e=this.getTransformedPoint(B,I.v[U+1]),this.checkBounds(X,Y,K,_e,E);I.c&&(X=this.getTransformedPoint(B,I.v[U]),Y=this.getTransformedPoint(B,I.o[U]),K=this.getTransformedPoint(B,I.i[0]),_e=this.getTransformedPoint(B,I.v[0]),this.checkBounds(X,Y,K,_e,E))}},HShapeElement.prototype.checkBounds=function(C,E,I,B,U){this.getBoundsOfCurve(C,E,I,B);var V=this.shapeBoundingBox;U.x=bmMin(V.left,U.x),U.xMax=bmMax(V.right,U.xMax),U.y=bmMin(V.top,U.y),U.yMax=bmMax(V.bottom,U.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(C,E,I,B){for(var U=[[C[0],B[0]],[C[1],B[1]]],V,X,Y,K,_e,xe,Z,J=0;J<2;++J)X=6*C[J]-12*E[J]+6*I[J],V=-3*C[J]+9*E[J]-9*I[J]+3*B[J],Y=3*E[J]-3*C[J],X|=0,V|=0,Y|=0,V===0&&X===0||(V===0?(K=-Y/X,K>0&&K<1&&U[J].push(this.calculateF(K,C,E,I,B,J))):(_e=X*X-4*Y*V,_e>=0&&(xe=(-X+bmSqrt(_e))/(2*V),xe>0&&xe<1&&U[J].push(this.calculateF(xe,C,E,I,B,J)),Z=(-X-bmSqrt(_e))/(2*V),Z>0&&Z<1&&U[J].push(this.calculateF(Z,C,E,I,B,J)))));this.shapeBoundingBox.left=bmMin.apply(null,U[0]),this.shapeBoundingBox.top=bmMin.apply(null,U[1]),this.shapeBoundingBox.right=bmMax.apply(null,U[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,U[1])},HShapeElement.prototype.calculateF=function(C,E,I,B,U,V){return bmPow(1-C,3)*E[V]+3*bmPow(1-C,2)*C*I[V]+3*(1-C)*bmPow(C,2)*B[V]+bmPow(C,3)*U[V]},HShapeElement.prototype.calculateBoundingBox=function(C,E){var I,B=C.length;for(I=0;I<B;I+=1)C[I]&&C[I].sh?this.calculateShapeBoundingBox(C[I],E):C[I]&&C[I].it?this.calculateBoundingBox(C[I].it,E):C[I]&&C[I].style&&C[I].w&&this.expandStrokeBoundingBox(C[I].w,E)},HShapeElement.prototype.expandStrokeBoundingBox=function(C,E){var I=0;if(C.keyframes){for(var B=0;B<C.keyframes.length;B+=1){var U=C.keyframes[B].s;U>I&&(I=U)}I*=C.mult}else I=C.v*C.mult;E.x-=I,E.xMax+=I,E.y-=I,E.yMax+=I},HShapeElement.prototype.currentBoxContains=function(C){return this.currentBBox.x<=C.x&&this.currentBBox.y<=C.y&&this.currentBBox.width+this.currentBBox.x>=C.x+C.width&&this.currentBBox.height+this.currentBBox.y>=C.y+C.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var C=this.tempBoundingBox,E=999999;if(C.x=E,C.xMax=-E,C.y=E,C.yMax=-E,this.calculateBoundingBox(this.itemsData,C),C.width=C.xMax<C.x?0:C.xMax-C.x,C.height=C.yMax<C.y?0:C.yMax-C.y,this.currentBoxContains(C))return;var I=!1;if(this.currentBBox.w!==C.width&&(this.currentBBox.w=C.width,this.shapeCont.setAttribute("width",C.width),I=!0),this.currentBBox.h!==C.height&&(this.currentBBox.h=C.height,this.shapeCont.setAttribute("height",C.height),I=!0),I||this.currentBBox.x!==C.x||this.currentBBox.y!==C.y){this.currentBBox.w=C.width,this.currentBBox.h=C.height,this.currentBBox.x=C.x,this.currentBBox.y=C.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var B=this.shapeCont.style,U="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";B.transform=U,B.webkitTransform=U}}};function HTextElement(C,E,I){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var C=createNS("g");this.maskedElement.appendChild(C),this.innerElem=C}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var C=this.textProperty.currentData;this.renderedLetters=createSizedArray(C.l?C.l.length:0);var E=this.innerElem.style,I=C.fc?this.buildColor(C.fc):"rgba(0,0,0,0)";E.fill=I,E.color=I,C.sc&&(E.stroke=this.buildColor(C.sc),E.strokeWidth=C.sw+"px");var B=this.globalData.fontManager.getFontByName(C.f);if(!this.globalData.fontManager.chars)if(E.fontSize=C.finalSize+"px",E.lineHeight=C.finalSize+"px",B.fClass)this.innerElem.className=B.fClass;else{E.fontFamily=B.fFamily;var U=C.fWeight,V=C.fStyle;E.fontStyle=V,E.fontWeight=U}var X,Y,K=C.l;Y=K.length;var _e,xe,Z,J=this.mHelper,Se,Te="",Ae=0;for(X=0;X<Y;X+=1){if(this.globalData.fontManager.chars?(this.textPaths[Ae]?_e=this.textPaths[Ae]:(_e=createNS("path"),_e.setAttribute("stroke-linecap",lineCapEnum[1]),_e.setAttribute("stroke-linejoin",lineJoinEnum[2]),_e.setAttribute("stroke-miterlimit","4")),this.isMasked||(this.textSpans[Ae]?(xe=this.textSpans[Ae],Z=xe.children[0]):(xe=createTag("div"),xe.style.lineHeight=0,Z=createNS("svg"),Z.appendChild(_e),styleDiv(xe)))):this.isMasked?_e=this.textPaths[Ae]?this.textPaths[Ae]:createNS("text"):this.textSpans[Ae]?(xe=this.textSpans[Ae],_e=this.textPaths[Ae]):(xe=createTag("span"),styleDiv(xe),_e=createTag("span"),styleDiv(_e),xe.appendChild(_e)),this.globalData.fontManager.chars){var Me=this.globalData.fontManager.getCharData(C.finalText[X],B.fStyle,this.globalData.fontManager.getFontByName(C.f).fFamily),Ee;if(Me?Ee=Me.data:Ee=null,J.reset(),Ee&&Ee.shapes&&Ee.shapes.length&&(Se=Ee.shapes[0].it,J.scale(C.finalSize/100,C.finalSize/100),Te=this.createPathShape(J,Se),_e.setAttribute("d",Te)),this.isMasked)this.innerElem.appendChild(_e);else{if(this.innerElem.appendChild(xe),Ee&&Ee.shapes){document.body.appendChild(Z);var we=Z.getBBox();Z.setAttribute("width",we.width+2),Z.setAttribute("height",we.height+2),Z.setAttribute("viewBox",we.x-1+" "+(we.y-1)+" "+(we.width+2)+" "+(we.height+2));var Pe=Z.style,Ie="translate("+(we.x-1)+"px,"+(we.y-1)+"px)";Pe.transform=Ie,Pe.webkitTransform=Ie,K[X].yOffset=we.y-1}else Z.setAttribute("width",1),Z.setAttribute("height",1);xe.appendChild(Z)}}else if(_e.textContent=K[X].val,_e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked)this.innerElem.appendChild(_e);else{this.innerElem.appendChild(xe);var Fe=_e.style,Oe="translate3d(0,"+-C.finalSize/1.2+"px,0)";Fe.transform=Oe,Fe.webkitTransform=Oe}this.isMasked?this.textSpans[Ae]=_e:this.textSpans[Ae]=xe,this.textSpans[Ae].style.display="block",this.textPaths[Ae]=_e,Ae+=1}for(;Ae<this.textSpans.length;)this.textSpans[Ae].style.display="none",Ae+=1},HTextElement.prototype.renderInnerContent=function(){this.validateText();var C;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),C=this.svgElement.style;var E="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";C.transform=E,C.webkitTransform=E}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!(!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)){var I,B,U=0,V=this.textAnimator.renderedLetters,X=this.textProperty.currentData.l;B=X.length;var Y,K,_e;for(I=0;I<B;I+=1)X[I].n?U+=1:(K=this.textSpans[I],_e=this.textPaths[I],Y=V[U],U+=1,Y._mdf.m&&(this.isMasked?K.setAttribute("transform",Y.m):(K.style.webkitTransform=Y.m,K.style.transform=Y.m)),K.style.opacity=Y.o,Y.sw&&Y._mdf.sw&&_e.setAttribute("stroke-width",Y.sw),Y.sc&&Y._mdf.sc&&_e.setAttribute("stroke",Y.sc),Y.fc&&Y._mdf.fc&&(_e.setAttribute("fill",Y.fc),_e.style.color=Y.fc));if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var xe=this.innerElem.getBBox();this.currentBBox.w!==xe.width&&(this.currentBBox.w=xe.width,this.svgElement.setAttribute("width",xe.width)),this.currentBBox.h!==xe.height&&(this.currentBBox.h=xe.height,this.svgElement.setAttribute("height",xe.height));var Z=1;if(this.currentBBox.w!==xe.width+Z*2||this.currentBBox.h!==xe.height+Z*2||this.currentBBox.x!==xe.x-Z||this.currentBBox.y!==xe.y-Z){this.currentBBox.w=xe.width+Z*2,this.currentBBox.h=xe.height+Z*2,this.currentBBox.x=xe.x-Z,this.currentBBox.y=xe.y-Z,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),C=this.svgElement.style;var J="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";C.transform=J,C.webkitTransform=J}}}};function HCameraElement(C,E,I){this.initFrame(),this.initBaseData(C,E,I),this.initHierarchy();var B=PropertyFactory.getProp;if(this.pe=B(this,C.pe,0,0,this),C.ks.p.s?(this.px=B(this,C.ks.p.x,1,0,this),this.py=B(this,C.ks.p.y,1,0,this),this.pz=B(this,C.ks.p.z,1,0,this)):this.p=B(this,C.ks.p,1,0,this),C.ks.a&&(this.a=B(this,C.ks.a,1,0,this)),C.ks.or.k.length&&C.ks.or.k[0].to){var U,V=C.ks.or.k.length;for(U=0;U<V;U+=1)C.ks.or.k[U].to=null,C.ks.or.k[U].ti=null}this.or=B(this,C.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=B(this,C.ks.rx,0,degToRads,this),this.ry=B(this,C.ks.ry,0,degToRads,this),this.rz=B(this,C.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var C,E=this.comp.threeDElements.length,I,B,U;for(C=0;C<E;C+=1)if(I=this.comp.threeDElements[C],I.type==="3d"){B=I.perspectiveElem.style,U=I.container.style;var V=this.pe.v+"px",X="0px 0px 0px",Y="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";B.perspective=V,B.webkitPerspective=V,U.transformOrigin=X,U.mozTransformOrigin=X,U.webkitTransformOrigin=X,B.transform=Y,B.webkitTransform=Y}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var C=this._isFirstFrame,E,I;if(this.hierarchy)for(I=this.hierarchy.length,E=0;E<I;E+=1)C=this.hierarchy[E].finalTransform.mProp._mdf||C;if(C||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy)for(I=this.hierarchy.length-1,E=I;E>=0;E-=1){var B=this.hierarchy[E].finalTransform.mProp;this.mat.translate(-B.p.v[0],-B.p.v[1],B.p.v[2]),this.mat.rotateX(-B.or.v[0]).rotateY(-B.or.v[1]).rotateZ(B.or.v[2]),this.mat.rotateX(-B.rx.v).rotateY(-B.ry.v).rotateZ(B.rz.v),this.mat.scale(1/B.s.v[0],1/B.s.v[1],1/B.s.v[2]),this.mat.translate(B.a.v[0],B.a.v[1],B.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var U;this.p?U=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:U=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var V=Math.sqrt(Math.pow(U[0],2)+Math.pow(U[1],2)+Math.pow(U[2],2)),X=[U[0]/V,U[1]/V,U[2]/V],Y=Math.sqrt(X[2]*X[2]+X[0]*X[0]),K=Math.atan2(X[1],Y),_e=Math.atan2(X[0],-X[2]);this.mat.rotateY(_e).rotateX(-K)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var xe=!this._prevMat.equals(this.mat);if((xe||this.pe._mdf)&&this.comp.threeDElements){I=this.comp.threeDElements.length;var Z,J,Se;for(E=0;E<I;E+=1)if(Z=this.comp.threeDElements[E],Z.type==="3d"){if(xe){var Te=this.mat.toCSS();Se=Z.container.style,Se.transform=Te,Se.webkitTransform=Te}this.pe._mdf&&(J=Z.perspectiveElem.style,J.perspective=this.pe.v+"px",J.webkitPerspective=this.pe.v+"px")}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(C){this.prepareProperties(C,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(C,E,I){this.assetData=E.getAssetData(C.refId),this.initElement(C,E,I)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var C=this.globalData.getAssetsPath(this.assetData),E=new Image;this.data.hasMask?(this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",C),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h)):this.layerElement.appendChild(E),E.crossOrigin="anonymous",E.src=C,this.data.ln&&this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(C,E){this.animationItem=C,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:E&&E.className||"",imagePreserveAspectRatio:E&&E.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(E&&E.hideOnTransparent===!1),filterSize:{width:E&&E.filterSize&&E.filterSize.width||"400%",height:E&&E.filterSize&&E.filterSize.height||"400%",x:E&&E.filterSize&&E.filterSize.x||"-100%",y:E&&E.filterSize&&E.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var C=this.pendingElements.pop();C.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(C,E){var I=C.getBaseElement();if(I){var B=this.layers[E];if(!B.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(I,E);else{for(var U=0,V,X,Y;U<E;)this.elements[U]&&this.elements[U]!==!0&&this.elements[U].getBaseElement&&(X=this.elements[U],Y=this.layers[U].ddd?this.getThreeDContainerByPos(U):X.getBaseElement(),V=Y||V),U+=1;V?(!B.ddd||!this.supports3d)&&this.layerElement.insertBefore(I,V):(!B.ddd||!this.supports3d)&&this.layerElement.appendChild(I)}else this.addTo3dContainer(I,E)}},HybridRendererBase.prototype.createShape=function(C){return this.supports3d?new HShapeElement(C,this.globalData,this):new SVGShapeElement(C,this.globalData,this)},HybridRendererBase.prototype.createText=function(C){return this.supports3d?new HTextElement(C,this.globalData,this):new SVGTextLottieElement(C,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(C){return this.camera=new HCameraElement(C,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(C){return this.supports3d?new HImageElement(C,this.globalData,this):new IImageElement(C,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(C){return this.supports3d?new HSolidElement(C,this.globalData,this):new ISolidElement(C,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(C){for(var E=0,I=this.threeDElements.length;E<I;){if(this.threeDElements[E].startPos<=C&&this.threeDElements[E].endPos>=C)return this.threeDElements[E].perspectiveElem;E+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(C,E){var I=createTag("div"),B,U;styleDiv(I);var V=createTag("div");if(styleDiv(V),E==="3d"){B=I.style,B.width=this.globalData.compSize.w+"px",B.height=this.globalData.compSize.h+"px";var X="50% 50%";B.webkitTransformOrigin=X,B.mozTransformOrigin=X,B.transformOrigin=X,U=V.style;var Y="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";U.transform=Y,U.webkitTransform=Y}I.appendChild(V);var K={container:V,perspectiveElem:I,startPos:C,endPos:C,type:E};return this.threeDElements.push(K),K},HybridRendererBase.prototype.build3dContainers=function(){var C,E=this.layers.length,I,B="";for(C=0;C<E;C+=1)this.layers[C].ddd&&this.layers[C].ty!==3?(B!=="3d"&&(B="3d",I=this.createThreeDContainer(C,"3d")),I.endPos=Math.max(I.endPos,C)):(B!=="2d"&&(B="2d",I=this.createThreeDContainer(C,"2d")),I.endPos=Math.max(I.endPos,C));for(E=this.threeDElements.length,C=E-1;C>=0;C-=1)this.resizerElem.appendChild(this.threeDElements[C].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(C,E){for(var I=0,B=this.threeDElements.length;I<B;){if(E<=this.threeDElements[I].endPos){for(var U=this.threeDElements[I].startPos,V;U<E;)this.elements[U]&&this.elements[U].getBaseElement&&(V=this.elements[U].getBaseElement()),U+=1;V?this.threeDElements[I].container.insertBefore(C,V):this.threeDElements[I].container.appendChild(C);break}I+=1}},HybridRendererBase.prototype.configAnimation=function(C){var E=createTag("div"),I=this.animationItem.wrapper,B=E.style;B.width=C.w+"px",B.height=C.h+"px",this.resizerElem=E,styleDiv(E),B.transformStyle="flat",B.mozTransformStyle="flat",B.webkitTransformStyle="flat",this.renderConfig.className&&E.setAttribute("class",this.renderConfig.className),I.appendChild(E),B.overflow="hidden";var U=createNS("svg");U.setAttribute("width","1"),U.setAttribute("height","1"),styleDiv(U),this.resizerElem.appendChild(U);var V=createNS("defs");U.appendChild(V),this.data=C,this.setupGlobalData(C,U),this.globalData.defs=V,this.layers=C.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var C,E=this.layers?this.layers.length:0;for(C=0;C<E;C+=1)this.elements[C]&&this.elements[C].destroy&&this.elements[C].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var C=this.animationItem.wrapper.offsetWidth,E=this.animationItem.wrapper.offsetHeight,I=C/E,B=this.globalData.compSize.w/this.globalData.compSize.h,U,V,X,Y;B>I?(U=C/this.globalData.compSize.w,V=C/this.globalData.compSize.w,X=0,Y=(E-this.globalData.compSize.h*(C/this.globalData.compSize.w))/2):(U=E/this.globalData.compSize.h,V=E/this.globalData.compSize.h,X=(C-this.globalData.compSize.w*(E/this.globalData.compSize.h))/2,Y=0);var K=this.resizerElem.style;K.webkitTransform="matrix3d("+U+",0,0,0,0,"+V+",0,0,0,0,1,0,"+X+","+Y+",0,1)",K.transform=K.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var C=this.globalData.compSize.w,E=this.globalData.compSize.h,I,B=this.threeDElements.length;for(I=0;I<B;I+=1){var U=this.threeDElements[I].perspectiveElem.style;U.webkitPerspective=Math.sqrt(Math.pow(C,2)+Math.pow(E,2))+"px",U.perspective=U.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(C){var E,I=C.length,B=createTag("div");for(E=0;E<I;E+=1)if(C[E].xt){var U=this.createComp(C[E],B,this.globalData.comp,null);U.initExpressions(),this.globalData.projectInterface.registerComposition(U)}};function HCompElement(C,E,I){this.layers=C.layers,this.supports3d=!C.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(C,E,I),this.tm=C.tm?PropertyFactory.getProp(this,C.tm,0,E.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements(),this.data.hasMask?(this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement):this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(C,E){for(var I=0,B;I<E;)this.elements[I]&&this.elements[I].getBaseElement&&(B=this.elements[I].getBaseElement()),I+=1;B?this.layerElement.insertBefore(C,B):this.layerElement.appendChild(C)},HCompElement.prototype.createComp=function(C){return this.supports3d?new HCompElement(C,this.globalData,this):new SVGCompElement(C,this.globalData,this)};function HybridRenderer(C,E){this.animationItem=C,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:E&&E.className||"",imagePreserveAspectRatio:E&&E.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(E&&E.hideOnTransparent===!1),filterSize:{width:E&&E.filterSize&&E.filterSize.width||"400%",height:E&&E.filterSize&&E.filterSize.height||"400%",x:E&&E.filterSize&&E.filterSize.x||"-100%",y:E&&E.filterSize&&E.filterSize.y||"-100%"},runExpressions:!E||E.runExpressions===void 0||E.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(C){return this.supports3d?new HCompElement(C,this.globalData,this):new SVGCompElement(C,this.globalData,this)};var CompExpressionInterface=function(){return function(C){function E(I){for(var B=0,U=C.layers.length;B<U;){if(C.layers[B].nm===I||C.layers[B].ind===I)return C.elements[B].layerInterface;B+=1}return null}return Object.defineProperty(E,"_name",{value:C.data.nm}),E.layer=E,E.pixelAspect=1,E.height=C.data.h||C.globalData.compSize.h,E.width=C.data.w||C.globalData.compSize.w,E.pixelAspect=1,E.frameDuration=1/C.globalData.frameRate,E.displayStartTime=0,E.numLayers=C.layers.length,E}}();function _typeof$2(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$2=function(I){return typeof I}:_typeof$2=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$2(C)}function seedRandom(C,E){var I=this,B=256,U=6,V=52,X="random",Y=E.pow(B,U),K=E.pow(2,V),_e=K*2,xe=B-1,Z;function J(Pe,Ie,Fe){var Oe=[];Ie=Ie===!0?{entropy:!0}:Ie||{};var $e=Me(Ae(Ie.entropy?[Pe,we(C)]:Pe===null?Ee():Pe,3),Oe),Le=new Se(Oe),Ue=function(){for(var We=Le.g(U),je=Y,Ve=0;We<K;)We=(We+Ve)*B,je*=B,Ve=Le.g(1);for(;We>=_e;)We/=2,je/=2,Ve>>>=1;return(We+Ve)/je};return Ue.int32=function(){return Le.g(4)|0},Ue.quick=function(){return Le.g(4)/4294967296},Ue.double=Ue,Me(we(Le.S),C),(Ie.pass||Fe||function(He,We,je,Ve){return Ve&&(Ve.S&&Te(Ve,Le),He.state=function(){return Te(Le,{})}),je?(E[X]=He,We):He})(Ue,$e,"global"in Ie?Ie.global:this==E,Ie.state)}E["seed"+X]=J;function Se(Pe){var Ie,Fe=Pe.length,Oe=this,$e=0,Le=Oe.i=Oe.j=0,Ue=Oe.S=[];for(Fe||(Pe=[Fe++]);$e<B;)Ue[$e]=$e++;for($e=0;$e<B;$e++)Ue[$e]=Ue[Le=xe&Le+Pe[$e%Fe]+(Ie=Ue[$e])],Ue[Le]=Ie;Oe.g=function(He){for(var We,je=0,Ve=Oe.i,ze=Oe.j,Xe=Oe.S;He--;)We=Xe[Ve=xe&Ve+1],je=je*B+Xe[xe&(Xe[Ve]=Xe[ze=xe&ze+We])+(Xe[ze]=We)];return Oe.i=Ve,Oe.j=ze,je}}function Te(Pe,Ie){return Ie.i=Pe.i,Ie.j=Pe.j,Ie.S=Pe.S.slice(),Ie}function Ae(Pe,Ie){var Fe=[],Oe=_typeof$2(Pe),$e;if(Ie&&Oe=="object")for($e in Pe)try{Fe.push(Ae(Pe[$e],Ie-1))}catch{}return Fe.length?Fe:Oe=="string"?Pe:Pe+"\0"}function Me(Pe,Ie){for(var Fe=Pe+"",Oe,$e=0;$e<Fe.length;)Ie[xe&$e]=xe&(Oe^=Ie[xe&$e]*19)+Fe.charCodeAt($e++);return we(Ie)}function Ee(){try{var Pe=new Uint8Array(B);return(I.crypto||I.msCrypto).getRandomValues(Pe),we(Pe)}catch{var Ie=I.navigator,Fe=Ie&&Ie.plugins;return[+new Date,I,Fe,I.screen,we(C)]}}function we(Pe){return String.fromCharCode.apply(0,Pe)}Me(E.random(),C)}function initialize$2(C){seedRandom([],C)}var propTypes={SHAPE:"shape"};function _typeof$1(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1=function(I){return typeof I}:_typeof$1=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof$1(C)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};initialize$2(BMMath);function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(C){return C.constructor===Array||C.constructor===Float32Array}function isNumerable(C,E){return C==="number"||E instanceof Number||C==="boolean"||C==="string"}function $bm_neg(C){var E=_typeof$1(C);if(E==="number"||C instanceof Number||E==="boolean")return-C;if($bm_isInstanceOfArray(C)){var I,B=C.length,U=[];for(I=0;I<B;I+=1)U[I]=-C[I];return U}return C.propType?C.v:-C}var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(C,E){var I=_typeof$1(C),B=_typeof$1(E);if(isNumerable(I,C)&&isNumerable(B,E)||I==="string"||B==="string")return C+E;if($bm_isInstanceOfArray(C)&&isNumerable(B,E))return C=C.slice(0),C[0]+=E,C;if(isNumerable(I,C)&&$bm_isInstanceOfArray(E))return E=E.slice(0),E[0]=C+E[0],E;if($bm_isInstanceOfArray(C)&&$bm_isInstanceOfArray(E)){for(var U=0,V=C.length,X=E.length,Y=[];U<V||U<X;)(typeof C[U]=="number"||C[U]instanceof Number)&&(typeof E[U]=="number"||E[U]instanceof Number)?Y[U]=C[U]+E[U]:Y[U]=E[U]===void 0?C[U]:C[U]||E[U],U+=1;return Y}return 0}var add=sum;function sub(C,E){var I=_typeof$1(C),B=_typeof$1(E);if(isNumerable(I,C)&&isNumerable(B,E))return I==="string"&&(C=parseInt(C,10)),B==="string"&&(E=parseInt(E,10)),C-E;if($bm_isInstanceOfArray(C)&&isNumerable(B,E))return C=C.slice(0),C[0]-=E,C;if(isNumerable(I,C)&&$bm_isInstanceOfArray(E))return E=E.slice(0),E[0]=C-E[0],E;if($bm_isInstanceOfArray(C)&&$bm_isInstanceOfArray(E)){for(var U=0,V=C.length,X=E.length,Y=[];U<V||U<X;)(typeof C[U]=="number"||C[U]instanceof Number)&&(typeof E[U]=="number"||E[U]instanceof Number)?Y[U]=C[U]-E[U]:Y[U]=E[U]===void 0?C[U]:C[U]||E[U],U+=1;return Y}return 0}function mul(C,E){var I=_typeof$1(C),B=_typeof$1(E),U;if(isNumerable(I,C)&&isNumerable(B,E))return C*E;var V,X;if($bm_isInstanceOfArray(C)&&isNumerable(B,E)){for(X=C.length,U=createTypedArray("float32",X),V=0;V<X;V+=1)U[V]=C[V]*E;return U}if(isNumerable(I,C)&&$bm_isInstanceOfArray(E)){for(X=E.length,U=createTypedArray("float32",X),V=0;V<X;V+=1)U[V]=C*E[V];return U}return 0}function div(C,E){var I=_typeof$1(C),B=_typeof$1(E),U;if(isNumerable(I,C)&&isNumerable(B,E))return C/E;var V,X;if($bm_isInstanceOfArray(C)&&isNumerable(B,E)){for(X=C.length,U=createTypedArray("float32",X),V=0;V<X;V+=1)U[V]=C[V]/E;return U}if(isNumerable(I,C)&&$bm_isInstanceOfArray(E)){for(X=E.length,U=createTypedArray("float32",X),V=0;V<X;V+=1)U[V]=C/E[V];return U}return 0}function mod(C,E){return typeof C=="string"&&(C=parseInt(C,10)),typeof E=="string"&&(E=parseInt(E,10)),C%E}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(C,E,I){if(E>I){var B=I;I=E,E=B}return Math.min(Math.max(C,E),I)}function radiansToDegrees(C){return C/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(C){return C*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(C,E){if(typeof C=="number"||C instanceof Number)return E=E||0,Math.abs(C-E);E||(E=helperLengthArray);var I,B=Math.min(C.length,E.length),U=0;for(I=0;I<B;I+=1)U+=Math.pow(E[I]-C[I],2);return Math.sqrt(U)}function normalize(C){return div(C,length(C))}function rgbToHsl(C){var E=C[0],I=C[1],B=C[2],U=Math.max(E,I,B),V=Math.min(E,I,B),X,Y,K=(U+V)/2;if(U===V)X=0,Y=0;else{var _e=U-V;switch(Y=K>.5?_e/(2-U-V):_e/(U+V),U){case E:X=(I-B)/_e+(I<B?6:0);break;case I:X=(B-E)/_e+2;break;case B:X=(E-I)/_e+4;break}X/=6}return[X,Y,K,C[3]]}function hue2rgb(C,E,I){return I<0&&(I+=1),I>1&&(I-=1),I<1/6?C+(E-C)*6*I:I<1/2?E:I<2/3?C+(E-C)*(2/3-I)*6:C}function hslToRgb(C){var E=C[0],I=C[1],B=C[2],U,V,X;if(I===0)U=B,X=B,V=B;else{var Y=B<.5?B*(1+I):B+I-B*I,K=2*B-Y;U=hue2rgb(K,Y,E+1/3),V=hue2rgb(K,Y,E),X=hue2rgb(K,Y,E-1/3)}return[U,V,X,C[3]]}function linear(C,E,I,B,U){if((B===void 0||U===void 0)&&(B=E,U=I,E=0,I=1),I<E){var V=I;I=E,E=V}if(C<=E)return B;if(C>=I)return U;var X=I===E?0:(C-E)/(I-E);if(!B.length)return B+(U-B)*X;var Y,K=B.length,_e=createTypedArray("float32",K);for(Y=0;Y<K;Y+=1)_e[Y]=B[Y]+(U[Y]-B[Y])*X;return _e}function random(C,E){if(E===void 0&&(C===void 0?(C=0,E=1):(E=C,C=void 0)),E.length){var I,B=E.length;C||(C=createTypedArray("float32",B));var U=createTypedArray("float32",B),V=BMMath.random();for(I=0;I<B;I+=1)U[I]=C[I]+V*(E[I]-C[I]);return U}C===void 0&&(C=0);var X=BMMath.random();return C+X*(E-C)}function createPath(C,E,I,B){var U,V=C.length,X=shapePool.newElement();X.setPathData(!!B,V);var Y=[0,0],K,_e;for(U=0;U<V;U+=1)K=E&&E[U]?E[U]:Y,_e=I&&I[U]?I[U]:Y,X.setTripleAt(C[U][0],C[U][1],_e[0]+C[U][0],_e[1]+C[U][1],K[0]+C[U][0],K[1]+C[U][1],U,!0);return X}function initiateExpression(elem,data,property){function noOp(C){return C}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=(function C(E,I){var B,U,V=this.pv.length?this.pv.length:1,X=createTypedArray("float32",V);E=5;var Y=Math.floor(time*E);for(B=0,U=0;B<Y;){for(U=0;U<V;U+=1)X[U]+=-I+I*2*BMMath.random();B+=1}var K=time*E,_e=K-Math.floor(K),xe=createTypedArray("float32",V);if(V>1){for(U=0;U<V;U+=1)xe[U]=this.pv[U]+X[U]+(-I+I*2*BMMath.random())*_e;return xe}return this.pv+X[0]+(-I+I*2*BMMath.random())*_e}).bind(this);thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty));function loopInDuration(C,E){return loopIn(C,E,!0)}function loopOutDuration(C,E){return loopOut(C,E,!0)}this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(C,E){var I=[E[0]-C[0],E[1]-C[1],E[2]-C[2]],B=Math.atan2(I[0],Math.sqrt(I[1]*I[1]+I[2]*I[2]))/degToRads,U=-Math.atan2(I[1],I[2])/degToRads;return[U,B,0]}function easeOut(C,E,I,B,U){return applyEase(easeOutBez,C,E,I,B,U)}function easeIn(C,E,I,B,U){return applyEase(easeInBez,C,E,I,B,U)}function ease(C,E,I,B,U){return applyEase(easeInOutBez,C,E,I,B,U)}function applyEase(C,E,I,B,U,V){U===void 0?(U=I,V=B):E=(E-I)/(B-I),E>1?E=1:E<0&&(E=0);var X=C(E);if($bm_isInstanceOfArray(U)){var Y,K=U.length,_e=createTypedArray("float32",K);for(Y=0;Y<K;Y+=1)_e[Y]=(V[Y]-U[Y])*X+U[Y];return _e}return(V-U)*X+U}function nearestKey(C){var E,I=data.k.length,B,U;if(!data.k.length||typeof data.k[0]=="number")B=0,U=0;else if(B=-1,C*=elem.comp.globalData.frameRate,C<data.k[0].t)B=1,U=data.k[0].t;else{for(E=0;E<I-1;E+=1)if(C===data.k[E].t){B=E+1,U=data.k[E].t;break}else if(C>data.k[E].t&&C<data.k[E+1].t){C-data.k[E].t>data.k[E+1].t-C?(B=E+2,U=data.k[E+1].t):(B=E+1,U=data.k[E].t);break}B===-1&&(B=E+1,U=data.k[E].t)}var V={};return V.index=B,V.time=U/elem.comp.globalData.frameRate,V}function key(C){var E,I,B;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+C);C-=1,E={time:data.k[C].t/elem.comp.globalData.frameRate,value:[]};var U=Object.prototype.hasOwnProperty.call(data.k[C],"s")?data.k[C].s:data.k[C-1].e;for(B=U.length,I=0;I<B;I+=1)E[I]=U[I],E.value[I]=U[I];return E}function framesToTime(C,E){return E||(E=elem.comp.globalData.frameRate),C/E}function timeToFrames(C,E){return!C&&C!==0&&(C=time),E||(E=elem.comp.globalData.frameRate),C*E}function seedRandom(C){BMMath.seedrandom(randSeed+C)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(C,E){return typeof value=="string"?E===void 0?value.substring(C):value.substring(C,E):""}function substr(C,E){return typeof value=="string"?E===void 0?value.substr(C):value.substr(C,E):""}function posterizeTime(C){time=C===0?0:Math.floor(time*C)/C,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(C){return value=C,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector"?value:(this.propType==="textSelector"&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),elemType===4&&!content&&(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var C={};C.initExpressions=E,C.resetFrame=ExpressionManager.resetFrame;function E(I){var B=0,U=[];function V(){B+=1}function X(){B-=1,B===0&&K()}function Y(_e){U.indexOf(_e)===-1&&U.push(_e)}function K(){var _e,xe=U.length;for(_e=0;_e<xe;_e+=1)U[_e].release();U.length=0}I.renderer.compInterface=CompExpressionInterface(I.renderer),I.renderer.globalData.projectInterface.registerComposition(I.renderer),I.renderer.globalData.pushExpression=V,I.renderer.globalData.popExpression=X,I.renderer.globalData.registerExpressionProperty=Y}return C}(),MaskManagerInterface=function(){function C(I,B){this._mask=I,this._data=B}Object.defineProperty(C.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(C.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),this._mask.op.v*100}});var E=function(B){var U=createSizedArray(B.viewData.length),V,X=B.viewData.length;for(V=0;V<X;V+=1)U[V]=new C(B.viewData[V],B.masksProperties[V]);var Y=function(_e){for(V=0;V<X;){if(B.masksProperties[V].nm===_e)return U[V];V+=1}return null};return Y};return E}(),ExpressionPropertyInterface=function(){var C={pv:0,v:0,mult:1},E={pv:[0,0,0],v:[0,0,0],mult:1};function I(X,Y,K){Object.defineProperty(X,"velocity",{get:function(){return Y.getVelocityAtTime(Y.comp.currentFrame)}}),X.numKeys=Y.keyframes?Y.keyframes.length:0,X.key=function(_e){if(!X.numKeys)return 0;var xe="";"s"in Y.keyframes[_e-1]?xe=Y.keyframes[_e-1].s:"e"in Y.keyframes[_e-2]?xe=Y.keyframes[_e-2].e:xe=Y.keyframes[_e-2].s;var Z=K==="unidimensional"?new Number(xe):Object.assign({},xe);return Z.time=Y.keyframes[_e-1].t/Y.elem.comp.globalData.frameRate,Z.value=K==="unidimensional"?xe[0]:xe,Z},X.valueAtTime=Y.getValueAtTime,X.speedAtTime=Y.getSpeedAtTime,X.velocityAtTime=Y.getVelocityAtTime,X.propertyGroup=Y.propertyGroup}function B(X){(!X||!("pv"in X))&&(X=C);var Y=1/X.mult,K=X.pv*Y,_e=new Number(K);return _e.value=K,I(_e,X,"unidimensional"),function(){return X.k&&X.getValue(),K=X.v*Y,_e.value!==K&&(_e=new Number(K),_e.value=K,I(_e,X,"unidimensional")),_e}}function U(X){(!X||!("pv"in X))&&(X=E);var Y=1/X.mult,K=X.data&&X.data.l||X.pv.length,_e=createTypedArray("float32",K),xe=createTypedArray("float32",K);return _e.value=xe,I(_e,X,"multidimensional"),function(){X.k&&X.getValue();for(var Z=0;Z<K;Z+=1)xe[Z]=X.v[Z]*Y,_e[Z]=xe[Z];return _e}}function V(){return C}return function(X){return X?X.propType==="unidimensional"?B(X):U(X):V}}(),TransformExpressionInterface=function(){return function(C){function E(X){switch(X){case"scale":case"Scale":case"ADBE Scale":case 6:return E.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return E.rotation;case"ADBE Rotate X":return E.xRotation;case"ADBE Rotate Y":return E.yRotation;case"position":case"Position":case"ADBE Position":case 2:return E.position;case"ADBE Position_0":return E.xPosition;case"ADBE Position_1":return E.yPosition;case"ADBE Position_2":return E.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return E.anchorPoint;case"opacity":case"Opacity":case 11:return E.opacity;default:return null}}Object.defineProperty(E,"rotation",{get:ExpressionPropertyInterface(C.r||C.rz)}),Object.defineProperty(E,"zRotation",{get:ExpressionPropertyInterface(C.rz||C.r)}),Object.defineProperty(E,"xRotation",{get:ExpressionPropertyInterface(C.rx)}),Object.defineProperty(E,"yRotation",{get:ExpressionPropertyInterface(C.ry)}),Object.defineProperty(E,"scale",{get:ExpressionPropertyInterface(C.s)});var I,B,U,V;return C.p?V=ExpressionPropertyInterface(C.p):(I=ExpressionPropertyInterface(C.px),B=ExpressionPropertyInterface(C.py),C.pz&&(U=ExpressionPropertyInterface(C.pz))),Object.defineProperty(E,"position",{get:function(){return C.p?V():[I(),B(),U?U():0]}}),Object.defineProperty(E,"xPosition",{get:ExpressionPropertyInterface(C.px)}),Object.defineProperty(E,"yPosition",{get:ExpressionPropertyInterface(C.py)}),Object.defineProperty(E,"zPosition",{get:ExpressionPropertyInterface(C.pz)}),Object.defineProperty(E,"anchorPoint",{get:ExpressionPropertyInterface(C.a)}),Object.defineProperty(E,"opacity",{get:ExpressionPropertyInterface(C.o)}),Object.defineProperty(E,"skew",{get:ExpressionPropertyInterface(C.sk)}),Object.defineProperty(E,"skewAxis",{get:ExpressionPropertyInterface(C.sa)}),Object.defineProperty(E,"orientation",{get:ExpressionPropertyInterface(C.or)}),E}}(),LayerExpressionInterface=function(){function C(_e){var xe=new Matrix;if(_e!==void 0){var Z=this._elem.finalTransform.mProp.getValueAtTime(_e);Z.clone(xe)}else{var J=this._elem.finalTransform.mProp;J.applyToMatrix(xe)}return xe}function E(_e,xe){var Z=this.getMatrix(xe);return Z.props[12]=0,Z.props[13]=0,Z.props[14]=0,this.applyPoint(Z,_e)}function I(_e,xe){var Z=this.getMatrix(xe);return this.applyPoint(Z,_e)}function B(_e,xe){var Z=this.getMatrix(xe);return Z.props[12]=0,Z.props[13]=0,Z.props[14]=0,this.invertPoint(Z,_e)}function U(_e,xe){var Z=this.getMatrix(xe);return this.invertPoint(Z,_e)}function V(_e,xe){if(this._elem.hierarchy&&this._elem.hierarchy.length){var Z,J=this._elem.hierarchy.length;for(Z=0;Z<J;Z+=1)this._elem.hierarchy[Z].finalTransform.mProp.applyToMatrix(_e)}return _e.applyToPointArray(xe[0],xe[1],xe[2]||0)}function X(_e,xe){if(this._elem.hierarchy&&this._elem.hierarchy.length){var Z,J=this._elem.hierarchy.length;for(Z=0;Z<J;Z+=1)this._elem.hierarchy[Z].finalTransform.mProp.applyToMatrix(_e)}return _e.inversePoint(xe)}function Y(_e){var xe=new Matrix;if(xe.reset(),this._elem.finalTransform.mProp.applyToMatrix(xe),this._elem.hierarchy&&this._elem.hierarchy.length){var Z,J=this._elem.hierarchy.length;for(Z=0;Z<J;Z+=1)this._elem.hierarchy[Z].finalTransform.mProp.applyToMatrix(xe);return xe.inversePoint(_e)}return xe.inversePoint(_e)}function K(){return[1,1,1,1]}return function(_e){var xe;function Z(Ae){Se.mask=new MaskManagerInterface(Ae,_e)}function J(Ae){Se.effect=Ae}function Se(Ae){switch(Ae){case"ADBE Root Vectors Group":case"Contents":case 2:return Se.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return xe;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return Se.effect;case"ADBE Text Properties":return Se.textInterface;default:return null}}Se.getMatrix=C,Se.invertPoint=X,Se.applyPoint=V,Se.toWorld=I,Se.toWorldVec=E,Se.fromWorld=U,Se.fromWorldVec=B,Se.toComp=I,Se.fromComp=Y,Se.sampleImage=K,Se.sourceRectAtTime=_e.sourceRectAtTime.bind(_e),Se._elem=_e,xe=TransformExpressionInterface(_e.finalTransform.mProp);var Te=getDescriptor(xe,"anchorPoint");return Object.defineProperties(Se,{hasParent:{get:function(){return _e.hierarchy.length}},parent:{get:function(){return _e.hierarchy[0].layerInterface}},rotation:getDescriptor(xe,"rotation"),scale:getDescriptor(xe,"scale"),position:getDescriptor(xe,"position"),opacity:getDescriptor(xe,"opacity"),anchorPoint:Te,anchor_point:Te,transform:{get:function(){return xe}},active:{get:function(){return _e.isInRange}}}),Se.startTime=_e.data.st,Se.index=_e.data.ind,Se.source=_e.data.refId,Se.height=_e.data.ty===0?_e.data.h:100,Se.width=_e.data.ty===0?_e.data.w:100,Se.inPoint=_e.data.ip/_e.comp.globalData.frameRate,Se.outPoint=_e.data.op/_e.comp.globalData.frameRate,Se._name=_e.data.nm,Se.registerMaskInterface=Z,Se.registerEffectsInterface=J,Se}}(),propertyGroupFactory=function(){return function(C,E){return function(I){return I=I===void 0?1:I,I<=0?C:E(I-1)}}}(),PropertyInterface=function(){return function(C,E){var I={_name:C};function B(U){return U=U===void 0?1:U,U<=0?I:E(U-1)}return B}}(),EffectsExpressionInterface=function(){var C={createEffectsInterface:E};function E(U,V){if(U.effectsManager){var X=[],Y=U.data.ef,K,_e=U.effectsManager.effectElements.length;for(K=0;K<_e;K+=1)X.push(I(Y[K],U.effectsManager.effectElements[K],V,U));var xe=U.data.ef||[],Z=function(Se){for(K=0,_e=xe.length;K<_e;){if(Se===xe[K].nm||Se===xe[K].mn||Se===xe[K].ix)return X[K];K+=1}return null};return Object.defineProperty(Z,"numProperties",{get:function(){return xe.length}}),Z}return null}function I(U,V,X,Y){function K(Se){for(var Te=U.ef,Ae=0,Me=Te.length;Ae<Me;){if(Se===Te[Ae].nm||Se===Te[Ae].mn||Se===Te[Ae].ix)return Te[Ae].ty===5?xe[Ae]:xe[Ae]();Ae+=1}throw new Error}var _e=propertyGroupFactory(K,X),xe=[],Z,J=U.ef.length;for(Z=0;Z<J;Z+=1)U.ef[Z].ty===5?xe.push(I(U.ef[Z],V.effectElements[Z],V.effectElements[Z].propertyGroup,Y)):xe.push(B(V.effectElements[Z],U.ef[Z].ty,Y,_e));return U.mn==="ADBE Color Control"&&Object.defineProperty(K,"color",{get:function(){return xe[0]()}}),Object.defineProperties(K,{numProperties:{get:function(){return U.np}},_name:{value:U.nm},propertyGroup:{value:_e}}),K.enabled=U.en!==0,K.active=K.enabled,K}function B(U,V,X,Y){var K=ExpressionPropertyInterface(U.p);function _e(){return V===10?X.comp.compInterface(U.p.v):K()}return U.p.setGroupProperty&&U.p.setGroupProperty(PropertyInterface("",Y)),_e}return C}(),ShapePathInterface=function(){return function(E,I,B){var U=I.sh;function V(Y){return Y==="Shape"||Y==="shape"||Y==="Path"||Y==="path"||Y==="ADBE Vector Shape"||Y===2?V.path:null}var X=propertyGroupFactory(V,B);return U.setGroupProperty(PropertyInterface("Path",X)),Object.defineProperties(V,{path:{get:function(){return U.k&&U.getValue(),U}},shape:{get:function(){return U.k&&U.getValue(),U}},_name:{value:E.nm},ix:{value:E.ix},propertyIndex:{value:E.ix},mn:{value:E.mn},propertyGroup:{value:B}}),V}}(),ShapeExpressionInterface=function(){function C(Te,Ae,Me){var Ee=[],we,Pe=Te?Te.length:0;for(we=0;we<Pe;we+=1)Te[we].ty==="gr"?Ee.push(I(Te[we],Ae[we],Me)):Te[we].ty==="fl"?Ee.push(B(Te[we],Ae[we],Me)):Te[we].ty==="st"?Ee.push(X(Te[we],Ae[we],Me)):Te[we].ty==="tm"?Ee.push(Y(Te[we],Ae[we],Me)):Te[we].ty==="tr"||(Te[we].ty==="el"?Ee.push(_e(Te[we],Ae[we],Me)):Te[we].ty==="sr"?Ee.push(xe(Te[we],Ae[we],Me)):Te[we].ty==="sh"?Ee.push(ShapePathInterface(Te[we],Ae[we],Me)):Te[we].ty==="rc"?Ee.push(Z(Te[we],Ae[we],Me)):Te[we].ty==="rd"?Ee.push(J(Te[we],Ae[we],Me)):Te[we].ty==="rp"?Ee.push(Se(Te[we],Ae[we],Me)):Te[we].ty==="gf"?Ee.push(U(Te[we],Ae[we],Me)):Ee.push(V(Te[we],Ae[we])));return Ee}function E(Te,Ae,Me){var Ee,we=function(Fe){for(var Oe=0,$e=Ee.length;Oe<$e;){if(Ee[Oe]._name===Fe||Ee[Oe].mn===Fe||Ee[Oe].propertyIndex===Fe||Ee[Oe].ix===Fe||Ee[Oe].ind===Fe)return Ee[Oe];Oe+=1}return typeof Fe=="number"?Ee[Fe-1]:null};we.propertyGroup=propertyGroupFactory(we,Me),Ee=C(Te.it,Ae.it,we.propertyGroup),we.numProperties=Ee.length;var Pe=K(Te.it[Te.it.length-1],Ae.it[Ae.it.length-1],we.propertyGroup);return we.transform=Pe,we.propertyIndex=Te.cix,we._name=Te.nm,we}function I(Te,Ae,Me){var Ee=function(Fe){switch(Fe){case"ADBE Vectors Group":case"Contents":case 2:return Ee.content;default:return Ee.transform}};Ee.propertyGroup=propertyGroupFactory(Ee,Me);var we=E(Te,Ae,Ee.propertyGroup),Pe=K(Te.it[Te.it.length-1],Ae.it[Ae.it.length-1],Ee.propertyGroup);return Ee.content=we,Ee.transform=Pe,Object.defineProperty(Ee,"_name",{get:function(){return Te.nm}}),Ee.numProperties=Te.np,Ee.propertyIndex=Te.ix,Ee.nm=Te.nm,Ee.mn=Te.mn,Ee}function B(Te,Ae,Me){function Ee(we){return we==="Color"||we==="color"?Ee.color:we==="Opacity"||we==="opacity"?Ee.opacity:null}return Object.defineProperties(Ee,{color:{get:ExpressionPropertyInterface(Ae.c)},opacity:{get:ExpressionPropertyInterface(Ae.o)},_name:{value:Te.nm},mn:{value:Te.mn}}),Ae.c.setGroupProperty(PropertyInterface("Color",Me)),Ae.o.setGroupProperty(PropertyInterface("Opacity",Me)),Ee}function U(Te,Ae,Me){function Ee(we){return we==="Start Point"||we==="start point"?Ee.startPoint:we==="End Point"||we==="end point"?Ee.endPoint:we==="Opacity"||we==="opacity"?Ee.opacity:null}return Object.defineProperties(Ee,{startPoint:{get:ExpressionPropertyInterface(Ae.s)},endPoint:{get:ExpressionPropertyInterface(Ae.e)},opacity:{get:ExpressionPropertyInterface(Ae.o)},type:{get:function(){return"a"}},_name:{value:Te.nm},mn:{value:Te.mn}}),Ae.s.setGroupProperty(PropertyInterface("Start Point",Me)),Ae.e.setGroupProperty(PropertyInterface("End Point",Me)),Ae.o.setGroupProperty(PropertyInterface("Opacity",Me)),Ee}function V(){function Te(){return null}return Te}function X(Te,Ae,Me){var Ee=propertyGroupFactory($e,Me),we=propertyGroupFactory(Oe,Ee);function Pe(Le){Object.defineProperty(Oe,Te.d[Le].nm,{get:ExpressionPropertyInterface(Ae.d.dataProps[Le].p)})}var Ie,Fe=Te.d?Te.d.length:0,Oe={};for(Ie=0;Ie<Fe;Ie+=1)Pe(Ie),Ae.d.dataProps[Ie].p.setGroupProperty(we);function $e(Le){return Le==="Color"||Le==="color"?$e.color:Le==="Opacity"||Le==="opacity"?$e.opacity:Le==="Stroke Width"||Le==="stroke width"?$e.strokeWidth:null}return Object.defineProperties($e,{color:{get:ExpressionPropertyInterface(Ae.c)},opacity:{get:ExpressionPropertyInterface(Ae.o)},strokeWidth:{get:ExpressionPropertyInterface(Ae.w)},dash:{get:function(){return Oe}},_name:{value:Te.nm},mn:{value:Te.mn}}),Ae.c.setGroupProperty(PropertyInterface("Color",Ee)),Ae.o.setGroupProperty(PropertyInterface("Opacity",Ee)),Ae.w.setGroupProperty(PropertyInterface("Stroke Width",Ee)),$e}function Y(Te,Ae,Me){function Ee(Pe){return Pe===Te.e.ix||Pe==="End"||Pe==="end"?Ee.end:Pe===Te.s.ix?Ee.start:Pe===Te.o.ix?Ee.offset:null}var we=propertyGroupFactory(Ee,Me);return Ee.propertyIndex=Te.ix,Ae.s.setGroupProperty(PropertyInterface("Start",we)),Ae.e.setGroupProperty(PropertyInterface("End",we)),Ae.o.setGroupProperty(PropertyInterface("Offset",we)),Ee.propertyIndex=Te.ix,Ee.propertyGroup=Me,Object.defineProperties(Ee,{start:{get:ExpressionPropertyInterface(Ae.s)},end:{get:ExpressionPropertyInterface(Ae.e)},offset:{get:ExpressionPropertyInterface(Ae.o)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}function K(Te,Ae,Me){function Ee(Pe){return Te.a.ix===Pe||Pe==="Anchor Point"?Ee.anchorPoint:Te.o.ix===Pe||Pe==="Opacity"?Ee.opacity:Te.p.ix===Pe||Pe==="Position"?Ee.position:Te.r.ix===Pe||Pe==="Rotation"||Pe==="ADBE Vector Rotation"?Ee.rotation:Te.s.ix===Pe||Pe==="Scale"?Ee.scale:Te.sk&&Te.sk.ix===Pe||Pe==="Skew"?Ee.skew:Te.sa&&Te.sa.ix===Pe||Pe==="Skew Axis"?Ee.skewAxis:null}var we=propertyGroupFactory(Ee,Me);return Ae.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",we)),Ae.transform.mProps.p.setGroupProperty(PropertyInterface("Position",we)),Ae.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",we)),Ae.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",we)),Ae.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",we)),Ae.transform.mProps.sk&&(Ae.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",we)),Ae.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",we))),Ae.transform.op.setGroupProperty(PropertyInterface("Opacity",we)),Object.defineProperties(Ee,{opacity:{get:ExpressionPropertyInterface(Ae.transform.mProps.o)},position:{get:ExpressionPropertyInterface(Ae.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(Ae.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(Ae.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(Ae.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(Ae.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(Ae.transform.mProps.sa)},_name:{value:Te.nm}}),Ee.ty="tr",Ee.mn=Te.mn,Ee.propertyGroup=Me,Ee}function _e(Te,Ae,Me){function Ee(Ie){return Te.p.ix===Ie?Ee.position:Te.s.ix===Ie?Ee.size:null}var we=propertyGroupFactory(Ee,Me);Ee.propertyIndex=Te.ix;var Pe=Ae.sh.ty==="tm"?Ae.sh.prop:Ae.sh;return Pe.s.setGroupProperty(PropertyInterface("Size",we)),Pe.p.setGroupProperty(PropertyInterface("Position",we)),Object.defineProperties(Ee,{size:{get:ExpressionPropertyInterface(Pe.s)},position:{get:ExpressionPropertyInterface(Pe.p)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}function xe(Te,Ae,Me){function Ee(Ie){return Te.p.ix===Ie?Ee.position:Te.r.ix===Ie?Ee.rotation:Te.pt.ix===Ie?Ee.points:Te.or.ix===Ie||Ie==="ADBE Vector Star Outer Radius"?Ee.outerRadius:Te.os.ix===Ie?Ee.outerRoundness:Te.ir&&(Te.ir.ix===Ie||Ie==="ADBE Vector Star Inner Radius")?Ee.innerRadius:Te.is&&Te.is.ix===Ie?Ee.innerRoundness:null}var we=propertyGroupFactory(Ee,Me),Pe=Ae.sh.ty==="tm"?Ae.sh.prop:Ae.sh;return Ee.propertyIndex=Te.ix,Pe.or.setGroupProperty(PropertyInterface("Outer Radius",we)),Pe.os.setGroupProperty(PropertyInterface("Outer Roundness",we)),Pe.pt.setGroupProperty(PropertyInterface("Points",we)),Pe.p.setGroupProperty(PropertyInterface("Position",we)),Pe.r.setGroupProperty(PropertyInterface("Rotation",we)),Te.ir&&(Pe.ir.setGroupProperty(PropertyInterface("Inner Radius",we)),Pe.is.setGroupProperty(PropertyInterface("Inner Roundness",we))),Object.defineProperties(Ee,{position:{get:ExpressionPropertyInterface(Pe.p)},rotation:{get:ExpressionPropertyInterface(Pe.r)},points:{get:ExpressionPropertyInterface(Pe.pt)},outerRadius:{get:ExpressionPropertyInterface(Pe.or)},outerRoundness:{get:ExpressionPropertyInterface(Pe.os)},innerRadius:{get:ExpressionPropertyInterface(Pe.ir)},innerRoundness:{get:ExpressionPropertyInterface(Pe.is)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}function Z(Te,Ae,Me){function Ee(Ie){return Te.p.ix===Ie?Ee.position:Te.r.ix===Ie?Ee.roundness:Te.s.ix===Ie||Ie==="Size"||Ie==="ADBE Vector Rect Size"?Ee.size:null}var we=propertyGroupFactory(Ee,Me),Pe=Ae.sh.ty==="tm"?Ae.sh.prop:Ae.sh;return Ee.propertyIndex=Te.ix,Pe.p.setGroupProperty(PropertyInterface("Position",we)),Pe.s.setGroupProperty(PropertyInterface("Size",we)),Pe.r.setGroupProperty(PropertyInterface("Rotation",we)),Object.defineProperties(Ee,{position:{get:ExpressionPropertyInterface(Pe.p)},roundness:{get:ExpressionPropertyInterface(Pe.r)},size:{get:ExpressionPropertyInterface(Pe.s)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}function J(Te,Ae,Me){function Ee(Ie){return Te.r.ix===Ie||Ie==="Round Corners 1"?Ee.radius:null}var we=propertyGroupFactory(Ee,Me),Pe=Ae;return Ee.propertyIndex=Te.ix,Pe.rd.setGroupProperty(PropertyInterface("Radius",we)),Object.defineProperties(Ee,{radius:{get:ExpressionPropertyInterface(Pe.rd)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}function Se(Te,Ae,Me){function Ee(Ie){return Te.c.ix===Ie||Ie==="Copies"?Ee.copies:Te.o.ix===Ie||Ie==="Offset"?Ee.offset:null}var we=propertyGroupFactory(Ee,Me),Pe=Ae;return Ee.propertyIndex=Te.ix,Pe.c.setGroupProperty(PropertyInterface("Copies",we)),Pe.o.setGroupProperty(PropertyInterface("Offset",we)),Object.defineProperties(Ee,{copies:{get:ExpressionPropertyInterface(Pe.c)},offset:{get:ExpressionPropertyInterface(Pe.o)},_name:{value:Te.nm}}),Ee.mn=Te.mn,Ee}return function(Te,Ae,Me){var Ee;function we(Ie){if(typeof Ie=="number")return Ie=Ie===void 0?1:Ie,Ie===0?Me:Ee[Ie-1];for(var Fe=0,Oe=Ee.length;Fe<Oe;){if(Ee[Fe]._name===Ie)return Ee[Fe];Fe+=1}return null}function Pe(){return Me}return we.propertyGroup=propertyGroupFactory(we,Pe),Ee=C(Te,Ae,we.propertyGroup),we.numProperties=Ee.length,we._name="Contents",we}}(),TextExpressionInterface=function(){return function(C){var E;function I(B){switch(B){case"ADBE Text Document":return I.sourceText;default:return null}}return Object.defineProperty(I,"sourceText",{get:function(){C.textProperty.getValue();var U=C.textProperty.currentData.t;return(!E||U!==E.value)&&(E=new String(U),E.value=U||new String(U),Object.defineProperty(E,"style",{get:function(){return{fillColor:C.textProperty.currentData.fc}}})),E}}),I}}();function _typeof(C){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof=function(I){return typeof I}:_typeof=function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},_typeof(C)}var FootageInterface=function(){var C=function(B){var U="",V=B.getFootageData();function X(){return U="",V=B.getFootageData(),Y}function Y(K){if(V[K])return U=K,V=V[K],_typeof(V)==="object"?Y:V;var _e=K.indexOf(U);if(_e!==-1){var xe=parseInt(K.substr(_e+U.length),10);return V=V[xe],_typeof(V)==="object"?Y:V}return""}return X},E=function(B){function U(V){return V==="Outline"?U.outlineInterface():null}return U._name="Outline",U.outlineInterface=C(B),U};return function(I){function B(U){return U==="Data"?B.dataInterface:null}return B._name="Data",B.dataInterface=E(I),B}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(C){return interfaces[C]||null}var expressionHelpers=function(){function C(X,Y,K){Y.x&&(K.k=!0,K.x=!0,K.initiateExpression=ExpressionManager.initiateExpression,K.effectsSequence.push(K.initiateExpression(X,Y,K).bind(K)))}function E(X){return X*=this.elem.globalData.frameRate,X-=this.offsetTime,X!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<X?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(X,this._cachingAtTime),this._cachingAtTime.lastFrame=X),this._cachingAtTime.value}function I(X){var Y=-.01,K=this.getValueAtTime(X),_e=this.getValueAtTime(X+Y),xe=0;if(K.length){var Z;for(Z=0;Z<K.length;Z+=1)xe+=Math.pow(_e[Z]-K[Z],2);xe=Math.sqrt(xe)*100}else xe=0;return xe}function B(X){if(this.vel!==void 0)return this.vel;var Y=-.001,K=this.getValueAtTime(X),_e=this.getValueAtTime(X+Y),xe;if(K.length){xe=createTypedArray("float32",K.length);var Z;for(Z=0;Z<K.length;Z+=1)xe[Z]=(_e[Z]-K[Z])/Y}else xe=(_e-K)/Y;return xe}function U(){return this.pv}function V(X){this.propertyGroup=X}return{searchExpressions:C,getSpeedAtTime:I,getVelocityAtTime:B,getValueAtTime:E,getStaticValueAtTime:U,setGroupProperty:V}}();function addPropertyDecorator(){function C(J,Se,Te){if(!this.k||!this.keyframes)return this.pv;J=J?J.toLowerCase():"";var Ae=this.comp.renderedFrame,Me=this.keyframes,Ee=Me[Me.length-1].t;if(Ae<=Ee)return this.pv;var we,Pe;Te?(Se?we=Math.abs(Ee-this.elem.comp.globalData.frameRate*Se):we=Math.max(0,Ee-this.elem.data.ip),Pe=Ee-we):((!Se||Se>Me.length-1)&&(Se=Me.length-1),Pe=Me[Me.length-1-Se].t,we=Ee-Pe);var Ie,Fe,Oe;if(J==="pingpong"){var $e=Math.floor((Ae-Pe)/we);if($e%2!==0)return this.getValueAtTime((we-(Ae-Pe)%we+Pe)/this.comp.globalData.frameRate,0)}else if(J==="offset"){var Le=this.getValueAtTime(Pe/this.comp.globalData.frameRate,0),Ue=this.getValueAtTime(Ee/this.comp.globalData.frameRate,0),He=this.getValueAtTime(((Ae-Pe)%we+Pe)/this.comp.globalData.frameRate,0),We=Math.floor((Ae-Pe)/we);if(this.pv.length){for(Oe=new Array(Le.length),Fe=Oe.length,Ie=0;Ie<Fe;Ie+=1)Oe[Ie]=(Ue[Ie]-Le[Ie])*We+He[Ie];return Oe}return(Ue-Le)*We+He}else if(J==="continue"){var je=this.getValueAtTime(Ee/this.comp.globalData.frameRate,0),Ve=this.getValueAtTime((Ee-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(Oe=new Array(je.length),Fe=Oe.length,Ie=0;Ie<Fe;Ie+=1)Oe[Ie]=je[Ie]+(je[Ie]-Ve[Ie])*((Ae-Ee)/this.comp.globalData.frameRate)/5e-4;return Oe}return je+(je-Ve)*((Ae-Ee)/.001)}return this.getValueAtTime(((Ae-Pe)%we+Pe)/this.comp.globalData.frameRate,0)}function E(J,Se,Te){if(!this.k)return this.pv;J=J?J.toLowerCase():"";var Ae=this.comp.renderedFrame,Me=this.keyframes,Ee=Me[0].t;if(Ae>=Ee)return this.pv;var we,Pe;Te?(Se?we=Math.abs(this.elem.comp.globalData.frameRate*Se):we=Math.max(0,this.elem.data.op-Ee),Pe=Ee+we):((!Se||Se>Me.length-1)&&(Se=Me.length-1),Pe=Me[Se].t,we=Pe-Ee);var Ie,Fe,Oe;if(J==="pingpong"){var $e=Math.floor((Ee-Ae)/we);if($e%2===0)return this.getValueAtTime(((Ee-Ae)%we+Ee)/this.comp.globalData.frameRate,0)}else if(J==="offset"){var Le=this.getValueAtTime(Ee/this.comp.globalData.frameRate,0),Ue=this.getValueAtTime(Pe/this.comp.globalData.frameRate,0),He=this.getValueAtTime((we-(Ee-Ae)%we+Ee)/this.comp.globalData.frameRate,0),We=Math.floor((Ee-Ae)/we)+1;if(this.pv.length){for(Oe=new Array(Le.length),Fe=Oe.length,Ie=0;Ie<Fe;Ie+=1)Oe[Ie]=He[Ie]-(Ue[Ie]-Le[Ie])*We;return Oe}return He-(Ue-Le)*We}else if(J==="continue"){var je=this.getValueAtTime(Ee/this.comp.globalData.frameRate,0),Ve=this.getValueAtTime((Ee+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(Oe=new Array(je.length),Fe=Oe.length,Ie=0;Ie<Fe;Ie+=1)Oe[Ie]=je[Ie]+(je[Ie]-Ve[Ie])*(Ee-Ae)/.001;return Oe}return je+(je-Ve)*(Ee-Ae)/.001}return this.getValueAtTime((we-((Ee-Ae)%we+Ee))/this.comp.globalData.frameRate,0)}function I(J,Se){if(!this.k)return this.pv;if(J=(J||.4)*.5,Se=Math.floor(Se||5),Se<=1)return this.pv;var Te=this.comp.renderedFrame/this.comp.globalData.frameRate,Ae=Te-J,Me=Te+J,Ee=Se>1?(Me-Ae)/(Se-1):1,we=0,Pe=0,Ie;this.pv.length?Ie=createTypedArray("float32",this.pv.length):Ie=0;for(var Fe;we<Se;){if(Fe=this.getValueAtTime(Ae+we*Ee),this.pv.length)for(Pe=0;Pe<this.pv.length;Pe+=1)Ie[Pe]+=Fe[Pe];else Ie+=Fe;we+=1}if(this.pv.length)for(Pe=0;Pe<this.pv.length;Pe+=1)Ie[Pe]/=Se;else Ie/=Se;return Ie}function B(J){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var Se=this._transformCachingAtTime.v;if(Se.cloneFromProps(this.pre.props),this.appliedTransformations<1){var Te=this.a.getValueAtTime(J);Se.translate(-Te[0]*this.a.mult,-Te[1]*this.a.mult,Te[2]*this.a.mult)}if(this.appliedTransformations<2){var Ae=this.s.getValueAtTime(J);Se.scale(Ae[0]*this.s.mult,Ae[1]*this.s.mult,Ae[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var Me=this.sk.getValueAtTime(J),Ee=this.sa.getValueAtTime(J);Se.skewFromAxis(-Me*this.sk.mult,Ee*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var we=this.r.getValueAtTime(J);Se.rotate(-we*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var Pe=this.rz.getValueAtTime(J),Ie=this.ry.getValueAtTime(J),Fe=this.rx.getValueAtTime(J),Oe=this.or.getValueAtTime(J);Se.rotateZ(-Pe*this.rz.mult).rotateY(Ie*this.ry.mult).rotateX(Fe*this.rx.mult).rotateZ(-Oe[2]*this.or.mult).rotateY(Oe[1]*this.or.mult).rotateX(Oe[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var $e=this.px.getValueAtTime(J),Le=this.py.getValueAtTime(J);if(this.data.p.z){var Ue=this.pz.getValueAtTime(J);Se.translate($e*this.px.mult,Le*this.py.mult,-Ue*this.pz.mult)}else Se.translate($e*this.px.mult,Le*this.py.mult,0)}else{var He=this.p.getValueAtTime(J);Se.translate(He[0]*this.p.mult,He[1]*this.p.mult,-He[2]*this.p.mult)}return Se}function U(){return this.v.clone(new Matrix)}var V=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(J,Se,Te){var Ae=V(J,Se,Te);return Ae.dynamicProperties.length?Ae.getValueAtTime=B.bind(Ae):Ae.getValueAtTime=U.bind(Ae),Ae.setGroupProperty=expressionHelpers.setGroupProperty,Ae};var X=PropertyFactory.getProp;PropertyFactory.getProp=function(J,Se,Te,Ae,Me){var Ee=X(J,Se,Te,Ae,Me);Ee.kf?Ee.getValueAtTime=expressionHelpers.getValueAtTime.bind(Ee):Ee.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(Ee),Ee.setGroupProperty=expressionHelpers.setGroupProperty,Ee.loopOut=C,Ee.loopIn=E,Ee.smooth=I,Ee.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(Ee),Ee.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(Ee),Ee.numKeys=Se.a===1?Se.k.length:0,Ee.propertyIndex=Se.ix;var we=0;return Te!==0&&(we=createTypedArray("float32",Se.a===1?Se.k[0].s.length:Se.k.length)),Ee._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:we},expressionHelpers.searchExpressions(J,Se,Ee),Ee.k&&Me.addDynamicProperty(Ee),Ee};function Y(J){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),J*=this.elem.globalData.frameRate,J-=this.offsetTime,J!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<J?this._caching.lastIndex:0,this._cachingAtTime.lastTime=J,this.interpolateShape(J,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue}var K=ShapePropertyFactory.getConstructorFunction(),_e=ShapePropertyFactory.getKeyframedConstructorFunction();function xe(){}xe.prototype={vertices:function(Se,Te){this.k&&this.getValue();var Ae=this.v;Te!==void 0&&(Ae=this.getValueAtTime(Te,0));var Me,Ee=Ae._length,we=Ae[Se],Pe=Ae.v,Ie=createSizedArray(Ee);for(Me=0;Me<Ee;Me+=1)Se==="i"||Se==="o"?Ie[Me]=[we[Me][0]-Pe[Me][0],we[Me][1]-Pe[Me][1]]:Ie[Me]=[we[Me][0],we[Me][1]];return Ie},points:function(Se){return this.vertices("v",Se)},inTangents:function(Se){return this.vertices("i",Se)},outTangents:function(Se){return this.vertices("o",Se)},isClosed:function(){return this.v.c},pointOnPath:function(Se,Te){var Ae=this.v;Te!==void 0&&(Ae=this.getValueAtTime(Te,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(Ae));for(var Me=this._segmentsLength,Ee=Me.lengths,we=Me.totalLength*Se,Pe=0,Ie=Ee.length,Fe=0,Oe;Pe<Ie;){if(Fe+Ee[Pe].addedLength>we){var $e=Pe,Le=Ae.c&&Pe===Ie-1?0:Pe+1,Ue=(we-Fe)/Ee[Pe].addedLength;Oe=bez.getPointInSegment(Ae.v[$e],Ae.v[Le],Ae.o[$e],Ae.i[Le],Ue,Ee[Pe]);break}else Fe+=Ee[Pe].addedLength;Pe+=1}return Oe||(Oe=Ae.c?[Ae.v[0][0],Ae.v[0][1]]:[Ae.v[Ae._length-1][0],Ae.v[Ae._length-1][1]]),Oe},vectorOnPath:function(Se,Te,Ae){Se==1?Se=this.v.c:Se==0&&(Se=.999);var Me=this.pointOnPath(Se,Te),Ee=this.pointOnPath(Se+.001,Te),we=Ee[0]-Me[0],Pe=Ee[1]-Me[1],Ie=Math.sqrt(Math.pow(we,2)+Math.pow(Pe,2));if(Ie===0)return[0,0];var Fe=Ae==="tangent"?[we/Ie,Pe/Ie]:[-Pe/Ie,we/Ie];return Fe},tangentOnPath:function(Se,Te){return this.vectorOnPath(Se,Te,"tangent")},normalOnPath:function(Se,Te){return this.vectorOnPath(Se,Te,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([xe],K),extendPrototype([xe],_e),_e.prototype.getValueAtTime=Y,_e.prototype.initiateExpression=ExpressionManager.initiateExpression;var Z=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(J,Se,Te,Ae,Me){var Ee=Z(J,Se,Te,Ae,Me);return Ee.propertyIndex=Se.ix,Ee.lock=!1,Te===3?expressionHelpers.searchExpressions(J,Se.pt,Ee):Te===4&&expressionHelpers.searchExpressions(J,Se.ks,Ee),Ee.k&&J.addDynamicProperty(Ee),Ee}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function C(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(E,I){var B=this.calculateExpression(I);if(E.t!==B){var U={};return this.copyData(U,E),U.t=B.toString(),U.__complete=!1,U}return E},TextProperty.prototype.searchProperty=function(){var E=this.searchKeyframes(),I=this.searchExpressions();return this.kf=E||I,this.kf},TextProperty.prototype.searchExpressions=C}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function C(E,I){var B=createNS("feMerge");B.setAttribute("result",E);var U,V;for(V=0;V<I.length;V+=1)U=createNS("feMergeNode"),U.setAttribute("in",I[V]),B.appendChild(U),B.appendChild(U);return B}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(C,E,I,B,U){this.filterManager=E;var V=createNS("feColorMatrix");V.setAttribute("type","matrix"),V.setAttribute("color-interpolation-filters","linearRGB"),V.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=V,V.setAttribute("result",B+"_tint_1"),C.appendChild(V),V=createNS("feColorMatrix"),V.setAttribute("type","matrix"),V.setAttribute("color-interpolation-filters","sRGB"),V.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),V.setAttribute("result",B+"_tint_2"),C.appendChild(V),this.matrixFilter=V;var X=this.createMergeNode(B,[U,B+"_tint_1",B+"_tint_2"]);C.appendChild(X)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){var E=this.filterManager.effectElements[0].p.v,I=this.filterManager.effectElements[1].p.v,B=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+B+" 0"),this.matrixFilter.setAttribute("values",I[0]-E[0]+" 0 0 0 "+E[0]+" "+(I[1]-E[1])+" 0 0 0 "+E[1]+" "+(I[2]-E[2])+" 0 0 0 "+E[2]+" 0 0 0 1 0")}};function SVGFillFilter(C,E,I,B){this.filterManager=E;var U=createNS("feColorMatrix");U.setAttribute("type","matrix"),U.setAttribute("color-interpolation-filters","sRGB"),U.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),U.setAttribute("result",B),C.appendChild(U),this.matrixFilter=U}SVGFillFilter.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){var E=this.filterManager.effectElements[2].p.v,I=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+E[0]+" 0 0 0 0 "+E[1]+" 0 0 0 0 "+E[2]+" 0 0 0 "+I+" 0")}};function SVGStrokeEffect(C,E,I){this.initialized=!1,this.filterManager=E,this.elem=I,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var C=this.elem.layerElement.children||this.elem.layerElement.childNodes,E,I,B,U;for(this.filterManager.effectElements[1].p.v===1?(U=this.elem.maskManager.masksProperties.length,B=0):(B=this.filterManager.effectElements[0].p.v-1,U=B+1),I=createNS("g"),I.setAttribute("fill","none"),I.setAttribute("stroke-linecap","round"),I.setAttribute("stroke-dashoffset",1),B;B<U;B+=1)E=createNS("path"),I.appendChild(E),this.paths.push({p:E,m:B});if(this.filterManager.effectElements[10].p.v===3){var V=createNS("mask"),X=createElementID();V.setAttribute("id",X),V.setAttribute("mask-type","alpha"),V.appendChild(I),this.elem.globalData.defs.appendChild(V);var Y=createNS("g");for(Y.setAttribute("mask","url("+getLocationHref()+"#"+X+")");C[0];)Y.appendChild(C[0]);this.elem.layerElement.appendChild(Y),this.masker=V,I.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2)for(C=this.elem.layerElement.children||this.elem.layerElement.childNodes;C.length;)this.elem.layerElement.removeChild(C[0]);this.elem.layerElement.appendChild(I),this.elem.layerElement.removeAttribute("mask"),I.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=I},SVGStrokeEffect.prototype.renderFrame=function(C){this.initialized||this.initialize();var E,I=this.paths.length,B,U;for(E=0;E<I;E+=1)if(this.paths[E].m!==-1&&(B=this.elem.maskManager.viewData[this.paths[E].m],U=this.paths[E].p,(C||this.filterManager._mdf||B.prop._mdf)&&U.setAttribute("d",B.lastPath),C||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||B.prop._mdf)){var V;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var X=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*.01,Y=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*.01,K=U.getTotalLength();V="0 0 0 "+K*X+" ";var _e=K*(Y-X),xe=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01,Z=Math.floor(_e/xe),J;for(J=0;J<Z;J+=1)V+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01+" ";V+="0 "+K*10+" 0 0"}else V="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*.01;U.setAttribute("stroke-dasharray",V)}if((C||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2),(C||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v),(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2)&&(C||this.filterManager.effectElements[3].p._mdf)){var Se=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(Se[0]*255)+","+bmFloor(Se[1]*255)+","+bmFloor(Se[2]*255)+")")}};function SVGTritoneFilter(C,E,I,B){this.filterManager=E;var U=createNS("feColorMatrix");U.setAttribute("type","matrix"),U.setAttribute("color-interpolation-filters","linearRGB"),U.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),C.appendChild(U);var V=createNS("feComponentTransfer");V.setAttribute("color-interpolation-filters","sRGB"),V.setAttribute("result",B),this.matrixFilter=V;var X=createNS("feFuncR");X.setAttribute("type","table"),V.appendChild(X),this.feFuncR=X;var Y=createNS("feFuncG");Y.setAttribute("type","table"),V.appendChild(Y),this.feFuncG=Y;var K=createNS("feFuncB");K.setAttribute("type","table"),V.appendChild(K),this.feFuncB=K,C.appendChild(V)}SVGTritoneFilter.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){var E=this.filterManager.effectElements[0].p.v,I=this.filterManager.effectElements[1].p.v,B=this.filterManager.effectElements[2].p.v,U=B[0]+" "+I[0]+" "+E[0],V=B[1]+" "+I[1]+" "+E[1],X=B[2]+" "+I[2]+" "+E[2];this.feFuncR.setAttribute("tableValues",U),this.feFuncG.setAttribute("tableValues",V),this.feFuncB.setAttribute("tableValues",X)}};function SVGProLevelsFilter(C,E,I,B){this.filterManager=E;var U=this.filterManager.effectElements,V=createNS("feComponentTransfer");(U[10].p.k||U[10].p.v!==0||U[11].p.k||U[11].p.v!==1||U[12].p.k||U[12].p.v!==1||U[13].p.k||U[13].p.v!==0||U[14].p.k||U[14].p.v!==1)&&(this.feFuncR=this.createFeFunc("feFuncR",V)),(U[17].p.k||U[17].p.v!==0||U[18].p.k||U[18].p.v!==1||U[19].p.k||U[19].p.v!==1||U[20].p.k||U[20].p.v!==0||U[21].p.k||U[21].p.v!==1)&&(this.feFuncG=this.createFeFunc("feFuncG",V)),(U[24].p.k||U[24].p.v!==0||U[25].p.k||U[25].p.v!==1||U[26].p.k||U[26].p.v!==1||U[27].p.k||U[27].p.v!==0||U[28].p.k||U[28].p.v!==1)&&(this.feFuncB=this.createFeFunc("feFuncB",V)),(U[31].p.k||U[31].p.v!==0||U[32].p.k||U[32].p.v!==1||U[33].p.k||U[33].p.v!==1||U[34].p.k||U[34].p.v!==0||U[35].p.k||U[35].p.v!==1)&&(this.feFuncA=this.createFeFunc("feFuncA",V)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(V.setAttribute("color-interpolation-filters","sRGB"),C.appendChild(V)),(U[3].p.k||U[3].p.v!==0||U[4].p.k||U[4].p.v!==1||U[5].p.k||U[5].p.v!==1||U[6].p.k||U[6].p.v!==0||U[7].p.k||U[7].p.v!==1)&&(V=createNS("feComponentTransfer"),V.setAttribute("color-interpolation-filters","sRGB"),V.setAttribute("result",B),C.appendChild(V),this.feFuncRComposed=this.createFeFunc("feFuncR",V),this.feFuncGComposed=this.createFeFunc("feFuncG",V),this.feFuncBComposed=this.createFeFunc("feFuncB",V))}SVGProLevelsFilter.prototype.createFeFunc=function(C,E){var I=createNS(C);return I.setAttribute("type","table"),E.appendChild(I),I},SVGProLevelsFilter.prototype.getTableValue=function(C,E,I,B,U){for(var V=0,X=256,Y,K=Math.min(C,E),_e=Math.max(C,E),xe=Array.call(null,{length:X}),Z,J=0,Se=U-B,Te=E-C;V<=256;)Y=V/256,Y<=K?Z=Te<0?U:B:Y>=_e?Z=Te<0?B:U:Z=B+Se*Math.pow((Y-C)/Te,1/I),xe[J]=Z,J+=1,V+=256/(X-1);return xe.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){var E,I=this.filterManager.effectElements;this.feFuncRComposed&&(C||I[3].p._mdf||I[4].p._mdf||I[5].p._mdf||I[6].p._mdf||I[7].p._mdf)&&(E=this.getTableValue(I[3].p.v,I[4].p.v,I[5].p.v,I[6].p.v,I[7].p.v),this.feFuncRComposed.setAttribute("tableValues",E),this.feFuncGComposed.setAttribute("tableValues",E),this.feFuncBComposed.setAttribute("tableValues",E)),this.feFuncR&&(C||I[10].p._mdf||I[11].p._mdf||I[12].p._mdf||I[13].p._mdf||I[14].p._mdf)&&(E=this.getTableValue(I[10].p.v,I[11].p.v,I[12].p.v,I[13].p.v,I[14].p.v),this.feFuncR.setAttribute("tableValues",E)),this.feFuncG&&(C||I[17].p._mdf||I[18].p._mdf||I[19].p._mdf||I[20].p._mdf||I[21].p._mdf)&&(E=this.getTableValue(I[17].p.v,I[18].p.v,I[19].p.v,I[20].p.v,I[21].p.v),this.feFuncG.setAttribute("tableValues",E)),this.feFuncB&&(C||I[24].p._mdf||I[25].p._mdf||I[26].p._mdf||I[27].p._mdf||I[28].p._mdf)&&(E=this.getTableValue(I[24].p.v,I[25].p.v,I[26].p.v,I[27].p.v,I[28].p.v),this.feFuncB.setAttribute("tableValues",E)),this.feFuncA&&(C||I[31].p._mdf||I[32].p._mdf||I[33].p._mdf||I[34].p._mdf||I[35].p._mdf)&&(E=this.getTableValue(I[31].p.v,I[32].p.v,I[33].p.v,I[34].p.v,I[35].p.v),this.feFuncA.setAttribute("tableValues",E))}};function SVGDropShadowEffect(C,E,I,B,U){var V=E.container.globalData.renderConfig.filterSize,X=E.data.fs||V;C.setAttribute("x",X.x||V.x),C.setAttribute("y",X.y||V.y),C.setAttribute("width",X.width||V.width),C.setAttribute("height",X.height||V.height),this.filterManager=E;var Y=createNS("feGaussianBlur");Y.setAttribute("in","SourceAlpha"),Y.setAttribute("result",B+"_drop_shadow_1"),Y.setAttribute("stdDeviation","0"),this.feGaussianBlur=Y,C.appendChild(Y);var K=createNS("feOffset");K.setAttribute("dx","25"),K.setAttribute("dy","0"),K.setAttribute("in",B+"_drop_shadow_1"),K.setAttribute("result",B+"_drop_shadow_2"),this.feOffset=K,C.appendChild(K);var _e=createNS("feFlood");_e.setAttribute("flood-color","#00ff00"),_e.setAttribute("flood-opacity","1"),_e.setAttribute("result",B+"_drop_shadow_3"),this.feFlood=_e,C.appendChild(_e);var xe=createNS("feComposite");xe.setAttribute("in",B+"_drop_shadow_3"),xe.setAttribute("in2",B+"_drop_shadow_2"),xe.setAttribute("operator","in"),xe.setAttribute("result",B+"_drop_shadow_4"),C.appendChild(xe);var Z=this.createMergeNode(B,[B+"_drop_shadow_4",U]);C.appendChild(Z)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){if((C||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),C||this.filterManager.effectElements[0].p._mdf){var E=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(E[0]*255),Math.round(E[1]*255),Math.round(E[2]*255)))}if((C||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),C||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var I=this.filterManager.effectElements[3].p.v,B=(this.filterManager.effectElements[2].p.v-90)*degToRads,U=I*Math.cos(B),V=I*Math.sin(B);this.feOffset.setAttribute("dx",U),this.feOffset.setAttribute("dy",V)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(C,E,I){this.initialized=!1,this.filterManager=E,this.filterElem=C,this.elem=I,I.matteElement=createNS("g"),I.matteElement.appendChild(I.layerElement),I.matteElement.appendChild(I.transformedElement),I.baseElement=I.matteElement}SVGMatte3Effect.prototype.findSymbol=function(C){for(var E=0,I=_svgMatteSymbols.length;E<I;){if(_svgMatteSymbols[E]===C)return _svgMatteSymbols[E];E+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(C,E){var I=C.layerElement.parentNode;if(I){for(var B=I.children,U=0,V=B.length;U<V&&B[U]!==C.layerElement;)U+=1;var X;U<=V-2&&(X=B[U+1]);var Y=createNS("use");Y.setAttribute("href","#"+E),X?I.insertBefore(Y,X):I.appendChild(Y)}},SVGMatte3Effect.prototype.setElementAsMask=function(C,E){if(!this.findSymbol(E)){var I=createElementID(),B=createNS("mask");B.setAttribute("id",E.layerId),B.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(E);var U=C.globalData.defs;U.appendChild(B);var V=createNS("symbol");V.setAttribute("id",I),this.replaceInParent(E,I),V.appendChild(E.layerElement),U.appendChild(V);var X=createNS("use");X.setAttribute("href","#"+I),B.appendChild(X),E.data.hd=!1,E.show()}C.setMatte(E.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var C=this.filterManager.effectElements[0].p.v,E=this.elem.comp.elements,I=0,B=E.length;I<B;)E[I]&&E[I].data.ind===C&&this.setElementAsMask(this.elem,E[I]),I+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()};function SVGGaussianBlurEffect(C,E,I,B){C.setAttribute("x","-100%"),C.setAttribute("y","-100%"),C.setAttribute("width","300%"),C.setAttribute("height","300%"),this.filterManager=E;var U=createNS("feGaussianBlur");U.setAttribute("result",B),C.appendChild(U),this.feGaussianBlur=U}SVGGaussianBlurEffect.prototype.renderFrame=function(C){if(C||this.filterManager._mdf){var E=.3,I=this.filterManager.effectElements[0].p.v*E,B=this.filterManager.effectElements[1].p.v,U=B==3?0:I,V=B==2?0:I;this.feGaussianBlur.setAttribute("stdDeviation",U+" "+V);var X=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",X)}};function TransformEffect(){}TransformEffect.prototype.init=function(C){this.effectsManager=C,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(C){if(this._opMdf=!1,this._mdf=!1,C||this.effectsManager._mdf){var E=this.effectsManager.effectElements,I=E[0].p.v,B=E[1].p.v,U=E[2].p.v===1,V=E[3].p.v,X=U?V:E[4].p.v,Y=E[5].p.v,K=E[6].p.v,_e=E[7].p.v;this.matrix.reset(),this.matrix.translate(-I[0],-I[1],I[2]),this.matrix.scale(X*.01,V*.01,1),this.matrix.rotate(-_e*degToRads),this.matrix.skewFromAxis(-Y*degToRads,(K+90)*degToRads),this.matrix.translate(B[0],B[1],0),this._mdf=!0,this.opacity!==E[8].p.v&&(this.opacity=E[8].p.v,this._opMdf=!0)}};function SVGTransformEffect(C,E){this.init(E)}extendPrototype([TransformEffect],SVGTransformEffect);function CVTransformEffect(C){this.init(C)}return extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie})})(lottie$1,lottie$1.exports);var lottieExports=lottie$1.exports;const lottie=getDefaultExportFromCjs(lottieExports),initialState={isPlaying:!1,progress:0,speed:1,isMuted:!1,isWaiting:!1,loaded:!1,size:{width:50,height:50},isDragging:!1,totalFrames:0,totalDuration:0},PixiLottieSprite=React__namespace.forwardRef((C,E)=>{const[I,B]=React__namespace.useState(0),[U,V]=React__namespace.useState(!1),X=React__namespace.useRef(null),Y=React__namespace.useRef(null),K=React__namespace.useRef(),_e=React__namespace.useRef(),xe=React.useRef(),Z=React.useRef(initialState),J=React__namespace.useRef(),Se=React.useRef(document.body),{uniqueId:Te,src:Ae,startAt:Me,endAt:Ee,frameStartAt:we,frameEndAt:Pe,visible:Ie,disabled:Fe,loop:Oe=!1,transformation:{x:$e,y:Le,width:Ue,height:He,colorCorrection:We={}},pointerdown:je=()=>{},pointerout:Ve=()=>{},pointerover:ze=()=>{}}=C,{tl:Xe}=React.useContext(GsapPixieContext);useCustomEventListener(Events.PAUSE,()=>{_e.current&&_e.current.pause()});const{onPointerDown:De,onPointerOut:Be,onPointerOver:Re}=useDebouncedPointerEvents(ze,je,Ve,1),{blurRadius:ke=0,vignette:Ge=0,noise:Ne=0}=We,{temperatureFilter:qe,sharpnessFilter:Ye,hueFilter:Ke,blurFilter:rt,adjustmentFilter:it,vignetteFilter:Qe,noiseFilter:st}=withFiltersHook(We);React__namespace.useLayoutEffect(()=>{K.current=document.createElement("canvas"),K.current.setAttribute("id","lottieContainersvg"),K.current.setAttribute("id",`${Te}lottieContainer`),K.current.setAttribute("width",`${Ue}`),K.current.setAttribute("height",`${He}`);const Ze=Se.current;return Ze.appendChild(K.current),()=>{K.current&&Ze.removeChild(K.current)}},[]),React__namespace.useEffect(()=>{async function Ze(){_e.current&&_e.current.destroy(),K.current.removeAttribute("style"),_e.current=lottie.loadAnimation({container:K.current||document.getElementById("lottieroot"),renderer:"canvas",loop:!1,autoplay:!1,path:Ae,rendererSettings:{context:K.current.getContext("2d"),clearCanvas:!0,progressiveLoad:!1,preserveAspectRatio:"xMaxYMax meet"}}),_e.current.addEventListener("data_ready",()=>{if(K.current&&K.current.setAttribute("style","display:none"),_e.current&&_e.current.renderer.canvasContext){const et=_e.current.totalFrames;Z.current.totalFrames=et;const nt=_e.current.getDuration();Z.current.totalDuration=nt;const tt=_e.current.renderer.canvasContext.canvas,Je=PIXI__namespace.Texture.from(tt);J.current=Je,V(!0),B(nt)}}),_e.current.addEventListener("loaded_images",()=>{}),_e.current.addEventListener("complete",()=>{}),_e.current.addEventListener("loopComplete",()=>{}),_e.current.addEventListener("enterFrame",()=>{}),_e.current.addEventListener("config_ready",()=>{console.log("config_ready",_e.current)}),_e.current.addEventListener("error",et=>{console.log("error",et)})}return Ze(),()=>{_e.current&&(_e.current.removeEventListener("complete"),_e.current.removeEventListener("config_ready"),_e.current.removeEventListener("enterFrame"),_e.current.removeEventListener("loaded_images"),_e.current.removeEventListener("loopComplete"),_e.current.removeEventListener("data_ready"),_e.current.removeEventListener("error"),_e.current.destroy())}},[Ae,Te]),React__namespace.useEffect(()=>(J.current&&J.current.update(),()=>{}),[U]);const at=Ze=>{if(_e.current&&X.current&&xe.current){const nt=Ze(xe.current.time())/xe.current.duration()*Z.current.totalFrames,tt=Z.current.totalFrames;let Je=nt;Je=Math.round(Math.floor(Je)),Je>=tt?(_e.current.goToAndStop(0,!0),J.current&&J.current.update(),Z.current.isPlaying=!1):(_e.current.goToAndStop(Je,!0),J.current&&J.current.update(),Z.current.isPlaying=!0)}};return React__namespace.useEffect(()=>{let Ze=gsap$2.context(()=>{});if(Y.current&&Xe.current&&I>0){const et=Number(Ee)-Number(Me);xe.current&&(xe.current.kill(),Xe.current.remove(xe.current)),Ze=gsap$2.context(()=>{const nt=gsap$2.utils.wrap(Me,I);xe.current=gsap$2.timeline({}).to(Y.current,{duration:Number(et),onUpdate:at,onUpdateParams:[nt,we,Pe]},we),Xe.current.add(xe.current,Me)})}return()=>{xe.current&&(xe.current.kill(),gsap$2.killTweensOf(xe.current)),Ze.revert()}},[Me,Ee,we,Pe,Te,I,Oe]),jsxRuntimeExports.jsx(AbstractContainer,{...C,ref:E,ignoreTlForVideo:!0,pointerdown:De,pointerover:Re,pointerout:Be,children:jsxRuntimeExports.jsx(react.Container,{ref:Y,children:J.current&&jsxRuntimeExports.jsx(react.Sprite,{texture:J.current,width:Ue,height:He,anchor:.5,x:$e,y:Le,ref:X,alpha:Ie?1:0,...!Fe&&Ie&&{interactive:!0,pointerdown:je},filters:[qe,Ye,Ke,it,...ke>0?[rt]:[],...Ge>0?[Qe]:[],...Ne>0?[st]:[]]})})})});PixiLottieSprite.whyDidYouRender={logOnDifferentValues:!0,customName:"PixiLottieSprite"};var BlendModes=(C=>(C[C.NORMAL=0]="NORMAL",C[C.ADD=1]="ADD",C[C.MULTIPLY=2]="MULTIPLY",C[C.SCREEN=3]="SCREEN",C[C.OVERLAY=4]="OVERLAY",C[C.DARKEN=5]="DARKEN",C[C.LIGHTEN=6]="LIGHTEN",C[C.COLOR_DODGE=7]="COLOR_DODGE",C[C.COLOR_BURN=8]="COLOR_BURN",C[C.HARD_LIGHT=9]="HARD_LIGHT",C[C.SOFT_LIGHT=10]="SOFT_LIGHT",C[C.DIFFERENCE=11]="DIFFERENCE",C[C.EXCLUSION=12]="EXCLUSION",C[C.HUE=13]="HUE",C[C.SATURATION=14]="SATURATION",C[C.COLOR=15]="COLOR",C[C.LUMINOSITY=16]="LUMINOSITY",C))(BlendModes||{});exports.Animations=Animations,exports.BlendModes=BlendModes,exports.Events=Events,exports.GsapPixieContext=GsapPixieContext,exports.GsapPixieContextProvider=GsapPixieContextProvider,exports.PixiAnimatedSprite=PixiAnimatedSprite,exports.PixiAudioSprite=PixiAudioSprite,exports.PixiGifSprite=PixiGifSprite,exports.PixiImageSprite=PixiImageSprite,exports.PixiLottieSprite=PixiLottieSprite,exports.PixiRemotionSprite=PixiRemotionSprite,exports.PixiSequence=PixiSequence,exports.PixiSequenceWrapper=PixiSequenceWrapper,exports.PixiSvgPathSprite=PixiSvgPathSprite,exports.PixiTextSprite=PixiTextSprite,exports.PixiVideoCanvasSyncSprite=PixiVideoCanvasSyncSprite,exports.PixiVideoSprite=PixiVideoSprite,exports.emitCustomEvent=emitCustomEvent,exports.newCustomEventEmitter=newCustomEventEmitter,exports.useCustomEventListener=useCustomEventListener,exports.useGsapEffect=useGsapEffect,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});