miravo 0.4.0 → 0.6.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.
Files changed (161) hide show
  1. package/README.md +1 -1
  2. package/console-dist/assets/activity-DsWeRq4h.js +1 -0
  3. package/console-dist/assets/api-4AqKvsm9.js +1 -0
  4. package/console-dist/assets/arrow-right-Ea_UhTNi.js +1 -0
  5. package/console-dist/assets/arrow-up-down-DFSjzzl2.js +1 -0
  6. package/console-dist/assets/blueprint-card-classes-DBFCDy0M.js +1 -0
  7. package/console-dist/assets/box-C1WaoOMF.js +1 -0
  8. package/console-dist/assets/card-BjeP32PN.js +1 -0
  9. package/console-dist/assets/catalog-BJzyzbLR.js +1 -0
  10. package/console-dist/assets/catalog-DKjEm-c4.js +1 -0
  11. package/console-dist/assets/catalog-template-icons-BrUeHaCY.js +1 -0
  12. package/console-dist/assets/checkbox-DZlJXTE4.js +1 -0
  13. package/console-dist/assets/chunk-OE4NN4TA-CEjpfhS6.js +3 -0
  14. package/console-dist/assets/combobox-BGnuCYxO.js +1 -0
  15. package/console-dist/assets/control-CPhvwx9o.js +1 -0
  16. package/console-dist/assets/control-Cg2up9NA.js +1 -0
  17. package/console-dist/assets/copy-button-WkbNkMcd.js +1 -0
  18. package/console-dist/assets/createLucideIcon-Bwxw859K.js +1 -0
  19. package/console-dist/assets/deploy-tab-JeWDwPoZ.js +1 -0
  20. package/console-dist/assets/dist-BhbDML0a.js +1 -0
  21. package/console-dist/assets/dist-Cy8XTNFT.js +2 -0
  22. package/console-dist/assets/download-DQ6NH16U.js +1 -0
  23. package/console-dist/assets/engine-store-CrLnz692.js +1 -0
  24. package/console-dist/assets/events-CXm29Ok4.js +1 -0
  25. package/console-dist/assets/events-D01IxhnP.js +1 -0
  26. package/console-dist/assets/fleet-CfxbKXt9.js +1 -0
  27. package/console-dist/assets/fleet-lotMGVqe.js +1 -0
  28. package/console-dist/assets/format-kXTonpDJ.js +1 -0
  29. package/console-dist/assets/gauge-Ci8zNZlk.js +1 -0
  30. package/console-dist/assets/get-error-message-3Q5Q-2G5.js +1 -0
  31. package/console-dist/assets/index-CVPKSDvJ.js +12 -0
  32. package/console-dist/assets/index-DJkgDeun.css +2 -0
  33. package/console-dist/assets/input-BWEQFptx.js +1 -0
  34. package/console-dist/assets/instance-detail-C5IVwuh3.js +1 -0
  35. package/console-dist/assets/label-uephX5ZG.js +1 -0
  36. package/console-dist/assets/layers-CUsLQ1fq.js +1 -0
  37. package/console-dist/assets/login-C3RJli0m.js +126 -0
  38. package/console-dist/assets/models-B_UioWQ5.js +1 -0
  39. package/console-dist/assets/models-_IPlPiZ7.js +1 -0
  40. package/console-dist/assets/not-found-B8gAm08S.js +1 -0
  41. package/console-dist/assets/platform-targets-R3T-4eJ7.js +1 -0
  42. package/console-dist/assets/platforms-BWh0BQ3Y.js +1 -0
  43. package/console-dist/assets/platforms-DStNbtVc.js +1 -0
  44. package/console-dist/assets/proxy-CsnYqnPp.js +9 -0
  45. package/console-dist/assets/query-keys-BvtE7BMs.js +1 -0
  46. package/console-dist/assets/radio-CoHegOv5.js +1 -0
  47. package/console-dist/assets/rolldown-runtime-COnpUsM8.js +1 -0
  48. package/console-dist/assets/select-CeO4vP0G.js +1 -0
  49. package/console-dist/assets/select-display-items-CIzY8953.js +1 -0
  50. package/console-dist/assets/server-D9Kfn8fQ.js +1 -0
  51. package/console-dist/assets/shallow-6lGjQhtJ.js +1 -0
  52. package/console-dist/assets/tags-CiXOIHtY.js +4 -0
  53. package/console-dist/assets/tags-FQCXIxrP.js +1 -0
  54. package/console-dist/assets/tooltip-HGLF366Q.js +1 -0
  55. package/console-dist/assets/transition-nav-link-Df4Rk6vV.js +1 -0
  56. package/console-dist/assets/transition-types-CPlGtM8w.js +1 -0
  57. package/console-dist/assets/triangle-alert-adNk_sea.js +1 -0
  58. package/console-dist/assets/use-platform-stream-DGbK1k2L.js +2 -0
  59. package/console-dist/assets/use-transition-navigate-CCpcWXB0.js +2 -0
  60. package/console-dist/assets/validation-Blvud9_O.js +1 -0
  61. package/console-dist/assets/vendor-charts-CAZdaPlq.js +60 -0
  62. package/console-dist/assets/vendor-table-wd8JuMmT.js +4 -0
  63. package/console-dist/assets/vendor-ui-ByahnaY0.js +1 -0
  64. package/console-dist/index.html +70 -2
  65. package/package.json +9 -8
  66. package/src/__tests__/integration/executable-methods-runner.ts +7 -6
  67. package/src/__tests__/integration/executable-methods.integration.ts +214 -122
  68. package/src/__tests__/integration/opcua-concurrent-clients.integration.ts +314 -0
  69. package/src/commands/adapter.ts +180 -7
  70. package/src/commands/apply.test.ts +62 -0
  71. package/src/commands/apply.ts +216 -0
  72. package/src/commands/cleanup.test.ts +34 -0
  73. package/src/commands/cleanup.ts +201 -0
  74. package/src/commands/export.test.ts +51 -0
  75. package/src/commands/export.ts +404 -0
  76. package/src/commands/fork.ts +2 -2
  77. package/src/commands/inject.ts +2 -2
  78. package/src/commands/load.ts +1 -1
  79. package/src/commands/logs.ts +13 -15
  80. package/src/commands/models.test.ts +1 -1
  81. package/src/commands/models.ts +1 -1
  82. package/src/commands/pause.ts +3 -3
  83. package/src/commands/platforms.test.ts +186 -0
  84. package/src/commands/platforms.ts +371 -0
  85. package/src/commands/remove.ts +1 -1
  86. package/src/commands/reset.ts +2 -2
  87. package/src/commands/spawn.ts +2 -2
  88. package/src/commands/speed.ts +2 -2
  89. package/src/commands/start/adapter-config.ts +157 -0
  90. package/src/commands/start/catalog-le-dt.test.ts +50 -0
  91. package/src/commands/start/catalog-le-dt.ts +187 -0
  92. package/src/commands/start/catalog-model-schema.ts +89 -0
  93. package/src/commands/start/catalog-template-detail.ts +54 -0
  94. package/src/commands/start/daemon.ts +255 -0
  95. package/src/commands/start/display.ts +150 -0
  96. package/src/commands/start/engine-setup.ts +247 -0
  97. package/src/commands/start/events.ts +126 -0
  98. package/src/commands/start/index.ts +897 -0
  99. package/src/commands/start/protocol-plans.ts +239 -0
  100. package/src/commands/start/template-loader.ts +197 -0
  101. package/src/commands/start/template-resolver.ts +185 -0
  102. package/src/commands/start/types.ts +73 -0
  103. package/src/commands/start.test.ts +137 -16
  104. package/src/commands/status.ts +1 -1
  105. package/src/commands/stop.ts +19 -8
  106. package/src/commands/templates.test.ts +1 -1
  107. package/src/commands/templates.ts +1 -3
  108. package/src/index.ts +11 -3
  109. package/src/lib/admin-auth.ts +157 -0
  110. package/src/lib/admin-client.test.ts +31 -15
  111. package/src/lib/admin-client.ts +106 -6
  112. package/src/lib/admin-platform-routes.ts +1017 -0
  113. package/src/lib/admin-platform-stream.test.ts +434 -0
  114. package/src/lib/admin-platform-stream.ts +788 -0
  115. package/src/lib/admin-responses.ts +211 -0
  116. package/src/lib/admin-server.test.ts +274 -55
  117. package/src/lib/admin-server.ts +387 -248
  118. package/src/lib/auth-store.ts +87 -0
  119. package/src/lib/daemon-registry.ts +12 -14
  120. package/src/lib/le/le-apply.test.ts +591 -0
  121. package/src/lib/le/le-apply.ts +832 -0
  122. package/src/lib/le/le-auth.ts +89 -0
  123. package/src/lib/le/le-cleanup.test.ts +168 -0
  124. package/src/lib/le/le-cleanup.ts +399 -0
  125. package/src/lib/le/le-cli-helpers.ts +77 -0
  126. package/src/lib/le/le-client.ts +184 -0
  127. package/src/lib/le/le-concurrency.test.ts +157 -0
  128. package/src/lib/le/le-concurrency.ts +78 -0
  129. package/src/lib/le/le-connection-test.ts +42 -0
  130. package/src/lib/le/le-devicehub-properties.test.ts +53 -0
  131. package/src/lib/le/le-devicehub-properties.ts +33 -0
  132. package/src/lib/le/le-devicehub.ts +213 -0
  133. package/src/lib/le/le-digital-twins.ts +285 -0
  134. package/src/lib/le/le-drivers.ts +23 -0
  135. package/src/lib/le/le-endpoint.ts +40 -0
  136. package/src/lib/le/le-environments.test.ts +73 -0
  137. package/src/lib/le/le-environments.ts +156 -0
  138. package/src/lib/le/le-markers.ts +87 -0
  139. package/src/lib/le/le-plan.test.ts +26 -0
  140. package/src/lib/le/le-plan.ts +109 -0
  141. package/src/lib/le/le-platform-operations.test.ts +198 -0
  142. package/src/lib/le/le-platform-operations.ts +340 -0
  143. package/src/lib/le/le-static-model-schema.ts +78 -0
  144. package/src/lib/le/le-static-planner.test.ts +255 -0
  145. package/src/lib/le/le-static-planner.ts +442 -0
  146. package/src/lib/le/le-template-exporter.test.ts +527 -0
  147. package/src/lib/le/le-template-exporter.ts +459 -0
  148. package/src/lib/le/le-value-types.ts +23 -0
  149. package/src/lib/mqtt-client.ts +1 -2
  150. package/src/lib/resolve-simulation.ts +1 -6
  151. package/src/lib/session-store.ts +110 -0
  152. package/src/lib/shutdown.test.ts +184 -2
  153. package/src/lib/shutdown.ts +104 -34
  154. package/src/lib/template-category.ts +3 -3
  155. package/src/lib/template-locator.ts +8 -2
  156. package/src/lib/ws-hub.ts +72 -46
  157. package/src/logger.ts +39 -14
  158. package/src/output.ts +3 -0
  159. package/console-dist/assets/index-C3XMYq26.css +0 -2
  160. package/console-dist/assets/index-hUJSpKtB.js +0 -119
  161. package/src/commands/start.ts +0 -2023
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Industrial environment platform. Canonical asset models, multi-protocol output, structured plant topology.
4
4
 
5
- Miravo simulates industrial assets with realistic physics -- correlated signals, lifecycle degradation, cascading faults -- and projects them over MQTT and OPC UA from a single canonical asset model.
5
+ Miravo simulates industrial assets with realistic physics -- correlated tags, lifecycle degradation, cascading faults -- and projects them over MQTT, OPC UA, Modbus TCP, and more from a single canonical asset model.
6
6
 
7
7
  ```
8
8
  MiravoWorks/smart-factory
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-COnpUsM8.js";var t=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},n=new class extends t{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},r={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},i=new class{#e=r;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function a(e){setTimeout(e,0)}var o=typeof window>`u`||`Deno`in globalThis;function s(){}function c(e,t){return typeof e==`function`?e(t):e}function l(e){return typeof e==`number`&&e>=0&&e!==1/0}function u(e,t){return Math.max(e+(t||0)-Date.now(),0)}function d(e,t){return typeof e==`function`?e(t):e}function f(e,t){return typeof e==`function`?e(t):e}function p(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==h(o,t.options))return!1}else if(!te(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function m(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(ee(t.options.mutationKey)!==ee(a))return!1}else if(!te(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function h(e,t){return(t?.queryKeyHashFn||ee)(e)}function ee(e){return JSON.stringify(e,(e,t)=>oe(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function te(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>te(e[n],t[n])):!1}var ne=Object.prototype.hasOwnProperty;function re(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ae(e)&&ae(t);if(!r&&!(oe(e)&&oe(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:ne.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=re(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function ie(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function ae(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function oe(e){if(!se(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!se(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function se(e){return Object.prototype.toString.call(e)===`[object Object]`}function ce(e){return new Promise(t=>{i.setTimeout(t,e)})}function le(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:re(e,t)}function ue(e){return e}function de(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function fe(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var pe=Symbol();function me(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===pe?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function he(e,t){return typeof e==`function`?e(...t):!!e}function ge(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var _e=(()=>{let e=()=>o;return{isServer(){return e()},setIsServer(t){e=t}}})();function ve(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}function ye(e){let t;if(e.then(e=>(t=e,e),s)?.catch(s),t!==void 0)return{data:t}}function be(e){return e}function xe(e){return{mutationKey:e.options.mutationKey,state:e.state,...e.options.scope&&{scope:e.options.scope},...e.meta&&{meta:e.meta}}}function Se(e,t,n){let r=()=>{let r=e.promise?.then(t).catch(e=>n(e)?Promise.reject(Error(`redacted`)):Promise.reject(e));return r?.catch(s),r};return{dehydratedAt:Date.now(),state:{...e.state,...e.state.data!==void 0&&{data:t(e.state.data)}},queryKey:e.queryKey,queryHash:e.queryHash,...e.state.status===`pending`&&{promise:r()},...e.meta&&{meta:e.meta}}}function Ce(e){return e.state.isPaused}function we(e){return e.state.status===`success`}function Te(e){return!0}function Ee(e,t={}){let n=t.shouldDehydrateMutation??e.getDefaultOptions().dehydrate?.shouldDehydrateMutation??Ce,r=e.getMutationCache().getAll().flatMap(e=>n(e)?[xe(e)]:[]),i=t.shouldDehydrateQuery??e.getDefaultOptions().dehydrate?.shouldDehydrateQuery??we,a=t.shouldRedactErrors??e.getDefaultOptions().dehydrate?.shouldRedactErrors??Te,o=t.serializeData??e.getDefaultOptions().dehydrate?.serializeData??be;return{mutations:r,queries:e.getQueryCache().getAll().flatMap(e=>i(e)?[Se(e,o,a)]:[])}}function De(e,t,n){if(typeof t!=`object`||!t)return;let r=e.getMutationCache(),i=e.getQueryCache(),a=n?.defaultOptions?.deserializeData??e.getDefaultOptions().hydrate?.deserializeData??be,o=t.mutations||[],c=t.queries||[];o.forEach(({state:t,...i})=>{r.build(e,{...e.getDefaultOptions().hydrate?.mutations,...n?.defaultOptions?.mutations,...i},t)}),c.forEach(({queryKey:t,state:r,queryHash:o,meta:c,promise:l,dehydratedAt:u})=>{let d=l?ye(l):void 0,f=r.data===void 0?d?.data:r.data,p=f===void 0?f:a(f),m=i.get(o),h=m?.state.status===`pending`,ee=m?.state.fetchStatus===`fetching`;if(m){let e=d&&u!==void 0&&u>m.state.dataUpdatedAt;if(r.dataUpdatedAt>m.state.dataUpdatedAt||e){let{fetchStatus:e,...t}=r;m.setState({...t,data:p})}}else m=i.build(e,{...e.getDefaultOptions().hydrate?.queries,...n?.defaultOptions?.queries,queryKey:t,queryHash:o,meta:c},{...r,data:p,fetchStatus:`idle`,status:p===void 0?r.status:`success`});l&&!h&&!ee&&(u===void 0||u>m.state.dataUpdatedAt)&&m.fetch(void 0,{initialPromise:Promise.resolve(l).then(a)}).catch(s)})}var Oe=a;function ke(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Oe,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var g=ke(),Ae=new class extends t{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function je(e){return Math.min(1e3*2**e,3e4)}function Me(e){return(e??`online`)===`online`?Ae.isOnline():!0}var Ne=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Pe(e){let t=!1,r=0,i,a=ve(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new Ne(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>n.isFocused()&&(e.networkMode===`always`||Ae.isOnline())&&e.canRun(),d=()=>Me(e.networkMode)&&e.canRun(),f=e=>{o()||(i?.(),a.resolve(e))},p=e=>{o()||(i?.(),a.reject(e))},m=()=>new Promise(t=>{i=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{i=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let n,i=r===0?e.initialPromise:void 0;try{n=i??e.fn()}catch(e){n=Promise.reject(e)}Promise.resolve(n).then(f).catch(n=>{if(o())return;let i=e.retry??(_e.isServer()?0:3),a=e.retryDelay??je,s=typeof a==`function`?a(r,n):a,c=i===!0||typeof i==`number`&&r<i||typeof i==`function`&&i(r,n);if(t||!c){p(n);return}r++,e.onFail?.(r,n),ce(s).then(()=>u()?void 0:m()).then(()=>{t?p(n):h()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(i?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),a)}}var Fe=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),l(this.gcTime)&&(this.#e=i.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(_e.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(i.clearTimeout(this.#e),this.#e=void 0)}},Ie=class extends Fe{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=ze(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=ze(this.options);e.data!==void 0&&(this.setState(Re(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=le(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(s).catch(s):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>f(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===pe||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>d(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!u(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=me(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=Pe({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ne&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ne){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Le(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Re(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),g.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function Le(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Me(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Re(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function ze(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function Be(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ge(e,()=>t.signal,()=>n=!0)},u=me(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?fe:de;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?He:Ve,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Ve(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Ve(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function He(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Ue(e,t){return t?Ve(e,t)!=null:!1}function We(e,t){return!t||!e.getPreviousPageParam?!1:He(e,t)!=null}var Ge=class extends Fe{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Ke(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Pe({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),g.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Ke(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var qe=class extends t{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new Ge({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Je(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Je(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Je(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Je(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){g.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>m(t,e))}findAll(e={}){return this.getAll().filter(t=>m(e,t))}notify(e){g.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return g.batch(()=>Promise.all(e.map(e=>e.continue().catch(s))))}};function Je(e){return e.options.scope?.id}var Ye=class extends t{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??h(r,t),a=this.get(i);return a||(a=new Ie({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){g.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>p(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>p(e,t)):t}notify(e){g.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){g.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){g.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Xe=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ye,this.#t=e.mutationCache||new qe,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=n.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ae.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(d(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=c(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return g.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;g.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return g.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=g.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(s).catch(s)}invalidateQueries(e,t={}){return g.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=g.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(s)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(s)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(d(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(s).catch(s)}fetchInfiniteQuery(e){return e.behavior=Be(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(s).catch(s)}ensureInfiniteQueryData(e){return e.behavior=Be(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Ae.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(ee(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{te(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(ee(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{te(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=h(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===pe&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},_;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(_||={});var Ze;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Ze||={});var v=_.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),y=e=>{switch(typeof e){case`undefined`:return v.undefined;case`string`:return v.string;case`number`:return Number.isNaN(e)?v.nan:v.number;case`boolean`:return v.boolean;case`function`:return v.function;case`bigint`:return v.bigint;case`symbol`:return v.symbol;case`object`:return Array.isArray(e)?v.array:e===null?v.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?v.promise:typeof Map<`u`&&e instanceof Map?v.map:typeof Set<`u`&&e instanceof Set?v.set:typeof Date<`u`&&e instanceof Date?v.date:v.object;default:return v.unknown}},b=_.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),x=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};x.create=e=>new x(e);var Qe=(e,t)=>{let n;switch(e.code){case b.invalid_type:n=e.received===v.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case b.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,_.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:n=`Unrecognized key(s) in object: ${_.joinValues(e.keys,`, `)}`;break;case b.invalid_union:n=`Invalid input`;break;case b.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${_.joinValues(e.options)}`;break;case b.invalid_enum_value:n=`Invalid enum value. Expected ${_.joinValues(e.options)}, received '${e.received}'`;break;case b.invalid_arguments:n=`Invalid function arguments`;break;case b.invalid_return_type:n=`Invalid function return type`;break;case b.invalid_date:n=`Invalid date`;break;case b.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:_.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case b.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case b.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case b.custom:n=`Invalid input`;break;case b.invalid_intersection_types:n=`Intersection results could not be merged`;break;case b.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case b.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,_.assertNever(e)}return{message:n}},$e=Qe;function et(){return $e}var tt=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function S(e,t){let n=et(),r=tt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Qe?void 0:Qe].filter(e=>!!e)});e.common.issues.push(r)}var C=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return w;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return w;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},w=Object.freeze({status:`aborted`}),nt=e=>({status:`dirty`,value:e}),T=e=>({status:`valid`,value:e}),rt=e=>e.status===`aborted`,it=e=>e.status===`dirty`,at=e=>e.status===`valid`,ot=e=>typeof Promise<`u`&&e instanceof Promise,E;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(E||={});var D=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},st=(e,t)=>{if(at(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){return this._error||=new x(e.common.issues),this._error}}};function O(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var k=class{get description(){return this._def.description}_getType(e){return y(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:y(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new C,ctx:{common:e.parent.common,data:e.data,parsedType:y(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ot(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:y(e)};return st(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:y(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return at(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>at(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:y(e)},r=this._parse({data:e,path:n.path,parent:n});return st(n,await(ot(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:b.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new P({schema:this,typeName:L.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return F.create(this,this._def)}nullable(){return I.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Wt.create(this)}promise(){return on.create(this,this._def)}or(e){return Kt.create([this,e],this._def)}and(e){return Yt.create(this,e,this._def)}transform(e){return new P({...O(this._def),schema:this,typeName:L.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new sn({...O(this._def),innerType:this,defaultValue:t,typeName:L.ZodDefault})}brand(){return new un({typeName:L.ZodBranded,type:this,...O(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new cn({...O(this._def),innerType:this,catchValue:t,typeName:L.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return dn.create(this,e)}readonly(){return fn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ct=/^c[^\s-]{8,}$/i,lt=/^[0-9a-z]+$/,ut=/^[0-9A-HJKMNP-TV-Z]{26}$/i,dt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ft=/^[a-z0-9_-]{21}$/i,pt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ht=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,gt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,_t,vt=/^(?:(?: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])$/,yt=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,bt=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xt=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,St=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ct=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wt=`((\\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])))`,Tt=RegExp(`^${wt}$`);function Et(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Dt(e){return RegExp(`^${Et(e)}$`)}function Ot(e){let t=`${wt}T${Et(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function kt(e,t){return!!((t===`v4`||!t)&&vt.test(e)||(t===`v6`||!t)&&bt.test(e))}function At(e,t){if(!pt.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function jt(e,t){return!!((t===`v4`||!t)&&yt.test(e)||(t===`v6`||!t)&&xt.test(e))}var Mt=class e extends k{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.string,received:t.parsedType}),w}let t=new C,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),S(n,{code:b.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),S(n,{code:b.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?S(n,{code:b.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&S(n,{code:b.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)ht.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`email`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)_t||=new RegExp(gt,`u`),_t.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`emoji`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)dt.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`uuid`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)ft.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`nanoid`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)ct.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`cuid`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)lt.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`cuid2`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)ut.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`ulid`,code:b.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),S(n,{validation:`url`,code:b.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`regex`,code:b.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?Ot(r).test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Tt.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Dt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{code:b.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?mt.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`duration`,code:b.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?kt(e.data,r.version)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`ip`,code:b.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?At(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`jwt`,code:b.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?jt(e.data,r.version)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`cidr`,code:b.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?St.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`base64`,code:b.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Ct.test(e.data)||(n=this._getOrReturnCtx(e,n),S(n,{validation:`base64url`,code:b.invalid_string,message:r.message}),t.dirty()):_.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:b.invalid_string,...E.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...E.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...E.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...E.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...E.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...E.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...E.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...E.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...E.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...E.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...E.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...E.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...E.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...E.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...E.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...E.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...E.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...E.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...E.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...E.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...E.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...E.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...E.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...E.errToObj(t)})}nonempty(e){return this.min(1,E.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Mt.create=e=>new Mt({checks:[],typeName:L.ZodString,coerce:e?.coerce??!1,...O(e)});function Nt(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Pt=class e extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==v.number){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.number,received:t.parsedType}),w}let t,n=new C;for(let r of this._def.checks)r.kind===`int`?_.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),S(t,{code:b.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?Nt(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),S(t,{code:b.not_finite,message:r.message}),n.dirty()):_.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,E.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,E.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,E.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,E.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:E.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:E.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:E.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:E.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:E.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:E.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&_.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Pt.create=e=>new Pt({checks:[],typeName:L.ZodNumber,coerce:e?.coerce||!1,...O(e)});var Ft=class e extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==v.bigint)return this._getInvalidInput(e);let t,n=new C;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),S(t,{code:b.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):_.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.bigint,received:t.parsedType}),w}gte(e,t){return this.setLimit(`min`,e,!0,E.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,E.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,E.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,E.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:E.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:E.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:E.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:E.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:E.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Ft.create=e=>new Ft({checks:[],typeName:L.ZodBigInt,coerce:e?.coerce??!1,...O(e)});var It=class extends k{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.boolean,received:t.parsedType}),w}return T(e.data)}};It.create=e=>new It({typeName:L.ZodBoolean,coerce:e?.coerce||!1,...O(e)});var Lt=class e extends k{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.date,received:t.parsedType}),w}if(Number.isNaN(e.data.getTime()))return S(this._getOrReturnCtx(e),{code:b.invalid_date}),w;let t=new C,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),S(n,{code:b.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),S(n,{code:b.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):_.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:E.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:E.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Lt.create=e=>new Lt({checks:[],coerce:e?.coerce||!1,typeName:L.ZodDate,...O(e)});var Rt=class extends k{_parse(e){if(this._getType(e)!==v.symbol){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.symbol,received:t.parsedType}),w}return T(e.data)}};Rt.create=e=>new Rt({typeName:L.ZodSymbol,...O(e)});var zt=class extends k{_parse(e){if(this._getType(e)!==v.undefined){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.undefined,received:t.parsedType}),w}return T(e.data)}};zt.create=e=>new zt({typeName:L.ZodUndefined,...O(e)});var Bt=class extends k{_parse(e){if(this._getType(e)!==v.null){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.null,received:t.parsedType}),w}return T(e.data)}};Bt.create=e=>new Bt({typeName:L.ZodNull,...O(e)});var Vt=class extends k{constructor(){super(...arguments),this._any=!0}_parse(e){return T(e.data)}};Vt.create=e=>new Vt({typeName:L.ZodAny,...O(e)});var Ht=class extends k{constructor(){super(...arguments),this._unknown=!0}_parse(e){return T(e.data)}};Ht.create=e=>new Ht({typeName:L.ZodUnknown,...O(e)});var A=class extends k{_parse(e){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.never,received:t.parsedType}),w}};A.create=e=>new A({typeName:L.ZodNever,...O(e)});var Ut=class extends k{_parse(e){if(this._getType(e)!==v.undefined){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.void,received:t.parsedType}),w}return T(e.data)}};Ut.create=e=>new Ut({typeName:L.ZodVoid,...O(e)});var Wt=class e extends k{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==v.array)return S(t,{code:b.invalid_type,expected:v.array,received:t.parsedType}),w;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(S(t,{code:e?b.too_big:b.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(S(t,{code:b.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(S(t,{code:b.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new D(t,e,t.path,n)))).then(e=>C.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new D(t,e,t.path,n)));return C.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:E.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:E.toString(n)}})}nonempty(e){return this.min(1,e)}};Wt.create=(e,t)=>new Wt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:L.ZodArray,...O(t)});function Gt(e){if(e instanceof j){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=F.create(Gt(r))}return new j({...e._def,shape:()=>t})}else if(e instanceof Wt)return new Wt({...e._def,type:Gt(e.element)});else if(e instanceof F)return F.create(Gt(e.unwrap()));else if(e instanceof I)return I.create(Gt(e.unwrap()));else if(e instanceof N)return N.create(e.items.map(e=>Gt(e)));else return e}var j=class e extends k{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape();return this._cached={shape:e,keys:_.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==v.object){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.object,received:t.parsedType}),w}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof A&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new D(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof A){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(S(n,{code:b.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new D(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>C.mergeObjectSync(t,e)):C.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:E.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:L.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of _.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of _.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return Gt(this)}partial(t){let n={};for(let e of _.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of _.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof F;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return nn(_.objectKeys(this.shape))}};j.create=(e,t)=>new j({shape:()=>e,unknownKeys:`strip`,catchall:A.create(),typeName:L.ZodObject,...O(t)}),j.strictCreate=(e,t)=>new j({shape:()=>e,unknownKeys:`strict`,catchall:A.create(),typeName:L.ZodObject,...O(t)}),j.lazycreate=(e,t)=>new j({shape:e,unknownKeys:`strip`,catchall:A.create(),typeName:L.ZodObject,...O(t)});var Kt=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new x(e.ctx.common.issues));return S(t,{code:b.invalid_union,unionErrors:n}),w}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new x(e));return S(t,{code:b.invalid_union,unionErrors:i}),w}}get options(){return this._def.options}};Kt.create=(e,t)=>new Kt({options:e,typeName:L.ZodUnion,...O(t)});var M=e=>e instanceof en?M(e.schema):e instanceof P?M(e.innerType()):e instanceof tn?[e.value]:e instanceof rn?e.options:e instanceof an?_.objectValues(e.enum):e instanceof sn?M(e._def.innerType):e instanceof zt?[void 0]:e instanceof Bt?[null]:e instanceof F?[void 0,...M(e.unwrap())]:e instanceof I?[null,...M(e.unwrap())]:e instanceof un||e instanceof fn?M(e.unwrap()):e instanceof cn?M(e._def.innerType):[],qt=class e extends k{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.object)return S(t,{code:b.invalid_type,expected:v.object,received:t.parsedType}),w;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(S(t,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),w)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=M(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:L.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...O(r)})}};function Jt(e,t){let n=y(e),r=y(t);if(e===t)return{valid:!0,data:e};if(n===v.object&&r===v.object){let n=_.objectKeys(t),r=_.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Jt(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===v.array&&r===v.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Jt(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===v.date&&r===v.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var Yt=class extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(rt(e)||rt(r))return w;let i=Jt(e.value,r.value);return i.valid?((it(e)||it(r))&&t.dirty(),{status:t.value,value:i.data}):(S(n,{code:b.invalid_intersection_types}),w)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Yt.create=(e,t,n)=>new Yt({left:e,right:t,typeName:L.ZodIntersection,...O(n)});var N=class e extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.array)return S(n,{code:b.invalid_type,expected:v.array,received:n.parsedType}),w;if(n.data.length<this._def.items.length)return S(n,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),w;!this._def.rest&&n.data.length>this._def.items.length&&(S(n,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new D(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>C.mergeArray(t,e)):C.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};N.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new N({items:e,typeName:L.ZodTuple,rest:null,...O(t)})};var Xt=class e extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.object)return S(n,{code:b.invalid_type,expected:v.object,received:n.parsedType}),w;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new D(n,e,n.path,e)),value:a._parse(new D(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?C.mergeObjectAsync(t,r):C.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof k?new e({keyType:t,valueType:n,typeName:L.ZodRecord,...O(r)}):new e({keyType:Mt.create(),valueType:t,typeName:L.ZodRecord,...O(n)})}},Zt=class extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.map)return S(n,{code:b.invalid_type,expected:v.map,received:n.parsedType}),w;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new D(n,e,n.path,[a,`key`])),value:i._parse(new D(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return w;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return w;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Zt.create=(e,t,n)=>new Zt({valueType:t,keyType:e,typeName:L.ZodMap,...O(n)});var Qt=class e extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.set)return S(n,{code:b.invalid_type,expected:v.set,received:n.parsedType}),w;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(S(n,{code:b.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(S(n,{code:b.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return w;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new D(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:E.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Qt.create=(e,t)=>new Qt({valueType:e,minSize:null,maxSize:null,typeName:L.ZodSet,...O(t)});var $t=class e extends k{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.function)return S(t,{code:b.invalid_type,expected:v.function,received:t.parsedType}),w;function n(e,n){return tt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,et(),Qe].filter(e=>!!e),issueData:{code:b.invalid_arguments,argumentsError:n}})}function r(e,n){return tt({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,et(),Qe].filter(e=>!!e),issueData:{code:b.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof on){let e=this;return T(async function(...t){let o=new x([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return T(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new x([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new x([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:N.create(t).rest(Ht.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||N.create([]).rest(Ht.create()),returns:n||Ht.create(),typeName:L.ZodFunction,...O(r)})}},en=class extends k{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};en.create=(e,t)=>new en({getter:e,typeName:L.ZodLazy,...O(t)});var tn=class extends k{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return S(t,{received:t.data,code:b.invalid_literal,expected:this._def.value}),w}return{status:`valid`,value:e.data}}get value(){return this._def.value}};tn.create=(e,t)=>new tn({value:e,typeName:L.ZodLiteral,...O(t)});function nn(e,t){return new rn({values:e,typeName:L.ZodEnum,...O(t)})}var rn=class e extends k{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return S(t,{expected:_.joinValues(n),received:t.parsedType,code:b.invalid_type}),w}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return S(t,{received:t.data,code:b.invalid_enum_value,options:n}),w}return T(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};rn.create=nn;var an=class extends k{_parse(e){let t=_.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){let e=_.objectValues(t);return S(n,{expected:_.joinValues(e),received:n.parsedType,code:b.invalid_type}),w}if(this._cache||=new Set(_.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=_.objectValues(t);return S(n,{received:n.data,code:b.invalid_enum_value,options:e}),w}return T(e.data)}get enum(){return this._def.values}};an.create=(e,t)=>new an({values:e,typeName:L.ZodNativeEnum,...O(t)});var on=class extends k{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==v.promise&&t.common.async===!1?(S(t,{code:b.invalid_type,expected:v.promise,received:t.parsedType}),w):T((t.parsedType===v.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};on.create=(e,t)=>new on({type:e,typeName:L.ZodPromise,...O(t)});var P=class extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===L.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{S(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return w;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?w:r.status===`dirty`||t.value===`dirty`?nt(r.value):r});{if(t.value===`aborted`)return w;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?w:r.status===`dirty`||t.value===`dirty`?nt(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?w:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?w:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!at(e))return w;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>at(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):w);_.assertNever(r)}};P.create=(e,t,n)=>new P({schema:e,typeName:L.ZodEffects,effect:t,...O(n)}),P.createWithPreprocess=(e,t,n)=>new P({schema:t,effect:{type:`preprocess`,transform:e},typeName:L.ZodEffects,...O(n)});var F=class extends k{_parse(e){return this._getType(e)===v.undefined?T(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};F.create=(e,t)=>new F({innerType:e,typeName:L.ZodOptional,...O(t)});var I=class extends k{_parse(e){return this._getType(e)===v.null?T(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};I.create=(e,t)=>new I({innerType:e,typeName:L.ZodNullable,...O(t)});var sn=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===v.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};sn.create=(e,t)=>new sn({innerType:e,typeName:L.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...O(t)});var cn=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ot(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new x(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new x(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};cn.create=(e,t)=>new cn({innerType:e,typeName:L.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...O(t)});var ln=class extends k{_parse(e){if(this._getType(e)!==v.nan){let t=this._getOrReturnCtx(e);return S(t,{code:b.invalid_type,expected:v.nan,received:t.parsedType}),w}return{status:`valid`,value:e.data}}};ln.create=e=>new ln({typeName:L.ZodNaN,...O(e)});var un=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},dn=class e extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?w:e.status===`dirty`?(t.dirty(),nt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?w:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:L.ZodPipeline})}},fn=class extends k{_parse(e){let t=this._def.innerType._parse(e),n=e=>(at(e)&&(e.value=Object.freeze(e.value)),e);return ot(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};fn.create=(e,t)=>new fn({innerType:e,typeName:L.ZodReadonly,...O(t)}),j.lazycreate;var L;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(L||={});var R=Mt.create,z=Pt.create;ln.create,Ft.create;var B=It.create;Lt.create,Rt.create,zt.create,Bt.create,Vt.create;var pn=Ht.create;A.create,Ut.create;var V=Wt.create,H=j.create;j.strictCreate;var U=Kt.create,W=qt.create;Yt.create;var mn=N.create,G=Xt.create;Zt.create,Qt.create,$t.create;var hn=en.create,K=tn.create,q=rn.create;an.create,on.create,P.create,F.create,I.create,P.createWithPreprocess,dn.create,H({username:R().min(1),password:R().min(1)}),H({ok:K(!0),changePassword:B()}),H({oldPassword:R().min(1),newPassword:R().min(6)}),H({ok:K(!0)}),H({authenticated:B(),username:R().optional()}),H({username:R(),passwordHash:R()});var gn=1883,_n=4840,vn=1e4,J=/^[a-zA-Z0-9_-]{1,64}$/,yn=/^\$param\.(\S+)$/,bn=H({code:q([`UNAUTHORIZED`,`NOT_FOUND`,`CONFLICT`,`INVALID_REQUEST`,`INTERNAL_ERROR`]),message:R(),error:R().optional()}),xn=H({state:q([`healthy`,`busy`,`saturated`]),pendingWorkCount:z().finite().int().nonnegative(),completedLastTick:z().finite().int().nonnegative()}),Sn=H({connected:B(),messagesPublished:z().finite().int().nonnegative(),messagesAttempted:z().finite().int().nonnegative(),messagesFiltered:z().finite().int().nonnegative(),errorsCount:z().finite().int().nonnegative(),lastPublishMs:z().finite().nonnegative(),health:xn.optional()});H({name:R().min(1),enabled:B().default(!0)}).passthrough();var Cn=H({name:R().min(1),enabled:B(),pending:B().optional(),endpoint:R().optional(),config:G(R(),pn())}),wn=H({simulationName:R().min(1).optional(),core:H({state:q([`idle`,`running`,`paused`,`stopped`]),tickCount:z().int().nonnegative(),simulationTimeSeconds:z().finite().nonnegative(),instanceCount:z().int().nonnegative(),memberValueCount:z().int().nonnegative(),quarantinedInstanceCount:z().int().nonnegative(),engineErrorsCount:z().int().nonnegative(),tickOverrunsCount:z().int().nonnegative(),circuitBreakerTripsCount:z().int().nonnegative(),uptimeMs:z().finite().nonnegative(),actualTicksPerSecond:z().finite().nonnegative()}),fleet:H({modelBreakdown:V(H({model:R().min(1),count:z().int().nonnegative()})),lifecycleBreakdown:G(R(),z().int().nonnegative()),activeFaultCount:z().int().nonnegative(),faultBreakdown:V(H({fault:R().min(1),count:z().int().nonnegative()}))}),adapters:V(H({name:R().min(1),metrics:Sn}))}),Tn=H({state:H({simulationName:R().min(1).optional(),models:V(H({name:R().min(1),memberCount:z().int().nonnegative(),faultCount:z().int().nonnegative(),faultNames:V(R().min(1)),hasLifecycle:B()})),instances:V(H({id:R().min(1),model:R().min(1),browsePath:V(R().min(1)),lifecycleStage:R().min(1),operatingHours:z().finite().nonnegative(),activeFaults:V(R().min(1)),isQuarantined:B()})),config:H({seed:z().int().nonnegative(),tickIntervalMs:z().int().positive(),timeMultiplier:z().finite().positive(),adapters:V(R().min(1)),template:H({name:R().min(1),path:R().min(1)}).optional()}),availableAdapters:V(Cn).optional()}),metrics:wn,runningTemplates:V(H({templateRunId:z().int().nonnegative(),templateName:R().min(1),prefix:R().min(1),instanceIds:V(R().min(1)),models:V(R().min(1)),templatePath:R().min(1).optional()})),revision:z().int().nonnegative()}),En=W(`authenticated`,[H({authenticated:K(!1)}),H({authenticated:K(!0),username:R().min(1),runtime:Tn})]),Dn=1e3,Y=H({correlationId:R().optional()});W(`type`,[Y.extend({type:K(`spawn`),model:R().min(1),count:z().int().positive().max(vn),variation:z().min(0).max(1).optional(),unsBasePath:R().min(1).optional(),parameterOverrides:G(R(),z().finite()).optional(),startingHours:z().nonnegative().finite().optional()}),Y.extend({type:K(`removeInstance`),instanceId:R().min(1)}),Y.extend({type:K(`setParameter`),instanceId:R().min(1),parameter:R().min(1),value:z().finite()}),Y.extend({type:K(`triggerFault`),instanceId:R().min(1),fault:R().min(1)}),Y.extend({type:K(`clearFault`),instanceId:R().min(1),fault:R().min(1)}),Y.extend({type:K(`pause`)}),Y.extend({type:K(`resume`)}),Y.extend({type:K(`setSpeed`),multiplier:z().positive().finite().max(Dn)}),Y.extend({type:K(`unquarantine`),instanceId:R().min(1)}),Y.extend({type:K(`invokeMethod`),instanceId:R().min(1),method:R().min(1),arguments:G(R().min(1),U([z().finite(),R(),B()])).optional()}),Y.extend({type:K(`loadTemplate`),templatePath:R().min(1),count:z().int().positive().default(1)}),Y.extend({type:K(`unloadTemplateRun`),templateRunId:z().int().positive()}),Y.extend({type:K(`resetSimulation`),clearPersistence:B().optional()}),Y.extend({type:K(`enableAdapter`),adapter:R().min(1),config:G(R(),pn()).optional()}),Y.extend({type:K(`disableAdapter`),adapter:R().min(1)})]),H({success:B(),command:R(),correlationId:R().optional(),message:R(),data:pn().optional(),error:R().optional()}),H({path:R().min(1),name:R().min(1),description:R().optional(),memberCount:z().int().nonnegative(),methodCount:z().int().nonnegative(),faultCount:z().int().nonnegative(),hasLifecycle:B(),lifecycleStageCount:z().int().nonnegative()}),H({path:R().min(1),id:R().min(1),name:R().min(1),description:R().optional(),areaCount:z().int().nonnegative(),twinAssignmentCount:z().int().nonnegative(),inlineModelCount:z().int().nonnegative(),uniqueModelCount:z().int().nonnegative(),modelNames:V(R().min(1)),totalTwinCount:z().int().nonnegative()});var On=H({severity:q([`error`,`warning`]),message:R(),fix:R()});H({valid:B(),templatePath:R(),issues:V(On)});var kn=`%.A.Hz.L.L/h.L/min.L/s.N.V.bar.cfm.count.degC.h.kN.kVA.kW.kWh.m.m/s.m3.m3/h.mm.mm/min.mm/s.ppm.pu.rpm.s`.split(`.`),An=q(kn);new Set(kn);var jn=q([`Boolean`,`Int32`,`UInt16`,`UInt32`,`Double`,`Float`,`String`]);q([`variable`,`property`]);var Mn=q([`read`,`readwrite`,`write`]),Nn=q([`>`,`>=`,`<`,`<=`,`==`,`!=`]),Pn=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,Fn=W(`type`,[H({type:K(`threshold`),member:R().regex(J,Pn),operator:Nn,threshold:z().finite()}).strict(),H({type:K(`lifecycle-stage`)}).strict(),H({type:K(`health-state`)}).strict(),H({type:K(`fault-active`)}).strict(),H({type:K(`fault-count`)}).strict(),H({type:K(`active-fault-code`),fallback:R().default(``)}).strict(),H({type:K(`availability-state`),member:R().regex(J,Pn),operator:Nn.default(`>`),threshold:z().finite().default(0),running_state:R().default(`running`),stopped_state:R().default(`stopped`),faulted_state:R().default(`faulted`)}).strict()]),In=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`;q([`float`,`int`,`string`,`bool`]);var Ln=W(`type`,[H({type:K(`float`),default:z().finite(),min:z().finite().optional(),max:z().finite().optional(),unit:An.optional()}),H({type:K(`int`),default:z().int().safe(),min:z().int().safe().optional(),max:z().int().safe().optional(),unit:An.optional()}),H({type:K(`string`),default:R(),unit:An.optional()}),H({type:K(`bool`),default:B(),unit:An.optional()})]),Rn=U([H({member:R()}),H({previous_member:R()}),H({param:R()}),H({generator:hn(()=>fr)})]),zn=R().regex(yn,`Must be a $param.X parameter reference`),X=U([z(),zn]),Bn=U([z().finite(),zn]),Vn={initial_value:z().default(0),gain:X.default(1),bias:X.default(0),min:z().nullable().default(null),max:z().nullable().default(null),input:Rn},Hn=H({type:K(`sine`),center:X,amplitude:z().positive(),period:z().positive()}).strict(),Un=H({type:K(`random-walk`),min:z(),max:z(),step:z().positive()}).strict(),Wn=H({type:K(`noise`),center:X,stddev:z().positive()}).strict(),Gn=H({type:K(`step`),values:V(z()).min(1),interval:z().positive()}).strict(),Kn=H({type:K(`correlated`),source:R().regex(J,In),factor:Bn,offset:Bn,power:z().int().positive().optional()}).strict(),qn=H({from:R(),to:R(),probability:z().min(0).max(1).optional(),on:R().optional()}),Jn=H({type:K(`state-machine`),states:V(R()).min(1),initial:R(),transitions:V(qn).min(1)}).strict(),Yn=H({type:K(`ramp`),start_value:z().default(0),rate:z(),duration:z().nonnegative(),start_time:z().default(0),min:z().nullable().default(null),max:z().nullable().default(null)}).strict(),Xn=H({type:K(`mean-reverting-noise`),mean:X,tau:z().positive(),sigma:z().positive(),initial_value:z().optional(),min:z().nullable().default(null),max:z().nullable().default(null)}).strict(),Zn=H({time:z().nonnegative(),value:z()}),Qn=H({type:K(`timetable`),points:V(Zn).min(2),repeat:B().default(!1),interpolation:q([`linear`,`step`]).default(`linear`)}).strict(),$n=H({type:K(`waveform`),shape:q([`sawtooth`,`triangle`,`square`,`pulse`]),center:X,amplitude:z().positive(),period:z().positive(),duty_cycle:z().min(0).max(1).default(.5)}).strict(),er=H({type:K(`chirp`),center:X,amplitude:z().positive(),start_freq_hz:z().positive(),end_freq_hz:z().positive(),sweep_duration:z().positive(),sweep:q([`linear`,`exponential`]).default(`linear`),repeat:B().default(!0)}).strict(),tr=H({type:K(`impulse`),baseline:z().default(0),amplitude:z(),probability:z().min(0).max(1).optional(),interval:z().positive().optional(),decay:z().min(0).max(1).optional(),duration:z().int().positive().default(1)}).strict(),nr=H({type:K(`first-order-lag`),tau:z().positive(),...Vn}).strict(),rr=H({type:K(`integrator`),initial_value:z().default(0),gain:z().default(1),bias_rate:z().default(0),min:z().default(-1/0),max:z().default(1/0),wrap:B().default(!1),wrap_at:z().nullable().default(null),input:Rn}).strict(),ir=H({type:K(`transport-delay`),delay:U([z().nonnegative(),zn]),initial_value:z().default(0),interpolation:q([`linear`,`zoh`]).default(`linear`),input:Rn}).strict(),ar=H({type:K(`slew-rate-limiter`),rate_up:z().positive(),rate_down:z().positive().optional(),initial_value:z().default(0),min:z().nullable().default(null),max:z().nullable().default(null),input:Rn}).strict(),or=H({type:K(`second-order`),natural_freq_hz:z().positive(),damping_ratio:z().positive(),initial_velocity:z().default(0),...Vn}).strict(),sr=H({type:K(`hysteresis-relay`),on_threshold:X,off_threshold:X,output_on:U([z(),R()]).default(1),output_off:U([z(),R()]).default(0),initial_state:q([`on`,`off`]).default(`off`),mode:q([`rising`,`falling`]).default(`rising`),input:Rn}).strict(),cr=H({weight:X.default(1),input:Rn}),lr=H({type:K(`weighted-sum`),bias:X.default(0),terms:V(cr).min(1),min:z().nullable().default(null),max:z().nullable().default(null)}).strict(),ur=H({type:K(`gate`),enabled_member:R().regex(J,In),input:Rn,disabled_value:U([z(),R(),B()])}).strict(),dr=W(`type`,[Hn,Un,Wn,Gn,Kn,Jn,Yn,Xn,Qn,$n,er,tr]),fr=W(`type`,[Hn,Un,Wn,Gn,Kn,Jn,Yn,Xn,Qn,$n,er,tr,H({type:K(`health-dependent`),stages:G(R(),dr)}).strict(),nr,rr,ir,ar,or,sr,lr,ur]),pr=H({multiplier:z().finite().optional(),offset:z().finite().optional()}),mr=H({stages:V(H({name:R().min(1),duration_hours:mn([z().nonnegative(),z().nonnegative()]).refine(([e,t])=>e<=t,{message:`duration_hours max must be greater than or equal to min.`}),effects:G(R(),pr)})).min(1)}),hr=H({multiplier:z().finite().optional(),offset:z().finite().optional(),spike:z().finite().optional(),duration_ticks:z().int().positive().optional(),onset_ticks:z().int().positive().optional(),recovery_ticks:z().int().positive().optional()}),gr=H({condition:R().optional(),lifecycle_stage:R().optional(),probability:z().min(0).max(1)}),_r=H({name:R().regex(J,In),trigger:gr,effects:G(R(),U([hr,R()]))}),vr=H({type:K(`first-order-lag`),tau:z().positive(),...Vn}).strict(),yr=rr,br=ir,xr=ar,Sr=sr,Cr=or,wr=lr,Tr=ur,Er=W(`type`,[Hn,Un,Wn,Gn,Kn,Jn,Yn,Xn,Qn,$n,er,tr,H({type:K(`health-dependent`),stages:G(R(),dr)}).strict(),vr,yr,br,xr,Cr,Sr,wr,Tr]),Z=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,Dr=V(R().min(1)).min(1),Or=H({data_type:jn,unit:An.optional(),description:R().optional(),enum_values:Dr.optional()}).strict(),kr=U([H({member:R().regex(J,Z),value:U([z(),R(),B()])}).strict(),H({member:R().regex(J,Z),argument:R().regex(J,Z)}).strict()]),Ar=H({type:K(`set-members`),writes:V(kr).min(1)}).strict(),jr=U([H({parameter:R().regex(J,Z),value:z().finite()}).strict(),H({parameter:R().regex(J,Z),argument:R().regex(J,Z)}).strict()]),Mr=W(`type`,[Ar,H({type:K(`set-parameters`),writes:V(jr).min(1)}).strict(),H({type:K(`clear-faults`)}).strict()]),Nr=H({description:R().optional(),input_arguments:G(R().regex(J,Z),Or).optional(),output_arguments:G(R().regex(J,Z),Or).optional(),runtime:Mr.optional()}).strict(),Pr=G(R().regex(J,Z),Nr);function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Fr(e){if(typeof e==`string`)return yn.exec(e)?.[1]}function Ir(e,t,n){if(!Q(e)||e.type!==`weighted-sum`)return;let r=e.terms;if(Array.isArray(r))for(let e=0;e<r.length;e++){let i=r[e];Q(i)&&n(i,[...t,`terms`,e])}}function Lr(e,t,n){if(!Q(e))return;let r=[...t,`member`],i=[...t,`previous_member`],a=[...t,`param`],o=[...t,`generator`];typeof e.member==`string`&&n.onMember?.(e.member,r),typeof e.previous_member==`string`&&n.onPreviousMember?.(e.previous_member,i),typeof e.param==`string`&&n.onParam?.(e.param,a),`generator`in e&&n.onGenerator?.(e.generator,o)}function Rr(e,t,n,r){return{onMember:e,onPreviousMember:t,onParam:n,onGenerator:r}}function zr(e,t,n,r,i,a){Lr(e,t,Rr(n,r,i,a))}function Br(e){return e===`Double`||e===`Float`||e===`Int32`||e===`UInt16`||e===`UInt32`}function Vr(e){return e===`Int32`||e===`UInt16`||e===`UInt32`}function Hr(e,t){switch(t){case`Boolean`:return typeof e==`boolean`;case`String`:return typeof e==`string`;case`Double`:case`Float`:return typeof e==`number`&&Number.isFinite(e);case`Int32`:return typeof e==`number`&&Number.isSafeInteger(e)&&e>=-2147483648&&e<=2147483647;case`UInt16`:return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0&&e<=65535;case`UInt32`:return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0&&e<=4294967295;default:return!1}}function Ur(e,t,n){e.unit!==void 0&&(e.data_type===`Boolean`||e.data_type===`String`)&&t.addIssue({code:b.custom,path:[...n,`unit`],message:`Members with data_type "${e.data_type}" must not declare engineering units. Fix: remove the unit or use a numeric data_type.`}),e.enum_values&&e.data_type!==`String`&&t.addIssue({code:b.custom,path:[...n,`enum_values`],message:`enum_values is only valid for String members. Fix: remove enum_values or change data_type to "String".`})}function Wr(e,t,n,r){if(Q(e)&&typeof e.type==`string`)switch(e.type){case`correlated`:typeof e.source==`string`&&n.push({member:e.source,path:[...t,`source`],previousTick:!1}),$(e.factor,[...t,`factor`],r),$(e.offset,[...t,`offset`],r);return;case`sine`:case`noise`:case`waveform`:case`chirp`:$(e.center,[...t,`center`],r);return;case`mean-reverting-noise`:$(e.mean,[...t,`mean`],r);return;case`first-order-lag`:case`second-order`:$(e.gain,[...t,`gain`],r),$(e.bias,[...t,`bias`],r),Gr(e.input,[...t,`input`],n,r);return;case`transport-delay`:$(e.delay,[...t,`delay`],r),Gr(e.input,[...t,`input`],n,r);return;case`slew-rate-limiter`:case`integrator`:Gr(e.input,[...t,`input`],n,r);return;case`hysteresis-relay`:$(e.on_threshold,[...t,`on_threshold`],r),$(e.off_threshold,[...t,`off_threshold`],r),Gr(e.input,[...t,`input`],n,r);return;case`weighted-sum`:$(e.bias,[...t,`bias`],r),Ir(e,t,(e,t)=>{$(e.weight,[...t,`weight`],r),Gr(e.input,[...t,`input`],n,r)});return;case`gate`:n.push({member:String(e.enabled_member),path:[...t,`enabled_member`],previousTick:!1}),Gr(e.input,[...t,`input`],n,r);return;case`health-dependent`:{let i=e.stages;if(!Q(i))return;for(let[e,a]of Object.entries(i))Wr(a,[...t,`stages`,e],n,r);return}default:return}}function Gr(e,t,n,r){zr(e,t,(e,t)=>n.push({member:e,path:t,previousTick:!1}),(e,t)=>n.push({member:e,path:t,previousTick:!0}),(e,t)=>r.push({param:e,path:t}),(e,t)=>Wr(e,t,n,r))}function $(e,t,n){let r=Fr(e);r!==void 0&&n.push({param:r,path:t})}function Kr(e,t,n){if(!Q(e))return;let r=e.type;(r===`threshold`||r===`availability-state`)&&typeof e.member==`string`&&n.push({member:e.member,path:[...t,`member`],previousTick:!1})}function qr(e,t,n){if(!Q(e))return;let r=e.type;if(typeof r!=`string`)return;if(r===`integrator`&&e.wrap===!0&&(typeof e.wrap_at!=`number`||!Number.isFinite(e.wrap_at)||e.wrap_at<=0)&&n.addIssue({code:b.custom,path:[...t,`wrap_at`],message:`wrap_at must be a finite number greater than 0 when wrap is true. Fix: Set wrap_at to a positive number, or set wrap to false.`}),r===`health-dependent`){let r=e.stages;if(Q(r))for(let[e,i]of Object.entries(r))qr(i,[...t,`stages`,e],n)}function i(e,t){!Q(e)||!(`generator`in e)||qr(e.generator,[...t,`generator`],n)}i(e.input,[...t,`input`]),Ir(e,t,(e,t)=>{i(e.input,[...t,`input`])})}function Jr(e){switch(e){case`Boolean`:return!1;case`String`:return``;case`Double`:case`Float`:case`Int32`:case`UInt16`:case`UInt32`:return 0;default:return 0}}var Yr=V(W(`type`,[H({type:K(`white_noise`),strength:z().min(0).max(1),scale:z().positive().optional()}).strict(),H({type:K(`drift`),tau:z().positive(),sigma:z().min(0).max(1),scale:z().positive().optional()}).strict(),H({type:K(`outlier`),probability:z().min(0).max(1),magnitude:z().positive(),scale:z().positive().optional()}).strict(),H({type:K(`gap`),probability:z().min(0).max(1),duration:z().int().positive().default(10)}).strict(),H({type:K(`noise_burst`),probability:z().min(0).max(1),duration:z().int().positive().default(5),strength:z().min(0).max(1),scale:z().positive().optional()}).strict()])).min(1).optional(),Xr=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,Zr=R().regex(yn,`Must be a $param.X parameter reference`),Qr=U([z(),R(),B()]),$r=H({name:R().regex(J,Xr),description:R().optional(),namespace:R().optional()}),ei=W(`kind`,[H({kind:K(`variable`),data_type:jn,access:Mn,unit:An.optional(),enum_values:Dr.optional(),eu_range:mn([z(),z()]).refine(([e,t])=>e<=t,{message:`eu_range[0] (min) must be <= eu_range[1] (max).`}).optional(),generator:Er.optional(),binding:Fn.optional(),default:Qr.optional(),observation_effects:Yr}).strict(),H({kind:K(`property`),data_type:jn,access:Mn,unit:An.optional(),enum_values:Dr.optional(),default:U([Qr,Zr]).optional()}).strict()]),ti=G(R().regex(J,Xr),ei).refine(e=>Object.keys(e).length>=1,{message:`Members map must have at least 1 member.`}).refine(e=>Object.keys(e).length<=256,{message:`Members map must have at most 256 members.`}),ni=H({schema_version:K(`2`),model:$r,parameters:G(R(),Ln).optional(),members:ti,methods:Pr.optional(),lifecycle:mr.optional(),faults:V(_r).optional()}).superRefine((e,t)=>{let n=Object.keys(e.members),r=new Map;for(let e=0;e<n.length;e++){let t=n[e];t!==void 0&&r.set(t,e)}let i=new Set(Object.keys(e.parameters??{})),a=new Set(Object.entries(e.parameters??{}).filter(([,e])=>e.type===`float`||e.type===`int`).map(([e])=>e));for(let o=0;o<n.length;o++){let s=n[o];if(s===void 0)continue;let c=e.members[s];if(!c||(Ur(c,t,[`members`,s]),c.kind===`variable`&&c.generator!==void 0&&c.binding!==void 0&&t.addIssue({code:b.custom,path:[`members`,s,`binding`],message:`Variable members cannot define both "generator" and "binding". Fix: keep one source of value generation.`}),c.kind===`variable`&&c.binding!==void 0&&c.access!==`read`&&t.addIssue({code:b.custom,path:[`members`,s,`access`],message:`Variable members with a "binding" must use access "read". Fix: change access to "read" or remove the binding.`}),c.kind!==`variable`||!c.generator&&!c.binding))continue;let l=[],u=[],d=[`members`,s,`generator`];if(c.generator&&Wr(c.generator,d,l,u),c.binding&&Kr(c.binding,[`members`,s,`binding`],l),c.generator&&(qr(c.generator,d,t),c.generator.type===`gate`)){let n=e.members[c.generator.enabled_member];n&&n.data_type!==`Boolean`&&t.addIssue({code:b.custom,path:[`members`,s,`generator`,`enabled_member`],message:`Gate generator for "${s}" references "${c.generator.enabled_member}", but "${c.generator.enabled_member}" is not Boolean. Fix: use a Boolean command/state member for enabled_member.`}),Hr(c.generator.disabled_value,c.data_type)||t.addIssue({code:b.custom,path:[`members`,s,`generator`,`disabled_value`],message:`Gate generator disabled_value for "${s}" does not match data_type "${c.data_type}". Fix: use a compatible disabled_value literal.`})}for(let e of l){let n=r.get(e.member);if(n===void 0){t.addIssue({code:b.custom,path:[...e.path],message:`Member "${s}" references member "${e.member}", but "${e.member}" is not defined. Fix: Define "${e.member}" in members, or change the reference to a parameter.`});continue}!e.previousTick&&n>=o&&t.addIssue({code:b.custom,path:[...e.path],message:`Member "${s}" references member "${e.member}" which is defined later (or is itself). Members are evaluated in declaration order. Fix: Move "${e.member}" above "${s}".`})}for(let n of u)i.has(n.param)?a.has(n.param)||t.addIssue({code:b.custom,path:[...n.path],message:`Member "${s}" references parameter "${n.param}" in a numeric position, but "${n.param}" has type "${e.parameters?.[n.param]?.type}". Only float and int parameters can be used as generator coefficients or inputs. Fix: Change "${n.param}" to type "float" or "int".`}):t.addIssue({code:b.custom,path:[...n.path],message:`Member "${s}" references parameter "${n.param}", but "${n.param}" is not defined. Fix: Define "${n.param}" under parameters, or replace "$param.${n.param}" with a literal value.`});if(c.binding)switch(c.binding.type){case`threshold`:c.data_type!==`Boolean`&&t.addIssue({code:b.custom,path:[`members`,s,`data_type`],message:`Members using binding.type "threshold" must use data_type "Boolean". Fix: change data_type to "Boolean".`}),ri(s,c.binding.member,e,t,[`members`,s,`binding`,`member`]);break;case`availability-state`:c.data_type!==`String`&&t.addIssue({code:b.custom,path:[`members`,s,`data_type`],message:`Members using binding.type "availability-state" must use data_type "String". Fix: change data_type to "String".`}),ri(s,c.binding.member,e,t,[`members`,s,`binding`,`member`]);break;case`lifecycle-stage`:case`health-state`:case`active-fault-code`:c.data_type!==`String`&&t.addIssue({code:b.custom,path:[`members`,s,`data_type`],message:`Members using binding.type "${c.binding.type}" must use data_type "String". Fix: change data_type to "String".`});break;case`fault-active`:c.data_type!==`Boolean`&&t.addIssue({code:b.custom,path:[`members`,s,`data_type`],message:`Members using binding.type "fault-active" must use data_type "Boolean". Fix: change data_type to "Boolean".`});break;case`fault-count`:c.data_type!==`Int32`&&c.data_type!==`UInt16`&&c.data_type!==`UInt32`&&t.addIssue({code:b.custom,path:[`members`,s,`data_type`],message:`Members using binding.type "fault-count" must use an integer data_type (Int32, UInt16, or UInt32). Fix: change data_type to an integer type.`});break;default:c.binding}if(c.kind===`variable`&&c.observation_effects){Br(c.data_type)||t.addIssue({code:b.custom,path:[`members`,s,`observation_effects`],message:`Observation effects on "${s}" require a numeric data_type (Double, Float, Int32, UInt16, or UInt32). Member has data_type "${c.data_type}", which cannot be degraded by noise, gaps, or drift. Fix: remove observation_effects, or change data_type to a numeric type.`}),c.access!==`read`&&t.addIssue({code:b.custom,path:[`members`,s,`observation_effects`],message:`Observation effects on "${s}" require access "read". Observation effects corrupt values — they must not be applied to command targets or setpoints. Fix: change access to "read" or remove observation_effects.`});for(let e=0;e<c.observation_effects.length;e++){let n=c.observation_effects[e];n&&(n.type===`white_noise`||n.type===`drift`||n.type===`outlier`||n.type===`noise_burst`)&&!(`scale`in n&&n.scale!==void 0)&&!c.eu_range&&t.addIssue({code:b.custom,path:[`members`,s,`observation_effects`,e],message:`Member "${s}" uses relative observation effect "${n.type}" but has no eu_range and no explicit scale. Fix: add eu_range: [min, max] to the member, or add scale: <number> to the effect.`})}}}function o(n,i,a){if(!r.has(n)){t.addIssue({code:b.custom,path:[...i],message:`${a} has effect on "${n}", but "${n}" is not a defined member. Fix: Change "${n}" to a valid member name.`});return}let o=e.members[n];o&&o.kind!==`variable`&&t.addIssue({code:b.custom,path:[...i],message:`${a} has effect on "${n}", but "${n}" is a property (kind: "property"). Effects can only target variable members.`})}if(e.lifecycle){let t=[`lifecycle`,`stages`];for(let n of e.lifecycle.stages)for(let e of Object.keys(n.effects))o(e,t,`Lifecycle stage "${n.name}"`)}if(e.faults)for(let t=0;t<e.faults.length;t++){let n=e.faults[t];if(!n)continue;let r=[`faults`,t,`effects`];for(let e of Object.keys(n.effects))o(e,r,`Fault "${n.name}"`)}for(let r of n){let n=e.members[r];if(!n||n.kind!==`property`||typeof n.default!=`string`)continue;let a=Fr(n.default);a!==void 0&&!i.has(a)&&t.addIssue({code:b.custom,path:[`members`,r,`default`],message:`Property "${r}" default references parameter "${a}", but "${a}" is not defined. Fix: Define "${a}" under parameters, or use a literal value.`})}if(e.methods)for(let[n,r]of Object.entries(e.methods))ii(n,r.input_arguments,t,[`methods`,n,`input_arguments`]),ii(n,r.output_arguments,t,[`methods`,n,`output_arguments`]),ai(n,r,e,t,[`methods`,n,`runtime`])});function ri(e,t,n,r,i){let a=n.members[t];a&&(Br(a.data_type)||r.addIssue({code:b.custom,path:[...i],message:`Member "${e}" binding references "${t}", but "${t}" is not numeric. Fix: bind to a numeric member or change the source member data_type.`}))}function ii(e,t,n,r){if(t)for(let[i,a]of Object.entries(t))a.unit!==void 0&&(a.data_type===`Boolean`||a.data_type===`String`)&&n.addIssue({code:b.custom,path:[...r,i,`unit`],message:`Method "${e}" argument "${i}" uses data_type "${a.data_type}" and must not declare an engineering unit. Fix: remove the unit or use a numeric data_type.`}),a.enum_values&&a.data_type!==`String`&&n.addIssue({code:b.custom,path:[...r,i,`enum_values`],message:`Method "${e}" argument "${i}" can only use enum_values with data_type "String". Fix: remove enum_values or change the data_type.`})}function ai(e,t,n,r,i){let a=t.runtime;if(a)switch(a.type){case`clear-faults`:return;case`set-parameters`:for(let o=0;o<a.writes.length;o++){let s=a.writes[o];if(!s)continue;let c=[...i,`writes`,o],l=n.parameters?.[s.parameter];if(!l){r.addIssue({code:b.custom,path:[...c,`parameter`],message:`Method "${e}" runtime targets parameter "${s.parameter}", but "${s.parameter}" is not defined. Fix: target a declared parameter.`});continue}if(l.type!==`float`&&l.type!==`int`){r.addIssue({code:b.custom,path:[...c,`parameter`],message:`Method "${e}" runtime targets parameter "${s.parameter}" of type "${l.type}". Fix: use set-parameters only with float or int parameters.`});continue}if(`argument`in s){let n=t.input_arguments?.[s.argument];if(!n){r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime references input argument "${s.argument}", but that argument is not defined. Fix: declare the input argument or use a literal value.`});continue}Br(n.data_type)||r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime argument "${s.argument}" must be numeric to write parameter "${s.parameter}". Fix: use Double, Float, Int32, UInt16, or UInt32.`}),l.type===`int`&&!Vr(n.data_type)&&r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime argument "${s.argument}" uses data_type "${n.data_type}" but parameter "${s.parameter}" is type "int". Fix: use Int32, UInt16, or UInt32 so runtime writes stay integer-safe.`});continue}l.type===`int`&&!Number.isSafeInteger(s.value)&&r.addIssue({code:b.custom,path:[...c,`value`],message:`Method "${e}" runtime literal for integer parameter "${s.parameter}" must be a safe integer. Fix: use a whole-number literal.`})}return;case`set-members`:for(let o=0;o<a.writes.length;o++){let s=a.writes[o];if(!s)continue;let c=[...i,`writes`,o],l=n.members[s.member];if(!l){r.addIssue({code:b.custom,path:[...c,`member`],message:`Method "${e}" runtime targets member "${s.member}", but "${s.member}" is not defined. Fix: target a declared member.`});continue}if(l.kind!==`variable`&&r.addIssue({code:b.custom,path:[...c,`member`],message:`Method "${e}" runtime targets "${s.member}", but "${s.member}" is a property. Fix: target a writable variable member.`}),l.access!==`readwrite`&&l.access!==`write`&&r.addIssue({code:b.custom,path:[...c,`member`],message:`Method "${e}" runtime targets "${s.member}", but "${s.member}" is not writable. Fix: set access to "readwrite" or "write".`}),l.kind===`variable`&&l.binding&&r.addIssue({code:b.custom,path:[...c,`member`],message:`Method "${e}" runtime targets "${s.member}", but bound members are computed at runtime. Fix: write to a command/setpoint member without a binding.`}),`argument`in s){let n=t.input_arguments?.[s.argument];if(!n){r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime references input argument "${s.argument}", but that argument is not defined. Fix: declare the input argument or use a literal value.`});continue}if(Hr(Jr(n.data_type),l.data_type)||r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime argument "${s.argument}" uses data_type "${n.data_type}" which does not match target member "${s.member}" data_type "${l.data_type}". Fix: align the argument and target member data types.`}),n.enum_values&&l.enum_values){let t=n.enum_values.filter(e=>!l.enum_values?.includes(e));t.length>0&&r.addIssue({code:b.custom,path:[...c,`argument`],message:`Method "${e}" runtime argument "${s.argument}" allows values [${t.join(`, `)}] that are not valid for target member "${s.member}". Fix: align enum_values between the argument and target member.`})}continue}Hr(s.value,l.data_type)||r.addIssue({code:b.custom,path:[...c,`value`],message:`Method "${e}" runtime literal for "${s.member}" does not match data_type "${l.data_type}". Fix: use a compatible literal value.`}),l.enum_values&&typeof s.value==`string`&&!l.enum_values.includes(s.value)&&r.addIssue({code:b.custom,path:[...c,`value`],message:`Method "${e}" runtime literal "${s.value}" is not allowed for member "${s.member}". Fix: use one of [${l.enum_values.join(`, `)}].`})}return;default:}}var oi=R().min(1).max(128).regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/),si=U([z().finite(),R(),B()]),ci=H({id:R().min(1),model:R().min(1),browsePath:V(R().min(1)).min(1),parameters:G(R(),si),lifecycleStage:R().min(1),operatingHours:z().finite().nonnegative(),activeFaults:V(R().min(1)),templateRunId:z().int().positive().optional(),observationState:G(R(),G(R(),pn())).optional().default({}),faultState:G(R(),H({remaining:z().int(),elapsed:z().int(),recovering:B(),recoveryElapsed:z().int(),recoveryTicks:z().int()})).optional().default({})}),li=H({templateRunId:z().int().positive(),templateName:R().min(1),templatePath:R()}),ui=H({name:R().min(1),enabled:B(),config:G(R(),pn())});H({version:K(1),savedAt:R().min(1),simulationName:oi,models:V(R().min(1)),instances:V(ci),templateRuns:V(li),adapters:V(ui).default([])});var di=`Must be 1-64 chars and contain only letters, numbers, underscores, or hyphens.`,fi=V(q([`mqtt`,`opcua`,`modbus`])).min(1),pi=H({model:R().min(1),count:z().int().positive().max(vn).default(1),variation:z().min(0).max(1).default(0),parameters:G(R(),z().finite()).optional(),starting_hours:z().finite().nonnegative().optional(),protocol_scope:fi.optional()}),mi=H({name:R().regex(J,di),twins:V(pi).min(1),protocol_scope:fi.optional()}),hi=H({name:R().regex(J,di),lines:V(mi).min(1),protocol_scope:fi.optional()}),gi=U([H({enterprise:R().regex(J,di),site:R().regex(J,di)}),H({prefix:R().regex(J,di)})]),_i=H({maxAttempts:z().finite().int().min(0).default(0),initialDelayMs:z().finite().int().positive().default(1e3),maxDelayMs:z().finite().int().positive().default(3e4)}),vi=H({enabled:B().default(!1),deadband:z().finite().nonnegative().default(0)}),yi=q([`base`,`full`]),bi=H({embedded:B().default(!0),port:z().int().min(0).max(65535).default(1883),external:R().optional(),retain:B().default(!1),username:R().optional(),password:R().optional(),reconnect:_i.optional(),rbe:vi.optional(),metadata:yi.default(`base`),drain_budget:z().int().min(512).max(65536).optional(),batch_size:z().int().min(64).max(16384).optional(),broker_concurrency:z().int().min(10).max(5e3).optional()}).refine(e=>!(e.embedded&&e.external),{message:`Cannot use both 'embedded: true' and 'external' URL. Set 'embedded: false' when using an external broker.`}).refine(e=>!e.password||e.username,{message:`Cannot set 'password' without 'username'.`}),xi=H({port:z().int().min(0).max(65535).default(_n),host:R().default(`0.0.0.0`),security:q([`none`]).default(`none`),buildInfo:H({productName:R().default(`Miravo`)}).optional(),write_budget:z().int().min(512).max(65536).optional()}),Si=H({port:z().int().min(0).max(65535).default(502),host:R().default(`0.0.0.0`)}),Ci=H({mqtt:bi.optional(),opcua:xi.optional(),modbus:Si.optional()}),wi=q([`real-time`,`accelerated`]),Ti=H({tick_interval_ms:z().int().positive().default(1e3),time_mode:wi.default(`real-time`),time_multiplier:z().positive().default(1),seed:z().int().optional(),overrun_threshold_multiplier:z().min(1).max(10).optional()});H({kind:K(`MiravoTemplate`),version:K(`1`),name:R().min(1),description:R().optional(),models:V(ni).optional(),namespace:gi.optional(),areas:V(hi).min(1),protocols:Ci.optional(),settings:Ti.optional()});var Ei=new Xe({defaultOptions:{queries:{staleTime:3e4,gcTime:10*6e4,retry:(e,t)=>{if(t instanceof Error&&t.message===`Session expired`)return!1;if(t instanceof Error&&`status`in t){let e=t.status;if(e>=400&&e<500)return!1}return e<2},refetchOnWindowFocus:!1}}}),Di=`miravo:query-cache:v1`,Oi=5*6e4;function ki(e){try{let t=sessionStorage.getItem(Di);if(!t)return;let n=JSON.parse(t);if(typeof n!=`object`||!n)return;let r=n;if(typeof r.timestamp!=`number`)return;if(Date.now()-r.timestamp>Oi){sessionStorage.removeItem(Di);return}De(e,r.state)}catch{}}function Ai(e){try{let t=Ee(e,{shouldDehydrateQuery:e=>e.state.status===`success`}),n={timestamp:Date.now(),state:t};sessionStorage.setItem(Di,JSON.stringify(n))}catch{}}function ji(e){let t=null,n=e.getQueryCache().subscribe(()=>{t&&clearTimeout(t),t=setTimeout(()=>Ai(e),500)});return()=>{t&&clearTimeout(t),n()}}function Mi(){try{sessionStorage.removeItem(Di)}catch{}}var Ni=e({BASE_URL:()=>``,CommandError:()=>Fi,changePassword:()=>Vi,fetchBlob:()=>Gi,fetchJSON:()=>Ui,fetchText:()=>Ki,getBootstrap:()=>Hi,login:()=>zi,logout:()=>Bi,postCommand:()=>Wi,redirectToLoginInApp:()=>Pi});function Pi(){typeof window>`u`||(Ei.removeQueries({queryKey:[`bootstrap`]}),Mi(),window.location.pathname!==`/login`&&(window.history.pushState({},``,`/login`),window.dispatchEvent(new PopStateEvent(`popstate`))))}var Fi=class extends Error{result;constructor(e){super(e.message),this.name=`CommandError`,this.result=e}},Ii=class extends Error{code;status;constructor(e,t){super(t.message),this.name=`ApiError`,this.code=t.code,this.status=e}};function Li(e,t){let n=`${e} ${t}`;return e===502||e===503||e===504?`${n} — the Miravo server may not be running, or a reverse proxy cannot reach it.`:n}async function Ri(e){try{let t=await e.json(),n=bn.safeParse(t);if(n.success)return new Ii(e.status,n.data)}catch{}return Error(Li(e.status,e.statusText))}async function zi(e,t){let n=await fetch(`/auth/login`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({username:e,password:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.message??Li(n.status,n.statusText))}return n.json()}async function Bi(){await fetch(`/auth/logout`,{method:`POST`,credentials:`include`})}async function Vi(e,t){let n=await fetch(`/auth/password`,{method:`PUT`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({oldPassword:e,newPassword:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.message??Li(n.status,n.statusText))}}async function Hi(){let e=await fetch(`/bootstrap`,{credentials:`include`});if(!e.ok)throw Error(Li(e.status,e.statusText));let t=await e.json(),n=En.safeParse(t);return n.success?n.data:{authenticated:!1}}async function Ui(e){let t=await fetch(`${e}`,{credentials:`include`});if(t.status===401)throw Pi(),Error(`Session expired`);if(!t.ok)throw await Ri(t);return t.json()}async function Wi(e){let t=await fetch(`/commands`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify(e)});if(t.status===401)throw Pi(),Error(`Session expired`);if(!t.ok){let n=await t.json().catch(()=>({}));throw new Fi({success:!1,command:e.type,message:n.message??Li(t.status,t.statusText),error:n.error??t.statusText})}let n=await t.json();if(!n.success)throw new Fi(n);return n}async function Gi(e){let t=await fetch(`${e}`,{credentials:`include`});if(t.status===401)throw Pi(),Error(`Session expired`);if(!t.ok)throw Error(Li(t.status,t.statusText));return t.blob()}async function Ki(e){let t=await fetch(`${e}`,{credentials:`include`});if(t.status===401)throw Pi(),Error(`Session expired`);if(!t.ok)throw Error(Li(t.status,t.statusText));return t.text()}export{s as A,Be as C,_e as D,ve as E,he as F,u as I,i as L,f as M,d as N,l as O,ie as P,n as R,We as S,g as T,_n as _,Ui as a,R as b,zi as c,Pi as d,Mi as f,gn as g,Ei as h,Gi as i,le as j,ue as k,Bi as l,ji as m,Ni as n,Ki as o,ki as p,Vi as r,Hi as s,Fi as t,Wi as u,z as v,Le as w,Ue as x,H as y,t as z};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{h as n,s as r,t as i,u as a}from"./api-4AqKvsm9.js";import{t as o}from"./createLucideIcon-Bwxw859K.js";import{n as s}from"./dist-BhbDML0a.js";import{i as c}from"./engine-store-CrLnz692.js";var l=o(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),u=e(t(),1),d=new Set([`spawn`,`removeInstance`,`loadTemplate`,`unloadTemplateRun`,`resetSimulation`,`enableAdapter`,`disableAdapter`]);function f(e){e instanceof i?s.error(e.result.message,{description:e.result.error}):s.error(`Command failed`,{description:`Network error — server may be unreachable.`})}async function p(){try{let e=await r();if(e.authenticated){let t=c.getState();e.runtime.revision>=t.lastRevision&&t.replaceRuntime(e.runtime)}n.invalidateQueries({queryKey:[`bootstrap`]})}catch{}}function m(){let[e,t]=(0,u.useState)(!1);return{mutate:(0,u.useCallback)(e=>{t(!0),a(e).then(t=>{if(s.success(t.message),d.has(e.type))return p()}).catch(f).finally(()=>{t(!1)})},[]),mutateAsync:(0,u.useCallback)(async e=>{t(!0);try{let t=await a(e);return s.success(t.message),d.has(e.type)&&await p(),t}catch(e){throw f(e),e}finally{t(!1)}},[]),isPending:e}}var h=`group relative border border-solid border-border transition-colors hover:border-muted-foreground/25`,g=`blueprint-card ${h} overflow-hidden rounded-xl`,_=`${h} w-full min-w-0 overflow-hidden rounded-xl bg-transparent`,v=`${h} w-full min-w-0 overflow-hidden rounded-xl bg-transparent`,y=`blueprint-card catalog-card-frame group relative border border-solid overflow-hidden rounded-xl`,b=y,x=`border-border bg-muted/40 text-primary shadow-none hover:border-muted-foreground/30 hover:bg-muted/60 hover:text-primary focus-visible:border-ring dark:border-border dark:bg-muted/30 dark:hover:border-muted-foreground/35 dark:hover:bg-muted/45 [&_svg]:text-primary`;export{_ as a,l as c,v as i,g as n,b as o,y as r,m as s,x as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Bwxw859K.js";var t=e(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{at as e}from"./vendor-ui-ByahnaY0.js";import{i as t}from"./input-BWEQFptx.js";var n=e();function r({className:e,size:r=`default`,...i}){return(0,n.jsx)(`div`,{"data-slot":`card`,"data-size":r,className:t(`group/card flex flex-col gap-4 overflow-hidden rounded-xl border bg-card py-4 text-sm text-card-foreground has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...i})}function i({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`card-header`,className:t(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,e),...r})}function a({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`card-title`,className:t(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,e),...r})}function o({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`card-content`,className:t(`px-4 group-data-[size=sm]/card:px-3`,e),...r})}export{a as i,o as n,i as r,r as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n}from"./vendor-ui-ByahnaY0.js";import{a as r}from"./api-4AqKvsm9.js";import{r as i,t as a}from"./query-keys-BvtE7BMs.js";import{t as o}from"./createLucideIcon-Bwxw859K.js";import{D as s,a as c,i as l,n as u,o as d,r as f,t as p}from"./use-platform-stream-DGbK1k2L.js";import{t as m}from"./catalog-template-icons-BrUeHaCY.js";import{i as h,n as g,t as _}from"./input-BWEQFptx.js";import{u as v}from"./select-CeO4vP0G.js";import{a as y}from"./platform-targets-R3T-4eJ7.js";import{n as b}from"./dist-BhbDML0a.js";import{a as x,c as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k,u as A}from"./deploy-tab-JeWDwPoZ.js";import{n as ee}from"./checkbox-DZlJXTE4.js";import{c as j,n as M,r as N,s as P,t as F}from"./blueprint-card-classes-DBFCDy0M.js";import{n as I,t as L}from"./proxy-CsnYqnPp.js";import{i as te,n as ne,t as re}from"./tooltip-HGLF366Q.js";import{a as ie,i as ae,n as oe,o as R,r as z,s as B}from"./label-uephX5ZG.js";import{i as V,u as H}from"./format-kXTonpDJ.js";import{n as U,t as W}from"./get-error-message-3Q5Q-2G5.js";var G=o(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),K=o(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),se=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),q=e(t(),1),J=n();function ce(e){let t=e.split(/[-_]/).filter(e=>e.length>0);return t[t.length-1]??e}function le(e,t,n){let r=[];for(let i of e){let e=ce(i.model),a=t.get(i.model),o=[],s=[];if(a)for(let[e,t]of Object.entries(a.members)){let n={name:e,kind:t.kind,dataType:t.dataType,unit:t.unit,euRange:t.euRange};t.kind===`property`?s.push(n):o.push(n)}for(let t=0;t<i.count;t++){let t=(n.get(i.model)??0)+1;n.set(i.model,t),r.push({id:`${e}-${String(t).padStart(3,`0`)}`,model:i.model,tags:o,properties:s})}}return r}function ue({detail:e}){let[t,n]=(0,q.useState)(new Set),o=(0,q.useRef)(null),s=(0,q.useMemo)(()=>[...new Set(e.models)],[e.models]),c=s.join(`,`),l=i({queryKey:a.catalog.modelSchemasBatch(c),queryFn:async()=>Promise.all(s.map(e=>r(`/catalog/models/${e}`)))}),u=l.isPending&&!l.data,d=(0,q.useMemo)(()=>{let e=new Map;if(!l.data)return e;for(let[t,n]of l.data.entries())e.set(s[t],n);return e},[l.data,s]),f=(0,q.useMemo)(()=>{let t=new Map,n=new Map;for(let r of e.topology)for(let e of r.lines)n.set(`${r.name}/${e.name}`,le(e.twins,d,t));return n},[e.topology,d]);(0,q.useEffect)(()=>{if(u)return;let t=e.name;if(o.current===t)return;let r=new Set;for(let t of e.topology){r.add(`area:${t.name}`);for(let e of t.lines)r.add(`line:${t.name}/${e.name}`)}outer:for(let t of e.topology)for(let e of t.lines){let n=(f.get(`${t.name}/${e.name}`)??[])[0];if(n){r.add(`inst:${t.name}/${e.name}/${n.id}`);break outer}}n(r),o.current=t},[u,e.name,e.topology,f]);let p=(0,q.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),m=(0,q.useCallback)(async(t,n,r,i)=>{let a=e.namespace,o=[a?.enterprise?`${a.enterprise}/${a.site??``}`:a?.prefix??``,t,n,r,i].filter(Boolean).join(`/`);try{await navigator.clipboard.writeText(o),b.success(`UNS path copied`,{description:o})}catch{b.error(`Failed to copy`)}},[e]);return u?null:(0,J.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/50 py-2 pl-1 pr-2 sm:py-2.5 sm:pl-1.5 sm:pr-2.5`,children:e.topology.map(e=>{let n=`area:${e.name}`,r=t.has(n);return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(Q,{depth:0,label:e.name,tag:`AREA`,tagKind:`area`,expanded:r,onToggle:()=>p(n),hasChildren:!0}),r&&e.lines.map(n=>{let r=`line:${e.name}/${n.name}`,i=t.has(r),a=f.get(`${e.name}/${n.name}`)??[];return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(Q,{depth:1,label:n.name,tag:`LINE`,tagKind:`line`,count:a.length,expanded:i,onToggle:()=>p(r),hasChildren:!0}),i&&a.map(r=>{let i=`inst:${e.name}/${n.name}/${r.id}`,a=t.has(i);return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(Q,{depth:2,label:r.id,tag:`INST`,tagKind:`inst`,subtitle:r.model,count:r.tags.length+r.properties.length,expanded:a,onToggle:()=>p(i),hasChildren:r.tags.length+r.properties.length>0}),a&&(0,J.jsx)(fe,{instance:r,depth:3,area:e.name,line:n.name,onCopy:m})]},r.id)})]},n.name)})]},e.name)})})}var Y=20,de=14,X=`flex w-3.5 shrink-0 items-center justify-center`;function fe({instance:e,depth:t,area:n,line:r,onCopy:i}){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=a?e.tags:e.tags.slice(0,10),u=e.tags.length-10,d=(0,q.useCallback)(t=>i(n,r,e.id,t),[i,n,r,e.id]);return(0,J.jsxs)(J.Fragment,{children:[l.map(e=>(0,J.jsx)(Z,{member:e,depth:t,onCopy:d},e.name)),!a&&u>0&&(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1.5 border-t border-border/30 py-1 text-left font-mono text-xs text-muted-foreground hover:bg-muted/40`,style:{paddingLeft:`${t*14+Y}px`},onClick:()=>o(!0),children:[(0,J.jsx)(`span`,{className:X,"aria-hidden":!0}),(0,J.jsxs)(`span`,{children:[`+`,u,` more tags`]})]}),e.properties.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1.5 border-t border-border/30 py-1 text-left font-mono text-xs text-muted-foreground hover:bg-muted/40`,style:{paddingLeft:`${t*14+Y}px`},onClick:()=>c(e=>!e),children:[(0,J.jsx)(`span`,{className:X,"aria-hidden":!0,children:s?(0,J.jsx)(v,{className:`size-3.5 opacity-60`,"aria-hidden":!0}):(0,J.jsx)(y,{className:`size-3.5 opacity-60`,"aria-hidden":!0})}),(0,J.jsxs)(`span`,{children:[e.properties.length,` properties`]})]}),s&&e.properties.map(e=>(0,J.jsx)(Z,{member:e,depth:t,onCopy:d},e.name))]})]})}function Z({member:e,depth:t,onCopy:n}){let r=e.kind===`property`;return(0,J.jsxs)(re,{children:[(0,J.jsxs)(te,{render:(0,J.jsx)(`button`,{type:`button`,className:h(`flex w-full cursor-pointer items-center gap-1.5 border-t border-border/25 py-1 text-left font-mono text-xs hover:bg-muted/35`,r&&`opacity-65`),style:{paddingLeft:`${t*14+Y+(r?de:0)}px`},onClick:()=>n(e.name)}),children:[(0,J.jsx)(`span`,{className:X,"aria-hidden":!0,children:(0,J.jsx)(`span`,{className:h(`size-1 rounded-full ring-1 ring-border/50`,r?`bg-muted-foreground/25`:`bg-primary/50`)})}),(0,J.jsx)(`span`,{className:h(`min-w-0 truncate`,r?`text-muted-foreground`:`text-foreground`),children:e.name}),r&&(0,J.jsx)(`span`,{className:`shrink-0 rounded bg-muted/60 px-1 py-px text-[10px] text-muted-foreground`,children:`PROP`}),(0,J.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.dataType}),e.unit&&(0,J.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.unit}),e.euRange&&(0,J.jsxs)(`span`,{className:`ml-auto shrink-0 pr-1 tabular-nums text-muted-foreground`,children:[`[`,e.euRange[0],`–`,e.euRange[1],`]`]})]}),(0,J.jsx)(ne,{side:`top`,className:`max-w-xs`,children:`Click to copy UNS path`})]})}function Q({depth:e,label:t,tag:n,tagKind:r,subtitle:i,count:a,expanded:o,onToggle:s,hasChildren:c}){let l=o?v:y,u=r===`area`?`text-primary`:`text-foreground`;return(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1.5 border-t border-border/35 py-1 pr-2 text-left text-xs transition-colors first:border-t-0 hover:bg-muted/40`,style:{paddingLeft:`${12+e*14}px`},onClick:s,children:[c?(0,J.jsx)(l,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":!0}):(0,J.jsx)(`span`,{className:`size-3 shrink-0`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:h(`min-w-0 truncate font-medium`,u),children:t}),(0,J.jsx)(`span`,{className:`shrink-0 text-[10px] tracking-wide text-muted-foreground uppercase`,children:n}),i&&(0,J.jsx)(`span`,{className:`min-w-0 max-w-[min(11rem,38vw)] shrink truncate font-mono text-xs text-muted-foreground`,children:i}),a!==void 0&&(0,J.jsx)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted-foreground`,children:a})]})}function pe(e){return e.lines.reduce((e,t)=>e+t.twins.reduce((e,t)=>e+t.count,0),0)}function $(e){return Object.values(e.members).filter(e=>e.kind!==`property`).length}function me(e,t){let n=0;for(let r of e.topology)for(let e of r.lines)for(let r of e.twins){let e=t.get(r.model),i=e?$(e):0;n+=r.count*i}return n}function he({template:e,onClose:t}){let[n,o]=(0,q.useState)(new Set),s=i({queryKey:a.catalog.templateDetail(e?.id??``),queryFn:()=>r(`/catalog/templates/${e?.id}`),enabled:e!==null}),m=s.data,h=s.isPending&&!m,g=s.isError,_=W(s.error,`Failed to load template.`),v=m?.models?.join(`,`)??``,y=i({queryKey:a.catalog.modelSchemasBatch(v),queryFn:async()=>{let e=m?.models??[];return e.length===0?[]:Promise.all(e.map(e=>r(`/catalog/models/${e}`)))},enabled:m!==null}),b=(0,q.useMemo)(()=>{if(!m||!y.data)return null;let e=new Map;for(let[t,n]of y.data.entries())e.set(m.models[t],n);return me(m,e)},[m,y.data]);(0,q.useEffect)(()=>{e&&m&&o(new Set(m.topology.map(e=>e.name)))},[e,m]);let S=(0,q.useCallback)(e=>{o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),w=p();return(0,J.jsx)(T,{open:e!==null,onOpenChange:e=>{e||(w.reset(),t())},children:(0,J.jsx)(D,{side:`right`,className:`flex w-full flex-col gap-4`,children:h?null:g&&!m?(0,J.jsx)(`div`,{className:`flex flex-1 flex-col justify-center px-2`,children:(0,J.jsx)(U,{message:_,onRetry:()=>void s.refetch(),isRetrying:s.isFetching})}):m?(0,J.jsxs)(L.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.18},className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,J.jsxs)(x,{className:`gap-1 pb-0 pe-12`,children:[(0,J.jsx)(E,{className:`font-heading text-lg uppercase tracking-wide`,children:m.name}),m.description&&(0,J.jsx)(C,{className:`text-xs leading-relaxed text-foreground/90`,children:m.description}),(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[m.topology.length,` areas`]}),(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[m.instanceCount,` twins`]}),(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[m.models.length,` models`]}),b!==null&&(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[b,` tags`]}),m.settings?.tickIntervalMs&&(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[`tick `,m.settings.tickIntervalMs,`ms`]}),m.settings?.timeMultiplier&&m.settings.timeMultiplier!==1&&(0,J.jsxs)(H,{variant:`outline`,className:`font-mono text-[10px]`,children:[m.settings.timeMultiplier,`× speed`]}),(0,J.jsx)(d,{stream:w})]})]}),(0,J.jsxs)(u,{defaultValue:`overview`,className:`flex min-h-0 flex-1 flex-col gap-1 pt-0`,children:[(0,J.jsxs)(l,{variant:`line`,className:`!h-7 shrink-0 gap-0.5 border-b-border/60 px-2 py-[2px]`,children:[(0,J.jsx)(c,{value:`overview`,className:`px-2 py-0 text-[11px] text-foreground/82 after:bottom-[-3px] data-active:text-foreground`,children:`Overview`}),(0,J.jsx)(c,{value:`uns`,className:`px-2 py-0 text-[11px] text-foreground/82 after:bottom-[-3px] data-active:text-foreground`,children:`UNS`}),(0,J.jsx)(c,{value:`deploy`,className:`px-2 py-0 text-[11px] text-foreground/82 after:bottom-[-3px] data-active:text-foreground`,children:`Deploy`})]}),(0,J.jsx)(f,{value:`overview`,keepMounted:!0,className:`flex min-h-0 flex-1 flex-col`,children:(0,J.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-3 pt-0`,children:(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pr-2`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1 pt-0.5`,children:[m.namespace&&(m.namespace.enterprise||m.namespace.site||m.namespace.prefix)&&(0,J.jsxs)(`div`,{className:`min-w-0 overflow-hidden rounded-md border border-border/60 px-2.5 py-2`,children:[(0,J.jsx)(`h3`,{className:`font-heading text-[11px] font-semibold uppercase tracking-[0.12em] text-primary`,children:`Namespace`}),(0,J.jsxs)(`dl`,{className:`mt-1 grid grid-cols-1 gap-x-4 gap-y-1.5 sm:grid-cols-2`,children:[m.namespace.enterprise&&(0,J.jsxs)(`div`,{className:`min-w-0 sm:max-w-[min(100%,16rem)]`,children:[(0,J.jsx)(`dt`,{className:`font-heading text-[11px] font-medium uppercase tracking-[0.12em] text-muted-foreground`,children:`Enterprise`}),(0,J.jsx)(`dd`,{className:`mt-1 font-mono text-xs leading-snug text-foreground [overflow-wrap:anywhere] break-words`,children:m.namespace.enterprise})]}),m.namespace.site&&(0,J.jsxs)(`div`,{className:`min-w-0 sm:max-w-[min(100%,16rem)]`,children:[(0,J.jsx)(`dt`,{className:`font-heading text-[11px] font-medium uppercase tracking-[0.12em] text-muted-foreground`,children:`Site`}),(0,J.jsx)(`dd`,{className:`mt-1 font-mono text-xs leading-snug text-foreground [overflow-wrap:anywhere] break-words`,children:m.namespace.site})]}),m.namespace.prefix&&(0,J.jsxs)(`div`,{className:`min-w-0 sm:col-span-2`,children:[(0,J.jsx)(`dt`,{className:`font-heading text-[11px] font-medium uppercase tracking-[0.12em] text-muted-foreground`,children:`Prefix`}),(0,J.jsx)(`dd`,{className:`mt-1 font-mono text-xs leading-snug text-foreground [overflow-wrap:anywhere] break-words`,children:m.namespace.prefix})]})]})]}),m.topology.map(e=>(0,J.jsx)(ge,{area:e,expanded:n.has(e.name),onToggle:()=>S(e.name)},e.name)),m.settings&&(0,J.jsxs)(`div`,{className:`rounded-md border border-border/50 p-2`,children:[(0,J.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 font-heading text-[11px] font-semibold uppercase tracking-[0.12em] text-warning`,children:[(0,J.jsx)(O,{className:`size-3.5`,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:`Settings`})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-1.5 font-mono text-xs sm:grid-cols-3`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`tick interval`}),(0,J.jsxs)(`span`,{className:`text-foreground`,children:[m.settings.tickIntervalMs??1e3,`ms`]})]}),(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`time multiplier`}),(0,J.jsxs)(`span`,{className:`text-foreground`,children:[m.settings.timeMultiplier??1,`×`]})]})]})]})]})})})}),(0,J.jsx)(f,{value:`uns`,keepMounted:!0,className:`flex min-h-0 flex-1 flex-col`,children:(0,J.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-3 pt-0`,children:(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pr-2`,children:(0,J.jsx)(`div`,{className:`pb-1 pt-0.5`,children:(0,J.jsx)(ue,{detail:m})})})})}),(0,J.jsx)(f,{value:`deploy`,keepMounted:!0,className:`flex min-h-0 flex-1 flex-col`,children:(0,J.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-3 pt-0`,children:(0,J.jsx)(k,{kind:`template`,id:m.id,displayName:m.name,yamlPath:`/catalog/templates/${m.id}/yaml`,yamlFilename:`${m.id}.miravo.yaml`,stream:w})})})]})]},m.id):(0,J.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:`Template not found`})})})}function ge({area:e,expanded:t,onToggle:n}){let r=pe(e);return(0,J.jsxs)(`div`,{className:M,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-1.5 px-2.5 py-1.5 text-left text-xs font-medium transition-colors hover:bg-muted/30`,onClick:n,children:[(0,J.jsx)(G,{className:`size-3.5 text-primary`}),(0,J.jsx)(`span`,{className:`uppercase tracking-wider text-primary`,children:e.name}),(0,J.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[(0,J.jsxs)(H,{variant:`secondary`,className:`text-[10px]`,children:[r,` twins`]}),(0,J.jsxs)(H,{variant:`secondary`,className:`text-[10px]`,children:[e.lines.length,` lines`]}),(0,J.jsx)(v,{className:`size-3 text-muted-foreground transition-transform ${t?`rotate-180`:``}`})]})]}),(0,J.jsx)(I,{initial:!1,children:t&&(0,J.jsx)(L.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:`easeOut`},className:`overflow-hidden`,children:(0,J.jsx)(`div`,{className:`flex flex-col gap-1.5 border-t border-border p-2`,children:e.lines.map(e=>(0,J.jsx)(_e,{line:e},e.name))})},`content`)})]})}function _e({line:e}){return(0,J.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/10 p-2`,children:[(0,J.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-xs font-medium text-muted-foreground`,children:[(0,J.jsx)(se,{className:`size-3.5`}),(0,J.jsx)(`span`,{children:e.name}),(0,J.jsx)(K,{className:`ml-auto size-3.5 text-muted-foreground`}),(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.twins.reduce((e,t)=>e+t.count,0),` twins`]})]}),(0,J.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:e.twins.map(e=>(0,J.jsx)(ve,{twin:e},`${e.model}-${e.count}`))})]})}function ve({twin:e}){let t=e.parameters&&Object.keys(e.parameters).length>0;return(0,J.jsxs)(`div`,{className:`rounded border border-border/30 bg-background/50 px-2.5 py-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[(0,J.jsx)(`span`,{className:`font-mono font-medium text-primary`,children:V(e.model)}),(0,J.jsxs)(H,{variant:`secondary`,className:`shrink-0 px-1 py-0 text-[10px]`,children:[`×`,e.count]}),e.variation>0&&(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[`±`,(e.variation*100).toFixed(0),`% variation`]})]}),t&&e.parameters&&(0,J.jsx)(`div`,{className:`mt-1.5 flex flex-wrap gap-x-4 gap-y-1 border-t border-border/20 pt-1.5 font-mono text-xs`,children:Object.entries(e.parameters).map(([e,t])=>(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,J.jsx)(`span`,{className:`text-foreground`,children:t})]},e))})]})}function ye(){let[e,t]=(0,q.useState)(``),[n,o]=(0,q.useState)({}),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(null),p=(0,q.useRef)(null),m=P();(0,q.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.preventDefault(),p.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let v=i({queryKey:a.catalog.templates(),queryFn:()=>r(`/catalog/templates`)}),y=v.data??[],b=v.isPending&&!v.data,x=v.isError&&!v.data,C=v.isError&&!!v.data,w=W(v.error,`Failed to load templates.`),T=e=>n[e]??1,E=(0,q.useCallback)((e,t)=>{o(n=>({...n,[e]:Math.max(1,Math.min(10,t))}))},[]),D=(0,q.useCallback)(e=>{f(e)},[]),O=(0,q.useCallback)(e=>{u(e)},[]),k=async e=>{c(e);try{return await m.mutateAsync({type:`loadTemplate`,templatePath:e,count:T(e)}),!0}catch{return!1}finally{c(null)}},A=e?y.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||(t.description?.toLowerCase().includes(e.toLowerCase())??!1)):y;return(0,J.jsxs)(`div`,{className:`@container/templates mx-auto flex w-full max-w-screen-2xl flex-col gap-5 p-4 sm:gap-6 sm:p-6`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(`h2`,{className:`font-heading text-2xl font-semibold tracking-tight`,children:`Template Catalog`}),(0,J.jsx)(H,{variant:`outline`,className:`text-xs`,children:x?(0,J.jsx)(`span`,{className:`text-destructive`,children:`Unavailable`}):b&&y.length===0?(0,J.jsx)(J.Fragment,{children:`Loading...`}):(0,J.jsxs)(J.Fragment,{children:[y.length,` built-in`]})})]}),(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Choose a template to build a realistic industrial environment. Each template includes pre-configured asset models with realistic physics, lifecycle degradation, and fault modes.`})]}),x&&(0,J.jsx)(U,{message:w,onRetry:()=>void v.refetch(),isRetrying:v.isFetching}),C&&(0,J.jsx)(U,{message:`${w} Showing cached templates.`,onRetry:()=>void v.refetch(),isRetrying:v.isFetching}),!x&&(0,J.jsxs)(`div`,{className:`relative max-w-xs`,children:[(0,J.jsx)(S,{className:`absolute left-2.5 top-2.5 size-4 text-muted-foreground`}),(0,J.jsx)(_,{ref:p,placeholder:`Filter templates...`,value:e,onChange:e=>t(e.target.value),className:`pl-9 pr-7`}),!e&&(0,J.jsx)(`kbd`,{className:`pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 rounded border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:`/`})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-4 @[720px]/templates:grid-cols-2`,"aria-busy":b&&!x,children:x?null:(0,J.jsxs)(J.Fragment,{children:[b&&y.length===0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`h-44 animate-pulse rounded-xl border border-border/50 bg-card/30`}),(0,J.jsx)(`div`,{className:`h-44 animate-pulse rounded-xl border border-border/50 bg-card/30`}),(0,J.jsx)(`div`,{className:`h-44 animate-pulse rounded-xl border border-border/50 bg-card/30`}),(0,J.jsx)(`div`,{className:`h-44 animate-pulse rounded-xl border border-border/50 bg-card/30`})]}),(0,J.jsx)(I,{children:A.map((e,t)=>(0,J.jsx)(L.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,scale:.96,transition:{duration:.15}},transition:{type:`spring`,stiffness:380,damping:30,delay:t*.04},className:`grid`,children:(0,J.jsx)(be,{template:e,count:T(e.name),launching:s===e.name,onCountChange:E,onInspect:D,onLaunch:O})},e.name))}),A.length===0&&y.length>0&&(0,J.jsxs)(`p`,{className:`col-span-full py-8 text-center text-sm text-muted-foreground`,children:[`No templates match “`,e,`”`]})]})}),y.length>0&&(0,J.jsx)(`div`,{className:h(M,`p-0`),children:(0,J.jsx)(`div`,{className:`community-teaser relative overflow-hidden rounded-[inherit]`,children:(0,J.jsx)(`div`,{className:`relative z-10 mx-auto max-w-3xl px-5 py-10 sm:px-10 sm:py-12`,children:(0,J.jsxs)(`div`,{className:`grid items-center gap-10 lg:grid-cols-[minmax(0,1fr)_minmax(0,17rem)]`,children:[(0,J.jsxs)(`div`,{className:`order-2 flex min-w-0 flex-col gap-4 lg:order-1`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-3 gap-y-1`,children:[(0,J.jsx)(`p`,{className:`blueprint-title text-primary`,children:`Future channel`}),(0,J.jsx)(`span`,{className:`blueprint-stat text-[10px] text-muted-foreground`,children:`MIRAVO_REGISTRY · NOT_CONNECTED`})]}),(0,J.jsx)(`h3`,{className:`font-heading text-xl font-semibold tracking-tight sm:text-2xl`,children:`Community Templates`}),(0,J.jsx)(`p`,{className:`max-w-xl text-sm leading-relaxed text-muted-foreground`,children:`Share your industrial environments with the Miravo community. Publish custom templates, discover configurations from other engineers, and fork them as your starting point.`}),(0,J.jsx)(`div`,{children:(0,J.jsx)(H,{variant:`outline`,className:`community-teaser-soon border-primary/35 bg-primary/5 text-[10px] text-primary`,children:`Coming Soon`})})]}),(0,J.jsx)(`div`,{className:`order-1 flex justify-center lg:order-2 lg:justify-end`,children:(0,J.jsxs)(`div`,{className:`community-teaser-module relative flex w-full max-w-[14rem] flex-col items-center justify-center gap-3 border border-primary/15 bg-muted/15 py-8 sm:max-w-[15.5rem] sm:py-10`,"aria-hidden":!0,children:[(0,J.jsx)(`div`,{className:`community-teaser-icon-ring relative z-[1] flex size-[4.25rem] items-center justify-center rounded-md border border-primary/35 bg-gradient-to-br from-primary/18 to-primary/5`,children:(0,J.jsx)(ee,{className:`size-9 text-primary`,"aria-hidden":!0})}),(0,J.jsx)(`span`,{className:`blueprint-stat relative z-[1] text-[9px] tracking-[0.18em] text-muted-foreground`,children:`AWAITING SIGNAL`}),(0,J.jsx)(`span`,{className:`blueprint-stat relative z-[1] text-[9px] text-muted-foreground`,children:`Uplink idle`})]})})]})})})}),(0,J.jsx)(oe,{open:l!==null,onOpenChange:e=>{e||u(null)},children:(0,J.jsxs)(z,{children:[(0,J.jsxs)(R,{children:[(0,J.jsx)(B,{children:`Launch template?`}),(0,J.jsx)(ae,{children:l!==null&&(0,J.jsxs)(J.Fragment,{children:[`This adds `,T(l),` instance`,T(l)===1?``:`s`,` of`,` `,(0,J.jsx)(`span`,{className:`font-medium text-foreground`,children:V(l)}),` `,`to the running simulation.`]})})]}),(0,J.jsxs)(ie,{children:[(0,J.jsx)(g,{variant:`outline`,disabled:s!==null,onClick:()=>u(null),children:`Cancel`}),(0,J.jsx)(g,{disabled:s!==null||l===null,onClick:async()=>{l!==null&&await k(l)&&u(null)},children:s===l?`Launching...`:`Launch`})]})]})}),(0,J.jsx)(he,{template:d,onClose:()=>f(null)})]})}var be=(0,q.memo)(function({template:e,count:t,launching:n,onCountChange:r,onInspect:i,onLaunch:a}){return(0,J.jsxs)(`div`,{className:h(N,`flex flex-col gap-4 p-5`),children:[(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,J.jsx)(m,{id:e.id,className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{className:`font-heading text-sm font-semibold uppercase tracking-wide`,children:V(e.name)}),(0,J.jsx)(`span`,{className:`line-clamp-2 text-xs leading-relaxed text-muted-foreground`,children:e.description??`Industrial simulation template.`})]})]}),(0,J.jsx)(`div`,{className:`px-3 py-2`,children:(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.models.map(e=>(0,J.jsx)(H,{variant:`outline`,className:`h-auto min-h-5 rounded-md px-1.5 py-0 font-mono text-[10px] font-normal text-primary`,children:e},e))})}),(0,J.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-4 font-mono text-[11px] text-muted-foreground`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`span`,{className:`text-foreground`,children:e.instanceCount}),` instances`]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`span`,{className:`text-foreground`,children:e.models.length}),` models`]}),e.memberCount>0&&(0,J.jsxs)(`span`,{children:[`~`,(0,J.jsx)(`span`,{className:`text-foreground`,children:xe(e.memberCount)}),` tags/cycle`]}),(0,J.jsx)(H,{variant:`secondary`,className:`ml-auto shrink-0 font-sans text-[10px] font-medium`,children:e.source})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border/30 pt-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center rounded-md border bg-muted/30`,children:[(0,J.jsx)(g,{variant:`ghost`,size:`icon`,className:`size-7 rounded-none rounded-l-md`,disabled:t<=1,"aria-label":`Decrease count`,onClick:n=>{n.stopPropagation(),r(e.name,t-1)},children:(0,J.jsx)(w,{className:`size-3`})}),(0,J.jsx)(`span`,{className:`flex size-7 items-center justify-center border-x font-mono text-xs`,children:t}),(0,J.jsx)(g,{variant:`ghost`,size:`icon`,className:`size-7 rounded-none rounded-r-md`,disabled:t>=10,"aria-label":`Increase count`,onClick:n=>{n.stopPropagation(),r(e.name,t+1)},children:(0,J.jsx)(s,{className:`size-3`})})]}),(0,J.jsxs)(g,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>i(e),className:F,children:[(0,J.jsx)(A,{className:`size-3.5`,"aria-hidden":!0}),`Inspect`]}),(0,J.jsxs)(g,{size:`sm`,className:`ml-auto`,disabled:n,onClick:()=>a(e.name),children:[(0,J.jsx)(j,{className:`mr-1 size-3`}),n?`...`:`Launch`]})]})]})});function xe(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}export{ye as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./catalog-BJzyzbLR.js";export{e as CatalogPage};
@@ -0,0 +1 @@
1
+ import{at as e}from"./vendor-ui-ByahnaY0.js";import{t}from"./createLucideIcon-Bwxw859K.js";import{i as n}from"./input-BWEQFptx.js";var r=t(`building`,[[`path`,{d:`M12 10h.01`,key:`1nrarc`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M12 6h.01`,key:`1vi96p`}],[`path`,{d:`M16 10h.01`,key:`1m94wz`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M16 6h.01`,key:`1x0f13`}],[`path`,{d:`M8 10h.01`,key:`19clt8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M8 6h.01`,key:`1dz90k`}],[`path`,{d:`M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3`,key:`cabbwy`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`,key:`1uxh74`}]]),i=t(`droplet`,[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`,key:`c7niix`}]]),a=t(`factory`,[[`path`,{d:`M12 16h.01`,key:`1drbdi`}],[`path`,{d:`M16 16h.01`,key:`1f9h7w`}],[`path`,{d:`M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z`,key:`1iv0i2`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),o=t(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),s=t(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),c=e();function l({id:e,className:t}){let l=n(`shrink-0 text-primary`,t);switch(e){case`smart-factory`:return(0,c.jsx)(a,{className:l,"aria-hidden":!0});case`water-treatment`:return(0,c.jsx)(i,{className:l,"aria-hidden":!0});case`commercial-building`:return(0,c.jsx)(r,{className:l,"aria-hidden":!0});case`backup-power`:return(0,c.jsx)(s,{className:l,"aria-hidden":!0});default:return(0,c.jsx)(o,{className:l,"aria-hidden":!0})}}export{s as n,l as t};
@@ -0,0 +1 @@
1
+ import{at as e,g as t,h as n}from"./vendor-ui-ByahnaY0.js";import{t as r}from"./createLucideIcon-Bwxw859K.js";import{i,o as a}from"./input-BWEQFptx.js";var o=r(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),s=r(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),c=r(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),l=e();function u({className:e,...r}){return(0,l.jsx)(t,{"data-slot":`checkbox`,className:i(`peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,e),...r,children:(0,l.jsx)(n,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none [&>svg]:size-3.5`,children:(0,l.jsx)(a,{})})})}export{o as i,c as n,s as r,u as t};
@@ -0,0 +1,3 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";var n=e(t(),1),r=`modulepreload`,i=function(e){return`/`+e},a={},o=function(e,t,n){let o=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}o=l(t.map(t=>{if(t=i(t,n),t in a)return;a[t]=!0;let o=t.endsWith(`.css`),s=o?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.href===t&&(!o||r.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=o?`stylesheet`:r,o||(l.as=`script`),l.crossOrigin=``,l.href=t,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),o)return new Promise((e,n)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})},s=`popstate`;function c(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function l(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return m(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:h(t)}return _(t,n,null,e)}function u(e,t){if(e===!1||e==null)throw Error(t)}function d(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function f(){return Math.random().toString(36).substring(2,10)}function p(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function m(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?g(t):t,state:n,key:t&&t.key||r||f(),unstable_mask:i}}function h({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function g(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function _(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,l=`POP`,u=null,d=f();d??(d=0,o.replaceState({...o.state,idx:d},``));function f(){return(o.state||{idx:null}).idx}function h(){l=`POP`;let e=f(),t=e==null?null:e-d;d=e,u&&u({action:l,location:b.location,delta:t})}function g(e,t){l=`PUSH`;let r=c(e)?e:m(b.location,e,t);n&&n(r,e),d=f()+1;let s=p(r,d),h=b.createHref(r.unstable_mask||r);try{o.pushState(s,``,h)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(h)}a&&u&&u({action:l,location:b.location,delta:1})}function _(e,t){l=`REPLACE`;let r=c(e)?e:m(b.location,e,t);n&&n(r,e),d=f();let i=p(r,d),s=b.createHref(r.unstable_mask||r);o.replaceState(i,``,s),a&&u&&u({action:l,location:b.location,delta:0})}function y(e){return v(e)}let b={get action(){return l},get location(){return e(i,o)},listen(e){if(u)throw Error(`A history only accepts one active listener`);return i.addEventListener(s,h),u=e,()=>{i.removeEventListener(s,h),u=null}},createHref(e){return t(i,e)},createURL:y,encodeLocation(e){let t=y(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:g,replace:_,go(e){return o.go(e)}};return b}function v(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),u(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:h(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function y(e,t,n=`/`){return b(e,t,n,!1)}function b(e,t,n,r){let i=k((typeof t==`string`?g(t):t).pathname||`/`,n);if(i==null)return null;let a=S(e);w(a);let o=null;for(let e=0;o==null&&e<a.length;++e){let t=ce(i);o=oe(a[e],t,r)}return o}function x(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function S(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;u(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=N([r,c.relativePath]),d=n.concat(c);e.children&&e.children.length>0&&(u(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),S(e.children,t,d,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:ie(l,e.index),routesMeta:d})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of C(e.path))a(e,t,!0,n)}),t}function C(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=C(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function w(e){e.sort((e,t)=>e.score===t.score?ae(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var T=/^:[\w-]+$/,ee=3,te=2,ne=1,E=10,D=-2,re=e=>e===`*`;function ie(e,t){let n=e.split(`/`),r=n.length;return n.some(re)&&(r+=D),t&&(r+=te),n.filter(e=>!re(e)).reduce((e,t)=>e+(T.test(t)?ee:t===``?ne:E),r)}function ae(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function oe(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=O({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=O({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:N([a,u.pathname]),pathnameBase:me(N([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=N([a,u.pathnameBase]))}return o}function O(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=se(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function se(e,t=!1,n=!0){d(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function ce(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return d(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var le=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ue(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?g(e):e,a;return n?(n=pe(n),a=n.startsWith(`/`)?de(n.substring(1),`/`):de(n,t)):a=t,{pathname:a,search:he(r),hash:ge(i)}}function de(e,t){let n=P(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function A(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function fe(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function j(e){let t=fe(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function M(e,t,n,r=!1){let i;typeof e==`string`?i=g(e):(i={...e},u(!i.pathname||!i.pathname.includes(`?`),A(`?`,`pathname`,`search`,i)),u(!i.pathname||!i.pathname.includes(`#`),A(`#`,`pathname`,`hash`,i)),u(!i.search||!i.search.includes(`#`),A(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ue(i,s),l=o&&o!==`/`&&o.endsWith(`/`),d=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||d)&&(c.pathname+=`/`),c}var pe=e=>e.replace(/\/\/+/g,`/`),N=e=>pe(e.join(`/`)),P=e=>e.replace(/\/+$/,``),me=e=>P(e).replace(/^\/*/,`/`),he=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,ge=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,_e=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function ve(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function ye(e){return N(e.map(e=>e.route.path).filter(Boolean))||`/`}var be=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function xe(e,t){let n=e;if(typeof n!=`string`||!le.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(be)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=k(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{d(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Se=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Se);var Ce=[`GET`,...Se];new Set(Ce);var F=n.createContext(null);F.displayName=`DataRouter`;var I=n.createContext(null);I.displayName=`DataRouterState`;var we=n.createContext(!1);function Te(){return n.useContext(we)}var Ee=n.createContext({isTransitioning:!1});Ee.displayName=`ViewTransition`;var De=n.createContext(new Map);De.displayName=`Fetchers`;var Oe=n.createContext(null);Oe.displayName=`Await`;var L=n.createContext(null);L.displayName=`Navigation`;var R=n.createContext(null);R.displayName=`Location`;var z=n.createContext({outlet:null,matches:[],isDataRoute:!1});z.displayName=`Route`;var B=n.createContext(null);B.displayName=`RouteError`;var ke=`REACT_ROUTER_ERROR`,Ae=`REDIRECT`,je=`ROUTE_ERROR_RESPONSE`;function Me(e){if(e.startsWith(`${ke}:${Ae}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ne(e){if(e.startsWith(`${ke}:${je}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new _e(t.status,t.statusText,t.data)}catch{}}function Pe(e,{relative:t}={}){u(V(),`useHref() may be used only in the context of a <Router> component.`);let{basename:r,navigator:i}=n.useContext(L),{hash:a,pathname:o,search:s}=W(e,{relative:t}),c=o;return r!==`/`&&(c=o===`/`?r:N([r,o])),i.createHref({pathname:c,search:s,hash:a})}function V(){return n.useContext(R)!=null}function H(){return u(V(),`useLocation() may be used only in the context of a <Router> component.`),n.useContext(R).location}var Fe=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Ie(e){n.useContext(L).static||n.useLayoutEffect(e)}function U(){let{isDataRoute:e}=n.useContext(z);return e?nt():Le()}function Le(){u(V(),`useNavigate() may be used only in the context of a <Router> component.`);let e=n.useContext(F),{basename:t,navigator:r}=n.useContext(L),{matches:i}=n.useContext(z),{pathname:a}=H(),o=JSON.stringify(j(i)),s=n.useRef(!1);return Ie(()=>{s.current=!0}),n.useCallback((n,i={})=>{if(d(s.current,Fe),!s.current)return;if(typeof n==`number`){r.go(n);return}let c=M(n,JSON.parse(o),a,i.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:N([t,c.pathname])),(i.replace?r.replace:r.push)(c,i.state,i)},[t,r,o,a,e])}n.createContext(null);function Re(){let{matches:e}=n.useContext(z),t=e[e.length-1];return t?t.params:{}}function W(e,{relative:t}={}){let{matches:r}=n.useContext(z),{pathname:i}=H(),a=JSON.stringify(j(r));return n.useMemo(()=>M(e,JSON.parse(a),i,t===`path`),[e,a,i,t])}function ze(e,t){return Be(e,t)}function Be(e,t,r){u(V(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:i}=n.useContext(L),{matches:a}=n.useContext(z),o=a[a.length-1],s=o?o.params:{},c=o?o.pathname:`/`,l=o?o.pathnameBase:`/`,f=o&&o.route;{let e=f&&f.path||``;it(c,!f||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
2
+
3
+ Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let p=H(),m;if(t){let e=typeof t==`string`?g(t):t;u(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),m=e}else m=p;let h=m.pathname||`/`,_=h;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);_=`/`+h.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let v=y(e,{pathname:_});d(f||v!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),d(v==null||v[v.length-1].route.element!==void 0||v[v.length-1].route.Component!==void 0||v[v.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let b=Ke(v&&v.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:N([l,i.encodeLocation?i.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:N([l,i.encodeLocation?i.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),a,r);return t&&b?n.createElement(R.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,unstable_mask:void 0,...m},navigationType:`POP`}},b):b}function Ve(){let e=tt(),t=ve(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,i=`rgba(200,200,200, 0.5)`,a={padding:`0.5rem`,backgroundColor:i},o={padding:`2px 4px`,backgroundColor:i},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=n.createElement(n.Fragment,null,n.createElement(`p`,null,`💿 Hey developer 👋`),n.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,n.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,n.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),n.createElement(n.Fragment,null,n.createElement(`h2`,null,`Unexpected Application Error!`),n.createElement(`h3`,{style:{fontStyle:`italic`}},t),r?n.createElement(`pre`,{style:a},r):null,s)}var He=n.createElement(Ve,null),Ue=class extends n.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Ne(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:n.createElement(z.Provider,{value:this.props.routeContext},n.createElement(B.Provider,{value:e,children:this.props.component}));return this.context?n.createElement(We,{error:e},t):t}};Ue.contextType=we;var G=new WeakMap;function We({children:e,error:t}){let{basename:r}=n.useContext(L);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Me(t.digest);if(e){let i=G.get(t);if(i)throw i;let a=xe(e.location,r);if(be&&!G.get(t))if(a.isExternal||e.reloadDocument)window.location.href=a.absoluteURL||a.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw G.set(t,n),n}return n.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Ge({routeContext:e,match:t,children:r}){let i=n.useContext(F);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),n.createElement(z.Provider,{value:e},r)}function Ke(e,t=[],r){let i=r?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,o=i?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);u(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(r&&i){s=i.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:n}=i,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!n||n[t.route.id]===void 0);if(t.route.lazy||o){r.isStatic&&(s=!0),a=c>=0?a.slice(0,c+1):[a[0]];break}}}}let l=r?.onError,d=i&&l?(e,t)=>{l(e,{location:i.location,params:i.matches?.[0]?.params??{},unstable_pattern:ye(i.matches),errorInfo:t})}:void 0;return a.reduceRight((e,r,l)=>{let u,f=!1,p=null,m=null;i&&(u=o&&r.route.id?o[r.route.id]:void 0,p=r.route.errorElement||He,s&&(c<0&&l===0?(it(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=r.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,l+1)),g=()=>{let t;return t=u?p:f?m:r.route.Component?n.createElement(r.route.Component,null):r.route.element?r.route.element:e,n.createElement(Ge,{match:r,routeContext:{outlet:e,matches:h,isDataRoute:i!=null},children:t})};return i&&(r.route.ErrorBoundary||r.route.errorElement||l===0)?n.createElement(Ue,{location:i.location,revalidation:i.revalidation,component:p,error:u,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:d}):g()},null)}function qe(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Je(e){let t=n.useContext(F);return u(t,qe(e)),t}function Ye(e){let t=n.useContext(I);return u(t,qe(e)),t}function Xe(e){let t=n.useContext(z);return u(t,qe(e)),t}function Ze(e){let t=Xe(e),n=t.matches[t.matches.length-1];return u(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Qe(){return Ze(`useRouteId`)}function $e(){return Ye(`useNavigation`).navigation}function et(){let{matches:e,loaderData:t}=Ye(`useMatches`);return n.useMemo(()=>e.map(e=>x(e,t)),[e,t])}function tt(){let e=n.useContext(B),t=Ye(`useRouteError`),r=Ze(`useRouteError`);return e===void 0?t.errors?.[r]:e}function nt(){let{router:e}=Je(`useNavigate`),t=Ze(`useNavigate`),r=n.useRef(!1);return Ie(()=>{r.current=!0}),n.useCallback(async(n,i={})=>{d(r.current,Fe),r.current&&(typeof n==`number`?await e.navigate(n):await e.navigate(n,{fromRouteId:t,...i}))},[e,t])}var rt={};function it(e,t,n){!t&&!rt[e]&&(rt[e]=!0,d(!1,n))}n.useOptimistic,n.memo(at);function at({routes:e,future:t,state:n,isStatic:r,onError:i}){return Be(e,void 0,{state:n,isStatic:r,onError:i,future:t})}function ot({to:e,replace:t,state:r,relative:i}){u(V(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:a}=n.useContext(L);d(!a,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=n.useContext(z),{pathname:s}=H(),c=U(),l=M(e,j(o),s,i===`path`),f=JSON.stringify(l);return n.useEffect(()=>{c(JSON.parse(f),{replace:t,state:r,relative:i})},[c,f,i,t,r]),null}function st(e){u(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function ct({basename:e=`/`,children:t=null,location:r,navigationType:i=`POP`,navigator:a,static:o=!1,unstable_useTransitions:s}){u(!V(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=n.useMemo(()=>({basename:c,navigator:a,static:o,unstable_useTransitions:s,future:{}}),[c,a,o,s]);typeof r==`string`&&(r=g(r));let{pathname:f=`/`,search:p=``,hash:m=``,state:h=null,key:_=`default`,unstable_mask:v}=r,y=n.useMemo(()=>{let e=k(f,c);return e==null?null:{location:{pathname:e,search:p,hash:m,state:h,key:_,unstable_mask:v},navigationType:i}},[c,f,p,m,h,_,i,v]);return d(y!=null,`<Router basename="${c}"> is not able to match the URL "${f}${p}${m}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:n.createElement(L.Provider,{value:l},n.createElement(R.Provider,{children:t,value:y}))}function lt({children:e,location:t}){return ze(ut(e),t)}n.Component;function ut(e,t=[]){let r=[];return n.Children.forEach(e,(e,i)=>{if(!n.isValidElement(e))return;let a=[...t,i];if(e.type===n.Fragment){r.push.apply(r,ut(e.props.children,a));return}u(e.type===st,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),u(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let o={id:e.props.id||a.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=ut(e.props.children,a)),r.push(o)}),r}var K=`get`,q=`application/x-www-form-urlencoded`;function J(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function dt(e){return J(e)&&e.tagName.toLowerCase()===`button`}function ft(e){return J(e)&&e.tagName.toLowerCase()===`form`}function pt(e){return J(e)&&e.tagName.toLowerCase()===`input`}function mt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ht(e,t){return e.button===0&&(!t||t===`_self`)&&!mt(e)}function gt(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function _t(e,t){let n=gt(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Y=null;function vt(){if(Y===null)try{new FormData(document.createElement(`form`),0),Y=!1}catch{Y=!0}return Y}var yt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function bt(e){return e!=null&&!yt.has(e)?(d(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${q}"`),null):e}function xt(e,t){let n,r,i,a,o;if(ft(e)){let o=e.getAttribute(`action`);r=o?k(o,t):null,n=e.getAttribute(`method`)||K,i=bt(e.getAttribute(`enctype`))||q,a=new FormData(e)}else if(dt(e)||pt(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?k(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||K,i=bt(e.getAttribute(`formenctype`))||bt(o.getAttribute(`enctype`))||q,a=new FormData(o,e),!vt()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(J(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=K,r=null,i=q,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var St={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Ct=/[&><\u2028\u2029]/g;function wt(e){return e.replace(Ct,e=>St[e])}function Tt(e,t){if(e===!1||e==null)throw Error(t)}function Et(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&k(i.pathname,t)===`/`?i.pathname=`${P(t)}/_root.${r}`:i.pathname=`${P(i.pathname)}.${r}`,i}async function Dt(e,t){if(e.id in t)return t[e.id];try{let n=await o(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ot(e){return e!=null&&typeof e.page==`string`}function kt(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function At(e,t,n){return Ft((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Dt(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(kt).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function jt(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Mt(e,t,{includeHydrateFallback:n}={}){return Nt(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Nt(e){return[...new Set(e)]}function Pt(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Ft(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Ot(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Pt(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function It(){let e=n.useContext(F);return Tt(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Lt(){let e=n.useContext(I);return Tt(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var X=n.createContext(void 0);X.displayName=`FrameworkContext`;function Rt(){let e=n.useContext(X);return Tt(e,`You must render this element inside a <HydratedRouter> element`),e}function zt(e,t){let r=n.useContext(X),[i,a]=n.useState(!1),[o,s]=n.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=n.useRef(null);n.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),n.useEffect(()=>{if(i){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[i]);let m=()=>{a(!0)},h=()=>{a(!1),s(!1)};return r?e===`intent`?[o,p,{onFocus:Z(c,m),onBlur:Z(l,h),onMouseEnter:Z(u,m),onMouseLeave:Z(d,h),onTouchStart:Z(f,m)}]:[o,p,{}]:[!1,p,{}]}function Z(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Bt({page:e,...t}){let r=Te(),{router:i}=It(),a=n.useMemo(()=>y(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?r?n.createElement(Ht,{page:e,matches:a,...t}):n.createElement(Ut,{page:e,matches:a,...t}):null}function Vt(e){let{manifest:t,routeModules:r}=Rt(),[i,a]=n.useState([]);return n.useEffect(()=>{let n=!1;return At(e,t,r).then(e=>{n||a(e)}),()=>{n=!0}},[e,t,r]),i}function Ht({page:e,matches:t,...r}){let i=H(),{future:a}=Rt(),{basename:o}=It(),s=n.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=Et(e,o,a.unstable_trailingSlashAwareDataRequests,`rsc`),r=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?r=!0:s.push(e.route.id);return r&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,a.unstable_trailingSlashAwareDataRequests,e,i,t]);return n.createElement(n.Fragment,null,s.map(e=>n.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...r})))}function Ut({page:e,matches:t,...r}){let i=H(),{future:a,manifest:o,routeModules:s}=Rt(),{basename:c}=It(),{loaderData:l,matches:u}=Lt(),d=n.useMemo(()=>jt(e,t,u,o,i,`data`),[e,t,u,o,i]),f=n.useMemo(()=>jt(e,t,u,o,i,`assets`),[e,t,u,o,i]),p=n.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),n.size===0)return[];let u=Et(e,c,a.unstable_trailingSlashAwareDataRequests,`data`);return r&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,a.unstable_trailingSlashAwareDataRequests,l,i,o,d,t,e,s]),m=n.useMemo(()=>Mt(f,o),[f,o]),h=Vt(f);return n.createElement(n.Fragment,null,p.map(e=>n.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...r})),m.map(e=>n.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...r})),h.map(({key:e,link:t})=>n.createElement(`link`,{key:e,nonce:r.nonce,...t,crossOrigin:t.crossOrigin??r.crossOrigin})))}function Wt(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}n.Component;var Gt=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Gt&&(window.__reactRouterVersion=`7.14.1`)}catch{}function Kt({basename:e,children:t,unstable_useTransitions:r,window:i}){let a=n.useRef();a.current??=l({window:i,v5Compat:!0});let o=a.current,[s,c]=n.useState({action:o.action,location:o.location}),u=n.useCallback(e=>{r===!1?c(e):n.startTransition(()=>c(e))},[r]);return n.useLayoutEffect(()=>o.listen(u),[o,u]),n.createElement(ct,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:o,unstable_useTransitions:r})}function qt({basename:e,children:t,history:r,unstable_useTransitions:i}){let[a,o]=n.useState({action:r.action,location:r.location}),s=n.useCallback(e=>{i===!1?o(e):n.startTransition(()=>o(e))},[i]);return n.useLayoutEffect(()=>r.listen(s),[r,s]),n.createElement(ct,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:r,unstable_useTransitions:i})}qt.displayName=`unstable_HistoryRouter`;var Jt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Yt=n.forwardRef(function({onClick:e,discover:t=`render`,prefetch:r=`none`,relative:i,reloadDocument:a,replace:o,unstable_mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,unstable_useTransitions:v}=n.useContext(L),y=typeof u==`string`&&Jt.test(u),b=xe(u,g);u=b.to;let x=Pe(u,{relative:i}),S=H(),C=null;if(s){let e=M(s,[],S.unstable_mask?S.unstable_mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:N([g,e.pathname])),C=_.createHref(e)}let[w,T,ee]=zt(r,m),te=nn(u,{replace:o,unstable_mask:s,state:c,target:l,preventScrollReset:d,relative:i,viewTransition:f,unstable_defaultShouldRevalidate:p,unstable_useTransitions:v});function ne(t){e&&e(t),t.defaultPrevented||te(t)}let E=!(b.isExternal||a),D=n.createElement(`a`,{...m,...ee,href:(E?C:void 0)||b.absoluteURL||x,onClick:E?ne:e,ref:Wt(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?n.createElement(n.Fragment,null,D,n.createElement(Bt,{page:x})):D});Yt.displayName=`Link`;var Xt=n.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:r=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=W(o,{relative:l.relative}),f=H(),p=n.useContext(I),{navigator:m,basename:h}=n.useContext(L),g=p!=null&&fn(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=k(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!i&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!i&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof r==`function`?r(C):[r,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let ee=typeof a==`function`?a(C):a;return n.createElement(Yt,{...l,"aria-current":w,className:T,ref:u,style:ee,to:o,viewTransition:s},typeof c==`function`?c(C):c)});Xt.displayName=`NavLink`;var Zt=n.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:r,reloadDocument:i,replace:a,state:o,method:s=K,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h)=>{let{unstable_useTransitions:g}=n.useContext(L),_=sn(),v=cn(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&Jt.test(c);return n.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let i=e.nativeEvent.submitter,c=i?.getAttribute(`formmethod`)||s,m=()=>_(i||e.currentTarget,{fetcherKey:t,method:c,navigate:r,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p});g&&r!==!1?n.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});Zt.displayName=`Form`;function Qt({getKey:e,storageKey:t,...r}){let i=n.useContext(X),{basename:a}=n.useContext(L),o=H(),s=et();un({getKey:e,storageKey:t});let c=n.useMemo(()=>{if(!i||!e)return null;let t=$(o,s,a,e);return t===o.key?null:t},[]);if(!i||i.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return n.createElement(`script`,{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${wt(JSON.stringify(t||ln))}, ${wt(JSON.stringify(c))})`}})}Qt.displayName=`ScrollRestoration`;function $t(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function en(e){let t=n.useContext(F);return u(t,$t(e)),t}function tn(e){let t=n.useContext(I);return u(t,$t(e)),t}function nn(e,{target:t,replace:r,unstable_mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l,unstable_useTransitions:u}={}){let d=U(),f=H(),p=W(e,{relative:s});return n.useCallback(m=>{if(ht(m,t)){m.preventDefault();let t=r===void 0?h(f)===h(p):r,g=()=>d(e,{replace:t,unstable_mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l});u?n.startTransition(()=>g()):g()}},[f,d,p,r,i,a,t,e,o,s,c,l,u])}function rn(e){d(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=n.useRef(gt(e)),r=n.useRef(!1),i=H(),a=n.useMemo(()=>_t(i.search,r.current?null:t.current),[i.search]),o=U();return[a,n.useCallback((e,t)=>{let n=gt(typeof e==`function`?e(new URLSearchParams(a)):e);r.current=!0,o(`?`+n,t)},[o,a])]}var an=0,on=()=>`__${String(++an)}__`;function sn(){let{router:e}=en(`useSubmit`),{basename:t}=n.useContext(L),r=Qe(),i=e.fetch,a=e.navigate;return n.useCallback(async(e,n={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=xt(e,t);n.navigate===!1?await i(n.fetcherKey||on(),r,n.action||o,{unstable_defaultShouldRevalidate:n.unstable_defaultShouldRevalidate,preventScrollReset:n.preventScrollReset,formData:l,body:u,formMethod:n.method||s,formEncType:n.encType||c,flushSync:n.flushSync}):await a(n.action||o,{unstable_defaultShouldRevalidate:n.unstable_defaultShouldRevalidate,preventScrollReset:n.preventScrollReset,formData:l,body:u,formMethod:n.method||s,formEncType:n.encType||c,replace:n.replace,state:n.state,fromRouteId:r,flushSync:n.flushSync,viewTransition:n.viewTransition})},[i,a,t,r])}function cn(e,{relative:t}={}){let{basename:r}=n.useContext(L),i=n.useContext(z);u(i,`useFormAction must be used inside a RouteContext`);let[a]=i.matches.slice(-1),o={...W(e||`.`,{relative:t})},s=H();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),r!==`/`&&(o.pathname=o.pathname===`/`?r:N([r,o.pathname])),h(o)}var ln=`react-router-scroll-positions`,Q={};function $(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:k(e.pathname,n)||e.pathname},t)),i??=e.key,i}function un({getKey:e,storageKey:t}={}){let{router:r}=en(`useScrollRestoration`),{restoreScrollPosition:i,preventScrollReset:a}=tn(`useScrollRestoration`),{basename:o}=n.useContext(L),s=H(),c=et(),l=$e();n.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),dn(n.useCallback(()=>{if(l.state===`idle`){let t=$(s,c,o,e);Q[t]=window.scrollY}try{sessionStorage.setItem(t||ln,JSON.stringify(Q))}catch(e){d(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,o,s,c,t])),typeof document<`u`&&(n.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||ln);e&&(Q=JSON.parse(e))}catch{}},[t]),n.useLayoutEffect(()=>{let t=r?.enableScrollRestoration(Q,()=>window.scrollY,e?(t,n)=>$(t,n,o,e):void 0);return()=>t&&t()},[r,o,e]),n.useLayoutEffect(()=>{if(i!==!1){if(typeof i==`number`){window.scrollTo(0,i);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{d(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[s,i,a]))}function dn(e,t){let{capture:r}=t||{};n.useEffect(()=>{let t=r==null?void 0:{capture:r};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,r])}function fn(e,{relative:t}={}){let r=n.useContext(Ee);u(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=en(`useViewTransitionState`),a=W(e,{relative:t});if(!r.isTransitioning)return!1;let o=k(r.currentLocation.pathname,i)||r.currentLocation.pathname,s=k(r.nextLocation.pathname,i)||r.nextLocation.pathname;return O(a.pathname,s)!=null||O(a.pathname,o)!=null}export{st as a,U as c,o as d,ot as i,Re as l,Yt as n,lt as o,Xt as r,H as s,Kt as t,rn as u};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-COnpUsM8.js";import{s as e}from"./vendor-charts-CAZdaPlq.js";import{a as t,at as n,c as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./vendor-ui-ByahnaY0.js";import{a as f,i as p,n as m,o as h,t as g}from"./input-BWEQFptx.js";import{l as _,u as v}from"./select-CeO4vP0G.js";e();var y=n();function b({className:e,...t}){return(0,y.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:p(`group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var x=f(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function S({className:e,align:t=`inline-start`,...n}){return(0,y.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:p(x({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}var C=f(`flex items-center gap-2 text-sm shadow-none`,{variants:{size:{xs:`h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5`,sm:``,"icon-xs":`size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0`,"icon-sm":`size-8 p-0 has-[>svg]:p-0`}},defaultVariants:{size:`xs`}});function w({className:e,type:t=`button`,variant:n=`ghost`,size:r=`xs`,...i}){return(0,y.jsx)(m,{type:t,"data-size":r,variant:n,className:p(C({size:r}),e),...i})}function T({className:e,...t}){return(0,y.jsx)(g,{"data-slot":`input-group-control`,className:p(`flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent`,e),...t})}var E=o;function D({className:e,children:t,...n}){return(0,y.jsxs)(d,{"data-slot":`combobox-trigger`,className:p(`[&_svg:not([class*='size-'])]:size-4`,e),...n,children:[t,(0,y.jsx)(v,{className:`pointer-events-none size-4 text-muted-foreground`})]})}function O({className:e,...t}){return(0,y.jsx)(r,{"data-slot":`combobox-clear`,render:(0,y.jsx)(w,{variant:`ghost`,size:`icon-xs`,"aria-label":`Clear selection`}),className:p(e),...t,children:(0,y.jsx)(_,{className:`pointer-events-none`})})}function k({className:e,children:t,disabled:n=!1,showTrigger:r=!0,showClear:i=!1,...o}){return(0,y.jsxs)(b,{className:p(`w-auto`,e),children:[(0,y.jsx)(a,{render:(0,y.jsx)(T,{disabled:n}),...o}),(0,y.jsxs)(S,{align:`inline-end`,children:[r&&(0,y.jsx)(w,{size:`icon-xs`,variant:`ghost`,render:(0,y.jsx)(D,{}),"data-slot":`input-group-button`,className:`group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent`,disabled:n,"aria-label":`Toggle options`}),i&&(0,y.jsx)(O,{disabled:n})]}),t]})}function A({className:e,side:n=`bottom`,sideOffset:r=6,align:a=`start`,alignOffset:o=0,anchor:c,...l}){return(0,y.jsx)(s,{children:(0,y.jsx)(t,{side:n,sideOffset:r,align:a,alignOffset:o,anchor:c,className:`isolate z-50`,children:(0,y.jsx)(i,{"data-slot":`combobox-content`,"data-chips":!!c,className:p(`group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...l})})})}function j({className:e,...t}){return(0,y.jsx)(l,{"data-slot":`combobox-list`,className:p(`no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0`,e),...t})}function M({className:e,children:t,...n}){return(0,y.jsxs)(c,{"data-slot":`combobox-item`,className:p(`relative flex w-full cursor-pointer items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-sidebar-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[t,(0,y.jsx)(u,{render:(0,y.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`}),children:(0,y.jsx)(h,{className:`pointer-events-none`})})]})}export{j as a,M as i,A as n,k as r,E as t};