1763 lines
417 KiB
JavaScript
1763 lines
417 KiB
JavaScript
var Bh=Object.create;var rn=Object.defineProperty;var Yh=Object.getOwnPropertyDescriptor;var Gh=Object.getOwnPropertyNames;var Hh=Object.getPrototypeOf,Wh=Object.prototype.hasOwnProperty;var E=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),zh=(i,e)=>{for(var t in e)rn(i,t,{get:e[t],enumerable:!0})},ka=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Gh(e))!Wh.call(i,a)&&a!==t&&rn(i,a,{get:()=>e[a],enumerable:!(n=Yh(e,a))||n.enumerable});return i};var me=(i,e,t)=>(t=i!=null?Bh(Hh(i)):{},ka(e||!i||!i.__esModule?rn(t,"default",{value:i,enumerable:!0}):t,i)),jh=i=>ka(rn({},"__esModule",{value:!0}),i);var br=E((Gs,Zt)=>{(function(i,e){typeof Gs=="object"&&typeof Zt!="undefined"?Zt.exports=e():typeof define=="function"&&define.amd?define(e):i.moment=e()})(Gs,function(){"use strict";var i;function e(){return i.apply(null,arguments)}function t(r){i=r}function n(r){return r instanceof Array||Object.prototype.toString.call(r)==="[object Array]"}function a(r){return r!=null&&Object.prototype.toString.call(r)==="[object Object]"}function l(r,s){return Object.prototype.hasOwnProperty.call(r,s)}function c(r){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(r).length===0;var s;for(s in r)if(l(r,s))return!1;return!0}function v(r){return r===void 0}function h(r){return typeof r=="number"||Object.prototype.toString.call(r)==="[object Number]"}function d(r){return r instanceof Date||Object.prototype.toString.call(r)==="[object Date]"}function g(r,s){var o=[],u,p=r.length;for(u=0;u<p;++u)o.push(s(r[u],u));return o}function f(r,s){for(var o in s)l(s,o)&&(r[o]=s[o]);return l(s,"toString")&&(r.toString=s.toString),l(s,"valueOf")&&(r.valueOf=s.valueOf),r}function y(r,s,o,u){return ha(r,s,o,u,!0).utc()}function R(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function _(r){return r._pf==null&&(r._pf=R()),r._pf}var O;Array.prototype.some?O=Array.prototype.some:O=function(r){var s=Object(this),o=s.length>>>0,u;for(u=0;u<o;u++)if(u in s&&r.call(this,s[u],u,s))return!0;return!1};function K(r){if(r._isValid==null){var s=_(r),o=O.call(s.parsedDateParts,function(p){return p!=null}),u=!isNaN(r._d.getTime())&&s.overflow<0&&!s.empty&&!s.invalidEra&&!s.invalidMonth&&!s.invalidWeekday&&!s.weekdayMismatch&&!s.nullInput&&!s.invalidFormat&&!s.userInvalidated&&(!s.meridiem||s.meridiem&&o);if(r._strict&&(u=u&&s.charsLeftOver===0&&s.unusedTokens.length===0&&s.bigHour===void 0),Object.isFrozen==null||!Object.isFrozen(r))r._isValid=u;else return u}return r._isValid}function ee(r){var s=y(NaN);return r!=null?f(_(s),r):_(s).userInvalidated=!0,s}var ae=e.momentProperties=[],At=!1;function je(r,s){var o,u,p,m=ae.length;if(v(s._isAMomentObject)||(r._isAMomentObject=s._isAMomentObject),v(s._i)||(r._i=s._i),v(s._f)||(r._f=s._f),v(s._l)||(r._l=s._l),v(s._strict)||(r._strict=s._strict),v(s._tzm)||(r._tzm=s._tzm),v(s._isUTC)||(r._isUTC=s._isUTC),v(s._offset)||(r._offset=s._offset),v(s._pf)||(r._pf=_(s)),v(s._locale)||(r._locale=s._locale),m>0)for(o=0;o<m;o++)u=ae[o],p=s[u],v(p)||(r[u]=p);return r}function _t(r){je(this,r),this._d=new Date(r._d!=null?r._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),At===!1&&(At=!0,e.updateOffset(this),At=!1)}function _e(r){return r instanceof _t||r!=null&&r._isAMomentObject!=null}function cr(r){e.suppressDeprecationWarnings}function Se(r,s){var o=!0;return f(function(){if(e.deprecationHandler!=null&&e.deprecationHandler(null,r),o){var u=[],p,m,I,M=arguments.length;for(m=0;m<M;m++){if(p="",typeof arguments[m]=="object"){p+=`
|
|
[`+m+"] ";for(I in arguments[0])l(arguments[0],I)&&(p+=I+": "+arguments[0][I]+", ");p=p.slice(0,-2)}else p=arguments[m];u.push(p)}cr(r+`
|
|
Arguments: `+Array.prototype.slice.call(u).join("")+`
|
|
`+new Error().stack),o=!1}return s.apply(this,arguments)},s)}var pr={};function Wi(r,s){e.deprecationHandler!=null&&e.deprecationHandler(r,s),pr[r]||(cr(s),pr[r]=!0)}e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;function rt(r){return typeof Function!="undefined"&&r instanceof Function||Object.prototype.toString.call(r)==="[object Function]"}function Gc(r){var s,o;for(o in r)l(r,o)&&(s=r[o],rt(s)?this[o]=s:this["_"+o]=s);this._config=r,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function ds(r,s){var o=f({},r),u;for(u in s)l(s,u)&&(a(r[u])&&a(s[u])?(o[u]={},f(o[u],r[u]),f(o[u],s[u])):s[u]!=null?o[u]=s[u]:delete o[u]);for(u in r)l(r,u)&&!l(s,u)&&a(r[u])&&(o[u]=f({},o[u]));return o}function fs(r){r!=null&&this.set(r)}var Is;Object.keys?Is=Object.keys:Is=function(r){var s,o=[];for(s in r)l(r,s)&&o.push(s);return o};var Hc={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function Wc(r,s,o){var u=this._calendar[r]||this._calendar.sameElse;return rt(u)?u.call(s,o):u}function nt(r,s,o){var u=""+Math.abs(r),p=s-u.length,m=r>=0;return(m?o?"+":"":"-")+Math.pow(10,Math.max(0,p)).toString().substr(1)+u}var gs=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Vr=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ys={},Yt={};function P(r,s,o,u){var p=u;typeof u=="string"&&(p=function(){return this[u]()}),r&&(Yt[r]=p),s&&(Yt[s[0]]=function(){return nt(p.apply(this,arguments),s[1],s[2])}),o&&(Yt[o]=function(){return this.localeData().ordinal(p.apply(this,arguments),r)})}function zc(r){return r.match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"")}function jc(r){var s=r.match(gs),o,u;for(o=0,u=s.length;o<u;o++)Yt[s[o]]?s[o]=Yt[s[o]]:s[o]=zc(s[o]);return function(p){var m="",I;for(I=0;I<u;I++)m+=rt(s[I])?s[I].call(p,r):s[I];return m}}function Lr(r,s){return r.isValid()?(s=zi(s,r.localeData()),ys[s]=ys[s]||jc(s),ys[s](r)):r.localeData().invalidDate()}function zi(r,s){var o=5;function u(p){return s.longDateFormat(p)||p}for(Vr.lastIndex=0;o>=0&&Vr.test(r);)r=r.replace(Vr,u),Vr.lastIndex=0,o-=1;return r}var $c={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Kc(r){var s=this._longDateFormat[r],o=this._longDateFormat[r.toUpperCase()];return s||!o?s:(this._longDateFormat[r]=o.match(gs).map(function(u){return u==="MMMM"||u==="MM"||u==="DD"||u==="dddd"?u.slice(1):u}).join(""),this._longDateFormat[r])}var Zc="Invalid date";function Jc(){return this._invalidDate}var Qc="%d",Xc=/\d{1,2}/;function ep(r){return this._ordinal.replace("%d",r)}var tp={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function rp(r,s,o,u){var p=this._relativeTime[o];return rt(p)?p(r,s,o,u):p.replace(/%d/i,r)}function np(r,s){var o=this._relativeTime[r>0?"future":"past"];return rt(o)?o(s):o.replace(/%s/i,s)}var mr={};function xe(r,s){var o=r.toLowerCase();mr[o]=mr[o+"s"]=mr[s]=r}function Fe(r){return typeof r=="string"?mr[r]||mr[r.toLowerCase()]:void 0}function _s(r){var s={},o,u;for(u in r)l(r,u)&&(o=Fe(u),o&&(s[o]=r[u]));return s}var ji={};function be(r,s){ji[r]=s}function sp(r){var s=[],o;for(o in r)l(r,o)&&s.push({unit:o,priority:ji[o]});return s.sort(function(u,p){return u.priority-p.priority}),s}function kr(r){return r%4===0&&r%100!==0||r%400===0}function qe(r){return r<0?Math.ceil(r)||0:Math.floor(r)}function B(r){var s=+r,o=0;return s!==0&&isFinite(s)&&(o=qe(s)),o}function Gt(r,s){return function(o){return o!=null?($i(this,r,o),e.updateOffset(this,s),this):Cr(this,r)}}function Cr(r,s){return r.isValid()?r._d["get"+(r._isUTC?"UTC":"")+s]():NaN}function $i(r,s,o){r.isValid()&&!isNaN(o)&&(s==="FullYear"&&kr(r.year())&&r.month()===1&&r.date()===29?(o=B(o),r._d["set"+(r._isUTC?"UTC":"")+s](o,r.month(),Hr(o,r.month()))):r._d["set"+(r._isUTC?"UTC":"")+s](o))}function ip(r){return r=Fe(r),rt(this[r])?this[r]():this}function ap(r,s){if(typeof r=="object"){r=_s(r);var o=sp(r),u,p=o.length;for(u=0;u<p;u++)this[o[u].unit](r[o[u].unit])}else if(r=Fe(r),rt(this[r]))return this[r](s);return this}var Ki=/\d/,ke=/\d\d/,Zi=/\d{3}/,Ss=/\d{4}/,Fr=/[+-]?\d{6}/,Z=/\d\d?/,Ji=/\d\d\d\d?/,Qi=/\d\d\d\d\d\d?/,qr=/\d{1,3}/,xs=/\d{1,4}/,Ur=/[+-]?\d{1,6}/,Ht=/\d+/,Br=/[+-]?\d+/,op=/Z|[+-]\d\d:?\d\d/gi,Yr=/Z|[+-]\d\d(?::?\d\d)?/gi,lp=/[+-]?\d+(\.\d{1,3})?/,vr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Gr;Gr={};function w(r,s,o){Gr[r]=rt(s)?s:function(u,p){return u&&o?o:s}}function up(r,s){return l(Gr,r)?Gr[r](s._strict,s._locale):new RegExp(cp(r))}function cp(r){return Ce(r.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(s,o,u,p,m){return o||u||p||m}))}function Ce(r){return r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var bs={};function j(r,s){var o,u=s,p;for(typeof r=="string"&&(r=[r]),h(s)&&(u=function(m,I){I[s]=B(m)}),p=r.length,o=0;o<p;o++)bs[r[o]]=u}function hr(r,s){j(r,function(o,u,p,m){p._w=p._w||{},s(o,p._w,p,m)})}function pp(r,s,o){s!=null&&l(bs,r)&&bs[r](s,o._a,o,r)}var we=0,ut=1,st=2,ue=3,$e=4,ct=5,Ot=6,mp=7,vp=8;function hp(r,s){return(r%s+s)%s}var se;Array.prototype.indexOf?se=Array.prototype.indexOf:se=function(r){var s;for(s=0;s<this.length;++s)if(this[s]===r)return s;return-1};function Hr(r,s){if(isNaN(r)||isNaN(s))return NaN;var o=hp(s,12);return r+=(s-o)/12,o===1?kr(r)?29:28:31-o%7%2}P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(r){return this.localeData().monthsShort(this,r)}),P("MMMM",0,0,function(r){return this.localeData().months(this,r)}),xe("month","M"),be("month",8),w("M",Z),w("MM",Z,ke),w("MMM",function(r,s){return s.monthsShortRegex(r)}),w("MMMM",function(r,s){return s.monthsRegex(r)}),j(["M","MM"],function(r,s){s[ut]=B(r)-1}),j(["MMM","MMMM"],function(r,s,o,u){var p=o._locale.monthsParse(r,u,o._strict);p!=null?s[ut]=p:_(o).invalidMonth=r});var dp="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Xi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ea=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,fp=vr,Ip=vr;function gp(r,s){return r?n(this._months)?this._months[r.month()]:this._months[(this._months.isFormat||ea).test(s)?"format":"standalone"][r.month()]:n(this._months)?this._months:this._months.standalone}function yp(r,s){return r?n(this._monthsShort)?this._monthsShort[r.month()]:this._monthsShort[ea.test(s)?"format":"standalone"][r.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function _p(r,s,o){var u,p,m,I=r.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],u=0;u<12;++u)m=y([2e3,u]),this._shortMonthsParse[u]=this.monthsShort(m,"").toLocaleLowerCase(),this._longMonthsParse[u]=this.months(m,"").toLocaleLowerCase();return o?s==="MMM"?(p=se.call(this._shortMonthsParse,I),p!==-1?p:null):(p=se.call(this._longMonthsParse,I),p!==-1?p:null):s==="MMM"?(p=se.call(this._shortMonthsParse,I),p!==-1?p:(p=se.call(this._longMonthsParse,I),p!==-1?p:null)):(p=se.call(this._longMonthsParse,I),p!==-1?p:(p=se.call(this._shortMonthsParse,I),p!==-1?p:null))}function Sp(r,s,o){var u,p,m;if(this._monthsParseExact)return _p.call(this,r,s,o);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),u=0;u<12;u++){if(p=y([2e3,u]),o&&!this._longMonthsParse[u]&&(this._longMonthsParse[u]=new RegExp("^"+this.months(p,"").replace(".","")+"$","i"),this._shortMonthsParse[u]=new RegExp("^"+this.monthsShort(p,"").replace(".","")+"$","i")),!o&&!this._monthsParse[u]&&(m="^"+this.months(p,"")+"|^"+this.monthsShort(p,""),this._monthsParse[u]=new RegExp(m.replace(".",""),"i")),o&&s==="MMMM"&&this._longMonthsParse[u].test(r))return u;if(o&&s==="MMM"&&this._shortMonthsParse[u].test(r))return u;if(!o&&this._monthsParse[u].test(r))return u}}function ta(r,s){var o;if(!r.isValid())return r;if(typeof s=="string"){if(/^\d+$/.test(s))s=B(s);else if(s=r.localeData().monthsParse(s),!h(s))return r}return o=Math.min(r.date(),Hr(r.year(),s)),r._d["set"+(r._isUTC?"UTC":"")+"Month"](s,o),r}function ra(r){return r!=null?(ta(this,r),e.updateOffset(this,!0),this):Cr(this,"Month")}function xp(){return Hr(this.year(),this.month())}function bp(r){return this._monthsParseExact?(l(this,"_monthsRegex")||na.call(this),r?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=fp),this._monthsShortStrictRegex&&r?this._monthsShortStrictRegex:this._monthsShortRegex)}function wp(r){return this._monthsParseExact?(l(this,"_monthsRegex")||na.call(this),r?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=Ip),this._monthsStrictRegex&&r?this._monthsStrictRegex:this._monthsRegex)}function na(){function r(I,M){return M.length-I.length}var s=[],o=[],u=[],p,m;for(p=0;p<12;p++)m=y([2e3,p]),s.push(this.monthsShort(m,"")),o.push(this.months(m,"")),u.push(this.months(m,"")),u.push(this.monthsShort(m,""));for(s.sort(r),o.sort(r),u.sort(r),p=0;p<12;p++)s[p]=Ce(s[p]),o[p]=Ce(o[p]);for(p=0;p<24;p++)u[p]=Ce(u[p]);this._monthsRegex=new RegExp("^("+u.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}P("Y",0,0,function(){var r=this.year();return r<=9999?nt(r,4):"+"+r}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),xe("year","y"),be("year",1),w("Y",Br),w("YY",Z,ke),w("YYYY",xs,Ss),w("YYYYY",Ur,Fr),w("YYYYYY",Ur,Fr),j(["YYYYY","YYYYYY"],we),j("YYYY",function(r,s){s[we]=r.length===2?e.parseTwoDigitYear(r):B(r)}),j("YY",function(r,s){s[we]=e.parseTwoDigitYear(r)}),j("Y",function(r,s){s[we]=parseInt(r,10)});function dr(r){return kr(r)?366:365}e.parseTwoDigitYear=function(r){return B(r)+(B(r)>68?1900:2e3)};var sa=Gt("FullYear",!0);function Rp(){return kr(this.year())}function Dp(r,s,o,u,p,m,I){var M;return r<100&&r>=0?(M=new Date(r+400,s,o,u,p,m,I),isFinite(M.getFullYear())&&M.setFullYear(r)):M=new Date(r,s,o,u,p,m,I),M}function fr(r){var s,o;return r<100&&r>=0?(o=Array.prototype.slice.call(arguments),o[0]=r+400,s=new Date(Date.UTC.apply(null,o)),isFinite(s.getUTCFullYear())&&s.setUTCFullYear(r)):s=new Date(Date.UTC.apply(null,arguments)),s}function Wr(r,s,o){var u=7+s-o,p=(7+fr(r,0,u).getUTCDay()-s)%7;return-p+u-1}function ia(r,s,o,u,p){var m=(7+o-u)%7,I=Wr(r,u,p),M=1+7*(s-1)+m+I,q,$;return M<=0?(q=r-1,$=dr(q)+M):M>dr(r)?(q=r+1,$=M-dr(r)):(q=r,$=M),{year:q,dayOfYear:$}}function Ir(r,s,o){var u=Wr(r.year(),s,o),p=Math.floor((r.dayOfYear()-u-1)/7)+1,m,I;return p<1?(I=r.year()-1,m=p+pt(I,s,o)):p>pt(r.year(),s,o)?(m=p-pt(r.year(),s,o),I=r.year()+1):(I=r.year(),m=p),{week:m,year:I}}function pt(r,s,o){var u=Wr(r,s,o),p=Wr(r+1,s,o);return(dr(r)-u+p)/7}P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),xe("week","w"),xe("isoWeek","W"),be("week",5),be("isoWeek",5),w("w",Z),w("ww",Z,ke),w("W",Z),w("WW",Z,ke),hr(["w","ww","W","WW"],function(r,s,o,u){s[u.substr(0,1)]=B(r)});function Pp(r){return Ir(r,this._week.dow,this._week.doy).week}var Mp={dow:0,doy:6};function Ep(){return this._week.dow}function Ap(){return this._week.doy}function Op(r){var s=this.localeData().week(this);return r==null?s:this.add((r-s)*7,"d")}function Np(r){var s=Ir(this,1,4).week;return r==null?s:this.add((r-s)*7,"d")}P("d",0,"do","day"),P("dd",0,0,function(r){return this.localeData().weekdaysMin(this,r)}),P("ddd",0,0,function(r){return this.localeData().weekdaysShort(this,r)}),P("dddd",0,0,function(r){return this.localeData().weekdays(this,r)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),xe("day","d"),xe("weekday","e"),xe("isoWeekday","E"),be("day",11),be("weekday",11),be("isoWeekday",11),w("d",Z),w("e",Z),w("E",Z),w("dd",function(r,s){return s.weekdaysMinRegex(r)}),w("ddd",function(r,s){return s.weekdaysShortRegex(r)}),w("dddd",function(r,s){return s.weekdaysRegex(r)}),hr(["dd","ddd","dddd"],function(r,s,o,u){var p=o._locale.weekdaysParse(r,u,o._strict);p!=null?s.d=p:_(o).invalidWeekday=r}),hr(["d","e","E"],function(r,s,o,u){s[u]=B(r)});function Tp(r,s){return typeof r!="string"?r:isNaN(r)?(r=s.weekdaysParse(r),typeof r=="number"?r:null):parseInt(r,10)}function Vp(r,s){return typeof r=="string"?s.weekdaysParse(r)%7||7:isNaN(r)?null:r}function ws(r,s){return r.slice(s,7).concat(r.slice(0,s))}var Lp="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),aa="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kp="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Cp=vr,Fp=vr,qp=vr;function Up(r,s){var o=n(this._weekdays)?this._weekdays:this._weekdays[r&&r!==!0&&this._weekdays.isFormat.test(s)?"format":"standalone"];return r===!0?ws(o,this._week.dow):r?o[r.day()]:o}function Bp(r){return r===!0?ws(this._weekdaysShort,this._week.dow):r?this._weekdaysShort[r.day()]:this._weekdaysShort}function Yp(r){return r===!0?ws(this._weekdaysMin,this._week.dow):r?this._weekdaysMin[r.day()]:this._weekdaysMin}function Gp(r,s,o){var u,p,m,I=r.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],u=0;u<7;++u)m=y([2e3,1]).day(u),this._minWeekdaysParse[u]=this.weekdaysMin(m,"").toLocaleLowerCase(),this._shortWeekdaysParse[u]=this.weekdaysShort(m,"").toLocaleLowerCase(),this._weekdaysParse[u]=this.weekdays(m,"").toLocaleLowerCase();return o?s==="dddd"?(p=se.call(this._weekdaysParse,I),p!==-1?p:null):s==="ddd"?(p=se.call(this._shortWeekdaysParse,I),p!==-1?p:null):(p=se.call(this._minWeekdaysParse,I),p!==-1?p:null):s==="dddd"?(p=se.call(this._weekdaysParse,I),p!==-1||(p=se.call(this._shortWeekdaysParse,I),p!==-1)?p:(p=se.call(this._minWeekdaysParse,I),p!==-1?p:null)):s==="ddd"?(p=se.call(this._shortWeekdaysParse,I),p!==-1||(p=se.call(this._weekdaysParse,I),p!==-1)?p:(p=se.call(this._minWeekdaysParse,I),p!==-1?p:null)):(p=se.call(this._minWeekdaysParse,I),p!==-1||(p=se.call(this._weekdaysParse,I),p!==-1)?p:(p=se.call(this._shortWeekdaysParse,I),p!==-1?p:null))}function Hp(r,s,o){var u,p,m;if(this._weekdaysParseExact)return Gp.call(this,r,s,o);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),u=0;u<7;u++){if(p=y([2e3,1]).day(u),o&&!this._fullWeekdaysParse[u]&&(this._fullWeekdaysParse[u]=new RegExp("^"+this.weekdays(p,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[u]=new RegExp("^"+this.weekdaysShort(p,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[u]=new RegExp("^"+this.weekdaysMin(p,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[u]||(m="^"+this.weekdays(p,"")+"|^"+this.weekdaysShort(p,"")+"|^"+this.weekdaysMin(p,""),this._weekdaysParse[u]=new RegExp(m.replace(".",""),"i")),o&&s==="dddd"&&this._fullWeekdaysParse[u].test(r))return u;if(o&&s==="ddd"&&this._shortWeekdaysParse[u].test(r))return u;if(o&&s==="dd"&&this._minWeekdaysParse[u].test(r))return u;if(!o&&this._weekdaysParse[u].test(r))return u}}function Wp(r){if(!this.isValid())return r!=null?this:NaN;var s=this._isUTC?this._d.getUTCDay():this._d.getDay();return r!=null?(r=Tp(r,this.localeData()),this.add(r-s,"d")):s}function zp(r){if(!this.isValid())return r!=null?this:NaN;var s=(this.day()+7-this.localeData()._week.dow)%7;return r==null?s:this.add(r-s,"d")}function jp(r){if(!this.isValid())return r!=null?this:NaN;if(r!=null){var s=Vp(r,this.localeData());return this.day(this.day()%7?s:s-7)}else return this.day()||7}function $p(r){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Rs.call(this),r?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Cp),this._weekdaysStrictRegex&&r?this._weekdaysStrictRegex:this._weekdaysRegex)}function Kp(r){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Rs.call(this),r?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Fp),this._weekdaysShortStrictRegex&&r?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Zp(r){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Rs.call(this),r?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qp),this._weekdaysMinStrictRegex&&r?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Rs(){function r(De,ft){return ft.length-De.length}var s=[],o=[],u=[],p=[],m,I,M,q,$;for(m=0;m<7;m++)I=y([2e3,1]).day(m),M=Ce(this.weekdaysMin(I,"")),q=Ce(this.weekdaysShort(I,"")),$=Ce(this.weekdays(I,"")),s.push(M),o.push(q),u.push($),p.push(M),p.push(q),p.push($);s.sort(r),o.sort(r),u.sort(r),p.sort(r),this._weekdaysRegex=new RegExp("^("+p.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ds(){return this.hours()%12||12}function Jp(){return this.hours()||24}P("H",["HH",2],0,"hour"),P("h",["hh",2],0,Ds),P("k",["kk",2],0,Jp),P("hmm",0,0,function(){return""+Ds.apply(this)+nt(this.minutes(),2)}),P("hmmss",0,0,function(){return""+Ds.apply(this)+nt(this.minutes(),2)+nt(this.seconds(),2)}),P("Hmm",0,0,function(){return""+this.hours()+nt(this.minutes(),2)}),P("Hmmss",0,0,function(){return""+this.hours()+nt(this.minutes(),2)+nt(this.seconds(),2)});function oa(r,s){P(r,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),s)})}oa("a",!0),oa("A",!1),xe("hour","h"),be("hour",13);function la(r,s){return s._meridiemParse}w("a",la),w("A",la),w("H",Z),w("h",Z),w("k",Z),w("HH",Z,ke),w("hh",Z,ke),w("kk",Z,ke),w("hmm",Ji),w("hmmss",Qi),w("Hmm",Ji),w("Hmmss",Qi),j(["H","HH"],ue),j(["k","kk"],function(r,s,o){var u=B(r);s[ue]=u===24?0:u}),j(["a","A"],function(r,s,o){o._isPm=o._locale.isPM(r),o._meridiem=r}),j(["h","hh"],function(r,s,o){s[ue]=B(r),_(o).bigHour=!0}),j("hmm",function(r,s,o){var u=r.length-2;s[ue]=B(r.substr(0,u)),s[$e]=B(r.substr(u)),_(o).bigHour=!0}),j("hmmss",function(r,s,o){var u=r.length-4,p=r.length-2;s[ue]=B(r.substr(0,u)),s[$e]=B(r.substr(u,2)),s[ct]=B(r.substr(p)),_(o).bigHour=!0}),j("Hmm",function(r,s,o){var u=r.length-2;s[ue]=B(r.substr(0,u)),s[$e]=B(r.substr(u))}),j("Hmmss",function(r,s,o){var u=r.length-4,p=r.length-2;s[ue]=B(r.substr(0,u)),s[$e]=B(r.substr(u,2)),s[ct]=B(r.substr(p))});function Qp(r){return(r+"").toLowerCase().charAt(0)==="p"}var Xp=/[ap]\.?m?\.?/i,em=Gt("Hours",!0);function tm(r,s,o){return r>11?o?"pm":"PM":o?"am":"AM"}var ua={calendar:Hc,longDateFormat:$c,invalidDate:Zc,ordinal:Qc,dayOfMonthOrdinalParse:Xc,relativeTime:tp,months:dp,monthsShort:Xi,week:Mp,weekdays:Lp,weekdaysMin:kp,weekdaysShort:aa,meridiemParse:Xp},Q={},gr={},yr;function rm(r,s){var o,u=Math.min(r.length,s.length);for(o=0;o<u;o+=1)if(r[o]!==s[o])return o;return u}function ca(r){return r&&r.toLowerCase().replace("_","-")}function nm(r){for(var s=0,o,u,p,m;s<r.length;){for(m=ca(r[s]).split("-"),o=m.length,u=ca(r[s+1]),u=u?u.split("-"):null;o>0;){if(p=zr(m.slice(0,o).join("-")),p)return p;if(u&&u.length>=o&&rm(m,u)>=o-1)break;o--}s++}return yr}function sm(r){return r.match("^[^/\\\\]*$")!=null}function zr(r){var s=null,o;if(Q[r]===void 0&&typeof Zt!="undefined"&&Zt&&Zt.exports&&sm(r))try{s=yr._abbr,o=require,o("./locale/"+r),St(s)}catch(u){Q[r]=null}return Q[r]}function St(r,s){var o;return r&&(v(s)?o=mt(r):o=Ps(r,s),o&&(yr=o)),yr._abbr}function Ps(r,s){if(s!==null){var o,u=ua;if(s.abbr=r,Q[r]!=null)Wi("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),u=Q[r]._config;else if(s.parentLocale!=null)if(Q[s.parentLocale]!=null)u=Q[s.parentLocale]._config;else if(o=zr(s.parentLocale),o!=null)u=o._config;else return gr[s.parentLocale]||(gr[s.parentLocale]=[]),gr[s.parentLocale].push({name:r,config:s}),null;return Q[r]=new fs(ds(u,s)),gr[r]&&gr[r].forEach(function(p){Ps(p.name,p.config)}),St(r),Q[r]}else return delete Q[r],null}function im(r,s){if(s!=null){var o,u,p=ua;Q[r]!=null&&Q[r].parentLocale!=null?Q[r].set(ds(Q[r]._config,s)):(u=zr(r),u!=null&&(p=u._config),s=ds(p,s),u==null&&(s.abbr=r),o=new fs(s),o.parentLocale=Q[r],Q[r]=o),St(r)}else Q[r]!=null&&(Q[r].parentLocale!=null?(Q[r]=Q[r].parentLocale,r===St()&&St(r)):Q[r]!=null&&delete Q[r]);return Q[r]}function mt(r){var s;if(r&&r._locale&&r._locale._abbr&&(r=r._locale._abbr),!r)return yr;if(!n(r)){if(s=zr(r),s)return s;r=[r]}return nm(r)}function am(){return Is(Q)}function Ms(r){var s,o=r._a;return o&&_(r).overflow===-2&&(s=o[ut]<0||o[ut]>11?ut:o[st]<1||o[st]>Hr(o[we],o[ut])?st:o[ue]<0||o[ue]>24||o[ue]===24&&(o[$e]!==0||o[ct]!==0||o[Ot]!==0)?ue:o[$e]<0||o[$e]>59?$e:o[ct]<0||o[ct]>59?ct:o[Ot]<0||o[Ot]>999?Ot:-1,_(r)._overflowDayOfYear&&(s<we||s>st)&&(s=st),_(r)._overflowWeeks&&s===-1&&(s=mp),_(r)._overflowWeekday&&s===-1&&(s=vp),_(r).overflow=s),r}var om=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,lm=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,um=/Z|[+-]\d\d(?::?\d\d)?/,jr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Es=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],cm=/^\/?Date\((-?\d+)/i,pm=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,mm={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function pa(r){var s,o,u=r._i,p=om.exec(u)||lm.exec(u),m,I,M,q,$=jr.length,De=Es.length;if(p){for(_(r).iso=!0,s=0,o=$;s<o;s++)if(jr[s][1].exec(p[1])){I=jr[s][0],m=jr[s][2]!==!1;break}if(I==null){r._isValid=!1;return}if(p[3]){for(s=0,o=De;s<o;s++)if(Es[s][1].exec(p[3])){M=(p[2]||" ")+Es[s][0];break}if(M==null){r._isValid=!1;return}}if(!m&&M!=null){r._isValid=!1;return}if(p[4])if(um.exec(p[4]))q="Z";else{r._isValid=!1;return}r._f=I+(M||"")+(q||""),Os(r)}else r._isValid=!1}function vm(r,s,o,u,p,m){var I=[hm(r),Xi.indexOf(s),parseInt(o,10),parseInt(u,10),parseInt(p,10)];return m&&I.push(parseInt(m,10)),I}function hm(r){var s=parseInt(r,10);return s<=49?2e3+s:s<=999?1900+s:s}function dm(r){return r.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function fm(r,s,o){if(r){var u=aa.indexOf(r),p=new Date(s[0],s[1],s[2]).getDay();if(u!==p)return _(o).weekdayMismatch=!0,o._isValid=!1,!1}return!0}function Im(r,s,o){if(r)return mm[r];if(s)return 0;var u=parseInt(o,10),p=u%100,m=(u-p)/100;return m*60+p}function ma(r){var s=pm.exec(dm(r._i)),o;if(s){if(o=vm(s[4],s[3],s[2],s[5],s[6],s[7]),!fm(s[1],o,r))return;r._a=o,r._tzm=Im(s[8],s[9],s[10]),r._d=fr.apply(null,r._a),r._d.setUTCMinutes(r._d.getUTCMinutes()-r._tzm),_(r).rfc2822=!0}else r._isValid=!1}function gm(r){var s=cm.exec(r._i);if(s!==null){r._d=new Date(+s[1]);return}if(pa(r),r._isValid===!1)delete r._isValid;else return;if(ma(r),r._isValid===!1)delete r._isValid;else return;r._strict?r._isValid=!1:e.createFromInputFallback(r)}e.createFromInputFallback=Se("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(r){r._d=new Date(r._i+(r._useUTC?" UTC":""))});function Wt(r,s,o){return r!=null?r:s!=null?s:o}function ym(r){var s=new Date(e.now());return r._useUTC?[s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()]:[s.getFullYear(),s.getMonth(),s.getDate()]}function As(r){var s,o,u=[],p,m,I;if(!r._d){for(p=ym(r),r._w&&r._a[st]==null&&r._a[ut]==null&&_m(r),r._dayOfYear!=null&&(I=Wt(r._a[we],p[we]),(r._dayOfYear>dr(I)||r._dayOfYear===0)&&(_(r)._overflowDayOfYear=!0),o=fr(I,0,r._dayOfYear),r._a[ut]=o.getUTCMonth(),r._a[st]=o.getUTCDate()),s=0;s<3&&r._a[s]==null;++s)r._a[s]=u[s]=p[s];for(;s<7;s++)r._a[s]=u[s]=r._a[s]==null?s===2?1:0:r._a[s];r._a[ue]===24&&r._a[$e]===0&&r._a[ct]===0&&r._a[Ot]===0&&(r._nextDay=!0,r._a[ue]=0),r._d=(r._useUTC?fr:Dp).apply(null,u),m=r._useUTC?r._d.getUTCDay():r._d.getDay(),r._tzm!=null&&r._d.setUTCMinutes(r._d.getUTCMinutes()-r._tzm),r._nextDay&&(r._a[ue]=24),r._w&&typeof r._w.d!="undefined"&&r._w.d!==m&&(_(r).weekdayMismatch=!0)}}function _m(r){var s,o,u,p,m,I,M,q,$;s=r._w,s.GG!=null||s.W!=null||s.E!=null?(m=1,I=4,o=Wt(s.GG,r._a[we],Ir(J(),1,4).year),u=Wt(s.W,1),p=Wt(s.E,1),(p<1||p>7)&&(q=!0)):(m=r._locale._week.dow,I=r._locale._week.doy,$=Ir(J(),m,I),o=Wt(s.gg,r._a[we],$.year),u=Wt(s.w,$.week),s.d!=null?(p=s.d,(p<0||p>6)&&(q=!0)):s.e!=null?(p=s.e+m,(s.e<0||s.e>6)&&(q=!0)):p=m),u<1||u>pt(o,m,I)?_(r)._overflowWeeks=!0:q!=null?_(r)._overflowWeekday=!0:(M=ia(o,u,p,m,I),r._a[we]=M.year,r._dayOfYear=M.dayOfYear)}e.ISO_8601=function(){},e.RFC_2822=function(){};function Os(r){if(r._f===e.ISO_8601){pa(r);return}if(r._f===e.RFC_2822){ma(r);return}r._a=[],_(r).empty=!0;var s=""+r._i,o,u,p,m,I,M=s.length,q=0,$,De;for(p=zi(r._f,r._locale).match(gs)||[],De=p.length,o=0;o<De;o++)m=p[o],u=(s.match(up(m,r))||[])[0],u&&(I=s.substr(0,s.indexOf(u)),I.length>0&&_(r).unusedInput.push(I),s=s.slice(s.indexOf(u)+u.length),q+=u.length),Yt[m]?(u?_(r).empty=!1:_(r).unusedTokens.push(m),pp(m,u,r)):r._strict&&!u&&_(r).unusedTokens.push(m);_(r).charsLeftOver=M-q,s.length>0&&_(r).unusedInput.push(s),r._a[ue]<=12&&_(r).bigHour===!0&&r._a[ue]>0&&(_(r).bigHour=void 0),_(r).parsedDateParts=r._a.slice(0),_(r).meridiem=r._meridiem,r._a[ue]=Sm(r._locale,r._a[ue],r._meridiem),$=_(r).era,$!==null&&(r._a[we]=r._locale.erasConvertYear($,r._a[we])),As(r),Ms(r)}function Sm(r,s,o){var u;return o==null?s:r.meridiemHour!=null?r.meridiemHour(s,o):(r.isPM!=null&&(u=r.isPM(o),u&&s<12&&(s+=12),!u&&s===12&&(s=0)),s)}function xm(r){var s,o,u,p,m,I,M=!1,q=r._f.length;if(q===0){_(r).invalidFormat=!0,r._d=new Date(NaN);return}for(p=0;p<q;p++)m=0,I=!1,s=je({},r),r._useUTC!=null&&(s._useUTC=r._useUTC),s._f=r._f[p],Os(s),K(s)&&(I=!0),m+=_(s).charsLeftOver,m+=_(s).unusedTokens.length*10,_(s).score=m,M?m<u&&(u=m,o=s):(u==null||m<u||I)&&(u=m,o=s,I&&(M=!0));f(r,o||s)}function bm(r){if(!r._d){var s=_s(r._i),o=s.day===void 0?s.date:s.day;r._a=g([s.year,s.month,o,s.hour,s.minute,s.second,s.millisecond],function(u){return u&&parseInt(u,10)}),As(r)}}function wm(r){var s=new _t(Ms(va(r)));return s._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function va(r){var s=r._i,o=r._f;return r._locale=r._locale||mt(r._l),s===null||o===void 0&&s===""?ee({nullInput:!0}):(typeof s=="string"&&(r._i=s=r._locale.preparse(s)),_e(s)?new _t(Ms(s)):(d(s)?r._d=s:n(o)?xm(r):o?Os(r):Rm(r),K(r)||(r._d=null),r))}function Rm(r){var s=r._i;v(s)?r._d=new Date(e.now()):d(s)?r._d=new Date(s.valueOf()):typeof s=="string"?gm(r):n(s)?(r._a=g(s.slice(0),function(o){return parseInt(o,10)}),As(r)):a(s)?bm(r):h(s)?r._d=new Date(s):e.createFromInputFallback(r)}function ha(r,s,o,u,p){var m={};return(s===!0||s===!1)&&(u=s,s=void 0),(o===!0||o===!1)&&(u=o,o=void 0),(a(r)&&c(r)||n(r)&&r.length===0)&&(r=void 0),m._isAMomentObject=!0,m._useUTC=m._isUTC=p,m._l=o,m._i=r,m._f=s,m._strict=u,wm(m)}function J(r,s,o,u){return ha(r,s,o,u,!1)}var Dm=Se("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var r=J.apply(null,arguments);return this.isValid()&&r.isValid()?r<this?this:r:ee()}),Pm=Se("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var r=J.apply(null,arguments);return this.isValid()&&r.isValid()?r>this?this:r:ee()});function da(r,s){var o,u;if(s.length===1&&n(s[0])&&(s=s[0]),!s.length)return J();for(o=s[0],u=1;u<s.length;++u)(!s[u].isValid()||s[u][r](o))&&(o=s[u]);return o}function Mm(){var r=[].slice.call(arguments,0);return da("isBefore",r)}function Em(){var r=[].slice.call(arguments,0);return da("isAfter",r)}var Am=function(){return Date.now?Date.now():+new Date},_r=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Om(r){var s,o=!1,u,p=_r.length;for(s in r)if(l(r,s)&&!(se.call(_r,s)!==-1&&(r[s]==null||!isNaN(r[s]))))return!1;for(u=0;u<p;++u)if(r[_r[u]]){if(o)return!1;parseFloat(r[_r[u]])!==B(r[_r[u]])&&(o=!0)}return!0}function Nm(){return this._isValid}function Tm(){return Ke(NaN)}function $r(r){var s=_s(r),o=s.year||0,u=s.quarter||0,p=s.month||0,m=s.week||s.isoWeek||0,I=s.day||0,M=s.hour||0,q=s.minute||0,$=s.second||0,De=s.millisecond||0;this._isValid=Om(s),this._milliseconds=+De+$*1e3+q*6e4+M*1e3*60*60,this._days=+I+m*7,this._months=+p+u*3+o*12,this._data={},this._locale=mt(),this._bubble()}function Kr(r){return r instanceof $r}function Ns(r){return r<0?Math.round(-1*r)*-1:Math.round(r)}function Vm(r,s,o){var u=Math.min(r.length,s.length),p=Math.abs(r.length-s.length),m=0,I;for(I=0;I<u;I++)(o&&r[I]!==s[I]||!o&&B(r[I])!==B(s[I]))&&m++;return m+p}function fa(r,s){P(r,0,0,function(){var o=this.utcOffset(),u="+";return o<0&&(o=-o,u="-"),u+nt(~~(o/60),2)+s+nt(~~o%60,2)})}fa("Z",":"),fa("ZZ",""),w("Z",Yr),w("ZZ",Yr),j(["Z","ZZ"],function(r,s,o){o._useUTC=!0,o._tzm=Ts(Yr,r)});var Lm=/([\+\-]|\d\d)/gi;function Ts(r,s){var o=(s||"").match(r),u,p,m;return o===null?null:(u=o[o.length-1]||[],p=(u+"").match(Lm)||["-",0,0],m=+(p[1]*60)+B(p[2]),m===0?0:p[0]==="+"?m:-m)}function Vs(r,s){var o,u;return s._isUTC?(o=s.clone(),u=(_e(r)||d(r)?r.valueOf():J(r).valueOf())-o.valueOf(),o._d.setTime(o._d.valueOf()+u),e.updateOffset(o,!1),o):J(r).local()}function Ls(r){return-Math.round(r._d.getTimezoneOffset())}e.updateOffset=function(){};function km(r,s,o){var u=this._offset||0,p;if(!this.isValid())return r!=null?this:NaN;if(r!=null){if(typeof r=="string"){if(r=Ts(Yr,r),r===null)return this}else Math.abs(r)<16&&!o&&(r=r*60);return!this._isUTC&&s&&(p=Ls(this)),this._offset=r,this._isUTC=!0,p!=null&&this.add(p,"m"),u!==r&&(!s||this._changeInProgress?_a(this,Ke(r-u,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?u:Ls(this)}function Cm(r,s){return r!=null?(typeof r!="string"&&(r=-r),this.utcOffset(r,s),this):-this.utcOffset()}function Fm(r){return this.utcOffset(0,r)}function qm(r){return this._isUTC&&(this.utcOffset(0,r),this._isUTC=!1,r&&this.subtract(Ls(this),"m")),this}function Um(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var r=Ts(op,this._i);r!=null?this.utcOffset(r):this.utcOffset(0,!0)}return this}function Bm(r){return this.isValid()?(r=r?J(r).utcOffset():0,(this.utcOffset()-r)%60===0):!1}function Ym(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Gm(){if(!v(this._isDSTShifted))return this._isDSTShifted;var r={},s;return je(r,this),r=va(r),r._a?(s=r._isUTC?y(r._a):J(r._a),this._isDSTShifted=this.isValid()&&Vm(r._a,s.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Hm(){return this.isValid()?!this._isUTC:!1}function Wm(){return this.isValid()?this._isUTC:!1}function Ia(){return this.isValid()?this._isUTC&&this._offset===0:!1}var zm=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,jm=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ke(r,s){var o=r,u=null,p,m,I;return Kr(r)?o={ms:r._milliseconds,d:r._days,M:r._months}:h(r)||!isNaN(+r)?(o={},s?o[s]=+r:o.milliseconds=+r):(u=zm.exec(r))?(p=u[1]==="-"?-1:1,o={y:0,d:B(u[st])*p,h:B(u[ue])*p,m:B(u[$e])*p,s:B(u[ct])*p,ms:B(Ns(u[Ot]*1e3))*p}):(u=jm.exec(r))?(p=u[1]==="-"?-1:1,o={y:Nt(u[2],p),M:Nt(u[3],p),w:Nt(u[4],p),d:Nt(u[5],p),h:Nt(u[6],p),m:Nt(u[7],p),s:Nt(u[8],p)}):o==null?o={}:typeof o=="object"&&("from"in o||"to"in o)&&(I=$m(J(o.from),J(o.to)),o={},o.ms=I.milliseconds,o.M=I.months),m=new $r(o),Kr(r)&&l(r,"_locale")&&(m._locale=r._locale),Kr(r)&&l(r,"_isValid")&&(m._isValid=r._isValid),m}Ke.fn=$r.prototype,Ke.invalid=Tm;function Nt(r,s){var o=r&&parseFloat(r.replace(",","."));return(isNaN(o)?0:o)*s}function ga(r,s){var o={};return o.months=s.month()-r.month()+(s.year()-r.year())*12,r.clone().add(o.months,"M").isAfter(s)&&--o.months,o.milliseconds=+s-+r.clone().add(o.months,"M"),o}function $m(r,s){var o;return r.isValid()&&s.isValid()?(s=Vs(s,r),r.isBefore(s)?o=ga(r,s):(o=ga(s,r),o.milliseconds=-o.milliseconds,o.months=-o.months),o):{milliseconds:0,months:0}}function ya(r,s){return function(o,u){var p,m;return u!==null&&!isNaN(+u)&&(Wi(s,"moment()."+s+"(period, number) is deprecated. Please use moment()."+s+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),m=o,o=u,u=m),p=Ke(o,u),_a(this,p,r),this}}function _a(r,s,o,u){var p=s._milliseconds,m=Ns(s._days),I=Ns(s._months);r.isValid()&&(u=u==null?!0:u,I&&ta(r,Cr(r,"Month")+I*o),m&&$i(r,"Date",Cr(r,"Date")+m*o),p&&r._d.setTime(r._d.valueOf()+p*o),u&&e.updateOffset(r,m||I))}var Km=ya(1,"add"),Zm=ya(-1,"subtract");function Sa(r){return typeof r=="string"||r instanceof String}function Jm(r){return _e(r)||d(r)||Sa(r)||h(r)||Xm(r)||Qm(r)||r===null||r===void 0}function Qm(r){var s=a(r)&&!c(r),o=!1,u=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],p,m,I=u.length;for(p=0;p<I;p+=1)m=u[p],o=o||l(r,m);return s&&o}function Xm(r){var s=n(r),o=!1;return s&&(o=r.filter(function(u){return!h(u)&&Sa(r)}).length===0),s&&o}function ev(r){var s=a(r)&&!c(r),o=!1,u=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],p,m;for(p=0;p<u.length;p+=1)m=u[p],o=o||l(r,m);return s&&o}function tv(r,s){var o=r.diff(s,"days",!0);return o<-6?"sameElse":o<-1?"lastWeek":o<0?"lastDay":o<1?"sameDay":o<2?"nextDay":o<7?"nextWeek":"sameElse"}function rv(r,s){arguments.length===1&&(arguments[0]?Jm(arguments[0])?(r=arguments[0],s=void 0):ev(arguments[0])&&(s=arguments[0],r=void 0):(r=void 0,s=void 0));var o=r||J(),u=Vs(o,this).startOf("day"),p=e.calendarFormat(this,u)||"sameElse",m=s&&(rt(s[p])?s[p].call(this,o):s[p]);return this.format(m||this.localeData().calendar(p,this,J(o)))}function nv(){return new _t(this)}function sv(r,s){var o=_e(r)?r:J(r);return this.isValid()&&o.isValid()?(s=Fe(s)||"millisecond",s==="millisecond"?this.valueOf()>o.valueOf():o.valueOf()<this.clone().startOf(s).valueOf()):!1}function iv(r,s){var o=_e(r)?r:J(r);return this.isValid()&&o.isValid()?(s=Fe(s)||"millisecond",s==="millisecond"?this.valueOf()<o.valueOf():this.clone().endOf(s).valueOf()<o.valueOf()):!1}function av(r,s,o,u){var p=_e(r)?r:J(r),m=_e(s)?s:J(s);return this.isValid()&&p.isValid()&&m.isValid()?(u=u||"()",(u[0]==="("?this.isAfter(p,o):!this.isBefore(p,o))&&(u[1]===")"?this.isBefore(m,o):!this.isAfter(m,o))):!1}function ov(r,s){var o=_e(r)?r:J(r),u;return this.isValid()&&o.isValid()?(s=Fe(s)||"millisecond",s==="millisecond"?this.valueOf()===o.valueOf():(u=o.valueOf(),this.clone().startOf(s).valueOf()<=u&&u<=this.clone().endOf(s).valueOf())):!1}function lv(r,s){return this.isSame(r,s)||this.isAfter(r,s)}function uv(r,s){return this.isSame(r,s)||this.isBefore(r,s)}function cv(r,s,o){var u,p,m;if(!this.isValid())return NaN;if(u=Vs(r,this),!u.isValid())return NaN;switch(p=(u.utcOffset()-this.utcOffset())*6e4,s=Fe(s),s){case"year":m=Zr(this,u)/12;break;case"month":m=Zr(this,u);break;case"quarter":m=Zr(this,u)/3;break;case"second":m=(this-u)/1e3;break;case"minute":m=(this-u)/6e4;break;case"hour":m=(this-u)/36e5;break;case"day":m=(this-u-p)/864e5;break;case"week":m=(this-u-p)/6048e5;break;default:m=this-u}return o?m:qe(m)}function Zr(r,s){if(r.date()<s.date())return-Zr(s,r);var o=(s.year()-r.year())*12+(s.month()-r.month()),u=r.clone().add(o,"months"),p,m;return s-u<0?(p=r.clone().add(o-1,"months"),m=(s-u)/(u-p)):(p=r.clone().add(o+1,"months"),m=(s-u)/(p-u)),-(o+m)||0}e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function pv(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function mv(r){if(!this.isValid())return null;var s=r!==!0,o=s?this.clone().utc():this;return o.year()<0||o.year()>9999?Lr(o,s?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):rt(Date.prototype.toISOString)?s?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Lr(o,"Z")):Lr(o,s?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function vv(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var r="moment",s="",o,u,p,m;return this.isLocal()||(r=this.utcOffset()===0?"moment.utc":"moment.parseZone",s="Z"),o="["+r+'("]',u=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",p="-MM-DD[T]HH:mm:ss.SSS",m=s+'[")]',this.format(o+u+p+m)}function hv(r){r||(r=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var s=Lr(this,r);return this.localeData().postformat(s)}function dv(r,s){return this.isValid()&&(_e(r)&&r.isValid()||J(r).isValid())?Ke({to:this,from:r}).locale(this.locale()).humanize(!s):this.localeData().invalidDate()}function fv(r){return this.from(J(),r)}function Iv(r,s){return this.isValid()&&(_e(r)&&r.isValid()||J(r).isValid())?Ke({from:this,to:r}).locale(this.locale()).humanize(!s):this.localeData().invalidDate()}function gv(r){return this.to(J(),r)}function xa(r){var s;return r===void 0?this._locale._abbr:(s=mt(r),s!=null&&(this._locale=s),this)}var ba=Se("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(r){return r===void 0?this.localeData():this.locale(r)});function wa(){return this._locale}var Jr=1e3,zt=60*Jr,Qr=60*zt,Ra=(365*400+97)*24*Qr;function jt(r,s){return(r%s+s)%s}function Da(r,s,o){return r<100&&r>=0?new Date(r+400,s,o)-Ra:new Date(r,s,o).valueOf()}function Pa(r,s,o){return r<100&&r>=0?Date.UTC(r+400,s,o)-Ra:Date.UTC(r,s,o)}function yv(r){var s,o;if(r=Fe(r),r===void 0||r==="millisecond"||!this.isValid())return this;switch(o=this._isUTC?Pa:Da,r){case"year":s=o(this.year(),0,1);break;case"quarter":s=o(this.year(),this.month()-this.month()%3,1);break;case"month":s=o(this.year(),this.month(),1);break;case"week":s=o(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":s=o(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":s=o(this.year(),this.month(),this.date());break;case"hour":s=this._d.valueOf(),s-=jt(s+(this._isUTC?0:this.utcOffset()*zt),Qr);break;case"minute":s=this._d.valueOf(),s-=jt(s,zt);break;case"second":s=this._d.valueOf(),s-=jt(s,Jr);break}return this._d.setTime(s),e.updateOffset(this,!0),this}function _v(r){var s,o;if(r=Fe(r),r===void 0||r==="millisecond"||!this.isValid())return this;switch(o=this._isUTC?Pa:Da,r){case"year":s=o(this.year()+1,0,1)-1;break;case"quarter":s=o(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":s=o(this.year(),this.month()+1,1)-1;break;case"week":s=o(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":s=o(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":s=o(this.year(),this.month(),this.date()+1)-1;break;case"hour":s=this._d.valueOf(),s+=Qr-jt(s+(this._isUTC?0:this.utcOffset()*zt),Qr)-1;break;case"minute":s=this._d.valueOf(),s+=zt-jt(s,zt)-1;break;case"second":s=this._d.valueOf(),s+=Jr-jt(s,Jr)-1;break}return this._d.setTime(s),e.updateOffset(this,!0),this}function Sv(){return this._d.valueOf()-(this._offset||0)*6e4}function xv(){return Math.floor(this.valueOf()/1e3)}function bv(){return new Date(this.valueOf())}function wv(){var r=this;return[r.year(),r.month(),r.date(),r.hour(),r.minute(),r.second(),r.millisecond()]}function Rv(){var r=this;return{years:r.year(),months:r.month(),date:r.date(),hours:r.hours(),minutes:r.minutes(),seconds:r.seconds(),milliseconds:r.milliseconds()}}function Dv(){return this.isValid()?this.toISOString():null}function Pv(){return K(this)}function Mv(){return f({},_(this))}function Ev(){return _(this).overflow}function Av(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}P("N",0,0,"eraAbbr"),P("NN",0,0,"eraAbbr"),P("NNN",0,0,"eraAbbr"),P("NNNN",0,0,"eraName"),P("NNNNN",0,0,"eraNarrow"),P("y",["y",1],"yo","eraYear"),P("y",["yy",2],0,"eraYear"),P("y",["yyy",3],0,"eraYear"),P("y",["yyyy",4],0,"eraYear"),w("N",ks),w("NN",ks),w("NNN",ks),w("NNNN",Bv),w("NNNNN",Yv),j(["N","NN","NNN","NNNN","NNNNN"],function(r,s,o,u){var p=o._locale.erasParse(r,u,o._strict);p?_(o).era=p:_(o).invalidEra=r}),w("y",Ht),w("yy",Ht),w("yyy",Ht),w("yyyy",Ht),w("yo",Gv),j(["y","yy","yyy","yyyy"],we),j(["yo"],function(r,s,o,u){var p;o._locale._eraYearOrdinalRegex&&(p=r.match(o._locale._eraYearOrdinalRegex)),o._locale.eraYearOrdinalParse?s[we]=o._locale.eraYearOrdinalParse(r,p):s[we]=parseInt(r,10)});function Ov(r,s){var o,u,p,m=this._eras||mt("en")._eras;for(o=0,u=m.length;o<u;++o){switch(typeof m[o].since){case"string":p=e(m[o].since).startOf("day"),m[o].since=p.valueOf();break}switch(typeof m[o].until){case"undefined":m[o].until=1/0;break;case"string":p=e(m[o].until).startOf("day").valueOf(),m[o].until=p.valueOf();break}}return m}function Nv(r,s,o){var u,p,m=this.eras(),I,M,q;for(r=r.toUpperCase(),u=0,p=m.length;u<p;++u)if(I=m[u].name.toUpperCase(),M=m[u].abbr.toUpperCase(),q=m[u].narrow.toUpperCase(),o)switch(s){case"N":case"NN":case"NNN":if(M===r)return m[u];break;case"NNNN":if(I===r)return m[u];break;case"NNNNN":if(q===r)return m[u];break}else if([I,M,q].indexOf(r)>=0)return m[u]}function Tv(r,s){var o=r.since<=r.until?1:-1;return s===void 0?e(r.since).year():e(r.since).year()+(s-r.offset)*o}function Vv(){var r,s,o,u=this.localeData().eras();for(r=0,s=u.length;r<s;++r)if(o=this.clone().startOf("day").valueOf(),u[r].since<=o&&o<=u[r].until||u[r].until<=o&&o<=u[r].since)return u[r].name;return""}function Lv(){var r,s,o,u=this.localeData().eras();for(r=0,s=u.length;r<s;++r)if(o=this.clone().startOf("day").valueOf(),u[r].since<=o&&o<=u[r].until||u[r].until<=o&&o<=u[r].since)return u[r].narrow;return""}function kv(){var r,s,o,u=this.localeData().eras();for(r=0,s=u.length;r<s;++r)if(o=this.clone().startOf("day").valueOf(),u[r].since<=o&&o<=u[r].until||u[r].until<=o&&o<=u[r].since)return u[r].abbr;return""}function Cv(){var r,s,o,u,p=this.localeData().eras();for(r=0,s=p.length;r<s;++r)if(o=p[r].since<=p[r].until?1:-1,u=this.clone().startOf("day").valueOf(),p[r].since<=u&&u<=p[r].until||p[r].until<=u&&u<=p[r].since)return(this.year()-e(p[r].since).year())*o+p[r].offset;return this.year()}function Fv(r){return l(this,"_erasNameRegex")||Cs.call(this),r?this._erasNameRegex:this._erasRegex}function qv(r){return l(this,"_erasAbbrRegex")||Cs.call(this),r?this._erasAbbrRegex:this._erasRegex}function Uv(r){return l(this,"_erasNarrowRegex")||Cs.call(this),r?this._erasNarrowRegex:this._erasRegex}function ks(r,s){return s.erasAbbrRegex(r)}function Bv(r,s){return s.erasNameRegex(r)}function Yv(r,s){return s.erasNarrowRegex(r)}function Gv(r,s){return s._eraYearOrdinalRegex||Ht}function Cs(){var r=[],s=[],o=[],u=[],p,m,I=this.eras();for(p=0,m=I.length;p<m;++p)s.push(Ce(I[p].name)),r.push(Ce(I[p].abbr)),o.push(Ce(I[p].narrow)),u.push(Ce(I[p].name)),u.push(Ce(I[p].abbr)),u.push(Ce(I[p].narrow));this._erasRegex=new RegExp("^("+u.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+s.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+r.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+o.join("|")+")","i")}P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Xr(r,s){P(0,[r,r.length],0,s)}Xr("gggg","weekYear"),Xr("ggggg","weekYear"),Xr("GGGG","isoWeekYear"),Xr("GGGGG","isoWeekYear"),xe("weekYear","gg"),xe("isoWeekYear","GG"),be("weekYear",1),be("isoWeekYear",1),w("G",Br),w("g",Br),w("GG",Z,ke),w("gg",Z,ke),w("GGGG",xs,Ss),w("gggg",xs,Ss),w("GGGGG",Ur,Fr),w("ggggg",Ur,Fr),hr(["gggg","ggggg","GGGG","GGGGG"],function(r,s,o,u){s[u.substr(0,2)]=B(r)}),hr(["gg","GG"],function(r,s,o,u){s[u]=e.parseTwoDigitYear(r)});function Hv(r){return Ma.call(this,r,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Wv(r){return Ma.call(this,r,this.isoWeek(),this.isoWeekday(),1,4)}function zv(){return pt(this.year(),1,4)}function jv(){return pt(this.isoWeekYear(),1,4)}function $v(){var r=this.localeData()._week;return pt(this.year(),r.dow,r.doy)}function Kv(){var r=this.localeData()._week;return pt(this.weekYear(),r.dow,r.doy)}function Ma(r,s,o,u,p){var m;return r==null?Ir(this,u,p).year:(m=pt(r,u,p),s>m&&(s=m),Zv.call(this,r,s,o,u,p))}function Zv(r,s,o,u,p){var m=ia(r,s,o,u,p),I=fr(m.year,0,m.dayOfYear);return this.year(I.getUTCFullYear()),this.month(I.getUTCMonth()),this.date(I.getUTCDate()),this}P("Q",0,"Qo","quarter"),xe("quarter","Q"),be("quarter",7),w("Q",Ki),j("Q",function(r,s){s[ut]=(B(r)-1)*3});function Jv(r){return r==null?Math.ceil((this.month()+1)/3):this.month((r-1)*3+this.month()%3)}P("D",["DD",2],"Do","date"),xe("date","D"),be("date",9),w("D",Z),w("DD",Z,ke),w("Do",function(r,s){return r?s._dayOfMonthOrdinalParse||s._ordinalParse:s._dayOfMonthOrdinalParseLenient}),j(["D","DD"],st),j("Do",function(r,s){s[st]=B(r.match(Z)[0])});var Ea=Gt("Date",!0);P("DDD",["DDDD",3],"DDDo","dayOfYear"),xe("dayOfYear","DDD"),be("dayOfYear",4),w("DDD",qr),w("DDDD",Zi),j(["DDD","DDDD"],function(r,s,o){o._dayOfYear=B(r)});function Qv(r){var s=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return r==null?s:this.add(r-s,"d")}P("m",["mm",2],0,"minute"),xe("minute","m"),be("minute",14),w("m",Z),w("mm",Z,ke),j(["m","mm"],$e);var Xv=Gt("Minutes",!1);P("s",["ss",2],0,"second"),xe("second","s"),be("second",15),w("s",Z),w("ss",Z,ke),j(["s","ss"],ct);var eh=Gt("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return this.millisecond()*10}),P(0,["SSSSS",5],0,function(){return this.millisecond()*100}),P(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),P(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),P(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),P(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),xe("millisecond","ms"),be("millisecond",16),w("S",qr,Ki),w("SS",qr,ke),w("SSS",qr,Zi);var xt,Aa;for(xt="SSSS";xt.length<=9;xt+="S")w(xt,Ht);function th(r,s){s[Ot]=B(("0."+r)*1e3)}for(xt="S";xt.length<=9;xt+="S")j(xt,th);Aa=Gt("Milliseconds",!1),P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");function rh(){return this._isUTC?"UTC":""}function nh(){return this._isUTC?"Coordinated Universal Time":""}var S=_t.prototype;S.add=Km,S.calendar=rv,S.clone=nv,S.diff=cv,S.endOf=_v,S.format=hv,S.from=dv,S.fromNow=fv,S.to=Iv,S.toNow=gv,S.get=ip,S.invalidAt=Ev,S.isAfter=sv,S.isBefore=iv,S.isBetween=av,S.isSame=ov,S.isSameOrAfter=lv,S.isSameOrBefore=uv,S.isValid=Pv,S.lang=ba,S.locale=xa,S.localeData=wa,S.max=Pm,S.min=Dm,S.parsingFlags=Mv,S.set=ap,S.startOf=yv,S.subtract=Zm,S.toArray=wv,S.toObject=Rv,S.toDate=bv,S.toISOString=mv,S.inspect=vv,typeof Symbol!="undefined"&&Symbol.for!=null&&(S[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),S.toJSON=Dv,S.toString=pv,S.unix=xv,S.valueOf=Sv,S.creationData=Av,S.eraName=Vv,S.eraNarrow=Lv,S.eraAbbr=kv,S.eraYear=Cv,S.year=sa,S.isLeapYear=Rp,S.weekYear=Hv,S.isoWeekYear=Wv,S.quarter=S.quarters=Jv,S.month=ra,S.daysInMonth=xp,S.week=S.weeks=Op,S.isoWeek=S.isoWeeks=Np,S.weeksInYear=$v,S.weeksInWeekYear=Kv,S.isoWeeksInYear=zv,S.isoWeeksInISOWeekYear=jv,S.date=Ea,S.day=S.days=Wp,S.weekday=zp,S.isoWeekday=jp,S.dayOfYear=Qv,S.hour=S.hours=em,S.minute=S.minutes=Xv,S.second=S.seconds=eh,S.millisecond=S.milliseconds=Aa,S.utcOffset=km,S.utc=Fm,S.local=qm,S.parseZone=Um,S.hasAlignedHourOffset=Bm,S.isDST=Ym,S.isLocal=Hm,S.isUtcOffset=Wm,S.isUtc=Ia,S.isUTC=Ia,S.zoneAbbr=rh,S.zoneName=nh,S.dates=Se("dates accessor is deprecated. Use date instead.",Ea),S.months=Se("months accessor is deprecated. Use month instead",ra),S.years=Se("years accessor is deprecated. Use year instead",sa),S.zone=Se("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Cm),S.isDSTShifted=Se("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Gm);function sh(r){return J(r*1e3)}function ih(){return J.apply(null,arguments).parseZone()}function Oa(r){return r}var H=fs.prototype;H.calendar=Wc,H.longDateFormat=Kc,H.invalidDate=Jc,H.ordinal=ep,H.preparse=Oa,H.postformat=Oa,H.relativeTime=rp,H.pastFuture=np,H.set=Gc,H.eras=Ov,H.erasParse=Nv,H.erasConvertYear=Tv,H.erasAbbrRegex=qv,H.erasNameRegex=Fv,H.erasNarrowRegex=Uv,H.months=gp,H.monthsShort=yp,H.monthsParse=Sp,H.monthsRegex=wp,H.monthsShortRegex=bp,H.week=Pp,H.firstDayOfYear=Ap,H.firstDayOfWeek=Ep,H.weekdays=Up,H.weekdaysMin=Yp,H.weekdaysShort=Bp,H.weekdaysParse=Hp,H.weekdaysRegex=$p,H.weekdaysShortRegex=Kp,H.weekdaysMinRegex=Zp,H.isPM=Qp,H.meridiem=tm;function en(r,s,o,u){var p=mt(),m=y().set(u,s);return p[o](m,r)}function Na(r,s,o){if(h(r)&&(s=r,r=void 0),r=r||"",s!=null)return en(r,s,o,"month");var u,p=[];for(u=0;u<12;u++)p[u]=en(r,u,o,"month");return p}function Fs(r,s,o,u){typeof r=="boolean"?(h(s)&&(o=s,s=void 0),s=s||""):(s=r,o=s,r=!1,h(s)&&(o=s,s=void 0),s=s||"");var p=mt(),m=r?p._week.dow:0,I,M=[];if(o!=null)return en(s,(o+m)%7,u,"day");for(I=0;I<7;I++)M[I]=en(s,(I+m)%7,u,"day");return M}function ah(r,s){return Na(r,s,"months")}function oh(r,s){return Na(r,s,"monthsShort")}function lh(r,s,o){return Fs(r,s,o,"weekdays")}function uh(r,s,o){return Fs(r,s,o,"weekdaysShort")}function ch(r,s,o){return Fs(r,s,o,"weekdaysMin")}St("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(r){var s=r%10,o=B(r%100/10)===1?"th":s===1?"st":s===2?"nd":s===3?"rd":"th";return r+o}}),e.lang=Se("moment.lang is deprecated. Use moment.locale instead.",St),e.langData=Se("moment.langData is deprecated. Use moment.localeData instead.",mt);var vt=Math.abs;function ph(){var r=this._data;return this._milliseconds=vt(this._milliseconds),this._days=vt(this._days),this._months=vt(this._months),r.milliseconds=vt(r.milliseconds),r.seconds=vt(r.seconds),r.minutes=vt(r.minutes),r.hours=vt(r.hours),r.months=vt(r.months),r.years=vt(r.years),this}function Ta(r,s,o,u){var p=Ke(s,o);return r._milliseconds+=u*p._milliseconds,r._days+=u*p._days,r._months+=u*p._months,r._bubble()}function mh(r,s){return Ta(this,r,s,1)}function vh(r,s){return Ta(this,r,s,-1)}function Va(r){return r<0?Math.floor(r):Math.ceil(r)}function hh(){var r=this._milliseconds,s=this._days,o=this._months,u=this._data,p,m,I,M,q;return r>=0&&s>=0&&o>=0||r<=0&&s<=0&&o<=0||(r+=Va(qs(o)+s)*864e5,s=0,o=0),u.milliseconds=r%1e3,p=qe(r/1e3),u.seconds=p%60,m=qe(p/60),u.minutes=m%60,I=qe(m/60),u.hours=I%24,s+=qe(I/24),q=qe(La(s)),o+=q,s-=Va(qs(q)),M=qe(o/12),o%=12,u.days=s,u.months=o,u.years=M,this}function La(r){return r*4800/146097}function qs(r){return r*146097/4800}function dh(r){if(!this.isValid())return NaN;var s,o,u=this._milliseconds;if(r=Fe(r),r==="month"||r==="quarter"||r==="year")switch(s=this._days+u/864e5,o=this._months+La(s),r){case"month":return o;case"quarter":return o/3;case"year":return o/12}else switch(s=this._days+Math.round(qs(this._months)),r){case"week":return s/7+u/6048e5;case"day":return s+u/864e5;case"hour":return s*24+u/36e5;case"minute":return s*1440+u/6e4;case"second":return s*86400+u/1e3;case"millisecond":return Math.floor(s*864e5)+u;default:throw new Error("Unknown unit "+r)}}function fh(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+B(this._months/12)*31536e6:NaN}function ht(r){return function(){return this.as(r)}}var Ih=ht("ms"),gh=ht("s"),yh=ht("m"),_h=ht("h"),Sh=ht("d"),xh=ht("w"),bh=ht("M"),wh=ht("Q"),Rh=ht("y");function Dh(){return Ke(this)}function Ph(r){return r=Fe(r),this.isValid()?this[r+"s"]():NaN}function Tt(r){return function(){return this.isValid()?this._data[r]:NaN}}var Mh=Tt("milliseconds"),Eh=Tt("seconds"),Ah=Tt("minutes"),Oh=Tt("hours"),Nh=Tt("days"),Th=Tt("months"),Vh=Tt("years");function Lh(){return qe(this.days()/7)}var dt=Math.round,$t={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function kh(r,s,o,u,p){return p.relativeTime(s||1,!!o,r,u)}function Ch(r,s,o,u){var p=Ke(r).abs(),m=dt(p.as("s")),I=dt(p.as("m")),M=dt(p.as("h")),q=dt(p.as("d")),$=dt(p.as("M")),De=dt(p.as("w")),ft=dt(p.as("y")),bt=m<=o.ss&&["s",m]||m<o.s&&["ss",m]||I<=1&&["m"]||I<o.m&&["mm",I]||M<=1&&["h"]||M<o.h&&["hh",M]||q<=1&&["d"]||q<o.d&&["dd",q];return o.w!=null&&(bt=bt||De<=1&&["w"]||De<o.w&&["ww",De]),bt=bt||$<=1&&["M"]||$<o.M&&["MM",$]||ft<=1&&["y"]||["yy",ft],bt[2]=s,bt[3]=+r>0,bt[4]=u,kh.apply(null,bt)}function Fh(r){return r===void 0?dt:typeof r=="function"?(dt=r,!0):!1}function qh(r,s){return $t[r]===void 0?!1:s===void 0?$t[r]:($t[r]=s,r==="s"&&($t.ss=s-1),!0)}function Uh(r,s){if(!this.isValid())return this.localeData().invalidDate();var o=!1,u=$t,p,m;return typeof r=="object"&&(s=r,r=!1),typeof r=="boolean"&&(o=r),typeof s=="object"&&(u=Object.assign({},$t,s),s.s!=null&&s.ss==null&&(u.ss=s.s-1)),p=this.localeData(),m=Ch(this,!o,u,p),o&&(m=p.pastFuture(+this,m)),p.postformat(m)}var Us=Math.abs;function Kt(r){return(r>0)-(r<0)||+r}function tn(){if(!this.isValid())return this.localeData().invalidDate();var r=Us(this._milliseconds)/1e3,s=Us(this._days),o=Us(this._months),u,p,m,I,M=this.asSeconds(),q,$,De,ft;return M?(u=qe(r/60),p=qe(u/60),r%=60,u%=60,m=qe(o/12),o%=12,I=r?r.toFixed(3).replace(/\.?0+$/,""):"",q=M<0?"-":"",$=Kt(this._months)!==Kt(M)?"-":"",De=Kt(this._days)!==Kt(M)?"-":"",ft=Kt(this._milliseconds)!==Kt(M)?"-":"",q+"P"+(m?$+m+"Y":"")+(o?$+o+"M":"")+(s?De+s+"D":"")+(p||u||r?"T":"")+(p?ft+p+"H":"")+(u?ft+u+"M":"")+(r?ft+I+"S":"")):"P0D"}var Y=$r.prototype;Y.isValid=Nm,Y.abs=ph,Y.add=mh,Y.subtract=vh,Y.as=dh,Y.asMilliseconds=Ih,Y.asSeconds=gh,Y.asMinutes=yh,Y.asHours=_h,Y.asDays=Sh,Y.asWeeks=xh,Y.asMonths=bh,Y.asQuarters=wh,Y.asYears=Rh,Y.valueOf=fh,Y._bubble=hh,Y.clone=Dh,Y.get=Ph,Y.milliseconds=Mh,Y.seconds=Eh,Y.minutes=Ah,Y.hours=Oh,Y.days=Nh,Y.weeks=Lh,Y.months=Th,Y.years=Vh,Y.humanize=Uh,Y.toISOString=tn,Y.toString=tn,Y.toJSON=tn,Y.locale=xa,Y.localeData=wa,Y.toIsoString=Se("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",tn),Y.lang=ba,P("X",0,0,"unix"),P("x",0,0,"valueOf"),w("x",Br),w("X",lp),j("X",function(r,s,o){o._d=new Date(parseFloat(r)*1e3)}),j("x",function(r,s,o){o._d=new Date(B(r))});return e.version="2.29.4",t(J),e.fn=S,e.min=Mm,e.max=Em,e.now=Am,e.utc=y,e.unix=sh,e.months=ah,e.isDate=d,e.locale=St,e.invalid=ee,e.duration=Ke,e.isMoment=_e,e.weekdays=lh,e.parseZone=ih,e.localeData=mt,e.isDuration=Kr,e.monthsShort=oh,e.weekdaysMin=ch,e.defineLocale=Ps,e.updateLocale=im,e.locales=am,e.weekdaysShort=uh,e.normalizeUnits=Fe,e.relativeTimeRounding=Fh,e.relativeTimeThreshold=qh,e.calendarFormat=tv,e.prototype=S,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e})});var Dn=E((Z1,ja)=>{var $h={boolean:!1,function:!0,object:!0,number:!1,string:!1,undefined:!1};ja.exports=$h});var Rr=E((J1,$a)=>{var Kh=Dn();function Zh(i){return!!(i&&Kh[typeof i])}$a.exports=Zh});var Jt=E((Q1,Ka)=>{var Jh=Object.prototype,Qh=Jh.toString,Xh=RegExp("^"+String(Qh).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$");Ka.exports=Xh});var Ja=E((X1,Za)=>{var ed=Dn(),td=Object.prototype,rd=td.hasOwnProperty,nd=function(i){var e,t=i,n=[];if(!t||!ed[typeof i])return n;for(e in t)rd.call(t,e)&&n.push(e);return n};Za.exports=nd});var Ks=E((eg,Qa)=>{var sd=Rr(),id=Jt(),ad=Ja(),Pn=id.test(Pn=Object.keys)&&Pn,od=Pn?function(i){return sd(i)?Pn(i):[]}:ad;Qa.exports=od});var Zs=E((tg,Xa)=>{function ld(){}Xa.exports=ld});var Js=E((ng,ro)=>{var eo=Rr(),rg=Zs(),ud=Jt(),Mn=ud.test(Mn=Object.create)&&Mn;function to(i,e){return eo(i)?Mn(i):{}}Mn||(to=function(){function i(){}return function(e){if(eo(e)){i.prototype=e;var t=new i;i.prototype=null}return t||globalThis.Object()}}());ro.exports=to});var En=E((sg,io)=>{var cd=Zs(),pd=Jt(),no={configurable:!1,enumerable:!1,value:null,writable:!1},so=function(){try{var i={},e=pd.test(e=Object.defineProperty)&&e,t=e(i,i,i)&&e}catch(n){}return t}(),md=so?function(i,e){no.value=e,so(i,"__bindData__",no)}:cd;io.exports=md});var oo=E((ig,ao)=>{var vd=Js(),hd=Rr(),dd=En(),fd=[],Id=fd.push;function gd(i){var e=i[0],t=i[2],n=i[4];function a(){if(t){var l=t.slice();Id.apply(l,arguments)}if(this instanceof a){var c=vd(e.prototype),v=e.apply(c,l||arguments);return hd(v)?v:c}return e.apply(n,l||arguments)}return dd(a,i),a}ao.exports=gd});var Qs=E((ag,lo)=>{function yd(i,e,t){e||(e=0),typeof t=="undefined"&&(t=i?i.length:0);for(var n=-1,a=t-e||0,l=Array(a<0?0:a);++n<a;)l[n]=i[e+n];return l}lo.exports=yd});var mo=E((og,po)=>{var _d=Js(),Sd=Rr(),xd=En(),bd=Qs(),wd=[],uo=wd.push;function co(i){var e=i[0],t=i[1],n=i[2],a=i[3],l=i[4],c=i[5],v=t&1,h=t&2,d=t&4,g=t&8,f=e;function y(){var R=v?l:this;if(n){var _=n.slice();uo.apply(_,arguments)}if((a||d)&&(_||(_=bd(arguments)),a&&uo.apply(_,a),d&&_.length<c))return t|=16,co([e,g?t:t&-4,_,null,l,c]);if(_||(_=arguments),h&&(e=R[f]),this instanceof y){R=_d(e.prototype);var O=e.apply(R,_);return Sd(O)?O:R}return e.apply(R,_)}return xd(y,i),y}po.exports=co});var ho=E((lg,vo)=>{function Rd(i){return typeof i=="function"}vo.exports=Rd});var yo=E((ug,go)=>{var Dd=oo(),Pd=mo(),Md=ho(),Ed=[],fo=Ed.push;function Io(i,e,t,n,a,l){var c=e&1,v=e&2,h=e&4,d=e&8,g=e&16,f=e&32;if(!v&&!Md(i))throw new TypeError;g&&!t.length&&(e&=-17,g=t=!1),f&&!n.length&&(e&=-33,f=n=!1);var y=i&&i.__bindData__;if(y&&y!==!0)return y=y.slice(),c&&!(y[1]&1)&&(y[4]=a),!c&&y[1]&1&&(e|=8),h&&!(y[1]&4)&&(y[5]=l),g&&fo.apply(y[2]||(y[2]=[]),t),f&&fo.apply(y[3]||(y[3]=[]),n),y[1]|=e,Io.apply(null,y);var R=e==1||e===17?Dd:Pd;return R([i,e,t,n,a,l])}go.exports=Io});var xo=E((pg,So)=>{var _o=yo(),cg=Jt(),Ad=Qs();function Od(i,e){return arguments.length>2?_o(i,17,Ad(arguments,2),null,e):_o(i,1,null,null,e)}So.exports=Od});var wo=E((mg,bo)=>{function Nd(i){return i}bo.exports=Nd});var Do=E((vg,Ro)=>{var Td=Jt(),Vd=/\bthis\b/,Xs={};Xs.funcDecomp=!Td.test(globalThis.WinRTError)&&Vd.test(function(){return this});Xs.funcNames=typeof Function.name=="string";Ro.exports=Xs});var ti=E((hg,Po)=>{var Ld=xo(),kd=wo(),Cd=En(),ei=Do(),Fd=/^\s*function[ \n\r\t]+\w/,qd=/\bthis\b/,Ud=Function.prototype.toString;function Bd(i,e,t){if(typeof i!="function")return kd;if(typeof e=="undefined"||!("prototype"in i))return i;var n=i.__bindData__;if(typeof n=="undefined"&&(ei.funcNames&&(n=!i.name),n=n||!ei.funcDecomp,!n)){var a=Ud.call(i);ei.funcNames||(n=!Fd.test(a)),n||(n=qd.test(a),Cd(i,n))}if(n===!1||n!==!0&&n[1]&1)return i;switch(t){case 1:return function(l){return i.call(e,l)};case 2:return function(l,c){return i.call(e,l,c)};case 3:return function(l,c,v){return i.call(e,l,c,v)};case 4:return function(l,c,v,h){return i.call(e,l,c,v,h)}}return Ld(i,e)}Po.exports=Bd});var Ao=E((dg,Eo)=>{var Yd=ti(),Gd=Ks(),Mo=Dn(),Hd=function(i,e,t){var n,a=i,l=a;if(!a||!Mo[typeof a])return l;e=e&&typeof t=="undefined"?e:Yd(e,t,3);for(var c=-1,v=Mo[typeof a]&&Gd(a),h=v?v.length:0;++c<h;)if(n=v[c],e(a[n],n,i)===!1)return l;return l};Eo.exports=Hd});var No=E((fg,Oo)=>{var Wd=ti(),zd=Ao();function jd(i,e,t){var n=-1,a=i?i.length:0;if(e=e&&typeof t=="undefined"?e:Wd(e,t,3),typeof a=="number")for(;++n<a&&e(i[n],n,i)!==!1;);else zd(i,e);return i}Oo.exports=jd});var ko=E((Ig,Lo)=>{var To,Vo;To={mm:{name:{singular:"Millimeter",plural:"Millimeters"},to_anchor:1/1e3},cm:{name:{singular:"Centimeter",plural:"Centimeters"},to_anchor:1/100},m:{name:{singular:"Meter",plural:"Meters"},to_anchor:1},km:{name:{singular:"Kilometer",plural:"Kilometers"},to_anchor:1e3}};Vo={in:{name:{singular:"Inch",plural:"Inches"},to_anchor:1/12},yd:{name:{singular:"Yard",plural:"Yards"},to_anchor:3},"ft-us":{name:{singular:"US Survey Foot",plural:"US Survey Feet"},to_anchor:1.000002},ft:{name:{singular:"Foot",plural:"Feet"},to_anchor:1},mi:{name:{singular:"Mile",plural:"Miles"},to_anchor:5280}};Lo.exports={metric:To,imperial:Vo,_anchors:{metric:{unit:"m",ratio:3.28084},imperial:{unit:"ft",ratio:1/3.28084}}}});var Uo=E((gg,qo)=>{var Co,Fo;Co={mm2:{name:{singular:"Square Millimeter",plural:"Square Millimeters"},to_anchor:1/1e6},cm2:{name:{singular:"Centimeter",plural:"Centimeters"},to_anchor:1/1e4},m2:{name:{singular:"Square Meter",plural:"Square Meters"},to_anchor:1},ha:{name:{singular:"Hectare",plural:"Hectares"},to_anchor:1e4},km2:{name:{singular:"Square Kilometer",plural:"Square Kilometers"},to_anchor:1e6}};Fo={in2:{name:{singular:"Square Inch",plural:"Square Inches"},to_anchor:1/144},yd2:{name:{singular:"Square Yard",plural:"Square Yards"},to_anchor:9},ft2:{name:{singular:"Square Foot",plural:"Square Feet"},to_anchor:1},ac:{name:{singular:"Acre",plural:"Acres"},to_anchor:43560},mi2:{name:{singular:"Square Mile",plural:"Square Miles"},to_anchor:27878400}};qo.exports={metric:Co,imperial:Fo,_anchors:{metric:{unit:"m2",ratio:10.7639},imperial:{unit:"ft2",ratio:1/10.7639}}}});var Ho=E((yg,Go)=>{var Bo,Yo;Bo={mcg:{name:{singular:"Microgram",plural:"Micrograms"},to_anchor:1/1e6},mg:{name:{singular:"Milligram",plural:"Milligrams"},to_anchor:1/1e3},g:{name:{singular:"Gram",plural:"Grams"},to_anchor:1},kg:{name:{singular:"Kilogram",plural:"Kilograms"},to_anchor:1e3},mt:{name:{singular:"Metric Tonne",plural:"Metric Tonnes"},to_anchor:1e6}};Yo={oz:{name:{singular:"Ounce",plural:"Ounces"},to_anchor:1/16},lb:{name:{singular:"Pound",plural:"Pounds"},to_anchor:1},t:{name:{singular:"Ton",plural:"Tons"},to_anchor:2e3}};Go.exports={metric:Bo,imperial:Yo,_anchors:{metric:{unit:"g",ratio:1/453.592},imperial:{unit:"lb",ratio:453.592}}}});var $o=E((_g,jo)=>{var Wo,zo;Wo={mm3:{name:{singular:"Cubic Millimeter",plural:"Cubic Millimeters"},to_anchor:1/1e6},cm3:{name:{singular:"Cubic Centimeter",plural:"Cubic Centimeters"},to_anchor:1/1e3},ml:{name:{singular:"Millilitre",plural:"Millilitres"},to_anchor:1/1e3},cl:{name:{singular:"Centilitre",plural:"Centilitres"},to_anchor:1/100},dl:{name:{singular:"Decilitre",plural:"Decilitres"},to_anchor:1/10},l:{name:{singular:"Litre",plural:"Litres"},to_anchor:1},kl:{name:{singular:"Kilolitre",plural:"Kilolitres"},to_anchor:1e3},m3:{name:{singular:"Cubic meter",plural:"Cubic meters"},to_anchor:1e3},km3:{name:{singular:"Cubic kilometer",plural:"Cubic kilometers"},to_anchor:1e12},krm:{name:{singular:"Matsked",plural:"Matskedar"},to_anchor:1/1e3},tsk:{name:{singular:"Tesked",plural:"Teskedar"},to_anchor:5/1e3},msk:{name:{singular:"Matsked",plural:"Matskedar"},to_anchor:15/1e3},kkp:{name:{singular:"Kaffekopp",plural:"Kaffekoppar"},to_anchor:150/1e3},glas:{name:{singular:"Glas",plural:"Glas"},to_anchor:200/1e3},kanna:{name:{singular:"Kanna",plural:"Kannor"},to_anchor:2.617}};zo={tsp:{name:{singular:"Teaspoon",plural:"Teaspoons"},to_anchor:1/6},Tbs:{name:{singular:"Tablespoon",plural:"Tablespoons"},to_anchor:1/2},in3:{name:{singular:"Cubic inch",plural:"Cubic inches"},to_anchor:.55411},"fl-oz":{name:{singular:"Fluid Ounce",plural:"Fluid Ounces"},to_anchor:1},cup:{name:{singular:"Cup",plural:"Cups"},to_anchor:8},pnt:{name:{singular:"Pint",plural:"Pints"},to_anchor:16},qt:{name:{singular:"Quart",plural:"Quarts"},to_anchor:32},gal:{name:{singular:"Gallon",plural:"Gallons"},to_anchor:128},ft3:{name:{singular:"Cubic foot",plural:"Cubic feet"},to_anchor:957.506},yd3:{name:{singular:"Cubic yard",plural:"Cubic yards"},to_anchor:25852.7}};jo.exports={metric:Wo,imperial:zo,_anchors:{metric:{unit:"l",ratio:33.8140226},imperial:{unit:"fl-oz",ratio:1/33.8140226}}}});var Jo=E((Sg,Zo)=>{var Ko;Ko={ea:{name:{singular:"Each",plural:"Each"},to_anchor:1},dz:{name:{singular:"Dozen",plural:"Dozens"},to_anchor:12}};Zo.exports={metric:Ko,imperial:{},_anchors:{metric:{unit:"ea",ratio:1}}}});var tl=E((xg,el)=>{var Qo,Xo;Qo={C:{name:{singular:"degree Celsius",plural:"degrees Celsius"},to_anchor:1,anchor_shift:0},K:{name:{singular:"degree Kelvin",plural:"degrees Kelvin"},to_anchor:1,anchor_shift:273.15}};Xo={F:{name:{singular:"degree Fahrenheit",plural:"degrees Fahrenheit"},to_anchor:1},R:{name:{singular:"degree Rankine",plural:"degrees Rankine"},to_anchor:1,anchor_shift:459.67}};el.exports={metric:Qo,imperial:Xo,_anchors:{metric:{unit:"C",transform:function(i){return i/(5/9)+32}},imperial:{unit:"F",transform:function(i){return(i-32)*(5/9)}}}}});var il=E((bg,sl)=>{var nl,rl=365.25;nl={ns:{name:{singular:"Nanosecond",plural:"Nanoseconds"},to_anchor:1/1e9},mu:{name:{singular:"Microsecond",plural:"Microseconds"},to_anchor:1/1e6},ms:{name:{singular:"Millisecond",plural:"Milliseconds"},to_anchor:1/1e3},s:{name:{singular:"Second",plural:"Seconds"},to_anchor:1},min:{name:{singular:"Minute",plural:"Minutes"},to_anchor:60},h:{name:{singular:"Hour",plural:"Hours"},to_anchor:60*60},d:{name:{singular:"Day",plural:"Days"},to_anchor:60*60*24},week:{name:{singular:"Week",plural:"Weeks"},to_anchor:60*60*24*7},month:{name:{singular:"Month",plural:"Months"},to_anchor:60*60*24*rl/12},year:{name:{singular:"Year",plural:"Years"},to_anchor:60*60*24*rl}};sl.exports={metric:nl,_anchors:{metric:{unit:"s",ratio:1}}}});var ul=E((wg,ll)=>{var al,ol;al={b:{name:{singular:"Bit",plural:"Bits"},to_anchor:1},Kb:{name:{singular:"Kilobit",plural:"Kilobits"},to_anchor:1024},Mb:{name:{singular:"Megabit",plural:"Megabits"},to_anchor:1048576},Gb:{name:{singular:"Gigabit",plural:"Gigabits"},to_anchor:1073741824},Tb:{name:{singular:"Terabit",plural:"Terabits"},to_anchor:1099511627776}};ol={B:{name:{singular:"Byte",plural:"Bytes"},to_anchor:1},KB:{name:{singular:"Kilobyte",plural:"Kilobytes"},to_anchor:1024},MB:{name:{singular:"Megabyte",plural:"Megabytes"},to_anchor:1048576},GB:{name:{singular:"Gigabyte",plural:"Gigabytes"},to_anchor:1073741824},TB:{name:{singular:"Terabyte",plural:"Terabytes"},to_anchor:1099511627776}};ll.exports={bits:al,bytes:ol,_anchors:{bits:{unit:"b",ratio:1/8},bytes:{unit:"B",ratio:8}}}});var ml=E((Rg,pl)=>{var cl;cl={ppm:{name:{singular:"Part-per Million",plural:"Parts-per Million"},to_anchor:1},ppb:{name:{singular:"Part-per Billion",plural:"Parts-per Billion"},to_anchor:.001},ppt:{name:{singular:"Part-per Trillion",plural:"Parts-per Trillion"},to_anchor:1e-6},ppq:{name:{singular:"Part-per Quadrillion",plural:"Parts-per Quadrillion"},to_anchor:1e-9}};pl.exports={metric:cl,imperial:{},_anchors:{metric:{unit:"ppm",ratio:1e-6}}}});var fl=E((Dg,dl)=>{var vl,hl;vl={"m/s":{name:{singular:"Metre per second",plural:"Metres per second"},to_anchor:3.6},"km/h":{name:{singular:"Kilometre per hour",plural:"Kilometres per hour"},to_anchor:1}};hl={"m/h":{name:{singular:"Mile per hour",plural:"Miles per hour"},to_anchor:1},knot:{name:{singular:"Knot",plural:"Knots"},to_anchor:1.150779},"ft/s":{name:{singular:"Foot per second",plural:"Feet per second"},to_anchor:.681818}};dl.exports={metric:vl,imperial:hl,_anchors:{metric:{unit:"km/h",ratio:1/1.609344},imperial:{unit:"m/h",ratio:1.609344}}}});var _l=E((Pg,yl)=>{var Il,gl;Il={"min/km":{name:{singular:"Minute per kilometre",plural:"Minutes per kilometre"},to_anchor:.06},"s/m":{name:{singular:"Second per metre",plural:"Seconds per metre"},to_anchor:1}};gl={"min/mi":{name:{singular:"Minute per mile",plural:"Minutes per mile"},to_anchor:.0113636},"s/ft":{name:{singular:"Second per foot",plural:"Seconds per foot"},to_anchor:1}};yl.exports={metric:Il,imperial:gl,_anchors:{metric:{unit:"s/m",ratio:.3048},imperial:{unit:"s/ft",ratio:1/.3048}}}});var wl=E((Mg,bl)=>{var Sl,xl;Sl={Pa:{name:{singular:"pascal",plural:"pascals"},to_anchor:1/1e3},kPa:{name:{singular:"kilopascal",plural:"kilopascals"},to_anchor:1},MPa:{name:{singular:"megapascal",plural:"megapascals"},to_anchor:1e3},hPa:{name:{singular:"hectopascal",plural:"hectopascals"},to_anchor:1/10},bar:{name:{singular:"bar",plural:"bar"},to_anchor:100},torr:{name:{singular:"torr",plural:"torr"},to_anchor:101325/76e4}};xl={psi:{name:{singular:"pound per square inch",plural:"pounds per square inch"},to_anchor:1/1e3},ksi:{name:{singular:"kilopound per square inch",plural:"kilopound per square inch"},to_anchor:1}};bl.exports={metric:Sl,imperial:xl,_anchors:{metric:{unit:"kPa",ratio:.00014503768078},imperial:{unit:"psi",ratio:1/.00014503768078}}}});var Pl=E((Eg,Dl)=>{var Rl;Rl={A:{name:{singular:"Ampere",plural:"Amperes"},to_anchor:1},mA:{name:{singular:"Milliampere",plural:"Milliamperes"},to_anchor:.001},kA:{name:{singular:"Kiloampere",plural:"Kiloamperes"},to_anchor:1e3}};Dl.exports={metric:Rl,_anchors:{metric:{unit:"A",ratio:1}}}});var Al=E((Ag,El)=>{var Ml;Ml={V:{name:{singular:"Volt",plural:"Volts"},to_anchor:1},mV:{name:{singular:"Millivolt",plural:"Millivolts"},to_anchor:.001},kV:{name:{singular:"Kilovolt",plural:"Kilovolts"},to_anchor:1e3}};El.exports={metric:Ml,_anchors:{metric:{unit:"V",ratio:1}}}});var Tl=E((Og,Nl)=>{var Ol;Ol={W:{name:{singular:"Watt",plural:"Watts"},to_anchor:1},mW:{name:{singular:"Milliwatt",plural:"Milliwatts"},to_anchor:.001},kW:{name:{singular:"Kilowatt",plural:"Kilowatts"},to_anchor:1e3},MW:{name:{singular:"Megawatt",plural:"Megawatts"},to_anchor:1e6},GW:{name:{singular:"Gigawatt",plural:"Gigawatts"},to_anchor:1e9}};Nl.exports={metric:Ol,_anchors:{metric:{unit:"W",ratio:1}}}});var kl=E((Ng,Ll)=>{var Vl;Vl={VAR:{name:{singular:"Volt-Ampere Reactive",plural:"Volt-Amperes Reactive"},to_anchor:1},mVAR:{name:{singular:"Millivolt-Ampere Reactive",plural:"Millivolt-Amperes Reactive"},to_anchor:.001},kVAR:{name:{singular:"Kilovolt-Ampere Reactive",plural:"Kilovolt-Amperes Reactive"},to_anchor:1e3},MVAR:{name:{singular:"Megavolt-Ampere Reactive",plural:"Megavolt-Amperes Reactive"},to_anchor:1e6},GVAR:{name:{singular:"Gigavolt-Ampere Reactive",plural:"Gigavolt-Amperes Reactive"},to_anchor:1e9}};Ll.exports={metric:Vl,_anchors:{metric:{unit:"VAR",ratio:1}}}});var ql=E((Tg,Fl)=>{var Cl;Cl={VA:{name:{singular:"Volt-Ampere",plural:"Volt-Amperes"},to_anchor:1},mVA:{name:{singular:"Millivolt-Ampere",plural:"Millivolt-Amperes"},to_anchor:.001},kVA:{name:{singular:"Kilovolt-Ampere",plural:"Kilovolt-Amperes"},to_anchor:1e3},MVA:{name:{singular:"Megavolt-Ampere",plural:"Megavolt-Amperes"},to_anchor:1e6},GVA:{name:{singular:"Gigavolt-Ampere",plural:"Gigavolt-Amperes"},to_anchor:1e9}};Fl.exports={metric:Cl,_anchors:{metric:{unit:"VA",ratio:1}}}});var Yl=E((Vg,Bl)=>{var Ul;Ul={Wh:{name:{singular:"Watt-hour",plural:"Watt-hours"},to_anchor:3600},mWh:{name:{singular:"Milliwatt-hour",plural:"Milliwatt-hours"},to_anchor:3.6},kWh:{name:{singular:"Kilowatt-hour",plural:"Kilowatt-hours"},to_anchor:36e5},MWh:{name:{singular:"Megawatt-hour",plural:"Megawatt-hours"},to_anchor:36e8},GWh:{name:{singular:"Gigawatt-hour",plural:"Gigawatt-hours"},to_anchor:36e11},J:{name:{singular:"Joule",plural:"Joules"},to_anchor:1},kJ:{name:{singular:"Kilojoule",plural:"Kilojoules"},to_anchor:1e3}};Bl.exports={metric:Ul,_anchors:{metric:{unit:"J",ratio:1}}}});var Wl=E((Lg,Hl)=>{var Gl;Gl={VARh:{name:{singular:"Volt-Ampere Reactive Hour",plural:"Volt-Amperes Reactive Hour"},to_anchor:1},mVARh:{name:{singular:"Millivolt-Ampere Reactive Hour",plural:"Millivolt-Amperes Reactive Hour"},to_anchor:.001},kVARh:{name:{singular:"Kilovolt-Ampere Reactive Hour",plural:"Kilovolt-Amperes Reactive Hour"},to_anchor:1e3},MVARh:{name:{singular:"Megavolt-Ampere Reactive Hour",plural:"Megavolt-Amperes Reactive Hour"},to_anchor:1e6},GVARh:{name:{singular:"Gigavolt-Ampere Reactive Hour",plural:"Gigavolt-Amperes Reactive Hour"},to_anchor:1e9}};Hl.exports={metric:Gl,_anchors:{metric:{unit:"VARh",ratio:1}}}});var Kl=E((kg,$l)=>{var zl,jl;zl={"mm3/s":{name:{singular:"Cubic Millimeter per second",plural:"Cubic Millimeters per second"},to_anchor:1/1e6},"cm3/s":{name:{singular:"Cubic Centimeter per second",plural:"Cubic Centimeters per second"},to_anchor:1/1e3},"ml/s":{name:{singular:"Millilitre per second",plural:"Millilitres per second"},to_anchor:1/1e3},"cl/s":{name:{singular:"Centilitre per second",plural:"Centilitres per second"},to_anchor:1/100},"dl/s":{name:{singular:"Decilitre per second",plural:"Decilitres per second"},to_anchor:1/10},"l/s":{name:{singular:"Litre per second",plural:"Litres per second"},to_anchor:1},"l/min":{name:{singular:"Litre per minute",plural:"Litres per minute"},to_anchor:1/60},"l/h":{name:{singular:"Litre per hour",plural:"Litres per hour"},to_anchor:1/3600},"kl/s":{name:{singular:"Kilolitre per second",plural:"Kilolitres per second"},to_anchor:1e3},"kl/min":{name:{singular:"Kilolitre per minute",plural:"Kilolitres per minute"},to_anchor:50/3},"kl/h":{name:{singular:"Kilolitre per hour",plural:"Kilolitres per hour"},to_anchor:5/18},"m3/s":{name:{singular:"Cubic meter per second",plural:"Cubic meters per second"},to_anchor:1e3},"m3/min":{name:{singular:"Cubic meter per minute",plural:"Cubic meters per minute"},to_anchor:50/3},"m3/h":{name:{singular:"Cubic meter per hour",plural:"Cubic meters per hour"},to_anchor:5/18},"km3/s":{name:{singular:"Cubic kilometer per second",plural:"Cubic kilometers per second"},to_anchor:1e12}};jl={"tsp/s":{name:{singular:"Teaspoon per second",plural:"Teaspoons per second"},to_anchor:1/6},"Tbs/s":{name:{singular:"Tablespoon per second",plural:"Tablespoons per second"},to_anchor:1/2},"in3/s":{name:{singular:"Cubic inch per second",plural:"Cubic inches per second"},to_anchor:.55411},"in3/min":{name:{singular:"Cubic inch per minute",plural:"Cubic inches per minute"},to_anchor:.55411/60},"in3/h":{name:{singular:"Cubic inch per hour",plural:"Cubic inches per hour"},to_anchor:.55411/3600},"fl-oz/s":{name:{singular:"Fluid Ounce per second",plural:"Fluid Ounces per second"},to_anchor:1},"fl-oz/min":{name:{singular:"Fluid Ounce per minute",plural:"Fluid Ounces per minute"},to_anchor:1/60},"fl-oz/h":{name:{singular:"Fluid Ounce per hour",plural:"Fluid Ounces per hour"},to_anchor:1/3600},"cup/s":{name:{singular:"Cup per second",plural:"Cups per second"},to_anchor:8},"pnt/s":{name:{singular:"Pint per second",plural:"Pints per second"},to_anchor:16},"pnt/min":{name:{singular:"Pint per minute",plural:"Pints per minute"},to_anchor:4/15},"pnt/h":{name:{singular:"Pint per hour",plural:"Pints per hour"},to_anchor:1/225},"qt/s":{name:{singular:"Quart per second",plural:"Quarts per second"},to_anchor:32},"gal/s":{name:{singular:"Gallon per second",plural:"Gallons per second"},to_anchor:128},"gal/min":{name:{singular:"Gallon per minute",plural:"Gallons per minute"},to_anchor:32/15},"gal/h":{name:{singular:"Gallon per hour",plural:"Gallons per hour"},to_anchor:8/225},"ft3/s":{name:{singular:"Cubic foot per second",plural:"Cubic feet per second"},to_anchor:957.506},"ft3/min":{name:{singular:"Cubic foot per minute",plural:"Cubic feet per minute"},to_anchor:957.506/60},"ft3/h":{name:{singular:"Cubic foot per hour",plural:"Cubic feet per hour"},to_anchor:957.506/3600},"yd3/s":{name:{singular:"Cubic yard per second",plural:"Cubic yards per second"},to_anchor:25852.7},"yd3/min":{name:{singular:"Cubic yard per minute",plural:"Cubic yards per minute"},to_anchor:25852.7/60},"yd3/h":{name:{singular:"Cubic yard per hour",plural:"Cubic yards per hour"},to_anchor:25852.7/3600}};$l.exports={metric:zl,imperial:jl,_anchors:{metric:{unit:"l/s",ratio:33.8140227},imperial:{unit:"fl-oz/s",ratio:1/33.8140227}}}});var Xl=E((Cg,Ql)=>{var Zl,Jl;Zl={lx:{name:{singular:"Lux",plural:"Lux"},to_anchor:1}};Jl={"ft-cd":{name:{singular:"Foot-candle",plural:"Foot-candles"},to_anchor:1}};Ql.exports={metric:Zl,imperial:Jl,_anchors:{metric:{unit:"lx",ratio:1/10.76391},imperial:{unit:"ft-cd",ratio:10.76391}}}});var ru=E((Fg,tu)=>{var eu;eu={mHz:{name:{singular:"millihertz",plural:"millihertz"},to_anchor:1/1e3},Hz:{name:{singular:"hertz",plural:"hertz"},to_anchor:1},kHz:{name:{singular:"kilohertz",plural:"kilohertz"},to_anchor:1e3},MHz:{name:{singular:"megahertz",plural:"megahertz"},to_anchor:1e3*1e3},GHz:{name:{singular:"gigahertz",plural:"gigahertz"},to_anchor:1e3*1e3*1e3},THz:{name:{singular:"terahertz",plural:"terahertz"},to_anchor:1e3*1e3*1e3*1e3},rpm:{name:{singular:"rotation per minute",plural:"rotations per minute"},to_anchor:1/60},"deg/s":{name:{singular:"degree per second",plural:"degrees per second"},to_anchor:1/360},"rad/s":{name:{singular:"radian per second",plural:"radians per second"},to_anchor:1/(Math.PI*2)}};tu.exports={metric:eu,_anchors:{frequency:{unit:"hz",ratio:1}}}});var iu=E((qg,su)=>{var nu;nu={rad:{name:{singular:"radian",plural:"radians"},to_anchor:180/Math.PI},deg:{name:{singular:"degree",plural:"degrees"},to_anchor:1},grad:{name:{singular:"gradian",plural:"gradians"},to_anchor:9/10},arcmin:{name:{singular:"arcminute",plural:"arcminutes"},to_anchor:1/60},arcsec:{name:{singular:"arcsecond",plural:"arcseconds"},to_anchor:1/3600}};su.exports={metric:nu,_anchors:{metric:{unit:"deg",ratio:1}}}});var Pr=E((Ug,lu)=>{var au,Dr=Ks(),Ue=No(),It={length:ko(),area:Uo(),mass:Ho(),volume:$o(),each:Jo(),temperature:tl(),time:il(),digital:ul(),partsPer:ml(),speed:fl(),pace:_l(),pressure:wl(),current:Pl(),voltage:Al(),power:Tl(),reactivePower:kl(),apparentPower:ql(),energy:Yl(),reactiveEnergy:Wl(),volumeFlowRate:Kl(),illuminance:Xl(),frequency:ru(),angle:iu()},Be;Be=function(i,e){e?this.val=i/e:this.val=i};Be.prototype.from=function(i){if(this.destination)throw new Error(".from must be called before .to");return this.origin=this.getUnit(i),this.origin||this.throwUnsupportedUnitError(i),this};Be.prototype.to=function(i){if(!this.origin)throw new Error(".to must be called after .from");this.destination=this.getUnit(i);var e,t;if(this.destination||this.throwUnsupportedUnitError(i),this.origin.abbr===this.destination.abbr)return this.val;if(this.destination.measure!=this.origin.measure)throw new Error("Cannot convert incompatible measures of "+this.destination.measure+" and "+this.origin.measure);return e=this.val*this.origin.unit.to_anchor,this.origin.unit.anchor_shift&&(e-=this.origin.unit.anchor_shift),this.origin.system!=this.destination.system&&(t=It[this.origin.measure]._anchors[this.origin.system].transform,typeof t=="function"?e=t(e):e*=It[this.origin.measure]._anchors[this.origin.system].ratio),this.destination.unit.anchor_shift&&(e+=this.destination.unit.anchor_shift),e/this.destination.unit.to_anchor};Be.prototype.toBest=function(e){if(!this.origin)throw new Error(".toBest must be called after .from");var e=Object.assign({exclude:[],cutOffNumber:1},e),t;return Ue(this.possibilities(),function(n){var a=this.describe(n),l=e.exclude.indexOf(n)===-1;if(l&&a.system===this.origin.system){var c=this.to(n);(!t||c>=e.cutOffNumber&&c<t.val)&&(t={val:c,unit:n,singular:a.singular,plural:a.plural})}}.bind(this)),t};Be.prototype.getUnit=function(i){var e;return Ue(It,function(t,n){if(Ue(t,function(a,l){if(l=="_anchors"||(Ue(a,function(c,v){if(v==i)return e={abbr:i,measure:n,system:l,unit:c},!1}),e))return!1}),e)return!1}),e};var ou=function(i){return{abbr:i.abbr,measure:i.measure,system:i.system,singular:i.unit.name.singular,plural:i.unit.name.plural}};Be.prototype.describe=function(i){var e=Be.prototype.getUnit(i),t=null;try{t=ou(e)}catch(n){this.throwUnsupportedUnitError(i)}return t};Be.prototype.list=function(i){var e=[];return Ue(It,function(t,n){i&&i!==n||Ue(t,function(a,l){if(l=="_anchors")return!1;Ue(a,function(c,v){e=e.concat(ou({abbr:v,measure:n,system:l,unit:c}))})})}),e};Be.prototype.throwUnsupportedUnitError=function(i){var e=[];throw Ue(It,function(t,n){Ue(t,function(a,l){if(l=="_anchors")return!1;e=e.concat(Dr(a))})}),new Error("Unsupported unit "+i+", use one of: "+e.join(", "))};Be.prototype.possibilities=function(i){var e=[];return!this.origin&&!i?Ue(Dr(It),function(t){Ue(It[t],function(n,a){if(a=="_anchors")return!1;e=e.concat(Dr(n))})}):(i=i||this.origin.measure,Ue(It[i],function(t,n){if(n=="_anchors")return!1;e=e.concat(Dr(t))})),e};Be.prototype.measures=function(){return Dr(It)};au=function(i){return new Be(i)};lu.exports=au});var Qe=E(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});function Pe(i){let e=i||"";return function(){throw new Error("this method "+e+" is abstract! (it has no implementation in class "+this.constructor.name+")")}}function wt(i,e){if(!i)throw new Error(e||"Assertion failed")}function ai(i,e,t){let n;Object.defineProperty(i,e,{get(){return n||(n=t.call(this)),n}})}function $d(i){return i&&Object.assign({},i)}function wu(i,e){let t=[];for(;e-- >0;)t.push(i());return t}function Ru(i,e){return new Array(e+1).join(i)}function Fn(i,e){return wu(()=>i,e)}function oi(i){let e=[];for(let t=0;t<i.length;t++){let n=i[t];i.lastIndexOf(n)!==t&&e.indexOf(n)<0&&e.push(n)}return e}function Du(i){let e=[];return i.forEach(t=>{e.indexOf(t)<0&&e.push(t)}),e}function kt(i){let e=i[0];return e===e.toUpperCase()}function Pu(i){return!kt(i)}function Mu(i,e,t){let n=t||" ";return i.length<e?Ru(n,e-i.length)+i:i}function Bt(){this.strings=[]}Bt.prototype.append=function(i){this.strings.push(i)};Bt.prototype.contents=function(){return this.strings.join("")};var ni=i=>String.fromCodePoint(parseInt(i,16));function Eu(i){if(i.charAt(0)==="\\")switch(i.charAt(1)){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"x":return ni(i.slice(2,4));case"u":return i.charAt(2)==="{"?ni(i.slice(3,-1)):ni(i.slice(2,6));default:return i.charAt(1)}else return i}function Ii(i){if(i==null)return String(i);let e=Object.prototype.toString.call(i);try{let t;return i.constructor&&i.constructor.name?t=i.constructor.name:e.indexOf("[object ")===0?t=e.slice(8,-1):t=typeof i,t+": "+JSON.stringify(String(i))}catch(t){return e}}var Kd=Object.freeze({__proto__:null,abstract:Pe,assert:wt,defineLazyProperty:ai,clone:$d,repeatFn:wu,repeatStr:Ru,repeat:Fn,getDuplicates:oi,copyWithoutDuplicates:Du,isSyntactic:kt,isLexical:Pu,padLeft:Mu,StringBuffer:Bt,unescapeCodePoint:Eu,unexpectedObjToString:Ii}),Zd={Lu:/\p{Lu}/u,Ll:/\p{Ll}/u,Lt:/\p{Lt}/u,Lm:/\p{Lm}/u,Lo:/\p{Lo}/u,Nl:/\p{Nl}/u,Nd:/\p{Nd}/u,Mn:/\p{Mn}/u,Mc:/\p{Mc}/u,Pc:/\p{Pc}/u,Zs:/\p{Zs}/u,L:/\p{Letter}/u,Ltmo:/\p{Lt}|\p{Lm}|\p{Lo}/u},V=class i{constructor(){if(this.constructor===i)throw new Error("PExpr cannot be instantiated -- it's abstract")}withSource(e){return e&&(this.source=e.trimmed()),this}},ge=Object.create(V.prototype),ye=Object.create(V.prototype),le=class extends V{constructor(e){super(),this.obj=e}},ce=class extends V{constructor(e,t){super(),this.from=e,this.to=t,this.matchCodePoint=e.length>1||t.length>1}},pe=class extends V{constructor(e){super(),this.index=e}},re=class extends V{constructor(e){super(),this.terms=e}},Ct=class extends re{constructor(e,t,n){let a=e.rules[t].body;super([n,a]),this.superGrammar=e,this.name=t,this.body=n}},Ft=class extends re{constructor(e,t,n,a){let l=e.rules[t].body;super([...n,l,...a]),this.superGrammar=e,this.ruleName=t,this.expansionPos=n.length}},ie=class extends V{constructor(e){super(),this.factors=e}},he=class extends V{constructor(e){super(),this.expr=e}},at=class extends he{},gt=class extends he{},Ye=class extends he{};at.prototype.operator="*";gt.prototype.operator="+";Ye.prototype.operator="?";at.prototype.minNumMatches=0;gt.prototype.minNumMatches=1;Ye.prototype.minNumMatches=0;at.prototype.maxNumMatches=Number.POSITIVE_INFINITY;gt.prototype.maxNumMatches=Number.POSITIVE_INFINITY;Ye.prototype.maxNumMatches=1;var de=class extends V{constructor(e){super(),this.expr=e}},fe=class extends V{constructor(e){super(),this.expr=e}},Ie=class extends V{constructor(e){super(),this.expr=e}},z=class extends V{constructor(e,t=[]){super(),this.ruleName=e,this.args=t}isSyntactic(){return kt(this.ruleName)}toMemoKey(){return this._memoKey||Object.defineProperty(this,"_memoKey",{value:this.toString()}),this._memoKey}},oe=class extends V{constructor(e){super(),this.category=e,this.pattern=Zd[e]}};function ne(i,e){let t;return e?(t=new Error(e.getLineAndColumnMessage()+i),t.shortMessage=i,t.interval=e):t=new Error(i),t}function li(){return ne("Interval sources don't match")}function Jd(i){let e=new Error;return Object.defineProperty(e,"message",{enumerable:!0,get(){return i.message}}),Object.defineProperty(e,"shortMessage",{enumerable:!0,get(){return"Expected "+i.getExpectedText()}}),e.interval=i.getInterval(),e}function Qd(i,e,t){let n=e?`Grammar ${i} is not declared in namespace '${e}'`:"Undeclared grammar "+i;return ne(n,t)}function Xd(i,e){return ne("Grammar "+i.name+" is already declared in this namespace")}function ef(i){return ne(`Grammar '${i.name}' does not support incremental parsing`)}function Au(i,e,t){return ne("Rule "+i+" is not declared in grammar "+e,t)}function tf(i,e,t){return ne("Cannot override rule "+i+" because it is not declared in "+e,t)}function rf(i,e,t){return ne("Cannot extend rule "+i+" because it is not declared in "+e,t)}function vu(i,e,t,n){let a="Duplicate declaration for rule '"+i+"' in grammar '"+e+"'";return e!==t&&(a+=" (originally declared in '"+t+"')"),ne(a,n)}function Ou(i,e,t,n){return ne("Wrong number of parameters for rule "+i+" (expected "+e+", got "+t+")",n)}function nf(i,e,t,n){return ne("Wrong number of arguments for rule "+i+" (expected "+e+", got "+t+")",n)}function hu(i,e,t){return ne("Duplicate parameter names in rule "+i+": "+e.join(", "),t)}function sf(i,e){return ne("Invalid parameter to rule "+i+": "+e+" has arity "+e.getArity()+", but parameter expressions must have arity 1",e.source)}var af="NOTE: A _syntactic rule_ is a rule whose name begins with a capital letter. See https://ohmjs.org/d/svl for more details.";function of(i,e){return ne("Cannot apply syntactic rule "+i+" from here (inside a lexical context)",e.source)}function lf(i){let{ruleName:e}=i;return ne(`applySyntactic is for syntactic rules, but '${e}' is a lexical rule. `+af,i.source)}function uf(i){return ne("applySyntactic is not required here (in a syntactic context)",i.source)}function du(i,e){return ne("Incorrect argument type: expected "+i,e.source)}function cf(i){return ne("'...' can appear at most once in a rule body",i.source)}function pf(i){let e=i._node;wt(e&&e.isNonterminal()&&e.ctorName==="escapeChar_unicodeCodePoint");let t=i.children.slice(1,-1).map(a=>a.source),n=t[0].coverageWith(...t.slice(1));return ne(`U+${n.contents} is not a valid Unicode code point`,n)}function Nu(i,e){let t=e.length>0?e[e.length-1].args:[],a="Nullable expression "+i.expr.substituteParams(t)+" is not allowed inside '"+i.operator+"' (possible infinite loop)";if(e.length>0){let l=e.map(c=>new z(c.ruleName,c.args)).join(`
|
|
`);a+=`
|
|
Application stack (most recent application last):
|
|
`+l}return ne(a,i.expr.source)}function Tu(i,e,t,n){return ne("Rule "+i+" involves an alternation which has inconsistent arity (expected "+e+", got "+t+")",n.source)}function mf(i){let e=i.map(t=>t.message);return ne(["Errors:"].concat(e).join(`
|
|
- `),i[0].interval)}function vf(i,e,t,n){let a=n.slice(0,-1).map(h=>{let d=" "+h[0].name+" > "+h[1];return h.length===3?d+" for '"+h[2]+"'":d}).join(`
|
|
`);a+=`
|
|
`+e+" > "+i;let l="";i==="_iter"&&(l=[`
|
|
NOTE: as of Ohm v16, there is no default action for iteration nodes \u2014 see `," https://ohmjs.org/d/dsa for details."].join(`
|
|
`));let c=[`Missing semantic action for '${i}' in ${t} '${e}'.${l}`,"Action stack (most recent call last):",a].join(`
|
|
`),v=ne(c);return v.name="missingSemanticAction",v}function hf(i){if(i.length===1)throw i[0];if(i.length>1)throw mf(i)}function df(i){let e=0;return i.map(n=>{let a=n.toString();return e=Math.max(e,a.length),a}).map(n=>Mu(n,e))}function fu(i,e,t){let n=i.length,a=i.slice(0,t),l=i.slice(t+e.length);return(a+e+l).substr(0,n)}function ff(...i){let e=this,{offset:t}=e,{repeatStr:n}=Kd,a=new Bt;a.append("Line "+e.lineNum+", col "+e.colNum+`:
|
|
`);let l=df([e.prevLine==null?0:e.lineNum-1,e.lineNum,e.nextLine==null?0:e.lineNum+1]),c=(g,f,y)=>{a.append(y+l[g]+" | "+f+`
|
|
`)};e.prevLine!=null&&c(0,e.prevLine," "),c(1,e.line,"> ");let v=e.line.length,h=n(" ",v+1);for(let g=0;g<i.length;++g){let f=i[g][0],y=i[g][1];wt(f>=0&&f<=y,"range start must be >= 0 and <= end");let R=t-e.colNum+1;f=Math.max(0,f-R),y=Math.min(y-R,v),h=fu(h,n("~",y-f),f)}let d=2+l[1].length+3;return a.append(n(" ",d)),h=fu(h,"^",e.colNum-1),a.append(h.replace(/ +$/,"")+`
|
|
`),e.nextLine!=null&&c(2,e.nextLine," "),a.contents()}var ui=[];function Vu(i){ui.push(i)}function If(i){ui.forEach(e=>{e(i)}),ui=null}function gi(i,e){let t=1,n=1,a=0,l=0,c=null,v=null,h=-1;for(;a<e;){let f=i.charAt(a++);f===`
|
|
`?(t++,n=1,h=l,l=a):f!=="\r"&&n++}let d=i.indexOf(`
|
|
`,l);if(d===-1)d=i.length;else{let f=i.indexOf(`
|
|
`,d+1);c=f===-1?i.slice(d):i.slice(d,f),c=c.replace(/^\r?\n/,"").replace(/\r$/,"")}h>=0&&(v=i.slice(h,l).replace(/\r?\n$/,""));let g=i.slice(l,d).replace(/\r$/,"");return{offset:e,lineNum:t,colNum:n,line:g,prevLine:v,nextLine:c,toString:ff}}function yi(i,e,...t){return gi(i,e).toString(...t)}var Iu=(()=>{let i=0;return e=>""+e+i++})(),qt=class i{constructor(e,t,n){this.sourceString=e,this.startIdx=t,this.endIdx=n}get contents(){return this._contents===void 0&&(this._contents=this.sourceString.slice(this.startIdx,this.endIdx)),this._contents}get length(){return this.endIdx-this.startIdx}coverageWith(...e){return i.coverage(...e,this)}collapsedLeft(){return new i(this.sourceString,this.startIdx,this.startIdx)}collapsedRight(){return new i(this.sourceString,this.endIdx,this.endIdx)}getLineAndColumn(){return gi(this.sourceString,this.startIdx)}getLineAndColumnMessage(){let e=[this.startIdx,this.endIdx];return yi(this.sourceString,this.startIdx,e)}minus(e){if(this.sourceString!==e.sourceString)throw li();return this.startIdx===e.startIdx&&this.endIdx===e.endIdx?[]:this.startIdx<e.startIdx&&e.endIdx<this.endIdx?[new i(this.sourceString,this.startIdx,e.startIdx),new i(this.sourceString,e.endIdx,this.endIdx)]:this.startIdx<e.endIdx&&e.endIdx<this.endIdx?[new i(this.sourceString,e.endIdx,this.endIdx)]:this.startIdx<e.startIdx&&e.startIdx<this.endIdx?[new i(this.sourceString,this.startIdx,e.startIdx)]:[this]}relativeTo(e){if(this.sourceString!==e.sourceString)throw li();return wt(this.startIdx>=e.startIdx&&this.endIdx<=e.endIdx,"other interval does not cover this one"),new i(this.sourceString,this.startIdx-e.startIdx,this.endIdx-e.startIdx)}trimmed(){let{contents:e}=this,t=this.startIdx+e.match(/^\s*/)[0].length,n=this.endIdx-e.match(/\s*$/)[0].length;return new i(this.sourceString,t,n)}subInterval(e,t){let n=this.startIdx+e;return new i(this.sourceString,n,n+t)}};qt.coverage=function(i,...e){let{startIdx:t,endIdx:n}=i;for(let a of e){if(a.sourceString!==i.sourceString)throw li();t=Math.min(t,a.startIdx),n=Math.max(n,a.endIdx)}return new qt(i.sourceString,t,n)};var gf=65535,Xt=class{constructor(e){this.source=e,this.pos=0,this.examinedLength=0}atEnd(){let e=this.pos>=this.source.length;return this.examinedLength=Math.max(this.examinedLength,this.pos+1),e}next(){let e=this.source[this.pos++];return this.examinedLength=Math.max(this.examinedLength,this.pos),e}nextCharCode(){let e=this.next();return e&&e.charCodeAt(0)}nextCodePoint(){let e=this.source.slice(this.pos++).codePointAt(0);return e>gf&&(this.pos+=1),this.examinedLength=Math.max(this.examinedLength,this.pos),e}matchString(e,t){let n;if(t){for(n=0;n<e.length;n++){let a=this.next(),l=e[n];if(a==null||a.toUpperCase()!==l.toUpperCase())return!1}return!0}for(n=0;n<e.length;n++)if(this.next()!==e[n])return!1;return!0}sourceSlice(e,t){return this.source.slice(e,t)}interval(e,t){return new qt(this.source,e,t||this.pos)}},On=class{constructor(e,t,n,a,l,c,v){this.matcher=e,this.input=t,this.startExpr=n,this._cst=a,this._cstOffset=l,this._rightmostFailurePosition=c,this._rightmostFailures=v,this.failed()&&(ai(this,"message",function(){let h="Expected "+this.getExpectedText();return yi(this.input,this.getRightmostFailurePosition())+h}),ai(this,"shortMessage",function(){let h="expected "+this.getExpectedText(),d=gi(this.input,this.getRightmostFailurePosition());return"Line "+d.lineNum+", col "+d.colNum+": "+h}))}succeeded(){return!!this._cst}failed(){return!this.succeeded()}getRightmostFailurePosition(){return this._rightmostFailurePosition}getRightmostFailures(){if(!this._rightmostFailures){this.matcher.setInput(this.input);let e=this.matcher._match(this.startExpr,{tracing:!1,positionToRecordFailures:this.getRightmostFailurePosition()});this._rightmostFailures=e.getRightmostFailures()}return this._rightmostFailures}toString(){return this.succeeded()?"[match succeeded]":"[match failed at position "+this.getRightmostFailurePosition()+"]"}getExpectedText(){if(this.succeeded())throw new Error("cannot get expected text of a successful MatchResult");let e=new Bt,t=this.getRightmostFailures();t=t.filter(n=>!n.isFluffy());for(let n=0;n<t.length;n++)n>0&&(n===t.length-1?e.append(t.length>2?", or ":" or "):e.append(", ")),e.append(t[n].toString());return e.contents()}getInterval(){let e=this.getRightmostFailurePosition();return new qt(this.input,e,e)}},ci=class{constructor(){this.applicationMemoKeyStack=[],this.memo={},this.maxExaminedLength=0,this.maxRightmostFailureOffset=-1,this.currentLeftRecursion=void 0}isActive(e){return this.applicationMemoKeyStack.indexOf(e.toMemoKey())>=0}enter(e){this.applicationMemoKeyStack.push(e.toMemoKey())}exit(){this.applicationMemoKeyStack.pop()}startLeftRecursion(e,t){t.isLeftRecursion=!0,t.headApplication=e,t.nextLeftRecursion=this.currentLeftRecursion,this.currentLeftRecursion=t;let{applicationMemoKeyStack:n}=this,a=n.indexOf(e.toMemoKey())+1,l=n.slice(a);t.isInvolved=function(c){return l.indexOf(c)>=0},t.updateInvolvedApplicationMemoKeys=function(){for(let c=a;c<n.length;c++){let v=n[c];this.isInvolved(v)||l.push(v)}}}endLeftRecursion(){this.currentLeftRecursion=this.currentLeftRecursion.nextLeftRecursion}shouldUseMemoizedResult(e){if(!e.isLeftRecursion)return!0;let{applicationMemoKeyStack:t}=this;for(let n=0;n<t.length;n++){let a=t[n];if(e.isInvolved(a))return!1}return!0}memoize(e,t){return this.memo[e]=t,this.maxExaminedLength=Math.max(this.maxExaminedLength,t.examinedLength),this.maxRightmostFailureOffset=Math.max(this.maxRightmostFailureOffset,t.rightmostFailureOffset),t}clearObsoleteEntries(e,t){if(e+this.maxExaminedLength<=t)return;let{memo:n}=this;this.maxExaminedLength=0,this.maxRightmostFailureOffset=-1,Object.keys(n).forEach(a=>{let l=n[a];e+l.examinedLength>t?delete n[a]:(this.maxExaminedLength=Math.max(this.maxExaminedLength,l.examinedLength),this.maxRightmostFailureOffset=Math.max(this.maxRightmostFailureOffset,l.rightmostFailureOffset))})}},yf="\u2717",_f="\u2713",Sf="\u22C5",xf="\u21D2",bf="\u2409",wf="\u240A",Rf="\u240D",pi={succeeded:1,isRootNode:2,isImplicitSpaces:4,isMemoized:8,isHeadOfLeftRecursion:16,terminatesLR:32};function Df(i){return Fn(" ",i).join("")}function Pf(i,e,t){let n=Lu(i.slice(e,e+t));return n.length<t?n+Fn(" ",t-n.length).join(""):n}function Lu(i){return typeof i=="string"?i.replace(/ /g,Sf).replace(/\t/g,bf).replace(/\n/g,wf).replace(/\r/g,Rf):String(i)}var er=class i{constructor(e,t,n,a,l,c,v){this.input=e,this.pos=this.pos1=t,this.pos2=n,this.source=new qt(e,t,n),this.expr=a,this.bindings=c,this.children=v||[],this.terminatingLREntry=null,this._flags=l?pi.succeeded:0}get displayString(){return this.expr.toDisplayString()}clone(){return this.cloneWithExpr(this.expr)}cloneWithExpr(e){let t=new i(this.input,this.pos,this.pos2,e,this.succeeded,this.bindings,this.children);return t.isHeadOfLeftRecursion=this.isHeadOfLeftRecursion,t.isImplicitSpaces=this.isImplicitSpaces,t.isMemoized=this.isMemoized,t.isRootNode=this.isRootNode,t.terminatesLR=this.terminatesLR,t.terminatingLREntry=this.terminatingLREntry,t}recordLRTermination(e,t){this.terminatingLREntry=new i(this.input,this.pos,this.pos2,this.expr,!1,[t],[e]),this.terminatingLREntry.terminatesLR=!0}walk(e,t){let n=e;typeof n=="function"&&(n={enter:n});function a(l,c,v){let h=!0;n.enter&&n.enter.call(t,l,c,v)===i.prototype.SKIP&&(h=!1),h&&(l.children.forEach(d=>{a(d,l,v+1)}),n.exit&&n.exit.call(t,l,c,v))}this.isRootNode?this.children.forEach(l=>{a(l,null,0)}):a(this,null,0)}toString(){let e=new Bt;return this.walk((t,n,a)=>{if(!t)return this.SKIP;if(t.expr.constructor.name!=="Alt"){if(e.append(Pf(t.input,t.pos,10)+Df(a*2+1)),e.append((t.succeeded?_f:yf)+" "+t.displayString),t.isHeadOfLeftRecursion&&e.append(" (LR)"),t.succeeded){let c=Lu(t.source.contents);e.append(" "+xf+" "),e.append(typeof c=="string"?'"'+c+'"':c)}e.append(`
|
|
`)}}),e.contents()}};er.prototype.SKIP={};Object.keys(pi).forEach(i=>{let e=pi[i];Object.defineProperty(er.prototype,i,{get(){return(this._flags&e)!==0},set(t){t?this._flags|=e:this._flags&=~e}})});V.prototype.allowsSkippingPrecedingSpace=Pe("allowsSkippingPrecedingSpace");ge.allowsSkippingPrecedingSpace=ye.allowsSkippingPrecedingSpace=z.prototype.allowsSkippingPrecedingSpace=le.prototype.allowsSkippingPrecedingSpace=ce.prototype.allowsSkippingPrecedingSpace=oe.prototype.allowsSkippingPrecedingSpace=function(){return!0};re.prototype.allowsSkippingPrecedingSpace=he.prototype.allowsSkippingPrecedingSpace=Ie.prototype.allowsSkippingPrecedingSpace=fe.prototype.allowsSkippingPrecedingSpace=de.prototype.allowsSkippingPrecedingSpace=pe.prototype.allowsSkippingPrecedingSpace=ie.prototype.allowsSkippingPrecedingSpace=function(){return!1};var Mr;Vu(i=>{Mr=i});var Nn;V.prototype.assertAllApplicationsAreValid=function(i,e){Nn=0,this._assertAllApplicationsAreValid(i,e)};V.prototype._assertAllApplicationsAreValid=Pe("_assertAllApplicationsAreValid");ge._assertAllApplicationsAreValid=ye._assertAllApplicationsAreValid=le.prototype._assertAllApplicationsAreValid=ce.prototype._assertAllApplicationsAreValid=pe.prototype._assertAllApplicationsAreValid=oe.prototype._assertAllApplicationsAreValid=function(i,e){};Ie.prototype._assertAllApplicationsAreValid=function(i,e){Nn++,this.expr._assertAllApplicationsAreValid(i,e),Nn--};re.prototype._assertAllApplicationsAreValid=function(i,e){for(let t=0;t<this.terms.length;t++)this.terms[t]._assertAllApplicationsAreValid(i,e)};ie.prototype._assertAllApplicationsAreValid=function(i,e){for(let t=0;t<this.factors.length;t++)this.factors[t]._assertAllApplicationsAreValid(i,e)};he.prototype._assertAllApplicationsAreValid=de.prototype._assertAllApplicationsAreValid=fe.prototype._assertAllApplicationsAreValid=function(i,e){this.expr._assertAllApplicationsAreValid(i,e)};z.prototype._assertAllApplicationsAreValid=function(i,e,t=!1){let n=e.rules[this.ruleName],a=kt(i)&&Nn===0;if(!n)throw Au(this.ruleName,e.name,this.source);if(!t&&kt(this.ruleName)&&!a)throw of(this.ruleName,this);let l=this.args.length,c=n.formals.length;if(l!==c)throw nf(this.ruleName,c,l,this.source);let v=Mr&&n===Mr.rules.applySyntactic;if(Mr&&n===Mr.rules.caseInsensitive&&!(this.args[0]instanceof le))throw du('a Terminal (e.g. "abc")',this.args[0]);if(v){let d=this.args[0];if(!(d instanceof z))throw du("a syntactic rule application",d);if(!kt(d.ruleName))throw lf(d);if(a)throw uf(this)}this.args.forEach(d=>{if(d._assertAllApplicationsAreValid(i,e,v),d.getArity()!==1)throw sf(this.ruleName,d)})};V.prototype.assertChoicesHaveUniformArity=Pe("assertChoicesHaveUniformArity");ge.assertChoicesHaveUniformArity=ye.assertChoicesHaveUniformArity=le.prototype.assertChoicesHaveUniformArity=ce.prototype.assertChoicesHaveUniformArity=pe.prototype.assertChoicesHaveUniformArity=Ie.prototype.assertChoicesHaveUniformArity=oe.prototype.assertChoicesHaveUniformArity=function(i){};re.prototype.assertChoicesHaveUniformArity=function(i){if(this.terms.length===0)return;let e=this.terms[0].getArity();for(let t=0;t<this.terms.length;t++){let n=this.terms[t];n.assertChoicesHaveUniformArity();let a=n.getArity();if(e!==a)throw Tu(i,e,a,n)}};Ct.prototype.assertChoicesHaveUniformArity=function(i){let e=this.terms[0].getArity(),t=this.terms[1].getArity();if(e!==t)throw Tu(i,t,e,this.terms[0])};ie.prototype.assertChoicesHaveUniformArity=function(i){for(let e=0;e<this.factors.length;e++)this.factors[e].assertChoicesHaveUniformArity(i)};he.prototype.assertChoicesHaveUniformArity=function(i){this.expr.assertChoicesHaveUniformArity(i)};de.prototype.assertChoicesHaveUniformArity=function(i){};fe.prototype.assertChoicesHaveUniformArity=function(i){this.expr.assertChoicesHaveUniformArity(i)};z.prototype.assertChoicesHaveUniformArity=function(i){};V.prototype.assertIteratedExprsAreNotNullable=Pe("assertIteratedExprsAreNotNullable");ge.assertIteratedExprsAreNotNullable=ye.assertIteratedExprsAreNotNullable=le.prototype.assertIteratedExprsAreNotNullable=ce.prototype.assertIteratedExprsAreNotNullable=pe.prototype.assertIteratedExprsAreNotNullable=oe.prototype.assertIteratedExprsAreNotNullable=function(i){};re.prototype.assertIteratedExprsAreNotNullable=function(i){for(let e=0;e<this.terms.length;e++)this.terms[e].assertIteratedExprsAreNotNullable(i)};ie.prototype.assertIteratedExprsAreNotNullable=function(i){for(let e=0;e<this.factors.length;e++)this.factors[e].assertIteratedExprsAreNotNullable(i)};he.prototype.assertIteratedExprsAreNotNullable=function(i){if(this.expr.assertIteratedExprsAreNotNullable(i),this.expr.isNullable(i))throw Nu(this,[])};Ye.prototype.assertIteratedExprsAreNotNullable=de.prototype.assertIteratedExprsAreNotNullable=fe.prototype.assertIteratedExprsAreNotNullable=Ie.prototype.assertIteratedExprsAreNotNullable=function(i){this.expr.assertIteratedExprsAreNotNullable(i)};z.prototype.assertIteratedExprsAreNotNullable=function(i){this.args.forEach(e=>{e.assertIteratedExprsAreNotNullable(i)})};var Ar=class{constructor(e){this.matchLength=e}get ctorName(){throw new Error("subclass responsibility")}numChildren(){return this.children?this.children.length:0}childAt(e){if(this.children)return this.children[e]}indexOfChild(e){return this.children.indexOf(e)}hasChildren(){return this.numChildren()>0}hasNoChildren(){return!this.hasChildren()}onlyChild(){if(this.numChildren()!==1)throw new Error("cannot get only child of a node of type "+this.ctorName+" (it has "+this.numChildren()+" children)");return this.firstChild()}firstChild(){if(this.hasNoChildren())throw new Error("cannot get first child of a "+this.ctorName+" node, which has no children");return this.childAt(0)}lastChild(){if(this.hasNoChildren())throw new Error("cannot get last child of a "+this.ctorName+" node, which has no children");return this.childAt(this.numChildren()-1)}childBefore(e){let t=this.indexOfChild(e);if(t<0)throw new Error("Node.childBefore() called w/ an argument that is not a child");if(t===0)throw new Error("cannot get child before first child");return this.childAt(t-1)}childAfter(e){let t=this.indexOfChild(e);if(t<0)throw new Error("Node.childAfter() called w/ an argument that is not a child");if(t===this.numChildren()-1)throw new Error("cannot get child after last child");return this.childAt(t+1)}isTerminal(){return!1}isNonterminal(){return!1}isIteration(){return!1}isOptional(){return!1}},yt=class extends Ar{get ctorName(){return"_terminal"}isTerminal(){return!0}get primitiveValue(){throw new Error("The `primitiveValue` property was removed in Ohm v17.")}},mi=class extends Ar{constructor(e,t,n,a){super(a),this.ruleName=e,this.children=t,this.childOffsets=n}get ctorName(){return this.ruleName}isNonterminal(){return!0}isLexical(){return Pu(this.ctorName)}isSyntactic(){return kt(this.ctorName)}},Tn=class extends Ar{constructor(e,t,n,a){super(n),this.children=e,this.childOffsets=t,this.optional=a}get ctorName(){return"_iter"}isIteration(){return!0}isOptional(){return this.optional}};V.prototype.eval=Pe("eval");ge.eval=function(i){let{inputStream:e}=i,t=e.pos,n=e.nextCodePoint();return n!==void 0?(i.pushBinding(new yt(String.fromCodePoint(n).length),t),!0):(i.processFailure(t,this),!1)};ye.eval=function(i){let{inputStream:e}=i,t=e.pos;return e.atEnd()?(i.pushBinding(new yt(0),t),!0):(i.processFailure(t,this),!1)};le.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos;return e.matchString(this.obj)?(i.pushBinding(new yt(this.obj.length),t),!0):(i.processFailure(t,this),!1)};ce.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos,n=this.matchCodePoint?e.nextCodePoint():e.nextCharCode();return n!==void 0&&this.from.codePointAt(0)<=n&&n<=this.to.codePointAt(0)?(i.pushBinding(new yt(String.fromCodePoint(n).length),t),!0):(i.processFailure(t,this),!1)};pe.prototype.eval=function(i){return i.eval(i.currentApplication().args[this.index])};Ie.prototype.eval=function(i){i.enterLexifiedContext();let e=i.eval(this.expr);return i.exitLexifiedContext(),e};re.prototype.eval=function(i){for(let e=0;e<this.terms.length;e++)if(i.eval(this.terms[e]))return!0;return!1};ie.prototype.eval=function(i){for(let e=0;e<this.factors.length;e++){let t=this.factors[e];if(!i.eval(t))return!1}return!0};he.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos,n=this.getArity(),a=[],l=[];for(;a.length<n;)a.push([]),l.push([]);let c=0,v=t,h;for(;c<this.maxNumMatches&&i.eval(this.expr);){if(e.pos===v)throw Nu(this,i._applicationStack);v=e.pos,c++;let y=i._bindings.splice(i._bindings.length-n,n),R=i._bindingOffsets.splice(i._bindingOffsets.length-n,n);for(h=0;h<y.length;h++)a[h].push(y[h]),l[h].push(R[h])}if(c<this.minNumMatches)return!1;let d=i.posToOffset(t),g=0;if(c>0){let y=a[n-1],R=l[n-1],_=R[R.length-1]+y[y.length-1].matchLength;d=l[0][0],g=_-d}let f=this instanceof Ye;for(h=0;h<a.length;h++)i._bindings.push(new Tn(a[h],l[h],g,f)),i._bindingOffsets.push(d);return!0};de.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos;i.pushFailuresInfo();let n=i.eval(this.expr);return i.popFailuresInfo(),n?(i.processFailure(t,this),!1):(e.pos=t,!0)};fe.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos;return i.eval(this.expr)?(e.pos=t,!0):!1};z.prototype.eval=function(i){let e=i.currentApplication(),t=e?e.args:[],n=this.substituteParams(t),a=i.getCurrentPosInfo();if(a.isActive(n))return n.handleCycle(i);let l=n.toMemoKey(),c=a.memo[l];if(c&&a.shouldUseMemoizedResult(c)){if(i.hasNecessaryInfo(c))return i.useMemoizedResult(i.inputStream.pos,c);delete a.memo[l]}return n.reallyEval(i)};z.prototype.handleCycle=function(i){let e=i.getCurrentPosInfo(),{currentLeftRecursion:t}=e,n=this.toMemoKey(),a=e.memo[n];return t&&t.headApplication.toMemoKey()===n?a.updateInvolvedApplicationMemoKeys():a||(a=e.memoize(n,{matchLength:0,examinedLength:0,value:!1,rightmostFailureOffset:-1}),e.startLeftRecursion(this,a)),i.useMemoizedResult(i.inputStream.pos,a)};z.prototype.reallyEval=function(i){let{inputStream:e}=i,t=e.pos,n=i.getCurrentPosInfo(),a=i.grammar.rules[this.ruleName],{body:l}=a,{description:c}=a;i.enterApplication(n,this),c&&i.pushFailuresInfo();let v=e.examinedLength;e.examinedLength=0;let h=this.evalOnce(l,i),d=n.currentLeftRecursion,g=this.toMemoKey(),f=d&&d.headApplication.toMemoKey()===g,y;i.doNotMemoize?i.doNotMemoize=!1:f?(h=this.growSeedResult(l,i,t,d,h),n.endLeftRecursion(),y=d,y.examinedLength=e.examinedLength-t,y.rightmostFailureOffset=i._getRightmostFailureOffset(),n.memoize(g,y)):(!d||!d.isInvolved(g))&&(y=n.memoize(g,{matchLength:e.pos-t,examinedLength:e.examinedLength-t,value:h,failuresAtRightmostPosition:i.cloneRecordedFailures(),rightmostFailureOffset:i._getRightmostFailureOffset()}));let R=!!h;if(c&&(i.popFailuresInfo(),R||i.processFailure(t,this),y&&(y.failuresAtRightmostPosition=i.cloneRecordedFailures())),i.isTracing()&&y){let _=i.getTraceEntry(t,this,R,R?[h]:[]);f&&(wt(_.terminatingLREntry!=null||!R),_.isHeadOfLeftRecursion=!0),y.traceEntry=_}return e.examinedLength=Math.max(e.examinedLength,v),i.exitApplication(n,h),R};z.prototype.evalOnce=function(i,e){let{inputStream:t}=e,n=t.pos;if(e.eval(i)){let a=i.getArity(),l=e._bindings.splice(e._bindings.length-a,a),c=e._bindingOffsets.splice(e._bindingOffsets.length-a,a),v=t.pos-n;return new mi(this.ruleName,l,c,v)}else return!1};z.prototype.growSeedResult=function(i,e,t,n,a){if(!a)return!1;let{inputStream:l}=e;for(;;){if(n.matchLength=l.pos-t,n.value=a,n.failuresAtRightmostPosition=e.cloneRecordedFailures(),e.isTracing()){let c=e.trace[e.trace.length-1];n.traceEntry=new er(e.input,t,l.pos,this,!0,[a],[c.clone()])}if(l.pos=t,a=this.evalOnce(i,e),l.pos-t<=n.matchLength)break;e.isTracing()&&e.trace.splice(-2,1)}return e.isTracing()&&n.traceEntry.recordLRTermination(e.trace.pop(),a),l.pos=t+n.matchLength,n.value};oe.prototype.eval=function(i){let{inputStream:e}=i,t=e.pos,n=e.next();return n&&this.pattern.test(n)?(i.pushBinding(new yt(n.length),t),!0):(i.processFailure(t,this),!1)};V.prototype.getArity=Pe("getArity");ge.getArity=ye.getArity=le.prototype.getArity=ce.prototype.getArity=pe.prototype.getArity=z.prototype.getArity=oe.prototype.getArity=function(){return 1};re.prototype.getArity=function(){return this.terms.length===0?0:this.terms[0].getArity()};ie.prototype.getArity=function(){let i=0;for(let e=0;e<this.factors.length;e++)i+=this.factors[e].getArity();return i};he.prototype.getArity=function(){return this.expr.getArity()};de.prototype.getArity=function(){return 0};fe.prototype.getArity=Ie.prototype.getArity=function(){return this.expr.getArity()};function Je(i,e){let t={};if(i.source&&e){let n=i.source.relativeTo(e);t.sourceInterval=[n.startIdx,n.endIdx]}return t}V.prototype.outputRecipe=Pe("outputRecipe");ge.outputRecipe=function(i,e){return["any",Je(this,e)]};ye.outputRecipe=function(i,e){return["end",Je(this,e)]};le.prototype.outputRecipe=function(i,e){return["terminal",Je(this,e),this.obj]};ce.prototype.outputRecipe=function(i,e){return["range",Je(this,e),this.from,this.to]};pe.prototype.outputRecipe=function(i,e){return["param",Je(this,e),this.index]};re.prototype.outputRecipe=function(i,e){return["alt",Je(this,e)].concat(this.terms.map(t=>t.outputRecipe(i,e)))};Ct.prototype.outputRecipe=function(i,e){return this.terms[0].outputRecipe(i,e)};Ft.prototype.outputRecipe=function(i,e){let t=this.terms.slice(0,this.expansionPos),n=this.terms.slice(this.expansionPos+1);return["splice",Je(this,e),t.map(a=>a.outputRecipe(i,e)),n.map(a=>a.outputRecipe(i,e))]};ie.prototype.outputRecipe=function(i,e){return["seq",Je(this,e)].concat(this.factors.map(t=>t.outputRecipe(i,e)))};at.prototype.outputRecipe=gt.prototype.outputRecipe=Ye.prototype.outputRecipe=de.prototype.outputRecipe=fe.prototype.outputRecipe=Ie.prototype.outputRecipe=function(i,e){return[this.constructor.name.toLowerCase(),Je(this,e),this.expr.outputRecipe(i,e)]};z.prototype.outputRecipe=function(i,e){return["app",Je(this,e),this.ruleName,this.args.map(t=>t.outputRecipe(i,e))]};oe.prototype.outputRecipe=function(i,e){return["unicodeChar",Je(this,e),this.category]};V.prototype.introduceParams=Pe("introduceParams");ge.introduceParams=ye.introduceParams=le.prototype.introduceParams=ce.prototype.introduceParams=pe.prototype.introduceParams=oe.prototype.introduceParams=function(i){return this};re.prototype.introduceParams=function(i){return this.terms.forEach((e,t,n)=>{n[t]=e.introduceParams(i)}),this};ie.prototype.introduceParams=function(i){return this.factors.forEach((e,t,n)=>{n[t]=e.introduceParams(i)}),this};he.prototype.introduceParams=de.prototype.introduceParams=fe.prototype.introduceParams=Ie.prototype.introduceParams=function(i){return this.expr=this.expr.introduceParams(i),this};z.prototype.introduceParams=function(i){let e=i.indexOf(this.ruleName);if(e>=0){if(this.args.length>0)throw new Error("Parameterized rules cannot be passed as arguments to another rule.");return new pe(e).withSource(this.source)}else return this.args.forEach((t,n,a)=>{a[n]=t.introduceParams(i)}),this};V.prototype.isNullable=function(i){return this._isNullable(i,Object.create(null))};V.prototype._isNullable=Pe("_isNullable");ge._isNullable=ce.prototype._isNullable=pe.prototype._isNullable=gt.prototype._isNullable=oe.prototype._isNullable=function(i,e){return!1};ye._isNullable=function(i,e){return!0};le.prototype._isNullable=function(i,e){return typeof this.obj=="string"?this.obj==="":!1};re.prototype._isNullable=function(i,e){return this.terms.length===0||this.terms.some(t=>t._isNullable(i,e))};ie.prototype._isNullable=function(i,e){return this.factors.every(t=>t._isNullable(i,e))};at.prototype._isNullable=Ye.prototype._isNullable=de.prototype._isNullable=fe.prototype._isNullable=function(i,e){return!0};Ie.prototype._isNullable=function(i,e){return this.expr._isNullable(i,e)};z.prototype._isNullable=function(i,e){let t=this.toMemoKey();if(!Object.prototype.hasOwnProperty.call(e,t)){let{body:n}=i.rules[this.ruleName],a=n.substituteParams(this.args);e[t]=!1,e[t]=a._isNullable(i,e)}return e[t]};V.prototype.substituteParams=Pe("substituteParams");ge.substituteParams=ye.substituteParams=le.prototype.substituteParams=ce.prototype.substituteParams=oe.prototype.substituteParams=function(i){return this};pe.prototype.substituteParams=function(i){return i[this.index]};re.prototype.substituteParams=function(i){return new re(this.terms.map(e=>e.substituteParams(i)))};ie.prototype.substituteParams=function(i){return new ie(this.factors.map(e=>e.substituteParams(i)))};he.prototype.substituteParams=de.prototype.substituteParams=fe.prototype.substituteParams=Ie.prototype.substituteParams=function(i){return new this.constructor(this.expr.substituteParams(i))};z.prototype.substituteParams=function(i){if(this.args.length===0)return this;{let e=this.args.map(t=>t.substituteParams(i));return new z(this.ruleName,e)}};function gu(i){return/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(i)}function _i(i){let e=Object.create(null);i.forEach(t=>{e[t]=(e[t]||0)+1}),Object.keys(e).forEach(t=>{if(e[t]<=1)return;let n=1;i.forEach((a,l)=>{a===t&&(i[l]=a+"_"+n++)})})}V.prototype.toArgumentNameList=Pe("toArgumentNameList");ge.toArgumentNameList=function(i,e){return["any"]};ye.toArgumentNameList=function(i,e){return["end"]};le.prototype.toArgumentNameList=function(i,e){return typeof this.obj=="string"&&/^[_a-zA-Z0-9]+$/.test(this.obj)?["_"+this.obj]:["$"+i]};ce.prototype.toArgumentNameList=function(i,e){let t=this.from+"_to_"+this.to;return gu(t)||(t="_"+t),gu(t)||(t="$"+i),[t]};re.prototype.toArgumentNameList=function(i,e){let t=this.terms.map(l=>l.toArgumentNameList(i,!0)),n=[],a=t[0].length;for(let l=0;l<a;l++){let c=[];for(let h=0;h<this.terms.length;h++)c.push(t[h][l]);let v=Du(c);n.push(v.join("_or_"))}return e||_i(n),n};ie.prototype.toArgumentNameList=function(i,e){let t=[];return this.factors.forEach(n=>{let a=n.toArgumentNameList(i,!0);t=t.concat(a),i+=a.length}),e||_i(t),t};he.prototype.toArgumentNameList=function(i,e){let t=this.expr.toArgumentNameList(i,e).map(n=>n[n.length-1]==="s"?n+"es":n+"s");return e||_i(t),t};Ye.prototype.toArgumentNameList=function(i,e){return this.expr.toArgumentNameList(i,e).map(t=>"opt"+t[0].toUpperCase()+t.slice(1))};de.prototype.toArgumentNameList=function(i,e){return[]};fe.prototype.toArgumentNameList=Ie.prototype.toArgumentNameList=function(i,e){return this.expr.toArgumentNameList(i,e)};z.prototype.toArgumentNameList=function(i,e){return[this.ruleName]};oe.prototype.toArgumentNameList=function(i,e){return["$"+i]};pe.prototype.toArgumentNameList=function(i,e){return["param"+this.index]};V.prototype.toDisplayString=Pe("toDisplayString");re.prototype.toDisplayString=ie.prototype.toDisplayString=function(){return this.source?this.source.trimmed().contents:"["+this.constructor.name+"]"};ge.toDisplayString=ye.toDisplayString=he.prototype.toDisplayString=de.prototype.toDisplayString=fe.prototype.toDisplayString=Ie.prototype.toDisplayString=le.prototype.toDisplayString=ce.prototype.toDisplayString=pe.prototype.toDisplayString=function(){return this.toString()};z.prototype.toDisplayString=function(){if(this.args.length>0){let i=this.args.map(e=>e.toDisplayString());return this.ruleName+"<"+i.join(",")+">"}else return this.ruleName};oe.prototype.toDisplayString=function(){return"Unicode ["+this.category+"] character"};function Mf(i){return i==="description"||i==="string"||i==="code"}var Le=class i{constructor(e,t,n){if(!Mf(n))throw new Error("invalid Failure type: "+n);this.pexpr=e,this.text=t,this.type=n,this.fluffy=!1}getPExpr(){return this.pexpr}getText(){return this.text}getType(){return this.type}isDescription(){return this.type==="description"}isStringTerminal(){return this.type==="string"}isCode(){return this.type==="code"}isFluffy(){return this.fluffy}makeFluffy(){this.fluffy=!0}clearFluffy(){this.fluffy=!1}subsumes(e){return this.getText()===e.getText()&&this.type===e.type&&(!this.isFluffy()||this.isFluffy()&&e.isFluffy())}toString(){return this.type==="string"?JSON.stringify(this.getText()):this.getText()}clone(){let e=new i(this.pexpr,this.text,this.type);return this.isFluffy()&&e.makeFluffy(),e}toKey(){return this.toString()+"#"+this.type}};V.prototype.toFailure=Pe("toFailure");ge.toFailure=function(i){return new Le(this,"any object","description")};ye.toFailure=function(i){return new Le(this,"end of input","description")};le.prototype.toFailure=function(i){return new Le(this,this.obj,"string")};ce.prototype.toFailure=function(i){return new Le(this,JSON.stringify(this.from)+".."+JSON.stringify(this.to),"code")};de.prototype.toFailure=function(i){let e=this.expr===ge?"nothing":"not "+this.expr.toFailure(i);return new Le(this,e,"description")};fe.prototype.toFailure=function(i){return this.expr.toFailure(i)};z.prototype.toFailure=function(i){let{description:e}=i.rules[this.ruleName];return e||(e=(/^[aeiouAEIOU]/.test(this.ruleName)?"an":"a")+" "+this.ruleName),new Le(this,e,"description")};oe.prototype.toFailure=function(i){return new Le(this,"a Unicode ["+this.category+"] character","description")};re.prototype.toFailure=function(i){let t="("+this.terms.map(n=>n.toFailure(i)).join(" or ")+")";return new Le(this,t,"description")};ie.prototype.toFailure=function(i){let t="("+this.factors.map(n=>n.toFailure(i)).join(" ")+")";return new Le(this,t,"description")};he.prototype.toFailure=function(i){let e="("+this.expr.toFailure(i)+this.operator+")";return new Le(this,e,"description")};V.prototype.toString=Pe("toString");ge.toString=function(){return"any"};ye.toString=function(){return"end"};le.prototype.toString=function(){return JSON.stringify(this.obj)};ce.prototype.toString=function(){return JSON.stringify(this.from)+".."+JSON.stringify(this.to)};pe.prototype.toString=function(){return"$"+this.index};Ie.prototype.toString=function(){return"#("+this.expr.toString()+")"};re.prototype.toString=function(){return this.terms.length===1?this.terms[0].toString():"("+this.terms.map(i=>i.toString()).join(" | ")+")"};ie.prototype.toString=function(){return this.factors.length===1?this.factors[0].toString():"("+this.factors.map(i=>i.toString()).join(" ")+")"};he.prototype.toString=function(){return this.expr+this.operator};de.prototype.toString=function(){return"~"+this.expr};fe.prototype.toString=function(){return"&"+this.expr};z.prototype.toString=function(){if(this.args.length>0){let i=this.args.map(e=>e.toString());return this.ruleName+"<"+i.join(",")+">"}else return this.ruleName};oe.prototype.toString=function(){return"\\p{"+this.category+"}"};var Vn=class i extends V{constructor(e){super(),this.obj=e}_getString(e){let t=e.currentApplication().args[this.obj.index];return wt(t instanceof le,"expected a Terminal expression"),t.obj}allowsSkippingPrecedingSpace(){return!0}eval(e){let{inputStream:t}=e,n=t.pos,a=this._getString(e);return t.matchString(a,!0)?(e.pushBinding(new yt(a.length),n),!0):(e.processFailure(n,this),!1)}getArity(){return 1}substituteParams(e){return new i(this.obj.substituteParams(e))}toDisplayString(){return this.obj.toDisplayString()+" (case-insensitive)"}toFailure(e){return new Le(this,this.obj.toFailure(e)+" (case-insensitive)","description")}_isNullable(e,t){return this.obj._isNullable(e,t)}},Ef=Object.freeze({__proto__:null,CaseInsensitiveTerminal:Vn,PExpr:V,any:ge,end:ye,Terminal:le,Range:ce,Param:pe,Alt:re,Extend:Ct,Splice:Ft,Seq:ie,Iter:he,Star:at,Plus:gt,Opt:Ye,Not:de,Lookahead:fe,Lex:Ie,Apply:z,UnicodeChar:oe}),ku;Vu(i=>{ku=i.rules.applySyntactic.body});var si=new z("spaces"),vi=class{constructor(e,t,n){this.matcher=e,this.startExpr=t,this.grammar=e.grammar,this.input=e.getInput(),this.inputStream=new Xt(this.input),this.memoTable=e._memoTable,this.userData=void 0,this.doNotMemoize=!1,this._bindings=[],this._bindingOffsets=[],this._applicationStack=[],this._posStack=[0],this.inLexifiedContextStack=[!1],this.rightmostFailurePosition=-1,this._rightmostFailurePositionStack=[],this._recordedFailuresStack=[],n!==void 0&&(this.positionToRecordFailures=n,this.recordedFailures=Object.create(null))}posToOffset(e){return e-this._posStack[this._posStack.length-1]}enterApplication(e,t){this._posStack.push(this.inputStream.pos),this._applicationStack.push(t),this.inLexifiedContextStack.push(!1),e.enter(t),this._rightmostFailurePositionStack.push(this.rightmostFailurePosition),this.rightmostFailurePosition=-1}exitApplication(e,t){let n=this._posStack.pop();this._applicationStack.pop(),this.inLexifiedContextStack.pop(),e.exit(),this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,this._rightmostFailurePositionStack.pop()),t&&this.pushBinding(t,n)}enterLexifiedContext(){this.inLexifiedContextStack.push(!0)}exitLexifiedContext(){this.inLexifiedContextStack.pop()}currentApplication(){return this._applicationStack[this._applicationStack.length-1]}inSyntacticContext(){let e=this.currentApplication();return e?e.isSyntactic()&&!this.inLexifiedContext():this.startExpr.factors[0].isSyntactic()}inLexifiedContext(){return this.inLexifiedContextStack[this.inLexifiedContextStack.length-1]}skipSpaces(){return this.pushFailuresInfo(),this.eval(si),this.popBinding(),this.popFailuresInfo(),this.inputStream.pos}skipSpacesIfInSyntacticContext(){return this.inSyntacticContext()?this.skipSpaces():this.inputStream.pos}maybeSkipSpacesBefore(e){return e.allowsSkippingPrecedingSpace()&&e!==si?this.skipSpacesIfInSyntacticContext():this.inputStream.pos}pushBinding(e,t){this._bindings.push(e),this._bindingOffsets.push(this.posToOffset(t))}popBinding(){this._bindings.pop(),this._bindingOffsets.pop()}numBindings(){return this._bindings.length}truncateBindings(e){for(;this._bindings.length>e;)this.popBinding()}getCurrentPosInfo(){return this.getPosInfo(this.inputStream.pos)}getPosInfo(e){let t=this.memoTable[e];return t||(t=this.memoTable[e]=new ci),t}processFailure(e,t){if(this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,e),this.recordedFailures&&e===this.positionToRecordFailures){let n=this.currentApplication();n&&(t=t.substituteParams(n.args)),this.recordFailure(t.toFailure(this.grammar),!1)}}recordFailure(e,t){let n=e.toKey();this.recordedFailures[n]?this.recordedFailures[n].isFluffy()&&!e.isFluffy()&&this.recordedFailures[n].clearFluffy():this.recordedFailures[n]=t?e.clone():e}recordFailures(e,t){Object.keys(e).forEach(n=>{this.recordFailure(e[n],t)})}cloneRecordedFailures(){if(!this.recordedFailures)return;let e=Object.create(null);return Object.keys(this.recordedFailures).forEach(t=>{e[t]=this.recordedFailures[t].clone()}),e}getRightmostFailurePosition(){return this.rightmostFailurePosition}_getRightmostFailureOffset(){return this.rightmostFailurePosition>=0?this.posToOffset(this.rightmostFailurePosition):-1}getMemoizedTraceEntry(e,t){let n=this.memoTable[e];if(n&&t instanceof z){let a=n.memo[t.toMemoKey()];if(a&&a.traceEntry){let l=a.traceEntry.cloneWithExpr(t);return l.isMemoized=!0,l}}return null}getTraceEntry(e,t,n,a){if(t instanceof z){let l=this.currentApplication(),c=l?l.args:[];t=t.substituteParams(c)}return this.getMemoizedTraceEntry(e,t)||new er(this.input,e,this.inputStream.pos,t,n,a,this.trace)}isTracing(){return!!this.trace}hasNecessaryInfo(e){return this.trace&&!e.traceEntry?!1:this.recordedFailures&&this.inputStream.pos+e.rightmostFailureOffset===this.positionToRecordFailures?!!e.failuresAtRightmostPosition:!0}useMemoizedResult(e,t){this.trace&&this.trace.push(t.traceEntry);let n=this.inputStream.pos+t.rightmostFailureOffset;return this.rightmostFailurePosition=Math.max(this.rightmostFailurePosition,n),this.recordedFailures&&this.positionToRecordFailures===n&&t.failuresAtRightmostPosition&&this.recordFailures(t.failuresAtRightmostPosition,!0),this.inputStream.examinedLength=Math.max(this.inputStream.examinedLength,t.examinedLength+e),t.value?(this.inputStream.pos+=t.matchLength,this.pushBinding(t.value,e),!0):!1}eval(e){let{inputStream:t}=this,n=this._bindings.length,a=this.userData,l;this.recordedFailures&&(l=this.recordedFailures,this.recordedFailures=Object.create(null));let c=t.pos,v=this.maybeSkipSpacesBefore(e),h;this.trace&&(h=this.trace,this.trace=[]);let d=e.eval(this);if(this.trace){let g=this._bindings.slice(n),f=this.getTraceEntry(v,e,d,g);f.isImplicitSpaces=e===si,f.isRootNode=e===this.startExpr,h.push(f),this.trace=h}return d?this.recordedFailures&&t.pos===this.positionToRecordFailures&&Object.keys(this.recordedFailures).forEach(g=>{this.recordedFailures[g].makeFluffy()}):(t.pos=c,this.truncateBindings(n),this.userData=a),this.recordedFailures&&this.recordFailures(l,!1),e===ku&&this.skipSpaces(),d}getMatchResult(){this.grammar._setUpMatchState(this),this.eval(this.startExpr);let e;this.recordedFailures&&(e=Object.keys(this.recordedFailures).map(n=>this.recordedFailures[n]));let t=this._bindings[0];return t&&(t.grammar=this.grammar),new On(this.matcher,this.input,this.startExpr,t,this._bindingOffsets[0],this.rightmostFailurePosition,e)}getTrace(){this.trace=[];let e=this.getMatchResult(),t=this.trace[this.trace.length-1];return t.result=e,t}pushFailuresInfo(){this._rightmostFailurePositionStack.push(this.rightmostFailurePosition),this._recordedFailuresStack.push(this.recordedFailures)}popFailuresInfo(){this.rightmostFailurePosition=this._rightmostFailurePositionStack.pop(),this.recordedFailures=this._recordedFailuresStack.pop()}},hi=class{constructor(e){this.grammar=e,this._memoTable=[],this._input="",this._isMemoTableStale=!1}_resetMemoTable(){this._memoTable=[],this._isMemoTableStale=!1}getInput(){return this._input}setInput(e){return this._input!==e&&this.replaceInputRange(0,this._input.length,e),this}replaceInputRange(e,t,n){let a=this._input,l=this._memoTable;if(e<0||e>a.length||t<0||t>a.length||e>t)throw new Error("Invalid indices: "+e+" and "+t);this._input=a.slice(0,e)+n+a.slice(t),this._input!==a&&l.length>0&&(this._isMemoTableStale=!0);let c=l.slice(t);l.length=e;for(let v=0;v<n.length;v++)l.push(void 0);for(let v of c)l.push(v);for(let v=0;v<e;v++){let h=l[v];h&&h.clearObsoleteEntries(v,e)}return this}match(e,t={incremental:!0}){return this._match(this._getStartExpr(e),{incremental:t.incremental,tracing:!1})}trace(e,t={incremental:!0}){return this._match(this._getStartExpr(e),{incremental:t.incremental,tracing:!0})}_match(e,t={}){let n={tracing:!1,incremental:!0,positionToRecordFailures:void 0,...t};if(!n.incremental)this._resetMemoTable();else if(this._isMemoTableStale&&!this.grammar.supportsIncrementalParsing)throw ef(this.grammar);let a=new vi(this,e,n.positionToRecordFailures);return n.tracing?a.getTrace():a.getMatchResult()}_getStartExpr(e){let t=e||this.grammar.defaultStartRule;if(!t)throw new Error("Missing start rule argument -- the grammar has no default start rule.");let n=this.grammar.parseApplication(t);return new ie([n,ye])}},Er=[],di=(i,e)=>Object.prototype.hasOwnProperty.call(i,e),Ln=class{constructor(e,t,n){this._node=e,this.source=t,this._baseInterval=n,e.isNonterminal()&&wt(t===n),this._childWrappers=[]}_forgetMemoizedResultFor(e){delete this._node[this._semantics.attributeKeys[e]],this.children.forEach(t=>{t._forgetMemoizedResultFor(e)})}child(e){if(!(0<=e&&e<this._node.numChildren()))return;let t=this._childWrappers[e];if(!t){let n=this._node.childAt(e),a=this._node.childOffsets[e],l=this._baseInterval.subInterval(a,n.matchLength),c=n.isNonterminal()?l:this._baseInterval;t=this._childWrappers[e]=this._semantics.wrap(n,l,c)}return t}_children(){for(let e=0;e<this._node.numChildren();e++)this.child(e);return this._childWrappers}isIteration(){return this._node.isIteration()}isTerminal(){return this._node.isTerminal()}isNonterminal(){return this._node.isNonterminal()}isSyntactic(){return this.isNonterminal()&&this._node.isSyntactic()}isLexical(){return this.isNonterminal()&&this._node.isLexical()}isOptional(){return this._node.isOptional()}iteration(e){let t=e||[],n=t.map(c=>c._node),a=new Tn(n,[],-1,!1),l=this._semantics.wrap(a,null,null);return l._childWrappers=t,l}get children(){return this._children()}get ctorName(){return this._node.ctorName}get numChildren(){return this._node.numChildren()}get sourceString(){return this.source.contents}},Te=class i{constructor(e,t){let n=this;if(this.grammar=e,this.checkedActionDicts=!1,this.Wrapper=class extends(t?t.Wrapper:Ln){constructor(a,l,c){super(a,l,c),n.checkActionDictsIfHaventAlready(),this._semantics=n}toString(){return"[semantics wrapper for "+n.grammar.name+"]"}},this.super=t,t){if(!(e.equals(this.super.grammar)||e._inheritsFrom(this.super.grammar)))throw new Error("Cannot extend a semantics for grammar '"+this.super.grammar.name+"' for use with grammar '"+e.name+"' (not a sub-grammar)");this.operations=Object.create(this.super.operations),this.attributes=Object.create(this.super.attributes),this.attributeKeys=Object.create(null);for(let a in this.attributes)Object.defineProperty(this.attributeKeys,a,{value:Iu(a)})}else this.operations=Object.create(null),this.attributes=Object.create(null),this.attributeKeys=Object.create(null)}toString(){return"[semantics for "+this.grammar.name+"]"}checkActionDictsIfHaventAlready(){this.checkedActionDicts||(this.checkActionDicts(),this.checkedActionDicts=!0)}checkActionDicts(){let e;for(e in this.operations)this.operations[e].checkActionDict(this.grammar);for(e in this.attributes)this.attributes[e].checkActionDict(this.grammar)}toRecipe(e){function t(a){return a.super!==i.BuiltInSemantics._getSemantics()}let n=`(function(g) {
|
|
`;if(t(this)){n+=" var semantics = "+this.super.toRecipe(!0)+"(g";let a=this.super.grammar,l=this.grammar;for(;l!==a;)n+=".superGrammar",l=l.superGrammar;n+=`);
|
|
`,n+=" return g.extendSemantics(semantics)"}else n+=" return g.createSemantics()";return["Operation","Attribute"].forEach(a=>{let l=this[a.toLowerCase()+"s"];Object.keys(l).forEach(c=>{let{actionDict:v,formals:h,builtInDefault:d}=l[c],g=c;h.length>0&&(g+="("+h.join(", ")+")");let f;t(this)&&this.super[a.toLowerCase()+"s"][c]?f="extend"+a:f="add"+a,n+=`
|
|
.`+f+"("+JSON.stringify(g)+", {";let y=[];Object.keys(v).forEach(R=>{if(v[R]!==d){let _=v[R].toString().trim();_=_.replace(/^.*\(/,"function("),y.push(`
|
|
`+JSON.stringify(R)+": "+_)}}),n+=y.join(",")+`
|
|
})`})}),n+=`;
|
|
})`,e||(n=`(function() {
|
|
var grammar = this.fromRecipe(`+this.grammar.toRecipe()+`);
|
|
var semantics = `+n+`(grammar);
|
|
return semantics;
|
|
});
|
|
`),n}addOperationOrAttribute(e,t,n){let a=e+"s",l=yu(t,e),{name:c}=l,{formals:v}=l;this.assertNewName(c,e);let h=Af(e,c,f),d={_default:h};Object.keys(n).forEach(y=>{d[y]=n[y]});let g=e==="operation"?new Ut(c,v,d,h):new Or(c,d,h);g.checkActionDict(this.grammar),this[a][c]=g;function f(...y){let R=this._semantics[a][c];if(arguments.length!==R.formals.length)throw new Error("Invalid number of arguments passed to "+c+" "+e+" (expected "+R.formals.length+", got "+arguments.length+")");let _=Object.create(null);for(let[ee,ae]of Object.entries(y)){let At=R.formals[ee];_[At]=ae}let O=this.args;this.args=_;let K=R.execute(this._semantics,this);return this.args=O,K}e==="operation"?(this.Wrapper.prototype[c]=f,this.Wrapper.prototype[c].toString=function(){return"["+c+" operation]"}):(Object.defineProperty(this.Wrapper.prototype,c,{get:f,configurable:!0}),Object.defineProperty(this.attributeKeys,c,{value:Iu(c)}))}extendOperationOrAttribute(e,t,n){let a=e+"s";if(yu(t,"attribute"),!(this.super&&t in this.super[a]))throw new Error("Cannot extend "+e+" '"+t+"': did not inherit an "+e+" with that name");if(di(this[a],t))throw new Error("Cannot extend "+e+" '"+t+"' again");let l=this[a][t].formals,c=this[a][t].actionDict,v=Object.create(c);Object.keys(n).forEach(h=>{v[h]=n[h]}),this[a][t]=e==="operation"?new Ut(t,l,v):new Or(t,v),this[a][t].checkActionDict(this.grammar)}assertNewName(e,t){if(di(Ln.prototype,e))throw new Error("Cannot add "+t+" '"+e+"': that's a reserved name");if(e in this.operations)throw new Error("Cannot add "+t+" '"+e+"': an operation with that name already exists");if(e in this.attributes)throw new Error("Cannot add "+t+" '"+e+"': an attribute with that name already exists")}wrap(e,t,n){let a=n||t;return e instanceof this.Wrapper?e:new this.Wrapper(e,t,a)}};function yu(i,e){if(!Te.prototypeGrammar)return wt(i.indexOf("(")===-1),{name:i,formals:[]};let t=Te.prototypeGrammar.match(i,e==="operation"?"OperationSignature":"AttributeSignature");if(t.failed())throw new Error(t.message);return Te.prototypeGrammarSemantics(t).parse()}function Af(i,e,t){return function(...n){let l=(this._semantics.operations[e]||this._semantics.attributes[e]).formals.map(c=>this.args[c]);if(!this.isIteration()&&n.length===1)return t.apply(n[0],l);throw vf(this.ctorName,e,i,Er)}}Te.createSemantics=function(i,e){let t=new Te(i,e!==void 0?e:Te.BuiltInSemantics._getSemantics()),n=function(l){if(!(l instanceof On))throw new TypeError("Semantics expected a MatchResult, but got "+Ii(l));if(l.failed())throw new TypeError("cannot apply Semantics to "+l.toString());let c=l._cst;if(c.grammar!==i)throw new Error("Cannot use a MatchResult from grammar '"+c.grammar.name+"' with a semantics for '"+i.name+"'");let v=new Xt(l.input);return t.wrap(c,v.interval(l._cstOffset,l.input.length))};return n.addOperation=function(a,l){return t.addOperationOrAttribute("operation",a,l),n},n.extendOperation=function(a,l){return t.extendOperationOrAttribute("operation",a,l),n},n.addAttribute=function(a,l){return t.addOperationOrAttribute("attribute",a,l),n},n.extendAttribute=function(a,l){return t.extendOperationOrAttribute("attribute",a,l),n},n._getActionDict=function(a){let l=t.operations[a]||t.attributes[a];if(!l)throw new Error('"'+a+'" is not a valid operation or attribute name in this semantics for "'+i.name+'"');return l.actionDict},n._remove=function(a){let l;return a in t.operations?(l=t.operations[a],delete t.operations[a]):a in t.attributes&&(l=t.attributes[a],delete t.attributes[a]),delete t.Wrapper.prototype[a],l},n.getOperationNames=function(){return Object.keys(t.operations)},n.getAttributeNames=function(){return Object.keys(t.attributes)},n.getGrammar=function(){return t.grammar},n.toRecipe=function(a){return t.toRecipe(a)},n.toString=t.toString.bind(t),n._getSemantics=function(){return t},n};var Ut=class{constructor(e,t,n,a){this.name=e,this.formals=t,this.actionDict=n,this.builtInDefault=a}checkActionDict(e){e._checkTopDownActionDict(this.typeName,this.name,this.actionDict)}execute(e,t){try{let{ctorName:n}=t._node,a=this.actionDict[n];return a?(Er.push([this,n]),a.apply(t,t._children())):t.isNonterminal()&&(a=this.actionDict._nonterminal,a)?(Er.push([this,"_nonterminal",n]),a.apply(t,t._children())):(Er.push([this,"default action",n]),this.actionDict._default.apply(t,t._children()))}finally{Er.pop()}}};Ut.prototype.typeName="operation";var Or=class extends Ut{constructor(e,t,n){super(e,[],t,n)}execute(e,t){let n=t._node,a=e.attributeKeys[this.name];return di(n,a)||(n[a]=Ut.prototype.execute.call(this,e,t)),n[a]}};Or.prototype.typeName="attribute";var _u=["_iter","_terminal","_nonterminal","_default"];function Su(i){return Object.keys(i.rules).sort().map(e=>i.rules[e])}var Of=i=>i.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),Cu,Fu,Ve=class i{constructor(e,t,n,a){if(this.name=e,this.superGrammar=t,this.rules=n,a){if(!(a in n))throw new Error("Invalid start rule: '"+a+"' is not a rule in grammar '"+e+"'");this.defaultStartRule=a}this._matchStateInitializer=void 0,this.supportsIncrementalParsing=!0}matcher(){return new hi(this)}isBuiltIn(){return this===i.ProtoBuiltInRules||this===i.BuiltInRules}equals(e){if(this===e)return!0;if(e==null||this.name!==e.name||this.defaultStartRule!==e.defaultStartRule||!(this.superGrammar===e.superGrammar||this.superGrammar.equals(e.superGrammar)))return!1;let t=Su(this),n=Su(e);return t.length===n.length&&t.every((a,l)=>a.description===n[l].description&&a.formals.join(",")===n[l].formals.join(",")&&a.body.toString()===n[l].body.toString())}match(e,t){let n=this.matcher();return n.replaceInputRange(0,0,e),n.match(t)}trace(e,t){let n=this.matcher();return n.replaceInputRange(0,0,e),n.trace(t)}createSemantics(){return Te.createSemantics(this)}extendSemantics(e){return Te.createSemantics(this,e._getSemantics())}_checkTopDownActionDict(e,t,n){let a=[];for(let l in n){let c=n[l];if(!_u.includes(l)&&!(l in this.rules)){a.push(`'${l}' is not a valid semantic action for '${this.name}'`);continue}if(typeof c!="function"){a.push(`'${l}' must be a function in an action dictionary for '${this.name}'`);continue}let h=c.length,d=this._topDownActionArity(l);if(h!==d){let g;l==="_iter"||l==="_nonterminal"?g=`it should use a rest parameter, e.g. \`${l}(...children) {}\`. NOTE: this is new in Ohm v16 \u2014 see https://ohmjs.org/d/ati for details.`:g=`expected ${d}, got ${h}`,a.push(`Semantic action '${l}' has the wrong arity: ${g}`)}}if(a.length>0){let l=a.map(v=>"- "+v),c=new Error([`Found errors in the action dictionary of the '${t}' ${e}:`,...l].join(`
|
|
`));throw c.problems=a,c}}_topDownActionArity(e){return _u.includes(e)?0:this.rules[e].body.getArity()}_inheritsFrom(e){let t=this.superGrammar;for(;t;){if(t.equals(e,!0))return!0;t=t.superGrammar}return!1}toRecipe(e=void 0){let t={};this.source&&(t.source=this.source.contents);let n=null;this.defaultStartRule&&(n=this.defaultStartRule);let a={};Object.keys(this.rules).forEach(v=>{let h=this.rules[v],{body:d}=h,g=!this.superGrammar||!this.superGrammar.rules[v],f;g?f="define":f=d instanceof Ct?"extend":"override";let y={};if(h.source&&this.source){let O=h.source.relativeTo(this.source);y.sourceInterval=[O.startIdx,O.endIdx]}let R=g?h.description:null,_=d.outputRecipe(h.formals,this.source);a[v]=[f,y,R,h.formals,_]});let l="null";e?l=e:this.superGrammar&&!this.superGrammar.isBuiltIn()&&(l=this.superGrammar.toRecipe());let c=[...["grammar",t,this.name].map(JSON.stringify),l,...[n,a].map(JSON.stringify)];return Of(`[${c.join(",")}]`)}toOperationActionDictionaryTemplate(){return this._toOperationOrAttributeActionDictionaryTemplate()}toAttributeActionDictionaryTemplate(){return this._toOperationOrAttributeActionDictionaryTemplate()}_toOperationOrAttributeActionDictionaryTemplate(){let e=new Bt;e.append("{");let t=!0;for(let n in this.rules){let{body:a}=this.rules[n];t?t=!1:e.append(","),e.append(`
|
|
`),e.append(" "),this.addSemanticActionTemplate(n,a,e)}return e.append(`
|
|
}`),e.contents()}addSemanticActionTemplate(e,t,n){n.append(e),n.append(": function(");let a=this._topDownActionArity(e);n.append(Fn("_",a).join(", ")),n.append(`) {
|
|
`),n.append(" }")}parseApplication(e){let t;if(e.indexOf("<")===-1)t=new z(e);else{let a=Cu.match(e,"Base_application");t=Fu(a,{})}if(!(t.ruleName in this.rules))throw Au(t.ruleName,this.name);let{formals:n}=this.rules[t.ruleName];if(n.length!==t.args.length){let{source:a}=this.rules[t.ruleName];throw Ou(t.ruleName,n.length,t.args.length,a)}return t}_setUpMatchState(e){this._matchStateInitializer&&this._matchStateInitializer(e)}};Ve.ProtoBuiltInRules=new Ve("ProtoBuiltInRules",void 0,{any:{body:ge,formals:[],description:"any character",primitive:!0},end:{body:ye,formals:[],description:"end of input",primitive:!0},caseInsensitive:{body:new Vn(new pe(0)),formals:["str"],primitive:!0},lower:{body:new oe("Ll"),formals:[],description:"a lowercase letter",primitive:!0},upper:{body:new oe("Lu"),formals:[],description:"an uppercase letter",primitive:!0},unicodeLtmo:{body:new oe("Ltmo"),formals:[],description:"a Unicode character in Lt, Lm, or Lo",primitive:!0},spaces:{body:new at(new z("space")),formals:[]},space:{body:new ce("\0"," "),formals:[],description:"a space"}});Ve.initApplicationParser=function(i,e){Cu=i,Fu=e};var kn=class{constructor(e){this.name=e}sourceInterval(e,t){return this.source.subInterval(e,t-e)}ensureSuperGrammar(){return this.superGrammar||this.withSuperGrammar(this.name==="BuiltInRules"?Ve.ProtoBuiltInRules:Ve.BuiltInRules),this.superGrammar}ensureSuperGrammarRuleForOverriding(e,t){let n=this.ensureSuperGrammar().rules[e];if(!n)throw tf(e,this.superGrammar.name,t);return n}installOverriddenOrExtendedRule(e,t,n,a){let l=oi(t);if(l.length>0)throw hu(e,l,a);let c=this.ensureSuperGrammar().rules[e],v=c.formals,h=v?v.length:0;if(t.length!==h)throw Ou(e,h,t.length,a);return this.install(e,t,n,c.description,a)}install(e,t,n,a,l,c=!1){return this.rules[e]={body:n.introduceParams(t),formals:t,description:a,source:l,primitive:c},this}withSuperGrammar(e){if(this.superGrammar)throw new Error("the super grammar of a GrammarDecl cannot be set more than once");return this.superGrammar=e,this.rules=Object.create(e.rules),e.isBuiltIn()||(this.defaultStartRule=e.defaultStartRule),this}withDefaultStartRule(e){return this.defaultStartRule=e,this}withSource(e){return this.source=new Xt(e).interval(0,e.length),this}build(){let e=new Ve(this.name,this.ensureSuperGrammar(),this.rules,this.defaultStartRule);e._matchStateInitializer=e.superGrammar._matchStateInitializer,e.supportsIncrementalParsing=e.superGrammar.supportsIncrementalParsing;let t=[],n=!1;return Object.keys(e.rules).forEach(a=>{let{body:l}=e.rules[a];try{l.assertChoicesHaveUniformArity(a)}catch(c){t.push(c)}try{l.assertAllApplicationsAreValid(a,e)}catch(c){t.push(c),n=!0}}),n||Object.keys(e.rules).forEach(a=>{let{body:l}=e.rules[a];try{l.assertIteratedExprsAreNotNullable(e,[])}catch(c){t.push(c)}}),t.length>0&&hf(t),this.source&&(e.source=this.source),e}define(e,t,n,a,l,c){if(this.ensureSuperGrammar(),this.superGrammar.rules[e])throw vu(e,this.name,this.superGrammar.name,l);if(this.rules[e])throw vu(e,this.name,this.name,l);let v=oi(t);if(v.length>0)throw hu(e,v,l);return this.install(e,t,n,a,l,c)}override(e,t,n,a,l){return this.ensureSuperGrammarRuleForOverriding(e,l),this.installOverriddenOrExtendedRule(e,t,n,l),this}extend(e,t,n,a,l){if(!this.ensureSuperGrammar().rules[e])throw rf(e,this.superGrammar.name,l);let v=new Ct(this.superGrammar,e,n);return v.source=n.source,this.installOverriddenOrExtendedRule(e,t,v,l),this}},tr=class{constructor(){this.currentDecl=null,this.currentRuleName=null}newGrammar(e){return new kn(e)}grammar(e,t,n,a,l){let c=new kn(t);return n&&c.withSuperGrammar(n instanceof Ve?n:this.fromRecipe(n)),a&&c.withDefaultStartRule(a),e&&e.source&&c.withSource(e.source),this.currentDecl=c,Object.keys(l).forEach(v=>{this.currentRuleName=v;let h=l[v],d=h[0],g=h[1],f=h[2],y=h[3],R=this.fromRecipe(h[4]),_;c.source&&g&&g.sourceInterval&&(_=c.source.subInterval(g.sourceInterval[0],g.sourceInterval[1]-g.sourceInterval[0])),c[d](v,y,R,f,_)}),this.currentRuleName=this.currentDecl=null,c.build()}terminal(e){return new le(e)}range(e,t){return new ce(e,t)}param(e){return new pe(e)}alt(...e){let t=[];for(let n of e)n instanceof V||(n=this.fromRecipe(n)),n instanceof re?t=t.concat(n.terms):t.push(n);return t.length===1?t[0]:new re(t)}seq(...e){let t=[];for(let n of e)n instanceof V||(n=this.fromRecipe(n)),n instanceof ie?t=t.concat(n.factors):t.push(n);return t.length===1?t[0]:new ie(t)}star(e){return e instanceof V||(e=this.fromRecipe(e)),new at(e)}plus(e){return e instanceof V||(e=this.fromRecipe(e)),new gt(e)}opt(e){return e instanceof V||(e=this.fromRecipe(e)),new Ye(e)}not(e){return e instanceof V||(e=this.fromRecipe(e)),new de(e)}lookahead(e){return e instanceof V||(e=this.fromRecipe(e)),new fe(e)}lex(e){return e instanceof V||(e=this.fromRecipe(e)),new Ie(e)}app(e,t){return t&&t.length>0&&(t=t.map(function(n){return n instanceof V?n:this.fromRecipe(n)},this)),new z(e,t)}splice(e,t){return new Ft(this.currentDecl.superGrammar,this.currentRuleName,e.map(n=>this.fromRecipe(n)),t.map(n=>this.fromRecipe(n)))}fromRecipe(e){let t=e[0]==="grammar"?e.slice(1):e.slice(2),n=this[e[0]](...t),a=e[1];return a&&a.sourceInterval&&this.currentDecl&&n.withSource(this.currentDecl.sourceInterval(...a.sourceInterval)),n}};function qn(i){return typeof i=="function"?i.call(new tr):(typeof i=="string"&&(i=JSON.parse(i)),new tr().fromRecipe(i))}var Si=qn(["grammar",{source:`BuiltInRules {
|
|
|
|
alnum (an alpha-numeric character)
|
|
= letter
|
|
| digit
|
|
|
|
letter (a letter)
|
|
= lower
|
|
| upper
|
|
| unicodeLtmo
|
|
|
|
digit (a digit)
|
|
= "0".."9"
|
|
|
|
hexDigit (a hexadecimal digit)
|
|
= digit
|
|
| "a".."f"
|
|
| "A".."F"
|
|
|
|
ListOf<elem, sep>
|
|
= NonemptyListOf<elem, sep>
|
|
| EmptyListOf<elem, sep>
|
|
|
|
NonemptyListOf<elem, sep>
|
|
= elem (sep elem)*
|
|
|
|
EmptyListOf<elem, sep>
|
|
= /* nothing */
|
|
|
|
listOf<elem, sep>
|
|
= nonemptyListOf<elem, sep>
|
|
| emptyListOf<elem, sep>
|
|
|
|
nonemptyListOf<elem, sep>
|
|
= elem (sep elem)*
|
|
|
|
emptyListOf<elem, sep>
|
|
= /* nothing */
|
|
|
|
// Allows a syntactic rule application within a lexical context.
|
|
applySyntactic<app> = app
|
|
}`},"BuiltInRules",null,null,{alnum:["define",{sourceInterval:[18,78]},"an alpha-numeric character",[],["alt",{sourceInterval:[60,78]},["app",{sourceInterval:[60,66]},"letter",[]],["app",{sourceInterval:[73,78]},"digit",[]]]],letter:["define",{sourceInterval:[82,142]},"a letter",[],["alt",{sourceInterval:[107,142]},["app",{sourceInterval:[107,112]},"lower",[]],["app",{sourceInterval:[119,124]},"upper",[]],["app",{sourceInterval:[131,142]},"unicodeLtmo",[]]]],digit:["define",{sourceInterval:[146,177]},"a digit",[],["range",{sourceInterval:[169,177]},"0","9"]],hexDigit:["define",{sourceInterval:[181,254]},"a hexadecimal digit",[],["alt",{sourceInterval:[219,254]},["app",{sourceInterval:[219,224]},"digit",[]],["range",{sourceInterval:[231,239]},"a","f"],["range",{sourceInterval:[246,254]},"A","F"]]],ListOf:["define",{sourceInterval:[258,336]},null,["elem","sep"],["alt",{sourceInterval:[282,336]},["app",{sourceInterval:[282,307]},"NonemptyListOf",[["param",{sourceInterval:[297,301]},0],["param",{sourceInterval:[303,306]},1]]],["app",{sourceInterval:[314,336]},"EmptyListOf",[["param",{sourceInterval:[326,330]},0],["param",{sourceInterval:[332,335]},1]]]]],NonemptyListOf:["define",{sourceInterval:[340,388]},null,["elem","sep"],["seq",{sourceInterval:[372,388]},["param",{sourceInterval:[372,376]},0],["star",{sourceInterval:[377,388]},["seq",{sourceInterval:[378,386]},["param",{sourceInterval:[378,381]},1],["param",{sourceInterval:[382,386]},0]]]]],EmptyListOf:["define",{sourceInterval:[392,434]},null,["elem","sep"],["seq",{sourceInterval:[438,438]}]],listOf:["define",{sourceInterval:[438,516]},null,["elem","sep"],["alt",{sourceInterval:[462,516]},["app",{sourceInterval:[462,487]},"nonemptyListOf",[["param",{sourceInterval:[477,481]},0],["param",{sourceInterval:[483,486]},1]]],["app",{sourceInterval:[494,516]},"emptyListOf",[["param",{sourceInterval:[506,510]},0],["param",{sourceInterval:[512,515]},1]]]]],nonemptyListOf:["define",{sourceInterval:[520,568]},null,["elem","sep"],["seq",{sourceInterval:[552,568]},["param",{sourceInterval:[552,556]},0],["star",{sourceInterval:[557,568]},["seq",{sourceInterval:[558,566]},["param",{sourceInterval:[558,561]},1],["param",{sourceInterval:[562,566]},0]]]]],emptyListOf:["define",{sourceInterval:[572,682]},null,["elem","sep"],["seq",{sourceInterval:[685,685]}]],applySyntactic:["define",{sourceInterval:[685,710]},null,["app"],["param",{sourceInterval:[707,710]},0]]}]);Ve.BuiltInRules=Si;If(Ve.BuiltInRules);var Un=qn(["grammar",{source:`Ohm {
|
|
|
|
Grammars
|
|
= Grammar*
|
|
|
|
Grammar
|
|
= ident SuperGrammar? "{" Rule* "}"
|
|
|
|
SuperGrammar
|
|
= "<:" ident
|
|
|
|
Rule
|
|
= ident Formals? ruleDescr? "=" RuleBody -- define
|
|
| ident Formals? ":=" OverrideRuleBody -- override
|
|
| ident Formals? "+=" RuleBody -- extend
|
|
|
|
RuleBody
|
|
= "|"? NonemptyListOf<TopLevelTerm, "|">
|
|
|
|
TopLevelTerm
|
|
= Seq caseName -- inline
|
|
| Seq
|
|
|
|
OverrideRuleBody
|
|
= "|"? NonemptyListOf<OverrideTopLevelTerm, "|">
|
|
|
|
OverrideTopLevelTerm
|
|
= "..." -- superSplice
|
|
| TopLevelTerm
|
|
|
|
Formals
|
|
= "<" ListOf<ident, ","> ">"
|
|
|
|
Params
|
|
= "<" ListOf<Seq, ","> ">"
|
|
|
|
Alt
|
|
= NonemptyListOf<Seq, "|">
|
|
|
|
Seq
|
|
= Iter*
|
|
|
|
Iter
|
|
= Pred "*" -- star
|
|
| Pred "+" -- plus
|
|
| Pred "?" -- opt
|
|
| Pred
|
|
|
|
Pred
|
|
= "~" Lex -- not
|
|
| "&" Lex -- lookahead
|
|
| Lex
|
|
|
|
Lex
|
|
= "#" Base -- lex
|
|
| Base
|
|
|
|
Base
|
|
= ident Params? ~(ruleDescr? "=" | ":=" | "+=") -- application
|
|
| oneCharTerminal ".." oneCharTerminal -- range
|
|
| terminal -- terminal
|
|
| "(" Alt ")" -- paren
|
|
|
|
ruleDescr (a rule description)
|
|
= "(" ruleDescrText ")"
|
|
|
|
ruleDescrText
|
|
= (~")" any)*
|
|
|
|
caseName
|
|
= "--" (~"\\n" space)* name (~"\\n" space)* ("\\n" | &"}")
|
|
|
|
name (a name)
|
|
= nameFirst nameRest*
|
|
|
|
nameFirst
|
|
= "_"
|
|
| letter
|
|
|
|
nameRest
|
|
= "_"
|
|
| alnum
|
|
|
|
ident (an identifier)
|
|
= name
|
|
|
|
terminal
|
|
= "\\"" terminalChar* "\\""
|
|
|
|
oneCharTerminal
|
|
= "\\"" terminalChar "\\""
|
|
|
|
terminalChar
|
|
= escapeChar
|
|
| ~"\\\\" ~"\\"" ~"\\n" "\\u{0}".."\\u{10FFFF}"
|
|
|
|
escapeChar (an escape sequence)
|
|
= "\\\\\\\\" -- backslash
|
|
| "\\\\\\"" -- doubleQuote
|
|
| "\\\\\\'" -- singleQuote
|
|
| "\\\\b" -- backspace
|
|
| "\\\\n" -- lineFeed
|
|
| "\\\\r" -- carriageReturn
|
|
| "\\\\t" -- tab
|
|
| "\\\\u{" hexDigit hexDigit? hexDigit?
|
|
hexDigit? hexDigit? hexDigit? "}" -- unicodeCodePoint
|
|
| "\\\\u" hexDigit hexDigit hexDigit hexDigit -- unicodeEscape
|
|
| "\\\\x" hexDigit hexDigit -- hexEscape
|
|
|
|
space
|
|
+= comment
|
|
|
|
comment
|
|
= "//" (~"\\n" any)* &("\\n" | end) -- singleLine
|
|
| "/*" (~"*/" any)* "*/" -- multiLine
|
|
|
|
tokens = token*
|
|
|
|
token = caseName | comment | ident | operator | punctuation | terminal | any
|
|
|
|
operator = "<:" | "=" | ":=" | "+=" | "*" | "+" | "?" | "~" | "&"
|
|
|
|
punctuation = "<" | ">" | "," | "--"
|
|
}`},"Ohm",null,"Grammars",{Grammars:["define",{sourceInterval:[9,32]},null,[],["star",{sourceInterval:[24,32]},["app",{sourceInterval:[24,31]},"Grammar",[]]]],Grammar:["define",{sourceInterval:[36,83]},null,[],["seq",{sourceInterval:[50,83]},["app",{sourceInterval:[50,55]},"ident",[]],["opt",{sourceInterval:[56,69]},["app",{sourceInterval:[56,68]},"SuperGrammar",[]]],["terminal",{sourceInterval:[70,73]},"{"],["star",{sourceInterval:[74,79]},["app",{sourceInterval:[74,78]},"Rule",[]]],["terminal",{sourceInterval:[80,83]},"}"]]],SuperGrammar:["define",{sourceInterval:[87,116]},null,[],["seq",{sourceInterval:[106,116]},["terminal",{sourceInterval:[106,110]},"<:"],["app",{sourceInterval:[111,116]},"ident",[]]]],Rule_define:["define",{sourceInterval:[131,181]},null,[],["seq",{sourceInterval:[131,170]},["app",{sourceInterval:[131,136]},"ident",[]],["opt",{sourceInterval:[137,145]},["app",{sourceInterval:[137,144]},"Formals",[]]],["opt",{sourceInterval:[146,156]},["app",{sourceInterval:[146,155]},"ruleDescr",[]]],["terminal",{sourceInterval:[157,160]},"="],["app",{sourceInterval:[162,170]},"RuleBody",[]]]],Rule_override:["define",{sourceInterval:[188,248]},null,[],["seq",{sourceInterval:[188,235]},["app",{sourceInterval:[188,193]},"ident",[]],["opt",{sourceInterval:[194,202]},["app",{sourceInterval:[194,201]},"Formals",[]]],["terminal",{sourceInterval:[214,218]},":="],["app",{sourceInterval:[219,235]},"OverrideRuleBody",[]]]],Rule_extend:["define",{sourceInterval:[255,305]},null,[],["seq",{sourceInterval:[255,294]},["app",{sourceInterval:[255,260]},"ident",[]],["opt",{sourceInterval:[261,269]},["app",{sourceInterval:[261,268]},"Formals",[]]],["terminal",{sourceInterval:[281,285]},"+="],["app",{sourceInterval:[286,294]},"RuleBody",[]]]],Rule:["define",{sourceInterval:[120,305]},null,[],["alt",{sourceInterval:[131,305]},["app",{sourceInterval:[131,170]},"Rule_define",[]],["app",{sourceInterval:[188,235]},"Rule_override",[]],["app",{sourceInterval:[255,294]},"Rule_extend",[]]]],RuleBody:["define",{sourceInterval:[309,362]},null,[],["seq",{sourceInterval:[324,362]},["opt",{sourceInterval:[324,328]},["terminal",{sourceInterval:[324,327]},"|"]],["app",{sourceInterval:[329,362]},"NonemptyListOf",[["app",{sourceInterval:[344,356]},"TopLevelTerm",[]],["terminal",{sourceInterval:[358,361]},"|"]]]]],TopLevelTerm_inline:["define",{sourceInterval:[385,408]},null,[],["seq",{sourceInterval:[385,397]},["app",{sourceInterval:[385,388]},"Seq",[]],["app",{sourceInterval:[389,397]},"caseName",[]]]],TopLevelTerm:["define",{sourceInterval:[366,418]},null,[],["alt",{sourceInterval:[385,418]},["app",{sourceInterval:[385,397]},"TopLevelTerm_inline",[]],["app",{sourceInterval:[415,418]},"Seq",[]]]],OverrideRuleBody:["define",{sourceInterval:[422,491]},null,[],["seq",{sourceInterval:[445,491]},["opt",{sourceInterval:[445,449]},["terminal",{sourceInterval:[445,448]},"|"]],["app",{sourceInterval:[450,491]},"NonemptyListOf",[["app",{sourceInterval:[465,485]},"OverrideTopLevelTerm",[]],["terminal",{sourceInterval:[487,490]},"|"]]]]],OverrideTopLevelTerm_superSplice:["define",{sourceInterval:[522,543]},null,[],["terminal",{sourceInterval:[522,527]},"..."]],OverrideTopLevelTerm:["define",{sourceInterval:[495,562]},null,[],["alt",{sourceInterval:[522,562]},["app",{sourceInterval:[522,527]},"OverrideTopLevelTerm_superSplice",[]],["app",{sourceInterval:[550,562]},"TopLevelTerm",[]]]],Formals:["define",{sourceInterval:[566,606]},null,[],["seq",{sourceInterval:[580,606]},["terminal",{sourceInterval:[580,583]},"<"],["app",{sourceInterval:[584,602]},"ListOf",[["app",{sourceInterval:[591,596]},"ident",[]],["terminal",{sourceInterval:[598,601]},","]]],["terminal",{sourceInterval:[603,606]},">"]]],Params:["define",{sourceInterval:[610,647]},null,[],["seq",{sourceInterval:[623,647]},["terminal",{sourceInterval:[623,626]},"<"],["app",{sourceInterval:[627,643]},"ListOf",[["app",{sourceInterval:[634,637]},"Seq",[]],["terminal",{sourceInterval:[639,642]},","]]],["terminal",{sourceInterval:[644,647]},">"]]],Alt:["define",{sourceInterval:[651,685]},null,[],["app",{sourceInterval:[661,685]},"NonemptyListOf",[["app",{sourceInterval:[676,679]},"Seq",[]],["terminal",{sourceInterval:[681,684]},"|"]]]],Seq:["define",{sourceInterval:[689,704]},null,[],["star",{sourceInterval:[699,704]},["app",{sourceInterval:[699,703]},"Iter",[]]]],Iter_star:["define",{sourceInterval:[719,736]},null,[],["seq",{sourceInterval:[719,727]},["app",{sourceInterval:[719,723]},"Pred",[]],["terminal",{sourceInterval:[724,727]},"*"]]],Iter_plus:["define",{sourceInterval:[743,760]},null,[],["seq",{sourceInterval:[743,751]},["app",{sourceInterval:[743,747]},"Pred",[]],["terminal",{sourceInterval:[748,751]},"+"]]],Iter_opt:["define",{sourceInterval:[767,783]},null,[],["seq",{sourceInterval:[767,775]},["app",{sourceInterval:[767,771]},"Pred",[]],["terminal",{sourceInterval:[772,775]},"?"]]],Iter:["define",{sourceInterval:[708,794]},null,[],["alt",{sourceInterval:[719,794]},["app",{sourceInterval:[719,727]},"Iter_star",[]],["app",{sourceInterval:[743,751]},"Iter_plus",[]],["app",{sourceInterval:[767,775]},"Iter_opt",[]],["app",{sourceInterval:[790,794]},"Pred",[]]]],Pred_not:["define",{sourceInterval:[809,824]},null,[],["seq",{sourceInterval:[809,816]},["terminal",{sourceInterval:[809,812]},"~"],["app",{sourceInterval:[813,816]},"Lex",[]]]],Pred_lookahead:["define",{sourceInterval:[831,852]},null,[],["seq",{sourceInterval:[831,838]},["terminal",{sourceInterval:[831,834]},"&"],["app",{sourceInterval:[835,838]},"Lex",[]]]],Pred:["define",{sourceInterval:[798,862]},null,[],["alt",{sourceInterval:[809,862]},["app",{sourceInterval:[809,816]},"Pred_not",[]],["app",{sourceInterval:[831,838]},"Pred_lookahead",[]],["app",{sourceInterval:[859,862]},"Lex",[]]]],Lex_lex:["define",{sourceInterval:[876,892]},null,[],["seq",{sourceInterval:[876,884]},["terminal",{sourceInterval:[876,879]},"#"],["app",{sourceInterval:[880,884]},"Base",[]]]],Lex:["define",{sourceInterval:[866,903]},null,[],["alt",{sourceInterval:[876,903]},["app",{sourceInterval:[876,884]},"Lex_lex",[]],["app",{sourceInterval:[899,903]},"Base",[]]]],Base_application:["define",{sourceInterval:[918,979]},null,[],["seq",{sourceInterval:[918,963]},["app",{sourceInterval:[918,923]},"ident",[]],["opt",{sourceInterval:[924,931]},["app",{sourceInterval:[924,930]},"Params",[]]],["not",{sourceInterval:[932,963]},["alt",{sourceInterval:[934,962]},["seq",{sourceInterval:[934,948]},["opt",{sourceInterval:[934,944]},["app",{sourceInterval:[934,943]},"ruleDescr",[]]],["terminal",{sourceInterval:[945,948]},"="]],["terminal",{sourceInterval:[951,955]},":="],["terminal",{sourceInterval:[958,962]},"+="]]]]],Base_range:["define",{sourceInterval:[986,1041]},null,[],["seq",{sourceInterval:[986,1022]},["app",{sourceInterval:[986,1001]},"oneCharTerminal",[]],["terminal",{sourceInterval:[1002,1006]},".."],["app",{sourceInterval:[1007,1022]},"oneCharTerminal",[]]]],Base_terminal:["define",{sourceInterval:[1048,1106]},null,[],["app",{sourceInterval:[1048,1056]},"terminal",[]]],Base_paren:["define",{sourceInterval:[1113,1168]},null,[],["seq",{sourceInterval:[1113,1124]},["terminal",{sourceInterval:[1113,1116]},"("],["app",{sourceInterval:[1117,1120]},"Alt",[]],["terminal",{sourceInterval:[1121,1124]},")"]]],Base:["define",{sourceInterval:[907,1168]},null,[],["alt",{sourceInterval:[918,1168]},["app",{sourceInterval:[918,963]},"Base_application",[]],["app",{sourceInterval:[986,1022]},"Base_range",[]],["app",{sourceInterval:[1048,1056]},"Base_terminal",[]],["app",{sourceInterval:[1113,1124]},"Base_paren",[]]]],ruleDescr:["define",{sourceInterval:[1172,1231]},"a rule description",[],["seq",{sourceInterval:[1210,1231]},["terminal",{sourceInterval:[1210,1213]},"("],["app",{sourceInterval:[1214,1227]},"ruleDescrText",[]],["terminal",{sourceInterval:[1228,1231]},")"]]],ruleDescrText:["define",{sourceInterval:[1235,1266]},null,[],["star",{sourceInterval:[1255,1266]},["seq",{sourceInterval:[1256,1264]},["not",{sourceInterval:[1256,1260]},["terminal",{sourceInterval:[1257,1260]},")"]],["app",{sourceInterval:[1261,1264]},"any",[]]]]],caseName:["define",{sourceInterval:[1270,1338]},null,[],["seq",{sourceInterval:[1285,1338]},["terminal",{sourceInterval:[1285,1289]},"--"],["star",{sourceInterval:[1290,1304]},["seq",{sourceInterval:[1291,1302]},["not",{sourceInterval:[1291,1296]},["terminal",{sourceInterval:[1292,1296]},`
|
|
`]],["app",{sourceInterval:[1297,1302]},"space",[]]]],["app",{sourceInterval:[1305,1309]},"name",[]],["star",{sourceInterval:[1310,1324]},["seq",{sourceInterval:[1311,1322]},["not",{sourceInterval:[1311,1316]},["terminal",{sourceInterval:[1312,1316]},`
|
|
`]],["app",{sourceInterval:[1317,1322]},"space",[]]]],["alt",{sourceInterval:[1326,1337]},["terminal",{sourceInterval:[1326,1330]},`
|
|
`],["lookahead",{sourceInterval:[1333,1337]},["terminal",{sourceInterval:[1334,1337]},"}"]]]]],name:["define",{sourceInterval:[1342,1382]},"a name",[],["seq",{sourceInterval:[1363,1382]},["app",{sourceInterval:[1363,1372]},"nameFirst",[]],["star",{sourceInterval:[1373,1382]},["app",{sourceInterval:[1373,1381]},"nameRest",[]]]]],nameFirst:["define",{sourceInterval:[1386,1418]},null,[],["alt",{sourceInterval:[1402,1418]},["terminal",{sourceInterval:[1402,1405]},"_"],["app",{sourceInterval:[1412,1418]},"letter",[]]]],nameRest:["define",{sourceInterval:[1422,1452]},null,[],["alt",{sourceInterval:[1437,1452]},["terminal",{sourceInterval:[1437,1440]},"_"],["app",{sourceInterval:[1447,1452]},"alnum",[]]]],ident:["define",{sourceInterval:[1456,1489]},"an identifier",[],["app",{sourceInterval:[1485,1489]},"name",[]]],terminal:["define",{sourceInterval:[1493,1531]},null,[],["seq",{sourceInterval:[1508,1531]},["terminal",{sourceInterval:[1508,1512]},'"'],["star",{sourceInterval:[1513,1526]},["app",{sourceInterval:[1513,1525]},"terminalChar",[]]],["terminal",{sourceInterval:[1527,1531]},'"']]],oneCharTerminal:["define",{sourceInterval:[1535,1579]},null,[],["seq",{sourceInterval:[1557,1579]},["terminal",{sourceInterval:[1557,1561]},'"'],["app",{sourceInterval:[1562,1574]},"terminalChar",[]],["terminal",{sourceInterval:[1575,1579]},'"']]],terminalChar:["define",{sourceInterval:[1583,1660]},null,[],["alt",{sourceInterval:[1602,1660]},["app",{sourceInterval:[1602,1612]},"escapeChar",[]],["seq",{sourceInterval:[1621,1660]},["not",{sourceInterval:[1621,1626]},["terminal",{sourceInterval:[1622,1626]},"\\"]],["not",{sourceInterval:[1627,1632]},["terminal",{sourceInterval:[1628,1632]},'"']],["not",{sourceInterval:[1633,1638]},["terminal",{sourceInterval:[1634,1638]},`
|
|
`]],["range",{sourceInterval:[1639,1660]},"\0","\u{10FFFF}"]]]],escapeChar_backslash:["define",{sourceInterval:[1703,1758]},null,[],["terminal",{sourceInterval:[1703,1709]},"\\\\"]],escapeChar_doubleQuote:["define",{sourceInterval:[1765,1822]},null,[],["terminal",{sourceInterval:[1765,1771]},'\\"']],escapeChar_singleQuote:["define",{sourceInterval:[1829,1886]},null,[],["terminal",{sourceInterval:[1829,1835]},"\\'"]],escapeChar_backspace:["define",{sourceInterval:[1893,1948]},null,[],["terminal",{sourceInterval:[1893,1898]},"\\b"]],escapeChar_lineFeed:["define",{sourceInterval:[1955,2009]},null,[],["terminal",{sourceInterval:[1955,1960]},"\\n"]],escapeChar_carriageReturn:["define",{sourceInterval:[2016,2076]},null,[],["terminal",{sourceInterval:[2016,2021]},"\\r"]],escapeChar_tab:["define",{sourceInterval:[2083,2132]},null,[],["terminal",{sourceInterval:[2083,2088]},"\\t"]],escapeChar_unicodeCodePoint:["define",{sourceInterval:[2139,2243]},null,[],["seq",{sourceInterval:[2139,2221]},["terminal",{sourceInterval:[2139,2145]},"\\u{"],["app",{sourceInterval:[2146,2154]},"hexDigit",[]],["opt",{sourceInterval:[2155,2164]},["app",{sourceInterval:[2155,2163]},"hexDigit",[]]],["opt",{sourceInterval:[2165,2174]},["app",{sourceInterval:[2165,2173]},"hexDigit",[]]],["opt",{sourceInterval:[2188,2197]},["app",{sourceInterval:[2188,2196]},"hexDigit",[]]],["opt",{sourceInterval:[2198,2207]},["app",{sourceInterval:[2198,2206]},"hexDigit",[]]],["opt",{sourceInterval:[2208,2217]},["app",{sourceInterval:[2208,2216]},"hexDigit",[]]],["terminal",{sourceInterval:[2218,2221]},"}"]]],escapeChar_unicodeEscape:["define",{sourceInterval:[2250,2309]},null,[],["seq",{sourceInterval:[2250,2291]},["terminal",{sourceInterval:[2250,2255]},"\\u"],["app",{sourceInterval:[2256,2264]},"hexDigit",[]],["app",{sourceInterval:[2265,2273]},"hexDigit",[]],["app",{sourceInterval:[2274,2282]},"hexDigit",[]],["app",{sourceInterval:[2283,2291]},"hexDigit",[]]]],escapeChar_hexEscape:["define",{sourceInterval:[2316,2371]},null,[],["seq",{sourceInterval:[2316,2339]},["terminal",{sourceInterval:[2316,2321]},"\\x"],["app",{sourceInterval:[2322,2330]},"hexDigit",[]],["app",{sourceInterval:[2331,2339]},"hexDigit",[]]]],escapeChar:["define",{sourceInterval:[1664,2371]},"an escape sequence",[],["alt",{sourceInterval:[1703,2371]},["app",{sourceInterval:[1703,1709]},"escapeChar_backslash",[]],["app",{sourceInterval:[1765,1771]},"escapeChar_doubleQuote",[]],["app",{sourceInterval:[1829,1835]},"escapeChar_singleQuote",[]],["app",{sourceInterval:[1893,1898]},"escapeChar_backspace",[]],["app",{sourceInterval:[1955,1960]},"escapeChar_lineFeed",[]],["app",{sourceInterval:[2016,2021]},"escapeChar_carriageReturn",[]],["app",{sourceInterval:[2083,2088]},"escapeChar_tab",[]],["app",{sourceInterval:[2139,2221]},"escapeChar_unicodeCodePoint",[]],["app",{sourceInterval:[2250,2291]},"escapeChar_unicodeEscape",[]],["app",{sourceInterval:[2316,2339]},"escapeChar_hexEscape",[]]]],space:["extend",{sourceInterval:[2375,2394]},null,[],["app",{sourceInterval:[2387,2394]},"comment",[]]],comment_singleLine:["define",{sourceInterval:[2412,2458]},null,[],["seq",{sourceInterval:[2412,2443]},["terminal",{sourceInterval:[2412,2416]},"//"],["star",{sourceInterval:[2417,2429]},["seq",{sourceInterval:[2418,2427]},["not",{sourceInterval:[2418,2423]},["terminal",{sourceInterval:[2419,2423]},`
|
|
`]],["app",{sourceInterval:[2424,2427]},"any",[]]]],["lookahead",{sourceInterval:[2430,2443]},["alt",{sourceInterval:[2432,2442]},["terminal",{sourceInterval:[2432,2436]},`
|
|
`],["app",{sourceInterval:[2439,2442]},"end",[]]]]]],comment_multiLine:["define",{sourceInterval:[2465,2501]},null,[],["seq",{sourceInterval:[2465,2487]},["terminal",{sourceInterval:[2465,2469]},"/*"],["star",{sourceInterval:[2470,2482]},["seq",{sourceInterval:[2471,2480]},["not",{sourceInterval:[2471,2476]},["terminal",{sourceInterval:[2472,2476]},"*/"]],["app",{sourceInterval:[2477,2480]},"any",[]]]],["terminal",{sourceInterval:[2483,2487]},"*/"]]],comment:["define",{sourceInterval:[2398,2501]},null,[],["alt",{sourceInterval:[2412,2501]},["app",{sourceInterval:[2412,2443]},"comment_singleLine",[]],["app",{sourceInterval:[2465,2487]},"comment_multiLine",[]]]],tokens:["define",{sourceInterval:[2505,2520]},null,[],["star",{sourceInterval:[2514,2520]},["app",{sourceInterval:[2514,2519]},"token",[]]]],token:["define",{sourceInterval:[2524,2600]},null,[],["alt",{sourceInterval:[2532,2600]},["app",{sourceInterval:[2532,2540]},"caseName",[]],["app",{sourceInterval:[2543,2550]},"comment",[]],["app",{sourceInterval:[2553,2558]},"ident",[]],["app",{sourceInterval:[2561,2569]},"operator",[]],["app",{sourceInterval:[2572,2583]},"punctuation",[]],["app",{sourceInterval:[2586,2594]},"terminal",[]],["app",{sourceInterval:[2597,2600]},"any",[]]]],operator:["define",{sourceInterval:[2604,2669]},null,[],["alt",{sourceInterval:[2615,2669]},["terminal",{sourceInterval:[2615,2619]},"<:"],["terminal",{sourceInterval:[2622,2625]},"="],["terminal",{sourceInterval:[2628,2632]},":="],["terminal",{sourceInterval:[2635,2639]},"+="],["terminal",{sourceInterval:[2642,2645]},"*"],["terminal",{sourceInterval:[2648,2651]},"+"],["terminal",{sourceInterval:[2654,2657]},"?"],["terminal",{sourceInterval:[2660,2663]},"~"],["terminal",{sourceInterval:[2666,2669]},"&"]]],punctuation:["define",{sourceInterval:[2673,2709]},null,[],["alt",{sourceInterval:[2687,2709]},["terminal",{sourceInterval:[2687,2690]},"<"],["terminal",{sourceInterval:[2693,2696]},">"],["terminal",{sourceInterval:[2699,2702]},","],["terminal",{sourceInterval:[2705,2709]},"--"]]]}]),ii=Object.create(V.prototype);function xu(i,e){for(let t in i)if(t===e)return!0;return!1}function xi(i,e,t){let n=new tr,a,l,c,v=!1;return(t||Un).createSemantics().addOperation("visit",{Grammars(g){return g.children.map(f=>f.visit())},Grammar(g,f,y,R,_){let O=g.visit();a=n.newGrammar(O),f.child(0)&&f.child(0).visit(),R.children.map(ee=>ee.visit());let K=a.build();if(K.source=this.source.trimmed(),xu(e,O))throw Xd(K);return e[O]=K,K},SuperGrammar(g,f){let y=f.visit();if(y==="null")a.withSuperGrammar(null);else{if(!e||!xu(e,y))throw Qd(y,e,f.source);a.withSuperGrammar(e[y])}},Rule_define(g,f,y,R,_){l=g.visit(),c=f.children.map(ae=>ae.visit())[0]||[],!a.defaultStartRule&&a.ensureSuperGrammar()!==Ve.ProtoBuiltInRules&&a.withDefaultStartRule(l);let O=_.visit(),K=y.children.map(ae=>ae.visit())[0],ee=this.source.trimmed();return a.define(l,c,O,K,ee)},Rule_override(g,f,y,R){l=g.visit(),c=f.children.map(K=>K.visit())[0]||[];let _=this.source.trimmed();a.ensureSuperGrammarRuleForOverriding(l,_),v=!0;let O=R.visit();return v=!1,a.override(l,c,O,null,_)},Rule_extend(g,f,y,R){l=g.visit(),c=f.children.map(K=>K.visit())[0]||[];let _=R.visit(),O=this.source.trimmed();return a.extend(l,c,_,null,O)},RuleBody(g,f){return n.alt(...f.visit()).withSource(this.source)},OverrideRuleBody(g,f){let y=f.visit(),R=y.indexOf(ii);if(R>=0){let _=y.slice(0,R),O=y.slice(R+1);return O.forEach(K=>{if(K===ii)throw cf(K)}),new Ft(a.superGrammar,l,_,O).withSource(this.source)}else return n.alt(...y).withSource(this.source)},Formals(g,f,y){return f.visit()},Params(g,f,y){return f.visit()},Alt(g){return n.alt(...g.visit()).withSource(this.source)},TopLevelTerm_inline(g,f){let y=l+"_"+f.visit(),R=g.visit(),_=this.source.trimmed(),O=!(a.superGrammar&&a.superGrammar.rules[y]);v&&!O?a.override(y,c,R,null,_):a.define(y,c,R,null,_);let K=c.map(ee=>n.app(ee));return n.app(y,K).withSource(R.source)},OverrideTopLevelTerm_superSplice(g){return ii},Seq(g){return n.seq(...g.children.map(f=>f.visit())).withSource(this.source)},Iter_star(g,f){return n.star(g.visit()).withSource(this.source)},Iter_plus(g,f){return n.plus(g.visit()).withSource(this.source)},Iter_opt(g,f){return n.opt(g.visit()).withSource(this.source)},Pred_not(g,f){return n.not(f.visit()).withSource(this.source)},Pred_lookahead(g,f){return n.lookahead(f.visit()).withSource(this.source)},Lex_lex(g,f){return n.lex(f.visit()).withSource(this.source)},Base_application(g,f){let y=f.children.map(R=>R.visit())[0]||[];return n.app(g.visit(),y).withSource(this.source)},Base_range(g,f,y){return n.range(g.visit(),y.visit()).withSource(this.source)},Base_terminal(g){return n.terminal(g.visit()).withSource(this.source)},Base_paren(g,f,y){return f.visit()},ruleDescr(g,f,y){return f.visit()},ruleDescrText(g){return this.sourceString.trim()},caseName(g,f,y,R,_){return y.visit()},name(g,f){return this.sourceString},nameFirst(g){},nameRest(g){},terminal(g,f,y){return f.children.map(R=>R.visit()).join("")},oneCharTerminal(g,f,y){return f.visit()},escapeChar(g){try{return Eu(this.sourceString)}catch(f){throw f instanceof RangeError&&f.message.startsWith("Invalid code point ")?pf(g):f}},NonemptyListOf(g,f,y){return[g.visit()].concat(y.children.map(R=>R.visit()))},EmptyListOf(){return[]},_terminal(){return this.sourceString}})(i).visit()}var Nf=qn(["grammar",{source:`OperationsAndAttributes {
|
|
|
|
AttributeSignature =
|
|
name
|
|
|
|
OperationSignature =
|
|
name Formals?
|
|
|
|
Formals
|
|
= "(" ListOf<name, ","> ")"
|
|
|
|
name (a name)
|
|
= nameFirst nameRest*
|
|
|
|
nameFirst
|
|
= "_"
|
|
| letter
|
|
|
|
nameRest
|
|
= "_"
|
|
| alnum
|
|
|
|
}`},"OperationsAndAttributes",null,"AttributeSignature",{AttributeSignature:["define",{sourceInterval:[29,58]},null,[],["app",{sourceInterval:[54,58]},"name",[]]],OperationSignature:["define",{sourceInterval:[62,100]},null,[],["seq",{sourceInterval:[87,100]},["app",{sourceInterval:[87,91]},"name",[]],["opt",{sourceInterval:[92,100]},["app",{sourceInterval:[92,99]},"Formals",[]]]]],Formals:["define",{sourceInterval:[104,143]},null,[],["seq",{sourceInterval:[118,143]},["terminal",{sourceInterval:[118,121]},"("],["app",{sourceInterval:[122,139]},"ListOf",[["app",{sourceInterval:[129,133]},"name",[]],["terminal",{sourceInterval:[135,138]},","]]],["terminal",{sourceInterval:[140,143]},")"]]],name:["define",{sourceInterval:[147,187]},"a name",[],["seq",{sourceInterval:[168,187]},["app",{sourceInterval:[168,177]},"nameFirst",[]],["star",{sourceInterval:[178,187]},["app",{sourceInterval:[178,186]},"nameRest",[]]]]],nameFirst:["define",{sourceInterval:[191,223]},null,[],["alt",{sourceInterval:[207,223]},["terminal",{sourceInterval:[207,210]},"_"],["app",{sourceInterval:[217,223]},"letter",[]]]],nameRest:["define",{sourceInterval:[227,257]},null,[],["alt",{sourceInterval:[242,257]},["terminal",{sourceInterval:[242,245]},"_"],["app",{sourceInterval:[252,257]},"alnum",[]]]]}]);Tf(Ve.BuiltInRules);Vf(Nf);function Tf(i){let e={empty(){return this.iteration()},nonEmpty(t,n,a){return this.iteration([t].concat(a.children))}};Te.BuiltInSemantics=Te.createSemantics(i,null).addOperation("asIteration",{emptyListOf:e.empty,nonemptyListOf:e.nonEmpty,EmptyListOf:e.empty,NonemptyListOf:e.nonEmpty})}function Vf(i){Te.prototypeGrammarSemantics=i.createSemantics().addOperation("parse",{AttributeSignature(e){return{name:e.parse(),formals:[]}},OperationSignature(e,t){return{name:e.parse(),formals:t.children.map(n=>n.parse())[0]||[]}},Formals(e,t,n){return t.asIteration().children.map(a=>a.parse())},name(e,t){return this.sourceString}}),Te.prototypeGrammar=i}function Lf(i){let e=0,t=[0],n=()=>t[t.length-1],a={},l=/( *).*(?:$|\r?\n|\r)/g,c;for(;(c=l.exec(i))!=null;){let[v,h]=c;if(v.length===0)break;let d=h.length,g=n(),f=e+d;if(d>g)t.push(d),a[f]=1;else if(d<g){let y=t.length;for(;n()!==d;)t.pop();a[f]=-1*(y-t.length)}e+=v.length}return t.length>1&&(a[e]=1-t.length),a}var qu="an indented block",Uu="a dedent",bu=1114111+1,fi=class extends Xt{constructor(e){super(e.input),this.state=e}_indentationAt(e){return this.state.userData[e]||0}atEnd(){return super.atEnd()&&this._indentationAt(this.pos)===0}next(){if(this._indentationAt(this.pos)!==0){this.examinedLength=Math.max(this.examinedLength,this.pos);return}return super.next()}nextCharCode(){return this._indentationAt(this.pos)!==0?(this.examinedLength=Math.max(this.examinedLength,this.pos),bu):super.nextCharCode()}nextCodePoint(){return this._indentationAt(this.pos)!==0?(this.examinedLength=Math.max(this.examinedLength,this.pos),bu):super.nextCodePoint()}},Cn=class extends V{constructor(e=!0){super(),this.isIndent=e}allowsSkippingPrecedingSpace(){return!0}eval(e){let{inputStream:t}=e,n=e.userData;e.doNotMemoize=!0;let a=t.pos,l=this.isIndent?1:-1;return(n[a]||0)*l>0?(e.userData=Object.create(n),e.userData[a]-=l,e.pushBinding(new yt(0),a),!0):(e.processFailure(a,this),!1)}getArity(){return 1}_assertAllApplicationsAreValid(e,t){}_isNullable(e,t){return!1}assertChoicesHaveUniformArity(e){}assertIteratedExprsAreNotNullable(e){}introduceParams(e){return this}substituteParams(e){return this}toString(){return this.isIndent?"indent":"dedent"}toDisplayString(){return this.toString()}toFailure(e){let t=this.isIndent?qu:Uu;return new Le(this,t,"description")}},kf=new z("indent"),Cf=new z("dedent"),Ff=new Ft(Si,"any",[kf,Cf],[]),Bu=new tr().newGrammar("IndentationSensitive").withSuperGrammar(Si).define("indent",[],new Cn(!0),qu,void 0,!0).define("dedent",[],new Cn(!1),Uu,void 0,!0).extend("any",[],Ff,"any character",void 0).build();Object.assign(Bu,{_matchStateInitializer(i){i.userData=Lf(i.input),i.inputStream=new fi(i)},supportsIncrementalParsing:!1});var qf="17.1.0";Ve.initApplicationParser(Un,xi);var Uf=i=>!!i.constructor&&typeof i.constructor.isBuffer=="function"&&i.constructor.isBuffer(i);function Bf(i,e){let t=Un.match(i,"Grammars");if(t.failed())throw Jd(t);return xi(t,e)}function Yf(i,e){let t=Yu(i,e),n=Object.keys(t);if(n.length===0)throw new Error("Missing grammar definition");if(n.length>1){let l=t[n[1]].source;throw new Error(yi(l.sourceString,l.startIdx)+"Found more than one grammar definition -- use ohm.grammars() instead.")}return t[n[0]]}function Yu(i,e){let t=Object.create(e||{});if(typeof i!="string")if(Uf(i))i=i.toString();else throw new TypeError("Expected string as first argument, got "+Ii(i));return Bf(i,t),t}ot.ExperimentalIndentationSensitive=Bu;ot._buildGrammar=xi;ot.grammar=Yf;ot.grammars=Yu;ot.makeRecipe=qn;ot.ohmGrammar=Un;ot.pexprs=Ef;ot.version=qf});var Hu=E((v2,Gu)=>{"use strict";var{makeRecipe:Gf}=Qe(),Hf=Gf(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);Gu.exports=Hf});var nc=E((p3,rc)=>{"use strict";var{makeRecipe:Wf}=Qe(),zf=Wf(["grammar",{source:`BigIntArithmetic {\r
|
|
Expression\r
|
|
= Bitwise\r
|
|
\r
|
|
// Potentially bug here AS may need to be Bitwise operator Bitwise\r
|
|
Bitwise\r
|
|
= Bitwise "<<" AS -- leftShift\r
|
|
| Bitwise ">>>" AS -- unsignedRightShift\r
|
|
| Bitwise ">>" AS -- rightShift\r
|
|
| Bitwise "&" AS -- AND\r
|
|
| Bitwise "^" AS -- XOR\r
|
|
| Bitwise "|" AS -- OR\r
|
|
| AS\r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD remainder E -- remainder\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= hex\r
|
|
| binary\r
|
|
| bigInteger\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
\r
|
|
remainder\r
|
|
= "%"\r
|
|
\r
|
|
exponent\r
|
|
= "**"\r
|
|
\r
|
|
binary\r
|
|
= "0b" binaryDigit+\r
|
|
\r
|
|
binaryDigit\r
|
|
= "0" | "1"\r
|
|
\r
|
|
bigInteger\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BigIntArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[24,53]},null,[],["app",{sourceInterval:[46,53]},"Bitwise",[]]],Bitwise_leftShift:["define",{sourceInterval:[152,180]},null,[],["seq",{sourceInterval:[152,167]},["app",{sourceInterval:[152,159]},"Bitwise",[]],["terminal",{sourceInterval:[160,164]},"<<"],["app",{sourceInterval:[165,167]},"AS",[]]]],Bitwise_unsignedRightShift:["define",{sourceInterval:[192,230]},null,[],["seq",{sourceInterval:[192,208]},["app",{sourceInterval:[192,199]},"Bitwise",[]],["terminal",{sourceInterval:[200,205]},">>>"],["app",{sourceInterval:[206,208]},"AS",[]]]],Bitwise_rightShift:["define",{sourceInterval:[242,271]},null,[],["seq",{sourceInterval:[242,257]},["app",{sourceInterval:[242,249]},"Bitwise",[]],["terminal",{sourceInterval:[250,254]},">>"],["app",{sourceInterval:[255,257]},"AS",[]]]],Bitwise_AND:["define",{sourceInterval:[283,304]},null,[],["seq",{sourceInterval:[283,297]},["app",{sourceInterval:[283,290]},"Bitwise",[]],["terminal",{sourceInterval:[291,294]},"&"],["app",{sourceInterval:[295,297]},"AS",[]]]],Bitwise_XOR:["define",{sourceInterval:[316,337]},null,[],["seq",{sourceInterval:[316,330]},["app",{sourceInterval:[316,323]},"Bitwise",[]],["terminal",{sourceInterval:[324,327]},"^"],["app",{sourceInterval:[328,330]},"AS",[]]]],Bitwise_OR:["define",{sourceInterval:[349,369]},null,[],["seq",{sourceInterval:[349,363]},["app",{sourceInterval:[349,356]},"Bitwise",[]],["terminal",{sourceInterval:[357,360]},"|"],["app",{sourceInterval:[361,363]},"AS",[]]]],Bitwise:["define",{sourceInterval:[133,383]},null,[],["alt",{sourceInterval:[152,383]},["app",{sourceInterval:[152,167]},"Bitwise_leftShift",[]],["app",{sourceInterval:[192,208]},"Bitwise_unsignedRightShift",[]],["app",{sourceInterval:[242,257]},"Bitwise_rightShift",[]],["app",{sourceInterval:[283,297]},"Bitwise_AND",[]],["app",{sourceInterval:[316,330]},"Bitwise_XOR",[]],["app",{sourceInterval:[349,363]},"Bitwise_OR",[]],["app",{sourceInterval:[381,383]},"AS",[]]]],AS_addition:["define",{sourceInterval:[437,459]},null,[],["seq",{sourceInterval:[437,446]},["app",{sourceInterval:[437,439]},"AS",[]],["app",{sourceInterval:[440,443]},"add",[]],["app",{sourceInterval:[444,446]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[471,501]},null,[],["seq",{sourceInterval:[471,485]},["app",{sourceInterval:[471,473]},"AS",[]],["app",{sourceInterval:[474,482]},"subtract",[]],["app",{sourceInterval:[483,485]},"MD",[]]]],AS:["define",{sourceInterval:[423,515]},null,[],["alt",{sourceInterval:[437,515]},["app",{sourceInterval:[437,446]},"AS_addition",[]],["app",{sourceInterval:[471,485]},"AS_subtraction",[]],["app",{sourceInterval:[513,515]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[564,596]},null,[],["seq",{sourceInterval:[564,577]},["app",{sourceInterval:[564,566]},"MD",[]],["app",{sourceInterval:[567,575]},"multiply",[]],["app",{sourceInterval:[576,577]},"E",[]]]],MD_division:["define",{sourceInterval:[608,632]},null,[],["seq",{sourceInterval:[608,619]},["app",{sourceInterval:[608,610]},"MD",[]],["app",{sourceInterval:[611,617]},"divide",[]],["app",{sourceInterval:[618,619]},"E",[]]]],MD_remainder:["define",{sourceInterval:[644,672]},null,[],["seq",{sourceInterval:[644,658]},["app",{sourceInterval:[644,646]},"MD",[]],["app",{sourceInterval:[647,656]},"remainder",[]],["app",{sourceInterval:[657,658]},"E",[]]]],MD:["define",{sourceInterval:[550,685]},null,[],["alt",{sourceInterval:[564,685]},["app",{sourceInterval:[564,577]},"MD_multiplication",[]],["app",{sourceInterval:[608,619]},"MD_division",[]],["app",{sourceInterval:[644,658]},"MD_remainder",[]],["app",{sourceInterval:[684,685]},"E",[]]]],E_exponent:["define",{sourceInterval:[723,748]},null,[],["seq",{sourceInterval:[723,735]},["app",{sourceInterval:[723,724]},"P",[]],["app",{sourceInterval:[725,733]},"exponent",[]],["app",{sourceInterval:[734,735]},"E",[]]]],E:["define",{sourceInterval:[710,761]},null,[],["alt",{sourceInterval:[723,761]},["app",{sourceInterval:[723,735]},"E_exponent",[]],["app",{sourceInterval:[760,761]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[802,836]},null,[],["seq",{sourceInterval:[802,820]},["terminal",{sourceInterval:[802,805]},"("],["app",{sourceInterval:[806,816]},"Expression",[]],["terminal",{sourceInterval:[817,820]},")"]]],P:["define",{sourceInterval:[789,857]},null,[],["alt",{sourceInterval:[802,857]},["app",{sourceInterval:[802,820]},"P_parenthesis",[]],["app",{sourceInterval:[848,857]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[865,929]},null,[],["alt",{sourceInterval:[886,929]},["app",{sourceInterval:[886,889]},"hex",[]],["app",{sourceInterval:[901,907]},"binary",[]],["app",{sourceInterval:[919,929]},"bigInteger",[]]]],add:["define",{sourceInterval:[959,978]},null,[],["terminal",{sourceInterval:[975,978]},"+"]],subtract:["define",{sourceInterval:[986,1010]},null,[],["terminal",{sourceInterval:[1007,1010]},"-"]],multiply:["define",{sourceInterval:[1026,1153]},null,[],["alt",{sourceInterval:[1047,1153]},["terminal",{sourceInterval:[1047,1050]},"*"],["terminal",{sourceInterval:[1062,1067]},"\\*"],["terminal",{sourceInterval:[1106,1116]},"\xD7"],["app",{sourceInterval:[1133,1153]},"caseInsensitive",[["terminal",{sourceInterval:[1149,1152]},"x"]]]]],divide:["define",{sourceInterval:[1169,1212]},null,[],["alt",{sourceInterval:[1187,1212]},["terminal",{sourceInterval:[1187,1190]},"/"],["terminal",{sourceInterval:[1202,1212]},"\xF7"]]],remainder:["define",{sourceInterval:[1225,1249]},null,[],["terminal",{sourceInterval:[1246,1249]},"%"]],exponent:["define",{sourceInterval:[1257,1281]},null,[],["terminal",{sourceInterval:[1277,1281]},"**"]],binary:["define",{sourceInterval:[1289,1324]},null,[],["seq",{sourceInterval:[1307,1324]},["terminal",{sourceInterval:[1307,1311]},"0b"],["plus",{sourceInterval:[1312,1324]},["app",{sourceInterval:[1312,1323]},"binaryDigit",[]]]]],binaryDigit:["define",{sourceInterval:[1332,1364]},null,[],["alt",{sourceInterval:[1355,1364]},["terminal",{sourceInterval:[1355,1358]},"0"],["terminal",{sourceInterval:[1361,1364]},"1"]]],bigInteger:["define",{sourceInterval:[1372,1400]},null,[],["plus",{sourceInterval:[1394,1400]},["app",{sourceInterval:[1394,1399]},"digit",[]]]],hex:["define",{sourceInterval:[1408,1462]},null,[],["alt",{sourceInterval:[1423,1462]},["seq",{sourceInterval:[1423,1437]},["terminal",{sourceInterval:[1423,1427]},"0x"],["plus",{sourceInterval:[1428,1437]},["app",{sourceInterval:[1428,1436]},"hexDigit",[]]]],["seq",{sourceInterval:[1449,1462]},["plus",{sourceInterval:[1449,1458]},["app",{sourceInterval:[1449,1457]},"hexDigit",[]]],["terminal",{sourceInterval:[1459,1462]},"h"]]]]}]);rc.exports=zf});var ic=E((_3,sc)=>{"use strict";var{makeRecipe:jf}=Qe(),$f=jf(["grammar",{source:`Datetime {\r
|
|
Expression\r
|
|
= Addition\r
|
|
| Subtraction\r
|
|
| TimeUnitUntilDate\r
|
|
| TimeUnitSinceDate\r
|
|
| Primitive\r
|
|
\r
|
|
Addition\r
|
|
= Primitive add Timespan\r
|
|
\r
|
|
Subtraction\r
|
|
= Primitive subtract Timespan\r
|
|
\r
|
|
Primitive\r
|
|
= Datetime\r
|
|
| Now\r
|
|
| Today\r
|
|
| Tomorrow\r
|
|
| Yesterday\r
|
|
| NextDayOfWeek\r
|
|
| LastDayOfWeek\r
|
|
\r
|
|
Timespan\r
|
|
= number unitsOfTime\r
|
|
\r
|
|
Now \r
|
|
= now\r
|
|
\r
|
|
Today \r
|
|
= today\r
|
|
\r
|
|
Tomorrow \r
|
|
= tomorrow\r
|
|
\r
|
|
Yesterday \r
|
|
= yesterday\r
|
|
\r
|
|
// e.g. 1/10/23 or 01.10.2023\r
|
|
Datetime \r
|
|
= datetimeIso8601\r
|
|
| datetimeFormatEuropeanOrUs\r
|
|
\r
|
|
// e.g. Next Monday\r
|
|
NextDayOfWeek\r
|
|
= caseInsensitive<"next"> dayOfWeek\r
|
|
\r
|
|
// e.g. Last Tuesday\r
|
|
LastDayOfWeek\r
|
|
= caseInsensitive<"last"> dayOfWeek\r
|
|
\r
|
|
TimeUnitUntilDate\r
|
|
= (year | month | week | day) until Datetime\r
|
|
\r
|
|
TimeUnitSinceDate\r
|
|
= (year | month | week | day) since Datetime\r
|
|
\r
|
|
// Lexical Rules\r
|
|
oneDigit\r
|
|
= digit\r
|
|
\r
|
|
twoDigit \r
|
|
= digit digit\r
|
|
\r
|
|
fourDigit\r
|
|
= digit digit digit digit\r
|
|
\r
|
|
time\r
|
|
= (twoDigit | oneDigit) ":" (twoDigit | oneDigit) ":" (twoDigit | oneDigit)\r
|
|
\r
|
|
datetimeIso8601\r
|
|
= fourDigit "-" twoDigit "-" twoDigit ("T" | space)? (timeWithMilliseconds | timeWithSeconds)? ("Z" | timeZoneColon | timeZoneHours)?\r
|
|
\r
|
|
timeWithMilliseconds\r
|
|
= twoDigit ":" twoDigit ":" twoDigit "." digit+\r
|
|
\r
|
|
timeWithSeconds\r
|
|
= twoDigit ":" twoDigit ":" twoDigit\r
|
|
\r
|
|
datetimeFormatEuropeanOrUs\r
|
|
= (twoDigit | oneDigit) "/" (twoDigit | oneDigit) "/" (fourDigit | twoDigit) time?\r
|
|
| (twoDigit | oneDigit) "-" (twoDigit | oneDigit) "-" (fourDigit | twoDigit) time?\r
|
|
| (twoDigit | oneDigit) "." (twoDigit | oneDigit) "." (fourDigit | twoDigit) time?\r
|
|
\r
|
|
timeZoneColon\r
|
|
= "+" digit+ ":" digit+\r
|
|
| "-" digit+ ":" digit+\r
|
|
\r
|
|
timeZoneHours\r
|
|
= "+" fourDigit\r
|
|
\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"plus">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"take">\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
\r
|
|
now\r
|
|
= caseInsensitive<"now">\r
|
|
\r
|
|
today\r
|
|
= caseInsensitive<"today">\r
|
|
\r
|
|
tomorrow\r
|
|
= caseInsensitive<"tomorrow">\r
|
|
\r
|
|
yesterday\r
|
|
= caseInsensitive<"yesterday">\r
|
|
\r
|
|
dayOfWeek\r
|
|
= monday\r
|
|
| tuesday\r
|
|
| wednesday\r
|
|
| thursday\r
|
|
| friday\r
|
|
| saturday\r
|
|
| sunday\r
|
|
\r
|
|
monday\r
|
|
= caseInsensitive<"monday">\r
|
|
\r
|
|
tuesday\r
|
|
= caseInsensitive<"tuesday">\r
|
|
\r
|
|
wednesday\r
|
|
= caseInsensitive<"wednesday">\r
|
|
\r
|
|
thursday\r
|
|
= caseInsensitive<"thursday">\r
|
|
\r
|
|
friday\r
|
|
= caseInsensitive<"friday">\r
|
|
\r
|
|
saturday\r
|
|
= caseInsensitive<"saturday">\r
|
|
\r
|
|
sunday\r
|
|
= caseInsensitive<"sunday">\r
|
|
\r
|
|
unitsOfTime\r
|
|
= year\r
|
|
| month\r
|
|
| week\r
|
|
| day\r
|
|
| hour\r
|
|
| minute\r
|
|
| second\r
|
|
| millisecond\r
|
|
\r
|
|
year\r
|
|
= caseInsensitive<"years">\r
|
|
| caseInsensitive<"year">\r
|
|
| "y"\r
|
|
\r
|
|
month\r
|
|
= caseInsensitive<"months">\r
|
|
| caseInsensitive<"month">\r
|
|
| "M"\r
|
|
\r
|
|
week\r
|
|
= caseInsensitive<"weeks">\r
|
|
| caseInsensitive<"week">\r
|
|
| "w"\r
|
|
\r
|
|
day\r
|
|
= caseInsensitive<"days">\r
|
|
| caseInsensitive<"day">\r
|
|
| "d"\r
|
|
\r
|
|
hour\r
|
|
= caseInsensitive<"hours">\r
|
|
| caseInsensitive<"hour">\r
|
|
| "h"\r
|
|
\r
|
|
minute\r
|
|
= caseInsensitive<"minutes">\r
|
|
| caseInsensitive<"minute">\r
|
|
| "m"\r
|
|
\r
|
|
second\r
|
|
= caseInsensitive<"seconds">\r
|
|
| caseInsensitive<"second">\r
|
|
| "s"\r
|
|
\r
|
|
millisecond\r
|
|
= caseInsensitive<"milliseconds">\r
|
|
| caseInsensitive<"millisecond">\r
|
|
| "ms"\r
|
|
\r
|
|
until\r
|
|
= "until"\r
|
|
| "before"\r
|
|
\r
|
|
since\r
|
|
= "since"\r
|
|
| "after"\r
|
|
\r
|
|
number\r
|
|
= digit* "." digit+ -- fract\r
|
|
| digit+ -- whole\r
|
|
\r
|
|
integer\r
|
|
= digit+\r
|
|
}`},"Datetime",null,"Expression",{Expression:["define",{sourceInterval:[14,126]},null,[],["alt",{sourceInterval:[32,126]},["app",{sourceInterval:[32,40]},"Addition",[]],["app",{sourceInterval:[48,59]},"Subtraction",[]],["app",{sourceInterval:[67,84]},"TimeUnitUntilDate",[]],["app",{sourceInterval:[92,109]},"TimeUnitSinceDate",[]],["app",{sourceInterval:[117,126]},"Primitive",[]]]],Addition:["define",{sourceInterval:[132,170]},null,[],["seq",{sourceInterval:[148,170]},["app",{sourceInterval:[148,157]},"Primitive",[]],["app",{sourceInterval:[158,161]},"add",[]],["app",{sourceInterval:[162,170]},"Timespan",[]]]],Subtraction:["define",{sourceInterval:[176,222]},null,[],["seq",{sourceInterval:[195,222]},["app",{sourceInterval:[195,204]},"Primitive",[]],["app",{sourceInterval:[205,213]},"subtract",[]],["app",{sourceInterval:[214,222]},"Timespan",[]]]],Primitive:["define",{sourceInterval:[230,354]},null,[],["alt",{sourceInterval:[247,354]},["app",{sourceInterval:[247,255]},"Datetime",[]],["app",{sourceInterval:[263,266]},"Now",[]],["app",{sourceInterval:[274,279]},"Today",[]],["app",{sourceInterval:[287,295]},"Tomorrow",[]],["app",{sourceInterval:[303,312]},"Yesterday",[]],["app",{sourceInterval:[320,333]},"NextDayOfWeek",[]],["app",{sourceInterval:[341,354]},"LastDayOfWeek",[]]]],Timespan:["define",{sourceInterval:[360,394]},null,[],["seq",{sourceInterval:[376,394]},["app",{sourceInterval:[376,382]},"number",[]],["app",{sourceInterval:[383,394]},"unitsOfTime",[]]]],Now:["define",{sourceInterval:[400,415]},null,[],["app",{sourceInterval:[412,415]},"now",[]]],Today:["define",{sourceInterval:[421,440]},null,[],["app",{sourceInterval:[435,440]},"today",[]]],Tomorrow:["define",{sourceInterval:[446,471]},null,[],["app",{sourceInterval:[463,471]},"tomorrow",[]]],Yesterday:["define",{sourceInterval:[477,504]},null,[],["app",{sourceInterval:[495,504]},"yesterday",[]]],Datetime:["define",{sourceInterval:[545,610]},null,[],["alt",{sourceInterval:[561,610]},["app",{sourceInterval:[561,576]},"datetimeIso8601",[]],["app",{sourceInterval:[584,610]},"datetimeFormatEuropeanOrUs",[]]]],NextDayOfWeek:["define",{sourceInterval:[641,695]},null,[],["seq",{sourceInterval:[662,695]},["app",{sourceInterval:[662,685]},"caseInsensitive",[["terminal",{sourceInterval:[678,684]},"next"]]],["app",{sourceInterval:[686,695]},"dayOfWeek",[]]]],LastDayOfWeek:["define",{sourceInterval:[727,781]},null,[],["seq",{sourceInterval:[748,781]},["app",{sourceInterval:[748,771]},"caseInsensitive",[["terminal",{sourceInterval:[764,770]},"last"]]],["app",{sourceInterval:[772,781]},"dayOfWeek",[]]]],TimeUnitUntilDate:["define",{sourceInterval:[791,857]},null,[],["seq",{sourceInterval:[815,857]},["alt",{sourceInterval:[816,841]},["app",{sourceInterval:[816,820]},"year",[]],["app",{sourceInterval:[823,828]},"month",[]],["app",{sourceInterval:[831,835]},"week",[]],["app",{sourceInterval:[838,841]},"day",[]]],["app",{sourceInterval:[843,848]},"until",[]],["app",{sourceInterval:[849,857]},"Datetime",[]]]],TimeUnitSinceDate:["define",{sourceInterval:[867,933]},null,[],["seq",{sourceInterval:[891,933]},["alt",{sourceInterval:[892,917]},["app",{sourceInterval:[892,896]},"year",[]],["app",{sourceInterval:[899,904]},"month",[]],["app",{sourceInterval:[907,911]},"week",[]],["app",{sourceInterval:[914,917]},"day",[]]],["app",{sourceInterval:[919,924]},"since",[]],["app",{sourceInterval:[925,933]},"Datetime",[]]]],oneDigit:["define",{sourceInterval:[959,980]},null,[],["app",{sourceInterval:[975,980]},"digit",[]]],twoDigit:["define",{sourceInterval:[986,1014]},null,[],["seq",{sourceInterval:[1003,1014]},["app",{sourceInterval:[1003,1008]},"digit",[]],["app",{sourceInterval:[1009,1014]},"digit",[]]]],fourDigit:["define",{sourceInterval:[1022,1062]},null,[],["seq",{sourceInterval:[1039,1062]},["app",{sourceInterval:[1039,1044]},"digit",[]],["app",{sourceInterval:[1045,1050]},"digit",[]],["app",{sourceInterval:[1051,1056]},"digit",[]],["app",{sourceInterval:[1057,1062]},"digit",[]]]],time:["define",{sourceInterval:[1068,1154]},null,[],["seq",{sourceInterval:[1081,1154]},["alt",{sourceInterval:[1082,1101]},["app",{sourceInterval:[1082,1090]},"twoDigit",[]],["app",{sourceInterval:[1093,1101]},"oneDigit",[]]],["terminal",{sourceInterval:[1103,1106]},":"],["alt",{sourceInterval:[1108,1127]},["app",{sourceInterval:[1108,1116]},"twoDigit",[]],["app",{sourceInterval:[1119,1127]},"oneDigit",[]]],["terminal",{sourceInterval:[1129,1132]},":"],["alt",{sourceInterval:[1134,1153]},["app",{sourceInterval:[1134,1142]},"twoDigit",[]],["app",{sourceInterval:[1145,1153]},"oneDigit",[]]]]],datetimeIso8601:["define",{sourceInterval:[1160,1315]},null,[],["seq",{sourceInterval:[1183,1315]},["app",{sourceInterval:[1183,1192]},"fourDigit",[]],["terminal",{sourceInterval:[1193,1196]},"-"],["app",{sourceInterval:[1197,1205]},"twoDigit",[]],["terminal",{sourceInterval:[1206,1209]},"-"],["app",{sourceInterval:[1210,1218]},"twoDigit",[]],["opt",{sourceInterval:[1219,1233]},["alt",{sourceInterval:[1220,1231]},["terminal",{sourceInterval:[1220,1223]},"T"],["app",{sourceInterval:[1226,1231]},"space",[]]]],["opt",{sourceInterval:[1234,1275]},["alt",{sourceInterval:[1235,1273]},["app",{sourceInterval:[1235,1255]},"timeWithMilliseconds",[]],["app",{sourceInterval:[1258,1273]},"timeWithSeconds",[]]]],["opt",{sourceInterval:[1277,1315]},["alt",{sourceInterval:[1278,1313]},["terminal",{sourceInterval:[1278,1281]},"Z"],["app",{sourceInterval:[1284,1297]},"timeZoneColon",[]],["app",{sourceInterval:[1300,1313]},"timeZoneHours",[]]]]]],timeWithMilliseconds:["define",{sourceInterval:[1320,1394]},null,[],["seq",{sourceInterval:[1349,1394]},["app",{sourceInterval:[1349,1357]},"twoDigit",[]],["terminal",{sourceInterval:[1358,1361]},":"],["app",{sourceInterval:[1362,1370]},"twoDigit",[]],["terminal",{sourceInterval:[1371,1374]},":"],["app",{sourceInterval:[1375,1383]},"twoDigit",[]],["terminal",{sourceInterval:[1384,1387]},"."],["plus",{sourceInterval:[1388,1394]},["app",{sourceInterval:[1388,1393]},"digit",[]]]]],timeWithSeconds:["define",{sourceInterval:[1404,1461]},null,[],["seq",{sourceInterval:[1427,1461]},["app",{sourceInterval:[1427,1435]},"twoDigit",[]],["terminal",{sourceInterval:[1436,1439]},":"],["app",{sourceInterval:[1440,1448]},"twoDigit",[]],["terminal",{sourceInterval:[1449,1452]},":"],["app",{sourceInterval:[1453,1461]},"twoDigit",[]]]],datetimeFormatEuropeanOrUs:["define",{sourceInterval:[1467,1757]},null,[],["alt",{sourceInterval:[1501,1757]},["seq",{sourceInterval:[1501,1581]},["alt",{sourceInterval:[1502,1521]},["app",{sourceInterval:[1502,1510]},"twoDigit",[]],["app",{sourceInterval:[1513,1521]},"oneDigit",[]]],["terminal",{sourceInterval:[1523,1526]},"/"],["alt",{sourceInterval:[1528,1547]},["app",{sourceInterval:[1528,1536]},"twoDigit",[]],["app",{sourceInterval:[1539,1547]},"oneDigit",[]]],["terminal",{sourceInterval:[1549,1552]},"/"],["alt",{sourceInterval:[1554,1574]},["app",{sourceInterval:[1554,1563]},"fourDigit",[]],["app",{sourceInterval:[1566,1574]},"twoDigit",[]]],["opt",{sourceInterval:[1576,1581]},["app",{sourceInterval:[1576,1580]},"time",[]]]],["seq",{sourceInterval:[1589,1669]},["alt",{sourceInterval:[1590,1609]},["app",{sourceInterval:[1590,1598]},"twoDigit",[]],["app",{sourceInterval:[1601,1609]},"oneDigit",[]]],["terminal",{sourceInterval:[1611,1614]},"-"],["alt",{sourceInterval:[1616,1635]},["app",{sourceInterval:[1616,1624]},"twoDigit",[]],["app",{sourceInterval:[1627,1635]},"oneDigit",[]]],["terminal",{sourceInterval:[1637,1640]},"-"],["alt",{sourceInterval:[1642,1662]},["app",{sourceInterval:[1642,1651]},"fourDigit",[]],["app",{sourceInterval:[1654,1662]},"twoDigit",[]]],["opt",{sourceInterval:[1664,1669]},["app",{sourceInterval:[1664,1668]},"time",[]]]],["seq",{sourceInterval:[1677,1757]},["alt",{sourceInterval:[1678,1697]},["app",{sourceInterval:[1678,1686]},"twoDigit",[]],["app",{sourceInterval:[1689,1697]},"oneDigit",[]]],["terminal",{sourceInterval:[1699,1702]},"."],["alt",{sourceInterval:[1704,1723]},["app",{sourceInterval:[1704,1712]},"twoDigit",[]],["app",{sourceInterval:[1715,1723]},"oneDigit",[]]],["terminal",{sourceInterval:[1725,1728]},"."],["alt",{sourceInterval:[1730,1750]},["app",{sourceInterval:[1730,1739]},"fourDigit",[]],["app",{sourceInterval:[1742,1750]},"twoDigit",[]]],["opt",{sourceInterval:[1752,1757]},["app",{sourceInterval:[1752,1756]},"time",[]]]]]],timeZoneColon:["define",{sourceInterval:[1767,1836]},null,[],["alt",{sourceInterval:[1787,1836]},["seq",{sourceInterval:[1787,1808]},["terminal",{sourceInterval:[1787,1790]},"+"],["plus",{sourceInterval:[1791,1797]},["app",{sourceInterval:[1791,1796]},"digit",[]]],["terminal",{sourceInterval:[1798,1801]},":"],["plus",{sourceInterval:[1802,1808]},["app",{sourceInterval:[1802,1807]},"digit",[]]]],["seq",{sourceInterval:[1815,1836]},["terminal",{sourceInterval:[1815,1818]},"-"],["plus",{sourceInterval:[1819,1825]},["app",{sourceInterval:[1819,1824]},"digit",[]]],["terminal",{sourceInterval:[1826,1829]},":"],["plus",{sourceInterval:[1830,1836]},["app",{sourceInterval:[1830,1835]},"digit",[]]]]]],timeZoneHours:["define",{sourceInterval:[1847,1880]},null,[],["seq",{sourceInterval:[1867,1880]},["terminal",{sourceInterval:[1867,1870]},"+"],["app",{sourceInterval:[1871,1880]},"fourDigit",[]]]],add:["define",{sourceInterval:[1886,1960]},null,[],["alt",{sourceInterval:[1897,1960]},["terminal",{sourceInterval:[1897,1900]},"+"],["app",{sourceInterval:[1907,1929]},"caseInsensitive",[["terminal",{sourceInterval:[1923,1928]},"add"]]],["app",{sourceInterval:[1937,1960]},"caseInsensitive",[["terminal",{sourceInterval:[1953,1959]},"plus"]]]]],subtract:["define",{sourceInterval:[1966,2084]},null,[],["alt",{sourceInterval:[1983,2084]},["terminal",{sourceInterval:[1983,1986]},"-"],["app",{sourceInterval:[1994,2017]},"caseInsensitive",[["terminal",{sourceInterval:[2010,2016]},"take"]]],["app",{sourceInterval:[2025,2049]},"caseInsensitive",[["terminal",{sourceInterval:[2041,2048]},"minus"]]],["app",{sourceInterval:[2057,2084]},"caseInsensitive",[["terminal",{sourceInterval:[2073,2083]},"subtract"]]]]],now:["define",{sourceInterval:[2090,2123]},null,[],["app",{sourceInterval:[2101,2123]},"caseInsensitive",[["terminal",{sourceInterval:[2117,2122]},"now"]]]],today:["define",{sourceInterval:[2129,2166]},null,[],["app",{sourceInterval:[2142,2166]},"caseInsensitive",[["terminal",{sourceInterval:[2158,2165]},"today"]]]],tomorrow:["define",{sourceInterval:[2172,2215]},null,[],["app",{sourceInterval:[2188,2215]},"caseInsensitive",[["terminal",{sourceInterval:[2204,2214]},"tomorrow"]]]],yesterday:["define",{sourceInterval:[2221,2266]},null,[],["app",{sourceInterval:[2238,2266]},"caseInsensitive",[["terminal",{sourceInterval:[2254,2265]},"yesterday"]]]],dayOfWeek:["define",{sourceInterval:[2272,2387]},null,[],["alt",{sourceInterval:[2289,2387]},["app",{sourceInterval:[2289,2295]},"monday",[]],["app",{sourceInterval:[2303,2310]},"tuesday",[]],["app",{sourceInterval:[2318,2327]},"wednesday",[]],["app",{sourceInterval:[2335,2343]},"thursday",[]],["app",{sourceInterval:[2351,2357]},"friday",[]],["app",{sourceInterval:[2365,2373]},"saturday",[]],["app",{sourceInterval:[2381,2387]},"sunday",[]]]],monday:["define",{sourceInterval:[2393,2432]},null,[],["app",{sourceInterval:[2407,2432]},"caseInsensitive",[["terminal",{sourceInterval:[2423,2431]},"monday"]]]],tuesday:["define",{sourceInterval:[2438,2479]},null,[],["app",{sourceInterval:[2453,2479]},"caseInsensitive",[["terminal",{sourceInterval:[2469,2478]},"tuesday"]]]],wednesday:["define",{sourceInterval:[2485,2530]},null,[],["app",{sourceInterval:[2502,2530]},"caseInsensitive",[["terminal",{sourceInterval:[2518,2529]},"wednesday"]]]],thursday:["define",{sourceInterval:[2536,2579]},null,[],["app",{sourceInterval:[2552,2579]},"caseInsensitive",[["terminal",{sourceInterval:[2568,2578]},"thursday"]]]],friday:["define",{sourceInterval:[2587,2626]},null,[],["app",{sourceInterval:[2601,2626]},"caseInsensitive",[["terminal",{sourceInterval:[2617,2625]},"friday"]]]],saturday:["define",{sourceInterval:[2632,2675]},null,[],["app",{sourceInterval:[2648,2675]},"caseInsensitive",[["terminal",{sourceInterval:[2664,2674]},"saturday"]]]],sunday:["define",{sourceInterval:[2681,2720]},null,[],["app",{sourceInterval:[2695,2720]},"caseInsensitive",[["terminal",{sourceInterval:[2711,2719]},"sunday"]]]],unitsOfTime:["define",{sourceInterval:[2726,2844]},null,[],["alt",{sourceInterval:[2745,2844]},["app",{sourceInterval:[2745,2749]},"year",[]],["app",{sourceInterval:[2757,2762]},"month",[]],["app",{sourceInterval:[2770,2774]},"week",[]],["app",{sourceInterval:[2782,2785]},"day",[]],["app",{sourceInterval:[2793,2797]},"hour",[]],["app",{sourceInterval:[2805,2811]},"minute",[]],["app",{sourceInterval:[2819,2825]},"second",[]],["app",{sourceInterval:[2833,2844]},"millisecond",[]]]],year:["define",{sourceInterval:[2850,2928]},null,[],["alt",{sourceInterval:[2862,2928]},["app",{sourceInterval:[2862,2886]},"caseInsensitive",[["terminal",{sourceInterval:[2878,2885]},"years"]]],["app",{sourceInterval:[2894,2917]},"caseInsensitive",[["terminal",{sourceInterval:[2910,2916]},"year"]]],["terminal",{sourceInterval:[2925,2928]},"y"]]],month:["define",{sourceInterval:[2934,3015]},null,[],["alt",{sourceInterval:[2947,3015]},["app",{sourceInterval:[2947,2972]},"caseInsensitive",[["terminal",{sourceInterval:[2963,2971]},"months"]]],["app",{sourceInterval:[2980,3004]},"caseInsensitive",[["terminal",{sourceInterval:[2996,3003]},"month"]]],["terminal",{sourceInterval:[3012,3015]},"M"]]],week:["define",{sourceInterval:[3021,3099]},null,[],["alt",{sourceInterval:[3033,3099]},["app",{sourceInterval:[3033,3057]},"caseInsensitive",[["terminal",{sourceInterval:[3049,3056]},"weeks"]]],["app",{sourceInterval:[3065,3088]},"caseInsensitive",[["terminal",{sourceInterval:[3081,3087]},"week"]]],["terminal",{sourceInterval:[3096,3099]},"w"]]],day:["define",{sourceInterval:[3105,3180]},null,[],["alt",{sourceInterval:[3116,3180]},["app",{sourceInterval:[3116,3139]},"caseInsensitive",[["terminal",{sourceInterval:[3132,3138]},"days"]]],["app",{sourceInterval:[3147,3169]},"caseInsensitive",[["terminal",{sourceInterval:[3163,3168]},"day"]]],["terminal",{sourceInterval:[3177,3180]},"d"]]],hour:["define",{sourceInterval:[3186,3264]},null,[],["alt",{sourceInterval:[3198,3264]},["app",{sourceInterval:[3198,3222]},"caseInsensitive",[["terminal",{sourceInterval:[3214,3221]},"hours"]]],["app",{sourceInterval:[3230,3253]},"caseInsensitive",[["terminal",{sourceInterval:[3246,3252]},"hour"]]],["terminal",{sourceInterval:[3261,3264]},"h"]]],minute:["define",{sourceInterval:[3270,3354]},null,[],["alt",{sourceInterval:[3284,3354]},["app",{sourceInterval:[3284,3310]},"caseInsensitive",[["terminal",{sourceInterval:[3300,3309]},"minutes"]]],["app",{sourceInterval:[3318,3343]},"caseInsensitive",[["terminal",{sourceInterval:[3334,3342]},"minute"]]],["terminal",{sourceInterval:[3351,3354]},"m"]]],second:["define",{sourceInterval:[3364,3448]},null,[],["alt",{sourceInterval:[3378,3448]},["app",{sourceInterval:[3378,3404]},"caseInsensitive",[["terminal",{sourceInterval:[3394,3403]},"seconds"]]],["app",{sourceInterval:[3412,3437]},"caseInsensitive",[["terminal",{sourceInterval:[3428,3436]},"second"]]],["terminal",{sourceInterval:[3445,3448]},"s"]]],millisecond:["define",{sourceInterval:[3454,3554]},null,[],["alt",{sourceInterval:[3473,3554]},["app",{sourceInterval:[3473,3504]},"caseInsensitive",[["terminal",{sourceInterval:[3489,3503]},"milliseconds"]]],["app",{sourceInterval:[3512,3542]},"caseInsensitive",[["terminal",{sourceInterval:[3528,3541]},"millisecond"]]],["terminal",{sourceInterval:[3550,3554]},"ms"]]],until:["define",{sourceInterval:[3564,3599]},null,[],["alt",{sourceInterval:[3576,3599]},["terminal",{sourceInterval:[3576,3583]},"until"],["terminal",{sourceInterval:[3591,3599]},"before"]]],since:["define",{sourceInterval:[3609,3643]},null,[],["alt",{sourceInterval:[3621,3643]},["terminal",{sourceInterval:[3621,3628]},"since"],["terminal",{sourceInterval:[3636,3643]},"after"]]],number_fract:["define",{sourceInterval:[3663,3690]},null,[],["seq",{sourceInterval:[3663,3680]},["star",{sourceInterval:[3663,3669]},["app",{sourceInterval:[3663,3668]},"digit",[]]],["terminal",{sourceInterval:[3670,3673]},"."],["plus",{sourceInterval:[3674,3680]},["app",{sourceInterval:[3674,3679]},"digit",[]]]]],number_whole:["define",{sourceInterval:[3698,3725]},null,[],["plus",{sourceInterval:[3698,3704]},["app",{sourceInterval:[3698,3703]},"digit",[]]]],number:["define",{sourceInterval:[3649,3725]},null,[],["alt",{sourceInterval:[3663,3725]},["app",{sourceInterval:[3663,3680]},"number_fract",[]],["app",{sourceInterval:[3698,3704]},"number_whole",[]]]],integer:["define",{sourceInterval:[3735,3755]},null,[],["plus",{sourceInterval:[3749,3755]},["app",{sourceInterval:[3749,3754]},"digit",[]]]]}]);sc.exports=$f});var uc=E((O3,lc)=>{"use strict";var{makeRecipe:Kf}=Qe(),Zf=Kf(["grammar",{source:`Dice {\r
|
|
Expression = Roll\r
|
|
\r
|
|
/*\r
|
|
Patterns Examples:\r
|
|
roll(0, 7)\r
|
|
roll between 1 and 4\r
|
|
roll from 2 to 6\r
|
|
roll 4-8\r
|
|
*/\r
|
|
Roll\r
|
|
= caseInsensitive<"roll"> rollOpen? Primitive rollSeperator? Primitive rollEnd?\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| number\r
|
|
\r
|
|
rollOpen \r
|
|
= "("\r
|
|
| caseInsensitive<"between">\r
|
|
| caseInsensitive<"from">\r
|
|
\r
|
|
rollSeperator\r
|
|
= ","\r
|
|
| "-"\r
|
|
| caseInsensitive<"and">\r
|
|
| caseInsensitive<"to">\r
|
|
\r
|
|
rollEnd\r
|
|
= ")"\r
|
|
\r
|
|
number\r
|
|
= digit* "." digit+ -- fract\r
|
|
| digit+ -- whole\r
|
|
}`},"Dice",null,"Expression",{Expression:["define",{sourceInterval:[10,27]},null,[],["app",{sourceInterval:[23,27]},"Roll",[]]],Roll:["define",{sourceInterval:[147,236]},null,[],["seq",{sourceInterval:[159,236]},["app",{sourceInterval:[159,182]},"caseInsensitive",[["terminal",{sourceInterval:[175,181]},"roll"]]],["opt",{sourceInterval:[183,192]},["app",{sourceInterval:[183,191]},"rollOpen",[]]],["app",{sourceInterval:[193,202]},"Primitive",[]],["opt",{sourceInterval:[203,217]},["app",{sourceInterval:[203,216]},"rollSeperator",[]]],["app",{sourceInterval:[218,227]},"Primitive",[]],["opt",{sourceInterval:[228,236]},["app",{sourceInterval:[228,235]},"rollEnd",[]]]]],Primitive_positive:["define",{sourceInterval:[259,284]},null,[],["seq",{sourceInterval:[259,272]},["terminal",{sourceInterval:[259,262]},"+"],["app",{sourceInterval:[263,272]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[292,317]},null,[],["seq",{sourceInterval:[292,305]},["terminal",{sourceInterval:[292,295]},"-"],["app",{sourceInterval:[296,305]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[242,331]},null,[],["alt",{sourceInterval:[259,331]},["app",{sourceInterval:[259,272]},"Primitive_positive",[]],["app",{sourceInterval:[292,305]},"Primitive_negative",[]],["app",{sourceInterval:[325,331]},"number",[]]]],rollOpen:["define",{sourceInterval:[337,422]},null,[],["alt",{sourceInterval:[354,422]},["terminal",{sourceInterval:[354,357]},"("],["app",{sourceInterval:[365,391]},"caseInsensitive",[["terminal",{sourceInterval:[381,390]},"between"]]],["app",{sourceInterval:[399,422]},"caseInsensitive",[["terminal",{sourceInterval:[415,421]},"from"]]]]],rollSeperator:["define",{sourceInterval:[428,522]},null,[],["alt",{sourceInterval:[449,522]},["terminal",{sourceInterval:[449,452]},","],["terminal",{sourceInterval:[460,463]},"-"],["app",{sourceInterval:[471,493]},"caseInsensitive",[["terminal",{sourceInterval:[487,492]},"and"]]],["app",{sourceInterval:[501,522]},"caseInsensitive",[["terminal",{sourceInterval:[517,521]},"to"]]]]],rollEnd:["define",{sourceInterval:[528,546]},null,[],["terminal",{sourceInterval:[543,546]},")"]],number_fract:["define",{sourceInterval:[566,593]},null,[],["seq",{sourceInterval:[566,583]},["star",{sourceInterval:[566,572]},["app",{sourceInterval:[566,571]},"digit",[]]],["terminal",{sourceInterval:[573,576]},"."],["plus",{sourceInterval:[577,583]},["app",{sourceInterval:[577,582]},"digit",[]]]]],number_whole:["define",{sourceInterval:[601,628]},null,[],["plus",{sourceInterval:[601,607]},["app",{sourceInterval:[601,606]},"digit",[]]]],number:["define",{sourceInterval:[552,628]},null,[],["alt",{sourceInterval:[566,628]},["app",{sourceInterval:[566,583]},"number_fract",[]],["app",{sourceInterval:[601,607]},"number_whole",[]]]]}]);lc.exports=Zf});var mc=E((U3,pc)=>{"use strict";var{makeRecipe:cc}=Qe(),Kn={};Kn.BasicArithmetic=cc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);Kn.FunctionArithmetic=cc(["grammar",{source:`FunctionArithmetic <: BasicArithmetic {\r
|
|
P\r
|
|
:= "(" Expression ")" -- parenthesis\r
|
|
| Function\r
|
|
| Primitive\r
|
|
\r
|
|
Function\r
|
|
= DegreesToRadians\r
|
|
| RadiansToDegrees\r
|
|
| LogBase\r
|
|
| JavascriptMathObjectFunction\r
|
|
\r
|
|
LogBase \r
|
|
= caseInsensitive<"logb"> "(" number "," number ")"\r
|
|
| caseInsensitive<"logBase"> "(" number "," number ")"\r
|
|
\r
|
|
DegreesToRadians \r
|
|
= caseInsensitive<"degToRad"> "(" number ")"\r
|
|
| caseInsensitive<"degreesToRadians"> "(" number ")"\r
|
|
| caseInsensitive<"radians"> "(" number ")"\r
|
|
| caseInsensitive<"toRadians"> "(" number ")"\r
|
|
\r
|
|
RadiansToDegrees \r
|
|
= caseInsensitive<"radToDeg"> "(" number ")"\r
|
|
| caseInsensitive<"radiansToDegrees"> "(" number ")"\r
|
|
| caseInsensitive<"degrees"> "(" number ")"\r
|
|
| caseInsensitive<"toDegrees"> "(" number ")"\r
|
|
\r
|
|
// Pass-through for Math.* functions from JS\r
|
|
JavascriptMathObjectFunction = mathJsName "(" ListOf<Expression, ","> ")"\r
|
|
\r
|
|
mathJsName \r
|
|
= caseInsensitive<"sinh">\r
|
|
| caseInsensitive<"sin">\r
|
|
| caseInsensitive<"abs">\r
|
|
| caseInsensitive<"acosh">\r
|
|
| caseInsensitive<"acos">\r
|
|
| caseInsensitive<"asinh">\r
|
|
| caseInsensitive<"asin">\r
|
|
| caseInsensitive<"atan2">\r
|
|
| caseInsensitive<"atanh">\r
|
|
| caseInsensitive<"atan">\r
|
|
| caseInsensitive<"cbrt">\r
|
|
| caseInsensitive<"ceil">\r
|
|
| caseInsensitive<"clz32">\r
|
|
| caseInsensitive<"cosh">\r
|
|
| caseInsensitive<"cos">\r
|
|
| caseInsensitive<"expm1">\r
|
|
| caseInsensitive<"exp">\r
|
|
| caseInsensitive<"floor">\r
|
|
| caseInsensitive<"fround">\r
|
|
| caseInsensitive<"hypot">\r
|
|
| caseInsensitive<"imul">\r
|
|
| caseInsensitive<"log10">\r
|
|
| caseInsensitive<"log1p">\r
|
|
| caseInsensitive<"log2">\r
|
|
| caseInsensitive<"log">\r
|
|
| caseInsensitive<"max">\r
|
|
| caseInsensitive<"min">\r
|
|
| caseInsensitive<"pow">\r
|
|
| caseInsensitive<"random">\r
|
|
| caseInsensitive<"round">\r
|
|
| caseInsensitive<"sign">\r
|
|
| caseInsensitive<"sqrt">\r
|
|
| caseInsensitive<"tanh">\r
|
|
| caseInsensitive<"tan">\r
|
|
| caseInsensitive<"trunc">\r
|
|
}`},"FunctionArithmetic",Kn.BasicArithmetic,"Expression",{P_parenthesis:["override",{sourceInterval:[53,87]},null,[],["seq",{sourceInterval:[53,71]},["terminal",{sourceInterval:[53,56]},"("],["app",{sourceInterval:[57,67]},"Expression",[]],["terminal",{sourceInterval:[68,71]},")"]]],P:["override",{sourceInterval:[43,120]},null,[],["alt",{sourceInterval:[53,120]},["app",{sourceInterval:[53,71]},"P_parenthesis",[]],["app",{sourceInterval:[95,103]},"Function",[]],["app",{sourceInterval:[111,120]},"Primitive",[]]]],Function:["define",{sourceInterval:[126,233]},null,[],["alt",{sourceInterval:[142,233]},["app",{sourceInterval:[142,158]},"DegreesToRadians",[]],["app",{sourceInterval:[166,182]},"RadiansToDegrees",[]],["app",{sourceInterval:[190,197]},"LogBase",[]],["app",{sourceInterval:[205,233]},"JavascriptMathObjectFunction",[]]]],LogBase:["define",{sourceInterval:[239,364]},null,[],["alt",{sourceInterval:[255,364]},["seq",{sourceInterval:[255,304]},["app",{sourceInterval:[255,278]},"caseInsensitive",[["terminal",{sourceInterval:[271,277]},"logb"]]],["terminal",{sourceInterval:[279,282]},"("],["app",{sourceInterval:[283,289]},"number",[]],["terminal",{sourceInterval:[290,293]},","],["app",{sourceInterval:[294,300]},"number",[]],["terminal",{sourceInterval:[301,304]},")"]],["seq",{sourceInterval:[312,364]},["app",{sourceInterval:[312,338]},"caseInsensitive",[["terminal",{sourceInterval:[328,337]},"logBase"]]],["terminal",{sourceInterval:[339,342]},"("],["app",{sourceInterval:[343,349]},"number",[]],["terminal",{sourceInterval:[350,353]},","],["app",{sourceInterval:[354,360]},"number",[]],["terminal",{sourceInterval:[361,364]},")"]]]],DegreesToRadians:["define",{sourceInterval:[370,595]},null,[],["alt",{sourceInterval:[395,595]},["seq",{sourceInterval:[395,437]},["app",{sourceInterval:[395,422]},"caseInsensitive",[["terminal",{sourceInterval:[411,421]},"degToRad"]]],["terminal",{sourceInterval:[423,426]},"("],["app",{sourceInterval:[427,433]},"number",[]],["terminal",{sourceInterval:[434,437]},")"]],["seq",{sourceInterval:[445,495]},["app",{sourceInterval:[445,480]},"caseInsensitive",[["terminal",{sourceInterval:[461,479]},"degreesToRadians"]]],["terminal",{sourceInterval:[481,484]},"("],["app",{sourceInterval:[485,491]},"number",[]],["terminal",{sourceInterval:[492,495]},")"]],["seq",{sourceInterval:[503,544]},["app",{sourceInterval:[503,529]},"caseInsensitive",[["terminal",{sourceInterval:[519,528]},"radians"]]],["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,540]},"number",[]],["terminal",{sourceInterval:[541,544]},")"]],["seq",{sourceInterval:[552,595]},["app",{sourceInterval:[552,580]},"caseInsensitive",[["terminal",{sourceInterval:[568,579]},"toRadians"]]],["terminal",{sourceInterval:[581,584]},"("],["app",{sourceInterval:[585,591]},"number",[]],["terminal",{sourceInterval:[592,595]},")"]]]],RadiansToDegrees:["define",{sourceInterval:[601,826]},null,[],["alt",{sourceInterval:[626,826]},["seq",{sourceInterval:[626,668]},["app",{sourceInterval:[626,653]},"caseInsensitive",[["terminal",{sourceInterval:[642,652]},"radToDeg"]]],["terminal",{sourceInterval:[654,657]},"("],["app",{sourceInterval:[658,664]},"number",[]],["terminal",{sourceInterval:[665,668]},")"]],["seq",{sourceInterval:[676,726]},["app",{sourceInterval:[676,711]},"caseInsensitive",[["terminal",{sourceInterval:[692,710]},"radiansToDegrees"]]],["terminal",{sourceInterval:[712,715]},"("],["app",{sourceInterval:[716,722]},"number",[]],["terminal",{sourceInterval:[723,726]},")"]],["seq",{sourceInterval:[734,775]},["app",{sourceInterval:[734,760]},"caseInsensitive",[["terminal",{sourceInterval:[750,759]},"degrees"]]],["terminal",{sourceInterval:[761,764]},"("],["app",{sourceInterval:[765,771]},"number",[]],["terminal",{sourceInterval:[772,775]},")"]],["seq",{sourceInterval:[783,826]},["app",{sourceInterval:[783,811]},"caseInsensitive",[["terminal",{sourceInterval:[799,810]},"toDegrees"]]],["terminal",{sourceInterval:[812,815]},"("],["app",{sourceInterval:[816,822]},"number",[]],["terminal",{sourceInterval:[823,826]},")"]]]],JavascriptMathObjectFunction:["define",{sourceInterval:[880,953]},null,[],["seq",{sourceInterval:[911,953]},["app",{sourceInterval:[911,921]},"mathJsName",[]],["terminal",{sourceInterval:[922,925]},"("],["app",{sourceInterval:[926,949]},"ListOf",[["app",{sourceInterval:[933,943]},"Expression",[]],["terminal",{sourceInterval:[945,948]},","]]],["terminal",{sourceInterval:[950,953]},")"]]],mathJsName:["define",{sourceInterval:[959,2062]},null,[],["alt",{sourceInterval:[978,2062]},["app",{sourceInterval:[978,1001]},"caseInsensitive",[["terminal",{sourceInterval:[994,1e3]},"sinh"]]],["app",{sourceInterval:[1009,1031]},"caseInsensitive",[["terminal",{sourceInterval:[1025,1030]},"sin"]]],["app",{sourceInterval:[1039,1061]},"caseInsensitive",[["terminal",{sourceInterval:[1055,1060]},"abs"]]],["app",{sourceInterval:[1069,1093]},"caseInsensitive",[["terminal",{sourceInterval:[1085,1092]},"acosh"]]],["app",{sourceInterval:[1101,1124]},"caseInsensitive",[["terminal",{sourceInterval:[1117,1123]},"acos"]]],["app",{sourceInterval:[1132,1156]},"caseInsensitive",[["terminal",{sourceInterval:[1148,1155]},"asinh"]]],["app",{sourceInterval:[1164,1187]},"caseInsensitive",[["terminal",{sourceInterval:[1180,1186]},"asin"]]],["app",{sourceInterval:[1195,1219]},"caseInsensitive",[["terminal",{sourceInterval:[1211,1218]},"atan2"]]],["app",{sourceInterval:[1227,1251]},"caseInsensitive",[["terminal",{sourceInterval:[1243,1250]},"atanh"]]],["app",{sourceInterval:[1259,1282]},"caseInsensitive",[["terminal",{sourceInterval:[1275,1281]},"atan"]]],["app",{sourceInterval:[1290,1313]},"caseInsensitive",[["terminal",{sourceInterval:[1306,1312]},"cbrt"]]],["app",{sourceInterval:[1321,1344]},"caseInsensitive",[["terminal",{sourceInterval:[1337,1343]},"ceil"]]],["app",{sourceInterval:[1352,1376]},"caseInsensitive",[["terminal",{sourceInterval:[1368,1375]},"clz32"]]],["app",{sourceInterval:[1384,1407]},"caseInsensitive",[["terminal",{sourceInterval:[1400,1406]},"cosh"]]],["app",{sourceInterval:[1415,1437]},"caseInsensitive",[["terminal",{sourceInterval:[1431,1436]},"cos"]]],["app",{sourceInterval:[1445,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1461,1468]},"expm1"]]],["app",{sourceInterval:[1477,1499]},"caseInsensitive",[["terminal",{sourceInterval:[1493,1498]},"exp"]]],["app",{sourceInterval:[1507,1531]},"caseInsensitive",[["terminal",{sourceInterval:[1523,1530]},"floor"]]],["app",{sourceInterval:[1539,1564]},"caseInsensitive",[["terminal",{sourceInterval:[1555,1563]},"fround"]]],["app",{sourceInterval:[1572,1596]},"caseInsensitive",[["terminal",{sourceInterval:[1588,1595]},"hypot"]]],["app",{sourceInterval:[1604,1627]},"caseInsensitive",[["terminal",{sourceInterval:[1620,1626]},"imul"]]],["app",{sourceInterval:[1635,1659]},"caseInsensitive",[["terminal",{sourceInterval:[1651,1658]},"log10"]]],["app",{sourceInterval:[1667,1691]},"caseInsensitive",[["terminal",{sourceInterval:[1683,1690]},"log1p"]]],["app",{sourceInterval:[1699,1722]},"caseInsensitive",[["terminal",{sourceInterval:[1715,1721]},"log2"]]],["app",{sourceInterval:[1730,1752]},"caseInsensitive",[["terminal",{sourceInterval:[1746,1751]},"log"]]],["app",{sourceInterval:[1760,1782]},"caseInsensitive",[["terminal",{sourceInterval:[1776,1781]},"max"]]],["app",{sourceInterval:[1790,1812]},"caseInsensitive",[["terminal",{sourceInterval:[1806,1811]},"min"]]],["app",{sourceInterval:[1820,1842]},"caseInsensitive",[["terminal",{sourceInterval:[1836,1841]},"pow"]]],["app",{sourceInterval:[1850,1875]},"caseInsensitive",[["terminal",{sourceInterval:[1866,1874]},"random"]]],["app",{sourceInterval:[1883,1907]},"caseInsensitive",[["terminal",{sourceInterval:[1899,1906]},"round"]]],["app",{sourceInterval:[1915,1938]},"caseInsensitive",[["terminal",{sourceInterval:[1931,1937]},"sign"]]],["app",{sourceInterval:[1946,1969]},"caseInsensitive",[["terminal",{sourceInterval:[1962,1968]},"sqrt"]]],["app",{sourceInterval:[1977,2e3]},"caseInsensitive",[["terminal",{sourceInterval:[1993,1999]},"tanh"]]],["app",{sourceInterval:[2008,2030]},"caseInsensitive",[["terminal",{sourceInterval:[2024,2029]},"tan"]]],["app",{sourceInterval:[2038,2062]},"caseInsensitive",[["terminal",{sourceInterval:[2054,2061]},"trunc"]]]]]}]);pc.exports=Kn});var gc=E((X3,Ic)=>{"use strict";var{makeRecipe:fc}=Qe(),Jn={};Jn.BasicArithmetic=fc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);Jn.PercentageArithmetic=fc(["grammar",{source:`PercentageArithmetic <: BasicArithmetic {\r
|
|
Expression\r
|
|
:= PercentageOf\r
|
|
| IncreaseBy\r
|
|
| DecreaseBy\r
|
|
| PercentageIncreaseOrDecrease\r
|
|
| LogicalShift\r
|
|
\r
|
|
Primitive \r
|
|
+= percentage\r
|
|
\r
|
|
PercentageOf\r
|
|
= percentage caseInsensitive<"of"> number \r
|
|
\r
|
|
IncreaseBy\r
|
|
= caseInsensitive<"increase"> number caseInsensitive<"by"> percentage\r
|
|
\r
|
|
DecreaseBy\r
|
|
= caseInsensitive<"decrease"> number caseInsensitive<"by"> percentage\r
|
|
\r
|
|
PercentageIncreaseOrDecrease\r
|
|
= caseInsensitive<"from">? number caseInsensitive<"to"> number\r
|
|
\r
|
|
percentage = number "%"\r
|
|
}`},"PercentageArithmetic",Jn.BasicArithmetic,"Expression",{Expression:["override",{sourceInterval:[44,179]},null,[],["alt",{sourceInterval:[65,179]},["app",{sourceInterval:[65,77]},"PercentageOf",[]],["app",{sourceInterval:[89,99]},"IncreaseBy",[]],["app",{sourceInterval:[111,121]},"DecreaseBy",[]],["app",{sourceInterval:[133,161]},"PercentageIncreaseOrDecrease",[]],["app",{sourceInterval:[167,179]},"LogicalShift",[]]]],Primitive:["extend",{sourceInterval:[195,228]},null,[],["app",{sourceInterval:[218,228]},"percentage",[]]],PercentageOf:["define",{sourceInterval:[244,304]},null,[],["seq",{sourceInterval:[265,304]},["app",{sourceInterval:[265,275]},"percentage",[]],["app",{sourceInterval:[276,297]},"caseInsensitive",[["terminal",{sourceInterval:[292,296]},"of"]]],["app",{sourceInterval:[298,304]},"number",[]]]],IncreaseBy:["define",{sourceInterval:[321,407]},null,[],["seq",{sourceInterval:[340,407]},["app",{sourceInterval:[340,367]},"caseInsensitive",[["terminal",{sourceInterval:[356,366]},"increase"]]],["app",{sourceInterval:[368,374]},"number",[]],["app",{sourceInterval:[375,396]},"caseInsensitive",[["terminal",{sourceInterval:[391,395]},"by"]]],["app",{sourceInterval:[397,407]},"percentage",[]]]],DecreaseBy:["define",{sourceInterval:[423,509]},null,[],["seq",{sourceInterval:[442,509]},["app",{sourceInterval:[442,469]},"caseInsensitive",[["terminal",{sourceInterval:[458,468]},"decrease"]]],["app",{sourceInterval:[470,476]},"number",[]],["app",{sourceInterval:[477,498]},"caseInsensitive",[["terminal",{sourceInterval:[493,497]},"by"]]],["app",{sourceInterval:[499,509]},"percentage",[]]]],PercentageIncreaseOrDecrease:["define",{sourceInterval:[521,621]},null,[],["seq",{sourceInterval:[561,621]},["opt",{sourceInterval:[561,585]},["app",{sourceInterval:[561,584]},"caseInsensitive",[["terminal",{sourceInterval:[577,583]},"from"]]]],["app",{sourceInterval:[586,592]},"number",[]],["app",{sourceInterval:[593,614]},"caseInsensitive",[["terminal",{sourceInterval:[609,613]},"to"]]],["app",{sourceInterval:[615,621]},"number",[]]]],percentage:["define",{sourceInterval:[629,652]},null,[],["seq",{sourceInterval:[642,652]},["app",{sourceInterval:[642,648]},"number",[]],["terminal",{sourceInterval:[649,652]},"%"]]]}]);Ic.exports=Jn});var Sc=E((O4,_c)=>{"use strict";var{makeRecipe:yc}=Qe(),ns={};ns.BasicArithmetic=yc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);ns.UnitsOfMeasurementArithmetic=yc(["grammar",{source:`UnitsOfMeasurementArithmetic <: BasicArithmetic {\r
|
|
Expression\r
|
|
:= \r
|
|
| Conversion\r
|
|
| ConversionPossiblities\r
|
|
| LogicalShift\r
|
|
\r
|
|
Primitive \r
|
|
+= uom\r
|
|
| percentage\r
|
|
\r
|
|
Conversion\r
|
|
= caseInsensitive<"convert">? LogicalShift caseInsensitive<"to"> caseInsensitive<"best"> -- best\r
|
|
| caseInsensitive<"convert">? LogicalShift caseInsensitive<"to"> unit -- convert \r
|
|
\r
|
|
ConversionPossiblities\r
|
|
= caseInsensitive<"convert">? LogicalShift caseInsensitive<"to"> "?"?\r
|
|
\r
|
|
percentage \r
|
|
= number "%"\r
|
|
\r
|
|
// Important: The reason we include \`~("to" space+)\` is to prevent matching "t" or "torr" units when used in expression "convert 100g + 20 to g"\r
|
|
uom \r
|
|
= number spaces ~("to" ~"rr") spaces unit\r
|
|
\r
|
|
unit\r
|
|
= "km3/s"\r
|
|
| "yd3/h"\r
|
|
| "yd3/min"\r
|
|
| "yd3/s"\r
|
|
| "ft3/h"\r
|
|
| "ft3/min"\r
|
|
| "ft3/s"\r
|
|
| "in3/h"\r
|
|
| "in3/min"\r
|
|
| "in3/s"\r
|
|
| "mm3/s"\r
|
|
| "cm3/s"\r
|
|
| "fl-oz/h"\r
|
|
| "fl-oz/min"\r
|
|
| "fl-oz/s"\r
|
|
| "gal/h"\r
|
|
| "gal/min"\r
|
|
| "gal/s"\r
|
|
| "pnt/h"\r
|
|
| "pnt/min"\r
|
|
| "pnt/s"\r
|
|
| "cup/s"\r
|
|
| "Tbs/s"\r
|
|
| "tsp/s"\r
|
|
| "m3/h"\r
|
|
| "m3/min"\r
|
|
| "m3/s"\r
|
|
| "kl/h"\r
|
|
| "kl/min"\r
|
|
| "kl/s"\r
|
|
| "l/h"\r
|
|
| "l/min"\r
|
|
| "l/s"\r
|
|
| "dl/s"\r
|
|
| "cl/s"\r
|
|
| "ml/s"\r
|
|
| "min/km"\r
|
|
| "s/ft"\r
|
|
| "s/m"\r
|
|
| "km/h"\r
|
|
| "m/h"\r
|
|
| "ft/s"\r
|
|
| "m/s"\r
|
|
| "knot"\r
|
|
| "THz"\r
|
|
| "GHz"\r
|
|
| "MHz"\r
|
|
| "kHz"\r
|
|
| "mHz"\r
|
|
| "Hz"\r
|
|
| "rpm"\r
|
|
| "rad/s"\r
|
|
| "deg/s"\r
|
|
| "km3"\r
|
|
| "yd3"\r
|
|
| "ft3"\r
|
|
| "in3"\r
|
|
| "mm3"\r
|
|
| "cm3"\r
|
|
| "m3"\r
|
|
| "gal"\r
|
|
| "qt"\r
|
|
| "pnt"\r
|
|
| "cup"\r
|
|
| "fl-oz"\r
|
|
| "Tbs"\r
|
|
| "tsp"\r
|
|
| "kl"\r
|
|
| "lb"\r
|
|
| "lx"\r
|
|
| "l"\r
|
|
| "ml"\r
|
|
| "km2"\r
|
|
| "mi2"\r
|
|
| "mm2"\r
|
|
| "cm2"\r
|
|
| "m2"\r
|
|
| "in2"\r
|
|
| "ft2"\r
|
|
| "ha"\r
|
|
| "ac"\r
|
|
| "GVARh"\r
|
|
| "MVARh"\r
|
|
| "kVARh"\r
|
|
| "mVARh"\r
|
|
| "VARh"\r
|
|
| "GVAR"\r
|
|
| "MVAR"\r
|
|
| "kVAR"\r
|
|
| "mVAR"\r
|
|
| "VAR"\r
|
|
| "GVA"\r
|
|
| "MVA"\r
|
|
| "kVA"\r
|
|
| "mVA"\r
|
|
| "VA"\r
|
|
| "GWh"\r
|
|
| "MWh"\r
|
|
| "kWh"\r
|
|
| "mWh"\r
|
|
| "Wh"\r
|
|
| "GW"\r
|
|
| "MW"\r
|
|
| "kW"\r
|
|
| "mW"\r
|
|
| "W"\r
|
|
| "kJ"\r
|
|
| "J"\r
|
|
| "mcg"\r
|
|
| "kg"\r
|
|
| "grad"\r
|
|
| "g"\r
|
|
| "mg"\r
|
|
| "oz"\r
|
|
| "torr"\r
|
|
| "t"\r
|
|
| "mt"\r
|
|
| "month"\r
|
|
| "year"\r
|
|
| "week"\r
|
|
| "deg"\r
|
|
| "d"\r
|
|
| "hPa"\r
|
|
| "h"\r
|
|
| "min"\r
|
|
| "s"\r
|
|
| "ms"\r
|
|
| "mu"\r
|
|
| "ns"\r
|
|
| "kPa"\r
|
|
| "MPa"\r
|
|
| "bar"\r
|
|
| "psi"\r
|
|
| "ksi"\r
|
|
| "Pa"\r
|
|
| "ft-cd"\r
|
|
| "ppm"\r
|
|
| "ppb"\r
|
|
| "ppt"\r
|
|
| "ppq"\r
|
|
| "kV"\r
|
|
| "V"\r
|
|
| "mV"\r
|
|
| "kA"\r
|
|
| "A"\r
|
|
| "mA"\r
|
|
| "arcmin"\r
|
|
| "arcsec"\r
|
|
| "rad"\r
|
|
| "ft-us"\r
|
|
| "mi"\r
|
|
| "mm"\r
|
|
| "m"\r
|
|
| "cm"\r
|
|
| "yd"\r
|
|
| "km"\r
|
|
| "ft"\r
|
|
| "in"\r
|
|
| "F"\r
|
|
| "Kb"\r
|
|
| "KB"\r
|
|
| "K"\r
|
|
| "C"\r
|
|
| "R"\r
|
|
| "TB"\r
|
|
| "GB"\r
|
|
| "MB"\r
|
|
| "B"\r
|
|
| "Tb"\r
|
|
| "Gb"\r
|
|
| "Mb"\r
|
|
| "b"\r
|
|
}`},"UnitsOfMeasurementArithmetic",ns.BasicArithmetic,"Expression",{Expression:["override",{sourceInterval:[53,148]},null,[],["alt",{sourceInterval:[84,148]},["app",{sourceInterval:[86,96]},"Conversion",[]],["app",{sourceInterval:[108,130]},"ConversionPossiblities",[]],["app",{sourceInterval:[136,148]},"LogicalShift",[]]]],Primitive:["extend",{sourceInterval:[164,212]},null,[],["alt",{sourceInterval:[187,212]},["app",{sourceInterval:[187,190]},"uom",[]],["app",{sourceInterval:[202,212]},"percentage",[]]]],Conversion_best:["define",{sourceInterval:[247,341]},null,[],["seq",{sourceInterval:[247,333]},["opt",{sourceInterval:[247,274]},["app",{sourceInterval:[247,273]},"caseInsensitive",[["terminal",{sourceInterval:[263,272]},"convert"]]]],["app",{sourceInterval:[275,287]},"LogicalShift",[]],["app",{sourceInterval:[288,309]},"caseInsensitive",[["terminal",{sourceInterval:[304,308]},"to"]]],["app",{sourceInterval:[310,333]},"caseInsensitive",[["terminal",{sourceInterval:[326,332]},"best"]]]]],Conversion_convert:["define",{sourceInterval:[353,431]},null,[],["seq",{sourceInterval:[353,420]},["opt",{sourceInterval:[353,380]},["app",{sourceInterval:[353,379]},"caseInsensitive",[["terminal",{sourceInterval:[369,378]},"convert"]]]],["app",{sourceInterval:[381,393]},"LogicalShift",[]],["app",{sourceInterval:[394,415]},"caseInsensitive",[["terminal",{sourceInterval:[410,414]},"to"]]],["app",{sourceInterval:[416,420]},"unit",[]]]],Conversion:["define",{sourceInterval:[228,431]},null,[],["alt",{sourceInterval:[247,431]},["app",{sourceInterval:[247,333]},"Conversion_best",[]],["app",{sourceInterval:[353,420]},"Conversion_convert",[]]]],ConversionPossiblities:["define",{sourceInterval:[452,553]},null,[],["seq",{sourceInterval:[486,553]},["opt",{sourceInterval:[486,513]},["app",{sourceInterval:[486,512]},"caseInsensitive",[["terminal",{sourceInterval:[502,511]},"convert"]]]],["app",{sourceInterval:[514,526]},"LogicalShift",[]],["app",{sourceInterval:[527,548]},"caseInsensitive",[["terminal",{sourceInterval:[543,547]},"to"]]],["opt",{sourceInterval:[549,553]},["terminal",{sourceInterval:[549,552]},"?"]]]],percentage:["define",{sourceInterval:[565,598]},null,[],["seq",{sourceInterval:[588,598]},["app",{sourceInterval:[588,594]},"number",[]],["terminal",{sourceInterval:[595,598]},"%"]]],uom:["define",{sourceInterval:[760,815]},null,[],["seq",{sourceInterval:[776,815]},["app",{sourceInterval:[776,782]},"number",[]],["app",{sourceInterval:[783,789]},"spaces",[]],["not",{sourceInterval:[790,803]},["seq",{sourceInterval:[792,802]},["terminal",{sourceInterval:[792,796]},"to"],["not",{sourceInterval:[797,802]},["terminal",{sourceInterval:[798,802]},"rr"]]]],["app",{sourceInterval:[804,810]},"spaces",[]],["app",{sourceInterval:[811,815]},"unit",[]]]],unit:["define",{sourceInterval:[827,3800]},null,[],["alt",{sourceInterval:[843,3800]},["terminal",{sourceInterval:[843,850]},"km3/s"],["terminal",{sourceInterval:[862,869]},"yd3/h"],["terminal",{sourceInterval:[881,890]},"yd3/min"],["terminal",{sourceInterval:[902,909]},"yd3/s"],["terminal",{sourceInterval:[921,928]},"ft3/h"],["terminal",{sourceInterval:[940,949]},"ft3/min"],["terminal",{sourceInterval:[961,968]},"ft3/s"],["terminal",{sourceInterval:[980,987]},"in3/h"],["terminal",{sourceInterval:[999,1008]},"in3/min"],["terminal",{sourceInterval:[1020,1027]},"in3/s"],["terminal",{sourceInterval:[1039,1046]},"mm3/s"],["terminal",{sourceInterval:[1058,1065]},"cm3/s"],["terminal",{sourceInterval:[1077,1086]},"fl-oz/h"],["terminal",{sourceInterval:[1098,1109]},"fl-oz/min"],["terminal",{sourceInterval:[1121,1130]},"fl-oz/s"],["terminal",{sourceInterval:[1142,1149]},"gal/h"],["terminal",{sourceInterval:[1161,1170]},"gal/min"],["terminal",{sourceInterval:[1182,1189]},"gal/s"],["terminal",{sourceInterval:[1201,1208]},"pnt/h"],["terminal",{sourceInterval:[1220,1229]},"pnt/min"],["terminal",{sourceInterval:[1241,1248]},"pnt/s"],["terminal",{sourceInterval:[1260,1267]},"cup/s"],["terminal",{sourceInterval:[1279,1286]},"Tbs/s"],["terminal",{sourceInterval:[1298,1305]},"tsp/s"],["terminal",{sourceInterval:[1317,1323]},"m3/h"],["terminal",{sourceInterval:[1335,1343]},"m3/min"],["terminal",{sourceInterval:[1355,1361]},"m3/s"],["terminal",{sourceInterval:[1373,1379]},"kl/h"],["terminal",{sourceInterval:[1391,1399]},"kl/min"],["terminal",{sourceInterval:[1411,1417]},"kl/s"],["terminal",{sourceInterval:[1429,1434]},"l/h"],["terminal",{sourceInterval:[1446,1453]},"l/min"],["terminal",{sourceInterval:[1465,1470]},"l/s"],["terminal",{sourceInterval:[1482,1488]},"dl/s"],["terminal",{sourceInterval:[1500,1506]},"cl/s"],["terminal",{sourceInterval:[1518,1524]},"ml/s"],["terminal",{sourceInterval:[1536,1544]},"min/km"],["terminal",{sourceInterval:[1556,1562]},"s/ft"],["terminal",{sourceInterval:[1574,1579]},"s/m"],["terminal",{sourceInterval:[1591,1597]},"km/h"],["terminal",{sourceInterval:[1609,1614]},"m/h"],["terminal",{sourceInterval:[1626,1632]},"ft/s"],["terminal",{sourceInterval:[1644,1649]},"m/s"],["terminal",{sourceInterval:[1661,1667]},"knot"],["terminal",{sourceInterval:[1679,1684]},"THz"],["terminal",{sourceInterval:[1696,1701]},"GHz"],["terminal",{sourceInterval:[1713,1718]},"MHz"],["terminal",{sourceInterval:[1730,1735]},"kHz"],["terminal",{sourceInterval:[1747,1752]},"mHz"],["terminal",{sourceInterval:[1764,1768]},"Hz"],["terminal",{sourceInterval:[1780,1785]},"rpm"],["terminal",{sourceInterval:[1797,1804]},"rad/s"],["terminal",{sourceInterval:[1816,1823]},"deg/s"],["terminal",{sourceInterval:[1835,1840]},"km3"],["terminal",{sourceInterval:[1852,1857]},"yd3"],["terminal",{sourceInterval:[1869,1874]},"ft3"],["terminal",{sourceInterval:[1886,1891]},"in3"],["terminal",{sourceInterval:[1903,1908]},"mm3"],["terminal",{sourceInterval:[1920,1925]},"cm3"],["terminal",{sourceInterval:[1937,1941]},"m3"],["terminal",{sourceInterval:[1953,1958]},"gal"],["terminal",{sourceInterval:[1970,1974]},"qt"],["terminal",{sourceInterval:[1986,1991]},"pnt"],["terminal",{sourceInterval:[2003,2008]},"cup"],["terminal",{sourceInterval:[2020,2027]},"fl-oz"],["terminal",{sourceInterval:[2039,2044]},"Tbs"],["terminal",{sourceInterval:[2056,2061]},"tsp"],["terminal",{sourceInterval:[2073,2077]},"kl"],["terminal",{sourceInterval:[2089,2093]},"lb"],["terminal",{sourceInterval:[2105,2109]},"lx"],["terminal",{sourceInterval:[2121,2124]},"l"],["terminal",{sourceInterval:[2136,2140]},"ml"],["terminal",{sourceInterval:[2152,2157]},"km2"],["terminal",{sourceInterval:[2169,2174]},"mi2"],["terminal",{sourceInterval:[2186,2191]},"mm2"],["terminal",{sourceInterval:[2203,2208]},"cm2"],["terminal",{sourceInterval:[2220,2224]},"m2"],["terminal",{sourceInterval:[2236,2241]},"in2"],["terminal",{sourceInterval:[2253,2258]},"ft2"],["terminal",{sourceInterval:[2270,2274]},"ha"],["terminal",{sourceInterval:[2286,2290]},"ac"],["terminal",{sourceInterval:[2302,2309]},"GVARh"],["terminal",{sourceInterval:[2321,2328]},"MVARh"],["terminal",{sourceInterval:[2340,2347]},"kVARh"],["terminal",{sourceInterval:[2359,2366]},"mVARh"],["terminal",{sourceInterval:[2378,2384]},"VARh"],["terminal",{sourceInterval:[2396,2402]},"GVAR"],["terminal",{sourceInterval:[2414,2420]},"MVAR"],["terminal",{sourceInterval:[2432,2438]},"kVAR"],["terminal",{sourceInterval:[2450,2456]},"mVAR"],["terminal",{sourceInterval:[2468,2473]},"VAR"],["terminal",{sourceInterval:[2485,2490]},"GVA"],["terminal",{sourceInterval:[2502,2507]},"MVA"],["terminal",{sourceInterval:[2519,2524]},"kVA"],["terminal",{sourceInterval:[2536,2541]},"mVA"],["terminal",{sourceInterval:[2553,2557]},"VA"],["terminal",{sourceInterval:[2569,2574]},"GWh"],["terminal",{sourceInterval:[2586,2591]},"MWh"],["terminal",{sourceInterval:[2603,2608]},"kWh"],["terminal",{sourceInterval:[2620,2625]},"mWh"],["terminal",{sourceInterval:[2637,2641]},"Wh"],["terminal",{sourceInterval:[2653,2657]},"GW"],["terminal",{sourceInterval:[2669,2673]},"MW"],["terminal",{sourceInterval:[2685,2689]},"kW"],["terminal",{sourceInterval:[2701,2705]},"mW"],["terminal",{sourceInterval:[2717,2720]},"W"],["terminal",{sourceInterval:[2732,2736]},"kJ"],["terminal",{sourceInterval:[2748,2751]},"J"],["terminal",{sourceInterval:[2763,2768]},"mcg"],["terminal",{sourceInterval:[2780,2784]},"kg"],["terminal",{sourceInterval:[2796,2802]},"grad"],["terminal",{sourceInterval:[2814,2817]},"g"],["terminal",{sourceInterval:[2829,2833]},"mg"],["terminal",{sourceInterval:[2845,2849]},"oz"],["terminal",{sourceInterval:[2861,2867]},"torr"],["terminal",{sourceInterval:[2879,2882]},"t"],["terminal",{sourceInterval:[2894,2898]},"mt"],["terminal",{sourceInterval:[2910,2917]},"month"],["terminal",{sourceInterval:[2929,2935]},"year"],["terminal",{sourceInterval:[2947,2953]},"week"],["terminal",{sourceInterval:[2965,2970]},"deg"],["terminal",{sourceInterval:[2982,2985]},"d"],["terminal",{sourceInterval:[2997,3002]},"hPa"],["terminal",{sourceInterval:[3014,3017]},"h"],["terminal",{sourceInterval:[3029,3034]},"min"],["terminal",{sourceInterval:[3046,3049]},"s"],["terminal",{sourceInterval:[3061,3065]},"ms"],["terminal",{sourceInterval:[3077,3081]},"mu"],["terminal",{sourceInterval:[3093,3097]},"ns"],["terminal",{sourceInterval:[3109,3114]},"kPa"],["terminal",{sourceInterval:[3126,3131]},"MPa"],["terminal",{sourceInterval:[3143,3148]},"bar"],["terminal",{sourceInterval:[3160,3165]},"psi"],["terminal",{sourceInterval:[3177,3182]},"ksi"],["terminal",{sourceInterval:[3194,3198]},"Pa"],["terminal",{sourceInterval:[3210,3217]},"ft-cd"],["terminal",{sourceInterval:[3229,3234]},"ppm"],["terminal",{sourceInterval:[3246,3251]},"ppb"],["terminal",{sourceInterval:[3263,3268]},"ppt"],["terminal",{sourceInterval:[3280,3285]},"ppq"],["terminal",{sourceInterval:[3297,3301]},"kV"],["terminal",{sourceInterval:[3313,3316]},"V"],["terminal",{sourceInterval:[3328,3332]},"mV"],["terminal",{sourceInterval:[3344,3348]},"kA"],["terminal",{sourceInterval:[3360,3363]},"A"],["terminal",{sourceInterval:[3375,3379]},"mA"],["terminal",{sourceInterval:[3391,3399]},"arcmin"],["terminal",{sourceInterval:[3411,3419]},"arcsec"],["terminal",{sourceInterval:[3431,3436]},"rad"],["terminal",{sourceInterval:[3448,3455]},"ft-us"],["terminal",{sourceInterval:[3467,3471]},"mi"],["terminal",{sourceInterval:[3483,3487]},"mm"],["terminal",{sourceInterval:[3499,3502]},"m"],["terminal",{sourceInterval:[3514,3518]},"cm"],["terminal",{sourceInterval:[3530,3534]},"yd"],["terminal",{sourceInterval:[3546,3550]},"km"],["terminal",{sourceInterval:[3562,3566]},"ft"],["terminal",{sourceInterval:[3578,3582]},"in"],["terminal",{sourceInterval:[3594,3597]},"F"],["terminal",{sourceInterval:[3609,3613]},"Kb"],["terminal",{sourceInterval:[3625,3629]},"KB"],["terminal",{sourceInterval:[3641,3644]},"K"],["terminal",{sourceInterval:[3656,3659]},"C"],["terminal",{sourceInterval:[3671,3674]},"R"],["terminal",{sourceInterval:[3686,3690]},"TB"],["terminal",{sourceInterval:[3702,3706]},"GB"],["terminal",{sourceInterval:[3718,3722]},"MB"],["terminal",{sourceInterval:[3734,3737]},"B"],["terminal",{sourceInterval:[3749,3753]},"Tb"],["terminal",{sourceInterval:[3765,3769]},"Gb"],["terminal",{sourceInterval:[3781,3785]},"Mb"],["terminal",{sourceInterval:[3797,3800]},"b"]]]}]);_c.exports=ns});var wc=E((G4,bc)=>{"use strict";var{makeRecipe:xc}=Qe(),as={};as.BasicArithmetic=xc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);as.Vector2Arithmetic=xc(["grammar",{source:`Vector2Arithmetic <: BasicArithmetic {\r
|
|
// Remove support for logical shift\r
|
|
Expression \r
|
|
:= AS\r
|
|
\r
|
|
P\r
|
|
:= "(" Expression ")" -- parenthesis\r
|
|
| Vector2\r
|
|
| Function\r
|
|
| Primitive\r
|
|
\r
|
|
// Remove modulo support for vector\r
|
|
MD\r
|
|
:= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| E\r
|
|
\r
|
|
Vector2\r
|
|
= vector2? "(" Expression "," Expression ")" -- parse\r
|
|
\r
|
|
Function\r
|
|
= LengthSq\r
|
|
| DistanceSq\r
|
|
| Length\r
|
|
| Distance\r
|
|
| Normalise\r
|
|
| Dot\r
|
|
| AngleBetween\r
|
|
| Cross\r
|
|
| Lerp\r
|
|
\r
|
|
LengthSq = lengthSq "(" Vector2 ")" -- function\r
|
|
DistanceSq = distanceSq "(" Vector2 "," Vector2 ")" -- function\r
|
|
Length = length "(" Vector2 ")" -- function\r
|
|
Distance = distance "(" Vector2 "," Vector2 ")" -- function\r
|
|
Normalise = normalise "(" Vector2 ")" -- function\r
|
|
Dot = dot "(" Vector2 "," Vector2 ")" -- function\r
|
|
AngleBetween = angleBetween "(" Vector2 "," Vector2 ")" -- function\r
|
|
Cross = cross "(" Vector2 "," Vector2 ")" -- function\r
|
|
Lerp = lerp "(" Vector2 "," Vector2 "," number ")" -- function\r
|
|
\r
|
|
vector2 \r
|
|
= caseInsensitive<"Vector2">\r
|
|
| caseInsensitive<"Vec2">\r
|
|
\r
|
|
lengthSq \r
|
|
= caseInsensitive<"lengthSq">\r
|
|
| caseInsensitive<"magnitudeSq">\r
|
|
\r
|
|
distanceSq\r
|
|
= caseInsensitive<"distanceSq">\r
|
|
\r
|
|
length\r
|
|
= caseInsensitive<"length">\r
|
|
| caseInsensitive<"magnitude">\r
|
|
\r
|
|
distance\r
|
|
= caseInsensitive<"distance">\r
|
|
\r
|
|
normalise \r
|
|
= caseInsensitive<"normalise">\r
|
|
| caseInsensitive<"normalize">\r
|
|
\r
|
|
dot\r
|
|
= caseInsensitive<"dotproduct">\r
|
|
| caseInsensitive<"dot">\r
|
|
\r
|
|
angleBetween\r
|
|
= caseInsensitive<"angleBetween">\r
|
|
\r
|
|
cross\r
|
|
= caseInsensitive<"crossproduct">\r
|
|
| caseInsensitive<"cross">\r
|
|
\r
|
|
lerp\r
|
|
= caseInsensitive<"lerp">\r
|
|
}`},"Vector2Arithmetic",as.BasicArithmetic,"Expression",{Expression:["override",{sourceInterval:[81,103]},null,[],["app",{sourceInterval:[101,103]},"AS",[]]],P_parenthesis:["override",{sourceInterval:[119,153]},null,[],["seq",{sourceInterval:[119,137]},["terminal",{sourceInterval:[119,122]},"("],["app",{sourceInterval:[123,133]},"Expression",[]],["terminal",{sourceInterval:[134,137]},")"]]],P:["override",{sourceInterval:[109,201]},null,[],["alt",{sourceInterval:[119,201]},["app",{sourceInterval:[119,137]},"P_parenthesis",[]],["app",{sourceInterval:[161,168]},"Vector2",[]],["app",{sourceInterval:[176,184]},"Function",[]],["app",{sourceInterval:[192,201]},"Primitive",[]]]],MD_multiplication:["override",{sourceInterval:[257,289]},null,[],["seq",{sourceInterval:[257,270]},["app",{sourceInterval:[257,259]},"MD",[]],["app",{sourceInterval:[260,268]},"multiply",[]],["app",{sourceInterval:[269,270]},"E",[]]]],MD_division:["override",{sourceInterval:[297,321]},null,[],["seq",{sourceInterval:[297,308]},["app",{sourceInterval:[297,299]},"MD",[]],["app",{sourceInterval:[300,306]},"divide",[]],["app",{sourceInterval:[307,308]},"E",[]]]],MD:["override",{sourceInterval:[246,330]},null,[],["alt",{sourceInterval:[257,330]},["app",{sourceInterval:[257,270]},"MD_multiplication",[]],["app",{sourceInterval:[297,308]},"MD_division",[]],["app",{sourceInterval:[329,330]},"E",[]]]],Vector2_parse:["define",{sourceInterval:[351,402]},null,[],["seq",{sourceInterval:[351,393]},["opt",{sourceInterval:[351,359]},["app",{sourceInterval:[351,358]},"vector2",[]]],["terminal",{sourceInterval:[360,363]},"("],["app",{sourceInterval:[364,374]},"Expression",[]],["terminal",{sourceInterval:[375,378]},","],["app",{sourceInterval:[379,389]},"Expression",[]],["terminal",{sourceInterval:[390,393]},")"]]],Vector2:["define",{sourceInterval:[336,402]},null,[],["app",{sourceInterval:[351,402]},"Vector2_parse",[]]],Function:["define",{sourceInterval:[408,544]},null,[],["alt",{sourceInterval:[423,544]},["app",{sourceInterval:[423,431]},"LengthSq",[]],["app",{sourceInterval:[438,448]},"DistanceSq",[]],["app",{sourceInterval:[455,461]},"Length",[]],["app",{sourceInterval:[468,476]},"Distance",[]],["app",{sourceInterval:[483,492]},"Normalise",[]],["app",{sourceInterval:[499,502]},"Dot",[]],["app",{sourceInterval:[509,521]},"AngleBetween",[]],["app",{sourceInterval:[528,533]},"Cross",[]],["app",{sourceInterval:[540,544]},"Lerp",[]]]],LengthSq_function:["define",{sourceInterval:[562,598]},null,[],["seq",{sourceInterval:[562,586]},["app",{sourceInterval:[562,570]},"lengthSq",[]],["terminal",{sourceInterval:[571,574]},"("],["app",{sourceInterval:[575,582]},"Vector2",[]],["terminal",{sourceInterval:[583,586]},")"]]],LengthSq:["define",{sourceInterval:[550,598]},null,[],["app",{sourceInterval:[562,598]},"LengthSq_function",[]]],DistanceSq_function:["define",{sourceInterval:[616,666]},null,[],["seq",{sourceInterval:[616,654]},["app",{sourceInterval:[616,626]},"distanceSq",[]],["terminal",{sourceInterval:[627,630]},"("],["app",{sourceInterval:[631,638]},"Vector2",[]],["terminal",{sourceInterval:[639,642]},","],["app",{sourceInterval:[643,650]},"Vector2",[]],["terminal",{sourceInterval:[651,654]},")"]]],DistanceSq:["define",{sourceInterval:[602,666]},null,[],["app",{sourceInterval:[616,666]},"DistanceSq_function",[]]],Length_function:["define",{sourceInterval:[680,714]},null,[],["seq",{sourceInterval:[680,702]},["app",{sourceInterval:[680,686]},"length",[]],["terminal",{sourceInterval:[687,690]},"("],["app",{sourceInterval:[691,698]},"Vector2",[]],["terminal",{sourceInterval:[699,702]},")"]]],Length:["define",{sourceInterval:[670,714]},null,[],["app",{sourceInterval:[680,714]},"Length_function",[]]],Distance_function:["define",{sourceInterval:[730,778]},null,[],["seq",{sourceInterval:[730,766]},["app",{sourceInterval:[730,738]},"distance",[]],["terminal",{sourceInterval:[739,742]},"("],["app",{sourceInterval:[743,750]},"Vector2",[]],["terminal",{sourceInterval:[751,754]},","],["app",{sourceInterval:[755,762]},"Vector2",[]],["terminal",{sourceInterval:[763,766]},")"]]],Distance:["define",{sourceInterval:[718,778]},null,[],["app",{sourceInterval:[730,778]},"Distance_function",[]]],Normalise_function:["define",{sourceInterval:[794,831]},null,[],["seq",{sourceInterval:[794,819]},["app",{sourceInterval:[794,803]},"normalise",[]],["terminal",{sourceInterval:[804,807]},"("],["app",{sourceInterval:[808,815]},"Vector2",[]],["terminal",{sourceInterval:[816,819]},")"]]],Normalise:["define",{sourceInterval:[782,831]},null,[],["app",{sourceInterval:[794,831]},"Normalise_function",[]]],Dot_function:["define",{sourceInterval:[841,884]},null,[],["seq",{sourceInterval:[841,872]},["app",{sourceInterval:[841,844]},"dot",[]],["terminal",{sourceInterval:[845,848]},"("],["app",{sourceInterval:[849,856]},"Vector2",[]],["terminal",{sourceInterval:[857,860]},","],["app",{sourceInterval:[861,868]},"Vector2",[]],["terminal",{sourceInterval:[869,872]},")"]]],Dot:["define",{sourceInterval:[835,884]},null,[],["app",{sourceInterval:[841,884]},"Dot_function",[]]],AngleBetween_function:["define",{sourceInterval:[903,955]},null,[],["seq",{sourceInterval:[903,943]},["app",{sourceInterval:[903,915]},"angleBetween",[]],["terminal",{sourceInterval:[916,919]},"("],["app",{sourceInterval:[920,927]},"Vector2",[]],["terminal",{sourceInterval:[928,931]},","],["app",{sourceInterval:[932,939]},"Vector2",[]],["terminal",{sourceInterval:[940,943]},")"]]],AngleBetween:["define",{sourceInterval:[888,955]},null,[],["app",{sourceInterval:[903,955]},"AngleBetween_function",[]]],Cross_function:["define",{sourceInterval:[967,1012]},null,[],["seq",{sourceInterval:[967,1e3]},["app",{sourceInterval:[967,972]},"cross",[]],["terminal",{sourceInterval:[973,976]},"("],["app",{sourceInterval:[977,984]},"Vector2",[]],["terminal",{sourceInterval:[985,988]},","],["app",{sourceInterval:[989,996]},"Vector2",[]],["terminal",{sourceInterval:[997,1e3]},")"]]],Cross:["define",{sourceInterval:[959,1012]},null,[],["app",{sourceInterval:[967,1012]},"Cross_function",[]]],Lerp_function:["define",{sourceInterval:[1023,1078]},null,[],["seq",{sourceInterval:[1023,1066]},["app",{sourceInterval:[1023,1027]},"lerp",[]],["terminal",{sourceInterval:[1028,1031]},"("],["app",{sourceInterval:[1032,1039]},"Vector2",[]],["terminal",{sourceInterval:[1040,1043]},","],["app",{sourceInterval:[1044,1051]},"Vector2",[]],["terminal",{sourceInterval:[1052,1055]},","],["app",{sourceInterval:[1056,1062]},"number",[]],["terminal",{sourceInterval:[1063,1066]},")"]]],Lerp:["define",{sourceInterval:[1016,1078]},null,[],["app",{sourceInterval:[1023,1078]},"Lerp_function",[]]],vector2:["define",{sourceInterval:[1084,1157]},null,[],["alt",{sourceInterval:[1100,1157]},["app",{sourceInterval:[1100,1126]},"caseInsensitive",[["terminal",{sourceInterval:[1116,1125]},"Vector2"]]],["app",{sourceInterval:[1134,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1150,1156]},"Vec2"]]]]],lengthSq:["define",{sourceInterval:[1163,1245]},null,[],["alt",{sourceInterval:[1180,1245]},["app",{sourceInterval:[1180,1207]},"caseInsensitive",[["terminal",{sourceInterval:[1196,1206]},"lengthSq"]]],["app",{sourceInterval:[1215,1245]},"caseInsensitive",[["terminal",{sourceInterval:[1231,1244]},"magnitudeSq"]]]]],distanceSq:["define",{sourceInterval:[1251,1298]},null,[],["app",{sourceInterval:[1269,1298]},"caseInsensitive",[["terminal",{sourceInterval:[1285,1297]},"distanceSq"]]]],length:["define",{sourceInterval:[1304,1379]},null,[],["alt",{sourceInterval:[1318,1379]},["app",{sourceInterval:[1318,1343]},"caseInsensitive",[["terminal",{sourceInterval:[1334,1342]},"length"]]],["app",{sourceInterval:[1351,1379]},"caseInsensitive",[["terminal",{sourceInterval:[1367,1378]},"magnitude"]]]]],distance:["define",{sourceInterval:[1385,1428]},null,[],["app",{sourceInterval:[1401,1428]},"caseInsensitive",[["terminal",{sourceInterval:[1417,1427]},"distance"]]]],normalise:["define",{sourceInterval:[1434,1516]},null,[],["alt",{sourceInterval:[1452,1516]},["app",{sourceInterval:[1452,1480]},"caseInsensitive",[["terminal",{sourceInterval:[1468,1479]},"normalise"]]],["app",{sourceInterval:[1488,1516]},"caseInsensitive",[["terminal",{sourceInterval:[1504,1515]},"normalize"]]]]],dot:["define",{sourceInterval:[1522,1592]},null,[],["alt",{sourceInterval:[1533,1592]},["app",{sourceInterval:[1533,1562]},"caseInsensitive",[["terminal",{sourceInterval:[1549,1561]},"dotproduct"]]],["app",{sourceInterval:[1570,1592]},"caseInsensitive",[["terminal",{sourceInterval:[1586,1591]},"dot"]]]]],angleBetween:["define",{sourceInterval:[1598,1649]},null,[],["app",{sourceInterval:[1618,1649]},"caseInsensitive",[["terminal",{sourceInterval:[1634,1648]},"angleBetween"]]]],cross:["define",{sourceInterval:[1655,1731]},null,[],["alt",{sourceInterval:[1668,1731]},["app",{sourceInterval:[1668,1699]},"caseInsensitive",[["terminal",{sourceInterval:[1684,1698]},"crossproduct"]]],["app",{sourceInterval:[1707,1731]},"caseInsensitive",[["terminal",{sourceInterval:[1723,1730]},"cross"]]]]],lerp:["define",{sourceInterval:[1737,1772]},null,[],["app",{sourceInterval:[1749,1772]},"caseInsensitive",[["terminal",{sourceInterval:[1765,1771]},"lerp"]]]]}]);bc.exports=as});var Pc=E((H4,Dc)=>{"use strict";var{makeRecipe:Rc}=Qe(),os={};os.BasicArithmetic=Rc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);os.Vector3Arithmetic=Rc(["grammar",{source:`Vector3Arithmetic <: BasicArithmetic {\r
|
|
// Remove support for logical shift\r
|
|
Expression \r
|
|
:= AS\r
|
|
\r
|
|
P\r
|
|
:= "(" Expression ")" -- parenthesis\r
|
|
| Vector3\r
|
|
| Function\r
|
|
| Primitive\r
|
|
\r
|
|
// Remove modulo support for vector\r
|
|
MD\r
|
|
:= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| E\r
|
|
\r
|
|
Vector3\r
|
|
= vector3? "(" Expression "," Expression "," Expression ")" -- parse\r
|
|
\r
|
|
Function\r
|
|
= LengthSq\r
|
|
| DistanceSq\r
|
|
| Length\r
|
|
| Distance\r
|
|
| Normalise\r
|
|
| Dot\r
|
|
| AngleBetween\r
|
|
| Cross\r
|
|
| Lerp\r
|
|
\r
|
|
LengthSq = lengthSq "(" Vector3 ")" -- function\r
|
|
DistanceSq = distanceSq "(" Vector3 "," Vector3 ")" -- function\r
|
|
Length = length "(" Vector3 ")" -- function\r
|
|
Distance = distance "(" Vector3 "," Vector3 ")" -- function\r
|
|
Normalise = normalise "(" Vector3 ")" -- function\r
|
|
Dot = dot "(" Vector3 "," Vector3 ")" -- function\r
|
|
AngleBetween = angleBetween "(" Vector3 "," Vector3 ")" -- function\r
|
|
Cross = cross "(" Vector3 "," Vector3 ")" -- function\r
|
|
Lerp = lerp "(" Vector3 "," Vector3 "," number ")" -- function\r
|
|
\r
|
|
vector3 \r
|
|
= caseInsensitive<"Vector3">\r
|
|
| caseInsensitive<"Vec3">\r
|
|
\r
|
|
lengthSq \r
|
|
= caseInsensitive<"lengthSq">\r
|
|
| caseInsensitive<"magnitudeSq">\r
|
|
\r
|
|
distanceSq\r
|
|
= caseInsensitive<"distanceSq">\r
|
|
\r
|
|
length\r
|
|
= caseInsensitive<"length">\r
|
|
| caseInsensitive<"magnitude">\r
|
|
\r
|
|
distance\r
|
|
= caseInsensitive<"distance">\r
|
|
\r
|
|
normalise \r
|
|
= caseInsensitive<"normalise">\r
|
|
| caseInsensitive<"normalize">\r
|
|
\r
|
|
dot\r
|
|
= caseInsensitive<"dotproduct">\r
|
|
| caseInsensitive<"dot">\r
|
|
\r
|
|
angleBetween\r
|
|
= caseInsensitive<"angleBetween">\r
|
|
\r
|
|
cross\r
|
|
= caseInsensitive<"crossproduct">\r
|
|
| caseInsensitive<"cross">\r
|
|
\r
|
|
lerp\r
|
|
= caseInsensitive<"lerp">\r
|
|
}`},"Vector3Arithmetic",os.BasicArithmetic,"Expression",{Expression:["override",{sourceInterval:[81,103]},null,[],["app",{sourceInterval:[101,103]},"AS",[]]],P_parenthesis:["override",{sourceInterval:[119,153]},null,[],["seq",{sourceInterval:[119,137]},["terminal",{sourceInterval:[119,122]},"("],["app",{sourceInterval:[123,133]},"Expression",[]],["terminal",{sourceInterval:[134,137]},")"]]],P:["override",{sourceInterval:[109,201]},null,[],["alt",{sourceInterval:[119,201]},["app",{sourceInterval:[119,137]},"P_parenthesis",[]],["app",{sourceInterval:[161,168]},"Vector3",[]],["app",{sourceInterval:[176,184]},"Function",[]],["app",{sourceInterval:[192,201]},"Primitive",[]]]],MD_multiplication:["override",{sourceInterval:[257,289]},null,[],["seq",{sourceInterval:[257,270]},["app",{sourceInterval:[257,259]},"MD",[]],["app",{sourceInterval:[260,268]},"multiply",[]],["app",{sourceInterval:[269,270]},"E",[]]]],MD_division:["override",{sourceInterval:[297,321]},null,[],["seq",{sourceInterval:[297,308]},["app",{sourceInterval:[297,299]},"MD",[]],["app",{sourceInterval:[300,306]},"divide",[]],["app",{sourceInterval:[307,308]},"E",[]]]],MD:["override",{sourceInterval:[246,330]},null,[],["alt",{sourceInterval:[257,330]},["app",{sourceInterval:[257,270]},"MD_multiplication",[]],["app",{sourceInterval:[297,308]},"MD_division",[]],["app",{sourceInterval:[329,330]},"E",[]]]],Vector3_parse:["define",{sourceInterval:[351,417]},null,[],["seq",{sourceInterval:[351,408]},["opt",{sourceInterval:[351,359]},["app",{sourceInterval:[351,358]},"vector3",[]]],["terminal",{sourceInterval:[360,363]},"("],["app",{sourceInterval:[364,374]},"Expression",[]],["terminal",{sourceInterval:[375,378]},","],["app",{sourceInterval:[379,389]},"Expression",[]],["terminal",{sourceInterval:[390,393]},","],["app",{sourceInterval:[394,404]},"Expression",[]],["terminal",{sourceInterval:[405,408]},")"]]],Vector3:["define",{sourceInterval:[336,417]},null,[],["app",{sourceInterval:[351,417]},"Vector3_parse",[]]],Function:["define",{sourceInterval:[423,559]},null,[],["alt",{sourceInterval:[438,559]},["app",{sourceInterval:[438,446]},"LengthSq",[]],["app",{sourceInterval:[453,463]},"DistanceSq",[]],["app",{sourceInterval:[470,476]},"Length",[]],["app",{sourceInterval:[483,491]},"Distance",[]],["app",{sourceInterval:[498,507]},"Normalise",[]],["app",{sourceInterval:[514,517]},"Dot",[]],["app",{sourceInterval:[524,536]},"AngleBetween",[]],["app",{sourceInterval:[543,548]},"Cross",[]],["app",{sourceInterval:[555,559]},"Lerp",[]]]],LengthSq_function:["define",{sourceInterval:[577,613]},null,[],["seq",{sourceInterval:[577,601]},["app",{sourceInterval:[577,585]},"lengthSq",[]],["terminal",{sourceInterval:[586,589]},"("],["app",{sourceInterval:[590,597]},"Vector3",[]],["terminal",{sourceInterval:[598,601]},")"]]],LengthSq:["define",{sourceInterval:[565,613]},null,[],["app",{sourceInterval:[577,613]},"LengthSq_function",[]]],DistanceSq_function:["define",{sourceInterval:[631,681]},null,[],["seq",{sourceInterval:[631,669]},["app",{sourceInterval:[631,641]},"distanceSq",[]],["terminal",{sourceInterval:[642,645]},"("],["app",{sourceInterval:[646,653]},"Vector3",[]],["terminal",{sourceInterval:[654,657]},","],["app",{sourceInterval:[658,665]},"Vector3",[]],["terminal",{sourceInterval:[666,669]},")"]]],DistanceSq:["define",{sourceInterval:[617,681]},null,[],["app",{sourceInterval:[631,681]},"DistanceSq_function",[]]],Length_function:["define",{sourceInterval:[695,729]},null,[],["seq",{sourceInterval:[695,717]},["app",{sourceInterval:[695,701]},"length",[]],["terminal",{sourceInterval:[702,705]},"("],["app",{sourceInterval:[706,713]},"Vector3",[]],["terminal",{sourceInterval:[714,717]},")"]]],Length:["define",{sourceInterval:[685,729]},null,[],["app",{sourceInterval:[695,729]},"Length_function",[]]],Distance_function:["define",{sourceInterval:[745,793]},null,[],["seq",{sourceInterval:[745,781]},["app",{sourceInterval:[745,753]},"distance",[]],["terminal",{sourceInterval:[754,757]},"("],["app",{sourceInterval:[758,765]},"Vector3",[]],["terminal",{sourceInterval:[766,769]},","],["app",{sourceInterval:[770,777]},"Vector3",[]],["terminal",{sourceInterval:[778,781]},")"]]],Distance:["define",{sourceInterval:[733,793]},null,[],["app",{sourceInterval:[745,793]},"Distance_function",[]]],Normalise_function:["define",{sourceInterval:[809,846]},null,[],["seq",{sourceInterval:[809,834]},["app",{sourceInterval:[809,818]},"normalise",[]],["terminal",{sourceInterval:[819,822]},"("],["app",{sourceInterval:[823,830]},"Vector3",[]],["terminal",{sourceInterval:[831,834]},")"]]],Normalise:["define",{sourceInterval:[797,846]},null,[],["app",{sourceInterval:[809,846]},"Normalise_function",[]]],Dot_function:["define",{sourceInterval:[856,899]},null,[],["seq",{sourceInterval:[856,887]},["app",{sourceInterval:[856,859]},"dot",[]],["terminal",{sourceInterval:[860,863]},"("],["app",{sourceInterval:[864,871]},"Vector3",[]],["terminal",{sourceInterval:[872,875]},","],["app",{sourceInterval:[876,883]},"Vector3",[]],["terminal",{sourceInterval:[884,887]},")"]]],Dot:["define",{sourceInterval:[850,899]},null,[],["app",{sourceInterval:[856,899]},"Dot_function",[]]],AngleBetween_function:["define",{sourceInterval:[918,970]},null,[],["seq",{sourceInterval:[918,958]},["app",{sourceInterval:[918,930]},"angleBetween",[]],["terminal",{sourceInterval:[931,934]},"("],["app",{sourceInterval:[935,942]},"Vector3",[]],["terminal",{sourceInterval:[943,946]},","],["app",{sourceInterval:[947,954]},"Vector3",[]],["terminal",{sourceInterval:[955,958]},")"]]],AngleBetween:["define",{sourceInterval:[903,970]},null,[],["app",{sourceInterval:[918,970]},"AngleBetween_function",[]]],Cross_function:["define",{sourceInterval:[982,1027]},null,[],["seq",{sourceInterval:[982,1015]},["app",{sourceInterval:[982,987]},"cross",[]],["terminal",{sourceInterval:[988,991]},"("],["app",{sourceInterval:[992,999]},"Vector3",[]],["terminal",{sourceInterval:[1e3,1003]},","],["app",{sourceInterval:[1004,1011]},"Vector3",[]],["terminal",{sourceInterval:[1012,1015]},")"]]],Cross:["define",{sourceInterval:[974,1027]},null,[],["app",{sourceInterval:[982,1027]},"Cross_function",[]]],Lerp_function:["define",{sourceInterval:[1038,1093]},null,[],["seq",{sourceInterval:[1038,1081]},["app",{sourceInterval:[1038,1042]},"lerp",[]],["terminal",{sourceInterval:[1043,1046]},"("],["app",{sourceInterval:[1047,1054]},"Vector3",[]],["terminal",{sourceInterval:[1055,1058]},","],["app",{sourceInterval:[1059,1066]},"Vector3",[]],["terminal",{sourceInterval:[1067,1070]},","],["app",{sourceInterval:[1071,1077]},"number",[]],["terminal",{sourceInterval:[1078,1081]},")"]]],Lerp:["define",{sourceInterval:[1031,1093]},null,[],["app",{sourceInterval:[1038,1093]},"Lerp_function",[]]],vector3:["define",{sourceInterval:[1099,1172]},null,[],["alt",{sourceInterval:[1115,1172]},["app",{sourceInterval:[1115,1141]},"caseInsensitive",[["terminal",{sourceInterval:[1131,1140]},"Vector3"]]],["app",{sourceInterval:[1149,1172]},"caseInsensitive",[["terminal",{sourceInterval:[1165,1171]},"Vec3"]]]]],lengthSq:["define",{sourceInterval:[1178,1260]},null,[],["alt",{sourceInterval:[1195,1260]},["app",{sourceInterval:[1195,1222]},"caseInsensitive",[["terminal",{sourceInterval:[1211,1221]},"lengthSq"]]],["app",{sourceInterval:[1230,1260]},"caseInsensitive",[["terminal",{sourceInterval:[1246,1259]},"magnitudeSq"]]]]],distanceSq:["define",{sourceInterval:[1266,1313]},null,[],["app",{sourceInterval:[1284,1313]},"caseInsensitive",[["terminal",{sourceInterval:[1300,1312]},"distanceSq"]]]],length:["define",{sourceInterval:[1319,1394]},null,[],["alt",{sourceInterval:[1333,1394]},["app",{sourceInterval:[1333,1358]},"caseInsensitive",[["terminal",{sourceInterval:[1349,1357]},"length"]]],["app",{sourceInterval:[1366,1394]},"caseInsensitive",[["terminal",{sourceInterval:[1382,1393]},"magnitude"]]]]],distance:["define",{sourceInterval:[1400,1443]},null,[],["app",{sourceInterval:[1416,1443]},"caseInsensitive",[["terminal",{sourceInterval:[1432,1442]},"distance"]]]],normalise:["define",{sourceInterval:[1449,1531]},null,[],["alt",{sourceInterval:[1467,1531]},["app",{sourceInterval:[1467,1495]},"caseInsensitive",[["terminal",{sourceInterval:[1483,1494]},"normalise"]]],["app",{sourceInterval:[1503,1531]},"caseInsensitive",[["terminal",{sourceInterval:[1519,1530]},"normalize"]]]]],dot:["define",{sourceInterval:[1537,1607]},null,[],["alt",{sourceInterval:[1548,1607]},["app",{sourceInterval:[1548,1577]},"caseInsensitive",[["terminal",{sourceInterval:[1564,1576]},"dotproduct"]]],["app",{sourceInterval:[1585,1607]},"caseInsensitive",[["terminal",{sourceInterval:[1601,1606]},"dot"]]]]],angleBetween:["define",{sourceInterval:[1613,1664]},null,[],["app",{sourceInterval:[1633,1664]},"caseInsensitive",[["terminal",{sourceInterval:[1649,1663]},"angleBetween"]]]],cross:["define",{sourceInterval:[1670,1746]},null,[],["alt",{sourceInterval:[1683,1746]},["app",{sourceInterval:[1683,1714]},"caseInsensitive",[["terminal",{sourceInterval:[1699,1713]},"crossproduct"]]],["app",{sourceInterval:[1722,1746]},"caseInsensitive",[["terminal",{sourceInterval:[1738,1745]},"cross"]]]]],lerp:["define",{sourceInterval:[1752,1787]},null,[],["app",{sourceInterval:[1764,1787]},"caseInsensitive",[["terminal",{sourceInterval:[1780,1786]},"lerp"]]]]}]);Dc.exports=os});var Ac=E((W4,Ec)=>{"use strict";var{makeRecipe:Mc}=Qe(),ls={};ls.BasicArithmetic=Mc(["grammar",{source:`BasicArithmetic {\r
|
|
Expression\r
|
|
= LogicalShift\r
|
|
\r
|
|
LogicalShift\r
|
|
= LogicalShift "<<" LogicalShift -- left\r
|
|
| LogicalShift ">>" LogicalShift -- right\r
|
|
| AS \r
|
|
\r
|
|
// Addition or Subtraction\r
|
|
AS\r
|
|
= AS add MD -- addition\r
|
|
| AS subtract MD -- subtraction\r
|
|
| MD\r
|
|
\r
|
|
// Multiply or Divide\r
|
|
MD\r
|
|
= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| MD modulo E -- modulo\r
|
|
| E\r
|
|
\r
|
|
// Exponent\r
|
|
E\r
|
|
= P exponent E -- exponent\r
|
|
| P\r
|
|
\r
|
|
// Parenthesis\r
|
|
P\r
|
|
= "(" Expression ")" -- parenthesis\r
|
|
| Primitive\r
|
|
\r
|
|
Primitive\r
|
|
= "+" Primitive -- positive\r
|
|
| "-" Primitive -- negative\r
|
|
| constant\r
|
|
| hex\r
|
|
| number\r
|
|
\r
|
|
// Lexical Rules\r
|
|
add \r
|
|
= "+"\r
|
|
| caseInsensitive<"plus">\r
|
|
| caseInsensitive<"add">\r
|
|
| caseInsensitive<"and">\r
|
|
\r
|
|
subtract \r
|
|
= "-"\r
|
|
| caseInsensitive<"minus">\r
|
|
| caseInsensitive<"subtract">\r
|
|
| caseInsensitive<"remove">\r
|
|
| caseInsensitive<"take">\r
|
|
\r
|
|
multiply \r
|
|
= "*"\r
|
|
| "\\\\*" // Escaped \\* for markdown\r
|
|
| "\\u{00D7}" // \xD7\r
|
|
| caseInsensitive<"x">\r
|
|
| caseInsensitive<"times by">\r
|
|
| caseInsensitive<"times">\r
|
|
| caseInsensitive<"multiply by">\r
|
|
| caseInsensitive<"multiply">\r
|
|
\r
|
|
divide\r
|
|
= "/"\r
|
|
| "\\u{00F7}" // \xF7\r
|
|
| caseInsensitive<"divide by">\r
|
|
| caseInsensitive<"divide">\r
|
|
\r
|
|
modulo\r
|
|
= "%"\r
|
|
| caseInsensitive<"modulo">\r
|
|
| caseInsensitive<"mod">\r
|
|
\r
|
|
exponent\r
|
|
= "^"\r
|
|
| caseInsensitive<"to the power of">\r
|
|
| caseInsensitive<"power of">\r
|
|
| caseInsensitive<"exponent">\r
|
|
| caseInsensitive<"prime">\r
|
|
\r
|
|
constant \r
|
|
= caseInsensitive<"PI"> \r
|
|
| caseInsensitive<"E">\r
|
|
\r
|
|
// Lazy: It will match anything like 1214.200.2442,200 the visitor decides how to interpret\r
|
|
number\r
|
|
= (separator? digit)+\r
|
|
\r
|
|
// The separator can be a comma or a period, detected in the visitor\r
|
|
separator\r
|
|
= "." | ","\r
|
|
\r
|
|
whole\r
|
|
= digit+\r
|
|
\r
|
|
hex\r
|
|
= "0x" hexDigit+\r
|
|
| hexDigit+ "h"\r
|
|
}`},"BasicArithmetic",null,"Expression",{Expression:["define",{sourceInterval:[21,51]},null,[],["app",{sourceInterval:[39,51]},"LogicalShift",[]]],LogicalShift_left:["define",{sourceInterval:[77,115]},null,[],["seq",{sourceInterval:[77,107]},["app",{sourceInterval:[77,89]},"LogicalShift",[]],["terminal",{sourceInterval:[90,94]},"<<"],["app",{sourceInterval:[95,107]},"LogicalShift",[]]]],LogicalShift_right:["define",{sourceInterval:[123,162]},null,[],["seq",{sourceInterval:[123,153]},["app",{sourceInterval:[123,135]},"LogicalShift",[]],["terminal",{sourceInterval:[136,140]},">>"],["app",{sourceInterval:[141,153]},"LogicalShift",[]]]],LogicalShift:["define",{sourceInterval:[57,172]},null,[],["alt",{sourceInterval:[77,172]},["app",{sourceInterval:[77,107]},"LogicalShift_left",[]],["app",{sourceInterval:[123,153]},"LogicalShift_right",[]],["app",{sourceInterval:[170,172]},"AS",[]]]],AS_addition:["define",{sourceInterval:[219,241]},null,[],["seq",{sourceInterval:[219,228]},["app",{sourceInterval:[219,221]},"AS",[]],["app",{sourceInterval:[222,225]},"add",[]],["app",{sourceInterval:[226,228]},"MD",[]]]],AS_subtraction:["define",{sourceInterval:[249,279]},null,[],["seq",{sourceInterval:[249,263]},["app",{sourceInterval:[249,251]},"AS",[]],["app",{sourceInterval:[252,260]},"subtract",[]],["app",{sourceInterval:[261,263]},"MD",[]]]],AS:["define",{sourceInterval:[209,289]},null,[],["alt",{sourceInterval:[219,289]},["app",{sourceInterval:[219,228]},"AS_addition",[]],["app",{sourceInterval:[249,263]},"AS_subtraction",[]],["app",{sourceInterval:[287,289]},"MD",[]]]],MD_multiplication:["define",{sourceInterval:[330,362]},null,[],["seq",{sourceInterval:[330,343]},["app",{sourceInterval:[330,332]},"MD",[]],["app",{sourceInterval:[333,341]},"multiply",[]],["app",{sourceInterval:[342,343]},"E",[]]]],MD_division:["define",{sourceInterval:[370,394]},null,[],["seq",{sourceInterval:[370,381]},["app",{sourceInterval:[370,372]},"MD",[]],["app",{sourceInterval:[373,379]},"divide",[]],["app",{sourceInterval:[380,381]},"E",[]]]],MD_modulo:["define",{sourceInterval:[402,424]},null,[],["seq",{sourceInterval:[402,413]},["app",{sourceInterval:[402,404]},"MD",[]],["app",{sourceInterval:[405,411]},"modulo",[]],["app",{sourceInterval:[412,413]},"E",[]]]],MD:["define",{sourceInterval:[320,433]},null,[],["alt",{sourceInterval:[330,433]},["app",{sourceInterval:[330,343]},"MD_multiplication",[]],["app",{sourceInterval:[370,381]},"MD_division",[]],["app",{sourceInterval:[402,413]},"MD_modulo",[]],["app",{sourceInterval:[432,433]},"E",[]]]],E_exponent:["define",{sourceInterval:[463,488]},null,[],["seq",{sourceInterval:[463,475]},["app",{sourceInterval:[463,464]},"P",[]],["app",{sourceInterval:[465,473]},"exponent",[]],["app",{sourceInterval:[474,475]},"E",[]]]],E:["define",{sourceInterval:[454,497]},null,[],["alt",{sourceInterval:[463,497]},["app",{sourceInterval:[463,475]},"E_exponent",[]],["app",{sourceInterval:[496,497]},"P",[]]]],P_parenthesis:["define",{sourceInterval:[530,564]},null,[],["seq",{sourceInterval:[530,548]},["terminal",{sourceInterval:[530,533]},"("],["app",{sourceInterval:[534,544]},"Expression",[]],["terminal",{sourceInterval:[545,548]},")"]]],P:["define",{sourceInterval:[521,581]},null,[],["alt",{sourceInterval:[530,581]},["app",{sourceInterval:[530,548]},"P_parenthesis",[]],["app",{sourceInterval:[572,581]},"Primitive",[]]]],Primitive_positive:["define",{sourceInterval:[608,633]},null,[],["seq",{sourceInterval:[608,621]},["terminal",{sourceInterval:[608,611]},"+"],["app",{sourceInterval:[612,621]},"Primitive",[]]]],Primitive_negative:["define",{sourceInterval:[641,666]},null,[],["seq",{sourceInterval:[641,654]},["terminal",{sourceInterval:[641,644]},"-"],["app",{sourceInterval:[645,654]},"Primitive",[]]]],Primitive:["define",{sourceInterval:[591,707]},null,[],["alt",{sourceInterval:[608,707]},["app",{sourceInterval:[608,621]},"Primitive_positive",[]],["app",{sourceInterval:[641,654]},"Primitive_negative",[]],["app",{sourceInterval:[674,682]},"constant",[]],["app",{sourceInterval:[690,693]},"hex",[]],["app",{sourceInterval:[701,707]},"number",[]]]],add:["define",{sourceInterval:[734,838]},null,[],["alt",{sourceInterval:[745,838]},["terminal",{sourceInterval:[745,748]},"+"],["app",{sourceInterval:[756,779]},"caseInsensitive",[["terminal",{sourceInterval:[772,778]},"plus"]]],["app",{sourceInterval:[786,808]},"caseInsensitive",[["terminal",{sourceInterval:[802,807]},"add"]]],["app",{sourceInterval:[816,838]},"caseInsensitive",[["terminal",{sourceInterval:[832,837]},"and"]]]]],subtract:["define",{sourceInterval:[848,999]},null,[],["alt",{sourceInterval:[865,999]},["terminal",{sourceInterval:[865,868]},"-"],["app",{sourceInterval:[876,900]},"caseInsensitive",[["terminal",{sourceInterval:[892,899]},"minus"]]],["app",{sourceInterval:[908,935]},"caseInsensitive",[["terminal",{sourceInterval:[924,934]},"subtract"]]],["app",{sourceInterval:[943,968]},"caseInsensitive",[["terminal",{sourceInterval:[959,967]},"remove"]]],["app",{sourceInterval:[976,999]},"caseInsensitive",[["terminal",{sourceInterval:[992,998]},"take"]]]]],multiply:["define",{sourceInterval:[1011,1262]},null,[],["alt",{sourceInterval:[1028,1262]},["terminal",{sourceInterval:[1028,1031]},"*"],["terminal",{sourceInterval:[1039,1044]},"\\*"],["terminal",{sourceInterval:[1079,1089]},"\xD7"],["app",{sourceInterval:[1102,1122]},"caseInsensitive",[["terminal",{sourceInterval:[1118,1121]},"x"]]],["app",{sourceInterval:[1130,1157]},"caseInsensitive",[["terminal",{sourceInterval:[1146,1156]},"times by"]]],["app",{sourceInterval:[1165,1189]},"caseInsensitive",[["terminal",{sourceInterval:[1181,1188]},"times"]]],["app",{sourceInterval:[1197,1227]},"caseInsensitive",[["terminal",{sourceInterval:[1213,1226]},"multiply by"]]],["app",{sourceInterval:[1235,1262]},"caseInsensitive",[["terminal",{sourceInterval:[1251,1261]},"multiply"]]]]],divide:["define",{sourceInterval:[1274,1383]},null,[],["alt",{sourceInterval:[1288,1383]},["terminal",{sourceInterval:[1288,1291]},"/"],["terminal",{sourceInterval:[1299,1309]},"\xF7"],["app",{sourceInterval:[1322,1350]},"caseInsensitive",[["terminal",{sourceInterval:[1338,1349]},"divide by"]]],["app",{sourceInterval:[1358,1383]},"caseInsensitive",[["terminal",{sourceInterval:[1374,1382]},"divide"]]]]],modulo:["define",{sourceInterval:[1389,1469]},null,[],["alt",{sourceInterval:[1403,1469]},["terminal",{sourceInterval:[1403,1406]},"%"],["app",{sourceInterval:[1414,1439]},"caseInsensitive",[["terminal",{sourceInterval:[1430,1438]},"modulo"]]],["app",{sourceInterval:[1447,1469]},"caseInsensitive",[["terminal",{sourceInterval:[1463,1468]},"mod"]]]]],exponent:["define",{sourceInterval:[1475,1638]},null,[],["alt",{sourceInterval:[1491,1638]},["terminal",{sourceInterval:[1491,1494]},"^"],["app",{sourceInterval:[1502,1536]},"caseInsensitive",[["terminal",{sourceInterval:[1518,1535]},"to the power of"]]],["app",{sourceInterval:[1544,1571]},"caseInsensitive",[["terminal",{sourceInterval:[1560,1570]},"power of"]]],["app",{sourceInterval:[1579,1606]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1605]},"exponent"]]],["app",{sourceInterval:[1614,1638]},"caseInsensitive",[["terminal",{sourceInterval:[1630,1637]},"prime"]]]]],constant:["define",{sourceInterval:[1644,1711]},null,[],["alt",{sourceInterval:[1661,1711]},["app",{sourceInterval:[1661,1682]},"caseInsensitive",[["terminal",{sourceInterval:[1677,1681]},"PI"]]],["app",{sourceInterval:[1691,1711]},"caseInsensitive",[["terminal",{sourceInterval:[1707,1710]},"E"]]]]],number:["define",{sourceInterval:[1812,1845]},null,[],["plus",{sourceInterval:[1826,1845]},["seq",{sourceInterval:[1827,1843]},["opt",{sourceInterval:[1827,1837]},["app",{sourceInterval:[1827,1836]},"separator",[]]],["app",{sourceInterval:[1838,1843]},"digit",[]]]]],separator:["define",{sourceInterval:[1923,1949]},null,[],["alt",{sourceInterval:[1940,1949]},["terminal",{sourceInterval:[1940,1943]},"."],["terminal",{sourceInterval:[1946,1949]},","]]],whole:["define",{sourceInterval:[1955,1974]},null,[],["plus",{sourceInterval:[1968,1974]},["app",{sourceInterval:[1968,1973]},"digit",[]]]],hex:["define",{sourceInterval:[1980,2026]},null,[],["alt",{sourceInterval:[1991,2026]},["seq",{sourceInterval:[1991,2005]},["terminal",{sourceInterval:[1991,1995]},"0x"],["plus",{sourceInterval:[1996,2005]},["app",{sourceInterval:[1996,2004]},"hexDigit",[]]]],["seq",{sourceInterval:[2013,2026]},["plus",{sourceInterval:[2013,2022]},["app",{sourceInterval:[2013,2021]},"hexDigit",[]]],["terminal",{sourceInterval:[2023,2026]},"h"]]]]}]);ls.Vector4Arithmetic=Mc(["grammar",{source:`Vector4Arithmetic <: BasicArithmetic {\r
|
|
// Remove support for logical shift\r
|
|
Expression \r
|
|
:= AS\r
|
|
\r
|
|
P\r
|
|
:= "(" Expression ")" -- parenthesis\r
|
|
| Vector4\r
|
|
| Function\r
|
|
| Primitive\r
|
|
\r
|
|
// Remove modulo support for vector\r
|
|
MD\r
|
|
:= MD multiply E -- multiplication\r
|
|
| MD divide E -- division\r
|
|
| E\r
|
|
\r
|
|
Vector4\r
|
|
= vector4? "(" Expression "," Expression "," Expression "," Expression ")" -- parse\r
|
|
\r
|
|
Function\r
|
|
= LengthSq\r
|
|
| DistanceSq\r
|
|
| Length\r
|
|
| Distance\r
|
|
| Normalise\r
|
|
| Dot\r
|
|
| AngleBetween\r
|
|
| Lerp\r
|
|
\r
|
|
LengthSq = lengthSq "(" Vector4 ")" -- function\r
|
|
DistanceSq = distanceSq "(" Vector4 "," Vector4 ")" -- function\r
|
|
Length = length "(" Vector4 ")" -- function\r
|
|
Distance = distance "(" Vector4 "," Vector4 ")" -- function\r
|
|
Normalise = normalise "(" Vector4 ")" -- function\r
|
|
Dot = dot "(" Vector4 "," Vector4 ")" -- function\r
|
|
AngleBetween = angleBetween "(" Vector4 "," Vector4 ")" -- function\r
|
|
Lerp = lerp "(" Vector4 "," Vector4 "," number ")" -- function\r
|
|
\r
|
|
vector4 \r
|
|
= caseInsensitive<"Vector4">\r
|
|
| caseInsensitive<"Vec4">\r
|
|
\r
|
|
lengthSq \r
|
|
= caseInsensitive<"lengthSq">\r
|
|
| caseInsensitive<"magnitudeSq">\r
|
|
\r
|
|
distanceSq\r
|
|
= caseInsensitive<"distanceSq">\r
|
|
\r
|
|
length\r
|
|
= caseInsensitive<"length">\r
|
|
| caseInsensitive<"magnitude">\r
|
|
\r
|
|
distance\r
|
|
= caseInsensitive<"distance">\r
|
|
\r
|
|
normalise \r
|
|
= caseInsensitive<"normalise">\r
|
|
| caseInsensitive<"normalize">\r
|
|
\r
|
|
dot\r
|
|
= caseInsensitive<"dotproduct">\r
|
|
| caseInsensitive<"dot">\r
|
|
\r
|
|
angleBetween\r
|
|
= caseInsensitive<"angleBetween">\r
|
|
\r
|
|
lerp\r
|
|
= caseInsensitive<"lerp">\r
|
|
}`},"Vector4Arithmetic",ls.BasicArithmetic,"Expression",{Expression:["override",{sourceInterval:[81,103]},null,[],["app",{sourceInterval:[101,103]},"AS",[]]],P_parenthesis:["override",{sourceInterval:[119,153]},null,[],["seq",{sourceInterval:[119,137]},["terminal",{sourceInterval:[119,122]},"("],["app",{sourceInterval:[123,133]},"Expression",[]],["terminal",{sourceInterval:[134,137]},")"]]],P:["override",{sourceInterval:[109,201]},null,[],["alt",{sourceInterval:[119,201]},["app",{sourceInterval:[119,137]},"P_parenthesis",[]],["app",{sourceInterval:[161,168]},"Vector4",[]],["app",{sourceInterval:[176,184]},"Function",[]],["app",{sourceInterval:[192,201]},"Primitive",[]]]],MD_multiplication:["override",{sourceInterval:[257,289]},null,[],["seq",{sourceInterval:[257,270]},["app",{sourceInterval:[257,259]},"MD",[]],["app",{sourceInterval:[260,268]},"multiply",[]],["app",{sourceInterval:[269,270]},"E",[]]]],MD_division:["override",{sourceInterval:[297,321]},null,[],["seq",{sourceInterval:[297,308]},["app",{sourceInterval:[297,299]},"MD",[]],["app",{sourceInterval:[300,306]},"divide",[]],["app",{sourceInterval:[307,308]},"E",[]]]],MD:["override",{sourceInterval:[246,330]},null,[],["alt",{sourceInterval:[257,330]},["app",{sourceInterval:[257,270]},"MD_multiplication",[]],["app",{sourceInterval:[297,308]},"MD_division",[]],["app",{sourceInterval:[329,330]},"E",[]]]],Vector4_parse:["define",{sourceInterval:[351,432]},null,[],["seq",{sourceInterval:[351,423]},["opt",{sourceInterval:[351,359]},["app",{sourceInterval:[351,358]},"vector4",[]]],["terminal",{sourceInterval:[360,363]},"("],["app",{sourceInterval:[364,374]},"Expression",[]],["terminal",{sourceInterval:[375,378]},","],["app",{sourceInterval:[379,389]},"Expression",[]],["terminal",{sourceInterval:[390,393]},","],["app",{sourceInterval:[394,404]},"Expression",[]],["terminal",{sourceInterval:[405,408]},","],["app",{sourceInterval:[409,419]},"Expression",[]],["terminal",{sourceInterval:[420,423]},")"]]],Vector4:["define",{sourceInterval:[336,432]},null,[],["app",{sourceInterval:[351,432]},"Vector4_parse",[]]],Function:["define",{sourceInterval:[438,562]},null,[],["alt",{sourceInterval:[453,562]},["app",{sourceInterval:[453,461]},"LengthSq",[]],["app",{sourceInterval:[468,478]},"DistanceSq",[]],["app",{sourceInterval:[485,491]},"Length",[]],["app",{sourceInterval:[498,506]},"Distance",[]],["app",{sourceInterval:[513,522]},"Normalise",[]],["app",{sourceInterval:[529,532]},"Dot",[]],["app",{sourceInterval:[539,551]},"AngleBetween",[]],["app",{sourceInterval:[558,562]},"Lerp",[]]]],LengthSq_function:["define",{sourceInterval:[580,616]},null,[],["seq",{sourceInterval:[580,604]},["app",{sourceInterval:[580,588]},"lengthSq",[]],["terminal",{sourceInterval:[589,592]},"("],["app",{sourceInterval:[593,600]},"Vector4",[]],["terminal",{sourceInterval:[601,604]},")"]]],LengthSq:["define",{sourceInterval:[568,616]},null,[],["app",{sourceInterval:[580,616]},"LengthSq_function",[]]],DistanceSq_function:["define",{sourceInterval:[634,684]},null,[],["seq",{sourceInterval:[634,672]},["app",{sourceInterval:[634,644]},"distanceSq",[]],["terminal",{sourceInterval:[645,648]},"("],["app",{sourceInterval:[649,656]},"Vector4",[]],["terminal",{sourceInterval:[657,660]},","],["app",{sourceInterval:[661,668]},"Vector4",[]],["terminal",{sourceInterval:[669,672]},")"]]],DistanceSq:["define",{sourceInterval:[620,684]},null,[],["app",{sourceInterval:[634,684]},"DistanceSq_function",[]]],Length_function:["define",{sourceInterval:[698,732]},null,[],["seq",{sourceInterval:[698,720]},["app",{sourceInterval:[698,704]},"length",[]],["terminal",{sourceInterval:[705,708]},"("],["app",{sourceInterval:[709,716]},"Vector4",[]],["terminal",{sourceInterval:[717,720]},")"]]],Length:["define",{sourceInterval:[688,732]},null,[],["app",{sourceInterval:[698,732]},"Length_function",[]]],Distance_function:["define",{sourceInterval:[748,796]},null,[],["seq",{sourceInterval:[748,784]},["app",{sourceInterval:[748,756]},"distance",[]],["terminal",{sourceInterval:[757,760]},"("],["app",{sourceInterval:[761,768]},"Vector4",[]],["terminal",{sourceInterval:[769,772]},","],["app",{sourceInterval:[773,780]},"Vector4",[]],["terminal",{sourceInterval:[781,784]},")"]]],Distance:["define",{sourceInterval:[736,796]},null,[],["app",{sourceInterval:[748,796]},"Distance_function",[]]],Normalise_function:["define",{sourceInterval:[812,849]},null,[],["seq",{sourceInterval:[812,837]},["app",{sourceInterval:[812,821]},"normalise",[]],["terminal",{sourceInterval:[822,825]},"("],["app",{sourceInterval:[826,833]},"Vector4",[]],["terminal",{sourceInterval:[834,837]},")"]]],Normalise:["define",{sourceInterval:[800,849]},null,[],["app",{sourceInterval:[812,849]},"Normalise_function",[]]],Dot_function:["define",{sourceInterval:[859,902]},null,[],["seq",{sourceInterval:[859,890]},["app",{sourceInterval:[859,862]},"dot",[]],["terminal",{sourceInterval:[863,866]},"("],["app",{sourceInterval:[867,874]},"Vector4",[]],["terminal",{sourceInterval:[875,878]},","],["app",{sourceInterval:[879,886]},"Vector4",[]],["terminal",{sourceInterval:[887,890]},")"]]],Dot:["define",{sourceInterval:[853,902]},null,[],["app",{sourceInterval:[859,902]},"Dot_function",[]]],AngleBetween_function:["define",{sourceInterval:[921,973]},null,[],["seq",{sourceInterval:[921,961]},["app",{sourceInterval:[921,933]},"angleBetween",[]],["terminal",{sourceInterval:[934,937]},"("],["app",{sourceInterval:[938,945]},"Vector4",[]],["terminal",{sourceInterval:[946,949]},","],["app",{sourceInterval:[950,957]},"Vector4",[]],["terminal",{sourceInterval:[958,961]},")"]]],AngleBetween:["define",{sourceInterval:[906,973]},null,[],["app",{sourceInterval:[921,973]},"AngleBetween_function",[]]],Lerp_function:["define",{sourceInterval:[984,1039]},null,[],["seq",{sourceInterval:[984,1027]},["app",{sourceInterval:[984,988]},"lerp",[]],["terminal",{sourceInterval:[989,992]},"("],["app",{sourceInterval:[993,1e3]},"Vector4",[]],["terminal",{sourceInterval:[1001,1004]},","],["app",{sourceInterval:[1005,1012]},"Vector4",[]],["terminal",{sourceInterval:[1013,1016]},","],["app",{sourceInterval:[1017,1023]},"number",[]],["terminal",{sourceInterval:[1024,1027]},")"]]],Lerp:["define",{sourceInterval:[977,1039]},null,[],["app",{sourceInterval:[984,1039]},"Lerp_function",[]]],vector4:["define",{sourceInterval:[1045,1118]},null,[],["alt",{sourceInterval:[1061,1118]},["app",{sourceInterval:[1061,1087]},"caseInsensitive",[["terminal",{sourceInterval:[1077,1086]},"Vector4"]]],["app",{sourceInterval:[1095,1118]},"caseInsensitive",[["terminal",{sourceInterval:[1111,1117]},"Vec4"]]]]],lengthSq:["define",{sourceInterval:[1124,1206]},null,[],["alt",{sourceInterval:[1141,1206]},["app",{sourceInterval:[1141,1168]},"caseInsensitive",[["terminal",{sourceInterval:[1157,1167]},"lengthSq"]]],["app",{sourceInterval:[1176,1206]},"caseInsensitive",[["terminal",{sourceInterval:[1192,1205]},"magnitudeSq"]]]]],distanceSq:["define",{sourceInterval:[1212,1259]},null,[],["app",{sourceInterval:[1230,1259]},"caseInsensitive",[["terminal",{sourceInterval:[1246,1258]},"distanceSq"]]]],length:["define",{sourceInterval:[1265,1340]},null,[],["alt",{sourceInterval:[1279,1340]},["app",{sourceInterval:[1279,1304]},"caseInsensitive",[["terminal",{sourceInterval:[1295,1303]},"length"]]],["app",{sourceInterval:[1312,1340]},"caseInsensitive",[["terminal",{sourceInterval:[1328,1339]},"magnitude"]]]]],distance:["define",{sourceInterval:[1346,1389]},null,[],["app",{sourceInterval:[1362,1389]},"caseInsensitive",[["terminal",{sourceInterval:[1378,1388]},"distance"]]]],normalise:["define",{sourceInterval:[1395,1477]},null,[],["alt",{sourceInterval:[1413,1477]},["app",{sourceInterval:[1413,1441]},"caseInsensitive",[["terminal",{sourceInterval:[1429,1440]},"normalise"]]],["app",{sourceInterval:[1449,1477]},"caseInsensitive",[["terminal",{sourceInterval:[1465,1476]},"normalize"]]]]],dot:["define",{sourceInterval:[1483,1553]},null,[],["alt",{sourceInterval:[1494,1553]},["app",{sourceInterval:[1494,1523]},"caseInsensitive",[["terminal",{sourceInterval:[1510,1522]},"dotproduct"]]],["app",{sourceInterval:[1531,1553]},"caseInsensitive",[["terminal",{sourceInterval:[1547,1552]},"dot"]]]]],angleBetween:["define",{sourceInterval:[1559,1610]},null,[],["app",{sourceInterval:[1579,1610]},"caseInsensitive",[["terminal",{sourceInterval:[1595,1609]},"angleBetween"]]]],lerp:["define",{sourceInterval:[1616,1651]},null,[],["app",{sourceInterval:[1628,1651]},"caseInsensitive",[["terminal",{sourceInterval:[1644,1650]},"lerp"]]]]}]);Ec.exports=ls});var eI={};zh(eI,{default:()=>hs});module.exports=jh(eI);var nn=class{constructor(e){this.capacity=e,this.cache=new Map,this.frequencies=new Map,this.minFrequency=0,this.order=0}updateFrequency(e){let t=this.cache.get(e);if(!t)return;let n=t.frequency;t.frequency++,t.order=this.order++;let a=this.frequencies.get(n);a==null||a.delete(e),a&&a.size===0&&(this.frequencies.delete(n),n===this.minFrequency&&this.minFrequency++);let l=this.frequencies.get(t.frequency);l||(l=new Set,this.frequencies.set(t.frequency,l)),l.add(e)}get(e){let t=this.cache.get(e);if(t)return this.updateFrequency(e),t.value}set(e,t){var l,c;let n=this.cache.get(e);if(n){n.value=t,this.updateFrequency(e);return}if(this.cache.size===this.capacity){let v=this.frequencies.get(this.minFrequency);if(v){let h=null,d=1/0;for(let g of v){let f=(c=(l=this.cache.get(g))==null?void 0:l.order)!=null?c:1/0;f<d&&(d=f,h=g)}h&&(v.delete(h),this.cache.delete(h))}}this.cache.set(e,{value:t,frequency:1,order:this.order++}),this.minFrequency=1;let a=this.frequencies.get(1);a||(a=new Set,this.frequencies.set(1,a)),a.add(e)}clear(){this.cache.clear(),this.frequencies.clear(),this.minFrequency=0,this.order=0}};var Sr=i=>[...i].reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0);var Bs=class{constructor(e){this.lfuCache=new nn(e)}get(e){let t=Sr(e);return this.lfuCache.get(t)}set(e,t){let n=Sr(e);return this.lfuCache.set(n,t),t}clear(){this.lfuCache.clear()}},xr=new Bs(200);var Ys=class{constructor(){this.listeners={}}on(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}emit(e,...t){let n=this.listeners[e];n&&n.forEach(a=>a(...t))}removeListener(e,t){let n=this.listeners[e];if(n){let a=n.indexOf(t);a!==-1&&n.splice(a,1)}}removeAllListeners(){this.listeners={}}},it=new Ys;var Fa=me(br()),b={engine:{explicitMode:!1},interface:{renderResultEndOfLine:!1,showStatusBarCompanion:!0,animateResults:!0,animationClass:"animate__pulse",animationDuration:"200ms"},inlineSolve:{includeExpressionOnCommit:!1,includeBackticksOnCommit:!0,includeEqualsOnCommit:!0},variable:{renderResult:!0},arithmeticProvider:{enabled:!0,renderEqualsBeforeResult:!0},functionArithmeticProvider:{enabled:!0},vectorArithmeticProvider:{enabled:!0},percentageArithmeticProvider:{enabled:!0},datetimeProvider:{enabled:!0,parsingFormat:0},unitOfMeasurementProvider:{enabled:!0},diceProvider:{enabled:!0},bigIntegerArithmeticProvider:{enabled:!0},numberResult:{decimalSeparatorLocale:"en-US"},integerResult:{enableSeperator:!1},floatResult:{enableSeperator:!1,decimalPlaces:2},percentageResult:{enableSeperator:!1,decimalPlaces:2},datetimeResult:{format:Fa.default.defaultFormat},hexResult:{enablePadding:!1,paddingZeros:8},unitOfMeasurementResult:{decimalPlaces:2,unitNames:!1}};var sn=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.arithmeticProvider.enabled)!=null?e:b.arithmeticProvider.enabled}set enabled(e){this.parent.settings.arithmeticProvider.enabled=e}get renderEqualsBeforeResult(){var e;return(e=this.parent.settings.arithmeticProvider.renderEqualsBeforeResult)!=null?e:b.arithmeticProvider.renderEqualsBeforeResult}set renderEqualsBeforeResult(e){this.parent.settings.arithmeticProvider.renderEqualsBeforeResult=e}};var an=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.bigIntegerArithmeticProvider.enabled)!=null?e:b.bigIntegerArithmeticProvider.enabled}set enabled(e){this.parent.settings.bigIntegerArithmeticProvider.enabled=e}};var on=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.datetimeProvider.enabled)!=null?e:b.datetimeProvider.enabled}set enabled(e){this.parent.settings.datetimeProvider.enabled=e}get parsingFormat(){var e;return(e=this.parent.settings.datetimeProvider.parsingFormat)!=null?e:b.datetimeProvider.parsingFormat}set parsingFormat(e){this.parent.settings.datetimeProvider.parsingFormat=e}};var ln=class{constructor(e){this.parent=e}get format(){var e;return(e=this.parent.settings.datetimeResult.format)!=null?e:b.datetimeResult.format}set format(e){this.parent.settings.datetimeResult.format=e}};var un=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.diceProvider.enabled)!=null?e:b.diceProvider.enabled}set enabled(e){this.parent.settings.diceProvider.enabled=e}};var cn=class{constructor(e){this.parent=e}get explicitMode(){var e;return(e=this.parent.settings.engine.explicitMode)!=null?e:b.engine.explicitMode}set explicitMode(e){this.parent.settings.engine.explicitMode=e}};var pn=class{constructor(e){this.parent=e}get enableSeperator(){var e;return(e=this.parent.settings.floatResult.enableSeperator)!=null?e:b.floatResult.enableSeperator}set enableSeperator(e){this.parent.settings.floatResult.enableSeperator=e}get decimalPlaces(){var e;return(e=this.parent.settings.floatResult.decimalPlaces)!=null?e:b.floatResult.decimalPlaces}set decimalPlaces(e){this.parent.settings.floatResult.decimalPlaces=e}};var mn=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.functionArithmeticProvider.enabled)!=null?e:b.functionArithmeticProvider.enabled}set enabled(e){this.parent.settings.functionArithmeticProvider.enabled=e}};var vn=class{constructor(e){this.parent=e}get enablePadding(){var e;return(e=this.parent.settings.hexResult.enablePadding)!=null?e:b.hexResult.enablePadding}set enablePadding(e){this.parent.settings.hexResult.enablePadding=e}get paddingZeros(){var e;return(e=this.parent.settings.hexResult.paddingZeros)!=null?e:b.hexResult.paddingZeros}set paddingZeros(e){this.parent.settings.hexResult.paddingZeros=e}};var hn=class{constructor(e){this.parent=e}get includeExpressionOnCommit(){var e;return(e=this.parent.settings.inlineSolve.includeExpressionOnCommit)!=null?e:b.inlineSolve.includeExpressionOnCommit}set includeExpressionOnCommit(e){this.parent.settings.inlineSolve.includeExpressionOnCommit=e}get includeBackticksOnCommit(){var e;return(e=this.parent.settings.inlineSolve.includeBackticksOnCommit)!=null?e:b.inlineSolve.includeBackticksOnCommit}set includeBackticksOnCommit(e){this.parent.settings.inlineSolve.includeBackticksOnCommit=e}get includeEqualsOnCommit(){var e;return(e=this.parent.settings.inlineSolve.includeEqualsOnCommit)!=null?e:b.inlineSolve.includeEqualsOnCommit}set includeEqualsOnCommit(e){this.parent.settings.inlineSolve.includeEqualsOnCommit=e}};var dn=class{constructor(e){this.parent=e}get enableSeperator(){var e;return(e=this.parent.settings.integerResult.enableSeperator)!=null?e:b.integerResult.enableSeperator}set enableSeperator(e){this.parent.settings.integerResult.enableSeperator=e}};var fn=class{constructor(e){this.parent=e}get renderResultEndOfLine(){var e;return(e=this.parent.settings.interface.renderResultEndOfLine)!=null?e:b.interface.renderResultEndOfLine}set renderResultEndOfLine(e){this.parent.settings.interface.renderResultEndOfLine=e}get showStatusBarCompanion(){var e;return(e=this.parent.settings.interface.showStatusBarCompanion)!=null?e:b.interface.showStatusBarCompanion}set showStatusBarCompanion(e){this.parent.settings.interface.showStatusBarCompanion=e}get animateResults(){var e;return(e=this.parent.settings.interface.animateResults)!=null?e:b.interface.animateResults}set animateResults(e){this.parent.settings.interface.animateResults=e}get animationClass(){var e;return(e=this.parent.settings.interface.animationClass)!=null?e:b.interface.animationClass}set animationClass(e){this.parent.settings.interface.animationClass=e}get animationDuration(){var e;return(e=this.parent.settings.interface.animationDuration)!=null?e:b.interface.animationDuration}set animationDuration(e){this.parent.settings.interface.animationDuration=e}};var In=class{constructor(e){this.parent=e}get decimalSeparatorLocale(){var e;return(e=this.parent.settings.numberResult.decimalSeparatorLocale)!=null?e:b.numberResult.decimalSeparatorLocale}set decimalSeparatorLocale(e){this.parent.settings.numberResult.decimalSeparatorLocale=e}};var gn=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.percentageArithmeticProvider.enabled)!=null?e:b.percentageArithmeticProvider.enabled}set enabled(e){this.parent.settings.percentageArithmeticProvider.enabled=e}};var yn=class{constructor(e){this.parent=e}get enableSeperator(){var e;return(e=this.parent.settings.percentageResult.enableSeperator)!=null?e:b.percentageResult.enableSeperator}set enableSeperator(e){this.parent.settings.percentageResult.enableSeperator=e}get decimalPlaces(){var e;return(e=this.parent.settings.percentageResult.decimalPlaces)!=null?e:b.percentageResult.decimalPlaces}set decimalPlaces(e){this.parent.settings.percentageResult.decimalPlaces=e}};var _n=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.unitOfMeasurementProvider.enabled)!=null?e:b.unitOfMeasurementProvider.enabled}set enabled(e){this.parent.settings.unitOfMeasurementProvider.enabled=e}};var Sn=class{constructor(e){this.parent=e}get decimalPlaces(){var e;return(e=this.parent.settings.unitOfMeasurementResult.decimalPlaces)!=null?e:b.unitOfMeasurementResult.decimalPlaces}set decimalPlaces(e){this.parent.settings.unitOfMeasurementResult.decimalPlaces=e}get unitNames(){var e;return(e=this.parent.settings.unitOfMeasurementResult.unitNames)!=null?e:b.unitOfMeasurementResult.unitNames}set unitNames(e){this.parent.settings.unitOfMeasurementResult.unitNames=e}};var xn=class{constructor(e){this.parent=e}get renderResult(){var e;return(e=this.parent.settings.variable.renderResult)!=null?e:b.variable.renderResult}set renderResult(e){this.parent.settings.variable.renderResult=e}};var bn=class{constructor(e){this.parent=e}get enabled(){var e;return(e=this.parent.settings.vectorArithmeticProvider.enabled)!=null?e:b.vectorArithmeticProvider.enabled}set enabled(e){this.parent.settings.vectorArithmeticProvider.enabled=e}};var Vt=class Vt{constructor(){this.settings=b,this.engine=new cn(this),this.interface=new fn(this),this.inlineSolve=new hn(this),this.variable=new xn(this),this.arithmeticProvider=new sn(this),this.functionArithmeticProvider=new mn(this),this.vectorArithmeticProvider=new bn(this),this.percentageArithmeticProvider=new gn(this),this.datetimeProvider=new on(this),this.unitOfMeasurementProvider=new _n(this),this.diceProvider=new un(this),this.bigIntegerArithmeticProvider=new an(this),this.numberResult=new In(this),this.integerResult=new dn(this),this.floatResult=new pn(this),this.percentageResult=new yn(this),this.datetimeResult=new ln(this),this.hexResult=new vn(this),this.unitOfMeasurementResult=new Sn(this)}static getInstance(){return Vt.instance||(Vt.instance=new Vt),Vt.instance}updateSettings(e){this.settings=e}};Vt.instance=null;var F=Vt;var Ua=require("@codemirror/view"),wn=class extends Ua.WidgetType{constructor(t,n,a){super();this.userSettings=F.getInstance(),this.expression=n,this.result=a,this.lineNumber=t.lineNumber,this.isInlineSolve=t.isInlineSolve||!1}toDOM(t){let n=t.state.doc.lineAt(t.state.selection.main.head).number,a=document.createElement("div");return a.id=`osr-${this.lineNumber}`,a.title="Click to commit this result",a.addEventListener("click",()=>{it.emit(1,this.lineNumber,this.expression,this.result,this.isInlineSolve)}),this.userSettings.interface.animateResults&&a.style.setProperty("--animate-duration",this.userSettings.interface.animationDuration),a.classList.add("os-result"),this.userSettings.interface.animateResults&&this.lineNumber===n&&a.classList.add("animate__animated",this.userSettings.interface.animationClass),a.textContent=`${this.result}`,a}};var Rn=class i extends Error{constructor(e){super(e||"The executed pipeline has no stages."),this.name="EmptyPipelineError",Error.captureStackTrace(this,i)}};var Lt=class{constructor(){this.firstStage=null;this.lastStage=null}addStage(e){return this.firstStage?(this.lastStage&&this.lastStage.next(e),this.lastStage=e):this.firstStage=this.lastStage=e,this}process(e,t){if(!this.firstStage)throw new Rn;return this.firstStage.process(e,t)}};var X=class{constructor(){this.nextStage=null}next(e){return this.nextStage=e,e}process(e,t){return t=this.execute(e,t),this.nextStage?this.nextStage.process(e,t):t}};var Hs=class extends X{constructor(){super(...arguments);this.commentsRemovalRegex=new RegExp(/((?:#|\/\/).+)/)}execute(t,n){return n.replace(this.commentsRemovalRegex,"")}},Ba=new Hs;var Ws=class extends X{execute(e,t){return F.getInstance().engine.explicitMode&&t.trimEnd().endsWith("=")&&(t=t.substring(0,t.length-1).trimEnd(),e.isAllowedExplicitModeExpression=!0),t}},Ya=new Ws;var zs=class extends X{constructor(){super(...arguments);this.inlineSolveRegex=new RegExp(/s`([^`]*)`/g)}execute(t,n){let a=[],l=[];for(let c of t.originalLineText.matchAll(this.inlineSolveRegex))a.push(c[1]),l.push(c.index);return a.length>0?(t.isInlineSolve=!0,t.inlineSolveIndices=l,a):n}},Ga=new zs;var js=class extends X{constructor(){super(...arguments);this.markdownReplacementRegex=new RegExp(/^(?:(?:[-+*>]|(?:\[\s\])|(?:\d+\.))\s)+/m)}execute(t,n){return n.replace(this.markdownReplacementRegex,"")}},Ha=new js;var $s=class extends X{constructor(){super(...arguments);this.mathjaxFormatRegex=new RegExp(/^(?:\$\$(.+)\$\$)$/g);this.latexFormatRegex=new RegExp(/^(?:\$(.+)\$)$/g)}execute(t,n){let a=this.mathjaxFormatRegex.exec(n);if(a){let c=a[1],v=c.indexOf("=");return v>-1?c.substring(v+1).trim():c}let l=this.latexFormatRegex.exec(n);if(l){let c=l[1],v=c.indexOf("=");return v>-1?c.substring(v+1).trim():c}return n}},Wa=new $s;var T=class i extends Error{constructor(e){super(e||"Unsupported visitor operation"),this.name="UnsupportedVisitorOperationError",Error.captureStackTrace(this,i)}};var te=class{constructor(e,t){this.value=e,this.radix=t}accept(e){return e.visit(this)}};var ve=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var N=class{constructor(e){this.value=Math.trunc(e)}accept(e){return e.visit(this)}};var x=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var L=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var Ze=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var D=class{constructor(e,t){this.value=e,this.unit=t}accept(e){return e.visit(this)}};var U=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var k=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};var C=class{constructor(e){this.value=e}accept(e){return e.visit(this)}};function za(i,e,t){let n=i.toLocaleString(e,{maximumFractionDigits:t,minimumFractionDigits:t});switch(e){case"de-DE":n=n.replace(".","");break;default:n=n.replace(",","");break}return n}function wr(i,e=2,t=!1,n="en-US"){return Number.isInteger(i)?t?i.toLocaleString(n,{minimumFractionDigits:0,maximumFractionDigits:0}):za(Math.trunc(i),n,0):t?i.toLocaleString(n,{maximumFractionDigits:e,minimumFractionDigits:e}):za(i,n,e)}var cu=me(Pr()),pu=me(br()),Qt=class{constructor(){this.settings=F.getInstance()}visit(e){if(e instanceof x)return this.visitNumberResult(e);if(e instanceof N)return this.visitHexResult(e);if(e instanceof L)return this.visitPercentageResult(e);if(e instanceof ve)return this.visitDatetimeResult(e);if(e instanceof Ze)return this.visitStringResult(e);if(e instanceof U)return this.visitVector2Result(e);if(e instanceof k)return this.visitVector3Result(e);if(e instanceof C)return this.visitVector4Result(e);if(e instanceof D)return this.visitUnitOfMeasurementResult(e);if(e instanceof te)return this.visitBigIntResult(e);throw new T}visitNumberResult(e){return wr(e.value,this.settings.floatResult.decimalPlaces,!1,this.settings.numberResult.decimalSeparatorLocale).toString()}visitHexResult(e){let t=e.value<0,n=Math.abs(e.value).toString(16).toUpperCase().padStart(this.settings.hexResult.enablePadding?this.settings.hexResult.paddingZeros:0,"0");return t?`-0x${n}`:`0x${n}`}visitPercentageResult(e){return`${e.value.toFixed(this.settings.percentageResult.decimalPlaces)}%`}visitDatetimeResult(e){return e.value.format(pu.default.defaultFormat)}visitStringResult(e){return e.value}visitVector2Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n})`}visitVector3Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces),a=e.value.z.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n}, ${a})`}visitVector4Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces),a=e.value.z.toFixed(this.settings.floatResult.decimalPlaces),l=e.value.w.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n}, ${a}, ${l})`}visitUnitOfMeasurementResult(e){let t=this.settings.unitOfMeasurementResult.decimalPlaces,n=Number.isInteger(e.value)?e.value:e.value.toFixed(t),a=e.unit;if(this.settings.unitOfMeasurementResult.unitNames){let l=(0,cu.default)().describe(e.unit);a=Math.abs(e.value)>1?l.plural:l.singular}return`${n} ${a}`}visitBigIntResult(e){switch(e.radix){case 2:return`0b${e.value.toString(e.radix)}`;case 10:return e.value.toString(e.radix);case 16:return`0x${e.value.toString(e.radix)}`.toUpperCase();default:return e.value.toString(e.radix)}}};var An=class extends X{constructor(){super();this.previousResultSubstitutionRegex=new RegExp(/:prev/gi);this.resultSubstitutionVisitor=new Qt}execute(t,n){return this.previousResult===void 0||(n=n.replace(this.previousResultSubstitutionRegex,this.resultSubstitutionVisitor.visit(this.previousResult))),n}setPreviousResult(t){this.previousResult=t}};var W={log:(...i)=>{},error:(...i)=>{},warn:(...i)=>{},info:(...i)=>{},debug:(...i)=>{},assert:(i,...e)=>{}};var ri=class extends X{constructor(){super(...arguments);this.variableAssignReplacementRegex=new RegExp(/(?::\w+\s+=)/m)}execute(t,n){let a=F.getInstance();return a.engine.explicitMode&&this.variableAssignReplacementRegex.test(n)&&(t.isAllowedExplicitModeExpression=!0,W.debug("VariableAssignRemovalStage: Detected Variable Assignment Allowing Through Explicit Mode")),a.variable.renderResult&&(n=n.replace(this.variableAssignReplacementRegex,"")),n}},mu=new ri;var Di=me(Hu());var rr=class{constructor(e){this.name=e,this.cacheable=!0}enabled(){throw new Error("Method not implemented.")}provide(e){throw new Error("Method not implemented.")}};var Re=class extends rr{constructor(t){super(t)}};function Xe(i,e){return e*i}function Wu(i,e){return(e-i)/i}function zu(i,e){let t=i*e;return i+t}function ju(i,e){let t=i*e;return i-t}var $u=me(Pr());function Me(i,e){return new D((0,$u.default)(i.value).from(i.unit).to(e.unit),e.unit)}var Ge=class i extends Error{constructor(e){super(e||"Unsupported coercion operation"),this.name="UnsupportedCoercionOperationError",Error.captureStackTrace(this,i)}};var bi=class{visit(e){if(e instanceof N)return e;if(e instanceof x||e instanceof N||e instanceof L)return new N(e.value);throw new Ge}},Ee=new bi;var wi=class{visit(e){if(e instanceof x)return e;if(e instanceof N||e instanceof D||e instanceof L)return new x(e.value);throw new Ge}},G=new wi;var Rt=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){if(t instanceof L)return new x(e.value+Xe(t.value,e.value));let n=G.visit(t);return new x(e.value+n.value)}hex(e,t){if(t instanceof L)return new N(e.value+Xe(t.value,e.value));let n=Ee.visit(t);return new N(e.value+n.value)}percentage(e,t){let n=G.visit(t);return new x(e.value+n.value)}unitOfMeasurement(e,t){if(t instanceof L)return new D(e.value+Xe(t.value,e.value),e.unit);if(t instanceof D){let a=Me(t,e);return new D(e.value+a.value,e.unit)}let n=G.visit(t);return new D(e.value+n.value,e.unit)}};var Ri=class{visitPositive(e){return e.value=Math.abs(e.value),e}visitNegative(e){return e.value=-Math.abs(e.value),e}visitConstant(e){switch(e.toLowerCase()){case"pi":return new x(Math.PI);case"e":return new x(Math.E);default:return new x(0)}}visitHex(e){let t=parseInt(e.replace("h","").replace("0x",""),16);return new N(t)}visitNumber(e,t){switch(t){case"de-DE":e=e.replace(",","||").replace(".","").replace("||",".");break;default:e.indexOf(",")>-1&&(e=e.replace(",",""));break}return new x(parseFloat(e))}},et=new Ri;var Dt=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(e.value/n.value)}hex(e,t){let n=Ee.visit(t);return new N(e.value/n.value)}percentage(e,t){let n=G.visit(t);return new x(e.value/n.value)}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(e.value/a.value,e.unit)}let n=G.visit(t);return new D(e.value/n.value,e.unit)}};var Pt=class{constructor(e){this.right=e}visit(e){if(this.right instanceof L)throw new T;if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(Math.pow(e.value,n.value))}hex(e,t){let n=Ee.visit(t);return new N(Math.pow(e.value,n.value))}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(Math.pow(e.value,a.value),e.unit)}let n=G.visit(t);return new D(Math.pow(e.value,n.value),e.unit)}};var Bn=class{constructor(e){this.right=e}visit(e){if(this.right instanceof L)throw new T;if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(e.value<<n.value)}hex(e,t){let n=Ee.visit(t);return new N(e.value<<n.value)}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(e.value<<a.value,e.unit)}let n=G.visit(t);return new D(e.value<<n.value,e.unit)}},Yn=class{constructor(e){this.right=e}visit(e){if(this.right instanceof L)throw new T;if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(e.value>>n.value)}hex(e,t){let n=Ee.visit(t);return new N(e.value>>n.value)}percentage(e,t){let n=G.visit(t);return new x(e.value/100>>n.value)}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(e.value>>a.value,e.unit)}let n=G.visit(t);return new D(e.value>>n.value,e.unit)}};var Gn=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(e.value%n.value)}hex(e,t){let n=Ee.visit(t);return new N(e.value%n.value)}percentage(e,t){let n=G.visit(t);return new x(e.value%n.value)}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(e.value%a.value,e.unit)}let n=G.visit(t);return new D(e.value%n.value,e.unit)}};var Mt=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){let n=G.visit(t);return new x(e.value*n.value)}hex(e,t){let n=Ee.visit(t);return new N(e.value*n.value)}percentage(e,t){let n=G.visit(t);return new x(e.value*n.value)}unitOfMeasurement(e,t){if(t instanceof D){let a=Me(t,e);return new D(e.value*a.value,e.unit)}let n=G.visit(t);return new D(e.value*n.value,e.unit)}};var Et=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return this.number(e,this.right);if(e instanceof N)return this.hex(e,this.right);if(e instanceof L)return this.percentage(e,this.right);if(e instanceof D)return this.unitOfMeasurement(e,this.right);throw new T}number(e,t){if(t instanceof L)return new x(e.value-Xe(t.value,e.value));let n=G.visit(t);return new x(e.value-n.value)}hex(e,t){if(t instanceof L)return new N(e.value-Xe(t.value,e.value));let n=Ee.visit(t);return new N(e.value-n.value)}percentage(e,t){if(t instanceof L)return new x(e.value-Xe(t.value,e.value));let n=G.visit(t);return new x(e.value-n.value)}unitOfMeasurement(e,t){if(t instanceof L)return new D(e.value-Xe(t.value,e.value),e.unit);if(t instanceof D){let a=Me(t,e);return new D(e.value-a.value,e.unit)}let n=G.visit(t);return new D(e.value-n.value,e.unit)}};var He={LogicalShift_left(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Bn(a))},LogicalShift_right(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Yn(a))},AS_addition(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Rt(a))},AS_subtraction(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Et(a))},MD_multiplication(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Mt(a))},MD_division(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Dt(a))},MD_modulo(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Gn(a))},E_exponent(i,e,t){let n=i.visit(),a=t.visit();return n.accept(new Pt(a))},P_parenthesis(i,e,t){return e.visit()},Primitive_positive(i,e){return et.visitPositive(e.visit())},Primitive_negative(i,e){return et.visitNegative(e.visit())},constant(i){return et.visitConstant(this.sourceString)},hex(i,e){return et.visitHex(this.sourceString)},number(i,e){let t=F.getInstance().numberResult.decimalSeparatorLocale;return et.visitNumber(this.sourceString,t)}};var Hn="BasicArithmeticProvider",Ku="BigIntegerArithmeticProvider",Zu="DatetimeProvider",Ju="DiceProvider",Qu="FunctionArithmeticProvider",Xu="PercentageArithmeticProvider",ec="UnitsOfMeasurementProvider",tc="VectorArithmeticProvider";var Wn=class extends Re{constructor(){super(Hn),this.semantics=Di.default.createSemantics(),this.semantics.addOperation("visit()",He)}enabled(){return F.getInstance().arithmeticProvider.enabled}provide(e){try{let t=Di.default.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Pi=me(nc());var zn=class extends Re{constructor(){super(Ku),this.semantics=Pi.default.createSemantics(),this.semantics.addOperation("visit()",{Bitwise_leftShift(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value<<l.value),a.radix)},Bitwise_rightShift(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value>>l.value),a.radix)},Bitwise_unsignedRightShift(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value>>>l.value),a.radix)},Bitwise_AND(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value&l.value),a.radix)},Bitwise_XOR(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value^l.value),a.radix)},Bitwise_OR(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value|l.value),a.radix)},AS_addition(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value+l.value),a.radix)},AS_subtraction(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value-l.value),a.radix)},MD_multiplication(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value*l.value),a.radix)},MD_division(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value/l.value),a.radix)},MD_remainder(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value%l.value),a.radix)},E_exponent(e,t,n){let a=e.visit(),l=n.visit();return new te(BigInt(a.value**l.value),a.radix)},P_parenthesis(e,t,n){return t.visit()},hex(e,t){return new te(BigInt(this.sourceString),16)},binary(e,t){return new te(BigInt(this.sourceString),2)},bigInteger(e){return new te(BigInt(this.sourceString),10)}}),this.cacheable=!0}enabled(){return F.getInstance().arithmeticProvider.enabled}provide(e){try{let t=Pi.default.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Ei=me(ic());var Nr=me(br()),Mi=i=>{switch(i){case"sunday":return 0;case"monday":return 1;case"tuesday":return 2;case"wednesday":return 3;case"thursday":return 4;case"friday":return 5;case"saturday":return 6}return 0},ac=i=>{let e=(0,Nr.default)().startOf("day"),t=(0,Nr.default)().isoWeekday(i);return t.isSame(e,"day")?t.add(1,"week"):t.isSameOrAfter(e)?t:t.add(1,"week")},oc=i=>{let e=(0,Nr.default)().startOf("day"),t=(0,Nr.default)().isoWeekday(i);return t.isSame(e,"day")?t.subtract(1,"week"):t.isBefore(e)?t:t.subtract(1,"week")};var lt=me(br()),jn=class extends Re{constructor(){super(Zu),this.cacheable=!1,this.semantics=Ei.default.createSemantics(),this.semantics.addOperation("visit()",{Addition(e,t,n){let a=e.visit(),l=parseInt(n.child(0).sourceString),c=n.child(1).sourceString;return new ve(a.value.add(l,c))},Subtraction(e,t,n){let a=e.visit(),l=parseInt(n.child(0).sourceString),c=n.child(1).sourceString;return new ve(a.value.subtract(l,c))},Primitive(e){return e.visit()},Now(e){return new ve((0,lt.default)())},Today(e){return new ve((0,lt.default)().startOf("day"))},Tomorrow(e){return new ve((0,lt.default)().add(1,"day").startOf("day"))},Yesterday(e){return new ve((0,lt.default)().subtract(1,"day").startOf("day"))},NextDayOfWeek(e,t){let n=t.sourceString.toLowerCase(),a=Mi(n);return new ve(ac(a))},LastDayOfWeek(e,t){let n=t.sourceString.toLowerCase(),a=Mi(n);return new ve(oc(a))},TimeUnitSinceDate(e,t,n){let a=n.visit(),l=(0,lt.default)().startOf("day").diff(a.value,e.sourceString);return new Ze(`${Math.max(l,0)} ${e.sourceString}`)},TimeUnitUntilDate(e,t,n){let l=n.visit().value.diff((0,lt.default)().startOf("day"),e.sourceString);return new Ze(`${Math.max(l,0)} ${e.sourceString}`)},datetimeIso8601(e,t,n,a,l,c,v,h){return new ve((0,lt.default)(this.sourceString))},datetimeFormatEuropeanOrUs(e,t,n,a,l,c){let v=`${e.sourceString}/${n.sourceString}/${l.sourceString} ${c.sourceString}`;switch(F.getInstance().datetimeProvider.parsingFormat){case 0:return new ve((0,lt.default)(v,["DD/MM/YYYY HH:mm:ss"]));case 1:return new ve((0,lt.default)(v,["MM/DD/YYYY HH:mm:ss"]))}},integer(e){return parseInt(this.sourceString)},number(e){return parseFloat(this.sourceString)}})}enabled(){return F.getInstance().datetimeProvider.enabled}provide(e){try{let t=Ei.default.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){return}}};var Ai=me(uc());var $n=class extends Re{constructor(){super(Ju);let e=F.getInstance();this.cacheable=!1,this.semantics=Ai.default.createSemantics();let t=(n,a)=>{if(n>a)throw new Error("'from' value must be less than or equal to 'to' value.");return Math.floor(Math.random()*(a-n+1))+n};this.semantics.addOperation("visit()",{Roll(n,a,l,c,v,h){let d=l.visit(),g=v.visit();return new x(t(d.value,g.value))},Primitive_positive(n,a){return et.visitPositive(a.visit())},Primitive_negative(n,a){return et.visitNegative(a.visit())},number_fract(n,a,l){return et.visitNumber(this.sourceString,e.numberResult.decimalSeparatorLocale)},number_whole(n){return et.visitNumber(this.sourceString,e.numberResult.decimalSeparatorLocale)}}).bind(this)}enabled(){return F.getInstance().diceProvider.enabled}provide(e){try{let t=Ai.default.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Oi=me(mc());var vc=i=>i*(Math.PI/180),hc=i=>i/(Math.PI/180);var dc=(i,e)=>Math.log(e)/Math.log(i);var Zn=class extends Re{constructor(){super(Qu),this.cacheable=!1,this.semantics=Oi.default.FunctionArithmetic.createSemantics(),this.semantics.addOperation("visit()",{...He,DegreesToRadians(e,t,n,a){let l=n.visit();return new x(vc(l.value))},RadiansToDegrees(e,t,n,a){let l=n.visit();return new x(hc(l.value))},LogBase(e,t,n,a,l,c){let v=n.visit(),h=l.visit();return new x(dc(v.value,h.value))},JavascriptMathObjectFunction(e,t,n,a){let l=e.sourceString.toLowerCase(),c=n.asIteration().children.map(h=>h.visit().value),v=Math[l];return new x(v?v(...c):0)}})}enabled(){return F.getInstance().functionArithmeticProvider.enabled}provide(e){try{let t=Oi.default.FunctionArithmetic.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Ni=me(gc());var Qn=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return e.value=ju(e.value,this.right.value),e;throw new T}};var Xn=class{constructor(e){this.right=e}visit(e){if(e instanceof x)return e.value=zu(e.value,this.right.value),e;throw new T}};var es=class{constructor(e){this.right=e}visit(e){if(this.right instanceof L)throw new T;if(e instanceof x){let t=G.visit(this.right);return new L(Wu(e.value,t.value))}throw new T}};var ts=class{constructor(e){this.right=e}visit(e){if(this.right instanceof L)throw new T;if(e instanceof L){let t=G.visit(this.right);return this.right.value=Xe(e.value,t.value),this.right}throw new T}};var rs=class extends Re{constructor(){super(Xu),this.semantics=Ni.default.PercentageArithmetic.createSemantics(),this.semantics.addOperation("visit()",{...He,PercentageOf(e,t,n){let a=e.visit(),l=n.visit();return a.accept(new ts(l))},IncreaseBy(e,t,n,a){let l=t.visit(),c=a.visit();return l.accept(new Xn(c))},DecreaseBy(e,t,n,a){let l=t.visit(),c=a.visit();return l.accept(new Qn(c))},PercentageIncreaseOrDecrease(e,t,n,a){let l=t.visit(),c=a.visit();return l.accept(new es(c))},percentage(e,t){let n=e.visit();return new L(n.value/100)}})}enabled(){return F.getInstance().percentageArithmeticProvider.enabled}provide(e){try{let t=Ni.default.PercentageArithmetic.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Ti=me(Sc());var ss=me(Pr()),is=class extends Re{constructor(){super(ec),this.semantics=Ti.default.UnitsOfMeasurementArithmetic.createSemantics(),this.semantics.addOperation("visit()",{...He,Conversion_best(e,t,n,a){let l=t.visit(),c=(0,ss.default)(l.value).from(l.unit).toBest();return new D(c.val,c.unit)},Conversion_convert(e,t,n,a){let l=t.visit(),c=a.visit();return new D((0,ss.default)(l.value).from(l.unit).to(c.unit),c.unit)},ConversionPossiblities(e,t,n,a){let l=t.visit(),c=(0,ss.default)().from(l.unit).possibilities().join(", ");return new Ze(c)},uom(e,t,n,a){let l=e.visit(),c=a.visit();return new D(l.value,c.unit)},unit(e){return new D(0,this.sourceString)},percentage(e,t){return new L(parseFloat(e.sourceString)/100)}})}enabled(){return F.getInstance().unitOfMeasurementProvider.enabled}provide(e){try{let t=Ti.default.UnitsOfMeasurementArithmetic.match(e);return t.failed()?void 0:this.semantics(t).visit()}catch(t){W.error(t);return}}};var Ci=me(wc()),Fi=me(Pc()),qi=me(Ac());var We=class i{static magnitudeSqrt(e){return e.x*e.x+e.y*e.y}static magnitude(e){return Math.sqrt(i.magnitudeSqrt(e))}static normalise(e){let t=i.magnitude(e);return t===0?i.zero():{x:e.x/t,y:e.y/t}}static dot(e,t){return e.x*t.x+e.y*t.y}static distance(e,t){let n=t.x-e.x,a=t.y-e.y;return Math.sqrt(n*n+a*a)}static distanceSq(e,t){let n=t.x-e.x,a=t.y-e.y;return n*n+a*a}static angleBetween(e,t){let n=i.dot(e,t),a=i.magnitude(e)*i.magnitude(t);return Math.acos(n/a)}static cross(e,t){return e.x*t.y-e.y*t.x}static lerp(e,t,n){n=Math.max(0,Math.min(1,n));let a=e.x+(t.x-e.x)*n,l=e.y+(t.y-e.y)*n;return{x:a,y:l}}static zero(){return{x:0,y:0}}static one(){return{x:1,y:1}}};var ze=class i{static magnitudeSqrt(e){return e.x*e.x+e.y*e.y+e.z*e.z}static magnitude(e){return Math.sqrt(i.magnitudeSqrt(e))}static normalise(e){let t=i.magnitude(e);return t===0?i.zero():{x:e.x/t,y:e.y/t,z:e.z/t}}static dot(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}static distance(e,t){let n=t.x-e.x,a=t.y-e.y,l=t.z-e.z;return Math.sqrt(n*n+a*a+l*l)}static distanceSq(e,t){let n=t.x-e.x,a=t.y-e.y,l=t.z-e.z;return n*n+a*a+l*l}static angleBetween(e,t){let n=i.dot(e,t),a=i.magnitude(e)*i.magnitude(t);return Math.acos(n/a)}static cross(e,t){let n=e.y*t.z-e.z*t.y,a=e.z*t.x-e.x*t.z,l=e.x*t.y-e.y*t.x;return{x:n,y:a,z:l}}static lerp(e,t,n){n=Math.max(0,Math.min(1,n));let a=e.x+(t.x-e.x)*n,l=e.y+(t.y-e.y)*n,c=e.z+(t.z-e.z)*n;return{x:a,y:l,z:c}}static zero(){return{x:0,y:0,z:0}}static one(){return{x:1,y:1,z:1}}};var tt=class i{static magnitudeSqrt(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w}static magnitude(e){return Math.sqrt(i.magnitudeSqrt(e))}static normalise(e){let t=i.magnitude(e);return t===0?i.zero():{x:e.x/t,y:e.y/t,z:e.z/t,w:e.w/t}}static dot(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w}static distance(e,t){let n=t.x-e.x,a=t.y-e.y,l=t.z-e.z,c=t.w-e.w;return Math.sqrt(n*n+a*a+l*l+c*c)}static distanceSq(e,t){let n=t.x-e.x,a=t.y-e.y,l=t.z-e.z,c=t.w-e.w;return n*n+a*a+l*l+c*c}static angleBetween(e,t){let n=i.dot(e,t),a=i.magnitude(e)*i.magnitude(t);return Math.acos(n/a)}static lerp(e,t,n){n=Math.max(0,Math.min(1,n));let a=e.x+(t.x-e.x)*n,l=e.y+(t.y-e.y)*n,c=e.z+(t.z-e.z)*n,v=e.w+(t.w-e.w)*n;return{x:a,y:l,z:c,w:v}}static zero(){return{x:0,y:0,z:0,w:0}}static one(){return{x:1,y:1,z:1,w:1}}};var Vi=class{visit(e){if(e instanceof U)return e;if(e instanceof x||e instanceof N)return new U({x:e.value,y:e.value});throw new Ge}},Ae=new Vi;var Li=class{visit(e){if(e instanceof k)return e;if(e instanceof x||e instanceof N)return new k({x:e.value,y:e.value,z:e.value});throw new Ge}},Oe=new Li;var ki=class{visit(e){if(e instanceof C)return e;if(e instanceof x||e instanceof N)return new C({x:e.value,y:e.value,z:e.value,w:e.value});throw new Ge}},Ne=new ki;var nr=class{constructor(e){this.right=e}visit(e){if(e instanceof U){let t=Ae.visit(e),n=Ae.visit(this.right);return this.vector2(t,n)}if(e instanceof k){let t=Oe.visit(e),n=Oe.visit(this.right);return this.vector3(t,n)}if(e instanceof C){let t=Ne.visit(e),n=Ne.visit(this.right);return this.vector4(t,n)}throw new T}vector2(e,t){return new U({x:e.value.x+t.value.x,y:e.value.y+t.value.y})}vector3(e,t){return new k({x:e.value.x+t.value.x,y:e.value.y+t.value.y,z:e.value.z+t.value.z})}vector4(e,t){return new C({x:e.value.x+t.value.x,y:e.value.y+t.value.y,z:e.value.z+t.value.z,w:e.value.w+t.value.w})}};var sr=class{constructor(e){this.right=e}visit(e){if(e instanceof U){let t=Ae.visit(e),n=Ae.visit(this.right);return this.vector2(t,n)}if(e instanceof k){let t=Oe.visit(e),n=Oe.visit(this.right);return this.vector3(t,n)}if(e instanceof C){let t=Ne.visit(e),n=Ne.visit(this.right);return this.vector4(t,n)}throw new T}vector2(e,t){return new U({x:e.value.x/t.value.x,y:e.value.y/t.value.y})}vector3(e,t){return new k({x:e.value.x/t.value.x,y:e.value.y/t.value.y,z:e.value.z/t.value.z})}vector4(e,t){return new C({x:e.value.x/t.value.x,y:e.value.y/t.value.y,z:e.value.z/t.value.z,w:e.value.w/t.value.w})}};var ir=class{constructor(e){this.right=e}visit(e){if(e instanceof U){let t=Ae.visit(e),n=Ae.visit(this.right);return this.vector2(t,n)}if(e instanceof k){let t=Oe.visit(e),n=Oe.visit(this.right);return this.vector3(t,n)}if(e instanceof C){let t=Ne.visit(e),n=Ne.visit(this.right);return this.vector4(t,n)}throw new T}vector2(e,t){return new U({x:Math.pow(e.value.x,t.value.x),y:Math.pow(e.value.y,t.value.y)})}vector3(e,t){return new k({x:Math.pow(e.value.x,t.value.x),y:Math.pow(e.value.y,t.value.y),z:Math.pow(e.value.z,t.value.z)})}vector4(e,t){return new C({x:Math.pow(e.value.x,t.value.x),y:Math.pow(e.value.y,t.value.y),z:Math.pow(e.value.z,t.value.z),w:Math.pow(e.value.w,t.value.w)})}};var ar=class{constructor(e){this.right=e}visit(e){if(e instanceof U){let t=Ae.visit(e),n=Ae.visit(this.right);return this.vector2(t,n)}if(e instanceof k){let t=Oe.visit(e),n=Oe.visit(this.right);return this.vector3(t,n)}if(e instanceof C){let t=Ne.visit(e),n=Ne.visit(this.right);return this.vector4(t,n)}throw new T}vector2(e,t){return new U({x:e.value.x*t.value.x,y:e.value.y*t.value.y})}vector3(e,t){return new k({x:e.value.x*t.value.x,y:e.value.y*t.value.y,z:e.value.z*t.value.z})}vector4(e,t){return new C({x:e.value.x*t.value.x,y:e.value.y*t.value.y,z:e.value.z*t.value.z,w:e.value.w*t.value.w})}};var or=class{constructor(e){this.right=e}visit(e){if(e instanceof U){let t=Ae.visit(e),n=Ae.visit(this.right);return this.vector2(t,n)}if(e instanceof k){let t=Oe.visit(e),n=Oe.visit(this.right);return this.vector3(t,n)}if(e instanceof C){let t=Ne.visit(e),n=Ne.visit(this.right);return this.vector4(t,n)}throw new T}vector2(e,t){return new U({x:e.value.x-t.value.x,y:e.value.y-t.value.y})}vector3(e,t){return new k({x:e.value.x-t.value.x,y:e.value.y-t.value.y,z:e.value.z-t.value.z})}vector4(e,t){return new C({x:e.value.x-t.value.x,y:e.value.y-t.value.y,z:e.value.z-t.value.z,w:e.value.w-t.value.w})}};var us=class extends rr{constructor(){super(tc);this.setupVector2Arithmetic(),this.setupVector3Arithmetic(),this.setupVector4Arithmetic()}setupVector2Arithmetic(){this.vector2Semantics=Ci.default.Vector2Arithmetic.createSemantics(),this.vector2Semantics.addOperation("visit()",{...He,AS_addition(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof U)&&!(c instanceof U)?l.accept(new Rt(c)):l.accept(new nr(c))},AS_subtraction(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof U)&&!(c instanceof U)?l.accept(new Et(c)):l.accept(new or(c))},MD_multiplication(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof U)&&!(c instanceof U)?l.accept(new Mt(c)):l.accept(new ar(c))},MD_division(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof U)&&!(c instanceof U)?l.accept(new Dt(c)):l.accept(new sr(c))},E_exponent(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof U)&&!(c instanceof U)?l.accept(new Pt(c)):l.accept(new ir(c))},P_parenthesis(t,n,a){return n.visit()},Vector2_parse(t,n,a,l,c,v){let h=a.visit(),d=c.visit();if(h instanceof U||d instanceof U)throw new TypeError("Expected: Number");return new U({x:h.value,y:d.value})},LengthSq_function(t,n,a,l){var c;return new x(We.magnitudeSqrt((c=a.visit())==null?void 0:c.value))},DistanceSq_function(t,n,a,l,c,v){var h,d;return new x(We.distanceSq((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Length_function(t,n,a,l){var c;return new x(We.magnitude((c=a.visit())==null?void 0:c.value))},Distance_function(t,n,a,l,c,v){var h,d;return new x(We.distance((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Normalise_function(t,n,a,l){var c;return new U(We.normalise((c=a.visit())==null?void 0:c.value))},Dot_function(t,n,a,l,c,v){var h,d;return new x(We.dot((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},AngleBetween_function(t,n,a,l,c,v){var h,d;return new x(We.angleBetween((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Cross_function(t,n,a,l,c,v){var h,d;return new x(We.cross((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Lerp_function(t,n,a,l,c,v,h,d){var g,f,y;return new U(We.lerp((g=a.visit())==null?void 0:g.value,(f=c.visit())==null?void 0:f.value,(y=h.visit())==null?void 0:y.value))}})}setupVector3Arithmetic(){this.vector3Semantics=Fi.default.Vector3Arithmetic.createSemantics(),this.vector3Semantics.addOperation("visit()",{...He,AS_addition(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof k)&&!(c instanceof k)?l.accept(new Rt(c)):l.accept(new nr(c))},AS_subtraction(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof k)&&!(c instanceof k)?l.accept(new Et(c)):l.accept(new or(c))},MD_multiplication(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof k)&&!(c instanceof k)?l.accept(new Mt(c)):l.accept(new ar(c))},MD_division(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof k)&&!(c instanceof k)?l.accept(new Dt(c)):l.accept(new sr(c))},E_exponent(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof k)&&!(c instanceof k)?l.accept(new Pt(c)):l.accept(new ir(c))},P_parenthesis(t,n,a){return n.visit()},Vector3_parse(t,n,a,l,c,v,h,d){let g=a.visit(),f=c.visit(),y=h.visit();if(g instanceof k||f instanceof k||y instanceof k)throw new TypeError("Expected: Number");return new k({x:g.value,y:f.value,z:y.value})},LengthSq_function(t,n,a,l){var c;return new x(ze.magnitudeSqrt((c=a.visit())==null?void 0:c.value))},DistanceSq_function(t,n,a,l,c,v){var h,d;return new x(ze.distanceSq((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Length_function(t,n,a,l){var c;return new x(ze.magnitude((c=a.visit())==null?void 0:c.value))},Distance_function(t,n,a,l,c,v){var h,d;return new x(ze.distance((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Normalise_function(t,n,a,l){var c;return new k(ze.normalise((c=a.visit())==null?void 0:c.value))},Dot_function(t,n,a,l,c,v){var h,d;return new x(ze.dot((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},AngleBetween_function(t,n,a,l,c,v){var h,d;return new x(ze.angleBetween((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Cross_function(t,n,a,l,c,v){var h,d;return new k(ze.cross((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Lerp_function(t,n,a,l,c,v,h,d){var g,f,y;return new k(ze.lerp((g=a.visit())==null?void 0:g.value,(f=c.visit())==null?void 0:f.value,(y=h.visit())==null?void 0:y.value))}})}setupVector4Arithmetic(){this.vector4Semantics=qi.default.Vector4Arithmetic.createSemantics(),this.vector4Semantics.addOperation("visit()",{...He,AS_addition(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof C)&&!(c instanceof C)?l.accept(new Rt(c)):l.accept(new nr(c))},AS_subtraction(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof C)&&!(c instanceof C)?l.accept(new Et(c)):l.accept(new or(c))},MD_multiplication(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof C)&&!(c instanceof C)?l.accept(new Mt(c)):l.accept(new ar(c))},MD_division(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof C)&&!(c instanceof C)?l.accept(new Dt(c)):l.accept(new sr(c))},E_exponent(t,n,a){let l=t.visit(),c=a.visit();return!(l instanceof C)&&!(c instanceof C)?l.accept(new Pt(c)):l.accept(new ir(c))},P_parenthesis(t,n,a){return n.visit()},Vector4_parse(t,n,a,l,c,v,h,d,g,f){let y=a.visit(),R=c.visit(),_=h.visit(),O=g.visit();if(y instanceof C||R instanceof C||_ instanceof C||O instanceof C)throw new TypeError("Expected: Number");return new C({x:y.value,y:R.value,z:_.value,w:O.value})},LengthSq_function(t,n,a,l){var c;return new x(tt.magnitudeSqrt((c=a.visit())==null?void 0:c.value))},DistanceSq_function(t,n,a,l,c,v){var h,d;return new x(tt.distanceSq((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Length_function(t,n,a,l){var c;return new x(tt.magnitude((c=a.visit())==null?void 0:c.value))},Distance_function(t,n,a,l,c,v){var h,d;return new x(tt.distance((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Normalise_function(t,n,a,l){var c;return new C(tt.normalise((c=a.visit())==null?void 0:c.value))},Dot_function(t,n,a,l,c,v){var h,d;return new x(tt.dot((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},AngleBetween_function(t,n,a,l,c,v){var h,d;return new x(tt.angleBetween((h=a.visit())==null?void 0:h.value,(d=c.visit())==null?void 0:d.value))},Lerp_function(t,n,a,l,c,v,h,d){var g,f,y;return new C(tt.lerp((g=a.visit())==null?void 0:g.value,(f=c.visit())==null?void 0:f.value,(y=h.visit())==null?void 0:y.value))}})}tryParseVectorArithmetic(t){let n=qi.default.Vector4Arithmetic.match(t);if(n.succeeded())return this.vector4Semantics(n).visit();let a=Fi.default.Vector3Arithmetic.match(t);if(a.succeeded())return this.vector3Semantics(a).visit();let l=Ci.default.Vector2Arithmetic.match(t);if(l.succeeded())return this.vector2Semantics(l).visit()}enabled(){return F.getInstance().vectorArithmeticProvider.enabled}provide(t){try{return this.tryParseVectorArithmetic(t)}catch(n){W.error(n);return}}};var Ui=class{constructor(){this._debugMode=!1;this.providersMap=new Map,this.settings=F.getInstance(),this.registerCoreProviders()}registerProvider(e){this.providersMap.set(Sr(e.name),e)}provideFirst(e){let t=xr.get(e);if(t)return t;for(let[,n]of this.providersMap)try{if(!n.enabled())continue;let a=n.provide(e);if(a===void 0)continue;return n.cacheable?xr.set(e,[n,a]):[n,a]}catch(a){W.error(a);continue}}registerCoreProviders(){this.registerProvider(new jn),this.registerProvider(new Wn),this.registerProvider(new zn),this.registerProvider(new rs),this.registerProvider(new is),this.registerProvider(new Zn),this.registerProvider(new us),this.registerProvider(new $n)}},lr=new Ui;var cs=class extends X{constructor(){super(...arguments);this.variableAssignmentRegex=new RegExp(/^(:\w+)\s+=/);this.variableSubstitutionRegex=new RegExp(/(:\w+)/g);this.resultSubstitutionVisitor=new Qt;this.variableMap=new Map}execute(t,n){let a=n.match(this.variableAssignmentRegex);if(a){let l=a[1];n=this.assignVariable(l,n)}else n=this.substituteVariables(n);return n}assignVariable(t,n){let a=n.indexOf("=");if(a===-1)return n;let l=n.substring(a+1),c=this.substituteVariables(l);n=n.replace(l,c);let v=lr.provideFirst(c);if(v===void 0)return n;let[,h]=v;return this.variableMap.set(t,h),n}substituteVariables(t){return t.replace(this.variableSubstitutionRegex,n=>{let a=this.variableMap.get(n);return typeof a=="undefined"?n:this.resultSubstitutionVisitor.visit(a)})}reset(){this.variableMap.clear()}};var Bi=class extends X{execute(e,t){let n=F.getInstance(),[a]=e;return a.name!==Hn||n.arithmeticProvider.enabled===!1||n.engine.explicitMode===!1&&(t=`= ${t}`),t}},Oc=new Bi;var ur=class i extends Error{constructor(e){super(e||"The executed pipeline has a received an undefined value in the context."),this.name="UndefinedContextInPipelineError",Error.captureStackTrace(this,i)}};var Yi=class extends X{constructor(){super();this.debugMode=!0}execute(t,n){let[a,l]=t;if(a===void 0||l===void 0)throw new ur;return this.debugMode&&(n+=` [${a.name}]`),n}},Nc=new Yi;var Tc=me(Pr()),ps=class{constructor(){this.settings=F.getInstance()}visit(e){if(e instanceof x)return this.visitNumberResult(e);if(e instanceof N)return this.visitHexResult(e);if(e instanceof L)return this.visitPercentageResult(e);if(e instanceof ve)return this.visitDatetimeResult(e);if(e instanceof Ze)return this.visitStringResult(e);if(e instanceof te)return this.visitBigIntResult(e);if(e instanceof U)return this.visitVector2Result(e);if(e instanceof k)return this.visitVector3Result(e);if(e instanceof C)return this.visitVector4Result(e);if(e instanceof D)return this.visitUnitOfMeasurementResult(e);throw new T}visitNumberResult(e){let t=!1;return Number.isInteger(e.value)?t=this.settings.integerResult.enableSeperator:t=this.settings.floatResult.enableSeperator,wr(e.value,this.settings.floatResult.decimalPlaces,t,this.settings.numberResult.decimalSeparatorLocale).toString()}visitHexResult(e){let t=e.value<0,n=Math.abs(e.value).toString(16).toUpperCase().padStart(this.settings.hexResult.enablePadding?this.settings.hexResult.paddingZeros:0,"0");return t?`-0x${n}`:`0x${n}`}visitPercentageResult(e){return`${wr(e.value*100,this.settings.percentageResult.decimalPlaces,this.settings.percentageResult.enableSeperator,this.settings.numberResult.decimalSeparatorLocale)}%`}visitDatetimeResult(e){return e.value.format(this.settings.datetimeResult.format)}visitStringResult(e){return e.value}visitBigIntResult(e){switch(e.radix){case 2:return`0b${e.value.toString(e.radix)}`;case 10:return e.value.toString(e.radix);case 16:return`0x${e.value.toString(e.radix)}`.toUpperCase();default:return e.value.toString(e.radix)}}visitVector2Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n})`}visitVector3Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces),a=e.value.z.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n}, ${a})`}visitVector4Result(e){let t=e.value.x.toFixed(this.settings.floatResult.decimalPlaces),n=e.value.y.toFixed(this.settings.floatResult.decimalPlaces),a=e.value.z.toFixed(this.settings.floatResult.decimalPlaces),l=e.value.w.toFixed(this.settings.floatResult.decimalPlaces);return`(${t}, ${n}, ${a}, ${l})`}visitUnitOfMeasurementResult(e){let t=this.settings.unitOfMeasurementResult.decimalPlaces,n=Number.isInteger(e.value)?e.value:e.value.toFixed(t),a=e.unit;if(this.settings.unitOfMeasurementResult.unitNames){let l=(0,Tc.default)().describe(e.unit);a=Math.abs(e.value)>1?l.plural:l.singular}return`${n} ${a}`}};var Gi=class extends X{constructor(){super();this.formatVisitor=new ps}execute(t,n){let[,a]=t;if(a===void 0)throw new ur;return n=this.formatVisitor.visit(a),n}},Vc=new Gi;var Lc=require("@codemirror/language"),kc=require("@codemirror/state"),Cc=require("@codemirror/view");var Qf=!1,ms=class{constructor(e){this.ignoreNodeForMaskString=["Document","quote","list","HyperMD-list-line","math"];W.debug("[SolveViewPlugin] Constructer"),this.userSettings=F.getInstance(),this.previousResultSubstitutionStage=new An,this.variableProcessingStage=new cs,this.expressionProcesser=new Lt().addStage(Ha).addStage(Ba).addStage(Wa),this.expressionProcesserArray=new Lt().addStage(Ga),this.expressionProcesserFinal=new Lt().addStage(this.previousResultSubstitutionStage).addStage(this.variableProcessingStage).addStage(Ya).addStage(mu),this.resultProcessor=new Lt().addStage(Vc).addStage(Oc),this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&(it.emit(0,1),this.variableProcessingStage.reset(),this.decorations=this.buildDecorations(e.view),it.emit(0,0))}destroy(){W.debug("[SolveViewPlugin] Destroyed")}buildDecorations(e){let t=new kc.RangeSetBuilder,n=(0,Lc.syntaxTree)(e.state),a=e.visibleRanges,l=new Set,c=!0,v=0,h=0,d=!1;for(let{from:g,to:f}of a){let y=new Array;n.iterate({from:g,to:f,enter:O=>{if(this.isNodeIgnoredFromMask(O.type.name))return;c&&(c=!1,v=O.to,h=O.from);let K=O.from-v<=1;O.to<=v||K?(K&&(v=O.to),d=!0):(y.push([h,v]),h=O.from,v=O.to,d=!1)}}),d&&y.push([h,v]);let R=e.state.doc.iterRange(g,f),_=0;for(let O of R){let K=g+_,ee=e.state.doc.lineAt(K),ae=ee.text.trimStart(),At=ee.text.length-ae.length;if(ae=ae.trimEnd(),!ae||ae.length===0){_+=O.length;continue}if(l.has(ee.number)){_+=O.length;continue}if(this.isRangeInMask(y,ee.from,ee.to)){_+=O.length;continue}let je={lineNumber:ee.number,originalLineText:ae,isAllowedExplicitModeExpression:!1};ae=this.expressionProcesser.process(je,ae);let _t=this.expressionProcesserArray.process(je,[ae]);for(let _e=0;_e<_t.length;_e++){let cr=_t[_e];ae=this.expressionProcesserFinal.process(je,cr);let Se=this.provideDecoration(je,ae);if(Se)if(je.isInlineSolve&&je.inlineSolveIndices){let pr=ee.from+3+je.inlineSolveIndices[_e]+At+cr.length;t.add(pr,pr,Se)}else t.add(ee.to,ee.to,Se)}l.add(ee.number),_+=O.length}}return t.finish()}isNodeIgnoredFromMask(e){for(let t=0;t<this.ignoreNodeForMaskString.length;t++){let n=this.ignoreNodeForMaskString[t];if(e.startsWith(n))return!0}return!1}isRangeInMask(e,t,n){for(let a=0;a<e.length;a++){let[l,c]=e[a];if(t>=l&&n<=c)return!0}return!1}provideDecoration(e,t){if(this.userSettings.engine.explicitMode&&!e.isAllowedExplicitModeExpression)return;let n=lr.provideFirst(t);if(n===void 0)return;let a=this.resultProcessor.process(n,""),l=t.trim(),c=a.startsWith("= ")?a.substring(2).trim():a.trim();if(l.toLowerCase()!==c.toLowerCase())return this.previousResultSubstitutionStage.setPreviousResult(n[1]),Qf&&(a=Nc.process(n,a)),Cc.Decoration.widget({widget:new wn(e,t,a),side:1})}};var Hi=(e=>(e.RegisterProvider="solve-register-provider",e))(Hi||{});var Fc={animate__bounce:"bounce",animate__flash:"flash",animate__pulse:"pulse",animate__rubberBand:"rubberBand",animate__shakeX:"shakeX",animate__shakeY:"shakeY",animate__headShake:"headShake",animate__swing:"swing",animate__tada:"tada",animate__wobble:"wobble",animate__jello:"jello",animate__heartBeat:"heartBeat",animate__backInDown:"backInDown",animate__backInLeft:"backInLeft",animate__backInRight:"backInRight",animate__backInUp:"backInUp",animate__bounceIn:"bounceIn",animate__bounceInDown:"bounceInDown",animate__bounceInLeft:"bounceInLeft",animate__bounceInRight:"bounceInRight",animate__bounceInUp:"bounceInUp",animate__fadeIn:"fadeIn",animate__fadeInDown:"fadeInDown",animate__fadeInDownBig:"fadeInDownBig",animate__fadeInLeft:"fadeInLeft",animate__fadeInLeftBig:"fadeInLeftBig",animate__fadeInRight:"fadeInRight",animate__fadeInRightBig:"fadeInRightBig",animate__fadeInUp:"fadeInUp",animate__fadeInUpBig:"fadeInUpBig",animate__fadeInTopLeft:"fadeInTopLeft",animate__fadeInTopRight:"fadeInTopRight",animate__fadeInBottomLeft:"fadeInBottomLeft",animate__fadeInBottomRight:"fadeInBottomRight",animate__flip:"flip",animate__flipInX:"flipInX",animate__flipInY:"flipInY",animate__lightSpeedInRight:"lightSpeedInRight",animate__lightSpeedInLeft:"lightSpeedInLeft",animate__rotateIn:"rotateIn",animate__rotateInDownLeft:"rotateInDownLeft",animate__rotateInDownRight:"rotateInDownRight",animate__rotateInUpLeft:"rotateInUpLeft",animate__rotateInUpRight:"rotateInUpRight",animate__jackInTheBox:"jackInTheBox",animate__rollIn:"rollIn",animate__zoomIn:"zoomIn",animate__zoomInDown:"zoomInDown",animate__zoomInLeft:"zoomInLeft",animate__zoomInRight:"zoomInRight",animate__zoomInUp:"zoomInUp",animate__slideInDown:"slideInDown",animate__slideInLeft:"slideInLeft",animate__slideInRight:"slideInRight",animate__slideInUp:"slideInUp"};var qc={"en-US":"English","de-DE":"Non English"};var A=require("obsidian"),vs=class extends A.PluginSettingTab{constructor(t,n){super(t,n);this.plugin=n}display(){this.containerEl.empty(),this.displayIntroduction(),this.displayEngineSettings(),this.displayInterfaceSettings(),this.displayInlineSolveSettings(),this.displayVariablesSettings(),this.displayProviderManagementSettings(),this.displayArithmeticProviderSettings(),this.displayDatetimeProviderSettings(),this.displayNumberSettings(),this.displayIntegerSettings(),this.displayFloatSettings(),this.displayPercentageSettings(),this.displayDatetimeSettings(),this.displayHexSettings(),this.displayUnitOfMeasurementSettings(),this.displayStyleSettings()}displayIntroduction(){new A.Setting(this.containerEl).setName("Introduction").setHeading(),new A.Setting(this.containerEl).setDesc("Solve is an unobtrusive Obsidian plugin that quietly processes equations and patterns in real time, inspired by NoteMaster's Smart Mode. With solid engineering at its core, Solve enhances note-taking without relying on ChatGPT. For instance, effortlessly calculates date and time expressions (e.g., 'Now + 20 days'), performs arithmetic (e.g., '10 + 5'), and more features are coming soon.")}displayEngineSettings(){new A.Setting(this.containerEl).setName("Engine").setHeading(),new A.Setting(this.containerEl).setName("Explicit mode").setDesc(`Solve will only display results for sentences ending with '=' sign. Default is ${b.engine.explicitMode}`).addToggle(t=>t.setValue(this.plugin.settings.engine.explicitMode).onChange(async n=>{this.plugin.settings.engine.explicitMode=n,await this.plugin.saveSettings()}))}displayInlineSolveSettings(){new A.Setting(this.containerEl).setName("Inline Solve").setHeading(),new A.Setting(this.containerEl).setName("Include expression when committing").setDesc(`Solve will include the expression in the format \`EXPRESSION = RESULT\` when committing e.g. '2 + 2 = 4'. Default is ${b.inlineSolve.includeExpressionOnCommit}`).addToggle(t=>t.setValue(this.plugin.settings.inlineSolve.includeExpressionOnCommit).onChange(async n=>{this.plugin.settings.inlineSolve.includeExpressionOnCommit=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Include backticks when committing").setDesc(`Solve will enclose the committed expression in backticks when committing. Default is ${b.inlineSolve.includeBackticksOnCommit}`).addToggle(t=>t.setValue(this.plugin.settings.inlineSolve.includeBackticksOnCommit).onChange(async n=>{this.plugin.settings.inlineSolve.includeBackticksOnCommit=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Include equals when committing").setDesc(`Solve will include the equals when committing. Has no effect if solve is set to include the expression. Default is ${b.inlineSolve.includeBackticksOnCommit}`).addToggle(t=>t.setValue(this.plugin.settings.inlineSolve.includeEqualsOnCommit).onChange(async n=>{this.plugin.settings.inlineSolve.includeEqualsOnCommit=n,await this.plugin.saveSettings()}))}displayVariablesSettings(){new A.Setting(this.containerEl).setName("Variable").setHeading(),new A.Setting(this.containerEl).setName("Show variable result").setDesc(`Solve will display results at the end of variables. Default is ${b.variable.renderResult}`).addToggle(t=>t.setValue(this.plugin.settings.variable.renderResult).onChange(async n=>{this.plugin.settings.variable.renderResult=n,await this.plugin.saveSettings()}))}displayProviderManagementSettings(){new A.Setting(this.containerEl).setName("Provider Management").setHeading(),new A.Setting(this.containerEl).setName("Arithmetic").setDesc(`Enable the arithmetic provider e.g. 10 + 2. Default is ${b.arithmeticProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.arithmeticProvider.enabled).onChange(async n=>{this.plugin.settings.arithmeticProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Function Arithmetic").setDesc(`Enable the function arithmetic provider e.g. sin(), cos(). Default is ${b.functionArithmeticProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.functionArithmeticProvider.enabled).onChange(async n=>{this.plugin.settings.functionArithmeticProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Vector Arithmetic").setDesc(`Enable the vector arithmetic provider e.g. (10, 22.3), vec3(1.0, 23, 18.3). Default is ${b.vectorArithmeticProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.vectorArithmeticProvider.enabled).onChange(async n=>{this.plugin.settings.vectorArithmeticProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Percentage").setDesc(`Enable the percentage provider e.g. 10% of 200, increase 20 by 10%. Default is ${b.percentageArithmeticProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.percentageArithmeticProvider.enabled).onChange(async n=>{this.plugin.settings.percentageArithmeticProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Datetime").setDesc(`Enable the datetime provider e.g. today + 20 days, last monday. Default is ${b.datetimeProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.datetimeProvider.enabled).onChange(async n=>{this.plugin.settings.datetimeProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Unit of Measurement").setDesc(`Enable the unit of measurement provider e.g. 10cm + 20, 200cm to m. Default is ${b.unitOfMeasurementProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.unitOfMeasurementProvider.enabled).onChange(async n=>{this.plugin.settings.unitOfMeasurementProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Dice").setDesc(`Enable the dice provider e.g. roll(1, 100), roll between 1 and 12. Default is ${b.diceProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.diceProvider.enabled).onChange(async n=>{this.plugin.settings.diceProvider.enabled=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Binary (BigInteger)").setDesc(`Enable the binary (BigInteger) provider e.g. 0b10101 >> 4, right shift. Default is ${b.bigIntegerArithmeticProvider.enabled}`).addToggle(t=>t.setValue(this.plugin.settings.bigIntegerArithmeticProvider.enabled).onChange(async n=>{this.plugin.settings.bigIntegerArithmeticProvider.enabled=n,await this.plugin.saveSettings()}))}displayInterfaceSettings(){new A.Setting(this.containerEl).setName("Interface").setHeading(),new A.Setting(this.containerEl).setName("Show result at end of line").setDesc(`Position results at the conclusion of lines, not text's termination. Be cautious when using this setting, as it may cause overlap between the displayed result and the text on the same line. Default is ${b.interface.renderResultEndOfLine}`).addToggle(t=>{let n=this.plugin.settings.interface.renderResultEndOfLine;t.setValue(n),n?document.body.classList.add("osf--result-eol"):document.body.classList.remove("osf--result-eol"),t.onChange(async a=>{this.plugin.settings.interface.renderResultEndOfLine=a,a?document.body.classList.add("osf--result-eol"):document.body.classList.remove("osf--result-eol"),await this.plugin.saveSettings()})}),new A.Setting(this.containerEl).setName("Show status bar companion").setDesc(`Show the Solve companion in the status bar. Default is ${b.interface.showStatusBarCompanion}`).addToggle(t=>t.setValue(this.plugin.settings.interface.showStatusBarCompanion).onChange(async n=>{this.plugin.settings.interface.showStatusBarCompanion=n,n?this.plugin.setStatusBarCompanionVisibility(!0):this.plugin.setStatusBarCompanionVisibility(!1),await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Animate results").setDesc(`Enable animate results on the current active line that is being solved. Default is ${b.interface.animateResults}`).addToggle(t=>t.setValue(this.plugin.settings.interface.animateResults).onChange(async n=>{this.plugin.settings.interface.animateResults=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Animation transition").setDesc(`Specify the transition class name from Animate.css to use on animated results. Default is ${b.interface.animationClass.replace("animate__","")}`).addDropdown(t=>{let n=this.plugin.settings.interface.animationClass;t.addOptions(Fc),t.setValue(n),t.onChange(async a=>{this.plugin.settings.interface.animationClass=a,await this.plugin.saveSettings()})}),new A.Setting(this.containerEl).setName("Animation duration").setDesc(`Specify the animation duration (CSS format) to use for animated results. Default is ${b.interface.animationDuration}`).addText(t=>{let n=this.plugin.settings.interface.animationDuration;t.setValue(n),t.onChange(async a=>{this.plugin.settings.interface.animationDuration=a,await this.plugin.saveSettings()})})}displayArithmeticProviderSettings(){new A.Setting(this.containerEl).setName("Arithmetic Provider").setHeading(),new A.Setting(this.containerEl).setName("Show = before the result").setDesc(`Adds the equals sign before arithmetic results to improve the natural reading of expressions. Default is ${b.arithmeticProvider.renderEqualsBeforeResult}`).addToggle(t=>{let n=this.plugin.settings.arithmeticProvider.renderEqualsBeforeResult;t.setValue(n),t.onChange(async a=>{this.plugin.settings.arithmeticProvider.renderEqualsBeforeResult=a,await this.plugin.saveSettings()})})}displayDatetimeProviderSettings(){new A.Setting(this.containerEl).setName("Datetime Provider").setHeading(),new A.Setting(this.containerEl).setName("Parsing format").setDesc("Specify the format to be used for parsing datetime values.").addDropdown(t=>{let n=this.plugin.settings.datetimeProvider.parsingFormat;switch(t.addOptions({EU:"European DD/MM/YYYY",US:"American - MM/DD/YYYY"}),n){case 0:t.setValue("EU");break;case 1:t.setValue("US");break}t.onChange(async a=>{switch(a){case"EU":this.plugin.settings.datetimeProvider.parsingFormat=0;break;case"US":this.plugin.settings.datetimeProvider.parsingFormat=1;break}await this.plugin.saveSettings()})})}displayNumberSettings(){new A.Setting(this.containerEl).setName("Number Result (Shared)").setHeading(),new A.Setting(this.containerEl).setName("Decimal seperator").setDesc("Specify the seperator format to be used for decimals. Default is English").addDropdown(t=>{let n=this.plugin.settings.numberResult.decimalSeparatorLocale;t.addOptions(qc),t.setValue(n),t.onChange(async a=>{this.plugin.settings.numberResult.decimalSeparatorLocale=a,await this.plugin.saveSettings()})})}displayIntegerSettings(){new A.Setting(this.containerEl).setName("Integer Result").setHeading(),new A.Setting(this.containerEl).setName("Display thousand separators").setDesc(`Adds thousand separators to integer results. Default is ${b.integerResult.enableSeperator}`).addToggle(t=>{let n=this.plugin.settings.integerResult.enableSeperator;t.setValue(n),t.onChange(async a=>{this.plugin.settings.integerResult.enableSeperator=a,await this.plugin.saveSettings()})})}displayFloatSettings(){new A.Setting(this.containerEl).setName("Float Result").setHeading(),new A.Setting(this.containerEl).setName("Display thousand separators").setDesc(`Adds thousand separators to float results. Default is ${b.floatResult.enableSeperator}`).addToggle(t=>{let n=this.plugin.settings.floatResult.enableSeperator;t.setValue(n),t.onChange(async a=>{this.plugin.settings.floatResult.enableSeperator=a,await this.plugin.saveSettings()})}),new A.Setting(this.containerEl).setName("Decimal places").setDesc(`Adjust the number of decimal places, setting to reveal more digits for accuracy or fewer digits for simplicity in number displays. Default is ${b.floatResult.decimalPlaces}`).addSlider(t=>{let n=this.plugin.settings.floatResult.decimalPlaces;t.setLimits(0,17,1),t.setValue(n),t.sliderEl.addEventListener("mouseover",()=>{t.showTooltip()}),t.onChange(async a=>{this.plugin.settings.floatResult.decimalPlaces=a,t.showTooltip(),await this.plugin.saveSettings()})})}displayPercentageSettings(){new A.Setting(this.containerEl).setName("Percentage Result").setHeading(),new A.Setting(this.containerEl).setName("Display thousand separators").setDesc(`Adds thousand separators to percentage results. Default is ${b.percentageResult.enableSeperator}`).addToggle(t=>{let n=this.plugin.settings.percentageResult.enableSeperator;t.setValue(n),t.onChange(async a=>{this.plugin.settings.percentageResult.enableSeperator=a,await this.plugin.saveSettings()})}),new A.Setting(this.containerEl).setName("Decimal places").setDesc(`Adjust the number of decimal places, setting to reveal more digits for accuracy or fewer digits for simplicity in number displays. Default is ${b.percentageResult.decimalPlaces}`).addSlider(t=>{let n=this.plugin.settings.percentageResult.decimalPlaces;t.setLimits(0,17,1),t.setValue(n),t.sliderEl.addEventListener("mouseover",()=>{t.showTooltip()}),t.onChange(async a=>{this.plugin.settings.percentageResult.decimalPlaces=a,t.showTooltip(),await this.plugin.saveSettings()})})}displayDatetimeSettings(){new A.Setting(this.containerEl).setName("Datetime Result").setHeading(),new A.Setting(this.containerEl).setName("Format").setDesc(`The format to use when displaying a date in the result. Default is ${b.datetimeResult.format}`).addMomentFormat(t=>t.setValue(this.plugin.settings.datetimeResult.format).onChange(async n=>{this.plugin.settings.datetimeResult.format=n,await this.plugin.saveSettings()}))}displayHexSettings(){new A.Setting(this.containerEl).setName("Hex Result").setHeading(),new A.Setting(this.containerEl).setName("Value padding").setDesc(`Enable or disable padding the start of hex values with zeros for consistency. Default is ${b.hexResult.enablePadding}`).addToggle(t=>t.setValue(this.plugin.settings.hexResult.enablePadding).onChange(async n=>{this.plugin.settings.hexResult.enablePadding=n,await this.plugin.saveSettings()})),new A.Setting(this.containerEl).setName("Padding zeros").setDesc(`Specify the number of leading zeros to pad hex values with for a uniform appearance. Default is ${b.hexResult.paddingZeros}`).addSlider(t=>{let n=this.plugin.settings.hexResult.paddingZeros;t.setLimits(0,32,1),t.setValue(n),t.sliderEl.addEventListener("mouseover",()=>{t.showTooltip()}),t.onChange(async a=>{this.plugin.settings.hexResult.paddingZeros=a,t.showTooltip(),await this.plugin.saveSettings()})})}displayUnitOfMeasurementSettings(){new A.Setting(this.containerEl).setName("Unit of Measurement Result").setHeading(),new A.Setting(this.containerEl).setName("Decimal places").setDesc(`Adjust the number of decimal places, setting to reveal more digits for accuracy or fewer digits for simplicity in number displays. Default is ${b.unitOfMeasurementResult.decimalPlaces}`).addSlider(t=>{let n=this.plugin.settings.unitOfMeasurementResult.decimalPlaces;t.setLimits(0,17,1),t.setValue(n),t.sliderEl.addEventListener("mouseover",()=>{t.showTooltip()}),t.onChange(async a=>{this.plugin.settings.unitOfMeasurementResult.decimalPlaces=a,t.showTooltip(),await this.plugin.saveSettings()})}),new A.Setting(this.containerEl).setName("Show unit name").setDesc(`Show the unit name in the result instead of the unit abbreviation. Default is ${b.unitOfMeasurementResult.unitNames}`).addToggle(t=>t.setValue(this.plugin.settings.unitOfMeasurementResult.unitNames).onChange(async n=>{this.plugin.settings.unitOfMeasurementResult.unitNames=n,await this.plugin.saveSettings()}))}displayStyleSettings(){new A.Setting(this.containerEl).setName("Style").setHeading(),new A.Setting(this.containerEl).setDesc("The font family and font size settings are inherited from the Obsidian text font. For more advanced styling options, consider using the Style Settings plugin by @mgmeyers.")}};function Uc(i,e=-1){let t=i.filter(n=>n>e);return t.length===0?e:Math.min(...t)}function Bc(i,e,t,n=!0){return n?i.substring(0,e).trimEnd()+t+i.substring(e).trim():i.substring(0,e)+t+i.substring(e)}var Yc=require("@codemirror/view"),Tr=require("obsidian"),hs=class extends Tr.Plugin{async onload(){W.debug("[Solve] onload()"),await this.registerEvents(),await this.restoreUserSettings(),W.debug("[Solve] User Settings Restored"),await this.registerSettings(),W.debug("[Solve] Registered: Settings"),this.app.workspace.trigger("parse-style-settings"),W.debug("[Solve] Triggered Event: parse-style-setting"),this.registerEvent(this.app.workspace.on(Hi.SolveObsidianEvents,([t])=>{var n,a;W.debug("[Solve] Registered Custom Provider",t),t&&t.name&&t.name.length&&(lr.registerProvider(t),(a=(n=this.app.workspace.activeEditor)==null?void 0:n.editor)==null||a.refresh())})),W.debug("[Solve] Registered: Register Provider Event Listener"),await this.registerEditorExtensions(),W.debug("[Solve] Registered: Editor Extensions"),await this.addStatusBarCompanion(),W.debug("[Solve] Added: Status Bar Companion"),await this.registerCommands()}onunload(){W.debug("[Solve] onunload()"),it.removeAllListeners()}async saveSettings(){let t=this.settings.settings;W.debug("[Solve] Settings Saved",t),await this.saveData(t),xr.clear(),this.app.workspace.updateOptions()}async registerEvents(){it.on(0,this.onStatusBarUpdateEvent.bind(this)),it.on(1,this.onWriteResultEvent.bind(this))}async restoreUserSettings(){this.settings=F.getInstance();let t=await this.loadData();this.settings.updateSettings(Object.assign({},b,t)),await this.restoreFeatureFlags()}async registerSettings(){this.addSettingTab(new vs(this.app,this))}async registerEditorExtensions(){let t=await this.buildMarkdownEditorViewPlugin();this.registerEditorExtension(t)}async buildMarkdownEditorViewPlugin(){return Yc.ViewPlugin.fromClass(ms,{decorations:t=>t.decorations})}async restoreFeatureFlags(){this.settings.interface.renderResultEndOfLine?document.body.classList.add("osf--result-eol"):document.body.classList.remove("osf--result-eol")}async addStatusBarCompanion(){this.statusBarItemEl=this.addStatusBarItem(),this.settings.interface.showStatusBarCompanion||this.setStatusBarCompanionVisibility(!1),it.emit(0,0)}async registerCommands(){this.addCommand({id:"commit-result-current-line",name:"Commit result on current line",editorCallback(t,n){let a=t.getCursor("head").line+1,{containerEl:l}=t,c=l.querySelector(`#osr-${a}`);c?c.click():new Tr.Notice("Solve: Failed to commit, no result found on the current line.")}}),this.addCommand({id:"commit-result-all-visible",name:"Commit all visible results",editorCallback(t,n){let{containerEl:a}=t,l=a.querySelectorAll(".os-result");for(let c=0;c<l.length;c++){let v=l[c];v&&v.click()}}}),this.addCommand({id:"commit-result-selection-visible",name:"Commit results in selection",editorCallback(t,n){let a=t.getCursor("from"),l=t.getCursor("to");if(a.line===l.line&&a.ch===l.ch){new Tr.Notice("Solve: Failed to commit, no text selected.");return}let{containerEl:c}=t;if(c)for(let v=a.line+1;v<l.line+1;v++){let h=c.querySelector(`#osr-${v+1}`);h&&h.click()}}})}async setStatusBarCompanionVisibility(t){t?this.statusBarItemEl.style.display="inline-block":this.statusBarItemEl.style.display="none"}async onStatusBarUpdateEvent(t){switch(t){case 1:this.statusBarItemEl.setText("Solve \u{1F914}");break;case 0:setTimeout(()=>this.statusBarItemEl.setText("Solve \u{1F634}"),700);break}}async onWriteResultEvent(t,n,a,l){var d,g,f,y;let c=Math.max(0,t-1),v=(g=(d=this.app.workspace.activeEditor)==null?void 0:d.editor)==null?void 0:g.getLine(c);if(typeof v=="undefined")return;let h=Uc([v.indexOf("#"),v.indexOf("//")]);if(h>-1)v=Bc(v,h,` ${a} `);else if(l){let R=this.settings.inlineSolve.includeEqualsOnCommit&&!this.settings.inlineSolve.includeExpressionOnCommit,_=a.toString();_=R?_:_.replace(/^= /,"");let O=this.settings.inlineSolve.includeExpressionOnCommit?`${n} = ${_}`:`${_}`;O=this.settings.inlineSolve.includeBackticksOnCommit?`\`${O}\``:O,v=v.replace(`s\`${n}\``,O)}else v=`${v==null?void 0:v.trimEnd()} ${a}`;(y=(f=this.app.workspace.activeEditor)==null?void 0:f.editor)==null||y.setLine(c,v)}};
|
|
/*! Bundled license information:
|
|
|
|
moment/moment.js:
|
|
(*! moment.js *)
|
|
(*! version : 2.29.4 *)
|
|
(*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
|
|
(*! license : MIT *)
|
|
(*! momentjs.com *)
|
|
*/
|
|
|
|
/* nosourcemap */ |