@clockworkdog/cogs-client 3.0.0-alpha.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -9
- package/dist/CogsConnection.d.ts +0 -4
- package/dist/CogsConnection.js +0 -10
- package/dist/browser/index.mjs +1871 -2773
- package/dist/browser/index.umd.js +13 -13
- package/dist/index.d.ts +1 -7
- package/dist/index.js +1 -5
- package/dist/state-based/MediaClipManager.d.ts +66 -0
- package/dist/state-based/MediaClipManager.js +420 -0
- package/dist/state-based/MediaPreloader.d.ts +2 -2
- package/dist/state-based/MediaPreloader.js +10 -3
- package/dist/state-based/SurfaceManager.d.ts +5 -1
- package/dist/state-based/SurfaceManager.js +31 -10
- package/dist/types/MediaSchema.d.ts +19 -13
- package/dist/types/MediaSchema.js +3 -1
- package/dist/utils/device.d.ts +2 -0
- package/dist/utils/device.js +4 -0
- package/dist/utils/getStateAtTime.d.ts +12 -2
- package/dist/utils/getStateAtTime.js +6 -1
- package/dist/utils/modulo.d.ts +6 -0
- package/dist/utils/modulo.js +17 -0
- package/package.json +3 -6
- package/dist/AudioPlayer.d.ts +0 -49
- package/dist/AudioPlayer.js +0 -474
- package/dist/VideoPlayer.d.ts +0 -49
- package/dist/VideoPlayer.js +0 -385
- package/dist/state-based/AudioManager.d.ts +0 -17
- package/dist/state-based/AudioManager.js +0 -114
- package/dist/state-based/ClipManager.d.ts +0 -23
- package/dist/state-based/ClipManager.js +0 -60
- package/dist/state-based/ImageManager.d.ts +0 -9
- package/dist/state-based/ImageManager.js +0 -54
- package/dist/state-based/VideoManager.d.ts +0 -19
- package/dist/state-based/VideoManager.js +0 -215
- package/dist/types/AllMediaClipStatesMessage.d.ts +0 -5
- package/dist/types/AllMediaClipStatesMessage.js +0 -1
- package/dist/types/AudioState.d.ts +0 -39
- package/dist/types/AudioState.js +0 -1
- package/dist/types/MediaClipStateMessage.d.ts +0 -7
- package/dist/types/MediaClipStateMessage.js +0 -1
- package/dist/types/VideoState.d.ts +0 -26
- package/dist/types/VideoState.js +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(y,F){typeof exports=="object"&&typeof module<"u"?F(exports):typeof define=="function"&&define.amd?define(["exports"],F):(y=typeof globalThis<"u"?globalThis:y||self,F(y.COGS={}))})(this,function(y){"use strict";var F=(e=>(e.Setup="setup",e.Preshow="pre-show",e.InProgress="in progress",e.Finished="finished",e))(F||{});/*! *****************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
4
4
|
this file except in compliance with the License. You may obtain a copy of the
|
|
@@ -11,28 +11,28 @@
|
|
|
11
11
|
|
|
12
12
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
13
13
|
and limitations under the License.
|
|
14
|
-
***************************************************************************** */var
|
|
14
|
+
***************************************************************************** */var me=function(e,t){return me=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var o in r)r.hasOwnProperty(o)&&(n[o]=r[o])},me(e,t)};function Le(e,t){me(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function tn(e){var t=typeof Symbol=="function"&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function nn(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function rn(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(nn(arguments[t]));return e}var Ue=function(){function e(t,n){this.target=n,this.type=t}return e}(),on=function(e){Le(t,e);function t(n,r){var o=e.call(this,"error",r)||this;return o.message=n.message,o.error=n,o}return t}(Ue),sn=function(e){Le(t,e);function t(n,r,o){n===void 0&&(n=1e3),r===void 0&&(r="");var s=e.call(this,"close",o)||this;return s.wasClean=!0,s.code=n,s.reason=r,s}return t}(Ue);/*!
|
|
15
15
|
* Reconnecting WebSocket
|
|
16
16
|
* by Pedro Ladaria <pedro.ladaria@gmail.com>
|
|
17
17
|
* https://github.com/pladaria/reconnecting-websocket
|
|
18
18
|
* License MIT
|
|
19
|
-
*/var gn=function(){if(typeof WebSocket<"u")return WebSocket},yn=function(e){return typeof e<"u"&&!!e&&e.CLOSING===2},M={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+Math.random()*4e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0},bn=function(){function e(t,n,o){var r=this;o===void 0&&(o={}),this._listeners={error:[],message:[],open:[],close:[]},this._retryCount=-1,this._shouldReconnect=!0,this._connectLock=!1,this._binaryType="blob",this._closeCalled=!1,this._messageQueue=[],this.onclose=null,this.onerror=null,this.onmessage=null,this.onopen=null,this._handleOpen=function(a){r._debug("open event");var c=r._options.minUptime,l=c===void 0?M.minUptime:c;clearTimeout(r._connectTimeout),r._uptimeTimeout=setTimeout(function(){return r._acceptOpen()},l),r._ws.binaryType=r._binaryType,r._messageQueue.forEach(function(d){return r._ws.send(d)}),r._messageQueue=[],r.onopen&&r.onopen(a),r._listeners.open.forEach(function(d){return r._callEventListener(a,d)})},this._handleMessage=function(a){r._debug("message event"),r.onmessage&&r.onmessage(a),r._listeners.message.forEach(function(c){return r._callEventListener(a,c)})},this._handleError=function(a){r._debug("error event",a.message),r._disconnect(void 0,a.message==="TIMEOUT"?"timeout":void 0),r.onerror&&r.onerror(a),r._debug("exec error listeners"),r._listeners.error.forEach(function(c){return r._callEventListener(a,c)}),r._connect()},this._handleClose=function(a){r._debug("close event"),r._clearTimeouts(),r._shouldReconnect&&r._connect(),r.onclose&&r.onclose(a),r._listeners.close.forEach(function(c){return r._callEventListener(a,c)})},this._url=t,this._protocols=n,this._options=o,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}return Object.defineProperty(e,"CONNECTING",{get:function(){return 0},enumerable:!0,configurable:!0}),Object.defineProperty(e,"OPEN",{get:function(){return 1},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSING",{get:function(){return 2},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSED",{get:function(){return 3},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CONNECTING",{get:function(){return e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"OPEN",{get:function(){return e.OPEN},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSING",{get:function(){return e.CLOSING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSED",{get:function(){return e.CLOSED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"binaryType",{get:function(){return this._ws?this._ws.binaryType:this._binaryType},set:function(t){this._binaryType=t,this._ws&&(this._ws.binaryType=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"retryCount",{get:function(){return Math.max(this._retryCount,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferedAmount",{get:function(){var t=this._messageQueue.reduce(function(n,o){return typeof o=="string"?n+=o.length:o instanceof Blob?n+=o.size:n+=o.byteLength,n},0);return t+(this._ws?this._ws.bufferedAmount:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extensions",{get:function(){return this._ws?this._ws.extensions:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this._ws?this._ws.protocol:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readyState",{get:function(){return this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._ws?this._ws.url:""},enumerable:!0,configurable:!0}),e.prototype.close=function(t,n){if(t===void 0&&(t=1e3),this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug("close enqueued: no ws instance");return}if(this._ws.readyState===this.CLOSED){this._debug("close: already closed");return}this._ws.close(t,n)},e.prototype.reconnect=function(t,n){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED?this._connect():(this._disconnect(t,n),this._connect())},e.prototype.send=function(t){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",t),this._ws.send(t);else{var n=this._options.maxEnqueuedMessages,o=n===void 0?M.maxEnqueuedMessages:n;this._messageQueue.length<o&&(this._debug("enqueue",t),this._messageQueue.push(t))}},e.prototype.addEventListener=function(t,n){this._listeners[t]&&this._listeners[t].push(n)},e.prototype.dispatchEvent=function(t){var n,o,r=this._listeners[t.type];if(r)try{for(var a=hn(r),c=a.next();!c.done;c=a.next()){var l=c.value;this._callEventListener(t,l)}}catch(d){n={error:d}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return!0},e.prototype.removeEventListener=function(t,n){this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(function(o){return o!==n}))},e.prototype._debug=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._options.debug&&console.log.apply(console,_n(["RWS>"],t))},e.prototype._getNextDelay=function(){var t=this._options,n=t.reconnectionDelayGrowFactor,o=n===void 0?M.reconnectionDelayGrowFactor:n,r=t.minReconnectionDelay,a=r===void 0?M.minReconnectionDelay:r,c=t.maxReconnectionDelay,l=c===void 0?M.maxReconnectionDelay:c,d=0;return this._retryCount>0&&(d=a*Math.pow(o,this._retryCount-1),d>l&&(d=l)),this._debug("next delay",d),d},e.prototype._wait=function(){var t=this;return new Promise(function(n){setTimeout(n,t._getNextDelay())})},e.prototype._getNextUrl=function(t){if(typeof t=="string")return Promise.resolve(t);if(typeof t=="function"){var n=t();if(typeof n=="string")return Promise.resolve(n);if(n.then)return n}throw Error("Invalid URL")},e.prototype._connect=function(){var t=this;if(!(this._connectLock||!this._shouldReconnect)){this._connectLock=!0;var n=this._options,o=n.maxRetries,r=o===void 0?M.maxRetries:o,a=n.connectionTimeout,c=a===void 0?M.connectionTimeout:a,l=n.WebSocket,d=l===void 0?gn():l;if(this._retryCount>=r){this._debug("max retries reached",this._retryCount,">=",r);return}if(this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),!yn(d))throw Error("No valid WebSocket class provided");this._wait().then(function(){return t._getNextUrl(t._url)}).then(function(f){t._closeCalled||(t._debug("connect",{url:f,protocols:t._protocols}),t._ws=t._protocols?new d(f,t._protocols):new d(f),t._ws.binaryType=t._binaryType,t._connectLock=!1,t._addListeners(),t._connectTimeout=setTimeout(function(){return t._handleTimeout()},c))})}},e.prototype._handleTimeout=function(){this._debug("timeout event"),this._handleError(new mn(Error("TIMEOUT"),this))},e.prototype._disconnect=function(t,n){if(t===void 0&&(t=1e3),this._clearTimeouts(),!!this._ws){this._removeListeners();try{this._ws.close(t,n),this._handleClose(new vn(t,n,this))}catch{}}},e.prototype._acceptOpen=function(){this._debug("accept open"),this._retryCount=0},e.prototype._callEventListener=function(t,n){"handleEvent"in n?n.handleEvent(t):n(t)},e.prototype._removeListeners=function(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))},e.prototype._addListeners=function(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))},e.prototype._clearTimeouts=function(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)},e}();const Ye=12095;function Qe(e){const t=typeof window<"u"?window.location:void 0,n=`/assets/${encodeURIComponent(e)}`;return`${t?.protocol}//${t?.hostname}:${Ye}${n}`}async function wn(e){const t=await fetch(e);return URL.createObjectURL(new Blob([await t.arrayBuffer()]))}class En{_items;#e=new EventTarget;constructor(t){this._items={...t}}handleDataStoreItemsMessage(t){this._items={...this._items,...t.items},Object.entries(t.items).forEach(([n,o])=>{this.dispatchEvent(new Se(n,o))}),this.dispatchEvent(new Te(t.items))}get items(){return this._items}getItem(t){return this._items[t]}setItems(t){return this._items={...this._items,...t},Object.entries(t).forEach(([n,o])=>{this.dispatchEvent(new Se(n,o))}),this.dispatchEvent(new Te(t)),this}addEventListener(t,n,o){this.#e.addEventListener(t,n,o)}removeEventListener(t,n,o){this.#e.removeEventListener(t,n,o)}dispatchEvent(t){this.#e.dispatchEvent(t)}}class Se extends Event{constructor(t,n){super("item"),this.key=t,this.value=n}_cogsConnectionEventType="item"}class Te extends Event{constructor(t){super("items"),this.items=t}_cogsConnectionEventType="item"}const oe=globalThis.Date;function kn(e){const t=e-oe.now();function n(...r){return r.length===0?new oe(n.now()):new oe(...r)}const o=Object.getOwnPropertyDescriptors(oe);Object.defineProperties(n,o),n.now=function(){return oe.now()+t},globalThis.Date=n}let Cn=0;function An(){return++Cn}const Sn=5,Tn=1e4;function zn({interval:e,send:t,onChange:n=kn,syncSampleSize:o=Sn,syncRequestTimeout:r=Tn}){const a={};async function c(){const y=[];for(let s=0;s<o;s++){const u=new Promise(p=>{const h=An(),v=Date.now(),_=performance.now();t({timesync:{id:h}});const w=(E,k)=>p({sentAt:_,receivedAt:E,serverNow:k,clientNow:v});a[h]={complete:w},setTimeout(()=>p(null),r)});y.push(u),await u}const g=(await Promise.all(y)).filter(s=>s!==null),i=In(g);isNaN(i)||n(Date.now()+i)}const l=y=>{const g=performance.now(),i=a[y.timesync.id];i&&i.complete(g,y.timesync.now)};c();const d=setInterval(c,e);return{receive:l,destroy:()=>{clearInterval(d)}}}function In(e){return e.map(({sentAt:t,receivedAt:n,clientNow:o,serverNow:r})=>{const a=(n-t)/2;return r-o-a}).reduce((t,n)=>t+n,0)/e.length}class $n{constructor(t,{hostname:n=document.location.hostname,port:o=Ye}={},r,a){this.manifest=t,this.currentState={...r},this.store=new En(a??{});const{useReconnectingWebsocket:c,path:l,pathParams:d}=On(document.location.href);this.urlParams=new URLSearchParams(d),this.urlParams.set("screenWidth",window.screen.width.toString()),this.urlParams.set("screenHeight",window.screen.height.toString()),this.urlParams.set("screenPixelRatio",window.devicePixelRatio.toString());const f=`ws://${n}:${o}${l}?${this.urlParams}`;this.websocket=c?new bn(f):new WebSocket(f);let y;this.websocket.onopen=()=>{this.currentConfig={},this.currentState={},this.dispatchEvent(new Xe),this.setState(this.currentState),y=zn({interval:6e4,send:g=>{this.websocket.send(JSON.stringify(g))}})},this.websocket.addEventListener("message",({data:g})=>{try{const i=JSON.parse(g);if(typeof i=="object"&&i!==null&&"timesync"in i){const s=i;y?.receive(s)}}catch(i){console.error(i)}}),this.websocket.onclose=()=>{y?.destroy(),this.dispatchEvent(new et)},this.websocket.addEventListener("message",({data:g})=>{try{const i=JSON.parse(g);try{if(i.config)this.currentConfig=i.config,this.dispatchEvent(new nt(this.currentConfig));else if(i.updates)this.currentState={...this.currentState,...i.updates},this.dispatchEvent(new ot(i.updates));else if(i.event&&i.event.key)this.dispatchEvent(new it(i.event.key,i.event.value));else if(typeof i.message=="object"){const s=i.message;switch(s.type){case"adjustable_timer_update":this._timerState={startedAt:Date.now(),durationMillis:s.durationMillis,ticking:s.ticking};break;case"show_phase":this._showPhase=s.phase,this.dispatchEvent(new st(s.phase));break;case"media_config_update":this._mediaConfig=s;for(const u of["preferOptimizedAudio","preferOptimizedVideo","preferOptimizedImages"])s[u]?this.urlParams.set(u,"true"):this.urlParams.delete(u);this.dispatchEvent(new rt(s));break;case"data_store_items":this.store.handleDataStoreItemsMessage(s);break}this.dispatchEvent(new tt(s))}}catch(s){console.warn("Error handling data",g,s)}}catch(i){console.error("Unable to parse incoming data from server",g,i)}}),this.store.addEventListener("items",g=>{this.sendDataStoreItems(g.items)});{const g=async()=>{if(navigator.mediaDevices){const i=(await navigator.mediaDevices.enumerateDevices()).filter(({kind:s})=>s==="audiooutput");this.sendAudioOutputs(i),this.audioOutputs=i}};this.eventTarget.addEventListener("open",g),navigator.mediaDevices?.addEventListener("devicechange",g),g()}}websocket;eventTarget=new EventTarget;currentConfig={};get config(){return{...this.currentConfig}}currentState={};get state(){return{...this.currentState}}_showPhase=q.Setup;get showPhase(){return this._showPhase}_timerState=null;get timerState(){return this._timerState?{...this._timerState}:null}_mediaConfig=null;get mediaConfig(){return this._mediaConfig?{...this._mediaConfig}:null}getAssetUrl(t){return`${Qe(t)}?${this.urlParams?.toString()??""}`}audioOutputs=void 0;_selectedAudioOutput="";get selectedAudioOutput(){return this._selectedAudioOutput}store;urlParams;get isConnected(){return this.websocket.readyState===WebSocket.OPEN}close(){this.websocket.close()}sendEvent(t,...[n]){this.isConnected&&this.websocket.send(JSON.stringify({event:{key:t,value:n}}))}setState(t){this.currentState={...this.currentState,...t},this.isConnected&&this.websocket.send(JSON.stringify({updates:t}))}getAudioSinkId(t){return t?this.audioOutputs?.find(({label:n})=>n===t)?.deviceId:""}sendInitialMediaClipStates(t){this.isConnected&&this.websocket.send(JSON.stringify({allMediaClipStates:t}))}sendMediaClipState(t){this.isConnected&&this.websocket.send(JSON.stringify({mediaClipState:t}))}sendAudioOutputs(t){this.isConnected&&this.websocket.send(JSON.stringify({audioOutputs:t}))}sendDataStoreItems(t){this.isConnected&&this.websocket.send(JSON.stringify({dataStoreItems:t}))}setPluginWindowVisible(t){this.isConnected&&this.websocket.send(JSON.stringify({window:{visible:t}}))}addEventListener(t,n,o){this.eventTarget.addEventListener(t,n,o)}removeEventListener(t,n,o){this.eventTarget.removeEventListener(t,n,o)}dispatchEvent(t){this.eventTarget.dispatchEvent(t)}}function On(e){const t=new URL(e),n=new URLSearchParams(t.searchParams),o=n.get("local_id"),r=n.get("simulator")==="true",a=n.get("display")??"",c=t.pathname.startsWith("/plugin/")?decodeURIComponent(t.pathname.split("/")[2]):void 0;if(o){const l=n.get("t")??"";return n.delete("local_id"),{path:`/local/${encodeURIComponent(o)}`,pathParams:new URLSearchParams({t:l}),useReconnectingWebsocket:!0}}else if(r){const l=n.get("name")??"";return n.delete("simulator"),n.delete("name"),{path:`/simulator/${encodeURIComponent(l)}`,pathParams:n,useReconnectingWebsocket:!0}}else if(a){const l=n.get("displayIdIndex")??"";return n.delete("display"),n.delete("displayIdIndex"),{path:`/display/${encodeURIComponent(a)}/${encodeURIComponent(l)}`}}else{if(c)return{path:`/plugin/${encodeURIComponent(c)}`,useReconnectingWebsocket:!0};{const l=n.get("serial")??"";return n.delete("serial"),{path:`/client/${encodeURIComponent(l)}`,pathParams:n}}}}class Xe extends Event{_cogsConnectionEventType="open";constructor(){super("open")}}class et extends Event{_cogsConnectionEventType="close";constructor(){super("close")}}class tt extends Event{constructor(t){super("message"),this.message=t}_cogsConnectionEventType="message"}class nt extends Event{constructor(t){super("config"),this.config=t}_cogsConnectionEventType="config"}class ot extends Event{constructor(t){super("state"),this.state=t}_cogsConnectionEventType="state"}class it extends Event{constructor(t,n){super("event"),this.name=t,this.value=n}_cogsConnectionEventType="event"}class rt extends Event{constructor(t){super("mediaConfig"),this.mediaConfig=t}_cogsConnectionEventType="mediaConfig"}class st extends Event{constructor(t){super("showPhase"),this.showPhase=t}_cogsConnectionEventType="showPhase"}function m(e,t,n){function o(l,d){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:d,constr:c,traits:new Set},enumerable:!1}),l._zod.traits.has(e))return;l._zod.traits.add(e),t(l,d);const f=c.prototype,y=Object.keys(f);for(let g=0;g<y.length;g++){const i=y[g];i in l||(l[i]=f[i].bind(l))}}const r=n?.Parent??Object;class a extends r{}Object.defineProperty(a,"name",{value:e});function c(l){var d;const f=n?.Parent?new a:this;o(f,l),(d=f._zod).deferred??(d.deferred=[]);for(const y of f._zod.deferred)y();return f}return Object.defineProperty(c,"init",{value:o}),Object.defineProperty(c,Symbol.hasInstance,{value:l=>n?.Parent&&l instanceof n.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}class K extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class at extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const ut={};function N(e){return ut}function Pn(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,r])=>t.indexOf(+o)===-1).map(([o,r])=>r)}function ze(e,t){return typeof t=="bigint"?t.toString():t}function Ie(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function $e(e){return e==null}function Oe(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Zn(e,t){const n=(e.toString().split(".")[1]||"").length,o=t.toString();let r=(o.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(o)){const d=o.match(/\d?e-(\d?)/);d?.[1]&&(r=Number.parseInt(d[1]))}const a=n>r?n:r,c=Number.parseInt(e.toFixed(a).replace(".","")),l=Number.parseInt(t.toFixed(a).replace(".",""));return c%l/10**a}const ct=Symbol("evaluating");function A(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==ct)return o===void 0&&(o=ct,o=n()),o},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function F(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function V(...e){const t={};for(const n of e){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function lt(e){return JSON.stringify(e)}function xn(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const dt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ln=Ie(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function H(e){if(ce(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ce(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function pt(e){return H(e)?{...e}:Array.isArray(e)?[...e]:e}const Rn=new Set(["string","number","symbol"]);function J(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(e,t,n){const o=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(o._zod.parent=e),o}function b(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function jn(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Nn={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Dn(e,t){const n=e._zod.def,o=V(e._zod.def,{get shape(){const r={};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(r[a]=n.shape[a])}return F(this,"shape",r),r},checks:[]});return D(e,o)}function Un(e,t){const n=e._zod.def,o=V(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete r[a]}return F(this,"shape",r),r},checks:[]});return D(e,o)}function Mn(e,t){if(!H(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const r=V(e._zod.def,{get shape(){const a={...e._zod.def.shape,...t};return F(this,"shape",a),a},checks:[]});return D(e,r)}function Fn(e,t){if(!H(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const o={...e._zod.def.shape,...t};return F(this,"shape",o),o},checks:e._zod.def.checks};return D(e,n)}function Vn(e,t){const n=V(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return F(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return D(e,n)}function Bn(e,t,n){const o=V(t._zod.def,{get shape(){const r=t._zod.def.shape,a={...r};if(n)for(const c in n){if(!(c in r))throw new Error(`Unrecognized key: "${c}"`);n[c]&&(a[c]=e?new e({type:"optional",innerType:r[c]}):r[c])}else for(const c in r)a[c]=e?new e({type:"optional",innerType:r[c]}):r[c];return F(this,"shape",a),a},checks:[]});return D(t,o)}function Gn(e,t,n){const o=V(t._zod.def,{get shape(){const r=t._zod.def.shape,a={...r};if(n)for(const c in n){if(!(c in a))throw new Error(`Unrecognized key: "${c}"`);n[c]&&(a[c]=new e({type:"nonoptional",innerType:r[c]}))}else for(const c in r)a[c]=new e({type:"nonoptional",innerType:r[c]});return F(this,"shape",a),a},checks:[]});return D(t,o)}function Y(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function B(e,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(e),n})}function le(e){return typeof e=="string"?e:e?.message}function U(e,t,n){const o={...e,path:e.path??[]};if(!e.message){const r=le(e.inst?._zod.def?.error?.(e))??le(t?.error?.(e))??le(n.customError?.(e))??le(n.localeError?.(e))??"Invalid input";o.message=r}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Pe(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ie(...e){const[t,n,o]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}const ht=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ze,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ft=m("$ZodError",ht),_t=m("$ZodError",ht,{Parent:Error});function Wn(e,t=n=>n.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}function qn(e,t=n=>n.message){const n={_errors:[]},o=r=>{for(const a of r.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>o({issues:c}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let c=n,l=0;for(;l<a.path.length;){const d=a.path[l];l===a.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(t(a))):c[d]=c[d]||{_errors:[]},c=c[d],l++}}};return o(e),n}const Ze=e=>(t,n,o,r)=>{const a=o?Object.assign(o,{async:!1}):{async:!1},c=t._zod.run({value:n,issues:[]},a);if(c instanceof Promise)throw new K;if(c.issues.length){const l=new(r?.Err??e)(c.issues.map(d=>U(d,a,N())));throw dt(l,r?.callee),l}return c.value},xe=e=>async(t,n,o,r)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let c=t._zod.run({value:n,issues:[]},a);if(c instanceof Promise&&(c=await c),c.issues.length){const l=new(r?.Err??e)(c.issues.map(d=>U(d,a,N())));throw dt(l,r?.callee),l}return c.value},de=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},r);if(a instanceof Promise)throw new K;return a.issues.length?{success:!1,error:new(e??ft)(a.issues.map(c=>U(c,r,N())))}:{success:!0,data:a.value}},Kn=de(_t),pe=e=>async(t,n,o)=>{const r=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:n,issues:[]},r);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(c=>U(c,r,N())))}:{success:!0,data:a.value}},Hn=pe(_t),Jn=e=>(t,n,o)=>{const r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Ze(e)(t,n,r)},Yn=e=>(t,n,o)=>Ze(e)(t,n,o),Qn=e=>async(t,n,o)=>{const r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return xe(e)(t,n,r)},Xn=e=>async(t,n,o)=>xe(e)(t,n,o),eo=e=>(t,n,o)=>{const r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return de(e)(t,n,r)},to=e=>(t,n,o)=>de(e)(t,n,o),no=e=>async(t,n,o)=>{const r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return pe(e)(t,n,r)},oo=e=>async(t,n,o)=>pe(e)(t,n,o),io=/^[cC][^\s-]{8,}$/,ro=/^[0-9a-z]+$/,so=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ao=/^[0-9a-vA-V]{20}$/,uo=/^[A-Za-z0-9]{27}$/,co=/^[a-zA-Z0-9_-]{21}$/,lo=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,po=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,mt=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ho=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _o(){return new RegExp(fo,"u")}const mo=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,vo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,go=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,yo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,bo=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,vt=/^[A-Za-z0-9_-]*$/,wo=/^\+(?:[0-9]){6,14}[0-9]$/,gt="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Eo=new RegExp(`^${gt}$`);function yt(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ko(e){return new RegExp(`^${yt(e)}$`)}function Co(e){const t=yt({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${gt}T(?:${o})$`)}const Ao=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},So=/^-?\d+$/,To=/^-?\d+(?:\.\d+)?/,zo=/^null$/i,Io=/^[^A-Z]*$/,$o=/^[^a-z]*$/,P=m("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),bt={number:"number",bigint:"bigint",object:"date"},wt=m("$ZodCheckLessThan",(e,t)=>{P.init(e,t);const n=bt[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,a=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Et=m("$ZodCheckGreaterThan",(e,t)=>{P.init(e,t);const n=bt[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,a=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Oo=m("$ZodCheckMultipleOf",(e,t)=>{P.init(e,t),e._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Zn(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Po=m("$ZodCheckNumberFormat",(e,t)=>{P.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,a]=Nn[t.format];e._zod.onattach.push(c=>{const l=c._zod.bag;l.format=t.format,l.minimum=r,l.maximum=a,n&&(l.pattern=So)}),e._zod.check=c=>{const l=c.value;if(n){if(!Number.isInteger(l)){c.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?c.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,continue:!t.abort}):c.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,continue:!t.abort});return}}l<r&&c.issues.push({origin:"number",input:l,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),l>a&&c.issues.push({origin:"number",input:l,code:"too_big",maximum:a,inst:e})}}),Zo=m("$ZodCheckMaxLength",(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!$e(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const r=o.value;if(r.length<=t.maximum)return;const c=Pe(r);o.issues.push({origin:c,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),xo=m("$ZodCheckMinLength",(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!$e(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const r=o.value;if(r.length>=t.minimum)return;const c=Pe(r);o.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Lo=m("$ZodCheckLengthEquals",(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!$e(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=o=>{const r=o.value,a=r.length;if(a===t.length)return;const c=Pe(r),l=a>t.length;o.issues.push({origin:c,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),he=m("$ZodCheckStringFormat",(e,t)=>{var n,o;P.init(e,t),e._zod.onattach.push(r=>{const a=r._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),Ro=m("$ZodCheckRegex",(e,t)=>{he.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),jo=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Io),he.init(e,t)}),No=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=$o),he.init(e,t)}),Do=m("$ZodCheckIncludes",(e,t)=>{P.init(e,t);const n=J(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(r=>{const a=r._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(o)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),Uo=m("$ZodCheckStartsWith",(e,t)=>{P.init(e,t);const n=new RegExp(`^${J(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Mo=m("$ZodCheckEndsWith",(e,t)=>{P.init(e,t);const n=new RegExp(`.*${J(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Fo=m("$ZodCheckOverwrite",(e,t)=>{P.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Vo{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
|
|
20
|
-
`).filter(
|
|
21
|
-
`))}}const
|
|
22
|
-
if (${
|
|
23
|
-
payload.issues = payload.issues.concat(${
|
|
19
|
+
*/var cn=function(){if(typeof WebSocket<"u")return WebSocket},un=function(e){return typeof e<"u"&&!!e&&e.CLOSING===2},D={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+Math.random()*4e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0},an=function(){function e(t,n,r){var o=this;r===void 0&&(r={}),this._listeners={error:[],message:[],open:[],close:[]},this._retryCount=-1,this._shouldReconnect=!0,this._connectLock=!1,this._binaryType="blob",this._closeCalled=!1,this._messageQueue=[],this.onclose=null,this.onerror=null,this.onmessage=null,this.onopen=null,this._handleOpen=function(s){o._debug("open event");var i=o._options.minUptime,c=i===void 0?D.minUptime:i;clearTimeout(o._connectTimeout),o._uptimeTimeout=setTimeout(function(){return o._acceptOpen()},c),o._ws.binaryType=o._binaryType,o._messageQueue.forEach(function(a){return o._ws.send(a)}),o._messageQueue=[],o.onopen&&o.onopen(s),o._listeners.open.forEach(function(a){return o._callEventListener(s,a)})},this._handleMessage=function(s){o._debug("message event"),o.onmessage&&o.onmessage(s),o._listeners.message.forEach(function(i){return o._callEventListener(s,i)})},this._handleError=function(s){o._debug("error event",s.message),o._disconnect(void 0,s.message==="TIMEOUT"?"timeout":void 0),o.onerror&&o.onerror(s),o._debug("exec error listeners"),o._listeners.error.forEach(function(i){return o._callEventListener(s,i)}),o._connect()},this._handleClose=function(s){o._debug("close event"),o._clearTimeouts(),o._shouldReconnect&&o._connect(),o.onclose&&o.onclose(s),o._listeners.close.forEach(function(i){return o._callEventListener(s,i)})},this._url=t,this._protocols=n,this._options=r,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}return Object.defineProperty(e,"CONNECTING",{get:function(){return 0},enumerable:!0,configurable:!0}),Object.defineProperty(e,"OPEN",{get:function(){return 1},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSING",{get:function(){return 2},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSED",{get:function(){return 3},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CONNECTING",{get:function(){return e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"OPEN",{get:function(){return e.OPEN},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSING",{get:function(){return e.CLOSING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSED",{get:function(){return e.CLOSED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"binaryType",{get:function(){return this._ws?this._ws.binaryType:this._binaryType},set:function(t){this._binaryType=t,this._ws&&(this._ws.binaryType=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"retryCount",{get:function(){return Math.max(this._retryCount,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferedAmount",{get:function(){var t=this._messageQueue.reduce(function(n,r){return typeof r=="string"?n+=r.length:r instanceof Blob?n+=r.size:n+=r.byteLength,n},0);return t+(this._ws?this._ws.bufferedAmount:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extensions",{get:function(){return this._ws?this._ws.extensions:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this._ws?this._ws.protocol:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readyState",{get:function(){return this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._ws?this._ws.url:""},enumerable:!0,configurable:!0}),e.prototype.close=function(t,n){if(t===void 0&&(t=1e3),this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug("close enqueued: no ws instance");return}if(this._ws.readyState===this.CLOSED){this._debug("close: already closed");return}this._ws.close(t,n)},e.prototype.reconnect=function(t,n){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED?this._connect():(this._disconnect(t,n),this._connect())},e.prototype.send=function(t){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",t),this._ws.send(t);else{var n=this._options.maxEnqueuedMessages,r=n===void 0?D.maxEnqueuedMessages:n;this._messageQueue.length<r&&(this._debug("enqueue",t),this._messageQueue.push(t))}},e.prototype.addEventListener=function(t,n){this._listeners[t]&&this._listeners[t].push(n)},e.prototype.dispatchEvent=function(t){var n,r,o=this._listeners[t.type];if(o)try{for(var s=tn(o),i=s.next();!i.done;i=s.next()){var c=i.value;this._callEventListener(t,c)}}catch(a){n={error:a}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return!0},e.prototype.removeEventListener=function(t,n){this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(function(r){return r!==n}))},e.prototype._debug=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._options.debug&&console.log.apply(console,rn(["RWS>"],t))},e.prototype._getNextDelay=function(){var t=this._options,n=t.reconnectionDelayGrowFactor,r=n===void 0?D.reconnectionDelayGrowFactor:n,o=t.minReconnectionDelay,s=o===void 0?D.minReconnectionDelay:o,i=t.maxReconnectionDelay,c=i===void 0?D.maxReconnectionDelay:i,a=0;return this._retryCount>0&&(a=s*Math.pow(r,this._retryCount-1),a>c&&(a=c)),this._debug("next delay",a),a},e.prototype._wait=function(){var t=this;return new Promise(function(n){setTimeout(n,t._getNextDelay())})},e.prototype._getNextUrl=function(t){if(typeof t=="string")return Promise.resolve(t);if(typeof t=="function"){var n=t();if(typeof n=="string")return Promise.resolve(n);if(n.then)return n}throw Error("Invalid URL")},e.prototype._connect=function(){var t=this;if(!(this._connectLock||!this._shouldReconnect)){this._connectLock=!0;var n=this._options,r=n.maxRetries,o=r===void 0?D.maxRetries:r,s=n.connectionTimeout,i=s===void 0?D.connectionTimeout:s,c=n.WebSocket,a=c===void 0?cn():c;if(this._retryCount>=o){this._debug("max retries reached",this._retryCount,">=",o);return}if(this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),!un(a))throw Error("No valid WebSocket class provided");this._wait().then(function(){return t._getNextUrl(t._url)}).then(function(l){t._closeCalled||(t._debug("connect",{url:l,protocols:t._protocols}),t._ws=t._protocols?new a(l,t._protocols):new a(l),t._ws.binaryType=t._binaryType,t._connectLock=!1,t._addListeners(),t._connectTimeout=setTimeout(function(){return t._handleTimeout()},i))})}},e.prototype._handleTimeout=function(){this._debug("timeout event"),this._handleError(new on(Error("TIMEOUT"),this))},e.prototype._disconnect=function(t,n){if(t===void 0&&(t=1e3),this._clearTimeouts(),!!this._ws){this._removeListeners();try{this._ws.close(t,n),this._handleClose(new sn(t,n,this))}catch{}}},e.prototype._acceptOpen=function(){this._debug("accept open"),this._retryCount=0},e.prototype._callEventListener=function(t,n){"handleEvent"in n?n.handleEvent(t):n(t)},e.prototype._removeListeners=function(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))},e.prototype._addListeners=function(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))},e.prototype._clearTimeouts=function(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)},e}();const xe=12095;function Me(e){const t=typeof window<"u"?window.location:void 0,n=`/assets/${encodeURIComponent(e)}`;return`${t?.protocol}//${t?.hostname}:${xe}${n}`}async function ln(e){const t=await fetch(e);return URL.createObjectURL(new Blob([await t.arrayBuffer()]))}class hn{_items;#e=new EventTarget;constructor(t){this._items={...t}}handleDataStoreItemsMessage(t){this._items={...this._items,...t.items},Object.entries(t.items).forEach(([n,r])=>{this.dispatchEvent(new _e(n,r))}),this.dispatchEvent(new ge(t.items))}get items(){return this._items}getItem(t){return this._items[t]}setItems(t){return this._items={...this._items,...t},Object.entries(t).forEach(([n,r])=>{this.dispatchEvent(new _e(n,r))}),this.dispatchEvent(new ge(t)),this}addEventListener(t,n,r){this.#e.addEventListener(t,n,r)}removeEventListener(t,n,r){this.#e.removeEventListener(t,n,r)}dispatchEvent(t){this.#e.dispatchEvent(t)}}class _e extends Event{constructor(t,n){super("item"),this.key=t,this.value=n}_cogsConnectionEventType="item"}class ge extends Event{constructor(t){super("items"),this.items=t}_cogsConnectionEventType="item"}const q=globalThis.Date;function dn(e){const t=e-q.now();function n(...o){return o.length===0?new q(n.now()):new q(...o)}const r=Object.getOwnPropertyDescriptors(q);Object.defineProperties(n,r),n.now=function(){return q.now()+t},globalThis.Date=n}let fn=0;function pn(){return++fn}const mn=5,_n=1e4;function gn({interval:e,send:t,onChange:n=dn,syncSampleSize:r=mn,syncRequestTimeout:o=_n}){const s={};async function i(){const h=[];for(let m=0;m<r;m++){const E=new Promise(P=>{const Q=pn(),De=Date.now(),je=performance.now();t({timesync:{id:Q}});const O=(S,M)=>P({sentAt:je,receivedAt:S,serverNow:M,clientNow:De});s[Q]={complete:O},setTimeout(()=>P(null),o)});h.push(E),await E}const p=(await Promise.all(h)).filter(m=>m!==null),d=vn(p);isNaN(d)||n(Date.now()+d)}const c=h=>{const p=performance.now(),d=s[h.timesync.id];d&&d.complete(p,h.timesync.now)};i();const a=setInterval(i,e);return{receive:c,destroy:()=>{clearInterval(a)}}}function vn(e){return e.map(({sentAt:t,receivedAt:n,clientNow:r,serverNow:o})=>{const s=(n-t)/2;return o-r-s}).reduce((t,n)=>t+n,0)/e.length}class bn{constructor(t,{hostname:n=document.location.hostname,port:r=xe}={},o,s){this.manifest=t,this.currentState={...o},this.store=new hn(s??{});const{useReconnectingWebsocket:i,path:c,pathParams:a}=wn(document.location.href);this.urlParams=new URLSearchParams(a),this.urlParams.set("screenWidth",window.screen.width.toString()),this.urlParams.set("screenHeight",window.screen.height.toString()),this.urlParams.set("screenPixelRatio",window.devicePixelRatio.toString());const l=`ws://${n}:${r}${c}?${this.urlParams}`;this.websocket=i?new an(l):new WebSocket(l);let h;this.websocket.onopen=()=>{this.currentConfig={},this.currentState={},this.dispatchEvent(new Fe),this.setState(this.currentState),h=gn({interval:6e4,send:p=>{this.websocket.send(JSON.stringify(p))}})},this.websocket.addEventListener("message",({data:p})=>{try{const d=JSON.parse(p);if(typeof d=="object"&&d!==null&&"timesync"in d){const m=d;h?.receive(m)}}catch(d){console.error(d)}}),this.websocket.onclose=()=>{h?.destroy(),this.dispatchEvent(new Ke)},this.websocket.addEventListener("message",({data:p})=>{try{const d=JSON.parse(p);try{if(d.config)this.currentConfig=d.config,this.dispatchEvent(new We(this.currentConfig));else if(d.updates)this.currentState={...this.currentState,...d.updates},this.dispatchEvent(new Ge(d.updates));else if(d.event&&d.event.key)this.dispatchEvent(new Be(d.event.key,d.event.value));else if(typeof d.message=="object"){const m=d.message;switch(m.type){case"adjustable_timer_update":this._timerState={startedAt:Date.now(),durationMillis:m.durationMillis,ticking:m.ticking};break;case"show_phase":this._showPhase=m.phase,this.dispatchEvent(new He(m.phase));break;case"media_config_update":this._mediaConfig=m;for(const E of["preferOptimizedAudio","preferOptimizedVideo","preferOptimizedImages"])m[E]?this.urlParams.set(E,"true"):this.urlParams.delete(E);this.dispatchEvent(new Je(m));break;case"data_store_items":this.store.handleDataStoreItemsMessage(m);break}this.dispatchEvent(new Ve(m))}}catch(m){console.warn("Error handling data",p,m)}}catch(d){console.error("Unable to parse incoming data from server",p,d)}}),this.store.addEventListener("items",p=>{this.sendDataStoreItems(p.items)});{const p=async()=>{if(navigator.mediaDevices){const d=(await navigator.mediaDevices.enumerateDevices()).filter(({kind:m})=>m==="audiooutput");this.sendAudioOutputs(d),this.audioOutputs=d}};this.eventTarget.addEventListener("open",p),navigator.mediaDevices?.addEventListener("devicechange",p),p()}}websocket;eventTarget=new EventTarget;currentConfig={};get config(){return{...this.currentConfig}}currentState={};get state(){return{...this.currentState}}_showPhase=F.Setup;get showPhase(){return this._showPhase}_timerState=null;get timerState(){return this._timerState?{...this._timerState}:null}_mediaConfig=null;get mediaConfig(){return this._mediaConfig?{...this._mediaConfig}:null}getAssetUrl(t){return`${Me(t)}?${this.urlParams?.toString()??""}`}audioOutputs=void 0;_selectedAudioOutput="";get selectedAudioOutput(){return this._selectedAudioOutput}store;urlParams;get isConnected(){return this.websocket.readyState===WebSocket.OPEN}close(){this.websocket.close()}sendEvent(t,...[n]){this.isConnected&&this.websocket.send(JSON.stringify({event:{key:t,value:n}}))}setState(t){this.currentState={...this.currentState,...t},this.isConnected&&this.websocket.send(JSON.stringify({updates:t}))}getAudioSinkId(t){return t?this.audioOutputs?.find(({label:n})=>n===t)?.deviceId:""}sendAudioOutputs(t){this.isConnected&&this.websocket.send(JSON.stringify({audioOutputs:t}))}sendDataStoreItems(t){this.isConnected&&this.websocket.send(JSON.stringify({dataStoreItems:t}))}setPluginWindowVisible(t){this.isConnected&&this.websocket.send(JSON.stringify({window:{visible:t}}))}addEventListener(t,n,r){this.eventTarget.addEventListener(t,n,r)}removeEventListener(t,n,r){this.eventTarget.removeEventListener(t,n,r)}dispatchEvent(t){this.eventTarget.dispatchEvent(t)}}function wn(e){const t=new URL(e),n=new URLSearchParams(t.searchParams),r=n.get("local_id"),o=n.get("simulator")==="true",s=n.get("display")??"",i=t.pathname.startsWith("/plugin/")?decodeURIComponent(t.pathname.split("/")[2]):void 0;if(r){const c=n.get("t")??"";return n.delete("local_id"),{path:`/local/${encodeURIComponent(r)}`,pathParams:new URLSearchParams({t:c}),useReconnectingWebsocket:!0}}else if(o){const c=n.get("name")??"";return n.delete("simulator"),n.delete("name"),{path:`/simulator/${encodeURIComponent(c)}`,pathParams:n,useReconnectingWebsocket:!0}}else if(s){const c=n.get("displayIdIndex")??"";return n.delete("display"),n.delete("displayIdIndex"),{path:`/display/${encodeURIComponent(s)}/${encodeURIComponent(c)}`}}else{if(i)return{path:`/plugin/${encodeURIComponent(i)}`,useReconnectingWebsocket:!0};{const c=n.get("serial")??"";return n.delete("serial"),{path:`/client/${encodeURIComponent(c)}`,pathParams:n}}}}class Fe extends Event{_cogsConnectionEventType="open";constructor(){super("open")}}class Ke extends Event{_cogsConnectionEventType="close";constructor(){super("close")}}class Ve extends Event{constructor(t){super("message"),this.message=t}_cogsConnectionEventType="message"}class We extends Event{constructor(t){super("config"),this.config=t}_cogsConnectionEventType="config"}class Ge extends Event{constructor(t){super("state"),this.state=t}_cogsConnectionEventType="state"}class Be extends Event{constructor(t,n){super("event"),this.name=t,this.value=n}_cogsConnectionEventType="event"}class Je extends Event{constructor(t){super("mediaConfig"),this.mediaConfig=t}_cogsConnectionEventType="mediaConfig"}class He extends Event{constructor(t){super("showPhase"),this.showPhase=t}_cogsConnectionEventType="showPhase"}function u(e,t,n){function r(c,a){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:a,constr:i,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,a);const l=i.prototype,h=Object.keys(l);for(let p=0;p<h.length;p++){const d=h[p];d in c||(c[d]=l[d].bind(c))}}const o=n?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(c){var a;const l=n?.Parent?new s:this;r(l,c),(a=l._zod).deferred??(a.deferred=[]);for(const h of l._zod.deferred)h();return l}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class K extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ye extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const qe={};function A(e){return qe}function yn(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function ve(e,t){return typeof t=="bigint"?t.toString():t}function be(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function we(e){return e==null}function ye(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function kn(e,t){const n=(e.toString().split(".")[1]||"").length,r=t.toString();let o=(r.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(r)){const a=r.match(/\d?e-(\d?)/);a?.[1]&&(o=Number.parseInt(a[1]))}const s=n>o?n:o,i=Number.parseInt(e.toFixed(s).replace(".","")),c=Number.parseInt(t.toFixed(s).replace(".",""));return i%c/10**s}const Xe=Symbol("evaluating");function _(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Xe)return r===void 0&&(r=Xe,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function j(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function L(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Qe(e){return JSON.stringify(e)}function En(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const et="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ee(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const zn=be(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function V(e){if(ee(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ee(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function tt(e){return V(e)?{...e}:Array.isArray(e)?[...e]:e}const $n=new Set(["string","number","symbol"]);function W(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function R(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function f(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Zn(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Sn={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function On(e,t){const n=e._zod.def,r=L(e._zod.def,{get shape(){const o={};for(const s in t){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(o[s]=n.shape[s])}return j(this,"shape",o),o},checks:[]});return R(e,r)}function Tn(e,t){const n=e._zod.def,r=L(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const s in t){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete o[s]}return j(this,"shape",o),o},checks:[]});return R(e,r)}function In(e,t){if(!V(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const o=L(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return j(this,"shape",s),s},checks:[]});return R(e,o)}function Cn(e,t){if(!V(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const r={...e._zod.def.shape,...t};return j(this,"shape",r),r},checks:e._zod.def.checks};return R(e,n)}function Pn(e,t){const n=L(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return j(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return R(e,n)}function An(e,t,n){const r=L(t._zod.def,{get shape(){const o=t._zod.def.shape,s={...o};if(n)for(const i in n){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(s[i]=e?new e({type:"optional",innerType:o[i]}):o[i])}else for(const i in o)s[i]=e?new e({type:"optional",innerType:o[i]}):o[i];return j(this,"shape",s),s},checks:[]});return R(t,r)}function Rn(e,t,n){const r=L(t._zod.def,{get shape(){const o=t._zod.def.shape,s={...o};if(n)for(const i in n){if(!(i in s))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(s[i]=new e({type:"nonoptional",innerType:o[i]}))}else for(const i in o)s[i]=new e({type:"nonoptional",innerType:o[i]});return j(this,"shape",s),s},checks:[]});return R(t,r)}function G(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function U(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function te(e){return typeof e=="string"?e:e?.message}function N(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=te(e.inst?._zod.def?.error?.(e))??te(t?.error?.(e))??te(n.customError?.(e))??te(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function ke(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function X(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const nt=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ve,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},rt=u("$ZodError",nt),ot=u("$ZodError",nt,{Parent:Error});function Nn(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Dn(e,t=n=>n.message){const n={_errors:[]},r=o=>{for(const s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(i=>r({issues:i}));else if(s.code==="invalid_key")r({issues:s.issues});else if(s.code==="invalid_element")r({issues:s.issues});else if(s.path.length===0)n._errors.push(t(s));else{let i=n,c=0;for(;c<s.path.length;){const a=s.path[c];c===s.path.length-1?(i[a]=i[a]||{_errors:[]},i[a]._errors.push(t(s))):i[a]=i[a]||{_errors:[]},i=i[a],c++}}};return r(e),n}const Ee=e=>(t,n,r,o)=>{const s=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new K;if(i.issues.length){const c=new(o?.Err??e)(i.issues.map(a=>N(a,s,A())));throw et(c,o?.callee),c}return i.value},ze=e=>async(t,n,r,o)=>{const s=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const c=new(o?.Err??e)(i.issues.map(a=>N(a,s,A())));throw et(c,o?.callee),c}return i.value},ne=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new K;return s.issues.length?{success:!1,error:new(e??rt)(s.issues.map(i=>N(i,o,A())))}:{success:!0,data:s.value}},jn=ne(ot),re=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>N(i,o,A())))}:{success:!0,data:s.value}},Ln=re(ot),Un=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Ee(e)(t,n,o)},xn=e=>(t,n,r)=>Ee(e)(t,n,r),Mn=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ze(e)(t,n,o)},Fn=e=>async(t,n,r)=>ze(e)(t,n,r),Kn=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ne(e)(t,n,o)},Vn=e=>(t,n,r)=>ne(e)(t,n,r),Wn=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return re(e)(t,n,o)},Gn=e=>async(t,n,r)=>re(e)(t,n,r),Bn=/^[cC][^\s-]{8,}$/,Jn=/^[0-9a-z]+$/,Hn=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Yn=/^[0-9a-vA-V]{20}$/,qn=/^[A-Za-z0-9]{27}$/,Xn=/^[a-zA-Z0-9_-]{21}$/,Qn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,er=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,st=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,tr=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,nr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function rr(){return new RegExp(nr,"u")}const or=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,sr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ir=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,cr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ur=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,it=/^[A-Za-z0-9_-]*$/,ar=/^\+(?:[0-9]){6,14}[0-9]$/,ct="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",lr=new RegExp(`^${ct}$`);function ut(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function hr(e){return new RegExp(`^${ut(e)}$`)}function dr(e){const t=ut({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${ct}T(?:${r})$`)}const fr=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},pr=/^-?\d+$/,mr=/^-?\d+(?:\.\d+)?/,_r=/^(?:true|false)$/i,gr=/^null$/i,vr=/^[^A-Z]*$/,br=/^[^a-z]*$/,z=u("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),at={number:"number",bigint:"bigint",object:"date"},lt=u("$ZodCheckLessThan",(e,t)=>{z.init(e,t);const n=at[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ht=u("$ZodCheckGreaterThan",(e,t)=>{z.init(e,t);const n=at[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),wr=u("$ZodCheckMultipleOf",(e,t)=>{z.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):kn(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),yr=u("$ZodCheckNumberFormat",(e,t)=>{z.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,s]=Sn[t.format];e._zod.onattach.push(i=>{const c=i._zod.bag;c.format=t.format,c.minimum=o,c.maximum=s,n&&(c.pattern=pr)}),e._zod.check=i=>{const c=i.value;if(n){if(!Number.isInteger(c)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?i.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}):i.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}c<o&&i.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>s&&i.issues.push({origin:"number",input:c,code:"too_big",maximum:s,inst:e})}}),kr=u("$ZodCheckMaxLength",(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const i=ke(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Er=u("$ZodCheckMinLength",(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const i=ke(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),zr=u("$ZodCheckLengthEquals",(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,s=o.length;if(s===t.length)return;const i=ke(o),c=s>t.length;r.issues.push({origin:i,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),oe=u("$ZodCheckStringFormat",(e,t)=>{var n,r;z.init(e,t),e._zod.onattach.push(o=>{const s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),$r=u("$ZodCheckRegex",(e,t)=>{oe.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Zr=u("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=vr),oe.init(e,t)}),Sr=u("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=br),oe.init(e,t)}),Or=u("$ZodCheckIncludes",(e,t)=>{z.init(e,t);const n=W(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Tr=u("$ZodCheckStartsWith",(e,t)=>{z.init(e,t);const n=new RegExp(`^${W(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Ir=u("$ZodCheckEndsWith",(e,t)=>{z.init(e,t);const n=new RegExp(`.*${W(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Cr=u("$ZodCheckOverwrite",(e,t)=>{z.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Pr{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
20
|
+
`).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),s=r.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const t=Function,n=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,o.join(`
|
|
21
|
+
`))}}const Ar={major:4,minor:1,patch:13},g=u("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ar;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const s of o._zod.onattach)s(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(i,c,a)=>{let l=G(i),h;for(const p of c){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(l)continue;const d=i.issues.length,m=p._zod.check(i);if(m instanceof Promise&&a?.async===!1)throw new K;if(h||m instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await m,i.issues.length!==d&&(l||(l=G(i,d)))});else{if(i.issues.length===d)continue;l||(l=G(i,d))}}return h?h.then(()=>i):i},s=(i,c,a)=>{if(G(i))return i.aborted=!0,i;const l=o(c,r,a);if(l instanceof Promise){if(a.async===!1)throw new K;return l.then(h=>e._zod.parse(h,a))}return e._zod.parse(l,a)};e._zod.run=(i,c)=>{if(c.skipChecks)return e._zod.parse(i,c);if(c.direction==="backward"){const l=e._zod.parse({value:i.value,issues:[]},{...c,skipChecks:!0});return l instanceof Promise?l.then(h=>s(h,i,c)):s(l,i,c)}const a=e._zod.parse(i,c);if(a instanceof Promise){if(c.async===!1)throw new K;return a.then(l=>o(l,r,c))}return o(a,r,c)}}e["~standard"]={validate:o=>{try{const s=jn(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Ln(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),$e=u("$ZodString",(e,t)=>{g.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??fr(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),v=u("$ZodStringFormat",(e,t)=>{oe.init(e,t),$e.init(e,t)}),Rr=u("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=er),v.init(e,t)}),Nr=u("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=st(r))}else t.pattern??(t.pattern=st());v.init(e,t)}),Dr=u("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=tr),v.init(e,t)}),jr=u("$ZodURL",(e,t)=>{v.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Lr=u("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=rr()),v.init(e,t)}),Ur=u("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Xn),v.init(e,t)}),xr=u("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Bn),v.init(e,t)}),Mr=u("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Jn),v.init(e,t)}),Fr=u("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Hn),v.init(e,t)}),Kr=u("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Yn),v.init(e,t)}),Vr=u("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=qn),v.init(e,t)}),Wr=u("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=dr(t)),v.init(e,t)}),Gr=u("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=lr),v.init(e,t)}),Br=u("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=hr(t)),v.init(e,t)}),Jr=u("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Qn),v.init(e,t)}),Hr=u("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=or),v.init(e,t),e._zod.bag.format="ipv4"}),Yr=u("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=sr),v.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),qr=u("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ir),v.init(e,t)}),Xr=u("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cr),v.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,s]=r;if(!s)throw new Error;const i=Number(s);if(`${i}`!==s)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function dt(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Qr=u("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ur),v.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{dt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function eo(e){if(!it.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return dt(n)}const to=u("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=it),v.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{eo(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),no=u("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ar),v.init(e,t)});function ro(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const oo=u("$ZodJWT",(e,t)=>{v.init(e,t),e._zod.check=n=>{ro(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),ft=u("$ZodNumber",(e,t)=>{g.init(e,t),e._zod.pattern=e._zod.bag.pattern??mr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),so=u("$ZodNumberFormat",(e,t)=>{yr.init(e,t),ft.init(e,t)}),io=u("$ZodBoolean",(e,t)=>{g.init(e,t),e._zod.pattern=_r,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),co=u("$ZodNull",(e,t)=>{g.init(e,t),e._zod.pattern=gr,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{const o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),uo=u("$ZodUnknown",(e,t)=>{g.init(e,t),e._zod.parse=n=>n}),ao=u("$ZodNever",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function pt(e,t,n){e.issues.length&&t.issues.push(...U(n,e.issues)),t.value[n]=e.value}const lo=u("$ZodArray",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const s=[];for(let i=0;i<o.length;i++){const c=o[i],a=t.element._zod.run({value:c,issues:[]},r);a instanceof Promise?s.push(a.then(l=>pt(l,n,i))):pt(a,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function se(e,t,n,r){e.issues.length&&t.issues.push(...U(n,e.issues)),e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function mt(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=Zn(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function _t(e,t,n,r,o,s){const i=[],c=o.keySet,a=o.catchall._zod,l=a.def.type;for(const h in t){if(c.has(h))continue;if(l==="never"){i.push(h);continue}const p=a.run({value:t[h],issues:[]},r);p instanceof Promise?e.push(p.then(d=>se(d,n,h,t))):se(p,n,h,t)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:s}),e.length?Promise.all(e).then(()=>n):n}const ho=u("$ZodObject",(e,t)=>{if(g.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const c=t.shape;Object.defineProperty(t,"shape",{get:()=>{const a={...c};return Object.defineProperty(t,"shape",{value:a}),a}})}const r=be(()=>mt(t));_(e._zod,"propValues",()=>{const c=t.shape,a={};for(const l in c){const h=c[l]._zod;if(h.values){a[l]??(a[l]=new Set);for(const p of h.values)a[l].add(p)}}return a});const o=ee,s=t.catchall;let i;e._zod.parse=(c,a)=>{i??(i=r.value);const l=c.value;if(!o(l))return c.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),c;c.value={};const h=[],p=i.shape;for(const d of i.keys){const E=p[d]._zod.run({value:l[d],issues:[]},a);E instanceof Promise?h.push(E.then(P=>se(P,c,d,l))):se(E,c,d,l)}return s?_t(h,l,c,a,r.value,e):h.length?Promise.all(h).then(()=>c):c}}),fo=u("$ZodObjectJIT",(e,t)=>{ho.init(e,t);const n=e._zod.parse,r=be(()=>mt(t)),o=d=>{const m=new Pr(["shape","payload","ctx"]),E=r.value,P=O=>{const S=Qe(O);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};m.write("const input = payload.value;");const Q=Object.create(null);let De=0;for(const O of E.keys)Q[O]=`key_${De++}`;m.write("const newResult = {};");for(const O of E.keys){const S=Q[O],M=Qe(O);m.write(`const ${S} = ${P(O)};`),m.write(`
|
|
22
|
+
if (${S}.issues.length) {
|
|
23
|
+
payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
|
|
24
24
|
...iss,
|
|
25
|
-
path: iss.path ? [${
|
|
25
|
+
path: iss.path ? [${M}, ...iss.path] : [${M}]
|
|
26
26
|
})));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
if (${
|
|
31
|
-
if (${
|
|
32
|
-
newResult[${
|
|
30
|
+
if (${S}.value === undefined) {
|
|
31
|
+
if (${M} in input) {
|
|
32
|
+
newResult[${M}] = undefined;
|
|
33
33
|
}
|
|
34
34
|
} else {
|
|
35
|
-
newResult[${
|
|
35
|
+
newResult[${M}] = ${S}.value;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
`)}s.write("payload.value = newResult;"),s.write("return payload;");const _=s.compile();return(w,E)=>_(i,w,E)};let a;const c=ce,l=!ut.jitless,f=l&&Ln.value,y=t.catchall;let g;e._zod.parse=(i,s)=>{g??(g=o.value);const u=i.value;return c(u)?l&&f&&s?.async===!1&&s.jitless!==!0?(a||(a=r(t.shape)),i=a(i,s),y?Tt([],u,i,s,g,e):i):n(i,s):(i.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),i)}});function zt(e,t,n,o){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const r=e.filter(a=>!Y(a));return r.length===1?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(c=>U(c,o,N())))}),t)}const ki=m("$ZodUnion",(e,t)=>{S.init(e,t),A(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),A(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),A(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),A(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${r.map(a=>Oe(a.source)).join("|")})$`)}});const n=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(r,a)=>{if(n)return o(r,a);let c=!1;const l=[];for(const d of t.options){const f=d._zod.run({value:r.value,issues:[]},a);if(f instanceof Promise)l.push(f),c=!0;else{if(f.issues.length===0)return f;l.push(f)}}return c?Promise.all(l).then(d=>zt(d,r,e,a)):zt(l,r,e,a)}}),Ci=m("$ZodIntersection",(e,t)=>{S.init(e,t),e._zod.parse=(n,o)=>{const r=n.value,a=t.left._zod.run({value:r,issues:[]},o),c=t.right._zod.run({value:r,issues:[]},o);return a instanceof Promise||c instanceof Promise?Promise.all([a,c]).then(([d,f])=>It(n,d,f)):It(n,a,c)}});function Re(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(H(e)&&H(t)){const n=Object.keys(t),o=Object.keys(e).filter(a=>n.indexOf(a)!==-1),r={...e,...t};for(const a of o){const c=Re(e[a],t[a]);if(!c.valid)return{valid:!1,mergeErrorPath:[a,...c.mergeErrorPath]};r[a]=c.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=e[o],a=t[o],c=Re(r,a);if(!c.valid)return{valid:!1,mergeErrorPath:[o,...c.mergeErrorPath]};n.push(c.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function It(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Y(e))return e;const o=Re(t.value,n.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const Ai=m("$ZodTuple",(e,t)=>{S.init(e,t);const n=t.items;e._zod.parse=(o,r)=>{const a=o.value;if(!Array.isArray(a))return o.issues.push({input:a,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=[];const c=[],l=[...n].reverse().findIndex(y=>y._zod.optin!=="optional"),d=l===-1?0:n.length-l;if(!t.rest){const y=a.length>n.length,g=a.length<d-1;if(y||g)return o.issues.push({...y?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},input:a,inst:e,origin:"array"}),o}let f=-1;for(const y of n){if(f++,f>=a.length&&f>=d)continue;const g=y._zod.run({value:a[f],issues:[]},r);g instanceof Promise?c.push(g.then(i=>_e(i,o,f))):_e(g,o,f)}if(t.rest){const y=a.slice(n.length);for(const g of y){f++;const i=t.rest._zod.run({value:g,issues:[]},r);i instanceof Promise?c.push(i.then(s=>_e(s,o,f))):_e(i,o,f)}}return c.length?Promise.all(c).then(()=>o):o}});function _e(e,t,n){e.issues.length&&t.issues.push(...B(n,e.issues)),t.value[n]=e.value}const Si=m("$ZodRecord",(e,t)=>{S.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!H(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const a=[],c=t.keyType._zod.values;if(c){n.value={};const l=new Set;for(const f of c)if(typeof f=="string"||typeof f=="number"||typeof f=="symbol"){l.add(typeof f=="number"?f.toString():f);const y=t.valueType._zod.run({value:r[f],issues:[]},o);y instanceof Promise?a.push(y.then(g=>{g.issues.length&&n.issues.push(...B(f,g.issues)),n.value[f]=g.value})):(y.issues.length&&n.issues.push(...B(f,y.issues)),n.value[f]=y.value)}let d;for(const f in r)l.has(f)||(d=d??[],d.push(f));d&&d.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:d})}else{n.value={};for(const l of Reflect.ownKeys(r)){if(l==="__proto__")continue;const d=t.keyType._zod.run({value:l,issues:[]},o);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(d.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(y=>U(y,o,N())),input:l,path:[l],inst:e}),n.value[d.value]=d.value;continue}const f=t.valueType._zod.run({value:r[l],issues:[]},o);f instanceof Promise?a.push(f.then(y=>{y.issues.length&&n.issues.push(...B(l,y.issues)),n.value[d.value]=y.value})):(f.issues.length&&n.issues.push(...B(l,f.issues)),n.value[d.value]=f.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Ti=m("$ZodEnum",(e,t)=>{S.init(e,t);const n=Pn(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(r=>Rn.has(typeof r)).map(r=>typeof r=="string"?J(r):r.toString()).join("|")})$`),e._zod.parse=(r,a)=>{const c=r.value;return o.has(c)||r.issues.push({code:"invalid_value",values:n,input:c,inst:e}),r}}),zi=m("$ZodLiteral",(e,t)=>{if(S.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?J(o):o?J(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,r)=>{const a=o.value;return n.has(a)||o.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),o}}),Ii=m("$ZodTransform",(e,t)=>{S.init(e,t),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new at(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(c=>(n.value=c,n));if(r instanceof Promise)throw new K;return n.value=r,n}});function $t(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const $i=m("$ZodOptional",(e,t)=>{S.init(e,t),e._zod.optin="optional",e._zod.optout="optional",A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),A(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Oe(n.source)})?$`):void 0}),e._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(a=>$t(a,n.value)):$t(r,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),Oi=m("$ZodNullable",(e,t)=>{S.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Oe(n.source)}|null)$`):void 0}),A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),Pi=m("$ZodDefault",(e,t)=>{S.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(a=>Ot(a,t)):Ot(r,t)}});function Ot(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Zi=m("$ZodPrefault",(e,t)=>{S.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),xi=m("$ZodNonOptional",(e,t)=>{S.init(e,t),A(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(a=>Pt(a,e)):Pt(r,e)}});function Pt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Li=m("$ZodCatch",(e,t)=>{S.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(c=>U(c,o,N()))},input:n.value}),n.issues=[]),n)):(n.value=r.value,r.issues.length&&(n.value=t.catchValue({...n,error:{issues:r.issues.map(a=>U(a,o,N()))},input:n.value}),n.issues=[]),n)}}),Ri=m("$ZodPipe",(e,t)=>{S.init(e,t),A(e._zod,"values",()=>t.in._zod.values),A(e._zod,"optin",()=>t.in._zod.optin),A(e._zod,"optout",()=>t.out._zod.optout),A(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,o)=>{if(o.direction==="backward"){const a=t.out._zod.run(n,o);return a instanceof Promise?a.then(c=>me(c,t.in,o)):me(a,t.in,o)}const r=t.in._zod.run(n,o);return r instanceof Promise?r.then(a=>me(a,t.out,o)):me(r,t.out,o)}});function me(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const ji=m("$ZodReadonly",(e,t)=>{S.init(e,t),A(e._zod,"propValues",()=>t.innerType._zod.propValues),A(e._zod,"values",()=>t.innerType._zod.values),A(e._zod,"optin",()=>t.innerType?._zod?.optin),A(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(Zt):Zt(r)}});function Zt(e){return e.value=Object.freeze(e.value),e}const Ni=m("$ZodCustom",(e,t)=>{P.init(e,t),S.init(e,t),e._zod.parse=(n,o)=>n,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(a=>xt(a,n,o,e));xt(r,n,o,e)}});function xt(e,t,n,o){if(!e){const r={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(r.params=o._zod.def.params),t.issues.push(ie(r))}}var Lt;class Di{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];if(this._map.set(t,o),o&&typeof o=="object"&&"id"in o){if(this._idmap.has(o.id))throw new Error(`ID ${o.id} already exists in the registry`);this._idmap.set(o.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const r={...o,...this._map.get(t)};return Object.keys(r).length?r:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Ui(){return new Di}(Lt=globalThis).__zod_globalRegistry??(Lt.__zod_globalRegistry=Ui());const ve=globalThis.__zod_globalRegistry;function Mi(e,t){return new e({type:"string",...b(t)})}function Fi(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...b(t)})}function Rt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...b(t)})}function Vi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...b(t)})}function Bi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...b(t)})}function Gi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...b(t)})}function Wi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...b(t)})}function qi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...b(t)})}function Ki(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...b(t)})}function Hi(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...b(t)})}function Ji(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...b(t)})}function Yi(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...b(t)})}function Qi(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...b(t)})}function Xi(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...b(t)})}function er(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...b(t)})}function tr(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...b(t)})}function nr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...b(t)})}function or(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...b(t)})}function ir(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...b(t)})}function rr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...b(t)})}function sr(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...b(t)})}function ar(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...b(t)})}function ur(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...b(t)})}function cr(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...b(t)})}function lr(e,t){return new e({type:"string",format:"date",check:"string_format",...b(t)})}function dr(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...b(t)})}function pr(e,t){return new e({type:"string",format:"duration",check:"string_format",...b(t)})}function hr(e,t){return new e({type:"number",checks:[],...b(t)})}function fr(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...b(t)})}function _r(e,t){return new e({type:"null",...b(t)})}function mr(e){return new e({type:"unknown"})}function vr(e,t){return new e({type:"never",...b(t)})}function jt(e,t){return new wt({check:"less_than",...b(t),value:e,inclusive:!1})}function je(e,t){return new wt({check:"less_than",...b(t),value:e,inclusive:!0})}function Nt(e,t){return new Et({check:"greater_than",...b(t),value:e,inclusive:!1})}function Ne(e,t){return new Et({check:"greater_than",...b(t),value:e,inclusive:!0})}function Dt(e,t){return new Oo({check:"multiple_of",...b(t),value:e})}function Ut(e,t){return new Zo({check:"max_length",...b(t),maximum:e})}function ge(e,t){return new xo({check:"min_length",...b(t),minimum:e})}function Mt(e,t){return new Lo({check:"length_equals",...b(t),length:e})}function gr(e,t){return new Ro({check:"string_format",format:"regex",...b(t),pattern:e})}function yr(e){return new jo({check:"string_format",format:"lowercase",...b(e)})}function br(e){return new No({check:"string_format",format:"uppercase",...b(e)})}function wr(e,t){return new Do({check:"string_format",format:"includes",...b(t),includes:e})}function Er(e,t){return new Uo({check:"string_format",format:"starts_with",...b(t),prefix:e})}function kr(e,t){return new Mo({check:"string_format",format:"ends_with",...b(t),suffix:e})}function Q(e){return new Fo({check:"overwrite",tx:e})}function Cr(e){return Q(t=>t.normalize(e))}function Ar(){return Q(e=>e.trim())}function Sr(){return Q(e=>e.toLowerCase())}function Tr(){return Q(e=>e.toUpperCase())}function zr(){return Q(e=>xn(e))}function Ir(e,t,n){return new e({type:"array",element:t,...b(n)})}function $r(e,t,n){return new e({type:"custom",check:"custom",fn:t,...b(n)})}function Or(e){const t=Pr(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(ie(o,n.value,t._zod.def));else{const r=o;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t),r.continue??(r.continue=!t._zod.def.abort),n.issues.push(ie(r))}},e(n.value,n)));return t}function Pr(e,t){const n=new P({check:"custom",...b(t)});return n._zod.check=e,n}const Zr=m("ZodISODateTime",(e,t)=>{ni.init(e,t),O.init(e,t)});function xr(e){return cr(Zr,e)}const Lr=m("ZodISODate",(e,t)=>{oi.init(e,t),O.init(e,t)});function Rr(e){return lr(Lr,e)}const jr=m("ZodISOTime",(e,t)=>{ii.init(e,t),O.init(e,t)});function Nr(e){return dr(jr,e)}const Dr=m("ZodISODuration",(e,t)=>{ri.init(e,t),O.init(e,t)});function Ur(e){return pr(Dr,e)}const Z=m("ZodError",(e,t)=>{ft.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>qn(e,n)},flatten:{value:n=>Wn(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ze,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ze,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Mr=Ze(Z),Fr=xe(Z),Vr=de(Z),Br=pe(Z),Gr=Jn(Z),Wr=Yn(Z),qr=Qn(Z),Kr=Xn(Z),Hr=eo(Z),Jr=to(Z),Yr=no(Z),Qr=oo(Z),$=m("ZodType",(e,t)=>(S.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(V(t,{checks:[...t.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]})),e.clone=(n,o)=>D(e,n,o),e.brand=()=>e,e.register=(n,o)=>(n.add(e,o),e),e.parse=(n,o)=>Mr(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>Vr(e,n,o),e.parseAsync=async(n,o)=>Fr(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>Br(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>Gr(e,n,o),e.decode=(n,o)=>Wr(e,n,o),e.encodeAsync=async(n,o)=>qr(e,n,o),e.decodeAsync=async(n,o)=>Kr(e,n,o),e.safeEncode=(n,o)=>Hr(e,n,o),e.safeDecode=(n,o)=>Jr(e,n,o),e.safeEncodeAsync=async(n,o)=>Yr(e,n,o),e.safeDecodeAsync=async(n,o)=>Qr(e,n,o),e.refine=(n,o)=>e.check(Ks(n,o)),e.superRefine=n=>e.check(Hs(n)),e.overwrite=n=>e.check(Q(n)),e.optional=()=>Kt(e),e.nullable=()=>Ht(e),e.nullish=()=>Kt(Ht(e)),e.nonoptional=n=>Ms(e,n),e.array=()=>Cs(e),e.or=n=>G([e,n]),e.and=n=>zs(e,n),e.transform=n=>Yt(e,Ls(n)),e.default=n=>Ns(e,n),e.prefault=n=>Us(e,n),e.catch=n=>Vs(e,n),e.pipe=n=>Yt(e,n),e.readonly=()=>Ws(e),e.describe=n=>{const o=e.clone();return ve.add(o,{description:n}),o},Object.defineProperty(e,"description",{get(){return ve.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return ve.get(e);const o=e.clone();return ve.add(o,n[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Ft=m("_ZodString",(e,t)=>{Le.init(e,t),$.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...o)=>e.check(gr(...o)),e.includes=(...o)=>e.check(wr(...o)),e.startsWith=(...o)=>e.check(Er(...o)),e.endsWith=(...o)=>e.check(kr(...o)),e.min=(...o)=>e.check(ge(...o)),e.max=(...o)=>e.check(Ut(...o)),e.length=(...o)=>e.check(Mt(...o)),e.nonempty=(...o)=>e.check(ge(1,...o)),e.lowercase=o=>e.check(yr(o)),e.uppercase=o=>e.check(br(o)),e.trim=()=>e.check(Ar()),e.normalize=(...o)=>e.check(Cr(...o)),e.toLowerCase=()=>e.check(Sr()),e.toUpperCase=()=>e.check(Tr()),e.slugify=()=>e.check(zr())}),Xr=m("ZodString",(e,t)=>{Le.init(e,t),Ft.init(e,t),e.email=n=>e.check(Fi(es,n)),e.url=n=>e.check(qi(ts,n)),e.jwt=n=>e.check(ur(ms,n)),e.emoji=n=>e.check(Ki(ns,n)),e.guid=n=>e.check(Rt(Vt,n)),e.uuid=n=>e.check(Vi(ye,n)),e.uuidv4=n=>e.check(Bi(ye,n)),e.uuidv6=n=>e.check(Gi(ye,n)),e.uuidv7=n=>e.check(Wi(ye,n)),e.nanoid=n=>e.check(Hi(os,n)),e.guid=n=>e.check(Rt(Vt,n)),e.cuid=n=>e.check(Ji(is,n)),e.cuid2=n=>e.check(Yi(rs,n)),e.ulid=n=>e.check(Qi(ss,n)),e.base64=n=>e.check(rr(hs,n)),e.base64url=n=>e.check(sr(fs,n)),e.xid=n=>e.check(Xi(as,n)),e.ksuid=n=>e.check(er(us,n)),e.ipv4=n=>e.check(tr(cs,n)),e.ipv6=n=>e.check(nr(ls,n)),e.cidrv4=n=>e.check(or(ds,n)),e.cidrv6=n=>e.check(ir(ps,n)),e.e164=n=>e.check(ar(_s,n)),e.datetime=n=>e.check(xr(n)),e.date=n=>e.check(Rr(n)),e.time=n=>e.check(Nr(n)),e.duration=n=>e.check(Ur(n))});function X(e){return Mi(Xr,e)}const O=m("ZodStringFormat",(e,t)=>{T.init(e,t),Ft.init(e,t)}),es=m("ZodEmail",(e,t)=>{qo.init(e,t),O.init(e,t)}),Vt=m("ZodGUID",(e,t)=>{Go.init(e,t),O.init(e,t)}),ye=m("ZodUUID",(e,t)=>{Wo.init(e,t),O.init(e,t)}),ts=m("ZodURL",(e,t)=>{Ko.init(e,t),O.init(e,t)}),ns=m("ZodEmoji",(e,t)=>{Ho.init(e,t),O.init(e,t)}),os=m("ZodNanoID",(e,t)=>{Jo.init(e,t),O.init(e,t)}),is=m("ZodCUID",(e,t)=>{Yo.init(e,t),O.init(e,t)}),rs=m("ZodCUID2",(e,t)=>{Qo.init(e,t),O.init(e,t)}),ss=m("ZodULID",(e,t)=>{Xo.init(e,t),O.init(e,t)}),as=m("ZodXID",(e,t)=>{ei.init(e,t),O.init(e,t)}),us=m("ZodKSUID",(e,t)=>{ti.init(e,t),O.init(e,t)}),cs=m("ZodIPv4",(e,t)=>{si.init(e,t),O.init(e,t)}),ls=m("ZodIPv6",(e,t)=>{ai.init(e,t),O.init(e,t)}),ds=m("ZodCIDRv4",(e,t)=>{ui.init(e,t),O.init(e,t)}),ps=m("ZodCIDRv6",(e,t)=>{ci.init(e,t),O.init(e,t)}),hs=m("ZodBase64",(e,t)=>{li.init(e,t),O.init(e,t)}),fs=m("ZodBase64URL",(e,t)=>{pi.init(e,t),O.init(e,t)}),_s=m("ZodE164",(e,t)=>{hi.init(e,t),O.init(e,t)}),ms=m("ZodJWT",(e,t)=>{_i.init(e,t),O.init(e,t)}),Bt=m("ZodNumber",(e,t)=>{Ct.init(e,t),$.init(e,t),e.gt=(o,r)=>e.check(Nt(o,r)),e.gte=(o,r)=>e.check(Ne(o,r)),e.min=(o,r)=>e.check(Ne(o,r)),e.lt=(o,r)=>e.check(jt(o,r)),e.lte=(o,r)=>e.check(je(o,r)),e.max=(o,r)=>e.check(je(o,r)),e.int=o=>e.check(Gt(o)),e.safe=o=>e.check(Gt(o)),e.positive=o=>e.check(Nt(0,o)),e.nonnegative=o=>e.check(Ne(0,o)),e.negative=o=>e.check(jt(0,o)),e.nonpositive=o=>e.check(je(0,o)),e.multipleOf=(o,r)=>e.check(Dt(o,r)),e.step=(o,r)=>e.check(Dt(o,r)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function x(e){return hr(Bt,e)}const vs=m("ZodNumberFormat",(e,t)=>{mi.init(e,t),Bt.init(e,t)});function Gt(e){return fr(vs,e)}const gs=m("ZodNull",(e,t)=>{vi.init(e,t),$.init(e,t)});function ys(e){return _r(gs,e)}const bs=m("ZodUnknown",(e,t)=>{gi.init(e,t),$.init(e,t)});function Wt(){return mr(bs)}const ws=m("ZodNever",(e,t)=>{yi.init(e,t),$.init(e,t)});function Es(e){return vr(ws,e)}const ks=m("ZodArray",(e,t)=>{bi.init(e,t),$.init(e,t),e.element=t.element,e.min=(n,o)=>e.check(ge(n,o)),e.nonempty=n=>e.check(ge(1,n)),e.max=(n,o)=>e.check(Ut(n,o)),e.length=(n,o)=>e.check(Mt(n,o)),e.unwrap=()=>e.element});function Cs(e,t){return Ir(ks,e,t)}const As=m("ZodObject",(e,t)=>{Ei.init(e,t),$.init(e,t),A(e,"shape",()=>t.shape),e.keyof=()=>Ps(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Wt()}),e.loose=()=>e.clone({...e._zod.def,catchall:Wt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Es()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>Mn(e,n),e.safeExtend=n=>Fn(e,n),e.merge=n=>Vn(e,n),e.pick=n=>Dn(e,n),e.omit=n=>Un(e,n),e.partial=(...n)=>Bn(qt,e,n[0]),e.required=(...n)=>Gn(Jt,e,n[0])});function z(e,t){const n={type:"object",shape:e??{},...b(t)};return new As(n)}const Ss=m("ZodUnion",(e,t)=>{ki.init(e,t),$.init(e,t),e.options=t.options});function G(e,t){return new Ss({type:"union",options:e,...b(t)})}const Ts=m("ZodIntersection",(e,t)=>{Ci.init(e,t),$.init(e,t)});function zs(e,t){return new Ts({type:"intersection",left:e,right:t})}const Is=m("ZodTuple",(e,t)=>{Ai.init(e,t),$.init(e,t),e.rest=n=>e.clone({...e._zod.def,rest:n})});function L(e,t,n){const o=t instanceof S,r=o?n:t,a=o?t:null;return new Is({type:"tuple",items:e,rest:a,...b(r)})}const $s=m("ZodRecord",(e,t)=>{Si.init(e,t),$.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Os(e,t,n){return new $s({type:"record",keyType:e,valueType:t,...b(n)})}const De=m("ZodEnum",(e,t)=>{Ti.init(e,t),$.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,r)=>{const a={};for(const c of o)if(n.has(c))a[c]=t.entries[c];else throw new Error(`Key ${c} not found in enum`);return new De({...t,checks:[],...b(r),entries:a})},e.exclude=(o,r)=>{const a={...t.entries};for(const c of o)if(n.has(c))delete a[c];else throw new Error(`Key ${c} not found in enum`);return new De({...t,checks:[],...b(r),entries:a})}});function Ps(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new De({type:"enum",entries:n,...b(t)})}const Zs=m("ZodLiteral",(e,t)=>{zi.init(e,t),$.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function j(e,t){return new Zs({type:"literal",values:Array.isArray(e)?e:[e],...b(t)})}const xs=m("ZodTransform",(e,t)=>{Ii.init(e,t),$.init(e,t),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new at(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(ie(a,n.value,t));else{const c=a;c.fatal&&(c.continue=!1),c.code??(c.code="custom"),c.input??(c.input=n.value),c.inst??(c.inst=e),n.issues.push(ie(c))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(a=>(n.value=a,n)):(n.value=r,n)}});function Ls(e){return new xs({type:"transform",transform:e})}const qt=m("ZodOptional",(e,t)=>{$i.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Kt(e){return new qt({type:"optional",innerType:e})}const Rs=m("ZodNullable",(e,t)=>{Oi.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ht(e){return new Rs({type:"nullable",innerType:e})}const js=m("ZodDefault",(e,t)=>{Pi.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ns(e,t){return new js({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():pt(t)}})}const Ds=m("ZodPrefault",(e,t)=>{Zi.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Us(e,t){return new Ds({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():pt(t)}})}const Jt=m("ZodNonOptional",(e,t)=>{xi.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ms(e,t){return new Jt({type:"nonoptional",innerType:e,...b(t)})}const Fs=m("ZodCatch",(e,t)=>{Li.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Vs(e,t){return new Fs({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Bs=m("ZodPipe",(e,t)=>{Ri.init(e,t),$.init(e,t),e.in=t.in,e.out=t.out});function Yt(e,t){return new Bs({type:"pipe",in:e,out:t})}const Gs=m("ZodReadonly",(e,t)=>{ji.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ws(e){return new Gs({type:"readonly",innerType:e})}const qs=m("ZodCustom",(e,t)=>{Ni.init(e,t),$.init(e,t)});function Ks(e,t={}){return $r(qs,e,t)}function Hs(e){return Or(e)}const be=z({t:x().gte(0),rate:x().gte(0)}),ee=z({opacity:x().gte(0).lte(1),zIndex:x()}),te=z({volume:x().gte(0).lte(1)}),Js=z({type:j("image"),file:X(),fit:G([j("contain"),j("cover"),j("none")])}),Ys=z({type:j("audio"),file:X(),audioOutput:X()}),Qs=z({type:j("video"),file:X(),audioOutput:X(),fit:G([j("contain"),j("cover"),j("none")])}),Ue=L([x(),ys()]),Xs=L([x(),z({set:z({...ee.shape}).partial()}).partial()]),ea=L([x(),z({set:z({...ee.shape}).partial(),lerp:z({...ee.shape}).partial()}).partial()]),ta=L([x(),z({set:z({...be.shape,...te.shape}).partial()}).partial()]),na=L([x(),z({set:z({...be.shape,...te.shape}).partial(),lerp:z({...te.shape}).partial()}).partial()]),oa=L([x(),z({set:z({...be.shape,...te.shape,...ee.shape}).partial()}).partial()]),ia=L([x(),z({set:z({...be.shape,...te.shape,...ee.shape}).partial(),lerp:z({...te.shape,...ee.shape}).partial()}).partial()]),ra=z({...Js.shape,keyframes:L([ea],G([Xs,Ue]))}),sa=z({...Ys.shape,keyframes:L([na],G([ta,Ue]))}),aa=z({...Qs.shape,keyframes:L([ia],G([oa,Ue]))}),ua=Os(X(),G([ra,sa,aa])),we={opacity:1,zIndex:0},Ee={t:0,rate:1,volume:1},re={t:0,rate:1,volume:1,opacity:1,zIndex:0},ca=Object.freeze(Object.defineProperty({__proto__:null,MediaSurfaceStateSchema:ua,defaultAudioOptions:Ee,defaultImageOptions:we,defaultVideoOptions:re},Symbol.toStringTag,{value:"Module"}));function se(e,t){switch(e.type){case"image":{if(e.keyframes[0][0]>t)return;const o=e.keyframes.filter(a=>a[1]!==null),r=Me(o,t);return{...we,...r}}case"audio":{const n=e.keyframes.filter(a=>a[1]!==null),o=Qt(n,t);if(!o)return;const r=Me(n,t);return{...Ee,...r,...o}}case"video":{const n=e.keyframes.filter(a=>a[1]!==null),o=Qt(n,t);if(!o)return;const r=Me(n,t);return{...re,...r,...o}}}}function Me(e,t){const n={};for(const[r,a]of e)r<=t?(Object.entries(a.lerp??{}).forEach(([c,l])=>{n[c]??={},n[c].before=[r,l]}),Object.entries(a.set??{}).forEach(([c,l])=>{n[c]??={},n[c].before=[r,l]})):Object.entries(a.lerp??{}).forEach(([c,l])=>{n[c]??={},n[c].after===void 0&&(n[c].after=[r,l])});const o={};return Object.entries(n).forEach(([r,{before:a,after:c}])=>{if(c===void 0&&a){o[r]=a[1];return}if(a&&c&&a[0]===c[0]){o[r]=c[1];return}if(a&&typeof a[1]=="number"&&c&&typeof c[1]=="number"){o[r]=a[1]+(t-a[0])*(c[1]-a[1])/(c[0]-a[0]);return}}),o}function Qt(e,t){const n=e[0];if(!n||n[0]>t)return;let o=0,{t:r,rate:a}=Ee;for(const[f,y]of e){if(f>t)break;const{set:g}=y;if(!g)continue;const{t:i,rate:s}=g;if(i!==void 0){o=f,r=i,s!==void 0&&(a=s);continue}if(s!==void 0){const p=(f-o)*a;o=f,r+=p,a=s}}const l=(t-o)*a,d=r+l;return{rate:a,t:d}}const la=1e3;class Fe{constructor(t,n,o,r){this.surfaceElement=t,this.clipElement=n,this.constructAssetURL=r,this._state=o,setTimeout(this.loop)}delay=la;isConnected(t){return!(!this.surfaceElement||!this.clipElement||!this.surfaceElement.contains(this.clipElement)||t&&!this.clipElement.contains(t))}_state;setState(t){if(this._state.file!==t.file)throw new Error(`Cannot change from ${this._state.file} to ${t.file}. Create a new clip instead.`);this._state=t,clearTimeout(this.timeout),this.loop()}timeout;loop=async()=>{this.isConnected()?(this.update(),isFinite(this.delay)&&(this.timeout=setTimeout(this.loop,this.delay))):this.destroy()}}class da extends Fe{imageElement;constructor(t,n,o,r){super(t,n,o,r),this.clipElement=n}updateImageElement(){this.imageElement=document.createElement("img"),this.clipElement.replaceChildren(this.imageElement),this.imageElement.style.position="absolute",this.imageElement.style.height="100%",this.imageElement.style.widows="100%"}update(){const t=se(this._state,Date.now());if(t?(!this.imageElement||!this.isConnected(this.imageElement))&&this.updateImageElement():(this.imageElement?.remove(),this.imageElement=void 0),!this.imageElement||!t)return;const n=this.constructAssetURL(this._state.file);this.imageElement.src.includes(n)||(this.imageElement.src=n),this.imageElement.style.objectFit!==this._state.fit&&(this.imageElement.style.objectFit=this._state.fit),parseFloat(this.imageElement.style.opacity)!==t.opacity&&(this.imageElement.style.opacity=String(t.opacity??we.opacity));const o=Math.round(t.zIndex??we.zIndex);parseInt(this.imageElement.style.zIndex)!==o&&(this.imageElement.style.zIndex=String(o));const{opacity:r}=t;typeof r=="string"&&r!==this.imageElement.style.opacity&&(this.imageElement.style.opacity=r)}destroy(){this.imageElement?.remove()}}const pa=1e3,Ve=10,Xt=1e3,ha=200,fa=.15,en=.7,_a=.3;function ma(e){return-Math.sign(e)*Math.pow(Math.abs(e)/Xt,_a)*fa}const va=5;function ga(e,t,n){const o=se(e,t);if(!o)return!1;const{t:r,rate:a}=o;if(r===void 0||a===void 0)return!1;const c=e.keyframes.filter(([f,y])=>f>t&&(y?.set?.t!==void 0||y?.set?.rate!==void 0))[0];if(c?.[1]?.set?.t!==0)return!1;const l=(n-r)/a,d=c[0]-t;return Math.abs(l-d)<=va}class ya extends Fe{constructor(t,n,o,r,a){super(t,n,o,r),this.mediaPreloader=a,this.clipElement=n}videoElement;isSeeking=!1;timeToIntercept=void 0;updateVideoElement(){const t=this.mediaPreloader.getElement(this._state.file,"video");this.videoElement=t,this.clipElement.replaceChildren(this.videoElement),this.videoElement.style.position="absolute",this.videoElement.style.width="100%",this.videoElement.style.height="100%"}get videoDuration(){if(this.videoElement&&!(this.videoElement.readyState<HTMLMediaElement.HAVE_METADATA))return this.videoElement.duration*1e3}seekTo(t){this.videoElement&&(this.videoElement.addEventListener("seeked",()=>{console.debug("seeked"),this.isSeeking=!1},{once:!0,passive:!0}),this.videoElement.currentTime=t/1e3)}update(){if(this.isSeeking)return;const t=Date.now(),n=se(this._state,t);if(n?(!this.videoElement||!this.isConnected(this.videoElement))&&this.updateVideoElement():(this.videoElement?.remove(),this.videoElement=void 0),!n||!this.videoElement)return;const{t:o,rate:r,volume:a}={...re,...n},c=this.constructAssetURL(this._state.file);this.videoElement.src.includes(c)||this.updateVideoElement(),this.videoElement.style.objectFit!==this._state.fit&&(this.videoElement.style.objectFit=this._state.fit),parseFloat(this.videoElement.style.opacity)!==n.opacity&&(this.videoElement.style.opacity=String(n.opacity??re.opacity));const l=Math.round(n.zIndex??re.zIndex);parseInt(this.videoElement.style.zIndex)!==l&&(this.videoElement.style.zIndex=String(l)),this.videoElement.volume!==a&&(this.videoElement.volume=a);const d=this.videoDuration;if(d!==void 0){if(ga(this._state,t,d))this.videoElement.loop||(console.debug("starting loop"),this.videoElement.loop=!0);else if(this.videoElement.loop&&(console.debug("stopping loop"),this.videoElement.loop=!1),o>d){console.debug("ended"),this.delay=1/0;return}}this.videoElement.paused&&r>0&&(d===void 0||d>o)&&this.videoElement.play().catch(()=>{});const y=this.videoElement.currentTime*1e3-o,g=Math.abs(y);if(this.timeToIntercept!==void 0)if(g<=Ve)console.log("intercepted",`${y.toFixed(0)}ms`),this.timeToIntercept=void 0;else{const i=y/(r-this.videoElement.playbackRate);i<this.timeToIntercept&&i>0?(console.debug(`intercepting ${i.toFixed(0)}ms`,`${y.toFixed(0)}ms`),this.timeToIntercept=i):(console.debug("missed intercept",y,this.timeToIntercept,i),this.timeToIntercept=void 0)}switch(!0){case g<=Ve:{console.debug(`${r}x`,y.toFixed(0)),this.timeToIntercept=void 0,this.videoElement.playbackRate!==r&&(this.videoElement.playbackRate=r),this.delay=pa;break}case this.timeToIntercept!==void 0:this.delay=this.timeToIntercept*en;break;case(r>0&&g>Ve&&g<=Xt&&this.timeToIntercept===void 0):{const i=ma(y),s=Math.max(0,r+i);this.timeToIntercept=y/(r-s),console.debug(`${s.toFixed(2)}x`,`${y.toFixed(0)}ms`),this.videoElement.playbackRate!==s&&(this.videoElement.playbackRate=s),this.delay=this.timeToIntercept*en;break}default:{this.videoElement.playbackRate!==r&&(this.videoElement.playbackRate=r),console.debug("seeking"),this.delay=10,this.seekTo(o+r*ha);break}}}destroy(){this.videoElement&&(this.mediaPreloader.releaseElement(this.videoElement),this.videoElement.remove())}}const ba=1e3,tn=10,nn=1e3,wa=200,Ea=.2,ka=.5;function Ca(e){return Math.sign(e)*Math.pow(Math.abs(e)/nn,ka)*Ea}class Aa extends Fe{constructor(t,n,o,r,a){super(t,n,o,r),this.mediaPreloader=a,this.clipElement=n}audioElement;isSeeking=!1;updateAudioElement(){const t=this.mediaPreloader.getElement(this._state.file,"audio");this.audioElement=t,this.clipElement.replaceChildren(this.audioElement)}seekTo(t){this.audioElement&&(this.audioElement.addEventListener("seeked",()=>{this.isSeeking=!1},{once:!0,passive:!0}),this.audioElement.currentTime=t/1e3)}update(){if(this.isSeeking)return;this.delay=ba;const t=se(this._state,Date.now());if(t?(!this.audioElement||!this.isConnected(this.audioElement))&&this.updateAudioElement():this.destroy(),!t||!this.audioElement)return;const{t:n,rate:o,volume:r}={...Ee,...t},a=this.constructAssetURL(this._state.file);this.audioElement.src.includes(a)||this.updateAudioElement(),this.audioElement.volume!==r&&(this.audioElement.volume=r),this.audioElement.paused&&o>0&&this.audioElement.play().catch(()=>{});const l=this.audioElement.currentTime*1e3-n,d=Math.abs(l);switch(this.delay=100,!0){case d<=tn:this.audioElement.playbackRate!==o&&(this.audioElement.playbackRate=o);break;case(o>0&&d>tn&&d<=nn):{const f=Ca(l),y=Math.max(0,o-f);this.audioElement.playbackRate!==y&&(this.audioElement.playbackRate=y);break}default:{this.audioElement.playbackRate!==o&&(this.audioElement.playbackRate=o),this.delay=10,this.seekTo(n+o*(wa/1e3));break}}}destroy(){this.audioElement&&this.audioElement.remove()}}class on{_state;_elements={};_constructAssetURL;constructor(t,n={}){this._constructAssetURL=t,this._state=n}get state(){return{...this._state}}setState(t){this._state=t,this.update()}update(){for(const[t,n]of Object.entries(this._elements))t in this._state||(n.element.src="",delete this._elements[t]),n.inUse=n.element.isConnected;for(const[t,n]of Object.entries(this._state)){if(t in this._elements)continue;let o;switch(n.preload===!0?o="auto":n.preload===!1?o="none":o=n.preload,n.type){case"audio":{const r=document.createElement("audio");r.src=this._constructAssetURL(t),r.preload=o,this._elements[t]={element:r,inUse:!1,type:"audio"};break}case"video":{const r=document.createElement("video");r.src=this._constructAssetURL(t),r.preload=o,this._elements[t]={element:r,inUse:!1,type:"video"};break}}}}getElement(t,n){const o=this._elements[t];if(o&&o.inUse===!1)return o.inUse=!0,o.element;{const r=document.createElement(n);return r.src=this._constructAssetURL(t),this._elements[t]={element:r,type:n,inUse:!0},r}}releaseElement(t){if(typeof t=="string"){const n=this._elements[t];n&&(n.inUse=!1)}else Object.entries(this._elements).forEach(([n,o])=>{o.element===t&&delete this._elements[n]})}}const rn="data-clip-id";class Sa{constructor(t,n={},o=new on(t)){this.constructAssetUrl=t,this.mediaPreloader=o,this._element=document.createElement("div"),this._element.className="surface-manager",this._element.style.width="100%",this._element.style.height="100%",this._state=n||{},this.update()}_state={};setState(t){this._state=t,this.update()}_element;get element(){return this._element}resources={};update(){Object.entries(this.resources).forEach(([n,{element:o,manager:r}])=>{n in this._state||(delete this.resources[n],o.remove(),r?.destroy())});const t=Object.keys(this._state).toSorted().map(n=>{const o=this.resources[n];if(o)return o.element;{const r=document.createElement("div");return r.setAttribute(rn,n),this.resources[n]={element:r},r}});this._element.replaceChildren(...t),Object.keys(this._state).toSorted().forEach(n=>{const o=this._state[n],r=this.resources[n];if(!r)throw new Error("Failed to create resource");if(r.manager)r.manager.setState(o);else switch(o.type){case"image":r.manager=new da(this._element,r.element,o,this.constructAssetUrl);break;case"audio":r.manager=new Aa(this._element,r.element,o,this.constructAssetUrl,this.mediaPreloader);break;case"video":r.manager=new ya(this._element,r.element,o,this.constructAssetUrl,this.mediaPreloader);break}})}}var Be={},sn;function Ta(){return sn||(sn=1,function(e){var t={};/*! howler.js v2.2.1 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */(function(){var n=function(){this.init()};n.prototype={init:function(){var i=this||o;return i._counter=1e3,i._html5AudioPool=[],i.html5PoolSize=10,i._codecs={},i._howls=[],i._muted=!1,i._volume=1,i._canPlayEvent="canplaythrough",i._navigator=typeof window<"u"&&window.navigator?window.navigator:null,i.masterGain=null,i.noAudio=!1,i.usingWebAudio=!0,i.autoSuspend=!0,i.ctx=null,i.autoUnlock=!0,i._setup(),i},volume:function(i){var s=this||o;if(i=parseFloat(i),s.ctx||g(),i!==void 0&&i>=0&&i<=1){if(s._volume=i,s._muted)return s;s.usingWebAudio&&s.masterGain.gain.setValueAtTime(i,o.ctx.currentTime);for(var u=0;u<s._howls.length;u++)if(!s._howls[u]._webAudio)for(var p=s._howls[u]._getSoundIds(),h=0;h<p.length;h++){var v=s._howls[u]._soundById(p[h]);v&&v._node&&(v._node.volume=v._volume*i)}return s}return s._volume},mute:function(i){var s=this||o;s.ctx||g(),s._muted=i,s.usingWebAudio&&s.masterGain.gain.setValueAtTime(i?0:s._volume,o.ctx.currentTime);for(var u=0;u<s._howls.length;u++)if(!s._howls[u]._webAudio)for(var p=s._howls[u]._getSoundIds(),h=0;h<p.length;h++){var v=s._howls[u]._soundById(p[h]);v&&v._node&&(v._node.muted=!!i||v._muted)}return s},stop:function(){for(var i=this||o,s=0;s<i._howls.length;s++)i._howls[s].stop();return i},unload:function(){for(var i=this||o,s=i._howls.length-1;s>=0;s--)i._howls[s].unload();return i.usingWebAudio&&i.ctx&&i.ctx.close!==void 0&&(i.ctx.close(),i.ctx=null,g()),i},codecs:function(i){return(this||o)._codecs[i.replace(/^x-/,"")]},_setup:function(){var i=this||o;if(i.state=i.ctx&&i.ctx.state||"suspended",i._autoSuspend(),!i.usingWebAudio)if(typeof Audio<"u")try{var s=new Audio;s.oncanplaythrough===void 0&&(i._canPlayEvent="canplay")}catch{i.noAudio=!0}else i.noAudio=!0;try{var s=new Audio;s.muted&&(i.noAudio=!0)}catch{}return i.noAudio||i._setupCodecs(),i},_setupCodecs:function(){var i=this||o,s=null;try{s=typeof Audio<"u"?new Audio:null}catch{return i}if(!s||typeof s.canPlayType!="function")return i;var u=s.canPlayType("audio/mpeg;").replace(/^no$/,""),p=i._navigator&&i._navigator.userAgent.match(/OPR\/([0-6].)/g),h=p&&parseInt(p[0].split("/")[1],10)<33;return i._codecs={mp3:!(h||!u&&!s.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!u,opus:!!s.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!s.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!s.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(s.canPlayType('audio/wav; codecs="1"')||s.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!s.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!s.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(s.canPlayType("audio/x-m4a;")||s.canPlayType("audio/m4a;")||s.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(s.canPlayType("audio/x-m4b;")||s.canPlayType("audio/m4b;")||s.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(s.canPlayType("audio/x-mp4;")||s.canPlayType("audio/mp4;")||s.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!s.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!s.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!s.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(s.canPlayType("audio/x-flac;")||s.canPlayType("audio/flac;")).replace(/^no$/,"")},i},_unlockAudio:function(){var i=this||o;if(!i._audioUnlocked&&i.ctx){i._audioUnlocked=!1,i.autoUnlock=!1,i._mobileUnloaded||i.ctx.sampleRate===44100||(i._mobileUnloaded=!0,i.unload()),i._scratchBuffer=i.ctx.createBuffer(1,1,22050);var s=function(u){for(;i._html5AudioPool.length<i.html5PoolSize;)try{var p=new Audio;p._unlocked=!0,i._releaseHtml5Audio(p)}catch{i.noAudio=!0;break}for(var h=0;h<i._howls.length;h++)if(!i._howls[h]._webAudio)for(var v=i._howls[h]._getSoundIds(),_=0;_<v.length;_++){var w=i._howls[h]._soundById(v[_]);w&&w._node&&!w._node._unlocked&&(w._node._unlocked=!0,w._node.load())}i._autoResume();var E=i.ctx.createBufferSource();E.buffer=i._scratchBuffer,E.connect(i.ctx.destination),E.start===void 0?E.noteOn(0):E.start(0),typeof i.ctx.resume=="function"&&i.ctx.resume(),E.onended=function(){E.disconnect(0),i._audioUnlocked=!0,document.removeEventListener("touchstart",s,!0),document.removeEventListener("touchend",s,!0),document.removeEventListener("click",s,!0);for(var k=0;k<i._howls.length;k++)i._howls[k]._emit("unlock")}};return document.addEventListener("touchstart",s,!0),document.addEventListener("touchend",s,!0),document.addEventListener("click",s,!0),i}},_obtainHtml5Audio:function(){var i=this||o;if(i._html5AudioPool.length)return i._html5AudioPool.pop();var s=new Audio().play();return s&&typeof Promise<"u"&&(s instanceof Promise||typeof s.then=="function")&&s.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(i){var s=this||o;return i._unlocked&&s._html5AudioPool.push(i),s},_autoSuspend:function(){var i=this;if(i.autoSuspend&&i.ctx&&i.ctx.suspend!==void 0&&o.usingWebAudio){for(var s=0;s<i._howls.length;s++)if(i._howls[s]._webAudio){for(var u=0;u<i._howls[s]._sounds.length;u++)if(!i._howls[s]._sounds[u]._paused)return i}return i._suspendTimer&&clearTimeout(i._suspendTimer),i._suspendTimer=setTimeout(function(){if(i.autoSuspend){i._suspendTimer=null,i.state="suspending";var p=function(){i.state="suspended",i._resumeAfterSuspend&&(delete i._resumeAfterSuspend,i._autoResume())};i.ctx.suspend().then(p,p)}},3e4),i}},_autoResume:function(){var i=this;if(i.ctx&&i.ctx.resume!==void 0&&o.usingWebAudio)return i.state==="running"&&i.ctx.state!=="interrupted"&&i._suspendTimer?(clearTimeout(i._suspendTimer),i._suspendTimer=null):i.state==="suspended"||i.state==="running"&&i.ctx.state==="interrupted"?(i.ctx.resume().then(function(){i.state="running";for(var s=0;s<i._howls.length;s++)i._howls[s]._emit("resume")}),i._suspendTimer&&(clearTimeout(i._suspendTimer),i._suspendTimer=null)):i.state==="suspending"&&(i._resumeAfterSuspend=!0),i}};var o=new n,r=function(i){var s=this;if(!i.src||i.src.length===0)return void console.error("An array of source files must be passed with any new Howl.");s.init(i)};r.prototype={init:function(i){var s=this;return o.ctx||g(),s._autoplay=i.autoplay||!1,s._format=typeof i.format!="string"?i.format:[i.format],s._html5=i.html5||!1,s._muted=i.mute||!1,s._loop=i.loop||!1,s._pool=i.pool||5,s._preload=typeof i.preload!="boolean"&&i.preload!=="metadata"||i.preload,s._rate=i.rate||1,s._sprite=i.sprite||{},s._src=typeof i.src!="string"?i.src:[i.src],s._volume=i.volume!==void 0?i.volume:1,s._xhr={method:i.xhr&&i.xhr.method?i.xhr.method:"GET",headers:i.xhr&&i.xhr.headers?i.xhr.headers:null,withCredentials:!(!i.xhr||!i.xhr.withCredentials)&&i.xhr.withCredentials},s._duration=0,s._state="unloaded",s._sounds=[],s._endTimers={},s._queue=[],s._playLock=!1,s._onend=i.onend?[{fn:i.onend}]:[],s._onfade=i.onfade?[{fn:i.onfade}]:[],s._onload=i.onload?[{fn:i.onload}]:[],s._onloaderror=i.onloaderror?[{fn:i.onloaderror}]:[],s._onplayerror=i.onplayerror?[{fn:i.onplayerror}]:[],s._onpause=i.onpause?[{fn:i.onpause}]:[],s._onplay=i.onplay?[{fn:i.onplay}]:[],s._onstop=i.onstop?[{fn:i.onstop}]:[],s._onmute=i.onmute?[{fn:i.onmute}]:[],s._onvolume=i.onvolume?[{fn:i.onvolume}]:[],s._onrate=i.onrate?[{fn:i.onrate}]:[],s._onseek=i.onseek?[{fn:i.onseek}]:[],s._onunlock=i.onunlock?[{fn:i.onunlock}]:[],s._onresume=[],s._webAudio=o.usingWebAudio&&!s._html5,o.ctx!==void 0&&o.ctx&&o.autoUnlock&&o._unlockAudio(),o._howls.push(s),s._autoplay&&s._queue.push({event:"play",action:function(){s.play()}}),s._preload&&s._preload!=="none"&&s.load(),s},load:function(){var i=this,s=null;if(o.noAudio)return void i._emit("loaderror",null,"No audio support.");typeof i._src=="string"&&(i._src=[i._src]);for(var u=0;u<i._src.length;u++){var p,h;if(i._format&&i._format[u])p=i._format[u];else{if(typeof(h=i._src[u])!="string"){i._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}p=/^data:audio\/([^;,]+);/i.exec(h),p||(p=/\.([^.]+)$/.exec(h.split("?",1)[0])),p&&(p=p[1].toLowerCase())}if(p||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),p&&o.codecs(p)){s=i._src[u];break}}return s?(i._src=s,i._state="loading",window.location.protocol==="https:"&&s.slice(0,5)==="http:"&&(i._html5=!0,i._webAudio=!1),new a(i),i._webAudio&&l(i),i):void i._emit("loaderror",null,"No codec support for selected audio sources.")},play:function(i,s){var u=this,p=null;if(typeof i=="number")p=i,i=null;else{if(typeof i=="string"&&u._state==="loaded"&&!u._sprite[i])return null;if(i===void 0&&(i="__default",!u._playLock)){for(var h=0,v=0;v<u._sounds.length;v++)u._sounds[v]._paused&&!u._sounds[v]._ended&&(h++,p=u._sounds[v]._id);h===1?i=null:p=null}}var _=p?u._soundById(p):u._inactiveSound();if(!_)return null;if(p&&!i&&(i=_._sprite||"__default"),u._state!=="loaded"){_._sprite=i,_._ended=!1;var w=_._id;return u._queue.push({event:"play",action:function(){u.play(w)}}),w}if(p&&!_._paused)return s||u._loadQueue("play"),_._id;u._webAudio&&o._autoResume();var E=Math.max(0,_._seek>0?_._seek:u._sprite[i][0]/1e3),k=Math.max(0,(u._sprite[i][0]+u._sprite[i][1])/1e3-E),R=1e3*k/Math.abs(_._rate),W=u._sprite[i][0]/1e3,Ce=(u._sprite[i][0]+u._sprite[i][1])/1e3;_._sprite=i,_._ended=!1;var Ke=function(){_._paused=!1,_._seek=E,_._start=W,_._stop=Ce,_._loop=!(!_._loop&&!u._sprite[i][2])};if(E>=Ce)return void u._ended(_);var I=_._node;if(u._webAudio){var ln=function(){u._playLock=!1,Ke(),u._refreshBuffer(_);var ne=_._muted||u._muted?0:_._volume;I.gain.setValueAtTime(ne,o.ctx.currentTime),_._playStart=o.ctx.currentTime,I.bufferSource.start===void 0?_._loop?I.bufferSource.noteGrainOn(0,E,86400):I.bufferSource.noteGrainOn(0,E,k):_._loop?I.bufferSource.start(0,E,86400):I.bufferSource.start(0,E,k),R!==1/0&&(u._endTimers[_._id]=setTimeout(u._ended.bind(u,_),R)),s||setTimeout(function(){u._emit("play",_._id),u._loadQueue()},0)};o.state==="running"&&o.ctx.state!=="interrupted"?ln():(u._playLock=!0,u.once("resume",ln),u._clearTimer(_._id))}else{var dn=function(){I.currentTime=E,I.muted=_._muted||u._muted||o._muted||I.muted,I.volume=_._volume*o.volume(),I.playbackRate=_._rate;try{var ne=I.play();if(ne&&typeof Promise<"u"&&(ne instanceof Promise||typeof ne.then=="function")?(u._playLock=!0,Ke(),ne.then(function(){u._playLock=!1,I._unlocked=!0,s||(u._emit("play",_._id),u._loadQueue())}).catch(function(){u._playLock=!1,u._emit("playerror",_._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."),_._ended=!0,_._paused=!0})):s||(u._playLock=!1,Ke(),u._emit("play",_._id),u._loadQueue()),I.playbackRate=_._rate,I.paused)return void u._emit("playerror",_._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.");i!=="__default"||_._loop?u._endTimers[_._id]=setTimeout(u._ended.bind(u,_),R):(u._endTimers[_._id]=function(){u._ended(_),I.removeEventListener("ended",u._endTimers[_._id],!1)},I.addEventListener("ended",u._endTimers[_._id],!1))}catch(xa){u._emit("playerror",_._id,xa)}};I.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(I.src=u._src,I.load());var Za=window&&window.ejecta||!I.readyState&&o._navigator.isCocoonJS;if(I.readyState>=3||Za)dn();else{u._playLock=!0;var pn=function(){dn(),I.removeEventListener(o._canPlayEvent,pn,!1)};I.addEventListener(o._canPlayEvent,pn,!1),u._clearTimer(_._id)}}return _._id},pause:function(i){var s=this;if(s._state!=="loaded"||s._playLock)return s._queue.push({event:"pause",action:function(){s.pause(i)}}),s;for(var u=s._getSoundIds(i),p=0;p<u.length;p++){s._clearTimer(u[p]);var h=s._soundById(u[p]);if(h&&!h._paused&&(h._seek=s.seek(u[p]),h._rateSeek=0,h._paused=!0,s._stopFade(u[p]),h._node))if(s._webAudio){if(!h._node.bufferSource)continue;h._node.bufferSource.stop===void 0?h._node.bufferSource.noteOff(0):h._node.bufferSource.stop(0),s._cleanBuffer(h._node)}else isNaN(h._node.duration)&&h._node.duration!==1/0||h._node.pause();arguments[1]||s._emit("pause",h?h._id:null)}return s},stop:function(i,s){var u=this;if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"stop",action:function(){u.stop(i,s)}}),u;for(var p=u._getSoundIds(i),h=0;h<p.length;h++){u._clearTimer(p[h]);var v=u._soundById(p[h]);v&&(v._seek=v._start||0,v._rateSeek=0,v._paused=!0,v._ended=!0,u._stopFade(p[h]),v._node&&(u._webAudio?v._node.bufferSource&&(v._node.bufferSource.stop===void 0?v._node.bufferSource.noteOff(0):v._node.bufferSource.stop(0),u._cleanBuffer(v._node)):isNaN(v._node.duration)&&v._node.duration!==1/0||(v._node.currentTime=v._start||0,v._node.pause(),v._node.duration===1/0&&u._clearSound(v._node))),s||u._emit("stop",v._id))}return u},mute:function(i,s){var u=this;if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"mute",action:function(){u.mute(i,s)}}),u;if(s===void 0){if(typeof i!="boolean")return u._muted;u._muted=i}for(var p=u._getSoundIds(s),h=0;h<p.length;h++){var v=u._soundById(p[h]);v&&(v._muted=i,v._interval&&u._stopFade(v._id),u._webAudio&&v._node?v._node.gain.setValueAtTime(i?0:v._volume,o.ctx.currentTime):v._node&&(v._node.muted=!!o._muted||i),u._emit("mute",v._id))}return u},volume:function(){var i,s,u=this,p=arguments;if(p.length===0)return u._volume;p.length===1||p.length===2&&p[1]===void 0?u._getSoundIds().indexOf(p[0])>=0?s=parseInt(p[0],10):i=parseFloat(p[0]):p.length>=2&&(i=parseFloat(p[0]),s=parseInt(p[1],10));var h;if(!(i!==void 0&&i>=0&&i<=1))return h=s?u._soundById(s):u._sounds[0],h?h._volume:0;if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"volume",action:function(){u.volume.apply(u,p)}}),u;s===void 0&&(u._volume=i),s=u._getSoundIds(s);for(var v=0;v<s.length;v++)(h=u._soundById(s[v]))&&(h._volume=i,p[2]||u._stopFade(s[v]),u._webAudio&&h._node&&!h._muted?h._node.gain.setValueAtTime(i,o.ctx.currentTime):h._node&&!h._muted&&(h._node.volume=i*o.volume()),u._emit("volume",h._id));return u},fade:function(i,s,u,p){var h=this;if(h._state!=="loaded"||h._playLock)return h._queue.push({event:"fade",action:function(){h.fade(i,s,u,p)}}),h;i=Math.min(Math.max(0,parseFloat(i)),1),s=Math.min(Math.max(0,parseFloat(s)),1),u=parseFloat(u),h.volume(i,p);for(var v=h._getSoundIds(p),_=0;_<v.length;_++){var w=h._soundById(v[_]);if(w){if(p||h._stopFade(v[_]),h._webAudio&&!w._muted){var E=o.ctx.currentTime,k=E+u/1e3;w._volume=i,w._node.gain.setValueAtTime(i,E),w._node.gain.linearRampToValueAtTime(s,k)}h._startFadeInterval(w,i,s,u,v[_],p===void 0)}}return h},_startFadeInterval:function(i,s,u,p,h,v){var _=this,w=s,E=u-s,k=Math.abs(E/.01),R=Math.max(4,k>0?p/k:p),W=Date.now();i._fadeTo=u,i._interval=setInterval(function(){var Ce=(Date.now()-W)/p;W=Date.now(),w+=E*Ce,w=Math.round(100*w)/100,w=E<0?Math.max(u,w):Math.min(u,w),_._webAudio?i._volume=w:_.volume(w,i._id,!0),v&&(_._volume=w),(u<s&&w<=u||u>s&&w>=u)&&(clearInterval(i._interval),i._interval=null,i._fadeTo=null,_.volume(u,i._id),_._emit("fade",i._id))},R)},_stopFade:function(i){var s=this,u=s._soundById(i);return u&&u._interval&&(s._webAudio&&u._node.gain.cancelScheduledValues(o.ctx.currentTime),clearInterval(u._interval),u._interval=null,s.volume(u._fadeTo,i),u._fadeTo=null,s._emit("fade",i)),s},loop:function(){var i,s,u,p=this,h=arguments;if(h.length===0)return p._loop;if(h.length===1){if(typeof h[0]!="boolean")return!!(u=p._soundById(parseInt(h[0],10)))&&u._loop;i=h[0],p._loop=i}else h.length===2&&(i=h[0],s=parseInt(h[1],10));for(var v=p._getSoundIds(s),_=0;_<v.length;_++)(u=p._soundById(v[_]))&&(u._loop=i,p._webAudio&&u._node&&u._node.bufferSource&&(u._node.bufferSource.loop=i,i&&(u._node.bufferSource.loopStart=u._start||0,u._node.bufferSource.loopEnd=u._stop)));return p},rate:function(){var i,s,u=this,p=arguments;if(p.length===0)s=u._sounds[0]._id;else if(p.length===1){var h=u._getSoundIds(),v=h.indexOf(p[0]);v>=0?s=parseInt(p[0],10):i=parseFloat(p[0])}else p.length===2&&(i=parseFloat(p[0]),s=parseInt(p[1],10));var _;if(typeof i!="number")return _=u._soundById(s),_?_._rate:u._rate;if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"rate",action:function(){u.rate.apply(u,p)}}),u;s===void 0&&(u._rate=i),s=u._getSoundIds(s);for(var w=0;w<s.length;w++)if(_=u._soundById(s[w])){u.playing(s[w])&&(_._rateSeek=u.seek(s[w]),_._playStart=u._webAudio?o.ctx.currentTime:_._playStart),_._rate=i,u._webAudio&&_._node&&_._node.bufferSource?_._node.bufferSource.playbackRate.setValueAtTime(i,o.ctx.currentTime):_._node&&(_._node.playbackRate=i);var E=u.seek(s[w]),k=(u._sprite[_._sprite][0]+u._sprite[_._sprite][1])/1e3-E,R=1e3*k/Math.abs(_._rate);!u._endTimers[s[w]]&&_._paused||(u._clearTimer(s[w]),u._endTimers[s[w]]=setTimeout(u._ended.bind(u,_),R)),u._emit("rate",_._id)}return u},seek:function(){var i,s,u=this,p=arguments;if(p.length===0)s=u._sounds[0]._id;else if(p.length===1){var h=u._getSoundIds(),v=h.indexOf(p[0]);v>=0?s=parseInt(p[0],10):u._sounds.length&&(s=u._sounds[0]._id,i=parseFloat(p[0]))}else p.length===2&&(i=parseFloat(p[0]),s=parseInt(p[1],10));if(s===void 0)return u;if(typeof i=="number"&&(u._state!=="loaded"||u._playLock))return u._queue.push({event:"seek",action:function(){u.seek.apply(u,p)}}),u;var _=u._soundById(s);if(_){if(!(typeof i=="number"&&i>=0)){if(u._webAudio){var w=u.playing(s)?o.ctx.currentTime-_._playStart:0,E=_._rateSeek?_._rateSeek-_._seek:0;return _._seek+(E+w*Math.abs(_._rate))}return _._node.currentTime}var k=u.playing(s);k&&u.pause(s,!0),_._seek=i,_._ended=!1,u._clearTimer(s),u._webAudio||!_._node||isNaN(_._node.duration)||(_._node.currentTime=i);var R=function(){u._emit("seek",s),k&&u.play(s,!0)};if(k&&!u._webAudio){var W=function(){u._playLock?setTimeout(W,0):R()};setTimeout(W,0)}else R()}return u},playing:function(i){var s=this;if(typeof i=="number"){var u=s._soundById(i);return!!u&&!u._paused}for(var p=0;p<s._sounds.length;p++)if(!s._sounds[p]._paused)return!0;return!1},duration:function(i){var s=this,u=s._duration,p=s._soundById(i);return p&&(u=s._sprite[p._sprite][1]/1e3),u},state:function(){return this._state},unload:function(){for(var i=this,s=i._sounds,u=0;u<s.length;u++)s[u]._paused||i.stop(s[u]._id),i._webAudio||(i._clearSound(s[u]._node),s[u]._node.removeEventListener("error",s[u]._errorFn,!1),s[u]._node.removeEventListener(o._canPlayEvent,s[u]._loadFn,!1),s[u]._node.removeEventListener("ended",s[u]._endFn,!1),o._releaseHtml5Audio(s[u]._node)),delete s[u]._node,i._clearTimer(s[u]._id);var p=o._howls.indexOf(i);p>=0&&o._howls.splice(p,1);var h=!0;for(u=0;u<o._howls.length;u++)if(o._howls[u]._src===i._src||i._src.indexOf(o._howls[u]._src)>=0){h=!1;break}return c&&h&&delete c[i._src],o.noAudio=!1,i._state="unloaded",i._sounds=[],i=null,null},on:function(i,s,u,p){var h=this,v=h["_on"+i];return typeof s=="function"&&v.push(p?{id:u,fn:s,once:p}:{id:u,fn:s}),h},off:function(i,s,u){var p=this,h=p["_on"+i],v=0;if(typeof s=="number"&&(u=s,s=null),s||u)for(v=0;v<h.length;v++){var _=u===h[v].id;if(s===h[v].fn&&_||!s&&_){h.splice(v,1);break}}else if(i)p["_on"+i]=[];else{var w=Object.keys(p);for(v=0;v<w.length;v++)w[v].indexOf("_on")===0&&Array.isArray(p[w[v]])&&(p[w[v]]=[])}return p},once:function(i,s,u){var p=this;return p.on(i,s,u,1),p},_emit:function(i,s,u){for(var p=this,h=p["_on"+i],v=h.length-1;v>=0;v--)h[v].id&&h[v].id!==s&&i!=="load"||(setTimeout((function(_){_.call(this,s,u)}).bind(p,h[v].fn),0),h[v].once&&p.off(i,h[v].fn,h[v].id));return p._loadQueue(i),p},_loadQueue:function(i){var s=this;if(s._queue.length>0){var u=s._queue[0];u.event===i&&(s._queue.shift(),s._loadQueue()),i||u.action()}return s},_ended:function(i){var s=this,u=i._sprite;if(!s._webAudio&&i._node&&!i._node.paused&&!i._node.ended&&i._node.currentTime<i._stop)return setTimeout(s._ended.bind(s,i),100),s;var p=!(!i._loop&&!s._sprite[u][2]);if(s._emit("end",i._id),!s._webAudio&&p&&s.stop(i._id,!0).play(i._id),s._webAudio&&p){s._emit("play",i._id),i._seek=i._start||0,i._rateSeek=0,i._playStart=o.ctx.currentTime;var h=1e3*(i._stop-i._start)/Math.abs(i._rate);s._endTimers[i._id]=setTimeout(s._ended.bind(s,i),h)}return s._webAudio&&!p&&(i._paused=!0,i._ended=!0,i._seek=i._start||0,i._rateSeek=0,s._clearTimer(i._id),s._cleanBuffer(i._node),o._autoSuspend()),s._webAudio||p||s.stop(i._id,!0),s},_clearTimer:function(i){var s=this;if(s._endTimers[i]){if(typeof s._endTimers[i]!="function")clearTimeout(s._endTimers[i]);else{var u=s._soundById(i);u&&u._node&&u._node.removeEventListener("ended",s._endTimers[i],!1)}delete s._endTimers[i]}return s},_soundById:function(i){for(var s=this,u=0;u<s._sounds.length;u++)if(i===s._sounds[u]._id)return s._sounds[u];return null},_inactiveSound:function(){var i=this;i._drain();for(var s=0;s<i._sounds.length;s++)if(i._sounds[s]._ended)return i._sounds[s].reset();return new a(i)},_drain:function(){var i=this,s=i._pool,u=0,p=0;if(!(i._sounds.length<s)){for(p=0;p<i._sounds.length;p++)i._sounds[p]._ended&&u++;for(p=i._sounds.length-1;p>=0;p--){if(u<=s)return;i._sounds[p]._ended&&(i._webAudio&&i._sounds[p]._node&&i._sounds[p]._node.disconnect(0),i._sounds.splice(p,1),u--)}}},_getSoundIds:function(i){var s=this;if(i===void 0){for(var u=[],p=0;p<s._sounds.length;p++)u.push(s._sounds[p]._id);return u}return[i]},_refreshBuffer:function(i){var s=this;return i._node.bufferSource=o.ctx.createBufferSource(),i._node.bufferSource.buffer=c[s._src],i._panner?i._node.bufferSource.connect(i._panner):i._node.bufferSource.connect(i._node),i._node.bufferSource.loop=i._loop,i._loop&&(i._node.bufferSource.loopStart=i._start||0,i._node.bufferSource.loopEnd=i._stop||0),i._node.bufferSource.playbackRate.setValueAtTime(i._rate,o.ctx.currentTime),s},_cleanBuffer:function(i){var s=this,u=o._navigator&&o._navigator.vendor.indexOf("Apple")>=0;if(o._scratchBuffer&&i.bufferSource&&(i.bufferSource.onended=null,i.bufferSource.disconnect(0),u))try{i.bufferSource.buffer=o._scratchBuffer}catch{}return i.bufferSource=null,s},_clearSound:function(i){/MSIE |Trident\//.test(o._navigator&&o._navigator.userAgent)||(i.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var a=function(i){this._parent=i,this.init()};a.prototype={init:function(){var i=this,s=i._parent;return i._muted=s._muted,i._loop=s._loop,i._volume=s._volume,i._rate=s._rate,i._seek=0,i._paused=!0,i._ended=!0,i._sprite="__default",i._id=++o._counter,s._sounds.push(i),i.create(),i},create:function(){var i=this,s=i._parent,u=o._muted||i._muted||i._parent._muted?0:i._volume;return s._webAudio?(i._node=o.ctx.createGain===void 0?o.ctx.createGainNode():o.ctx.createGain(),i._node.gain.setValueAtTime(u,o.ctx.currentTime),i._node.paused=!0,i._node.connect(o.masterGain)):o.noAudio||(i._node=o._obtainHtml5Audio(),i._errorFn=i._errorListener.bind(i),i._node.addEventListener("error",i._errorFn,!1),i._loadFn=i._loadListener.bind(i),i._node.addEventListener(o._canPlayEvent,i._loadFn,!1),i._endFn=i._endListener.bind(i),i._node.addEventListener("ended",i._endFn,!1),i._node.src=s._src,i._node.preload=s._preload===!0?"auto":s._preload,i._node.volume=u*o.volume(),i._node.load()),i},reset:function(){var i=this,s=i._parent;return i._muted=s._muted,i._loop=s._loop,i._volume=s._volume,i._rate=s._rate,i._seek=0,i._rateSeek=0,i._paused=!0,i._ended=!0,i._sprite="__default",i._id=++o._counter,i},_errorListener:function(){var i=this;i._parent._emit("loaderror",i._id,i._node.error?i._node.error.code:0),i._node.removeEventListener("error",i._errorFn,!1)},_loadListener:function(){var i=this,s=i._parent;s._duration=Math.ceil(10*i._node.duration)/10,Object.keys(s._sprite).length===0&&(s._sprite={__default:[0,1e3*s._duration]}),s._state!=="loaded"&&(s._state="loaded",s._emit("load"),s._loadQueue()),i._node.removeEventListener(o._canPlayEvent,i._loadFn,!1)},_endListener:function(){var i=this,s=i._parent;s._duration===1/0&&(s._duration=Math.ceil(10*i._node.duration)/10,s._sprite.__default[1]===1/0&&(s._sprite.__default[1]=1e3*s._duration),s._ended(i)),i._node.removeEventListener("ended",i._endFn,!1)}};var c={},l=function(i){var s=i._src;if(c[s])return i._duration=c[s].duration,void y(i);if(/^data:[^;]+;base64,/.test(s)){for(var u=atob(s.split(",")[1]),p=new Uint8Array(u.length),h=0;h<u.length;++h)p[h]=u.charCodeAt(h);f(p.buffer,i)}else{var v=new XMLHttpRequest;v.open(i._xhr.method,s,!0),v.withCredentials=i._xhr.withCredentials,v.responseType="arraybuffer",i._xhr.headers&&Object.keys(i._xhr.headers).forEach(function(_){v.setRequestHeader(_,i._xhr.headers[_])}),v.onload=function(){var _=(v.status+"")[0];if(_!=="0"&&_!=="2"&&_!=="3")return void i._emit("loaderror",null,"Failed loading audio file with status: "+v.status+".");f(v.response,i)},v.onerror=function(){i._webAudio&&(i._html5=!0,i._webAudio=!1,i._sounds=[],delete c[s],i.load())},d(v)}},d=function(i){try{i.send()}catch{i.onerror()}},f=function(i,s){var u=function(){s._emit("loaderror",null,"Decoding audio data failed.")},p=function(h){h&&s._sounds.length>0?(c[s._src]=h,y(s,h)):u()};typeof Promise<"u"&&o.ctx.decodeAudioData.length===1?o.ctx.decodeAudioData(i).then(p).catch(u):o.ctx.decodeAudioData(i,p,u)},y=function(i,s){s&&!i._duration&&(i._duration=s.duration),Object.keys(i._sprite).length===0&&(i._sprite={__default:[0,1e3*i._duration]}),i._state!=="loaded"&&(i._state="loaded",i._emit("load"),i._loadQueue())},g=function(){if(o.usingWebAudio){try{typeof AudioContext<"u"?o.ctx=new AudioContext:typeof webkitAudioContext<"u"?o.ctx=new webkitAudioContext:o.usingWebAudio=!1}catch{o.usingWebAudio=!1}o.ctx||(o.usingWebAudio=!1);var i=/iP(hone|od|ad)/.test(o._navigator&&o._navigator.platform),s=o._navigator&&o._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),u=s?parseInt(s[1],10):null;if(i&&u&&u<9){var p=/safari/.test(o._navigator&&o._navigator.userAgent.toLowerCase());o._navigator&&!p&&(o.usingWebAudio=!1)}o.usingWebAudio&&(o.masterGain=o.ctx.createGain===void 0?o.ctx.createGainNode():o.ctx.createGain(),o.masterGain.gain.setValueAtTime(o._muted?0:o._volume,o.ctx.currentTime),o.masterGain.connect(o.ctx.destination)),o._setup()}};e.Howler=o,e.Howl=r,typeof t<"u"?(t.HowlerGlobal=n,t.Howler=o,t.Howl=r,t.Sound=a):typeof window<"u"&&(window.HowlerGlobal=n,window.Howler=o,window.Howl=r,window.Sound=a)})()}(Be)),Be}var an=Ta();const za=typeof navigator<"u"&&typeof navigator.standalone<"u";class Ia{constructor(t){this.cogsConnection=t,this.addEventListener("audioClipState",({detail:o})=>{t.sendMediaClipState(o)}),t.addEventListener("message",({message:o})=>{switch(o.type){case"media_config_update":if(this.globalVolume!==o.globalVolume&&this.setGlobalVolume(o.globalVolume),o.audioOutput!==void 0){const r=t.getAudioSinkId(o.audioOutput);this.setAudioSink(r??"")}this.updateConfig(o.files);break;case"audio_play":this.playAudioClip(o.file,{playId:o.playId,volume:o.volume,loop:!!o.loop,fade:o.fade});break;case"audio_pause":this.pauseAudioClip(o.file,{fade:o.fade});break;case"audio_stop":o.file?this.stopAudioClip(o.file,{fade:o.fade}):this.stopAllAudioClips({fade:o.fade});break;case"audio_set_clip_volume":this.setAudioClipVolume(o.file,{volume:o.volume,fade:o.fade});break}});const n=()=>{const o=Object.entries(this.audioClipPlayers).map(([r,a])=>{const c=Object.values(a.activeClips),l=c.some(({state:d})=>d.type==="playing"||d.type==="pausing"||d.type==="stopping"||d.type==="play_requested"||d.type==="pause_requested"||d.type==="stop_requested")?"playing":c.some(({state:d})=>d.type==="paused")?"paused":"stopped";return[r,l]});t.sendInitialMediaClipStates({mediaType:"audio",files:o})};t.addEventListener("open",n),n()}eventTarget=new EventTarget;globalVolume=1;audioClipPlayers={};sinkId="";setGlobalVolume(t){this.globalVolume=t,an.Howler.volume(t),this.notifyStateListeners()}playAudioClip(t,{playId:n,volume:o,fade:r,loop:a}){t in this.audioClipPlayers||(this.audioClipPlayers[t]=this.createClip(t,{preload:!1,ephemeral:!0})),this.updateAudioClipPlayer(t,c=>{const l=Object.entries(c.activeClips).filter(([,{state:g}])=>g.type==="paused").map(([g])=>parseInt(g)),d=Object.entries(c.activeClips).filter(([,{state:g}])=>g.type==="pausing").map(([g])=>parseInt(g));l.forEach(g=>{c.player.play(g)});const f=Object.entries(c.activeClips).filter(([,{state:g}])=>g.type==="pause_requested").map(([g])=>parseInt(g)),y=l.length>0||d.length>0||f.length>0?[]:[c.player.play()];return d.forEach(g=>{c.player.off("fade",void 0,g),c.player.loop(a,g),this.updateActiveAudioClip(t,g,i=>({...i,state:{type:"playing"}})),ae(r)?ue(c.player,o,r*1e3,g):We(c.player,o,g)}),[...l,...f,...y].forEach(g=>{c.player.loop(a,g),c.player.off("play",void 0,g),c.player.off("pause",void 0,g),c.player.off("fade",void 0,g),c.player.off("end",void 0,g),c.player.off("stop",void 0,g),c.player.once("play",()=>{Ge(c.player,this.sinkId)}),c.player.once("stop",()=>this.handleStoppedClip(t,n,g),g),c.player.on("end",()=>{c.activeClips[g]?.loop||this.handleStoppedClip(t,n,g)},g);const i={playId:n,state:{type:"play_requested"},loop:a,volume:o};c.player.once("play",()=>{const s=c.activeClips[g]?.state;s?.type==="pause_requested"?this.pauseAudioClip(t,{fade:s.fade},g,!0):s?.type==="stop_requested"?this.stopAudioClip(t,{fade:s.fade},g,!0):this.updateActiveAudioClip(t,g,u=>({...u,state:{type:"playing"}}))},g),ae(r)?(c.player.volume(0,g),c.player.mute(!1,g),c.player.once("play",()=>{ue(c.player,o,r*1e3,g)},g)):We(c.player,o,g),c.activeClips={...c.activeClips,[g]:i}}),c}),this.notifyClipStateListeners(n,t,"playing")}pauseAudioClip(t,{fade:n},o,r){Object.keys(this.audioClipPlayers[t]?.activeClips??{}).length!==0&&this.updateAudioClipPlayer(t,a=>(a.activeClips=Object.fromEntries(Object.entries(a.activeClips).map(([c,l])=>{const d=parseInt(c);return(o===void 0||o===d)&&(r&&l.state.type==="pause_requested"||l.state.type==="playing"||l.state.type==="pausing"?ae(n)?(a.player.once("fade",f=>{a.player.pause(f),this.updateActiveAudioClip(t,f,y=>({...y,state:{type:"paused"}})),this.notifyClipStateListeners(l.playId,t,"paused")},d),ue(a.player,0,n*1e3,d),l.state={type:"pausing"}):(a.player.pause(d),l.state={type:"paused"},this.notifyClipStateListeners(l.playId,t,"paused")):(l.state.type==="play_requested"||l.state.type==="pause_requested")&&(l.state={type:"pause_requested",fade:n})),[c,l]})),a))}stopAudioClip(t,{fade:n},o,r){$a("Stop audio clip",{activeClips:this.audioClipPlayers[t]?.activeClips}),Object.keys(this.audioClipPlayers[t]?.activeClips??{}).length!==0&&this.updateAudioClipPlayer(t,a=>(a.activeClips=Object.fromEntries(Object.entries(a.activeClips).map(([c,l])=>{const d=parseInt(c);return(o===void 0||o===d)&&(r&&l.state.type==="stop_requested"||l.state.type==="playing"||l.state.type==="pausing"||l.state.type==="paused"||l.state.type==="stopping"?ae(n)&&l.state.type!=="paused"?(a.player.off("fade",d),ue(a.player,0,n*1e3,d),a.player.once("fade",f=>{a.player.loop(!1,f),a.player.stop(f)},d),l.state={type:"stopping"}):(a.player.loop(!1,d),a.player.stop(d)):(l.state.type==="play_requested"||l.state.type==="pause_requested"||l.state.type==="stop_requested")&&(l.state={type:"stop_requested",fade:n})),[c,l]})),a))}stopAllAudioClips(t){Object.keys(this.audioClipPlayers).forEach(n=>{this.stopAudioClip(n,t)})}setAudioClipVolume(t,{volume:n,fade:o}){if(!(n>=0&&n<=1)){console.warn("Invalid volume",n);return}Object.keys(this.audioClipPlayers[t]?.activeClips??{}).length!==0&&this.updateAudioClipPlayer(t,r=>(r.activeClips=Object.fromEntries(Object.entries(r.activeClips).map(([a,c])=>{if(c.state.type!=="pausing"&&c.state.type!=="stopping"){const l=parseInt(a);return ae(o)?ue(r.player,n,o*1e3,l):We(r.player,n,l),[a,{...c,volume:n}]}else return[a,c]})),r))}handleStoppedClip(t,n,o){this.updateAudioClipPlayer(t,r=>(delete r.activeClips[o],r)),this.notifyClipStateListeners(n,t,"stopped")}updateActiveAudioClip(t,n,o){this.updateAudioClipPlayer(t,r=>n in r.activeClips?{...r,activeClips:{...r.activeClips,[n]:o(r.activeClips[n])}}:r)}updateAudioClipPlayer(t,n){t in this.audioClipPlayers&&(this.audioClipPlayers={...this.audioClipPlayers,[t]:n(this.audioClipPlayers[t])});const o=this.audioClipPlayers[t];o&&Object.keys(o.activeClips??{}).length===0&&o.config.ephemeral&&(o.player.unload(),delete this.audioClipPlayers[t]),this.notifyStateListeners()}setAudioSink(t){for(const n of Object.values(this.audioClipPlayers))Ge(n.player,t);this.sinkId=t}updateConfig(t){const n=Object.fromEntries(Object.entries(t).filter(r=>{const a=r[1].type;return a==="audio"||!a})),o=this.audioClipPlayers;this.audioClipPlayers=(()=>{const r={...o};return Object.keys(o).filter(d=>!(d in n)&&!o[d].config.ephemeral).forEach(d=>{o[d].player.unload(),delete r[d]}),Object.entries(n).filter(([d])=>!o[d]).forEach(([d,f])=>{r[d]=this.createClip(d,{...f,ephemeral:!1})}),Object.keys(o).filter(d=>d in n).forEach(d=>{r[d]=this.updatedClip(d,r[d],{...n[d],ephemeral:!1})}),r})(),this.notifyStateListeners()}notifyStateListeners(){const t=Object.entries(this.audioClipPlayers).reduce((r,[a,c])=>(r[a]={config:{preload:c.config.preload,ephemeral:c.config.ephemeral},activeClips:c.activeClips},r),{}),n=Object.values(this.audioClipPlayers).some(({activeClips:r})=>Object.values(r).some(a=>a.state.type==="playing"||a.state.type==="pausing"||a.state.type==="stopping")),o={globalVolume:this.globalVolume,isPlaying:n,clips:t};this.dispatchEvent("state",o)}notifyClipStateListeners(t,n,o){this.dispatchEvent("audioClipState",{mediaType:"audio",playId:t,file:n,status:o})}addEventListener(t,n,o){this.eventTarget.addEventListener(t,n,o)}removeEventListener(t,n,o){this.eventTarget.removeEventListener(t,n,o)}dispatchEvent(t,n){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:n}))}createPlayer(t,n){const o=new an.Howl({src:this.cogsConnection.getAssetUrl(t),autoplay:!1,loop:!1,volume:1,html5:!0,preload:n.preload});return Ge(o,this.sinkId),o}createClip(t,n){return{config:n,player:this.createPlayer(t,n),activeClips:{}}}updatedClip(t,n,o){const r={...n,config:o};return n.config.preload!==o.preload&&(r.player.unload(),r.player=this.createPlayer(t,o)),r}}function $a(...e){}function ae(e){return!za&&typeof e=="number"&&!isNaN(e)&&e>0}function Ge(e,t){t!==void 0&&(e._html5?e._sounds?.forEach(n=>{n._node?.setSinkId?.(t)}):console.warn("Cannot set sink ID: web audio not supported",e))}function We(e,t,n){e.volume(t,n),e.mute(t===0,n)}function ue(e,t,n,o){e.fade(e.volume(o),t,n,o)}var qe=(e=>(e.Paused="paused",e.Playing="playing",e))(qe||{});class Oa{constructor(t,n=document.body){this.cogsConnection=t,this.parentElement=n,this.addEventListener("videoClipState",({detail:r})=>{t.sendMediaClipState(r)}),t.addEventListener("message",({message:r})=>{switch(r.type){case"media_config_update":if(this.setGlobalVolume(r.globalVolume),r.audioOutput!==void 0){const a=t.getAudioSinkId(r.audioOutput);this.setAudioSink(a??"")}this.updateConfig(r.files);break;case"video_play":this.playVideoClip(r.file,{playId:r.playId,volume:r.volume,loop:!!r.loop,fit:r.fit});break;case"video_pause":this.pauseVideoClip();break;case"video_stop":this.stopVideoClip();break;case"video_set_volume":this.setVideoClipVolume({volume:r.volume});break;case"video_set_fit":this.setVideoClipFit({fit:r.fit});break}});const o=()=>{const r=Object.entries(this.videoClipPlayers).map(([a,c])=>{const l=c.videoElement.paused?c.videoElement.currentTime===0||c.videoElement.currentTime===c.videoElement.duration?"paused":"stopped":"playing";return[a,l]});t.sendInitialMediaClipStates({mediaType:"video",files:r})};t.addEventListener("open",o),o()}eventTarget=new EventTarget;globalVolume=1;videoClipPlayers={};activeClip;pendingClip;parentElement;sinkId="";setParentElement(t){this.parentElement=t,Object.values(this.videoClipPlayers).forEach(n=>{t.appendChild(n.videoElement)})}resetParentElement(){this.setParentElement(document.body)}setGlobalVolume(t){Object.values(this.videoClipPlayers).forEach(n=>{ke(n.videoElement,n.volume*t)}),this.globalVolume=t,this.notifyStateListeners()}playVideoClip(t,{playId:n,volume:o,loop:r,fit:a}){this.videoClipPlayers[t]||(this.videoClipPlayers[t]=this.createClipPlayer(t,{preload:"none",ephemeral:!0,fit:a})),this.pendingClip&&this.updateVideoClipPlayer(this.pendingClip.path,c=>(c.videoElement.load(),c)),this.activeClip?.path!==t&&(this.pendingClip={path:t,playId:n,actionOncePlaying:"play"}),this.updateVideoClipPlayer(t,c=>(c.volume=o,ke(c.videoElement,o*this.globalVolume),c.videoElement.loop=r,c.videoElement.style.objectFit=a,c.videoElement.currentTime===c.videoElement.duration&&(c.videoElement.currentTime=0),c.videoElement.play(),this.activeClip||(c.videoElement.style.display="block"),c))}pauseVideoClip(){if(this.pendingClip&&(this.pendingClip.actionOncePlaying="pause"),this.activeClip){const{playId:t,path:n}=this.activeClip;this.updateVideoClipPlayer(n,o=>(o.videoElement?.pause(),o)),this.notifyClipStateListeners(t,n,"paused")}}stopVideoClip(){this.pendingClip&&(this.pendingClip.actionOncePlaying="stop"),this.activeClip&&this.handleStoppedClip(this.activeClip.path)}setVideoClipVolume({volume:t}){const n=this.pendingClip??this.activeClip??void 0;if(n){if(!(t>=0&&t<=1)){console.warn("Invalid volume",t);return}this.updateVideoClipPlayer(n.path,o=>(o.videoElement&&(o.volume=t,ke(o.videoElement,t*this.globalVolume)),o))}}setVideoClipFit({fit:t}){const n=this.pendingClip??this.activeClip??void 0;n&&this.updateVideoClipPlayer(n.path,o=>(o.videoElement&&(o.videoElement.style.objectFit=t),o))}handleStoppedClip(t){if(!this.activeClip||this.activeClip.path!==t)return;const n=this.activeClip.playId;this.videoClipPlayers[this.activeClip.path]?.config.ephemeral&&this.unloadClip(t),this.activeClip=void 0,this.updateVideoClipPlayer(t,o=>(o.videoElement.pause(),o.videoElement.currentTime=0,o.videoElement.style.display="none",o)),this.notifyClipStateListeners(n,t,"stopped")}updateVideoClipPlayer(t,n){if(this.videoClipPlayers[t]){const o=n(this.videoClipPlayers[t]);o?this.videoClipPlayers[t]=o:delete this.videoClipPlayers[t],this.notifyStateListeners()}}setAudioSink(t){for(const n of Object.values(this.videoClipPlayers))cn(n,t);this.sinkId=t}updateConfig(t){const n=Object.fromEntries(Object.entries(t).filter(([,{type:r}])=>r==="video"||!r)),o=this.videoClipPlayers;this.videoClipPlayers=(()=>{const r={...o};return Object.keys(o).filter(d=>!(d in n)).forEach(d=>{this.activeClip?.path===d&&o[d]?.config.ephemeral===!1?this.updateVideoClipPlayer(d,f=>(f.config={...f.config,ephemeral:!0},f)):(this.unloadClip(d),delete r[d])}),Object.entries(n).filter(([d])=>!o[d]).forEach(([d,f])=>{r[d]=this.createClipPlayer(d,{...f,preload:un(f.preload),ephemeral:!1,fit:"contain"})}),Object.entries(o).filter(([d])=>d in n).forEach(([d,f])=>{f.config.preload!==n[d].preload&&this.updateVideoClipPlayer(d,y=>(y.config={...y.config,preload:un(n[d].preload),ephemeral:!1},y.videoElement.preload=y.config.preload,y))}),r})(),this.notifyStateListeners()}notifyStateListeners(){const t={globalVolume:this.globalVolume,isPlaying:this.activeClip?!this.videoClipPlayers[this.activeClip.path].videoElement?.paused:!1,clips:{...this.videoClipPlayers},activeClip:this.activeClip?{path:this.activeClip.path,state:this.videoClipPlayers[this.activeClip.path].videoElement?.paused?qe.Paused:qe.Playing,loop:this.videoClipPlayers[this.activeClip.path].videoElement?.loop??!1,volume:this.videoClipPlayers[this.activeClip.path].videoElement?.muted?0:this.videoClipPlayers[this.activeClip.path].videoElement?.volume??0}:void 0};this.dispatchEvent("state",t)}notifyClipStateListeners(t,n,o){this.dispatchEvent("videoClipState",{playId:t,mediaType:"video",file:n,status:o})}addEventListener(t,n,o){this.eventTarget.addEventListener(t,n,o)}removeEventListener(t,n,o){this.eventTarget.removeEventListener(t,n,o)}dispatchEvent(t,n){this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:n}))}createVideoElement(t,n,{volume:o}){const r=document.createElement("video");return r.playsInline=!0,r.src=this.cogsConnection.getAssetUrl(t),r.autoplay=!1,r.loop=!1,ke(r,o*this.globalVolume),r.preload=n.preload,r.addEventListener("playing",()=>{if(this.pendingClip?.path===t){switch(this.pendingClip.actionOncePlaying){case"play":{r.style.display="block",this.notifyClipStateListeners(this.pendingClip.playId,t,"playing");break}case"pause":{r.style.display="block",r.pause(),this.notifyClipStateListeners(this.pendingClip.playId,t,"paused");break}case"stop":{r.pause(),this.notifyClipStateListeners(this.pendingClip.playId,t,"stopped");break}}this.activeClip&&this.handleStoppedClip(this.activeClip.path),this.activeClip=this.pendingClip,this.pendingClip=void 0}else this.activeClip?.path===t?this.notifyClipStateListeners(this.activeClip.playId,t,"playing"):r.pause()}),r.addEventListener("ended",()=>{!this.pendingClip&&!r.loop&&this.handleStoppedClip(t)}),r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",r.style.objectFit=n.fit,r.style.display="none",this.parentElement.appendChild(r),r}createClipPlayer(t,n){const r={config:n,videoElement:this.createVideoElement(t,n,{volume:1}),volume:1};return cn(r,this.sinkId),r}unloadClip(t){if(this.activeClip?.path===t){const n=this.activeClip.playId;this.activeClip=void 0,this.notifyClipStateListeners(n,t,"stopped")}this.videoClipPlayers[t]?.videoElement.remove(),this.updateVideoClipPlayer(t,()=>null)}}function un(e){return typeof e=="string"?e:e?"auto":"none"}function cn(e,t){t!==void 0&&typeof e.videoElement.setSinkId=="function"&&e.videoElement.setSinkId(t)}function ke(e,t){e.volume=t,e.muted=t===0}const Pa=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));C.CogsAudioPlayer=Ia,C.CogsConfigChangedEvent=nt,C.CogsConnection=$n,C.CogsConnectionCloseEvent=et,C.CogsConnectionOpenEvent=Xe,C.CogsIncomingEvent=it,C.CogsMediaConfigChangedEvent=rt,C.CogsMessageEvent=tt,C.CogsShowPhaseChangedEvent=st,C.CogsStateChangedEvent=ot,C.CogsVideoPlayer=Oa,C.DATA_CLIP_ID=rn,C.DataStoreItemEvent=Se,C.DataStoreItemsEvent=Te,C.ManifestTypes=Pa,C.MediaPreloader=on,C.MediaSchema=ca,C.SurfaceManager=Sa,C.assetUrl=Qe,C.getStateAtTime=se,C.preloadUrl=wn,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
|
38
|
+
`)}m.write("payload.value = newResult;"),m.write("return payload;");const je=m.compile();return(O,S)=>je(d,O,S)};let s;const i=ee,c=!qe.jitless,l=c&&zn.value,h=t.catchall;let p;e._zod.parse=(d,m)=>{p??(p=r.value);const E=d.value;return i(E)?c&&l&&m?.async===!1&&m.jitless!==!0?(s||(s=o(t.shape)),d=s(d,m),h?_t([],E,d,m,p,e):d):n(d,m):(d.issues.push({expected:"object",code:"invalid_type",input:E,inst:e}),d)}});function gt(e,t,n,r){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const o=e.filter(s=>!G(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(i=>N(i,r,A())))}),t)}const po=u("$ZodUnion",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),_(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),_(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),_(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>ye(s.source)).join("|")})$`)}});const n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,s)=>{if(n)return r(o,s);let i=!1;const c=[];for(const a of t.options){const l=a._zod.run({value:o.value,issues:[]},s);if(l instanceof Promise)c.push(l),i=!0;else{if(l.issues.length===0)return l;c.push(l)}}return i?Promise.all(c).then(a=>gt(a,o,e,s)):gt(c,o,e,s)}}),mo=u("$ZodIntersection",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([a,l])=>vt(n,a,l)):vt(n,s,i)}});function Ze(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(V(e)&&V(t)){const n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};for(const s of r){const i=Ze(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r],i=Ze(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function vt(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),G(e))return e;const r=Ze(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const _o=u("$ZodTuple",(e,t)=>{g.init(e,t);const n=t.items;e._zod.parse=(r,o)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({input:s,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];const i=[],c=[...n].reverse().findIndex(h=>h._zod.optin!=="optional"),a=c===-1?0:n.length-c;if(!t.rest){const h=s.length>n.length,p=s.length<a-1;if(h||p)return r.issues.push({...h?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},input:s,inst:e,origin:"array"}),r}let l=-1;for(const h of n){if(l++,l>=s.length&&l>=a)continue;const p=h._zod.run({value:s[l],issues:[]},o);p instanceof Promise?i.push(p.then(d=>ie(d,r,l))):ie(p,r,l)}if(t.rest){const h=s.slice(n.length);for(const p of h){l++;const d=t.rest._zod.run({value:p,issues:[]},o);d instanceof Promise?i.push(d.then(m=>ie(m,r,l))):ie(d,r,l)}}return i.length?Promise.all(i).then(()=>r):r}});function ie(e,t,n){e.issues.length&&t.issues.push(...U(n,e.issues)),t.value[n]=e.value}const go=u("$ZodRecord",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!V(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const s=[],i=t.keyType._zod.values;if(i){n.value={};const c=new Set;for(const l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){c.add(typeof l=="number"?l.toString():l);const h=t.valueType._zod.run({value:o[l],issues:[]},r);h instanceof Promise?s.push(h.then(p=>{p.issues.length&&n.issues.push(...U(l,p.issues)),n.value[l]=p.value})):(h.issues.length&&n.issues.push(...U(l,h.issues)),n.value[l]=h.value)}let a;for(const l in o)c.has(l)||(a=a??[],a.push(l));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{n.value={};for(const c of Reflect.ownKeys(o)){if(c==="__proto__")continue;const a=t.keyType._zod.run({value:c,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(h=>N(h,r,A())),input:c,path:[c],inst:e}),n.value[a.value]=a.value;continue}const l=t.valueType._zod.run({value:o[c],issues:[]},r);l instanceof Promise?s.push(l.then(h=>{h.issues.length&&n.issues.push(...U(c,h.issues)),n.value[a.value]=h.value})):(l.issues.length&&n.issues.push(...U(c,l.issues)),n.value[a.value]=l.value)}}return s.length?Promise.all(s).then(()=>n):n}}),vo=u("$ZodEnum",(e,t)=>{g.init(e,t);const n=yn(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>$n.has(typeof o)).map(o=>typeof o=="string"?W(o):o.toString()).join("|")})$`),e._zod.parse=(o,s)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:n,input:i,inst:e}),o}}),bo=u("$ZodLiteral",(e,t)=>{if(g.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?W(r):r?W(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{const s=r.value;return n.has(s)||r.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),r}}),wo=u("$ZodTransform",(e,t)=>{g.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Ye(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new K;return n.value=o,n}});function bt(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const yo=u("$ZodOptional",(e,t)=>{g.init(e,t),e._zod.optin="optional",e._zod.optout="optional",_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ye(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>bt(s,n.value)):bt(o,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),ko=u("$ZodNullable",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ye(n.source)}|null)$`):void 0}),_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),Eo=u("$ZodDefault",(e,t)=>{g.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>wt(s,t)):wt(o,t)}});function wt(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const zo=u("$ZodPrefault",(e,t)=>{g.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),$o=u("$ZodNonOptional",(e,t)=>{g.init(e,t),_(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>yt(s,e)):yt(o,e)}});function yt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Zo=u("$ZodCatch",(e,t)=>{g.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>N(i,r,A()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(s=>N(s,r,A()))},input:n.value}),n.issues=[]),n)}}),So=u("$ZodPipe",(e,t)=>{g.init(e,t),_(e._zod,"values",()=>t.in._zod.values),_(e._zod,"optin",()=>t.in._zod.optin),_(e._zod,"optout",()=>t.out._zod.optout),_(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const s=t.out._zod.run(n,r);return s instanceof Promise?s.then(i=>ce(i,t.in,r)):ce(s,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>ce(s,t.out,r)):ce(o,t.out,r)}});function ce(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Oo=u("$ZodReadonly",(e,t)=>{g.init(e,t),_(e._zod,"propValues",()=>t.innerType._zod.propValues),_(e._zod,"values",()=>t.innerType._zod.values),_(e._zod,"optin",()=>t.innerType?._zod?.optin),_(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(kt):kt(o)}});function kt(e){return e.value=Object.freeze(e.value),e}const To=u("$ZodCustom",(e,t)=>{z.init(e,t),g.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>Et(s,n,r,e));Et(o,n,r,e)}});function Et(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(X(o))}}var zt;class Io{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];if(this._map.set(t,r),r&&typeof r=="object"&&"id"in r){if(this._idmap.has(r.id))throw new Error(`ID ${r.id} already exists in the registry`);this._idmap.set(r.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Co(){return new Io}(zt=globalThis).__zod_globalRegistry??(zt.__zod_globalRegistry=Co());const ue=globalThis.__zod_globalRegistry;function Po(e,t){return new e({type:"string",...f(t)})}function Ao(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...f(t)})}function $t(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...f(t)})}function Ro(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...f(t)})}function No(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f(t)})}function Do(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f(t)})}function jo(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f(t)})}function Lo(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...f(t)})}function Uo(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...f(t)})}function xo(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...f(t)})}function Mo(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...f(t)})}function Fo(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...f(t)})}function Ko(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...f(t)})}function Vo(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...f(t)})}function Wo(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...f(t)})}function Go(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...f(t)})}function Bo(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...f(t)})}function Jo(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f(t)})}function Ho(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f(t)})}function Yo(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...f(t)})}function qo(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...f(t)})}function Xo(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...f(t)})}function Qo(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...f(t)})}function es(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f(t)})}function ts(e,t){return new e({type:"string",format:"date",check:"string_format",...f(t)})}function ns(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...f(t)})}function rs(e,t){return new e({type:"string",format:"duration",check:"string_format",...f(t)})}function os(e,t){return new e({type:"number",checks:[],...f(t)})}function ss(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...f(t)})}function is(e,t){return new e({type:"boolean",...f(t)})}function cs(e,t){return new e({type:"null",...f(t)})}function us(e){return new e({type:"unknown"})}function as(e,t){return new e({type:"never",...f(t)})}function Zt(e,t){return new lt({check:"less_than",...f(t),value:e,inclusive:!1})}function Se(e,t){return new lt({check:"less_than",...f(t),value:e,inclusive:!0})}function St(e,t){return new ht({check:"greater_than",...f(t),value:e,inclusive:!1})}function Oe(e,t){return new ht({check:"greater_than",...f(t),value:e,inclusive:!0})}function Ot(e,t){return new wr({check:"multiple_of",...f(t),value:e})}function Tt(e,t){return new kr({check:"max_length",...f(t),maximum:e})}function ae(e,t){return new Er({check:"min_length",...f(t),minimum:e})}function It(e,t){return new zr({check:"length_equals",...f(t),length:e})}function ls(e,t){return new $r({check:"string_format",format:"regex",...f(t),pattern:e})}function hs(e){return new Zr({check:"string_format",format:"lowercase",...f(e)})}function ds(e){return new Sr({check:"string_format",format:"uppercase",...f(e)})}function fs(e,t){return new Or({check:"string_format",format:"includes",...f(t),includes:e})}function ps(e,t){return new Tr({check:"string_format",format:"starts_with",...f(t),prefix:e})}function ms(e,t){return new Ir({check:"string_format",format:"ends_with",...f(t),suffix:e})}function B(e){return new Cr({check:"overwrite",tx:e})}function _s(e){return B(t=>t.normalize(e))}function gs(){return B(e=>e.trim())}function vs(){return B(e=>e.toLowerCase())}function bs(){return B(e=>e.toUpperCase())}function ws(){return B(e=>En(e))}function ys(e,t,n){return new e({type:"array",element:t,...f(n)})}function ks(e,t,n){return new e({type:"custom",check:"custom",fn:t,...f(n)})}function Es(e){const t=zs(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(X(r,n.value,t._zod.def));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(X(o))}},e(n.value,n)));return t}function zs(e,t){const n=new z({check:"custom",...f(t)});return n._zod.check=e,n}const $s=u("ZodISODateTime",(e,t)=>{Wr.init(e,t),k.init(e,t)});function Zs(e){return es($s,e)}const Ss=u("ZodISODate",(e,t)=>{Gr.init(e,t),k.init(e,t)});function Os(e){return ts(Ss,e)}const Ts=u("ZodISOTime",(e,t)=>{Br.init(e,t),k.init(e,t)});function Is(e){return ns(Ts,e)}const Cs=u("ZodISODuration",(e,t)=>{Jr.init(e,t),k.init(e,t)});function Ps(e){return rs(Cs,e)}const $=u("ZodError",(e,t)=>{rt.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Dn(e,n)},flatten:{value:n=>Nn(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ve,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ve,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),As=Ee($),Rs=ze($),Ns=ne($),Ds=re($),js=Un($),Ls=xn($),Us=Mn($),xs=Fn($),Ms=Kn($),Fs=Vn($),Ks=Wn($),Vs=Gn($),b=u("ZodType",(e,t)=>(g.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(L(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]})),e.clone=(n,r)=>R(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>As(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Ns(e,n,r),e.parseAsync=async(n,r)=>Rs(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Ds(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>js(e,n,r),e.decode=(n,r)=>Ls(e,n,r),e.encodeAsync=async(n,r)=>Us(e,n,r),e.decodeAsync=async(n,r)=>xs(e,n,r),e.safeEncode=(n,r)=>Ms(e,n,r),e.safeDecode=(n,r)=>Fs(e,n,r),e.safeEncodeAsync=async(n,r)=>Ks(e,n,r),e.safeDecodeAsync=async(n,r)=>Vs(e,n,r),e.refine=(n,r)=>e.check(Mi(n,r)),e.superRefine=n=>e.check(Fi(n)),e.overwrite=n=>e.check(B(n)),e.optional=()=>Lt(e),e.nullable=()=>Ut(e),e.nullish=()=>Lt(Ut(e)),e.nonoptional=n=>Ri(e,n),e.array=()=>gi(e),e.or=n=>x([e,n]),e.and=n=>yi(e,n),e.transform=n=>Mt(e,Oi(n)),e.default=n=>Ci(e,n),e.prefault=n=>Ai(e,n),e.catch=n=>Di(e,n),e.pipe=n=>Mt(e,n),e.readonly=()=>Ui(e),e.describe=n=>{const r=e.clone();return ue.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return ue.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return ue.get(e);const r=e.clone();return ue.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Ct=u("_ZodString",(e,t)=>{$e.init(e,t),b.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(ls(...r)),e.includes=(...r)=>e.check(fs(...r)),e.startsWith=(...r)=>e.check(ps(...r)),e.endsWith=(...r)=>e.check(ms(...r)),e.min=(...r)=>e.check(ae(...r)),e.max=(...r)=>e.check(Tt(...r)),e.length=(...r)=>e.check(It(...r)),e.nonempty=(...r)=>e.check(ae(1,...r)),e.lowercase=r=>e.check(hs(r)),e.uppercase=r=>e.check(ds(r)),e.trim=()=>e.check(gs()),e.normalize=(...r)=>e.check(_s(...r)),e.toLowerCase=()=>e.check(vs()),e.toUpperCase=()=>e.check(bs()),e.slugify=()=>e.check(ws())}),Ws=u("ZodString",(e,t)=>{$e.init(e,t),Ct.init(e,t),e.email=n=>e.check(Ao(Gs,n)),e.url=n=>e.check(Lo(Bs,n)),e.jwt=n=>e.check(Qo(ui,n)),e.emoji=n=>e.check(Uo(Js,n)),e.guid=n=>e.check($t(Pt,n)),e.uuid=n=>e.check(Ro(le,n)),e.uuidv4=n=>e.check(No(le,n)),e.uuidv6=n=>e.check(Do(le,n)),e.uuidv7=n=>e.check(jo(le,n)),e.nanoid=n=>e.check(xo(Hs,n)),e.guid=n=>e.check($t(Pt,n)),e.cuid=n=>e.check(Mo(Ys,n)),e.cuid2=n=>e.check(Fo(qs,n)),e.ulid=n=>e.check(Ko(Xs,n)),e.base64=n=>e.check(Yo(si,n)),e.base64url=n=>e.check(qo(ii,n)),e.xid=n=>e.check(Vo(Qs,n)),e.ksuid=n=>e.check(Wo(ei,n)),e.ipv4=n=>e.check(Go(ti,n)),e.ipv6=n=>e.check(Bo(ni,n)),e.cidrv4=n=>e.check(Jo(ri,n)),e.cidrv6=n=>e.check(Ho(oi,n)),e.e164=n=>e.check(Xo(ci,n)),e.datetime=n=>e.check(Zs(n)),e.date=n=>e.check(Os(n)),e.time=n=>e.check(Is(n)),e.duration=n=>e.check(Ps(n))});function J(e){return Po(Ws,e)}const k=u("ZodStringFormat",(e,t)=>{v.init(e,t),Ct.init(e,t)}),Gs=u("ZodEmail",(e,t)=>{Dr.init(e,t),k.init(e,t)}),Pt=u("ZodGUID",(e,t)=>{Rr.init(e,t),k.init(e,t)}),le=u("ZodUUID",(e,t)=>{Nr.init(e,t),k.init(e,t)}),Bs=u("ZodURL",(e,t)=>{jr.init(e,t),k.init(e,t)}),Js=u("ZodEmoji",(e,t)=>{Lr.init(e,t),k.init(e,t)}),Hs=u("ZodNanoID",(e,t)=>{Ur.init(e,t),k.init(e,t)}),Ys=u("ZodCUID",(e,t)=>{xr.init(e,t),k.init(e,t)}),qs=u("ZodCUID2",(e,t)=>{Mr.init(e,t),k.init(e,t)}),Xs=u("ZodULID",(e,t)=>{Fr.init(e,t),k.init(e,t)}),Qs=u("ZodXID",(e,t)=>{Kr.init(e,t),k.init(e,t)}),ei=u("ZodKSUID",(e,t)=>{Vr.init(e,t),k.init(e,t)}),ti=u("ZodIPv4",(e,t)=>{Hr.init(e,t),k.init(e,t)}),ni=u("ZodIPv6",(e,t)=>{Yr.init(e,t),k.init(e,t)}),ri=u("ZodCIDRv4",(e,t)=>{qr.init(e,t),k.init(e,t)}),oi=u("ZodCIDRv6",(e,t)=>{Xr.init(e,t),k.init(e,t)}),si=u("ZodBase64",(e,t)=>{Qr.init(e,t),k.init(e,t)}),ii=u("ZodBase64URL",(e,t)=>{to.init(e,t),k.init(e,t)}),ci=u("ZodE164",(e,t)=>{no.init(e,t),k.init(e,t)}),ui=u("ZodJWT",(e,t)=>{oo.init(e,t),k.init(e,t)}),At=u("ZodNumber",(e,t)=>{ft.init(e,t),b.init(e,t),e.gt=(r,o)=>e.check(St(r,o)),e.gte=(r,o)=>e.check(Oe(r,o)),e.min=(r,o)=>e.check(Oe(r,o)),e.lt=(r,o)=>e.check(Zt(r,o)),e.lte=(r,o)=>e.check(Se(r,o)),e.max=(r,o)=>e.check(Se(r,o)),e.int=r=>e.check(Rt(r)),e.safe=r=>e.check(Rt(r)),e.positive=r=>e.check(St(0,r)),e.nonnegative=r=>e.check(Oe(0,r)),e.negative=r=>e.check(Zt(0,r)),e.nonpositive=r=>e.check(Se(0,r)),e.multipleOf=(r,o)=>e.check(Ot(r,o)),e.step=(r,o)=>e.check(Ot(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Z(e){return os(At,e)}const ai=u("ZodNumberFormat",(e,t)=>{so.init(e,t),At.init(e,t)});function Rt(e){return ss(ai,e)}const li=u("ZodBoolean",(e,t)=>{io.init(e,t),b.init(e,t)});function Nt(e){return is(li,e)}const hi=u("ZodNull",(e,t)=>{co.init(e,t),b.init(e,t)});function di(e){return cs(hi,e)}const fi=u("ZodUnknown",(e,t)=>{uo.init(e,t),b.init(e,t)});function Dt(){return us(fi)}const pi=u("ZodNever",(e,t)=>{ao.init(e,t),b.init(e,t)});function mi(e){return as(pi,e)}const _i=u("ZodArray",(e,t)=>{lo.init(e,t),b.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(ae(n,r)),e.nonempty=n=>e.check(ae(1,n)),e.max=(n,r)=>e.check(Tt(n,r)),e.length=(n,r)=>e.check(It(n,r)),e.unwrap=()=>e.element});function gi(e,t){return ys(_i,e,t)}const vi=u("ZodObject",(e,t)=>{fo.init(e,t),b.init(e,t),_(e,"shape",()=>t.shape),e.keyof=()=>$i(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Dt()}),e.loose=()=>e.clone({...e._zod.def,catchall:Dt()}),e.strict=()=>e.clone({...e._zod.def,catchall:mi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>In(e,n),e.safeExtend=n=>Cn(e,n),e.merge=n=>Pn(e,n),e.pick=n=>On(e,n),e.omit=n=>Tn(e,n),e.partial=(...n)=>An(jt,e,n[0]),e.required=(...n)=>Rn(xt,e,n[0])});function w(e,t){const n={type:"object",shape:e??{},...f(t)};return new vi(n)}const bi=u("ZodUnion",(e,t)=>{po.init(e,t),b.init(e,t),e.options=t.options});function x(e,t){return new bi({type:"union",options:e,...f(t)})}const wi=u("ZodIntersection",(e,t)=>{mo.init(e,t),b.init(e,t)});function yi(e,t){return new wi({type:"intersection",left:e,right:t})}const ki=u("ZodTuple",(e,t)=>{_o.init(e,t),b.init(e,t),e.rest=n=>e.clone({...e._zod.def,rest:n})});function T(e,t,n){const r=t instanceof g,o=r?n:t,s=r?t:null;return new ki({type:"tuple",items:e,rest:s,...f(o)})}const Ei=u("ZodRecord",(e,t)=>{go.init(e,t),b.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function zi(e,t,n){return new Ei({type:"record",keyType:e,valueType:t,...f(n)})}const Te=u("ZodEnum",(e,t)=>{vo.init(e,t),b.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Te({...t,checks:[],...f(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Te({...t,checks:[],...f(o),entries:s})}});function $i(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Te({type:"enum",entries:n,...f(t)})}const Zi=u("ZodLiteral",(e,t)=>{bo.init(e,t),b.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function C(e,t){return new Zi({type:"literal",values:Array.isArray(e)?e:[e],...f(t)})}const Si=u("ZodTransform",(e,t)=>{wo.init(e,t),b.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Ye(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(X(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(X(i))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function Oi(e){return new Si({type:"transform",transform:e})}const jt=u("ZodOptional",(e,t)=>{yo.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Lt(e){return new jt({type:"optional",innerType:e})}const Ti=u("ZodNullable",(e,t)=>{ko.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ut(e){return new Ti({type:"nullable",innerType:e})}const Ii=u("ZodDefault",(e,t)=>{Eo.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ci(e,t){return new Ii({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():tt(t)}})}const Pi=u("ZodPrefault",(e,t)=>{zo.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ai(e,t){return new Pi({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():tt(t)}})}const xt=u("ZodNonOptional",(e,t)=>{$o.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ri(e,t){return new xt({type:"nonoptional",innerType:e,...f(t)})}const Ni=u("ZodCatch",(e,t)=>{Zo.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Di(e,t){return new Ni({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const ji=u("ZodPipe",(e,t)=>{So.init(e,t),b.init(e,t),e.in=t.in,e.out=t.out});function Mt(e,t){return new ji({type:"pipe",in:e,out:t})}const Li=u("ZodReadonly",(e,t)=>{Oo.init(e,t),b.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ui(e){return new Li({type:"readonly",innerType:e})}const xi=u("ZodCustom",(e,t)=>{To.init(e,t),b.init(e,t)});function Mi(e,t={}){return ks(xi,e,t)}function Fi(e){return Es(e)}const he=w({t:Z().gte(0),rate:Z().gte(0)}),H=w({opacity:Z().gte(0).lte(1),zIndex:Z().default(0)}),Y=w({volume:Z().gte(0).lte(1)}),Ki=w({type:C("image"),file:J(),fit:x([C("contain"),C("cover"),C("none")])}),Vi=w({type:C("audio"),file:J(),audioOutput:J(),enablePlaybackRateAdjustment:Nt()}),Wi=w({type:C("video"),file:J(),audioOutput:J(),enablePlaybackRateAdjustment:Nt(),fit:x([C("contain"),C("cover"),C("none")])}),Ie=T([Z(),di()]),Gi=T([Z(),w({set:w({...H.shape}).partial()}).partial()]),Bi=T([Z(),w({set:w({...H.shape}).partial(),lerp:w({...H.shape}).partial()}).partial()]),Ji=T([Z(),w({set:w({...he.shape,...Y.shape}).partial()}).partial()]),Hi=T([Z(),w({set:w({...he.shape,...Y.shape}).partial(),lerp:w({...Y.shape}).partial()}).partial()]),Yi=T([Z(),w({set:w({...he.shape,...Y.shape,...H.shape}).partial()}).partial()]),qi=T([Z(),w({set:w({...he.shape,...Y.shape,...H.shape}).partial(),lerp:w({...Y.shape,...H.shape}).partial()}).partial()]),Xi=w({...Ki.shape,keyframes:T([Bi],x([Gi,Ie]))}),Qi=w({...Vi.shape,keyframes:T([Hi],x([Ji,Ie]))}),ec=w({...Wi.shape,keyframes:T([qi],x([Yi,Ie]))}),tc=zi(J(),x([Xi,Qi,ec])),Ft={opacity:1,zIndex:0},Ce={t:0,rate:1,volume:1},Kt={t:0,rate:1,volume:1,opacity:1,zIndex:0},nc=Object.freeze(Object.defineProperty({__proto__:null,MediaSurfaceStateSchema:tc,defaultAudioOptions:Ce,defaultImageOptions:Ft,defaultVideoOptions:Kt},Symbol.toStringTag,{value:"Module"}));function de(e,t){if(!e.keyframes.filter(r=>r[1]===null).some(r=>r[0]<=t))switch(e.type){case"image":{if(e.keyframes[0][0]>t)return;const o=e.keyframes.filter(i=>i[1]!==null),s=Pe(o,t);return{...Ft,...s}}case"audio":{const r=e.keyframes.filter(i=>i[1]!==null),o=Vt(r,t);if(!o)return;const s=Pe(r,t);return{...Ce,...s,...o}}case"video":{const r=e.keyframes.filter(i=>i[1]!==null),o=Vt(r,t);if(!o)return;const s=Pe(r,t);return{...Kt,...s,...o}}}}function Pe(e,t){const n={};for(const[o,s]of e)o<=t?(Object.entries(s.lerp??{}).forEach(([i,c])=>{n[i]??={},n[i].before=[o,c]}),Object.entries(s.set??{}).forEach(([i,c])=>{n[i]??={},n[i].before=[o,c]})):Object.entries(s.lerp??{}).forEach(([i,c])=>{n[i]??={},n[i].after===void 0&&(n[i].after=[o,c])});const r={};return Object.entries(n).forEach(([o,{before:s,after:i}])=>{if(i===void 0&&s){r[o]=s[1];return}if(s&&i&&s[0]===i[0]){r[o]=i[1];return}if(s&&typeof s[1]=="number"&&i&&typeof i[1]=="number"){r[o]=s[1]+(t-s[0])*(i[1]-s[1])/(i[0]-s[0]);return}}),r}function Vt(e,t){const n=e[0];if(!n||n[0]>t)return;let r=0,{t:o,rate:s}=Ce;for(const[l,h]of e){if(l>t)break;const{set:p}=h;if(!p)continue;const{t:d,rate:m}=p;if(d!==void 0){r=l,o=d,m!==void 0&&(s=m);continue}if(m!==void 0){const P=(l-r)*s;r=l,o+=P,s=m}}const c=(t-r)*s,a=o+c;return{rate:s,t:a}}const rc=typeof navigator<"u"&&typeof navigator.standalone<"u",oc="GestureEvent"in window;function fe(e,t){return(e%t+t)%t}function sc(e,t,n){return e=fe(e,n),t=fe(t,n),Math.abs(e-t)<n/2?e-t:e<t?e+n-t:e-(t+n)}const Ae=e=>{try{const{pathname:t}=new URL(e,window.location.href);return t}catch{return}};class Re{constructor(t,n,r,o,s,i){this.surfaceElement=t,this.clipElement=n,this.constructAssetURL=o,this.getAudioOutput=s,this.mediaPreloader=i,this._state=r}isConnected(t){return!(!this.surfaceElement||!this.clipElement||!this.surfaceElement.contains(this.clipElement)||t&&!this.clipElement.contains(t))}_state;setState(t){this._state=t}timeout;loop=async()=>{clearTimeout(this.timeout),this.isConnected()?(this.update(),this.timeout=setTimeout(this.loop,Yt)):this.destroy()}}function Ne(e,t,n,r,o){let s;const i=r(n.file),c=Ae(i);switch(n.type){case"image":s=e instanceof HTMLImageElement?e:document.createElement("img"),Ae(s.src)!==c&&(s.src=i);break;case"audio":case"video":{if(e!==void 0){const a=Ae(e.src);e.tagName.toLowerCase()===n.type&&a!==void 0&&a===c&&(s=e)}s||(s=o.getElement(n.file,n.type)),s instanceof HTMLVideoElement&&!s.playsInline&&(s.playsInline=!0);break}}return(t.children.length!==1||t.childNodes[0]!==s)&&t.replaceChildren(s),s.style.position="absolute",s.style.width="100%",s.style.height="100%",s}function Wt(e,t,n){const r=String(t.opacity);e.style.opacity!==r&&(e.style.opacity=r);const o=Math.round(t.zIndex??0);parseInt(e.style.zIndex)!==o&&(e.style.zIndex=String(o)),e.style.objectFit!==n&&(e.style.objectFit=n)}function Gt(e,t,n,r){const o=t.volume*r;if(rc)o===0&&!e.muted?e.muted=!0:o>0&&e.muted&&(e.muted=!1);else if(e.muted&&(e.muted=!1),e.volume!==o&&(e.volume=o),e.sinkId!==n)try{e.setSinkId(n).catch(()=>{})}catch{}}const Bt=2e3,ic=1e3,Jt=100,Ht=50,Yt=5,pe=1e3,cc=10,uc=5,ac=.3,lc=.1;function hc(e){return Math.sign(e)*Math.pow(Math.abs(e)/pe,ac)*lc}function I(e,t){e.playbackRate!==t&&(e.playbackRate=t),e.paused&&e.play().catch(()=>{})}function qt(e,t,n,r,o){const s=o&&!oc;let i=!1;if(e.duration){const h=n.filter(([p,d])=>p>t.t&&(d?.set?.t!==void 0||d?.set?.rate!==void 0))[0];if(h?.[1]?.set?.t===0){const p=(e.duration-t.t)/t.rate,d=h[0]-t.t;i=Math.abs(p-d)<=uc,e.loop!==i&&(e.loop=i)}}const c=e.currentTime*1e3,a=i&&e.duration!==void 0?sc(c,t.t,e.duration*1e3):c-t.t,l=Math.abs(a);switch(!0){case(!s&&r.state==="idle"&&t.rate>0&&l>Bt):{const h=(t.t+t.rate*ic)/1e3;return e.duration!==void 0&&h>e.duration&&!i?{state:"idle"}:(I(e,0),e.currentTime=i?fe(h,e.duration*1e3):h,{state:"seeking-ahead"})}case(r.state==="seeking-ahead"&&e.seeking===!0):return{state:"seeking-ahead"};case(r.state==="seeking-ahead"&&e.seeking===!1):return I(e,0),{state:"seeked-ahead"};case(r.state==="seeked-ahead"&&a<-Jt):return I(e,t.rate),console.warn("Failed to seek ahead in time"),{state:"idle"};case(r.state==="seeked-ahead"&&l<=Jt):return I(e,t.rate),{state:"idle"};case(r.state==="seeked-ahead"&&l>Bt*1.5):return console.warn("Failed to seek ahead"),{state:"idle"};case r.state==="seeked-ahead":return{state:"seeked-ahead"};case(s&&r.state==="idle"&&t.rate>0&&l>Ht&&l<=pe):{const h=hc(a),p=Math.max(0,t.rate-h);return I(e,p),{state:"intercepting"}}case(r.state==="intercepting"&&l<=Yt):return I(e,t.rate),{state:"idle"};case(r.state==="intercepting"&&Math.sign(a)===Math.sign(e.playbackRate-t.rate)):return I(e,t.rate),{state:"idle"};case(r.state==="intercepting"&&l<pe*2):return{state:"intercepting"};case r.state==="intercepting":return I(e,t.rate),{state:"idle"};case(s&&r.state==="idle"&&l>pe):{const h=(t.t+t.rate*cc)/1e3;return e.currentTime=i?fe(h,e.duration*1e3):h,I(e,t.rate),{state:"seeking"}}case(r.state==="seeking"&&e.seeking):return{state:"seeking"};case(r.state==="seeking"&&!e.seeking):return{state:"idle"};case r.state==="idle":return I(e,t.rate),t.rate===0&&l>Ht&&(e.currentTime=t.t/1e3),{state:"idle"};default:return{state:"idle"}}}class dc extends Re{imageElement;update(){const t=de(this._state,Date.now());t?this.imageElement=Ne(this.imageElement,this.clipElement,this._state,this.constructAssetURL,this.mediaPreloader):this.imageElement&&this.destroy(),!(!t||!this.imageElement)&&Wt(this.imageElement,t,this._state.fit)}destroy(){this.imageElement&&(this.imageElement.remove(),this.imageElement.src="",this.imageElement=void 0)}}class Xt extends Re{syncState={state:"idle"};audioElement;volume=1;update(){const t=de(this._state,Date.now());if(t?this.audioElement=Ne(this.audioElement,this.clipElement,this._state,this.constructAssetURL,this.mediaPreloader):this.destroy(),!t||!this.audioElement)return;const n=this.getAudioOutput(this._state.audioOutput);Gt(this.audioElement,t,n,this.volume);const r=qt(this.audioElement,t,this._state.keyframes,this.syncState,this._state.enablePlaybackRateAdjustment);this.syncState=r}destroy(){this.audioElement&&(this.audioElement.pause(),this.audioElement.remove(),this.audioElement.volume=0,this.audioElement.currentTime=0,this.mediaPreloader.releaseElement(this.audioElement)),this.audioElement=void 0}}class Qt extends Re{syncState={state:"idle"};videoElement;volume=1;update(){const t=de(this._state,Date.now());if(t?this.videoElement=Ne(this.videoElement,this.clipElement,this._state,this.constructAssetURL,this.mediaPreloader):this.destroy(),!t||!this.videoElement)return;const n=this.getAudioOutput(this._state.audioOutput);Wt(this.videoElement,t,this._state.fit),Gt(this.videoElement,t,n,this.volume);const r=qt(this.videoElement,t,this._state.keyframes,this.syncState,this._state.enablePlaybackRateAdjustment);this.syncState=r}destroy(){this.videoElement&&(this.videoElement.pause(),this.videoElement.remove(),this.videoElement.volume=0,this.videoElement.currentTime=0,this.mediaPreloader.releaseElement(this.videoElement)),this.videoElement=void 0}}class en{_state;_elements={};_constructAssetURL;constructor(t,n={}){this._constructAssetURL=t,this._state=n}get state(){return{...this._state}}setState(t){this._state=t,this.update()}update(){for(const[t,n]of Object.entries(this._elements)){if(!(t in this._state)){if(n.inUse){console.warn(`Failed to clean up element ${n.element.src}`);continue}n.element.src="",n.element.load(),delete this._elements[t]}n.inUse=n.element.isConnected}for(const[t,n]of Object.entries(this._state)){if(t in this._elements)continue;let r;switch(n.preload===!0?r="auto":n.preload===!1?r="none":r=n.preload,n.type){case"audio":{const o=document.createElement("audio");o.src=this._constructAssetURL(t),o.preload=r,this._elements[t]={element:o,inUse:!1,type:"audio"};break}case"video":{const o=document.createElement("video");o.src=this._constructAssetURL(t),o.preload=r,this._elements[t]={element:o,inUse:!1,type:"video"};break}}}}getElement(t,n){const r=this._elements[t];if(r&&r.inUse===!1)return r.inUse=!0,r.element;{const o=document.createElement(n);return o.src=this._constructAssetURL(t),n==="video"&&(this._elements[t]={element:o,type:n,inUse:!0}),o}}releaseElement(t){if(typeof t=="string"){const n=this._elements[t];n&&(n.inUse=!1)}else Object.values(this._elements).forEach(n=>{n.element===t&&(n.inUse=!1)})}}const fc="data-clip-id";class pc{constructor(t,n,r,o=new en(t)){this.constructAssetUrl=t,this.getAudioOutput=n,this.mediaPreloader=o,this._element=document.createElement("div"),this._element.className="surface-manager",this._element.style.width="100%",this._element.style.height="100%",this._state=r||{},this.update()}_state={};setState(t){this._state=t,this.update()}_volume=1;get volume(){return this._volume}set volume(t){this._volume=t,Object.values(this.resources).forEach(({manager:n})=>{(n instanceof Xt||n instanceof Qt)&&(n.volume=t)})}_element;get element(){return this._element}resources={};update(){Object.entries(this.resources).forEach(([n,{element:r,manager:o}])=>{n in this._state||(delete this.resources[n],r.remove(),o?.destroy())});const t=Object.keys(this._state).toSorted().map(n=>{const r=this.resources[n];if(r)return r.element;{const o=document.createElement("div");return o.setAttribute(fc,n),this.resources[n]={element:o},o}});this._element.replaceChildren(...t),Object.keys(this._state).toSorted().forEach(n=>{const r=this._state[n],o=this.resources[n];if(!o)throw new Error("Failed to create resource");if(o.manager)o.manager.setState(r);else switch(r.type){case"image":o.manager=new dc(this._element,o.element,r,this.constructAssetUrl,this.getAudioOutput,this.mediaPreloader),o.manager.loop();break;case"audio":{const s=new Xt(this._element,o.element,r,this.constructAssetUrl,this.getAudioOutput,this.mediaPreloader);o.manager=s,s.volume=this._volume,s.loop();break}case"video":{const s=new Qt(this._element,o.element,r,this.constructAssetUrl,this.getAudioOutput,this.mediaPreloader);o.manager=s,s.volume=this._volume,s.loop();break}}})}}const mc=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));y.CogsConfigChangedEvent=We,y.CogsConnection=bn,y.CogsConnectionCloseEvent=Ke,y.CogsConnectionOpenEvent=Fe,y.CogsIncomingEvent=Be,y.CogsMediaConfigChangedEvent=Je,y.CogsMessageEvent=Ve,y.CogsShowPhaseChangedEvent=He,y.CogsStateChangedEvent=Ge,y.DataStoreItemEvent=_e,y.DataStoreItemsEvent=ge,y.ManifestTypes=mc,y.MediaPreloader=en,y.MediaSchema=nc,y.SurfaceManager=pc,y.assetUrl=Me,y.getStateAtTime=de,y.preloadUrl=ln,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|