143 lines
56 KiB
JavaScript
143 lines
56 KiB
JavaScript
|
|
var OnigurumaToEs=(()=>{var Ce=Object.defineProperty;var Pr=Object.getOwnPropertyDescriptor;var Gr=Object.getOwnPropertyNames;var Ur=Object.prototype.hasOwnProperty;var Or=(e,t)=>{for(var r in t)Ce(e,r,{get:t[r],enumerable:!0})},Rr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Gr(t))!Ur.call(e,a)&&a!==r&&Ce(e,a,{get:()=>t[a],enumerable:!(n=Pr(t,a))||n.enumerable});return e};var Dr=e=>Rr(Ce({},"__esModule",{value:!0}),e);var on={};Or(on,{EmulatedRegExp:()=>se,toRegExp:()=>an,toRegExpDetails:()=>Mr});var y=String.fromCodePoint,h=String.raw,$={},ue=globalThis.RegExp;$.flagGroups=(()=>{try{new ue("(?i:)")}catch{return!1}return!0})();$.unicodeSets=(()=>{try{new ue("[[]]","v")}catch{return!1}return!0})();$.bugFlagVLiteralHyphenIsRange=$.unicodeSets?(()=>{try{new ue(h`[\d\-a]`,"v")}catch{return!0}return!1})():!1;$.bugNestedClassIgnoresNegation=$.unicodeSets&&new ue("[[^a]]","v").test("a");function j(e,{enable:t,disable:r}){return{dotAll:!r?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!r?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function G(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}function Y(e,t){return ye[e]>=ye[t]}function De(e,t){if(e==null)throw new Error(t??"Value expected");return e}var ye={ES2025:2025,ES2024:2024,ES2018:2018},Tr={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function ce(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!Tr[e.target])throw new 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=$.flagGroups?"ES2025":$.unicodeSets?"ES2024":"ES2018"),t}function U(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Te(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}var ee=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),x=String.raw;function M(e,t){if(e==null)throw new Error(t??"Value expected");return e}var je=x`\[\^?`,Xe=`c.? | C(?:-.?)?|${x`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${x`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${x`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${x`o\{[^\}]*\}?`}|${x`\d{1,3}`}`,xe=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,le=new RegExp(x`
|
||
|
|
\\ (?:
|
||
|
|
${Xe}
|
||
|
|
| [gk]<[^>]*>?
|
||
|
|
| [gk]'[^']*'?
|
||
|
|
| .
|
||
|
|
)
|
||
|
|
| \( (?:
|
||
|
|
\? (?:
|
||
|
|
[:=!>({]
|
||
|
|
| <[=!]
|
||
|
|
| <[^>]*>
|
||
|
|
| '[^']*'
|
||
|
|
| ~\|?
|
||
|
|
| #(?:[^)\\]|\\.?)*
|
||
|
|
| [^:)]*[:)]
|
||
|
|
)?
|
||
|
|
| \*[^\)]*\)?
|
||
|
|
)?
|
||
|
|
| (?:${xe.source})+
|
||
|
|
| ${je}
|
||
|
|
| .
|
||
|
|
`.replace(/\s+/g,""),"gsu"),be=new RegExp(x`
|
||
|
|
\\ (?:
|
||
|
|
${Xe}
|
||
|
|
| .
|
||
|
|
)
|
||
|
|
| \[:(?:\^?\p{Alpha}+|\^):\]
|
||
|
|
| ${je}
|
||
|
|
| &&
|
||
|
|
| .
|
||
|
|
`.replace(/\s+/g,""),"gsu");function Ze(e,t={}){let r={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let n=at(r.flags),a=[n.extended],s={captureGroup:r.rules.captureGroup,getCurrentModX(){return a.at(-1)},numOpenGroups:0,popModX(){a.pop()},pushModX(l){a.push(l)},replaceCurrentModX(l){a[a.length-1]=l},singleline:r.rules.singleline},o=[],i;for(le.lastIndex=0;i=le.exec(e);){let l=Br(s,e,i[0],le.lastIndex);l.tokens?o.push(...l.tokens):l.token&&o.push(l.token),l.lastIndex!==void 0&&(le.lastIndex=l.lastIndex)}let u=[],c=0;o.filter(l=>l.type==="GroupOpen").forEach(l=>{l.kind==="capturing"?l.number=++c:l.raw==="("&&u.push(l)}),c||u.forEach((l,f)=>{l.kind="capturing",l.number=f+1});let p=c||u.length;return{tokens:o.map(l=>l.type==="EscapedNumber"?it(l,p):l).flat(),flags:n}}function Br(e,t,r,n){let[a,s]=r;if(r==="["||r==="[^"){let o=Vr(t,r,n);return{tokens:o.tokens,lastIndex:o.lastIndex}}if(a==="\\"){if("AbBGyYzZ".includes(s))return{token:Be(r,r)};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:Kr(r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:qe(r)}}if(s==="K")return{token:Je("keep",r)};if(s==="N"||s==="R")return{token:T("newline",r,{negate:s==="N"})};if(s==="O")return{token:T("any",r)};if(s==="X")return{token:T("text_segment",r)};let o=Qe(r,{inCharClass:!1});return Array.isArray(o)?{tokens:o}:{token:o}}if(a==="("){if(s==="*")return{token:tt(r)};if(r==="(?{")throw new Error(`Unsupported callout "${r}"`);if(r.startsWith("(?#")){if(t[n]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:n+1}}if(/^\(\?[-imx]+[:)]$/.test(r))return{token:rt(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("&&!e.captureGroup||r==="(?:")return{token:X("group",r)};if(r==="(?>")return{token:X("atomic",r)};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:X(r[2]==="<"?"lookbehind":"lookahead",r,{negate:r.endsWith("!")})};if(r==="("&&e.captureGroup||r.startsWith("(?<")&&r.endsWith(">")||r.startsWith("(?'")&&r.endsWith("'"))return{token:X("capturing",r,{...r!=="("&&{name:r.slice(3,-1)}})};if(r.startsWith("(?~")){if(r==="(?~|")throw new Error(`Unsupported absence function kind "${r}"`);return{token:X("absence_repeater",r)}}throw r==="(?("?new Error(`Unsupported conditional "${r}"`):new Error(`Invalid or unsupported group option "${r}"`)}if(r===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:Qr(r)}}if(e.getCurrentModX()){if(r==="#"){let o=t.indexOf(`
|
||
|
|
`,n);return{lastIndex:o===-1?t.length:o}}if(/^\s$/.test(r)){let o=/\s+/y;return o.lastIndex=n,{lastIndex:o.exec(t)?o.lastIndex:n}}}if(r===".")return{token:T("dot",r)};if(r==="^"||r==="$"){let o=e.singleline?{"^":x`\A`,$:x`\Z`}[r]:r;return{token:Be(o,r)}}return r==="|"?{token:Wr(r)}:xe.test(r)?{tokens:ut(r)}:{token:N(U(r),r)}}function Vr(e,t,r){let n=[Ve(t[1]==="^",t)],a=1,s;for(be.lastIndex=r;s=be.exec(e);){let o=s[0];if(o[0]==="["&&o[1]!==":")a++,n.push(Ve(o[1]==="^",o));else if(o==="]"){if(n.at(-1).type==="CharacterClassOpen")n.push(N(93,o));else if(a--,n.push(Hr(o)),!a)break}else{let i=zr(o);Array.isArray(i)?n.push(...i):n.push(i)}}return{tokens:n,lastIndex:be.lastIndex||e.length}}function zr(e){if(e[0]==="\\")return Qe(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!ee.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return T("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?jr(e):e==="&&"?Xr(e):N(U(e),e)}function Qe(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return et(e);if("dDhHsSwW".includes(r))return nt(e);if(e.startsWith(x`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return st(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let n=e.split(/\\x/).slice(1).map(o=>parseInt(o,16)),a=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(n)),s=new TextEncoder;return[...a].map(o=>{let i=[...s.encode(o)].map(u=>`\\x${u.toString(16)}`).join("");return N(U(o),i)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(r==="u"||r==="x")return N(ot(e),e);if(ze.has(r))return N(ze.get(r),e);if(/\d/.test(r))return Zr(t,e);if(e==="\\")throw new Error(x`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return N(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function Wr(e){return{type:"Alternator",raw:e}}function Be(e,t){return{type:"Assertion",kind:e,raw:t}}function qe(e){return{type:"Backreference",raw:e}}function N(e,t){return{type:"Character",value:e,raw:t}}function Hr(e){return{type:"CharacterClassClose",raw:e}}function jr(e){return{type:"CharacterClassHyphen",raw:e}}function Xr(e){return{type:"CharacterClassIntersector",raw:e}}function Ve(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function T(e,t,r={}){return{type:"CharacterSet",kind:e,...r,raw:t}}function Je(e,t,r={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:M(r.flags),raw:t}}function Zr(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function Qr(e){return{type:"GroupClose",raw:e}}function X(e,t,r={}){return{type:"GroupOpen",kind:e,...r,raw:t}}function qr(e,t,r,n){return{type:"NamedCallout",kind:e,tag:t,arguments:r,raw:n}}function Jr(e,t,r,n){return{type:"Quantifier",kind:e,min:t,max:r,raw:n}}function Kr(e){return{type:"Subroutine",raw:e}}var Yr=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),ze=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function et(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return N(U(t.toUpperCase())-64,e)}function rt(e,t){let{on:r,off:n}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;n??="";let a=(t.getCurrentModX()||r.includes("x"))&&!n.includes("x"),s=He(r),o=He(n),i={};if(s&&(i.enable=s),o&&(i.disable=o),e.endsWith(")"))return t.replaceCurrentModX(a),Je("flags",e,{flags:i});if(e.endsWith(":"))return t.pushModX(a),t.numOpenGroups++,X("group",e,{...(s||o)&&{flags:i}});throw new Error(`Unexpected flag modifier "${e}"`)}function tt(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);let{name:r,tag:n,args:a}=t.groups;if(!r)throw new Error(`Invalid named callout "${e}"`);if(n==="")throw new Error(`
|
||
|
|
Cc Control cntrl
|
||
|
|
Cf Format
|
||
|
|
Cn Unassigned
|
||
|
|
Co Private_Use
|
||
|
|
Cs Surrogate
|
||
|
|
L Letter
|
||
|
|
LC Cased_Letter
|
||
|
|
Ll Lowercase_Letter
|
||
|
|
Lm Modifier_Letter
|
||
|
|
Lo Other_Letter
|
||
|
|
Lt Titlecase_Letter
|
||
|
|
Lu Uppercase_Letter
|
||
|
|
M Mark Combining_Mark
|
||
|
|
Mc Spacing_Mark
|
||
|
|
Me Enclosing_Mark
|
||
|
|
Mn Nonspacing_Mark
|
||
|
|
N Number
|
||
|
|
Nd Decimal_Number digit
|
||
|
|
Nl Letter_Number
|
||
|
|
No Other_Number
|
||
|
|
P Punctuation punct
|
||
|
|
Pc Connector_Punctuation
|
||
|
|
Pd Dash_Punctuation
|
||
|
|
Pe Close_Punctuation
|
||
|
|
Pf Final_Punctuation
|
||
|
|
Pi Initial_Punctuation
|
||
|
|
Po Other_Punctuation
|
||
|
|
Ps Open_Punctuation
|
||
|
|
S Symbol
|
||
|
|
Sc Currency_Symbol
|
||
|
|
Sk Modifier_Symbol
|
||
|
|
Sm Math_Symbol
|
||
|
|
So Other_Symbol
|
||
|
|
Z Separator
|
||
|
|
Zl Line_Separator
|
||
|
|
Zp Paragraph_Separator
|
||
|
|
Zs Space_Separator
|
||
|
|
ASCII
|
||
|
|
ASCII_Hex_Digit AHex
|
||
|
|
Alphabetic Alpha
|
||
|
|
Any
|
||
|
|
Assigned
|
||
|
|
Bidi_Control Bidi_C
|
||
|
|
Bidi_Mirrored Bidi_M
|
||
|
|
Case_Ignorable CI
|
||
|
|
Cased
|
||
|
|
Changes_When_Casefolded CWCF
|
||
|
|
Changes_When_Casemapped CWCM
|
||
|
|
Changes_When_Lowercased CWL
|
||
|
|
Changes_When_NFKC_Casefolded CWKCF
|
||
|
|
Changes_When_Titlecased CWT
|
||
|
|
Changes_When_Uppercased CWU
|
||
|
|
Dash
|
||
|
|
Default_Ignorable_Code_Point DI
|
||
|
|
Deprecated Dep
|
||
|
|
Diacritic Dia
|
||
|
|
Emoji
|
||
|
|
Emoji_Component EComp
|
||
|
|
Emoji_Modifier EMod
|
||
|
|
Emoji_Modifier_Base EBase
|
||
|
|
Emoji_Presentation EPres
|
||
|
|
Extended_Pictographic ExtPict
|
||
|
|
Extender Ext
|
||
|
|
Grapheme_Base Gr_Base
|
||
|
|
Grapheme_Extend Gr_Ext
|
||
|
|
Hex_Digit Hex
|
||
|
|
IDS_Binary_Operator IDSB
|
||
|
|
IDS_Trinary_Operator IDST
|
||
|
|
ID_Continue IDC
|
||
|
|
ID_Start IDS
|
||
|
|
Ideographic Ideo
|
||
|
|
Join_Control Join_C
|
||
|
|
Logical_Order_Exception LOE
|
||
|
|
Lowercase Lower
|
||
|
|
Math
|
||
|
|
Noncharacter_Code_Point NChar
|
||
|
|
Pattern_Syntax Pat_Syn
|
||
|
|
Pattern_White_Space Pat_WS
|
||
|
|
Quotation_Mark QMark
|
||
|
|
Radical
|
||
|
|
Regional_Indicator RI
|
||
|
|
Sentence_Terminal STerm
|
||
|
|
Soft_Dotted SD
|
||
|
|
Terminal_Punctuation Term
|
||
|
|
Unified_Ideograph UIdeo
|
||
|
|
Uppercase Upper
|
||
|
|
Variation_Selector VS
|
||
|
|
White_Space space
|
||
|
|
XID_Continue XIDC
|
||
|
|
XID_Start XIDS`.split(/\s/).map(e=>[Q(e),e])),vt=new Map([["s",y(383)],[y(383),"s"]]),Ft=new Map([[y(223),y(7838)],[y(107),y(8490)],[y(229),y(8491)],[y(969),y(8486)]]),Mt=new Map([R(453),R(456),R(459),R(498),...Ie(8072,8079),...Ie(8088,8095),...Ie(8104,8111),R(8124),R(8140),R(8188)]),ar=new Map([["alnum",h`[\p{Alpha}\p{Nd}]`],["alpha",h`\p{Alpha}`],["ascii",h`\p{ASCII}`],["blank",h`[\p{Zs}\t]`],["cntrl",h`\p{Cc}`],["digit",h`\p{Nd}`],["graph",h`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",h`\p{Lower}`],["print",h`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",h`[\p{P}\p{S}]`],["space",h`\p{space}`],["upper",h`\p{Upper}`],["word",h`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",h`\p{AHex}`]]);function Nt(e,t){let r=[];for(let n=e;n<=t;n++)r.push(n);return r}function R(e){let t=y(e);return[t.toLowerCase(),t]}function Ie(e,t){return Nt(e,t).map(r=>R(r))}var Se=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function V(e,t,r=null){function n(s,o){for(let i=0;i<s.length;i++){let u=a(s[i],o,i,s);i=Math.max(-1,i+u)}}function a(s,o=null,i=null,u=null){let c=0,p=!1,l={node:s,parent:o,key:i,container:u,root:e,remove(){me(u).splice(Math.max(0,q(i)+c),1),c--,p=!0},removeAllNextSiblings(){return me(u).splice(q(i)+1)},removeAllPrevSiblings(){let C=q(i)+c;return c-=C,me(u).splice(0,Math.max(0,C))},replaceWith(C,E={}){let I=!!E.traverse;u?u[Math.max(0,q(i)+c)]=C:M(o,"Can't replace root node")[i]=C,I&&a(C,o,i,u),p=!0},replaceWithMultiple(C,E={}){let I=!!E.traverse;if(me(u).splice(Math.max(0,q(i)+c),1,...C),c+=C.length-1,I){let k=0;for(let _=0;_<C.length;_++)k+=a(C[_],o,q(i)+_+k,u)}p=!0},skip(){p=!0}},{type:f}=s,g=t["*"],d=t[f],m=typeof g=="function"?g:g?.enter,w=typeof d=="function"?d:d?.enter;if(m?.(l,r),w?.(l,r),!p)switch(f){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":n(s.body,s);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":a(s.min,s,"min"),a(s.max,s,"max");break;case"Quantifier":a(s.body,s,"body");break;case"Regex":n(s.body,s),a(s.flags,s,"flags");break;default:throw new Error(`Unexpected node type "${f}"`)}return d?.exit?.(l,r),g?.exit?.(l,r),c}return a(e),e}function me(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function q(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}function ir(e,t){let r={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};ur(e);let n={accuracy:r.accuracy,asciiWordBoundaries:r.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Y(r.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};V(e,Lt,n);let a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},s={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};V(e,Pt,s);let o={groupsByName:s.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:s.reffedNodesByReferencer};return V(e,Gt,o),e._originMap=s.groupOriginByCopy,e._strategy=n.strategy,e}var Lt={AbsenceFunction({node:e,parent:t,replaceWith:r}){let{body:n,kind:a}=e;if(a==="repeater"){let s=S();s.body[0].body.push(O({negate:!0,body:n}),B("Any"));let o=S();o.body[0].body.push(Ee("greedy",0,1/0,s)),r(b(o,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:n}){let a=e.body.filter(s=>s.kind==="flags");for(let s=r+1;s<t.body.length;s++){let o=t.body[s];G(n,o,[]).push(...a)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let r=lr(t.get(e));i
|
||
|
|
]`:`(?>\r
|
||
|
|
?|[
|
||
|
|
\v\f\x85\u2028\u2029])`),t));else if(u==="posix")if(!a&&(p==="graph"||p==="print")){if(n==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let l={graph:"!-~",print:" -~"}[p];c&&(l=`\0-${y(l.codePointAt(0)-1)}${y(l.codePointAt(2)+1)}-\u{10FFFF}`),r(b(P(`[${l}]`),t))}else r(b(Fe(P(ar.get(p)),c),t));else if(u==="property")ne.has(Q(p))||(e.key="sc");else if(u==="space")r(D(B("space",{negate:c}),t));else if(u==="word")r(b(Fe(P(F),c),t));else throw new Error(`Unexpected character set kind "${u}"`)},Directive({node:e,parent:t,root:r,remove:n,replaceWith:a,removeAllPrevSiblings:s,removeAllNextSiblings:o}){let{kind:i,flags:u}=e;if(i==="flags")if(!u.enable&&!u.disable)n();else{let c=S({flags:u});c.body[0].body=o(),a(b(c,t),{traverse:!0})}else if(i==="keep"){let c=r.body[0],l=r.body.length===1&&pe(c,{type:"Group"})&&c.body[0].body.length===1?c.body[0]:r;if(t.parent!==l||l.body.length>1)throw new Error(h`Uses "\K" in a way that's unsupported`);let f=O({behind:!0});f.body[0].body=s(),a(b(f,t))}else throw new Error(`Unexpected directive kind "${i}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(r=>delete e[r]),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:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:r}=e;r==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:r}){let{kind:n}=e;if(n==="fail")r(b(O({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${n.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=S();t.body[0].body.push(e.body),e.body=b(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let r=[],n=!1,a=!1;for(let s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{let o=fr(s.body);o?(n=!0,Array.isArray(o)?r.push(...o):r.push(o)):a=!0}n&&!a&&r.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:r,strategy:n}){if(t==="strict"&&r&&n)throw new Error(h`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!ve(r)&&(r=_e(r,t),e.ref=r)}},Pt={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){let{orphan:n,ref:a}=e;n||r.set(e,[...t.get(a).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:r,skip:n},{groupOriginByCopy:a,groupsByName:s,multiplexCapturesToLeftByRef:o,openRefs:i,reffedNodesByReferencer:u}){let c=a.get(e);if(c&&i.has(e.number)){let l=D(or(e.number),t);u.set(l,i.get(e.number)),r(l);return}i.set(e.number,e),o.set(e.number,[]),e.name&&G(o,e.name,[]);let p=o.get(e.name??e.number);for(let l=0;l<p.length;l++){let f=p[l];if(c===f.node||c&&c===f.origin||e===f.origin){p.splice(l,1);break}}if(o.get(e.number).push({node:e,origin:c}),e.name&&o.get(e.name).push({node:e,origin:c}),e.name){let l=G(s,e.name,new Map),f=!1;if(c)f=!0;else for(let g of l.values())if(!g.hasDuplicateNameToRemove){f=!0;break}s.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},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=j(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:r},n){let{isRecursive:a,ref:s}=e;if(a){let p=t;for(;(p=p.parent)&&!(p.type==="CapturingGroup"&&(p.name===s||p.number===s)););n.reffedNodesByReferencer.set(e,p);return}let o=n.subroutineRefMap.get(s),i=s===0,u=i?or(0):cr(
|
||
|
|
\\(?: \d+
|
||
|
|
| c[A-Za-z]
|
||
|
|
| [gk]<[^>]+>
|
||
|
|
| [pPu]\{[^\}]+\}
|
||
|
|
| u[A-Fa-f\d]{4}
|
||
|
|
| x[A-Fa-f\d]{2}
|
||
|
|
)
|
||
|
|
| \((?: \? (?: [:=!>]
|
||
|
|
| <(?:[=!]|[^>]+>)
|
||
|
|
| [A-Za-z\-]+:
|
||
|
|
| \(DEFINE\)
|
||
|
|
))?
|
||
|
|
| (?<qBase>${Ar})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
||
|
|
| \\?.
|
||
|
|
`.replace(/\s+/g,""),"gsu");function Ge(e){if(!new RegExp(`${Ar}\\+`).test(e))return{pattern:e};let t=[],r=null,n=null,a="",s=0,o;for(Le.lastIndex=0;o=Le.exec(e);){let{0:i,index:u,groups:{qBase:c,qMod:p,invalidQ:l}}=o;if(i==="[")s||(n=u),s++;else if(i==="]")s?s--:n=null;else if(!s)if(p==="+"&&a&&!a.startsWith("(")){if(l)throw new Error(`Invalid quantifier "${i}"`);let f=-1;if(/^\{\d+\}$/.test(c))e=xr(e,u+c.length,p,"");else{if(a===")"||a==="]"){let g=a===")"?r:n;if(g===null)throw new Error(`Invalid unmatched "${a}"`);e=`${e.slice(0,g)}(?>${e.slice(g,u)}${c})${e.slice(u+i.length)}`}else e=`${e.slice(0,u-a.length)}(?>${a}${c})${e.slice(u+i.length)}`;f+=4}Le.lastIndex+=f}else i[0]==="("?t.push(u):i===")"&&(r=t.length?t.pop():null);a=i}return{pattern:e}}var v=String.raw,nn=v`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Oe=v`\(\?R=(?<rDepth>[^\)]+)\)|${nn}`,we=v`\(\?<(?![=!])(?<captureName>[^>]+)>`,vr=v`${we}|(?<unnamed>\()(?!\?)`,z=new RegExp(v`${we}|${Oe}|\(\?|\\?.`,"gsu"),Ue="Cannot use multiple overlapping recursions";function Fr(e,t){let{hiddenCaptures:r,mode:n}={hiddenCaptures:[],mode:"plugin",...t},a=t?.captureTransfers??new Map;if(!new RegExp(Oe,"su").test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:r};if(n==="plugin"&&oe(e,v`\(\?\(DEFINE\)`,A.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let s=[],o=oe(e,v`\\[1-9]`,A.DEFAULT),i=new Map,u=[],c=!1,p=0,l=0,f;for(z.lastIndex=0;f=z.exec(e);){let{0:g,groups:{captureName:d,rDepth:m,gRNameOrNum:w,gRDepth:C}}=f;if(g==="[")p++;else if(p)g==="]"&&p--;else if(m){if(Ir(m),c)throw new Error(Ue);if(o)throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);let E=e.slice(0,f.index),I=e.slice(z.lastIndex);if(oe(I,Oe,A.DEFAULT))throw new Error(Ue);let k=+m-1;e=$r(E,I,k,!1,r,s,l),a=_r(a,E,k,s.length,0,l);break}else if(w){Ir(C);let E=!1;for(let K of u)if(K.name===w||K.num===+w){if(E=!0,K.hasRecursedWithin)throw new Error(Ue);break}if(!E)throw new Error(v`Recursive \g cannot be used outside the referenced group "${n==="external"?w:v`\g<${w}&R=${C}>`}"`);let I=i.get(w),k=kr(e,I);if(o&&oe(k,v`${we}|\((?!\?)`,A.DEFAULT))throw new Error(`${n==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);let _=e.slice(I,f.index),ie=k.slice(_.length+g.length),W=s.length,H=+C-1,Re=$r(_,ie,H,!0,r,s,l);a=_r(a,_,H,s.length-W,W,l);let Nr=e.slice(0,I),Lr=e.slice(I+k.length);e=`${Nr}${Re}${Lr}`,z.lastIndex+=Re.length-g.length-_.length-ie.length,u.forEach(K=>K.hasRecursedWithin=!0),c=!0}else if(d)l++,i.set(String(l),z.lastIndex),i.set(d,z.lastIndex),u.push({num:l,name:d});else if(g[0]==="("){let E=g==="(";E&&(l++,i.set(String(l),z.lastIndex)),u.push(E?{num:l}:{})}else g===")"&&u.pop()}return r.push(...s),{pattern:e,captureTransfers:a,hiddenCaptures:r}}function Ir(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function $r(e,t,r,n,a,s,o){let i=new Set;n&&Ne(e+t,we,({groups:{captureName:c}})=>{i.add(c)},A.DEFAULT);let u=[r,n?i:null,a,s,o];return`${e}${Sr(`(?:${e}`,"forward",...u)}(?:)${Sr(`${t})`,"backward",...u)}${t}`}function Sr(e,t,r,n,a,s,o){let u=p=>t==="forward"?p+2:r-p+2-1,c="";for(let p=0;p<r;p++){let l=u(p);c+=ae(e,v`${vr}|\\k<(?<backref>[^>]+)>`,({0:f,groups:{captureName:g,unnamed:d,backref:m}})=>{if(m&&n&&!n.has(m))return f;let w=`_$${l}`;if(d||g){let C=o+s.length+1;return s.push(C),sn(a,C),d?f:`(?<${g}${w}>`}return v`\k<${m}${w}>`},A.DEFAULT)}return c}function sn(e,t){for(let r=0;r<e.length;r++)e[r]>=t&&e[r]++}function _r(e,t,r,n,a,s){if(e.size&&n){let o=0;Ne(t,vr,()=>o++,A.DEFAULT);let i=s-o+a,u=new Map;return e.forEach((c,p)=>{let l=(n-o*r)/r,f=o*r,g=p>i+o?p+n:p,d=[];for(let m of c)if(m<=i)d.push(m);else if(m>i+o+l)d.push(m+n);else if(m<=i+o)for(let w=0;w<=r;w++)d.push(m+o*w);else for(let w=0;w<=r;w++)d.push(m+f+l*w);u.set(g,d)}),u}return e}function an(e,t){let r=Mr(e,t);return r.options?new se(r.pattern,r.flags,r.options):new RegExp(r.pattern,r.flags)}function Mr(e,t){le
|
||
|
|
//# sourceMappingURL=index.min.js.map
|