UNPKG

105 kBJavaScriptView Raw
1function e(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function t(e,t){var n=e[t];if(n)return n;var r={};return e[t]=r,r}function n(e,t){return new(e.bind.apply(e,[e].concat(t)))}let r;var o=globalThis;class a{constructor(e,t,n){this._css=e,this.relativeToElement=t,this.escape=n}get css(){return this.escape?l.escapeSelector(this._css):this._css}get className(){return this._css.substr(1)}get id(){return this.className()}contains(e){for(let t of this)if(t.contains(e))return!0;return!1}get length(){return this.selectMatches().length}[Symbol.iterator](){return this.selectMatches()[Symbol.iterator]()}selectMatches(){return l.getRootNode(this.relativeToElement).querySelectorAll(this.css)}}var i=function(){var e={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS"};function t(e){return i(e)||a(e)||"-"===e||"_"===e||":"===e}function n(e){return i(e)||a(e)||"-"===e||"_"===e||":"===e}function r(e){return" "===e||"\t"===e||o(e)}function o(e){return"\r"===e||"\n"===e}function a(e){return e>="0"&&e<="9"}function i(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}function s(e,t){return"_"===e||"$"===e}function l(e,t,n){o();var r=null;function o(){for(;"WHITESPACE"===f(0,!0).type;)t.push(e.shift())}function a(e,t){u.raiseParseError(e,t)}function i(e){if(p()&&p().op&&p().value===e)return c()}function s(e,t,n,r){if(p()&&p().type&&[e,t,n,r].indexOf(p().type)>=0)return c()}function l(e,t){if(-1===d.indexOf(e))return t=t||"IDENTIFIER",p()&&p().value===e&&p().type===t?c():void 0}function c(){var n=e.shift();return t.push(n),r=n,o(),n}function m(n,r){for(var a=[],i=f(0,!0);!(null!=r&&i.type===r||null!=n&&i.value===n||"EOF"===i.type);){var u=e.shift();t.push(u),a.push(i),i=f(0,!0)}return o(),a}function f(t,n){var r,o=0;do{if(!n)for(;e[o]&&"WHITESPACE"===e[o].type;)o++;r=e[o],t--,o++}while(t>-1);return r||{type:"EOF",value:"<<<EOF>>>"}}function p(){return f(0)}var d=[];return{pushFollow:function(e){d.push(e)},popFollow:function(){d.pop()},clearFollow:function(){var e=d;return d=[],e},restoreFollow:function(e){d=e},matchAnyToken:function(e,t,n){for(var r=0;r<arguments.length;r++){var o=arguments[r],a=l(o);if(a)return a}},matchAnyOpToken:function(e,t,n){for(var r=0;r<arguments.length;r++){var o=arguments[r],a=i(o);if(a)return a}},matchOpToken:i,requireOpToken:function(e){var t=i(e);if(t)return t;a(this,"Expected '"+e+"' but found '"+p().value+"'")},matchTokenType:s,requireTokenType:function(e,t,n,r){var o=s(e,t,n,r);if(o)return o;a(this,"Expected one of "+JSON.stringify([e,t,n]))},consumeToken:c,peekToken:function(t,n,r){return e[n]&&e[n].value===t&&e[n].type===r},matchToken:l,requireToken:function(e,t){var n=l(e,t);if(n)return n;a(this,"Expected '"+e+"' but found '"+p().value+"'")},list:e,consumed:t,source:n,hasMore:function(){return e.length>0},currentToken:p,lastMatch:function(){return r},token:f,consumeUntil:m,consumeUntilWhitespace:function(){return m(null,"WHITESPACE")},lastWhitespace:function(){return t[t.length-1]&&"WHITESPACE"===t[t.length-1].type?t[t.length-1].value:""},sourceFor:function(){return n.substring(this.startToken.start,this.endToken.end)},lineFor:function(){return n.split("\n")[this.startToken.line-1]}}}function c(e){if(e.length>0){var t=e[e.length-1];if("IDENTIFIER"===t.type||"CLASS_REF"===t.type||"ID_REF"===t.type)return!1;if(t.op&&(">"===t.value||")"===t.value))return!1}return!0}return{tokenize:function(u,m){var f,p=[],d=u,h=0,v=0,E=1,y="<START>",T=0;function k(){return m&&0===T}for(;h<d.length;)if("-"!==R()||"-"!==A()||!r(F())&&""!==F())if(r(R()))p.push(D());else if(P()||"."!==R()||!i(A())&&"{"!==A())if(P()||"#"!==R()||!i(A())&&"{"!==A())if("["===R()&&"@"===A())p.push(w());else if("@"===R())p.push(q());else if("*"===R()&&i(A()))p.push(S());else if(i(R())||!k()&&s(R()))p.push(L());else if(a(R()))p.push(C());else if(k()||'"'!==R()&&"`"!==R())if(k()||"'"!==R()){if(e[R()])"$"===y&&"{"===R()&&T++,"}"===R()&&T--,p.push(I());else if(k()||"`"===(f=R())||"^"===f)p.push(g("RESERVED",M()));else if(h<d.length)throw Error("Unknown token: "+R()+" ")}else c(p)?p.push(O()):p.push(I());else p.push(O());else p.push(N());else p.push(b());else x();return l(p,[],d);function g(e,t){return{type:e,value:t,start:h,end:h+1,column:v,line:E}}function x(){for(;R()&&!o(R());)M();M()}function b(){var e=g("CLASS_REF"),n=M();if("{"===R()){for(e.template=!0,n+=M();R()&&"}"!==R();)n+=M();if("}"!==R())throw Error("Unterminated class reference");n+=M()}else for(;t(R());)n+=M();return e.value=n,e.end=h,e}function w(){for(var e=g("ATTRIBUTE_REF"),t=M();h<d.length&&"]"!==R();)t+=M();return"]"===R()&&(t+=M()),e.value=t,e.end=h,e}function q(){for(var e=g("ATTRIBUTE_REF"),t=M();n(R());)t+=M();return e.value=t,e.end=h,e}function S(){for(var e=g("STYLE_REF"),t=M();i(R())||"-"===R();)t+=M();return e.value=t,e.end=h,e}function N(){var e=g("ID_REF"),t=M();if("{"===R()){for(e.template=!0,t+=M();R()&&"}"!==R();)t+=M();if("}"!==R())throw Error("Unterminated id reference");M()}else for(;n(R());)t+=M();return e.value=t,e.end=h,e}function L(){for(var e=g("IDENTIFIER"),t=M();i(R())||a(R())||s(R());)t+=M();return"!"===R()&&"beep"===t&&(t+=M()),e.value=t,e.end=h,e}function C(){for(var e=g("NUMBER"),t=M();a(R());)t+=M();for("."===R()&&a(A())&&(t+=M());a(R());)t+=M();return e.value=t,e.end=h,e}function I(){for(var t=(r=void 0,(r=g(void 0,void 0)).op=!0,r),n=M();R()&&e[n+R()];)n+=M();var r;return t.type=e[n],t.value=n,t.end=h,t}function O(){for(var e,t=g("STRING"),n=M(),r="";R()&&R()!==n;)if("\\"===R()){M();let e=M();r+="b"===e?"\b":"f"===e?"\f":"n"===e?"\n":"r"===e?"\r":"t"===e?"\t":"v"===e?"\v":e}else r+=M();if(R()!==n)throw Error("Unterminated string at [Line: "+(e=t).line+", Column: "+e.column+"]");return M(),t.value=r,t.end=h,t.template="`"===n,t}function R(){return d.charAt(h)}function A(){return d.charAt(h+1)}function F(){return d.charAt(h+2)}function M(){return y=R(),h++,v++,y}function P(){return i(y)||a(y)||")"===y||'"'===y||"'"===y||"`"===y||"}"===y||"]"===y}function D(){for(var e=g("WHITESPACE"),t="";R()&&r(R());)o(R())&&(v=0,E++),t+=M();return e.value=t,e.end=h,e}},makeTokensObject:l}}(),u=function(){var e={},t={},n={},r=[],o=[];function a(e,t,n){e.startToken=t,e.sourceFor=n.sourceFor,e.lineFor=n.lineFor,e.programSource=n.source}function i(t,n,r){var o=e[t];if(o){var i=n.currentToken(),s=o(u,l,n,r);if(s)for(a(s,i,n),s.endToken=s.endToken||n.lastMatch(),r=s.root;null!=r;)a(r,i,n),r=r.root;return s}}function s(e,t,n,r){var o=i(e,t,r);return o||f(t,n||"Expected "+e),o}function c(e,t){for(var n=0;n<e.length;n++){var r=i(e[n],t);if(r)return r}}function m(t,n){e[t]=n}function f(e,t){t=(t||"Unexpected Token : "+e.currentToken().value)+"\n\n"+function(e){var t=e.currentToken(),n=e.source.split("\n"),r=n[t&&t.line?t.line-1:n.length-1];return r+"\n"+" ".repeat(t&&t.line?t.column:r.length-1)+"^^\n\n"}(e);var n=new Error(t);throw n.tokens=e,n}function p(e){return t[e.value]}function d(e){return n[e.value]}return m("feature",function(e,t,r){if(r.matchOpToken("(")){var o=e.requireElement("feature",r);return r.requireOpToken(")"),o}var a=n[r.currentToken().value];if(a)return a(e,t,r)}),m("command",function(e,n,r){if(r.matchOpToken("(")){const t=e.requireElement("command",r);return r.requireOpToken(")"),t}var o=t[r.currentToken().value];let a;return o?a=o(e,n,r):"IDENTIFIER"===r.currentToken().type&&(a=e.parseElement("pseudoCommand",r)),a?e.parseElement("indirectStatement",r,a):a}),m("commandList",function(e,t,n){var r=e.parseElement("command",n);if(r){n.matchToken("then");const t=e.parseElement("commandList",n);return t&&(r.next=t),r}}),m("leaf",function(e,t,n){var o=c(r,n);return null==o?i("symbol",n):o}),m("indirectExpression",function(e,t,n,r){for(var a=0;a<o.length;a++){var i=o[a];r.endToken=n.lastMatch();var u=e.parseElement(i,n,r);if(u)return u}return r}),m("indirectStatement",function(e,t,n,r){if(n.matchToken("unless")){r.endToken=n.lastMatch();var o={type:"unlessStatementModifier",args:[e.requireElement("expression",n)],op:function(e,t){return t?this.next:r},execute:function(e){return t.unifiedExec(this,e)}};return r.parent=o,o}return r}),m("primaryExpression",function(e,t,n){var r=e.parseElement("leaf",n);if(r)return e.parseElement("indirectExpression",n,r);e.raiseParseError(n,"Unexpected value: "+n.currentToken().value)}),{setParent:function e(t,n){"object"==typeof t&&(t.parent=n,"object"==typeof n&&(n.children=n.children||new Set,n.children.add(t)),e(t.next,n))},requireElement:s,parseElement:i,featureStart:d,commandStart:p,commandBoundary:function(e){return!("end"!=e.value&&"then"!=e.value&&"else"!=e.value&&"otherwise"!=e.value&&")"!=e.value&&!p(e)&&!d(e)&&"EOF"!=e.type)},parseAnyOf:c,parseHyperScript:function(e){var t=i("hyperscript",e);if(e.hasMore()&&f(e),t)return t},raiseParseError:f,addGrammarElement:m,addCommand:function(n,r){var o=n+"Command",a=function(e,t,n){const a=r(e,t,n);if(a)return a.type=o,a.execute=function(e){return e.meta.command=a,t.unifiedExec(this,e)},a};e[o]=a,t[n]=a},addFeature:function(t,r){var o=t+"Feature",a=function(e,n,a){var i=r(e,n,a);if(i)return i.isFeature=!0,i.keyword=t,i.type=o,i};e[o]=a,n[t]=a},addLeafExpression:function(e,t){r.push(e),m(e,t)},addIndirectExpression:function(e,t){o.push(e),m(e,t)},parseStringTemplate:function(e){var t=[""];do{if(t.push(e.lastWhitespace()),"$"===e.currentToken().value){e.consumeToken();var n=e.matchOpToken("{");t.push(s("expression",e)),n&&e.requireOpToken("}"),t.push("")}else if("\\"===e.currentToken().value)e.consumeToken(),e.consumeToken();else{var r=e.consumeToken();t[t.length-1]+=r?r.value:""}}while(e.hasMore());return t.push(e.lastWhitespace()),t},ensureTerminated:function(e){for(var t={type:"implicitReturn",op:function(e){return e.meta.returned=!0,e.meta.resolve&&e.meta.resolve(),l.HALT},execute:function(e){}},n=e;n.next;)n=n.next;n.next=t}}}(),s={dynamicResolvers:[function(e,t){if("Fixed"===e)return Number(t).toFixed();if(0===e.indexOf("Fixed:")){let n=e.split(":")[1];return Number(t).toFixed(parseInt(n))}}],String:function(e){return e.toString?e.toString():""+e},Int:function(e){return parseInt(e)},Float:function(e){return parseFloat(e)},Number:function(e){return Number(e)},Date:function(e){return new Date(e)},Array:function(e){return Array.from(e)},JSON:function(e){return JSON.stringify(e)},Object:function(t){return t instanceof String&&(t=t.toString()),"string"==typeof t?JSON.parse(t):e({},t)}},l=function(){function n(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return n&&n.call(e,t)}function c(e,t,n,r){(n=n||{}).sender=r;var a=function(e,t){var n;return o.Event&&"function"==typeof o.Event?(n=new Event(e,{bubbles:!0,cancelable:!0})).detail=t:(n=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,t),n}(t,n);return e.dispatchEvent(a)}function m(e){return Array.isArray(e)||"undefined"!=typeof NodeList&&(e instanceof NodeList||e instanceof HTMLCollection)}function f(e){return e instanceof a||m(e)}function p(e,t){if(null==e);else if(function(e){return"object"==typeof e&&Symbol.iterator in e&&"function"==typeof e[Symbol.iterator]}(e))for(const n of e)t(n);else if(m(e))for(var n=0;n<e.length;n++)t(e[n]);else t(e)}function d(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.asyncWrapper&&(e[t]=n.value),Array.isArray(n))for(var r=0;r<n.length;r++){var o=n[r];o.asyncWrapper&&(n[r]=o.value)}}}var h={};function v(e,t){var n=[t],r=!1,o=!1;if(e.args)for(var a=0;a<e.args.length;a++){var i=e.args[a];if(null==i)n.push(null);else if(Array.isArray(i)){for(var u=[],s=0;s<i.length;s++){var l=i[s];(c=l?l.evaluate(t):null)&&(c.then?r=!0:c.asyncWrapper&&(o=!0)),u.push(c)}n.push(u)}else if(i.evaluate){var c;(c=i.evaluate(t))&&(c.then?r=!0:c.asyncWrapper&&(o=!0)),n.push(c)}else n.push(i)}return r?new Promise(function(t,r){n=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];Array.isArray(r)?t.push(Promise.all(r)):t.push(r)}return t}(n),Promise.all(n).then(function(n){o&&d(n);try{var a=e.op.apply(e,n);t(a)}catch(e){r(e)}}).catch(function(e){r(e)})}):(o&&d(n),e.op.apply(e,n))}let E=null;function y(){return null==E&&(E=r.config.attributes.replace(/ /g,"").split(",")),E}function T(e){for(var t=0;t<y().length;t++){var n=y()[t];if(e.hasAttribute&&e.hasAttribute(n))return e.getAttribute(n)}return e instanceof HTMLScriptElement&&"text/hyperscript"===e.type?e.innerText:null}var k=new WeakMap;function g(e){var t=k.get(e);return void 0===t&&k.set(e,t={}),t}function x(t,n){t&&(e(n,g(t)),x(t.parentElement,n))}function b(e,t,n,r){var a={meta:{parser:u,lexer:i,runtime:l,owner:e,feature:t,iterators:{}},me:n,event:r,target:r?r.target:null,detail:r?r.detail:null,sender:r&&r.detail?r.detail.sender:null,body:"document"in o?document.body:null};return a.meta.ctx=a,x(e,a),a}function w(e){var t=i.tokenize(e);if(u.commandStart(t.currentToken())){var n=u.requireElement("commandList",t);return t.hasMore()&&u.raiseParseError(t),u.ensureTerminated(n),n}if(u.featureStart(t.currentToken())){var r=u.requireElement("hyperscript",t);return t.hasMore()&&u.raiseParseError(t),r}var o=u.requireElement("expression",t);return t.hasMore()&&u.raiseParseError(t),o}function q(e,t){if(!e.closest||!e.closest(r.config.disableSelector)){var n=N(e);if(!n.initialized){var o=T(e);if(o)try{n.initialized=!0,n.script=o;var a=i.tokenize(o),s=u.parseHyperScript(a);if(!s)return;s.apply(t||e,e),setTimeout(function(){c(t||e,"load",{hyperscript:!0})},1)}catch(t){l.triggerEvent(e,"exception",{error:t}),console.error("hyperscript errors were found on the following element:",e,"\n\n",t.message,t.stack)}}}}var S=new WeakMap;function N(e){var t=S.get(e);return void 0===t&&S.set(e,t={}),t}function L(e){var n=e.meta&&e.meta.owner;if(n){var r=N(n),o="elementScope";return e.meta.feature&&e.meta.feature.behavior&&(o=e.meta.feature.behavior+"Scope"),t(r,o)}return{}}function C(e,t,n){if(null!=e){var r=n(e,t);if(void 0!==r)return r;if(f(e)){var o=[];for(var a of e){var i=n(a,t);i&&o.push(i)}return o}}}return{typeCheck:function(e,t,n){return!(null!=e||!n)||Object.prototype.toString.call(e).slice(8,-1)===t},forEach:p,implicitLoop:function(e,t){if(f(e))for(const n of e)t(n);else t(e)},shouldAutoIterate:f,triggerEvent:c,matchesSelector:n,getScript:T,processNode:function(e){var t=l.getScriptSelector();n(e,t)&&q(e,e),e instanceof HTMLScriptElement&&"text/hyperscript"===e.type&&q(e,document.body),e.querySelectorAll&&p(e.querySelectorAll(t+", [type='text/hyperscript']"),function(e){q(e,e instanceof HTMLScriptElement&&"text/hyperscript"===e.type?document.body:e)})},evaluate:function(t,n,r){class a extends EventTarget{constructor(e){super(),this.module=e}toString(){return this.module.id}}var i="document"in o?o.document.body:new a(r&&r.module);n=e(b(i,null,i,null),n||{});var u=w(t);return u.execute?(u.execute(n),n.result):u.apply?(u.apply(i,i,r),g(i)):u.evaluate(n)},evaluateNoPromise:function(e,t){let n=e.evaluate(t);if(n.next)throw new Error(e.sourceFor()+" returned a Promise in a context that they are not allowed.");return n},parse:w,getScriptSelector:function(){return y().map(function(e){return"["+e+"]"}).join(", ")},resolveSymbol:function(e,t,n){if("me"===e||"my"===e||"I"===e)return t.me;if("it"===e||"its"===e)return t.result;if("you"===e||"your"===e||"yourself"===e)return t.beingTold;if("global"===n)return o[e];if("element"===n)return L(t)[e];if("local"===n)return t[e];if(t.meta&&t.meta.context){var r=t.meta.context[e];if(void 0!==r)return r}var a=t[e];return void 0!==a||void 0!==(a=L(t)[e])?a:o[e]},setSymbol:function(e,t,n,r){if("global"===n)o[e]=r;else if("element"===n)(a=L(t))[e]=r;else if("local"===n)t[e]=r;else{var a,i=t[e];void 0!==i?t[e]=r:void 0!==(i=(a=L(t))[e])?a[e]=r:t[e]=r}},makeContext:b,findNext:function e(t,n){if(t)return t.resolveNext?t.resolveNext(n):t.next?t.next:e(t.parent,n)},unifiedEval:v,convertValue:function(e,t){for(var n=s.dynamicResolvers,r=0;r<n.length;r++){var o=(0,n[r])(t,e);if(void 0!==o)return o}if(null==e)return null;var a=s[t];if(a)return a(e);throw"Unknown conversion : "+t},unifiedExec:function e(t,n){for(;;){try{var r=v(t,n)}catch(e){if(n.meta.handlingFinally)console.error(" Exception in finally block: ",e),r=h;else{if(l.registerHyperTrace(n,e),n.meta.errorHandler&&!n.meta.handlingError){n.meta.handlingError=!0,n[n.meta.errorSymbol]=e,t=n.meta.errorHandler;continue}n.meta.currentException=e,r=h}}if(null==r)return void console.error(t," did not return a next element to execute! context: ",n);if(r.then)return void r.then(function(t){e(t,n)}).catch(function(t){e({op:function(){throw t}},n)});if(r===h){if(!n.meta.finallyHandler||n.meta.handlingFinally){if(n.meta.onHalt&&n.meta.onHalt(),n.meta.currentException){if(n.meta.reject)return void n.meta.reject(n.meta.currentException);throw n.meta.currentException}return}n.meta.handlingFinally=!0,t=n.meta.finallyHandler}else t=r}},resolveProperty:function(e,t){return C(e,t,(e,t)=>e[t])},resolveAttribute:function(e,t){return C(e,t,(e,t)=>e.getAttribute&&e.getAttribute(t))},resolveStyle:function(e,t){return C(e,t,(e,t)=>e.style&&e.style[t])},resolveComputedStyle:function(e,t){return C(e,t,(e,t)=>getComputedStyle(e).getPropertyValue(t))},assignToNamespace:function(e,t,n,r){let a;for(a="undefined"!=typeof document&&e===document.body?o:g(e);t.length>0;){var i=t.shift(),u=a[i];null==u&&(a[i]=u={}),a=u}a[n]=r},registerHyperTrace:function(e,t){for(var n=[],r=null;null!=e;)n.push(e),r=e,e=e.meta.caller;null==r.meta.traceMap&&(r.meta.traceMap=new Map),r.meta.traceMap.get(t)||r.meta.traceMap.set(t,{trace:n,print:function(e){(e=e||console.error)("hypertrace /// ");for(var t=0,r=0;r<n.length;r++)t=Math.max(t,n[r].meta.feature.displayName.length);for(r=0;r<n.length;r++){var o=n[r];e(" ->",o.meta.feature.displayName.padEnd(t+2),"-",o.meta.owner)}}})},getHyperTrace:function(e,t){for(var n=e;n.meta.caller;)n=n.meta.caller;if(n.meta.traceMap)return n.meta.traceMap.get(t,[])},getInternalData:N,getHyperscriptFeatures:g,escapeSelector:function(e){return e.replace(/:/g,function(e){return"\\"+e})},nullCheck:function(e,t){if(null==e)throw new Error("'"+t.sourceFor()+"' is null")},isEmpty:function(e){return null==e||0===e.length},doesExist:function(e){if(null==e)return!1;if(f(e))for(const t of e)return!0;return!1},getRootNode:function(e){if(e&&e instanceof Node){var t=e.getRootNode();if(t instanceof Document||t instanceof ShadowRoot)return t}return document},getEventQueueFor:function(e,t){let n=N(e);var r=n.eventQueues;null==r&&(r=new Map,n.eventQueues=r);var o=r.get(t);return null==o&&r.set(t,o={queue:[],executing:!1}),o},hyperscriptUrl:"document"in o?import.meta.url:null,HALT:h}}();{u.addLeafExpression("parenthesized",function(e,t,n){if(n.matchOpToken("(")){var r=n.clearFollow();try{var o=e.requireElement("expression",n)}finally{n.restoreFollow(r)}return n.requireOpToken(")"),o}}),u.addLeafExpression("string",function(e,t,n){var r=n.matchTokenType("STRING");if(r){var o,a=r.value;if(r.template){var u=i.tokenize(a,!0);o=e.parseStringTemplate(u)}else o=[];return{type:"string",token:r,args:o,op:function(e){for(var t="",n=1;n<arguments.length;n++){var r=arguments[n];void 0!==r&&(t+=r)}return t},evaluate:function(e){return 0===o.length?a:t.unifiedEval(this,e)}}}}),u.addGrammarElement("nakedString",function(e,t,n){if(n.hasMore()){var r=n.consumeUntilWhitespace();return n.matchTokenType("WHITESPACE"),{type:"nakedString",tokens:r,evaluate:function(e){return r.map(function(e){return e.value}).join("")}}}}),u.addLeafExpression("number",function(e,t,n){var r=n.matchTokenType("NUMBER");if(r){var o=r,a=parseFloat(r.value);return{type:"number",value:a,numberToken:o,evaluate:function(){return a}}}}),u.addLeafExpression("idRef",function(e,t,n){var r=n.matchTokenType("ID_REF");if(r){if(r.template){var o=r.value.substr(2,r.value.length-2),a=i.tokenize(o);return{type:"idRefTemplate",args:[e.requireElement("expression",a)],op:function(e,n){return t.getRootNode(e.me).getElementById(n)},evaluate:function(e){return t.unifiedEval(this,e)}}}{const e=r.value.substr(1);return{type:"idRef",css:r.value,value:e,evaluate:function(n){return t.getRootNode(n.me).getElementById(e)}}}}}),u.addLeafExpression("classRef",function(e,t,n){var r=n.matchTokenType("CLASS_REF");if(r){if(r.template){var o=r.value.substr(2,r.value.length-2),u=i.tokenize(o);return{type:"classRefTemplate",args:[e.requireElement("expression",u)],op:function(e,t){return new a("."+t,e.me,!0)},evaluate:function(e){return t.unifiedEval(this,e)}}}{const e=r.value;return{type:"classRef",css:e,evaluate:function(t){return new a(e,t.me,!0)}}}}});class r extends a{constructor(e,t,n){super(e,t),this.templateParts=n,this.elements=n.filter(e=>e instanceof Element)}get css(){let e="",t=0;for(const n of this.templateParts)n instanceof Element?e+="[data-hs-query-id='"+t+++"']":e+=n;return e}[Symbol.iterator](){this.elements.forEach((e,t)=>e.dataset.hsQueryId=t);const e=super[Symbol.iterator]();return this.elements.forEach(e=>e.removeAttribute("data-hs-query-id")),e}}u.addLeafExpression("queryRef",function(e,t,n){if(n.matchOpToken("<")){var o=n.consumeUntil("/");n.requireOpToken("/"),n.requireOpToken(">");var u=o.map(function(e){return"STRING"===e.type?'"'+e.value+'"':e.value}).join("");if(u.indexOf("$")>=0)var s=!0,l=i.tokenize(u,!0),c=e.parseStringTemplate(l);return{type:"queryRef",css:u,args:c,op:function(e,...t){return s?new r(u,e.me,t):new a(u,e.me)},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addLeafExpression("attributeRef",function(e,t,n){var r=n.matchTokenType("ATTRIBUTE_REF");if(r){var o=r.value;if(0===o.indexOf("["))var a=o.substring(2,o.length-1);else a=o.substring(1);var i="["+a+"]",u=a.split("="),s=u[0],l=u[1];return l&&0===l.indexOf('"')&&(l=l.substring(1,l.length-1)),{type:"attributeRef",name:s,css:i,value:l,op:function(e){var t=e.beingTold||e.me;if(t)return t.getAttribute(s)},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addLeafExpression("styleRef",function(e,t,n){var r=n.matchTokenType("STYLE_REF");if(r){var o=r.value.substr(1);return o.startsWith("computed-")?{type:"computedStyleRef",name:o=o.substr("computed-".length),op:function(e){var n=e.beingTold||e.me;if(n)return t.resolveComputedStyle(n,o)},evaluate:function(e){return t.unifiedEval(this,e)}}:{type:"styleRef",name:o,op:function(e){var n=e.beingTold||e.me;if(n)return t.resolveStyle(n,o)},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("objectKey",function(e,t,n){var r;if(r=n.matchTokenType("STRING"))return{type:"objectKey",key:r.value,evaluate:function(){return r.value}};if(n.matchOpToken("[")){var o=e.parseElement("expression",n);return n.requireOpToken("]"),{type:"objectKey",expr:o,args:[o],op:function(e,t){return t},evaluate:function(e){return t.unifiedEval(this,e)}}}var a="";do{(r=n.matchTokenType("IDENTIFIER")||n.matchOpToken("-"))&&(a+=r.value)}while(r);return{type:"objectKey",key:a,evaluate:function(){return a}}}),u.addLeafExpression("objectLiteral",function(e,t,n){if(n.matchOpToken("{")){var r=[],o=[];if(!n.matchOpToken("}")){do{var a=e.requireElement("objectKey",n);n.requireOpToken(":");var i=e.requireElement("expression",n);o.push(i),r.push(a)}while(n.matchOpToken(","));n.requireOpToken("}")}return{type:"objectLiteral",args:[r,o],op:function(e,t,n){for(var r={},o=0;o<t.length;o++)r[t[o]]=n[o];return r},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("nakedNamedArgumentList",function(e,t,n){var r=[],o=[];if("IDENTIFIER"===n.currentToken().type)do{var a=n.requireTokenType("IDENTIFIER");n.requireOpToken(":");var i=e.requireElement("expression",n);o.push(i),r.push({name:a,value:i})}while(n.matchOpToken(","));return{type:"namedArgumentList",fields:r,args:[o],op:function(e,t){for(var n={_namedArgList_:!0},o=0;o<t.length;o++)n[r[o].name.value]=t[o];return n},evaluate:function(e){return t.unifiedEval(this,e)}}}),u.addGrammarElement("namedArgumentList",function(e,t,n){if(n.matchOpToken("(")){var r=e.requireElement("nakedNamedArgumentList",n);return n.requireOpToken(")"),r}}),u.addGrammarElement("symbol",function(e,t,n){var r="default";n.matchToken("global")?r="global":n.matchToken("element")||n.matchToken("module")?(r="element",n.matchOpToken("'")&&n.requireToken("s")):n.matchToken("local")&&(r="local");let o=n.matchOpToken(":"),a=n.matchTokenType("IDENTIFIER");if(a){var i=a.value;return o&&(i=":"+i),"default"===r&&(0===i.indexOf("$")&&(r="global"),0===i.indexOf(":")&&(r="element")),{type:"symbol",token:a,scope:r,name:i,evaluate:function(e){return t.resolveSymbol(i,e,r)}}}}),u.addGrammarElement("implicitMeTarget",function(e,t,n){return{type:"implicitMeTarget",evaluate:function(e){return e.beingTold||e.me}}}),u.addLeafExpression("boolean",function(e,t,n){var r=n.matchToken("true")||n.matchToken("false");if(!r)return;const o="true"===r.value;return{type:"boolean",evaluate:function(e){return o}}}),u.addLeafExpression("null",function(e,t,n){if(n.matchToken("null"))return{type:"null",evaluate:function(e){return null}}}),u.addLeafExpression("arrayLiteral",function(e,t,n){if(n.matchOpToken("[")){var r=[];if(!n.matchOpToken("]")){do{var o=e.requireElement("expression",n);r.push(o)}while(n.matchOpToken(","));n.requireOpToken("]")}return{type:"arrayLiteral",values:r,args:[r],op:function(e,t){return t},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addLeafExpression("blockLiteral",function(e,t,n){if(n.matchOpToken("\\")){var r=[],o=n.matchTokenType("IDENTIFIER");if(o)for(r.push(o);n.matchOpToken(",");)r.push(n.requireTokenType("IDENTIFIER"));n.requireOpToken("-"),n.requireOpToken(">");var a=e.requireElement("expression",n);return{type:"blockLiteral",args:r,expr:a,evaluate:function(e){return function(){for(var t=0;t<r.length;t++)e[r[t].value]=arguments[t];return a.evaluate(e)}}}}}),u.addIndirectExpression("propertyAccess",function(e,t,n,r){if(n.matchOpToken(".")){var o=n.requireTokenType("IDENTIFIER");return e.parseElement("indirectExpression",n,{type:"propertyAccess",root:r,prop:o,args:[r],op:function(e,n){return t.resolveProperty(n,o.value)},evaluate:function(e){return t.unifiedEval(this,e)}})}}),u.addIndirectExpression("of",function(e,t,n,r){if(n.matchToken("of")){for(var o=e.requireElement("unaryExpression",n),a=null,i=r;i.root;)a=i,i=i.root;"symbol"!==i.type&&"attributeRef"!==i.type&&"styleRef"!==i.type&&"computedStyleRef"!==i.type&&e.raiseParseError(n,"Cannot take a property of a non-symbol: "+i.type);var u="attributeRef"===i.type,s="styleRef"===i.type||"computedStyleRef"===i.type;if(u||s)var l=i;var c=i.name,m={type:"ofExpression",prop:i.token,root:o,attribute:l,expression:r,args:[o],op:function(e,n){return u?t.resolveAttribute(n,c):s?"computedStyleRef"===i.type?t.resolveComputedStyle(n,c):t.resolveStyle(n,c):t.resolveProperty(n,c)},evaluate:function(e){return t.unifiedEval(this,e)}};return"attributeRef"===i.type&&(m.attribute=i),a?(a.root=m,a.args=[m]):r=m,e.parseElement("indirectExpression",n,r)}}),u.addIndirectExpression("possessive",function(e,t,n,r){if(!e.possessivesDisabled){var o=n.matchOpToken("'");if(o||"symbol"===r.type&&("my"===r.name||"its"===r.name||"your"===r.name)&&("IDENTIFIER"===n.currentToken().type||"ATTRIBUTE_REF"===n.currentToken().type||"STYLE_REF"===n.currentToken().type)){o&&n.requireToken("s");var a=e.parseElement("attributeRef",n);if(null==a){var i=e.parseElement("styleRef",n);if(null==i)var u=n.requireTokenType("IDENTIFIER")}return e.parseElement("indirectExpression",n,{type:"possessive",root:r,attribute:a||i,prop:u,args:[r],op:function(e,n){if(a)var r=t.resolveAttribute(n,a.name);else r=i?"computedStyleRef"===i.type?t.resolveComputedStyle(n,i.name):t.resolveStyle(n,i.name):t.resolveProperty(n,u.value);return r},evaluate:function(e){return t.unifiedEval(this,e)}})}}}),u.addIndirectExpression("inExpression",function(e,t,n,r){if(n.matchToken("in")){var o={type:"inExpression",root:r,args:[r,e.requireElement("unaryExpression",n)],op:function(e,n,r){var o=[];if(n.css)t.implicitLoop(r,function(e){for(var t=e.querySelectorAll(n.css),r=0;r<t.length;r++)o.push(t[r])});else if(n instanceof Element){var a=!1;if(t.implicitLoop(r,function(e){e.contains(n)&&(a=!0)}),a)return n}else t.implicitLoop(n,function(e){t.implicitLoop(r,function(t){e===t&&o.push(e)})});return o},evaluate:function(e){return t.unifiedEval(this,e)}};return e.parseElement("indirectExpression",n,o)}}),u.addIndirectExpression("asExpression",function(e,t,n,r){if(n.matchToken("as")){n.matchToken("a")||n.matchToken("an");var o=e.requireElement("dotOrColonPath",n).evaluate();return e.parseElement("indirectExpression",n,{type:"asExpression",root:r,args:[r],op:function(e,n){return t.convertValue(n,o)},evaluate:function(e){return t.unifiedEval(this,e)}})}}),u.addIndirectExpression("functionCall",function(e,t,n,r){if(n.matchOpToken("(")){var o=[];if(!n.matchOpToken(")")){do{o.push(e.requireElement("expression",n))}while(n.matchOpToken(","));n.requireOpToken(")")}if(r.root)var a={type:"functionCall",root:r,argExressions:o,args:[r.root,o],op:function(e,n,o){t.nullCheck(n,r.root);var a=n[r.prop.value];return t.nullCheck(a,r),a.hyperfunc&&o.push(e),a.apply(n,o)},evaluate:function(e){return t.unifiedEval(this,e)}};else a={type:"functionCall",root:r,argExressions:o,args:[r,o],op:function(e,n,o){return t.nullCheck(n,r),n.hyperfunc&&o.push(e),n.apply(null,o)},evaluate:function(e){return t.unifiedEval(this,e)}};return e.parseElement("indirectExpression",n,a)}}),u.addIndirectExpression("attributeRefAccess",function(e,t,n,r){var o=e.parseElement("attributeRef",n);if(o)return{type:"attributeRefAccess",root:r,attribute:o,args:[r],op:function(e,n){return t.resolveAttribute(n,o.name)},evaluate:function(e){return l.unifiedEval(this,e)}}}),u.addIndirectExpression("arrayIndex",function(e,t,n,r){if(n.matchOpToken("[")){var o=!1,a=!1,i=null,s=null;n.matchOpToken("..")?(o=!0,i=e.requireElement("expression",n)):(i=e.requireElement("expression",n),n.matchOpToken("..")&&(a=!0,"R_BRACKET"!==n.currentToken().type&&(s=e.parseElement("expression",n)))),n.requireOpToken("]");var c={type:"arrayIndex",root:r,prop:i,firstIndex:i,secondIndex:s,args:[r,i,s],op:function(e,t,n,r){return null==t?null:o?(n<0&&(n=t.length+n),t.slice(0,n+1)):a?null!=r?(r<0&&(r=t.length+r),t.slice(n,r+1)):t.slice(n):t[n]},evaluate:function(e){return l.unifiedEval(this,e)}};return u.parseElement("indirectExpression",n,c)}});var c=["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","pc","pt","px"];u.addGrammarElement("postfixExpression",function(e,t,n){var r=e.parseElement("primaryExpression",n);let o=n.matchAnyToken.apply(n,c)||n.matchOpToken("%");if(o)return{type:"stringPostfix",postfix:o.value,args:[r],op:function(e,t){return""+t+o.value},evaluate:function(e){return t.unifiedEval(this,e)}};var a=null;if(n.matchToken("s")||n.matchToken("seconds")?a=1e3:(n.matchToken("ms")||n.matchToken("milliseconds"))&&(a=1),a)return{type:"timeExpression",time:r,factor:a,args:[r],op:function(e,t){return t*a},evaluate:function(e){return t.unifiedEval(this,e)}};if(n.matchOpToken(":")){var i=n.requireTokenType("IDENTIFIER"),u=!n.matchOpToken("!");return{type:"typeCheck",typeName:i,nullOk:u,args:[r],op:function(e,n){if(t.typeCheck(n,i.value,u))return n;throw new Error("Typecheck failed! Expected: "+i.value)},evaluate:function(e){return t.unifiedEval(this,e)}}}return r}),u.addGrammarElement("logicalNot",function(e,t,n){if(n.matchToken("not")){var r=e.requireElement("unaryExpression",n);return{type:"logicalNot",root:r,args:[r],op:function(e,t){return!t},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("noExpression",function(e,t,n){if(n.matchToken("no")){var r=e.requireElement("unaryExpression",n);return{type:"noExpression",root:r,args:[r],op:function(e,n){return t.isEmpty(n)},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addLeafExpression("some",function(e,t,n){if(n.matchToken("some")){var r=e.requireElement("expression",n);return{type:"noExpression",root:r,args:[r],op:function(e,n){return!t.isEmpty(n)},evaluate(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("negativeNumber",function(e,t,n){if(n.matchOpToken("-")){var r=e.requireElement("unaryExpression",n);return{type:"negativeNumber",root:r,args:[r],op:function(e,t){return-1*t},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("unaryExpression",function(e,t,n){return n.matchToken("the"),e.parseAnyOf(["beepExpression","logicalNot","relativePositionalExpression","positionalExpression","noExpression","negativeNumber","postfixExpression"],n)}),u.addGrammarElement("beepExpression",function(e,t,n){if(n.matchToken("beep!")){var r=e.parseElement("unaryExpression",n);if(r){r.booped=!0;var o=r.evaluate;return r.evaluate=function(e){let n=o.apply(r,arguments),i=e.me;if(t.triggerEvent(i,"hyperscript:beep",{element:i,expression:r,value:n})){var u,s=n;"String"===(u=n?n instanceof a?"ElementCollection":n.constructor?n.constructor.name:"unknown":"object (null)")?s='"'+s+'"':n instanceof a&&(s=Array.from(n)),console.log("///_ BEEP! The expression ("+r.sourceFor().substr(6)+") evaluates to:",s,"of type "+u)}return n},r}}});var m=function(e,t,n,r){var o=[];l.forEach(t,function(t){(t.matches(n)||t===e)&&o.push(t)});for(var a=0;a<o.length-1;a++)if(o[a]===e)return o[a+1];if(r){var i=o[0];if(i&&i.matches(n))return i}};function f(e,t,n){if(t.contains)return t.contains(n);if(t.includes)return t.includes(n);throw Error("The value of "+e.sourceFor()+" does not have a contains or includes method on it")}function p(e,t,n){if(t.match)return!!t.match(n);if(t.matches)return t.matches(n);throw Error("The value of "+e.sourceFor()+" does not have a match or matches method on it")}u.addGrammarElement("relativePositionalExpression",function(e,t,n){var r=n.matchAnyToken("next","previous");if(r){if("next"===r.value)var o=!0;var a=e.parseElement("expression",n);if(n.matchToken("from")){n.pushFollow("in");try{var i=e.requireElement("unaryExpression",n)}finally{n.popFollow()}}else i=e.requireElement("implicitMeTarget",n);var u,s=!1;if(n.matchToken("in")){s=!0;var l=e.requireElement("unaryExpression",n)}else u=n.matchToken("within")?e.requireElement("unaryExpression",n):document.body;var c=!1;return n.matchToken("with")&&(n.requireToken("wrapping"),c=!0),{type:"relativePositionalExpression",from:i,forwardSearch:o,inSearch:s,wrapping:c,inElt:l,withinElt:u,operator:r.value,args:[a,i,l,u],op:function(e,t,n,r,a){var i,u,l=t.css;if(null==l)throw"Expected a CSS value";if(s){if(r)return o?m(n,r,l,c):(i=l,u=c,m(n,Array.from(r).reverse(),i,u))}else if(a)return o?function(e,t,n,r){for(var o=t.querySelectorAll(n),a=0;a<o.length;a++){var i=o[a];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_PRECEDING)return i}if(r)return o[0]}(n,a,l,c):function(e,t,n,r){for(var o=t.querySelectorAll(n),a=o.length-1;a>=0;a--){var i=o[a];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING)return i}if(r)return o[o.length-1]}(n,a,l,c)},evaluate:function(e){return t.unifiedEval(this,e)}}}}),u.addGrammarElement("positionalExpression",function(e,t,n){var r=n.matchAnyToken("first","last","random");if(!r)return;n.matchAnyToken("in","from","of");var o=e.requireElement("unaryExpression",n);const a=r.value;return{type:"positionalExpression",rhs:o,operator:r.value,args:[o],op:function(e,t){if(t&&!Array.isArray(t)&&(t=t.children?t.children:Array.from(t)),t){if("first"===a)return t[0];if("last"===a)return t[t.length-1];if("random"===a)return t[Math.floor(Math.random()*t.length)]}},evaluate:function(e){return t.unifiedEval(this,e)}}}),u.addGrammarElement("mathOperator",function(e,t,n){var r,o=e.parseElement("unaryExpression",n),a=null;for(r=n.matchAnyOpToken("+","-","*","/","%");r;){var i=r.value;(a=a||r).value!==i&&e.raiseParseError(n,"You must parenthesize math operations with different operators");var u=e.parseElement("unaryExpression",n);o={type:"mathOperator",lhs:o,rhs:u,operator:i,args:[o,u],op:function(e,t,n){return"+"===i?t+n:"-"===i?t-n:"*"===i?t*n:"/"===i?t/n:"%"===i?t%n:void 0},evaluate:function(e){return t.unifiedEval(this,e)}},r=n.matchAnyOpToken("+","-","*","/","%")}return o}),u.addGrammarElement("mathExpression",function(e,t,n){return e.parseAnyOf(["mathOperator","unaryExpression"],n)}),u.addGrammarElement("comparisonOperator",function(e,t,n){var r=e.parseElement("mathExpression",n),o=n.matchAnyOpToken("<",">","<=",">=","==","===","!=","!=="),a=o?o.value:null,i=!0,u=!1;if(null==a&&(n.matchToken("is")||n.matchToken("am")?n.matchToken("not")?n.matchToken("in")?a="not in":n.matchToken("a")?(a="not a",u=!0):n.matchToken("empty")?(a="not empty",i=!1):a="!=":n.matchToken("in")?a="in":n.matchToken("a")?(a="a",u=!0):n.matchToken("empty")?(a="empty",i=!1):n.matchToken("less")?(n.requireToken("than"),n.matchToken("or")?(n.requireToken("equal"),n.requireToken("to"),a="<="):a="<"):n.matchToken("greater")?(n.requireToken("than"),n.matchToken("or")?(n.requireToken("equal"),n.requireToken("to"),a=">="):a=">"):a="==":n.matchToken("exist")||n.matchToken("exists")?(a="exist",i=!1):n.matchToken("matches")||n.matchToken("match")?a="match":n.matchToken("contains")||n.matchToken("contain")?a="contain":n.matchToken("includes")||n.matchToken("include")?a="include":(n.matchToken("do")||n.matchToken("does"))&&(n.requireToken("not"),n.matchToken("matches")||n.matchToken("match")?a="not match":n.matchToken("contains")||n.matchToken("contain")?a="not contain":n.matchToken("exist")||n.matchToken("exist")?(a="not exist",i=!1):n.matchToken("include")?a="not include":e.raiseParseError(n,"Expected matches or contains"))),a){if(u)var s=n.requireTokenType("IDENTIFIER"),l=!n.matchOpToken("!");else if(i){var c=e.requireElement("mathExpression",n);"match"!==a&&"not match"!==a||(c=c.css?c.css:c)}var m=r;r={type:"comparisonOperator",operator:a,typeName:s,nullOk:l,lhs:r,rhs:c,args:[r,c],op:function(e,n,r){if("=="===a)return n==r;if("!="===a)return n!=r;if("match"===a)return null!=n&&p(m,n,r);if("not match"===a)return null==n||!p(m,n,r);if("in"===a)return null!=r&&f(c,r,n);if("not in"===a)return null==r||!f(c,r,n);if("contain"===a)return null!=n&&f(m,n,r);if("not contain"===a)return null==n||!f(m,n,r);if("include"===a)return null!=n&&f(m,n,r);if("not include"===a)return null==n||!f(m,n,r);if("==="===a)return n===r;if("!=="===a)return n!==r;if("<"===a)return n<r;if(">"===a)return n>r;if("<="===a)return n<=r;if(">="===a)return n>=r;if("empty"===a)return t.isEmpty(n);if("not empty"===a)return!t.isEmpty(n);if("exist"===a)return t.doesExist(n);if("not exist"===a)return!t.doesExist(n);if("a"===a)return t.typeCheck(n,s.value,l);if("not a"===a)return!t.typeCheck(n,s.value,l);throw"Unknown comparison : "+a},evaluate:function(e){return t.unifiedEval(this,e)}}}return r}),u.addGrammarElement("comparisonExpression",function(e,t,n){return e.parseAnyOf(["comparisonOperator","mathExpression"],n)}),u.addGrammarElement("logicalOperator",function(e,t,n){var r,o=e.parseElement("comparisonExpression",n),a=null;for(r=n.matchToken("and")||n.matchToken("or");r;){(a=a||r).value!==r.value&&e.raiseParseError(n,"You must parenthesize logical operations with different operators");var i=e.requireElement("comparisonExpression",n);const u=r.value;o={type:"logicalOperator",operator:u,lhs:o,rhs:i,args:[o,i],op:function(e,t,n){return"and"===u?t&&n:t||n},evaluate:function(e){return t.unifiedEval(this,e)}},r=n.matchToken("and")||n.matchToken("or")}return o}),u.addGrammarElement("logicalExpression",function(e,t,n){return e.parseAnyOf(["logicalOperator","mathExpression"],n)}),u.addGrammarElement("asyncExpression",function(e,t,n){return n.matchToken("async")?{type:"asyncExpression",value:e.requireElement("logicalExpression",n),evaluate:function(e){return{asyncWrapper:!0,value:this.value.evaluate(e)}}}:e.parseElement("logicalExpression",n)}),u.addGrammarElement("expression",function(e,t,n){return n.matchToken("the"),e.parseElement("asyncExpression",n)}),u.addGrammarElement("assignableExpression",function(e,t,n){n.matchToken("the");var r=e.parseElement("primaryExpression",n);return!r||"symbol"!==r.type&&"ofExpression"!==r.type&&"propertyAccess"!==r.type&&"attributeRefAccess"!==r.type&&"attributeRef"!==r.type&&"styleRef"!==r.type&&"arrayIndex"!==r.type&&"possessive"!==r.type?(u.raiseParseError(n,"A target expression must be writable. The expression type '"+(r&&r.type)+"' is not."),r):r}),u.addGrammarElement("hyperscript",function(e,t,n){var r=[];if(n.hasMore())for(;e.featureStart(n.currentToken())||"("===n.currentToken().value;){var o=e.requireElement("feature",n);r.push(o),n.matchToken("end")}return{type:"hyperscript",features:r,apply:function(e,t,n){for(const o of r)o.install(e,t,n)}}});var d=function(e){var t=[];if("("===e.token(0).value&&(")"===e.token(1).value||","===e.token(2).value||")"===e.token(2).value)){e.matchOpToken("(");do{t.push(e.requireTokenType("IDENTIFIER"))}while(e.matchOpToken(","));e.requireOpToken(")")}return t};function h(e,t,n,r){var o=t.requireElement("eventName",r),a=t.parseElement("namedArgumentList",r);if("send"===e&&r.matchToken("to")||"trigger"===e&&r.matchToken("on"))var i=t.requireElement("expression",r);else i=t.requireElement("implicitMeTarget",r);var u={eventName:o,details:a,to:i,args:[i,o,a],op:function(e,t,r,o){return n.nullCheck(t,i),n.forEach(t,function(t){n.triggerEvent(t,r,o,e.me)}),n.findNext(u,e)}};return u}u.addFeature("on",function(t,n,r){if(r.matchToken("on")){var o=!1;r.matchToken("every")&&(o=!0);var a=[],i=null;do{var u=t.requireElement("eventName",r,"Expected event name").evaluate();i=i?i+" or "+u:"on "+u;var s=d(r),c=null;if(r.matchOpToken("[")&&(c=t.requireElement("expression",r),r.requireOpToken("]")),"NUMBER"===r.currentToken().type){var m=r.consumeToken(),f=parseInt(m.value);if(r.matchToken("to"))var p=r.consumeToken(),h=parseInt(p.value);else if(r.matchToken("and")){var v=!0;r.requireToken("on")}}if("intersection"===u){var E={};if(r.matchToken("with")&&(E.with=t.requireElement("expression",r).evaluate()),r.matchToken("having"))do{r.matchToken("margin")?E.rootMargin=t.requireElement("stringLike",r).evaluate():r.matchToken("threshold")?E.threshold=t.requireElement("expression",r).evaluate():t.raiseParseError(r,"Unknown intersection config specification")}while(r.matchToken("and"))}else if("mutation"===u){var y={};if(r.matchToken("of"))do{if(r.matchToken("anything"))y.attributes=!0,y.subtree=!0,y.characterData=!0,y.childList=!0;else if(r.matchToken("childList"))y.childList=!0;else if(r.matchToken("attributes"))y.attributes=!0,y.attributeOldValue=!0;else if(r.matchToken("subtree"))y.subtree=!0;else if(r.matchToken("characterData"))y.characterData=!0,y.characterDataOldValue=!0;else if("ATTRIBUTE_REF"===r.currentToken().type){var T=r.consumeToken();null==y.attributeFilter&&(y.attributeFilter=[]),0==T.value.indexOf("@")?y.attributeFilter.push(T.value.substring(1)):t.raiseParseError(r,"Only shorthand attribute references are allowed here")}else t.raiseParseError(r,"Unknown mutation config specification")}while(r.matchToken("or"));else y.attributes=!0,y.characterData=!0,y.childList=!0}var k=null,g=!1;if(r.matchToken("from")&&(r.matchToken("elsewhere")?g=!0:(k=t.parseElement("expression",r))||t.raiseParseError(r,'Expected either target value or "elsewhere".')),null===k&&!1===g&&r.matchToken("elsewhere")&&(g=!0),r.matchToken("in"))var x=t.parseElement("unaryExpression",r);if(r.matchToken("debounced")){r.requireToken("at");var b=t.requireElement("expression",r).evaluate({})}else if(r.matchToken("throttled")){r.requireToken("at");var w=t.requireElement("expression",r).evaluate({})}a.push({execCount:0,every:o,on:u,args:s,filter:c,from:k,inExpr:x,elsewhere:g,startCount:f,endCount:h,unbounded:v,debounceTime:b,throttleTime:w,mutationSpec:y,intersectionSpec:E,debounced:void 0,lastExec:void 0})}while(r.matchToken("or"));var q=!0;if(!o&&r.matchToken("queue"))if(r.matchToken("all"))q=!1;else if(r.matchToken("first"))var S=!0;else if(r.matchToken("none"))var N=!0;else r.requireToken("last");var L=t.requireElement("commandList",r);if(t.ensureTerminated(L),r.matchToken("catch")){var C=r.requireTokenType("IDENTIFIER").value,I=t.requireElement("commandList",r);t.ensureTerminated(I)}if(r.matchToken("finally")){var O=t.requireElement("commandList",r);t.ensureTerminated(O)}var R={displayName:i,events:a,start:L,every:o,execCount:0,errorHandler:I,errorSymbol:C,execute:function(e){let t=n.getEventQueueFor(e.me,R);if(t.executing&&!1===o){if(N||S&&t.queue.length>0)return;return q&&(t.queue.length=0),void t.queue.push(e)}R.execCount++,t.executing=!0,e.meta.onHalt=function(){t.executing=!1;var e=t.queue.shift();e&&setTimeout(function(){R.execute(e)},1)},e.meta.reject=function(t){console.error(t.message?t.message:t);var r=n.getHyperTrace(e,t);r&&r.print(),n.triggerEvent(e.me,"exception",{error:t})},L.execute(e)},install:function(t,r){for(const r of R.events){var o;o=r.elsewhere?[document]:r.from?r.from.evaluate(n.makeContext(t,R,t,null)):[t],n.implicitLoop(o,function(o){var a=r.on;if(r.mutationSpec&&(a="hyperscript:mutation",new MutationObserver(function(e,t){R.executing||l.triggerEvent(o,a,{mutationList:e,observer:t})}).observe(o,r.mutationSpec)),r.intersectionSpec){a="hyperscript:insersection";const t=new IntersectionObserver(function(n){for(const i of n){var r={observer:t};(r=e(r,i)).intersecting=i.isIntersecting,l.triggerEvent(o,a,r)}},r.intersectionSpec);t.observe(o)}(o.addEventListener||o.on).call(o,a,function e(i){if("undefined"!=typeof Node&&t instanceof Node&&o!==t&&!t.isConnected)o.removeEventListener(a,e);else{var u=n.makeContext(t,R,t,i);if(!r.elsewhere||!t.contains(i.target)){r.from&&(u.result=o);for(const e of r.args){let t=u.event[e.value];void 0!==t?u[e.value]=t:"detail"in u.event&&(u[e.value]=u.event.detail[e.value])}if(u.meta.errorHandler=I,u.meta.errorSymbol=C,u.meta.finallyHandler=O,r.filter){var s=u.meta.context;u.meta.context=u.event;try{if(!r.filter.evaluate(u))return}finally{u.meta.context=s}}if(r.inExpr)for(var l=i.target;;){if(l.matches&&l.matches(r.inExpr.css)){u.result=l;break}if(null==(l=l.parentElement))return}if(r.execCount++,r.startCount)if(r.endCount){if(r.execCount<r.startCount||r.execCount>r.endCount)return}else if(r.unbounded){if(r.execCount<r.startCount)return}else if(r.execCount!==r.startCount)return;if(r.debounceTime)return r.debounced&&clearTimeout(r.debounced),void(r.debounced=setTimeout(function(){R.execute(u)},r.debounceTime));if(r.throttleTime){if(r.lastExec&&Date.now()<r.lastExec+r.throttleTime)return;r.lastExec=Date.now()}R.execute(u)}}})})}}};return t.setParent(L,R),R}}),u.addFeature("def",function(e,t,n){if(n.matchToken("def")){var r=e.requireElement("dotOrColonPath",n).evaluate(),o=r.split("."),a=o.pop(),i=[];if(n.matchOpToken("("))if(n.matchOpToken(")"));else{do{i.push(n.requireTokenType("IDENTIFIER"))}while(n.matchOpToken(","));n.requireOpToken(")")}var u=e.requireElement("commandList",n);if(n.matchToken("catch"))var s=n.requireTokenType("IDENTIFIER").value,l=e.parseElement("commandList",n);if(n.matchToken("finally")){var c=e.requireElement("commandList",n);e.ensureTerminated(c)}var m={displayName:a+"("+i.map(function(e){return e.value}).join(", ")+")",name:a,args:i,start:u,errorHandler:l,errorSymbol:s,finallyHandler:c,install:function(e,n){var f=function(){var r=t.makeContext(n,m,e,null);r.meta.errorHandler=l,r.meta.errorSymbol=s,r.meta.finallyHandler=c;for(var o=0;o<i.length;o++){var a=i[o],f=arguments[o];a&&(r[a.value]=f)}r.meta.caller=arguments[i.length],r.meta.caller&&(r.meta.callingCommand=r.meta.caller.meta.command);var p,d=null,h=new Promise(function(e,t){p=e,d=t});return u.execute(r),r.meta.returned?r.meta.returnValue:(r.meta.resolve=p,r.meta.reject=d,h)};f.hyperfunc=!0,f.hypername=r,t.assignToNamespace(e,o,a,f)}};return e.ensureTerminated(u),l&&e.ensureTerminated(l),e.setParent(u,m),m}}),u.addFeature("set",function(e,t,n){let r=e.parseElement("setCommand",n);if(r){"element"!==r.target.scope&&e.raiseParseError(n,"variables declared at the feature level must be element scoped.");let o={start:r,install:function(e,n){r&&r.execute(t.makeContext(e,o,e,null))}};return e.ensureTerminated(r),o}}),u.addFeature("init",function(e,t,n){if(n.matchToken("init")){var r=e.requireElement("commandList",n),o={start:r,install:function(e,n){setTimeout(function(){r&&r.execute(t.makeContext(e,o,e,null))},0)}};return e.ensureTerminated(r),e.setParent(r,o),o}}),u.addFeature("worker",function(e,t,n){n.matchToken("worker")&&e.raiseParseError(n,"In order to use the 'worker' feature, include the _hyperscript worker plugin. See https://hyperscript.org/features/worker/ for more info.")}),u.addFeature("behavior",function(e,n,r){if(r.matchToken("behavior")){var a=e.requireElement("dotOrColonPath",r).evaluate(),i=a.split("."),u=i.pop(),s=[];if(r.matchOpToken("(")&&!r.matchOpToken(")")){do{s.push(r.requireTokenType("IDENTIFIER").value)}while(r.matchOpToken(","));r.requireOpToken(")")}for(var l=e.requireElement("hyperscript",r),c=0;c<l.features.length;c++)l.features[c].behavior=a;return{install:function(e,r){n.assignToNamespace(o.document&&o.document.body,i,u,function(e,r,o){for(var i=t(n.getInternalData(e),a+"Scope"),u=0;u<s.length;u++)i[s[u]]=o[s[u]];l.apply(e,r)})}}}}),u.addFeature("install",function(e,t,n){if(n.matchToken("install")){var r,a=e.requireElement("dotOrColonPath",n).evaluate(),i=a.split("."),u=e.parseElement("namedArgumentList",n);return r={install:function(e,n){t.unifiedEval({args:[u],op:function(t,r){for(var u=o,s=0;s<i.length;s++)if("object"!=typeof(u=u[i[s]])&&"function"!=typeof u)throw new Error("No such behavior defined as "+a);if(!(u instanceof Function))throw new Error(a+" is not a behavior");u(e,n,r)}},t.makeContext(e,r,e))}}}}),u.addGrammarElement("jsBody",function(e,t,n){for(var r=n.currentToken().start,o=n.currentToken(),a=[],i="",u=!1;n.hasMore();){o=n.consumeToken();var s=n.token(0,!0);if("IDENTIFIER"===s.type&&"end"===s.value)break;u?"IDENTIFIER"===o.type||"NUMBER"===o.type?i+=o.value:(""!==i&&a.push(i),i="",u=!1):"IDENTIFIER"===o.type&&"function"===o.value&&(u=!0)}return{type:"jsBody",exposedFunctionNames:a,jsSource:n.source.substring(r,o.end+1)}}),u.addFeature("js",function(t,n,r){if(r.matchToken("js")){var a=t.requireElement("jsBody",r),i=a.jsSource+"\nreturn { "+a.exposedFunctionNames.map(function(e){return e+":"+e}).join(",")+" } ",u=new Function(i);return{jsSource:i,function:u,exposedFunctionNames:a.exposedFunctionNames,install:function(){e(o,u())}}}}),u.addCommand("js",function(e,t,r){if(r.matchToken("js")){var a=[];if(r.matchOpToken("("))if(r.matchOpToken(")"));else{do{var i=r.requireTokenType("IDENTIFIER");a.push(i.value)}while(r.matchOpToken(","));r.requireOpToken(")")}var u=e.requireElement("jsBody",r);r.matchToken("end");var s=n(Function,a.concat([u.jsSource]));return{jsSource:u.jsSource,function:s,inputs:a,op:function(e){var n=[];a.forEach(function(r){n.push(t.resolveSymbol(r,e,"default"))});var r=s.apply(o,n);return r&&"function"==typeof r.then?new Promise(function(n){r.then(function(r){e.result=r,n(t.findNext(this,e))})}):(e.result=r,t.findNext(this,e))}}}}),u.addCommand("async",function(e,t,n){if(n.matchToken("async")){if(n.matchToken("do")){for(var r=o=e.requireElement("commandList",n);r.next;)r=r.next;r.next=t.HALT,n.requireToken("end")}else var o=e.requireElement("command",n);var a={body:o,op:function(e){return setTimeout(function(){o.execute(e)}),t.findNext(this,e)}};return e.setParent(o,a),a}}),u.addCommand("tell",function(e,t,n){var r=n.currentToken();if(n.matchToken("tell")){var o=e.requireElement("expression",n),a=e.requireElement("commandList",n);n.hasMore()&&!e.featureStart(n.currentToken())&&n.requireToken("end");var i="tell_"+r.start,u={value:o,body:a,args:[o],resolveNext:function(e){var n=e.meta.iterators[i];return n.index<n.value.length?(e.beingTold=n.value[n.index++],a):(e.beingTold=n.originalBeingTold,this.next?this.next:t.findNext(this.parent,e))},op:function(e,t){return null==t?t=[]:Array.isArray(t)||t instanceof NodeList||(t=[t]),e.meta.iterators[i]={originalBeingTold:e.beingTold,index:0,value:t},this.resolveNext(e)}};return e.setParent(a,u),u}}),u.addCommand("wait",function(e,t,n){if(n.matchToken("wait")){var r,o;if(n.matchToken("for")){n.matchToken("a");var a=[];do{var i=n.token(0);a.push("NUMBER"===i.type||"L_PAREN"===i.type?{time:e.requireElement("expression",n).evaluate()}:{name:u.requireElement("dotOrColonPath",n,"Expected event name").evaluate(),args:d(n)})}while(n.matchToken("or"));if(n.matchToken("from"))var s=e.requireElement("expression",n);return r={event:a,on:s,args:[s],op:function(e,n){var r=n||e.me;if(!(r instanceof EventTarget))throw new Error("Not a valid event target: "+this.on.sourceFor());return new Promise(n=>{var o=!1;for(const u of a){var i=r=>{if(e.result=r,u.args)for(const t of u.args)e[t.value]=r[t.value]||(r.detail?r.detail[t.value]:null);o||(o=!0,n(t.findNext(this,e)))};u.name?r.addEventListener(u.name,i,{once:!0}):null!=u.time&&setTimeout(i,u.time,u.time)}})}},r}return n.matchToken("a")?(n.requireToken("tick"),o=0):o=u.requireElement("expression",n),{type:"waitCmd",time:o,args:[o],op:function(e,n){return new Promise(r=>{setTimeout(()=>{r(t.findNext(this,e))},n)})},execute:function(e){return t.unifiedExec(this,e)}}}}),u.addGrammarElement("dotOrColonPath",function(e,t,n){var r=n.matchTokenType("IDENTIFIER");if(r){var o=[r.value],a=n.matchOpToken(".")||n.matchOpToken(":");if(a)do{o.push(n.requireTokenType("IDENTIFIER","NUMBER").value)}while(n.matchOpToken(a.value));return{type:"dotOrColonPath",path:o,evaluate:function(){return o.join(a?a.value:"")}}}}),u.addGrammarElement("eventName",function(e,t,n){var r;return(r=n.matchTokenType("STRING"))?{evaluate:function(){return r.value}}:e.parseElement("dotOrColonPath",n)}),u.addCommand("trigger",function(e,t,n){if(n.matchToken("trigger"))return h("trigger",e,t,n)}),u.addCommand("send",function(e,t,n){if(n.matchToken("send"))return h("send",e,t,n)});var v=function(e,t,n,r){if(r)if(e.commandBoundary(n.currentToken()))e.raiseParseError(n,"'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.");else var o=e.requireElement("expression",n);var a={value:o,args:[o],op:function(e,n){var r=e.meta.resolve;return e.meta.returned=!0,e.meta.returnValue=n,r&&(n?r(n):r()),t.HALT}};return a};u.addCommand("return",function(e,t,n){if(n.matchToken("return"))return v(e,t,n,!0)}),u.addCommand("exit",function(e,t,n){if(n.matchToken("exit"))return v(e,t,n,!1)}),u.addCommand("halt",function(e,t,n){if(n.matchToken("halt")){if(n.matchToken("the")){n.requireToken("event"),n.matchOpToken("'")&&n.requireToken("s");var r=!0}if(n.matchToken("bubbling"))var o=!0;else if(n.matchToken("default"))var a=!0;var i=v(e,t,n,!1);return{keepExecuting:!0,bubbling:o,haltDefault:a,exit:i,op:function(e){if(e.event)return o?e.event.stopPropagation():(a||e.event.stopPropagation(),e.event.preventDefault()),r?t.findNext(this,e):i}}}}),u.addCommand("log",function(e,t,n){if(n.matchToken("log")){for(var r=[e.parseElement("expression",n)];n.matchOpToken(",");)r.push(e.requireElement("expression",n));if(n.matchToken("with"))var o=e.requireElement("expression",n);var a={exprs:r,withExpr:o,args:[o,r],op:function(e,n,r){return n?n.apply(null,r):console.log.apply(null,r),t.findNext(this,e)}};return a}}),u.addCommand("throw",function(e,t,n){if(n.matchToken("throw")){var r=e.requireElement("expression",n),o={expr:r,args:[r],op:function(e,n){throw t.registerHyperTrace(e,n),n}};return o}});var E=function(e,t,n){var r=e.requireElement("expression",n),o={expr:r,args:[r],op:function(e,n){return e.result=n,t.findNext(o,e)}};return o};u.addCommand("call",function(e,t,n){if(n.matchToken("call")){var r=E(e,t,n);return r.expr&&"functionCall"!==r.expr.type&&e.raiseParseError(n,"Must be a function invocation"),r}}),u.addCommand("get",function(e,t,n){if(n.matchToken("get"))return E(e,t,n)}),u.addCommand("make",function(e,t,r){if(r.matchToken("make")){r.matchToken("a")||r.matchToken("an");var o,a=e.requireElement("expression",r),i=[];if("queryRef"!==a.type&&r.matchToken("from"))do{i.push(e.requireElement("expression",r))}while(r.matchOpToken(","));if(r.matchToken("called"))var u=e.requireElement("symbol",r);return"queryRef"===a.type?o={op:function(e){for(var n,r,o="div",i=[],s=/(?:(^|#|\.)([^#\. ]+))/g;n=s.exec(a.css);)""===n[1]?o=n[2].trim():"#"===n[1]?r=n[2].trim():i.push(n[2].trim());var l=document.createElement(o);void 0!==r&&(l.id=r);for(var c=0;c<i.length;c++)l.classList.add(i[c]);return e.result=l,u&&t.setSymbol(u.name,e,u.scope,l),t.findNext(this,e)}}:(o={args:[a,i],op:function(e,r,o){return e.result=n(r,o),u&&t.setSymbol(u.name,e,u.scope,e.result),t.findNext(this,e)}},o)}}),u.addGrammarElement("pseudoCommand",function(e,t,n){let r=n.token(1);if(!r||!r.op||"."!==r.value&&"("!==r.value)return null;for(var o=e.requireElement("primaryExpression",n),a=o.root,i=o;null!=a.root;)i=i.root,a=a.root;if("functionCall"!==o.type&&e.raiseParseError(n,"Pseudo-commands must be function calls"),"functionCall"===i.type&&null==i.root.root)if(n.matchAnyToken("the","to","on","with","into","from","at"))var u=e.requireElement("expression",n);else n.matchToken("me")&&(u=e.requireElement("implicitMeTarget",n));if(u)var s={type:"pseudoCommand",root:u,argExressions:i.argExressions,args:[u,i.argExressions],op:function(e,n,r){t.nullCheck(n,u);var o=n[i.root.name];return t.nullCheck(o,i),o.hyperfunc&&r.push(e),e.result=o.apply(n,r),t.findNext(s,e)},execute:function(e){return t.unifiedExec(this,e)}};else s={type:"pseudoCommand",expr:o,args:[o],op:function(e,n){return e.result=n,t.findNext(s,e)},execute:function(e){return t.unifiedExec(this,e)}};return s});var y=function(e,t,n,r,o){var a="symbol"===r.type,i="attributeRef"===r.type,u="styleRef"===r.type,s="arrayIndex"===r.type;i||u||a||null!=r.root||e.raiseParseError(n,"Can only put directly into symbols, not references");var l=null,c=null;if(a);else if(i||u){l=e.requireElement("implicitMeTarget",n);var m=r}else s?(c=r.firstIndex,l=r.root):(c=r.prop?r.prop.value:null,m=r.attribute,l=r.root);var f={target:r,symbolWrite:a,value:o,args:[l,c,o],op:function(e,n,o,i){return a?t.setSymbol(r.name,e,r.scope,i):(t.nullCheck(n,l),s?n[o]=i:t.implicitLoop(n,function(e){m?"attributeRef"===m.type?null==i?e.removeAttribute(m.name):e.setAttribute(m.name,i):e.style[m.name]=i:e[o]=i})),t.findNext(this,e)}};return f};u.addCommand("default",function(e,t,n){if(n.matchToken("default")){var r=e.requireElement("assignableExpression",n);n.requireToken("to");var o=e.requireElement("expression",n),a=y(e,t,n,r,o),i={target:r,value:o,setter:a,args:[r],op:function(e,n){return n?t.findNext(this,e):a}};return a.parent=i,i}}),u.addCommand("set",function(t,n,r){if(r.matchToken("set")){if("L_BRACE"===r.currentToken().type){var o=t.requireElement("objectLiteral",r);r.requireToken("on");var a={objectLiteral:o,target:i=t.requireElement("expression",r),args:[o,i],op:function(t,r,o){return e(o,r),n.findNext(this,t)}};return a}try{r.pushFollow("to");var i=t.requireElement("assignableExpression",r)}finally{r.popFollow()}r.requireToken("to");var u=t.requireElement("expression",r);return y(t,n,r,i,u)}}),u.addCommand("if",function(e,t,n){if(n.matchToken("if")){var r=e.requireElement("expression",n);n.matchToken("then");var o=e.parseElement("commandList",n);if(n.matchToken("else")||n.matchToken("otherwise"))var a=e.parseElement("commandList",n);n.hasMore()&&n.requireToken("end");var i={expr:r,trueBranch:o,falseBranch:a,args:[r],op:function(e,n){return n?o:a||t.findNext(this,e)}};return e.setParent(o,i),e.setParent(a,i),i}});var T=function(e,t,n,r){var o,a=t.currentToken();if(t.matchToken("for")||r){var i=t.requireTokenType("IDENTIFIER");o=i.value,t.requireToken("in");var s=e.requireElement("expression",t)}else if(t.matchToken("in"))o="it",s=e.requireElement("expression",t);else if(t.matchToken("while"))var l=e.requireElement("expression",t);else if(t.matchToken("until")){var c=!0;if(t.matchToken("event")){var m=u.requireElement("dotOrColonPath",t,"Expected event name");if(t.matchToken("from"))var f=e.requireElement("expression",t)}else l=e.requireElement("expression",t)}else if(e.commandBoundary(t.currentToken())||"forever"===t.currentToken().value){t.matchToken("forever");var p=!0}else{var d=e.requireElement("expression",t);t.requireToken("times")}if(t.matchToken("index"))var h=(i=t.requireTokenType("IDENTIFIER")).value;var v=e.parseElement("commandList",t);if(v&&m){for(var E=v;E.next;)E=E.next;var y={type:"waitATick",op:function(){return new Promise(function(e){setTimeout(function(){e(n.findNext(y))},0)})}};E.next=y}if(t.hasMore()&&t.requireToken("end"),null==o)var T=o="_implicit_repeat_"+a.start;else T=o+"_"+a.start;var k={identifier:o,indexIdentifier:h,slot:T,expression:s,forever:p,times:d,until:c,event:m,on:f,whileExpr:l,resolveNext:function(){return this},loop:v,args:[l,d],op:function(e,t,r){var a=e.meta.iterators[T],i=!1,u=null;if(this.forever)i=!0;else if(this.until)i=m?!1===e.meta.iterators[T].eventFired:!0!==t;else if(l)i=t;else if(r)i=a.index<r;else{var s=a.iterator.next();i=!s.done,u=s.value}return i?(e.result=a.value?e[o]=u:a.index,h&&(e[h]=a.index),a.index++,v):(e.meta.iterators[T]=null,n.findNext(this.parent,e))}};e.setParent(v,k);var g={name:"repeatInit",args:[s,m,f],op:function(e,t,n,r){var o={index:0,value:t,eventFired:!1};return e.meta.iterators[T]=o,t&&t[Symbol.iterator]&&(o.iterator=t[Symbol.iterator]()),m&&(r||e.me).addEventListener(n,function(t){e.meta.iterators[T].eventFired=!0},{once:!0}),k},execute:function(e){return n.unifiedExec(this,e)}};return e.setParent(k,g),g};function k(e,t){var n,r="text";return e.matchToken("a")||e.matchToken("an"),e.matchToken("json")||e.matchToken("Object")?r="json":e.matchToken("response")?r="response":e.matchToken("html")?r="html":e.matchToken("text")||(n=t.requireElement("dotOrColonPath",e).evaluate()),{type:r,conversion:n}}u.addCommand("repeat",function(e,t,n){if(n.matchToken("repeat"))return T(e,n,t,!1)}),u.addCommand("for",function(e,t,n){if(n.matchToken("for"))return T(e,n,t,!0)}),u.addCommand("continue",function(e,t,n){if(n.matchToken("continue"))return{op:function(t){for(var r=this.parent;;r=r.parent)if(null==r&&e.raiseParseError(n,"Command `continue` cannot be used outside of a `repeat` loop."),null!=r.loop)return r.resolveNext(t)}}}),u.addCommand("break",function(e,t,n){if(n.matchToken("break"))return{op:function(r){for(var o=this.parent;;o=o.parent)if(null==o&&e.raiseParseError(n,"Command `continue` cannot be used outside of a `repeat` loop."),null!=o.loop)return t.findNext(o.parent,r)}}}),u.addGrammarElement("stringLike",function(e,t,n){return u.parseAnyOf(["string","nakedString"],n)}),u.addCommand("append",function(e,t,n){if(n.matchToken("append")){var r,o=e.requireElement("expression",n),a={type:"symbol",evaluate:function(e){return t.resolveSymbol("result",e)}};r=n.matchToken("to")?e.requireElement("expression",n):a;var i=null;"symbol"!==r.type&&"attributeRef"!==r.type&&null==r.root||(i=y(e,t,n,r,a));var u={value:o,target:r,args:[r,o],op:function(e,n,r){if(Array.isArray(n))return n.push(r),t.findNext(this,e);if(n instanceof Element)return n.innerHTML+=r,t.findNext(this,e);if(i)return e.result=(n||"")+r,i;throw Error("Unable to append a value!")},execute:function(e){return t.unifiedExec(this,e)}};return null!=i&&(i.parent=u),u}}),u.addCommand("increment",function(e,t,n){if(n.matchToken("increment")){var r,o=e.parseElement("assignableExpression",n);n.matchToken("by")&&(r=e.requireElement("expression",n));var a={type:"implicitIncrementOp",target:o,args:[o,r],op:function(e,t,n){var r=(t=t?parseFloat(t):0)+(n=n?parseFloat(n):1);return e.result=r,r},evaluate:function(e){return t.unifiedEval(this,e)}};return y(e,t,n,o,a)}}),u.addCommand("decrement",function(e,t,n){if(n.matchToken("decrement")){var r,o=e.parseElement("assignableExpression",n);n.matchToken("by")&&(r=e.requireElement("expression",n));var a={type:"implicitDecrementOp",target:o,args:[o,r],op:function(e,t,n){var r=(t=t?parseFloat(t):0)-(n=n?parseFloat(n):1);return e.result=r,r},evaluate:function(e){return t.unifiedEval(this,e)}};return y(e,t,n,o,a)}}),u.addCommand("fetch",function(e,t,n){if(n.matchToken("fetch")){var r=e.requireElement("stringLike",n);if(n.matchToken("as"))var o=k(n,e);if(n.matchToken("with")&&"{"!==n.currentToken().value)var a=e.parseElement("nakedNamedArgumentList",n);else a=e.parseElement("objectLiteral",n);null==o&&n.matchToken("as")&&(o=k(n,e));var i=o?o.type:"text",u=o?o.conversion:null,s={url:r,argExpressions:a,args:[r,a],op:function(e,n,r){var o=r||{};o.sender=e.me,o.headers=o.headers||{};var a=new AbortController;let l=e.me.addEventListener("fetch:abort",function(){a.abort()},{once:!0});o.signal=a.signal,t.triggerEvent(e.me,"hyperscript:beforeFetch",o),t.triggerEvent(e.me,"fetch:beforeRequest",o);var c=!1;return(r=o).timeout&&setTimeout(function(){c||a.abort()},r.timeout),fetch(n,r).then(function(n){let r={response:n};return t.triggerEvent(e.me,"fetch:afterResponse",r),n=r.response,"response"===i?(e.result=n,t.triggerEvent(e.me,"fetch:afterRequest",{result:n}),c=!0,t.findNext(s,e)):"json"===i?n.json().then(function(n){return e.result=n,t.triggerEvent(e.me,"fetch:afterRequest",{result:n}),c=!0,t.findNext(s,e)}):n.text().then(function(n){return u&&(n=t.convertValue(n,u)),"html"===i&&(n=t.convertValue(n,"Fragment")),e.result=n,t.triggerEvent(e.me,"fetch:afterRequest",{result:n}),c=!0,t.findNext(s,e)})}).catch(function(n){throw t.triggerEvent(e.me,"fetch:error",{reason:n}),n}).finally(function(){e.me.removeEventListener("fetch:abort",l)})}};return s}})}if("document"in o){var g=Array.from(document.querySelectorAll("script[type='text/hyperscript'][src]"));Promise.all(g.map(function(e){return fetch(e.src).then(function(e){return e.text()})})).then(function(e){return e.forEach(l.evaluate)}).then(function(){var t;t=function(){var t,n;(n=(t=document.querySelector('meta[name="htmx-config"]'))?function(e){try{return JSON.parse(e)}catch(e){return t=e,console.error?console.error(t):console.log&&console.log("ERROR: ",t),null}var t}(t.content):null)&&(r.config=e(r.config,n)),l.processNode(document.documentElement),document.addEventListener("htmx:load",function(e){l.processNode(e.detail.elt)})},"loading"!==document.readyState?setTimeout(t):document.addEventListener("DOMContentLoaded",t)})}var x,b=r=e(function(e,t){return l.evaluate(e,t)},{internals:{lexer:i,parser:u,runtime:l},ElementCollection:a,addFeature:function(e,t){u.addFeature(e,t)},addCommand:function(e,t){u.addCommand(e,t)},addLeafExpression:function(e,t){u.addLeafExpression(e,t)},addIndirectExpression:function(e,t){u.addIndirectExpression(e,t)},evaluate:l.evaluate.bind(l),parse:l.parse.bind(l),processNode:l.processNode.bind(l),config:{attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",conversions:s}});function w(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})}function q(e){var t=function(e){var t=e;if(0===t.indexOf("/")){var n=window.location.hostname+(window.location.port?":"+window.location.port:"");"https:"===window.location.protocol?t="wss://"+n+t:"http:"===window.location.protocol&&(t="ws://"+n+t)}return t}(e.evaluate());return new WebSocket(t)}(t=>{t.addCommand("settle",function(e,t,n){if(n.matchToken("settle")){if(e.commandBoundary(n.currentToken()))r=e.requireElement("implicitMeTarget",n);else var r=e.requireElement("expression",n);var o={type:"settleCmd",args:[r],op:function(e,n){t.nullCheck(n,r);var a=null,i=!1,u=new Promise(function(e){a=e});return n.addEventListener("transitionstart",function(){i=!0},{once:!0}),setTimeout(function(){i||a(t.findNext(o,e))},500),n.addEventListener("transitionend",function(){a(t.findNext(o,e))},{once:!0}),u},execute:function(e){return t.unifiedExec(this,e)}};return o}}),t.addCommand("add",function(e,t,n){if(n.matchToken("add")){var r=e.parseElement("classRef",n),o=null,a=null;if(null==r)null==(o=e.parseElement("attributeRef",n))&&null==(a=e.parseElement("styleLiteral",n))&&e.raiseParseError(n,"Expected either a class reference or attribute expression");else for(var i=[r];r=e.parseElement("classRef",n);)i.push(r);if(n.matchToken("to"))var u=e.requireElement("expression",n);else u=e.requireElement("implicitMeTarget",n);if(n.matchToken("when")){a&&e.raiseParseError(n,"Only class and properties are supported with a when clause");var s=e.requireElement("expression",n)}return i?{classRefs:i,to:u,args:[u,i],op:function(e,n,r){return t.nullCheck(n,u),t.forEach(r,function(r){t.implicitLoop(n,function(n){s?(e.result=n,t.evaluateNoPromise(s,e)?n instanceof Element&&n.classList.add(r.className):n instanceof Element&&n.classList.remove(r.className),e.result=null):n instanceof Element&&n.classList.add(r.className)})}),t.findNext(this,e)}}:o?{type:"addCmd",attributeRef:o,to:u,args:[u],op:function(e,n,r){return t.nullCheck(n,u),t.implicitLoop(n,function(n){s?(e.result=n,t.evaluateNoPromise(s,e)?n.setAttribute(o.name,o.value):n.removeAttribute(o.name),e.result=null):n.setAttribute(o.name,o.value)}),t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}:{type:"addCmd",cssDeclaration:a,to:u,args:[u,a],op:function(e,n,r){return t.nullCheck(n,u),t.implicitLoop(n,function(e){e.style.cssText+=r}),t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}}),t.internals.parser.addGrammarElement("styleLiteral",function(e,t,n){if(n.matchOpToken("{")){for(var r=[""],o=[];n.hasMore();){if(n.matchOpToken("\\"))n.consumeToken();else{if(n.matchOpToken("}"))break;if(n.matchToken("$")){var a=n.matchOpToken("{"),i=e.parseElement("expression",n);a&&n.requireOpToken("}"),o.push(i),r.push("")}else{var u=n.consumeToken();r[r.length-1]+=n.source.substring(u.start,u.end)}}r[r.length-1]+=n.lastWhitespace()}return{type:"styleLiteral",args:[o],op:function(e,t){var n="";return r.forEach(function(e,r){n+=e,r in t&&(n+=t[r])}),n},evaluate:function(e){return t.unifiedEval(this,e)}}}}),t.addCommand("remove",function(e,t,n){if(n.matchToken("remove")){var r=e.parseElement("classRef",n),o=null,a=null;if(null==r)null==(o=e.parseElement("attributeRef",n))&&null==(a=e.parseElement("expression",n))&&e.raiseParseError(n,"Expected either a class reference, attribute expression or value expression");else for(var i=[r];r=e.parseElement("classRef",n);)i.push(r);if(n.matchToken("from"))var u=e.requireElement("expression",n);else u=e.requireElement("implicitMeTarget",n);return a?{elementExpr:a,from:u,args:[a],op:function(e,n){return t.nullCheck(n,a),t.implicitLoop(n,function(e){e.parentElement&&e.parentElement.removeChild(e)}),t.findNext(this,e)}}:{classRefs:i,attributeRef:o,elementExpr:a,from:u,args:[i,u],op:function(e,n,r){return t.nullCheck(r,u),n?t.forEach(n,function(e){t.implicitLoop(r,function(t){t.classList.remove(e.className)})}):t.implicitLoop(r,function(e){e.removeAttribute(o.name)}),t.findNext(this,e)}}}}),t.addCommand("toggle",function(e,t,n){if(n.matchToken("toggle")){if(n.matchAnyToken("the","my"),"STYLE_REF"===n.currentToken().type){var r=n.consumeToken().value.substr(1),a=!0,i=o(e,n,r);if(n.matchToken("of")){n.pushFollow("with");try{var u=e.requireElement("expression",n)}finally{n.popFollow()}}else u=e.requireElement("implicitMeTarget",n)}else if(n.matchToken("between")){var s=!0,l=e.parseElement("classRef",n);n.requireToken("and");var c=e.requireElement("classRef",n)}else{l=e.parseElement("classRef",n);var m=null;if(null==l)null==(m=e.parseElement("attributeRef",n))&&e.raiseParseError(n,"Expected either a class reference or attribute expression");else for(var f=[l];l=e.parseElement("classRef",n);)f.push(l)}if(!0!==a&&(u=n.matchToken("on")?e.requireElement("expression",n):e.requireElement("implicitMeTarget",n)),n.matchToken("for"))var p=e.requireElement("expression",n);else if(n.matchToken("until")){var d=e.requireElement("dotOrColonPath",n,"Expected event name");if(n.matchToken("from"))var h=e.requireElement("expression",n)}var v={classRef:l,classRef2:c,classRefs:f,attributeRef:m,on:u,time:p,evt:d,from:h,toggle:function(e,n,r,o){t.nullCheck(e,u),a?t.implicitLoop(e,function(e){i("toggle",e)}):s?t.implicitLoop(e,function(e){e.classList.contains(n.className)?(e.classList.remove(n.className),e.classList.add(r.className)):(e.classList.add(n.className),e.classList.remove(r.className))}):o?t.forEach(o,function(n){t.implicitLoop(e,function(e){e.classList.toggle(n.className)})}):t.forEach(e,function(e){e.hasAttribute(m.name)?e.removeAttribute(m.name):e.setAttribute(m.name,m.value)})},args:[u,p,d,h,l,c,f],op:function(e,n,r,o,a,i,u,s){return r?new Promise(function(o){v.toggle(n,i,u,s),setTimeout(function(){v.toggle(n,i,u,s),o(t.findNext(v,e))},r)}):o?new Promise(function(r){(a||e.me).addEventListener(o,function(){v.toggle(n,i,u,s),r(t.findNext(v,e))},{once:!0}),v.toggle(n,i,u,s)}):(this.toggle(n,i,u,s),t.findNext(v,e))}};return v}});var n={display:function(e,r,o){if(o)r.style.display=o;else if("toggle"===e)"none"===getComputedStyle(r).display?n.display("show",r,o):n.display("hide",r,o);else if("hide"===e){const e=t.internals.runtime.getInternalData(r);null==e.originalDisplay&&(e.originalDisplay=r.style.display),r.style.display="none"}else{const e=t.internals.runtime.getInternalData(r);e.originalDisplay&&"none"!==e.originalDisplay?r.style.display=e.originalDisplay:r.style.removeProperty("display")}},visibility:function(e,t,r){r?t.style.visibility=r:"toggle"===e?"hidden"===getComputedStyle(t).visibility?n.visibility("show",t,r):n.visibility("hide",t,r):t.style.visibility="hide"===e?"hidden":"visible"},opacity:function(e,t,r){r?t.style.opacity=r:"toggle"===e?"0"===getComputedStyle(t).opacity?n.opacity("show",t,r):n.opacity("hide",t,r):t.style.opacity="hide"===e?"0":"1"}},r=function(e,t,n){var r=n.currentToken();return"when"===r.value||"with"===r.value||e.commandBoundary(r)?e.parseElement("implicitMeTarget",n):e.parseElement("expression",n)},o=function(r,o,a){var i=t.config.defaultHideShowStrategy,u=n;t.config.hideShowStrategies&&(u=e(u,t.config.hideShowStrategies));var s=u[a=a||i||"display"];return null==s&&r.raiseParseError(o,"Unknown show/hide strategy : "+a),s};function a(e,n,r,o){if(null!=r)var a=e.resolveSymbol(r,n);else a=n;if(a instanceof Element||a instanceof HTMLDocument){for(;a.firstChild;)a.removeChild(a.firstChild);a.append(t.internals.runtime.convertValue(o,"Fragment"))}else{if(null==r)throw"Don't know how to put a value into "+typeof n;e.setSymbol(r,n,null,o)}}function i(e,t,n){var r;if(n.matchToken("the")||n.matchToken("element")||n.matchToken("elements")||"CLASS_REF"===n.currentToken().type||"ID_REF"===n.currentToken().type||n.currentToken().op&&"<"===n.currentToken().value){e.possessivesDisabled=!0;try{r=e.parseElement("expression",n)}finally{delete e.possessivesDisabled}n.matchOpToken("'")&&n.requireToken("s")}else if("IDENTIFIER"===n.currentToken().type&&"its"===n.currentToken().value){var o=n.matchToken("its");r={type:"pseudopossessiveIts",token:o,name:o.value,evaluate:function(e){return t.resolveSymbol("it",e)}}}else n.matchToken("my")||n.matchToken("me"),r=e.parseElement("implicitMeTarget",n);return r}t.addCommand("hide",function(e,t,n){if(n.matchToken("hide")){var a=r(e,0,n),i=null;n.matchToken("with")&&0===(i=n.requireTokenType("IDENTIFIER","STYLE_REF").value).indexOf("*")&&(i=i.substr(1));var u=o(e,n,i);return{target:a,args:[a],op:function(e,n){return t.nullCheck(n,a),t.implicitLoop(n,function(e){u("hide",e)}),t.findNext(this,e)}}}}),t.addCommand("show",function(e,t,n){if(n.matchToken("show")){var a=r(e,0,n),i=null;n.matchToken("with")&&0===(i=n.requireTokenType("IDENTIFIER","STYLE_REF").value).indexOf("*")&&(i=i.substr(1));var u=null;if(n.matchOpToken(":")){var s=n.consumeUntilWhitespace();n.matchTokenType("WHITESPACE"),u=s.map(function(e){return e.value}).join("")}if(n.matchToken("when"))var l=e.requireElement("expression",n);var c=o(e,n,i);return{target:a,when:l,args:[a],op:function(e,n){return t.nullCheck(n,a),t.implicitLoop(n,function(n){l?(e.result=n,t.evaluateNoPromise(l,e)?c("show",n,u):c("hide",n),e.result=null):c("show",n,u)}),t.findNext(this,e)}}}}),t.addCommand("take",function(e,t,n){if(n.matchToken("take")){var r=e.requireElement("classRef",n);if(n.matchToken("from"))var o=e.requireElement("expression",n);else o=r;if(n.matchToken("for"))var a=e.requireElement("expression",n);else a=e.requireElement("implicitMeTarget",n);return{classRef:r,from:o,forElt:a,args:[r,o,a],op:function(e,n,r,i){t.nullCheck(r,o),t.nullCheck(i,a);var u=n.className;return t.implicitLoop(r,function(e){e.classList.remove(u)}),t.implicitLoop(i,function(e){e.classList.add(u)}),t.findNext(this,e)}}}}),t.addCommand("put",function(e,t,n){if(n.matchToken("put")){var r=e.requireElement("expression",n),o=n.matchAnyToken("into","before","after");null==o&&n.matchToken("at")&&(n.matchToken("the"),o=n.matchAnyToken("start","end"),n.requireToken("of")),null==o&&e.raiseParseError(n,"Expected one of 'into', 'before', 'at start of', 'at end of', 'after'");var i=e.requireElement("expression",n),u=o.value,s=!1,l=!1,c=null,m=null;if("arrayIndex"===i.type&&"into"===u)s=!0,m=i.prop,c=i.root;else if(i.prop&&i.root&&"into"===u)m=i.prop.value,c=i.root;else if("symbol"===i.type&&"into"===u)l=!0,m=i.name;else if("attributeRef"===i.type&&"into"===u){var f=!0;m=i.name,c=e.requireElement("implicitMeTarget",n)}else if("styleRef"===i.type&&"into"===u){var p=!0;m=i.name,c=e.requireElement("implicitMeTarget",n)}else i.attribute&&"into"===u?(f="attributeRef"===i.attribute.type,p="styleRef"===i.attribute.type,m=i.attribute.name,c=i.root):c=i;var d={target:i,operation:u,symbolWrite:l,value:r,args:[c,m,r],op:function(e,n,r,o){if(l)a(t,e,r,o);else if(t.nullCheck(n,c),"into"===u)f?t.implicitLoop(n,function(e){e.setAttribute(r,o)}):p?t.implicitLoop(n,function(e){e.style[r]=o}):s?n[r]=o:t.implicitLoop(n,function(e){a(t,e,r,o)});else{var i="before"===u?Element.prototype.before:"after"===u?Element.prototype.after:"start"===u?Element.prototype.prepend:Element.prototype.append;t.implicitLoop(n,function(e){i.call(e,o instanceof Node?o:t.convertValue(o,"Fragment"))})}return t.findNext(this,e)}};return d}}),t.addCommand("transition",function(e,n,r){if(r.matchToken("transition")){for(var o=i(e,n,r),a=[],u=[],s=[],l=r.currentToken();!e.commandBoundary(l)&&"over"!==l.value&&"using"!==l.value;){if("STYLE_REF"===r.currentToken().type){let e=r.consumeToken().value.substr(1);a.push({type:"styleRefValue",evaluate:function(){return e}})}else a.push(e.requireElement("stringLike",r));r.matchToken("from")?u.push(e.requireElement("expression",r)):u.push(null),r.requireToken("to"),r.matchToken("initial")?s.push({type:"initial_literal",evaluate:function(){return"initial"}}):s.push(e.requireElement("expression",r)),l=r.currentToken()}if(r.matchToken("over"))var c=e.requireElement("expression",r);else if(r.matchToken("using"))var m=e.requireElement("expression",r);var f={to:s,args:[o,a,u,s,m,c],op:function(e,r,a,i,u,s,l){n.nullCheck(r,o);var c=[];return n.implicitLoop(r,function(e){var r=new Promise(function(r,o){var c=e.style.transition;e.style.transition=l?"all "+l+"ms ease-in":s||t.config.defaultTransition;for(var m=n.getInternalData(e),f=getComputedStyle(e),p={},d=0;d<f.length;d++){var h=f[d];p[h]=f[h]}for(m.initalStyles||(m.initalStyles=p),d=0;d<a.length;d++){var v=a[d],E=i[d];e.style[v]="computed"===E||null==E?p[v]:E}var y=!1,T=!1;e.addEventListener("transitionend",function(){T||(e.style.transition=c,T=!0,r())},{once:!0}),e.addEventListener("transitionstart",function(){y=!0},{once:!0}),setTimeout(function(){T||y||(e.style.transition=c,T=!0,r())},100),setTimeout(function(){for(var t=0;t<a.length;t++){var n=a[t],r=u[t];e.style[n]="initial"===r?m.initalStyles[n]:r}},0)});c.push(r)}),Promise.all(c).then(function(){return n.findNext(f,e)})}};return f}}),t.addCommand("measure",function(e,t,n){if(n.matchToken("measure")){var r=i(e,t,n),o=[];if(!e.commandBoundary(n.currentToken()))do{o.push(n.matchTokenType("IDENTIFIER").value)}while(n.matchOpToken(","));return{properties:o,args:[r],op:function(e,n){t.nullCheck(n,r),0 in n&&(n=n[0]);var a=n.getBoundingClientRect(),i={top:n.scrollTop,left:n.scrollLeft,topMax:n.scrollTopMax,leftMax:n.scrollLeftMax,height:n.scrollHeight,width:n.scrollWidth};return e.result={x:a.x,y:a.y,left:a.left,top:a.top,right:a.right,bottom:a.bottom,width:a.width,height:a.height,bounds:a,scrollLeft:i.left,scrollTop:i.top,scrollLeftMax:i.leftMax,scrollTopMax:i.topMax,scrollWidth:i.width,scrollHeight:i.height,scroll:i},t.forEach(o,function(t){if(!(t in e.result))throw"No such measurement as "+t;e[t]=e.result[t]}),t.findNext(this,e)}}}}),t.addLeafExpression("closestExpr",function(e,t,n){if(n.matchToken("closest")){if(n.matchToken("parent"))var r=!0;var o=null;if("ATTRIBUTE_REF"===n.currentToken().type){var a=e.requireElement("attributeRefAccess",n,null);o="["+a.attribute.name+"]"}if(null==o){var i=e.requireElement("expression",n);null==i.css?e.raiseParseError(n,"Expected a CSS expression"):o=i.css}if(n.matchToken("to"))var u=e.parseElement("expression",n);else u=e.parseElement("implicitMeTarget",n);var s={type:"closestExpr",parentSearch:r,expr:i,css:o,to:u,args:[u],op:function(e,n){if(null==n)return null;{let e=[];return t.implicitLoop(n,function(t){e.push(r?t.parentElement?t.parentElement.closest(o):null:t.closest(o))}),t.shouldAutoIterate(n)?e:e[0]}},evaluate:function(e){return t.unifiedEval(this,e)}};return a?(a.root=s,a.args=[s],a):s}}),t.addCommand("go",function(e,t,n){if(n.matchToken("go")){if(n.matchToken("back"))var r=!0;else if(n.matchToken("to"),n.matchToken("url")){var o=e.requireElement("stringLike",n),a=!0;if(n.matchToken("in")){n.requireToken("new"),n.requireToken("window");var i=!0}}else{n.matchToken("the");var u=n.matchAnyToken("top","middle","bottom"),s=n.matchAnyToken("left","center","right");(u||s)&&n.requireToken("of"),o=e.requireElement("unaryExpression",n);var l=n.matchAnyOpToken("+","-");if(l){n.pushFollow("px");try{var c=e.requireElement("expression",n)}finally{n.popFollow()}}n.matchToken("px");var m=n.matchAnyToken("smoothly","instantly"),f={};u&&("top"===u.value?f.block="start":"bottom"===u.value?f.block="end":"middle"===u.value&&(f.block="center")),s&&("left"===s.value?f.inline="start":"center"===s.value?f.inline="center":"right"===s.value&&(f.inline="end")),m&&("smoothly"===m.value?f.behavior="smooth":"instantly"===m.value&&(f.behavior="instant"))}var p={target:o,args:[o,c],op:function(e,n,o){return r?window.history.back():a?n&&(i?window.open(n):window.location.href=n):t.implicitLoop(n,function(e){if(e===window&&(e=document.body),l){var t=e.getBoundingClientRect();let r=document.createElement("div");if("-"===l.value)var n=-o;else n=o;r.style.position="absolute",r.style.top=t.x+n+"px",r.style.left=t.y+n+"px",r.style.height=t.height+2*n+"px",r.style.width=t.width+2*n+"px",r.style.zIndex=""+Number.MIN_SAFE_INTEGER,r.style.opacity="0",document.body.appendChild(r),setTimeout(function(){document.body.removeChild(r)},100),e=r}e.scrollIntoView(f)}),t.findNext(p,e)}};return p}}),t.config.conversions.dynamicResolvers.push(function(e,n){if("Values"===e||0===e.indexOf("Values:")){var r=e.split(":")[1],o={};if((0,t.internals.runtime.implicitLoop)(n,function(e){var t=i(e);void 0===t?null!=e.querySelectorAll&&e.querySelectorAll("input,select,textarea").forEach(a):o[t.name]=t.value}),r){if("JSON"===r)return JSON.stringify(o);if("Form"===r)return new URLSearchParams(o).toString();throw"Unknown conversion: "+r}return o}function a(e){var t=i(e);null!=t&&(null!=o[t.name]?Array.isArray(o[t.name])&&Array.isArray(t.value)&&(o[t.name]=[].concat(o[t.name],t.value)):o[t.name]=t.value)}function i(e){try{var t={name:e.name,value:e.value};if(null==t.name||null==t.value)return;if("radio"==e.type&&0==e.checked)return;if("checkbox"==e.type&&(0==e.checked?t.value=void 0:"string"==typeof t.value&&(t.value=[t.value])),"select-multiple"==e.type){var n=e.querySelectorAll("option[selected]");t.value=[];for(var r=0;r<n.length;r++)t.value.push(n[r].value)}return t}catch(e){return}}}),t.config.conversions.HTML=function(e){return function e(t){if(t instanceof Array)return t.map(function(t){return e(t)}).join("");if(t instanceof HTMLElement)return t.outerHTML;if(t instanceof NodeList){for(var n="",r=0;r<t.length;r++){var o=t[r];o instanceof HTMLElement&&(n+=o.outerHTML)}return n}return t.toString?t.toString():""}(e)},t.config.conversions.Fragment=function(e){var n=document.createDocumentFragment();return t.internals.runtime.implicitLoop(e,function(e){if(e instanceof Node)n.append(e);else{var t=document.createElement("template");t.innerHTML=e,n.append(t.content)}}),n}})(b),(e=>{var t=0,n="("+function(e){e.onmessage=function(t){switch(t.data.type){case"init":e.importScripts(t.data._hyperscript),e.importScripts.apply(e,t.data.extraScripts);const a=e._hyperscript;var n=a.internals.lexer.makeTokensObject(t.data.tokens,[],t.data.source),r=a.internals.parser.parseElement("hyperscript",n);r.apply(e,e),postMessage({type:"didInit"});break;case"call":try{var o=e._hyperscript.internals.runtime.getHyperscriptFeatures(e)[t.data.function].apply(e,t.data.args);Promise.resolve(o).then(function(e){postMessage({type:"resolve",id:t.data.id,value:e})}).catch(function(e){postMessage({type:"reject",id:t.data.id,error:e.toString()})})}catch(e){postMessage({type:"reject",id:t.data.id,error:e.toString()})}}}}.toString()+")(self)",r=new Blob([n],{type:"text/javascript"}),o=URL.createObjectURL(r);e.addFeature("worker",function(e,n,r){if(r.matchToken("worker")){var a=e.requireElement("dotOrColonPath",r).evaluate().split("."),i=a.pop(),u=[];if(r.matchOpToken("("))if(r.matchOpToken(")"));else{do{var s=r.requireTokenType("STRING").value,l=new URL(s,location.href).href;u.push(l)}while(r.matchOpToken(","));r.requireOpToken(")")}var c=[],m=r.consumed.length,f=r.consumed.length;do{var p=e.parseAnyOf(["defFeature","jsFeature"],r);if(!p)break;if("defFeature"===p.type)c.push(p.name),f=r.consumed.length;else if(r.hasMore())continue}while(r.matchToken("end")&&r.hasMore());var d=r.consumed.slice(m,f+1),h=new Worker(o);h.postMessage({type:"init",_hyperscript:n.hyperscriptUrl,extraScripts:u,tokens:d,source:r.source});var v=new Promise(function(e,t){h.addEventListener("message",function(t){"didInit"===t.data.type&&e()},{once:!0})}),E={};return c.forEach(function(e){console.log(e),E[e]=function(){var n=arguments;return new Promise(function(r,o){var a=t++;h.addEventListener("message",function e(t){t.data.id===a&&(h.removeEventListener("message",e),"resolve"===t.data.type?r(t.data.value):o(t.data.error))}),v.then(function(){h.postMessage({type:"call",function:e,args:Array.from(n),id:a})})})}}),{name:i,worker:h,install:function(e){n.assignToNamespace(e,a,i,E)}}}})})(b),x=["then","catch","length","asyncWrapper","toJSON"],b.addFeature("socket",function(t,n,r){if(r.matchToken("socket")){var o=t.requireElement("dotOrColonPath",r).evaluate().split("."),a=o.pop(),i={},u=t.requireElement("stringLike",r),s=1e4;if(r.matchToken("with")&&(r.requireToken("timeout"),s=t.requireElement("expression",r).evaluate()),r.matchToken("on")){if(r.requireToken("message"),r.matchToken("as")){r.requireToken("json");var l=!0}for(var c=t.requireElement("commandList",r),m={type:"implicitReturn",op:function(e){return n.HALT},execute:function(e){}},f=c;f.next;)f=f.next;f.next=m}var p=q(u),d=function e(t){return new Proxy({},{get:function(n,r){return x.indexOf(r)>=0?null:"noTimeout"===r?e(-1):"timeout"===r?function(t){return e(parseInt(t))}:function(){for(var e=w(),n=[],o=0;o<arguments.length;o++)n.push(arguments[o]);var a={iid:e,function:r,args:n};(p=p||q(u)).send(JSON.stringify(a));var s=new Promise(function(t,n){i[e]={resolve:t,reject:n}});return t>=0&&setTimeout(function(){i[e]&&i[e].reject("Timed out"),delete i[e]},t),s}}})}(s),h={raw:p,dispatchEvent:function(t){var n=t.detail;delete n.sender,delete n._namedArgList_,p.send(JSON.stringify(e({type:t.type},n)))},rpc:d},v={name:a,socket:h,install:function(e){n.assignToNamespace(e,o,a,h)}};return p.onmessage=function(e){var t=e.data;try{var r=JSON.parse(t)}catch(e){}if(r&&r.iid&&(r.throw?i[r.iid].reject(r.throw):i[r.iid].resolve(r.return),delete i[r.iid]),c){var o=n.makeContext(h,v,h);if(l){if(!r)throw"Received non-JSON message from socket: "+t;o.message=r,o.result=r}else o.message=t,o.result=t;c.execute(o)}},p.addEventListener("close",function(e){p=null}),v}}),b.addFeature("eventsource",function(e,t,n){if(n.matchToken("eventsource")){var r,o=!1,a=e.requireElement("dotOrColonPath",n).evaluate().split("."),i=a.pop();n.matchToken("from")&&(r=e.requireElement("stringLike",n)),n.matchToken("with")&&n.matchToken("credentials")&&(o=!0);for(var u={eventSource:null,listeners:[],retryCount:0,open:function(e){if(null==e){if(null==u.eventSource||null==u.eventSource.url)throw"no url defined for EventSource.";e=u.eventSource.url}if(null!=u.eventSource)if(e!=u.eventSource.url)u.eventSource.close();else if(u.eventSource.readyState!=EventSource.CLOSED)return;u.eventSource=new EventSource(e,{withCredentials:o}),u.eventSource.addEventListener("open",function(e){u.retryCount=0}),u.eventSource.addEventListener("error",function(e){if(u.eventSource.readyState==EventSource.CLOSED){u.retryCount=Math.min(7,u.retryCount+1);var t=Math.random()*(2^u.retryCount)*500;window.setTimeout(u.open,t)}});for(var t=0;t<u.listeners.length;t++){var n=u.listeners[t];u.eventSource.addEventListener(n.type,n.handler,n.options)}},close:function(){null!=u.eventSource&&u.eventSource.close(),u.retryCount=0},addEventListener:function(e,t,n){u.listeners.push({type:e,handler:t,options:n}),null!=u.eventSource&&u.eventSource.addEventListener(e,t,n)}},s={name:i,object:u,install:function(e){t.assignToNamespace(e,a,i,u)}};n.matchToken("on");){var l=e.requireElement("stringLike",n,"Expected event name").evaluate(),c="";n.matchToken("as")&&(c=e.requireElement("stringLike",n,"Expected encoding type").evaluate());var m=e.requireElement("commandList",n);p(m),n.requireToken("end"),u.listeners.push({type:l,handler:f(c,m)})}return n.requireToken("end"),null!=r&&u.open(r.evaluate()),s;function f(e,n){return function(r){var o=function(e,t){return"json"==t?JSON.parse(e):e}(r.data,e),a=t.makeContext(u,s,u);a.event=r,a.result=o,n.execute(a)}}function p(e){if(e.next)return p(e.next);e.next={type:"implicitReturn",op:function(e){return t.HALT},execute:function(e){}}}}}),(e=>{e.addCommand("render",function(t,n,r){if(r.matchToken("render")){var o=t.requireElement("expression",r),a={};return r.matchToken("with")&&(a=t.parseElement("namedArgumentList",r)),{args:[o,a],op:function(t,r,a){if(!(r instanceof Element))throw new Error(o.sourceFor()+" is not an element");return t.result=function(t,n){var r=[];return e.evaluate(t,Object.assign({__ht_template_result:r},n)),r.join("")}(function(e){return e.replace(/(?:^|\n)([^@]*)@?/gm,function(e,t){return"\ncall __ht_template_result.push(`"+(" "+t).replace(/([^\\])\$\{/g,"$1$${escape html ").substring(1)+"`)\n"})}(r.innerHTML),a),n.findNext(this,t)}}}}),e.addLeafExpression("escape",function(e,t,n){if(n.matchToken("escape")){var r=n.matchTokenType("IDENTIFIER").value,o=n.matchToken("unescaped");return{args:[e.requireElement("expression",n)],op:function(e,t){if(o)return t;if(void 0===t)return"";if("html"===r)return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#039;");throw new Error("Unknown escape: "+r)},evaluate:function(e){return t.unifiedEval(this,e)}}}})})(b),(e=>{function t(t,n,r){this.ctx=t,this.runtime=n,this.cmd=r,this._hyperscript=e,this.cmdMap=[],this.bus=new EventTarget}e.addCommand("breakpoint",function(e,n,r){var o;if(r.matchToken("breakpoint"))return{op:function(e){globalThis.hdb=o=new t(e,n,this);try{return o.break(e)}catch(e){console.error(e,e.stack)}}}}),t.prototype.break=function(e){return console.log("=== HDB///_hyperscript/debugger ==="),this.ui(),new Promise((t,n)=>{this.bus.addEventListener("continue",()=>{if(this.ctx!==e){for(var n in e)delete e[n];Object.assign(e,this.ctx)}delete window.hdb,t(this.runtime.findNext(this.cmd,this.ctx))},{once:!0})})},t.prototype.continueExec=function(){this.bus.dispatchEvent(new Event("continue"))},t.prototype.stepOver=function(){if(!this.cmd)return this.continueExec();var e=this.cmd&&"breakpointCommand"===this.cmd.type?this.runtime.findNext(this.cmd,this.ctx):this.runtime.unifiedEval(this.cmd,this.ctx);return"implicitReturn"===e.type?this.stepOut():e&&e.then instanceof Function?e.then(e=>{this.cmd=e,this.bus.dispatchEvent(new Event("step")),this.logCommand()}):void(e.halt_flag?this.bus.dispatchEvent(new Event("continue")):(this.cmd=e,this.bus.dispatchEvent(new Event("step")),this.logCommand()))},t.prototype.stepOut=function(){if(!this.ctx.meta.caller)return this.continueExec();var e=this.ctx.meta.callingCommand,t=this.ctx.me;this.ctx=this.ctx.meta.caller,console.log("[hdb] stepping out into "+this.ctx.meta.feature.displayName),this.ctx.me instanceof Element&&this.ctx.me!==t&&console.log("[hdb] me: ",this.ctx.me),this.cmd=this.runtime.findNext(e,this.ctx),this.cmd=this.runtime.findNext(this.cmd,this.ctx),this.logCommand(),this.bus.dispatchEvent(new Event("step"))},t.prototype.skipTo=function(e){this.cmd=e.cmd,this.bus.dispatchEvent(new Event("skip"))},t.prototype.rewrite=function(t,n){console.log("##",t);const r=t.cmd.parent;let o;for(o of r.children)if(o.next===t.cmd)break;const a=t.next,i=e.internals.lexer.tokenize(n),u=e.internals.parser.requireElement("command",i);console.log(u),u.startToken=t.startToken,u.endToken=t.endToken,u.programSource=t.programSource,u.sourceFor=function(){return n},o.next=u,u.next=a,u.parent=r,this.bus.dispatchEvent(new Event("step"))},t.prototype.logCommand=function(){var e=this.cmd.sourceFor instanceof Function?this.cmd.sourceFor():"-- "+this.cmd.type;console.log("[hdb] current command: "+e)},t.prototype.traverse=function(e){const t=[];return function e(n){if(t.push(n),"children"in n)for(const t of n.children)e(t)}(e),t},t.prototype.ui=function(){var t=document.createElement("div"),n=t.attachShadow({mode:"open"});t.style.cssText="all: initial",n.innerHTML='\n<div class="hdb" _="\n\ton load trigger update end\n\ton step from hdb.bus trigger update end\n\ton skip from hdb.bus trigger update end\n\ton continue from hdb.bus log \'done\' then remove me.getRootNode().host">\n\n\t<script type="text/hyperscript">\n\n\tdef escapeHTML(unsafe)\n\t\tjs(unsafe) return unsafe\n\t\t\t.replace(/&/g, "&amp;")\n\t\t\t.replace(/</g, "&lt;")\n\t\t\t.replace(/>/g, "&gt;")\n\t\t\t.replace(/\\x22/g, "&quot;")\n\t\t\t.replace(/\\x27/g, "&#039;") end\n\t\treturn it\n\tend\n\n\tdef makeCommandWidget(i)\n\t\tget `<span data-cmd=${i}><button class=skip data-cmd=${i}>&rdca;</button>`\n\t\tif hdb.EXPERIMENTAL\n\t\t\tappend `<button class=rewrite data-cmd=${i}>Rewrite</button></span>`\n\t\tend\n\t\treturn it\n\tend\n\n\tdef renderCode\n\t\tset hdb.cmdMap to []\n\t\tset src to hdb.cmd.programSource\n\n\t\t-- Find feature\n\t\tset feat to hdb.cmd\n\t\trepeat until no feat.parent or feat.isFeature set feat to feat.parent end\n\n\t\t-- Traverse, finding starts\n\t\tfor cmd in hdb.traverse(feat)\n\t\t\tif no cmd.startToken continue end\n\t\t\tappend {\n\t\t\t\tindex: cmd.startToken.start,\n\t\t\t\twidget: makeCommandWidget(hdb.cmdMap.length),\n\t\t\t\tcmd: cmd\n\t\t\t} to hdb.cmdMap\n\t\tend\n\n\t\tset rv to src.slice(0, hdb.cmdMap[0].index)\n\t\tfor obj in hdb.cmdMap index i\n\t\t\tif obj.cmd is hdb.cmd\n\t\t\t\tappend obj.widget + \'<u class=current>\' +\n\t\t\t\t\tescapeHTML(src.slice(obj.index, hdb.cmdMap[i+1].index)) + \'</u>\' to rv\n\t\t\telse\n\t\t\t\tappend obj.widget + escapeHTML(src.slice(obj.index, hdb.cmdMap[i+1].index)) to rv\n\t\t\tend\n\t\tend\n\t\treturn rv\n\tend\n\n\tdef truncate(str, len)\n\t\tif str.length <= len return str end\n\t\treturn str.substr(0, len) + \'…\'\n\n\tdef prettyPrint(obj)\n\t\tif obj is null return \'null\' end\n\t\tif Element.prototype.isPrototypeOf(obj)\n\t\t\tset rv to \'&lt;<span class="token tagname">\' +\n\t\t\t\tobj.tagName.toLowerCase() + "</span>"\n\t\t\tfor attr in Array.from(obj.attributes)\n\t\t\t\tif attr.specified\n\t\t\t\t\tset rv to rv +\n\t\t\t\t\t\t\' <span class="token attr">\' + attr.nodeName +\n\t\t\t\t\t\t\'</span>=<span class="token string">"\' + truncate(attr.textContent, 10) +\n\t\t\t\t\t\t\'"</span>\'\n\t\t\t\tend\n\t\t\tend\n\t\t\tset rv to rv + \'>\'\n\t\t\treturn rv\n\t\telse if obj.call\n\t\t\tif obj.hyperfunc\n\t\t\t\tget "def " + obj.hypername + \' ...\'\n\t\t\telse\n\t\t\t\tget "function "+obj.name+"(...) {...}"\n\t\t\tend\n\t\telse if obj.toString\n\t\t\tcall obj.toString()\n\t\tend\n\t\treturn escapeHTML((it or \'undefined\').trim())\n\tend\n\t<\/script>\n\n\t<header _="\n\ton pointerdown(clientX, clientY)\n\t\thalt the event\n\t\tcall event.stopPropagation()\n\t\tget first .hdb\n\t\tmeasure its x, y\n\t\tset xoff to clientX - x\n\t\tset yoff to clientY - y\n\t\trepeat until event pointerup from document\n\t\t\twait for pointermove or pointerup from document\n\t\t\tadd {\n\t\t\t\tleft: ${its clientX - xoff}px;\n\t\t\t\ttop: ${its clientY - yoff}px;\n\t\t\t} to .hdb\n\t\tend\n\t">\n\t\t<h2 class="titlebar">HDB</h2>\n\t\t<ul role="toolbar" class="toolbar" _="on pointerdown halt">\n\t\t\t<li><button _="on click call hdb.continueExec()">\n\t\t\t\t&#x23F5; Continue\n\t\t\t</button>\n\t\t\t<li><button _="on click call hdb.stepOver()">\n\t\t\t\t&#8631; Step Over\n\t\t\t</button>\n\t\t</ul>\n\t</header>\n\n\t<section class="sec-code">\n\n\t\t<div class="code-container">\n\t\t\t<pre class="code language-hyperscript" _="\n\t\t\t\ton update from .hdb if hdb.cmd.programSource\n\t\t\t \tput renderCode() into me\n\t\t\t \tif Prism\n\t\t\t \t\tcall Prism.highlightAllUnder(me)\n\t\t\t \tend\n\t\t\t go to bottom of .current in me\n\t\t\t\tend\n\n\t\t\t\ton click\n\t\t\t\t\tif target matches .skip\n\t\t\t\t\t\tget (target\'s @data-cmd) as Int\n\t\t\t\t\t\tcall hdb.skipTo(hdb.cmdMap[result])\n\t\t\t\t\tend\n\t\t\t\t\tif target matches .rewrite\n\t\t\t\t\t\tset cmdNo to (target\'s @data-cmd) as Int\n\t\t\t\t\t\tset span to the first <span[data-cmd=\'${cmdNo}\'] />\n\t\t\t\t\t\tput `<form class=rewrite><input id=cmd></form>` into the span\n\t\t\t\t\tend\n\t\t\t\tend\n\n\t\t\t\ton submit\n\t\t\t\t\thalt the event\n\t\t\t\t\tget (closest @data-cmd to target) as Int\n\t\t\t\t\tcall hdb.rewrite(hdb.cmdMap[result], #cmd\'s value)\n\t\t\t\tend\n\t\t\t"><code></code></pre>\n\t\t</div>\n\t</section>\n\n\t<section class="sec-console" _="\n\t\t-- Print context at startup\n\t\tinit repeat for var in Object.keys(hdb.ctx) if var is not \'meta\'\n\t\t\tsend hdbUI:consoleEntry(input: var, output: hdb.ctx[var]) to #console">\n\n\t\t<ul id="console" role="list" _="\n\t\t\ton hdbUI:consoleEntry(input, output)\n\t\t\t\tif no hdb.consoleHistory set hdb.consoleHistory to [] end\n\t\t\t\tpush(input) on hdb.consoleHistory\n\t\t\t\tset node to #tmpl-console-entry.content.cloneNode(true)\n\t\t\t\tput the node at end of me\n\t\t\t\tset entry to my lastElementChild\n\t\t\t\tgo to bottom of the entry\n\t\t\t\tput escapeHTML(input) into .input in the entry\n\t\t\t\tif no output\n\t\t\t\t\tcall hdb._hyperscript.parse(input)\n\t\t\t\t\tif its execute is not undefined then call its execute(hdb.ctx)\n\t\t\t\t\telse call its evaluate(hdb.ctx)\n\t\t\t\t\tend\n\t\t\t\t\tset output to it\n\t\t\t\tend\n\t\t\t\tput prettyPrint(output) as Fragment into .output in the entry\n\t\t\t">\n\t\t\t<template id="tmpl-console-entry">\n\t\t\t\t<li class="console-entry">\n\t\t\t\t\t<kbd><code class="input"></code></kbd>\n\t\t\t\t\t<samp class="output"></samp>\n\t\t\t\t</li>\n\t\t\t</template>\n\t\t</ul>\n\n\t\t<form id="console-form" data-hist="0" _="on submit\n\t\t\t\tsend hdbUI:consoleEntry(input: #console-input\'s value) to #console\n\t\t\t\tset #console-input\'s value to \'\'\n\t\t\t\tset @data-hist to 0\n\t\t\t\tset element oldContent to null\n\t\t\t\thalt\n\t\t\ton keydown[key is \'ArrowUp\' or key is \'ArrowDown\']\n\t\t\t\tif no hdb.consoleHistory or exit end\n\t\t\t\tif element oldContent is null set element oldContent to #console-input.value end\n\t\t\t\tif event.key is \'ArrowUp\' and hdb.consoleHistory.length > -@data-hist\n\t\t\t\t\tdecrement @data-hist\n\t\t\t\telse if event.key is \'ArrowDown\' and @data-hist < 0\n\t\t\t\t\tincrement @data-hist\n\t\t\t\tend end\n\t\t\t\tset #console-input.value to hdb.consoleHistory[hdb.consoleHistory.length + @data-hist as Int]\n\t\t\t\t\tor oldContent\n\t\t\t\thalt default\n\t\t\ton input if @data-hist is \'0\' set element oldContent to #console-input.value">\n\t\t\t<input id="console-input" placeholder="Enter an expression&hellip;"\n\t\t\t\tautocomplete="off">\n\t\t</form>\n\t</section>\n\n\t<style>\n\t.hdb {\n\t\tborder: 1px solid #888;\n\t\tborder-radius: .3em;\n\t\tbox-shadow: 0 .2em .3em #0008;\n\t\tposition: fixed;\n\t\ttop: .5em; right: .5em;\n\t\twidth: min(40ch, calc(100% - 1em));\n\t\tmax-height: calc(100% - 1em);\n\t\tbackground-color: white;\n\t\tfont-family: sans-serif;\n\t\topacity: .9;\n\t\tz-index: 2147483647;\n\t\tcolor: black;\n\t\tdisplay: flex;\n\t\tflex-flow: column;\n\t}\n\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\theader {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: .4em;\n\t}\n\n\t.titlebar {\n\t\tmargin: 0;\n\t\tfont-size: 1em;\n\t\ttouch-action: none;\n\t}\n\n\t.toolbar {\n\t\tdisplay: flex;\n\t\tgap: .35em;\n\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t\tmargin: 0;\n\t}\n\n\t.toolbar a, .toolbar button {\n\t\tbackground: #2183ff;\n\t\tborder: 1px solid #3465a4;\n\t\tbox-shadow: 0 1px #b3c6ff inset, 0 .06em .06em #000;\n\t\tborder-radius: .2em;\n\t\tfont: inherit;\n\t\tpadding: .2em .3em;\n\t\tcolor: white;\n\t\ttext-shadow: 0 1px black;\n\t\tfont-weight: bold;\n\t}\n\n\t.toolbar a:hover .toolbar a:focus, .toolbar button:hover, .toolbar button:focus {\n\t\tbackground: #94c8ff;\n\t}\n\n\t.toolbar a:active, .toolbar button:active {\n\t\tbackground: #3465a4;\n\t}\n\n\t.sec-code {\n\t\tborder-radius: .3em;\n\t\toverflow: hidden;\n\t\tbox-shadow: 0 1px white inset, 0 .06em .06em #0008;\n\t\tbackground: #bdf;\n\t\tmargin: 0 .4em;\n\t\tborder: 1px solid #3465a4;\n\t}\n\n\t.hdb h3 {\n\t\tmargin: 0;\n\t\tfont-size: 1em;\n\t\tpadding: .2em .4em 0 .4em;\n\t}\n\n\t.code-container {\n\t\tdisplay: grid;\n\t\tline-height: 1.2em;\n\t\theight: calc(12 * 1.2em);\n\t\tborder-radius: 0 0 .2em .2em;\n\t\toverflow: auto;\n\t\tscrollbar-width: thin;\n\t\tscrollbar-color: #0003 transparent;\n\t}\n\n\t.code, #console, #console-input {\n\t\tfont-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;\n\t}\n\n\t.code {\n\t\twidth: 0;\n\t\tmargin: 0;\n\t\tpadding-left: 1ch;\n\t\ttab-size: 2;\n\t\t-moz-tab-size: 2;\n\t\t-o-tab-size: 2;\n\t}\n\n\t.current {\n\t\tfont-weight: bold;\n\t\tbackground: #abf;\n\t}\n\n\t.skip {\n\t\tpadding: 0;\n\t\tmargin: 2px;\n\t\tborder: 1px solid #3465a4;\n\t\tborder-radius: 50%;\n\t\tcolor: #3465a4;\n\t\tbackground: none;\n\t\tfont-weight: bold;\n\t\tfont-size: 1.2em;\n\t\twidth: calc(2ch / 1.2 - 4px);\n\t\theight: calc(2ch / 1.2 - 4px);\n\t\tline-height: 0.6;\n\t}\n\n\t.skip:hover {\n\t\tbackground: #3465a4;\n\t\tcolor: #bdf;\n\t}\n\n\t#console {\n\t\toverflow-y: scroll;\n\t\tscrollbar-width: thin;\n\t\tscrollbar-color: #afc2db transparent;\n\t\theight: calc(12 * 1.2em);\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t\tmargin: 0 .4em .4em .4em;\n\t\tposition: relative;\n\t\tword-wrap: break-word;\n\t}\n\n\t#console>*+* {\n\t\tmargin-top: .5em;\n\t}\n\n\t.console-entry>* {\n\t\tdisplay: block;\n\t}\n\n\t.console-entry .input { color: #3465a4; }\n\t.console-entry .output { color: #333; }\n\n\t.console-entry .input:before { content: \'>> \' }\n\t.console-entry .output:before { content: \'<- \' }\n\n\t#console-form {\n\t\tmargin: 0 .4em .4em .4em;\n\t}\n\n\t#console-input {\n\t\twidth: 100%;\n\t\tfont-size: inherit;\n\t}\n\n\t.token.tagname { font-weight: bold; }\n\t.token.attr, .token.builtin, .token.italic { font-style: italic; }\n\t.token.string { opacity: .8; }\n\t.token.keyword { color: #3465a4; }\n\t.token.bold, .token.punctuation, .token.operator { font-weight: bold; }\n\t</style>\n\t</div>\n\t',document.body.appendChild(t),e.processNode(n.querySelector(".hdb"))}})(b);export{b as default};
2//# sourceMappingURL=_hyperscript_w9y.modern.js.map
3
\No newline at end of file