ziko 1.9.0 → 2.0.0-alpha.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 (234) hide show
  1. package/dist/ziko.cjs +304 -2868
  2. package/dist/ziko.js +1322 -5315
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +1242 -5057
  5. package/package.json +70 -97
  6. package/src/__ziko__/__config__.js +3 -3
  7. package/src/__ziko__/__state__.js +0 -1
  8. package/src/{dom/components → components}/Fragment/index.js +1 -1
  9. package/src/{dom/components/wrappers → components}/HTMLWrapper/index.js +3 -7
  10. package/src/{dom/components/wrappers → components}/SVGWrapper/index.js +3 -15
  11. package/src/{dom/components → components}/Suspense/index.js +1 -1
  12. package/src/{dom/components → components}/Swap/index.js +2 -2
  13. package/src/{dom/components → components}/Switch/index.js +1 -2
  14. package/src/components/View/index.js +11 -0
  15. package/src/{dom/components → components}/index.js +2 -3
  16. package/src/dom/{constructors/UIElement.js → UIElement/index.js} +6 -6
  17. package/src/dom/index.js +2 -6
  18. package/src/dom/{utils → internal-utils}/call_with_optional_props.js +1 -1
  19. package/src/dom/{utils/is_ui_item.js → internal-utils/checkers.js} +1 -0
  20. package/src/dom/internal-utils/is_ui_item.js +10 -0
  21. package/src/dom/tags/index.js +3 -3
  22. package/src/events/custom-events-registry/view.js +1 -1
  23. package/src/hooks/index.d.ts +0 -8
  24. package/src/hooks/index.js +1 -12
  25. package/src/hooks/use-derived.js +18 -14
  26. package/src/hooks/use-effect.js +7 -15
  27. package/src/hooks/use-reactive.d.ts +1 -1
  28. package/src/hooks/use-reactive.js +1 -1
  29. package/src/hooks/use-state.js +1 -7
  30. package/src/index.js +2 -6
  31. package/src/{helpers → internal-utils}/checkers/index.js +1 -1
  32. package/src/math/index.d.ts +4 -4
  33. package/src/math/index.js +7 -10
  34. package/src/math/{functions/mapfun → mapfun}/index.js +1 -1
  35. package/src/math/{functions/utils → utils}/index.d.ts +1 -1
  36. package/src/math/utils/index.js +42 -103
  37. package/src/{dom/constructors/UIElementCore.d.ts → mini-dom/UIElement/index.d.ts} +1 -1
  38. package/src/{dom/constructors/UIElementCore.js → mini-dom/UIElement/index.js} +5 -14
  39. package/src/{dom/constructors/UINode.js → mini-dom/UINode/index.js} +1 -3
  40. package/src/{dom/constructors → mini-dom}/mixins/attrs.js +6 -6
  41. package/src/{dom/constructors → mini-dom}/mixins/dom.js +2 -16
  42. package/src/mini-dom/mixins/lifecycle.js +32 -0
  43. package/src/{dom/constructors → mini-dom}/mixins/style.js +1 -1
  44. package/src/mini-dom/parse_props.js +26 -0
  45. package/src/{dom → mini-dom}/text/index.js +4 -4
  46. package/src/router/file-based-router/index.js +63 -14
  47. package/src/router/index.d.ts +1 -1
  48. package/src/router/index.js +1 -1
  49. package/src/router/{utils → internal-utils}/dynamic-routes-parser.js +45 -11
  50. package/src/router/internal-utils/get-root.js +24 -0
  51. package/src/router/internal-utils/index.d.ts +5 -0
  52. package/src/router/internal-utils/normalize-path.js +32 -0
  53. package/src/router/internal-utils/routes-grouper.js +49 -0
  54. package/src/router/{utils → internal-utils}/routes-matcher.js +32 -9
  55. package/src/{hooks/use-query-params.js → router/useQueryParams/index.js} +0 -1
  56. package/src/time/{clocks/clock.js → clock/index.js} +1 -1
  57. package/src/time/{clocks/clock.d.ts → clock/index.ts} +1 -1
  58. package/src/time/debounce/index.d.ts +4 -0
  59. package/src/time/debounce/index.js +4 -0
  60. package/src/time/index.d.ts +7 -5
  61. package/src/time/index.js +7 -8
  62. package/src/time/sleep/index.d.ts +1 -0
  63. package/src/time/sleep/index.js +1 -0
  64. package/src/time/throttle/index.d.ts +4 -0
  65. package/src/time/throttle/index.js +9 -0
  66. package/src/time/{clocks/tick.js → tick/index.js} +2 -7
  67. package/src/time/{delay → timeout}/index.d.ts +0 -2
  68. package/src/time/{delay → timeout}/index.js +0 -1
  69. package/src/app/globals.js +0 -76
  70. package/src/app/index.js +0 -18
  71. package/src/app/params.js +0 -37
  72. package/src/app/routes.js +0 -57
  73. package/src/app/spa-file-based-routing.js +0 -74
  74. package/src/app/spa.js +0 -55
  75. package/src/app/ziko-app.js +0 -39
  76. package/src/data/api/fetchdom.js +0 -30
  77. package/src/data/api/index.js +0 -4
  78. package/src/data/api/preload.js +0 -11
  79. package/src/data/converter/__(To Be Moved)adoc.js +0 -130
  80. package/src/data/converter/__(To Be Moved)markdown.js +0 -95
  81. package/src/data/converter/array.js +0 -43
  82. package/src/data/converter/canvas.js +0 -25
  83. package/src/data/converter/css.js +0 -37
  84. package/src/data/converter/csv.js +0 -35
  85. package/src/data/converter/idea.txt +0 -10
  86. package/src/data/converter/index.js +0 -33
  87. package/src/data/converter/json.js +0 -80
  88. package/src/data/converter/object.js +0 -74
  89. package/src/data/converter/svg.js +0 -11
  90. package/src/data/datatypes/color.js +0 -11
  91. package/src/data/decorators.js +0 -0
  92. package/src/data/index.js +0 -17
  93. package/src/data/parser/index.d.ts +0 -41
  94. package/src/data/parser/index.js +0 -28
  95. package/src/data/string-dep/index.js +0 -1
  96. package/src/data/string-dep/patterns.js +0 -12
  97. package/src/data/string-dep/string.js +0 -170
  98. package/src/dom/components/Flex/index.js +0 -89
  99. package/src/dom/components/Flex/utils/index.js +0 -20
  100. package/src/dom/components/View/index.js +0 -9
  101. package/src/dom/components/graphics/Canvas/index.js +0 -175
  102. package/src/dom/components/graphics/Svg/index.js +0 -69
  103. package/src/dom/components/graphics/index.js +0 -2
  104. package/src/dom/components/wrappers/index.js +0 -2
  105. package/src/dom/constructors/mixins/lifecycle.js +0 -54
  106. package/src/dom/grid/index.js +0 -33
  107. package/src/dom/mini/UIElement.js +0 -10
  108. package/src/dom/utils/checkers.js +0 -1
  109. package/src/dom/utils/getters.js +0 -0
  110. package/src/hooks/use-favicon.d.ts +0 -41
  111. package/src/hooks/use-favicon.js +0 -59
  112. package/src/hooks/use-ipc.d.ts +0 -12
  113. package/src/hooks/use-ipc.js +0 -83
  114. package/src/hooks/use-media-query.d.ts +0 -24
  115. package/src/hooks/use-media-query.js +0 -59
  116. package/src/hooks/use-root.d.ts +0 -15
  117. package/src/hooks/use-root.js +0 -73
  118. package/src/hooks/use-storage.d.ts +0 -47
  119. package/src/hooks/use-storage.js +0 -118
  120. package/src/hooks/use-thread.d.ts +0 -33
  121. package/src/hooks/use-thread.js +0 -55
  122. package/src/hooks/use-title.d.ts +0 -37
  123. package/src/hooks/use-title.js +0 -43
  124. package/src/lite.js +0 -2
  125. package/src/math/--discret/Set/index.js +0 -2
  126. package/src/math/--discret/Set/power-set.js +0 -15
  127. package/src/math/--discret/Set/sub-set.js +0 -10
  128. package/src/math/--discret/index.js +0 -12
  129. package/src/math/complex/helpers/constructor.js +0 -38
  130. package/src/math/complex/helpers/index.js +0 -1
  131. package/src/math/complex/index.d.ts +0 -231
  132. package/src/math/complex/index.js +0 -193
  133. package/src/math/functions/conversions/index.d.ts +0 -101
  134. package/src/math/functions/conversions/index.js +0 -61
  135. package/src/math/functions/helper.js +0 -81
  136. package/src/math/functions/index.d.ts +0 -147
  137. package/src/math/functions/index.js +0 -43
  138. package/src/math/functions/logic/index.d.ts +0 -53
  139. package/src/math/functions/logic/index.js +0 -54
  140. package/src/math/functions/proxy.js +0 -58
  141. package/src/math/functions/signal/index.d.ts +0 -146
  142. package/src/math/functions/signal/index.js +0 -104
  143. package/src/math/functions/stats/index.js +0 -61
  144. package/src/math/functions/ufunc/index.d.ts +0 -96
  145. package/src/math/functions/ufunc/index.js +0 -372
  146. package/src/math/functions/utils/index.js +0 -47
  147. package/src/math/matrix/AbstractMatrix.js +0 -0
  148. package/src/math/matrix/helpers/constructor.js +0 -31
  149. package/src/math/matrix/helpers/det.js +0 -36
  150. package/src/math/matrix/helpers/index.js +0 -5
  151. package/src/math/matrix/helpers/inverse.js +0 -52
  152. package/src/math/matrix/helpers/maintain.js +0 -13
  153. package/src/math/matrix/helpers/stack.js +0 -24
  154. package/src/math/matrix/index.js +0 -557
  155. package/src/math/random/index.d.ts +0 -162
  156. package/src/math/random/index.js +0 -125
  157. package/src/math/signal/functions.js +0 -84
  158. package/src/math/signal/index.js +0 -1
  159. package/src/math/stats/accum/index.d.ts +0 -43
  160. package/src/math/stats/accum/index.js +0 -39
  161. package/src/math/stats/average/index.d.ts +0 -123
  162. package/src/math/stats/average/index.js +0 -75
  163. package/src/math/stats/index.d.ts +0 -5
  164. package/src/math/stats/index.js +0 -14
  165. package/src/math/stats/percentile/index.d.ts +0 -66
  166. package/src/math/stats/percentile/index.js +0 -18
  167. package/src/math/stats/rolling/index.d.ts +0 -47
  168. package/src/math/stats/rolling/index.js +0 -34
  169. package/src/math/stats/variability/index.d.ts +0 -93
  170. package/src/math/stats/variability/index.js +0 -37
  171. package/src/math/utils/arithmetic.js +0 -137
  172. package/src/math/utils/checkers.js +0 -29
  173. package/src/math/utils/comparaison.js +0 -1
  174. package/src/math/utils/conversions.js +0 -19
  175. package/src/math/utils/discret.js +0 -51
  176. package/src/math/utils/mapfun.js +0 -42
  177. package/src/no-module.js +0 -32
  178. package/src/provider/index.js +0 -7
  179. package/src/router/utils/get-root.js +0 -16
  180. package/src/router/utils/index.d.ts +0 -5
  181. package/src/router/utils/normalize-path.js +0 -21
  182. package/src/router/utils/routes-grouper.js +0 -22
  183. package/src/time/animation/index.d.ts +0 -189
  184. package/src/time/animation/index.js +0 -94
  185. package/src/time/clocks/index.d.ts +0 -3
  186. package/src/time/clocks/index.js +0 -3
  187. package/src/time/converters/index.js +0 -1
  188. package/src/time/decorators/index.d.ts +0 -9
  189. package/src/time/decorators/index.js +0 -17
  190. package/src/time/ease/index.d.ts +0 -103
  191. package/src/time/ease/index.js +0 -118
  192. package/src/time/loop/index.d.ts +0 -50
  193. package/src/time/loop/index.js +0 -103
  194. package/src/time/utils/index.js +0 -17
  195. package/src/time/utils/performance.js +0 -16
  196. package/src/time/utils/ui.js +0 -26
  197. /package/src/{dom/components → components}/For/index.js +0 -0
  198. /package/src/{dom/components → components}/Fragment/index.d.ts +0 -0
  199. /package/src/{dom/components → components}/Swap/index.d.ts +0 -0
  200. /package/src/{dom/components → components}/index.d.ts +0 -0
  201. /package/src/dom/{utils → internal-utils}/index.js +0 -0
  202. /package/src/dom/{utils → internal-utils}/parse_props.js +0 -0
  203. /package/src/{helpers → internal-utils}/index.js +0 -0
  204. /package/src/{helpers → internal-utils}/register/index.js +0 -0
  205. /package/src/{helpers → internal-utils}/register/register-to-class.js +0 -0
  206. /package/src/{helpers → internal-utils}/register/register-to-instance.js +0 -0
  207. /package/src/{symbols → internal-utils/symbols}/index.d.ts +0 -0
  208. /package/src/{symbols → internal-utils/symbols}/index.js +0 -0
  209. /package/src/math/{functions/arithmetic → arithmetic}/index.d.ts +0 -0
  210. /package/src/math/{functions/arithmetic → arithmetic}/index.js +0 -0
  211. /package/src/math/{const.js → const/index.js} +0 -0
  212. /package/src/math/{functions/mapfun → mapfun}/index.d.ts +0 -0
  213. /package/src/math/{functions/mapfun → mapfun}/index.d.ts.txt +0 -0
  214. /package/src/math/{functions/utils → utils}/mapfun.d.ts.txt +0 -0
  215. /package/src/{dom/constructors/UINode.d.ts → mini-dom/UINode/index.d.ts} +0 -0
  216. /package/src/{dom/constructors → mini-dom}/mixins/index.js +0 -0
  217. /package/src/{dom/constructors → mini-dom}/mixins/indexing.js +0 -0
  218. /package/src/router/{utils → internal-utils}/dynamic-routes-parser.d.ts +0 -0
  219. /package/src/router/{utils → internal-utils}/get-root.d.ts +0 -0
  220. /package/src/router/{utils → internal-utils}/index.js +0 -0
  221. /package/src/router/{utils → internal-utils}/normalize-path.d.ts +0 -0
  222. /package/src/router/{utils → internal-utils}/renderer.js +0 -0
  223. /package/src/router/{utils → internal-utils}/routes-grouper.d.ts +0 -0
  224. /package/src/router/{utils → internal-utils}/routes-matcher.d.ts +0 -0
  225. /package/src/{hooks/use-query-params.d.ts → router/useQueryParams/index.d.ts} +0 -0
  226. /package/src/{data/string → string}/checkers/index.d.ts +0 -0
  227. /package/src/{data/string → string}/checkers/index.js +0 -0
  228. /package/src/{data/string → string}/converters/index.d.ts +0 -0
  229. /package/src/{data/string → string}/converters/index.js +0 -0
  230. /package/src/{data/string → string}/index.d.ts +0 -0
  231. /package/src/{data/string → string}/index.js +0 -0
  232. /package/src/time/{clocks/scheduler.js → schedular/index.js} +0 -0
  233. /package/src/time/{clocks/scheduler.d.ts → schedular/index.ts} +0 -0
  234. /package/src/time/{clocks/tick.d.ts → tick/index.ts} +0 -0
package/dist/ziko.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  Project: ziko.js
3
3
  Author: Zakaria Elalaoui
4
- Date : Wed Aug 26 2026 10:48:40 GMT+0100 (UTC+01:00)
4
+ Date : Wed Sep 02 2026 10:53:51 GMT+0100 (UTC+01:00)
5
5
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
6
6
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
7
7
  Released under MIT License
8
8
  */
9
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,function(t){"use strict";const{PI:e,E:s}=Math,r=Number.EPSILON,n=(t,...e)=>{const s=e.map(e=>{return"object"!=typeof(s=e)&&"function"!=typeof s||null===s||e?.__mapfun__?t(e):e instanceof Array?e.map(e=>n(t,e)):ArrayBuffer.isView(e)?e.map(e=>t(e)):e instanceof Set?new Set(n(t,...e)):e instanceof Map?new Map([...e].map(e=>[e[0],n(t,e[1])])):e.isMatrix?.()?new e.constructor(e.rows,e.cols,n(e.arr.flat(1))):e instanceof Object?Object.fromEntries(Object.entries(e).map(e=>[e[0],n(t,e[1])])):void 0;var s});return 1==s.length?s[0]:s},i=(t,e)=>t.isComplex?.()?new t.constructor(e(t.a),e(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(e)):(t instanceof Array&&n(e,...t),e(t)),o=(t,e)=>{if(0===t.length)return NaN;let s=t.sort((t,e)=>t-e),r=e/100*(s.length-1),n=Math.floor(r),i=r-n;return n===s.length-1?s[n]:s[n]*(1-i)+s[n+1]*i},h=t=>o(t,25),l=t=>o(t,75),u=(...t)=>t.reduce((t,e)=>t+e)/t.length,m=(...t)=>{const e=t.length;if(0===e)return NaN;const s=u(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/e},p=(...t)=>{const e=t.length;if(e<2)return NaN;const s=u(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/(e-1)},f=(t,e)=>{const s=t.length;if(0===s||e.length!==s)return NaN;const r=e.reduce((t,e)=>t+e,0),n=t.reduce((t,s,r)=>t+s*e[r],0)/r;return t.reduce((t,s,r)=>t+e[r]*(s-n)**2,0)/r},d=(t,e)=>{if(e<1||t.length<e)return[];let s=[];for(let r=0;r<=t.length-e;r++){const n=t.slice(r,r+e);s.push(p(n))}return s},g=t=>{let e=[],s=0;for(let r of t)s+=r,e.push(s);return e};class w{static int(t,e){return Math.floor(this.float(t,e))}static float(t,e){return void 0!==e?Math.random()*(e-t)+t:Math.random()*t}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(10)}static hex(){return((t,e,s)=>{const r=parseInt(t,e);if(Number.isNaN(r))throw new TypeError("Invalid value for the given base");return r.toString(s)})(this.int(16),10,16)}static char(t=!1){const e=t?this.int(65,91):this.int(97,123);return String.fromCharCode(e)}static bool(){return Boolean(this.int(2))}static get color(){return{hex:()=>`#${this.int(16777215).toString(16).padStart(6,"0")}`,hexa:()=>{const[t,e,s,r]=Array.from({length:4},()=>this.int(255).toString(16).padStart(2,"0"));return`#${t}${e}${s}${r}`},rgb:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgb(${t}, ${e}, ${s})`},rgba:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgba(${t}, ${e}, ${s}, ${Math.random().toFixed(2)})`},hsl:()=>`hsl(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%)`,hsla:()=>`hsla(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%, ${Math.random().toFixed(2)})`,gray:()=>{const t=this.int(255);return`rgb(${t}, ${t}, ${t})`}}}static get sample(){const t=this;return{int:(e,s,r)=>Array.from({length:e},()=>t.int(s,r)),float:(e,s,r)=>Array.from({length:e},()=>t.float(s,r)),char:(e,s=!1)=>Array.from({length:e},()=>t.char(s)),bool:e=>Array.from({length:e},()=>t.bool()),bin:e=>Array.from({length:e},()=>t.bin()),oct:e=>Array.from({length:e},()=>t.oct()),dec:e=>Array.from({length:e},()=>t.dec()),hex:e=>Array.from({length:e},()=>t.hex()),get color(){return{hex:e=>Array.from({length:e},()=>t.color.hex()),hexa:e=>Array.from({length:e},()=>t.color.hexa()),rgb:e=>Array.from({length:e},()=>t.color.rgb()),rgba:e=>Array.from({length:e},()=>t.color.rgba()),hsl:e=>Array.from({length:e},()=>t.color.hsl()),hsla:e=>Array.from({length:e},()=>t.color.hsla()),gray:e=>Array.from({length:e},()=>t.color.gray())}},choice:(e,s,r)=>Array.from({length:e},()=>t.choice(s,r))}}static shuffle(t){return[...t].sort(()=>.5-Math.random())}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){const s=g(...e).map(t=>100*t),r=new Array(100);r.fill(t[0],0,s[0]);for(let e=1;e<t.length;e++)r.fill(t[e],s[e-1],s[e]);return r[this.int(r.length)]}}globalThis.Random=w;class y{constructor(t=0,e=0){[this.a,this.b]=((t,e,s)=>{let r,n;return e instanceof t?(r=e.a,n=e.b):"object"==typeof e?"a"in e&&"b"in e?(r=e.a,n=e.b):"a"in e&&"z"in e?(r=e.a,n=Math.sqrt(e.z**2-e.a**2)):"a"in e&&"phi"in e?(r=e.a,n=e.a*Math.tan(e.phi)):"b"in e&&"z"in e?(n=e.b,r=Math.sqrt(e.z**2-e.b**2)):"b"in e&&"phi"in e?(n=s,r=e.b/Math.tan(e.phi)):"z"in e&&"phi"in e&&(r=+e.z*Math.cos(e.phi).toFixed(15),n=+e.z*Math.sin(e.phi).toFixed(15)):"number"==typeof e&&"number"==typeof s&&(r=+e.toFixed(32),n=+s.toFixed(32)),[r,n]})(y,t,e)}get __mapfun__(){return!0}isComplex(){return!0}toString(){let t="";return t=0!==this.a?this.b>=0?`${this.a}+${this.b}*i`:`${this.a}-${Math.abs(this.b)}*i`:this.b>=0?`${this.b}*i`:`-${Math.abs(this.b)}*i`,t}serialize(){return JSON.stringify({type:"complex",data:this})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let{data:e,type:s}=t;return"complex"===s&&"a"in e&&"b"in e?new y(e.a,e.b):TypeError("Not a valid complex")}toFixed(t){return this.a=+this.a.toFixed(t),this.b=+this.b.toFixed(t),this}toPrecision(t){return this.a=+this.a.toPrecision(t),this.b=+this.b.toPrecision(t),this}clone(){return new y(this.a,this.b)}get z(){return Math.hypot(this.a,this.b)}get phi(){return Math.atan2(this.b,this.a)}static zero(){return new y(0,0)}static fromPolar(t,e){return new y(+(t*cos(e)).toFixed(13),+(t*sin(e)).toFixed(13))}static get random(){return{int:(t,e)=>new y(...w.sample.int(2,t,e)),float:(t,e)=>new y(...w.sample.float(2,t,e))}}static twiddle(t,e){const s=-2*Math.PI*t/e;return new y(Math.cos(s),Math.sin(s))}get conj(){return new y(this.a,-this.b)}get inv(){return new y(this.a/Math.hypot(this.a,this.b),-this.b/Math.hypot(this.a,this.b))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a+=t[e].a,this.b+=t[e].b;return this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a-=t[e].a,this.b-=t[e].b;return this}mul(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=t[r].z,s+=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}div(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e/=t[r].z,s-=t[r].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}modulo(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new y(t[e],0)),this.a%=t[e].a,this.b%=t[e].b;return this}pow(...t){let{z:e,phi:s}=this;for(let r=0;r<t.length;r++)"number"==typeof t[r]&&(t[r]=new y(t[r],0)),e*=Math.exp(t[r].a*Math.log(e)-t[r].b*s),s+=t[r].b*Math.log(e)+t[r].a*s;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this}get expo(){return[this.z,this.phi]}nthr(t=2){return x({z:this.z**(1/t),phi:this.phi/t})}get sqrt(){return this.nthr(2)}get cbrt(){return this.nthr(3)}get log(){return x(this.z,this.phi)}get cos(){return x(Math.cos(this.a)*Math.cosh(this.b),Math.sin(this.a)*Math.sinh(this.b))}get sin(){return x(Math.sin(this.a)*Math.cosh(this.b),Math.cos(this.a)*Math.sinh(this.b))}get tan(){const t=cos(2*this.a)+cosh(2*this.b);return x(Math.sin(2*this.a)/t,Math.sinh(2*this.b)/t)}}const x=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map((s,r)=>x(t[r],e[r]));if(t.isMatrix?.()&&e.isMatrix?.()){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map((s,r)=>x(t.arr[r],e.arr[r]));return new t.constructor(t.rows,t.cols,...s)}return new y(t,e)},v=(...t)=>{const e=t.pop();return n(t=>t.isComplex?.()?e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t.z)-e.b*t.phi),phi:e.b*Math.log(t.z)+e.a*t.phi}):new t.constructor({z:t.z**e,phi:t.phi*e}):e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t)),phi:e.b*Math.log(t)}):Math.pow(t,e),...t)},M=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**.5,phi:t.phi/2}):t<0?x(0,Math.sqrt(-t)).toFixed(8):+Math.sqrt(t).toFixed(8),...t),_=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.log(t.z),t.phi).toFixed(8):+Math.log(t).toFixed(8),...t),T=(t,e,s)=>{if("number"==typeof e){if("number"==typeof s)switch(t){case"add":return e+s;case"sub":return e-s;case"mul":return e*s;case"div":return e/s;case"modulo":return e%s}return s?.isComplex?.()&&(e=new s.constructor(e,0)),s?.isMatrix?.()&&(e=s.constructor.nums(s.rows,s.cols,e)),e[t](s)}if(e?.isComplex?.()){if("number"==typeof s||s?.isComplex?.())return e.clone()[t](s);if(s?.isMatrix?.())return(e=s.constructor.nums(s.rows,s.cols,e)).clone()[t](s)}if(e?.isMatrix?.())return e.clone()[t](s)},E=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=T("add",s,e[t]);return s},k=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=T("sub",s,e[t]);return s},C=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=T("mul",s,e[t]);return s},S=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=T("div",s,e[t]);return s},A=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=T("modulo",s,e[t]);return s},j=(t,e,s)=>i(t,t=>e!==s?(t-e)/(s-e):0),O=(t,e,s)=>i(t,t=>(s-e)*t+e),I=(t,e,s)=>i(t,t=>Math.min(Math.max(t,e),s)),R=(t,e,s,r,n)=>i(t,t=>O(j(t,e,s),r,n)),z=(t,e,s=!0)=>{if(t instanceof Array&&!(e instanceof Array))return n(t=>z(t,e,s),...t);if(e instanceof Array&&!(t instanceof Array))return n(e=>z(t,e,s),...e);if(t instanceof Array&&e instanceof Array)return t.map((t,r)=>z(t,e[r],s));const r=Math.atan2(t,e);return s?r:180*r/Math.PI},F=t=>t.isComplex?.()?new t.constructor(F(t.a),F(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(F)):+!t,P=(t,e)=>{if(t.every(t=>t.isComplex?.())){const s=t.map(t=>t.a),r=t.map(t=>t.b);return new t[0].constructor(e(...s),e(...r))}if(t.every(t=>t.isMatrix?.())){if(!t.every(e=>e.rows===t[0].rows&&e.cols===t[0].cols))return TypeError("All matrices must have the same shape");const{rows:s,cols:r}=t[0],n=Array.from({length:s},(s,n)=>Array.from({length:r},(s,r)=>e(...t.map(t=>t.arr[n][r]))));return new t[0].constructor(n)}return null},D=(...t)=>{const e=P(t,D);return null!==e?e:t.reduce((t,e)=>t&e,1)},L=(...t)=>{const e=P(t,L);return null!==e?e:t.reduce((t,e)=>t|e,0)},$=(...t)=>{const e=P(t,$);return null!==e?e:t.reduce((t,e)=>t^e,0)},U=(t,e)=>{for(let e=0;e<t.arr.length;e++)Object.defineProperty(t,e,{value:t.arr[e],writable:!0,configurable:!0,enumerable:!1});for(let s=t.arr.length;s<e;s++)delete t[s]};function N(t,e){var s=[];for(let e=0;e<t.length;e++)s.push(t[e].slice(0));s.splice(0,1);for(let t=0;t<s.length;t++)s[t].splice(e,1);return s}function q(t,e){if(t=t.clone(),e=e.clone(),t.rows!==e.rows)return;let s=t.arr;for(let r=0;r<t.rows;r++)for(let n=t.cols;n<t.cols+e.cols;n++)s[r][n]=e.arr[r][n-t.cols];return t.cols+=e.cols,new t.constructor(t.rows,t.cols,s.flat(1))}function B(t,e){if(t=t.clone(),e=e.clone(),t.cols!==e.cols)return;let s=t.arr;for(let r=t.rows;r<t.rows+e.rows;r++){s[r]=[];for(let n=0;n<t.cols;n++)s[r][n]=e.arr[r-t.rows][n]}return t.rows+=e.rows,new t.constructor(t.rows,t.cols,s.flat(1))}class Z{constructor(t,e,s=[]){[this.rows,this.cols,this.arr]=((t,e,s,r)=>{if(!(e instanceof t)){let t,n,i=[];if(e instanceof Array)i=e,e=i.length,s=i[0].length;else for(t=0;t<e;t++)for(i.push([]),i[t].push(new Array(s)),n=0;n<s;n++)i[t][n]=r[t*s+n],null==r[t*s+n]&&(i[t][n]=0);return[e,s,i]}arr=e.arr,s=(e=e.rows).cols})(Z,t,e,s),U(this)}isMatrix(){return!0}clone(){return new Z(this.rows,this.cols,this.arr.flat(1))}toComplex(){return this.arr=n(t=>t?.isComplex?.()?t:new y(t,0),...this.arr),U(this),this}[Symbol.iterator](){return this.arr[Symbol.iterator]()}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}at(t=0,e=void 0){if(t<0&&(t+=this.rows),t<0||t>=this.rows)throw new Error("Row index out of bounds");if(void 0===e)return this.arr[t];if(e<0&&(e+=this.cols),e<0||e>=this.cols)throw new Error("Column index out of bounds");return this.arr[t][e]}slice(t=0,e=0,s=this.rows-1,r=this.cols-1){s<0&&(s=this.rows+s),r<0&&(r=this.cols+r);let n=s-t,i=r-e,a=new Array(i);for(let s=0;s<n;s++){a[s]=[];for(let r=0;r<i;r++)a[s][r]=this.arr[s+t][r+e]}return this.arr=a,U(this.rows),this.rows=n,this.cols=i,this}reshape(t,e){if(t*e!==this.rows*this.cols)throw Error("size not matched");const s=this.rows;return Object.assign(this,new Z(t,e,this.arr.flat(1))),U(s),this}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let s=0;s<this.arr.length;s++)t[e][s]=this.arr[s][e]}return new Z(this.cols,this.rows,t.flat(1))}get det(){return(t=this).isSquare?1==t.rows?t.arr[0][0]:function t(e){if(2==e.length)return e.flat(1).some(t=>t?.isMatrix?.())?void console.warn("Tensors are not completely supported yet ..."):k(C(e[0][0],e[1][1]),C(e[0][1],e[1][0]));for(var s=0,r=0;r<e.length;r++){const n=E(C(v(-1,r),C(e[0][r],t(N(e,r)))));s=E(s,n)}return s}(t.arr):new Error("is not square matrix");var t}get inv(){return function(t){if(t.row!==t.cols)throw Error('is not a square matrix"');if(0===t.det)throw Error("determinant should not equal 0");const{arr:e}=t;if(e.length===e[0].length){var s=0,r=0,n=0,i=e.length,a=0,o=[],h=[];for(s=0;s<i;s+=1)for(o[o.length]=[],h[h.length]=[],n=0;n<i;n+=1)o[s][n]=s==n?1:0,h[s][n]=e[s][n];for(s=0;s<i;s+=1){if(0==(a=h[s][s])){for(r=s+1;r<i;r+=1)if(0!=h[r][s]){for(n=0;n<i;n++)a=h[s][n],h[s][n]=h[r][n],h[r][n]=a,a=o[s][n],o[s][n]=o[r][n],o[r][n]=a;break}if(0==(a=h[s][s]))return}for(n=0;n<i;n++)h[s][n]=h[s][n]/a,o[s][n]=o[s][n]/a;for(r=0;r<i;r++)if(r!=s)for(a=h[r][s],n=0;n<i;n++)h[r][n]-=a*h[s][n],o[r][n]-=a*o[s][n]}return new t.constructor(o)}}(this)}static eye(t){let e=new Z(t,t);for(let s=0;s<t;s++)for(let r=0;r<t;r++)e.arr[s][r]=s===r?1:0;return e}static zeros(t,e){let s=new Z(t,e);for(let n=0;n<t;n++)for(var r=0;r<e;r++)s.arr[n][r]=0;return s}static ones(t,e){let s=new Z(t,e);for(let r=0;r<t;r++)for(let t=0;t<e;t++)s.arr[r][t]=1;return s}static nums(t,e,s){let r=new Z(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)r.arr[n][t]=s;return r}static get random(){return{int:(t,e,s,r)=>new Z(t,e,w.sample.int(t*e,s,r)),float:(t,e,s)=>new Z(t,e,w.sample.float(t*e,s,b))}}get range(){return{map:(t,e,s,r)=>(this.arr=R(this.arr,t,e,s,r),this),norm:(t,e)=>(this.arr=j(this.arr,t,e),this),lerp:(t,e)=>(this.arr=O(this.arr,t,e),this),clamp:(t,e)=>(this.arr=I(this.arr,t,e),this)}}hstack(...t){const e=[this,...t].reduce((t,e)=>q(t,e));return Object.assign(this,e),U(this),this}vstack(...t){const e=[this,...t].reduce((t,e)=>B(t,e));return Object.assign(this,e),U(this),this}hqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>q(t,e));return Object.assign(this,e),U(this),this}vqueue(...t){const e=[this,...t].reverse().reduce((t,e)=>B(t,e));return Object.assign(this,e),U(this),this}forEach(t){return this.arr.flat(1).forEach(t),this}forEachRow(t){return this.arr.forEach(t),this}forEachCol(t){return this.clone().T.forEachRow(t),this}map(t){const e=this.arr.flat(1).map(t);return new Z(this.rows,this.cols,e)}mapRows(t=()=>{}){return this.arr=this.arr.map(t),this}mapCols(t){return this.clone().T.mapRows(t).T}sort(t=()=>{}){const e=this.arr.flat(1).sort(t);return new Z(this.rows,this.cols,e)}shuffle(){return this.sort(()=>.5-Math.random())}sortRows(t=()=>{}){return this.arr=this.arr.map(e=>e.sort(t)),this}shuffleRows(){return this.sortRows(()=>.5-Math.random())}sortCols(t){return this.clone().T.sortRows(t).T}shuffleCols(){return this.sortCols(()=>.5-Math.random())}reduce(t,e){const s=e?this.arr.flat(1).reduce(t,e):this.arr.flat(1).reduce(t);return new Z([[s]])}reduceRows(t,e){const s=e?this.arr.map(s=>s.reduce(t,e)):this.arr.map(e=>e.reduce(t));return new Z(1,this.cols,s)}reduceCols(t,e){return this.T.reduceRows(t,e).T}filterRows(t){const e=this.arr.map(e=>e.some(e=>t(e))),s=[];let r;for(r=0;r<e.length;r++)e[r]&&s.push(this.arr[r]);return new Z(s)}filterCols(t){const e=this.T.filterRows(t);return new Z(e).T}every(t){return this.arr.flat(1).every(t)}everyRow(t){return this.arr.map(e=>e.every(t))}everyCol(t){return this.T.arr.map(e=>e.every(t))}some(t){return this.arr.flat(1).some(t)}someRow(t){return this.arr.map(e=>e.some(t))}someCol(t){return this.T.arr.map(e=>e.some(t))}get isSquare(){return this.rows===this.cols}get isSym(){if(!this.isSquare)return!1;for(let t=0;t<this.rows;t++)for(let e=t+1;e<this.cols;e++)if(this.arr[t][e]!==this.arr[e][t])return!1;return!0}get isAntiSym(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++){if(0!==this.arr[e][e])return!1;for(let s=e+1;s<t;s++)if(this.arr[e][s]!==-this.arr[s][e])return!1}return!0}get isDiag(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s]||0!==this.arr[s][e])return!1;return!0}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.rows,e=this.arr,s=[];for(let r=0;r<t;r++){s[r]=[];for(let n=0;n<t;n++){let i=0;for(let s=0;s<t;s++)i+=e[r][s]*e[s][n];s[r][n]=i}}for(let r=0;r<t;r++)for(let n=0;n<t;n++)if(s[r][n]!==e[r][n])return!1;return!0}get isUpperTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=1;e<t;e++)for(let t=0;t<e;t++)if(0!==this.arr[e][t])return!1;return!0}get isLowerTri(){if(!this.isSquare)return!1;const t=this.rows;for(let e=0;e<t-1;e++)for(let s=e+1;s<t;s++)if(0!==this.arr[e][s])return!1;return!0}toPrecision(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toPrecision(t);return this}toFixed(t){for(let e=0;e<this.cols;e++)for(let s=0;s<this.rows;s++)this.arr[e][s]=+this.arr[e][s].toFixed(t);return this}splice(t,e,s,...r){}getRows(t,e=t+1){return this.slice(t,0,e,this.cols)}getCols(t,e=t+1){return this.slice(0,t,this.rows,e)}#t(t,...e){for(let r=0;r<e.length;r++){("number"==typeof e[r]||e[r]?.isComplex?.())&&(e[r]=Z.nums(this.rows,this.cols,e[r]));for(let n=0;n<this.rows;n++)for(var s=0;s<this.cols;s++)this.arr[n][s]=t(this.arr[n][s],e[r].arr[n][s])}return new Z(this.rows,this.cols,this.arr.flat(1))}add(...t){return this.#t(E,...t)}sub(...t){return this.#t(k,...t)}mul(...t){return this.#t(C,...t)}div(...t){return this.#t(S,...t)}modulo(...t){return this.#t(A,...t)}dot(t){for(var e=[],s=0;s<this.arr.length;s++){e[s]=[];for(var r=0;r<t.arr[0].length;r++){e[s][r]=0;for(var n=0;n<this.arr[0].length;n++)e[s][r]=E(e[s][r],C(this.arr[s][n],t.arr[n][r]))}}return new Z(this.arr.length,t.arr[0].length,e.flat(1))}pow(t){let e=this.clone(),s=this.clone();for(let r=0;r<t-1;r++)s=s.dot(e);return s}sum(){let t=0;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=E(t,this.arr[e][s]);return t}prod(){let t=1;for(let e=0;e<this.rows;e++)for(let s=0;s<this.cols;s++)t=C(t,this.arr[e][s]);return t}hasComplex(){return this.arr.flat(1/0).some(t=>t instanceof y)}get min(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return Math.min(...t)}get max(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return Math.max(...t)}get minRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.min(...this.arr[e]));return t}get maxRows(){this.hasComplex()&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(Math.max(...this.arr[e]));return t}get minCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.hasComplex()&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new Z(t.length,1,t)}serialize(){const t=n(t=>t.serialize?.()||t,...this.arr);return JSON.stringify({type:"matrix",data:{rows:this.rows,cols:this.cols,arr:t}})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));const{type:e,data:s}=t;if("matrix"!==e)return TypeError("Not a valid Matrix");let{arr:r}=s;return r=n(t=>{if("string"==typeof t){const e=JSON.parse(t),{type:s}=e;if("complex"===s)return y.deserialize(e)}return t},...r),new Z(r)}flip(){return this.flipeH().flipeV()}flipeH(){return this.arr=this.arr.map(t=>[...t].reverse()),U(this),this}flipeV(){return this.arr=this.arr.reverse(),U(this),this}}class V{constructor(t){this.cache={node:t}}isUINode(){return!0}get node(){return this.cache.node}}class W extends Array{constructor(...t){super(...t)}clear(){return this.length=0,this}getItemById(t){return this.find(e=>e.element.id===t)}getItemsByTagName(t){return this.filter(e=>e.element.tagName.toLowerCase()===t.toLowerCase())}getElementsByClassName(t){return this.filter(e=>e.element.classList?.contains(t))}querySelector(t){const e=globalThis?.document?.querySelector(t);return e&&this.find(t=>t.element===e)||null}querySelectorAll(t){const e=globalThis?.document?.querySelectorAll(t);return Array.from(e).map(t=>this.find(e=>e.element===t)).filter(Boolean)}}const H=new W,G={default:{target:null,render:!0,math:{mode:"deg"}},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>{},renderingMode:"spa",isSSC:!1},K={store:new Map,index:0,register:function(t){this.store.set(this.index++,t)},reset(){this.index=0,this.store.clear()}},Y={ui_index:0,get_ui_index:function(){return this.ui_index++},register_ui:function(t){}};class J{#e;#s;#r;#n;#i;#a;constructor(t=""){this.#e=new BroadcastChannel(t),this.#s=new Map,this.#r=new Map,this.#n="ziko-channel:"+1e17*Math.random(),this.#i=new Set([this.#n]),this.#a=new Set,this.#e.addEventListener("message",t=>{const{last_sent_event:e,userId:s,eventData:r,rooms:n}=t.data;if(s===this.#n)return;if(n&&n.length&&!n.some(t=>this.#a.has(t)))return;this.#i.add(s),this.#s=new Map(r);const i=this.#r.get(e);i&&i.forEach(({fn:t,rooms:s})=>{s&&0!==s.length&&n&&!n.some(t=>s.includes(t))||t(this.#s.get(e))})})}emit(t,e,s){return this.#s.set(t,e),"string"==typeof s&&(s=[s]),this.#e.postMessage({eventData:Array.from(this.#s.entries()),last_sent_event:t,userId:this.#n,rooms:s&&s.length?s:void 0}),this}on(t,e=console.log,s){return this.#r.has(t)||this.#r.set(t,[]),"string"==typeof s&&(s=[s]),this.#r.get(t).push({fn:e,rooms:s}),this}off(t,e){return this.#r.has(t)?(this.#r.set(t,this.#r.get(t).filter(t=>t.fn!==e)),this):this}once(t,e,s){const r=s=>{e(s),this.off(t,r)};return this.on(t,r,s),this}join(...t){return t.forEach(t=>this.#a.add(t)),this}leave(...t){return t.length?t.forEach(t=>this.#a.delete(t)):this.#a.clear(),this}close(){return this.#e.close(),this}}const X=t=>new J(t);class Q{static RESERVED_KEYS=new Set(["cache","items","set","add","remove","get","clear","onStorageUpdated"]);constructor(t,e,s,r=!0){this.cache={storage:t,globalKey:e,channel:r?X(`Ziko:useStorage-${e}`):null,oldItemKeys:new Set},this.#o(s,r)}get items(){const t=this.cache.storage.getItem(this.cache.globalKey);if(!t)return{};try{return JSON.parse(t)}catch{return{}}}#h(){const t=this.items,e=new Set(Object.keys(t));this.cache.oldItemKeys.forEach(t=>{e.has(t)||(delete this[t],this.cache.oldItemKeys.delete(t))});for(const e in t)Q.RESERVED_KEYS.has(e)||(this[e]=t[e],this.cache.oldItemKeys.add(e))}#o(t,e){e&&this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",()=>this.#h());null!==this.cache.storage.getItem(this.cache.globalKey)?this.#h():void 0!==t?this.set(t):this.#h()}set(t){return this.cache.storage.setItem(this.cache.globalKey,JSON.stringify(t)),this.cache.channel&&this.cache.channel.emit("Ziko-Storage-Updated",t),this.#h(),this}add(t){return this.set({...this.items,...t})}remove(...t){const e={...this.items};return t.forEach(t=>delete e[t]),this.set(e)}get(t){return this.items[t]}clear(){return this.cache.storage.removeItem(this.cache.globalKey),this.#h(),this}onStorageUpdated(t){return this.cache.channel&&this.cache.channel.on("Ziko-Storage-Updated",t),this}}var tt={store:new Map,index:0,session_storage:null,register:function(t){},update:function(t,e){}};const et=(t={})=>{const e={methods:{},events:{},style:{},attrs:{}};for(const[s,r]of Object.entries(t))"style"===s?e.style=r:s.startsWith("$")?e.methods[s.slice(1)]=r:/^on[A-Z]/.test(s)?e.events[s]=r:e.attrs[s]=r;return e};var st;globalThis?.__Ziko__||(globalThis.__Ziko__={__UI__:H,__HYDRATION__:K,__State__:tt,__Config__:G,__CACHE__:Y,__PROVIDERS__:{}},st=__Ziko__,Object.defineProperties(st,{QueryParams:{get:function(){return function(t){const e={};return t.replace(/[A-Z0-9]+?=([\w|:|\/\.]*)/gi,t=>{const[s,r]=t.split("=");e[s]=r}),e}(globalThis.location.search.substring(1))},configurable:!1,enumerable:!0},HashParams:{get:function(){return globalThis.location.hash.substring(1).split("#")},configurable:!1,enumerable:!0}}));class rt extends V{constructor(){super()}init({element:t,name:e,type:s,render:r,props:n={},items:i=[]}={}){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(s){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);break;default:throw Error("Not supported")}else this.target=t?.parentElement;Object.assign(this.cache,{name:e,itemsTarget:this,isInteractive:!1,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,attributes:{},filters:{},temp:{}}),this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,swipe:null,custom:null},this.observer={resize:null,intersection:null},t&&Object.assign(this.cache,{element:t}),this.items=new W,globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&r&&this?.render?.(),globalThis.__Ziko__.__UI__.push(this);const a=et(n);this.parsed_props=a,this.style(a.style),this.setAttr(a.attrs);Object.entries(a.events).forEach(([t,e])=>this[t](e.bind(this))),i.length>0&&this.append(...i)}get element(){return this.cache.element}[Symbol.iterator](){return this.items[Symbol.iterator]()}maintain(){for(let t=0;t<this.items.length;t++)Object.defineProperty(this,t,{value:this.items[t],writable:!0,configurable:!0,enumerable:!1})}isInteractive(){return this.cache.isInteractive}isUIElement(){return!0}}function nt(t,...e){e.forEach(e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(s)){const r=s[e];"get"in r||"set"in r||"function"!=typeof r.value?Object.defineProperty(Object.getPrototypeOf(t),e,r):"function"==typeof r.value&&(Object.getPrototypeOf(t).hasOwnProperty(e)||Object.defineProperty(Object.getPrototypeOf(t),e,r))}}(t,e))}var it=Object.freeze({__proto__:null,mount:function(t=this.target,e=0){return e>0?(setTimeout(()=>this.mount(t,0),e),this):(this.isBody||(t?.isUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element)),this)},unmount:function(t=0){return t>0?(setTimeout(()=>this.unmount(0),t),this):(this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element),this)}});const at=Symbol.for("ziko/hooks/STATE_GETTER");function ot(t){const e={value:t,subscribers:new Set,paused:!1};function s(){return{value:e.value,_subscribe:t=>(e.subscribers.add(t),()=>e.subscribers.delete(t))}}s[at]=!0;return[s,function(t){e.paused||("function"==typeof t&&(t=t(e.value)),Object.is(t,e.value)||(e.value=t,e.subscribers.forEach(t=>t(e.value))))},{pause:()=>{e.paused=!0},resume:()=>{e.paused=!1},clear:()=>{e.subscribers.clear()},force:t=>{"function"==typeof t&&(t=t(e.value)),e.value=t,e.subscribers.forEach(t=>t(e.value))},getSubscribers:()=>new Set(e.subscribers)}]}const ht=t=>"function"==typeof t&&!0===t[at],lt=(t="")=>t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()),ct=(t="")=>{if(0===t.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(t)};function ut(t,e){if(globalThis.SVGAElement&&this.element instanceof globalThis.SVGAElement&&(t=ct(t)?lt(t):t),!this?.attr[t]||this?.attr[t]!==e){if(ht(e)){e()._subscribe(e=>this.element?.setAttribute(t,e),this)}else this.element?.setAttribute(t,e);Object.assign(this.cache.attributes,{[t]:e})}}var mt=Object.freeze({__proto__:null,_set_attrs_:ut,getAttr:function(t){return t=ct(t)?lt(t):t,this.element.attributes[t].value},removeAttr:function(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this},setAttr:function(t,e){if(t instanceof Object){const[s,r]=[Object.keys(t),Object.values(t)];for(let t=0;t<s.length;t++)r[t]instanceof Array&&(e[t]=r[t].join(" ")),ut.call(this,s[t],r[t])}else e instanceof Array&&(e=e.join(" ")),ut.call(this,t,e);return this},setContentEditable:function(t=!0){return this.setAttr("contenteditable",t),this}});class pt extends V{constructor(...t){super("span","text",!1,...t),this.element=globalThis?.document?.createTextNode(...t)}isText(){return!0}}const ft=(...t)=>new pt(...t);async function dt(t,e,...s){const r=this.itemsTarget.element,n=this.itemsTarget;if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let i=0;i<s.length;i++){if(["number","string"].includes(typeof s[i])&&(s[i]=ft(s[i])),s[i]instanceof Function&&ht(s[i])){console.log({s:s[i]()});const t=s[i]();s[i]=ft(t.value),t._subscribe(t=>s[i].element.textContent=t,s[i])}if("function"==typeof globalThis?.Node&&s[i]instanceof globalThis?.Node&&(s[i]=new this.constructor(s[i])),s[i]?.isUINode)s[i].cache.parent=this,r?.[t](s[i].element),s[i].target=this.itemsTarget.element,n.items[e](s[i]);else if(s[i]instanceof Promise){const a=await s[i];a.cache.parent=this,r?.[t](a.element),a.target=this.itemsTarget.element,n.items[e](a)}else s[i]instanceof Object&&(s[i]?.style&&this.style(s[i]?.style),s[i]?.attr&&Object.entries(s[i].attr).forEach(t=>this.setAttr(""+t[0],t[1])))}return this.maintain(),this}var gt=Object.freeze({__proto__:null,__addItem__:dt,after:function(t){return t?.isUIElement&&(t=t.element),this.itemsTarget.element?.after(t),this},append:function(...t){return dt.call(this,"append","push",...t),this},before:function(t){return t?.isUIElement&&(t=t.element),this.itemsTarget.element?.before(t),this},clear:function(){return this?.items?.forEach(t=>t.unmount()),this.itemsTarget.element.innerHTML="",this},insertAt:function(t,...e){const s=this.itemsTarget;if(t>=s.items.length)return this.append(...e);for(let r=0;r<e.length;r++)["number","string"].includes(typeof e[r])&&(e[r]=ft(e[r])),s.element?.insertBefore(e[r].element,s.items[t].element),s.items.splice(t,0,e[r]);return s.maintain(),this},prepend:function(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},remove:function(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isUIElement&&this.itemsTarget.element?.removeChild(t.element),this.items=this.items.filter(e=>e!==t)};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this},replaceElementWith:function(t){return this.cache.element.replaceWith(t),this.cache.element=t,this}});var bt=Object.freeze({__proto__:null,at:function(t){return this.items.at(t)},find:function(t){return this.items.filter(t)},forEach:function(t){return this.items.forEach(t),this},map:function(t){return this.items.map(t)}});var wt=Object.freeze({__proto__:null,animate:function(t,{duration:e=1e3,iterations:s=1,easing:r="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:r}),this},hide:function(){},show:function(){},size:function(t,e){return this.style({width:t,height:e})},style:function(t){if(!this.element?.style)return this;for(let e in t){const s=t[e];if(ht(s)){const t=s();Object.assign(this.element.style,{[e]:t.value}),t._subscribe(t=>{console.log({newValue:t}),Object.assign(this.element.style,{[e]:t})})}else Object.assign(this.element.style,{[e]:s})}return this}});class yt{constructor(t,e){this.cache={category:e,target:t,listeners:{},currentEvent:null,event:null,customEvents:new Set}}get event(){return this.cache.event}get target(){return this.cache.target}get element(){return this.cache.target.element}get currentEvent(){return this.cache.currentEvent}addListener(t,e,{preventDefault:s=!1,paused:r=!1}={}){return this.cache.listeners[t]={callback:s=>{this.cache.event=s,this.cache.listeners[t].preventDefault&&s.preventDefault(),this.cache.listeners[t].paused||(this.cache.currentEvent=t,e.call(this,this))},preventDefault:s,paused:r},this.element.addEventListener(t,this.cache.listeners[t].callback),this}removeListener(t){return this.element.removeEventListener(t,this.cache.listeners[t].callback),this}pause(t){return this.cache.listeners[t].paused=!0,this}resume(t){return this.cache.listeners[t].paused=!1,this}preventDefault(t){return this.cache.listeners[t].preventDefault=!0,this}useDefault(t){return this.cache.listeners[t].preventDefault=!1,this}}class xt extends Event{constructor(t,e){super("clickaway",{bubbles:!0,cancelable:!0}),this.originalEvent=t,this.targetElement=e}}function vt(t){function e(e){if(!t.contains(e.target)){const s=new xt(e,t);t.dispatchEvent(s)}}return globalThis?.document?.addEventListener("click",e),()=>globalThis?.document?.removeEventListener("click",e)}const Mt=(t,e=!1)=>{const s=t.element.getBoundingClientRect(),r=t.event;let n=r?.clientX-s.left|0,i=r?.clientY-s.top|0;if(e){const e=t.element.clientWidth,s=t.element.clientHeight;n=+(n/e*2-1).toFixed(8),i=+(i/s*-2+1).toFixed(8)}return{x:n,y:i}},_t="click",Tt={onClick(t){return this.on("click",t,{category:_t})},onDblClick(t){return this.on("dblclick",t,{category:_t})},onClickAway(t){var e,s,r;return e=this,s=_t,r="clickaway",e.exp.events?.[s]?.cache?.customEvents?.has(r)||vt(this.element),this.on("clickaway",t,{category:_t,isCustom:!0})}},Et="ptr",kt={onPtrDown(t,e=!1){return this.on("pointerdown",t,{category:Et,details_setter:t=>{const{x:s,y:r}=Mt(t,e);t.dx=s,t.dy=r,t.isDown=!0,t.isDragging=t.isMoving??!1}})},onPtrMove(t,e=!1){return this.on("pointermove",t,{category:Et,details_setter:t=>{const{x:s,y:r}=Mt(t,e);t.mx=s,t.my=r,t.isMoving=!0,t.isDragging=t.isDown??!1}})},onPtrUp(t,e=!1){return this.on("pointerup",t,{category:Et,details_setter:t=>{const{x:s,y:r}=Mt(t,e);t.ux=s,t.uy=r,t.isDown=!1,t.isMoving=!1,t.isDragging=!1}})}},Ct="key",St={onKeyDown(t){return this.on("keydown",t,{category:Ct,details_setter:t=>{t.kd=t.event.key}})},onKeyPress(t){return this.on("keypress",t,{category:Ct,details_setter:t=>{t.kp=t.event.key}})},onKeyUp(t){return this.on("keydown",t,{category:Ct,details_setter:t=>{t.ku=t.event.key}})}},At=(t,e)=>{let s=0;return(...r)=>{const n=(new Date).getTime();n-s<e||(s=n,t(...r))}};class jt extends CustomEvent{constructor(t,e,{bubbles:s=!0,cancelable:r=!0}={}){super(t,{detail:e,bubbles:s,cancelable:r})}}function Ot(t,{intersection:e=!0,resize:s=!0,threshold:r=0,throttleResize:n=100,throttleEnterExit:i=0}={}){let a,o;const h=e=>{for(let s of e){const{width:e,height:r}=s.contentRect;t.dispatchEvent(new jt("resizeview",{width:e,height:r,entry:s}))}},l=n>0?At(h,n):h,c=e=>{for(let s of e){const e=s.isIntersecting?"enterview":"exitview";t.dispatchEvent(new jt(e,s))}},u=i>0?At(c,i):c;return e&&(a=new IntersectionObserver(u,{threshold:r}),a.observe(t)),s&&(o=new ResizeObserver(l),o.observe(t)),()=>{a&&(a.unobserve(t),a.disconnect()),o&&(o.unobserve(t),o.disconnect())}}const It="view",Rt={onEnterView(t){return this.exp.events?.[It]||Ot(this.element),this.on("enterview",t,{category:It,isCustom:!0})},onExitView(t){return this.exp.events?.[It]||Ot(this.element),this.on("exitview",t,{category:It,isCustom:!0})},onResizeView(t){return this.exp.events?.[It]||Ot(this.element),this.on("resizeview",t,{category:It,isCustom:!0})}};class zt extends CustomEvent{constructor(t,e){super(t,{detail:e,bubbles:!0,cancelable:!0})}}let Ft=class extends rt{constructor({element:t,name:e="",type:s="html",render:r=__Ziko__.__Config__.default.render,props:n}={}){super(),this.exp={events:{}},nt(this,it,mt,gt,wt,bt,kt,Tt,St,Rt),t&&this.init({element:t,name:e,type:s,render:r,props:n})}on(t,e,{details_setter:s,category:r="global",isCustom:n=!1,preventDefault:i=!1}={}){t instanceof Array&&t.forEach(t=>this.on(t,e,{details_setter:s,category:r,isCustom:n,preventDefault:i})),r&&!this.exp.events.hasOwnProperty(r)&&(this.exp.events[r]=new yt(this,r)),n&&this.exp.events[r].cache.customEvents.add(t);const a=this.exp.events[r];return a.addListener(t,t=>{s&&s(a),e(t)},{preventDefault:i}),this}_off(t,e="global"){return this.exp.events[e].removeListener(t),this}get element(){return this.cache.element}get itemsTarget(){return this.cache.itemsTarget}get itemsTargetElement(){return this.itemsTarget.element}setItemsTarget(t){return this.cache.itemsTarget=t,this.items=t.items,this}isInteractive(){return this.cache.isInteractive}useClient(t){return this.cache.isInteractive||(this.element.setAttribute("data-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.register(()=>this),this.cache.isInteractive=!0),t&&this.element.setAttribute("data-hydration-directive",t),this}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get isBody(){return this.element===globalThis?.document.body}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}};const Pt=t=>"object"!=typeof t&&"function"!=typeof t||null===t,Dt=t=>(...e)=>{const s=e[0];return s?.isUIElement?.()||Pt(s)?new t({},...e):new t(s,...e.slice(1))};const Lt=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],$t=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"],Ut=["math","annotation","merror","mfrac","mi","mprescripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","semantics","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"],Nt=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s,r=e.replaceAll("_","-").toLowerCase();return Lt.includes(r)&&(s="html"),$t.includes(r)&&(s="svg"),Ut.includes(r)&&(s="mathml"),(...t)=>0===t.length?new Ft({element:r,name:r,type:s}):["string","number"].includes(typeof t[0])||t[0]instanceof Ft||ht(t[0])||t[0]instanceof HTMLElement?new Ft({element:r,name:r,type:s}).append(...t):new Ft({element:r,type:s,props:t.shift()}).append(...t)}});class qt extends Ft{constructor(...t){super({element:"div",name:"view"}),this.append(...t)}}function Bt(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function Zt(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function Vt(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function Wt(t){return Vt(-t)}class Ht extends Ft{constructor({tag:t="div",orientation:e="h",order:s,w:r="100%",h:n="100%"}={}){super({element:t,name:"Flex"}),this.direction="cols",this.style({display:"flex"})}isFlex(){return!0}responsify(t,e=!0){return this.wrap(e),this.element.clientWidth<t?this.vertical():this.horizontal(),this}setSpaceAround(){return this.style({justifyContent:"space-around"}),this}setSpaceBetween(){return this.style({justifyContent:"space-between"}),this}setBaseline(){return this.style({alignItems:"baseline"}),this}gap(t){return"row"===this.direction?this.style({columnGap:t}):"column"===this.direction&&this.style({rowGap:t}),this}wrap(t="wrap"){return this.style({flexWrap:"string"==typeof t?t:["no-wrap","wrap","wrap-reverse"][+t]}),this}_justifyContent(t="center"){return this.style({justifyContent:t}),this}vertical(t,e,s=1){return Bt.call(this,s),this.style({alignItems:"number"==typeof t?Vt.call(this,t):t,justifyContent:"number"==typeof e?Wt.call(this,e):e}),this}horizontal(t,e,s=1){return Zt.call(this,s),this.style({alignItems:"number"==typeof e?Wt.call(this,e):e,justifyContent:"number"==typeof t?Vt.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}class Gt extends rt{constructor({element:t,name:e,type:s,render:r}){super({element:t,name:e,type:s,render:r})}}class Kt extends Gt{constructor(t,e){super({element:"div",name:"suspense"}),this.setAttr({dataTemp:"suspense"}),this.fallback_ui=t,this.append(t),(async()=>{try{const s=await e();t.unmount(),this.append(s)}catch(t){console.log({error:t})}})()}}class Yt extends Ft{#l=new WeakMap;constructor({activeIndex:t=0}={},...e){super({element:"div"}),this.style({display:"contents"}),this.states={activeIndex:t},this.append(...e),requestAnimationFrame(()=>{this.render()})}get activeItem(){return this.items[this.states.activeIndex]}render(){this.items.forEach((t,e)=>{const s=getComputedStyle(t.element).display;this.#l.set(t,s),e!==this.states.activeIndex&&t.style({display:"none"})})}get DS(){return this.#l}next(t=1){return this.activate(this.states.activeIndex+t)}previous(t=1){return this.activate(this.states.activeIndex-t)}activate(t){if(!this.items.length)return this;const e=this.items.at(this.states.activeIndex);e&&e.style({display:"none"});const s=this.items.length;this.states.activeIndex=(t%s+s)%s;const r=this.items.at(this.states.activeIndex);if(r){const t=this.#l.get(r)||"block";r.style({display:"none"===t?"block":t})}return this}}const Jt=Dt(Yt);class Xt extends Ft{constructor(...t){super({element:document.createDocumentFragment()}),this.append(...t)}isFragment(){return!0}}class Qt extends Xt{constructor({each:t,fallback:e,mapFn:s=()=>{}}={}){super(),this.config={each:t,fallback:e,mapFn:s},this.append(...this.config.each.map((t,e)=>this.config.mapFn(t,e)))}}class te extends Ft{constructor(t,e){super(),this.key=t,this.cases=e,this.init()}init(){Object.values(this.cases).filter(t=>t!=this.current).forEach(t=>t.unmount()),super.init(this.current.element)}get current(){const t=Object.keys(this.cases).find(t=>t==this.key)??"default";return this.cases[t]}updateKey(t){return this.key=t,this.replaceElementWith(this.current.element),this}}class ee extends Ft{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(function(t){if(globalThis?.DOMParser){const e=(new DOMParser).parseFromString(`<div>${t}</div>`,"text/html");return e.body.firstChild.style.display="contents",e.body.firstChild}}(t)),this.style({display:"contents"})}}class se extends Ft{constructor(t){super({element:"div",name:"html_wrappper"}),this.element.append(function(t){if("undefined"!=typeof DOMParser){const e=(new DOMParser).parseFromString(t.trim(),"image/svg+xml").documentElement;if("parsererror"===e.nodeName)throw new Error("Invalid SVG string");if(e.hasAttribute("xmlns"))return e;const{children:s,attributes:r}=e,n=document.createElementNS("http://www.w3.org/2000/svg","svg");for(let{name:t,value:e}of r)n.setAttribute(t,e);return n.append(...s),globalThis.svg=e,globalThis.children=s,globalThis.attributes=r,globalThis.element=n,n}throw new Error("DOMParser is not available in this environment")}(t)),this.style({display:"contents"})}}class re extends Ft{constructor(t,e){super("canvas","canvas"),this.ctx=this.element?.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new Z([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new Z([[-10,-10],[10,10]]),requestAnimationFrame(()=>this.resize(t,e),0),this.on("sizeupdated",()=>this.adjust())}get Xmin(){return this.axisMatrix[0][0]}get Ymin(){return this.axisMatrix[0][1]}get Xmax(){return this.axisMatrix[1][0]}get Ymax(){return this.axisMatrix[1][1]}get ImageData(){return this.ctx.getImageData(0,0,c.Width,c.Height)}draw(t=!0){return t?(this.clear(),this.items.forEach(t=>{t.parent=this,t.draw(this.ctx)})):(this.items.at(-1).parent=this,this.items.at(-1).draw(this.ctx)),this.maintain(),this}applyTransformMatrix(){return this.ctx.setTransform(this.transformMatrix[0][0],this.transformMatrix[1][0],this.transformMatrix[0][1],this.transformMatrix[1][1],this.transformMatrix[0][2],this.transformMatrix[1][2]),this}resize(t,e){return this.size(t,e),this.lineWidth(),this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this.emit("sizeupdated"),this}adjust(){return this.element.width=this.element?.getBoundingClientRect().width,this.element.height=this.element?.getBoundingClientRect().height,this.view(this.axisMatrix[0][0],this.axisMatrix[0][1],this.axisMatrix[1][0],this.axisMatrix[1][1]),this}view(t,e,s,r){return this.transformMatrix[0][0]=this.width/(s-t),this.transformMatrix[1][1]=-this.height/(r-e),this.transformMatrix[0][2]=this.width/2,this.transformMatrix[1][2]=this.height/2,this.axisMatrix=new Z([[t,e],[s,r]]),this.applyTransformMatrix(),this.clear(),this.lineWidth(1),this.draw(),this}reset(){return this.ctx.setTransform(1,0,0,0,0,0),this}append(t){return this.items.push(t),this.draw(!1),this}background(t){this.ctx.fillStyle=t,this.ctx.setTransform(1,0,0,1,0,0),this.ctx.fillRect(0,0,this.width,this.height),this.applyTransformMatrix(),this.draw()}lineWidth(t){return this.ctx.lineWidth=t/this.transformMatrix[0][0],this}getImageData(t=0,e=0,s=this.width,r=this.height){return this.ctx.getImageData(t,e,s,r)}clear(){return this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.width,this.height),this.applyTransformMatrix(),this}clone(){console.log(this.width);const t=new re;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(this.element.style.width,this.element.style.width),this.applyTransformMatrix(),this.draw(),this.adjust(),t}toImage(){return this.img=document?.createElement("img"),this.img.src=this.element?.toDataURL("image/png"),this}toBlob(){this.element.toBlob(function(t){var e=document?.createElement("img"),s=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(s)},e.src=s,console.log(e)})}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}class ne extends Ft{constructor(t=360,e=300){super("svg","svg"),this.style({border:"1px black solid"}),this.size(t,e),this.view(-10,-10,10,10)}size(t,e){return this.setAttr({width:t,height:e}),this}view(t,e,s,r){let n=Math.abs(s-t),i=Math.abs(r-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),this.st.scaleY(-1),this}add(...t){for(let e=0;e<t.length;e++)this.element.append(t[e].element),this.items.push(t[e]);return this.maintain(),this}remove(...t){for(let e=0;e<t.length;e++)this.element?.removeChild(t[e].element),this.items=this.items.filter(e=>!t);return this.maintain(),this}mask(){}toString(){return(new XMLSerializer).serializeToString(this.element)}btoa(){return btoa(this.toString())}toImg(){return"data:image/svg+xml;base64,"+this.btoa()}toImg2(){return"data:image/svg+xml;charset=utf8,"+this.toString().replaceAll("<","%3C").replaceAll(">","%3E").replaceAll("#","%23").replaceAll('"',"'")}}const{PI:ie,sqrt:ae,cos:oe,sin:he,acos:le,pow:ce}=Math,ue=t=>t,me=(t,e=7.5625,s=2.75)=>t<1/s?e*t*t:t<2/s?e*(t-=1.5/s)*t+.75:t<2.5/s?e*(t-=2.25/s)*t+.9375:e*(t-=2.625/s)*t+.984375;class pe{constructor(t,{ease:e=ue,step:s=50,t0:r=0,start:n=!0,duration:i=3e3}={}){this.callback=t,this.state={isRunning:!1,animationId:null,startTime:null,ease:e,step:s,autoStart:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.state.autoStart&&this.start()}#c=()=>{this.t+=this.state.step,this.i++,this.tx=R(this.t,0,this.state.duration,0,1),this.ty=this.state.ease(this.tx),this.callback(this),this.t>=this.state.duration&&(clearInterval(this.state.animationId),this.state.isRunning=!1)};#u(t=!0){return this.state.isRunning||(t&&this.reset(!1),this.state.isRunning=!0,this.state.startTime=Date.now(),this.state.animationId=setInterval(this.#c,this.state.step)),this}start(){return this.#u(!0)}pause(){return this.state.isRunning&&(clearInterval(this.state.animationId),this.state.isRunning=!1),this}resume(){return this.#u(!1)}stop(){return this.pause(),this.reset(!1),this}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}}class fe{constructor(t,e,s=1/0,r){this.ms=e,this.fn=t,this.count=s,this.frame=1,this.id=null,this.running=!1,r&&this.start()}start(){return this.running||(this.running=!0,this.frame=1,this.id=setInterval(()=>{this.frame>this.count?this.stop():(this.fn.call(null,this),this.frame++)},this.ms)),this}stop(){return this.running&&(this.running=!1,clearInterval(this.id),this.id=null),this}isRunning(){return this.running}}class de extends fe{constructor(t=1e3/60){super(t,()=>this._tick()),this.elapsed=0,this._lastTime=performance.now(),this._callbacks=new Set}_tick(){const t=performance.now(),e=t-this._lastTime;this.elapsed+=e,this._lastTime=t;for(const t of this._callbacks)t({elapsed:this.elapsed,delta:e})}onTick(t){return this._callbacks.add(t),()=>this._callbacks.delete(t)}reset(){this.elapsed=0,this._lastTime=performance.now()}pause(){super.stop()}resume(){this._lastTime=performance.now(),super.start()}}class ge{constructor(t=[],{repeat:e=1,loop:s=!1}={}){this.tasks=t,this.repeat=e,this.loop=s,this.stopped=!1,this.running=!1,this.onStart=null,this.onTask=null,this.onEnd=null}async run(){if(this.running)return;this.running=!0,this.stopped=!1,this.onStart&&this.onStart();let t=this.repeat;do{for(const t of this.tasks){if(this.stopped)return;if(Array.isArray(t))await Promise.all(t.map(({fn:t,delay:e=0})=>new Promise(async s=>{e>0&&await new Promise(t=>setTimeout(t,e)),this.onTask&&this.onTask(t),await t(),s()})));else{const{fn:e,delay:s=0}=t;s>0&&await new Promise(t=>setTimeout(t,s)),this.onTask&&this.onTask(e),await e()}}}while(this.loop&&!this.stopped&&(t===1/0||t-- >1));!this.stopped&&this.onEnd&&this.onEnd(),this.running=!1}stop(){this.stopped=!0,this.running=!1}addTask(t){this.tasks.push(t)}clearTasks(){this.tasks=[]}}class be{constructor(t,{step:e=1e3,t0:s=0,t1:r=1/0,autoplay:n=!0}={}){this.callback=t,this.cache={isRunning:!1,id:null,last_tick:null,step:e,t0:s,t1:r,autoplay:n,pauseTime:null,frame:0},n&&(s?this.startAfter(s):this.start(),r!==1/0&&this.stopAfter(r))}get frame(){return this.cache.frame}get elapsed(){return this.cache.elapsed}start(){return this.cache.isRunning||(this.cache.frame=0,this.cache.isRunning=!0,this.cache.last_tick=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.id),this.cache.isRunning=!1,this.cache.pauseTime=Date.now()),this}resume(){if(!this.cache.isRunning){if(this.cache.isRunning=!0,this.cache.pauseTime){const t=Date.now()-this.cache.pauseTime;this.cache.last_tick+=t}this.animate()}return this}stop(){return this.pause(),this.cache.frame=0,this}startAfter(t=1e3){return setTimeout(()=>this.start(),t),this}stopAfter(t=1e3){return setTimeout(()=>this.stop(),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.last_tick;e>=this.cache.step&&(this.cache.elapsed=t-(this.cache.t0||0),this.callback(this),this.cache.frame++,this.cache.last_tick=t-e%this.cache.step),this.cache.id=setTimeout(this.animate,0)}}}const we=(t,e=",")=>t.trim().trimEnd().split("\n").map(t=>t.split(e)),ye=(t,e=",")=>{const[s,...r]=we(t,e);return r.map(t=>{const e={};return s.forEach((s,r)=>{e[s]=t[r]}),e})},xe=t=>t instanceof Array?[Object.keys(t[0]),...t.map(t=>Object.values(t))]:[Object.keys(t)],ve=(t,e)=>xe(t).map(t=>t.join(e)).join("\n"),Me=(t,e=",")=>ve(t instanceof Object?t:JSON.parse(t),e),_e=(t,e)=>{const s=[];if(Array.isArray(t))t.forEach(t=>{if("object"==typeof t&&null!==t){s.push(`${e}-`);const r=_e(t,`${e} `);s.push(...r)}else s.push(`${e}- ${t}`)});else for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];if("object"==typeof n&&null!==n){s.push(`${e}${r}:`);const t=_e(n,`${e} `);s.push(...t)}else s.push(`${e}${r}: ${n}`)}return s},Te=(t,e="")=>_e(t,e).join("\n"),Ee=(t,e)=>Te(t instanceof Object?t:JSON.parse(t),e),ke=(t,e=1)=>{let s="";for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];s+="\n"+" ".repeat(e)+`<${r}>`,s+="object"==typeof n?ke(n,e+2):`${n}`,s+=`</${r}>`}return s.trim()},Ce=t=>(new XMLSerializer).serializeToString(t),Se=t=>btoa(Ce(t)),Ae=t=>"data:image/svg+xml;base64,"+Se(t),je=(t,e=0)=>{t=Oe(t);let s="";const r=" ".repeat(e);for(let n in t)if("object"==typeof t[n]){s+=`${r}${n} {\n`;const i=t[n];for(let t in i)"object"==typeof i[t]?s+=je({[t]:i[t]},e+1):s+=`${r} ${t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}: ${i[t]};\n`;s+=`${r}}\n`}return s};function Oe(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce((e,s)=>(e[s.trim()]=Oe(t[s]),e),Array.isArray(t)?[]:{})}function Ie(t){const e={type:t.nodeName,attributes:{},children:[]};for(let s=0;s<t.attributes.length;s++){const r=t.attributes[s];e.attributes[r.name]=r.value}for(let s=0;s<t.childNodes.length;s++){const r=t.childNodes[s];r.nodeType===Node.ELEMENT_NODE?e.children.push(Ie(r)):r.nodeType===Node.TEXT_NODE&&(e.text=r.textContent.trim())}return e}class Re{constructor({head:t=null,wrapper:e=null,target:s=null}){this.head=t,this.wrapper=e,this.target=s,this.init()}get isZikoApp(){return!0}init(){this.head&&this.setHead(this.head),this.wrapper&&this.setWrapper(this.wrapper),this.target&&this.setTarget(this.target),this.wrapper&&this.target&&this.wrapper.mount(this.target)}setTarget(t){return t instanceof HTMLElement?this.target=t:"string"==typeof t&&(this.target=globalThis?.document?.querySelector(t)),this}setWrapper(t){return t?.isUIElement?this.wrapper=t:"function"==typeof t&&(this.wrapper=t()),this}}function ze(t){return/:\w+/.test(t)}class Fe extends Re{constructor({head:t,wrapper:e,target:s,routes:r}){super({head:t,wrapper:e,target:s}),this.routes=new Map([["404",ft("Error 404")],...Object.entries(r)]),this.clear(),globalThis.onpopstate=this.mount(location.pathname)}clear(){return[...this.routes].forEach(t=>{!ze(t[0])&&t[1]?.isUIElement&&t[1].unmount()}),this}mount(t){const[e,s]=[...this.routes].find(e=>function(t,e){const s=t.split("/"),r=e.split("/");if(s.length!==r.length)return!1;for(let t=0;t<s.length;t++){const e=s[t],n=r[t];if(!e.startsWith(":")&&e!==n)return!1}return!0}(e[0],t));let r;if(ze(e)){const n=function(t,e){const s=t.split("/"),r=e.split("/"),n={};if(s.length!==r.length)return n;for(let t=0;t<s.length;t++){const e=s[t],i=r[t];if(e.startsWith(":"))n[e.slice(1)]=i;else if(e!==i)return{}}return n}(e,t);r=s.call(this,n)}else s?.isUIElement&&s.mount(this.wrapper),"function"==typeof s&&(r=s());return r?.isUIElement&&r.mount(this.wrapper),r instanceof Promise&&r.then(t=>t.mount(this.wrapper)),globalThis.history.pushState({},"",t),this}}const Pe=({head:t,wrapper:e,target:s,routes:r})=>new Fe({head:t,wrapper:e,target:s,routes:r});function De(t,e="./src/pages",s=["js","ts"]){"/"===e.at(-1)&&(e=e.slice(0,-1));const r=t.replace(/\\/g,"/").replace(/\[(\w+)\]/g,"$1/:$1").split("/"),n=e.split("/"),i=r.indexOf(n.at(-1));if(-1!==i){const t=r.slice(i+1),e=r.at(-1),n="index.js"===e||"index.ts"===e,a=s.some(t=>e===`.${t}`||e.endsWith(`.${t}`));if(n)return"/"+(t.length>1?t.slice(0,-1).join("/"):"");if(a)return"/"+t.join("/").replace(/\.(js|ts)$/,"")}return""}const Le=(t,...e)=>{const s=e.map(e=>null===e||["number","string","boolean","bigint","undefined"].includes(typeof e)||e?.__mapfun__?t(e):e instanceof Array?e.map(e=>Le(t,e)):ArrayBuffer.isView(e)?e.map(e=>t(e)):e instanceof Set?new Set(Le(t,...e)):e instanceof Map?new Map([...e].map(e=>[e[0],Le(t,e[1])])):e.isMatrix?.()?new e.constructor(e.rows,e.cols,Le(e.arr.flat(1))):e instanceof Object?Object.fromEntries(Object.entries(e).map(e=>[e[0],Le(t,e[1])])):void 0);return 1==s.length?s[0]:s};class $e{#m;#p=new Map;#f=0;constructor(){const t=new Blob(['\n this.onmessage = function(e) {\n const { id, funStr, args, close } = e.data;\n try {\n const func = new Function("return " + funStr)();\n const result = func(...args);\n postMessage({ id, result });\n } catch (error) {\n postMessage({ id, error: error.message });\n } finally {\n if (close) self.close();\n }\n }\n '],{type:"text/javascript"});this.#m=new Worker(URL.createObjectURL(t)),this.#m.addEventListener("message",t=>{const{id:e,result:s,error:r}=t.data,n=this.#p.get(e);n&&(n(s,r),this.#p.delete(e))})}call(t,e,s=[],r=!0){if("function"!=typeof t)throw new TypeError("func must be a function");const n=++this.#f;return this.#p.set(n,e),this.#m.postMessage({id:n,funStr:t.toString(),args:s,close:r}),this}terminate(){this.#m.terminate()}}class Ue{constructor(t=10){this.events={},this.maxListeners=t}on(t,e){return this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`),this}once(t,e){const s=(...r)=>{this.off(t,s),e(...r)};return this.on(t,s)}off(t,e){const s=this.events[t];if(!s)return this;const r=s.indexOf(e);return-1!==r&&s.splice(r,1),this}emit(t,e){const s=this.events[t];return!!s&&([...s].forEach(s=>{try{s(e)}catch(e){console.error(`Error in listener for '${t}':`,e)}}),!0)}remove(t){return delete this.events[t],this}clear(){return this.events={},this}setMaxListeners(t){return this.maxListeners=t,this}}const Ne=t=>new Ue(t);class qe{#d;#g;#b=null;constructor(t=[],e=()=>{}){this.#d=t,this.#g=e,this.#o()}#w(){return this.#d.some(({query:t})=>globalThis.matchMedia(t).matches)}#o(){this.#d.forEach(({query:t,callback:e})=>{const s=globalThis.matchMedia(t),r=()=>{const t=this.#w();s.matches?(e(),this.#b=e):t||this.#b===this.#g||(this.#g(),this.#b=this.#g)};r(),s.addEventListener("change",r)})}}class Be{constructor(t=document.title,e=!0){this.cache={emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.emitter=Ne(),this}setTitle(t){return t!==document.title&&(document.title=t,this.cache.emitter&&this.cache.emitter.emit("ziko:title-changed",t)),this}get current(){return document.title}onChange(t){return this.cache.emitter&&this.cache.emitter.on("ziko:title-changed",t),this}}class Ze{constructor(t,{namespace:e="Ziko",ValidateCssProps:s=!1}={}){this.currentPropsMap=t,this.namespace=e,this.ValidateCssProps=s,this.use(t)}use(t){return this.ValidateCssProps&&function(t){const e=new Set(Object.keys(document.documentElement.style));for(const s in t)if(!e.has(s))throw new Error(`Invalid CSS property: "${s}"`)}(t),this.currentPropsMap=t,this.#h(),this}#h(){const t=globalThis?.document?.documentElement?.style;for(const e in this.currentPropsMap){const s=this.namespace?`--${this.namespace}-${e}`:`--${e}`;t.setProperty(s,this.currentPropsMap[e]),Object.defineProperty(this,e,{value:`var(${s})`,writable:!0,configurable:!0,enumerable:!1})}}}const Ve=t=>Object.fromEntries(new URLSearchParams(globalThis?.location?.search));let{sqrt:We,cos:He,sin:Ge,exp:Ke,log:Ye,cosh:Je,sinh:Xe}=Math;for(const t of Object.getOwnPropertyNames(Math)){const e=Math[t];"function"==typeof e&&(Math[t]=new Proxy(e,{apply(e,s,r){const n=r[0];if("number"==typeof n||0===r.length)return e.apply(s,r);if(n?.isComplex?.()){const{a:t,b:i,z:a,phi:o}=n,h=(t,e)=>new n.constructor(t,e);switch(e.name){case"abs":return n.z;case"sqrt":return h(We(a)*He(o/2),We(a)*Ge(o/2));case"log":return h(Ye(a),o);case"exp":return h(Ke(t)*He(i),Ke(t)*Ge(i));case"cos":return h(He(t)*Je(i),-Ge(t)*Xe(i));case"sin":return h(Ge(t)*Je(i),He(t)*Xe(i));case"tan":{const e=He(2*t)+Je(2*i);return h(Ge(2*t)/e,Xe(2*i)/e)}case"cosh":return h(Je(t)*He(i),Xe(t)*Ge(i));case"sinh":return h(Xe(t)*He(i),Je(t)*Ge(i));case"tanh":{const e=Je(2*t)+He(2*i);return h(Xe(2*t)/e,Ge(2*i)/e)}default:return e.apply(s,r)}}throw new TypeError(`Math.${t} expects only numbers`)}}))}globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.App=({head:t,wrapper:e,target:s})=>new Re({head:t,wrapper:e,target:s}),t.Canvas=(t,e)=>new re(t,e),t.ClickAwayEvent=xt,t.ClickListeners=Tt,t.Clock=de,t.CloneElement=t=>new t.__proto__.constructor,t.Complex=y,t.E=s,t.EPSILON=r,t.EventController=yt,t.FileBasedRouting=async function(t){const e=Object.keys(t),s=function(t){if(0===t.length)return"";const e=t.map(t=>t.split("/")),s=Math.min(...e.map(t=>t.length));let r=[];for(let t=0;t<s;t++){const s=e[0][t];if(!e.every(e=>e[t]===s||e[t].startsWith("[")))break;r.push(s)}return r.join("/")+(r.length?"/":"")}(e),r={};for(let n=0;n<e.length;n++){const i=await t[e[n]](),a=await i.default;Object.assign(r,{[De(e[n],s)]:a})}return Pe({target:document.body,routes:{"/":()=>{},...r},wrapper:Nt.section()})},t.Flex=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new Ht(e).append(...t)},t.For=({each:t,fallback:e,mapFn:s}={})=>new Qt({each:t,fallback:e,mapFn:s}),t.Fragment=(...t)=>new Xt(...t),t.HTMLWrapper=t=>new ee(t),t.KeyListeners=St,t.Matrix=Z,t.PI=e,t.PtrListeners=kt,t.Random=w,t.SPA=Pe,t.SVGWrapper=t=>new se(t),t.Scheduler=(t,{repeat:e=null}={})=>new ge(t,{repeat:e}),t.Suspense=(t,e)=>new Kt(t,e),t.Svg=(t,e)=>new ne(t,e),t.Swap=Jt,t.SwipeEvent=zt,t.Switch=({key:t,cases:e})=>new te(t,e),t.Tick=fe,t.TimeAnimation=pe,t.TimeLoop=be,t.TimeScheduler=ge,t.UICanvas=re,t.UIElement=Ft,t.UIFlex=Ht,t.UIFragment=Xt,t.UIHTMLWrapper=ee,t.UINode=V,t.UISVGWrapper=se,t.UISuspense=Kt,t.UISvg=ne,t.UISwap=Yt,t.UISwitch=te,t.UIView=qt,t.UseRoot=Ze,t.UseThread=$e,t.View=(...t)=>new qt(...t),t.ViewEvent=jt,t.ViewListeners=Rt,t.ZikoApp=Re,t.ZikoSPA=Fe,t.ZikoUIText=pt,t.abs=(...t)=>n(t=>t.isComplex?.()?t.z:Math.abs(t),...t),t.accum_max=t=>{let e=[],s=-1/0;for(let r of t)s=Math.max(s,r),e.push(s);return e},t.accum_min=t=>{let e=[],s=1/0;for(let r of t)s=Math.min(s,r),e.push(s);return e},t.accum_prod=(...t)=>{let e,s=[],r=1,n=t.length;for(e=0;e<n;e++)r=C(r,t[e]),s.push(r);return s},t.accum_product=t=>{let e=[],s=1;for(let r of t)s*=r,e.push(s);return e},t.accum_sum=g,t.acos=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return globalThis.Rp=r,globalThis.Rm=n,new t.constructor(Math.acos((r-n)/2),-Math.acosh((r+n)/2)).toFixed(8)}return+Math.acos(t).toFixed(8)},...t),t.acosh=(...t)=>n(t=>t?.isComplex?_(t.clone().add(M(t.clone().mul(t.clone()).sub(1)))):+Math.acosh(t).toFixed(8),...t),t.acot=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(e**2+(s-1)*(s+1)))/2,Math.log((e**2+(s-1)**2)/(e**2+(s+1)**2))/4).toFixed(8)}return+(Math.PI/2-Math.atan(t)).toFixed(8)},...t),t.add=E,t.add_class=(t,e)=>t.element.className=t.element.className.replace(/\s+$/gi,"")+" "+e,t.add_vendor_prefix=function(t){const e=t.slice(0,1).toUpperCase()+t.slice(1),s=["Webkit","Moz","O","ms"];for(let t=0,r=s.length;t<r;t++){const r=s[t];if(void 0!==(globalThis?.document?.body).style[r+e])return r+e}return t},t.and=D,t.animation=(t,{ease:e,t0:s,t1:r,start:n,duration:i}={})=>new pe(t,{ease:e,t0:s,t1:r,start:n,duration:i}),t.apply_fun=i,t.arc=t=>1-he(le(t)),t.asin=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.hypot(e+1,s),n=Math.hypot(e-1,s);return new t.constructor(Math.asin((r-n)/2),Math.acosh((r+n)/2)).toFixed(8)}return+Math.asin(t).toFixed(8)},...t),t.asinh=(...t)=>n(t=>t?.isComplex?_(t.clone().add(M(t.clone().mul(t.clone()).add(1)))):+Math.asinh(t).toFixed(8),...t),t.atan=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(1-e**2-s**2))/2,Math.log((e**2+(1+s)**2)/(e**2+(1-s)**2))/4).toFixed(8)}return+Math.atan(t).toFixed(8)},...t),t.atan2=z,t.atanh=(...t)=>n(t=>+Math.atanh(t).toFixed(8),...t),t.back=(t,e=1)=>t**2*((e+1)*t-e),t.binomial=(t,e)=>{if(t!==Math.floor(t))return TypeError("n must be an integer");if(e!==Math.floor(e))return TypeError("k must be an integer");if(t<0)return TypeError("n must be non-negative");if(e<0||t<0||e>t)return 0;e>t-e&&(e=t-e);let s,r=1;for(s=0;s<e;s++)r=r*(t-s)/(s+1);return r},t.call_with_optional_props=Dt,t.cbrt=(...t)=>n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/3),phi:t.phi/3}).toFixed(8):+Math.cbrt(t).toFixed(8),...t),t.ceil=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.ceil(t.a),Math.ceil(t.b)):Math.ceil(t),...t),t.clamp=I,t.clock=t=>new de(t),t.cloneUI=t=>Object.assign(Object.create(Object.getPrototypeOf(t)),t),t.complex=x,t.contraharmonic_mean=(...t)=>{let e,s=0,r=0,n=t.length;for(e=0;e<n;e++)s+=t[e]**2,r+=t[e];return s/r},t.cos=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.cos(t.a)*Math.cosh(t.b),-Math.sin(t.a)*Math.sinh(t.b)).toFixed(8):+Math.cos(t).toFixed(8),...t),t.cosh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.cosh(t.a)*Math.cos(t.b),Math.sinh(t.a)*Math.sin(t.b)).toFixed(8):+Math.cosh(t).toFixed(8),...t),t.coth=(...t)=>n(t=>{if(t?.isComplex){const{a:e,b:s}=t,r=Math.sinh(e)**2*Math.cos(s)**2+Math.cosh(e)**2*Math.sin(s)**2;return new t.constructor(Math.cosh(e)*Math.sinh(e)/r,-Math.sin(s)*Math.cos(s)/r).toFixed(8)}return+(1/Math.tanh(t)).toFixed(8)},...t),t.croot=(...t)=>{const e=t.pop();if(!e.isComplex?.())throw Error("croot expect Complex number as root");return n(t=>{"number"==typeof t&&(t=new e.constructor(t,0));const{a:s,b:r}=e,{z:n,phi:i}=t,a=Math.hypot(s,r),o=Math.exp((Math.log(n)*s+i*r)/a),h=(i*s-Math.log(n)*r)/a;return new e.constructor(o*Math.cos(h),o*Math.sin(h)).toFixed(8)},...t)},t.csv2arr=we,t.csv2json=(t,e=",")=>JSON.stringify(ye(t,e)),t.csv2matrix=(t,e=",")=>new Z(we(t,e)),t.csv2object=ye,t.csv2sql=(t,e)=>{const s=t=>t.trim().replace(/[^a-zA-Z0-9_]/g,""),r=t=>"'"+t.trim().replace(/'/g,"''")+"'",n=t.trim().trimEnd().split("\n").filter(t=>t),i=n[0].split(",").map(s);let a="INSERT INTO "+s(e)+" ("+i.join(", ")+") Values ",o=[];for(let t=1;t<n.length;t++){const e=n[t].split(",").map(r);o.push("("+e.join(", ")+")")}return a+o.join(",\n")},t.debounce=(t,e=1e3)=>(...s)=>setTimeout(()=>t(...s),e),t.defineParamsGetter=function(t){Object.defineProperties(t,{QueryParams:{get:function(){return globalThis.location.search.substring(1),Object.fromEntries(new URLSearchParams(location.search))},configurable:!1,enumerable:!0},HashParams:{get:function(){return globalThis.location.hash.substring(1).split("#")},configurable:!1,enumerable:!0}})},t.define_wc=function(t,e,s={},{mode:r="open"}={}){globalThis.customElements?.get(t)?console.warn(`Custom element "${t}" is already defined`):-1!==t.search("-")?globalThis.customElements?.define(t,class extends HTMLElement{static get observedAttributes(){return["style",...Object.keys(s)]}constructor(){super(),this.attachShadow({mode:r}),this.props={},this.mask={...s}}connectedCallback(){this.render()}render(){this.shadowRoot.innerHTML="";const t=e(this.props);t instanceof Array?t.forEach(t=>t.mount(this.shadowRoot)):t.mount(this.shadowRoot)}attributeChangedCallback(t,e,s){Object.assign(this.props,{[t]:this.mask[t].type(s)}),this.render()}}):console.warn(`"${t}" is not a valid custom element name`)},t.deg2rad=(...t)=>n(t=>t*Math.PI/180,...t),t.discret=(t,e=5)=>Math.ceil(t*e)/e,t.div=S,t.elastic=t=>-2*ce(2,10*(t-1))*oe(20*ie*t/3*t),t.ema=(t,e)=>{let s=[],r=t[0];s.push(r);for(let n=1;n<t.length;n++)r=e*t[n]+(1-e)*r,s.push(r);return s},t.exp=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.exp(t.a)*Math.cos(t.b),Math.exp(t.a)*Math.sin(t.b)).toFixed(8):+Math.exp(t).toFixed(8),...t),t.floor=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.floor(t.a),Math.floor(t.b)):Math.floor(t),...t),t.fract=(...t)=>n(t=>t.isComplex?.()?new t.constructor(t.a-Math.trunc(t.a),t.b-Math.trunc(t.b)):t-Math.trunc(t),...t),t.geo_mean=(...t)=>t.reduce((t,e)=>t*e)**(1/t.length),t.harmonic_mean=(...t)=>{let e=0,s=0;for(s=0;s<t.length;s++)e+=1/t[s];return t.length/e},t.hypot=(...t)=>{const e=t.find(t=>t.isComplex?.());if(e){const s=t.map(t=>t.isComplex?.()?t:new e.constructor(t,0));return Math.hypot(...s.map(t=>t.z))}return Math.hypot(...t)},t.in_back=(t,e=1.70158,s=e+1)=>s*ce(t,3)-e*t**2,t.in_bounce=(t,e=7.5625,s=2.75)=>1-me(1-t,e,s),t.in_circ=t=>1-ae(1-t**2),t.in_cubic=t=>t**3,t.in_elastic=(t,e=2*ie/3)=>0===t?0:1===t?1:-ce(2,10*t-10)*he((10*t-10.75)*e),t.in_expo=t=>0===t?0:2**(10*t-10),t.in_out_back=(t,e=1.70158,s=1.525*e)=>t<.5?ce(2*t,2)*(2*(s+1)*t-s)/2:(ce(2*t-2,2)*((s+1)*(2*t-2)+s)+2)/2,t.in_out_bounce=(t,e=7.5625,s=2.75)=>t<.5?me(1-2*t,e,s)/2:me(2*t-1,e,s)/2,t.in_out_circ=t=>t<.5?(1-ae(1-(2*t)**2))/2:(ae(1-(-2*t+2)**2)+1)/2,t.in_out_cubic=t=>t<.5?4*t**3:1-(-2*t+2)**3/2,t.in_out_elastic=(t,e=2*ie/4.5)=>0===t?0:1===t?1:t<.5?-ce(2,20*t-10)*he((20*t-11.125)*e)/2:ce(2,-20*t+10)*he((20*t-11.125)*e)/2+1,t.in_out_expo=t=>0===t?0:1===t?1:t<.5?2**(20*t-10)/2:(2-2**(-20*t+10))/2,t.in_out_quad=t=>t<.5?2*t**2:1-(-2*t+2)**2/2,t.in_out_quart=t=>t<.5?8*t**4:1-(-2*t+2)**4/2,t.in_out_quint=t=>t<.5?16*t**5:1-(-2*t+2)**5/2,t.in_out_sin=t=>-(oe(ie*t)-1)/2,t.in_quad=t=>t**2,t.in_quart=t=>t**4,t.in_quint=t=>t**5,t.in_sin=t=>1-oe(t*ie/2),t.interquartile_mean=(...t)=>{let e=t.sort((t,e)=>t-e),s=e[Math.floor(.25*(e.length-1))],r=e[Math.floor(.75*(e.length-1))],n=e.filter(t=>t>=s&&t<=r);return u(n)},t.iqr=t=>l(t)-h(t),t.isStateGetter=ht,t.is_primitive=Pt,t.json2arr=t=>xe(t instanceof Object?t:JSON.parse(t)),t.json2css=je,t.json2csv=Me,t.json2csvFile=(t,e)=>{const s=Me(t,e),r=new Blob([s],{type:"text/csv;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2xml=ke,t.json2xmlFile=(t,e)=>{const s=ke(t,e),r=new Blob([s],{type:"text/xml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.json2yml=Ee,t.json2ymlFile=(t,e)=>{const s=Ee(t,e),r=new Blob([s],{type:"text/yml;charset=utf-8;"});return{str:s,blob:r,url:URL.createObjectURL(r)}},t.lerp=O,t.linear=ue,t.linkStyle=function(t){const e=document?.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),document.head.appendChild(e)},t.ln=_,t.loop=(t,e={})=>new be(t,e),t.map=R,t.mapfun=n,t.matrix=(t,e,s)=>new Z(t,e,s),t.matrix2=(...t)=>new Z(2,2,t),t.matrix3=(...t)=>new Z(3,3,t),t.matrix4=(...t)=>new Z(4,4,t),t.max=(...t)=>Math.max(...t),t.mean=u,t.median=t=>o(t,50),t.midhinge=(...t)=>{let e=t.sort((t,e)=>t-e);return(e[Math.floor(.25*(e.length-1))]+e[Math.floor(.75*(e.length-1))])/2},t.midrange=t=>(Math.min(...t)+Math.max(...t))/2,t.min=(...t)=>Math.min(...t),t.modulo=A,t.mul=C,t.nand=(...t)=>F(D(...t)),t.nor=(...t)=>F(L(...t)),t.norm=j,t.normalize_css_value=t=>"number"==typeof t?t+"px":t,t.not=F,t.nthr=(...t)=>{const e=t.pop();if("number"!=typeof e)throw Error("nthr expects a real number n");return n(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/e),phi:t.phi/e}):t<0?e%2==2?x(0,(-t)**(1/e)).toFixed(8):+(-1*(-t)**(1/e)).toFixed(8):+(t**(1/e)).toFixed(8),...t)},t.or=L,t.out_back=(t,e=1.70158,s=e+1)=>1+s*ce(t-1,3)+e*ce(t-1,2),t.out_bounce=me,t.out_circ=t=>ae(1-(t-1)**2),t.out_cubic=t=>1-(1-t)**3,t.out_elastic=(t,e=2*ie/3)=>0===t?0:1===t?1:ce(2,-10*t)*he((10*t-.75)*e)+1,t.out_expo=t=>1===t?1:1-2**(-10*t),t.out_quad=t=>1-(1-t)**2,t.out_quart=t=>1-(1-t)**4,t.out_quint=t=>1-(1-t)**5,t.out_sin=t=>he(t*ie/2),t.parseXML=function(t){return Ie((new DOMParser).parseFromString(t,"text/xml").documentElement)},t.parse_props=et,t.percentile=o,t.pow=v,t.power_mean=(t,e)=>{let s=0,r=0,n=t.length;for(r=0;r<n;r++)s+=t[r]**e;return(s/n)**(1/e)},t.q1=h,t.q3=l,t.rad2deg=(...t)=>n(t=>t/Math.PI*180,...t),t.register_click_away_event=vt,t.register_swipe_event=function(t,e=5,s=100,r=500){let n=0,i=0,a=0,o=!1;function h(t){n=t.clientX,i=t.clientY,a=performance.now(),o=!0}function l(h){if(!o)return;o=!1;const l=h.clientX-n,c=h.clientY-i;let u=null,m=null;performance.now()-a<=r&&(Math.abs(l)>=e&&Math.abs(c)<=s?(u=l<0?"left":"right",m="swipe"+u):Math.abs(c)>=e&&Math.abs(l)<=s&&(u=c<0?"up":"down",m="swipe"+u)),m&&t.dispatchEvent(new zt(m,{direction:u,distX:l,distY:c,originalEvent:h}))}return t.addEventListener("pointerdown",h,{passive:!0}),t.addEventListener("pointerup",l,{passive:!0}),()=>{t.removeEventListener("pointerdown",h),t.removeEventListener("pointerup",l)}},t.register_view_event=Ot,t.remove_class=(t,e)=>t.element.className=t.element.className.replace(e,""),t.rms=(...t)=>{const e=t.length;return(Math.hypot(...t)/e)**(1/e)},t.rolling_std=(t,e)=>Math.sqrt(d(t,e)),t.rolling_variance=d,t.round=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.round(t.a),Math.round(t.b)):Math.round(t),...t),t.sample_std=(...t)=>Math.sqrt(p(...t)),t.sample_variance=p,t.script=function(t){const e=document?.createElement("script");e.setAttribute("src",t),document.head.appendChild(e)},t.sec=(...t)=>n(t=>(t.isComplex?.(),+(1/Math.cos(t)).toFixed(8)),...t),t.sig=(...t)=>n(t=>1/(1+Math.exp(-t)).toFixed(8),...t),t.sign=(...t)=>n(t=>{if(t.isComplex?.()){const{z:e,phi:s}=t;return 0===e?new t.constructor(0,0):new t.constructor({z:1,phi:s})}return Math.sign(t)},...t),t.sin=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sin(t.a)*Math.cosh(t.b),Math.cos(t.a)*Math.sinh(t.b)).toFixed(8):+Math.sin(t).toFixed(8),...t),t.sinh=(...t)=>n(t=>t?.isComplex?new t.constructor(Math.sinh(t.a)*Math.cos(t.b),Math.cosh(t.a)*Math.sin(t.b)).toFixed(8):+Math.sinh(t).toFixed(8),...t),t.sleep=t=>new Promise(e=>setTimeout(e,t)),t.sma=(t,e)=>{let s=[];for(let r=0;r<=t.length-e;r++){let n=0;for(let s=0;s<e;s++)n+=t[r+s];s.push(n/e)}return s},t.sqrt=M,t.std=(...t)=>Math.sqrt(m(...t)),t.step=(t,e=5)=>Math.floor(t*e)/e,t.step_fps=t=>1e3/t,t.style=(t,e)=>{t&&Object.assign(t.style,e)},t.sub=k,t.svg2ascii=Se,t.svg2img=(t,e=!0)=>Nt.img(Ae(t)).mount(e),t.svg2imgUrl=Ae,t.svg2str=Ce,t.tags=Nt,t.tan=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cos(2*t.a)+Math.cosh(2*t.b);return new t.constructor(Math.sin(2*t.a)/e,Math.sinh(2*t.b)/e).toFixed(8)}return+Math.tan(t).toFixed(8)},...t),t.tanh=(...t)=>n(t=>{if(t?.isComplex){const e=Math.cosh(2*a)+Math.cos(2*b);return new t.constructor(Math.sinh(2*a)/e,Math.sin(2*b)/e).toFixed(8)}return+Math.tanh(t).toFixed(8)},...t),t.text=ft,t.throttle=At,t.tick=(t,e,s=1/0,r=!0)=>new fe(t,e,s,r),t.timeTaken=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e},t.time_memory_Taken=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,r=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:r}},t.timeout=function(t,e){let s;const r=new Promise(r=>{s=setTimeout(()=>{e&&e(),r()},t)});return{id:s,clear:()=>clearTimeout(s),promise:r}},t.trimmed_mean=(t,e)=>{let s=[...t].sort((t,e)=>t-e).slice(e,t.length-e);return u(...s)},t.trunc=(...t)=>n(t=>t.isComplex?.()?new t.constructor(Math.trunc(t.a),Math.trunc(t.b)):Math.trunc(t),...t),t.useDerived=function(t,e){let s=t(...e.map(t=>t().value));const r=new Set,n=()=>({value:s,_subscribe:t=>(r.add(t),()=>r.delete(t))});return n[at]=!0,n},t.useEffect=(t,e=[])=>{const s=e.filter(ht);let r;const n=()=>{"function"==typeof r&&r();const e=s.map(t=>t().value);r=t(...e)},i=s.map(t=>t()._subscribe(n));return n(),()=>{i.forEach(t=>{t()}),"function"==typeof r&&(r(),r=void 0)}},t.useEventEmitter=Ne,t.useIPC=X,t.useLocalStorage=(t,e,s=!0)=>new Q(localStorage,t,e,s),t.useMediaQuery=(t,e)=>new qe(t,e),t.useQueryParams=function(){const t=()=>Ve();return[t,(e,s=!0)=>{const r=t(),n="function"==typeof e?e(r):e,i=s?{...r,...n}:n,a=new URLSearchParams(i).toString();window.history.pushState({},"",`${window.location.pathname}${a?`?${a}`:""}`),window.dispatchEvent(new CustomEvent("queryparamschange",{detail:i}))}]},t.useReactive=t=>Le(t=>{const e=ot(t);return{get:e[0],set:e[1]}},t),t.useRoot=(t,e={})=>new Ze(t,e),t.useSessionStorage=(t,e,s=!0)=>new Q(sessionStorage,t,e,s),t.useState=ot,t.useThread=(t,e,s=[],r=!0)=>(new $e).call(t,e,s,r),t.useTitle=(t,e=!0)=>new Be(t,e),t.variance=m,t.wait=t=>new Promise(e=>setTimeout(e,t)),t.waitElm=t=>new Promise(e=>{if(t)return e(t);const s=new MutationObserver(()=>{t&&(e(t),s.disconnect())});s.observe(document?.body,{childList:!0,subtree:!0})}),t.waitForUIElm=t=>new Promise(e=>{if(t.element)return e(t.element);const s=new MutationObserver(()=>{t.element&&(e(t.element),s.disconnect())});s.observe(document?.body,{childList:!0,subtree:!0})}),t.waitForUIElmSync=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},t.watchQueryParams=function(t){let e=location.search;const s=()=>{const s=location.search;s!==e&&(e=s,t(Ve()))};window.addEventListener("popstate",s);const r=history.pushState;history.pushState=function(...t){r.apply(this,t),s()};const n=history.replaceState;return history.replaceState=function(...t){n.apply(this,t),s()},t(Ve()),()=>{window.removeEventListener("popstate",s)}},t.weighted_mean=(t,e)=>{let s=0,r=0;for(let n=0;n<t.length;n++)s+=t[n]*e[n],r+=e[n];return s/r},t.weighted_std=(t,e)=>Math.sqrt(f(t,e)),t.weighted_variance=f,t.winsorized_mean=(t,e)=>{let s=[...t].sort((t,e)=>t-e),r=s[e],n=s[s.length-e-1];return s=s.map(t=>Math.max(r,Math.min(n,t))),u(s)},t.wma=(t,e)=>{let s=e.length,r=e.reduce((t,e)=>t+e,0),n=[];for(let i=0;i<=t.length-s;i++){let a=0;for(let r=0;r<s;r++)a+=t[i+r]*e[r];n.push(a/r)}return n},t.xnor=(...t)=>F($(...t)),t.xor=$});
9
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Ziko={})}(this,function(t){"use strict";const{PI:e,E:s}=Math,n=Number.EPSILON,i=(t,...e)=>{const s=e.map(e=>{return"object"!=typeof(s=e)&&"function"!=typeof s||null===s||e?.__mapfun__?t(e):e instanceof Array?e.map(e=>i(t,e)):ArrayBuffer.isView(e)?e.map(e=>t(e)):e instanceof Set?new Set(i(t,...e)):e instanceof Map?new Map([...e].map(e=>[e[0],i(t,e[1])])):e.isMatrix?.()?new e.constructor(e.rows,e.cols,i(e.arr.flat(1))):e instanceof Object?Object.fromEntries(Object.entries(e).map(e=>[e[0],i(t,e[1])])):void 0;var s});return 1==s.length?s[0]:s},r=(t,e)=>t.isComplex?.()?new t.constructor(e(t.a),e(t.b)):t.isMatrix?.()?new t.constructor(t.rows,t.cols,t.arr.flat(1).map(e)):(t instanceof Array&&i(e,...t),e(t)),o=(t,e)=>{if(0===t.length)return NaN;let s=t.sort((t,e)=>t-e),n=e/100*(s.length-1),i=Math.floor(n),r=n-i;return i===s.length-1?s[i]:s[i]*(1-r)+s[i+1]*r},h=t=>o(t,25),c=t=>o(t,75),l=(...t)=>t.reduce((t,e)=>t+e)/t.length,u=(...t)=>{const e=t.length;if(0===e)return NaN;const s=l(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/e},m=(...t)=>{const e=t.length;if(e<2)return NaN;const s=l(...t);return t.reduce((t,e)=>t+(e-s)**2,0)/(e-1)},p=(t,e)=>{const s=t.length;if(0===s||e.length!==s)return NaN;const n=e.reduce((t,e)=>t+e,0),i=t.reduce((t,s,n)=>t+s*e[n],0)/n;return t.reduce((t,s,n)=>t+e[n]*(s-i)**2,0)/n},f=(t,e)=>{if(e<1||t.length<e)return[];let s=[];for(let n=0;n<=t.length-e;n++){const i=t.slice(n,n+e);s.push(m(i))}return s},d=t=>{let e=[],s=0;for(let n of t)s+=n,e.push(s);return e};class g{static int(t,e){return Math.floor(this.float(t,e))}static float(t,e){return void 0!==e?Math.random()*(e-t)+t:Math.random()*t}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(10)}static hex(){return((t,e,s)=>{const n=parseInt(t,e);if(Number.isNaN(n))throw new TypeError("Invalid value for the given base");return n.toString(s)})(this.int(16),10,16)}static char(t=!1){const e=t?this.int(65,91):this.int(97,123);return String.fromCharCode(e)}static bool(){return Boolean(this.int(2))}static get color(){return{hex:()=>`#${this.int(16777215).toString(16).padStart(6,"0")}`,hexa:()=>{const[t,e,s,n]=Array.from({length:4},()=>this.int(255).toString(16).padStart(2,"0"));return`#${t}${e}${s}${n}`},rgb:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgb(${t}, ${e}, ${s})`},rgba:()=>{const[t,e,s]=Array.from({length:3},()=>this.int(255));return`rgba(${t}, ${e}, ${s}, ${Math.random().toFixed(2)})`},hsl:()=>`hsl(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%)`,hsla:()=>`hsla(${this.int(360)}, ${this.int(100)}%, ${this.int(100)}%, ${Math.random().toFixed(2)})`,gray:()=>{const t=this.int(255);return`rgb(${t}, ${t}, ${t})`}}}static get sample(){const t=this;return{int:(e,s,n)=>Array.from({length:e},()=>t.int(s,n)),float:(e,s,n)=>Array.from({length:e},()=>t.float(s,n)),char:(e,s=!1)=>Array.from({length:e},()=>t.char(s)),bool:e=>Array.from({length:e},()=>t.bool()),bin:e=>Array.from({length:e},()=>t.bin()),oct:e=>Array.from({length:e},()=>t.oct()),dec:e=>Array.from({length:e},()=>t.dec()),hex:e=>Array.from({length:e},()=>t.hex()),get color(){return{hex:e=>Array.from({length:e},()=>t.color.hex()),hexa:e=>Array.from({length:e},()=>t.color.hexa()),rgb:e=>Array.from({length:e},()=>t.color.rgb()),rgba:e=>Array.from({length:e},()=>t.color.rgba()),hsl:e=>Array.from({length:e},()=>t.color.hsl()),hsla:e=>Array.from({length:e},()=>t.color.hsla()),gray:e=>Array.from({length:e},()=>t.color.gray())}},choice:(e,s,n)=>Array.from({length:e},()=>t.choice(s,n))}}static shuffle(t){return[...t].sort(()=>.5-Math.random())}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){const s=d(...e).map(t=>100*t),n=new Array(100);n.fill(t[0],0,s[0]);for(let e=1;e<t.length;e++)n.fill(t[e],s[e-1],s[e]);return n[this.int(n.length)]}}class _{constructor(t=0,e=0){[this.a,this.b]=((t,e,s)=>{let n,i;return e instanceof t?(n=e.a,i=e.b):"object"==typeof e?"a"in e&&"b"in e?(n=e.a,i=e.b):"a"in e&&"z"in e?(n=e.a,i=Math.sqrt(e.z**2-e.a**2)):"a"in e&&"phi"in e?(n=e.a,i=e.a*Math.tan(e.phi)):"b"in e&&"z"in e?(i=e.b,n=Math.sqrt(e.z**2-e.b**2)):"b"in e&&"phi"in e?(i=s,n=e.b/Math.tan(e.phi)):"z"in e&&"phi"in e&&(n=+e.z*Math.cos(e.phi).toFixed(15),i=+e.z*Math.sin(e.phi).toFixed(15)):"number"==typeof e&&"number"==typeof s&&(n=+e.toFixed(32),i=+s.toFixed(32)),[n,i]})(_,t,e)}get __mapfun__(){return!0}isComplex(){return!0}toString(){let t="";return t=0!==this.a?this.b>=0?`${this.a}+${this.b}*i`:`${this.a}-${Math.abs(this.b)}*i`:this.b>=0?`${this.b}*i`:`-${Math.abs(this.b)}*i`,t}serialize(){return JSON.stringify({type:"complex",data:this})}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let{data:e,type:s}=t;return"complex"===s&&"a"in e&&"b"in e?new _(e.a,e.b):TypeError("Not a valid complex")}toFixed(t){return this.a=+this.a.toFixed(t),this.b=+this.b.toFixed(t),this}toPrecision(t){return this.a=+this.a.toPrecision(t),this.b=+this.b.toPrecision(t),this}clone(){return new _(this.a,this.b)}get z(){return Math.hypot(this.a,this.b)}get phi(){return Math.atan2(this.b,this.a)}static zero(){return new _(0,0)}static fromPolar(t,e){return new _(+(t*cos(e)).toFixed(13),+(t*sin(e)).toFixed(13))}static get random(){return{int:(t,e)=>new _(...g.sample.int(2,t,e)),float:(t,e)=>new _(...g.sample.float(2,t,e))}}static twiddle(t,e){const s=-2*Math.PI*t/e;return new _(Math.cos(s),Math.sin(s))}get conj(){return new _(this.a,-this.b)}get inv(){return new _(this.a/Math.hypot(this.a,this.b),-this.b/Math.hypot(this.a,this.b))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new _(t[e],0)),this.a+=t[e].a,this.b+=t[e].b;return this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new _(t[e],0)),this.a-=t[e].a,this.b-=t[e].b;return this}mul(...t){let{z:e,phi:s}=this;for(let n=0;n<t.length;n++)"number"==typeof t[n]&&(t[n]=new _(t[n],0)),e*=t[n].z,s+=t[n].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}div(...t){let{z:e,phi:s}=this;for(let n=0;n<t.length;n++)"number"==typeof t[n]&&(t[n]=new _(t[n],0)),e/=t[n].z,s-=t[n].phi;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this.toFixed(8)}modulo(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new _(t[e],0)),this.a%=t[e].a,this.b%=t[e].b;return this}pow(...t){let{z:e,phi:s}=this;for(let n=0;n<t.length;n++)"number"==typeof t[n]&&(t[n]=new _(t[n],0)),e*=Math.exp(t[n].a*Math.log(e)-t[n].b*s),s+=t[n].b*Math.log(e)+t[n].a*s;return this.a=e*Math.cos(s),this.b=e*Math.sin(s),this}get expo(){return[this.z,this.phi]}nthr(t=2){return y({z:this.z**(1/t),phi:this.phi/t})}get sqrt(){return this.nthr(2)}get cbrt(){return this.nthr(3)}get log(){return y(this.z,this.phi)}get cos(){return y(Math.cos(this.a)*Math.cosh(this.b),Math.sin(this.a)*Math.sinh(this.b))}get sin(){return y(Math.sin(this.a)*Math.cosh(this.b),Math.cos(this.a)*Math.sinh(this.b))}get tan(){const t=cos(2*this.a)+cosh(2*this.b);return y(Math.sin(2*this.a)/t,Math.sinh(2*this.b)/t)}}const y=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map((s,n)=>y(t[n],e[n]));if(t.isMatrix?.()&&e.isMatrix?.()){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const s=t.arr.map((s,n)=>y(t.arr[n],e.arr[n]));return new t.constructor(t.rows,t.cols,...s)}return new _(t,e)},w=(...t)=>i(t=>t.isComplex?.()?new t.constructor({z:t.z**.5,phi:t.phi/2}):t<0?y(0,Math.sqrt(-t)).toFixed(8):+Math.sqrt(t).toFixed(8),...t),M=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.log(t.z),t.phi).toFixed(8):+Math.log(t).toFixed(8),...t),x=(t,e,s)=>{if("number"==typeof e){if("number"==typeof s)switch(t){case"add":return e+s;case"sub":return e-s;case"mul":return e*s;case"div":return e/s;case"modulo":return e%s}return s?.isComplex?.()&&(e=new s.constructor(e,0)),s?.isMatrix?.()&&(e=s.constructor.nums(s.rows,s.cols,e)),e[t](s)}if(e?.isComplex?.()){if("number"==typeof s||s?.isComplex?.())return e.clone()[t](s);if(s?.isMatrix?.())return(e=s.constructor.nums(s.rows,s.cols,e)).clone()[t](s)}if(e?.isMatrix?.())return e.clone()[t](s)},v=(t,e,s)=>r(t,t=>e!==s?(t-e)/(s-e):0),C=(t,e,s)=>r(t,t=>(s-e)*t+e),T=(t,e,s,n,i)=>r(t,t=>C(v(t,e,s),n,i)),k=(t,e,s=!0)=>{if(t instanceof Array&&!(e instanceof Array))return i(t=>k(t,e,s),...t);if(e instanceof Array&&!(t instanceof Array))return i(e=>k(t,e,s),...e);if(t instanceof Array&&e instanceof Array)return t.map((t,n)=>k(t,e[n],s));const n=Math.atan2(t,e);return s?n:180*n/Math.PI};class E{constructor(t){this.cache={node:t}}isUINode(){return!0}get node(){return this.cache.node}}class A extends Array{constructor(...t){super(...t)}clear(){return this.length=0,this}getItemById(t){return this.find(e=>e.element.id===t)}getItemsByTagName(t){return this.filter(e=>e.element.tagName.toLowerCase()===t.toLowerCase())}getElementsByClassName(t){return this.filter(e=>e.element.classList?.contains(t))}querySelector(t){const e=globalThis?.document?.querySelector(t);return e&&this.find(t=>t.element===e)||null}querySelectorAll(t){const e=globalThis?.document?.querySelectorAll(t);return Array.from(e).map(t=>this.find(e=>e.element===t)).filter(Boolean)}}const z=new A,F={default:{target:null,render:!0},setDefault:function(t){const e=Object.keys(t),s=Object.values(t);for(let t=0;t<e.length;t++)this.default[e[t]]=s[t]},init:()=>{},renderingMode:"spa",isSSC:!1},O={store:new Map,index:0,register:function(t){this.store.set(this.index++,t)},reset(){this.index=0,this.store.clear()}},I={ui_index:0,get_ui_index:function(){return this.ui_index++},register_ui:function(t){}};var S={store:new Map,index:0,session_storage:null,register:function(t){},update:function(t,e){}};const L=(t={})=>{const e={methods:{},events:{},style:{},attrs:{}};for(const[s,n]of Object.entries(t))"style"===s?e.style=n:s.startsWith("$")?e.methods[s.slice(1)]=n:/^on[A-Z]/.test(s)?e.events[s]=n:e.attrs[s]=n;return e};var j;globalThis?.__Ziko__||(globalThis.__Ziko__={__UI__:z,__HYDRATION__:O,__State__:S,__Config__:F,__CACHE__:I,__PROVIDERS__:{}},j=__Ziko__,Object.defineProperties(j,{QueryParams:{get:function(){return function(t){const e={};return t.replace(/[A-Z0-9]+?=([\w|:|\/\.]*)/gi,t=>{const[s,n]=t.split("=");e[s]=n}),e}(globalThis.location.search.substring(1))},configurable:!1,enumerable:!0},HashParams:{get:function(){return globalThis.location.hash.substring(1).split("#")},configurable:!1,enumerable:!0}}));class P extends E{constructor(){super()}init({element:t,name:e,type:s,render:n,props:i={},items:r=[]}={}){if(this.target=globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body,"string"==typeof t)switch(s){case"html":t=globalThis?.document?.createElement(t);break;case"svg":t=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg",t);break;default:throw Error("Not supported")}else this.target=t?.parentElement;Object.assign(this.cache,{name:e,itemsTarget:this,isInteractive:!1,parent:null,isBody:!1,isRoot:!1,isHidden:!1,isFrozzen:!1,attributes:{},filters:{},temp:{}}),this.events={ptr:null,mouse:null,wheel:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,swipe:null,custom:null},this.observer={resize:null,intersection:null},t&&Object.assign(this.cache,{element:t}),this.items=new A,globalThis.__Ziko__.__UI__[this.cache.name]?globalThis.__Ziko__.__UI__[this.cache.name]?.push(this):globalThis.__Ziko__.__UI__[this.cache.name]=[this],t&&n&&this?.render?.(),globalThis.__Ziko__.__UI__.push(this);const a=L(i);this.parsed_props=a,this.style(a.style),this.setAttr(a.attrs);Object.entries(a.events).forEach(([t,e])=>this[t](e.bind(this))),r.length>0&&this.append(...r)}get element(){return this.cache.element}[Symbol.iterator](){return this.items[Symbol.iterator]()}maintain(){for(let t=0;t<this.items.length;t++)Object.defineProperty(this,t,{value:this.items[t],writable:!0,configurable:!0,enumerable:!1})}isInteractive(){return this.cache.isInteractive}isUIElement(){return!0}}function D(t,...e){e.forEach(e=>function(t,e){const s=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(s)){const n=s[e];"get"in n||"set"in n||"function"!=typeof n.value?Object.defineProperty(Object.getPrototypeOf(t),e,n):"function"==typeof n.value&&(Object.getPrototypeOf(t).hasOwnProperty(e)||Object.defineProperty(Object.getPrototypeOf(t),e,n))}}(t,e))}var R=Object.freeze({__proto__:null,mount:function(t=this.target,e=0){return e>0?(setTimeout(()=>this.mount(t,0),e),this):(this.isBody||(t?.isUIElement&&(t=t.element),this.target=t,this.target?.appendChild(this.element)),this)},unmount:function(t=0){return t>0?(setTimeout(()=>this.unmount(0),t),this):(this.cache.parent?this.cache.parent.remove(this):this.target?.children?.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element),this)}});const N=Symbol.for("ziko/hooks/STATE_GETTER");function $(t){const e={value:t,subscribers:new Set,paused:!1};function s(){return{value:e.value,_subscribe:t=>(e.subscribers.add(t),()=>e.subscribers.delete(t))}}s[N]=!0;return[s,function(t){e.paused||("function"==typeof t&&(t=t(e.value)),Object.is(t,e.value)||(e.value=t,e.subscribers.forEach(t=>t(e.value))))},{pause:()=>{e.paused=!0},resume:()=>{e.paused=!1},clear:()=>{e.subscribers.clear()},force:t=>{"function"==typeof t&&(t=t(e.value)),e.value=t,e.subscribers.forEach(t=>t(e.value))},getSubscribers:()=>new Set(e.subscribers)}]}const U=t=>"function"==typeof t&&!0===t[N];function Z(t,e){if(globalThis.SVGAElement&&this.element instanceof globalThis.SVGAElement&&(t=is_camelcase(t)?camel2hyphencase(t):t),!this?.attr[t]||this?.attr[t]!==e){if(U(e)){e()._subscribe(e=>this.element?.setAttribute(t,e),this)}else this.element?.setAttribute(t,e);Object.assign(this.cache.attributes,{[t]:e})}}var q=Object.freeze({__proto__:null,_set_attrs_:Z,getAttr:function(t){return this.element.attributes[t].value},removeAttr:function(...t){for(let e=0;e<t.length;e++)this.element?.removeAttribute(t[e]);return this},setAttr:function(t,e){if(t instanceof Object){const[s,n]=[Object.keys(t),Object.values(t)];for(let t=0;t<s.length;t++)n[t]instanceof Array&&(e[t]=n[t].join(" ")),Z.call(this,s[t],n[t])}else e instanceof Array&&(e=e.join(" ")),Z.call(this,t,e);return this},setContentEditable:function(t=!0){return this.setAttr("contenteditable",t),this}});class B extends E{constructor(...t){super("span","text",!1,...t),this.element=globalThis?.document?.createTextNode(...t)}isText(){return!0}}const H=(...t)=>new B(...t);async function V(t,e,...s){const n=this.itemsTarget.element,i=this.itemsTarget;if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let r=0;r<s.length;r++){if(["number","string"].includes(typeof s[r])&&(s[r]=H(s[r])),s[r]instanceof Function&&U(s[r])){const t=s[r]();s[r]=H(t.value),t._subscribe(t=>s[r].element.textContent=t,s[r])}if("function"==typeof globalThis?.Node&&s[r]instanceof globalThis?.Node&&(s[r]=new this.constructor(s[r])),s[r]?.isUINode)s[r].cache.parent=this,n?.[t](s[r].element),s[r].target=this.itemsTarget.element,i.items[e](s[r]);else if(s[r]instanceof Promise){const a=await s[r];a.cache.parent=this,n?.[t](a.element),a.target=this.itemsTarget.element,i.items[e](a)}else s[r]instanceof Object&&(s[r]?.style&&this.style(s[r]?.style),s[r]?.attr&&Object.entries(s[r].attr).forEach(t=>this.setAttr(""+t[0],t[1])))}return this.maintain(),this}var G=Object.freeze({__proto__:null,__addItem__:V,after:function(t){return t?.isUIElement&&(t=t.element),this.itemsTarget.element?.after(t),this},append:function(...t){return V.call(this,"append","push",...t),this},before:function(t){return t?.isUIElement&&(t=t.element),this.itemsTarget.element?.before(t),this},clear:function(){return this?.items?.forEach(t=>t.unmount()),this.itemsTarget.element.innerHTML="",this},insertAt:function(t,...e){const s=this.itemsTarget;if(t>=s.items.length)return this.append(...e);for(let n=0;n<e.length;n++)["number","string"].includes(typeof e[n])&&(e[n]=H(e[n])),s.element?.insertBefore(e[n].element,s.items[t].element),s.items.splice(t,0,e[n]);return s.maintain(),this},prepend:function(...t){return this.__addItem__.call(this,"prepend","unshift",...t),this},remove:function(...t){const e=t=>{"number"==typeof t&&(t=this.items[t]),t?.isUIElement&&this.itemsTarget.element?.removeChild(t.element),this.items=this.items.filter(e=>e!==t)};for(let s=0;s<t.length;s++)e(t[s]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this},replaceElementWith:function(t){return this.cache.element.replaceWith(t),this.cache.element=t,this}});var Y=Object.freeze({__proto__:null,at:function(t){return this.items.at(t)},find:function(t){return this.items.filter(t)},forEach:function(t){return this.items.forEach(t),this},map:function(t){return this.items.map(t)}});var J=Object.freeze({__proto__:null,animate:function(t,{duration:e=1e3,iterations:s=1,easing:n="ease"}={}){return this.element?.animate(t,{duration:e,iterations:s,easing:n}),this},hide:function(){},show:function(){},size:function(t,e){return this.style({width:t,height:e})},style:function(t){if(!this.element?.style)return this;for(let e in t){const s=t[e];if(U(s)){const t=s();Object.assign(this.element.style,{[e]:t.value}),t._subscribe(t=>{console.log({newValue:t}),Object.assign(this.element.style,{[e]:t})})}else Object.assign(this.element.style,{[e]:s})}return this}});class W{constructor(t,e){this.cache={category:e,target:t,listeners:{},currentEvent:null,event:null,customEvents:new Set}}get event(){return this.cache.event}get target(){return this.cache.target}get element(){return this.cache.target.element}get currentEvent(){return this.cache.currentEvent}addListener(t,e,{preventDefault:s=!1,paused:n=!1}={}){return this.cache.listeners[t]={callback:s=>{this.cache.event=s,this.cache.listeners[t].preventDefault&&s.preventDefault(),this.cache.listeners[t].paused||(this.cache.currentEvent=t,e.call(this,this))},preventDefault:s,paused:n},this.element.addEventListener(t,this.cache.listeners[t].callback),this}removeListener(t){return this.element.removeEventListener(t,this.cache.listeners[t].callback),this}pause(t){return this.cache.listeners[t].paused=!0,this}resume(t){return this.cache.listeners[t].paused=!1,this}preventDefault(t){return this.cache.listeners[t].preventDefault=!0,this}useDefault(t){return this.cache.listeners[t].preventDefault=!1,this}}class K extends Event{constructor(t,e){super("clickaway",{bubbles:!0,cancelable:!0}),this.originalEvent=t,this.targetElement=e}}function X(t){function e(e){if(!t.contains(e.target)){const s=new K(e,t);t.dispatchEvent(s)}}return globalThis?.document?.addEventListener("click",e),()=>globalThis?.document?.removeEventListener("click",e)}const Q=(t,e=!1)=>{const s=t.element.getBoundingClientRect(),n=t.event;let i=n?.clientX-s.left|0,r=n?.clientY-s.top|0;if(e){const e=t.element.clientWidth,s=t.element.clientHeight;i=+(i/e*2-1).toFixed(8),r=+(r/s*-2+1).toFixed(8)}return{x:i,y:r}},tt="click",et={onClick(t){return this.on("click",t,{category:tt})},onDblClick(t){return this.on("dblclick",t,{category:tt})},onClickAway(t){var e,s,n;return e=this,s=tt,n="clickaway",e.exp.events?.[s]?.cache?.customEvents?.has(n)||X(this.element),this.on("clickaway",t,{category:tt,isCustom:!0})}},st="ptr",nt={onPtrDown(t,e=!1){return this.on("pointerdown",t,{category:st,details_setter:t=>{const{x:s,y:n}=Q(t,e);t.dx=s,t.dy=n,t.isDown=!0,t.isDragging=t.isMoving??!1}})},onPtrMove(t,e=!1){return this.on("pointermove",t,{category:st,details_setter:t=>{const{x:s,y:n}=Q(t,e);t.mx=s,t.my=n,t.isMoving=!0,t.isDragging=t.isDown??!1}})},onPtrUp(t,e=!1){return this.on("pointerup",t,{category:st,details_setter:t=>{const{x:s,y:n}=Q(t,e);t.ux=s,t.uy=n,t.isDown=!1,t.isMoving=!1,t.isDragging=!1}})}},it="key",rt={onKeyDown(t){return this.on("keydown",t,{category:it,details_setter:t=>{t.kd=t.event.key}})},onKeyPress(t){return this.on("keypress",t,{category:it,details_setter:t=>{t.kp=t.event.key}})},onKeyUp(t){return this.on("keydown",t,{category:it,details_setter:t=>{t.ku=t.event.key}})}},at=(t,e)=>{let s=0;return(...n)=>{const i=(new Date).getTime();i-s<e||(s=i,t(...n))}};class ot extends CustomEvent{constructor(t,e,{bubbles:s=!0,cancelable:n=!0}={}){super(t,{detail:e,bubbles:s,cancelable:n})}}function ht(t,{intersection:e=!0,resize:s=!0,threshold:n=0,throttleResize:i=100,throttleEnterExit:r=0}={}){let a,o;const h=e=>{for(let s of e){const{width:e,height:n}=s.contentRect;t.dispatchEvent(new ot("resizeview",{width:e,height:n,entry:s}))}},c=i>0?at(h,i):h,l=e=>{for(let s of e){const e=s.isIntersecting?"enterview":"exitview";t.dispatchEvent(new ot(e,s))}},u=r>0?at(l,r):l;return e&&(a=new IntersectionObserver(u,{threshold:n}),a.observe(t)),s&&(o=new ResizeObserver(c),o.observe(t)),()=>{a&&(a.unobserve(t),a.disconnect()),o&&(o.unobserve(t),o.disconnect())}}const ct="view",lt={onEnterView(t){return this.exp.events?.[ct]||ht(this.element),this.on("enterview",t,{category:ct,isCustom:!0})},onExitView(t){return this.exp.events?.[ct]||ht(this.element),this.on("exitview",t,{category:ct,isCustom:!0})},onResizeView(t){return this.exp.events?.[ct]||ht(this.element),this.on("resizeview",t,{category:ct,isCustom:!0})}};class ut extends CustomEvent{constructor(t,e){super(t,{detail:e,bubbles:!0,cancelable:!0})}}class mt extends P{constructor({element:t,name:e="",type:s="html",render:n=__Ziko__.__Config__.default.render,props:i}={}){super(),this.exp={events:{}},D(this,R,q,G,J,Y,nt,et,rt,lt),t&&this.init({element:t,name:e,type:s,render:n,props:i})}on(t,e,{details_setter:s,category:n="global",isCustom:i=!1,preventDefault:r=!1}={}){t instanceof Array&&t.forEach(t=>this.on(t,e,{details_setter:s,category:n,isCustom:i,preventDefault:r})),n&&!this.exp.events.hasOwnProperty(n)&&(this.exp.events[n]=new W(this,n)),i&&this.exp.events[n].cache.customEvents.add(t);const a=this.exp.events[n];return a.addListener(t,t=>{s&&s(a),e(t)},{preventDefault:r}),this}_off(t,e="global"){return this.exp.events[e].removeListener(t),this}get element(){return this.cache.element}get itemsTarget(){return this.cache.itemsTarget}get itemsTargetElement(){return this.itemsTarget.element}setItemsTarget(t){return this.cache.itemsTarget=t,this.items=t.items,this}isInteractive(){return this.cache.isInteractive}useClient(t){return this.cache.isInteractive||(this.element.setAttribute("data-hydration-index",globalThis.__Ziko__.__HYDRATION__.index),globalThis.__Ziko__.__HYDRATION__.register(()=>this),this.cache.isInteractive=!0),t&&this.element.setAttribute("data-hydration-directive",t),this}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.events}get html(){return this.element.innerHTML}get text(){return this.element.textContent}get parent(){return this.cache.parent}get width(){return this.element.getBoundingClientRect().width}get height(){return this.element.getBoundingClientRect().height}get top(){return this.element.getBoundingClientRect().top}get right(){return this.element.getBoundingClientRect().right}get bottom(){return this.element.getBoundingClientRect().bottom}get left(){return this.element.getBoundingClientRect().left}}const pt=t=>"object"!=typeof t&&"function"!=typeof t||null===t;const ft=["a","abb","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","ipnut","ins","kbd","label","legend","li","main","map","mark","menu","meter","nav","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],dt=["svg","g","defs","symbol","use","image","switch","rect","circle","ellipse","line","polyline","polygon","path","text","tspan","textPath","altGlyph","altGlyphDef","altGlyphItem","glyph","glyphRef","linearGradient","radialGradient","pattern","solidColor","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncR","feFuncG","feFuncB","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","animate","animateMotion","animateTransform","set","script","desc","title","metadata","foreignObject"],gt=["math","annotation","merror","mfrac","mi","mprescripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","semantics","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"],bt=new Proxy({},{get(t,e){if("string"!=typeof e)return;let s,n=e.replaceAll("_","-").toLowerCase();return ft.includes(n)&&(s="html"),dt.includes(n)&&(s="svg"),gt.includes(n)&&(s="mathml"),(...t)=>0===t.length?new mt({element:n,name:n,type:s}):["string","number"].includes(typeof t[0])||t[0]instanceof mt||U(t[0])||t[0]instanceof HTMLElement?new mt({element:n,name:n,type:s}).append(...t):new mt({element:n,type:s,props:t.shift()}).append(...t)}}),_t=t=>t;class yt{constructor(t,{ease:e=_t,step:s=50,t0:n=0,start:i=!0,duration:r=3e3}={}){this.callback=t,this.state={isRunning:!1,animationId:null,startTime:null,ease:e,step:s,autoStart:i,duration:r},this.t=0,this.tx=0,this.ty=0,this.i=0,this.state.autoStart&&this.start()}#t=()=>{this.t+=this.state.step,this.i++,this.tx=T(this.t,0,this.state.duration,0,1),this.ty=this.state.ease(this.tx),this.callback(this),this.t>=this.state.duration&&(clearInterval(this.state.animationId),this.state.isRunning=!1)};#e(t=!0){return this.state.isRunning||(t&&this.reset(!1),this.state.isRunning=!0,this.state.startTime=Date.now(),this.state.animationId=setInterval(this.#t,this.state.step)),this}start(){return this.#e(!0)}pause(){return this.state.isRunning&&(clearInterval(this.state.animationId),this.state.isRunning=!1),this}resume(){return this.#e(!1)}stop(){return this.pause(),this.reset(!1),this}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}}class wt{constructor(t,e,s=1/0,n){this.ms=e,this.fn=t,this.count=s,this.frame=1,this.id=null,this.running=!1,n&&this.start()}start(){return this.running||(this.running=!0,this.frame=1,this.id=setInterval(()=>{this.frame>this.count?this.stop():(this.fn.call(null,this),this.frame++)},this.ms)),this}stop(){return this.running&&(this.running=!1,clearInterval(this.id),this.id=null),this}isRunning(){return this.running}}class Mt extends wt{constructor(t=1e3/60){super(t,()=>this._tick()),this.elapsed=0,this._lastTime=performance.now(),this._callbacks=new Set}_tick(){const t=performance.now(),e=t-this._lastTime;this.elapsed+=e,this._lastTime=t;for(const t of this._callbacks)t({elapsed:this.elapsed,delta:e})}onTick(t){return this._callbacks.add(t),()=>this._callbacks.delete(t)}reset(){this.elapsed=0,this._lastTime=performance.now()}pause(){super.stop()}resume(){this._lastTime=performance.now(),super.start()}}class xt{constructor(t=[],{repeat:e=1,loop:s=!1}={}){this.tasks=t,this.repeat=e,this.loop=s,this.stopped=!1,this.running=!1,this.onStart=null,this.onTask=null,this.onEnd=null}async run(){if(this.running)return;this.running=!0,this.stopped=!1,this.onStart&&this.onStart();let t=this.repeat;do{for(const t of this.tasks){if(this.stopped)return;if(Array.isArray(t))await Promise.all(t.map(({fn:t,delay:e=0})=>new Promise(async s=>{e>0&&await new Promise(t=>setTimeout(t,e)),this.onTask&&this.onTask(t),await t(),s()})));else{const{fn:e,delay:s=0}=t;s>0&&await new Promise(t=>setTimeout(t,s)),this.onTask&&this.onTask(e),await e()}}}while(this.loop&&!this.stopped&&(t===1/0||t-- >1));!this.stopped&&this.onEnd&&this.onEnd(),this.running=!1}stop(){this.stopped=!0,this.running=!1}addTask(t){this.tasks.push(t)}clearTasks(){this.tasks=[]}}class vt{constructor(t,{step:e=1e3,t0:s=0,t1:n=1/0,autoplay:i=!0}={}){this.callback=t,this.cache={isRunning:!1,id:null,last_tick:null,step:e,t0:s,t1:n,autoplay:i,pauseTime:null,frame:0},i&&(s?this.startAfter(s):this.start(),n!==1/0&&this.stopAfter(n))}get frame(){return this.cache.frame}get elapsed(){return this.cache.elapsed}start(){return this.cache.isRunning||(this.cache.frame=0,this.cache.isRunning=!0,this.cache.last_tick=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.id),this.cache.isRunning=!1,this.cache.pauseTime=Date.now()),this}resume(){if(!this.cache.isRunning){if(this.cache.isRunning=!0,this.cache.pauseTime){const t=Date.now()-this.cache.pauseTime;this.cache.last_tick+=t}this.animate()}return this}stop(){return this.pause(),this.cache.frame=0,this}startAfter(t=1e3){return setTimeout(()=>this.start(),t),this}stopAfter(t=1e3){return setTimeout(()=>this.stop(),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.last_tick;e>=this.cache.step&&(this.cache.elapsed=t-(this.cache.t0||0),this.callback(this),this.cache.frame++,this.cache.last_tick=t-e%this.cache.step),this.cache.id=setTimeout(this.animate,0)}}}class Ct{constructor(t=10){this.events={},this.maxListeners=t}on(t,e){return this.events[t]||(this.events[t]=[]),this.events[t].push(e),this.events[t].length>this.maxListeners&&console.warn(`Warning: Possible memory leak. Event '${t}' has more than ${this.maxListeners} listeners.`),this}once(t,e){const s=(...n)=>{this.off(t,s),e(...n)};return this.on(t,s)}off(t,e){const s=this.events[t];if(!s)return this;const n=s.indexOf(e);return-1!==n&&s.splice(n,1),this}emit(t,e){const s=this.events[t];return!!s&&([...s].forEach(s=>{try{s(e)}catch(e){console.error(`Error in listener for '${t}':`,e)}}),!0)}remove(t){return delete this.events[t],this}clear(){return this.events={},this}setMaxListeners(t){return this.maxListeners=t,this}}globalThis?.document&&document?.addEventListener("DOMContentLoaded",__Ziko__.__Config__.init()),t.ClickAwayEvent=K,t.ClickListeners=et,t.Clock=Mt,t.CloneElement=t=>new t.__proto__.constructor,t.E=s,t.EPSILON=n,t.EventController=W,t.KeyListeners=rt,t.PI=e,t.PtrListeners=nt,t.Random=g,t.Scheduler=(t,{repeat:e=null}={})=>new xt(t,{repeat:e}),t.SwipeEvent=ut,t.Tick=wt,t.TimeAnimation=yt,t.TimeLoop=vt,t.TimeScheduler=xt,t.UIElement=mt,t.UINode=E,t.ViewEvent=ot,t.ViewListeners=lt,t.ZikoUIText=B,t.abs=(...t)=>i(t=>t.isComplex?.()?t.z:Math.abs(t),...t),t.accum_max=t=>{let e=[],s=-1/0;for(let n of t)s=Math.max(s,n),e.push(s);return e},t.accum_min=t=>{let e=[],s=1/0;for(let n of t)s=Math.min(s,n),e.push(s);return e},t.accum_product=t=>{let e=[],s=1;for(let n of t)s*=n,e.push(s);return e},t.accum_sum=d,t.acos=(...t)=>i(t=>{if(t?.isComplex){const{a:e,b:s}=t,n=Math.hypot(e+1,s),i=Math.hypot(e-1,s);return globalThis.Rp=n,globalThis.Rm=i,new t.constructor(Math.acos((n-i)/2),-Math.acosh((n+i)/2)).toFixed(8)}return+Math.acos(t).toFixed(8)},...t),t.acosh=(...t)=>i(t=>t?.isComplex?M(t.clone().add(w(t.clone().mul(t.clone()).sub(1)))):+Math.acosh(t).toFixed(8),...t),t.acot=(...t)=>i(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(e**2+(s-1)*(s+1)))/2,Math.log((e**2+(s-1)**2)/(e**2+(s+1)**2))/4).toFixed(8)}return+(Math.PI/2-Math.atan(t)).toFixed(8)},...t),t.add=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=x("add",s,e[t]);return s},t.add_class=(t,e)=>t.element.className=t.element.className.replace(/\s+$/gi,"")+" "+e,t.add_vendor_prefix=function(t){const e=t.slice(0,1).toUpperCase()+t.slice(1),s=["Webkit","Moz","O","ms"];for(let t=0,n=s.length;t<n;t++){const n=s[t];if(void 0!==(globalThis?.document?.body).style[n+e])return n+e}return t},t.animation=(t,{ease:e,t0:s,t1:n,start:i,duration:r}={})=>new yt(t,{ease:e,t0:s,t1:n,start:i,duration:r}),t.asin=(...t)=>i(t=>{if(t?.isComplex){const{a:e,b:s}=t,n=Math.hypot(e+1,s),i=Math.hypot(e-1,s);return new t.constructor(Math.asin((n-i)/2),Math.acosh((n+i)/2)).toFixed(8)}return+Math.asin(t).toFixed(8)},...t),t.asinh=(...t)=>i(t=>t?.isComplex?M(t.clone().add(w(t.clone().mul(t.clone()).add(1)))):+Math.asinh(t).toFixed(8),...t),t.atan=(...t)=>i(t=>{if(t?.isComplex){const{a:e,b:s}=t;return new t.constructor(Math.atan(2*e/(1-e**2-s**2))/2,Math.log((e**2+(1+s)**2)/(e**2+(1-s)**2))/4).toFixed(8)}return+Math.atan(t).toFixed(8)},...t),t.atan2=k,t.atanh=(...t)=>i(t=>+Math.atanh(t).toFixed(8),...t),t.call_with_optional_props=t=>(...e)=>{const s=e[0];return s?.isUIElement?.()||pt(s)?new t({},...e):new t(s,...e.slice(1))},t.camel2constantcase=(t="")=>t.replace(/[A-Z]/g,t=>"_"+t).toUpperCase(),t.camel2hyphencase=(t="")=>t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()),t.camel2pascalcase=(t="")=>t.charAt(0).toUpperCase()+t.slice(1),t.camel2snakecase=(t="")=>t.replace(/[A-Z]/g,t=>"_"+t.toLowerCase()),t.cbrt=(...t)=>i(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/3),phi:t.phi/3}).toFixed(8):+Math.cbrt(t).toFixed(8),...t),t.ceil=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.ceil(t.a),Math.ceil(t.b)):Math.ceil(t),...t),t.clamp=(t,e,s)=>r(t,t=>Math.min(Math.max(t,e),s)),t.clock=t=>new Mt(t),t.cloneUI=t=>Object.assign(Object.create(Object.getPrototypeOf(t)),t),t.constant2camelcase=(t="")=>t.toLowerCase().replace(/_([a-z])/g,t=>t[1].toUpperCase()),t.constant2hyphencase=(t="")=>t.toLowerCase().replace(/_/g,"-"),t.constant2pascalcase=(t="")=>t.toLowerCase().split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""),t.constant2snakecase=(t="")=>t.toLowerCase(),t.contraharmonic_mean=(...t)=>{let e,s=0,n=0,i=t.length;for(e=0;e<i;e++)s+=t[e]**2,n+=t[e];return s/n},t.cos=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.cos(t.a)*Math.cosh(t.b),-Math.sin(t.a)*Math.sinh(t.b)).toFixed(8):+Math.cos(t).toFixed(8),...t),t.cosh=(...t)=>i(t=>t?.isComplex?new t.constructor(Math.cosh(t.a)*Math.cos(t.b),Math.sinh(t.a)*Math.sin(t.b)).toFixed(8):+Math.cosh(t).toFixed(8),...t),t.coth=(...t)=>i(t=>{if(t?.isComplex){const{a:e,b:s}=t,n=Math.sinh(e)**2*Math.cos(s)**2+Math.cosh(e)**2*Math.sin(s)**2;return new t.constructor(Math.cosh(e)*Math.sinh(e)/n,-Math.sin(s)*Math.cos(s)/n).toFixed(8)}return+(1/Math.tanh(t)).toFixed(8)},...t),t.croot=(...t)=>{const e=t.pop();if(!e.isComplex?.())throw Error("croot expect Complex number as root");return i(t=>{"number"==typeof t&&(t=new e.constructor(t,0));const{a:s,b:n}=e,{z:i,phi:r}=t,a=Math.hypot(s,n),o=Math.exp((Math.log(i)*s+r*n)/a),h=(r*s-Math.log(i)*n)/a;return new e.constructor(o*Math.cos(h),o*Math.sin(h)).toFixed(8)},...t)},t.debounce=(t,e=1e3)=>(...s)=>setTimeout(()=>t(...s),e),t.deg2rad=(...t)=>i(t=>t*Math.PI/180,...t),t.div=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=x("div",s,e[t]);return s},t.ema=(t,e)=>{let s=[],n=t[0];s.push(n);for(let i=1;i<t.length;i++)n=e*t[i]+(1-e)*n,s.push(n);return s},t.exp=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.exp(t.a)*Math.cos(t.b),Math.exp(t.a)*Math.sin(t.b)).toFixed(8):+Math.exp(t).toFixed(8),...t),t.floor=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.floor(t.a),Math.floor(t.b)):Math.floor(t),...t),t.fract=(...t)=>i(t=>t.isComplex?.()?new t.constructor(t.a-Math.trunc(t.a),t.b-Math.trunc(t.b)):t-Math.trunc(t),...t),t.geo_mean=(...t)=>t.reduce((t,e)=>t*e)**(1/t.length),t.harmonic_mean=(...t)=>{let e=0,s=0;for(s=0;s<t.length;s++)e+=1/t[s];return t.length/e},t.hyphen2camelcase=(t="")=>t.replace(/-([a-z])/g,t=>t[1].toUpperCase()),t.hyphen2constantcase=(t="")=>t.replace(/-/g,"_").toUpperCase(),t.hyphen2pascalcase=(t="")=>t.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""),t.hyphen2snakecase=(t="")=>t.replace(/-/g,"_"),t.hypot=(...t)=>{const e=t.find(t=>t.isComplex?.());if(e){const s=t.map(t=>t.isComplex?.()?t:new e.constructor(t,0));return Math.hypot(...s.map(t=>t.z))}return Math.hypot(...t)},t.interquartile_mean=(...t)=>{let e=t.sort((t,e)=>t-e),s=e[Math.floor(.25*(e.length-1))],n=e[Math.floor(.75*(e.length-1))],i=e.filter(t=>t>=s&&t<=n);return l(i)},t.iqr=t=>c(t)-h(t),t.isStateGetter=U,t.is_anagram=(t,e)=>(t=t.split("").sort(),e=e.split("").sort(),JSON.stringify(t)===JSON.stringify(e)),t.is_camelcase=(t="")=>{if(0===t.length)return!1;return/^[a-z][a-zA-Z0-9]*$/.test(t)},t.is_hyphencase=(t="")=>t.split("-").length>0,t.is_isogram=(t="")=>[...new Set(t.toLowerCase())].length===t.length,t.is_palindrome=t=>{const e=t.toLocaleLowerCase();let s,n=e.length;for(s=0;s<n/2;s++)if(e[s]!=e[n-s-1])return!1;return!0},t.is_pascalcalse=(t="")=>{if(0===t.length)return!1;return/^[A-Z][a-zA-Z0-9]*$/.test(t)},t.is_primitive=pt,t.is_snakeCase=(t="")=>t.split("_").length>0,t.lerp=C,t.linkStyle=function(t){const e=document?.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),document.head.appendChild(e)},t.ln=M,t.loop=(t,e={})=>new vt(t,e),t.map=T,t.mean=l,t.median=t=>o(t,50),t.midhinge=(...t)=>{let e=t.sort((t,e)=>t-e);return(e[Math.floor(.25*(e.length-1))]+e[Math.floor(.75*(e.length-1))])/2},t.midrange=t=>(Math.min(...t)+Math.max(...t))/2,t.modulo=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=x("modulo",s,e[t]);return s},t.mul=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=x("mul",s,e[t]);return s},t.norm=v,t.normalize_css_value=t=>"number"==typeof t?t+"px":t,t.nthr=(...t)=>{const e=t.pop();if("number"!=typeof e)throw Error("nthr expects a real number n");return i(t=>t.isComplex?.()?new t.constructor({z:t.z**(1/e),phi:t.phi/e}):t<0?e%2==2?y(0,(-t)**(1/e)).toFixed(8):+(-1*(-t)**(1/e)).toFixed(8):+(t**(1/e)).toFixed(8),...t)},t.parse_props=L,t.pascal2camelcase=(t="")=>t.charAt(0).toLowerCase()+t.slice(1),t.pascal2constantcase=(t="")=>t.replace(/([A-Z])/g,(t,e)=>e?"_"+t:t).toUpperCase(),t.pascal2hyphencase=(t="")=>t.replace(/([A-Z])/g,(t,e)=>e?"-"+t.toLowerCase():t.toLowerCase()),t.pascal2snakecase=(t="")=>t.replace(/([A-Z])/g,(t,e)=>e?"_"+t.toLowerCase():t.toLowerCase()),t.percentile=o,t.pow=(...t)=>{const e=t.pop();return i(t=>t.isComplex?.()?e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t.z)-e.b*t.phi),phi:e.b*Math.log(t.z)+e.a*t.phi}):new t.constructor({z:t.z**e,phi:t.phi*e}):e.isComplex?.()?new t.constructor({z:Math.exp(e.a*Math.log(t)),phi:e.b*Math.log(t)}):Math.pow(t,e),...t)},t.power_mean=(t,e)=>{let s=0,n=0,i=t.length;for(n=0;n<i;n++)s+=t[n]**e;return(s/i)**(1/e)},t.q1=h,t.q3=c,t.rad2deg=(...t)=>i(t=>t/Math.PI*180,...t),t.register_click_away_event=X,t.register_swipe_event=function(t,e=5,s=100,n=500){let i=0,r=0,a=0,o=!1;function h(t){i=t.clientX,r=t.clientY,a=performance.now(),o=!0}function c(h){if(!o)return;o=!1;const c=h.clientX-i,l=h.clientY-r;let u=null,m=null;performance.now()-a<=n&&(Math.abs(c)>=e&&Math.abs(l)<=s?(u=c<0?"left":"right",m="swipe"+u):Math.abs(l)>=e&&Math.abs(c)<=s&&(u=l<0?"up":"down",m="swipe"+u)),m&&t.dispatchEvent(new ut(m,{direction:u,distX:c,distY:l,originalEvent:h}))}return t.addEventListener("pointerdown",h,{passive:!0}),t.addEventListener("pointerup",c,{passive:!0}),()=>{t.removeEventListener("pointerdown",h),t.removeEventListener("pointerup",c)}},t.register_view_event=ht,t.remove_class=(t,e)=>t.element.className=t.element.className.replace(e,""),t.rms=(...t)=>{const e=t.length;return(Math.hypot(...t)/e)**(1/e)},t.rolling_std=(t,e)=>Math.sqrt(f(t,e)),t.rolling_variance=f,t.round=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.round(t.a),Math.round(t.b)):Math.round(t),...t),t.sample_std=(...t)=>Math.sqrt(m(...t)),t.sample_variance=m,t.script=function(t){const e=document?.createElement("script");e.setAttribute("src",t),document.head.appendChild(e)},t.sec=(...t)=>i(t=>(t.isComplex?.(),+(1/Math.cos(t)).toFixed(8)),...t),t.sig=(...t)=>i(t=>1/(1+Math.exp(-t)).toFixed(8),...t),t.sign=(...t)=>i(t=>{if(t.isComplex?.()){const{z:e,phi:s}=t;return 0===e?new t.constructor(0,0):new t.constructor({z:1,phi:s})}return Math.sign(t)},...t),t.sin=(...t)=>i(t=>t?.isComplex?new t.constructor(Math.sin(t.a)*Math.cosh(t.b),Math.cos(t.a)*Math.sinh(t.b)).toFixed(8):+Math.sin(t).toFixed(8),...t),t.sinh=(...t)=>i(t=>t?.isComplex?new t.constructor(Math.sinh(t.a)*Math.cos(t.b),Math.cosh(t.a)*Math.sin(t.b)).toFixed(8):+Math.sinh(t).toFixed(8),...t),t.sleep=t=>new Promise(e=>setTimeout(e,t)),t.sma=(t,e)=>{let s=[];for(let n=0;n<=t.length-e;n++){let i=0;for(let s=0;s<e;s++)i+=t[n+s];s.push(i/e)}return s},t.snake2camelcase=(t="")=>t.replace(/(_\w)/g,t=>t[1].toUpperCase()),t.snake2constantcase=(t="")=>t.toUpperCase(),t.snake2hyphencase=(t="")=>t.replace(/_/g,"-"),t.snake2pascalcase=(t="")=>t.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(""),t.sqrt=w,t.std=(...t)=>Math.sqrt(u(...t)),t.step_fps=t=>1e3/t,t.style=(t,e)=>{t&&Object.assign(t.style,e)},t.sub=(t,...e)=>{let s=t;for(let t=0;t<e.length;t++)s=x("sub",s,e[t]);return s},t.tags=bt,t.tan=(...t)=>i(t=>{if(t?.isComplex){const e=Math.cos(2*t.a)+Math.cosh(2*t.b);return new t.constructor(Math.sin(2*t.a)/e,Math.sinh(2*t.b)/e).toFixed(8)}return+Math.tan(t).toFixed(8)},...t),t.tanh=(...t)=>i(t=>{if(t?.isComplex){const e=Math.cosh(2*a)+Math.cos(2*b);return new t.constructor(Math.sinh(2*a)/e,Math.sin(2*b)/e).toFixed(8)}return+Math.tanh(t).toFixed(8)},...t),t.text=H,t.throttle=at,t.tick=(t,e,s=1/0,n=!0)=>new wt(t,e,s,n),t.timeTaken=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e},t.time_memory_Taken=t=>{const e=Date.now(),s=performance.memory.usedJSHeapSize,n=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-s,result:n}},t.timeout=function(t,e){let s;const n=new Promise(n=>{s=setTimeout(()=>{e&&e(),n()},t)});return{id:s,clear:()=>clearTimeout(s),promise:n}},t.trimmed_mean=(t,e)=>{let s=[...t].sort((t,e)=>t-e).slice(e,t.length-e);return l(...s)},t.trunc=(...t)=>i(t=>t.isComplex?.()?new t.constructor(Math.trunc(t.a),Math.trunc(t.b)):Math.trunc(t),...t),t.useDerived=function(t,e){const s=()=>t(...e.map(t=>t().value));let n=s();const i=new Set,r=()=>{const t=s();Object.is(t,n)||(n=t,i.forEach(t=>t(n)))};e.map(t=>t()._subscribe(r));const a=()=>({value:n,_subscribe:t=>(i.add(t),()=>i.delete(t))});return a[N]=!0,a},t.useEffect=(t,e=[])=>{const s=e.filter(U);let n;const i=()=>{"function"==typeof n&&n(),n=t(s.map(t=>t().value))},r=s.map(t=>t()._subscribe(i));return i(),()=>{r.forEach(t=>t()),"function"==typeof n&&(n(),n=void 0)}},t.useEventEmitter=t=>new Ct(t),t.useReactive=t=>i(t=>{const e=$(t);return{get:e[0],set:e[1]}},t),t.useState=$,t.variance=u,t.wait=t=>new Promise(e=>setTimeout(e,t)),t.waitElm=t=>new Promise(e=>{if(t)return e(t);const s=new MutationObserver(()=>{t&&(e(t),s.disconnect())});s.observe(document?.body,{childList:!0,subtree:!0})}),t.waitForUIElm=t=>new Promise(e=>{if(t.element)return e(t.element);const s=new MutationObserver(()=>{t.element&&(e(t.element),s.disconnect())});s.observe(document?.body,{childList:!0,subtree:!0})}),t.waitForUIElmSync=(t,e=2e3)=>{const s=Date.now();for(;Date.now()-s<e;)if(t.element)return t.element},t.weighted_mean=(t,e)=>{let s=0,n=0;for(let i=0;i<t.length;i++)s+=t[i]*e[i],n+=e[i];return s/n},t.weighted_std=(t,e)=>Math.sqrt(p(t,e)),t.weighted_variance=p,t.winsorized_mean=(t,e)=>{let s=[...t].sort((t,e)=>t-e),n=s[e],i=s[s.length-e-1];return s=s.map(t=>Math.max(n,Math.min(i,t))),l(s)},t.wma=(t,e)=>{let s=e.length,n=e.reduce((t,e)=>t+e,0),i=[];for(let r=0;r<=t.length-s;r++){let a=0;for(let n=0;n<s;n++)a+=t[r+n]*e[n];i.push(a/n)}return i}});