ziko 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,6 +5,23 @@
5
5
  <br>
6
6
 
7
7
  ## ⚡ Get started
8
+ ### NPX
9
+ ```bash
10
+ npx create-ziko-app [My_App]
11
+ cd [My_App]
12
+ ```
13
+
14
+ #### Commands
15
+ ```
16
+ npm run dev
17
+ ```
18
+ ```
19
+ npm start
20
+ ```
21
+ ```
22
+ npm run build
23
+ ```
24
+ ### Browser
8
25
  ```html
9
26
  <!DOCTYPE html>
10
27
  <html lang="en">
package/dist/ziko.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Tue Feb 27 2024 20:39:54 GMT+0100 (UTC+01:00)
5
+ Date : Sun Mar 10 2024 11:12:39 GMT+0000 (UTC)
6
6
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
7
7
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
8
8
  Released under MIT License
@@ -10,6 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
13
15
  class AbstractZikoMath {}
14
16
 
15
17
  class Complex extends AbstractZikoMath {
@@ -8861,8 +8863,8 @@ class ZikoUISvg extends ZikoUIElement {
8861
8863
  super();
8862
8864
  this.element = document.createElementNS("http://www.w3.org/2000/svg", "svg");
8863
8865
  //this.cache={};
8864
- this.setAttribute("width", w);
8865
- this.setAttribute("height", h);
8866
+ this.setAttr("width", w);
8867
+ this.setAttr("height", h);
8866
8868
  this.style({
8867
8869
  border: "1px black solid"
8868
8870
  });
@@ -8874,7 +8876,7 @@ class ZikoUISvg extends ZikoUIElement {
8874
8876
  let width = Math.abs(x2 - x1);
8875
8877
  let height = Math.abs(y2 - y1);
8876
8878
  //this.element.style.transform="scale("+Math.sign(x2-x1)+","+(-Math.sign(y2-y1))+")";
8877
- this.element.setAttribute("viewBox", [x1, y1, width, height].join(" "));
8879
+ this.setAttr("viewBox", [x1, y1, width, height].join(" "));
8878
8880
  //console.log({width:width,height:height})
8879
8881
  return this;
8880
8882
  }
@@ -9456,7 +9458,7 @@ const SPA = (root_UI, routes, patterns) => new ZikoSPA(root_UI, routes, patterns
9456
9458
  const __init__ = () => document.documentElement.setAttribute("data-engine", "zikojs");
9457
9459
 
9458
9460
  var __Target__ = null;
9459
- if (document.body) __Target__ = document.body;
9461
+ if (globalThis?.document?.body) __Target__ = document.body;
9460
9462
 
9461
9463
  class ZikoSeo {
9462
9464
  constructor(app) {
@@ -9611,7 +9613,6 @@ exports.Themes = Themes;
9611
9613
  exports.Time = Time;
9612
9614
  exports.UI = UI$1;
9613
9615
  exports.Utils = Utils;
9614
- exports.Ziko = Ziko;
9615
9616
  exports.ZikoHtml = ZikoHtml;
9616
9617
  exports.ZikoUIArticle = ZikoUIArticle;
9617
9618
  exports.ZikoUIAside = ZikoUIAside;
@@ -9674,6 +9675,7 @@ exports.csv2matrix = csv2matrix;
9674
9675
  exports.csv2object = csv2object;
9675
9676
  exports.csv2sql = csv2sql;
9676
9677
  exports.datalist = datalist;
9678
+ exports.default = Ziko;
9677
9679
  exports.deg2rad = deg2rad;
9678
9680
  exports.div = div;
9679
9681
  exports.e = e;
package/dist/ziko.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Tue Feb 27 2024 20:39:54 GMT+0100 (UTC+01:00)
5
+ Date : Sun Mar 10 2024 11:12:39 GMT+0000 (UTC)
6
6
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
7
7
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
8
8
  Released under MIT License
@@ -8865,8 +8865,8 @@
8865
8865
  super();
8866
8866
  this.element = document.createElementNS("http://www.w3.org/2000/svg", "svg");
8867
8867
  //this.cache={};
8868
- this.setAttribute("width", w);
8869
- this.setAttribute("height", h);
8868
+ this.setAttr("width", w);
8869
+ this.setAttr("height", h);
8870
8870
  this.style({
8871
8871
  border: "1px black solid"
8872
8872
  });
@@ -8878,7 +8878,7 @@
8878
8878
  let width = Math.abs(x2 - x1);
8879
8879
  let height = Math.abs(y2 - y1);
8880
8880
  //this.element.style.transform="scale("+Math.sign(x2-x1)+","+(-Math.sign(y2-y1))+")";
8881
- this.element.setAttribute("viewBox", [x1, y1, width, height].join(" "));
8881
+ this.setAttr("viewBox", [x1, y1, width, height].join(" "));
8882
8882
  //console.log({width:width,height:height})
8883
8883
  return this;
8884
8884
  }
@@ -9460,7 +9460,7 @@
9460
9460
  const __init__ = () => document.documentElement.setAttribute("data-engine", "zikojs");
9461
9461
 
9462
9462
  var __Target__ = null;
9463
- if (document.body) __Target__ = document.body;
9463
+ if (globalThis?.document?.body) __Target__ = document.body;
9464
9464
 
9465
9465
  class ZikoSeo {
9466
9466
  constructor(app) {
@@ -9615,7 +9615,6 @@
9615
9615
  exports.Time = Time;
9616
9616
  exports.UI = UI$1;
9617
9617
  exports.Utils = Utils;
9618
- exports.Ziko = Ziko;
9619
9618
  exports.ZikoHtml = ZikoHtml;
9620
9619
  exports.ZikoUIArticle = ZikoUIArticle;
9621
9620
  exports.ZikoUIAside = ZikoUIAside;
@@ -9678,6 +9677,7 @@
9678
9677
  exports.csv2object = csv2object;
9679
9678
  exports.csv2sql = csv2sql;
9680
9679
  exports.datalist = datalist;
9680
+ exports.default = Ziko;
9681
9681
  exports.deg2rad = deg2rad;
9682
9682
  exports.div = div;
9683
9683
  exports.e = e;
@@ -9789,4 +9789,6 @@
9789
9789
  exports.waitForUIElmSync = waitForUIElmSync;
9790
9790
  exports.zeros = zeros;
9791
9791
 
9792
+ Object.defineProperty(exports, '__esModule', { value: true });
9793
+
9792
9794
  }));
package/dist/ziko.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  Project: ziko.js
3
3
  Author: Zakaria Elalaoui
4
- Date : Tue Feb 27 2024 20:39:54 GMT+0100 (UTC+01:00)
4
+ Date : Sun Mar 10 2024 11:12:39 GMT+0000 (UTC)
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";class e{}class r extends e{constructor(t=0,e=0){super(),t instanceof r?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=f(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*v(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=f(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/v(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*w(t.phi),this.a=t.z*F(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}get clone(){return new r(this.a,this.b)}get z(){return q(this.a,this.b)}get phi(){return z(this.b,this.a)}static Zero(){return new r(0,0)}get conj(){return new r(this.a,-this.b)}get inv(){return new r(this.a/(g(this.a,2)+g(this.b,2)),-this.b/(g(this.a,2)+g(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+n(...e).toFixed(15),this.b+=+n(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+n(...e).toFixed(15),this.b-=+n(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+i(this.z,...t.map((t=>t.z))).toFixed(15),s=+n(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*w(s).toFixed(15)).toFixed(14),this.b=+(e*F(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+(this.z/i(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-n(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*w(s).toFixed(15)).toFixed(15),this.b=+(e*F(s).toFixed(15)).toFixed(15),this}pow(t){if(N(t)===t&&t>0){let e=+(this.z**t).toFixed(15),r=+(this.phi*t).toFixed(15);this.a=+(e*w(r).toFixed(15)).toFixed(15),this.b=+(e*F(r).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new r(+(t*w(e)).toFixed(13),+(t*F(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return s(t**this.a*w(this.b*x(t)),t**this.a*F(this.b*x(t)))}sqrtn(t=2){return s(y(this.z,t)*w(this.phi/t),y(this.z,t)*F(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return s(this.z,this.phi)}get cos(){return s(w(this.a)*T(this.b),F(this.a)*I(this.b))}get sin(){return s(F(this.a)*T(this.b),w(this.a)*I(this.b))}get tan(){const t=w(2*this.a)+T(2*this.b);return s(F(2*this.a)/t,I(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const s=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((r,n)=>s(t[n],e[n])));if(t instanceof ot&&e instanceof ot){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const r=t.arr.map(((r,n)=>s(t.arr[n],e.arr[n])));return new ot(t.rows,t.cols,...r)}return new r(t,e)},n=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e+=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(n(...t[r])):t[r]instanceof Object&&e.push(n(...Object.values(t[r])));return 1===e.length?e[0]:e},i=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e*=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(i(...t[r])):t[r]instanceof Object&&e.push(i(...Object.values(t[r])));return 1===e.length?e[0]:e},o=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},a=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},h=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(h(...t[r])):t[r]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},l=t=>{const e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];if(t<.5)return+(Math.PI/(Math.sin(Math.PI*t)*l(1-t))).toFixed(10);t-=1;let r=e[0];for(let s=1;s<9;s++)r+=e[s]/(t+s);const s=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(s,t+.5)*Math.exp(-s)*r).toFixed(10)},u=(t,e)=>{let r=0;for(let s=0;s<100;s++){r+=Math.pow(-1,s)*Math.pow(e/2,t+2*s)/($(s)*$(t+s))}return r},m=(t,e)=>{let r=0;const s=r=>Math.pow(r,t-1)*Math.pow(1-r,e-1);r+=.5*(s(0)+s(1));for(let t=1;t<1e3;t++){r+=s(0+.001*t)}return.001*r},p={cos:t=>+Math.cos(t).toFixed(15),sin:t=>+Math.sin(t).toFixed(15),tan:t=>+Math.tan(t).toFixed(31),sinc:t=>+Math.sin(Math.PI*t)/(Math.PI*t),sec:t=>1/Math.cos(t).toFixed(15),csc:t=>1/Math.sin(t).toFixed(15),cot:t=>1/Math.tan(t).toFixed(15),acos:t=>+Math.acos(t).toFixed(15),asin:t=>+Math.asin(t).toFixed(15),atan:t=>+Math.atan(t).toFixed(15),acot:t=>+Math.PI/2-Math.atan(t).toFixed(15),cosh:t=>+Math.cosh(t).toFixed(15),sinh:t=>+Math.sinh(t).toFixed(15),tanh:t=>+Math.tanh(t).toFixed(15),coth:t=>+(.5*Math.log((1+t)/(1-t))).toFixed(15),acosh:t=>+Math.acosh(t).toFixed(15),asinh:t=>+Math.asinh(t).toFixed(15),atanh:t=>+Math.atanh(t).toFixed(15)},d=(...t)=>mt(Math.abs,...t),f=(...t)=>mt(Math.sqrt,...t),g=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof r?r.fromExpo(t**e.a,e.b*x(t)):mt((e=>g(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(t.z**e,t.phi*e):e instanceof r?r.fromExpo(t.z**e.a*b(-t.phi*e.b),x(t.z)*e.b+e.a*t.phi):mt((e=>g(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>g(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},y=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):mt((e=>y(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(y(t.z,e),t.phi/e):mt((e=>y(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>y(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>y(t[s],e)),...e));return r}}},b=(...t)=>mt(Math.exp,...t),x=(...t)=>mt(Math.log,...t),w=(...t)=>mt(p.cos,...t),F=(...t)=>mt(p.sin,...t),v=(...t)=>mt(p.tan,...t),C=(...t)=>mt(p.sec,...t),E=(...t)=>mt(p.sinc,...t),k=(...t)=>mt(p.csc,...t),A=(...t)=>mt(p.cot,...t),D=(...t)=>mt(p.acos,...t),B=(...t)=>mt(p.asin,...t),_=(...t)=>mt(p.atan,...t),M=(...t)=>mt(p.acot,...t),T=(...t)=>mt(p.cosh,...t),I=(...t)=>mt(p.sinh,...t),S=(...t)=>mt(p.tanh,...t),L=(...t)=>mt(p.coth,...t),O=(...t)=>mt(p.acosh,...t),V=(...t)=>mt(p.asinh,...t),j=(...t)=>mt(p.atanh,...t),R=(...t)=>mt(Math.ceil,...t),N=(...t)=>mt(Math.floor,...t),P=(...t)=>mt(Math.round,...t),z=(t,e,r=!0)=>{if("number"==typeof t)return"number"==typeof e?r?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:mt((e=>z(t,e,r)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>z(t,e,r)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},$=(...t)=>mt((t=>{let e,r=1;if(0==t)r=1;else if(t>0)for(e=1;e<=t;e++)r*=e;else r=NaN;return r}),...t),H=(...t)=>mt(Math.sign,...t),U=(...t)=>mt((t=>1/(1+b(-t))),...t),q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?mt(Math.hypot,...t):void 0,W=t=>{const e=[],r=2**t.length;for(let s=0;s<r;s+=1){const r=[];for(let e=0;e<t.length;e+=1)s&1<<e&&r.push(t[e]);e.push(r)}return e},Z=null,X={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),r=e[0],s=2**(+("0b"+e.slice(1,9))-127);return(-1)**r*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),r=e[0],s=2**(+("0b"+e.slice(1,12))-1023);return(-1)**r*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s}},K={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?K._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let r=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===r.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return K.not(K.xor(t,e))}};class G{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const r=[];let s;return s=this.withDiscount(t,e-1),t.forEach((t=>{s.forEach((e=>{r.push([t].concat(e))}))})),r}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],r=this.withoutDiscount(t.slice(1)),s=t[0];for(let t=0;t<r.length;t++){const n=r[t];for(let t=0;t<=n.length;t++){const r=n.slice(0,t),i=n.slice(t);e.push(r.concat([s],i))}}return e}}class Y{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}}const Q={Logic:K,Base:X,Permutation:G,Combinaison:Y,combinaison:(t,e,r=!1)=>Y[r?"withDiscount":"withoutDiscount"](t,e),powerSet:W,subSet:Z};class J{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let r=new Array(100);e=Ut.accum(...e).map((t=>100*t)),r.fill(t[0],0,e[0]);for(let s=1;s<t.length;s++)r.fill(t[s],e[s-1],e[s]);return r[this.int(r.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:r,arr:s}=t;return at(e,r,s.flat().sort((()=>.5-Math.random())))}static floats(t,e,r){return new Array(t).fill(0).map((()=>this.float(e,r)))}static ints(t,e,r){return new Array(t).fill(0).map((()=>this.int(e,r)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,r){return new Array(t).fill(0).map((()=>this.choice(e,r)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+X.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new r(this.float(t[0],t[1]),this.float(e[0],e[1])):new r(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new r(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new r(...this.bins(2))}static complexOct(){return new r(...this.octs(2))}static complexDec(){return new r(...this.decs(10))}static complexHex(){return new r(...this.octs(2))}static complexes(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complex(e,r)))}static complexesInt(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complexInt(e,r)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,r,s){return at(t,e,this.floats(t*e,r,s))}static matrixInt(t,e,r,s){return at(t,e,this.ints(t*e,r,s))}static matrixBin(t,e){return at(t,e,this.bins(t*e))}static matrixOct(t,e){return at(t,e,this.octs(t*e))}static matrixDec(t,e){return at(t,e,this.decs(t*e))}static matrixHex(t,e){return at(t,e,this.hex(t*e))}static matrixColor(t,e){return at(t,e,this.colors(t*e))}static matrixComplex(t,e,r,s){return at(t,e,this.complexes(t*e,r,s))}static matrixComplexInt(t,e,r,s){return at(t,e,this.complexesInt(t*e,r,s))}static matrixComplexBin(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return at(t,e,this.complexesBin(t*e))}}const tt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0))),s=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let n=0;n<e;n++){for(let i=n;i<e;i++){let e=0;for(let t=0;t<n;t++)e+=r[n][t]*s[t][i];s[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)r[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=r[i][t]*s[t][n];r[i][n]=(t[i][n]-e)/s[n][n]}}return[r,s].map((t=>new ot(t)))},et=(t,e)=>t.reduce(((t,r,s)=>t+r*e[s]),0),rt=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),st=t=>t.map((e=>e/rt(t))),nt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=t[0].length,s=[],n=[];for(let t=0;t<e;t++)n.push(new Array(r).fill(0));for(let i=0;i<r;i++){let r=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=s[o],h=et(a,t.map((t=>t[i])));for(let t=0;t<e;t++)r[t]-=h*a[t];n[o][i]=h}const o=rt(r);s.push(st(r)),n[i][i]=o}return[s,n].map((t=>new ot(t)))},it=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let s=0;s<e;s++)for(let e=0;e<=s;e++){let n=0;for(let t=0;t<e;t++)n+=r[s][t]*r[e][t];r[s][e]=s===e?Math.sqrt(t[s][s]-n):1/r[e][e]*(t[s][e]-n)}return new ot(r)};class ot extends e{constructor(t,e,r=[]){if(super(),t instanceof ot)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let s,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(s=0;s<t;s++)for(i.push([]),i[s].push(new Array(e)),n=0;n<e;n++)i[s][n]=r[s*e+n],null==r[s*e+n]&&(i[s][n]=0);this.rows=t,this.cols=e,this.arr=i}this._maintain()}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new ot(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new ot(t,t);for(let r=0;r<t;r++)for(let s=0;s<t;s++)e.arr[r][s]=r===s?1:0;return e}get clone(){return new ot(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new ot(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new ot(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,r){if(-1==e)return this.arr[t]=r;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=r[t]||0;return this.arr}return this.arr[t][e]=r}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.add(e,t).max&&0==ot.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,r=ot.mul(e,t),s=ot.dot(t,e);return 0==ot.sub(r,s).max&&0==ot.sub(r,s).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=ot.dot(t,t);return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let r=0;r<this.arr.length;r++)t[e][r]=this.arr[r][e]}return new ot(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var r=[];for(let e=0;e<t.length;e++)r.push(t[e].slice(0));r.splice(0,1);for(let t=0;t<r.length;t++)r[t].splice(e,1);return r}return function e(r){if(2==r.length)return r.flat(1).some((t=>t instanceof ot))?void console.warn("Tensors are not completely supported yet ..."):Ut.sub(Ut.mul(r[0][0],r[1][1]),Ut.mul(r[0][1],r[1][0]));for(var s=0,n=0;n<r.length;n++){const i=Ut.add(Ut.mul(g(-1,n),Ut.mul(r[0][n],e(t(r,n)))));s=Ut.add(s,i)}return s}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,r=0,s=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],s=0;s<n;s+=1)o[e][s]=e==s?1:0,a[e][s]=t[e][s];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(r=e+1;r<n;r+=1)if(0!=a[r][e]){for(s=0;s<n;s++)i=a[e][s],a[e][s]=a[r][s],a[r][s]=i,i=o[e][s],o[e][s]=o[r][s],o[r][s]=i;break}if(0==(i=a[e][e]))return}for(s=0;s<n;s++)a[e][s]=a[e][s]/i,o[e][s]=o[e][s]/i;for(r=0;r<n;r++)if(r!=e)for(i=a[r][e],s=0;s<n;s++)a[r][s]-=i*a[e][s],o[r][s]-=i*o[e][s]}return o}(this.arr);return new ot(this.rows,this.cols,t.flat(1))}static zeros(t,e){let r=new ot(t,e);for(let n=0;n<t;n++)for(var s=0;s<e;s++)r.arr[n][s]=0;return r}static ones(t,e){let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=1;return r}static nums(t,e,r){let s=new ot(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)s.arr[n][t]=r;return s}static get rand(){return{int:(t,e,r,s)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.randInt(r,s);return n},bin:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randBin;return r},hex:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randHex;return r},choices:(t,e,r,s)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.choice(r,s);return n},permutation:(t,e,r)=>{}}}static rands(t,e,r=1,s){let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.rand(r,s);return n}map(t,e,r,s){return Ut.map(this,t,e,r,s)}lerp(t,e){return Ut.lerp(this,t,e)}norm(t,e){return Ut.norm(this,t,e)}clamp(t,e){return Ut.clamp(this,t,e)}static map(t,e,r,s,n){return Ut.map(t,e,r,s,n)}static lerp(t,e,r){return Ut.lerp(t,e,r)}static norm(t,e,r){return Ut.norm(t,e,r)}static clamp(t,e,r){return Ut.clamp(at,e,r)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let r=0;r<this.rows;r++)this.arr[e][r]=+this.arr[e][r].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new ot(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new ot(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new ot(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new ot(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new ot(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),r=this.arr.filter(((t,r)=>!0===e[r]));return 0===r.length&&r.push([]),console.log(r),new ot(r)}filterByCols(t){return new ot(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new ot(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new ot(this.rows,this.cols,e)}#t(t){if(this.rows!==t.rows)return;let e=this.arr;for(let r=0;r<this.rows;r++)for(let s=this.cols;s<this.cols+t.cols;s++)e[r][s]=t.arr[r][s-this.cols];return this.cols+=t.cols,new ot(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#e(t){if(this.cols!==t.cols)return;let e=this.arr;for(let r=this.rows;r<this.rows+t.rows;r++){e[r]=[];for(let s=0;s<this.cols;s++)e[r][s]=t.arr[r-this.rows][s]}return this.rows+=t.rows,new ot(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,r=this.rows-1,s=this.cols-1){let n=r-t,i=s-e,o=new Array(i);for(let r=0;r<n;r++){o[r]=[];for(let s=0;s<i;s++)o[r][s]=this.arr[r+t][s+e]}return new ot(n,i,o.flat(1))}static slice(t,e=0,r=0,s=this.rows-1,n=this.cols-1){return t.slice(e,r,s,n)}splice(t,e,r,...s){}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)}static getRows(t,e,r=e+1){return t.slice(e,0,r,t.cols)}static getCols(t,e,r=e+1){return t.slice(0,e,t.rows,r)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof r)&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=Ut.add(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.sub(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(var e=0;e<this.rows;e++)for(var r=0;r<this.cols;r++)this.arr[e][r]=Ut.mul(this.arr[e][r],t[s].arr[e][r])}return new ot(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.div(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.modulo(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],r=0;r<this.arr.length;r++){e[r]=[];for(var s=0;s<t.arr[0].length;s++){e[r][s]=0;for(var n=0;n<this.arr[0].length;n++)e[r][s]=Ut.add(e[r][s],Ut.mul(this.arr[r][n],t.arr[n][s]))}}return new ot(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,r=this.clone;for(let s=0;s<t-1;s++)r=r.dot(e);return r}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t+=this.arr[e][r];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof r))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return o(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return a(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new ot(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t.push(this.arr[e][r]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new ot(t.rows,t.cols);return e.arr=t.arr,e}DecompositionLU(){const[t,e]=tt(this);return{L:t,U:e}}static DecompositionLU(...t){const e=t.map((t=>t.clone.LU()));return 1===e.length?e[0]:e}DecompositionQR(){const[t,e]=nt(this);return{Q:t,R:e}}static DecompositionQR(...t){const e=t.map((t=>t.clone.DecompositionQr()));return 1===e.length?e[0]:e}DecompositionCholesky(){return{L:it(this)}}static DecompositionCholesky(...t){const e=t.map((t=>t.clone.DecompositionCholesky()));return 1===e.length?e[0]:e}get decomposition(){return{LU:()=>this.DecompositionLU(),QR:()=>this.DecompositionQR(),Cholesky:()=>this.DecompositionCholesky()}}static get decomposition(){return{LU:(...t)=>ot.LU(...t),QR:(...t)=>ot.QR(...t),CHOLESKY:(...t)=>ot.CHOLESKY(...t)}}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document.createElement("tr"))),r=this.arr.map((t=>t.map((()=>document.createElement("td")))));for(let t=0;t<r.length;t++)for(let s=0;s<r[0].length;s++)r[t][s].innerHTML=this.arr[t][s],e[t].appendChild(r[t][s]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let r=Grid();return r.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),r.Columns(this.cols),r}sortTable(t=0,{type:e="num",order:r="asc"}={}){var s=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),n=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===r?s[t].sort(((t,e)=>t.x-e.x)):"desc"===r?s[t].sort(((t,e)=>e.x-t.x)):"toggle"===r&&(s[t][0].x>s[t][1].x?s[t].sort(((t,e)=>e.x-t.x)):s[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===r?s[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===r&&s[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),r=s[t].map((t=>t.y));for(let e=0;e<s.length;e++)e!==t&&s[e].map(((t,e)=>t.y=r[e]));for(let e=0;e<s.length;e++)e!==t&&n[e].map(((t,n)=>t.x=s[e][r[n]].x));n[t]=s[t];var i=n.map((t=>t.map((t=>t.x))));return new ot(i).T}}const at=(t,e,r)=>new ot(t,e,r),ht=(...t)=>new ot(2,2,t),lt=(...t)=>new ot(3,3,t),ct=(...t)=>new ot(4,4,t);class ut{static resolve(t,e){return t.inv.dot(ot.fromVector(e)).arr.flat(1).map((t=>+t.toFixed(10)))}}const mt=(t,...e)=>{const n=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>mt(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(mt(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],mt(t,e[1])])));if(e instanceof ot)return new ot(e.rows,e.cols,mt(e.arr.flat(1)));if(e instanceof r){const[r,n,i,o]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return s(x(i),o);case Math.exp:return s(b(r)*w(n),b(r)*F(n));case Math.abs:return i;case Math.sqrt:return s(f(i)*w(o/2),f(i)*F(o/2));case p.cos:return s(w(r)*T(n),-F(r)*I(n));case p.sin:return s(F(r)*T(n),w(r)*I(n));case p.tan:{const t=w(2*r)+T(2*n);return s(F(2*r)/t,I(2*n)/t)}case p.cosh:return s(T(r)*w(n),I(r)*F(n));case p.sinh:return s(I(r)*w(n),T(r)*F(n));case p.tanh:{const t=T(2*r)+w(2*n);return s(I(2*r)/t,F(2*n)/t)}}}else if(e instanceof Object)return Object.fromEntries(Object.entries(e).map((e=>[e[0],mt(t,e[1])])))}));return 1==n.length?n[0]:n},pt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof r)return s(t+e.a,e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>bt(e,t)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>bt(t,e)));if(t.length===e.length)return t.map(((t,r)=>bt(t,e[r])))}}},dt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof r)return s(t-e.a,-e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>xt(e,t)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>xt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>xt(t,e[r])))}}},ft=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof r)return s(t*e.a,t*e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>wt(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>wt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>wt(t,e[r])))}}},gt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof r)return s(t/e.a,t/e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Ft(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Ft(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>Ft(t,e[r])))}}},yt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof r)return s(t%e.a,t%e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Ft(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>bt(t,e)))}},bt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=pt(r,e[t]);return r},xt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=dt(r,e[t]);return r},wt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=ft(r,e[t]);return r},Ft=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=gt(r,e[t]);return r},vt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=yt(r,e[t]);return r},{PI:Ct,E:Et}=Math,kt=Number.EPSILON,At=t=>new Array(t).fill(0),Dt=t=>new Array(t).fill(1),Bt=(t,e)=>new Array(e).fill(t),_t=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof ot)return new ot(t.rows,t.cols,_t(t.arr.flat(1),e,s));if(t instanceof r)return new r(_t(t.a,e,s),_t(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>_t(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=_t(t[r])}}},Mt=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof ot)return new ot(t.rows,t.cols,Mt(t.arr.flat(1),e,s));if(t instanceof r)return new r(Mt(t.a,e,s),Mt(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Mt(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=Mt(t[r])}}},Tt=(t,e,s,n,i)=>{if("number"==typeof t)return Mt(_t(t,e,s),n,i);if(t instanceof ot)return new ot(t.rows,t.cols,Tt(t.arr.flat(1),e,s,n,i));if(t instanceof r)return new r(Tt(t.a,s,n,i),Tt(t.b,e,s,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Tt(t,e,s,n,i)));{let r=new Array(t.length);for(let o=0;o<t.length;o++)r[o]=Tt(t[o],e,s,n,i)}}},It=(t,e,s)=>{const[n,i]=[o(e,s),a(e,s)];if("number"==typeof t)return o(a(t,n),i);if(t instanceof ot)return new ot(t.rows,t.cols,It(t.arr.flat(1),n,i));if(t instanceof r)return new r(It(t.a,n,i),It(t.b,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>It(t,n,i)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=It(t[r],n,i)}}},St=(t,e,r,s=!1)=>{let n=[];if(t<e)for(let i=t;s?i<=e:i<e;i+=r)n.push(10*i/10);else for(let i=t;s?i>=e:i>e;i-=r)n.push(10*i/10);return n},Lt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[r,s]=[t,e].sort(((t,e)=>e-t));var o=[];let h;h=i?(r-s)/(n-1):(r-s)/n;for(var a=0;a<n;a++)t<e?o.push(s+h*a):o.push(r-h*a);return o}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);n=n||Math.abs(r.a-o.a)+1;const a=Lt(r.a,o.a,n,i),h=Lt(r.b,o.b,n,i);let l=new Array(n).fill(null);return l=l.map(((t,e)=>s(a[e],h[e]))),l}}},Ot=(t,e,r=e-t+1,s=Et,n=!0)=>Lt(t,e,r,n).map((t=>g(s,t))),Vt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[r,s]=[t,e].sort(((t,e)=>e-t));let o;o=y(r/s,i?n-1:n);const a=[s];for(let t=1;t<n;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);let a;n=n||Math.abs(r.a-o.a)+1,a=y(o.div(r),i?n-1:n);const h=[r];for(let t=1;t<n;t++)h.push(wt(h[t-1],a));return h}}},jt=(...t)=>mt((t=>t*Math.PI/180),...t),Rt=(...t)=>mt((t=>t/Math.PI*180),...t),Nt=(t,e,r)=>{const[s,n]=[Math.min(e,r),Math.max(e,r)];return t>=s&&t<=n},Pt=(t,e,r=1e-4)=>Math.abs(t-e)<=r,zt=(t,e)=>t.reduce(((t,r)=>[...t,...e.map((t=>[r,t]))]),[]),$t=(t,e)=>{let r,s=1;if(t==N(t)&&e==N(e)){for(r=2;r<=t&&r<=e;++r)t%r==0&&e%r==0&&(s=r);return s}console.log("error")},Ht=(t,e)=>{let r;if(t==N(t)&&e==N(e)){for(r=t>e?t:e;r%t!=0||r%e!=0;)++r;return r}console.log("error")},Ut={add:bt,sub:xt,mul:wt,div:Ft,modulo:vt,zeros:At,ones:Dt,nums:Bt,norm:_t,lerp:Mt,map:Tt,clamp:It,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,sum:n,prod:i,accum:h,cartesianProduct:zt,ppcm:Ht,pgcd:$t,deg2rad:jt,rad2deg:Rt,inRange:Nt,isApproximatlyEqual:Pt},qt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*w(s)+t[e].b*F(s),o+=-t[e].a*F(s)+t[e].b*w(s)}i/=n,o/=n,e[r]=s(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},Wt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*w(s)+t[e].b*F(s),o+=t[e].a*F(s)+t[e].b*w(s)}i/=n,o/=n,e[r]=s(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},Zt=(t,e,r=!0)=>{const s=t.length,n=e.length,i=[],o=r?Math.max(s,n):s+n-1;for(let r=0;r<o;r++){let o=0;for(let i=0;i<n;i++){const a=r+i-Math.floor(n/2);o+=(a>=0&&a<s?t[a]:0)*e[i]}i.push(o)}return i},Xt=(t,e,r=!0)=>{t instanceof ot||(t=at(t)),e instanceof ot||(e=at(e));const s=t.rows,n=t.cols,i=r?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=r?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let r=0;r<i;r++){const i=[];for(let h=0;h<o;h++){let o=0;for(let i=0;i<a;i++)for(let l=0;l<a;l++){const c=r+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<s&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},Kt=(t,e,r)=>t instanceof ot||t instanceof Array&&t[0][0]?Xt(t,e,r):Zt(t,e,r);class Gt{constructor(t){this.input=t,this.input_fft=qt(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z<t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z>t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}bandePass(){}bandeCoupe(){}}const Yt={zeros:At,ones:Dt,nums:Bt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,map:Tt,norm:_t,lerp:Mt,clamp:It,noise:(t,e=0,r=1)=>J.floats(t,e,r),echelon(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?1:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rampe(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?t-e:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sign(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>Math.sign(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rect(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},tri(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},dirac:(t,e)=>mt((t=>t===e?1/0:0),...t),lorentz(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>1/(1+(t-e)**2)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sinc(t,e,r=1){t instanceof Array||(t=[t]);const s=mt((t=>E(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},square(t,e=1,r=1){t instanceof Array||(t=[t]);const s=mt((t=>H(F(2*t*Math.PI/e))),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sawtooth(){},conv:Kt,conv1d:Zt,conv2d:Xt,circularConv:(t,e)=>Kt(t,e,!0),linearConv:(t,e)=>Kt(t,e,!1),circularConv1d:(t,e)=>Zt(t,e,!0),linearConv1d:(t,e)=>Zt(t,e,!1),circularConv2d:(t,e)=>Xt(t,e,!0),linearConv2d:(t,e)=>Xt(t,e,!1),fft:qt,ifft:Wt,filter:t=>new Gt(t)},Qt={PI:Ct,E:Et,EPSILON:kt,Random:J,complex:s,Complex:r,Matrix:ot,LinearSystem:ut,matrix:at,matrix2:ht,matrix3:lt,matrix4:ct,cos:w,sin:F,tan:v,sinc:E,sec:C,csc:k,cot:A,abs:d,sqrt:f,pow:g,sqrtn:y,e:b,ln:x,acos:D,asin:B,atan:_,acot:M,cosh:T,sinh:I,tanh:S,coth:L,acosh:O,asinh:V,atanh:j,min:o,max:a,sign:H,floor:N,ceil:R,round:P,fact:$,hypot:q,sig:U,atan2:z,Utils:Ut,mapfun:mt,nums:Bt,zeros:At,ones:Dt,sum:n,prod:i,add:bt,mul:wt,div:Ft,sub:xt,modulo:vt,rad2deg:Rt,deg2rad:jt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,norm:_t,lerp:Mt,map:Tt,clamp:It,pgcd:$t,ppcm:Ht,isApproximatlyEqual:Pt,inRange:Nt,cartesianProduct:zt,Discret:Q,Logic:K,Base:X,Permutation:G,Combinaison:Y,powerSet:W,subSet:Z,Signal:Yt,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Jt=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class te{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new ot([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t,{target:e="parent",maskVector:r=null}={}){return"parent"===e||0===e?((t,e)=>{t&&Object.assign(t.style,e)})(this.target.element,t):"parent"!==e&&0!==e||(r?this.items.map(((e,s)=>1==r[s]&&e.style(t))):this.items.map((e=>e.style(t)))),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const r=this.styles.get(t);return r?this.styles.set(t,Object.assign(r,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target.element.addEventListener("pointerenter",(()=>this.use("hover"))),this.target.element.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e,{target:r,maskVector:s}={}){return this.style({width:t,height:e},{target:r,maskVector:s}),this}width(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minWidth:s,maxWidth:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({width:t},{target:e,maskVector:r});return this}height(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minHeight:s,maxHeight:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({height:t},{target:e,maskVector:r});return this}enableResize(t=!1,e=!1,{target:r,maskVector:s}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:r,maskVector:s}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.hide({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:r});return this}show({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.show({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:r});return this}color(t,{target:e,maskVector:r}={}){return this.style({color:t},{target:e,maskVector:r}),this}background(t,{target:e,maskVector:r}={}){return this.style({background:t},{target:e,maskVector:r}),this}backgroundColor(t,{target:e,maskVector:r}={}){return this.style({backgroundColor:t},{target:e,maskVector:r}),this}opacity(t,{target:e,maskVector:r}={}){return this.style({opacity:t},{target:e,maskVector:r}),this}position(t,{target:e,maskVector:r}={}){return this.style({position:t},{target:e,maskVector:r}),this}display(t,{target:e,maskVector:r}={}){return this.style({display:t},{target:e,maskVector:r}),this}zIndex(t,{target:e,maskVector:r}={}){return this.style({zIndex:t},{target:e,maskVector:r}),this}float(t,{target:e,maskVector:r}={}){return this.style({float:t},{target:e,maskVector:r}),this}border(t="1px solid red",{target:e,maskVector:r}={}){return this.style({border:t},{target:e,maskVector:r}),this}borderTop(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderTop:t},{target:e,maskVector:r}),this}borderRight(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderRight:t},{target:e,maskVector:r}),this}borderBottom(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderBottom:t},{target:e,maskVector:r}),this}borderLeft(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderLeft:t},{target:e,maskVector:r}),this}borderRadius(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:r}),this}margin(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({margin:t},{target:e,maskVector:r}),this}marginTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginTop:t},{target:e,maskVector:r}),this}marginRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginRight:t},{target:e,maskVector:r}),this}marginBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:r}),this}marginLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:r}),this}padding(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({padding:t},{target:e,maskVector:r}),this}paddingTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:r}),this}paddingRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:r}),this}paddingBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:r}),this}paddingLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:r}),this}font(t,{target:e,maskVector:r}={}){return this.style({font:t},{target:e,maskVector:r}),this}fontFamily(t="",{target:e,maskVector:r}={}){return this.style({fontFamily:t},{target:e,maskVector:r}),this}fontSize(t,{target:e,maskVector:r}={}){return this.style({fontSize:t},{target:e,maskVector:r}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:r,maskVector:s}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:r,maskVector:s}),this}clip(t,{target:e,maskVector:r}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:r}),this}fadeOut(t=1){return this.style({transition:t/1e3+"s",opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:t/1e3+"s",opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}#r(t){const e=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${e})`,"-webkit-transform":`matrix3d(${e})`,"-moz-transform":`matrix3d(${e})`,"-ms-transform":`matrix3d(${e})`,"-o-transform":`matrix3d(${e})`}),0!=t&&this.style({transition:`transform ${t/1e3}s ease`})}translate(t,e=t,r=0,s=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,r),this.#r(s),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#r(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#r(e),this}translateZ(t,e=0){const r=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,t),this.cache.transformation.matrix.set(3,3,1-t/r),this.#r(e),this}perspective(t,e=0){const r=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/t),this.cache.transformation.matrix.set(3,3,1-r/t),this.#r(e),this}scale(t,e=t,r=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.cache.transformation.matrix.arr.join(","),this.#r(r),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skew(t,e=t,r=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#r(r),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,w(t)),this.cache.transformation.matrix.set(1,2,-F(t)),this.cache.transformation.matrix.set(2,1,F(t)),this.cache.transformation.matrix.set(1,2,w(t)),this.#r(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,w(t)),this.cache.transformation.matrix.set(0,2,F(t)),this.cache.transformation.matrix.set(2,0,-F(t)),this.cache.transformation.matrix.set(2,2,w(t)),this.#r(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,w(t)),this.cache.transformation.matrix.set(0,1,-F(t)),this.cache.transformation.matrix.set(1,0,F(t)),this.cache.transformation.matrix.set(1,1,w(t)),this.#r(e),this}flipeX({t:t=1}={}){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target.element.addEventListener("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",e),this.target.element.removeEventListener("transitionend",e),this}slideIn({t:t=1,w:e="100%",h:r="auto"}={}){return this.style({transition:t+"s",width:e,height:r,visibility:"visible"}),this}slideOut({t:t=1,width:e=0,height:r=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:r});const s=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",s),this.target.element.removeEventListener("transitionend",s),this}}function ee(t,e,r,s){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),r&&r(),this.cache.stream.enabled[e]&&s&&this.cache.stream.history[e].push(s),this.cache.callbacks[e].map((t=>t(this))),this}class re{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,r){const s="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(r),this.targetElement.addEventListener(s,e),this}__onEvent(t,e,...r){if(0===r.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function se(t){ee.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function ne(t){ee.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function ie(t){ee.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function oe(t){ee.call(this,t,"enter",null,null)}function ae(t){ee.call(this,t,"leave",null,null)}function he(t){ee.call(this,t,"out",null,null)}class le extends re{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"pointer",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:se.bind(this),move:ne.bind(this),up:ie.bind(this),enter:oe.bind(this),out:he.bind(this),leave:ae.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0},...t),this}}var ce=t=>new le(t);function ue(t){ee.call(this,t,"down",(()=>this.kd=t.key),{key:t.key,t:10})}function me(t){ee.call(this,t,"press",(()=>this.kp=t.key),{key:t.key,t:10})}function pe(t){ee.call(this,t,"up",(()=>this.ku=t.key),{key:t.key,t:10})}class de extends re{constructor(t){super(t),this.kp=null,this.kd=null,this.ku=null,this.t=0,this.cache={prefixe:"key",preventDefault:{down:!1,press:!1,up:!1},paused:{down:!1,press:!1,up:!1},stream:{enabled:{down:!1,press:!1,up:!1},clear:{down:!0,press:!1,up:!1},history:{down:[],press:[],up:[]}},callbacks:{down:[t=>console.log({kd:t.kd})],press:[t=>console.log({kp:t.kp})],up:[t=>console.log({ku:t.ku})]},successifKeysCallback:{down:[t=>console.log(1111)],press:[t=>console.log(1112)],kyup:[t=>console.log(1113)]}},this.__controller={down:ue.bind(this),press:me.bind(this),up:pe.bind(this)}}onDown(...t){return this.__onEvent("down",{down:!0},...t),this}onPress(...t){return this.__onEvent("press",{press:!0},...t),this}onUp(...t){return this.__onEvent("up",{up:!0},...t),this}}var fe=t=>new de(t);function ge(t){ee(this,t,"start",null)}function ye(t){ee.call(this,t,"drag",null,null)}function be(t){ee.call(this,t,"end",null,null)}function xe(t){ee.call(this,t,"drop",null,null)}class we extends re{constructor(t){super(t),this.target.setAttribute("draggable",!0),this.cache={prefixe:"drag",preventDefault:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},paused:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},callbacks:{drag:[],start:[],end:[],enter:[],leave:[],over:[]},stream:{enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},clear:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},history:{drag:[],start:[],end:[],enter:[],leave:[],over:[]}}},this.__controller={start:ge.bind(this),drag:ye.bind(this),end:be.bind(this)}}onStart(...t){return this.__onEvent("start",{},...t),this}onDrag(...t){return this.__onEvent("drag",{},...t),this}onEnd(...t){return this.__onEvent("end",{},...t),this}}class Fe extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{drop:!1},paused:{drop:!1},stream:{enabled:{drop:!1},clear:{drop:!1},history:{drop:[]}},callbacks:{drop:[t=>console.log({dx:t.dx,dy:t.dy,drop:t.drop,move:t.move,t:t.dt})]}},this.__controller={drop:xe.bind(this)}}onDrop(...t){return this.__onEvent("drop",{},...t),this}}const ve=t=>new we(t),Ce=t=>new Fe(t);function Ee(t){ee.call(this,t,"click",null,null)}function ke(t){ee.call(this,t,"dbclick",null,null)}class Ae extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{click:!1,dbclick:!1},paused:{click:!1,dbclick:!1},stream:{enabled:{click:!1,dbclick:!1},clear:{click:!1,dbclick:!1},history:{click:[],dbclick:[]}},callbacks:{click:[],dbclick:[]}},this.__controller={click:Ee.bind(this),dbclick:ke.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const De=t=>new Ae(t);function Be(t){ee.call(this,t,"copy",null,null)}function _e(t){ee.call(this,t,"cut",null,null)}function Me(t){ee.call(this,t,"paste",null,null)}function Te(t){ee.call(this,t,"select",null,null)}class Ie extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{copy:!1,cut:!1,paste:!1,select:!1},paused:{copy:!1,cut:!1,paste:!1,select:!1},stream:{enabled:{copy:!1,cut:!1,paste:!1,select:!1},clear:{copy:!1,cut:!1,paste:!1,select:!1},history:{copy:[],cut:[],paste:[],select:[]}},callbacks:{copy:[],cut:[],paste:[],select:[]}},this.__controller={copy:Be.bind(this),cut:_e.bind(this),paste:Me.bind(this),select:Te.bind(this)}}onCopy(...t){return this.__onEvent("copy",{},...t),this}onCut(...t){return this.__onEvent("cut",{},...t),this}onPaste(...t){return this.__onEvent("paste",{},...t),this}onSelect(...t){return this.__onEvent("select",{},...t),this}}const Se=t=>new Ie(t);function Le(t){ee.call(this,t,"focus",null,null)}function Oe(t){ee.call(this,t,"blur",null,null)}class Ve extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{focus:!1,blur:!1},paused:{focus:!1,blur:!1},stream:{enabled:{focus:!1,blur:!1},clear:{focus:!1,blur:!1},history:{focus:[],blur:[]}},callbacks:{focus:[],blur:[]}},this.__controller={focus:Le.bind(this),blur:Oe.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const je=t=>new Ve(t);function Re(t){ee.call(this,t,"input",null,null)}function Ne(t){ee.call(this,t,"change",null,null)}class Pe extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Re.bind(this),change:Ne.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const ze=t=>new Pe(t),$e=t=>function(e){ee.call(this,e,t,null,null)};class He extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#s(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=$e(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#s(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#s(t),this.detail=e;const r=new Event(t);return this.targetElement.dispatchEvent(r),this}}const Ue=t=>new He(t),qe={Pointer:ce,Key:fe,Drag:ve,Drop:Ce,Click:De,Clipboard:Se,Focus:je,Input:ze,CustomEvent:Ue,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class We{constructor(t,e,{threshold:r=0,margin:s=0}={}){this.target=t,this.config={threshold:r,margin:s},this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold})}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}class Ze{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.boundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}class Xe{constructor(t,e=0){this.id="Ziko-Style-"+e,this.use(t),this.keys=new Set,this.styles={default:{fontSize:"1em"}}}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t instanceof Object?Object.assign(this.styles,t):Object.assign(this.styles,{[t]:e}),this}#n(t){const e=Object.keys(this.styles);for(let r in this.styles[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,this.styles[e[t]][r]),this.keys.add(r);return this}#i(t){for(let e in this.styles[t])document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e);return this}#o(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e);return this}use(t){return"number"==typeof t&&this.#n(t),"string"==typeof t&&this.#i(t),t instanceof Object&&this.#o(t),this}}const Ke={cozyCottonCandy:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},crystalClear:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"},lightdreamyDusk:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},luminousLavender:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},meadowMornings:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},moonlitMauve:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},morningMist:{background:"#F6F6F6",currentLine:"#EAEAEA",selection:"#D8D8D8",foreground:"#333333",comment:"#808080",cyan:"#00A6A6",green:"#4CAF50",orange:"#FFA726",pink:"#FF4081",purple:"#9C27B0",red:"#FF5252",yellow:"#FFD740"},oceanBreeze:{background:"#ECF1F4",currentLine:"#DDE8ED",selection:"#BFD3C1",foreground:"#37474F",comment:"#607D8B",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},pastelParadise:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},pastelPetals:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sereneSnowfall:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},softSherbet:{background:"#FDF8F3",currentLine:"#FAF1EB",selection:"#FFEBEE",foreground:"#6D4C41",comment:"#A1887F",cyan:"#00BCD4",green:"#689F38",orange:"#FFA000",pink:"#EC407A",purple:"#8E24AA",red:"#E53935",yellow:"#FFC107"},subtleSerenity:{background:"#F3F5F7",currentLine:"#E8EDF2",selection:"#D1D9E6",foreground:"#2C3E50",comment:"#95A5A6",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},summerSunset:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#4E342E",comment:"#795548",cyan:"#009688",green:"#43A047",orange:"#FF5722",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sunnyDay:{background:"#FFF8E1",currentLine:"#FFF3E0",selection:"#FFE0B2",foreground:"#4E342E",comment:"#795548",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},tranquilTwilight:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},tranquilWaves:{background:"#F9F9F9",currentLine:"#E4E4E4",selection:"#D4D4D4",foreground:"#2C3E50",comment:"#7F8C8D",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},whisperingWillow:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"}},Ge={antiqueRose:{background:"#1C1014",currentLine:"#2B1B21",selection:"#443034",foreground:"#D8B5B5",comment:"#7F5E5E",cyan:"#6FA2A2",green:"#66A66F",orange:"#FFB97A",pink:"#FFA8BD",purple:"#B78DA5",red:"#FF6C6C",yellow:"#FFD579"},auroraBorealis:{background:"#1D1426",currentLine:"#2B1E35",selection:"#432D4E",foreground:"#C2AABF",comment:"#7F6E8E",cyan:"#7EA5D3",green:"#77C992",orange:"#FFC476",pink:"#FFA8B3",purple:"#AE9AC3",red:"#FF6C6C",yellow:"#FFD576"},autumnHarvest:{background:"#291C10",currentLine:"#3A2A1E",selection:"#573C2C",foreground:"#D4C3A2",comment:"#7F6F52",cyan:"#82B4BF",green:"#7FB074",orange:"#FFAB6E",pink:"#FF8196",purple:"#B394A9",red:"#FF6565",yellow:"#FFD270"},aylin:{background:"#13161E",currentLine:"#161A28",selection:"#222B3E",foreground:"#D2D8E0",comment:"#697098",cyan:"#78D1E1",green:"#98C379",orange:"#EBCB8B",pink:"#D16D9E",purple:"#C678DD",red:"#E88388",yellow:"#EBCB8B"},azureBlue:{background:"#001B29",currentLine:"#002C3E",selection:"#004E6B",foreground:"#C3D7E2",comment:"#5F7C92",cyan:"#75B7D1",green:"#70C8A7",orange:"#FFB476",pink:"#FF92B0",purple:"#B88BC3",red:"#FF6666",yellow:"#FFD666"},cobalt2:{background:"#193549",currentLine:"#1F4662",selection:"#193549",foreground:"#B9BED0",comment:"#627D98",cyan:"#4DB5BD",green:"#86B300",orange:"#FFB86C",pink:"#FF7F7B",purple:"#9B64FB",red:"#FF6672",yellow:"#FFCC99"},cobaltMaterialTheme:{background:"#263238",currentLine:"#37474F",selection:"#80CBC4",foreground:"#CFD8DC",comment:"#78909C",cyan:"#80CBC4",green:"#A5D6A7",orange:"#FFD54F",pink:"#FF80AB",purple:"#CE93D8",red:"#EF5350",yellow:"#FFEE58"},cosmicBlue:{background:"#1B2836",currentLine:"#223348",selection:"#39516D",foreground:"#C0D4E5",comment:"#728CAB",cyan:"#75A6FF",green:"#5ED99F",orange:"#FFAD6F",pink:"#FF90B6",purple:"#A889C5",red:"#FF6E6E",yellow:"#FCD256"},cosmicSunset:{background:"#1B1921",currentLine:"#272530",selection:"#3C3948",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},cyberForest:{background:"#0D151D",currentLine:"#18262F",selection:"#2B3B47",foreground:"#CDD7E0",comment:"#667B8B",cyan:"#7EC4CF",green:"#68CC96",orange:"#FFAC6C",pink:"#FF89B4",purple:"#A889C5",red:"#FF6565",yellow:"#FFCB6B"},cyberPunkCity:{background:"#000000",currentLine:"#121212",selection:"#1F1F1F",foreground:"#DADADA",comment:"#626262",cyan:"#71B7FF",green:"#50D890",orange:"#FFB86C",pink:"#FF79C6",purple:"#BB86FC",red:"#FF5454",yellow:"#FDD663"},cyberpunkNeon:{background:"#121212",currentLine:"#1B1B1B",selection:"#262626",foreground:"#DADADA",comment:"#6C6C6C",cyan:"#69AEDB",green:"#4ECCA3",orange:"#FFB86C",pink:"#FF79C6",purple:"#D08EFF",red:"#FF5454",yellow:"#FDD663"},darkDesert:{background:"#1E2022",currentLine:"#282A2E",selection:"#393D42",foreground:"#C0C5CE",comment:"#5C6368",cyan:"#6FB3E0",green:"#88C076",orange:"#FFB454",pink:"#FF7F90",purple:"#B48EAD",red:"#FF6666",yellow:"#FFCC66"},darkMint:{background:"#11161A",currentLine:"#1B2128",selection:"#3D4853",foreground:"#D9DEE5",comment:"#65737E",cyan:"#88C0D0",green:"#98C379",orange:"#FFB86C",pink:"#FF7F8B",purple:"#C594C5",red:"#FF6561",yellow:"#FAD07B"},deepOcean:{background:"#121C2C",currentLine:"#182236",selection:"#2B3E50",foreground:"#BDC3C7",comment:"#6C7A89",cyan:"#59ABE3",green:"#26A65B",orange:"#F9690E",pink:"#EB3B5A",purple:"#D2527F",red:"#E74C3C",yellow:"#F5AB35"},deepOceanBlue:{background:"#1B2F40",currentLine:"#263B53",selection:"#3A536E",foreground:"#BFC9D4",comment:"#657C8E",cyan:"#6CB5FF",green:"#65C287",orange:"#FFA974",pink:"#FF87B4",purple:"#AE9BFF",red:"#FF6666",yellow:"#FFD67B"},deepOceanSunset:{background:"#151D2A",currentLine:"#1D2735",selection:"#31405B",foreground:"#D5D9E0",comment:"#6C7B8B",cyan:"#6FAAD4",green:"#66C295",orange:"#FFA476",pink:"#FF94B0",purple:"#B08FC0",red:"#FF6565",yellow:"#FFD466"},deepSpace:{background:"#0F1419",currentLine:"#1A232D",selection:"#3A4758",foreground:"#CDD9E5",comment:"#657C96",cyan:"#6CB6FF",green:"#4CAF50",orange:"#FFB454",pink:"#FF75B5",purple:"#9A76FF",red:"#FF5555",yellow:"#FFC857"},dracula:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},dreamyDusk:{background:"#22243D",currentLine:"#313558",selection:"#4C4F6D",foreground:"#A5A7C5",comment:"#6F728E",cyan:"#81A2BE",green:"#7FB074",orange:"#FFB476",pink:"#FF91A4",purple:"#AE8DC2",red:"#FF7272",yellow:"#FFD67A"},electricLagoon:{background:"#15232B",currentLine:"#20323E",selection:"#344E5F",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},emeraldCity:{background:"#112E26",currentLine:"#1B3F38",selection:"#2F6253",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},enchantedEclipse:{background:"#131A22",currentLine:"#1F2C3A",selection:"#2D4455",foreground:"#A7B6C2",comment:"#6B7B8C",cyan:"#5FA8D3",green:"#5CB8A4",orange:"#FFA96C",pink:"#FF8FA2",purple:"#A88ED1",red:"#FF6B6B",yellow:"#FFD575"},enchantedEvening:{background:"#1E1824",currentLine:"#2A2332",selection:"#3F3A4F",foreground:"#C2B4CB",comment:"#7F7292",cyan:"#76AAD8",green:"#6CC095",orange:"#FFB36C",pink:"#FF8FB0",purple:"#AB8CC2",red:"#FF6464",yellow:"#FFD164"},fireAndIce:{background:"#1F2532",currentLine:"#292F3D",selection:"#4E556A",foreground:"#D8DEE9",comment:"#69758E",cyan:"#7EC4CF",green:"#68CC98",orange:"#FFA071",pink:"#FF88B5",purple:"#AE9BFF",red:"#FF657E",yellow:"#FDCB83"},forestGreen:{background:"#1A1E22",currentLine:"#24292F",selection:"#394147",foreground:"#C8C8C8",comment:"#5C6370",cyan:"#7AAB9D",green:"#88B379",orange:"#FFAC6F",pink:"#F97B77",purple:"#A187BE",red:"#FF5C5C",yellow:"#F5D76E"},futuristicBlue:{background:"#111B26",currentLine:"#1B2E3F",selection:"#334D65",foreground:"#C0D2E3",comment:"#6E859E",cyan:"#77AADB",green:"#78C196",orange:"#FFAC6C",pink:"#FF8DBE",purple:"#A48ADA",red:"#FF6666",yellow:"#FFD66D"},gentlePurple:{background:"#2E2E3D",currentLine:"#383849",selection:"#4D4D5C",foreground:"#B2B2CC",comment:"#6E6E8F",cyan:"#6D77CC",green:"#81C995",orange:"#FFB16A",pink:"#FF7CAC",purple:"#8A80A1",red:"#FF657A",yellow:"#FDB26E"},githubDarkDimmed:{background:"#0D1117",currentLine:"#161B22",selection:"#1F6F8B",foreground:"#8B949E",comment:"#8B949E",cyan:"#79C0FF",green:"#2DD57A",orange:"#FFB454",pink:"#FF80AB",purple:"#D781D3",red:"#EF5252",yellow:"#D29922"},gruvbox:{background:"#282828",currentLine:"#3c3836",selection:"#bdae93",foreground:"#ebdbb2",comment:"#928374",cyan:"#83a598",green:"#b8bb26",orange:"#fe8019",pink:"#d3869b",purple:"#d3869b",red:"#fb4934",yellow:"#fabd2f"},materialTheme:{background:"#263238",currentLine:"#37474f",selection:"#90a4ae",foreground:"#eceff1",comment:"#546e7a",cyan:"#80cbc4",green:"#a5d6a7",orange:"#ffb74d",pink:"#f06292",purple:"#ba68c8",red:"#ef5350",yellow:"#ffee58"},midnightMystique:{background:"#1E1E27",currentLine:"#292935",selection:"#3F3F4F",foreground:"#C2C2D3",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},midnightSunset:{background:"#182233",currentLine:"#1D2D46",selection:"#384B66",foreground:"#B7C0CE",comment:"#6A788A",cyan:"#6B98FF",green:"#6BD49D",orange:"#FFA178",pink:"#FF8DAB",purple:"#B48EAD",red:"#F96263",yellow:"#FADA5E"},minimalMonochrome:{background:"#1C1C1C",currentLine:"#262626",selection:"#363636",foreground:"#D9D9D9",comment:"#757575",cyan:"#7DC1C7",green:"#7FB074",orange:"#FFB869",pink:"#FF81A2",purple:"#B48EAD",red:"#FF6B6B",yellow:"#FFD57B"},modernMarine:{background:"#0A0E19",currentLine:"#121929",selection:"#1E2B42",foreground:"#D5D8DE",comment:"#7F8493",cyan:"#6FB1D3",green:"#6CC792",orange:"#FFB577",pink:"#FF96B0",purple:"#B690C2",red:"#FF6666",yellow:"#FFD666"},monokai:{background:"#272822",currentLine:"#3e3d32",selection:"#49483e",foreground:"#f8f8f2",comment:"#75715e",cyan:"#66d9ef",green:"#a6e22e",orange:"#fd971f",pink:"#f92672",purple:"#ae81ff",red:"#f92672",yellow:"#e6db74"},moonlitMeadow:{background:"#12252C",currentLine:"#1D3B47",selection:"#24566E",foreground:"#A7C4BC",comment:"#5E7D84",cyan:"#82B7BD",green:"#87C38A",orange:"#F4B66A",pink:"#F77A92",purple:"#C58AC9",red:"#F0725E",yellow:"#E8C284"},mysticalMauve:{background:"#1A1A26",currentLine:"#252533",selection:"#3E3E57",foreground:"#B2B2CC",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},nebulaNights:{background:"#1B1821",currentLine:"#262330",selection:"#3C3A48",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},neonLights:{background:"#000000",currentLine:"#0D0D0D",selection:"#1A1A1A",foreground:"#DADADA",comment:"#7F7F7F",cyan:"#6FE3E3",green:"#60FFA0",orange:"#FFB67A",pink:"#FF9FBD",purple:"#BF8CC2",red:"#FF6666",yellow:"#FFD666"},nightSky:{background:"#17202A",currentLine:"#1C2732",selection:"#2E4053",foreground:"#D0D3D4",comment:"#566573",cyan:"#5DADE2",green:"#45B39D",orange:"#F5B041",pink:"#EB984E",purple:"#AF7AC5",red:"#EC7063",yellow:"#F4D03F"},nord:{background:"#2e3440",currentLine:"#3b4252",selection:"#4c566a",foreground:"#d8dee9",comment:"#616e88",cyan:"#88c0d0",green:"#a3be8c",orange:"#ebcb8b",pink:"#bf616a",purple:"#b48ead",red:"#bf616a",yellow:"#ebcb8b"},nova:{background:"#1F262D",currentLine:"#232A32",selection:"#414B56",foreground:"#D9E2EC",comment:"#525F69",cyan:"#89DDFF",green:"#64D989",orange:"#E7C664",pink:"#E95678",purple:"#C594C5",red:"#FF5656",yellow:"#FFC172"},novaDark:{background:"#1A2026",currentLine:"#212930",selection:"#36424F",foreground:"#C0C6D9",comment:"#5B6C7F",cyan:"#84CEE4",green:"#89DD6D",orange:"#FFB46E",pink:"#FF7CAB",purple:"#BB80B3",red:"#FC6161",yellow:"#FAB795"},oceanBlue:{background:"#12232E",currentLine:"#1D3B53",selection:"#205072",foreground:"#A8DADC",comment:"#5E81AC",cyan:"#7FB2F0",green:"#88C0D0",orange:"#FFB86C",pink:"#FFA0A0",purple:"#D4A3D9",red:"#EF8E8E",yellow:"#FFD180"},oceanicAzure:{background:"#001A23",currentLine:"#002B36",selection:"#004056",foreground:"#C0C5CE",comment:"#4D5767",cyan:"#75A4C0",green:"#68A3A8",orange:"#FFA45E",pink:"#FF94B0",purple:"#B48EAD",red:"#FF6363",yellow:"#FFD464"},oceanicGruvbox:{background:"#1d2021",currentLine:"#282828",selection:"#458588",foreground:"#ebdbb2",comment:"#928374",cyan:"#89b482",green:"#a9b665",orange:"#d79921",pink:"#d3869b",purple:"#b16286",red:"#fb4934",yellow:"#d5c4a1"},oceanicNext:{background:"#1B2B34",currentLine:"#343D46",selection:"#4F5B66",foreground:"#A7ADBA",comment:"#616E7C",cyan:"#7FB5DA",green:"#98C379",orange:"#EBCB8B",pink:"#EC5f67",purple:"#C594C5",red:"#EC5f67",yellow:"#D29922"},oneDark:{background:"#282c34",currentLine:"#3e4451",selection:"#4f5b66",foreground:"#abb2bf",comment:"#5c6370",cyan:"#56b6c2",green:"#98c379",orange:"#d19a66",pink:"#c678dd",purple:"#c678dd",red:"#e06c75",yellow:"#e5c07b"},polarNight:{background:"#2E3440",currentLine:"#3B4252",selection:"#4C566A",foreground:"#D8DEE9",comment:"#616E88",cyan:"#81A1C1",green:"#A3BE8C",orange:"#EBCB8B",pink:"#BF616A",purple:"#B48EAD",red:"#BF616A",yellow:"#EBCB8B"},radiantRainforest:{background:"#16231A",currentLine:"#1F3927",selection:"#355D43",foreground:"#A7C9A2",comment:"#6F8D77",cyan:"#80C3BB",green:"#76CC8F",orange:"#FFB56C",pink:"#FF8FA6",purple:"#AB8CC2",red:"#FF6C6C",yellow:"#FFD576"},retroTech:{background:"#0C0C0C",currentLine:"#141414",selection:"#1F1F1F",foreground:"#D9D9D9",comment:"#626262",cyan:"#77BFC9",green:"#69CC6D",orange:"#FFC46D",pink:"#FF7D99",purple:"#BB86FC",red:"#FF5555",yellow:"#FACD60"},royalPurple:{background:"#1E1B2E",currentLine:"#272337",selection:"#3E395B",foreground:"#D5D1E2",comment:"#76708E",cyan:"#76D7C4",green:"#47B87C",orange:"#FFC300",pink:"#F39C9D",purple:"#9B59B6",red:"#E74C3C",yellow:"#F1C40F"},sapphireSkies:{background:"#081125",currentLine:"#0F1F3A",selection:"#1E3874",foreground:"#D8DCE6",comment:"#6B7394",cyan:"#7EC4D9",green:"#7DCB9E",orange:"#FFB578",pink:"#FF8FB3",purple:"#B992CC",red:"#FF6767",yellow:"#FFD684"},shadesOfPurple:{background:"#2d2b55",currentLine:"#37355a",selection:"#444267",foreground:"#ecebf0",comment:"#9a99a3",cyan:"#a1efe4",green:"#72f1b8",orange:"#f78c6c",pink:"#ffcc99",purple:"#9a99a3",red:"#ff6188",yellow:"#ffcc99"},solarizedDark:{background:"#002b36",currentLine:"#073642",selection:"#586e75",foreground:"#839496",comment:"#586e75",cyan:"#2aa198",green:"#859900",orange:"#cb4b16",pink:"#d33682",purple:"#6c71c4",red:"#dc322f",yellow:"#b58900"},synthWave84:{background:"#2b213a",currentLine:"#3e3650",selection:"#564d7a",foreground:"#e0def4",comment:"#9c8c98",cyan:"#95e6cb",green:"#00ffb9",orange:"#f28779",pink:"#f771ac",purple:"#d3bfff",red:"#ff6188",yellow:"#ffd866"},tokyoNight:{background:"#1a1b26",currentLine:"#282a36",selection:"#44475a",foreground:"#eff0eb",comment:"#6b6e76",cyan:"#78d1e1",green:"#67b11d",orange:"#e1a80e",pink:"#ff79c6",purple:"#d27bff",red:"#ff5555",yellow:"#f3f99d"},tomorrowNight:{background:"#1d1f21",currentLine:"#282a36",selection:"#373b41",foreground:"#c5c8c6",comment:"#616e7c",cyan:"#81a2be",green:"#b5bd68",orange:"#de935f",pink:"#cc6666",purple:"#b294bb",red:"#cc6666",yellow:"#f0c674"},twilightMeadow:{background:"#14202A",currentLine:"#1F2E3F",selection:"#334D65",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},urbanTwilight:{background:"#161727",currentLine:"#1F2737",selection:"#35415B",foreground:"#BDC9D7",comment:"#7F8C9C",cyan:"#77AED8",green:"#6CC492",orange:"#FFB677",pink:"#FF95B1",purple:"#B48DC2",red:"#FF6C6C",yellow:"#FFD576"},vibrantInk:{background:"#1C1E26",currentLine:"#242730",selection:"#363B4A",foreground:"#BFC7D5",comment:"#5C6672",cyan:"#6A76FB",green:"#33CC95",orange:"#FF9A65",pink:"#FF75B5",purple:"#AE81FF",red:"#FF6188",yellow:"#FDD269"},vintageRust:{background:"#301F1A",currentLine:"#3E2A23",selection:"#5D3E35",foreground:"#D7C3A7",comment:"#7F6C55",cyan:"#83A4C4",green:"#7EAD90",orange:"#FFA45E",pink:"#FF8C9E",purple:"#B491A9",red:"#FF7262",yellow:"#FFD372"}},Ye={...Ke,...Ge};class Qe{constructor(t,e=0){this.id="Ziko-Theme-"+e,this.use(t)}get current(){return["background","currentLine","selection","foreground","comment","cyan","green","orange","pink","purple","red","yellow"].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}useThemeIndex(t){const e=Object.keys(Ye);for(let r in Ye[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,Ye[e[t]][r]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(Ye).map((t=>[t[0].toLowerCase(),t[1]])));for(let r in e[t])document.documentElement.style.setProperty(`--${r}-${this.id}`,e[t][r]);return this}useThemeObject(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]);return this}use(t){return"number"==typeof t&&this.useThemeIndex(t),"string"==typeof t&&this.useThemeName(t),t instanceof Object&&this.useThemeObject(t),this}}class Je{constructor(){this.events={},this.maxListeners=10}on(t,e){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.`)}once(t,e){const r=s=>{this.off(t,r),e(s)};this.on(t,r)}off(t,e){const r=this.events[t];if(r){const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}emit(t,e){const r=this.events[t];r&&r.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const tr=()=>new Je;class er{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=tr(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}class rr{constructor(t,e=!0){this.#s(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#s(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=tr(),this}}class sr{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+J.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#a(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#h(),this}#h(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const r=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),s=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);r&&s&&s(r)},this}#a(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const nr=t=>new sr(t);class ir{#l;constructor(){this.#l=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#l],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,r=!0){return this.worker.postMessage({fun:t.toString(),close:r}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}class or{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=tr(),this.isSupported&&this.#s()}async#s(){this.promise=navigator.bluetooth.requestDevice(this.options).then((t=>this.device=t))}get isSupported(){return!!navigator.bluetooth}get current(){return this.device}connect(){return this.server=this.device.gatt.connect(),this.__Emitter__.emit("ziko:bluetooth-connected"),this}disconnect(){return this.device.gatt.disconnect(),this.__Emitter__.emit("ziko:bluetooth-disconnected"),this}onConnect(t){return this.__Emitter__.on("ziko:bluetooth-connected",t),this}onDisconnect(t){return this.__Emitter__.on("ziko:bluetooth-disconnected",t),this}dispose(){}async battery(t){const e=await this.server.getPrimaryService("battery_service"),r=await e.getCharacteristic("battery_level"),s=await r.readValue();t(await s.getUint8(0))}}class ar{constructor(){this.isSupported&&this.#s()}async#s(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:r,dischargingTime:s}=this.__Battery__;return{level:t,charging:e,chargingTime:r,dischargingTime:s}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}class hr{constructor(){this.isSupported&&this.#s()}async#s(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}class lr{constructor(t,{fps:e,step:r,t:s=[0,null],start:n=!0}={}){this.callback=t,this.cache={isRunning:!1,AnimationId:null,startTime:null,step:r,fps:e,t:s,started:n},this.adjust(),this.i=0}adjust(){if(this.cache.step&&this.cache.fps&&(console.warn(`Fps will be adjusted from ${this.cache.fps} to ${1e3/this.cache.step} to ensure a smoother animation`),this.cache.fps=1e3/this.cache.step),this.cache.started){const t=this.cache.t;t[0]?this.startAfter(t[0]):this.start(),t[1]&&this.stopAfter(t[1])}return this}get TIME_STEP(){return this.cache.step?this.cache.step:1e3/this.cache.fps}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.startTime;e>this.TIME_STEP&&(this.callback(this),this.i++,this.cache.startTime=t-e%this.TIME_STEP),this.cache.AnimationId=setTimeout(this.animate,0)}}}const cr=(t,e)=>new lr(t,e),ur={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-ur.OutBounce(1-t),OutBounce(t){const e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375},InOutBounce:t=>t<.5?(1-ur.OutBounce(1-2*t))/2:(1+ur.OutBounce(2*t-1))/2},mr=(t,e=1e3)=>(...r)=>setTimeout((()=>t(...r)),e),pr=(t,e)=>{let r=0;return(...s)=>{const n=(new Date).getTime();n-r<e||(r=n,t(...s))}},dr=t=>{const e=Date.now(),r=performance.memory.usedJSHeapSize,s=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-r,result:s}},fr=t=>new Promise((e=>{if(t.element)return e(t.element);const r=new MutationObserver((()=>{t.element&&(e(t.element),r.disconnect())}));r.observe(document.body,{childList:!0,subtree:!0})})),gr=(t,e=2e3)=>{const r=Date.now();for(;Date.now()-r<e;)if(t.element)return t.element},yr=t=>new Promise((e=>setTimeout(e,t))),br=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class xr{constructor(t,{ease:e=ur.Linear,step:r=50,t:s=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:r,intervall:s,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#c(){this.t+=this.cache.step,this.i++,this.tx=Tt(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#u(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#c.bind(this),this.cache.step)),this}start(){return this.#u(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#u(!1),this}stop(){return this.pause(),this.reset(!1),this}}const wr=(t,e)=>new xr(t,e),Fr={wait:yr,timeTaken:br,useThrottle:pr,useDebounce:mr,Ease:ur,time_memory_Taken:dr,loop:cr,animation:wr,waitForUIElm:fr,waitForUIElmSync:gr,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class vr{#m;constructor(t,e,r){this.#m={storage:t,globalKey:e,channel:nr(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#s(r),this.#p()}get items(){return JSON.parse(this.#m.storage[this.#m.globalKey]??null)}#p(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#s(t){this.#m.channel=nr(`Ziko:useStorage-${this.#m.globalKey}`),this.#m.channel.on("Ziko-Storage-Updated",(()=>this.#p())),t&&(this.#m.storage[this.#m.globalKey]?(Object.keys(this.items).forEach((t=>this.#m.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.#m.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(t)),this.#m.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.#m.oldItemKeys.add(t))),this.#p(),this}add(t){const e={...this.items,...t};return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(e)),this.#p(),this}remove(...t){const e={...this.items};for(let r=0;r<t.length;r++)delete e[t[r]],delete this[t[r]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.#m.storage.removeItem(this.#m.globalKey),this.#p(),this}}const Cr={useStyle:t=>e=>new Xe(e,t),useTheme:(t=0)=>(e=0)=>new Qe(e,t),useBattery:()=>new ar,useGeolocation:()=>new hr,useEventEmitter:tr,useChannel:nr,useThread:(t,e,r)=>{const s=new ir;return t&&s.call(t,e,r),s},useBluetooth:t=>new or(t),useTitle:(t,e)=>new er(t,e),useFavIcon:(t,e)=>new rr(t,e),useThrottle:pr,useDebounce:mr,useLocaleStorage:(t,e)=>new vr(localStorage,t,e),useSessionStorage:(t,e)=>new vr(sessionStorage,t,e),useSuccesifKeys:(t,e=[],r=(()=>{}))=>{t.cache.stream.enabled.down=!0;const s=e.length,n=t.cache.stream.history.down.slice(-s).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),r.call(t,t))},ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Er{constructor(t,e=""){var r;this.target=globalThis.__Target__||globalThis.document.body,"string"==typeof t&&(t=globalThis.document.createElement(t)),this.element=t,this.uuid=this.constructor.name+"-"+J.string(10),this.cache={name:e,parent:null,isRoot:!1,isHidden:!1,isFrozzen:!1,style:(r={},new te(r)),attributes:{},filters:{}},this.items=[],this.events={ptr:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,custom:null},this.observer={resize:null,intersection:null},this.cache.style.linkTo(this),this.style({position:"relative",boxSizing:"border-box",fontFamily:"verdana",margin:0,padding:0}),this.size("auto","auto"),globalThis.__UI__[this.cache.name]?.push(this)}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.cache.events}get html(){return this.element.innerHTML}get __app__(){if(this.cache.isRoot)return this;let t=this.cache.parent;for(;;){if(!t)return null;if(t.cache.isRoot)return t;t=t.parent}}clone(){const t=new this.constructor;if(t.__proto__=this.__proto__,this.items.length){const e=[...this.items].map((t=>t.clone()));t.append(...e)}else t.element=this.element.cloneNode(!0);return t}style(t,{target:e="parent",maskVector:r=null}={}){return this.st.style(t,{target:e,maskVector:r}),this}size(t,e,{target:r,maskVector:s}={}){return this.st.size(t,e,{target:r,maskVector:s}),this}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}freeze(t){return this.cache.isFrozzen=t,this}at(t){return this.items.at(t)}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}setTarget(t){return t instanceof Er&&(t=t.element),this.remove(),this.target=t,this.render(),this}render(t=!0,e=this.target){return e instanceof Er&&(e=e.element),this.target=e,t?this.target.appendChild(this.element):this.remove(),this}append(...t){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let e=0;e<t.length;e++)["number","string"].includes(typeof t[e])&&(t[e]=Ar(t[e])),t[e]instanceof Er?(t[e].cache.parent=this,this.element.appendChild(t[e].element),t[e].Target=this.element,this.items.push(t[e])):t[e]instanceof Object&&(t[e]?.style&&this.style(t[e]?.style),t[e]?.attr&&Object.entries(t[e].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}remove(...t){if(0==t.length)this.cache.parent?this.cache.parent.remove(this):this.target.children.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Er&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}removeAfter(t=1){return setTimeout((()=>this.remove()),t),this}removeItem(...t){const e=t=>{t instanceof Er?this.element.removeChild(t.element):"number"==typeof t&&this.element.removeChild(this.element.children[t])};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let r=0;r<e.length;r++)["number","string"].includes(typeof e[r])&&(e[r]=Ar(e[r])),this.element.insertBefore(e[r].element,this.items[t].element),this.items.splice(t,0,e[r]);return this}setAttr(t,e){return this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])),this}removeAttr(t){return this.element.removeAttribute(t),this}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get Classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.element.setAttribute("id",t),this}get Id(){return this.element.getAttribute("id")}forEach(t){return this.items.forEach(t),this}filter(t,e,r){return this.items.filter(t).forEach(e),this}filterByTextContent(t,e=!1){return this.items.map((t=>t.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.render(!1))),this}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.render(!1))),this}sortByTextContent(t,e){let r=this.children;return r.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),r.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,r)=>t.style.display=e[r])),r.filter((t=>"none"!=t.style.display)),this}onPtrMove(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onMove(...t),this}onPtrDown(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onDown(...t),this}onPtrUp(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onUp(...t),this}onPtrEnter(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onEnter(...t),this}onPtrLeave(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onLeave(...t),this}onPtrOut(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onOut(...t),this}onKeyDown(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onDown(...t),this}onKeyPress(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onPress(...t),this}onKeyUp(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onUp(...t),this}onKeysDown({keys:t=[],callback:e}={}){return this.events.key||(this.events.key=fe(this)),this.events.key.handleSuccessifKeys({keys:t,callback:e}),this}onDragStart(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onStart(...t),this}onDrag(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onDrag(...t),this}onDragEnd(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onEnd(...t),this}onDrop(...t){return this.events.drop||(this.events.drop=Ce(this)),this.events.drop.onDrop(...t),this}onClick(...t){return this.events.click||(this.events.click=De(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=De(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=je(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=je(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=Ue(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=Ue(this)),this.events.custom.emit(t,e),this}WatchAttributes(){}WatchChildren(){}WatchSize(t){return this.observer.resize||(this.observer.resize=((t,e)=>new Ze(t,e))(this,t)),this.observer.resize.start(),this}WatchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=((t,e,r)=>new We(t,e,r))(this,t,e)),this.observer.intersection.start(),this}get VisibleArea(){let t=this.element.getBoundingClientRect(),e=globalThis.document.documentElement.clientHeight,r=globalThis.document.documentElement.clientWidth,s=t.top>0&&t.top<e,n=t.bottom<e&&t.bottom>0,i=t.left>0&&t.left<r,o=t.right>0&&t.right<r;return{top:s,bottom:n,left:i,right:o,heightRatio:(t.height+t.y)/t.height,isVisible:s||n||o||i}}setFullScreen(t=!0,e){return this.element.requestFullscreen?(t?this.element.requestFullscreen(e):globalThis.document.exitFullscreen(),this):(console.error("Fullscreen API is not supported in this browser."),this)}toggleFullScreen(t){return globalThis.document.fullscreenElement?globalThis.document.exitFullscreen():this.element.requestFullscreen(t),this}}class kr extends Er{constructor(...t){super("span","text"),this.element=document.createElement("span"),this.text="",this.addValue(...t),this.st.display("inline-block"),this.render()}clear(){return this.element.textContent="",this}get value(){return this.element.textContent}setValue(t="",e=!1){["string","number"].includes(typeof t)&&(this.text=""+t,this.text.includes("\n")&&(this.text=this.text.split("\n").map((t=>"<span>".concat(t,"</span></br>"))).join(""))),t instanceof r&&(this.text=""+t.UI()),e?this.element.innerHTML+=this.text:this.element.innerHTML=this.text,(t instanceof Array||t instanceof Set)&&(t instanceof Set&&(t=[...t]),this.addValue(...t))}addValue(...t){return t.map((t=>{this.setValue(" ",!0),this.setValue(t,!0)})),this}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const Ar=(...t)=>new kr(...t);class Dr extends Er{constructor(...t){super("p","p"),this.addValue(...t),this.style({margin:0,padding:0}),this.render()}addValue(...t){for(let e=0;e<t.length;e++)"string"==typeof t[e]||"number"==typeof t[e]?(this.element.appendChild(document.createTextNode(t[e])),this.element.appendChild(document.createElement("br"))):t[e]instanceof Er?this.element.appendChild(t[e].element):t[e]instanceof r&&Ar(t.a+" + "+t.b+"i");return this}clear(){return this.element.childNodes.forEach((t=>t.remove())),this}setValue(...t){return this.clear(),this.addValue(...t),this}}const Br=(...t)=>(new Dr).append(...t);class _r extends Er{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element=document.createElement("h"+t),this.element.textContent=e,this.render()}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const Mr=(t="")=>new _r(1,t),Tr=(t="")=>new _r(2,t),Ir=(t="")=>new _r(3,t),Sr=(t="")=>new _r(4,t),Lr=(t="")=>new _r(5,t),Or=(t="")=>new _r(6,t);class Vr extends Er{constructor(t){super(t,"ZikoHtml"),this.render()}}class jr extends Er{constructor(){super("br","br"),this.render(),delete this.append}}class Rr extends Er{constructor(){super("hr","hr"),this.render(),delete this.append}}class Nr extends Er{constructor(t){super("a","link"),this.setHref(t),this.render()}setHref(t){this.element.href=t}}const Pr=()=>new jr,zr=()=>new Rr,$r=(t=1)=>new Array(t).fill(new jr),Hr=(t=1)=>new Array(t).fill(new Rr),Ur=(t,...e)=>new Nr(t).append(...e),qr=(t,...e)=>new Vr(t).append(...e);class Wr extends Er{constructor(t){super(),this.element=document.createElement("li"),this.append(t),this.render()}}class Zr extends Er{constructor(t,e){super(t,e),delete this.append}append(...t){for(let e=0;e<t.length;e++){let r=null;["string","number"].includes(typeof t[e])&&(t[e]=Ar(t[e])),t[e]instanceof Er&&(r=new Wr(t[e])),r.setTarget(this.element),this.items.push(r[0]),this.maintain()}}remove(...t){if(0==t.length)this.Target.children.length&&this.Target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Er&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let r=0;r<e.length;r++){let s=null;["number","string"].includes(typeof e[r])&&(e[r]=Ar(e[r])),e[r]instanceof Er&&(s=new Wr(e[r])),this.element.insertBefore(s.element,this.items[t].parent.element),this.items.splice(t,0,e[r][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,r)=>t*e.element.textContent.localeCompare(r.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class Xr extends Zr{constructor(...t){super("ol","ol"),this.append(...t),this.render()}type(t=1){return this.element.setAttribute("type",t),this}start(t=1){return this.element.setAttribute("start",t),this}}class Kr extends Zr{constructor(...t){super("ul","ul"),this.append(...t),this.render()}}const Gr=(...t)=>new Xr(...t),Yr=(...t)=>new Kr(...t);class Qr extends Er{constructor(t="button"){super(),this.element=document.createElement("button"),this.setValue(t),this.render(),this.st.cursor("pointer")}setValue(t){return t instanceof Er?t.setTarget(this.element):(this.element.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const Jr=t=>new Qr(t);class ts extends Er{constructor(t=""){super(),this.element=document.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}class es extends Er{constructor(){super(),this.element=document.createElement("textarea"),this.render()}get value(){return this.element.textContent}}const rs=()=>new es;class ss extends Er{constructor(t="",e){super(),this.element=document.createElement("input"),Object.assign(this.events,{input:null}),this.setValue(t),e&&this.linkDatalist(e),this.render()}onInput(...t){return this.events.input||(this.events.input=ze(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=ze(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof gs)e=t.Id;else if(t instanceof Array){const r=new gs(...t);e=r.Id,console.log(r)}else e=t;return this.element.setAttribute("list",e),this}get value(){return this.element.value}_setType(t){return this.element.type=t,this}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}class ns extends ss{constructor(){super(),this._setType("search"),this.Length=0}onsearch(t){return this.element.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}class is extends ss{constructor(t,e,r=1){super(),this._setType("number"),this.setMin(t).setMax(e).setStep(r),this.render()}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}class os extends is{constructor(t=0,e=0,r=10,s=1){super(),this._setType("range"),this.setMin(e).setMax(r).setValue(t).setStep(s),this.render()}}class as extends ss{constructor(){super(),this._setType("color"),this.background(this.value),this.render(),this.onInput((()=>this.background(this.value)))}}class hs extends ss{constructor(){super(),this._setType("password"),this.render()}}class ls extends ss{constructor(){super(),this._setType("email"),this.render()}}class cs extends ss{constructor(){super(),this._setType("time"),this.render()}}class us extends ss{constructor(){super(),this._setType("date"),this.render()}}class ms extends ss{constructor(){super(),this._setType("datetime-local"),this.render()}}class ps extends ss{constructor(){super(),this._setType("checkbox"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class ds extends ss{constructor(){super(),this._setType("radio"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class fs extends Er{constructor(t="File"){super(),this._aux_element=Jr(t).setTarget(this.Target),this.element=document.createElement("input"),this.element.setAttribute("type","file"),this.element.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}handleImage(t){const e=new FileReader,r=new Image;e.onload=function(t){r.src=t.target.result,console.log(r.src)},e.readAsDataURL(t.target.files[0]),this.img=r}get value(){return this.img}render(t=!0){return t?this.Target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.Target.children.length&&this.Target.removeChild(this._aux_element.element),this}}class gs extends Er{constructor(...t){super(),this.element=document.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+J.string(10)),this.render()}addOptions(...t){return t.map((t=>this.append(new ts(t)))),this}}const ys=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:r}=t;return t=t.value??"",new ss(t,e).setPlaceholder(r)}return new ss(t,e)},bs=(...t)=>new gs(...t),xs=(t,e,r,s)=>{if(t instanceof Object){const{min:e=0,max:r=10,step:s=1}=t;return new os(t=t?.value??5,e,r,s)}return new os(t,e,r,s)},ws=(t,e,r)=>{if(t instanceof Object){const{value:e,max:r=10,step:s=1,placeholder:n=""}=t;return new os(t=t?.min??0,r,s).setValue(e).setPlaceholder(n)}return new is(t,e,r)},Fs=(...t)=>(new ns).connect(...t),vs=t=>new fs(t),Cs=()=>new hs,Es=()=>new ls,ks=()=>new as,As=()=>new cs,Ds=()=>new us,Bs=()=>new ms,_s=()=>new ps,Ms=()=>new ds;class Ts extends Er{constructor(){super(),this.element=document.createElement("select"),this.render()}addOptions(...t){return t.map((t=>this.append(new ts(t)))),this}}const Is=()=>new Ts;class Ss extends Er{constructor(t,e,r){super("image","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.render()}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const Ls=(t,e,r)=>new Ss(t,e,r);class Os extends Er{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document.createElement("figcaption"),this.caption.append(e.element),this.element.append(this.img),this.element.append(this.caption),this.render()}}const Vs=(t,e)=>new Os(t,e);class js extends Er{constructor(t="",e="100%",r="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),this.render()}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}poster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}}const Rs=(t,e,r)=>new js(t,e,r);class Ns extends Er{constructor(t){super("audio","audio"),this.element.setAttribute("src",t),this.render(),this.controls()}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}}const Ps=t=>new Ns(t);class zs extends js{constructor(){super(),this.element.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const $s=()=>new zs;function Hs(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function Us(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function qs(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function Ws(t){return qs(-t)}class Zs extends Er{constructor(t,e="100%",r="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),this.style({display:"flex"}),this.render()}resp(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,r=1){return Hs.call(this,r),this.style({alignItems:"number"==typeof t?qs.call(this,t):t,justifyContent:"number"==typeof e?Ws.call(this,e):e}),this}horizontal(t,e,r=1){return Us.call(this,r),this.style({alignItems:"number"==typeof e?Ws.call(this,e):e,justifyContent:"number"==typeof t?qs.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const Xs=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new Zs(e).append(...t)};class Ks extends Er{constructor(t="div",e="50vw",r="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.style({display:"grid"}),this.render()}columns(t){let e="";for(let r=0;r<t;r++)e=e.concat(" auto");return this.#d(e),this}#d(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const Gs=(...t)=>new Ks("div").append(...t);class Ys extends Er{constructor(t,e,r="😁"){super("details","Accordion"),this.summary=qr("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${r}"`,cursor:"pointer"}),this.summary[0].style({marginLeft:"0.5em"}),this.content=e.style({margin:"0.7em"}),this.append(this.summary,this.content),this.style({marginBottom:"0.7em"}),this.render()}get isOpen(){return this.element.open}open(){return this.element.open=!0,this}onOpen(t){return this}close(){return this.element.open=!0,this}onClose(t){return this}toggle(){return this.element.open=!this.element.open,this}}const Qs=(t,e,r)=>new Ys(t,e,r);class Js extends Zs{constructor(...t){super(),this.style({position:"relative",overflow:"hidden",touchAction:"none",userSelect:"none"}),this.horizontal("space-around",0),this.track=Section(...t).style({display:"inline-flex"}),this.track.size(100*this.track.children.length+"vw"),this.track.setTarget(this),this.track.items.map((t=>t.style({pointerEvents:"none",margin:"auto 10px"}))),this.x0=null,this.tx=0,this.onPtrMove((t=>{if(t.isDown){let e=t.event.pageX-this.x0;this.track.st.translateX(this.tx+e,0)}})),this.onPtrDown((t=>{console.log(t.event),this.x0=t.event.pageX;const e=window.getComputedStyle(this.track.element).getPropertyValue("transform");"none"!==e&&(this.tx=+e.split(",")[4])})),this.onPtrUp((t=>console.log(t.isDown))),this.onPtrLeave((t=>{}))}}const tn=(...t)=>new Js(...t);class en extends Zs{constructor(){super("section"),Object.assign(this.cache,{order:0,currentNote:null,currentNoteIndex:null}),this.vertical(0,0)}setCurrentNote(t){return this.cache.currentNote=t,this.cache.currentNoteIndex=this.items.findIndex((e=>e===t)),t.focus(),this.items.forEach((t=>t.Input.style({border:"1px solid #ccc"}))),t.Input.style({border:"2px lightgreen solid"}),this}addNote(t=""){return this.append(on(t)),this}execute(){return this.cache.currentNote.execute(),this.incrementOrder(),this}incrementOrder(){return this.cache.order++,this.cache.currentNote.setOrder(this.cache.order),this}next(){return this.cache.currentNote===this.items.at(-1)?(this.addNote(),this.setCurrentNote(this.items.at(-1))):this.setCurrentNote(this.items[this.cache.currentNoteIndex+1]),this}previous(){return this.cache.currentNote!==this.items[0]&&this.setCurrentNote(this.items[this.cache.currentNoteIndex-1]),this}data(){return this.items.map((t=>t.cellData()))}serialize(){return JSON.stringify(this.data())}import(t=[]){return t.forEach(((e,r)=>this.addNote(t[r].input))),this}}const rn=()=>new en,sn={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class nn extends Zs{constructor(t="",{type:e="js",order:r=null}={}){var s;super("section"),Object.assign(this.cache,{state:null,order:r,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>qr("code",t).style({width:"100%",height:"auto",padding:"10px",boxSizing:"border-box",border:"1px solid #ccc",outline:"none",fontSize:"1rem",fontFamily:"Lucida Console, Courier New, monospace",padding:"1rem 0.5rem",wordBreak:"break-all",background:"#f6f8fa",color:"#0062C3"}).setAttr("contenteditable",!0).setAttr("spellcheck",!1))(t),this.Output=qr("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=Xs(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(s=this,Xs(Ar("▶️").style(sn).onClick((t=>{s.parent instanceof en&&s.parent.setCurrentNote(s),s.execute(),globalThis.__Target__=t.target.parent.parent[1][1]})),Ar("📋").style(sn).onClick((()=>{navigator.clipboard.writeText(s.codeText)})),Ar("✖️").style(sn).onClick((()=>s.remove())),Ar("✖️").style(sn).onClick((()=>s.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=Xs(Ar("[ ]")).style({width:"50px",height:"50px",margin:"10px 4px",padding:"5px",color:"darkblue",borderBottom:"4px solid gold"}).horizontal(0,0),this.append(this.LeftControl,this.InOut,this.RightControl),this.horizontal(-1,1).style({width:"95vw",margin:"0 auto",border:"1px darkblue dotted"}),this.Input.onKeyDown((t=>{"Enter"===t.kd&&t.event.shiftKey&&(t.event.preventDefault(),this.execute(this.cache.order)),this.cache.parent instanceof en&&("ArrowDown"===t.kd&&t.event.shiftKey&&this.cache.parent.next(),"ArrowUp"===t.kd&&t.event.shiftKey&&this.cache.parent.previous())})),this.Input.onFocus((()=>{this.cache.parent instanceof en&&(this.cache.parent.cache.currentNote=this,this.cache.parent.setCurrentNote(this))})),this.Input.onPaste((t=>{}))}get codeText(){return this.Input.element.innerText.trim()}get codeHTML(){return this.Input.element.innerHTML}get outputHTML(){return this.Output.element.innerHTML}setValue(t){return this.Input[0].setValue(t),this}cellData(){return{input:this.codeText,output:this.outputHTML,order:this.cache.order,type:this.cache.type}}execute(t){return this.clearOutput(),this.evaluate(t),this.cache.metadata.updated=Date.now(),this}#f(t){try{this.LeftControl[0].setValue("pending"),this.cache.state="pending",globalThis.eval(this.Input.element.innerText)}catch(t){console.log(t),text(`Error : ${t.message}`).style({color:"red",background:"gold",border:"2px red solid",padding:"10px",margin:"10px 0",display:"flex",justifyContent:"center"}),this.LeftControl[0].setValue("Err"),this.cache.state="Error"}finally{"pending"===this.cache.state&&(this.cache.state="success",this.setOrder(t),this.cache.parent instanceof en&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#g(){}#y(){}evaluate(t){if(globalThis.__Target__=this.Output.element,"js"===this.cache.type)this.#f(t);return this}clearInput(){return this.Output.element.innerText="",this}clearOutput(){return this.Output.element.innerText="",this}setOrder(t,e=!0){return this.cache.order=t,e&&("number"==typeof t?this.LeftControl[0].setValue(`[${t}]`):this.LeftControl[0].setValue("[-]")),this}focus(){return this.Input.element.focus(),this}}const on=(t,{type:e,order:r}={})=>new nn(t,{type:e,order:r});class an extends Zs{#b=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(Xs().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),Xs().style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",width:"100%",height:"100%",backgroundColor:"darkslategrey"})),this.Controller=this.items[0].setAttr("role","tablist"),this.Content=this.items[1],t.length!==e.length?console.error(""):(this.Controller.append(...t),this.Content.append(...e)),this.init(),this.display(0)}init(){for(let t=0;t<this.Controller.length;t++)this.Controller[t].setAttr("role","tab").setAttr("aria-controls",`tab${t}`),this.Content[t].setAttr("role","tabpanel").setAttr("aria-labelledby",`tab${t}`).setAttr("tabindex",-1);return this.Controller.forEach((t=>t.onClick((t=>{const e=t.target.element.getAttribute("aria-controls"),r=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#b!==r&&this.display(r)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const r=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(r-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(r-1)).setAttr("tabindex",-1),this}removePairs(t){}display(t){return this.#b=t%this.Content.length,this.Controller.forEach((t=>t.setAttr("tabindex",-1).setAttr("aria-selected",!1))),this.Controller.at(this.#b).setAttr("tabindex",0).setAttr("aria-selected",!0),(async()=>{await this.Content.forEach((t=>t.st.hide())),await this.Content.at(this.#b).setAttr("tabindex",0).st.show()})(),this}next(t=1){return this.display(this.#b+t),this}previous(t=1){return this.display(this.#b-t),this}useHorizontalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_x)))),this}useVerticalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_y)))),this}}const hn=(t,e)=>new an(t,e);class ln extends Er{constructor(){super("main","Main"),this.render()}}class cn extends Er{constructor(){super("header","Header"),this.render()}}class un extends Er{constructor(){super("nav","Nav"),this.render()}}class mn extends Er{constructor(){super("section","Section"),this.style({position:"relative"}),this.render()}}class pn extends Er{constructor(){super("article","Article"),this.render()}}class dn extends Er{constructor(){super("aside","Aside"),this.render()}}class fn extends Er{constructor(){super("footer","Footer"),this.element=document.createElement("footer"),this.render()}}const gn=(...t)=>(new mn).append(...t),yn=(...t)=>(new pn).append(...t),bn=(...t)=>(new ln).append(...t),xn=(...t)=>(new cn).append(...t),wn=(...t)=>(new fn).append(...t),Fn=(...t)=>(new un).append(...t),vn=(...t)=>(new dn).append(...t);class Cn extends Er{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class En extends Er{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class kn extends Er{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class An extends Er{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class Dn extends Er{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const Bn=(...t)=>(t=t.map((t=>(t instanceof Er||(t=Ar(t)),t))),new En(...t)),_n=t=>new Dn(t),Mn=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new Cn(...t))())),r=t.arr.map((t=>t.map((()=>null))));for(let s=0;s<r.length;s++)for(let n=0;n<r[0].length;n++)r[s][n]=Bn(t.arr[s][n]),e[s].append(r[s][n]);return e};class Tn extends Er{constructor(t,{caption:e=null,head:r=null,foot:s=null}={}){super("table","Table"),this.structure={caption:e,head:r,body:null,foot:s},t&&this.fromMatrix(t),e&&this.setCaption(e),this.render()}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=_n(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Dn))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof Er||(t=Bn(t)),t))),new kn(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Dn))),this}setFooter(t){return this.structure.caption=_n(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Dn))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?at(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new An(...t))(),this.append(this.structure.body),this.structure.body.append(...Mn(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Tn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Tn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,r=this.bodyMatrix.rows-1,s=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,r,s)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const In=(t,e)=>new Tn(t,e),Sn={ZikoHtml:qr,text:Ar,p:Br,h1:Mr,h2:Tr,h3:Ir,h4:Sr,h5:Lr,h6:Or,btn:Jr,br:Pr,hr:zr,brs:$r,hrs:Hr,link:Ur,ol:Gr,ul:Yr,input:ys,search:Fs,slider:xs,checkbox:_s,radio:Ms,datalist:bs,inputNumber:ws,inputColor:ks,inputDate:Ds,inputDateTime:Bs,inputEmail:Es,inputImage:vs,inputPassword:Cs,inputTime:As,select:Is,textarea:rs,inputCamera:$s,image:Ls,video:Rs,audio:Ps,figure:Vs,Flex:Xs,Carousel:tn,Grid:Gs,Header:xn,Main:bn,Section:gn,Article:yn,Aside:vn,Nav:Fn,Footer:wn,Table:In,CodeCell:on,CodeNote:rn,Tabs:hn,Accordion:Qs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Ln=t=>t.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2">$1</a>').replace(/!\[(.*?)\]\((.*?)\)/g,'<img src="$2" alt="$1">'),On=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${Ln(t)}</td>`)).join("")}</tr>\n`,Vn=(t,e)=>{const r=t.slice(1,-1).join("\n");return`<pre>${e?`<code data-language="${e}">${r}</code>`:`<code>${r}</code>`}</pre>\n`},jn=t=>{const e=t.match(/^\d+\.\s/);if(e){let r=+e[1];return`<ol${1===r?"":` start=${r}`}>\n<li>${Ln(t.slice(e[0].length))}</li>\n</ol>\n`}return`<ul>\n<li>${Ln(t)}</li>\n</ul>\n`},Rn=t=>{const e=t.split("\n");let r="",s=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))s||(s=!0,r+="<table>\n"),r+=On(a);else if(s&&(s=!1,r+="</table>\n"),a.startsWith("```"))n?(n=!1,r+=Vn(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("# ")){const t=a.indexOf(" "),e=a.slice(t+1);r+=`<h${t}>${Ln(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?r+=jn(a):r+=`<p>${Ln(a)}</p>\n`}return r},Nn=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Pn=(t,e=",")=>new ot(Nn(t,e)),zn=(t,e=",")=>{const[r,...s]=Nn(t,e);return s.map((t=>{const e={};return r.forEach(((r,s)=>{e[r]=t[s]})),e}))},$n=(t,e=",")=>JSON.stringify(zn(t,e)),Hn=(t,e)=>{const r=t.trim().trimEnd().split("\n").filter((t=>t));let s=`INSERT INTO ${e} (${r[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<r.length;t++){const e=r[t].split(",");n.push(`(${e})`)}return s+n.join(",\n")},Un=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],qn=(t,e)=>Un(t).map((t=>t.join(e))).join("\n"),Wn=t=>Un(t instanceof Object?t:JSON.parse(t)),Zn=(t,e=",")=>qn(t instanceof Object?t:JSON.parse(t),e),Xn=(t,e)=>{const r=Zn(t,e),s=new Blob([r],{type:"text/csv;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},Kn=(t,e)=>{const r=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){r.push(`${e}-`);const s=Kn(t,`${e} `);r.push(...s)}else r.push(`${e}- ${t}`)}));else for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];if("object"==typeof n&&null!==n){r.push(`${e}${s}:`);const t=Kn(n,`${e} `);r.push(...t)}else r.push(`${e}${s}: ${n}`)}return r},Gn=(t,e="")=>Kn(t,e).join("\n"),Yn=(t,e)=>Gn(t instanceof Object?t:JSON.parse(t),e),Qn=(t,e)=>{const r=Yn(t,e),s=new Blob([r],{type:"text/yml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},Jn=(t,e=1)=>{let r="";for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];r+="\n"+" ".repeat(e)+`<${s}>`,r+="object"==typeof n?Jn(n,e+2):`${n}`,r+=`</${s}>`}return r.trim()},ti=(t,e)=>{const r=Jn(t,e),s=new Blob([r],{type:"text/xml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},ei=t=>(new XMLSerializer).serializeToString(t),ri=t=>btoa(ei(t)),si=t=>"data:image/svg+xml;base64,"+ri(t),ni=(t,e=!0)=>Ls(si(t)).render(e);function ii(t){const e={type:t.nodeName,attributes:{},children:[]};for(let r=0;r<t.attributes.length;r++){const s=t.attributes[r];e.attributes[s.name]=s.value}for(let r=0;r<t.childNodes.length;r++){const s=t.childNodes[r];s.nodeType===Node.ELEMENT_NODE?e.children.push(ii(s)):s.nodeType===Node.TEXT_NODE&&(e.text=s.textContent.trim())}return e}const oi=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),r=await e.text();return(new DOMParser).parseFromString(r,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=oi(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const ai={parseXML:function(t){return ii((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:oi,markdown2html:Rn,csv2arr:Nn,csv2matrix:Pn,csv2object:zn,csv2json:$n,csv2sql:Hn,json2arr:Wn,json2csv:Zn,json2csvFile:Xn,json2yml:Yn,json2ymlFile:Qn,json2xml:Jn,json2xmlFile:ti,svg2str:ei,svg2ascii:ri,svg2imgUrl:si,svg2img:ni,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class hi{constructor(){this.cache={}}color({stroke:t,fill:e}){return this.element.setAttribute("stroke",t),this.element.setAttribute("fill",e),this}fill(t="none"){return this.element.setAttribute("fill",t),this}stroke(t="none",e){return this.element.setAttribute("stroke",t),e&&this.strokeWidth(e),this}strokeWidth(t=1){return this.element.setAttribute("stroke-width",t),this}opacity(t=1){return this.element.setAttribute("opacity",t),this}}class li extends hi{constructor(t,e,r,s,n=!0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(r).height(s),this.rx=this.x+this.w/2,this.ty=this.y+this.h/2}setX(t){return this.element.x.baseVal.value=t,this.x=t,this}setY(t){return this.element.y.baseVal.value=t,this.y=t,this}r(t,e){return this.rx=t,this.ry=e,this.setX(this.rx-this.w/2),this.setY(this.ry-this.h/2),this}width(t){return this.element.width.baseVal.value=t,this.w=t,this}height(t){return this.element.height.baseVal.value=t,this.h=t,this}}const ci=(t,e,r,s,n)=>new li(t,e,r,s,n);class ui extends hi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.cx(t).cy(e).r(r)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}r(t){return this.element.r.baseVal.value=t,this}get R(){return this.element.r.baseVal.value}get Cx(){return this.element.cx.baseVal.value}get Cy(){return this.element.cy.baseVal.value}}const mi=(t,e,r)=>new ui(t,e,r);class pi extends hi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.cx(t).cy(e).rx(r).ry(s)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}rx(t){return this.element.rx.baseVal.value=t,this}ry(t){return this.element.ry.baseVal.value=t,this}}const di=(t,e,r,s)=>new pi(t,e,r,s);class fi extends hi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(r).y2(s).stroke("black")}x1(t){return this.element.x1.baseVal.value=t,this}y1(t){return this.element.y1.baseVal.value=t,this}x2(t){return this.element.x2.baseVal.value=t,this}y2(t){return this.element.y2.baseVal.value=t,this}}const gi=(t,e,r,s)=>new fi(t,e,r,s);class yi extends hi{constructor(t=[],e=[]){super(),this.X=t,this.Y=e,this.element=document.createElementNS("http://www.w3.org/2000/svg","polygon"),this.element.setAttribute("points","")}addPoint(t,e){let r=this.element.parentElement.createSVGPoint();return r.x=t,r.y=e,this.element.points.appendItem(r),this}addPoints(t,e){for(let r=0;r<t.length;r++){let s=this.element.parentElement.createSVGPoint();s.x=t[r],s.y=e[r],this.element.points.appendItem(s)}return this}}const bi=(t,e)=>new yi(t,e);class xi extends hi{constructor(t="",e="100%",r="100%",s=0,n=0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(r).x(s).y(n)}x(t){return this.element.x.baseVal.value=t,this}y(t){return this.element.y.baseVal.value=t,this}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}setSrc(t=""){return this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),this}}const wi=(t,e,r,s,n)=>new xi(t,e,r,s,n);class Fi extends hi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(r)}x(t){return this.element.setAttribute("x",t),this}y(t){return this.element.setAttribute("y",t),this}setText(t=""){return this.element.textContent=t,this}}const vi=(t,e,r)=>new Fi(t,e,r);class Ci extends hi{constructor(...t){super(),this.items=[],this.element=document.createElementNS("http://www.w3.org/2000/svg","g"),this.add(...t)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}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}}const Ei=(...t)=>new Ci(...t);class ki extends Er{constructor(t=360,e=300){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.setAttribute("width",t),this.setAttribute("height",e),this.style({border:"1px black solid"}),this.render()}view(t,e,r,s){let n=Math.abs(r-t),i=Math.abs(s-e);return this.element.setAttribute("viewBox",[t,e,n,i].join(" ")),this}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(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 Ai=(t,e)=>new ki(t,e);class Di extends Er{constructor(t,e){super(),this.element=document.createElement("canvas"),this.ctx=this.element.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new ot([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new ot([[-10,-10],[10,10]]),this.render(),setTimeout((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Width(){return this.element.width}get Height(){return this.element.height}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,r,s){return this.transformMatrix[0][0]=this.Width/(r-t),this.transformMatrix[1][1]=-this.Height/(s-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new ot([[t,e],[r,s]]),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}ImageData(t=0,e=0,r=this.Width,s=this.Height){return this.ctx.getImageData(t,e,r,s)}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 Di;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(element.style.width,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"),r=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(r)},e.src=r,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const Bi=(t,e)=>new Di(t,e);class _i{constructor(t,e){this.parent=null,this.position={x:t,y:e},this.cache={interact:null,config:{draggable:!1,selected:!1,highlighted:!1,rendered:!1},style:{normal:{strokeEnabled:!0,fillEnabled:!1,strokeColor:"#111111",fillColor:"#777777"},highlighted:{strokeEnabled:!0,fillEnabled:!1,strokeColor:null,fillColor:null}}},this.history={position:[],styles:[]},this.render()}get px(){return(this.position.x??0)+(this.parent?.position?.x??0)}get py(){return(this.position.y??0)+(this.parent?.position?.y??0)}isIntersectedWith(){}isInStroke(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),r}isInPath(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}posX(t){return this.position.x=t,this.parent&&this.parent.draw(),this}posY(t){return this.position.y=t,this.parent&&this.parent.draw(),this}color({stroke:t=this.cache.style.normal.strokeColor,fill:e=this.cache.style.normal.fillColor}={stroke:t,fill:e}){return this.cache.style.normal.strokeColor=t,this.cache.style.normal.fillColor=e,this.parent&&this.parent.draw(),this}translate(t=0,e=0){this.position.x+=t,this.position.y+=e,this.parent&&this.parent.draw()}applyNormalStyle(t){return t.strokeStyle=this.cache.style.normal.strokeColor,t.fillStyle=this.cache.style.normal.fillColor,this}applyHighlightedStyle(t){return t.strokeStyle=this.cache.style.highlighted.strokeColor,t.fillStyle=this.cache.style.highlighted.fillColor,this}stroke(t=this.cache.style.normal.strokeColor,e=!0){return this.cache.style.normal.strokeEnabled=e,this.cache.style.normal.strokeColor=t,this.parent&&this.parent.draw(),this}fill(t=this.cache.style.normal.fillColor,e=!0){return this.cache.style.normal.fillEnabled=e,this.cache.style.normal.filleColor=t,this.parent&&this.parent.draw(),this}render(t=!0){return this.cache.config.rendered=t,this}}class Mi extends _i{constructor(t,e,r,s){super(t,e),this.r=r,this.angle=s,this.path=null}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path=new Path2D,this.path.arc(this.px,this.py,this.r,0,this.angle);const{strokeEnabled:e,fillEnabled:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const Ti=(t,e,r,s)=>new Mi(t,e,r,s),Ii=(t,e,r)=>new Mi(t,e,r,2*Math.PI);class Si extends _i{constructor(t,e){super(),this.pointsMatrix=null,this.path=new Path2D,this.fromXY(t,e)}get points(){return this.pointsMatrix.T.arr}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.moveTo(this.points[1][0]+this._x,this.points[1][1]+this._y);for(let t=1;t<this.points.length;t++)this.path.lineTo(this.points[t][0]+this._x,this.points[t][1]+this._y);t.stroke(this.path),t.restore()}return this}fromXY(t,e){return this.pointsMatrix=at([t,e]),this}push(t,e){return this.pointsMatrix.hstack(at([t,e])),this.parent&&this.parent.draw(),this}isIn(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}}const Li=(t=[],e=[])=>new Si(t,e);class Oi extends _i{constructor(t,e,r,s){super(),this.x0=t,this.x1=r,this.y0=e,this.y1=s,delete this.fill}draw(t){return this.cache.config.rendered&&(t.save(),this.applyNormalStyle(t),t.beginPath(),t.moveTo(this.x0+this._x,this.y0+this._y_),t.lineTo(this.x1+this._x,this.y1+this._y),t.stroke(),this.cache.style.normal.strokeEnabled&&t.stroke(),t.restore()),this}}const Vi=(t,e,r,s)=>new Oi(t,e,r,s);class ji extends _i{constructor(t,e,r,s){super(t,e),this.w=r,this.h=s,this.path=new Path2D}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.rect(this.px,this.py,this.w,this.h);const{strokeEnabled:e,fillEnabled:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}width(t){return this.w=t,this.parent&&this.parent.draw(),this}height(t){return this.h=t,this.parent&&this.parent.draw(),this}}const Ri=(t,e,r,s)=>new ji(t,e,r,s),Ni={Svg:Ai,ZikoUISvg:ki,svgCircle:mi,svgEllipse:di,svgImage:wi,svgLine:gi,svgPolygon:bi,svgRect:ci,svgText:vi,svgGroupe:Ei,Canvas:Bi,canvasArc:Ti,canvasCircle:Ii,canvasPoints:Li,canvasLine:Vi,canvasRect:Ri,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Pi{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,Ar("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){return t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e),this.maintain(),this}maintain(){return this.root_UI.append(...this.routes.values()),[...this.routes.values()].map((t=>t.render(!1))),this.render(location.pathname),this}render(t){if(this.routes.get(t))this.routes.get(t).render(!0);else{const e=[...this.patterns.keys()].find((e=>e.test(t)));e?this.patterns.get(e)(t):this.routes.get(404).render(!0)}return window.history.pushState({},"",t),this}}const zi=(t,e,r)=>new Pi(t,e,r);var $i=null;document.body&&($i=document.body);class Hi{constructor(t){this.app=t,this.meta={},this.#x("generator","zikojs")}#x(t,e){const r=document.querySelector(`meta[name=${t}]`);return this.meta=r||document.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),r||this.app.head.append(this.meta),this}charset(t="utf-8"){const e=document.querySelector("meta[charset]");return this.meta=e||document.createElement("meta"),this.meta.setAttribute("charset",t),e||this.app.head.append(this.meta),this}description(t){return this.#x("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#x("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#x("keywords",t),this}author(t="",e=""){const r=[t,e].join(", ");return this.#x("author",r),this}}class Ui extends Zs{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#s(),this.seo=new Hi(this),Object.assign(this.cache,{theme:null,isRoot:!0}),this.render()}#s(){this.root.setAttribute("data-engine","zikojs");const t=this.root.getElementsByTagName("head")[0];this.head=t||(this.head=document.createElement("head")),t||this.root.insertBefore(this.head,document.body);const e=this.head.getElementsByTagName("title")[0];this.Title=e||document.createElement("title"),e||this.head.append(this.Title)}title(t=this.title.textContent){return this.Title.textContent=t,this}prefetch(){}description(){}}const qi=(...t)=>(new Ui).append(...t),Wi={App:qi,Math:Qt,UI:Sn,Time:Fr,Graphics:Ni,Events:qe,Use:Cr,Data:ai,SPA:zi};globalThis.__Ziko__=Wi,globalThis.__UI__={text:[],p:[],pre:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],br:[],hr:[],btn:[],ol:[],ul:[],image:[],video:[],audio:[],Article:[],Main:[],Section:[],Aside:[],Nav:[],Header:[],Footer:[],Flex:[],FlexMain:[],FlexNav:[],FlexHeader:[],FlexFooter:[],FlexSection:[],FLexArticle:[],FlexAside:[],Table:[],Svg:[],Canvas:[]},globalThis.__Target__=$i,t.Accordion=Qs,t.App=qi,t.Article=yn,t.Aside=vn,t.Base=X,t.Canvas=Bi,t.Carousel=tn,t.CodeCell=on,t.CodeNote=rn,t.Combinaison=Y,t.Complex=r,t.DarkThemes=Ge,t.Data=ai,t.E=Et,t.EPSILON=kt,t.Ease=ur,t.Events=qe,t.ExtractAll=function(){return Sn.ExtractAll(),Qt.ExtractAll(),Fr.ExtractAll(),qe.ExtractAll(),Cr.ExtractAll(),Ni.ExtractAll(),ai.ExtractAll(),this},t.Fixed=p,t.Flex=Xs,t.Footer=wn,t.Graphics=Ni,t.Grid=Gs,t.Header=xn,t.LightThemes=Ke,t.LinearSystem=ut,t.Logic=K,t.Main=bn,t.Math=Qt,t.Matrix=ot,t.Nav=Fn,t.PI=Ct,t.Permutation=G,t.Random=J,t.RemoveAll=function(){Sn.RemoveAll(),Qt.RemoveAll(),Fr.RemoveAll(),qe.RemoveAll(),Cr.RemoveAll(),Ni.RemoveAll(),ai.RemoveAll()},t.SPA=zi,t.Section=gn,t.Signal=Yt,t.Svg=Ai,t.Table=In,t.Tabs=hn,t.Themes=Ye,t.Time=Fr,t.UI=Sn,t.Utils=Ut,t.Ziko=Wi,t.ZikoHtml=qr,t.ZikoUIArticle=pn,t.ZikoUIAside=dn,t.ZikoUIAudio=Ns,t.ZikoUIBr=jr,t.ZikoUICanvas=Di,t.ZikoUICodeNote=en,t.ZikoUIElement=Er,t.ZikoUIFigure=Os,t.ZikoUIFooter=fn,t.ZikoUIHeader=cn,t.ZikoUIHr=Rr,t.ZikoUIHtmlTag=Vr,t.ZikoUIImage=Ss,t.ZikoUILink=Nr,t.ZikoUIMain=ln,t.ZikoUINav=un,t.ZikoUISection=mn,t.ZikoUISvg=ki,t.ZikoUIVideo=js,t.__init__=()=>document.documentElement.setAttribute("data-engine","zikojs"),t.abs=d,t.accum=h,t.acos=D,t.acosh=O,t.acot=M,t.add=bt,t.animation=wr,t.arange=St,t.asin=B,t.asinh=V,t.atan=_,t.atan2=z,t.atanh=j,t.audio=Ps,t.bessel=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return u(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>u(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>u(t[s],e)),...e));return r}}},t.beta=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return m(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>m(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>m(t[s],e)),...e));return r}}},t.br=Pr,t.brs=$r,t.btn=Jr,t.canvasArc=Ti,t.canvasCircle=Ii,t.canvasLine=Vi,t.canvasPoints=Li,t.canvasRect=Ri,t.cartesianProduct=zt,t.ceil=R,t.checkbox=_s,t.choleskyDecomposition=it,t.clamp=It,t.complex=s,t.cos=w,t.cosh=T,t.cot=A,t.coth=L,t.csc=k,t.csv2arr=Nn,t.csv2json=$n,t.csv2matrix=Pn,t.csv2object=zn,t.csv2sql=Hn,t.datalist=bs,t.deg2rad=jt,t.div=Ft,t.e=b,t.fact=$,t.figure=Vs,t.floor=N,t.gamma=(...t)=>mt(l,...t),t.geomspace=Vt,t.h1=Mr,t.h2=Tr,t.h3=Ir,t.h4=Sr,t.h5=Lr,t.h6=Or,t.hr=zr,t.hrs=Hr,t.hypot=q,t.image=Ls,t.inRange=Nt,t.input=ys,t.inputCamera=$s,t.inputColor=ks,t.inputDate=Ds,t.inputDateTime=Bs,t.inputEmail=Es,t.inputImage=vs,t.inputNumber=ws,t.inputPassword=Cs,t.inputTime=As,t.isApproximatlyEqual=Pt,t.json2arr=Wn,t.json2csv=Zn,t.json2csvFile=Xn,t.json2xml=Jn,t.json2xmlFile=ti,t.json2yml=Yn,t.json2ymlFile=Qn,t.lerp=Mt,t.li=t=>new Wr(t),t.link=Ur,t.linspace=Lt,t.ln=x,t.logspace=Ot,t.loop=cr,t.luDecomposition=tt,t.map=Tt,t.mapfun=mt,t.markdown2html=Rn,t.matrix=at,t.matrix2=ht,t.matrix3=lt,t.matrix4=ct,t.max=a,t.min=o,t.modulo=vt,t.mul=wt,t.norm=_t,t.nums=Bt,t.ol=Gr,t.ones=Dt,t.p=Br,t.pgcd=$t,t.pow=g,t.powerSet=W,t.ppcm=Ht,t.prod=i,t.qrDecomposition=nt,t.rad2deg=Rt,t.radio=Ms,t.round=P,t.search=Fs,t.sec=C,t.select=Is,t.sig=U,t.sign=H,t.sin=F,t.sinc=E,t.sinh=I,t.slider=xs,t.sqrt=f,t.sqrtn=y,t.sub=xt,t.subSet=Z,t.sum=n,t.svg2ascii=ri,t.svg2img=ni,t.svg2imgUrl=si,t.svg2str=ei,t.svgCircle=mi,t.svgEllipse=di,t.svgGroupe=Ei,t.svgImage=wi,t.svgLine=gi,t.svgPolygon=bi,t.svgRect=ci,t.svgText=vi,t.tan=v,t.tanh=S,t.text=Ar,t.textarea=rs,t.timeTaken=br,t.time_memory_Taken=dr,t.ul=Yr,t.useDebounce=mr,t.useThrottle=pr,t.video=Rs,t.wait=yr,t.waitForUIElm=fr,t.waitForUIElmSync=gr,t.zeros=At}));
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";class e{}class r extends e{constructor(t=0,e=0){super(),t instanceof r?(this.a=t.a,this.b=t.b):"object"==typeof t?"a"in e&&"b"in t?(this.a=t.a,this.b=t.b):"a"in e&&"z"in t?(this.a=t.a,this.b=f(t.z**2-t.a**2)):"a"in e&&"phi"in t?(this.a=t.a,this.b=t.a*v(t.phi)):"b"in e&&"z"in t?(this.b=t.b,this.a=f(t.z**2-t.b**2)):"b"in e&&"phi"in t?(this.b=e,this.a=t.b/v(t.phi)):"z"in e&&"phi"in t&&(this.a=t.z*w(t.phi),this.a=t.z*F(t.phi)):"number"==typeof t&&"number"==typeof e&&(this.a=+t.toFixed(32),this.b=+e.toFixed(32))}get clone(){return new r(this.a,this.b)}get z(){return q(this.a,this.b)}get phi(){return z(this.b,this.a)}static Zero(){return new r(0,0)}get conj(){return new r(this.a,-this.b)}get inv(){return new r(this.a/(g(this.a,2)+g(this.b,2)),-this.b/(g(this.a,2)+g(this.b,2)))}add(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a+=+n(...e).toFixed(15),this.b+=+n(...s).toFixed(15),this}sub(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=t.map((t=>t.a)),s=t.map((t=>t.b));return this.a-=+n(...e).toFixed(15),this.b-=+n(...s).toFixed(15),this}mul(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+i(this.z,...t.map((t=>t.z))).toFixed(15),s=+n(this.phi,...t.map((t=>t.phi))).toFixed(15);return this.a=+(e*w(s).toFixed(15)).toFixed(14),this.b=+(e*F(s).toFixed(15)).toFixed(14),this}div(...t){for(let e=0;e<t.length;e++)"number"==typeof t[e]&&(t[e]=new r(t[e],0));let e=+(this.z/i(...t.map((t=>t.z)))).toFixed(15),s=+(this.phi-n(...t.map((t=>t.phi)))).toFixed(15);return this.a=+(e*w(s).toFixed(15)).toFixed(15),this.b=+(e*F(s).toFixed(15)).toFixed(15),this}pow(t){if(N(t)===t&&t>0){let e=+(this.z**t).toFixed(15),r=+(this.phi*t).toFixed(15);this.a=+(e*w(r).toFixed(15)).toFixed(15),this.b=+(e*F(r).toFixed(15)).toFixed(15)}return this}static fromExpo(t,e){return new r(+(t*w(e)).toFixed(13),+(t*F(e)).toFixed(13))}get expo(){return[this.z,this.phi]}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}static mul(t,...e){return t.clone.mul(...e)}static div(t,...e){return t.clone.div(...e)}static pow(t,e){return t.clone.pow(e)}static xpowZ(t){return s(t**this.a*w(this.b*x(t)),t**this.a*F(this.b*x(t)))}sqrtn(t=2){return s(y(this.z,t)*w(this.phi/t),y(this.z,t)*F(this.phi/t))}get sqrt(){return this.sqrtn(2)}get log(){return s(this.z,this.phi)}get cos(){return s(w(this.a)*T(this.b),F(this.a)*I(this.b))}get sin(){return s(F(this.a)*T(this.b),w(this.a)*I(this.b))}get tan(){const t=w(2*this.a)+T(2*this.b);return s(F(2*this.a)/t,I(2*this.b)/t)}printInConsole(){let t=this.a+" + "+this.b+" * i";return console.log(t),t}print(){}UI(){return"<span>"+this.a+" + i * "+this.b+"</span>"}}const s=(t,e)=>{if((t instanceof Array||ArrayBuffer.isView(t))&&(e instanceof Array||ArrayBuffer.isView(t)))return t.map(((r,n)=>s(t[n],e[n])));if(t instanceof ot&&e instanceof ot){if(t.shape[0]!==e.shape[0]||t.shape[1]!==e.shape[1])return Error(0);const r=t.arr.map(((r,n)=>s(t.arr[n],e.arr[n])));return new ot(t.rows,t.cols,...r)}return new r(t,e)},n=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e+=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(n(...t[r])):t[r]instanceof Object&&e.push(n(...Object.values(t[r])));return 1===e.length?e[0]:e},i=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t[0];for(let r=1;r<t.length;r++)e*=t[r];return e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(i(...t[r])):t[r]instanceof Object&&e.push(i(...Object.values(t[r])));return 1===e.length?e[0]:e},o=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.min(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).sort(((t,e)=>t[1]-e[1]))[0]]));return 1===e.length?e[0]:e},a=(...t)=>{if(t.every((t=>"number"==typeof t)))return Math.max(...t);const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(o(...t[r])):t[r]instanceof Object&&e.push(Object.fromEntries([Object.entries(t[r]).sort(((t,e)=>e[1]-t[1]))[0]]));return 1===e.length?e[0]:e},h=(...t)=>{if(t.every((t=>"number"==typeof t))){let e=t.reduce(((t,e)=>[...t,t[t.length-1]+e]),[0]);return e.shift(),e}const e=[];for(let r=0;r<t.length;r++)t[r]instanceof Array?e.push(h(...t[r])):t[r]instanceof Object&&e.push(null);return 1===e.length?e[0]:e},l=t=>{const e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];if(t<.5)return+(Math.PI/(Math.sin(Math.PI*t)*l(1-t))).toFixed(10);t-=1;let r=e[0];for(let s=1;s<9;s++)r+=e[s]/(t+s);const s=t+7+.5;return+(Math.sqrt(2*Math.PI)*Math.pow(s,t+.5)*Math.exp(-s)*r).toFixed(10)},u=(t,e)=>{let r=0;for(let s=0;s<100;s++){r+=Math.pow(-1,s)*Math.pow(e/2,t+2*s)/($(s)*$(t+s))}return r},m=(t,e)=>{let r=0;const s=r=>Math.pow(r,t-1)*Math.pow(1-r,e-1);r+=.5*(s(0)+s(1));for(let t=1;t<1e3;t++){r+=s(0+.001*t)}return.001*r},p={cos:t=>+Math.cos(t).toFixed(15),sin:t=>+Math.sin(t).toFixed(15),tan:t=>+Math.tan(t).toFixed(31),sinc:t=>+Math.sin(Math.PI*t)/(Math.PI*t),sec:t=>1/Math.cos(t).toFixed(15),csc:t=>1/Math.sin(t).toFixed(15),cot:t=>1/Math.tan(t).toFixed(15),acos:t=>+Math.acos(t).toFixed(15),asin:t=>+Math.asin(t).toFixed(15),atan:t=>+Math.atan(t).toFixed(15),acot:t=>+Math.PI/2-Math.atan(t).toFixed(15),cosh:t=>+Math.cosh(t).toFixed(15),sinh:t=>+Math.sinh(t).toFixed(15),tanh:t=>+Math.tanh(t).toFixed(15),coth:t=>+(.5*Math.log((1+t)/(1-t))).toFixed(15),acosh:t=>+Math.acosh(t).toFixed(15),asinh:t=>+Math.asinh(t).toFixed(15),atanh:t=>+Math.atanh(t).toFixed(15)},d=(...t)=>mt(Math.abs,...t),f=(...t)=>mt(Math.sqrt,...t),g=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,e):e instanceof r?r.fromExpo(t**e.a,e.b*x(t)):mt((e=>g(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(t.z**e,t.phi*e):e instanceof r?r.fromExpo(t.z**e.a*b(-t.phi*e.b),x(t.z)*e.b+e.a*t.phi):mt((e=>g(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>g(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},y=(t,e)=>{if("number"==typeof t)return"number"==typeof e?Math.pow(t,1/e):mt((e=>y(t,e)),...e);if(t instanceof r)return"number"==typeof e?r.fromExpo(y(t.z,e),t.phi/e):mt((e=>y(t,e)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>y(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>y(t[s],e)),...e));return r}}},b=(...t)=>mt(Math.exp,...t),x=(...t)=>mt(Math.log,...t),w=(...t)=>mt(p.cos,...t),F=(...t)=>mt(p.sin,...t),v=(...t)=>mt(p.tan,...t),C=(...t)=>mt(p.sec,...t),E=(...t)=>mt(p.sinc,...t),k=(...t)=>mt(p.csc,...t),A=(...t)=>mt(p.cot,...t),D=(...t)=>mt(p.acos,...t),B=(...t)=>mt(p.asin,...t),_=(...t)=>mt(p.atan,...t),M=(...t)=>mt(p.acot,...t),T=(...t)=>mt(p.cosh,...t),I=(...t)=>mt(p.sinh,...t),S=(...t)=>mt(p.tanh,...t),L=(...t)=>mt(p.coth,...t),O=(...t)=>mt(p.acosh,...t),V=(...t)=>mt(p.asinh,...t),j=(...t)=>mt(p.atanh,...t),R=(...t)=>mt(Math.ceil,...t),N=(...t)=>mt(Math.floor,...t),P=(...t)=>mt(Math.round,...t),z=(t,e,r=!0)=>{if("number"==typeof t)return"number"==typeof e?r?Math.atan2(t,e):180*Math.atan2(t,e)/Math.PI:mt((e=>z(t,e,r)),...e);if(t instanceof Array){if("number"==typeof e)return mt((t=>z(t,e,r)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>g(t[s],e)),...e));return r}}},$=(...t)=>mt((t=>{let e,r=1;if(0==t)r=1;else if(t>0)for(e=1;e<=t;e++)r*=e;else r=NaN;return r}),...t),H=(...t)=>mt(Math.sign,...t),U=(...t)=>mt((t=>1/(1+b(-t))),...t),q=(...t)=>t.every((t=>"number"==typeof t))?Math.hypot(...t):t.every((t=>t instanceof Array))?mt(Math.hypot,...t):void 0,W=t=>{const e=[],r=2**t.length;for(let s=0;s<r;s+=1){const r=[];for(let e=0;e<t.length;e+=1)s&1<<e&&r.push(t[e]);e.push(r)}return e},Z=null,X={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},dec2base(t,e){return this._mode=e<=10?Number:String,"number"==typeof t?this._mode((t>>>0).toString(e)):this._map(this.dec2base,t,e)},dec2bin(t){return this.dec2base(t,2)},dec2oct(t){return this.dec2base(t,8)},dec2hex(t){return this.dec2base(t,16)},bin2base(t,e){return this.dec2base(this.bin2dec(t),e)},bin2dec(t){return this._mode("0b"+t)},bin2oct(t){return this.bin2base(t,8)},bin2hex(t){return this.bin2base(t,16)},oct2dec(t){return this._mode("0o"+t)},oct2bin(t){return this.dec2bin(this.oct2dec(t))},oct2hex(t){return this.dec2hex(this.oct2dec(t))},oct2base(t,e){return this.dec2base(this.oct2dec(t),e)},hex2dec(t){return this._mode("0x"+t)},hex2bin(t){return this.dec2bin(this.hex2dec(t))},hex2oct(t){return this.dec2oct(this.hex2dec(t))},hex2base(t,e){return this.dec2base(this.hex2dec(t),e)},IEEE32toDec(t){let e=t.split(" ").join("").padEnd(32,"0"),r=e[0],s=2**(+("0b"+e.slice(1,9))-127);return(-1)**r*(1+e.slice(9,32).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s},IEEE64toDec(t){let e=t.split(" ").join("").padEnd(64,"0"),r=e[0],s=2**(+("0b"+e.slice(1,12))-1023);return(-1)**r*(1+e.slice(13,64).split("").map((t=>+t)).map(((t,e)=>t*2**(-e-1))).reduce(((t,e)=>t+e),0))*s}},K={_mode:Number,_map:function(t,e,s){return e instanceof ot?new ot(e.rows,e.cols,e.arr.flat(1).map((e=>t(e,s)))):e instanceof r?new r(t(e.a,s),t(e.b,s)):e instanceof Array?e.map((e=>t(e,s))):void 0},not:function(t){return["number","boolean"].includes(typeof t)?K._mode(!t):this._map(this.not,t)},and:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t&e),t)):this._map(this.and,t,e)},or:function(t,...e){return["number","boolean"].includes(typeof t)?K._mode(e.reduce(((t,e)=>t|e),t)):this._map(this.or,t,e)},nand:function(t,...e){return this.not(this.and(t,e))},nor:function(t,...e){return this.not(this.or(t,e))},xor:function(t,...e){let r=[t,...e];return["number","boolean"].includes(typeof t)?this._mode(1===r.reduce(((t,e)=>(1==+e&&(t+=1),t)),0)):this._map(this.xor,t,e)},xnor:function(t,...e){return K.not(K.xor(t,e))}};class G{static withDiscount(t,e=t.length){if(1===e)return t.map((t=>[t]));const r=[];let s;return s=this.withDiscount(t,e-1),t.forEach((t=>{s.forEach((e=>{r.push([t].concat(e))}))})),r}static withoutDiscount(t){if(1===t.length)return t.map((t=>[t]));const e=[],r=this.withoutDiscount(t.slice(1)),s=t[0];for(let t=0;t<r.length;t++){const n=r[t];for(let t=0;t<=n.length;t++){const r=n.slice(0,t),i=n.slice(t);e.push(r.concat([s],i))}}return e}}class Y{static withDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withDiscount(t.slice(n),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}static withoutDiscount(t,e){if(1===e)return t.map((t=>[t]));const r=[];return t.forEach(((s,n)=>{this.withoutDiscount(t.slice(n+1),e-1).forEach((t=>{r.push([s].concat(t))}))})),r}}const Q={Logic:K,Base:X,Permutation:G,Combinaison:Y,combinaison:(t,e,r=!1)=>Y[r?"withDiscount":"withoutDiscount"](t,e),powerSet:W,subSet:Z};class J{static float(t=1,e){return e?Math.random()*(e-t)+t:t*Math.random()}static int(t,e){return Math.floor(this.float(t,e))}static char(t){t=t??this.bool();const e=String.fromCharCode(this.int(97,120));return t?e.toUpperCase():e}static bool(){return[!1,!0][Math.floor(2*Math.random())]}static string(t,e){return t instanceof Array?new Array(this.int(...t)).fill(0).map((()=>this.char(e))).join(""):new Array(t).fill(0).map((()=>this.char(e))).join("")}static bin(){return this.int(2)}static oct(){return this.int(8)}static dec(){return this.int(8)}static hex(){return this.int(16)}static choice(t=[1,2,3],e=new Array(t.length).fill(1/t.length)){let r=new Array(100);e=Ut.accum(...e).map((t=>100*t)),r.fill(t[0],0,e[0]);for(let s=1;s<t.length;s++)r.fill(t[s],e[s-1],e[s]);return r[this.int(r.length-1)]}static shuffleArr(t){return t.sort((()=>.5-Math.random()))}static shuffleMatrix(t){const{rows:e,cols:r,arr:s}=t;return at(e,r,s.flat().sort((()=>.5-Math.random())))}static floats(t,e,r){return new Array(t).fill(0).map((()=>this.float(e,r)))}static ints(t,e,r){return new Array(t).fill(0).map((()=>this.int(e,r)))}static bools(t){return new Array(t).fill(0).map((()=>this.bool()))}static bins(t){return new Array(t).fill(0).map((()=>this.int(2)))}static octs(t){return new Array(t).fill(0).map((()=>this.int(8)))}static decs(t){return new Array(t).fill(0).map((()=>this.int(10)))}static hexs(t){return new Array(t).fill(0).map((()=>this.int(16)))}static choices(t,e,r){return new Array(t).fill(0).map((()=>this.choice(e,r)))}static perm(...t){return t.permS[this.int(t.length)]}static color(){return"#"+X.dec2hex(this.float(16777216)).padStart(6,0)}static colors(t){return new Array(t).fill(null).map((()=>this.color()))}static complex(t=[0,1],e=[0,1]){return t instanceof Array?new r(this.float(t[0],t[1]),this.float(e[0],e[1])):new r(...this.floats(2,t,e))}static complexInt(t=[0,1],e=[0,1]){return new r(this.int(t[0],t[1]),this.int(e[0],e[1]))}static complexBin(){return new r(...this.bins(2))}static complexOct(){return new r(...this.octs(2))}static complexDec(){return new r(...this.decs(10))}static complexHex(){return new r(...this.octs(2))}static complexes(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complex(e,r)))}static complexesInt(t,e=0,r=1){return new Array(t).fill(0).map((()=>this.complexInt(e,r)))}static complexesBin(t){return new Array(t).fill(0).map((()=>this.complexBin()))}static complexesOct(t){return new Array(t).fill(0).map((()=>this.complexOct()))}static complexesDec(t){return new Array(t).fill(0).map((()=>this.complexDec()))}static complexesHex(t){return new Array(t).fill(0).map((()=>this.complexHex()))}static matrix(t,e,r,s){return at(t,e,this.floats(t*e,r,s))}static matrixInt(t,e,r,s){return at(t,e,this.ints(t*e,r,s))}static matrixBin(t,e){return at(t,e,this.bins(t*e))}static matrixOct(t,e){return at(t,e,this.octs(t*e))}static matrixDec(t,e){return at(t,e,this.decs(t*e))}static matrixHex(t,e){return at(t,e,this.hex(t*e))}static matrixColor(t,e){return at(t,e,this.colors(t*e))}static matrixComplex(t,e,r,s){return at(t,e,this.complexes(t*e,r,s))}static matrixComplexInt(t,e,r,s){return at(t,e,this.complexesInt(t*e,r,s))}static matrixComplexBin(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexOct(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexDec(t,e){return at(t,e,this.complexesBin(t*e))}static matrixComplexHex(t,e){return at(t,e,this.complexesBin(t*e))}}const tt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0))),s=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let n=0;n<e;n++){for(let i=n;i<e;i++){let e=0;for(let t=0;t<n;t++)e+=r[n][t]*s[t][i];s[n][i]=t[n][i]-e}for(let i=n;i<e;i++)if(n==i)r[n][n]=1;else{let e=0;for(let t=0;t<n;t++)e+=r[i][t]*s[t][n];r[i][n]=(t[i][n]-e)/s[n][n]}}return[r,s].map((t=>new ot(t)))},et=(t,e)=>t.reduce(((t,r,s)=>t+r*e[s]),0),rt=t=>Math.sqrt(t.reduce(((t,e)=>t+e*e),0)),st=t=>t.map((e=>e/rt(t))),nt=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=t[0].length,s=[],n=[];for(let t=0;t<e;t++)n.push(new Array(r).fill(0));for(let i=0;i<r;i++){let r=t.map((t=>t[i]));for(let o=0;o<i;o++){const a=s[o],h=et(a,t.map((t=>t[i])));for(let t=0;t<e;t++)r[t]-=h*a[t];n[o][i]=h}const o=rt(r);s.push(st(r)),n[i][i]=o}return[s,n].map((t=>new ot(t)))},it=t=>{t instanceof ot&&(t=t.arr);const e=t.length,r=new Array(e).fill(0).map((()=>new Array(e).fill(0)));for(let s=0;s<e;s++)for(let e=0;e<=s;e++){let n=0;for(let t=0;t<e;t++)n+=r[s][t]*r[e][t];r[s][e]=s===e?Math.sqrt(t[s][s]-n):1/r[e][e]*(t[s][e]-n)}return new ot(r)};class ot extends e{constructor(t,e,r=[]){if(super(),t instanceof ot)this.arr=t.arr,this.rows=t.rows,this.cols=t.cols;else{let s,n,i=[];if(arguments[0]instanceof Array)t=arguments[0].length,e=arguments[0][0].length,i=arguments[0];else for(s=0;s<t;s++)for(i.push([]),i[s].push(new Array(e)),n=0;n<e;n++)i[s][n]=r[s*e+n],null==r[s*e+n]&&(i[s][n]=0);this.rows=t,this.cols=e,this.arr=i}this._maintain()}at(t=0,e=void 0){return t<0&&(t=this.rows+t),null==e?this.arr[t]:(e<0&&(e=this.cols+e),this.arr[t][e])}reshape(t,e){if(t*e==this.rows*this.cols)return new ot(t,e,this.arr.flat(1));console.error("Err")}static eye(t){let e=new ot(t,t);for(let r=0;r<t;r++)for(let s=0;s<t;s++)e.arr[r][s]=r===s?1:0;return e}get clone(){return new ot(this.rows,this.cols,this.arr.flat(1))}get size(){return this.rows*this.cols}get shape(){return[this.rows,this.cols]}get reel(){return new ot(this.cols,this.rows,this.arr.flat(1).reel)}get imag(){return new ot(this.cols,this.rows,this.arr.flat(1).imag)}_maintain(){for(let t=0;t<this.arr.length;t++)Object.assign(this,{[[t]]:this.arr[t]});return this}get(t=0,e=0){return-1==e?this.arr[t]:-1==t?this.arr.map((t=>t[e])):this.arr[t][e]}set(t=0,e=0,r){if(-1==e)return this.arr[t]=r;if(-1==t){for(let t=0;t<this.cols;t++)this.arr[t][e]=r[t]||0;return this.arr}return this.arr[t][e]=r}get isSquare(){return this.rows/this.cols==1}get isSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get isAntiSym(){if(!this.isSquare)return!1;const t=this.T,e=this.clone;return 0==ot.add(e,t).max&&0==ot.add(e,t).min}get isDiag(){if(!this.isSquare)return!1;const t=this.T,e=this.clone,r=ot.mul(e,t),s=ot.dot(t,e);return 0==ot.sub(r,s).max&&0==ot.sub(r,s).min}get isOrtho(){return!!this.isSquare&&(this.isDiag&&(1==this.det||-1==this.det))}get isIdemp(){if(!this.isSquare)return!1;const t=this.clone,e=ot.dot(t,t);return 0==ot.sub(e,t).max&&0==ot.sub(e,t).min}get T(){let t=[];for(let e=0;e<this.arr[0].length;e++){t[e]=[];for(let r=0;r<this.arr.length;r++)t[e][r]=this.arr[r][e]}return new ot(this.cols,this.rows,t.flat(1))}get det(){if(!this.isSquare)return new Error("is not square matrix");if(1==this.rows)return this.arr[0][0];function t(t,e){var r=[];for(let e=0;e<t.length;e++)r.push(t[e].slice(0));r.splice(0,1);for(let t=0;t<r.length;t++)r[t].splice(e,1);return r}return function e(r){if(2==r.length)return r.flat(1).some((t=>t instanceof ot))?void console.warn("Tensors are not completely supported yet ..."):Ut.sub(Ut.mul(r[0][0],r[1][1]),Ut.mul(r[0][1],r[1][0]));for(var s=0,n=0;n<r.length;n++){const i=Ut.add(Ut.mul(g(-1,n),Ut.mul(r[0][n],e(t(r,n)))));s=Ut.add(s,i)}return s}(this.arr)}get inv(){if(!this.isSquare)return new Error("is not square matrix");if(0===this.det)return"determinat = 0 !!!";let t=function(t){if(t.length!==t[0].length)return;var e=0,r=0,s=0,n=t.length,i=0,o=[],a=[];for(e=0;e<n;e+=1)for(o[o.length]=[],a[a.length]=[],s=0;s<n;s+=1)o[e][s]=e==s?1:0,a[e][s]=t[e][s];for(e=0;e<n;e+=1){if(0==(i=a[e][e])){for(r=e+1;r<n;r+=1)if(0!=a[r][e]){for(s=0;s<n;s++)i=a[e][s],a[e][s]=a[r][s],a[r][s]=i,i=o[e][s],o[e][s]=o[r][s],o[r][s]=i;break}if(0==(i=a[e][e]))return}for(s=0;s<n;s++)a[e][s]=a[e][s]/i,o[e][s]=o[e][s]/i;for(r=0;r<n;r++)if(r!=e)for(i=a[r][e],s=0;s<n;s++)a[r][s]-=i*a[e][s],o[r][s]-=i*o[e][s]}return o}(this.arr);return new ot(this.rows,this.cols,t.flat(1))}static zeros(t,e){let r=new ot(t,e);for(let n=0;n<t;n++)for(var s=0;s<e;s++)r.arr[n][s]=0;return r}static ones(t,e){let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=1;return r}static nums(t,e,r){let s=new ot(t,e);for(let n=0;n<t;n++)for(let t=0;t<e;t++)s.arr[n][t]=r;return s}static get rand(){return{int:(t,e,r,s)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.randInt(r,s);return n},bin:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randBin;return r},hex:(t,e)=>{let r=new ot(t,e);for(let s=0;s<t;s++)for(let t=0;t<e;t++)r.arr[s][t]=J.randHex;return r},choices:(t,e,r,s)=>{let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.choice(r,s);return n},permutation:(t,e,r)=>{}}}static rands(t,e,r=1,s){let n=new ot(t,e);for(let i=0;i<t;i++)for(let t=0;t<e;t++)n.arr[i][t]=J.rand(r,s);return n}map(t,e,r,s){return Ut.map(this,t,e,r,s)}lerp(t,e){return Ut.lerp(this,t,e)}norm(t,e){return Ut.norm(this,t,e)}clamp(t,e){return Ut.clamp(this,t,e)}static map(t,e,r,s,n){return Ut.map(t,e,r,s,n)}static lerp(t,e,r){return Ut.lerp(t,e,r)}static norm(t,e,r){return Ut.norm(t,e,r)}static clamp(t,e,r){return Ut.clamp(at,e,r)}toPrecision(t){for(let e=0;e<this.cols;e++)for(let r=0;r<this.rows;r++)this.arr[e][r]=+this.arr[e][r].toPrecision(t);return this}get toBin(){let t=this.arr.flat(1).toBin;return new ot(this.rows,this.cols,t)}get toOct(){let t=this.arr.flat(1).toOct;return new ot(this.rows,this.cols,t)}get toHex(){let t=this.arr.flat(1).toHex;return new ot(this.rows,this.cols,t)}max2min(){let t=this.arr.flat(1).max2min;return new ot(this.rows,this.cols,t)}min2max(){let t=this.arr.flat(1).min2max;return new ot(this.rows,this.cols,t)}sortRows(t=void 0){let e=this.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e)}sortCols(t=void 0){let e=this.T.arr.map((e=>e.sort(t))).flat(1);return new ot(this.rows,this.cols,e).T}filterByRows(t){var e=this.arr.map((e=>e.map((e=>+(""+e).includes(t))))).map((t=>!!Logic.or(...t))),r=this.arr.filter(((t,r)=>!0===e[r]));return 0===r.length&&r.push([]),console.log(r),new ot(r)}filterByCols(t){return new ot(this.T.arr.filter((e=>e.includes(t))))}sortAll(t=void 0){let e=this.arr.flat(1).sort(t);return new ot(this.rows,this.cols,e)}count(t){return this.arr.flat(1).count(t)}toBase(t){let e=this.arr.flat(1).toBase(t);return new ot(this.rows,this.cols,e)}#t(t){if(this.rows!==t.rows)return;let e=this.arr;for(let r=0;r<this.rows;r++)for(let s=this.cols;s<this.cols+t.cols;s++)e[r][s]=t.arr[r][s-this.cols];return this.cols+=t.cols,new ot(this.rows,this.cols,e.flat(1))}hstack(...t){const e=[this,...t].reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}static hstack(t,...e){return t.clone.hstack(...e)}#e(t){if(this.cols!==t.cols)return;let e=this.arr;for(let r=this.rows;r<this.rows+t.rows;r++){e[r]=[];for(let s=0;s<this.cols;s++)e[r][s]=t.arr[r-this.rows][s]}return this.rows+=t.rows,new ot(this.rows,this.cols,e.flat(1))}vstack(...t){const e=[this,...t].reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static vstack(t,...e){return t.clone.vstack(...e)}hqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#t(e)));return Object.assign(this,e),this}vqueue(...t){const e=[this,...t].reverse().reduce(((t,e)=>t.#e(e)));return Object.assign(this,e),this}static hqueue(t,...e){return t.clone.hqueue(...e)}static vqueue(t,...e){return t.clone.vqueue(...e)}slice(t=0,e=0,r=this.rows-1,s=this.cols-1){let n=r-t,i=s-e,o=new Array(i);for(let r=0;r<n;r++){o[r]=[];for(let s=0;s<i;s++)o[r][s]=this.arr[r+t][s+e]}return new ot(n,i,o.flat(1))}static slice(t,e=0,r=0,s=this.rows-1,n=this.cols-1){return t.slice(e,r,s,n)}splice(t,e,r,...s){}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)}static getRows(t,e,r=e+1){return t.slice(e,0,r,t.cols)}static getCols(t,e,r=e+1){return t.slice(0,e,t.rows,r)}add(...t){for(let s=0;s<t.length;s++){("number"==typeof t[s]||t[s]instanceof r)&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(let r=0;r<this.rows;r++)for(var e=0;e<this.cols;e++)this.arr[r][e]=Ut.add(this.arr[r][e],t[s].arr[r][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}sub(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.sub(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static add(t,...e){return t.clone.add(...e)}static sub(t,...e){return t.clone.sub(...e)}mul(...t){for(let s=0;s<t.length;s++){"number"==typeof t[s]&&(t[s]=ot.nums(this.rows,this.cols,t[s]));for(var e=0;e<this.rows;e++)for(var r=0;r<this.cols;r++)this.arr[e][r]=Ut.mul(this.arr[e][r],t[s].arr[e][r])}return new ot(this.rows,this.cols,this.arr.flat(1))}div(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.div(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static div(t,...e){return t.clone.div(...e)}static mul(t,...e){return t.clone.mul(...e)}modulo(...t){for(let r=0;r<t.length;r++){"number"==typeof t[r]&&(t[r]=ot.nums(this.rows,this.cols,t[r]));for(let s=0;s<this.rows;s++)for(var e=0;e<this.cols;e++)this.arr[s][e]=Ut.modulo(this.arr[s][e],t[r].arr[s][e])}return new ot(this.rows,this.cols,this.arr.flat(1))}static modulo(t,...e){return t.clone.modulo(...e)}dot(t){for(var e=[],r=0;r<this.arr.length;r++){e[r]=[];for(var s=0;s<t.arr[0].length;s++){e[r][s]=0;for(var n=0;n<this.arr[0].length;n++)e[r][s]=Ut.add(e[r][s],Ut.mul(this.arr[r][n],t.arr[n][s]))}}return new ot(this.arr.length,t.arr[0].length,e.flat(1))}static dot(t,e){return t.dot(e)}pow(t){let e=this.clone,r=this.clone;for(let s=0;s<t-1;s++)r=r.dot(e);return r}static pow(t,e){return t.clone.pow(e)}get somme(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t+=this.arr[e][r];return t}get DoesItContainComplexNumbers(){return this.arr.flat(1/0).some((t=>t instanceof r))}get min(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return o(...t)}get max(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return a(...t)}get minRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(o(...this.arr[e]));return t}get maxRows(){this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable");let t=[];for(let e=0;e<this.rows;e++)t.push(a(...this.arr[e]));return t}get minCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.minRows}get maxCols(){return this.DoesItContainComplexNumbers&&console.error("Complex numbers are not comparable"),this.T.maxRows}static fromVector(t){return new ot(t.length,1,t)}get toArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.cols;r++)t.push(this.arr[e][r]);return t}get print(){let t="[";for(let e=0;e<this.arr.length;e++)t+=(0!=e?" ":"")+` [${this.arr[e].map((t=>" "+t.toString()+" "))}],\n`;console.log(t.substring(0,t.length-2)+" ]"),document.write(t.substring(0,t.length-2)+" ]")}get table(){console.table(this.arr)}get serialize(){return JSON.stringify(this)}static deserialize(t){"string"==typeof t&&(t=JSON.parse(t));let e=new ot(t.rows,t.cols);return e.arr=t.arr,e}DecompositionLU(){const[t,e]=tt(this);return{L:t,U:e}}static DecompositionLU(...t){const e=t.map((t=>t.clone.LU()));return 1===e.length?e[0]:e}DecompositionQR(){const[t,e]=nt(this);return{Q:t,R:e}}static DecompositionQR(...t){const e=t.map((t=>t.clone.DecompositionQr()));return 1===e.length?e[0]:e}DecompositionCholesky(){return{L:it(this)}}static DecompositionCholesky(...t){const e=t.map((t=>t.clone.DecompositionCholesky()));return 1===e.length?e[0]:e}get decomposition(){return{LU:()=>this.DecompositionLU(),QR:()=>this.DecompositionQR(),Cholesky:()=>this.DecompositionCholesky()}}static get decomposition(){return{LU:(...t)=>ot.LU(...t),QR:(...t)=>ot.QR(...t),CHOLESKY:(...t)=>ot.CHOLESKY(...t)}}toTable(){var t=new DocumentFragment,e=new Array(this.rows).fill(null).map((()=>document.createElement("tr"))),r=this.arr.map((t=>t.map((()=>document.createElement("td")))));for(let t=0;t<r.length;t++)for(let s=0;s<r[0].length;s++)r[t][s].innerHTML=this.arr[t][s],e[t].appendChild(r[t][s]);return e.map((e=>t.appendChild(e))),t}toGrid(t,e={}){let r=Grid();return r.append(...this.map(t).arr.flat(1).map((t=>t.style(e)))),r.Columns(this.cols),r}sortTable(t=0,{type:e="num",order:r="asc"}={}){var s=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e}))))),n=this.T.arr.map((t=>t.map(((t,e)=>Object.assign({},{x:t,y:e})))));"num"===e?"asc"===r?s[t].sort(((t,e)=>t.x-e.x)):"desc"===r?s[t].sort(((t,e)=>e.x-t.x)):"toggle"===r&&(s[t][0].x>s[t][1].x?s[t].sort(((t,e)=>e.x-t.x)):s[t].sort(((t,e)=>t.x-e.x))):"alpha"===e&&("asc"===r?s[t].sort(((t,e)=>(""+t.x).localeCompare(""+e.x))):"desc"===r&&s[t].sort(((t,e)=>(""+e.x).localeCompare(""+t.x)))),r=s[t].map((t=>t.y));for(let e=0;e<s.length;e++)e!==t&&s[e].map(((t,e)=>t.y=r[e]));for(let e=0;e<s.length;e++)e!==t&&n[e].map(((t,n)=>t.x=s[e][r[n]].x));n[t]=s[t];var i=n.map((t=>t.map((t=>t.x))));return new ot(i).T}}const at=(t,e,r)=>new ot(t,e,r),ht=(...t)=>new ot(2,2,t),lt=(...t)=>new ot(3,3,t),ct=(...t)=>new ot(4,4,t);class ut{static resolve(t,e){return t.inv.dot(ot.fromVector(e)).arr.flat(1).map((t=>+t.toFixed(10)))}}const mt=(t,...e)=>{const n=e.map((e=>{if(null===e)return t(null);if(["number","string","boolean","bigint","undefined"].includes(typeof e))return t(e);if(e instanceof Array)return e.map((e=>mt(t,e)));if(ArrayBuffer.isView(e))return e.map((e=>t(e)));if(e instanceof Set)return new Set(mt(t,...e));if(e instanceof Map)return new Map([...e].map((e=>[e[0],mt(t,e[1])])));if(e instanceof ot)return new ot(e.rows,e.cols,mt(e.arr.flat(1)));if(e instanceof r){const[r,n,i,o]=[e.a,e.b,e.z,e.phi];switch(t){case Math.log:return s(x(i),o);case Math.exp:return s(b(r)*w(n),b(r)*F(n));case Math.abs:return i;case Math.sqrt:return s(f(i)*w(o/2),f(i)*F(o/2));case p.cos:return s(w(r)*T(n),-F(r)*I(n));case p.sin:return s(F(r)*T(n),w(r)*I(n));case p.tan:{const t=w(2*r)+T(2*n);return s(F(2*r)/t,I(2*n)/t)}case p.cosh:return s(T(r)*w(n),I(r)*F(n));case p.sinh:return s(I(r)*w(n),T(r)*F(n));case p.tanh:{const t=T(2*r)+w(2*n);return s(I(2*r)/t,F(2*n)/t)}}}else if(e instanceof Object)return Object.fromEntries(Object.entries(e).map((e=>[e[0],mt(t,e[1])])))}));return 1==n.length?n[0]:n},pt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t+e;if(e instanceof r)return s(t+e.a,e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).add(e);if(e instanceof Array)return e.map((e=>bt(e,t)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.add(e))):t.clone.add(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>bt(t,e)));if(t.length===e.length)return t.map(((t,r)=>bt(t,e[r])))}}},dt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t-e;if(e instanceof r)return s(t-e.a,-e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).sub(e);if(e instanceof Array)return e.map((e=>xt(e,t)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.sub(e))):t.clone.sub(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>xt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>xt(t,e[r])))}}},ft=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t*e;if(e instanceof r)return s(t*e.a,t*e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).mul(e);if(e instanceof Array)return e.map((e=>wt(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.mul(e))):t.clone.mul(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>wt(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>wt(t,e[r])))}}},gt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t/e;if(e instanceof r)return s(t/e.a,t/e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).div(e);if(e instanceof Array)return e.map((e=>Ft(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array){if(!(e instanceof Array))return t.map((t=>Ft(t,e)));if(e instanceof Array&&t.length===e.length)return t.map(((t,r)=>Ft(t,e[r])))}}},yt=(t,e)=>{if("number"==typeof t){if("number"==typeof e)return t%e;if(e instanceof r)return s(t%e.a,t%e.b);if(e instanceof ot)return ot.nums(e.rows,e.cols,t).modulo(e);if(e instanceof Array)return e.map((e=>Ft(t,e)))}else{if(t instanceof r||t instanceof ot)return e instanceof Array?e.map((e=>t.clone.div(e))):t.clone.div(e);if(t instanceof Array&&!(e instanceof Array))return t.map((t=>bt(t,e)))}},bt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=pt(r,e[t]);return r},xt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=dt(r,e[t]);return r},wt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=ft(r,e[t]);return r},Ft=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=gt(r,e[t]);return r},vt=(t,...e)=>{var r=t;for(let t=0;t<e.length;t++)r=yt(r,e[t]);return r},{PI:Ct,E:Et}=Math,kt=Number.EPSILON,At=t=>new Array(t).fill(0),Dt=t=>new Array(t).fill(1),Bt=(t,e)=>new Array(e).fill(t),_t=(t,e,s)=>{if("number"==typeof t)return e!==s?(t-e)/(s-e):0;if(t instanceof ot)return new ot(t.rows,t.cols,_t(t.arr.flat(1),e,s));if(t instanceof r)return new r(_t(t.a,e,s),_t(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>_t(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=_t(t[r])}}},Mt=(t,e,s)=>{if("number"==typeof t)return(s-e)*t+e;if(t instanceof ot)return new ot(t.rows,t.cols,Mt(t.arr.flat(1),e,s));if(t instanceof r)return new r(Mt(t.a,e,s),Mt(t.b,e,s));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Mt(t,e,s)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=Mt(t[r])}}},Tt=(t,e,s,n,i)=>{if("number"==typeof t)return Mt(_t(t,e,s),n,i);if(t instanceof ot)return new ot(t.rows,t.cols,Tt(t.arr.flat(1),e,s,n,i));if(t instanceof r)return new r(Tt(t.a,s,n,i),Tt(t.b,e,s,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>Tt(t,e,s,n,i)));{let r=new Array(t.length);for(let o=0;o<t.length;o++)r[o]=Tt(t[o],e,s,n,i)}}},It=(t,e,s)=>{const[n,i]=[o(e,s),a(e,s)];if("number"==typeof t)return o(a(t,n),i);if(t instanceof ot)return new ot(t.rows,t.cols,It(t.arr.flat(1),n,i));if(t instanceof r)return new r(It(t.a,n,i),It(t.b,n,i));if(t instanceof Array){if(t.every((t=>typeof("number"===t))))return t.map((t=>It(t,n,i)));{let e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=It(t[r],n,i)}}},St=(t,e,r,s=!1)=>{let n=[];if(t<e)for(let i=t;s?i<=e:i<e;i+=r)n.push(10*i/10);else for(let i=t;s?i>=e:i>e;i-=r)n.push(10*i/10);return n},Lt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[r,s]=[t,e].sort(((t,e)=>e-t));var o=[];let h;h=i?(r-s)/(n-1):(r-s)/n;for(var a=0;a<n;a++)t<e?o.push(s+h*a):o.push(r-h*a);return o}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);n=n||Math.abs(r.a-o.a)+1;const a=Lt(r.a,o.a,n,i),h=Lt(r.b,o.b,n,i);let l=new Array(n).fill(null);return l=l.map(((t,e)=>s(a[e],h[e]))),l}}},Ot=(t,e,r=e-t+1,s=Et,n=!0)=>Lt(t,e,r,n).map((t=>g(s,t))),Vt=(t,e,n=d(e-t)+1,i=!0)=>{if(Math.floor(n)===n){if([t,e].every((t=>"number"==typeof t))){const[r,s]=[t,e].sort(((t,e)=>e-t));let o;o=y(r/s,i?n-1:n);const a=[s];for(let t=1;t<n;t++)a.push(a[t-1]*o);return t<e?a:a.reverse()}if([t,e].some((t=>t instanceof r))){const r=s(t),o=s(e);let a;n=n||Math.abs(r.a-o.a)+1,a=y(o.div(r),i?n-1:n);const h=[r];for(let t=1;t<n;t++)h.push(wt(h[t-1],a));return h}}},jt=(...t)=>mt((t=>t*Math.PI/180),...t),Rt=(...t)=>mt((t=>t/Math.PI*180),...t),Nt=(t,e,r)=>{const[s,n]=[Math.min(e,r),Math.max(e,r)];return t>=s&&t<=n},Pt=(t,e,r=1e-4)=>Math.abs(t-e)<=r,zt=(t,e)=>t.reduce(((t,r)=>[...t,...e.map((t=>[r,t]))]),[]),$t=(t,e)=>{let r,s=1;if(t==N(t)&&e==N(e)){for(r=2;r<=t&&r<=e;++r)t%r==0&&e%r==0&&(s=r);return s}console.log("error")},Ht=(t,e)=>{let r;if(t==N(t)&&e==N(e)){for(r=t>e?t:e;r%t!=0||r%e!=0;)++r;return r}console.log("error")},Ut={add:bt,sub:xt,mul:wt,div:Ft,modulo:vt,zeros:At,ones:Dt,nums:Bt,norm:_t,lerp:Mt,map:Tt,clamp:It,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,sum:n,prod:i,accum:h,cartesianProduct:zt,ppcm:Ht,pgcd:$t,deg2rad:jt,rad2deg:Rt,inRange:Nt,isApproximatlyEqual:Pt},qt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*w(s)+t[e].b*F(s),o+=-t[e].a*F(s)+t[e].b*w(s)}i/=n,o/=n,e[r]=s(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},Wt=t=>{const e=[],n=t.length;t[0]instanceof r||(t=t.map((t=>s(t,0))));for(let r=0;r<n;r++){let i=0,o=0;for(let e=0;e<n;e++){const s=2*Ct*r*e/n;i+=t[e].a*w(s)+t[e].b*F(s),o+=t[e].a*F(s)+t[e].b*w(s)}i/=n,o/=n,e[r]=s(i,o)}return{output:e,re:e.map((t=>t.a)),im:e.map((t=>t.b)),z:e.map((t=>t.z)),phi:e.map((t=>t.phi))}},Zt=(t,e,r=!0)=>{const s=t.length,n=e.length,i=[],o=r?Math.max(s,n):s+n-1;for(let r=0;r<o;r++){let o=0;for(let i=0;i<n;i++){const a=r+i-Math.floor(n/2);o+=(a>=0&&a<s?t[a]:0)*e[i]}i.push(o)}return i},Xt=(t,e,r=!0)=>{t instanceof ot||(t=at(t)),e instanceof ot||(e=at(e));const s=t.rows,n=t.cols,i=r?Math.max(t.rows,e.rows):t.rows+e.rows-1,o=r?Math.max(t.cols,e.cols):t.cols+e.cols-1,a=e.rows,h=[];for(let r=0;r<i;r++){const i=[];for(let h=0;h<o;h++){let o=0;for(let i=0;i<a;i++)for(let l=0;l<a;l++){const c=r+i-Math.floor(a/2),u=h+l-Math.floor(a/2);o+=(c>=0&&c<s&&u>=0&&u<n?t[c][u]:0)*e[i][l]}i.push(o)}h.push(i)}return h},Kt=(t,e,r)=>t instanceof ot||t instanceof Array&&t[0][0]?Xt(t,e,r):Zt(t,e,r);class Gt{constructor(t){this.input=t,this.input_fft=qt(this.input),this.output_fft=[]}lowPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z<t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}highPass(t){return this.input_fft.output.forEach(((e,r)=>{e=e.z>t?this.output_fft[r]=this.input_fft.output[r]:this.output_fft[r]=s(0,0)})),Wt(this.output_fft).re}bandePass(){}bandeCoupe(){}}const Yt={zeros:At,ones:Dt,nums:Bt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,map:Tt,norm:_t,lerp:Mt,clamp:It,noise:(t,e=0,r=1)=>J.floats(t,e,r),echelon(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?1:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rampe(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>t>=e?t-e:0),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sign(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>Math.sign(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},rect(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},tri(t,e,r=0,s=1){t instanceof Array||(t=[t]);const n=mt((t=>r-e/2<t&&r+e/2>t?1-2*d(t/e):0),...t);return n instanceof Array?n.map((t=>t*s)):n*s},dirac:(t,e)=>mt((t=>t===e?1/0:0),...t),lorentz(t,e=0,r=1){t instanceof Array||(t=[t]);const s=mt((t=>1/(1+(t-e)**2)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sinc(t,e,r=1){t instanceof Array||(t=[t]);const s=mt((t=>E(t-e)),...t);return s instanceof Array?s.map((t=>t*r)):s*r},square(t,e=1,r=1){t instanceof Array||(t=[t]);const s=mt((t=>H(F(2*t*Math.PI/e))),...t);return s instanceof Array?s.map((t=>t*r)):s*r},sawtooth(){},conv:Kt,conv1d:Zt,conv2d:Xt,circularConv:(t,e)=>Kt(t,e,!0),linearConv:(t,e)=>Kt(t,e,!1),circularConv1d:(t,e)=>Zt(t,e,!0),linearConv1d:(t,e)=>Zt(t,e,!1),circularConv2d:(t,e)=>Xt(t,e,!0),linearConv2d:(t,e)=>Xt(t,e,!1),fft:qt,ifft:Wt,filter:t=>new Gt(t)},Qt={PI:Ct,E:Et,EPSILON:kt,Random:J,complex:s,Complex:r,Matrix:ot,LinearSystem:ut,matrix:at,matrix2:ht,matrix3:lt,matrix4:ct,cos:w,sin:F,tan:v,sinc:E,sec:C,csc:k,cot:A,abs:d,sqrt:f,pow:g,sqrtn:y,e:b,ln:x,acos:D,asin:B,atan:_,acot:M,cosh:T,sinh:I,tanh:S,coth:L,acosh:O,asinh:V,atanh:j,min:o,max:a,sign:H,floor:N,ceil:R,round:P,fact:$,hypot:q,sig:U,atan2:z,Utils:Ut,mapfun:mt,nums:Bt,zeros:At,ones:Dt,sum:n,prod:i,add:bt,mul:wt,div:Ft,sub:xt,modulo:vt,rad2deg:Rt,deg2rad:jt,arange:St,linspace:Lt,logspace:Ot,geomspace:Vt,norm:_t,lerp:Mt,map:Tt,clamp:It,pgcd:$t,ppcm:Ht,isApproximatlyEqual:Pt,inRange:Nt,cartesianProduct:zt,Discret:Q,Logic:K,Base:X,Permutation:G,Combinaison:Y,powerSet:W,subSet:Z,Signal:Yt,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Jt=(t,e="px")=>("number"==typeof t&&(t+=e),t instanceof Array&&(t=t.map((t=>"number"==typeof t?t+=e:t)).join(" ")),t);class te{constructor(t={}){this.target=null,this.styles=new Map([["default",t]]),this.cache={isHidden:!1,isFaddedOut:!1,transformation:{Flip:[0,0,0],matrix:new ot([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])}}}style(t,{target:e="parent",maskVector:r=null}={}){return"parent"===e||0===e?((t,e)=>{t&&Object.assign(t.style,e)})(this.target.element,t):"parent"!==e&&0!==e||(r?this.items.map(((e,s)=>1==r[s]&&e.style(t))):this.items.map((e=>e.style(t)))),this}linkTo(t){return this.target=t,this}use(t="default"){return this.style(this.styles.get(t)),this}update(t,e){const r=this.styles.get(t);return r?this.styles.set(t,Object.assign(r,e)):this.styles.set(t,e),this}add(t,e){return this.styles.set(t,e),this}replace(t,e){return this.styles.set(t,e),this}delete(...t){return t.forEach((t=>this.styles.delete(t))),this}updateDefaultStyle(){const t=Object.fromEntries(Object.entries(this.target.element.style).filter((t=>isNaN(+t[0]))));return this.update("default",t),this}hover(t){return t&&this.add("hover",t),this.target.element.addEventListener("pointerenter",(()=>this.use("hover"))),this.target.element.addEventListener("pointerleave",(()=>this.use("default"))),this}isInline(){return getComputedStyle(this.target.element).display.includes("inline")}isBlock(){return!this.isInline()}size(t,e,{target:r,maskVector:s}={}){return this.style({width:t,height:e},{target:r,maskVector:s}),this}width(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minWidth:s,maxWidth:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({width:t},{target:e,maskVector:r});return this}height(t,{target:e,maskVector:r}={}){if(t instanceof Object){if(t instanceof Array&&(t={min:t[0],max:t[1]}),"min"in t||"max"in t){let s=t.min??t.max,n=t.max??t.min;s=Jt(s,"px"),n=Jt(n,"px"),this.style({minHeight:s,maxHeight:n},{target:e,maskVector:r})}}else t=Jt(t,"px"),this.style({height:t},{target:e,maskVector:r});return this}enableResize(t=!1,e=!1,{target:r,maskVector:s}={}){let n="none";return n=t?e?"both":"horizontal":e?"vertical":"none",this.style({resize:n,overflow:"hidden"},{target:r,maskVector:s}),this.isInline()&&(console.group("Ziko Issue : Temporarily Incompatible Method"),console.warn(".enableResize has no effect on inline elements!"),console.info("%cConsider using other display types such as block, inline-block, flex, or grid for proper resizing behavior.","color:gold;background-color:#3333cc;padding:5px"),console.groupEnd()),this}hide({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.hide({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!0,this.style({display:"none"},{target:e,maskVector:r});return this}show({after:t,target:e,maskVector:r}={}){if("number"==typeof t){const s=()=>this.show({target:e,maskVector:r});setTimeout(s,t),clearTimeout(s)}else this.cache.isHidden=!1,this.style({display:""},{target:e,maskVector:r});return this}color(t,{target:e,maskVector:r}={}){return this.style({color:t},{target:e,maskVector:r}),this}background(t,{target:e,maskVector:r}={}){return this.style({background:t},{target:e,maskVector:r}),this}backgroundColor(t,{target:e,maskVector:r}={}){return this.style({backgroundColor:t},{target:e,maskVector:r}),this}opacity(t,{target:e,maskVector:r}={}){return this.style({opacity:t},{target:e,maskVector:r}),this}position(t,{target:e,maskVector:r}={}){return this.style({position:t},{target:e,maskVector:r}),this}display(t,{target:e,maskVector:r}={}){return this.style({display:t},{target:e,maskVector:r}),this}zIndex(t,{target:e,maskVector:r}={}){return this.style({zIndex:t},{target:e,maskVector:r}),this}float(t,{target:e,maskVector:r}={}){return this.style({float:t},{target:e,maskVector:r}),this}border(t="1px solid red",{target:e,maskVector:r}={}){return this.style({border:t},{target:e,maskVector:r}),this}borderTop(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderTop:t},{target:e,maskVector:r}),this}borderRight(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderRight:t},{target:e,maskVector:r}),this}borderBottom(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderBottom:t},{target:e,maskVector:r}),this}borderLeft(t="1px solid red",{target:e,maskVector:r}={}){return this.style({borderLeft:t},{target:e,maskVector:r}),this}borderRadius(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({borderRadius:t},{target:e,maskVector:r}),this}margin(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({margin:t},{target:e,maskVector:r}),this}marginTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginTop:t},{target:e,maskVector:r}),this}marginRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginRight:t},{target:e,maskVector:r}),this}marginBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginBootom:t},{target:e,maskVector:r}),this}marginLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({marginLeft:t},{target:e,maskVector:r}),this}padding(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({padding:t},{target:e,maskVector:r}),this}paddingTop(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingTop:t},{target:e,maskVector:r}),this}paddingRight(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingRight:t},{target:e,maskVector:r}),this}paddingBootom(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingBootom:t},{target:e,maskVector:r}),this}paddingLeft(t,{target:e,maskVector:r}={}){return t=Jt(t,"px"),this.style({paddingLeft:t},{target:e,maskVector:r}),this}font(t,{target:e,maskVector:r}={}){return this.style({font:t},{target:e,maskVector:r}),this}fontFamily(t="",{target:e,maskVector:r}={}){return this.style({fontFamily:t},{target:e,maskVector:r}),this}fontSize(t,{target:e,maskVector:r}={}){return this.style({fontSize:t},{target:e,maskVector:r}),this}cursor(t="pointer"){return this.style({cursor:t}),this}overflow(t,e,{target:r,maskVector:s}={}){const n=["hidden","auto"];return this.style({overflowX:"number"==typeof t?n[t]:t,overflowY:"number"==typeof e?n[e]:e},{target:r,maskVector:s}),this}clip(t,{target:e,maskVector:r}={}){return"string"==typeof t&&(t="polygon("+t+")"),this.style({clipPath:t},{target:e,maskVector:r}),this}fadeOut(t=1){return this.style({transition:t/1e3+"s",opacity:0}),this.cache.isFaddedOut=!0,this}fadeIn(t=1){return this.style({transition:t/1e3+"s",opacity:1}),this.cache.isFaddedOut=!1,this}toggleFade(t=1e3,e=t){return this.cache.isFaddedOut?this.fadeIn(t):this.fadeOut(e),this}#r(t){const e=this.cache.transformation.matrix.arr.join(",");this.style({transform:`matrix3d(${e})`,"-webkit-transform":`matrix3d(${e})`,"-moz-transform":`matrix3d(${e})`,"-ms-transform":`matrix3d(${e})`,"-o-transform":`matrix3d(${e})`}),0!=t&&this.style({transition:`transform ${t/1e3}s ease`})}translate(t,e=t,r=0,s=0){return this.cache.transformation.matrix.set(3,0,t),this.cache.transformation.matrix.set(3,1,e),this.cache.transformation.matrix.set(3,2,r),this.#r(s),this}translateX(t,e=0){return this.cache.transformation.matrix.set(3,0,t),this.#r(e),this}translateY(t,e=0){return this.cache.transformation.matrix.set(3,1,t),this.#r(e),this}translateZ(t,e=0){const r=-1/this.cache.transformation.matrix[2][2];return this.cache.transformation.matrix.set(3,2,t),this.cache.transformation.matrix.set(3,3,1-t/r),this.#r(e),this}perspective(t,e=0){const r=this.cache.transformation.matrix[3][2];return this.cache.transformation.matrix.set(2,2,-1/t),this.cache.transformation.matrix.set(3,3,1-r/t),this.#r(e),this}scale(t,e=t,r=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.set(1,1,e),this.cache.transformation.matrix.arr.join(","),this.#r(r),this}scaleX(t=1,e=0){return this.cache.transformation.matrix.set(0,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}scaleY(t=1,e=0){return this.cache.transformation.matrix.set(1,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skew(t,e=t,r=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.set(1,0,e),this.cache.transformation.matrix.arr.join(","),this.#r(r),this}skewX(t=1,e=0){return this.cache.transformation.matrix.set(0,1,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}skewY(t=1,e=0){return this.cache.transformation.matrix.set(1,0,t),this.cache.transformation.matrix.arr.join(","),this.#r(e),this}rotateX(t,e=0){return this.cache.transformation.matrix.set(1,1,w(t)),this.cache.transformation.matrix.set(1,2,-F(t)),this.cache.transformation.matrix.set(2,1,F(t)),this.cache.transformation.matrix.set(1,2,w(t)),this.#r(e),this}rotateY(t,e=0){return this.cache.transformation.matrix.set(0,0,w(t)),this.cache.transformation.matrix.set(0,2,F(t)),this.cache.transformation.matrix.set(2,0,-F(t)),this.cache.transformation.matrix.set(2,2,w(t)),this.#r(e),this}rotateZ(t,e=0){return this.cache.transformation.matrix.set(0,0,w(t)),this.cache.transformation.matrix.set(0,1,-F(t)),this.cache.transformation.matrix.set(1,0,F(t)),this.cache.transformation.matrix.set(1,1,w(t)),this.#r(e),this}flipeX({t:t=1}={}){return this.cache.transformation.Flip[0]+=180,this.cache.transformation.Flip[0]%=360,this.rotateX(this.cache.transformation.Flip[0],t),this}flipeY(t=1){return this.cache.transformation.Flip[1]+=180,this.cache.transformation.Flip[1]%=360,this.rotateY(this.cache.transformation.Flip[1],t),this}flipeZ(t=1){return this.cache.transformation.Flip[2]+=180,this.cache.transformation.Flip[2]%=360,this.rotateZ(this.cache.transformation.Flip[2],t),this}slideHeightIn(t=1,e=this.h){return this.style({transition:t+"s",height:e}),this}slideHeightOut(t=1){return this.style({transition:t+"s",height:0}),this.target.element.addEventListener("transitionend",(()=>this.style({opacity:"none"}))),this}slideWidthIn(t=1,e=this.w){return this.style({transition:t+"s",width:e}),this}slideWidthOut(t=1){this.style({transition:t+"s",width:0});const e=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",e),this.target.element.removeEventListener("transitionend",e),this}slideIn({t:t=1,w:e="100%",h:r="auto"}={}){return this.style({transition:t+"s",width:e,height:r,visibility:"visible"}),this}slideOut({t:t=1,width:e=0,height:r=0}={}){this.style({visibility:"hidden",transition:t+"s",opacity:"none",width:e,height:r});const s=()=>{this.style({opacity:"none"})};return this.target.element.addEventListener("transitionend",s),this.target.element.removeEventListener("transitionend",s),this}}function ee(t,e,r,s){return this.event=t,this.cache.preventDefault[e]&&t.preventDefault(),r&&r(),this.cache.stream.enabled[e]&&s&&this.cache.stream.history[e].push(s),this.cache.callbacks[e].map((t=>t(this))),this}class re{constructor(t){this.target=null,this.setTarget(t),this.__dispose=this.dispose.bind(this)}get targetElement(){return this.target.element}setTarget(t){return this.target=t,this}__handle(t,e,r){const s="drag"===t?t:`${this.cache.prefixe}${t}`;return this.dispose(r),this.targetElement.addEventListener(s,e),this}__onEvent(t,e,...r){if(0===r.length){if(!(this.cache.callbacks.length>1))return this;this.cache.callbacks.map((t=>e=>t.call(this,e)))}else this.cache.callbacks[t]=r.map((t=>e=>t.call(this,e)));return this.__handle(t,this.__controller[t],e),this}preventDefault(t={}){return Object.assign(this.cache.preventDefault,t),this}pause(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.removeEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!0);return this}resume(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.targetElement.addEventListener(`${this.cache.prefixe}${e}`,this.__controller[`${this.cache.prefixe}${e}`]),this.cache.paused[`${this.cache.prefixe}${e}`]=!1);return this}dispose(t={}){return this.pause(t),this}stream(t={}){this.cache.stream.t0=Date.now();return t={...Object.fromEntries(Object.keys(this.cache.stream.enabled).map((t=>[t,!0]))),...t},Object.assign(this.cache.stream.enabled,t),this}clear(t={}){t={...Object.fromEntries(Object.keys(this.cache.stream.clear).map((t=>[t,!0]))),...t};for(let e in t)t[e]&&(this.cache.stream.history[e]=[]);return this}}function se(t){ee.call(this,t,"down",(()=>{this.dx=parseInt(t.offsetX),this.dy=parseInt(t.offsetY),this.isDown=!0}),{x:this.dx,y:this.dy,t:Date.now()-this.cache.stream.t0})}function ne(t){ee.call(this,t,"move",(()=>{this.mx=parseInt(t.offsetX),this.my=parseInt(t.offsetY),this.isMoving=!0}),{x:this.mx,y:this.my,t:Date.now()-this.cache.stream.t0})}function ie(t){ee.call(this,t,"up",(()=>{this.ux=parseInt(t.offsetX),this.uy=parseInt(t.offsetY),this.isDown=!1;const e=this.dx,r=this.dy,s=this.ux,n=this.uy,i=(s-e)/this.target.Width,o=(r-n)/this.target.Height,a=i<0?"left":i>0?"right":"none",h=o<0?"bottom":o>0?"top":"none";this.swippe={h:a,v:h,delta_x:i,delta_y:o}}),{x:this.ux,y:this.uy,t:Date.now()-this.cache.stream.t0})}function oe(t){ee.call(this,t,"enter",null,null)}function ae(t){ee.call(this,t,"leave",null,null)}function he(t){ee.call(this,t,"out",null,null)}class le extends re{constructor(t){super(t),this.event=null,this.dx=0,this.dy=0,this.dt=0,this.mx=0,this.my=0,this.mt=0,this.ux=0,this.uy=0,this.ut=0,this.swippe={h:null,v:null,delta_x:0,delta_y:0},this.isMoving=!1,this.isDown=!1,this.cache={prefixe:"pointer",preventDefault:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},paused:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},stream:{enabled:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},clear:{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!1},history:{down:[],move:[],up:[],enter:[],out:[],leave:[]}},callbacks:{down:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],move:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],up:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})],enter:[t=>console.log({dx:t.dx,dy:t.dy,down:t.down,move:t.move,t:t.dt})],out:[t=>console.log({mx:t.mx,my:t.my,down:t.down,move:t.move,t:t.dt})],leave:[t=>console.log({ux:t.ux,uy:t.uy,down:t.down,move:t.move,t:t.dt})]}},this.__controller={down:se.bind(this),move:ne.bind(this),up:ie.bind(this),enter:oe.bind(this),out:he.bind(this),leave:ae.bind(this)}}onDown(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("down",{down:!0,move:!1,up:!1,enter:!1,out:!1,leave:!1},...t),this}onMove(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("move",{down:!1,move:!0,up:!1,enter:!1,out:!1,leave:!1},...t),this}onUp(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("up",{down:!1,move:!1,up:!0,enter:!1,out:!1,leave:!1},...t),this}onEnter(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("enter",{down:!1,move:!1,up:!1,enter:!0,out:!1,leave:!1},...t),this}onOut(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("out",{down:!1,move:!1,up:!1,enter:!1,out:!0,leave:!1},...t),this}onLeave(...t){return 0===t.length&&(t=[()=>{}]),this.__onEvent("leave",{down:!1,move:!1,up:!1,enter:!1,out:!1,leave:!0},...t),this}}var ce=t=>new le(t);function ue(t){ee.call(this,t,"down",(()=>this.kd=t.key),{key:t.key,t:10})}function me(t){ee.call(this,t,"press",(()=>this.kp=t.key),{key:t.key,t:10})}function pe(t){ee.call(this,t,"up",(()=>this.ku=t.key),{key:t.key,t:10})}class de extends re{constructor(t){super(t),this.kp=null,this.kd=null,this.ku=null,this.t=0,this.cache={prefixe:"key",preventDefault:{down:!1,press:!1,up:!1},paused:{down:!1,press:!1,up:!1},stream:{enabled:{down:!1,press:!1,up:!1},clear:{down:!0,press:!1,up:!1},history:{down:[],press:[],up:[]}},callbacks:{down:[t=>console.log({kd:t.kd})],press:[t=>console.log({kp:t.kp})],up:[t=>console.log({ku:t.ku})]},successifKeysCallback:{down:[t=>console.log(1111)],press:[t=>console.log(1112)],kyup:[t=>console.log(1113)]}},this.__controller={down:ue.bind(this),press:me.bind(this),up:pe.bind(this)}}onDown(...t){return this.__onEvent("down",{down:!0},...t),this}onPress(...t){return this.__onEvent("press",{press:!0},...t),this}onUp(...t){return this.__onEvent("up",{up:!0},...t),this}}var fe=t=>new de(t);function ge(t){ee(this,t,"start",null)}function ye(t){ee.call(this,t,"drag",null,null)}function be(t){ee.call(this,t,"end",null,null)}function xe(t){ee.call(this,t,"drop",null,null)}class we extends re{constructor(t){super(t),this.target.setAttribute("draggable",!0),this.cache={prefixe:"drag",preventDefault:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},paused:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},callbacks:{drag:[],start:[],end:[],enter:[],leave:[],over:[]},stream:{enabled:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},clear:{drag:!1,start:!1,end:!1,enter:!1,leave:!1,over:!1},history:{drag:[],start:[],end:[],enter:[],leave:[],over:[]}}},this.__controller={start:ge.bind(this),drag:ye.bind(this),end:be.bind(this)}}onStart(...t){return this.__onEvent("start",{},...t),this}onDrag(...t){return this.__onEvent("drag",{},...t),this}onEnd(...t){return this.__onEvent("end",{},...t),this}}class Fe extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{drop:!1},paused:{drop:!1},stream:{enabled:{drop:!1},clear:{drop:!1},history:{drop:[]}},callbacks:{drop:[t=>console.log({dx:t.dx,dy:t.dy,drop:t.drop,move:t.move,t:t.dt})]}},this.__controller={drop:xe.bind(this)}}onDrop(...t){return this.__onEvent("drop",{},...t),this}}const ve=t=>new we(t),Ce=t=>new Fe(t);function Ee(t){ee.call(this,t,"click",null,null)}function ke(t){ee.call(this,t,"dbclick",null,null)}class Ae extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{click:!1,dbclick:!1},paused:{click:!1,dbclick:!1},stream:{enabled:{click:!1,dbclick:!1},clear:{click:!1,dbclick:!1},history:{click:[],dbclick:[]}},callbacks:{click:[],dbclick:[]}},this.__controller={click:Ee.bind(this),dbclick:ke.bind(this)}}onClick(...t){return this.__onEvent("click",{},...t),this}onDbClick(...t){return this.__onEvent("dbclick",{},...t),this}}const De=t=>new Ae(t);function Be(t){ee.call(this,t,"copy",null,null)}function _e(t){ee.call(this,t,"cut",null,null)}function Me(t){ee.call(this,t,"paste",null,null)}function Te(t){ee.call(this,t,"select",null,null)}class Ie extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{copy:!1,cut:!1,paste:!1,select:!1},paused:{copy:!1,cut:!1,paste:!1,select:!1},stream:{enabled:{copy:!1,cut:!1,paste:!1,select:!1},clear:{copy:!1,cut:!1,paste:!1,select:!1},history:{copy:[],cut:[],paste:[],select:[]}},callbacks:{copy:[],cut:[],paste:[],select:[]}},this.__controller={copy:Be.bind(this),cut:_e.bind(this),paste:Me.bind(this),select:Te.bind(this)}}onCopy(...t){return this.__onEvent("copy",{},...t),this}onCut(...t){return this.__onEvent("cut",{},...t),this}onPaste(...t){return this.__onEvent("paste",{},...t),this}onSelect(...t){return this.__onEvent("select",{},...t),this}}const Se=t=>new Ie(t);function Le(t){ee.call(this,t,"focus",null,null)}function Oe(t){ee.call(this,t,"blur",null,null)}class Ve extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{focus:!1,blur:!1},paused:{focus:!1,blur:!1},stream:{enabled:{focus:!1,blur:!1},clear:{focus:!1,blur:!1},history:{focus:[],blur:[]}},callbacks:{focus:[],blur:[]}},this.__controller={focus:Le.bind(this),blur:Oe.bind(this)}}onFocus(...t){return this.__onEvent("focus",{},...t),this}onBlur(...t){return this.__onEvent("blur",{},...t),this}}const je=t=>new Ve(t);function Re(t){ee.call(this,t,"input",null,null)}function Ne(t){ee.call(this,t,"change",null,null)}class Pe extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{input:!1,change:!1},paused:{input:!1,change:!1},stream:{enabled:{input:!1,change:!1},clear:{input:!1,change:!1},history:{input:[],change:[]}},callbacks:{input:[],change:[]}},this.__controller={input:Re.bind(this),change:Ne.bind(this)}}get value(){return this.target.value}onInput(...t){return this.__onEvent("input",{},...t),this}onChange(...t){return this.__onEvent("change",{},...t),this}}const ze=t=>new Pe(t),$e=t=>function(e){ee.call(this,e,t,null,null)};class He extends re{constructor(t){super(t),this.event=null,this.cache={prefixe:"",preventDefault:{},paused:{},stream:{enabled:{},clear:{},history:{}},callbacks:{}},this.__controller={}}#s(t){return this.cache.preventDefault[t]=!1,this.cache.paused[t]=!1,this.cache.stream.enabled=!1,this.cache.stream.clear=!1,this.cache.stream.history=[],this.cache.callbacks[t]=[],this.__controller[t]=$e(t).bind(this),this}on(t,...e){return this.__controller[t]||this.#s(t),this.__onEvent(t,{},...e),this}emit(t,e={}){this.__controller[t]||this.#s(t),this.detail=e;const r=new Event(t);return this.targetElement.dispatchEvent(r),this}}const Ue=t=>new He(t),qe={Pointer:ce,Key:fe,Drag:ve,Drop:Ce,Click:De,Clipboard:Se,Focus:je,Input:ze,CustomEvent:Ue,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class We{constructor(t,e,{threshold:r=0,margin:s=0}={}){this.target=t,this.config={threshold:r,margin:s},this.observer=new IntersectionObserver((t=>{this.entrie=t[0],e(this)}),{threshold:this.threshold})}get ratio(){return this.entrie.intersectionRatio}get isIntersecting(){return this.entrie.isIntersecting}setThreshould(t){return this.config.threshold=t,this}setMargin(t){return t="number"==typeof t?t+"px":t,this.config.margin=t,this}start(){return this.observer.observe(this.target.element),this}stop(){return this}}class Ze{constructor(t,e){this.target=t,this.contentRect=null,this.observer=new ResizeObserver((()=>{e(this)}))}get BoundingRect(){return this.target.element.getBoundingClientRect()}get width(){return this.BoundingRect.width}get height(){return this.BoundingRect.height}get top(){return this.BoundingRect.top}get bottom(){return this.BoundingRect.bottom}get right(){return this.BoundingRect.right}get left(){return this.BoundingRect.left}get x(){return this.BoundingRect.x}get y(){return this.boundingRect.y}start(){return this.observer.observe(this.target.element),this}stop(){return this.observer.unobserve(this.target.element),this}}class Xe{constructor(t,e=0){this.id="Ziko-Style-"+e,this.use(t),this.keys=new Set,this.styles={default:{fontSize:"1em"}}}get current(){return[...this.keys].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}add(t,e={}){return t instanceof Object?Object.assign(this.styles,t):Object.assign(this.styles,{[t]:e}),this}#n(t){const e=Object.keys(this.styles);for(let r in this.styles[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,this.styles[e[t]][r]),this.keys.add(r);return this}#i(t){for(let e in this.styles[t])document.documentElement.style.setProperty(`--${e}-${this.id}`,this.styles[t][e]),this.keys.add(e);return this}#o(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]),this.keys.add(e);return this}use(t){return"number"==typeof t&&this.#n(t),"string"==typeof t&&this.#i(t),t instanceof Object&&this.#o(t),this}}const Ke={cozyCottonCandy:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},crystalClear:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"},lightdreamyDusk:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},luminousLavender:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},meadowMornings:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},moonlitMauve:{background:"#F3E5F5",currentLine:"#E1BEE7",selection:"#CE93D8",foreground:"#311B92",comment:"#673AB7",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},morningMist:{background:"#F6F6F6",currentLine:"#EAEAEA",selection:"#D8D8D8",foreground:"#333333",comment:"#808080",cyan:"#00A6A6",green:"#4CAF50",orange:"#FFA726",pink:"#FF4081",purple:"#9C27B0",red:"#FF5252",yellow:"#FFD740"},oceanBreeze:{background:"#ECF1F4",currentLine:"#DDE8ED",selection:"#BFD3C1",foreground:"#37474F",comment:"#607D8B",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},pastelParadise:{background:"#F5F5F5",currentLine:"#E8E8E8",selection:"#DADADA",foreground:"#555555",comment:"#999999",cyan:"#5FB3B3",green:"#68C386",orange:"#FFB67A",pink:"#FF94B0",purple:"#B78BC3",red:"#FF6666",yellow:"#FFD666"},pastelPetals:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#673AB7",comment:"#9575CD",cyan:"#00BCD4",green:"#4CAF50",orange:"#FF9800",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sereneSnowfall:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},softSherbet:{background:"#FDF8F3",currentLine:"#FAF1EB",selection:"#FFEBEE",foreground:"#6D4C41",comment:"#A1887F",cyan:"#00BCD4",green:"#689F38",orange:"#FFA000",pink:"#EC407A",purple:"#8E24AA",red:"#E53935",yellow:"#FFC107"},subtleSerenity:{background:"#F3F5F7",currentLine:"#E8EDF2",selection:"#D1D9E6",foreground:"#2C3E50",comment:"#95A5A6",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},summerSunset:{background:"#FCE4EC",currentLine:"#F8BBD0",selection:"#FFCDD2",foreground:"#4E342E",comment:"#795548",cyan:"#009688",green:"#43A047",orange:"#FF5722",pink:"#E91E63",purple:"#9C27B0",red:"#F44336",yellow:"#FFEB3B"},sunnyDay:{background:"#FFF8E1",currentLine:"#FFF3E0",selection:"#FFE0B2",foreground:"#4E342E",comment:"#795548",cyan:"#00BCD4",green:"#8BC34A",orange:"#FF9800",pink:"#E91E63",purple:"#673AB7",red:"#F44336",yellow:"#FFEB3B"},tranquilTwilight:{background:"#F9F9F9",currentLine:"#EDEDED",selection:"#D8D8D8",foreground:"#454545",comment:"#888888",cyan:"#5FA5A5",green:"#5BC47E",orange:"#FFBC8D",pink:"#FFA7BF",purple:"#B88AAE",red:"#FF7575",yellow:"#FFD98F"},tranquilWaves:{background:"#F9F9F9",currentLine:"#E4E4E4",selection:"#D4D4D4",foreground:"#2C3E50",comment:"#7F8C8D",cyan:"#3498DB",green:"#2ECC71",orange:"#F39C12",pink:"#E74C3C",purple:"#9B59B6",red:"#C0392B",yellow:"#F1C40F"},whisperingWillow:{background:"#F6F8FA",currentLine:"#E8F0F5",selection:"#D4E9F7",foreground:"#485766",comment:"#8492A6",cyan:"#00ACC1",green:"#8BC34A",orange:"#FFA726",pink:"#FF4081",purple:"#7E57C2",red:"#EF5350",yellow:"#FFD740"}},Ge={antiqueRose:{background:"#1C1014",currentLine:"#2B1B21",selection:"#443034",foreground:"#D8B5B5",comment:"#7F5E5E",cyan:"#6FA2A2",green:"#66A66F",orange:"#FFB97A",pink:"#FFA8BD",purple:"#B78DA5",red:"#FF6C6C",yellow:"#FFD579"},auroraBorealis:{background:"#1D1426",currentLine:"#2B1E35",selection:"#432D4E",foreground:"#C2AABF",comment:"#7F6E8E",cyan:"#7EA5D3",green:"#77C992",orange:"#FFC476",pink:"#FFA8B3",purple:"#AE9AC3",red:"#FF6C6C",yellow:"#FFD576"},autumnHarvest:{background:"#291C10",currentLine:"#3A2A1E",selection:"#573C2C",foreground:"#D4C3A2",comment:"#7F6F52",cyan:"#82B4BF",green:"#7FB074",orange:"#FFAB6E",pink:"#FF8196",purple:"#B394A9",red:"#FF6565",yellow:"#FFD270"},aylin:{background:"#13161E",currentLine:"#161A28",selection:"#222B3E",foreground:"#D2D8E0",comment:"#697098",cyan:"#78D1E1",green:"#98C379",orange:"#EBCB8B",pink:"#D16D9E",purple:"#C678DD",red:"#E88388",yellow:"#EBCB8B"},azureBlue:{background:"#001B29",currentLine:"#002C3E",selection:"#004E6B",foreground:"#C3D7E2",comment:"#5F7C92",cyan:"#75B7D1",green:"#70C8A7",orange:"#FFB476",pink:"#FF92B0",purple:"#B88BC3",red:"#FF6666",yellow:"#FFD666"},cobalt2:{background:"#193549",currentLine:"#1F4662",selection:"#193549",foreground:"#B9BED0",comment:"#627D98",cyan:"#4DB5BD",green:"#86B300",orange:"#FFB86C",pink:"#FF7F7B",purple:"#9B64FB",red:"#FF6672",yellow:"#FFCC99"},cobaltMaterialTheme:{background:"#263238",currentLine:"#37474F",selection:"#80CBC4",foreground:"#CFD8DC",comment:"#78909C",cyan:"#80CBC4",green:"#A5D6A7",orange:"#FFD54F",pink:"#FF80AB",purple:"#CE93D8",red:"#EF5350",yellow:"#FFEE58"},cosmicBlue:{background:"#1B2836",currentLine:"#223348",selection:"#39516D",foreground:"#C0D4E5",comment:"#728CAB",cyan:"#75A6FF",green:"#5ED99F",orange:"#FFAD6F",pink:"#FF90B6",purple:"#A889C5",red:"#FF6E6E",yellow:"#FCD256"},cosmicSunset:{background:"#1B1921",currentLine:"#272530",selection:"#3C3948",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},cyberForest:{background:"#0D151D",currentLine:"#18262F",selection:"#2B3B47",foreground:"#CDD7E0",comment:"#667B8B",cyan:"#7EC4CF",green:"#68CC96",orange:"#FFAC6C",pink:"#FF89B4",purple:"#A889C5",red:"#FF6565",yellow:"#FFCB6B"},cyberPunkCity:{background:"#000000",currentLine:"#121212",selection:"#1F1F1F",foreground:"#DADADA",comment:"#626262",cyan:"#71B7FF",green:"#50D890",orange:"#FFB86C",pink:"#FF79C6",purple:"#BB86FC",red:"#FF5454",yellow:"#FDD663"},cyberpunkNeon:{background:"#121212",currentLine:"#1B1B1B",selection:"#262626",foreground:"#DADADA",comment:"#6C6C6C",cyan:"#69AEDB",green:"#4ECCA3",orange:"#FFB86C",pink:"#FF79C6",purple:"#D08EFF",red:"#FF5454",yellow:"#FDD663"},darkDesert:{background:"#1E2022",currentLine:"#282A2E",selection:"#393D42",foreground:"#C0C5CE",comment:"#5C6368",cyan:"#6FB3E0",green:"#88C076",orange:"#FFB454",pink:"#FF7F90",purple:"#B48EAD",red:"#FF6666",yellow:"#FFCC66"},darkMint:{background:"#11161A",currentLine:"#1B2128",selection:"#3D4853",foreground:"#D9DEE5",comment:"#65737E",cyan:"#88C0D0",green:"#98C379",orange:"#FFB86C",pink:"#FF7F8B",purple:"#C594C5",red:"#FF6561",yellow:"#FAD07B"},deepOcean:{background:"#121C2C",currentLine:"#182236",selection:"#2B3E50",foreground:"#BDC3C7",comment:"#6C7A89",cyan:"#59ABE3",green:"#26A65B",orange:"#F9690E",pink:"#EB3B5A",purple:"#D2527F",red:"#E74C3C",yellow:"#F5AB35"},deepOceanBlue:{background:"#1B2F40",currentLine:"#263B53",selection:"#3A536E",foreground:"#BFC9D4",comment:"#657C8E",cyan:"#6CB5FF",green:"#65C287",orange:"#FFA974",pink:"#FF87B4",purple:"#AE9BFF",red:"#FF6666",yellow:"#FFD67B"},deepOceanSunset:{background:"#151D2A",currentLine:"#1D2735",selection:"#31405B",foreground:"#D5D9E0",comment:"#6C7B8B",cyan:"#6FAAD4",green:"#66C295",orange:"#FFA476",pink:"#FF94B0",purple:"#B08FC0",red:"#FF6565",yellow:"#FFD466"},deepSpace:{background:"#0F1419",currentLine:"#1A232D",selection:"#3A4758",foreground:"#CDD9E5",comment:"#657C96",cyan:"#6CB6FF",green:"#4CAF50",orange:"#FFB454",pink:"#FF75B5",purple:"#9A76FF",red:"#FF5555",yellow:"#FFC857"},dracula:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},dreamyDusk:{background:"#22243D",currentLine:"#313558",selection:"#4C4F6D",foreground:"#A5A7C5",comment:"#6F728E",cyan:"#81A2BE",green:"#7FB074",orange:"#FFB476",pink:"#FF91A4",purple:"#AE8DC2",red:"#FF7272",yellow:"#FFD67A"},electricLagoon:{background:"#15232B",currentLine:"#20323E",selection:"#344E5F",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},emeraldCity:{background:"#112E26",currentLine:"#1B3F38",selection:"#2F6253",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},enchantedEclipse:{background:"#131A22",currentLine:"#1F2C3A",selection:"#2D4455",foreground:"#A7B6C2",comment:"#6B7B8C",cyan:"#5FA8D3",green:"#5CB8A4",orange:"#FFA96C",pink:"#FF8FA2",purple:"#A88ED1",red:"#FF6B6B",yellow:"#FFD575"},enchantedEvening:{background:"#1E1824",currentLine:"#2A2332",selection:"#3F3A4F",foreground:"#C2B4CB",comment:"#7F7292",cyan:"#76AAD8",green:"#6CC095",orange:"#FFB36C",pink:"#FF8FB0",purple:"#AB8CC2",red:"#FF6464",yellow:"#FFD164"},fireAndIce:{background:"#1F2532",currentLine:"#292F3D",selection:"#4E556A",foreground:"#D8DEE9",comment:"#69758E",cyan:"#7EC4CF",green:"#68CC98",orange:"#FFA071",pink:"#FF88B5",purple:"#AE9BFF",red:"#FF657E",yellow:"#FDCB83"},forestGreen:{background:"#1A1E22",currentLine:"#24292F",selection:"#394147",foreground:"#C8C8C8",comment:"#5C6370",cyan:"#7AAB9D",green:"#88B379",orange:"#FFAC6F",pink:"#F97B77",purple:"#A187BE",red:"#FF5C5C",yellow:"#F5D76E"},futuristicBlue:{background:"#111B26",currentLine:"#1B2E3F",selection:"#334D65",foreground:"#C0D2E3",comment:"#6E859E",cyan:"#77AADB",green:"#78C196",orange:"#FFAC6C",pink:"#FF8DBE",purple:"#A48ADA",red:"#FF6666",yellow:"#FFD66D"},gentlePurple:{background:"#2E2E3D",currentLine:"#383849",selection:"#4D4D5C",foreground:"#B2B2CC",comment:"#6E6E8F",cyan:"#6D77CC",green:"#81C995",orange:"#FFB16A",pink:"#FF7CAC",purple:"#8A80A1",red:"#FF657A",yellow:"#FDB26E"},githubDarkDimmed:{background:"#0D1117",currentLine:"#161B22",selection:"#1F6F8B",foreground:"#8B949E",comment:"#8B949E",cyan:"#79C0FF",green:"#2DD57A",orange:"#FFB454",pink:"#FF80AB",purple:"#D781D3",red:"#EF5252",yellow:"#D29922"},gruvbox:{background:"#282828",currentLine:"#3c3836",selection:"#bdae93",foreground:"#ebdbb2",comment:"#928374",cyan:"#83a598",green:"#b8bb26",orange:"#fe8019",pink:"#d3869b",purple:"#d3869b",red:"#fb4934",yellow:"#fabd2f"},materialTheme:{background:"#263238",currentLine:"#37474f",selection:"#90a4ae",foreground:"#eceff1",comment:"#546e7a",cyan:"#80cbc4",green:"#a5d6a7",orange:"#ffb74d",pink:"#f06292",purple:"#ba68c8",red:"#ef5350",yellow:"#ffee58"},midnightMystique:{background:"#1E1E27",currentLine:"#292935",selection:"#3F3F4F",foreground:"#C2C2D3",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},midnightSunset:{background:"#182233",currentLine:"#1D2D46",selection:"#384B66",foreground:"#B7C0CE",comment:"#6A788A",cyan:"#6B98FF",green:"#6BD49D",orange:"#FFA178",pink:"#FF8DAB",purple:"#B48EAD",red:"#F96263",yellow:"#FADA5E"},minimalMonochrome:{background:"#1C1C1C",currentLine:"#262626",selection:"#363636",foreground:"#D9D9D9",comment:"#757575",cyan:"#7DC1C7",green:"#7FB074",orange:"#FFB869",pink:"#FF81A2",purple:"#B48EAD",red:"#FF6B6B",yellow:"#FFD57B"},modernMarine:{background:"#0A0E19",currentLine:"#121929",selection:"#1E2B42",foreground:"#D5D8DE",comment:"#7F8493",cyan:"#6FB1D3",green:"#6CC792",orange:"#FFB577",pink:"#FF96B0",purple:"#B690C2",red:"#FF6666",yellow:"#FFD666"},monokai:{background:"#272822",currentLine:"#3e3d32",selection:"#49483e",foreground:"#f8f8f2",comment:"#75715e",cyan:"#66d9ef",green:"#a6e22e",orange:"#fd971f",pink:"#f92672",purple:"#ae81ff",red:"#f92672",yellow:"#e6db74"},moonlitMeadow:{background:"#12252C",currentLine:"#1D3B47",selection:"#24566E",foreground:"#A7C4BC",comment:"#5E7D84",cyan:"#82B7BD",green:"#87C38A",orange:"#F4B66A",pink:"#F77A92",purple:"#C58AC9",red:"#F0725E",yellow:"#E8C284"},mysticalMauve:{background:"#1A1A26",currentLine:"#252533",selection:"#3E3E57",foreground:"#B2B2CC",comment:"#757593",cyan:"#76D4D6",green:"#6CC18F",orange:"#FFB36C",pink:"#FF8FAB",purple:"#AB8BC7",red:"#FF6464",yellow:"#FFD164"},nebulaNights:{background:"#1B1821",currentLine:"#262330",selection:"#3C3A48",foreground:"#B8B4CB",comment:"#7A738B",cyan:"#77B4D8",green:"#6CC09E",orange:"#FFA677",pink:"#FF95B2",purple:"#B48FC1",red:"#FF6565",yellow:"#FFD566"},neonLights:{background:"#000000",currentLine:"#0D0D0D",selection:"#1A1A1A",foreground:"#DADADA",comment:"#7F7F7F",cyan:"#6FE3E3",green:"#60FFA0",orange:"#FFB67A",pink:"#FF9FBD",purple:"#BF8CC2",red:"#FF6666",yellow:"#FFD666"},nightSky:{background:"#17202A",currentLine:"#1C2732",selection:"#2E4053",foreground:"#D0D3D4",comment:"#566573",cyan:"#5DADE2",green:"#45B39D",orange:"#F5B041",pink:"#EB984E",purple:"#AF7AC5",red:"#EC7063",yellow:"#F4D03F"},nord:{background:"#2e3440",currentLine:"#3b4252",selection:"#4c566a",foreground:"#d8dee9",comment:"#616e88",cyan:"#88c0d0",green:"#a3be8c",orange:"#ebcb8b",pink:"#bf616a",purple:"#b48ead",red:"#bf616a",yellow:"#ebcb8b"},nova:{background:"#1F262D",currentLine:"#232A32",selection:"#414B56",foreground:"#D9E2EC",comment:"#525F69",cyan:"#89DDFF",green:"#64D989",orange:"#E7C664",pink:"#E95678",purple:"#C594C5",red:"#FF5656",yellow:"#FFC172"},novaDark:{background:"#1A2026",currentLine:"#212930",selection:"#36424F",foreground:"#C0C6D9",comment:"#5B6C7F",cyan:"#84CEE4",green:"#89DD6D",orange:"#FFB46E",pink:"#FF7CAB",purple:"#BB80B3",red:"#FC6161",yellow:"#FAB795"},oceanBlue:{background:"#12232E",currentLine:"#1D3B53",selection:"#205072",foreground:"#A8DADC",comment:"#5E81AC",cyan:"#7FB2F0",green:"#88C0D0",orange:"#FFB86C",pink:"#FFA0A0",purple:"#D4A3D9",red:"#EF8E8E",yellow:"#FFD180"},oceanicAzure:{background:"#001A23",currentLine:"#002B36",selection:"#004056",foreground:"#C0C5CE",comment:"#4D5767",cyan:"#75A4C0",green:"#68A3A8",orange:"#FFA45E",pink:"#FF94B0",purple:"#B48EAD",red:"#FF6363",yellow:"#FFD464"},oceanicGruvbox:{background:"#1d2021",currentLine:"#282828",selection:"#458588",foreground:"#ebdbb2",comment:"#928374",cyan:"#89b482",green:"#a9b665",orange:"#d79921",pink:"#d3869b",purple:"#b16286",red:"#fb4934",yellow:"#d5c4a1"},oceanicNext:{background:"#1B2B34",currentLine:"#343D46",selection:"#4F5B66",foreground:"#A7ADBA",comment:"#616E7C",cyan:"#7FB5DA",green:"#98C379",orange:"#EBCB8B",pink:"#EC5f67",purple:"#C594C5",red:"#EC5f67",yellow:"#D29922"},oneDark:{background:"#282c34",currentLine:"#3e4451",selection:"#4f5b66",foreground:"#abb2bf",comment:"#5c6370",cyan:"#56b6c2",green:"#98c379",orange:"#d19a66",pink:"#c678dd",purple:"#c678dd",red:"#e06c75",yellow:"#e5c07b"},polarNight:{background:"#2E3440",currentLine:"#3B4252",selection:"#4C566A",foreground:"#D8DEE9",comment:"#616E88",cyan:"#81A1C1",green:"#A3BE8C",orange:"#EBCB8B",pink:"#BF616A",purple:"#B48EAD",red:"#BF616A",yellow:"#EBCB8B"},radiantRainforest:{background:"#16231A",currentLine:"#1F3927",selection:"#355D43",foreground:"#A7C9A2",comment:"#6F8D77",cyan:"#80C3BB",green:"#76CC8F",orange:"#FFB56C",pink:"#FF8FA6",purple:"#AB8CC2",red:"#FF6C6C",yellow:"#FFD576"},retroTech:{background:"#0C0C0C",currentLine:"#141414",selection:"#1F1F1F",foreground:"#D9D9D9",comment:"#626262",cyan:"#77BFC9",green:"#69CC6D",orange:"#FFC46D",pink:"#FF7D99",purple:"#BB86FC",red:"#FF5555",yellow:"#FACD60"},royalPurple:{background:"#1E1B2E",currentLine:"#272337",selection:"#3E395B",foreground:"#D5D1E2",comment:"#76708E",cyan:"#76D7C4",green:"#47B87C",orange:"#FFC300",pink:"#F39C9D",purple:"#9B59B6",red:"#E74C3C",yellow:"#F1C40F"},sapphireSkies:{background:"#081125",currentLine:"#0F1F3A",selection:"#1E3874",foreground:"#D8DCE6",comment:"#6B7394",cyan:"#7EC4D9",green:"#7DCB9E",orange:"#FFB578",pink:"#FF8FB3",purple:"#B992CC",red:"#FF6767",yellow:"#FFD684"},shadesOfPurple:{background:"#2d2b55",currentLine:"#37355a",selection:"#444267",foreground:"#ecebf0",comment:"#9a99a3",cyan:"#a1efe4",green:"#72f1b8",orange:"#f78c6c",pink:"#ffcc99",purple:"#9a99a3",red:"#ff6188",yellow:"#ffcc99"},solarizedDark:{background:"#002b36",currentLine:"#073642",selection:"#586e75",foreground:"#839496",comment:"#586e75",cyan:"#2aa198",green:"#859900",orange:"#cb4b16",pink:"#d33682",purple:"#6c71c4",red:"#dc322f",yellow:"#b58900"},synthWave84:{background:"#2b213a",currentLine:"#3e3650",selection:"#564d7a",foreground:"#e0def4",comment:"#9c8c98",cyan:"#95e6cb",green:"#00ffb9",orange:"#f28779",pink:"#f771ac",purple:"#d3bfff",red:"#ff6188",yellow:"#ffd866"},tokyoNight:{background:"#1a1b26",currentLine:"#282a36",selection:"#44475a",foreground:"#eff0eb",comment:"#6b6e76",cyan:"#78d1e1",green:"#67b11d",orange:"#e1a80e",pink:"#ff79c6",purple:"#d27bff",red:"#ff5555",yellow:"#f3f99d"},tomorrowNight:{background:"#1d1f21",currentLine:"#282a36",selection:"#373b41",foreground:"#c5c8c6",comment:"#616e7c",cyan:"#81a2be",green:"#b5bd68",orange:"#de935f",pink:"#cc6666",purple:"#b294bb",red:"#cc6666",yellow:"#f0c674"},twilightMeadow:{background:"#14202A",currentLine:"#1F2E3F",selection:"#334D65",foreground:"#A6C0B9",comment:"#6C8F81",cyan:"#80C7D1",green:"#7FCD97",orange:"#FFBC76",pink:"#FF9FB3",purple:"#AE8FC3",red:"#FF7272",yellow:"#FFD674"},urbanTwilight:{background:"#161727",currentLine:"#1F2737",selection:"#35415B",foreground:"#BDC9D7",comment:"#7F8C9C",cyan:"#77AED8",green:"#6CC492",orange:"#FFB677",pink:"#FF95B1",purple:"#B48DC2",red:"#FF6C6C",yellow:"#FFD576"},vibrantInk:{background:"#1C1E26",currentLine:"#242730",selection:"#363B4A",foreground:"#BFC7D5",comment:"#5C6672",cyan:"#6A76FB",green:"#33CC95",orange:"#FF9A65",pink:"#FF75B5",purple:"#AE81FF",red:"#FF6188",yellow:"#FDD269"},vintageRust:{background:"#301F1A",currentLine:"#3E2A23",selection:"#5D3E35",foreground:"#D7C3A7",comment:"#7F6C55",cyan:"#83A4C4",green:"#7EAD90",orange:"#FFA45E",pink:"#FF8C9E",purple:"#B491A9",red:"#FF7262",yellow:"#FFD372"}},Ye={...Ke,...Ge};class Qe{constructor(t,e=0){this.id="Ziko-Theme-"+e,this.use(t)}get current(){return["background","currentLine","selection","foreground","comment","cyan","green","orange","pink","purple","red","yellow"].reduce(((t,e)=>(t[e]=`var(--${e}-${this.id})`,t)),{})}useThemeIndex(t){const e=Object.keys(Ye);for(let r in Ye[e[t]])document.documentElement.style.setProperty(`--${r}-${this.id}`,Ye[e[t]][r]);return this}useThemeName(t){t=t.toLowerCase();const e=Object.fromEntries(Object.entries(Ye).map((t=>[t[0].toLowerCase(),t[1]])));for(let r in e[t])document.documentElement.style.setProperty(`--${r}-${this.id}`,e[t][r]);return this}useThemeObject(t){for(let e in t)document.documentElement.style.setProperty(`--${e}-${this.id}`,t[e]);return this}use(t){return"number"==typeof t&&this.useThemeIndex(t),"string"==typeof t&&this.useThemeName(t),t instanceof Object&&this.useThemeObject(t),this}}class Je{constructor(){this.events={},this.maxListeners=10}on(t,e){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.`)}once(t,e){const r=s=>{this.off(t,r),e(s)};this.on(t,r)}off(t,e){const r=this.events[t];if(r){const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}emit(t,e){const r=this.events[t];r&&r.forEach((t=>{t(e)}))}clear(t){t?delete this.events[t]:this.events={}}setMaxListener(t,e){this.maxListeners=e}removeAllListeners(t){t?this.events[t]=[]:this.events={}}}const tr=()=>new Je;class er{constructor(t=document.title,e=!0){this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}useEventEmitter(){return this.cache.Emitter=tr(),this}set(t){return t!==document.title&&(document.title=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:title-changed")),this}get current(){return document.title}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:title-changed",t),this}}class rr{constructor(t,e=!0){this.#s(),this.cache={Emitter:null},e&&this.useEventEmitter(),this.set(t)}#s(){return this.__FavIcon__=document.querySelector("link[rel*='icon']")||document.createElement("link"),this.__FavIcon__.type="image/x-icon",this.__FavIcon__.rel="shortcut icon",this}set(t){return t!==this.__FavIcon__.href&&(this.__FavIcon__.href=t,this.cache.Emitter&&this.cache.Emitter.emit("ziko:favicon-changed")),this}get current(){return document.__FavIcon__.href}onChange(t){return this.cache.Emitter&&this.cache.Emitter.on("ziko:favicon-changed",t),this}useEventEmitter(){return this.cache.Emitter=tr(),this}}class sr{constructor(t=""){this.channel=new BroadcastChannel(t),this.EVENTS_DATAS_PAIRS=new Map,this.EVENTS_HANDLERS_PAIRS=new Map,this.LAST_RECEIVED_EVENT="",this.UUID="ziko-channel"+J.string(10),this.SUBSCRIBERS=new Set([this.UUID])}get broadcast(){return this}emit(t,e){return this.EVENTS_DATAS_PAIRS.set(t,e),this.#a(t),this}on(t,e=console.log){return this.EVENTS_HANDLERS_PAIRS.set(t,e),this.#h(),this}#h(){return this.channel.onmessage=t=>{this.LAST_RECEIVED_EVENT=t.data.last_sended_event;const e=t.data.userId;this.SUBSCRIBERS.add(e);const r=t.data.EVENTS_DATAS_PAIRS.get(this.LAST_RECEIVED_EVENT),s=this.EVENTS_HANDLERS_PAIRS.get(this.LAST_RECEIVED_EVENT);r&&s&&s(r)},this}#a(t){return this.channel.postMessage({EVENTS_DATAS_PAIRS:this.EVENTS_DATAS_PAIRS,last_sended_event:t,userId:this.UUID}),this}close(){return this.channel.close(),this}}const nr=t=>new sr(t);class ir{#l;constructor(){this.#l=function(t){try{let e=new Function("return "+t.data.fun)()();postMessage({result:e})}catch(t){postMessage({error:t.message})}finally{t.data.close&&self.close()}}.toString(),this.blob=new Blob(["this.onmessage = "+this.#l],{type:"text/javascript"}),this.worker=new Worker(window.URL.createObjectURL(this.blob))}call(t,e,r=!0){return this.worker.postMessage({fun:t.toString(),close:r}),this.worker.onmessage=function(t){t.data.error?console.error(t.data.error):e(t.data.result)},this}}class or{constructor(t={acceptAllDevices:!0}){this.options=t,this.__Emitter__=tr(),this.isSupported&&this.#s()}async#s(){this.promise=navigator.bluetooth.requestDevice(this.options).then((t=>this.device=t))}get isSupported(){return!!navigator.bluetooth}get current(){return this.device}connect(){return this.server=this.device.gatt.connect(),this.__Emitter__.emit("ziko:bluetooth-connected"),this}disconnect(){return this.device.gatt.disconnect(),this.__Emitter__.emit("ziko:bluetooth-disconnected"),this}onConnect(t){return this.__Emitter__.on("ziko:bluetooth-connected",t),this}onDisconnect(t){return this.__Emitter__.on("ziko:bluetooth-disconnected",t),this}dispose(){}async battery(t){const e=await this.server.getPrimaryService("battery_service"),r=await e.getCharacteristic("battery_level"),s=await r.readValue();t(await s.getUint8(0))}}class ar{constructor(){this.isSupported&&this.#s()}async#s(){this.__Battery__=await navigator.getBattery()}get isSupported(){return!!navigator.getBattery}get current(){const{level:t,charging:e,chargingTime:r,dischargingTime:s}=this.__Battery__;return{level:t,charging:e,chargingTime:r,dischargingTime:s}}onChargingChange(t){return this.__Battery__.addEventListener("chargingchange",t),this}onLevelChange(t){return this.__Battery__.addEventListener("levelchange",t),this}}class hr{constructor(){this.isSupported&&this.#s()}async#s(){navigator.geolocation.getCurrentPosition((t=>this.__Geolocation__=t))}get isSupported(){return!!navigator.geolocation}get current(){return this.__Geolocation__}}class lr{constructor(t,{fps:e,step:r,t:s=[0,null],start:n=!0}={}){this.callback=t,this.cache={isRunning:!1,AnimationId:null,startTime:null,step:r,fps:e,t:s,started:n},this.adjust(),this.i=0}adjust(){if(this.cache.step&&this.cache.fps&&(console.warn(`Fps will be adjusted from ${this.cache.fps} to ${1e3/this.cache.step} to ensure a smoother animation`),this.cache.fps=1e3/this.cache.step),this.cache.started){const t=this.cache.t;t[0]?this.startAfter(t[0]):this.start(),t[1]&&this.stopAfter(t[1])}return this}get TIME_STEP(){return this.cache.step?this.cache.step:1e3/this.cache.fps}start(){return this.cache.isRunning||(this.i=0,this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.animate()),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}stop(){return this.pause(),this.i=0,this}resume(){return this.cache.isRunning=!0,this.animate(),this}startAfter(t=1e3){return setTimeout(this.start.bind(this),t),this}stopAfter(t=1e3){return setTimeout(this.stop.bind(this),t),this}animate=()=>{if(this.cache.isRunning){const t=Date.now(),e=t-this.cache.startTime;e>this.TIME_STEP&&(this.callback(this),this.i++,this.cache.startTime=t-e%this.TIME_STEP),this.cache.AnimationId=setTimeout(this.animate,0)}}}const cr=(t,e)=>new lr(t,e),ur={Linear:function(t){return t},InSin:t=>1-Math.cos(t*Math.PI/2),OutSin:t=>Math.sin(t*Math.PI/2),InOutSin:t=>-(Math.cos(Math.PI*t)-1)/2,InQuad:t=>t**2,OutQuad:t=>1-Math.pow(1-t,2),InOutQuad:t=>t<.5?2*Math.pow(t,2):1-Math.pow(-2*t+2,2)/2,InCubic:t=>t**3,OutCubic:t=>1-Math.pow(1-t,3),InOutCubic:t=>t<.5?4*Math.pow(t,3):1-Math.pow(-2*t+2,3)/2,InQuart:t=>t**4,OutQuart:t=>1-Math.pow(1-t,4),InOutQuart:t=>t<.5?8*Math.pow(t,4):1-Math.pow(-2*t+2,4)/2,InQuint:t=>t**5,OutQuint:t=>1-Math.pow(1-t,5),InOutQuint:t=>t<.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)/2,InExpo:t=>0===t?0:Math.pow(2,10*t-10),OutExpo:t=>1===t?1:1-Math.pow(2,-10*t),InOutExpo:t=>0===t?0:1===t?1:t<.5?Math.pow(2,20*t-10)/2:(2-Math.pow(2,-20*t+10))/2,InCirc:t=>1-Math.sqrt(1-Math.pow(t,2)),OutCirc:t=>Math.sqrt(1-Math.pow(t-1,2)),InOutCic:t=>t<.5?(1-Math.sqrt(1-Math.pow(2*t,2)))/2:(Math.sqrt(1-Math.pow(-2*t+2,2))+1)/2,Arc:t=>1-Math.sin(Math.acos(t)),Back:t=>Math.pow(t,2)*(2*t-1),Elastic:t=>-2*Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*t/3*t),InBack(t){const e=1.70158;return 2.70158*Math.pow(t,3)-e*t**2},OutBack(t){const e=1.70158;return 1+2.70158*Math.pow(t-1,3)+e*Math.pow(t-1,2)},InOutBack(t){const e=2.5949095;return t<.5?Math.pow(2*t,2)*(7.189819*t-e)/2:(Math.pow(2*t-2,2)*((e+1)*(2*t-2)+e)+2)/2},InElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:-Math.pow(2,10*t-10)*Math.sin((10*t-10.75)*e)},OutElastic(t){const e=2*Math.PI/3;return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin((10*t-.75)*e)+1},InOutElastic(t){const e=2*Math.PI/4.5;return 0===t?0:1===t?1:t<.5?-Math.pow(2,20*t-10)*Math.sin((20*t-11.125)*e)/2:Math.pow(2,-20*t+10)*Math.sin((20*t-11.125)*e)/2+1},InBounce:t=>1-ur.OutBounce(1-t),OutBounce(t){const e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375},InOutBounce:t=>t<.5?(1-ur.OutBounce(1-2*t))/2:(1+ur.OutBounce(2*t-1))/2},mr=(t,e=1e3)=>(...r)=>setTimeout((()=>t(...r)),e),pr=(t,e)=>{let r=0;return(...s)=>{const n=(new Date).getTime();n-r<e||(r=n,t(...s))}},dr=t=>{const e=Date.now(),r=performance.memory.usedJSHeapSize,s=t();return{elapsedTime:Date.now()-e,usedMemory:performance.memory.usedJSHeapSize-r,result:s}},fr=t=>new Promise((e=>{if(t.element)return e(t.element);const r=new MutationObserver((()=>{t.element&&(e(t.element),r.disconnect())}));r.observe(document.body,{childList:!0,subtree:!0})})),gr=(t,e=2e3)=>{const r=Date.now();for(;Date.now()-r<e;)if(t.element)return t.element},yr=t=>new Promise((e=>setTimeout(e,t))),br=t=>{console.time("timeTaken");const e=t();return console.timeEnd("timeTaken"),e};class xr{constructor(t,{ease:e=ur.Linear,step:r=50,t:s=[0,null],start:n=!0,duration:i=3e3}={}){this.cache={isRunning:!1,AnimationId:null,startTime:null,ease:e,step:r,intervall:s,started:n,duration:i},this.t=0,this.tx=0,this.ty=0,this.i=0,this.callback=t}#c(){this.t+=this.cache.step,this.i++,this.tx=Tt(this.t,0,this.cache.duration,0,1),this.ty=this.cache.ease(this.tx),this.callback(this),this.t>=this.cache.duration&&(clearInterval(this.cache.AnimationId),this.cache.isRunning=!1)}reset(t=!0){return this.t=0,this.tx=0,this.ty=0,this.i=0,t&&this.start(),this}#u(t=!0){return this.cache.isRunning||(t&&this.reset(!1),this.cache.isRunning=!0,this.cache.startTime=Date.now(),this.cache.AnimationId=setInterval(this.#c.bind(this),this.cache.step)),this}start(){return this.#u(!0),this}pause(){return this.cache.isRunning&&(clearTimeout(this.cache.AnimationId),this.cache.isRunning=!1),this}resume(){return this.#u(!1),this}stop(){return this.pause(),this.reset(!1),this}}const wr=(t,e)=>new xr(t,e),Fr={wait:yr,timeTaken:br,useThrottle:pr,useDebounce:mr,Ease:ur,time_memory_Taken:dr,loop:cr,animation:wr,waitForUIElm:fr,waitForUIElmSync:gr,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class vr{#m;constructor(t,e,r){this.#m={storage:t,globalKey:e,channel:nr(`Ziko:useStorage-${e}`),oldItemKeys:new Set},this.#s(r),this.#p()}get items(){return JSON.parse(this.#m.storage[this.#m.globalKey]??null)}#p(){for(let t in this.items)Object.assign(this,{[[t]]:this.items[t]})}#s(t){this.#m.channel=nr(`Ziko:useStorage-${this.#m.globalKey}`),this.#m.channel.on("Ziko-Storage-Updated",(()=>this.#p())),t&&(this.#m.storage[this.#m.globalKey]?(Object.keys(this.items).forEach((t=>this.#m.oldItemKeys.add(t))),console.group("Ziko:useStorage"),console.warn(`Storage key '${this.#m.globalKey}' already exists. we will not overwrite it.`),console.info("%cWe'll keep the existing data.","background-color:#2222dd; color:gold;"),console.group("")):this.set(t))}set(t){return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(t)),this.#m.channel.emit("Ziko-Storage-Updated",{}),Object.keys(t).forEach((t=>this.#m.oldItemKeys.add(t))),this.#p(),this}add(t){const e={...this.items,...t};return this.#m.storage.setItem(this.#m.globalKey,JSON.stringify(e)),this.#p(),this}remove(...t){const e={...this.items};for(let r=0;r<t.length;r++)delete e[t[r]],delete this[t[r]];return this.set(e),this}get(t){return this.items[t]}clear(){return this.#m.storage.removeItem(this.#m.globalKey),this.#p(),this}}const Cr={useStyle:t=>e=>new Xe(e,t),useTheme:(t=0)=>(e=0)=>new Qe(e,t),useBattery:()=>new ar,useGeolocation:()=>new hr,useEventEmitter:tr,useChannel:nr,useThread:(t,e,r)=>{const s=new ir;return t&&s.call(t,e,r),s},useBluetooth:t=>new or(t),useTitle:(t,e)=>new er(t,e),useFavIcon:(t,e)=>new rr(t,e),useThrottle:pr,useDebounce:mr,useLocaleStorage:(t,e)=>new vr(localStorage,t,e),useSessionStorage:(t,e)=>new vr(sessionStorage,t,e),useSuccesifKeys:(t,e=[],r=(()=>{}))=>{t.cache.stream.enabled.down=!0;const s=e.length,n=t.cache.stream.history.down.slice(-s).map((t=>t.key));e.join("")===n.join("")&&(t.event.preventDefault(),r.call(t,t))},ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Er{constructor(t,e=""){var r;this.target=globalThis.__Target__||globalThis.document.body,"string"==typeof t&&(t=globalThis.document.createElement(t)),this.element=t,this.uuid=this.constructor.name+"-"+J.string(10),this.cache={name:e,parent:null,isRoot:!1,isHidden:!1,isFrozzen:!1,style:(r={},new te(r)),attributes:{},filters:{}},this.items=[],this.events={ptr:null,key:null,drag:null,drop:null,click:null,clipboard:null,focus:null,custom:null},this.observer={resize:null,intersection:null},this.cache.style.linkTo(this),this.style({position:"relative",boxSizing:"border-box",fontFamily:"verdana",margin:0,padding:0}),this.size("auto","auto"),globalThis.__UI__[this.cache.name]?.push(this)}get st(){return this.cache.style}get attr(){return this.cache.attributes}get evt(){return this.cache.events}get html(){return this.element.innerHTML}get __app__(){if(this.cache.isRoot)return this;let t=this.cache.parent;for(;;){if(!t)return null;if(t.cache.isRoot)return t;t=t.parent}}clone(){const t=new this.constructor;if(t.__proto__=this.__proto__,this.items.length){const e=[...this.items].map((t=>t.clone()));t.append(...e)}else t.element=this.element.cloneNode(!0);return t}style(t,{target:e="parent",maskVector:r=null}={}){return this.st.style(t,{target:e,maskVector:r}),this}size(t,e,{target:r,maskVector:s}={}){return this.st.size(t,e,{target:r,maskVector:s}),this}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}freeze(t){return this.cache.isFrozzen=t,this}at(t){return this.items.at(t)}maintain(){for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this.length=this.items.length,this}setTarget(t){return t instanceof Er&&(t=t.element),this.remove(),this.target=t,this.render(),this}render(t=!0,e=this.target){return e instanceof Er&&(e=e.element),this.target=e,t?this.target.appendChild(this.element):this.remove(),this}append(...t){if(this.cache.isFrozzen)return console.warn("You can't append new item to frozzen element"),this;for(let e=0;e<t.length;e++)["number","string"].includes(typeof t[e])&&(t[e]=Ar(t[e])),t[e]instanceof Er?(t[e].cache.parent=this,this.element.appendChild(t[e].element),t[e].Target=this.element,this.items.push(t[e])):t[e]instanceof Object&&(t[e]?.style&&this.style(t[e]?.style),t[e]?.attr&&Object.entries(t[e].attr).forEach((t=>this.setAttr(""+t[0],t[1]))));return this.maintain(),this}remove(...t){if(0==t.length)this.cache.parent?this.cache.parent.remove(this):this.target.children.length&&[...this.target.children].includes(this.element)&&this.target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Er&&this.element.removeChild(t.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}removeAfter(t=1){return setTimeout((()=>this.remove()),t),this}removeItem(...t){const e=t=>{t instanceof Er?this.element.removeChild(t.element):"number"==typeof t&&this.element.removeChild(this.element.children[t])};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]});return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let r=0;r<e.length;r++)["number","string"].includes(typeof e[r])&&(e[r]=Ar(e[r])),this.element.insertBefore(e[r].element,this.items[t].element),this.items.splice(t,0,e[r]);return this}setAttr(t,e){return this.element.setAttribute(t,e),Object.assign(this.cache.attributes,Object.fromEntries([[t,e]])),this}removeAttr(t){return this.element.removeAttribute(t),this}setContentEditable(t=!0){return this.setAttr("contenteditable",t),this}get children(){return[...this.element.children]}get cloneElement(){return this.element.cloneNode(!0)}setClasses(...t){return this.setAttr("class",t.join(" ")),this}get Classes(){const t=this.element.getAttribute("class");return null===t?[]:t.split(" ")}addClass(){}setId(t){return this.element.setAttribute("id",t),this}get Id(){return this.element.getAttribute("id")}forEach(t){return this.items.forEach(t),this}filter(t,e,r){return this.items.filter(t).forEach(e),this}filterByTextContent(t,e=!1){return this.items.map((t=>t.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.render(!1))),this}filterByClass(t){return this.items.map((t=>t.render())),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.render(!1))),this}sortByTextContent(t,e){let r=this.children;return r.filter((e=>!e.textContent.toLowerCase().includes(t.toLowerCase()))).map((t=>{t.style.display="none"})),r.filter((e=>e.textContent.toLowerCase().includes(t.toLowerCase()))).map(((t,r)=>t.style.display=e[r])),r.filter((t=>"none"!=t.style.display)),this}onPtrMove(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onMove(...t),this}onPtrDown(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onDown(...t),this}onPtrUp(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onUp(...t),this}onPtrEnter(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onEnter(...t),this}onPtrLeave(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onLeave(...t),this}onPtrOut(...t){return this.events.ptr||(this.events.ptr=ce(this)),this.events.ptr.onOut(...t),this}onKeyDown(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onDown(...t),this}onKeyPress(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onPress(...t),this}onKeyUp(...t){return this.events.key||(this.events.key=fe(this)),this.events.key.onUp(...t),this}onKeysDown({keys:t=[],callback:e}={}){return this.events.key||(this.events.key=fe(this)),this.events.key.handleSuccessifKeys({keys:t,callback:e}),this}onDragStart(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onStart(...t),this}onDrag(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onDrag(...t),this}onDragEnd(...t){return this.events.drag||(this.events.drag=ve(this)),this.events.drag.onEnd(...t),this}onDrop(...t){return this.events.drop||(this.events.drop=Ce(this)),this.events.drop.onDrop(...t),this}onClick(...t){return this.events.click||(this.events.click=De(this)),this.events.click.onClick(...t),this}onDbClick(...t){return this.events.click||(this.events.click=De(this)),this.events.click.onDbClick(...t),this}onCopy(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onCopy(...t),this}onCut(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onCut(...t),this}onPaste(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onPaste(...t),this}onSelect(...t){return this.events.clipboard||(this.events.clipboard=Se(this)),this.events.clipboard.onSelect(...t),this}onFocus(...t){return this.events.focus||(this.events.focus=je(this)),this.events.focus.onFocus(...t),this}onBlur(...t){return this.events.focus||(this.events.focus=je(this)),this.events.focus.onFocus(...t),this}on(t,...e){return this.events.custom||(this.events.custom=Ue(this)),this.events.custom.on(t,...e),this}emit(t,e={}){return this.events.custom||(this.events.custom=Ue(this)),this.events.custom.emit(t,e),this}WatchAttributes(){}WatchChildren(){}WatchSize(t){return this.observer.resize||(this.observer.resize=((t,e)=>new Ze(t,e))(this,t)),this.observer.resize.start(),this}WatchIntersection(t,e){return this.observer.intersection||(this.observer.intersection=((t,e,r)=>new We(t,e,r))(this,t,e)),this.observer.intersection.start(),this}get VisibleArea(){let t=this.element.getBoundingClientRect(),e=globalThis.document.documentElement.clientHeight,r=globalThis.document.documentElement.clientWidth,s=t.top>0&&t.top<e,n=t.bottom<e&&t.bottom>0,i=t.left>0&&t.left<r,o=t.right>0&&t.right<r;return{top:s,bottom:n,left:i,right:o,heightRatio:(t.height+t.y)/t.height,isVisible:s||n||o||i}}setFullScreen(t=!0,e){return this.element.requestFullscreen?(t?this.element.requestFullscreen(e):globalThis.document.exitFullscreen(),this):(console.error("Fullscreen API is not supported in this browser."),this)}toggleFullScreen(t){return globalThis.document.fullscreenElement?globalThis.document.exitFullscreen():this.element.requestFullscreen(t),this}}class kr extends Er{constructor(...t){super("span","text"),this.element=document.createElement("span"),this.text="",this.addValue(...t),this.st.display("inline-block"),this.render()}clear(){return this.element.textContent="",this}get value(){return this.element.textContent}setValue(t="",e=!1){["string","number"].includes(typeof t)&&(this.text=""+t,this.text.includes("\n")&&(this.text=this.text.split("\n").map((t=>"<span>".concat(t,"</span></br>"))).join(""))),t instanceof r&&(this.text=""+t.UI()),e?this.element.innerHTML+=this.text:this.element.innerHTML=this.text,(t instanceof Array||t instanceof Set)&&(t instanceof Set&&(t=[...t]),this.addValue(...t))}addValue(...t){return t.map((t=>{this.setValue(" ",!0),this.setValue(t,!0)})),this}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const Ar=(...t)=>new kr(...t);class Dr extends Er{constructor(...t){super("p","p"),this.addValue(...t),this.style({margin:0,padding:0}),this.render()}addValue(...t){for(let e=0;e<t.length;e++)"string"==typeof t[e]||"number"==typeof t[e]?(this.element.appendChild(document.createTextNode(t[e])),this.element.appendChild(document.createElement("br"))):t[e]instanceof Er?this.element.appendChild(t[e].element):t[e]instanceof r&&Ar(t.a+" + "+t.b+"i");return this}clear(){return this.element.childNodes.forEach((t=>t.remove())),this}setValue(...t){return this.clear(),this.addValue(...t),this}}const Br=(...t)=>(new Dr).append(...t);class _r extends Er{constructor(t=1,e=""){super(`h${t}`,`h${t}`),this.element=document.createElement("h"+t),this.element.textContent=e,this.render()}get value(){return this.element.innerText}setValue(t=""){this.element.innerText=t}addValue(t=""){return this.element.innerText+=t,this}}const Mr=(t="")=>new _r(1,t),Tr=(t="")=>new _r(2,t),Ir=(t="")=>new _r(3,t),Sr=(t="")=>new _r(4,t),Lr=(t="")=>new _r(5,t),Or=(t="")=>new _r(6,t);class Vr extends Er{constructor(t){super(t,"ZikoHtml"),this.render()}}class jr extends Er{constructor(){super("br","br"),this.render(),delete this.append}}class Rr extends Er{constructor(){super("hr","hr"),this.render(),delete this.append}}class Nr extends Er{constructor(t){super("a","link"),this.setHref(t),this.render()}setHref(t){this.element.href=t}}const Pr=()=>new jr,zr=()=>new Rr,$r=(t=1)=>new Array(t).fill(new jr),Hr=(t=1)=>new Array(t).fill(new Rr),Ur=(t,...e)=>new Nr(t).append(...e),qr=(t,...e)=>new Vr(t).append(...e);class Wr extends Er{constructor(t){super(),this.element=document.createElement("li"),this.append(t),this.render()}}class Zr extends Er{constructor(t,e){super(t,e),delete this.append}append(...t){for(let e=0;e<t.length;e++){let r=null;["string","number"].includes(typeof t[e])&&(t[e]=Ar(t[e])),t[e]instanceof Er&&(r=new Wr(t[e])),r.setTarget(this.element),this.items.push(r[0]),this.maintain()}}remove(...t){if(0==t.length)this.Target.children.length&&this.Target.removeChild(this.element);else{const e=t=>{"number"==typeof t&&(t=this.items[t]),t instanceof Er&&this.element.removeChild(t.parent.element),this.items=this.items.filter((e=>e!==t))};for(let r=0;r<t.length;r++)e(t[r]);for(let t=0;t<this.items.length;t++)Object.assign(this,{[[t]]:this.items[t]})}return this}insertAt(t,...e){if(t>=this.element.children.length)this.append(...e);else for(let r=0;r<e.length;r++){let s=null;["number","string"].includes(typeof e[r])&&(e[r]=Ar(e[r])),e[r]instanceof Er&&(s=new Wr(e[r])),this.element.insertBefore(s.element,this.items[t].parent.element),this.items.splice(t,0,e[r][0])}return this}filterByTextContent(t,e=!1){return this.items.map((t=>t.parent.render())),this.items.filter((r=>{const s=r.element.textContent;return!(e?s===t:s.includes(t))})).map((t=>t.parent.render(!1))),this}sortByTextContent(t=1){return this.items.map((t=>t.parent.render(!1))),this.sortedItems=this.items.sort(((e,r)=>t*e.element.textContent.localeCompare(r.element.textContent))),this.append(...this.sortedItems),this}filterByClass(t){return this.items.map((t=>t.parent.render(!0))),this.items.filter((e=>!e.Classes.includes(t))).map((t=>t.parent.render(!1))),this}delete(t){return[...this.element.children].indexOf(t)}push(){}pop(){}unshift(){}shift(){}sort(){}filter(){}slice(){}}class Xr extends Zr{constructor(...t){super("ol","ol"),this.append(...t),this.render()}type(t=1){return this.element.setAttribute("type",t),this}start(t=1){return this.element.setAttribute("start",t),this}}class Kr extends Zr{constructor(...t){super("ul","ul"),this.append(...t),this.render()}}const Gr=(...t)=>new Xr(...t),Yr=(...t)=>new Kr(...t);class Qr extends Er{constructor(t="button"){super(),this.element=document.createElement("button"),this.setValue(t),this.render(),this.st.cursor("pointer")}setValue(t){return t instanceof Er?t.setTarget(this.element):(this.element.appendChild(document.createTextNode("")),this.element.childNodes[0].data=t),this}get value(){return this.element.innerText}toggleValues(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.setValue(t[e+1]):this.setValue(t[0]),this}}const Jr=t=>new Qr(t);class ts extends Er{constructor(t=""){super(),this.element=document.createElement("option"),t instanceof Object&&"value"in t?(this.setValue(t.value),this.setText(t?.text??t.value)):this.setValue(t)}setValue(t=""){return this.element.value=t,this}setText(t=""){return t&&(this.element.textContent=t),this}}class es extends Er{constructor(){super(),this.element=document.createElement("textarea"),this.render()}get value(){return this.element.textContent}}const rs=()=>new es;class ss extends Er{constructor(t="",e){super(),this.element=document.createElement("input"),Object.assign(this.events,{input:null}),this.setValue(t),e&&this.linkDatalist(e),this.render()}onInput(...t){return this.events.input||(this.events.input=ze(this)),this.events.input.onInput(...t),this}onChange(...t){return this.events.input||(this.events.input=ze(this)),this.events.input.onChange(...t),this}linkDatalist(t){let e;if(t instanceof gs)e=t.Id;else if(t instanceof Array){const r=new gs(...t);e=r.Id,console.log(r)}else e=t;return this.element.setAttribute("list",e),this}get value(){return this.element.value}_setType(t){return this.element.type=t,this}setValue(t=""){return this.element.value=t,this}useState(t){return this.setValue(t),[{value:this.value},t=>this.setValue(t)]}setPlaceholder(t){return t&&(this.element.placeholder=t),this}get isValide(){return this.element.checkValidity()}setRequired(t=!0){return this.element.required=t,this}select(){return this.element.select(),this}copy(){return this.element.select(),document.execCommand("copy"),this}cut(){return this.element.select(),document.execCommand("cut"),this}accept(t){return this.element.accept=t,this}}class ns extends ss{constructor(){super(),this._setType("search"),this.Length=0}onsearch(t){return this.element.addEventListener("search",(()=>t())),this}connect(...t){return this}displayLength(t){return this.element.addEventListener("keyup",(()=>t.setValue(this.Length))),this}}class is extends ss{constructor(t,e,r=1){super(),this._setType("number"),this.setMin(t).setMax(e).setStep(r),this.render()}get value(){return+this.element.value}setMin(t){return this.element.min=t,this}setMax(t){return this.element.max=t,this}setStep(t){return this.element.step=t,this}}class os extends is{constructor(t=0,e=0,r=10,s=1){super(),this._setType("range"),this.setMin(e).setMax(r).setValue(t).setStep(s),this.render()}}class as extends ss{constructor(){super(),this._setType("color"),this.background(this.value),this.render(),this.onInput((()=>this.background(this.value)))}}class hs extends ss{constructor(){super(),this._setType("password"),this.render()}}class ls extends ss{constructor(){super(),this._setType("email"),this.render()}}class cs extends ss{constructor(){super(),this._setType("time"),this.render()}}class us extends ss{constructor(){super(),this._setType("date"),this.render()}}class ms extends ss{constructor(){super(),this._setType("datetime-local"),this.render()}}class ps extends ss{constructor(){super(),this._setType("checkbox"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class ds extends ss{constructor(){super(),this._setType("radio"),this.cursor("pointer")}get checked(){return this.element.checked}check(t=!0){return this.element.checked=t,this}color(t){return this.element.style.accentColor=t,this}}class fs extends Er{constructor(t="File"){super(),this._aux_element=Jr(t).setTarget(this.Target),this.element=document.createElement("input"),this.element.setAttribute("type","file"),this.element.setAttribute("accept","image"),this._aux_element.onClick((()=>this.element.click())),this.element.onChange=this.handleImage.bind(this)}handleImage(t){const e=new FileReader,r=new Image;e.onload=function(t){r.src=t.target.result,console.log(r.src)},e.readAsDataURL(t.target.files[0]),this.img=r}get value(){return this.img}render(t=!0){return t?this.Target.appendChild(this._aux_element.element):this.remove(),this}remove(){return this.Target.children.length&&this.Target.removeChild(this._aux_element.element),this}}class gs extends Er{constructor(...t){super(),this.element=document.createElement("datalist"),this.addOptions(...t).setId("ziko-datalist-id"+J.string(10)),this.render()}addOptions(...t){return t.map((t=>this.append(new ts(t)))),this}}const ys=(t,e)=>{if(t instanceof Object){const{datalist:e,placeholder:r}=t;return t=t.value??"",new ss(t,e).setPlaceholder(r)}return new ss(t,e)},bs=(...t)=>new gs(...t),xs=(t,e,r,s)=>{if(t instanceof Object){const{min:e=0,max:r=10,step:s=1}=t;return new os(t=t?.value??5,e,r,s)}return new os(t,e,r,s)},ws=(t,e,r)=>{if(t instanceof Object){const{value:e,max:r=10,step:s=1,placeholder:n=""}=t;return new os(t=t?.min??0,r,s).setValue(e).setPlaceholder(n)}return new is(t,e,r)},Fs=(...t)=>(new ns).connect(...t),vs=t=>new fs(t),Cs=()=>new hs,Es=()=>new ls,ks=()=>new as,As=()=>new cs,Ds=()=>new us,Bs=()=>new ms,_s=()=>new ps,Ms=()=>new ds;class Ts extends Er{constructor(){super(),this.element=document.createElement("select"),this.render()}addOptions(...t){return t.map((t=>this.append(new ts(t)))),this}}const Is=()=>new Ts;class Ss extends Er{constructor(t,e,r){super("image","image"),this.value=t,"IMG"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.render()}updateSrc(t){return this.value=t,this.element.src=t,this}toggleSrc(...t){let e=(t=t.map((t=>""+t))).indexOf(""+this.value);return-1!=e&&e!=t.length-1?this.updateSrc(t[e+1]):this.updateSrc(t[0]),this}alt(t){return this.element.alt=t,this}}const Ls=(t,e,r)=>new Ss(t,e,r);class Os extends Er{constructor(t,e){super("figure","figure"),this.img=t.width("100%").element,this.caption=document.createElement("figcaption"),this.caption.append(e.element),this.element.append(this.img),this.element.append(this.caption),this.render()}}const Vs=(t,e)=>new Os(t,e);class js extends Er{constructor(t="",e="100%",r="50vh"){super("video","video"),"VIDEO"===t.nodeName?this.element.setAttribute("src",t.src):this.element.setAttribute("src",t),"number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),this.render()}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}poster(t=""){return this.element.poster=t,this}usePIP(t){return this.element.requestPictureInPicture(t),this}}const Rs=(t,e,r)=>new js(t,e,r);class Ns extends Er{constructor(t){super("audio","audio"),this.element.setAttribute("src",t),this.render(),this.controls()}useControls(t=!0){return this.element.controls=t,this}play(){return this.element.play(),this}pause(){return this.element.pause(),this}}const Ps=t=>new Ns(t);class zs extends js{constructor(){super(),this.element.setAttribute("src",""),this.constraints={audio:!0,video:{width:1280,height:720}}}start(){return navigator.mediaDevices.getUserMedia(this.constraints).then((t=>{this.element.srcObject=t,this.element.onloadedmetadata=()=>{this.element.play()}})).catch((function(t){console.log(t.name+": "+t.message)})),this}}const $s=()=>new zs;function Hs(t){return 1==t?this.style({flexDirection:"column"}):-1==t&&this.style({flexDirection:"column-reverse"}),this}function Us(t){return 1==t?this.style({flexDirection:"row"}):-1==t&&this.style({flexDirection:"row-reverse"}),this}function qs(t){return"number"==typeof t&&(t=["flex-start","center","flex-end"][t+1]),t}function Ws(t){return qs(-t)}class Zs extends Er{constructor(t,e="100%",r="100%"){super(t,"Flex"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({width:e,height:r}),this.style({display:"flex"}),this.render()}resp(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,r=1){return Hs.call(this,r),this.style({alignItems:"number"==typeof t?qs.call(this,t):t,justifyContent:"number"==typeof e?Ws.call(this,e):e}),this}horizontal(t,e,r=1){return Us.call(this,r),this.style({alignItems:"number"==typeof e?Ws.call(this,e):e,justifyContent:"number"==typeof t?qs.call(this,t):t}),this}show(){return this.isHidden=!1,this.style({display:"flex"}),this}}const Xs=(...t)=>{let e="div";return"string"==typeof t[0]&&(e=t[0],t.pop()),new Zs(e).append(...t)};class Ks extends Er{constructor(t="div",e="50vw",r="50vh"){super(t,"Grid"),this.direction="cols","number"==typeof e&&(e+="%"),"number"==typeof r&&(r+="%"),this.style({border:"1px solid black",width:e,height:r}),this.style({display:"grid"}),this.render()}columns(t){let e="";for(let r=0;r<t;r++)e=e.concat(" auto");return this.#d(e),this}#d(t="auto auto"){return this.style({gridTemplateColumns:t}),this}gap(t=10,e=t){return"number"==typeof t&&(t+="px"),"number"==typeof e&&(e+="px"),this.style({gridColumnGap:t,gridRowGap:e}),this}}const Gs=(...t)=>new Ks("div").append(...t);class Ys extends Er{constructor(t,e,r="😁"){super("details","Accordion"),this.summary=qr("summary",t).style({fontSize:"1.1em",padding:"0.625rem",fontWeight:"bold",listStyleType:`"${r}"`,cursor:"pointer"}),this.summary[0].style({marginLeft:"0.5em"}),this.content=e.style({margin:"0.7em"}),this.append(this.summary,this.content),this.style({marginBottom:"0.7em"}),this.render()}get isOpen(){return this.element.open}open(){return this.element.open=!0,this}onOpen(t){return this}close(){return this.element.open=!0,this}onClose(t){return this}toggle(){return this.element.open=!this.element.open,this}}const Qs=(t,e,r)=>new Ys(t,e,r);class Js extends Zs{constructor(...t){super(),this.style({position:"relative",overflow:"hidden",touchAction:"none",userSelect:"none"}),this.horizontal("space-around",0),this.track=Section(...t).style({display:"inline-flex"}),this.track.size(100*this.track.children.length+"vw"),this.track.setTarget(this),this.track.items.map((t=>t.style({pointerEvents:"none",margin:"auto 10px"}))),this.x0=null,this.tx=0,this.onPtrMove((t=>{if(t.isDown){let e=t.event.pageX-this.x0;this.track.st.translateX(this.tx+e,0)}})),this.onPtrDown((t=>{console.log(t.event),this.x0=t.event.pageX;const e=window.getComputedStyle(this.track.element).getPropertyValue("transform");"none"!==e&&(this.tx=+e.split(",")[4])})),this.onPtrUp((t=>console.log(t.isDown))),this.onPtrLeave((t=>{}))}}const tn=(...t)=>new Js(...t);class en extends Zs{constructor(){super("section"),Object.assign(this.cache,{order:0,currentNote:null,currentNoteIndex:null}),this.vertical(0,0)}setCurrentNote(t){return this.cache.currentNote=t,this.cache.currentNoteIndex=this.items.findIndex((e=>e===t)),t.focus(),this.items.forEach((t=>t.Input.style({border:"1px solid #ccc"}))),t.Input.style({border:"2px lightgreen solid"}),this}addNote(t=""){return this.append(on(t)),this}execute(){return this.cache.currentNote.execute(),this.incrementOrder(),this}incrementOrder(){return this.cache.order++,this.cache.currentNote.setOrder(this.cache.order),this}next(){return this.cache.currentNote===this.items.at(-1)?(this.addNote(),this.setCurrentNote(this.items.at(-1))):this.setCurrentNote(this.items[this.cache.currentNoteIndex+1]),this}previous(){return this.cache.currentNote!==this.items[0]&&this.setCurrentNote(this.items[this.cache.currentNoteIndex-1]),this}data(){return this.items.map((t=>t.cellData()))}serialize(){return JSON.stringify(this.data())}import(t=[]){return t.forEach(((e,r)=>this.addNote(t[r].input))),this}}const rn=()=>new en,sn={background:"none",width:"25px",height:"25px",fontSize:"1.2rem",cursor:"pointer"};class nn extends Zs{constructor(t="",{type:e="js",order:r=null}={}){var s;super("section"),Object.assign(this.cache,{state:null,order:r,type:e,metadata:{created:Date.now(),updated:null}}),this.Input=((t="")=>qr("code",t).style({width:"100%",height:"auto",padding:"10px",boxSizing:"border-box",border:"1px solid #ccc",outline:"none",fontSize:"1rem",fontFamily:"Lucida Console, Courier New, monospace",padding:"1rem 0.5rem",wordBreak:"break-all",background:"#f6f8fa",color:"#0062C3"}).setAttr("contenteditable",!0).setAttr("spellcheck",!1))(t),this.Output=qr("output").style({width:"100%",height:"auto",padding:"5px 0"}),this.InOut=Xs(this.Input,this.Output).vertical().style({width:"100%",margin:"10px auto"}),this.RightControl=(s=this,Xs(Ar("▶️").style(sn).onClick((t=>{s.parent instanceof en&&s.parent.setCurrentNote(s),s.execute(),globalThis.__Target__=t.target.parent.parent[1][1]})),Ar("📋").style(sn).onClick((()=>{navigator.clipboard.writeText(s.codeText)})),Ar("✖️").style(sn).onClick((()=>s.remove())),Ar("✖️").style(sn).onClick((()=>s.remove()))).style({width:"70px",height:"50px",margin:"10px 0"}).horizontal(0,0).wrap(!0)),this.LeftControl=Xs(Ar("[ ]")).style({width:"50px",height:"50px",margin:"10px 4px",padding:"5px",color:"darkblue",borderBottom:"4px solid gold"}).horizontal(0,0),this.append(this.LeftControl,this.InOut,this.RightControl),this.horizontal(-1,1).style({width:"95vw",margin:"0 auto",border:"1px darkblue dotted"}),this.Input.onKeyDown((t=>{"Enter"===t.kd&&t.event.shiftKey&&(t.event.preventDefault(),this.execute(this.cache.order)),this.cache.parent instanceof en&&("ArrowDown"===t.kd&&t.event.shiftKey&&this.cache.parent.next(),"ArrowUp"===t.kd&&t.event.shiftKey&&this.cache.parent.previous())})),this.Input.onFocus((()=>{this.cache.parent instanceof en&&(this.cache.parent.cache.currentNote=this,this.cache.parent.setCurrentNote(this))})),this.Input.onPaste((t=>{}))}get codeText(){return this.Input.element.innerText.trim()}get codeHTML(){return this.Input.element.innerHTML}get outputHTML(){return this.Output.element.innerHTML}setValue(t){return this.Input[0].setValue(t),this}cellData(){return{input:this.codeText,output:this.outputHTML,order:this.cache.order,type:this.cache.type}}execute(t){return this.clearOutput(),this.evaluate(t),this.cache.metadata.updated=Date.now(),this}#f(t){try{this.LeftControl[0].setValue("pending"),this.cache.state="pending",globalThis.eval(this.Input.element.innerText)}catch(t){console.log(t),text(`Error : ${t.message}`).style({color:"red",background:"gold",border:"2px red solid",padding:"10px",margin:"10px 0",display:"flex",justifyContent:"center"}),this.LeftControl[0].setValue("Err"),this.cache.state="Error"}finally{"pending"===this.cache.state&&(this.cache.state="success",this.setOrder(t),this.cache.parent instanceof en&&(this.cache.parent.incrementOrder(),this.cache.parent.next()))}}#g(){}#y(){}evaluate(t){if(globalThis.__Target__=this.Output.element,"js"===this.cache.type)this.#f(t);return this}clearInput(){return this.Output.element.innerText="",this}clearOutput(){return this.Output.element.innerText="",this}setOrder(t,e=!0){return this.cache.order=t,e&&("number"==typeof t?this.LeftControl[0].setValue(`[${t}]`):this.LeftControl[0].setValue("[-]")),this}focus(){return this.Input.element.focus(),this}}const on=(t,{type:e,order:r}={})=>new nn(t,{type:e,order:r});class an extends Zs{#b=0;constructor(t,e){super("div","Tabs"),this.style({boxSizing:"border-box",backgroundColor:"blanchedalmond",border:"1px red solid",margin:"30px"}),this.append(Xs().size("auto","auto").style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",minWidth:"50px",minHeight:"50px",backgroundColor:"darkblue",border:"1px darkblue solid"}),Xs().style({boxSizing:"border-box",justifyContent:"center",alignItems:"center",textAlign:"center",width:"100%",height:"100%",backgroundColor:"darkslategrey"})),this.Controller=this.items[0].setAttr("role","tablist"),this.Content=this.items[1],t.length!==e.length?console.error(""):(this.Controller.append(...t),this.Content.append(...e)),this.init(),this.display(0)}init(){for(let t=0;t<this.Controller.length;t++)this.Controller[t].setAttr("role","tab").setAttr("aria-controls",`tab${t}`),this.Content[t].setAttr("role","tabpanel").setAttr("aria-labelledby",`tab${t}`).setAttr("tabindex",-1);return this.Controller.forEach((t=>t.onClick((t=>{const e=t.target.element.getAttribute("aria-controls"),r=+e.slice(3);this.Content.filter((t=>t.element.getAttribute("aria-labelledby")===e),(()=>{this.#b!==r&&this.display(r)}))})))),this}addPairs(t,e){this.Controller.append(t),this.Content.append(e);const r=this.Controller.length;return this.Controller.at(-1).setAttr("role","tab").setAttr("aria-controls","tab"+(r-1)),this.Content.at(-1).setAttr("role","tabpanel").setAttr("aria-labelledby","tab"+(r-1)).setAttr("tabindex",-1),this}removePairs(t){}display(t){return this.#b=t%this.Content.length,this.Controller.forEach((t=>t.setAttr("tabindex",-1).setAttr("aria-selected",!1))),this.Controller.at(this.#b).setAttr("tabindex",0).setAttr("aria-selected",!0),(async()=>{await this.Content.forEach((t=>t.st.hide())),await this.Content.at(this.#b).setAttr("tabindex",0).st.show()})(),this}next(t=1){return this.display(this.#b+t),this}previous(t=1){return this.display(this.#b-t),this}useHorizontalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_x)))),this}useVerticalSwippe(){return this.onPtrDown(),this.onPtrUp((t=>this.next(Math.sign(t.swippe.delta_y)))),this}}const hn=(t,e)=>new an(t,e);class ln extends Er{constructor(){super("main","Main"),this.render()}}class cn extends Er{constructor(){super("header","Header"),this.render()}}class un extends Er{constructor(){super("nav","Nav"),this.render()}}class mn extends Er{constructor(){super("section","Section"),this.style({position:"relative"}),this.render()}}class pn extends Er{constructor(){super("article","Article"),this.render()}}class dn extends Er{constructor(){super("aside","Aside"),this.render()}}class fn extends Er{constructor(){super("footer","Footer"),this.element=document.createElement("footer"),this.render()}}const gn=(...t)=>(new mn).append(...t),yn=(...t)=>(new pn).append(...t),bn=(...t)=>(new ln).append(...t),xn=(...t)=>(new cn).append(...t),wn=(...t)=>(new fn).append(...t),Fn=(...t)=>(new un).append(...t),vn=(...t)=>(new dn).append(...t);class Cn extends Er{constructor(...t){super(),this.element=document.createElement("Tr"),this.append(...t)}}class En extends Er{constructor(...t){super(),this.element=document.createElement("Td"),this.append(...t)}}class kn extends Er{constructor(...t){super(),this.element=document.createElement("Thead"),this.append(...t)}}class An extends Er{constructor(...t){super(),this.element=document.createElement("Tbody"),this.append(...t)}}class Dn extends Er{constructor(t){super(),this.element=document.createElement("Caption"),this.append(t)}}const Bn=(...t)=>(t=t.map((t=>(t instanceof Er||(t=Ar(t)),t))),new En(...t)),_n=t=>new Dn(t),Mn=t=>{var e=new Array(t.rows).fill(null).map((()=>((...t)=>new Cn(...t))())),r=t.arr.map((t=>t.map((()=>null))));for(let s=0;s<r.length;s++)for(let n=0;n<r[0].length;n++)r[s][n]=Bn(t.arr[s][n]),e[s].append(r[s][n]);return e};class Tn extends Er{constructor(t,{caption:e=null,head:r=null,foot:s=null}={}){super("table","Table"),this.structure={caption:e,head:r,body:null,foot:s},t&&this.fromMatrix(t),e&&this.setCaption(e),this.render()}get caption(){return this.structure.caption}get header(){}get body(){}get footer(){}setCaption(t){return this.removeCaption(),this.structure.caption=_n(t),this.append(this.structure.caption),this}removeCaption(){return this.structure.caption&&this.removeItem(...this.items.filter((t=>t instanceof Dn))),this.structure.caption=null,this}setHeader(...t){return this.tHead=((...t)=>(t=t.map((t=>(t instanceof Er||(t=Bn(t)),t))),new kn(...UI)))(...t),this.append(this.tHead),this}removeHeader(){return this.removeItem(...this.items.filter((t=>t instanceof Dn))),this}setFooter(t){return this.structure.caption=_n(t),this.append(this.structure.caption),this}removeFooter(){return this.removeItem(...this.items.filter((t=>t instanceof Dn))),this}fromMatrix(t){return this.bodyMatrix=t instanceof Array?at(t):t,this.structure.body&&this.remove(this.structure.body),this.structure.body=((...t)=>new An(...t))(),this.append(this.structure.body),this.structure.body.append(...Mn(this.bodyMatrix)),this}transpose(){return this.fromMatrix(this.bodyMatrix.T),this}hstack(t){return t instanceof Tn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.hstack(t)),this}vstack(t){return t instanceof Tn&&(t=t.bodyMatrix),this.fromMatrix(this.bodyMatrix.clone.vstack(t)),this}slice(t=0,e=0,r=this.bodyMatrix.rows-1,s=this.bodyMatrix.cols-1){return this.fromMatrix(this.bodyMatrix.slice(t,e,r,s)),this}sortByCols(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.clone.sortTable(t,e)),this}sortByRows(t,e={type:"num",order:"asc"}){return this.fromMatrix(this.bodyMatrix.T.clone.sortTable(t,e).T),this}filterByRows(t){return this.fromMatrix(this.bodyMatrix.clone.filterByRows(t)),this}filterByCols(t){return this.fromMatrix(this.bodyMatrix.clone.filterByCols(t)),this}forEachRow(t){return this.structure.body.forEach(t),this}forEachItem(t){return this.structure.body.forEach((e=>e.forEach(t))),this}}const In=(t,e)=>new Tn(t,e),Sn={ZikoHtml:qr,text:Ar,p:Br,h1:Mr,h2:Tr,h3:Ir,h4:Sr,h5:Lr,h6:Or,btn:Jr,br:Pr,hr:zr,brs:$r,hrs:Hr,link:Ur,ol:Gr,ul:Yr,input:ys,search:Fs,slider:xs,checkbox:_s,radio:Ms,datalist:bs,inputNumber:ws,inputColor:ks,inputDate:Ds,inputDateTime:Bs,inputEmail:Es,inputImage:vs,inputPassword:Cs,inputTime:As,select:Is,textarea:rs,inputCamera:$s,image:Ls,video:Rs,audio:Ps,figure:Vs,Flex:Xs,Carousel:tn,Grid:Gs,Header:xn,Main:bn,Section:gn,Article:yn,Aside:vn,Nav:Fn,Footer:wn,Table:In,CodeCell:on,CodeNote:rn,Tabs:hn,Accordion:Qs,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}},Ln=t=>t.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/\[(.*?)\]\((.*?)\)/g,'<a href="$2">$1</a>').replace(/!\[(.*?)\]\((.*?)\)/g,'<img src="$2" alt="$1">'),On=t=>`<tr>${t.split("|").map((t=>t.trim())).filter((t=>""!==t)).map((t=>`<td>${Ln(t)}</td>`)).join("")}</tr>\n`,Vn=(t,e)=>{const r=t.slice(1,-1).join("\n");return`<pre>${e?`<code data-language="${e}">${r}</code>`:`<code>${r}</code>`}</pre>\n`},jn=t=>{const e=t.match(/^\d+\.\s/);if(e){let r=+e[1];return`<ol${1===r?"":` start=${r}`}>\n<li>${Ln(t.slice(e[0].length))}</li>\n</ol>\n`}return`<ul>\n<li>${Ln(t)}</li>\n</ul>\n`},Rn=t=>{const e=t.split("\n");let r="",s=!1,n=!1,i=[],o="";for(let t=0;t<e.length;t++){let a=e[t];if(a.startsWith("|"))s||(s=!0,r+="<table>\n"),r+=On(a);else if(s&&(s=!1,r+="</table>\n"),a.startsWith("```"))n?(n=!1,r+=Vn(i,o)):(n=!0,i=[],o=a.slice(3).trim());else if(n)i.push(a);else if(a.startsWith("# ")){const t=a.indexOf(" "),e=a.slice(t+1);r+=`<h${t}>${Ln(e)}</h${t}>\n`}else a.startsWith("- ")||a.startsWith("* ")||a.match(/^\d+\.\s/)?r+=jn(a):r+=`<p>${Ln(a)}</p>\n`}return r},Nn=(t,e=",")=>t.trim().trimEnd().split("\n").map((t=>t.split(e))),Pn=(t,e=",")=>new ot(Nn(t,e)),zn=(t,e=",")=>{const[r,...s]=Nn(t,e);return s.map((t=>{const e={};return r.forEach(((r,s)=>{e[r]=t[s]})),e}))},$n=(t,e=",")=>JSON.stringify(zn(t,e)),Hn=(t,e)=>{const r=t.trim().trimEnd().split("\n").filter((t=>t));let s=`INSERT INTO ${e} (${r[0].split(",").join(", ")}) Values `,n=[];for(let t=1;t<r.length;t++){const e=r[t].split(",");n.push(`(${e})`)}return s+n.join(",\n")},Un=t=>t instanceof Array?[Object.keys(t[0]),...t.map((t=>Object.values(t)))]:[Object.keys(t)],qn=(t,e)=>Un(t).map((t=>t.join(e))).join("\n"),Wn=t=>Un(t instanceof Object?t:JSON.parse(t)),Zn=(t,e=",")=>qn(t instanceof Object?t:JSON.parse(t),e),Xn=(t,e)=>{const r=Zn(t,e),s=new Blob([r],{type:"text/csv;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},Kn=(t,e)=>{const r=[];if(Array.isArray(t))t.forEach((t=>{if("object"==typeof t&&null!==t){r.push(`${e}-`);const s=Kn(t,`${e} `);r.push(...s)}else r.push(`${e}- ${t}`)}));else for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];if("object"==typeof n&&null!==n){r.push(`${e}${s}:`);const t=Kn(n,`${e} `);r.push(...t)}else r.push(`${e}${s}: ${n}`)}return r},Gn=(t,e="")=>Kn(t,e).join("\n"),Yn=(t,e)=>Gn(t instanceof Object?t:JSON.parse(t),e),Qn=(t,e)=>{const r=Yn(t,e),s=new Blob([r],{type:"text/yml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},Jn=(t,e=1)=>{let r="";for(const s in t)if(t.hasOwnProperty(s)){const n=t[s];r+="\n"+" ".repeat(e)+`<${s}>`,r+="object"==typeof n?Jn(n,e+2):`${n}`,r+=`</${s}>`}return r.trim()},ti=(t,e)=>{const r=Jn(t,e),s=new Blob([r],{type:"text/xml;charset=utf-8;"});return{str:r,blob:s,url:URL.createObjectURL(s)}},ei=t=>(new XMLSerializer).serializeToString(t),ri=t=>btoa(ei(t)),si=t=>"data:image/svg+xml;base64,"+ri(t),ni=(t,e=!0)=>Ls(si(t)).render(e);function ii(t){const e={type:t.nodeName,attributes:{},children:[]};for(let r=0;r<t.attributes.length;r++){const s=t.attributes[r];e.attributes[s.name]=s.value}for(let r=0;r<t.childNodes.length;r++){const s=t.childNodes[r];s.nodeType===Node.ELEMENT_NODE?e.children.push(ii(s)):s.nodeType===Node.TEXT_NODE&&(e.text=s.textContent.trim())}return e}const oi=t=>{const e=new XMLHttpRequest;if(e.open("GET",t,!1),e.send(),200===e.status)return e.responseText;throw new Error(`Failed to fetch data from ${t}. Status: ${e.status}`)};globalThis.fetchdom=async function(t="https://github.com/zakarialaoui10"){const e=await fetch(t),r=await e.text();return(new DOMParser).parseFromString(r,"text/xml").documentElement},globalThis.fetchdomSync=function(t="https://github.com/zakarialaoui10"){const e=oi(t);return(new DOMParser).parseFromString(e,"text/xml").documentElement};const ai={parseXML:function(t){return ii((new DOMParser).parseFromString(t,"text/xml").documentElement)},preload:oi,markdown2html:Rn,csv2arr:Nn,csv2matrix:Pn,csv2object:zn,csv2json:$n,csv2sql:Hn,json2arr:Wn,json2csv:Zn,json2csvFile:Xn,json2yml:Yn,json2ymlFile:Qn,json2xml:Jn,json2xmlFile:ti,svg2str:ei,svg2ascii:ri,svg2imgUrl:si,svg2img:ni,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class hi{constructor(){this.cache={}}color({stroke:t,fill:e}){return this.element.setAttribute("stroke",t),this.element.setAttribute("fill",e),this}fill(t="none"){return this.element.setAttribute("fill",t),this}stroke(t="none",e){return this.element.setAttribute("stroke",t),e&&this.strokeWidth(e),this}strokeWidth(t=1){return this.element.setAttribute("stroke-width",t),this}opacity(t=1){return this.element.setAttribute("opacity",t),this}}class li extends hi{constructor(t,e,r,s,n=!0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.setX(t).setY(e).width(r).height(s),this.rx=this.x+this.w/2,this.ty=this.y+this.h/2}setX(t){return this.element.x.baseVal.value=t,this.x=t,this}setY(t){return this.element.y.baseVal.value=t,this.y=t,this}r(t,e){return this.rx=t,this.ry=e,this.setX(this.rx-this.w/2),this.setY(this.ry-this.h/2),this}width(t){return this.element.width.baseVal.value=t,this.w=t,this}height(t){return this.element.height.baseVal.value=t,this.h=t,this}}const ci=(t,e,r,s,n)=>new li(t,e,r,s,n);class ui extends hi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.cx(t).cy(e).r(r)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}r(t){return this.element.r.baseVal.value=t,this}get R(){return this.element.r.baseVal.value}get Cx(){return this.element.cx.baseVal.value}get Cy(){return this.element.cy.baseVal.value}}const mi=(t,e,r)=>new ui(t,e,r);class pi extends hi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","ellipse"),this.cx(t).cy(e).rx(r).ry(s)}cx(t){return this.element.cx.baseVal.value=t,this}cy(t){return this.element.cy.baseVal.value=t,this}rx(t){return this.element.rx.baseVal.value=t,this}ry(t){return this.element.ry.baseVal.value=t,this}}const di=(t,e,r,s)=>new pi(t,e,r,s);class fi extends hi{constructor(t,e,r,s){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","line"),this.x1(t).y1(e).x2(r).y2(s).stroke("black")}x1(t){return this.element.x1.baseVal.value=t,this}y1(t){return this.element.y1.baseVal.value=t,this}x2(t){return this.element.x2.baseVal.value=t,this}y2(t){return this.element.y2.baseVal.value=t,this}}const gi=(t,e,r,s)=>new fi(t,e,r,s);class yi extends hi{constructor(t=[],e=[]){super(),this.X=t,this.Y=e,this.element=document.createElementNS("http://www.w3.org/2000/svg","polygon"),this.element.setAttribute("points","")}addPoint(t,e){let r=this.element.parentElement.createSVGPoint();return r.x=t,r.y=e,this.element.points.appendItem(r),this}addPoints(t,e){for(let r=0;r<t.length;r++){let s=this.element.parentElement.createSVGPoint();s.x=t[r],s.y=e[r],this.element.points.appendItem(s)}return this}}const bi=(t,e)=>new yi(t,e);class xi extends hi{constructor(t="",e="100%",r="100%",s=0,n=0){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","image"),this.setSrc(t).width(e).height(r).x(s).y(n)}x(t){return this.element.x.baseVal.value=t,this}y(t){return this.element.y.baseVal.value=t,this}width(t){return this.element.setAttribute("width",t),this}height(t){return this.element.setAttribute("height",t),this}setSrc(t=""){return this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),this}}const wi=(t,e,r,s,n)=>new xi(t,e,r,s,n);class Fi extends hi{constructor(t,e,r){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","text"),this.setText(t),this.x(e).y(r)}x(t){return this.element.setAttribute("x",t),this}y(t){return this.element.setAttribute("y",t),this}setText(t=""){return this.element.textContent=t,this}}const vi=(t,e,r)=>new Fi(t,e,r);class Ci extends hi{constructor(...t){super(),this.items=[],this.element=document.createElementNS("http://www.w3.org/2000/svg","g"),this.add(...t)}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(t[e].element),this.items.push(t[e]);return 1===t.length?t[0]:t}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}}const Ei=(...t)=>new Ci(...t);class ki extends Er{constructor(t=360,e=300){super(),this.element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.setAttr("width",t),this.setAttr("height",e),this.style({border:"1px black solid"}),this.render()}view(t,e,r,s){let n=Math.abs(r-t),i=Math.abs(s-e);return this.setAttr("viewBox",[t,e,n,i].join(" ")),this}add(...t){for(let e=0;e<t.length;e++)this.element.appendChild(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 Ai=(t,e)=>new ki(t,e);class Di extends Er{constructor(t,e){super(),this.element=document.createElement("canvas"),this.ctx=this.element.getContext("2d"),this.style({border:"1px red solid"}),this.transformMatrix=new ot([[1,0,0],[0,1,0],[0,0,1]]),this.axisMatrix=new ot([[-10,-10],[10,10]]),this.render(),setTimeout((()=>this.resize(t,e)),0),this.on("sizeupdated",(()=>this.adjust()))}get Width(){return this.element.width}get Height(){return this.element.height}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,r,s){return this.transformMatrix[0][0]=this.Width/(r-t),this.transformMatrix[1][1]=-this.Height/(s-e),this.transformMatrix[0][2]=this.Width/2,this.transformMatrix[1][2]=this.Height/2,this.axisMatrix=new ot([[t,e],[r,s]]),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}ImageData(t=0,e=0,r=this.Width,s=this.Height){return this.ctx.getImageData(t,e,r,s)}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 Di;return t.items=this.items,t.transformMatrix=this.transformMatrix,t.axisMatrix=this.axisMatrix,Object.assign(t.cache,{...this.cache}),this.size(element.style.width,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"),r=URL.createObjectURL(t);e.onload=function(){URL.revokeObjectURL(r)},e.src=r,console.log(e)}))}zoomIn(){}zoomOut(){}undo(t){}redo(t){}stream(){}}const Bi=(t,e)=>new Di(t,e);class _i{constructor(t,e){this.parent=null,this.position={x:t,y:e},this.cache={interact:null,config:{draggable:!1,selected:!1,highlighted:!1,rendered:!1},style:{normal:{strokeEnabled:!0,fillEnabled:!1,strokeColor:"#111111",fillColor:"#777777"},highlighted:{strokeEnabled:!0,fillEnabled:!1,strokeColor:null,fillColor:null}}},this.history={position:[],styles:[]},this.render()}get px(){return(this.position.x??0)+(this.parent?.position?.x??0)}get py(){return(this.position.y??0)+(this.parent?.position?.y??0)}isIntersectedWith(){}isInStroke(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInStroke(this.path,t,e),this.parent.applyTransformMatrix()),r}isInPath(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}posX(t){return this.position.x=t,this.parent&&this.parent.draw(),this}posY(t){return this.position.y=t,this.parent&&this.parent.draw(),this}color({stroke:t=this.cache.style.normal.strokeColor,fill:e=this.cache.style.normal.fillColor}={stroke:t,fill:e}){return this.cache.style.normal.strokeColor=t,this.cache.style.normal.fillColor=e,this.parent&&this.parent.draw(),this}translate(t=0,e=0){this.position.x+=t,this.position.y+=e,this.parent&&this.parent.draw()}applyNormalStyle(t){return t.strokeStyle=this.cache.style.normal.strokeColor,t.fillStyle=this.cache.style.normal.fillColor,this}applyHighlightedStyle(t){return t.strokeStyle=this.cache.style.highlighted.strokeColor,t.fillStyle=this.cache.style.highlighted.fillColor,this}stroke(t=this.cache.style.normal.strokeColor,e=!0){return this.cache.style.normal.strokeEnabled=e,this.cache.style.normal.strokeColor=t,this.parent&&this.parent.draw(),this}fill(t=this.cache.style.normal.fillColor,e=!0){return this.cache.style.normal.fillEnabled=e,this.cache.style.normal.filleColor=t,this.parent&&this.parent.draw(),this}render(t=!0){return this.cache.config.rendered=t,this}}class Mi extends _i{constructor(t,e,r,s){super(t,e),this.r=r,this.angle=s,this.path=null}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path=new Path2D,this.path.arc(this.px,this.py,this.r,0,this.angle);const{strokeEnabled:e,fillEnabled:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}radius(t){return this.r=t,this.parent&&this.parent.draw(),this}}const Ti=(t,e,r,s)=>new Mi(t,e,r,s),Ii=(t,e,r)=>new Mi(t,e,r,2*Math.PI);class Si extends _i{constructor(t,e){super(),this.pointsMatrix=null,this.path=new Path2D,this.fromXY(t,e)}get points(){return this.pointsMatrix.T.arr}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.moveTo(this.points[1][0]+this._x,this.points[1][1]+this._y);for(let t=1;t<this.points.length;t++)this.path.lineTo(this.points[t][0]+this._x,this.points[t][1]+this._y);t.stroke(this.path),t.restore()}return this}fromXY(t,e){return this.pointsMatrix=at([t,e]),this}push(t,e){return this.pointsMatrix.hstack(at([t,e])),this.parent&&this.parent.draw(),this}isIn(t,e){let r;return this.parent&&(this.parent.ctx.setTransform(1,0,0,1,0,0),r=this.parent.ctx.isPointInPath(this.path,t,e),this.parent.applyTransformMatrix()),r}}const Li=(t=[],e=[])=>new Si(t,e);class Oi extends _i{constructor(t,e,r,s){super(),this.x0=t,this.x1=r,this.y0=e,this.y1=s,delete this.fill}draw(t){return this.cache.config.rendered&&(t.save(),this.applyNormalStyle(t),t.beginPath(),t.moveTo(this.x0+this._x,this.y0+this._y_),t.lineTo(this.x1+this._x,this.y1+this._y),t.stroke(),this.cache.style.normal.strokeEnabled&&t.stroke(),t.restore()),this}}const Vi=(t,e,r,s)=>new Oi(t,e,r,s);class ji extends _i{constructor(t,e,r,s){super(t,e),this.w=r,this.h=s,this.path=new Path2D}draw(t){if(this.cache.config.rendered){t.save(),this.applyNormalStyle(t),t.beginPath(),this.path.rect(this.px,this.py,this.w,this.h);const{strokeEnabled:e,fillEnabled:r}=this.cache.style.normal;e&&t.stroke(this.path),r&&t.fill(this.path),t.closePath(),t.restore()}return this}width(t){return this.w=t,this.parent&&this.parent.draw(),this}height(t){return this.h=t,this.parent&&this.parent.draw(),this}}const Ri=(t,e,r,s)=>new ji(t,e,r,s),Ni={Svg:Ai,ZikoUISvg:ki,svgCircle:mi,svgEllipse:di,svgImage:wi,svgLine:gi,svgPolygon:bi,svgRect:ci,svgText:vi,svgGroupe:Ei,Canvas:Bi,canvasArc:Ti,canvasCircle:Ii,canvasPoints:Li,canvasLine:Vi,canvasRect:Ri,ExtractAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"ExtractAll"!==r&&"RemoveAll"!==r&&(globalThis[r]=this[r])}return this},RemoveAll:function(){const t=Object.keys(this);for(let e=0;e<t.length;e++){const r=t[e];"RemoveAll"!==r&&delete globalThis[r]}return this}};class Pi{constructor(t,e){this.root_UI=t,this.routes=new Map([[404,Ar("Error 404")],...Object.entries(e)]),this.patterns=new Map,this.maintain(),window.onpopstate=this.render(location.pathname)}get(t,e){return t instanceof RegExp?this.patterns.set(t,e):this.routes.set(t,e),this.maintain(),this}maintain(){return this.root_UI.append(...this.routes.values()),[...this.routes.values()].map((t=>t.render(!1))),this.render(location.pathname),this}render(t){if(this.routes.get(t))this.routes.get(t).render(!0);else{const e=[...this.patterns.keys()].find((e=>e.test(t)));e?this.patterns.get(e)(t):this.routes.get(404).render(!0)}return window.history.pushState({},"",t),this}}const zi=(t,e,r)=>new Pi(t,e,r);var $i=null;globalThis?.document?.body&&($i=document.body);class Hi{constructor(t){this.app=t,this.meta={},this.#x("generator","zikojs")}#x(t,e){const r=document.querySelector(`meta[name=${t}]`);return this.meta=r||document.createElement("meta"),this.meta.setAttribute("name",t),this.meta.setAttribute("content",e),r||this.app.head.append(this.meta),this}charset(t="utf-8"){const e=document.querySelector("meta[charset]");return this.meta=e||document.createElement("meta"),this.meta.setAttribute("charset",t),e||this.app.head.append(this.meta),this}description(t){return this.#x("description",t),this}viewport(t="width=device-width, initial-scale=1.0"){return this.#x("viewport",t),this}keywords(...t){return t.push("zikojs"),t=[...new Set(t)].join(", "),this.#x("keywords",t),this}author(t="",e=""){const r=[t,e].join(", ");return this.#x("author",r),this}}class Ui extends Zs{constructor(){super("main"),this.root=document.documentElement,this.head=null,this.#s(),this.seo=new Hi(this),Object.assign(this.cache,{theme:null,isRoot:!0}),this.render()}#s(){this.root.setAttribute("data-engine","zikojs");const t=this.root.getElementsByTagName("head")[0];this.head=t||(this.head=document.createElement("head")),t||this.root.insertBefore(this.head,document.body);const e=this.head.getElementsByTagName("title")[0];this.Title=e||document.createElement("title"),e||this.head.append(this.Title)}title(t=this.title.textContent){return this.Title.textContent=t,this}prefetch(){}description(){}}const qi=(...t)=>(new Ui).append(...t),Wi={App:qi,Math:Qt,UI:Sn,Time:Fr,Graphics:Ni,Events:qe,Use:Cr,Data:ai,SPA:zi};globalThis.__Ziko__=Wi,globalThis.__UI__={text:[],p:[],pre:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],br:[],hr:[],btn:[],ol:[],ul:[],image:[],video:[],audio:[],Article:[],Main:[],Section:[],Aside:[],Nav:[],Header:[],Footer:[],Flex:[],FlexMain:[],FlexNav:[],FlexHeader:[],FlexFooter:[],FlexSection:[],FLexArticle:[],FlexAside:[],Table:[],Svg:[],Canvas:[]},globalThis.__Target__=$i,t.Accordion=Qs,t.App=qi,t.Article=yn,t.Aside=vn,t.Base=X,t.Canvas=Bi,t.Carousel=tn,t.CodeCell=on,t.CodeNote=rn,t.Combinaison=Y,t.Complex=r,t.DarkThemes=Ge,t.Data=ai,t.E=Et,t.EPSILON=kt,t.Ease=ur,t.Events=qe,t.ExtractAll=function(){return Sn.ExtractAll(),Qt.ExtractAll(),Fr.ExtractAll(),qe.ExtractAll(),Cr.ExtractAll(),Ni.ExtractAll(),ai.ExtractAll(),this},t.Fixed=p,t.Flex=Xs,t.Footer=wn,t.Graphics=Ni,t.Grid=Gs,t.Header=xn,t.LightThemes=Ke,t.LinearSystem=ut,t.Logic=K,t.Main=bn,t.Math=Qt,t.Matrix=ot,t.Nav=Fn,t.PI=Ct,t.Permutation=G,t.Random=J,t.RemoveAll=function(){Sn.RemoveAll(),Qt.RemoveAll(),Fr.RemoveAll(),qe.RemoveAll(),Cr.RemoveAll(),Ni.RemoveAll(),ai.RemoveAll()},t.SPA=zi,t.Section=gn,t.Signal=Yt,t.Svg=Ai,t.Table=In,t.Tabs=hn,t.Themes=Ye,t.Time=Fr,t.UI=Sn,t.Utils=Ut,t.ZikoHtml=qr,t.ZikoUIArticle=pn,t.ZikoUIAside=dn,t.ZikoUIAudio=Ns,t.ZikoUIBr=jr,t.ZikoUICanvas=Di,t.ZikoUICodeNote=en,t.ZikoUIElement=Er,t.ZikoUIFigure=Os,t.ZikoUIFooter=fn,t.ZikoUIHeader=cn,t.ZikoUIHr=Rr,t.ZikoUIHtmlTag=Vr,t.ZikoUIImage=Ss,t.ZikoUILink=Nr,t.ZikoUIMain=ln,t.ZikoUINav=un,t.ZikoUISection=mn,t.ZikoUISvg=ki,t.ZikoUIVideo=js,t.__init__=()=>document.documentElement.setAttribute("data-engine","zikojs"),t.abs=d,t.accum=h,t.acos=D,t.acosh=O,t.acot=M,t.add=bt,t.animation=wr,t.arange=St,t.asin=B,t.asinh=V,t.atan=_,t.atan2=z,t.atanh=j,t.audio=Ps,t.bessel=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return u(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>u(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>u(t[s],e)),...e));return r}}},t.beta=(t,e)=>{if("number"==typeof t){if("number"==typeof t)return m(t,e);console.warn("Not supported yet")}else if(t instanceof Array){if("number"==typeof e)return mt((t=>m(t,e)),...t);if(e instanceof Array){const r=[];for(let s=0;s<t.length;s++)r.push(mt((e=>m(t[s],e)),...e));return r}}},t.br=Pr,t.brs=$r,t.btn=Jr,t.canvasArc=Ti,t.canvasCircle=Ii,t.canvasLine=Vi,t.canvasPoints=Li,t.canvasRect=Ri,t.cartesianProduct=zt,t.ceil=R,t.checkbox=_s,t.choleskyDecomposition=it,t.clamp=It,t.complex=s,t.cos=w,t.cosh=T,t.cot=A,t.coth=L,t.csc=k,t.csv2arr=Nn,t.csv2json=$n,t.csv2matrix=Pn,t.csv2object=zn,t.csv2sql=Hn,t.datalist=bs,t.default=Wi,t.deg2rad=jt,t.div=Ft,t.e=b,t.fact=$,t.figure=Vs,t.floor=N,t.gamma=(...t)=>mt(l,...t),t.geomspace=Vt,t.h1=Mr,t.h2=Tr,t.h3=Ir,t.h4=Sr,t.h5=Lr,t.h6=Or,t.hr=zr,t.hrs=Hr,t.hypot=q,t.image=Ls,t.inRange=Nt,t.input=ys,t.inputCamera=$s,t.inputColor=ks,t.inputDate=Ds,t.inputDateTime=Bs,t.inputEmail=Es,t.inputImage=vs,t.inputNumber=ws,t.inputPassword=Cs,t.inputTime=As,t.isApproximatlyEqual=Pt,t.json2arr=Wn,t.json2csv=Zn,t.json2csvFile=Xn,t.json2xml=Jn,t.json2xmlFile=ti,t.json2yml=Yn,t.json2ymlFile=Qn,t.lerp=Mt,t.li=t=>new Wr(t),t.link=Ur,t.linspace=Lt,t.ln=x,t.logspace=Ot,t.loop=cr,t.luDecomposition=tt,t.map=Tt,t.mapfun=mt,t.markdown2html=Rn,t.matrix=at,t.matrix2=ht,t.matrix3=lt,t.matrix4=ct,t.max=a,t.min=o,t.modulo=vt,t.mul=wt,t.norm=_t,t.nums=Bt,t.ol=Gr,t.ones=Dt,t.p=Br,t.pgcd=$t,t.pow=g,t.powerSet=W,t.ppcm=Ht,t.prod=i,t.qrDecomposition=nt,t.rad2deg=Rt,t.radio=Ms,t.round=P,t.search=Fs,t.sec=C,t.select=Is,t.sig=U,t.sign=H,t.sin=F,t.sinc=E,t.sinh=I,t.slider=xs,t.sqrt=f,t.sqrtn=y,t.sub=xt,t.subSet=Z,t.sum=n,t.svg2ascii=ri,t.svg2img=ni,t.svg2imgUrl=si,t.svg2str=ei,t.svgCircle=mi,t.svgEllipse=di,t.svgGroupe=Ei,t.svgImage=wi,t.svgLine=gi,t.svgPolygon=bi,t.svgRect=ci,t.svgText=vi,t.tan=v,t.tanh=S,t.text=Ar,t.textarea=rs,t.timeTaken=br,t.time_memory_Taken=dr,t.ul=Yr,t.useDebounce=mr,t.useThrottle=pr,t.video=Rs,t.wait=yr,t.waitForUIElm=fr,t.waitForUIElmSync=gr,t.zeros=At,Object.defineProperty(t,"__esModule",{value:!0})}));
package/dist/ziko.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Tue Feb 27 2024 20:39:54 GMT+0100 (UTC+01:00)
5
+ Date : Sun Mar 10 2024 11:12:39 GMT+0000 (UTC)
6
6
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
7
7
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
8
8
  Released under MIT License
@@ -8859,8 +8859,8 @@ class ZikoUISvg extends ZikoUIElement {
8859
8859
  super();
8860
8860
  this.element = document.createElementNS("http://www.w3.org/2000/svg", "svg");
8861
8861
  //this.cache={};
8862
- this.setAttribute("width", w);
8863
- this.setAttribute("height", h);
8862
+ this.setAttr("width", w);
8863
+ this.setAttr("height", h);
8864
8864
  this.style({
8865
8865
  border: "1px black solid"
8866
8866
  });
@@ -8872,7 +8872,7 @@ class ZikoUISvg extends ZikoUIElement {
8872
8872
  let width = Math.abs(x2 - x1);
8873
8873
  let height = Math.abs(y2 - y1);
8874
8874
  //this.element.style.transform="scale("+Math.sign(x2-x1)+","+(-Math.sign(y2-y1))+")";
8875
- this.element.setAttribute("viewBox", [x1, y1, width, height].join(" "));
8875
+ this.setAttr("viewBox", [x1, y1, width, height].join(" "));
8876
8876
  //console.log({width:width,height:height})
8877
8877
  return this;
8878
8878
  }
@@ -9454,7 +9454,7 @@ const SPA = (root_UI, routes, patterns) => new ZikoSPA(root_UI, routes, patterns
9454
9454
  const __init__ = () => document.documentElement.setAttribute("data-engine", "zikojs");
9455
9455
 
9456
9456
  var __Target__ = null;
9457
- if (document.body) __Target__ = document.body;
9457
+ if (globalThis?.document?.body) __Target__ = document.body;
9458
9458
 
9459
9459
  class ZikoSeo {
9460
9460
  constructor(app) {
@@ -9564,4 +9564,4 @@ function RemoveAll() {
9564
9564
  Data.RemoveAll();
9565
9565
  }
9566
9566
 
9567
- export { Accordion, App, Article, Aside, Base, Canvas, Carousel, CodeCell, CodeNote, Combinaison, Complex, DarkThemes, Data, E, EPSILON, Ease, Events, ExtractAll, Fixed, Flex, Footer, Graphics, Grid$1 as Grid, Header, LightThemes, LinearSystem, Logic$1 as Logic, Main, Math$1 as Math, Matrix, Nav, PI, Permutation, Random, RemoveAll, SPA, Section$1 as Section, Signal, Svg, Table, Tabs, Themes, Time, UI$1 as UI, Utils, Ziko, ZikoHtml, ZikoUIArticle, ZikoUIAside, ZikoUIAudio, ZikoUIBr, ZikoUICanvas, ZikoUICodeNote, ZikoUIElement, ZikoUIFigure, ZikoUIFooter, ZikoUIHeader, ZikoUIHr, ZikoUIHtmlTag, ZikoUIImage, ZikoUILink, ZikoUIMain, ZikoUINav, ZikoUISection, ZikoUISvg, ZikoUIVideo, __init__, abs, accum, acos, acosh, acot, add, animation, arange, asin, asinh, atan, atan2, atanh, audio, bessel, beta, br, brs, btn, canvasArc, canvasCircle, canvasLine, canvasPoints, canvasRect, cartesianProduct, ceil, checkbox, choleskyDecomposition, clamp, complex, cos, cosh, cot, coth, csc, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, datalist, deg2rad, div, e, fact, figure, floor, gamma, geomspace, h1, h2, h3, h4, h5, h6, hr, hrs, hypot, image, inRange, input, inputCamera, inputColor, inputDate, inputDateTime, inputEmail, inputImage, inputNumber, inputPassword, inputTime, isApproximatlyEqual, json2arr, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, li, link, linspace, ln, logspace, loop, luDecomposition, map, mapfun, markdown2html, matrix, matrix2, matrix3, matrix4, max, min, modulo, mul, norm, nums, ol, ones, p, pgcd, pow, powerSet, ppcm, prod, qrDecomposition, rad2deg, radio, round, search, sec, select, sig, sign, sin, sinc, sinh, slider, sqrt, sqrtn, sub, subSet, sum, svg2ascii, svg2img, svg2imgUrl, svg2str, svgCircle, svgEllipse, svgGroupe, svgImage, svgLine, svgPolygon, svgRect, svgText, tan, tanh, text$1 as text, textarea, timeTaken, time_memory_Taken, ul, useDebounce, useThrottle, video, wait, waitForUIElm, waitForUIElmSync, zeros };
9567
+ export { Accordion, App, Article, Aside, Base, Canvas, Carousel, CodeCell, CodeNote, Combinaison, Complex, DarkThemes, Data, E, EPSILON, Ease, Events, ExtractAll, Fixed, Flex, Footer, Graphics, Grid$1 as Grid, Header, LightThemes, LinearSystem, Logic$1 as Logic, Main, Math$1 as Math, Matrix, Nav, PI, Permutation, Random, RemoveAll, SPA, Section$1 as Section, Signal, Svg, Table, Tabs, Themes, Time, UI$1 as UI, Utils, ZikoHtml, ZikoUIArticle, ZikoUIAside, ZikoUIAudio, ZikoUIBr, ZikoUICanvas, ZikoUICodeNote, ZikoUIElement, ZikoUIFigure, ZikoUIFooter, ZikoUIHeader, ZikoUIHr, ZikoUIHtmlTag, ZikoUIImage, ZikoUILink, ZikoUIMain, ZikoUINav, ZikoUISection, ZikoUISvg, ZikoUIVideo, __init__, abs, accum, acos, acosh, acot, add, animation, arange, asin, asinh, atan, atan2, atanh, audio, bessel, beta, br, brs, btn, canvasArc, canvasCircle, canvasLine, canvasPoints, canvasRect, cartesianProduct, ceil, checkbox, choleskyDecomposition, clamp, complex, cos, cosh, cot, coth, csc, csv2arr, csv2json, csv2matrix, csv2object, csv2sql, datalist, Ziko as default, deg2rad, div, e, fact, figure, floor, gamma, geomspace, h1, h2, h3, h4, h5, h6, hr, hrs, hypot, image, inRange, input, inputCamera, inputColor, inputDate, inputDateTime, inputEmail, inputImage, inputNumber, inputPassword, inputTime, isApproximatlyEqual, json2arr, json2csv, json2csvFile, json2xml, json2xmlFile, json2yml, json2ymlFile, lerp, li, link, linspace, ln, logspace, loop, luDecomposition, map, mapfun, markdown2html, matrix, matrix2, matrix3, matrix4, max, min, modulo, mul, norm, nums, ol, ones, p, pgcd, pow, powerSet, ppcm, prod, qrDecomposition, rad2deg, radio, round, search, sec, select, sig, sign, sin, sinc, sinh, slider, sqrt, sqrtn, sub, subSet, sum, svg2ascii, svg2img, svg2imgUrl, svg2str, svgCircle, svgEllipse, svgGroupe, svgImage, svgLine, svgPolygon, svgRect, svgText, tan, tanh, text$1 as text, textarea, timeTaken, time_memory_Taken, ul, useDebounce, useThrottle, video, wait, waitForUIElm, waitForUIElmSync, zeros };
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "ziko",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "a versatile JavaScript library offering a rich set of UI components, advanced mathematical utilities,Reactivity,animations,client side routing and graphics capabilities",
5
- "main": "src/index.js",
6
5
  "keywords": [
7
6
  "Zikojs",
8
7
  "Math",
@@ -33,6 +32,9 @@
33
32
  "lint": "eslint src/*/*/*",
34
33
  "build": "rollup -c rollup.config.js"
35
34
  },
35
+ "bin": {
36
+ "create-ziko-app": "starter/bin/index.js"
37
+ },
36
38
  "repository": {
37
39
  "type": "git",
38
40
  "url": "git+https://github.com/zakarialaoui10/ziko.js.git"
@@ -50,6 +52,11 @@
50
52
  "@rollup/plugin-terser": "^0.4.4",
51
53
  "dir2tree": "^0.3.2",
52
54
  "eslint": "^8.52.0",
53
- "rollup": "^4.1.5"
55
+ "rollup": "^4.1.5",
56
+ "rollup-plugin-livereload": "^2.0.5",
57
+ "rollup-plugin-serve": "^1.1.1"
58
+ },
59
+ "dependencies": {
60
+ "ziko": "^0.0.1"
54
61
  }
55
62
  }
@@ -1,3 +1,3 @@
1
1
  var __Target__=null;
2
- if(document.body)__Target__=document.body;
2
+ if(globalThis?.document?.body)__Target__=document.body;
3
3
  export { __Target__}
@@ -16,8 +16,8 @@ import svgGroupe from "./Elements/groupe.js";
16
16
  super();
17
17
  this.element=document.createElementNS("http://www.w3.org/2000/svg", "svg");
18
18
  //this.cache={};
19
- this.setAttribute("width",w);
20
- this.setAttribute("height",h);
19
+ this.setAttr("width",w);
20
+ this.setAttr("height",h);
21
21
  this.style({border:"1px black solid"});
22
22
  //this.view(-w/2,-h/2,w/2,h/2)
23
23
  //this.view(-10,-10,10,10);
@@ -27,7 +27,7 @@ import svgGroupe from "./Elements/groupe.js";
27
27
  let width=Math.abs(x2-x1);
28
28
  let height=Math.abs(y2-y1);
29
29
  //this.element.style.transform="scale("+Math.sign(x2-x1)+","+(-Math.sign(y2-y1))+")";
30
- this.element.setAttribute("viewBox",[x1,y1,width,height].join(" "));
30
+ this.setAttr("viewBox",[x1,y1,width,height].join(" "));
31
31
  //console.log({width:width,height:height})
32
32
  return this;
33
33
 
package/src/index.js CHANGED
@@ -45,8 +45,13 @@ function RemoveAll(){
45
45
  Graphics.RemoveAll();
46
46
  Data.RemoveAll()
47
47
  }
48
+ export * from "./Math"
49
+ export * from "./UI";
50
+ export * from "./Graphics";
51
+ export * from "./Time"
52
+ export * from "./Data"
53
+ export * from "./App"
48
54
  export {
49
- Ziko,
50
55
  App,
51
56
  Math,
52
57
  UI,
@@ -59,11 +64,7 @@ export {
59
64
  ExtractAll,
60
65
  RemoveAll
61
66
  };
62
- export * from "./Math"
63
- export * from "./UI";
64
- export * from "./Graphics";
65
- export * from "./Time"
66
- export * from "./Data"
67
- export * from "./App"
67
+ export default Ziko;
68
+
68
69
 
69
70
 
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import path from "path"
3
+ import { fileURLToPath } from 'node:url';
4
+ import { createFolder,copyFolder , runCommand } from "./utils/commands.js";
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+ const TEMPLATE = path.join(__dirname,"../template");
7
+ const PROJECT_TITLE = process.argv[2]||"zikojs-project";
8
+ createFolder(PROJECT_TITLE);
9
+ copyFolder(TEMPLATE,path.join(process.cwd(),PROJECT_TITLE));
10
+ runCommand(`cd ${PROJECT_TITLE} && npm install`);