@usine/server 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -1
- package/dist/backend.d.ts +16 -9
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +13 -2
- package/dist/backend.js.map +1 -1
- package/dist/backup.d.ts +4 -0
- package/dist/backup.d.ts.map +1 -0
- package/dist/backup.js +13 -0
- package/dist/backup.js.map +1 -0
- package/dist/cli.d.ts +36 -7
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +115 -28
- package/dist/cli.js.map +1 -1
- package/dist/export-run.d.ts +22 -0
- package/dist/export-run.d.ts.map +1 -0
- package/dist/export-run.js +85 -0
- package/dist/export-run.js.map +1 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +99 -138
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +1 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -7
- package/dist/index.js.map +1 -1
- package/dist/main.js +18 -8
- package/dist/main.js.map +1 -1
- package/dist/shutdown.d.ts +7 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +49 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/up.d.ts +2 -2
- package/dist/up.d.ts.map +1 -1
- package/dist/up.js +48 -25
- package/dist/up.js.map +1 -1
- package/dist/web/assets/_name-DdyMEUN6.js +6 -0
- package/dist/web/assets/_name-eoobiMh0.js +1 -0
- package/dist/web/assets/_name-pUxlKZt5.js +1 -0
- package/dist/web/assets/badge-t7m0Vk1K.js +146 -0
- package/dist/web/assets/bash-CLZ0U2zV.js +1 -0
- package/dist/web/assets/button-BoOukj77.js +1 -0
- package/dist/web/assets/core-CLXRiB63.js +12 -0
- package/dist/web/assets/diff-woXpYk--.js +1 -0
- package/dist/web/assets/empty-DbVYU7bi.js +1 -0
- package/dist/web/assets/engine-javascript-h-x4hGa4.js +141 -0
- package/dist/web/assets/index-CVBBoW6r.css +2 -0
- package/dist/web/assets/index-CsW8KcJW.js +10 -0
- package/dist/web/assets/json-qhed-kSA.js +1 -0
- package/dist/web/assets/loops-DghpuoiG.js +1 -0
- package/dist/web/assets/operator-copy-DIsVXn17.js +1 -0
- package/dist/web/assets/overview-DmCIVPwN.js +1 -0
- package/dist/web/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/web/assets/routes-BDyP7vCr.js +1 -0
- package/dist/web/assets/run-drawer-B-xhTXe4.js +157 -0
- package/dist/web/assets/status-badge-yblcElE0.js +1 -0
- package/dist/web/assets/table-B8cLYNvq.js +1 -0
- package/dist/web/assets/typescript-bsJCZSQ-.js +1 -0
- package/dist/web/assets/useCompositeItem-HmBmWxUW.js +1 -0
- package/dist/web/assets/with-selector-N6m4X0X_.js +1 -0
- package/dist/web/index.html +9 -2
- package/package.json +7 -7
- package/dist/web/assets/index-CjRDHHWF.css +0 -2
- package/dist/web/assets/index-DmN0SkGf.js +0 -295
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
function e(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function t(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var n=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),r=String.raw;function i(e,t){if(e==null)throw Error(t??`Value expected`);return e}var a=r`\[\^?`,o=`c.? | C(?:-.?)?|${r`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${r`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${r`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${r`o\{[^\}]*\}?`}|${r`\d{1,3}`}`,s=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,c=new RegExp(r`
|
|
2
|
+
\\ (?:
|
|
3
|
+
${o}
|
|
4
|
+
| [gk]<[^>]*>?
|
|
5
|
+
| [gk]'[^']*'?
|
|
6
|
+
| .
|
|
7
|
+
)
|
|
8
|
+
| \( (?:
|
|
9
|
+
\? (?:
|
|
10
|
+
[:=!>({]
|
|
11
|
+
| <[=!]
|
|
12
|
+
| <[^>]*>
|
|
13
|
+
| '[^']*'
|
|
14
|
+
| ~\|?
|
|
15
|
+
| #(?:[^)\\]|\\.?)*
|
|
16
|
+
| [^:)]*[:)]
|
|
17
|
+
)?
|
|
18
|
+
| \*[^\)]*\)?
|
|
19
|
+
)?
|
|
20
|
+
| (?:${s.source})+
|
|
21
|
+
| ${a}
|
|
22
|
+
| .
|
|
23
|
+
`.replace(/\s+/g,``),`gsu`),l=new RegExp(r`
|
|
24
|
+
\\ (?:
|
|
25
|
+
${o}
|
|
26
|
+
| .
|
|
27
|
+
)
|
|
28
|
+
| \[:(?:\^?\p{Alpha}+|\^):\]
|
|
29
|
+
| ${a}
|
|
30
|
+
| &&
|
|
31
|
+
| .
|
|
32
|
+
`.replace(/\s+/g,``),`gsu`);function u(e,t={}){let n={flags:``,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!=`string`)throw Error(`String expected as pattern`);let r=_e(n.flags),i=[r.extended],a={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(e){i.push(e)},replaceCurrentModX(e){i[i.length-1]=e},singleline:n.rules.singleline},o=[],s;for(c.lastIndex=0;s=c.exec(e);){let t=d(a,e,s[0],c.lastIndex);t.tokens?o.push(...t.tokens):t.token&&o.push(t.token),t.lastIndex!==void 0&&(c.lastIndex=t.lastIndex)}let l=[],u=0;o.filter(e=>e.type===`GroupOpen`).forEach(e=>{e.kind===`capturing`?e.number=++u:e.raw===`(`&&l.push(e)}),u||l.forEach((e,t)=>{e.kind=`capturing`,e.number=t+1});let f=u||l.length;return{tokens:o.map(e=>e.type===`EscapedNumber`?ye(e,f):e).flat(),flags:r}}function d(t,n,i,a){let[o,c]=i;if(i===`[`||i===`[^`){let e=f(n,i,a);return{tokens:e.tokens,lastIndex:e.lastIndex}}if(o===`\\`){if(`AbBGyYzZ`.includes(c))return{token:g(i,i)};if(/^\\g[<']/.test(i)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(i))throw Error(`Invalid group name "${i}"`);return{token:se(i)}}if(/^\\k[<']/.test(i)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(i))throw Error(`Invalid group name "${i}"`);return{token:_(i)}}if(c===`K`)return{token:ne(`keep`,i)};if(c===`N`||c===`R`)return{token:x(`newline`,i,{negate:c===`N`})};if(c===`O`)return{token:x(`any`,i)};if(c===`X`)return{token:x(`text_segment`,i)};let e=m(i,{inCharClass:!1});return Array.isArray(e)?{tokens:e}:{token:e}}if(o===`(`){if(c===`*`)return{token:fe(i)};if(i===`(?{`)throw Error(`Unsupported callout "${i}"`);if(i.startsWith(`(?#`)){if(n[a]!==`)`)throw Error(`Unclosed comment group "(?#"`);return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(i))return{token:de(i,t)};if(t.pushModX(t.getCurrentModX()),t.numOpenGroups++,i===`(`&&!t.captureGroup||i===`(?:`)return{token:S(`group`,i)};if(i===`(?>`)return{token:S(`atomic`,i)};if(i===`(?=`||i===`(?!`||i===`(?<=`||i===`(?<!`)return{token:S(i[2]===`<`?`lookbehind`:`lookahead`,i,{negate:i.endsWith(`!`)})};if(i===`(`&&t.captureGroup||i.startsWith(`(?<`)&&i.endsWith(`>`)||i.startsWith(`(?'`)&&i.endsWith(`'`))return{token:S(`capturing`,i,{...i!==`(`&&{name:i.slice(3,-1)}})};if(i.startsWith(`(?~`)){if(i===`(?~|`)throw Error(`Unsupported absence function kind "${i}"`);return{token:S(`absence_repeater`,i)}}throw Error(i===`(?(`?`Unsupported conditional "${i}"`:`Invalid or unsupported group option "${i}"`)}if(i===`)`){if(t.popModX(),t.numOpenGroups--,t.numOpenGroups<0)throw Error(`Unmatched ")"`);return{token:ie(i)}}if(t.getCurrentModX()){if(i===`#`){let e=n.indexOf(`
|
|
33
|
+
`,a);return{lastIndex:e===-1?n.length:e}}if(/^\s$/.test(i)){let e=/\s+/y;return e.lastIndex=a,{lastIndex:e.exec(n)?e.lastIndex:a}}}return i===`.`?{token:x(`dot`,i)}:i===`^`||i===`$`?{token:g(t.singleline?{"^":r`\A`,$:r`\Z`}[i]:i,i)}:i===`|`?{token:h(i)}:s.test(i)?{tokens:be(i)}:{token:v(e(i),i)}}function f(e,t,n){let r=[te(t[1]===`^`,t)],i=1,a;for(l.lastIndex=n;a=l.exec(e);){let e=a[0];if(e[0]===`[`&&e[1]!==`:`)i++,r.push(te(e[1]===`^`,e));else if(e===`]`){if(r.at(-1).type===`CharacterClassOpen`)r.push(v(93,e));else if(i--,r.push(y(e)),!i)break}else{let t=p(e);Array.isArray(t)?r.push(...t):r.push(t)}}return{tokens:r,lastIndex:l.lastIndex||e.length}}function p(t){if(t[0]===`\\`)return m(t,{inCharClass:!0});if(t[0]===`[`){let e=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(t);if(!e||!n.has(e.groups.name))throw Error(`Invalid POSIX class "${t}"`);return x(`posix`,t,{value:e.groups.name,negate:!!e.groups.negate})}return t===`-`?ee(t):t===`&&`?b(t):v(e(t),t)}function m(t,{inCharClass:n}){let i=t[1];if(i===`c`||i===`C`)return ue(t);if(`dDhHsSwW`.includes(i))return me(t);if(t.startsWith(r`\o{`))throw Error(`Incomplete, invalid, or unsupported octal code point "${t}"`);if(/^\\[pP]\{/.test(t)){if(t.length===3)throw Error(`Incomplete or invalid Unicode property "${t}"`);return he(t)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(t))try{let n=t.split(/\\x/).slice(1).map(e=>parseInt(e,16)),r=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),i=new TextEncoder;return[...r].map(t=>{let n=[...i.encode(t)].map(e=>`\\x${e.toString(16)}`).join(``);return v(e(t),n)})}catch{throw Error(`Multibyte code "${t}" incomplete or invalid in Oniguruma`)}if(i===`u`||i===`x`)return v(ve(t),t);if(le.has(i))return v(le.get(i),t);if(/\d/.test(i))return re(n,t);if(t===`\\`)throw Error(r`Incomplete escape "\"`);if(i===`M`)throw Error(`Unsupported meta "${t}"`);if([...t].length===2)return v(t.codePointAt(1),t);throw Error(`Unexpected escape "${t}"`)}function h(e){return{type:`Alternator`,raw:e}}function g(e,t){return{type:`Assertion`,kind:e,raw:t}}function _(e){return{type:`Backreference`,raw:e}}function v(e,t){return{type:`Character`,value:e,raw:t}}function y(e){return{type:`CharacterClassClose`,raw:e}}function ee(e){return{type:`CharacterClassHyphen`,raw:e}}function b(e){return{type:`CharacterClassIntersector`,raw:e}}function te(e,t){return{type:`CharacterClassOpen`,negate:e,raw:t}}function x(e,t,n={}){return{type:`CharacterSet`,kind:e,...n,raw:t}}function ne(e,t,n={}){return e===`keep`?{type:`Directive`,kind:e,raw:t}:{type:`Directive`,kind:e,flags:i(n.flags),raw:t}}function re(e,t){return{type:`EscapedNumber`,inCharClass:e,raw:t}}function ie(e){return{type:`GroupClose`,raw:e}}function S(e,t,n={}){return{type:`GroupOpen`,kind:e,...n,raw:t}}function ae(e,t,n,r){return{type:`NamedCallout`,kind:e,tag:t,arguments:n,raw:r}}function oe(e,t,n,r){return{type:`Quantifier`,kind:e,min:t,max:n,raw:r}}function se(e){return{type:`Subroutine`,raw:e}}var ce=new Set([`COUNT`,`CMP`,`ERROR`,`FAIL`,`MAX`,`MISMATCH`,`SKIP`,`TOTAL_COUNT`]),le=new Map([[`a`,7],[`b`,8],[`e`,27],[`f`,12],[`n`,10],[`r`,13],[`t`,9],[`v`,11]]);function ue(t){let n=t[1]===`c`?t[2]:t[3];if(!n||!/[A-Za-z]/.test(n))throw Error(`Unsupported control character "${t}"`);return v(e(n.toUpperCase())-64,t)}function de(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??=``;let i=(t.getCurrentModX()||n.includes(`x`))&&!r.includes(`x`),a=ge(n),o=ge(r),s={};if(a&&(s.enable=a),o&&(s.disable=o),e.endsWith(`)`))return t.replaceCurrentModX(i),ne(`flags`,e,{flags:s});if(e.endsWith(`:`))return t.pushModX(i),t.numOpenGroups++,S(`group`,e,{...(a||o)&&{flags:s}});throw Error(`Unexpected flag modifier "${e}"`)}function fe(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw Error(`Incomplete or invalid named callout "${e}"`);let{name:n,tag:r,args:i}=t.groups;if(!n)throw Error(`Invalid named callout "${e}"`);if(r===``)throw Error(`Named callout tag with empty value not allowed "${e}"`);let a=i?i.split(`,`).filter(e=>e!==``).map(e=>/^[+-]?\d+$/.test(e)?+e:e):[],[o,s,c]=a,l=ce.has(n)?n.toLowerCase():`custom`;switch(l){case`fail`:case`mismatch`:case`skip`:if(a.length>0)throw Error(`Named callout arguments not allowed "${a}"`);break;case`error`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(typeof o==`string`)throw Error(`Named callout argument must be a number "${o}"`);break;case`max`:if(!a.length||a.length>2)throw Error(`Named callout must have one or two arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(a.length===2&&(typeof s==`number`||!/^[<>X]$/.test(s)))throw Error(`Named callout optional argument two must be '<', '>', or 'X' "${s}"`);break;case`count`:case`total_count`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(a.length===1&&(typeof o==`number`||!/^[<>X]$/.test(o)))throw Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case`cmp`:if(a.length!==3)throw Error(`Named callout must have three arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof s==`number`||!/^(?:[<>!=]=|[<>])$/.test(s))throw Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${s}"`);if(typeof c==`string`&&!/^[A-Za-z_]\w*$/.test(c))throw Error(`Named callout argument three must be a tag or number "${c}"`);break;case`custom`:throw Error(`Undefined callout name "${n}"`);default:throw Error(`Unexpected named callout kind "${l}"`)}return ae(l,r??null,i?.split(`,`)??null,e)}function pe(e){let t=null,n,r;if(e[0]===`{`){let{minStr:i,maxStr:a}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+i>o||a&&+a>o)throw Error(`Quantifier value unsupported in Oniguruma`);if(n=+i,r=a===void 0?+i:a===``?1/0:+a,n>r&&(t=`possessive`,[n,r]=[r,n]),e.endsWith(`?`)){if(t===`possessive`)throw Error(`Unsupported possessive interval quantifier chain with "?"`);t=`lazy`}else t||=`greedy`}else n=+(e[0]===`+`),r=e[0]===`?`?1:1/0,t=e[1]===`+`?`possessive`:e[1]===`?`?`lazy`:`greedy`;return oe(t,n,r,e)}function me(e){let t=e[1].toLowerCase();return x({d:`digit`,h:`hex`,s:`space`,w:`word`}[t],e,{negate:e[1]!==t})}function he(e){let{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return x(`property`,e,{value:r,negate:t===`P`&&!n||t===`p`&&!!n})}function ge(e){let t={};return e.includes(`i`)&&(t.ignoreCase=!0),e.includes(`m`)&&(t.dotAll=!0),e.includes(`x`)&&(t.extended=!0),Object.keys(t).length?t:null}function _e(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){let r=e[n];if(!`imxDPSWy`.includes(r))throw Error(`Invalid flag "${r}"`);if(r===`y`){if(!/^y{[gw]}/.test(e.slice(n)))throw Error(`Invalid or unspecified flag "y" mode`);t.textSegmentMode=e[n+2]===`g`?`grapheme`:`word`,n+=3;continue}t[{i:`ignoreCase`,m:`dotAll`,x:`extended`,D:`digitIsAscii`,P:`posixIsAscii`,S:`spaceIsAscii`,W:`wordIsAscii`}[r]]=!0}return t}function ve(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw Error(`Incomplete or invalid escape "${e}"`);let t=e[2]===`{`?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function ye(t,n){let{raw:i,inCharClass:a}=t,o=i.slice(1);if(!a&&(o!==`0`&&o.length===1||o[0]!==`0`&&+o<=n))return[_(i)];let s=[],c=o.match(/^[0-7]+|\d/g);for(let t=0;t<c.length;t++){let n=c[t],a;if(t===0&&n!==`8`&&n!==`9`){if(a=parseInt(n,8),a>127)throw Error(r`Octal encoded byte above 177 unsupported "${i}"`)}else a=e(n);s.push(v(a,(t===0?`\\`:``)+n))}return s}function be(e){let t=[],n=new RegExp(s,`gy`),r;for(;r=n.exec(e);){let e=r[0];if(e[0]===`{`){let r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(e);if(r){let{min:i,max:a}=r.groups;if(+i>+a&&e.endsWith(`?`)){n.lastIndex--,t.push(pe(e.slice(0,-1)));continue}}}t.push(pe(e))}return t}function xe(e,t){if(!Array.isArray(e.body))throw Error(`Expected node with body array`);if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(e=>t[e]===n[e])}function Se(e){return Ce.has(e.type)}var Ce=new Set([`AbsenceFunction`,`Backreference`,`CapturingGroup`,`Character`,`CharacterClass`,`CharacterSet`,`Group`,`Quantifier`,`Subroutine`]);function we(e,t={}){let n={flags:``,normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},i=u(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),a=(e,t)=>{let n=i.tokens[o.nextIndex];switch(o.parent=e,o.nextIndex++,n.type){case`Alternator`:return C();case`Assertion`:return Te(n);case`Backreference`:return Ee(n,o);case`Character`:return E(n.value,{useLastValid:!!t.isCheckingRangeEnd});case`CharacterClassHyphen`:return De(n,o,t);case`CharacterClassOpen`:return Oe(n,o,t);case`CharacterSet`:return ke(n,o);case`Directive`:return Le(n.kind,{flags:n.flags});case`GroupOpen`:return Ae(n,o,t);case`NamedCallout`:return ze(n.kind,n.tag,n.arguments);case`Quantifier`:return je(n,o);case`Subroutine`:return Me(n,o);default:throw Error(`Unexpected token type "${n.type}"`)}},o={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:i.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:a},s=He(Re(i.flags)),c=s.body[0];for(;o.nextIndex<i.tokens.length;){let e=a(c,{});e.type===`Alternative`?(s.body.push(e),c=e):c.body.push(e)}let{capturingGroups:l,hasNumberedRef:d,namedGroupsByName:f,subroutines:p}=o;if(d&&f.size&&!n.rules.captureGroup)throw Error(`Numbered backref/subroutine not allowed when using named capture`);for(let{ref:e}of p)if(typeof e==`number`){if(e>l.length)throw Error(`Subroutine uses a group number that's not defined`);e&&(l[e-1].isSubroutined=!0)}else if(f.has(e)){if(f.get(e).length>1)throw Error(r`Subroutine uses a duplicate group name "\g<${e}>"`);f.get(e)[0].isSubroutined=!0}else throw Error(r`Subroutine uses a group name that's not defined "\g<${e}>"`);return s}function Te({kind:e}){return w(i({"^":`line_start`,$:`line_end`,"\\A":`string_start`,"\\b":`word_boundary`,"\\B":`word_boundary`,"\\G":`search_start`,"\\y":`text_segment_boundary`,"\\Y":`text_segment_boundary`,"\\z":`string_end`,"\\Z":`string_end_newline`}[e],`Unexpected assertion kind "${e}"`),{negate:e===r`\B`||e===r`\Y`})}function Ee({raw:e},t){let n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),i=(n,r=!1)=>{let i=t.capturingGroups.length,a=!1;if(n>i){if(t.skipBackrefValidation)a=!0;else throw Error(`Not enough capturing groups defined to the left "${e}"`)}return t.hasNumberedRef=!0,T(r?i+1-n:n,{orphan:a})};if(n){let n=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(n)return i(+n.groups.num,!!n.groups.sign);if(/[-+]/.test(r))throw Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw Error(`Group name not defined to the left "${e}"`);return T(r)}return i(+r)}function De(t,n,r){let{tokens:i,walk:a}=n,o=n.parent,s=o.body.at(-1),c=i[n.nextIndex];if(!r.isCheckingRangeEnd&&s&&s.type!==`CharacterClass`&&s.type!==`CharacterClassRange`&&c&&c.type!==`CharacterClassOpen`&&c.type!==`CharacterClassClose`&&c.type!==`CharacterClassIntersector`){let e=a(o,{...r,isCheckingRangeEnd:!0});if(s.type===`Character`&&e.type===`Character`)return o.body.pop(),Fe(s,e);throw Error(`Invalid character class range`)}return E(e(`-`))}function Oe({negate:e},t,n){let{tokens:r,walk:i}=t,a=[D()],o=r[t.nextIndex],s=Xe(o);for(;s.type!==`CharacterClassClose`;){if(s.type===`CharacterClassIntersector`)a.push(D()),t.nextIndex++;else{let e=a.at(-1);e.body.push(i(e,n))}s=Xe(r[t.nextIndex],o)}let c=D({negate:e});return a.length===1?c.body=a[0].body:(c.kind=`intersection`,c.body=a.map(e=>e.body.length===1?e.body[0]:e)),t.nextIndex++,c}function ke({kind:e,negate:t,value:r},i){let{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s}=i;if(e===`property`){let i=M(r);if(n.has(i)&&!s?.has(i))e=`posix`,r=i;else return A(r,{negate:t,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:o,unicodePropertyMap:s})}return e===`posix`?Be(r,{negate:t}):Ie(e,{negate:t})}function Ae(e,n,r){let{tokens:i,capturingGroups:a,namedGroupsByName:o,skipLookbehindValidation:s,walk:c}=n,l=We(e),u=l.type===`AbsenceFunction`,d=qe(l),f=d&&l.negate;if(l.type===`CapturingGroup`&&(a.push(l),l.name&&t(o,l.name,[]).push(l)),u&&r.isInAbsenceFunction)throw Error(`Nested absence function not supported by Oniguruma`);let p=Ze(i[n.nextIndex]);for(;p.type!==`GroupClose`;){if(p.type===`Alternator`)l.body.push(C()),n.nextIndex++;else{let e=l.body.at(-1),t=c(e,{...r,isInAbsenceFunction:r.isInAbsenceFunction||u,isInLookbehind:r.isInLookbehind||d,isInNegLookbehind:r.isInNegLookbehind||f});if(e.body.push(t),(d||r.isInLookbehind)&&!s){let e=`Lookbehind includes a pattern not allowed by Oniguruma`;if(f||r.isInNegLookbehind){if(Ke(t)||t.type===`CapturingGroup`)throw Error(e)}else if(Ke(t)||qe(t)&&t.negate)throw Error(e)}}p=Ze(i[n.nextIndex])}return n.nextIndex++,l}function je({kind:e,min:t,max:n},r){let i=r.parent,a=i.body.at(-1);if(!a||!Se(a))throw Error(`Quantifier requires a repeatable token`);let o=Ve(e,t,n,a);return i.body.pop(),o}function Me({raw:e},t){let{capturingGroups:n,subroutines:r}=t,i=e.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(i);if(a){let e=+a.groups.num,r=n.length;if(t.hasNumberedRef=!0,i={"":e,"+":r+e,"-":r+1-e}[a.groups.sign],i<1)throw Error(`Invalid subroutine number`)}else i===`0`&&(i=0);let o=Ue(i);return r.push(o),o}function Ne(e,t){if(e!==`repeater`)throw Error(`Unexpected absence function kind "${e}"`);return{type:`AbsenceFunction`,kind:e,body:j(t?.body)}}function C(e){return{type:`Alternative`,body:Ge(e?.body)}}function w(e,t){let n={type:`Assertion`,kind:e};return(e===`word_boundary`||e===`text_segment_boundary`)&&(n.negate=!!t?.negate),n}function T(e,t){let n=!!t?.orphan;return{type:`Backreference`,ref:e,...n&&{orphan:n}}}function Pe(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!Je(n.name))throw Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:`CapturingGroup`,number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:j(t?.body)}}function E(e,t){let n={useLastValid:!1,...t};if(e>1114111){let t=e.toString(16);if(n.useLastValid)e=1114111;else throw Error(e>1310719?`Invalid code point out of range "\\x{${t}}"`:`Invalid code point out of range in JS "\\x{${t}}"`)}return{type:`Character`,value:e}}function D(e){let t={kind:`union`,negate:!1,...e};return{type:`CharacterClass`,kind:t.kind,negate:t.negate,body:Ge(e?.body)}}function Fe(e,t){if(t.value<e.value)throw Error(`Character class range out of order`);return{type:`CharacterClassRange`,min:e,max:t}}function Ie(e,t){let n=!!t?.negate,r={type:`CharacterSet`,kind:e};return(e===`digit`||e===`hex`||e===`newline`||e===`space`||e===`word`)&&(r.negate=n),(e===`text_segment`||e===`newline`&&!n)&&(r.variableLength=!0),r}function Le(e,t={}){if(e===`keep`)return{type:`Directive`,kind:e};if(e===`flags`)return{type:`Directive`,kind:e,flags:i(t.flags)};throw Error(`Unexpected directive kind "${e}"`)}function Re(e){return{type:`Flags`,...e}}function O(e){let t=e?.atomic,n=e?.flags;if(t&&n)throw Error(`Atomic group cannot have flags`);return{type:`Group`,...t&&{atomic:t},...n&&{flags:n},body:j(e?.body)}}function k(e){let t={behind:!1,negate:!1,...e};return{type:`LookaroundAssertion`,kind:t.behind?`lookbehind`:`lookahead`,negate:t.negate,body:j(e?.body)}}function ze(e,t,n){return{type:`NamedCallout`,kind:e,tag:t,arguments:n}}function Be(e,t){let r=!!t?.negate;if(!n.has(e))throw Error(`Invalid POSIX class "${e}"`);return{type:`CharacterSet`,kind:`posix`,value:e,negate:r}}function Ve(e,t,n,r){if(t>n)throw Error(`Invalid reversed quantifier range`);return{type:`Quantifier`,kind:e,min:t,max:n,body:r}}function He(e,t){return{type:`Regex`,body:j(t?.body),flags:e}}function Ue(e){return{type:`Subroutine`,ref:e}}function A(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},i=n.unicodePropertyMap?.get(M(e));if(!i){if(n.normalizeUnknownPropertyNames)i=Ye(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw Error(r`Invalid Unicode property "\p{${e}}"`)}return{type:`CharacterSet`,kind:`property`,value:i??e,negate:n.negate}}function We({flags:e,kind:t,name:n,negate:r,number:i}){switch(t){case`absence_repeater`:return Ne(`repeater`);case`atomic`:return O({atomic:!0});case`capturing`:return Pe(i,{name:n});case`group`:return O({flags:e});case`lookahead`:case`lookbehind`:return k({behind:t===`lookbehind`,negate:r});default:throw Error(`Unexpected group kind "${t}"`)}}function j(e){if(e===void 0)e=[C()];else if(!Array.isArray(e)||!e.length||!e.every(e=>e.type===`Alternative`))throw Error(`Invalid body; expected array of one or more Alternative nodes`);return e}function Ge(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(e=>!!e.type))throw Error(`Invalid body; expected array of nodes`);return e}function Ke(e){return e.type===`LookaroundAssertion`&&e.kind===`lookahead`}function qe(e){return e.type===`LookaroundAssertion`&&e.kind===`lookbehind`}function Je(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function Ye(e){return e.trim().replace(/[- _]+/g,`_`).replace(/[A-Z][a-z]+(?=[A-Z])/g,`$&_`).replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function M(e){return e.replace(/[- _]+/g,``).toLowerCase()}function Xe(e,t){let n=t;return i(e,`Unclosed character class${n?.type===`Character`&&n.value===93&&n.raw===`]`?` (started with "]")`:``}`)}function Ze(e){return i(e,`Unclosed group`)}function N(e,t,n=null){function r(e,t){for(let n=0;n<e.length;n++){let r=a(e[n],t,n,e);n=Math.max(-1,n+r)}}function a(o,s=null,c=null,l=null){let u=0,d=!1,f={node:o,parent:s,key:c,container:l,root:e,remove(){P(l).splice(Math.max(0,F(c)+u),1),u--,d=!0},removeAllNextSiblings(){return P(l).splice(F(c)+1)},removeAllPrevSiblings(){let e=F(c)+u;return u-=e,P(l).splice(0,Math.max(0,e))},replaceWith(e,t={}){let n=!!t.traverse;l?l[Math.max(0,F(c)+u)]=e:i(s,`Can't replace root node`)[c]=e,n&&a(e,s,c,l),d=!0},replaceWithMultiple(e,t={}){let n=!!t.traverse;if(P(l).splice(Math.max(0,F(c)+u),1,...e),u+=e.length-1,n){let t=0;for(let n=0;n<e.length;n++)t+=a(e[n],s,F(c)+n+t,l)}d=!0},skip(){d=!0}},{type:p}=o,m=t[`*`],h=t[p],g=typeof m==`function`?m:m?.enter,_=typeof h==`function`?h:h?.enter;if(g?.(f,n),_?.(f,n),!d)switch(p){case`AbsenceFunction`:case`Alternative`:case`CapturingGroup`:case`CharacterClass`:case`Group`:case`LookaroundAssertion`:r(o.body,o);break;case`Assertion`:case`Backreference`:case`Character`:case`CharacterSet`:case`Directive`:case`Flags`:case`NamedCallout`:case`Subroutine`:break;case`CharacterClassRange`:a(o.min,o,`min`),a(o.max,o,`max`);break;case`Quantifier`:a(o.body,o,`body`);break;case`Regex`:r(o.body,o),a(o.flags,o,`flags`);break;default:throw Error(`Unexpected node type "${p}"`)}return h?.exit?.(f,n),m?.exit?.(f,n),u}return a(e),e}function P(e){if(!Array.isArray(e))throw Error(`Container expected`);return e}function F(e){if(typeof e!=`number`)throw Error(`Numeric key expected`);return e}var Qe=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function $e(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function et(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}var I=Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`});function tt(e,t,n,r){let i=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,`gsu`),a=[!1],o=0,s=``;for(let t of e.matchAll(i)){let{0:e,groups:{$skip:i}}=t;if(!i&&(!r||r===I.DEFAULT==!o)){n instanceof Function?s+=n(t,{context:o?I.CHAR_CLASS:I.DEFAULT,negated:a[a.length-1]}):s+=n;continue}e[0]===`[`?(o++,a.push(e[1]===`^`)):e===`]`&&o&&(o--,a.pop()),s+=e}return s}function nt(e,t,n,r){tt(e,t,n,r)}function rt(e,t,n=0,r){if(!new RegExp(t,`su`).test(e))return null;let i=RegExp(`${t}|(?<$skip>\\\\?.)`,`gsu`);i.lastIndex=n;let a=0,o;for(;o=i.exec(e);){let{0:e,groups:{$skip:t}}=o;if(!t&&(!r||r===I.DEFAULT==!a))return o;e===`[`?a++:e===`]`&&a&&a--,i.lastIndex==o.index&&i.lastIndex++}return null}function L(e,t,n){return!!rt(e,t,0,n)}function it(e,t){let n=/\\?./gsu;n.lastIndex=t;let r=e.length,i=0,a=1,o;for(;o=n.exec(e);){let[e]=o;if(e===`[`)i++;else if(i)e===`]`&&i--;else if(e===`(`)a++;else if(e===`)`&&(a--,!a)){r=o.index;break}}return e.slice(t,r)}var at=new RegExp(String.raw`(?<noncapturingStart>${Qe})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,`gsu`);function ot(e,t){let n=t?.hiddenCaptures??[],r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};let i=[0],a=[],o=0,s=0,c=NaN,l;do{l=!1;let t=0,u=0,d=!1,f;for(at.lastIndex=Number.isNaN(c)?0:c+7;f=at.exec(e);){let{0:p,index:m,groups:{capturingStart:h,noncapturingStart:g}}=f;if(p===`[`)t++;else if(t)p===`]`&&t--;else if(p===`(?>`&&!d)c=m,d=!0;else if(d&&g)u++;else if(h)d?u++:(o++,i.push(o+s));else if(p===`)`&&d){if(!u){s++;let t=o+s;if(e=`${e.slice(0,c)}(?:(?=(${e.slice(c+3,m)}))<$$${t}>)${e.slice(m+1)}`,l=!0,a.push(t),$e(n,t),r.size){let e=new Map;r.forEach((n,r)=>{e.set(r>=t?r+1:r,n.map(e=>e>=t?e+1:e))}),r=e}break}u--}}}while(l);return n.push(...a),e=tt(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:e,groups:{backrefNum:t,wrappedBackrefNum:n}})=>{if(t){let n=+t;if(n>i.length-1)throw Error(`Backref "${e}" greater than number of captures`);return`\\${i[n]}`}return`\\${n}`},I.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}var st=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,R=new RegExp(String.raw`
|
|
34
|
+
\\(?: \d+
|
|
35
|
+
| c[A-Za-z]
|
|
36
|
+
| [gk]<[^>]+>
|
|
37
|
+
| [pPu]\{[^\}]+\}
|
|
38
|
+
| u[A-Fa-f\d]{4}
|
|
39
|
+
| x[A-Fa-f\d]{2}
|
|
40
|
+
)
|
|
41
|
+
| \((?: \? (?: [:=!>]
|
|
42
|
+
| <(?:[=!]|[^>]+>)
|
|
43
|
+
| [A-Za-z\-]+:
|
|
44
|
+
| \(DEFINE\)
|
|
45
|
+
))?
|
|
46
|
+
| (?<qBase>${st})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
|
47
|
+
| \\?.
|
|
48
|
+
`.replace(/\s+/g,``),`gsu`);function ct(e){if(!RegExp(`${st}\\+`).test(e))return{pattern:e};let t=[],n=null,r=null,i=``,a=0,o;for(R.lastIndex=0;o=R.exec(e);){let{0:s,index:c,groups:{qBase:l,qMod:u,invalidQ:d}}=o;if(s===`[`)a||(r=c),a++;else if(s===`]`)a?a--:r=null;else if(!a){if(u===`+`&&i&&!i.startsWith(`(`)){if(d)throw Error(`Invalid quantifier "${s}"`);let t=-1;if(/^\{\d+\}$/.test(l))e=et(e,c+l.length,u,``);else{if(i===`)`||i===`]`){let t=i===`)`?n:r;if(t===null)throw Error(`Invalid unmatched "${i}"`);e=`${e.slice(0,t)}(?>${e.slice(t,c)}${l})${e.slice(c+s.length)}`}else e=`${e.slice(0,c-i.length)}(?>${i}${l})${e.slice(c+s.length)}`;t+=4}R.lastIndex+=t}else s[0]===`(`?t.push(c):s===`)`&&(n=t.length?t.pop():null)}i=s}return{pattern:e}}var z=String.raw,lt=z`\(\?R=(?<rDepth>[^\)]+)\)|${z`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`}`,B=z`\(\?<(?![=!])(?<captureName>[^>]+)>`,ut=z`${B}|(?<unnamed>\()(?!\?)`,V=new RegExp(z`${B}|${lt}|\(\?|\\?.`,`gsu`),dt=`Cannot use multiple overlapping recursions`;function ft(e,t){let{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:`plugin`,...t},i=t?.captureTransfers??new Map;if(!new RegExp(lt,`su`).test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(r===`plugin`&&L(e,z`\(\?\(DEFINE\)`,I.DEFAULT))throw Error(`DEFINE groups cannot be used with recursion`);let a=[],o=L(e,z`\\[1-9]`,I.DEFAULT),s=new Map,c=[],l=!1,u=0,d=0,f;for(V.lastIndex=0;f=V.exec(e);){let{0:t,groups:{captureName:p,rDepth:m,gRNameOrNum:h,gRDepth:g}}=f;if(t===`[`)u++;else if(u)t===`]`&&u--;else{if(m){if(pt(m),l)throw Error(dt);if(o)throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with global recursion`);let t=e.slice(0,f.index),s=e.slice(V.lastIndex);if(L(s,lt,I.DEFAULT))throw Error(dt);let c=m-1;e=mt(t,s,c,!1,n,a,d),i=_t(i,t,c,a.length,0,d);break}if(h){pt(g);let u=!1;for(let e of c)if(e.name===h||e.num===+h){if(u=!0,e.hasRecursedWithin)throw Error(dt);break}if(!u)throw Error(z`Recursive \g cannot be used outside the referenced group "${r===`external`?h:z`\g<${h}&R=${g}>`}"`);let p=s.get(h),m=it(e,p);if(o&&L(m,z`${B}|\((?!\?)`,I.DEFAULT))throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with recursion of capturing groups`);let _=e.slice(p,f.index),v=m.slice(_.length+t.length),y=a.length,ee=g-1,b=mt(_,v,ee,!0,n,a,d);i=_t(i,_,ee,a.length-y,y,d),e=`${e.slice(0,p)}${b}${e.slice(p+m.length)}`,V.lastIndex+=b.length-t.length-_.length-v.length,c.forEach(e=>e.hasRecursedWithin=!0),l=!0}else if(p)d++,s.set(String(d),V.lastIndex),s.set(p,V.lastIndex),c.push({num:d,name:p});else if(t[0]===`(`){let e=t===`(`;e&&(d++,s.set(String(d),V.lastIndex)),c.push(e?{num:d}:{})}else t===`)`&&c.pop()}}return n.push(...a),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function pt(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e)||(e=+e,e<2||e>100))throw Error(t)}function mt(e,t,n,r,i,a,o){let s=new Set;r&&nt(e+t,B,({groups:{captureName:e}})=>{s.add(e)},I.DEFAULT);let c=[n,r?s:null,i,a,o];return`${e}${ht(`(?:${e}`,`forward`,...c)}(?:)${ht(`${t})`,`backward`,...c)}${t}`}function ht(e,t,n,r,i,a,o){let s=e=>t===`forward`?e+2:n-e+2-1,c=``;for(let t=0;t<n;t++){let n=s(t);c+=tt(e,z`${ut}|\\k<(?<backref>[^>]+)>`,({0:e,groups:{captureName:t,unnamed:s,backref:c}})=>{if(c&&r&&!r.has(c))return e;let l=`_$${n}`;if(s||t){let n=o+a.length+1;return a.push(n),gt(i,n),s?e:`(?<${t}${l}>`}return z`\k<${c}${l}>`},I.DEFAULT)}return c}function gt(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function _t(e,t,n,r,i,a){if(e.size&&r){let o=0;nt(t,ut,()=>o++,I.DEFAULT);let s=a-o+i,c=new Map;return e.forEach((e,t)=>{let i=(r-o*n)/n,a=o*n,l=t>s+o?t+r:t,u=[];for(let t of e)if(t<=s)u.push(t);else if(t>s+o+i)u.push(t+r);else if(t<=s+o)for(let e=0;e<=n;e++)u.push(t+o*e);else for(let e=0;e<=n;e++)u.push(t+a+i*e);c.set(l,u)}),c}return e}var H=String.fromCodePoint,U=String.raw,W={},G=globalThis.RegExp;W.flagGroups=(()=>{try{new G(`(?i:)`)}catch{return!1}return!0})(),W.unicodeSets=(()=>{try{new G(`[[]]`,`v`)}catch{return!1}return!0})(),W.bugFlagVLiteralHyphenIsRange=W.unicodeSets?(()=>{try{new G(U`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,W.bugNestedClassIgnoresNegation=W.unicodeSets&&new G(`[[^a]]`,`v`).test(`a`);function K(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function q(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function vt(e,t){return bt[e]>=bt[t]}function yt(e,t){if(e==null)throw Error(t??`Value expected`);return e}var bt={ES2025:2025,ES2024:2024,ES2018:2018},xt={auto:`auto`,ES2025:`ES2025`,ES2024:`ES2024`,ES2018:`ES2018`};function St(e={}){if({}.toString.call(e)!==`[object Object]`)throw Error(`Unexpected options`);if(e.target!==void 0&&!xt[e.target])throw Error(`Unexpected target "${e.target}"`);let t={accuracy:`default`,avoidSubclass:!1,flags:``,global:!1,hasIndices:!1,lazyCompileLength:1/0,target:`auto`,verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target===`auto`&&(t.target=W.flagGroups?`ES2025`:W.unicodeSets?`ES2024`:`ES2018`),t}var Ct=`[ -\r ]`,wt=new Set([H(304),H(305)]),J=U`[\p{L}\p{M}\p{N}\p{Pc}]`;function Tt(e){if(wt.has(e))return[e];let t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),i=kt.get(n),a=Dt.get(n),o=Ot.get(n);return[...r].length===1&&t.add(r),o&&t.add(o),i&&t.add(i),t.add(n),a&&t.add(a),[...t]}var Et=new Map(`C Other
|
|
49
|
+
Cc Control cntrl
|
|
50
|
+
Cf Format
|
|
51
|
+
Cn Unassigned
|
|
52
|
+
Co Private_Use
|
|
53
|
+
Cs Surrogate
|
|
54
|
+
L Letter
|
|
55
|
+
LC Cased_Letter
|
|
56
|
+
Ll Lowercase_Letter
|
|
57
|
+
Lm Modifier_Letter
|
|
58
|
+
Lo Other_Letter
|
|
59
|
+
Lt Titlecase_Letter
|
|
60
|
+
Lu Uppercase_Letter
|
|
61
|
+
M Mark Combining_Mark
|
|
62
|
+
Mc Spacing_Mark
|
|
63
|
+
Me Enclosing_Mark
|
|
64
|
+
Mn Nonspacing_Mark
|
|
65
|
+
N Number
|
|
66
|
+
Nd Decimal_Number digit
|
|
67
|
+
Nl Letter_Number
|
|
68
|
+
No Other_Number
|
|
69
|
+
P Punctuation punct
|
|
70
|
+
Pc Connector_Punctuation
|
|
71
|
+
Pd Dash_Punctuation
|
|
72
|
+
Pe Close_Punctuation
|
|
73
|
+
Pf Final_Punctuation
|
|
74
|
+
Pi Initial_Punctuation
|
|
75
|
+
Po Other_Punctuation
|
|
76
|
+
Ps Open_Punctuation
|
|
77
|
+
S Symbol
|
|
78
|
+
Sc Currency_Symbol
|
|
79
|
+
Sk Modifier_Symbol
|
|
80
|
+
Sm Math_Symbol
|
|
81
|
+
So Other_Symbol
|
|
82
|
+
Z Separator
|
|
83
|
+
Zl Line_Separator
|
|
84
|
+
Zp Paragraph_Separator
|
|
85
|
+
Zs Space_Separator
|
|
86
|
+
ASCII
|
|
87
|
+
ASCII_Hex_Digit AHex
|
|
88
|
+
Alphabetic Alpha
|
|
89
|
+
Any
|
|
90
|
+
Assigned
|
|
91
|
+
Bidi_Control Bidi_C
|
|
92
|
+
Bidi_Mirrored Bidi_M
|
|
93
|
+
Case_Ignorable CI
|
|
94
|
+
Cased
|
|
95
|
+
Changes_When_Casefolded CWCF
|
|
96
|
+
Changes_When_Casemapped CWCM
|
|
97
|
+
Changes_When_Lowercased CWL
|
|
98
|
+
Changes_When_NFKC_Casefolded CWKCF
|
|
99
|
+
Changes_When_Titlecased CWT
|
|
100
|
+
Changes_When_Uppercased CWU
|
|
101
|
+
Dash
|
|
102
|
+
Default_Ignorable_Code_Point DI
|
|
103
|
+
Deprecated Dep
|
|
104
|
+
Diacritic Dia
|
|
105
|
+
Emoji
|
|
106
|
+
Emoji_Component EComp
|
|
107
|
+
Emoji_Modifier EMod
|
|
108
|
+
Emoji_Modifier_Base EBase
|
|
109
|
+
Emoji_Presentation EPres
|
|
110
|
+
Extended_Pictographic ExtPict
|
|
111
|
+
Extender Ext
|
|
112
|
+
Grapheme_Base Gr_Base
|
|
113
|
+
Grapheme_Extend Gr_Ext
|
|
114
|
+
Hex_Digit Hex
|
|
115
|
+
IDS_Binary_Operator IDSB
|
|
116
|
+
IDS_Trinary_Operator IDST
|
|
117
|
+
ID_Continue IDC
|
|
118
|
+
ID_Start IDS
|
|
119
|
+
Ideographic Ideo
|
|
120
|
+
Join_Control Join_C
|
|
121
|
+
Logical_Order_Exception LOE
|
|
122
|
+
Lowercase Lower
|
|
123
|
+
Math
|
|
124
|
+
Noncharacter_Code_Point NChar
|
|
125
|
+
Pattern_Syntax Pat_Syn
|
|
126
|
+
Pattern_White_Space Pat_WS
|
|
127
|
+
Quotation_Mark QMark
|
|
128
|
+
Radical
|
|
129
|
+
Regional_Indicator RI
|
|
130
|
+
Sentence_Terminal STerm
|
|
131
|
+
Soft_Dotted SD
|
|
132
|
+
Terminal_Punctuation Term
|
|
133
|
+
Unified_Ideograph UIdeo
|
|
134
|
+
Uppercase Upper
|
|
135
|
+
Variation_Selector VS
|
|
136
|
+
White_Space space
|
|
137
|
+
XID_Continue XIDC
|
|
138
|
+
XID_Start XIDS`.split(/\s/).map(e=>[M(e),e])),Dt=new Map([[`s`,H(383)],[H(383),`s`]]),Ot=new Map([[H(223),H(7838)],[H(107),H(8490)],[H(229),H(8491)],[H(969),H(8486)]]),kt=new Map([Y(453),Y(456),Y(459),Y(498),...Mt(8072,8079),...Mt(8088,8095),...Mt(8104,8111),Y(8124),Y(8140),Y(8188)]),At=new Map([[`alnum`,U`[\p{Alpha}\p{Nd}]`],[`alpha`,U`\p{Alpha}`],[`ascii`,U`\p{ASCII}`],[`blank`,U`[\p{Zs}\t]`],[`cntrl`,U`\p{Cc}`],[`digit`,U`\p{Nd}`],[`graph`,U`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],[`lower`,U`\p{Lower}`],[`print`,U`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],[`punct`,U`[\p{P}\p{S}]`],[`space`,U`\p{space}`],[`upper`,U`\p{Upper}`],[`word`,U`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],[`xdigit`,U`\p{AHex}`]]);function jt(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Y(e){let t=H(e);return[t.toLowerCase(),t]}function Mt(e,t){return jt(e,t).map(e=>Y(e))}var Nt=new Set([`Lower`,`Lowercase`,`Upper`,`Uppercase`,`Ll`,`Lowercase_Letter`,`Lt`,`Titlecase_Letter`,`Lu`,`Uppercase_Letter`]);function Pt(e,t){let n={accuracy:`default`,asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:`ES2025`,...t};Rt(e);let r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:vt(n.bestEffortTarget,`ES2024`),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};N(e,Ft,r);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};return N(e,It,a),N(e,Lt,{groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer}),e._originMap=a.groupOriginByCopy,e._strategy=r.strategy,e}var Ft={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:r,kind:i}=e;if(i===`repeater`){let e=O();e.body[0].body.push(k({negate:!0,body:r}),A(`Any`));let i=O();i.body[0].body.push(Ve(`greedy`,0,1/0,e)),n(Q(i,t),{traverse:!0})}else throw Error(`Unsupported absence function "(?~|"`)},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){let i=e.body.filter(e=>e.kind===`flags`);for(let e=n+1;e<t.body.length;e++){let n=t.body[e];q(r,n,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let n=Gt(t.get(e));if(n){let t=O({flags:n});t.body[0].body=e.body,e.body=[Q(t,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:i,remove:a,replaceWith:o},s){let{kind:c,negate:l}=e,{asciiWordBoundaries:u,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=s;if(c===`text_segment_boundary`)throw Error(`Unsupported text segment boundary "\\${l?`Y`:`y`}"`);if(c===`line_end`)o(Q(k({body:[C({body:[w(`string_end`)]}),C({body:[E(10)]})]}),t));else if(c===`line_start`)o(Q(X(U`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c===`search_start`){if(f.has(e))i.flags.sticky=!0,a();else{let e=r[n-1];if(e&&Zt(e))o(Q(k({negate:!0}),t));else if(d)throw Error(U`Uses "\G" in a way that requires a subclass`);else o(Z(w(`string_start`),t)),s.strategy=`clip_search`}}else if(c!==`string_end`&&c!==`string_start`){if(c===`string_end_newline`)o(Q(X(U`(?=\n?\z)`),t));else if(c===`word_boundary`){if(!p&&!u){let e=`(?:(?<=${J})(?!${J})|(?<!${J})(?=${J}))`,n=`(?:(?<=${J})(?=${J})|(?<!${J})(?!${J}))`;o(Q(X(l?n:e),t))}}else throw Error(`Unexpected assertion kind "${c}"`)}},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!$t(n)&&(n=Wt(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!$t(r)&&(r=Wt(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){t.kind===`intersection`&&n(Q(D({body:[e]}),t),{traverse:!0})},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:i,digitIsAscii:a,spaceIsAscii:o,wordIsAscii:s}){let{kind:c,negate:l,value:u}=e;if(a&&(c===`digit`||u===`digit`)){n(Z(Ie(`digit`,{negate:l}),t));return}if(o&&(c===`space`||u===`space`)){n(Q(en(X(Ct),l),t));return}if(s&&(c===`word`||u===`word`)){n(Z(Ie(`word`,{negate:l}),t));return}if(c===`any`)n(Z(A(`Any`),t));else if(c===`digit`)n(Z(A(`Nd`,{negate:l}),t));else if(c!==`dot`){if(c===`text_segment`){if(r===`strict`)throw Error(U`Use of "\X" requires non-strict accuracy`);let e=`\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?`,a=U`\p{RI}{2}|${e}(?:\u200D${e})*`;n(Q(X(U`(?>\r\n|${i?U`\p{RGI_Emoji}`:a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c===`hex`)n(Z(A(`AHex`,{negate:l}),t));else if(c===`newline`)n(Q(X(l?`[^
|
|
139
|
+
]`:`(?>\r
|
|
140
|
+
?|[
|
|
141
|
+
\v\f
\u2028\u2029])`),t));else if(c===`posix`){if(!i&&(u===`graph`||u===`print`)){if(r===`strict`)throw Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);let e={graph:`!-~`,print:` -~`}[u];l&&(e=`\0-${H(e.codePointAt(0)-1)}${H(e.codePointAt(2)+1)}-\u{10FFFF}`),n(Q(X(`[${e}]`),t))}else n(Q(en(X(At.get(u)),l),t))}else if(c===`property`)Et.has(M(u))||(e.key=`sc`);else if(c===`space`)n(Z(A(`space`,{negate:l}),t));else if(c===`word`)n(Q(en(X(J),l),t));else throw Error(`Unexpected character set kind "${c}"`)}},Directive({node:e,parent:t,root:n,remove:r,replaceWith:i,removeAllPrevSiblings:a,removeAllNextSiblings:o}){let{kind:s,flags:c}=e;if(s===`flags`){if(!c.enable&&!c.disable)r();else{let e=O({flags:c});e.body[0].body=o(),i(Q(e,t),{traverse:!0})}}else if(s===`keep`){let e=n.body[0],r=n.body.length===1&&xe(e,{type:`Group`})&&e.body[0].body.length===1?e.body[0]:n;if(t.parent!==r||r.body.length>1)throw Error(U`Uses "\K" in a way that's unsupported`);let o=k({behind:!0});o.body[0].body=a(),i(Q(o,t))}else throw Error(`Unexpected directive kind "${s}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw Error(`Unsupported flag "P"`);if(e.textSegmentMode===`word`)throw Error(`Unsupported flag "y{w}"`);[`digitIsAscii`,`extended`,`posixIsAscii`,`spaceIsAscii`,`wordIsAscii`,`textSegmentMode`].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n===`lookbehind`&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:r}=e;if(r===`fail`)n(Q(k({negate:!0}),t));else throw Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type===`Quantifier`){let t=O();t.body[0].body.push(e.body),e.body=Q(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],r=!1,i=!1;for(let t of e.body)if(t.body.length===1&&t.body[0].kind===`search_start`)t.body.pop();else{let e=Jt(t.body);e?(r=!0,Array.isArray(e)?n.push(...e):n.push(e)):i=!0}r&&!i&&n.forEach(e=>t.add(e))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t===`strict`&&n&&r)throw Error(U`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!$t(n)&&(n=Wt(n,t),e.ref=n)}},It={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:r,ref:i}=e;r||n.set(e,[...t.get(i).map(({node:e})=>e)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:i,groupsByName:a,multiplexCapturesToLeftByRef:o,openRefs:s,reffedNodesByReferencer:c}){let l=i.get(e);if(l&&s.has(e.number)){let r=Z(Ht(e.number),t);c.set(r,s.get(e.number)),n(r);return}s.set(e.number,e),o.set(e.number,[]),e.name&&q(o,e.name,[]);let u=o.get(e.name??e.number);for(let t=0;t<u.length;t++){let n=u[t];if(l===n.node||l&&l===n.origin||e===n.origin){u.splice(t,1);break}}if(o.get(e.number).push({node:e,origin:l}),e.name&&o.get(e.name).push({node:e,origin:l}),e.name){let t=q(a,e.name,new Map),n=!1;if(l)n=!0;else for(let e of t.values())if(!e.hasDuplicateNameToRemove){n=!0;break}a.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:n})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=K(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){let{isRecursive:i,ref:a}=e;if(i){let n=t;for(;(n=n.parent)&&(n.type!==`CapturingGroup`||n.name!==a&&n.number!==a););r.reffedNodesByReferencer.set(e,n);return}let o=r.subroutineRefMap.get(a),s=a===0,c=s?Ht(0):Vt(o,r.groupOriginByCopy,null),l=c;if(!s){let e=Gt(Ut(o,e=>e.type===`Group`&&!!e.flags)),t=e?K(r.globalFlags,e):r.globalFlags;zt(t,r.currentFlags)||(l=O({flags:Kt(t)}),l.body[0].body.push(c))}n(Q(l,t),{traverse:!s})}},Lt={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let i=r.reffedNodesByReferencer.get(e).filter(t=>Bt(t,e));i.length?i.length>1?n(Q(O({atomic:!0,body:i.reverse().map(e=>C({body:[T(e.number)]}))}),t)):e.ref=i[0].number:n(Q(k({negate:!0}),t))},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let t=0;t<n;t++){let t=Pe();e.body.at(-1).body.push(t)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function Rt(e){N(e,{"*"({node:e,parent:t}){e.parent=t}})}function zt(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Bt(e,t){let n=t;do{if(n.type===`Regex`)return!1;if(n.type===`Alternative`)continue;if(n===e)return!1;let t=qt(n.parent);for(let r of t){if(r===n)break;if(r===e||Yt(r,e))return!0}}while(n=n.parent);throw Error(`Unexpected path`)}function Vt(e,t,n,r){let i=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a===`parent`?i.parent=Array.isArray(n)?r:n:o&&typeof o==`object`?i[a]=Vt(o,t,i,n):(a===`type`&&o===`CapturingGroup`&&t.set(i,t.get(e)??e),i[a]=o);return i}function Ht(e){let t=Ue(e);return t.isRecursive=!0,t}function Ut(e,t){let n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function Wt(e,t){if(t.has(e))return t.get(e);let n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/gu,`_`)}`;return t.set(e,n),n}function Gt(e){let t=[`dotAll`,`ignoreCase`],n={enable:{},disable:{}};return e.forEach(({flags:e})=>{t.forEach(t=>{e.enable?.[t]&&(delete n.disable[t],n.enable[t]=!0),e.disable?.[t]&&(n.disable[t]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function Kt({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function qt(e){if(!e)throw Error(`Node expected`);let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Jt(e){let t=e.find(e=>e.kind===`search_start`||Qt(e,{negate:!1})||!Xt(e));if(!t)return null;if(t.kind===`search_start`)return t;if(t.type===`LookaroundAssertion`)return t.body[0].body[0];if(t.type===`CapturingGroup`||t.type===`Group`){let e=[];for(let n of t.body){let t=Jt(n.body);if(!t)return null;Array.isArray(t)?e.push(...t):e.push(t)}return e}return null}function Yt(e,t){let n=qt(e)??[];for(let e of n)if(e===t||Yt(e,t))return!0;return!1}function Xt({type:e}){return e===`Assertion`||e===`Directive`||e===`LookaroundAssertion`}function Zt(e){let t=[`Character`,`CharacterClass`,`CharacterSet`];return t.includes(e.type)||e.type===`Quantifier`&&e.min&&t.includes(e.body.type)}function Qt(e,t){let n={negate:null,...t};return e.type===`LookaroundAssertion`&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&xe(e.body[0],{type:`Assertion`,kind:`search_start`})}function $t(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function X(e,t){let n=we(e,{...t,unicodePropertyMap:Et}).body;return n.length>1||n[0].body.length>1?O({body:n}):n[0].body[0]}function en(e,t){return e.negate=t,e}function Z(e,t){return e.parent=t,e}function Q(e,t){return Rt(e),e.parent=t,e}function tn(e,t){let n=St(t),r=vt(n.target,`ES2024`),i=vt(n.target,`ES2025`),a=n.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw Error(`Invalid recursionLimit; use 2-20`);let o=null,s=null;if(!i){let t=[e.flags.ignoreCase];N(e,nn,{getCurrentModI:()=>t.at(-1),popModI(){t.pop()},pushModI(e){t.push(e)},setHasCasedChar(){t.at(-1)?o=!0:s=!0}})}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!s)},l=e,u={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:a,useAppliedIgnoreCase:!!(!i&&o&&s),useFlagMods:i,useFlagV:r,verbose:n.verbose};function d(e){return u.lastNode=l,l=e,yt(rn[e.type],`Unexpected node type "${e.type}"`)(e,u,d)}let f={pattern:e.body.map(d).join(`|`),flags:d(e.flags),options:{...e.options}};return r||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],u.captureMap.forEach((e,t)=>{e.hidden&&f._hiddenCaptures.push(t),e.transferTo&&q(f._captureTransfers,e.transferTo,[]).push(t)}),f}var nn={"*":{enter({node:e},t){if(hn(e)){let n=t.getCurrentModI();t.pushModI(e.flags?K({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){hn(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){un(H(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),dn(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind===`property`&&Nt.has(e.value)&&t.setHasCasedChar()}},rn={Alternative({body:e},t,n){return e.map(n).join(``)},Assertion({kind:e,negate:t}){if(e===`string_end`)return`$`;if(e===`string_start`)return`^`;if(e===`word_boundary`)return t?U`\B`:U`\b`;throw Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!=`number`)throw Error(`Unexpected named backref in transformed AST`);if(!t.useFlagMods&&t.accuracy===`strict`&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw Error(`Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy`);return`\\`+e},CapturingGroup(e,t,n){let{body:r,name:i,number:a}=e,o={ignoreCase:t.currentFlags.ignoreCase},s=t.originMap.get(e);return s&&(o.hidden=!0,a>s.number&&(o.transferTo=s.number)),t.captureMap.set(a,o),`(${i?`?<${i}>`:``}${r.map(n).join(`|`)})`},Character({value:e},t){let n=H(e),r=$(e,{escDigit:t.lastNode.type===`Backreference`,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&un(n)){let e=Tt(n);return t.inCharClass?e.join(``):e.length>1?`[${e.join(``)}]`:e[0]}return n},CharacterClass(e,t,n){let{kind:r,negate:i,parent:a}=e,{body:o}=e;if(r===`intersection`&&!t.useFlagV)throw Error(`Use of character class intersection requires min target ES2024`);W.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(_n)&&(o=[E(45),...o.filter(e=>!_n(e))]);let s=()=>`[${i?`^`:``}${o.map(n).join(r===`intersection`?`&&`:``)}]`;if(!t.inCharClass){if((!t.useFlagV||W.bugNestedClassIgnoresNegation)&&!i){let t=o.filter(e=>e.type===`CharacterClass`&&e.kind===`union`&&e.negate);if(t.length){let r=O(),i=r.body[0];return r.parent=a,i.parent=r,o=o.filter(e=>!t.includes(e)),e.body=o,o.length?(e.parent=i,i.body.push(e)):r.body.pop(),t.forEach(e=>{let t=C({body:[e]});e.parent=t,t.parent=r,r.body.push(t)}),n(r)}}t.inCharClass=!0;let r=s();return t.inCharClass=!1,r}let c=o[0];if(r===`union`&&!i&&c&&((!t.useFlagV||!t.verbose)&&a.kind===`union`&&!(W.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&a.kind===`intersection`&&o.length===1&&c.type!==`CharacterClassRange`))return o.map(n).join(``);if(!t.useFlagV&&a.type===`CharacterClass`)throw Error(`Uses nested character class in a way that requires min target ES2024`);return s()},CharacterClassRange(e,t){let n=e.min.value,r=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},a=$(n,i),o=$(r,i),s=new Set;return t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&fn(dn(e)).forEach(e=>{s.add(Array.isArray(e)?`${$(e[0],i)}-${$(e[1],i)}`:$(e,i))}),`${a}-${o}${[...s].join(``)}`},CharacterSet({kind:e,negate:t,value:n,key:r},i){if(e===`dot`)return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?`.`:`[^]`:U`[^\n]`;if(e===`digit`)return t?U`\D`:U`\d`;if(e===`property`){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&Nt.has(n))throw Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?U`\P`:U`\p`}{${r?`${r}=`:``}${n}}`}if(e===`word`)return t?U`\W`:U`\w`;throw Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?`i`:``)+(e.dotAll?`s`:``)+(e.sticky?`y`:``)},Group({atomic:e,body:t,flags:n,parent:r},i,a){let o=i.currentFlags;n&&(i.currentFlags=K(o,n));let s=t.map(a).join(`|`),c=!i.verbose&&t.length===1&&r.type!==`Quantifier`&&!e&&(!i.useFlagMods||!n)?s:`(?${pn(e,n,i.useFlagMods)}${s})`;return i.currentFlags=o,c},LookaroundAssertion({body:e,kind:t,negate:n},r,i){return`(?${`${t===`lookahead`?``:`<`}${n?`!`:`=`}`}${e.map(i).join(`|`)})`},Quantifier(e,t,n){return n(e.body)+mn(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw Error(`Unexpected non-recursive subroutine in transformed AST`);let r=n.recursionLimit;return t===0?`(?R=${r})`:U`\g<${t}&R=${r}>`}},an=new Set([`$`,`(`,`)`,`*`,`+`,`.`,`?`,`[`,`\\`,`]`,`^`,`{`,`|`,`}`]),on=new Set([`-`,`\\`,`]`,`^`,`[`]),sn=new Set("()-/[\\]^{|}!#$%&*+,.:;<=>?@`~".split(``)),cn=new Map([[9,U`\t`],[10,U`\n`],[11,U`\v`],[12,U`\f`],[13,U`\r`],[8232,U`\u2028`],[8233,U`\u2029`],[65279,U`\uFEFF`]]),ln=/^\p{Cased}$/u;function un(e){return ln.test(e)}function dn(e,t){let n=!!t?.firstOnly,r=e.min.value,i=e.max.value,a=[];if(r<65&&(i===65535||i>=131071)||r===65536&&i>=131071)return a;for(let e=r;e<=i;e++){let t=H(e);if(!un(t))continue;let o=Tt(t).filter(e=>{let t=e.codePointAt(0);return t<r||t>i});if(o.length&&(a.push(...o),n))break}return a}function $(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(cn.has(e))return cn.get(e);if(e<32||e>126&&e<160||e>262143||t&&gn(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,`0`)}`;let i=n?r?sn:on:an,a=H(e);return(i.has(a)?`\\`:``)+a}function fn(e){let t=e.map(e=>e.codePointAt(0)).sort((e,t)=>e-t),n=[],r=null;for(let e=0;e<t.length;e++)t[e+1]===t[e]+1?r??=t[e]:r===null?n.push(t[e]):(n.push([r,t[e]]),r=null);return n}function pn(e,t,n){if(e)return`>`;let r=``;if(t&&n){let{enable:e,disable:n}=t;r=(e?.ignoreCase?`i`:``)+(e?.dotAll?`s`:``)+(n?`-`:``)+(n?.ignoreCase?`i`:``)+(n?.dotAll?`s`:``)}return`${r}:`}function mn({kind:e,max:t,min:n}){let r;return r=!n&&t===1?`?`:!n&&t===1/0?`*`:n===1&&t===1/0?`+`:n===t?`{${n}}`:`{${n},${t===1/0?``:t}}`,r+{greedy:``,lazy:`?`,possessive:`+`}[e]}function hn({type:e}){return e===`CapturingGroup`||e===`Group`||e===`LookaroundAssertion`}function gn(e){return e>47&&e<58}function _n({type:e,value:t}){return e===`Character`&&t===45}var vn=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=bn(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(yn(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e<n.length;e++){let{hidden:a,transferTo:o}=this.#e.get(e)??{};if(a?i.push(null):(i.push(t.length),t.push(n[e]),this.hasIndices&&t.indices.push(r[e])),o&&n[e]!==void 0){let a=i[o];if(!a)throw Error(`Invalid capture transfer to "${a}"`);if(t[a]=n[e],this.hasIndices&&(t.indices[a]=r[e]),t.groups){this.#r||=xn(this.source);let i=this.#r.get(o);i&&(t.groups[i]=n[e],this.hasIndices&&(t.indices.groups[i]=r[e]))}}}return t}};function yn(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e<n.length;e++){let r=n[e];r&&(n[e]=[r[0]+t,r[1]+t])}let r=n.groups;r&&Object.keys(r).forEach(e=>{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function bn(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)q(n,t,{}).transferTo=e;return n}function xn(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}function Sn(e,t){let n=Cn(e,t);return n.options?new vn(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Cn(e,t){let n=St(t),r=Pt(we(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Et}),{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),i=tn(r,n),a=ft(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:`external`}),o=ot(ct(a.pattern).pattern,{captureTransfers:a.captureTransfers,hiddenCaptures:a.hiddenCaptures}),s={pattern:o.pattern,flags:`${n.hasIndices?`d`:``}${n.global?`g`:``}${i.flags}${i.options.disable.v?`u`:`v`}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw Error(`Lazy compilation requires subclass`)}else{let e=o.hiddenCaptures.sort((e,t)=>e-t),t=Array.from(o.captureTransfers),i=r._strategy,a=s.pattern.length>=n.lazyCompileLength;(e.length||t.length||i||a)&&(s.options={...e.length&&{hiddenCaptures:e},...t.length&&{transfers:t},...i&&{strategy:i},...a&&{lazyCompile:a}})}return s}var wn=4294967295,Tn=class{constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:r,regexConstructor:i}=t;if(!i)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}})}regexps;findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=[];function a(e,t,n=0){return{index:e,captureIndices:t.indices.map(e=>e==null?{start:wn,end:wn,length:0}:{start:e[0]+n,end:e[1]+n,length:e[1]-e[0]})}}for(let e=0;e<this.regexps.length;e++){let n=this.regexps[e];if(n)try{n.lastIndex=t;let o=n.exec(r);if(!o)continue;if(o.index===t)return a(e,o,0);i.push([e,o,0])}catch(e){if(this.options.forgiving)continue;throw e}}if(i.length){let e=Math.min(...i.map(e=>e[1].index));for(let[t,n,r]of i)if(n.index===e)return a(t,n,r)}return null}};function En(e,t){return Sn(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Dn(e={}){let t=Object.assign({target:`auto`,cache:new Map},e);return t.regexConstructor||=e=>En(e,{target:t.target}),{createScanner(e){return new Tn(e,t)},createString(e){return{content:e}}}}function On(){let e={cache:new Map,regexConstructor:()=>{throw Error(`JavaScriptRawEngine: only support precompiled grammar`)}};return{createScanner(t){return new Tn(t,e)},createString(e){return{content:e}}}}export{Tn as JavaScriptScanner,On as createJavaScriptRawEngine,Dn as createJavaScriptRegexEngine,En as defaultJavaScriptRegexConstructor};
|