@webqit/oohtml 3.0.1-13 → 3.0.1-18

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
@@ -25,7 +25,9 @@ Vanilla HTML is unsurprisingly becoming a compelling option for an increasing nu
25
25
 
26
26
  This project pursues an object-oriented approach to HTML and implicitly revisits much of what inhibits the idea of a *component* architecture for HTML!
27
27
 
28
+ <!--
28
29
  └ [See more in the introductory blog post](https://dev.to/oxharris/the-web-native-equations-1m1p-temp-slug-6661657?preview=ba70ad2c17f05b5761bc74516dbde8c9eff8b581a0420d87334fd9ef6bab9d6e6d3ab6aaf3fe02542bb9e7250d0a88a6df91dae40919aabcc9a07320)<sup>draft</sup>
30
+ -->
29
31
 
30
32
  </details>
31
33
 
@@ -768,7 +770,7 @@ Here, from the same `<script>` element we already write, we get a direct upgrade
768
770
  </script>
769
771
  ```
770
772
 
771
- **-->** *which adds up really well with the idea of scoping*:
773
+ **-->** *which adds up really well with the `scoped` attribute*:
772
774
 
773
775
  ```html
774
776
  <main>
@@ -792,7 +794,7 @@ Here, from the same `<script>` element we already write, we get a direct upgrade
792
794
  </main>
793
795
  ```
794
796
 
795
- **-->** *with content being whatever you normally would write in a `<script>` element, but without the "manual" work for reactivity*:
797
+ **-->** *with content being whatever you normally would write in a `<script>` element, minus the "manual" work for reactivity*:
796
798
 
797
799
  ```html
798
800
  <main>
@@ -849,7 +851,7 @@ It's Imperative Reactive Programming ([IRP](https://en.wikipedia.org/wiki/Reacti
849
851
 
850
852
  Here, the runtime executes your code in a special execution mode that gets literal JavaScript expressions to statically reflect changes. This makes a lot of things possible on the UI! The [Quantum JS](https://github.com/webqit/quantum-js) documentation has a detailed run down.
851
853
 
852
- Now, in each case above, reactivity terminates on script's removal from the DOM. And that could also be via a programmatic termination:
854
+ Now, in each case above, reactivity terminates on script's removal from the DOM or via a programmatic approach:
853
855
 
854
856
  ```js
855
857
  const script = document.querySelector('script[quantum]');
@@ -863,7 +865,7 @@ But while that is automatic, DOM event handlers bound via `addEventListener()` w
863
865
 
864
866
  ## Data Plumbing
865
867
 
866
- Components often need to manage, and be driven by, dynamic data. That could get very problematic and pretty messy if all of that should go directly on DOM nodes:
868
+ Components often need to manage, and also be driven by, dynamic data. That could get pretty problematic and messy if all of that should go on DOM nodes as direct properties:
867
869
 
868
870
  ```js
869
871
  // Inside a custom element
@@ -884,7 +886,7 @@ node.prop3 = 3;
884
886
  node.normalize = true; // ??? - conflict with the standard Node: normalize() method
885
887
  ```
886
888
 
887
- That calls for a decent API and some data-flow mechanism!
889
+ This calls for a decent API and some data-flow mechanism!
888
890
 
889
891
  ### The Bindings API
890
892
 
@@ -909,7 +911,7 @@ node.bindings.style = 'tall-dark';
909
911
  node.bindings.normalize = true;
910
912
  ```
911
913
 
912
- **-->** *with a corresponding `bind()` method that lets us make mutations as a batch*:
914
+ **-->** *with a corresponding `bind()` method that lets us make mutations in batches*:
913
915
 
914
916
  ```js
915
917
  // ------------
@@ -929,6 +931,16 @@ document.bind({ name: 'James Boye', cool: '100%' }, { merge: true });
929
931
  console.log(document.bindings); // { signedIn: false, hot: '100%', name: 'James Boye', cool: '100%' }
930
932
  ```
931
933
 
934
+ **-->** *and it becomes easy to pass data down a component tree*:
935
+
936
+ ```js
937
+ // Inside a custom element
938
+ connectedCallback() {
939
+ this.child1.bind(this.bindings.child1Data);
940
+ this.child2.bind(this.bindings.child2Data);
941
+ }
942
+ ```
943
+
932
944
  **-->** *and given the Observer API, reactivity is intrinsic*:
933
945
 
934
946
  ```js
@@ -954,14 +966,14 @@ node.bindings.style = 'tall-dark';
954
966
 
955
967
  <details><summary>Details</summary>
956
968
 
957
- In the current OOHTML, the `document.bindings` and `Element.prototype.bindings` APIs are implemented as a proxy over the actual bindings interface to enable some interface-level reactivity. This lets us have reactivity over literal property assignments and deletions on the inerface:
969
+ In the current OOHTML, the `document.bindings` and `Element.prototype.bindings` APIs are implemented as proxies over their actual bindings interface to enable some interface-level reactivity. This lets us have reactivity over literal property assignments and deletions on the interface:
958
970
 
959
971
  ```js
960
972
  node.bindings.style = 'tall-dark'; // Reactive assignment
961
973
  delete node.bindings.style; // Reactive deletion
962
974
  ```
963
975
 
964
- For mutations at a deeper level be reactive, the corresponding Observer API method must be used:
976
+ For mutations at a deeper level to be reactive, the corresponding Observer API method must be used:
965
977
 
966
978
  ```js
967
979
  Observer.set(document.bindings.app, 'title', 'Demo App!!!');
@@ -972,7 +984,228 @@ Observer.deleteProperty(document.bindings.app, 'title');
972
984
 
973
985
  ### The Context API
974
986
 
987
+ A complex hierarchy of objects will often call for more than the normal top-down flow of data that the Bindings API facilitates. A child may need the ability to look up the component tree to directly access specific data, or in other words, "request" data from "context". This is possible via the Context API.
988
+
989
+ And interestingly, the Context API is the resolution system behind HTML Imports and Data Binding in OOHTML!
990
+
991
+ Here, we simply leverage the DOM's existing event system to fire a "request" event and let an arbitrary "provider" in context fulfill the request. This becomes very simple with the Context API which is exposed on the document object and on element instances as the readonly `context` property.
992
+
993
+ **-->** *with the `context.request()` method for firing requests*:
994
+
995
+ ```js
996
+ // ------------
997
+ // Get an arbitrary
998
+ const node = document.querySelector('my-element');
999
+
1000
+ // ------------
1001
+ // Prepare and fire request event
1002
+ const requestParams = { type: 'html-imports', detail: '/foo#fragment1' };
1003
+ const request = new ContextRequestEvent(requestParams);
1004
+ const contextReturnValue = node.context.request(request);
1005
+
1006
+ // ------------
1007
+ // Handle response
1008
+ console.log(contextReturnValue.value); // It works!
1009
+ ```
1010
+
1011
+ **-->** *and the `context.attachProvider()` method for registering providers at arbitrary levels in the DOM tree*:
1012
+
1013
+ ```js
1014
+ // ------------
1015
+ // Define a ContextProvider class
1016
+ class FakeImportsProvider extends HTMLContextProvider {
1017
+ static type = 'html-imports';
1018
+ handle(request) {
1019
+ console.log(request.detail); // '/foo#fragment1'
1020
+ request.respondWith('It works!');
1021
+ }
1022
+ }
1023
+
1024
+ // ------------
1025
+ // Instantiate and attach to a node
1026
+ const providerId = FakeImportsProvider.createId(); // { type: 'html-imports' }
1027
+ const fakeImportsProvider = new FakeImportsProvider(providerId);
1028
+ document.context.attachProvider(fakeImportsProvider);
1029
+
1030
+ // ------------
1031
+ // Detach anytime
1032
+ document.context.detachProvider(fakeImportsProvider);
1033
+ ```
1034
+
1035
+ <details><summary>Details</summary>
1036
+
1037
+ In the current OOHTML, the Context API interfaces are exposed on the global `webqit` object:
1038
+
1039
+ ```js
1040
+ const { HTMLContextProvider, ContextRequestEvent, ContextReturnValue } = window.webqit;
1041
+ ```
1042
+
1043
+ That said...
1044
+
1045
+ + it is possible to specify a name for a provider:
1046
+
1047
+ ```js
1048
+ // Instantiate and attach to a node
1049
+ const providerId = FakeImportsProvider.createId({ contextName: 'fake-provider' }); // { type: 'html-imports', contextName: 'fake-provider' }
1050
+ const fakeImportsProvider = new FakeImportsProvider( providerId );
1051
+ document.context.attachProvider(fakeImportsProvider);
1052
+ ```
1053
+
1054
+ ...which a request could target:
1055
+
1056
+ ```js
1057
+ // Prepare and fire request event that specifies the provider name: 'fake-provider', without which only "type" match is performed
1058
+ const requestParams = FakeImportsProvider.createRequest({ contextName: 'fake-provider', detail: '/foo#fragment1' }); // { type: 'html-imports', contextName: 'fake-provider', detail: '/foo#fragment1' }
1059
+ const request = new ContextRequestEvent(requestParams);
1060
+ const contextReturnValue = node.context.request(request);
1061
+ ```
1062
+
1063
+ + and a provider could indicate to manually match requests where the defualt "type" match, plus optional "contextName" match doesn't suffice:
1064
+
1065
+ ```js
1066
+ // Define a ContextProvider class
1067
+ class ContextProvider extends HTMLContextProvider {
1068
+ static type = 'html-imports';
1069
+ static matchRequest( id, request ) {
1070
+ // The default request matching algorithm
1071
+ return request.type === id.type && ( !request.contextName || request.contextName === id.contextName );
1072
+ }
1073
+ handle(request) {
1074
+ console.log(request.detail);
1075
+ request.respondWith('It works!');
1076
+ }
1077
+ }
1078
+ ```
1079
+
1080
+ + and a request could choose to stay subscribed to changes on the requested data; the `request` would simply set a `live` flag and either stay alert to said updates on the returned `ContextReturnValue` object or specify a callback function, in which case no `ContextReturnValue` object is returned:
1081
+
1082
+ ```js
1083
+ // Set the "live" flag
1084
+ requestParams.live = true;
1085
+ const request = new ContextRequestEvent(requestParams);
1086
+ ```
1087
+
1088
+ ```js
1089
+ // Handle response without a callback
1090
+ const contextReturnValue = node.context.request(request);
1091
+ console.log(contextReturnValue.value); // It works!
1092
+ Observer.observe(contextReturnValue, 'value', e => {
1093
+ console.log(e.value); // It works live!
1094
+ });
1095
+ ```
1096
+
1097
+ ```js
1098
+ // Handle response with a callback
1099
+ node.context.request(request, value => {
1100
+ console.log(value);
1101
+ // It works!
1102
+ // It works live!
1103
+ });
1104
+ ```
1105
+
1106
+ ...while the provider would simply check for the `request.live` flag and keep the updates flowing:
1107
+
1108
+ ```js
1109
+ // Define a ContextProvider class
1110
+ class ContextProvider extends HTMLContextProvider {
1111
+ static type = 'html-imports';
1112
+ handle(request) {
1113
+ if (request.live) {
1114
+ setTimeout(() => {
1115
+ request.respondWith('It works live!');
1116
+ }, 5000);
1117
+ }
1118
+ request.respondWith('It works!');
1119
+ }
1120
+ }
1121
+ ```
1122
+
1123
+ + live requests are terminated via the returned `ContextReturnValue` object...
1124
+
1125
+ ```js
1126
+ contextReturnValue.abort();
1127
+ ```
1128
+
1129
+ ...or via an initially specified `AbortSignal`:
1130
+
1131
+ ```js
1132
+ // Add a signal to the original request
1133
+ const abortController = new AbortController;
1134
+ requestParams.signal = abortController.signal;
1135
+ ```
1136
+
1137
+ ```js
1138
+ abortController.abort();
1139
+ ```
1140
+
1141
+ + now, when a node in a provider's subtree is suddenly attached an identical provider, any live requests the super provider already serves are automatically "claimed" by the sub provider:
1142
+
1143
+ ```js
1144
+ document: // 'fake-provider' here
1145
+ └── html
1146
+ ├── head
1147
+ └── body: // 'fake-provider' here. Our request above is now served from here.
1148
+ ```
1149
+
1150
+ And when the sub provider is suddenly detached from said node, any live requests it had served are automatically hoisted back to the super provider.
975
1151
 
1152
+ ```js
1153
+ document: // 'fake-provider' here. Our request above is now served from here.
1154
+ └── html
1155
+ ├── head
1156
+ └── body:
1157
+ ```
1158
+
1159
+ While, in all, the original receiver needs not bother where a response is from!
1160
+
1161
+ </details>
1162
+
1163
+ **-->** *all of which gives us the programmatic equivalent of declarative HTMLImports and Data Binding*:
1164
+
1165
+ ```html
1166
+ <div contextname="vendor1">
1167
+ <div contextname="vendor2">
1168
+ ...
1169
+
1170
+ <my-element>
1171
+ <!-- Declarative import -->
1172
+ <import ref="@vendor1/foo#fragment1"></import>
1173
+ <!-- Declarative Data Binding -->
1174
+ <?{ @vendor2.app.title }?>
1175
+ </my-element>
1176
+
1177
+ ...
1178
+ </div>
1179
+ </div>
1180
+ ```
1181
+
1182
+ ```js
1183
+ // ------------
1184
+ // Equivalent import() approach
1185
+ const contextReturnValue = myElement.import('@vendor1/foo#fragment1');
1186
+
1187
+ // ------------
1188
+ // Equivalent raw Context API approach
1189
+ const requestParams = { type: 'html-imports', contextName: 'vendor1', detail: '/foo#fragment1' };
1190
+ const request = new ContextRequestEvent(requestParams);
1191
+ const contextReturnValue = myElement.context.request(request);
1192
+
1193
+ // ------------
1194
+ // Handle response
1195
+ console.log(contextReturnValue.value);
1196
+ ```
1197
+
1198
+ ```js
1199
+ // ------------
1200
+ // Equivalent raw Context API approach
1201
+ const requestParams = { type: 'bindings', contextName: 'vendor2', detail: 'app' };
1202
+ const request = new ContextRequestEvent(requestParams);
1203
+ const contextReturnValue = myElement.context.request(request);
1204
+
1205
+ // ------------
1206
+ // Handle response
1207
+ console.log(contextReturnValue.value.title);
1208
+ ```
976
1209
 
977
1210
  ## Polyfill
978
1211
 
@@ -1,2 +1,2 @@
1
- (()=>{var et=Object.defineProperty;var Et=(n,e,r)=>e in n?et(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r;var tt=(n,e)=>{for(var r in e)et(n,r,{get:e[r],enumerable:!0})};var re=(n,e,r)=>(Et(n,typeof e!="symbol"?e+"":e,r),r);var Be={};tt(Be,{apply:()=>ve,batch:()=>Ee,construct:()=>Ne,defineProperties:()=>zt,defineProperty:()=>ae,deleteProperties:()=>Bt,deleteProperty:()=>me,get:()=>k,getOwnPropertyDescriptor:()=>Ae,getOwnPropertyDescriptors:()=>Ft,getPrototypeOf:()=>He,has:()=>Pe,intercept:()=>$t,isExtensible:()=>Ve,observe:()=>ze,ownKeys:()=>le,path:()=>Nt,preventExtensions:()=>Fe,read:()=>Wt,reduce:()=>We,set:()=>U,setPrototypeOf:()=>$e});function w(n){return!Array.isArray(n)&&typeof n=="object"&&n}function Q(n){return typeof n}function x(n){return Array.isArray(n)}function Se(n,e,r=null){return x(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function V(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new ne}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new ne,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new ne,i.set(t,r));return r}var ne=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(be([e,"*"],i.type)&&be([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(be([e,"*"],i.type)&&be([r,"*"],i.key))||i.callback(...t)}},be=(n,e)=>Array.isArray(e)?Se(n,e).length:n.includes(e);function Z(n){return typeof n=="function"}function ie(n){return n===null||n===""}function D(n){return arguments.length&&(n===void 0||typeof n>"u")}function v(n){return Array.isArray(n)||typeof n=="object"&&n||Z(n)}function Ie(n){return ie(n)||D(n)||n===!1||n===0||v(n)&&!Object.keys(n).length}function O(n){return Z(n)||n&&{}.toString.call(n)==="[object function]"}function oe(n){return n instanceof Number||typeof n=="number"}function S(n){return oe(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function K(n){return n instanceof String||typeof n=="string"&&n!==null}function je(n){return!K(n)&&!D(n.length)}function _e(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function Me(t,e){e=e||Object.prototype,e=e&&!x(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function Re(n,e){var r=[];return Me(n,e).forEach(t=>{_e(r,...Object.getOwnPropertyNames(t))}),r}function j(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((S(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((f,c)=>{!v(f)&&!O(f)||(r?Re(f):Object.keys(f)).forEach(u=>{if(!!e(u,s,f,c)){var l=s[u],m=f[u];if((x(l)&&x(m)||w(l)&&w(m))&&(o===!0||o>0))s[u]=x(l)&&x(m)?[]:{},j([S(o)?o-1:o,s[u],l,m],e,r,t,i);else if(x(s)&&x(f))t?s[u]=m:s.push(m);else try{i?Object.defineProperty(s,u,Object.getOwnPropertyDescriptor(f,u)):s[u]=f[u]}catch{}}})}),s}function se(...n){return j(n,(e,r,t)=>!0,!1,!1,!1)}function E(n,e=!0){return x(n)?n:!e&&w(n)?[n]:n!==!1&&n!==0&&Ie(n)?[]:je(n)?Array.prototype.slice.call(n):w(n)?Object.values(n):[n]}var P=(...n)=>V("observer-api",...n),ee=(n,e)=>n instanceof Promise?n.then(e):e(n),we={};var G=class{constructor(e,r){this.registry=e,Object.assign(this,{...r,target:e.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var fe=class extends G{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),we.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(e){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let r=e,t=this.filter;if(t!==1/0&&(t=E(t,!1))&&(r=e.filter(i=>t.includes(i.key))),this.params.diff&&(r=r.filter(i=>i.type!=="set"||i.value!==i.oldValue)),r.length){if(this.emit.recursionTarget&&this.params.recursions!=="force-sync"){this.emit.recursionTarget.push(...r);return}this.emit.recursionTarget=this.params.recursions==="inject"?r:[];let i=this.filter===1/0||Array.isArray(this.filter)?this.emit(r,this):this.emit(r[0],this);return ee(i,o=>{let s=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="force-async"&&s.length?this.emit.currentRegistration.fire(s):o})}}};var X=class{constructor(e){this.target=e,this.entries=[]}addRegistration(e){return this.entries.push(e),e}removeRegistration(e){this.entries=this.entries.filter(r=>r!==e)}static _getInstance(e,r,t=!0,i=this.__namespace){if(!v(r))throw new Error(`Subject must be of type object; "${Q(r)}" given!`);let o=this;return i&&P("namespaces").has(e+"-"+i)&&(o=P("namespaces").get(e+"-"+i),e+="-"+i),!P(r,"registry").has(e)&&t&&P(r,"registry").set(e,new o(r)),P(r,"registry").get(e)}static _namespace(e,r,t=null){if(e+="-"+r,arguments.length===2)return P("namespaces").get(e);if(!(t.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${r} must be a subclass of ${this.name}.`);P("namespaces").set(e,t),t.__namespace=r}};var q=class{constructor(e,r){if(this.target=e,!r.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,r)}};var N=class extends X{static getInstance(e,r=!0,t=null){return super._getInstance("listeners",...arguments)}static namespace(e,r=null){return super._namespace("listeners",...arguments)}constructor(e){super(e),this.batches=[]}addRegistration(e,r,t){return super.addRegistration(new fe(this,{filter:e,emit:r,params:t}))}emit(e,r=!1){if(this.batches.length){this.batches[0].snapshots.push({events:[...e],isPropertyDescriptors:r});return}this.$emit(this.entries,[{events:e,isPropertyDescriptors:r}])}$emit(e,r){let t=e.filter(c=>c.params.withPropertyDescriptors).length,i=r.some(c=>c.isPropertyDescriptors),o=[],s=[],f=e.length;r.forEach(c=>{(t||!i)&&o.push(...c.events),t!==f&&i&&(c.isPropertyDescriptors?s.push(...c.events.map(u=>{let{target:l,type:m,...a}=u,p=new q(l,{type:"set",...a});return Object.defineProperty(p,"value","get"in a.value?{get:()=>a.value.get()}:{value:a.value.value}),a.oldValue&&Object.defineProperty(p,"oldValue","get"in a.oldValue?{get:()=>a.oldValue.get()}:{value:a.oldValue.value}),p})):s.push(...c.events))}),e.forEach(c=>{c.params.withPropertyDescriptors?c.fire(o.length?o:s):c.fire(s.length?s:o)})}batch(e){this.batches.unshift({entries:[...this.entries],snapshots:[]});let r=e();return ee(r,t=>{let i=this.batches.shift();return i.snapshots.length&&this.$emit(i.entries,i.snapshots),t})}};var ce=class extends G{exec(e,r,t){return this.running||!this.traps[e.operation]?r(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[e.operation](e,t,(...i)=>(this.running=!1,r(...i))))}};var L=class extends X{static getInstance(e,r=!0,t=null){return super._getInstance("traps",...arguments)}static namespace(e,r=null){return super._namespace("traps",...arguments)}addRegistration(e){return super.addRegistration(new ce(this,e))}emit(e,r=null){let t=this;return function i(o,...s){let f=t.entries[o];return f?f.exec(e,(...c)=>i(o+1,...c),...s):r?r(e,...s):s[0]}(0)}};var ke={};tt(ke,{accessorize:()=>Ht,proxy:()=>ct,unaccessorize:()=>Vt,unproxy:()=>ue});function Ht(n,e,r={}){n=Oe(n);let t=P(n,"accessorizedProps");function i(c){let u,l=n;do u=Object.getOwnPropertyDescriptor(l,c);while(!u&&(l=Object.getPrototypeOf(l)));return u?{proto:l,descriptor:u}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function o(c){if(t.has(c+""))return!0;let u=i(c);u.getValue=function(a=!1){return a?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},u.setValue=function(a,p=!1){if(this.dirty=!0,p){this.descriptor=a;return}return this.descriptor.set?this.descriptor.set(a)!==!1:(this.descriptor.value=a,!0)},u.intact=function(){let a=Object.getOwnPropertyDescriptor(n,c);return a?.get===m.get&&a?.set===m.set&&t.get(c+"")===this},u.restore=function(){return this.intact()?(this.proto&&this.proto!==n||!this.proto&&!this.dirty?delete n[c]:Object.defineProperty(n,c,this.descriptor),t.delete(c+""),!0):!1},t.set(isNaN(c)?c:parseInt(c),u);let{enumerable:l=!0}=u.descriptor,m={enumerable:l,configurable:!0};("value"in u.descriptor||u.descriptor.set)&&(m.set=function(a){return U(this,c,a,r)}),("value"in u.descriptor||u.descriptor.get)&&(m.get=function(){return k(this,c,r)});try{return Object.defineProperty(n,c,m),!0}catch{return t.delete(c+""),!1}}let f=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(o);return e===void 0||Array.isArray(e)?f:f[0]}function Vt(n,e,r={}){n=Oe(n);let t=P(n,"accessorizedProps");function i(f){return t.has(f+"")?t.get(f+"").restore():!0}let s=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(i);return e===void 0||Array.isArray(e)?s:s[0]}function ct(n,e={},r=void 0){let t=Oe(n);if(typeof e.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(e.membrane&&P(t,"membraneRef").has(e.membrane))return P(t,"membraneRef").get(e.membrane);let i={apply(f,c,u){if(Array.isArray(c)){let l=Oe(c);return P(l).set("$length",l.length),Ee(l,()=>ve(f,c,u))}return ve(f,ue(c),u)},construct:(f,c,u=null)=>Ne(f,c,u,e),defineProperty:(f,c,u)=>ae(f,c,u,e),deleteProperty:(f,c)=>me(f,c,e),get:(f,c,u=null)=>{let l={...e,receiver:u};Array.isArray(f)&&c==="length"&&P(f).has("$length")&&(l.forceValue=P(f).get("$length"));let m=k(f,c,l);return Array.isArray(f)&&typeof m=="function"?ct(m,{...e,membrane:u}):m},getOwnPropertyDescriptor:(f,c)=>Ae(f,c,e),getPrototypeOf:f=>He(f,e),has:(f,c)=>Pe(f,c,e),isExtensible:f=>Ve(f,e),ownKeys:f=>le(f,e),preventExtensions:f=>Fe(f,e),set:(f,c,u,l=null)=>{let m={...e,receiver:l};return Array.isArray(f)&&c==="length"&&(m.forceOldValue=P(f).get("$length"),P(f).set("$length",u)),U(f,c,u,m)},setPrototypeOf:(f,c)=>$e(f,c,e)},o=r?.(i)||i,s=new Proxy(t,o);return e.membrane&&P(t,"membraneRef").set(e.membrane,s),P(s).set(s,t),s}function ue(n){return P(n).get(n)||n}function Oe(n){if(!n||!v(n))throw new Error("Target must be of type object!");return ue(n)}var de=class extends Array{};function Nt(...n){return new de(...n)}function We(n,e,r,t=o=>o,i={}){if(!!e.length)return function o(s,f,c){let u=f[c.level],l=c.level===f.length-1;return s instanceof q&&s.operation!=="get"?c={...c,probe:"always"}:c.probe!=="always"&&(c={...c,probe:!l}),r(s,u,(m,...a)=>{let p=d=>{d instanceof q&&(d.path=[d.key],s instanceof q&&(d.path=s.path.concat(d.key),Object.defineProperty(d,"context",{get:()=>s,configurable:!0})))},y=d=>{let _=M(d,!1);return ee(_,g=>{d instanceof q?d.value=g:d=g;let h=a[0]||{};return o(d,f,{...c,...h,level:c.level+1})})};return Te(u)&&Array.isArray(m)?(m.forEach(p),l?t(m,...a):m.map(y)):(p(m),l?t(m,...a):y(m))},c)}(n,e.slice(0),{...i,level:0})}function ze(n,e,r,t={}){if(n=M(n,!t.level),O(arguments[1])&&([,r,t={}]=arguments,e=1/0),!O(r))throw new Error(`Handler must be a function; "${Q(r)}" given!`);if(e instanceof de)return We(n,e,ze,r,t);if(t={...t,descripted:!0},delete t.live,!v(n))return t.probe&&k(n,e,r,t);let i=ut(n,e,r,t);return t.probe?k(n,e,i,t):i()}function $t(n,e,r={}){return n=M(n),w(e)||([,,,r={}]=arguments,e={[arguments[1]]:arguments[2]}),L.getInstance(n,!0,r.namespace).addRegistration({traps:e,params:r})}function Ae(n,e,r=i=>i,t={}){return R(n,"getOwnPropertyDescriptor",{key:e},r,t)}function Ft(n,e,r=i=>i,t={}){return R(n,"getOwnPropertyDescriptors",{key:e},r,t)}function He(n,e=t=>t,r={}){return R(n,"getPrototypeOf",{},e,r)}function Ve(n,e=t=>t,r={}){return R(n,"isExtensible",{},e,r)}function le(n,e=t=>t,r={}){return R(n,"ownKeys",{},e,r)}function Pe(n,e,r=i=>i,t={}){return R(n,"has",{key:e},r,t)}function k(n,e,r=i=>i,t={}){let i,o=M(n,!t.level);return w(r)?[t,r]=[r,s=>s]:t.live&&(i=!0),e instanceof de?We(o,e,k,r,t):Gt(o,e,s=>{let f=[...s];return function c(u,l,m){if(!l.length)return m(u);let a=l.shift();if(!["string","number","symbol"].includes(typeof a))throw new Error(`Property name/key ${a} invalid.`);function p(_,g=void 0){let h=A=>(_.value=A,c([...u,t.live||t.descripted?_:A],l,m));if(arguments.length>1)return h(g);if(!v(o))return h(o?.[_.key]);let b=P(o,"accessorizedProps",!1),T=b&&b.get(_.key);if(T&&T.intact())return h(T.getValue(t.withPropertyDescriptors));if(t.withPropertyDescriptors){let A=Object.getOwnPropertyDescriptor(o,_.key);return"forceValue"in t&&"value"in A&&(A.value=t.forceValue),h(A)}return"forceValue"in t?h(t.forceValue):h(Reflect.get(o,_.key,...t.receiver?[t.receiver]:[]))}let y=new q(o,{type:"get",key:a,value:void 0,operation:"get",related:f});if(!v(o))return p(y);let d=L.getInstance(o,!1,t.namespace);return d?d.emit(y,p):p(y)}([],s.slice(0),c=>{let u=Te(e)?c:c[0];return i&&v(o)?ut(o,e,r,t)(u):r(u)})},t)}function Ee(n,e,r={}){return n=M(n),N.getInstance(n,!0,r.namespace).batch(e)}function Wt(n,e,r={}){e=M(e),n=M(n);let t=(r.only||[]).slice(0),i=(r.except||[]).slice(0),o=le(r.spread?[...n]:n).map(u=>isNaN(u)?u:parseInt(u)),s=t.length?t.filter(u=>o.includes(u)):o.filter(u=>!i.includes(u)),f=u=>!Array.isArray(e)||isNaN(u)?u:u-i.filter(l=>l<u).length,c=u=>{let l=Ae(n,u,r);"value"in l&&l.writable&&l.enumerable&&l.configurable?U(e,f(u),l.value,r):(l.enumerable||r.onlyEnumerable===!1)&&ae(e,u,{...l,configurable:!0},r)};return Ee(e,()=>{s.forEach(c)}),ze(n,u=>{u.filter(l=>t.length?t.includes(l.key):!i.includes(l.key)).forEach(l=>{if(l.operation==="deleteProperty")return me(e,f(l.key),r);if(l.operation==="defineProperty"){(l.value.enumerable||r.onlyEnumerable===!1)&&ae(e,f(l.key),{...l.value,configurable:!0},r);return}c(l.key)})},{...r,withPropertyDescriptors:!0})}function U(n,e,r,t=s=>s,i={},o=!1){let s=M(n),f=[[e,r]];w(e)&&([,,t=u=>u,i={},o=!1]=arguments,f=Object.entries(e)),w(t)&&([o,i,t]=[typeof i=="boolean"?i:o,t,u=>u]);let c=f.map(([u])=>u);return function u(l,m,a){if(!m.length)return a(l);let[p,y]=m.shift();function d(g,h=void 0){let b=z=>(g.status=z,u(l.concat(g),m,a));if(arguments.length>1)return b(g,h);let T=P(s,"accessorizedProps",!1),A=T&&T.get(g.key);return g.operation==="defineProperty"?(A&&!A.restore()&&b(!1),Object.defineProperty(s,g.key,g.value),b(!0)):A&&A.intact()?b(A.setValue(g.value)):b(Reflect.set(s,g.key,g.value))}function _(g,h){if(i.diff&&y===h)return u(l,m,a);let b=new q(s,{type:o?"def":"set",key:p,value:y,isUpdate:g,oldValue:h,related:[...c],operation:o?"defineProperty":"set",detail:i.detail}),T=L.getInstance(s,!1,i.namespace);return T?T.emit(b,d):d(b)}return Pe(s,p,g=>{if(!g)return _(g);let h={...i,withPropertyDescriptors:o};return"forceOldValue"in i&&(h.forceValue=i.forceOldValue),k(s,p,b=>_(g,b),h)},i)}([],f.slice(0),u=>{let l=N.getInstance(s,!1,i.namespace);return l&&l.emit(u,o),t(Te(e)?u.map(m=>m.status):u[0]?.status)})}function ae(n,e,r,t=o=>o,i={}){return U(n,e,r,t,i,!0)}function zt(n,e,r=i=>i,t={}){return U(n,e,r,t,!0)}function me(n,e,r=i=>i,t={}){n=M(n),w(r)&&([t,r]=[r,s=>s]);let i=E(e,!1),o=[...i];return function s(f,c,u){if(!c.length)return u(f);let l=c.shift();function m(p,y=void 0){let d=h=>(p.status=h,s(f.concat(p),c,u));if(arguments.length>1)return d(p,y);let _=P(n,"accessorizedProps",!1),g=_&&_.get(p.key);return g&&!g.restore()&&d(!1),d(Reflect.deleteProperty(n,p.key))}function a(p){let y=new q(n,{type:"delete",key:l,oldValue:p,related:[...o],operation:"deleteProperty",detail:t.detail}),d=L.getInstance(n,!1,t.namespace);return d?d.emit(y,m):m(y)}return k(n,l,a,t)}([],i.slice(0),s=>{let f=N.getInstance(n,!1,t.namespace);return f&&f.emit(s),r(Te(e)?s.map(c=>c.status):s[0].status)})}function Bt(n,e,r=i=>i,t={}){return me(...arguments)}function Ne(n,e,r=null,t=o=>o,i={}){return R(n,"construct",arguments.length>2?{argumentsList:e,newTarget:r}:{argumentsList:e},t,i)}function ve(n,e,r,t=o=>o,i={}){return R(n,"apply",{thisArgument:e,argumentsList:r},t,i)}function $e(n,e,r=i=>i,t={}){return R(n,"setPrototypeOf",{proto:e},r,t)}function Fe(n,e=t=>t,r={}){return R(n,"preventExtensions",{},e,r)}function ut(n,e,r,t={}){let i;t.signal||(i=new AbortController,t={...t,signal:i.signal},we.setMaxListeners?.(0,i.signal));let o=N.getInstance(n,!0,t.namespace);return function s(f,c=null){c?.remove();let l={signal:o.addRegistration(e,s,t).signal};if(arguments.length){let m=r(f,l);if(arguments.length>1)return m}return i}}function R(n,e,r={},t=o=>o,i={}){n=M(n),w(t)&&([i,t]=[t,c=>c]);function o(c,u){return arguments.length>1?t(u):t((Reflect[e]||Object[e])(n,...Object.values(r)))}let s=new q(n,{operation:e,...r}),f=L.getInstance(n,!1,i.namespace);return f?f.emit(s,o):o(s)}function Te(n){return n===1/0||Array.isArray(n)}function M(n,e=!0){if((!n||!v(n))&&e)throw new Error(`Object must be of type object or array! "${Q(n)}" given.`);return n instanceof q&&(n=n.value),n&&ue(n)}function Gt(n,e,r,t={}){return e===1/0?t.level&&!v(n)?r([]):le(n,r,t):r(E(e,!1))}var Xt={...Be,...ke},C=Xt;function pe(n,e,r={},t={}){e=E(e).slice();for(var i=n;!D(i)&&!ie(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):v(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function Ge(n,e,r,t={},i={}){let o=(l,m,a)=>i.set?i.set(l,m,a):(S(e[f])&&x(l)?l.push(a):l[m]=a,!0);e=E(e);for(var s=n,f=0;f<e.length;f++)if(f<e.length-1){if(!s||!v(s)&&!O(s))return!1;var c=pe(s,e[f],i);if(!v(c)){if(i.buildTree===!1)return!1;c=O(i.buildTree)?i.buildTree(f):S(e[f+1])?[]:{};var u=o(s,e[f],c);if(!u)return!1}s=c}else return o(s,e[f],r)}var he=class{constructor(e,r=!0){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=r,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let f=r(s,t),c=u=>{u!==void 0&&this.cycle(e,r,u)};f instanceof Promise?f.then(c):c(f)})};i instanceof Promise?i.then(o):o(i)})}};function lt(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function Ce(n,e,r,t=!0){r=(Array.isArray(r)?r:[r]).map(f=>(f+"").replace("(",t?"(.//":"(./")).join("|");let i=n.document.evaluate(r,e,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function at(n,e,r){return r=(Array.isArray(r)?r:[r]).map(t=>(t+"").replace("(","(self::")).join("|"),n.document.evaluate(`${r}`,e,null,XPathResult.BOOLEAN_TYPE).booleanValue}function mt(n,e="|"){return[...n].reduce(([r,t,i,o],s)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,t,i]),[null,0,[""]])[2].reverse()}var I=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:lt(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=mt(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var J=class{constructor(e,r,t){this.context=e,this.namespace=r,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){if(O(e[0])?e=[[],...e]:w(e[0])&&!(e[0]instanceof I)&&e.length===1?e=[[],void 0,e[0]]:w(e[1])&&e.length===2?e=[E(e[0],!1),void 0,e[1]]:e[0]=E(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r instanceof I)&&!(r instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return e[0]=e[0].map(r=>r instanceof I?r:new I(r)),e}registry(...e){return V("realdom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,r,t){let{window:i}=this,o=Array.isArray(r)?r:[r],s=new Set;for(let[f,c]of this.registry(e))for(let[u,l]of c){let m=o.filter(a=>u.contains(a.target)?f==="subtree"||a.target===u:!1);if(!!m.length){Array.isArray(r)||(m=m[0]);for(let a of l)s.add([a,m,u])}}for(let[f,c,u]of s)t.call(i,f,c,u)}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&O(i.disconnect)&&i.disconnect()||O(i)&&i()||w(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var $=class extends J{constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string"||e instanceof I;[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=yt(o,e);if(!r)return s;let f=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let c of s){let u=f?.generate()||{};r(c,u,o)}else{let c=f?.generate()||{};r(s,c,o)}if(t.live){f&&(t={...t,signalGenerator:f});let c=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,c)}}observe(e,r,t={}){let i=typeof e=="string"||e instanceof I;if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:f}=this;t.eventDetails&&!f.realdom.attrInterceptionHooks?.intercepting&&ht.call(s,"intercept",()=>{});let c=new s.MutationObserver(a=>{a=gt(a).map(p=>xt.call(s,p)),pt.call(s,m,a,o)}),u={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(u.attributeFilter=e.map(a=>a+"")),c.observe(o,u);let l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:c};return this.disconnectables(t.signal,c,l)}observeSync(e,r,t={}){let i=typeof e=="string"||e instanceof I;[e,r,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let f=t.timing==="intercept"?"intercept":"sync",c=t.subtree?"subtree":"children";this.registry(f).size||ht.call(s,f,y=>{this.forEachMatchingContext(f,y,pt)});let u={disconnect(){p.delete(m),p.size||a.delete(o)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:u},a=this.registry(f,c);a.has(o)||a.set(o,new Set);let p=a.get(o);return p.add(m),this.disconnectables(t.signal,u,l)}};function gt(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName?e:e.concat(r),[])}function pt(n,e){let{context:r,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:f,signalGenerator:c}=n,u=t.map(a=>a+"");if(o.atomic&&!s.size?e=yt(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(a=>u.includes(a.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(a=>{let p;return o.eventDetails||({event:p,...a}=a),!o.oldValue&&"oldValue"in a&&({oldValue:p,...a}=a),!o.newValue&&"value"in a?{value:p,...a}=a:o.newValue&&typeof a.value>"u"&&(a={...a,value:a.target.getAttribute(a.name)}),a})),o.atomic&&(e.forEach(a=>s.set(a.name,a)),e=Array.from(s.entries()).map(([,a])=>a));let l=f?e[0]:e,m=c?.generate()||{};i(l,m,r)}function yt(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:n.getAttribute(o),...t})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:o.nodeValue,...t})}function xt({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function ht(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let f=(l,m)=>{t.realdom.attrInterceptionRecords.has(l.target)||t.realdom.attrInterceptionRecords.set(l.target,{});let a=t.realdom.attrInterceptionRecords.get(l.target);a[l.name]=a[l.name]||[],a[l.name].unshift(l.event),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(y=>y([l]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(y=>y([l])),p};new r.MutationObserver(l=>{l=l.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),l=gt(l).map(m=>xt.call(r,m)),l.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(l)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(l)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let u=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(l=>{u[l]=o.prototype[l],o.prototype[l]=function(...m){let a,p=this.getAttribute(m[0]);["setAttribute","toggleAttribute"].includes(l)&&(a=m[1]),l==="toggleAttribute"&&a===void 0&&(a=p===null);let y={target:this,name:m[0],value:a,oldValue:p,type:"interception",event:[this,l]};return f(y,()=>u[l].call(this,...m))}}),s}var ge=class extends J{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new $(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=u=>(o.has(u)||o.set(u,{target:u,entrants:[],exits:[],type:"query",event:null}),o.get(u));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(u=>s(i).entrants.push(u));else if(e.every(u=>u.type==="selector")){let[u,l]=e.reduce(([a,p],y)=>y.kind==="xpath"?[a,p.concat(y)]:[a.concat(y),p],[[],[]]),m=[];t.subtree?(u.length&&m.push(...i.querySelectorAll(u.join(","))),l.length&&m.push(...Ce(this.window,i,l))):(u.length&&m.push(...[...i.children].filter(a=>a.matches(u))),l.length&&m.push(...Ce(this.window,i,l,!1))),m.forEach(a=>s(a.parentNode||i).entrants.push(a))}}if(!r)return o;let f={disconnected:!1},c=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,u]of o){if(f.disconnected)break;let l=c?.generate()||{};r(u,l,i)}if(t.live){c&&(t={...t,signalGenerator:c});let u=this.observe(e,r,t);return this.disconnectables(t.signal,f,u)}return this.disconnectables(t.signal,f,c)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:f}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(f.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&wt.call(o,"sync",()=>{});let c=new o.MutationObserver(m=>m.forEach(a=>{Xe.call(o,l,_t.call(o,a),i)}));c.observe(i,{childList:!0,subtree:t.subtree});let u=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),l={context:i,spec:e,callback:r,params:t,signalGenerator:u,disconnectable:c};if(t.staticSensitivity){let m=bt.call(o,l);return this.disconnectables(t.signal,c,u,m)}return this.disconnectables(t.signal,c,u)}observeSync(e,r,t={}){[e,r,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync",f=t.subtree?"subtree":"children";this.registry(s).size||wt.call(o,s,y=>{this.forEachMatchingContext(s,y,Xe)});let c=new o.MutationObserver(y=>y.forEach(d=>{Array.isArray((d=_t.call(o,d)).event)||Xe.call(o,m,d,i)}));c.observe(i,{childList:!0,subtree:t.subtree});let u={disconnect(){c.disconnect(),p.delete(m),p.size||a.delete(i)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:e,callback:r,params:t,signalGenerator:l,disconnectable:u},a=this.registry(s,f);a.has(i)||a.set(i,new Set);let p=a.get(i);if(p.add(m),t.staticSensitivity){let y=bt.call(o,m);return this.disconnectables(t.signal,u,l,y)}return this.disconnectables(t.signal,u,l)}};function bt(n){let e=this,{context:r,spec:t,callback:i,params:o,signalGenerator:s}=n,f=t.filter(p=>p.kind==="css"),c=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],u=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],l=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(c(p)).concat(u(p));if(!(n.$attrs=Array.from(new Set(f.filter(p=>(p+"").includes("[")).reduce((p,y)=>p.concat(l(y+"")),[])))).length)return;let m=new Set,a=new Set;return m.push=p=>(a.delete(p),m.add(p)),a.push=p=>(m.delete(p),a.add(p)),n.$deliveryCache={entrants:m,exits:a},new $(r,e).observe(n.$attrs,p=>{let y=new Map,d=h=>(y.has(h)||y.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),y.get(h)),_=new WeakMap,g=h=>(_.has(h)||_.set(h,f.some(b=>h.matches(b+""))),_.get(h));for(let h of p)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||n.$deliveryCache[b].has(h.target)||(b==="entrants"?!g(h.target):g(h.target))||(n.$deliveryCache[b].push(h.target),d(h.target)[b].push(h.target),d(h.target).event=h.event)});for(let[,h]of y){let b=s?.generate()||{};i(h,b,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function Xe(n,e){let{context:r,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:f}=n,c={...e,entrants:[],exits:[]};if(o.eventDetails||delete c.event,["entrants","exits"].forEach(l=>{if(!(o.generation&&l!==o.generation)&&(t.length?c[l]=Qt.call(this,t,e[l],e.event!=="parse"):c[l]=[...e[l]],!!f))for(let m of c[l])f[l].push(m)}),!c.entrants.length&&!c.exits.length)return;let u=s?.generate()||{};i(c,u,r)}function Qt(n,e,r){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(o.type==="selector"){let s=o.isXpathAttr?[]:i.filter(f=>o.kind==="xpath"?at(this,f,o+""):f.matches&&f.matches(o+""));if((r||o.isXpathAttr)&&(s=i.reduce((f,c)=>o.kind==="xpath"?[...f,...Ce(this,c,o,r)]:c.querySelectorAll?[...f,...c.querySelectorAll(o+"")]:f,s)),s.length)return s}else if(i.includes(o.content)||r&&i.some(s=>s.contains(o.content)))return[o.content]};return e.$$searchCache||(e.$$searchCache=new Map),n.reduce((i,o)=>{let s;return e.$$searchCache.has(o.content)?s=e.$$searchCache.get(o.content):(s=t(e,o)||[],o.type==="instance"&&e.$$searchCache.set(o.content,s)),i.concat(s)},[])}function _t({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=E(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=E(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function wt(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:f,HTMLElement:c,HTMLTemplateElement:u,DocumentFragment:l}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let m=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let a=(d,_)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let b=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:b,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let g=_();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),g},p={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(d=>{function _(...g){let h=this instanceof s?p.characterData:p.other,b=()=>h[d].call(this,...g);if(!(this instanceof s||this instanceof f||this instanceof l))return b();let T=[],A=[],z=this;["insertBefore"].includes(d)?A=[g[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?(A=[g[1]],["beforebegin","afterend"].includes(g[0])&&(z=this.parentNode)):["setHTML","replaceChildren"].includes(d)?(T=[...this.childNodes],A=d==="replaceChildren"?[...g]:[g[0]]):["replaceWith","remove"].includes(d)?(T=[this],A=d==="replaceWith"?[...g]:[],z=this.parentNode):["replaceChild"].includes(d)?(T=[g[1]],A=[g[0]]):["removeChild"].includes(d)?T=[...g]:(A=[...g],["before","after"].includes(d)&&(z=this.parentNode));let B=d;if(["insertAdjacentHTML","setHTML"].includes(d)){let Ke=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(g[0])){if(!this.parentNode)return h[d].call(this,...g);Ke=this.parentNode.nodeName}let xe=i.createElement(Ke);h.setHTML.call(xe,A[0],d==="setHTML"?g[1]:{}),A=[...xe.childNodes],d==="insertAdjacentHTML"?(B="insertAdjacentElement",g[1]=new l,g[1].______isTemp=!0,g[1].append(...xe.childNodes)):(B="replaceChildren",g=[...xe.childNodes])}return a({target:z,entrants:A,exits:T,type:"interception",event:[this,d]},()=>h[B].call(this,...g))}["insertBefore","replaceChild","removeChild","appendChild"].includes(d)?(p.other[d]=o.prototype[d],o.prototype[d]=_):(["after","before","remove","replaceWith"].includes(d)&&(p.characterData[d]=s.prototype[d],s.prototype[d]=_),f.prototype[d]&&(p.other[d]=f.prototype[d],f.prototype[d]=_))});let y=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(d=>{let _=["textContent","nodeValue"].includes(d)?o:["outerText","innerText"].includes(d)?c:f;y[d]=Object.getOwnPropertyDescriptor(_.prototype,d),Object.defineProperty(_.prototype,d,{...y[d],set:function(g){let h=()=>y[d].set.call(this,g);if(!(this instanceof f))return h();let b=[],T=[],A=this;if(["outerHTML","outerText"].includes(d)?(b=[this],A=this.parentNode):b=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let B=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return h();B=this.parentNode.nodeName}let Y=i.createElement(B==="TEMPLATE"?"div":B);y[d].set.call(Y,g),T=this instanceof u?[]:[...Y.childNodes],d==="outerHTML"?(g=new l,g.______isTemp=!0,g.append(...Y.childNodes),h=()=>f.prototype.replaceWith.call(this,g)):this instanceof u?h=()=>this.content.replaceChildren(...Y.childNodes):h=()=>f.prototype.replaceChildren.call(this,...Y.childNodes)}return a({target:A,entrants:T,exits:b,type:"interception",event:[this,d]},h)}})}),["append","prepend","replaceChildren"].forEach(d=>{[i,l.prototype].forEach(_=>{let g=_[d];_[d]=function(...h){if(this.______isTemp)return g.call(this,...h);let b=d==="replaceChildren"?[...this.childNodes]:[];return a({target:this,entrants:h,exits:b,type:"interception",event:[this,d]},()=>g.call(this,...h))}})}),m}function Ot(){Zt.call(this),Kt.call(this),er.call(this)}function Zt(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Kt(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function er(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function vt(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},Ot.call(n),n.webqit.realdom.meta=(...r)=>tr.call(n,...r),n.webqit.realdom.ready=(...r)=>Ue.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new ge(r,n);if(t==="attr")return new $(r,n)};let e=new he(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom}function Ue(...n){let e="interactive",r;K(n[0])?(e=n[0],O(n[1])&&(r=n[1])):O(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>Ue.call(this,"interactive",o)),complete:new Promise(o=>Ue.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(r)}function tr(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(f=>f.trim());return Ge(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:S(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}var F=(...n)=>V("oohtml",...n);function Je(n,e,r){let t=n.toUpperCase().replace("-","_"),i=this,o=vt.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),se(2,i.webqit.oohtml.configs[t],r,e,o.meta(n).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function Ye(n,e,r=1,t=!1){if(r&&typeof n=="object"&&n&&typeof e=="object"&&e&&(!t||Object.keys(n).length===Object.keys(e).length)){for(let i in n)if(!Ye(n[i],e[i],r-1,t))return!1;return!0}return Array.isArray(n)&&Array.isArray(e)&&n.length===e.length?(e=e.slice(0).sort())&&n.slice(0).sort().every((i,o)=>i===e[o]):n===e}var ye=class{constructor(e,r){Object.defineProperty(this,"request",{value:e}),Object.defineProperty(this,"hostElement",{value:r}),e.live&&!e.signal&&(Object.defineProperty(this,"abortController",{value:new AbortController}),e.signal=this.abortController.signal)}callback(e){C.defineProperty(this,"value",{value:e,configurable:!0,enumerable:!0})}abort(){if(this.abortController)return this.abortController.abort();let e=this.hostElement.ownerDocument?.defaultView||this.hostElement.defaultView;if(this.request.signal)return this.request.signal.dispatchEvent(new e.Event("abort"))}};function At(){let n=this;return class extends n.Event{constructor(r,t,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>r}),Object.defineProperty(this,"callback",{get:()=>t})}respondWith(r,...t){if(this.request.diff){if("prevValue"in this&&this.prevValue===r)return;Object.defineProperty(this,"prevValue",{value:r,configurable:!0})}return this.callback(r,...t)}}}var H=class{static instance(e){return F(e).get("context::instance")||new this(e)}constructor(e){F(e).get("context::instance")?.dispose(),F(e).set("context::instance",this);let r={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>r});let t=At.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield*r.contexts}}get length(){this["#"].contexts.size}findProvider(e){return[...this["#"].contexts].find(e)}attachProvider(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detachProvider(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}request(e,r=null,t={}){typeof r=="object"&&(t=r,r=null);let i;r||(i=new ye(e,this["#"].host),r=i.callback.bind(i));let o=this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,r,{bubbles:!0,...t}));return i??o}dispose(){}};var W=class{static get config(){return{}}static attachTo(e,r,t=!1){this.providers.set(this.type,this);let i,o=H.instance(e);return!t&&(i=o.findProvider(s=>this.matchId(s.id,r)))?i:o.attachProvider(new this(r))}static detachFrom(e,r,t=!1){let i,o=H.instance(e);for(i of o["#"].contexts)if(!(!this.matchId(i.id,r)||typeof t=="function"&&!t(i))&&(o.detachProvider(i),typeof multiple!="function"&&!t))return i}static createId(e,r={}){let t={type:this.type,...r};return t.contextName||(e.getAttribute&&!(t.contextName=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.contextName:e.ownerDocument||(t.contextName="root")),t}static matchId(e,r){return Ye(e,r,1,!0)}static createRequest(e={}){return{type:this.type,...e}}static matchRequest(e,r){return r.type===e.type&&(!r.contextName||r.contextName===e.contextName)}constructor(e){Object.defineProperty(this,"id",{get:()=>e}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(e){}subscribe(e){this.subscriptions.add(e),e.request.signal&&e.request.signal.addEventListener("abort",()=>{this.unsubscribe(e)})}unsubscribe(e){this.subscriptions.delete(e),e.request.controller?.abort()}handleEvent(e){if(!(this.disposed||e.target===this.host&&e.request?.superContextOnly||!(typeof e.request=="object"&&e.request)||typeof e.respondWith!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let r=new Set;this.subscriptions.forEach(t=>{!e.target.contains(t.request.superContextOnly?t.target.parentNode:t.target)||!this.constructor.matchRequest(e.request,t.request)||(this.subscriptions.delete(t),r.add(t))}),e.respondWith(r)}else e.type==="contextrequest"&&(e.request.live&&this.subscribe(e),this.handle(e))}initialize(e){return this.host=e,this.disposed=!1,e.addEventListener("contextrequest",this),e.addEventListener("contextclaim",this),H.instance(e).request({...this.id,superContextOnly:!0},r=>r.forEach(t=>{this.subscribe(t),this.handle(t)}),{type:"contextclaim"}),this}dispose(e){return this.disposed=!0,e.removeEventListener("contextrequest",this),e.removeEventListener("contextclaim",this),this.subscriptions.forEach(r=>{this.unsubscribe(r);let{target:t,request:i,callback:o,options:s}=r;H.instance(t).request(i,o,s)}),this}};re(W,"providers",new Map),re(W,"type");var te=class extends W{static createRequest(e={}){let r=super.createRequest(e);if(r.detail?.startsWith("@")){let[t,...i]=r.detail.slice(1).split(".").map(o=>o.trim());r.contextName=t,r.detail=i.join(".")}return r}static matchRequest(e,r){return super.matchRequest(e,r)&&(!r.detail||!e.detail||(Array.isArray(r.detail)?r.detail[0]===e.detail:r.detail===e.detail))}get bindingsObj(){return this.host[this.constructor.config.api.bindings]}handle(e){if(e.request.controller?.abort(),!(e.request.detail+"").trim())return e.respondWith(this.bindingsObj);e.request.controller=C.reduce(this.bindingsObj,Array.isArray(e.request.detail)?e.request.detail:[e.request.detail],C.get,r=>{this.disposed||e.respondWith(r.value)},{live:e.request.live,descripted:!0})}};re(te,"type","bindings");function Ze(n={}){let{config:e,window:r}=Je.call(this,"bindings-api",n,{context:{attr:{bindingscontext:"bindings"}},api:{bind:"bind",bindings:"bindings"}});e.CONTEXT_API=r.webqit.oohtml.configs.CONTEXT_API,e.context.attr.contextname=e.CONTEXT_API.attr.contextname,r.webqit.HTMLBindingsProvider=class extends te{static get config(){return e}},r.webqit.Observer=C,ir.call(r,e)}function Qe(n,e){let r=this;if(!F(e).has("bindings")){let t=Object.create(null);F(e).set("bindings",t),C.observe(t,i=>{for(let f of i)f.type==="delete"?nr.call(this,e,f.key):rr.call(this,e,f.key);let o=Object.keys(t),s=e===r.document?r.document.documentElement:e;o.length?s.setAttribute(n.context.attr.bindingscontext,o.join(" ")):s.toggleAttribute(n.context.attr.bindingscontext,!1)})}return F(e).get("bindings")}function rr(n,e){let r=this,{HTMLBindingsProvider:t}=r.webqit,i=t.createId(n,{detail:e});t.attachTo(n,i)}function nr(n,e){let r=this,{HTMLBindingsProvider:t}=r.webqit,i=t.createId(n,{detail:e});t.detachFrom(n,i)}function Pt(n,e,r,{merge:t,diff:i,namespace:o}={}){let s=Qe.call(this,n,e),f={diff:i,namespace:o},c=t?[]:C.ownKeys(s,f).filter(u=>!(u in r));return C.batch(s,()=>(c.length&&C.deleteProperties(s,c,f),C.set(s,r,f)),f)}function ir(n){let e=this;if(n.api.bind in e.document)throw new Error(`document already has a "${n.api.bind}" property!`);if(n.api.bindings in e.document)throw new Error(`document already has a "${n.api.bindings}" property!`);if(n.api.bind in e.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bind}" property!`);if(n.api.bindings in e.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bindings}" property!`);Object.defineProperty(e.document,n.api.bind,{value:function(r,t={}){return Pt.call(e,t,e.document,r)}}),Object.defineProperty(e.document,n.api.bindings,{get:function(){return C.proxy(Qe.call(e,n,e.document))}}),Object.defineProperty(e.Element.prototype,n.api.bind,{value:function(r,t={}){return Pt.call(e,t,this,r)}}),Object.defineProperty(e.Element.prototype,n.api.bindings,{get:function(){return C.proxy(Qe.call(e,n,this))}})}Ze.call(window);})();
1
+ (()=>{var et=Object.defineProperty;var Et=(n,e,r)=>e in n?et(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r;var tt=(n,e)=>{for(var r in e)et(n,r,{get:e[r],enumerable:!0})};var ne=(n,e,r)=>(Et(n,typeof e!="symbol"?e+"":e,r),r);var Be={};tt(Be,{apply:()=>ve,batch:()=>Ee,construct:()=>Ne,defineProperties:()=>zt,defineProperty:()=>me,deleteProperties:()=>Bt,deleteProperty:()=>de,get:()=>k,getOwnPropertyDescriptor:()=>Ae,getOwnPropertyDescriptors:()=>Ft,getPrototypeOf:()=>He,has:()=>Pe,intercept:()=>$t,isExtensible:()=>Ve,observe:()=>ze,ownKeys:()=>ae,path:()=>Nt,preventExtensions:()=>Fe,read:()=>Wt,reduce:()=>We,set:()=>U,setPrototypeOf:()=>$e});function w(n){return!Array.isArray(n)&&typeof n=="object"&&n}function Q(n){return typeof n}function x(n){return Array.isArray(n)}function Se(n,e,r=null){return x(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function V(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new ie}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new ie,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new ie,i.set(t,r));return r}var ie=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(be([e,"*"],i.type)&&be([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(be([e,"*"],i.type)&&be([r,"*"],i.key))||i.callback(...t)}},be=(n,e)=>Array.isArray(e)?Se(n,e).length:n.includes(e);function Z(n){return typeof n=="function"}function oe(n){return n===null||n===""}function D(n){return arguments.length&&(n===void 0||typeof n>"u")}function v(n){return Array.isArray(n)||typeof n=="object"&&n||Z(n)}function Ie(n){return oe(n)||D(n)||n===!1||n===0||v(n)&&!Object.keys(n).length}function O(n){return Z(n)||n&&{}.toString.call(n)==="[object function]"}function se(n){return n instanceof Number||typeof n=="number"}function S(n){return se(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function K(n){return n instanceof String||typeof n=="string"&&n!==null}function je(n){return!K(n)&&!D(n.length)}function _e(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function Me(t,e){e=e||Object.prototype,e=e&&!x(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function Re(n,e){var r=[];return Me(n,e).forEach(t=>{_e(r,...Object.getOwnPropertyNames(t))}),r}function j(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((S(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((f,c)=>{!v(f)&&!O(f)||(r?Re(f):Object.keys(f)).forEach(u=>{if(!!e(u,s,f,c)){var l=s[u],m=f[u];if((x(l)&&x(m)||w(l)&&w(m))&&(o===!0||o>0))s[u]=x(l)&&x(m)?[]:{},j([S(o)?o-1:o,s[u],l,m],e,r,t,i);else if(x(s)&&x(f))t?s[u]=m:s.push(m);else try{i?Object.defineProperty(s,u,Object.getOwnPropertyDescriptor(f,u)):s[u]=f[u]}catch{}}})}),s}function fe(...n){return j(n,(e,r,t)=>!0,!1,!1,!1)}function E(n,e=!0){return x(n)?n:!e&&w(n)?[n]:n!==!1&&n!==0&&Ie(n)?[]:je(n)?Array.prototype.slice.call(n):w(n)?Object.values(n):[n]}var P=(...n)=>V("observer-api",...n),ee=(n,e)=>n instanceof Promise?n.then(e):e(n),we={};var G=class{constructor(e,r){this.registry=e,Object.assign(this,{...r,target:e.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var ce=class extends G{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),we.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(e){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let r=e,t=this.filter;if(t!==1/0&&(t=E(t,!1))&&(r=e.filter(i=>t.includes(i.key))),this.params.diff&&(r=r.filter(i=>i.type!=="set"||i.value!==i.oldValue)),r.length){if(this.emit.recursionTarget&&this.params.recursions!=="force-sync"){this.emit.recursionTarget.push(...r);return}this.emit.recursionTarget=this.params.recursions==="inject"?r:[];let i=this.filter===1/0||Array.isArray(this.filter)?this.emit(r,this):this.emit(r[0],this);return ee(i,o=>{let s=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="force-async"&&s.length?this.emit.currentRegistration.fire(s):o})}}};var X=class{constructor(e){this.target=e,this.entries=[]}addRegistration(e){return this.entries.push(e),e}removeRegistration(e){this.entries=this.entries.filter(r=>r!==e)}static _getInstance(e,r,t=!0,i=this.__namespace){if(!v(r))throw new Error(`Subject must be of type object; "${Q(r)}" given!`);let o=this;return i&&P("namespaces").has(e+"-"+i)&&(o=P("namespaces").get(e+"-"+i),e+="-"+i),!P(r,"registry").has(e)&&t&&P(r,"registry").set(e,new o(r)),P(r,"registry").get(e)}static _namespace(e,r,t=null){if(e+="-"+r,arguments.length===2)return P("namespaces").get(e);if(!(t.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${r} must be a subclass of ${this.name}.`);P("namespaces").set(e,t),t.__namespace=r}};var q=class{constructor(e,r){if(this.target=e,!r.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,r)}};var N=class extends X{static getInstance(e,r=!0,t=null){return super._getInstance("listeners",...arguments)}static namespace(e,r=null){return super._namespace("listeners",...arguments)}constructor(e){super(e),this.batches=[]}addRegistration(e,r,t){return super.addRegistration(new ce(this,{filter:e,emit:r,params:t}))}emit(e,r=!1){if(this.batches.length){this.batches[0].snapshots.push({events:[...e],isPropertyDescriptors:r});return}this.$emit(this.entries,[{events:e,isPropertyDescriptors:r}])}$emit(e,r){let t=e.filter(c=>c.params.withPropertyDescriptors).length,i=r.some(c=>c.isPropertyDescriptors),o=[],s=[],f=e.length;r.forEach(c=>{(t||!i)&&o.push(...c.events),t!==f&&i&&(c.isPropertyDescriptors?s.push(...c.events.map(u=>{let{target:l,type:m,...a}=u,p=new q(l,{type:"set",...a});return Object.defineProperty(p,"value","get"in a.value?{get:()=>a.value.get()}:{value:a.value.value}),a.oldValue&&Object.defineProperty(p,"oldValue","get"in a.oldValue?{get:()=>a.oldValue.get()}:{value:a.oldValue.value}),p})):s.push(...c.events))}),e.forEach(c=>{c.params.withPropertyDescriptors?c.fire(o.length?o:s):c.fire(s.length?s:o)})}batch(e){this.batches.unshift({entries:[...this.entries],snapshots:[]});let r=e();return ee(r,t=>{let i=this.batches.shift();return i.snapshots.length&&this.$emit(i.entries,i.snapshots),t})}};var ue=class extends G{exec(e,r,t){return this.running||!this.traps[e.operation]?r(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[e.operation](e,t,(...i)=>(this.running=!1,r(...i))))}};var L=class extends X{static getInstance(e,r=!0,t=null){return super._getInstance("traps",...arguments)}static namespace(e,r=null){return super._namespace("traps",...arguments)}addRegistration(e){return super.addRegistration(new ue(this,e))}emit(e,r=null){let t=this;return function i(o,...s){let f=t.entries[o];return f?f.exec(e,(...c)=>i(o+1,...c),...s):r?r(e,...s):s[0]}(0)}};var ke={};tt(ke,{accessorize:()=>Ht,proxy:()=>ct,unaccessorize:()=>Vt,unproxy:()=>le});function Ht(n,e,r={}){n=Oe(n);let t=P(n,"accessorizedProps");function i(c){let u,l=n;do u=Object.getOwnPropertyDescriptor(l,c);while(!u&&(l=Object.getPrototypeOf(l)));return u?{proto:l,descriptor:u}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function o(c){if(t.has(c+""))return!0;let u=i(c);u.getValue=function(a=!1){return a?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},u.setValue=function(a,p=!1){if(this.dirty=!0,p){this.descriptor=a;return}return this.descriptor.set?this.descriptor.set(a)!==!1:(this.descriptor.value=a,!0)},u.intact=function(){let a=Object.getOwnPropertyDescriptor(n,c);return a?.get===m.get&&a?.set===m.set&&t.get(c+"")===this},u.restore=function(){return this.intact()?(this.proto&&this.proto!==n||!this.proto&&!this.dirty?delete n[c]:Object.defineProperty(n,c,this.descriptor),t.delete(c+""),!0):!1},t.set(isNaN(c)?c:parseInt(c),u);let{enumerable:l=!0}=u.descriptor,m={enumerable:l,configurable:!0};("value"in u.descriptor||u.descriptor.set)&&(m.set=function(a){return U(this,c,a,r)}),("value"in u.descriptor||u.descriptor.get)&&(m.get=function(){return k(this,c,r)});try{return Object.defineProperty(n,c,m),!0}catch{return t.delete(c+""),!1}}let f=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(o);return e===void 0||Array.isArray(e)?f:f[0]}function Vt(n,e,r={}){n=Oe(n);let t=P(n,"accessorizedProps");function i(f){return t.has(f+"")?t.get(f+"").restore():!0}let s=(Array.isArray(e)?e:e===void 0?Object.keys(n):[e]).map(i);return e===void 0||Array.isArray(e)?s:s[0]}function ct(n,e={},r=void 0){let t=Oe(n);if(typeof e.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(e.membrane&&P(t,"membraneRef").has(e.membrane))return P(t,"membraneRef").get(e.membrane);let i={apply(f,c,u){if(Array.isArray(c)){let l=Oe(c);return P(l).set("$length",l.length),Ee(l,()=>ve(f,c,u))}return ve(f,le(c),u)},construct:(f,c,u=null)=>Ne(f,c,u,e),defineProperty:(f,c,u)=>me(f,c,u,e),deleteProperty:(f,c)=>de(f,c,e),get:(f,c,u=null)=>{let l={...e,receiver:u};Array.isArray(f)&&c==="length"&&P(f).has("$length")&&(l.forceValue=P(f).get("$length"));let m=k(f,c,l);return Array.isArray(f)&&typeof m=="function"?ct(m,{...e,membrane:u}):m},getOwnPropertyDescriptor:(f,c)=>Ae(f,c,e),getPrototypeOf:f=>He(f,e),has:(f,c)=>Pe(f,c,e),isExtensible:f=>Ve(f,e),ownKeys:f=>ae(f,e),preventExtensions:f=>Fe(f,e),set:(f,c,u,l=null)=>{let m={...e,receiver:l};return Array.isArray(f)&&c==="length"&&(m.forceOldValue=P(f).get("$length"),P(f).set("$length",u)),U(f,c,u,m)},setPrototypeOf:(f,c)=>$e(f,c,e)},o=r?.(i)||i,s=new Proxy(t,o);return e.membrane&&P(t,"membraneRef").set(e.membrane,s),P(s).set(s,t),s}function le(n){return P(n).get(n)||n}function Oe(n){if(!n||!v(n))throw new Error("Target must be of type object!");return le(n)}var pe=class extends Array{};function Nt(...n){return new pe(...n)}function We(n,e,r,t=o=>o,i={}){if(!!e.length)return function o(s,f,c){let u=f[c.level],l=c.level===f.length-1;return s instanceof q&&s.operation!=="get"?c={...c,probe:"always"}:c.probe!=="always"&&(c={...c,probe:!l}),r(s,u,(m,...a)=>{let p=d=>{d instanceof q&&(d.path=[d.key],s instanceof q&&(d.path=s.path.concat(d.key),Object.defineProperty(d,"context",{get:()=>s,configurable:!0})))},y=d=>{let _=M(d,!1);return ee(_,g=>{d instanceof q?d.value=g:d=g;let h=a[0]||{};return o(d,f,{...c,...h,level:c.level+1})})};return Te(u)&&Array.isArray(m)?(m.forEach(p),l?t(m,...a):m.map(y)):(p(m),l?t(m,...a):y(m))},c)}(n,e.slice(0),{...i,level:0})}function ze(n,e,r,t={}){if(n=M(n,!t.level),O(arguments[1])&&([,r,t={}]=arguments,e=1/0),!O(r))throw new Error(`Handler must be a function; "${Q(r)}" given!`);if(e instanceof pe)return We(n,e,ze,r,t);if(t={...t,descripted:!0},delete t.live,!v(n))return t.probe&&k(n,e,r,t);let i=ut(n,e,r,t);return t.probe?k(n,e,i,t):i()}function $t(n,e,r={}){return n=M(n),w(e)||([,,,r={}]=arguments,e={[arguments[1]]:arguments[2]}),L.getInstance(n,!0,r.namespace).addRegistration({traps:e,params:r})}function Ae(n,e,r=i=>i,t={}){return R(n,"getOwnPropertyDescriptor",{key:e},r,t)}function Ft(n,e,r=i=>i,t={}){return R(n,"getOwnPropertyDescriptors",{key:e},r,t)}function He(n,e=t=>t,r={}){return R(n,"getPrototypeOf",{},e,r)}function Ve(n,e=t=>t,r={}){return R(n,"isExtensible",{},e,r)}function ae(n,e=t=>t,r={}){return R(n,"ownKeys",{},e,r)}function Pe(n,e,r=i=>i,t={}){return R(n,"has",{key:e},r,t)}function k(n,e,r=i=>i,t={}){let i,o=M(n,!t.level);return w(r)?[t,r]=[r,s=>s]:t.live&&(i=!0),e instanceof pe?We(o,e,k,r,t):Gt(o,e,s=>{let f=[...s];return function c(u,l,m){if(!l.length)return m(u);let a=l.shift();if(!["string","number","symbol"].includes(typeof a))throw new Error(`Property name/key ${a} invalid.`);function p(_,g=void 0){let h=A=>(_.value=A,c([...u,t.live||t.descripted?_:A],l,m));if(arguments.length>1)return h(g);if(!v(o))return h(o?.[_.key]);let b=P(o,"accessorizedProps",!1),T=b&&b.get(_.key);if(T&&T.intact())return h(T.getValue(t.withPropertyDescriptors));if(t.withPropertyDescriptors){let A=Object.getOwnPropertyDescriptor(o,_.key);return"forceValue"in t&&"value"in A&&(A.value=t.forceValue),h(A)}return"forceValue"in t?h(t.forceValue):h(Reflect.get(o,_.key,...t.receiver?[t.receiver]:[]))}let y=new q(o,{type:"get",key:a,value:void 0,operation:"get",related:f});if(!v(o))return p(y);let d=L.getInstance(o,!1,t.namespace);return d?d.emit(y,p):p(y)}([],s.slice(0),c=>{let u=Te(e)?c:c[0];return i&&v(o)?ut(o,e,r,t)(u):r(u)})},t)}function Ee(n,e,r={}){return n=M(n),N.getInstance(n,!0,r.namespace).batch(e)}function Wt(n,e,r={}){e=M(e),n=M(n);let t=(r.only||[]).slice(0),i=(r.except||[]).slice(0),o=ae(r.spread?[...n]:n).map(u=>isNaN(u)?u:parseInt(u)),s=t.length?t.filter(u=>o.includes(u)):o.filter(u=>!i.includes(u)),f=u=>!Array.isArray(e)||isNaN(u)?u:u-i.filter(l=>l<u).length,c=u=>{let l=Ae(n,u,r);"value"in l&&l.writable&&l.enumerable&&l.configurable?U(e,f(u),l.value,r):(l.enumerable||r.onlyEnumerable===!1)&&me(e,u,{...l,configurable:!0},r)};return Ee(e,()=>{s.forEach(c)}),ze(n,u=>{u.filter(l=>t.length?t.includes(l.key):!i.includes(l.key)).forEach(l=>{if(l.operation==="deleteProperty")return de(e,f(l.key),r);if(l.operation==="defineProperty"){(l.value.enumerable||r.onlyEnumerable===!1)&&me(e,f(l.key),{...l.value,configurable:!0},r);return}c(l.key)})},{...r,withPropertyDescriptors:!0})}function U(n,e,r,t=s=>s,i={},o=!1){let s=M(n),f=[[e,r]];w(e)&&([,,t=u=>u,i={},o=!1]=arguments,f=Object.entries(e)),w(t)&&([o,i,t]=[typeof i=="boolean"?i:o,t,u=>u]);let c=f.map(([u])=>u);return function u(l,m,a){if(!m.length)return a(l);let[p,y]=m.shift();function d(g,h=void 0){let b=z=>(g.status=z,u(l.concat(g),m,a));if(arguments.length>1)return b(g,h);let T=P(s,"accessorizedProps",!1),A=T&&T.get(g.key);return g.operation==="defineProperty"?(A&&!A.restore()&&b(!1),Object.defineProperty(s,g.key,g.value),b(!0)):A&&A.intact()?b(A.setValue(g.value)):b(Reflect.set(s,g.key,g.value))}function _(g,h){if(i.diff&&y===h)return u(l,m,a);let b=new q(s,{type:o?"def":"set",key:p,value:y,isUpdate:g,oldValue:h,related:[...c],operation:o?"defineProperty":"set",detail:i.detail}),T=L.getInstance(s,!1,i.namespace);return T?T.emit(b,d):d(b)}return Pe(s,p,g=>{if(!g)return _(g);let h={...i,withPropertyDescriptors:o};return"forceOldValue"in i&&(h.forceValue=i.forceOldValue),k(s,p,b=>_(g,b),h)},i)}([],f.slice(0),u=>{let l=N.getInstance(s,!1,i.namespace);return l&&l.emit(u,o),t(Te(e)?u.map(m=>m.status):u[0]?.status)})}function me(n,e,r,t=o=>o,i={}){return U(n,e,r,t,i,!0)}function zt(n,e,r=i=>i,t={}){return U(n,e,r,t,!0)}function de(n,e,r=i=>i,t={}){n=M(n),w(r)&&([t,r]=[r,s=>s]);let i=E(e,!1),o=[...i];return function s(f,c,u){if(!c.length)return u(f);let l=c.shift();function m(p,y=void 0){let d=h=>(p.status=h,s(f.concat(p),c,u));if(arguments.length>1)return d(p,y);let _=P(n,"accessorizedProps",!1),g=_&&_.get(p.key);return g&&!g.restore()&&d(!1),d(Reflect.deleteProperty(n,p.key))}function a(p){let y=new q(n,{type:"delete",key:l,oldValue:p,related:[...o],operation:"deleteProperty",detail:t.detail}),d=L.getInstance(n,!1,t.namespace);return d?d.emit(y,m):m(y)}return k(n,l,a,t)}([],i.slice(0),s=>{let f=N.getInstance(n,!1,t.namespace);return f&&f.emit(s),r(Te(e)?s.map(c=>c.status):s[0].status)})}function Bt(n,e,r=i=>i,t={}){return de(...arguments)}function Ne(n,e,r=null,t=o=>o,i={}){return R(n,"construct",arguments.length>2?{argumentsList:e,newTarget:r}:{argumentsList:e},t,i)}function ve(n,e,r,t=o=>o,i={}){return R(n,"apply",{thisArgument:e,argumentsList:r},t,i)}function $e(n,e,r=i=>i,t={}){return R(n,"setPrototypeOf",{proto:e},r,t)}function Fe(n,e=t=>t,r={}){return R(n,"preventExtensions",{},e,r)}function ut(n,e,r,t={}){let i;t.signal||(i=new AbortController,t={...t,signal:i.signal},we.setMaxListeners?.(0,i.signal));let o=N.getInstance(n,!0,t.namespace);return function s(f,c=null){c?.remove();let l={signal:o.addRegistration(e,s,t).signal};if(arguments.length){let m=r(f,l);if(arguments.length>1)return m}return i}}function R(n,e,r={},t=o=>o,i={}){n=M(n),w(t)&&([i,t]=[t,c=>c]);function o(c,u){return arguments.length>1?t(u):t((Reflect[e]||Object[e])(n,...Object.values(r)))}let s=new q(n,{operation:e,...r}),f=L.getInstance(n,!1,i.namespace);return f?f.emit(s,o):o(s)}function Te(n){return n===1/0||Array.isArray(n)}function M(n,e=!0){if((!n||!v(n))&&e)throw new Error(`Object must be of type object or array! "${Q(n)}" given.`);return n instanceof q&&(n=n.value),n&&le(n)}function Gt(n,e,r,t={}){return e===1/0?t.level&&!v(n)?r([]):ae(n,r,t):r(E(e,!1))}var Xt={...Be,...ke},C=Xt;function he(n,e,r={},t={}){e=E(e).slice();for(var i=n;!D(i)&&!oe(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):v(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function Ge(n,e,r,t={},i={}){let o=(l,m,a)=>i.set?i.set(l,m,a):(S(e[f])&&x(l)?l.push(a):l[m]=a,!0);e=E(e);for(var s=n,f=0;f<e.length;f++)if(f<e.length-1){if(!s||!v(s)&&!O(s))return!1;var c=he(s,e[f],i);if(!v(c)){if(i.buildTree===!1)return!1;c=O(i.buildTree)?i.buildTree(f):S(e[f+1])?[]:{};var u=o(s,e[f],c);if(!u)return!1}s=c}else return o(s,e[f],r)}var ge=class{constructor(e,r=!0){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=r,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let f=r(s,t),c=u=>{u!==void 0&&this.cycle(e,r,u)};f instanceof Promise?f.then(c):c(f)})};i instanceof Promise?i.then(o):o(i)})}};function lt(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function Ce(n,e,r,t=!0){r=(Array.isArray(r)?r:[r]).map(f=>(f+"").replace("(",t?"(.//":"(./")).join("|");let i=n.document.evaluate(r,e,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function at(n,e,r){return r=(Array.isArray(r)?r:[r]).map(t=>(t+"").replace("(","(self::")).join("|"),n.document.evaluate(`${r}`,e,null,XPathResult.BOOLEAN_TYPE).booleanValue}function mt(n,e="|"){return[...n].reduce(([r,t,i,o],s)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,t,i]),[null,0,[""]])[2].reverse()}var I=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:lt(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=mt(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var J=class{constructor(e,r,t){this.context=e,this.namespace=r,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){if(O(e[0])?e=[[],...e]:w(e[0])&&!(e[0]instanceof I)&&e.length===1?e=[[],void 0,e[0]]:w(e[1])&&e.length===2?e=[E(e[0],!1),void 0,e[1]]:e[0]=E(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r instanceof I)&&!(r instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return e[0]=e[0].map(r=>r instanceof I?r:new I(r)),e}registry(...e){return V("realdom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,r,t){let{window:i}=this,o=Array.isArray(r)?r:[r],s=new Set;for(let[f,c]of this.registry(e))for(let[u,l]of c){let m=o.filter(a=>u.contains(a.target)?f==="subtree"||a.target===u:!1);if(!!m.length){Array.isArray(r)||(m=m[0]);for(let a of l)s.add([a,m,u])}}for(let[f,c,u]of s)t.call(i,f,c,u)}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&O(i.disconnect)&&i.disconnect()||O(i)&&i()||w(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var $=class extends J{constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string"||e instanceof I;[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=yt(o,e);if(!r)return s;let f=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let c of s){let u=f?.generate()||{};r(c,u,o)}else{let c=f?.generate()||{};r(s,c,o)}if(t.live){f&&(t={...t,signalGenerator:f});let c=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,c)}}observe(e,r,t={}){let i=typeof e=="string"||e instanceof I;if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:f}=this;t.eventDetails&&!f.realdom.attrInterceptionHooks?.intercepting&&ht.call(s,"intercept",()=>{});let c=new s.MutationObserver(a=>{a=gt(a).map(p=>xt.call(s,p)),pt.call(s,m,a,o)}),u={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(u.attributeFilter=e.map(a=>a+"")),c.observe(o,u);let l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:c};return this.disconnectables(t.signal,c,l)}observeSync(e,r,t={}){let i=typeof e=="string"||e instanceof I;[e,r,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let f=t.timing==="intercept"?"intercept":"sync",c=t.subtree?"subtree":"children";this.registry(f).size||ht.call(s,f,y=>{this.forEachMatchingContext(f,y,pt)});let u={disconnect(){p.delete(m),p.size||a.delete(o)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:u},a=this.registry(f,c);a.has(o)||a.set(o,new Set);let p=a.get(o);return p.add(m),this.disconnectables(t.signal,u,l)}};function gt(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName?e:e.concat(r),[])}function pt(n,e){let{context:r,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:f,signalGenerator:c}=n,u=t.map(a=>a+"");if(o.atomic&&!s.size?e=yt(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(a=>u.includes(a.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(a=>{let p;return o.eventDetails||({event:p,...a}=a),!o.oldValue&&"oldValue"in a&&({oldValue:p,...a}=a),!o.newValue&&"value"in a?{value:p,...a}=a:o.newValue&&typeof a.value>"u"&&(a={...a,value:a.target.getAttribute(a.name)}),a})),o.atomic&&(e.forEach(a=>s.set(a.name,a)),e=Array.from(s.entries()).map(([,a])=>a));let l=f?e[0]:e,m=c?.generate()||{};i(l,m,r)}function yt(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:n.getAttribute(o),...t})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:o.nodeValue,...t})}function xt({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function ht(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let f=(l,m)=>{t.realdom.attrInterceptionRecords.has(l.target)||t.realdom.attrInterceptionRecords.set(l.target,{});let a=t.realdom.attrInterceptionRecords.get(l.target);a[l.name]=a[l.name]||[],a[l.name].unshift(l.event),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(y=>y([l]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(y=>y([l])),p};new r.MutationObserver(l=>{l=l.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),l=gt(l).map(m=>xt.call(r,m)),l.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(l)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(l)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let u=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(l=>{u[l]=o.prototype[l],o.prototype[l]=function(...m){let a,p=this.getAttribute(m[0]);["setAttribute","toggleAttribute"].includes(l)&&(a=m[1]),l==="toggleAttribute"&&a===void 0&&(a=p===null);let y={target:this,name:m[0],value:a,oldValue:p,type:"interception",event:[this,l]};return f(y,()=>u[l].call(this,...m))}}),s}var ye=class extends J{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new $(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=u=>(o.has(u)||o.set(u,{target:u,entrants:[],exits:[],type:"query",event:null}),o.get(u));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(u=>s(i).entrants.push(u));else if(e.every(u=>u.type==="selector")){let[u,l]=e.reduce(([a,p],y)=>y.kind==="xpath"?[a,p.concat(y)]:[a.concat(y),p],[[],[]]),m=[];t.subtree?(u.length&&m.push(...i.querySelectorAll(u.join(","))),l.length&&m.push(...Ce(this.window,i,l))):(u.length&&m.push(...[...i.children].filter(a=>a.matches(u))),l.length&&m.push(...Ce(this.window,i,l,!1))),m.forEach(a=>s(a.parentNode||i).entrants.push(a))}}if(!r)return o;let f={disconnected:!1},c=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,u]of o){if(f.disconnected)break;let l=c?.generate()||{};r(u,l,i)}if(t.live){c&&(t={...t,signalGenerator:c});let u=this.observe(e,r,t);return this.disconnectables(t.signal,f,u)}return this.disconnectables(t.signal,f,c)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:f}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(f.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&wt.call(o,"sync",()=>{});let c=new o.MutationObserver(m=>m.forEach(a=>{Xe.call(o,l,_t.call(o,a),i)}));c.observe(i,{childList:!0,subtree:t.subtree});let u=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),l={context:i,spec:e,callback:r,params:t,signalGenerator:u,disconnectable:c};if(t.staticSensitivity){let m=bt.call(o,l);return this.disconnectables(t.signal,c,u,m)}return this.disconnectables(t.signal,c,u)}observeSync(e,r,t={}){[e,r,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync",f=t.subtree?"subtree":"children";this.registry(s).size||wt.call(o,s,y=>{this.forEachMatchingContext(s,y,Xe)});let c=new o.MutationObserver(y=>y.forEach(d=>{Array.isArray((d=_t.call(o,d)).event)||Xe.call(o,m,d,i)}));c.observe(i,{childList:!0,subtree:t.subtree});let u={disconnect(){c.disconnect(),p.delete(m),p.size||a.delete(i)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:e,callback:r,params:t,signalGenerator:l,disconnectable:u},a=this.registry(s,f);a.has(i)||a.set(i,new Set);let p=a.get(i);if(p.add(m),t.staticSensitivity){let y=bt.call(o,m);return this.disconnectables(t.signal,u,l,y)}return this.disconnectables(t.signal,u,l)}};function bt(n){let e=this,{context:r,spec:t,callback:i,params:o,signalGenerator:s}=n,f=t.filter(p=>p.kind==="css"),c=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],u=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],l=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(c(p)).concat(u(p));if(!(n.$attrs=Array.from(new Set(f.filter(p=>(p+"").includes("[")).reduce((p,y)=>p.concat(l(y+"")),[])))).length)return;let m=new Set,a=new Set;return m.push=p=>(a.delete(p),m.add(p)),a.push=p=>(m.delete(p),a.add(p)),n.$deliveryCache={entrants:m,exits:a},new $(r,e).observe(n.$attrs,p=>{let y=new Map,d=h=>(y.has(h)||y.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),y.get(h)),_=new WeakMap,g=h=>(_.has(h)||_.set(h,f.some(b=>h.matches(b+""))),_.get(h));for(let h of p)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||n.$deliveryCache[b].has(h.target)||(b==="entrants"?!g(h.target):g(h.target))||(n.$deliveryCache[b].push(h.target),d(h.target)[b].push(h.target),d(h.target).event=h.event)});for(let[,h]of y){let b=s?.generate()||{};i(h,b,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function Xe(n,e){let{context:r,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:f}=n,c={...e,entrants:[],exits:[]};if(o.eventDetails||delete c.event,["entrants","exits"].forEach(l=>{if(!(o.generation&&l!==o.generation)&&(t.length?c[l]=Qt.call(this,t,e[l],e.event!=="parse"):c[l]=[...e[l]],!!f))for(let m of c[l])f[l].push(m)}),!c.entrants.length&&!c.exits.length)return;let u=s?.generate()||{};i(c,u,r)}function Qt(n,e,r){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(o.type==="selector"){let s=o.isXpathAttr?[]:i.filter(f=>o.kind==="xpath"?at(this,f,o+""):f.matches&&f.matches(o+""));if((r||o.isXpathAttr)&&(s=i.reduce((f,c)=>o.kind==="xpath"?[...f,...Ce(this,c,o,r)]:c.querySelectorAll?[...f,...c.querySelectorAll(o+"")]:f,s)),s.length)return s}else if(i.includes(o.content)||r&&i.some(s=>s.contains(o.content)))return[o.content]};return e.$$searchCache||(e.$$searchCache=new Map),n.reduce((i,o)=>{let s;return e.$$searchCache.has(o.content)?s=e.$$searchCache.get(o.content):(s=t(e,o)||[],o.type==="instance"&&e.$$searchCache.set(o.content,s)),i.concat(s)},[])}function _t({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=E(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=E(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function wt(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:f,HTMLElement:c,HTMLTemplateElement:u,DocumentFragment:l}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let m=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let a=(d,_)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let b=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:b,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let g=_();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),g},p={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(d=>{function _(...g){let h=this instanceof s?p.characterData:p.other,b=()=>h[d].call(this,...g);if(!(this instanceof s||this instanceof f||this instanceof l))return b();let T=[],A=[],z=this;["insertBefore"].includes(d)?A=[g[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?(A=[g[1]],["beforebegin","afterend"].includes(g[0])&&(z=this.parentNode)):["setHTML","replaceChildren"].includes(d)?(T=[...this.childNodes],A=d==="replaceChildren"?[...g]:[g[0]]):["replaceWith","remove"].includes(d)?(T=[this],A=d==="replaceWith"?[...g]:[],z=this.parentNode):["replaceChild"].includes(d)?(T=[g[1]],A=[g[0]]):["removeChild"].includes(d)?T=[...g]:(A=[...g],["before","after"].includes(d)&&(z=this.parentNode));let B=d;if(["insertAdjacentHTML","setHTML"].includes(d)){let Ke=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(g[0])){if(!this.parentNode)return h[d].call(this,...g);Ke=this.parentNode.nodeName}let xe=i.createElement(Ke);h.setHTML.call(xe,A[0],d==="setHTML"?g[1]:{}),A=[...xe.childNodes],d==="insertAdjacentHTML"?(B="insertAdjacentElement",g[1]=new l,g[1].______isTemp=!0,g[1].append(...xe.childNodes)):(B="replaceChildren",g=[...xe.childNodes])}return a({target:z,entrants:A,exits:T,type:"interception",event:[this,d]},()=>h[B].call(this,...g))}["insertBefore","replaceChild","removeChild","appendChild"].includes(d)?(p.other[d]=o.prototype[d],o.prototype[d]=_):(["after","before","remove","replaceWith"].includes(d)&&(p.characterData[d]=s.prototype[d],s.prototype[d]=_),f.prototype[d]&&(p.other[d]=f.prototype[d],f.prototype[d]=_))});let y=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(d=>{let _=["textContent","nodeValue"].includes(d)?o:["outerText","innerText"].includes(d)?c:f;y[d]=Object.getOwnPropertyDescriptor(_.prototype,d),Object.defineProperty(_.prototype,d,{...y[d],set:function(g){let h=()=>y[d].set.call(this,g);if(!(this instanceof f))return h();let b=[],T=[],A=this;if(["outerHTML","outerText"].includes(d)?(b=[this],A=this.parentNode):b=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let B=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return h();B=this.parentNode.nodeName}let Y=i.createElement(B==="TEMPLATE"?"div":B);y[d].set.call(Y,g),T=this instanceof u?[]:[...Y.childNodes],d==="outerHTML"?(g=new l,g.______isTemp=!0,g.append(...Y.childNodes),h=()=>f.prototype.replaceWith.call(this,g)):this instanceof u?h=()=>this.content.replaceChildren(...Y.childNodes):h=()=>f.prototype.replaceChildren.call(this,...Y.childNodes)}return a({target:A,entrants:T,exits:b,type:"interception",event:[this,d]},h)}})}),["append","prepend","replaceChildren"].forEach(d=>{[i,l.prototype].forEach(_=>{let g=_[d];_[d]=function(...h){if(this.______isTemp)return g.call(this,...h);let b=d==="replaceChildren"?[...this.childNodes]:[];return a({target:this,entrants:h,exits:b,type:"interception",event:[this,d]},()=>g.call(this,...h))}})}),m}function Ot(){Zt.call(this),Kt.call(this),er.call(this)}function Zt(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Kt(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function er(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function vt(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},Ot.call(n),n.webqit.realdom.meta=(...r)=>tr.call(n,...r),n.webqit.realdom.ready=(...r)=>Ue.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new ye(r,n);if(t==="attr")return new $(r,n)};let e=new ge(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom}function Ue(...n){let e="interactive",r;K(n[0])?(e=n[0],O(n[1])&&(r=n[1])):O(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>Ue.call(this,"interactive",o)),complete:new Promise(o=>Ue.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(r)}function tr(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(f=>f.trim());return Ge(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:S(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}var F=(...n)=>V("oohtml",...n);function Je(n,e,r){let t=n.toUpperCase().replace("-","_"),i=this,o=vt.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),fe(2,i.webqit.oohtml.configs[t],r,e,o.meta(n).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function Ye(n,e,r=1,t=!1){if(r&&typeof n=="object"&&n&&typeof e=="object"&&e&&(!t||Object.keys(n).length===Object.keys(e).length)){for(let i in n)if(!Ye(n[i],e[i],r-1,t))return!1;return!0}return Array.isArray(n)&&Array.isArray(e)&&n.length===e.length?(e=e.slice(0).sort())&&n.slice(0).sort().every((i,o)=>i===e[o]):n===e}var te=class{constructor(e,r){Object.defineProperty(this,"request",{value:e}),Object.defineProperty(this,"hostElement",{value:r}),e.live&&!e.signal&&(Object.defineProperty(this,"abortController",{value:new AbortController}),e.signal=this.abortController.signal)}callback(e){C.defineProperty(this,"value",{value:e,configurable:!0,enumerable:!0})}abort(){if(this.abortController)return this.abortController.abort();let e=this.hostElement.ownerDocument?.defaultView||this.hostElement.defaultView;if(this.request.signal)return this.request.signal.dispatchEvent(new e.Event("abort"))}};function At(){let n=this;if(n.webqit.ContextRequestEvent)return n.webqit.ContextRequestEvent;class e extends n.Event{constructor(t,i,{type:o="contextrequest",...s}={}){super(o,s),Object.defineProperty(this,"request",{get:()=>t}),Object.defineProperty(this,"callback",{get:()=>i})}respondWith(t,...i){if(this.request.diff){if("prevValue"in this&&this.prevValue===t)return;Object.defineProperty(this,"prevValue",{value:t,configurable:!0})}return this.callback(t,...i)}}return n.webqit.ContextRequestEvent=e,e}var H=class{static instance(e){return F(e).get("context::instance")||new this(e)}constructor(e){F(e).get("context::instance")?.dispose(),F(e).set("context::instance",this);let r={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>r});let t=At.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield*r.contexts}}get length(){this["#"].contexts.size}findProvider(e){return[...this["#"].contexts].find(e)}attachProvider(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detachProvider(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}request(e,r=null,t={}){typeof r=="object"&&(t=r,r=null);let i;r||(i=new te(e,this["#"].host),r=i.callback.bind(i));let o=this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,r,{bubbles:!0,...t}));return i??o}dispose(){}};var W=class{static get config(){return{}}static attachTo(e,r,t=!1){this.providers.set(this.type,this);let i,o=H.instance(e);return!t&&(i=o.findProvider(s=>this.matchId(s.id,r)))?i:o.attachProvider(new this(r))}static detachFrom(e,r,t=!1){let i,o=H.instance(e);for(i of o["#"].contexts)if(!(!this.matchId(i.id,r)||typeof t=="function"&&!t(i))&&(o.detachProvider(i),typeof multiple!="function"&&!t))return i}static createId(e,r={}){let t={type:this.type,...r};return t.contextName||(e.getAttribute&&this.config.context&&!(t.contextName=(e.getAttribute(this.config.context.attr?.contextname)||"").trim())?delete t.contextName:e.ownerDocument||(t.contextName="root")),t}static matchId(e,r){return Ye(e,r,1,!0)}static createRequest(e={}){return{type:this.type,...e}}static matchRequest(e,r){return r.type===e.type&&(!r.contextName||r.contextName===e.contextName)}constructor(e){Object.defineProperty(this,"id",{get:()=>e}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(e){}subscribe(e){this.subscriptions.add(e),e.request.signal&&e.request.signal.addEventListener("abort",()=>{this.unsubscribe(e)})}unsubscribe(e){this.subscriptions.delete(e),e.request.controller?.abort()}handleEvent(e){if(!(this.disposed||e.target===this.host&&e.request?.superContextOnly||!(typeof e.request=="object"&&e.request)||typeof e.respondWith!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let r=new Set;this.subscriptions.forEach(t=>{!e.target.contains(t.request.superContextOnly?t.target.parentNode:t.target)||!this.constructor.matchRequest(e.request,t.request)||(this.subscriptions.delete(t),r.add(t))}),e.respondWith(r)}else e.type==="contextrequest"&&(e.request.live&&this.subscribe(e),this.handle(e))}initialize(e){return this.host=e,this.disposed=!1,e.addEventListener("contextrequest",this),e.addEventListener("contextclaim",this),H.instance(e).request({...this.id,superContextOnly:!0},r=>r.forEach(t=>{this.subscribe(t),this.handle(t)}),{type:"contextclaim"}),this}dispose(e){return this.disposed=!0,e.removeEventListener("contextrequest",this),e.removeEventListener("contextclaim",this),this.subscriptions.forEach(r=>{this.unsubscribe(r);let{target:t,request:i,callback:o,options:s}=r;H.instance(t).request(i,o,s)}),this}};ne(W,"providers",new Map),ne(W,"type");var re=class extends W{static createRequest(e={}){let r=super.createRequest(e);if(r.detail?.startsWith("@")){let[t,...i]=r.detail.slice(1).split(".").map(o=>o.trim());r.contextName=t,r.detail=i.join(".")}return r}static matchRequest(e,r){return super.matchRequest(e,r)&&(!r.detail||!e.detail||(Array.isArray(r.detail)?r.detail[0]===e.detail:r.detail===e.detail))}get bindingsObj(){return this.host[this.constructor.config.api.bindings]}handle(e){if(e.request.controller?.abort(),!(e.request.detail+"").trim())return e.respondWith(this.bindingsObj);e.request.controller=C.reduce(this.bindingsObj,Array.isArray(e.request.detail)?e.request.detail:[e.request.detail],C.get,r=>{this.disposed||e.respondWith(r.value)},{live:e.request.live,descripted:!0})}};ne(re,"type","bindings");function Ze(n={}){let{config:e,window:r}=Je.call(this,"bindings-api",n,{context:{attr:{bindingscontext:"bindings"}},api:{bind:"bind",bindings:"bindings"}});e.CONTEXT_API=r.webqit.oohtml.configs.CONTEXT_API,e.context.attr.contextname=e.CONTEXT_API.attr.contextname,r.webqit.HTMLBindingsProvider=class extends re{static get config(){return e}},r.webqit.Observer=C,ir.call(r,e)}function Qe(n,e){let r=this;if(!F(e).has("bindings")){let t=Object.create(null);F(e).set("bindings",t),C.observe(t,i=>{for(let f of i)f.type==="delete"?nr.call(this,e,f.key):rr.call(this,e,f.key);let o=Object.keys(t),s=e===r.document?r.document.documentElement:e;o.length?s.setAttribute(n.context.attr.bindingscontext,o.join(" ")):s.toggleAttribute(n.context.attr.bindingscontext,!1)})}return F(e).get("bindings")}function rr(n,e){let r=this,{HTMLBindingsProvider:t}=r.webqit,i=t.createId(n,{detail:e});t.attachTo(n,i)}function nr(n,e){let r=this,{HTMLBindingsProvider:t}=r.webqit,i=t.createId(n,{detail:e});t.detachFrom(n,i)}function Pt(n,e,r,{merge:t,diff:i,namespace:o}={}){let s=Qe.call(this,n,e),f={diff:i,namespace:o},c=t?[]:C.ownKeys(s,f).filter(u=>!(u in r));return C.batch(s,()=>(c.length&&C.deleteProperties(s,c,f),C.set(s,r,f)),f)}function ir(n){let e=this;if(n.api.bind in e.document)throw new Error(`document already has a "${n.api.bind}" property!`);if(n.api.bindings in e.document)throw new Error(`document already has a "${n.api.bindings}" property!`);if(n.api.bind in e.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bind}" property!`);if(n.api.bindings in e.Element.prototype)throw new Error(`The "Element" class already has a "${n.api.bindings}" property!`);Object.defineProperty(e.document,n.api.bind,{value:function(r,t={}){return Pt.call(e,t,e.document,r)}}),Object.defineProperty(e.document,n.api.bindings,{get:function(){return C.proxy(Qe.call(e,n,e.document))}}),Object.defineProperty(e.Element.prototype,n.api.bind,{value:function(r,t={}){return Pt.call(e,t,this,r)}}),Object.defineProperty(e.Element.prototype,n.api.bindings,{get:function(){return C.proxy(Qe.call(e,n,this))}})}Ze.call(window);})();
2
2
  //# sourceMappingURL=bindings-api.js.map