905 lines
54 KiB
JavaScript
905 lines
54 KiB
JavaScript
|
|
"use strict";var OnigurumaParser=(()=>{var ne=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var it=(e,t)=>{for(var r in t)ne(e,r,{get:t[r],enumerable:!0})},st=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of at(t))!ot.call(e,i)&&i!==r&&ne(e,i,{get:()=>t[i],enumerable:!(a=nt(t,i))||a.enumerable});return e};var lt=e=>st(ne({},"__esModule",{value:!0}),e);var mr={};it(mr,{OnigUnicodePropertyMap:()=>G,generate:()=>H,getOptionalOptimizations:()=>le,optimize:()=>rt,parse:()=>M,toOnigurumaAst:()=>Ee,traverse:()=>Y});function y(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function pe(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}var U=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),c=String.raw;function m(e,t){if(e==null)throw new Error(t??"Value expected");return e}function H(e){let t=[],r=e,a={inCharClass:!1,lastNode:r,parent:e},i=o=>{a.lastNode=r,r=o,dt(a.lastNode)===o&&(a.parent=a.lastNode,t.push(a.parent));let s=m(ut[o.type],`Unexpected node type "${o.type}"`)(o,a,i);return ft(a.parent)===o&&(t.pop(),a.parent=t.at(-1)??e),s};return{pattern:e.body.map(i).join("|"),flags:i(e.flags)}}var ut={AbsenceFunction({body:e,kind:t},r,a){if(t!=="repeater")throw new Error(`Unexpected absence function kind "${t}"`);return`(?~${e.map(a).join("|")})`},Alternative({body:e},t,r){return e.map(r).join("")},Assertion({kind:e,negate:t}){return e==="text_segment_boundary"?t?c`\Y`:c`\y`:e==="word_boundary"?t?c`\B`:c`\b`:m({line_end:"$",line_start:"^",search_start:c`\G`,string_end:c`\z`,string_end_newline:c`\Z`,string_start:c`\A`}[e],`Unexpected assertion kind "${e}"`)},Backreference({ref:e}){return typeof e=="number"?"\\"+e:`\\k<${e}>`},CapturingGroup({body:e,name:t},r,a){return`(${t?`?${t.includes(">")?`'${t}'`:`<${t}>`}`:""}${e.map(a).join("|")})`},Character(e,{inCharClass:t,lastNode:r,parent:a}){let{value:i}=e;if(ce.has(i))return ce.get(i);let o=r.type==="Backreference";if(i<32||i>126&&i<160||i>262143||o&&_t(i))return i>127?`\\x{${i.toString(16).toUpperCase()}}`:`\\x${i.toString(16).toUpperCase().padStart(2,"0")}`;let n=String.fromCodePoint(i),s=!1;if(t){let l=a.type==="CharacterClass",p=l&&a.body[0]===e,d=l&&a.body.at(-1)===e;n==="^"?s=p&&!a.negate:n==="]"?s=!p:n==="-"?s=!p&&!d:s=ct.has(n)}else s=pt.has(n);return`${s?"\\":""}${n}`},CharacterClass({body:e,kind:t,negate:r},a,i){function o(){return a.parent.type==="CharacterClass"&&a.parent.kind==="intersection"&&t==="union"&&!e.length?"":`[${r?"^":""}${e.map(i).join(t==="intersection"?"&&":"")}]`}if(!a.inCharClass){a.inCharClass=!0;let n=o();return a.inCharClass=!1,n}return o()},CharacterClassRange({min:e,max:t},r,a){return`${a(e)}-${a(t)}`},CharacterSet({kind:e,negate:t,value:r},{inCharClass:a}){switch(e){case"any":return c`\O`;case"digit":return t?c`\D`:c`\d`;case"dot":return".";case"hex":return t?c`\H`:c`\h`;case"newline":return t?c`\N`:c`\R`;case"posix":return a?`[:${t?"^":""}${r}:]`:`${t?c`\P`:c`\p`}{${r}}`;case"property":return`${t?c`\P`:c`\p`}{${r}}`;case"space":return t?c`\S`:c`\s`;case"text_segment":return c`\X`;case"word":return t?c`\W`:c`\w`;default:throw new Error(`Unexpected character set kind "${e}"`)}},Directive({kind:e,flags:t}){if(e==="flags"){let{enable:r={},disable:a={}}=t,i=$(r),o=$(a);return i||o?`(?${i}${o?`-${o}`:""})`:""}if(e==="keep")return c`\K`;throw new Error(`Unexpected directive kind "${e}"`)},Flags(e){return $(e)},Group({atomic:e,body:t,flags:r},a,i){let o=t.map(i).join("|");return`(?${ht(e,r)}${o})`},LookaroundAssertion({body:e,kind:t,negate:r},a,i){return`(?${`${t==="lookahead"?"":"<"}${r?"!":"="}`}${e.map(i).join("|")})`},NamedCallout({kind:e,tag:t,arguments:r}){if(e==="custom")throw new Error(`Unexpected named callout kind "${e}"`);return`(*${e.toUpperCase()}${t?`[${t}]`:""}${r?`{${r.join(",")}}`:""})`},Quantifier(e,{parent:t},r){let{body:a,kind:i,max:o,min:n}=e;if(n===1/0)throw new Error("Invalid quantifier: infinite
|
||
|
|
\\ (?:
|
||
|
|
${Ce}
|
||
|
|
| [gk]<[^>]*>?
|
||
|
|
| [gk]'[^']*'?
|
||
|
|
| .
|
||
|
|
)
|
||
|
|
| \( (?:
|
||
|
|
\? (?:
|
||
|
|
[:=!>({]
|
||
|
|
| <[=!]
|
||
|
|
| <[^>]*>
|
||
|
|
| '[^']*'
|
||
|
|
| ~\|?
|
||
|
|
| #(?:[^)\\]|\\.?)*
|
||
|
|
| [^:)]*[:)]
|
||
|
|
)?
|
||
|
|
| \*[^\)]*\)?
|
||
|
|
)?
|
||
|
|
| (?:${oe.source})+
|
||
|
|
| ${ge}
|
||
|
|
| .
|
||
|
|
`.replace(/\s+/g,""),"gsu"),ae=new RegExp(c`
|
||
|
|
\\ (?:
|
||
|
|
${Ce}
|
||
|
|
| .
|
||
|
|
)
|
||
|
|
| \[:(?:\^?\p{Alpha}+|\^):\]
|
||
|
|
| ${ge}
|
||
|
|
| &&
|
||
|
|
| .
|
||
|
|
`.replace(/\s+/g,""),"gsu");function be(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 a=Gt(r.flags),i=[a.extended],o={captureGroup:r.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(u){i.push(u)},replaceCurrentModX(u){i[i.length-1]=u},singleline:r.rules.singleline},n=[],s;for(Q.lastIndex=0;s=Q.exec(e);){let u=mt(o,e,s[0],Q.lastIndex);u.tokens?n.push(...u.tokens):u.token&&n.push(u.token),u.lastIndex!==void 0&&(Q.lastIndex=u.lastIndex)}let l=[],p=0;n.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++p:u.raw==="("&&l.push(u)}),p||l.forEach((u,h)=>{u.kind="capturing",u.number=h+1});let d=p||l.length;return{tokens:n.map(u=>u.type==="EscapedNumber"?Ft(u,d):u).flat(),flags:a}}function mt(e,t,r,a){let[i,o]=r;if(r==="["||r==="[^"){let n=yt(t,r,a);return{tokens:n.tokens,lastIndex:n.lastIndex}}if(i==="\\"){if("AbBGyYzZ".includes(o))return{token:fe(r,r)};if(/^\\g[<']/.test(r)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:vt(r)}}if(/^\\k[<']/.test(r)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(r))throw new Error(`Invalid group name "${r}"`);return{token:ke(r)}}if(o==="K")return{token:Ie("keep",r)};if(o==="N"||o==="R")return{token:T("newline",r,{negate:o==="N"})};if(o==="O")return{token:T("any",r)};if(o==="X")return{token:T("text_segment",r)};let n=Ne(r,{inCharClass:!1});return Array.isArray(n)?{tokens:n}:{token:n}}if(i==="("){if(o==="*")return{token:Pt(r)};if(r==="(?{")throw new Error(`Unsupported callout "${r}"`);if(r.startsWith("(?#")){if(t[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(r))return{token:Et(r,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,r==="("&&!e.captureGroup||r==="(?:")return{token:P("group",r)};if(r==="(?>")return{token:P("atomic",r)};if(r==="(?="||r==="(?!"||r==="(?<="||r==="(?<!")return{token:P(r[2]==="<"?"lookbehind":"lookahead",r,{negate:r.endsWith("!")})};if(r==="("&&e.captureGroup||r.startsWith("(?<")&&r.endsWith(">")||r.startsWith("(?'")&&r.endsWith("'"))return{token:P("capturing",r,{...r!=="("&&{name:r.slice(3,-1)}})};if(r.startsWith("(?~")){if(r==="(?~|")throw new Error(`Unsupported absence function kind "${r}"`);return{token:P("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:At(r)}}if(e.getCurrentModX()){if(r==="#"){let n=t.indexOf(`
|
||
|
|
`,a);return{lastIndex:n===-1?t.length:n}}if(/^\s$/.test(r)){let n=/\s+/y;return n.lastIndex=a,{lastIndex:n.exec(t)?n.lastIndex:a}}}if(r===".")return{token:T("dot",r)};if(r==="^"||r==="$"){let n=e.singleline?{"^":c`\A`,$:c`\Z`}[r]:r;return{token:fe(n,r)}}return r==="|"?{token:Ct(r)}:oe.test(r)?{tokens:Ut(r)}:{token:A(y(r),r)}}function yt(e,t,r){let a=[he(t[1]==="^",t)],i=1,o;for(ae.lastIndex=r;o=ae.exec(e);){let n=o[0];if(n[0]==="["&&n[1]!==":")i++,a.push(he(n[1]==="^",n));else if(n==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(A(93,n));else if(i--,a.push(bt(n)),!i)break}else{let s=gt(n);Array.isArray(s)?a.push(...s):a.push(s)}}return{tokens:a,lastIndex:ae.lastIndex||e.length}}function gt(e){if(e[0]==="\\")return Ne(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!U.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==="-"?Nt(e):e==="&&"?kt(e):A(y(e),e)}function Ne(e,{inCharClass:t}){let r=e[1];if(r==="c"||r==="C")return Tt(e);if("dDhHsSwW".includes(r))return Ot(e);if(e.startsWith(c`\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 Mt(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let a=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),i=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),o=new TextEncoder;return[...i].map(s=>{let l=[...o.encode(s)].map(p=>`\\x${p.toString(16)}`).join("");return A(y(s),l)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(r==="u"||r==="x")return A(Lt(e),e);if(_e.has(r))return A(_e.get(r),e);if(/\d/.test(r))return It(t,e);if(e==="\\")throw new Error(c`Incomplete escape "\"`);if(r==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return A(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function Ct(e){return{type:"Alternator",raw:e}}function fe(e,t){return{type:"Assertion",kind:e,raw:t}}function ke(e){return{type:"Backreference",raw:e}}function A(e,t){return{type:"Character",value:e,raw:t}}function bt(e){return{type:"CharacterClassClose",raw:e}}function Nt(e){return{type:"CharacterClassHyphen",raw:e}}function kt(e){return{type:"CharacterClassIntersector",raw:e}}function he(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function T(e,t,r={}){return{type:"CharacterSet",kind:e,...r,raw:t}}function Ie(e,t,r={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:m(r.flags),raw:t}}function It(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function At(e){return{type:"GroupClose",raw:e}}function P(e,t,r={}){return{type:"GroupOpen",kind:e,...r,raw:t}}function St(e,t,r,a){return{type:"NamedCallout",kind:e,tag:t,arguments:r,raw:a}}function xt(e,t,r,a){return{type:"Quantifier",kind:e,min:t,max:r,raw:a}}function vt(e){return{type:"Subroutine",raw:e}}var wt=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),_e=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function Tt(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 A(y(t.toUpperCase())-64,e)}function Et(e,t){let{on:r,off:a}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;a??="";let i=(t.getCurrentModX()||r.includes("x"))&&!a.includes("x"),o=ye(r),n=ye(a),s={};if(o&&(s.enable=o),n&&(s.disable=n),e.endsWith(")"))return t.replaceCurrentModX(i),Ie("flags",e,{flags:s});if(e.endsWith(":"))return t.pushModX(i),t.numOpenGroups++,P("group",e,{...(o||n)&&{flags:s}});throw new Error(`Unexpected flag modifier "${e}"`)}function Pt(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:a,args:i}=t.groups;if(!r)throw new Error(`Invalid named callout "${e}"`);if(a==="")throw new Error(`N
|
||
|
|
Adlam
|
||
|
|
Ahom
|
||
|
|
Alphabetic
|
||
|
|
Anatolian_Hieroglyphs
|
||
|
|
Any
|
||
|
|
Arabic
|
||
|
|
Armenian
|
||
|
|
Assigned
|
||
|
|
Avestan
|
||
|
|
Balinese
|
||
|
|
Bamum
|
||
|
|
Bassa_Vah
|
||
|
|
Batak
|
||
|
|
Bengali
|
||
|
|
Bhaiksuki
|
||
|
|
Bidi_Control
|
||
|
|
Bopomofo
|
||
|
|
Brahmi
|
||
|
|
Braille
|
||
|
|
Buginese
|
||
|
|
Buhid
|
||
|
|
C
|
||
|
|
Canadian_Aboriginal
|
||
|
|
Carian
|
||
|
|
Case_Ignorable
|
||
|
|
Cased
|
||
|
|
Caucasian_Albanian
|
||
|
|
Cc
|
||
|
|
Cf
|
||
|
|
Chakma
|
||
|
|
Cham
|
||
|
|
Changes_When_Casefolded
|
||
|
|
Changes_When_Casemapped
|
||
|
|
Changes_When_Lowercased
|
||
|
|
Changes_When_Titlecased
|
||
|
|
Changes_When_Uppercased
|
||
|
|
Cherokee
|
||
|
|
Chorasmian
|
||
|
|
Cn
|
||
|
|
Co
|
||
|
|
Common
|
||
|
|
Coptic
|
||
|
|
Cs
|
||
|
|
Cuneiform
|
||
|
|
Cypriot
|
||
|
|
Cypro_Minoan
|
||
|
|
Cyrillic
|
||
|
|
Dash
|
||
|
|
Default_Ignorable_Code_Point
|
||
|
|
Deprecated
|
||
|
|
Deseret
|
||
|
|
Devanagari
|
||
|
|
Diacritic
|
||
|
|
Dives_Akuru
|
||
|
|
Dogra
|
||
|
|
Duployan
|
||
|
|
Egyptian_Hieroglyphs
|
||
|
|
Elbasan
|
||
|
|
Elymaic
|
||
|
|
Emoji
|
||
|
|
Emoji_Component
|
||
|
|
Emoji_Modifier
|
||
|
|
Emoji_Modifier_Base
|
||
|
|
Emoji_Presentation
|
||
|
|
Ethiopic
|
||
|
|
Extended_Pictographic
|
||
|
|
Extender
|
||
|
|
Garay
|
||
|
|
Georgian
|
||
|
|
Glagolitic
|
||
|
|
Gothic
|
||
|
|
Grantha
|
||
|
|
Grapheme_Base
|
||
|
|
Grapheme_Extend
|
||
|
|
Grapheme_Link
|
||
|
|
Greek
|
||
|
|
Gujarati
|
||
|
|
Gunjala_Gondi
|
||
|
|
Gurmukhi
|
||
|
|
Gurung_Khema
|
||
|
|
Han
|
||
|
|
Hangul
|
||
|
|
Hanifi_Rohingya
|
||
|
|
Hanunoo
|
||
|
|
Hatran
|
||
|
|
Hebrew
|
||
|
|
Hex_Digit
|
||
|
|
Hiragana
|
||
|
|
Hyphen
|
||
|
|
IDS_Binary_Operator
|
||
|
|
IDS_Trinary_Operator
|
||
|
|
IDS_Unary_Operator
|
||
|
|
ID_Compat_Math_Continue
|
||
|
|
ID_Compat_Math_Start
|
||
|
|
ID_Continue
|
||
|
|
ID_Start
|
||
|
|
Ideographic
|
||
|
|
Imperial_Aramaic
|
||
|
|
InCB
|
||
|
|
Inherited
|
||
|
|
Inscriptional_Pahlavi
|
||
|
|
Inscriptional_Parthian
|
||
|
|
Javanese
|
||
|
|
Join_Control
|
||
|
|
Kaithi
|
||
|
|
Kannada
|
||
|
|
Katakana
|
||
|
|
Kawi
|
||
|
|
Kayah_Li
|
||
|
|
Kharoshthi
|
||
|
|
Khitan_Small_Script
|
||
|
|
Khmer
|
||
|
|
Khojki
|
||
|
|
Khudawadi
|
||
|
|
Kirat_Rai
|
||
|
|
L
|
||
|
|
LC
|
||
|
|
Lao
|
||
|
|
Latin
|
||
|
|
Lepcha
|
||
|
|
Limbu
|
||
|
|
Linear_A
|
||
|
|
Linear_B
|
||
|
|
Lisu
|
||
|
|
Ll
|
||
|
|
Lm
|
||
|
|
Lo
|
||
|
|
Logical_Order_Exception
|
||
|
|
Lowercase
|
||
|
|
Lt
|
||
|
|
Lu
|
||
|
|
Lycian
|
||
|
|
Lydian
|
||
|
|
M
|
||
|
|
Mahajani
|
||
|
|
Makasar
|
||
|
|
Malayalam
|
||
|
|
Mandaic
|
||
|
|
Manichaean
|
||
|
|
Marchen
|
||
|
|
Masaram_Gondi
|
||
|
|
Math
|
||
|
|
Mc
|
||
|
|
Me
|
||
|
|
Medefaidrin
|
||
|
|
Meetei_Mayek
|
||
|
|
Mende_Kikakui
|
||
|
|
Meroitic_Cursive
|
||
|
|
Meroitic_Hieroglyphs
|
||
|
|
Miao
|
||
|
|
Mn
|
||
|
|
Modi
|
||
|
|
Modifier_Combining_Mark
|
||
|
|
Mongolian
|
||
|
|
Mro
|
||
|
|
Multani
|
||
|
|
Myanmar
|
||
|
|
N
|
||
|
|
Nabataean
|
||
|
|
Nag_Mundari
|
||
|
|
Nandinagari
|
||
|
|
Nd
|
||
|
|
New_Tai_Lue
|
||
|
|
Newa
|
||
|
|
Nko
|
||
|
|
Nl
|
||
|
|
No
|
||
|
|
Noncharacter_Code_Point
|
||
|
|
Nushu
|
||
|
|
Nyiakeng_Puachue_Hmong
|
||
|
|
Ogham
|
||
|
|
Ol_Chiki
|
||
|
|
Ol_Onal
|
||
|
|
Old_Hungarian
|
||
|
|
Old_Italic
|
||
|
|
Old_North_Arabian
|
||
|
|
Old_Permic
|
||
|
|
Old_Persian
|
||
|
|
Old_Sogdian
|
||
|
|
Old_South_Arabian
|
||
|
|
Old_Turkic
|
||
|
|
Old_Uyghur
|
||
|
|
Oriya
|
||
|
|
Osage
|
||
|
|
Osmanya
|
||
|
|
Other_Alphabetic
|
||
|
|
Other_Default_Ignorable_Code_Point
|
||
|
|
Other_Grapheme_Extend
|
||
|
|
Other_ID_Continue
|
||
|
|
Other_ID_Start
|
||
|
|
Other_Lowercase
|
||
|
|
Other_Math
|
||
|
|
Other_Uppercase
|
||
|
|
P
|
||
|
|
Pahawh_Hmong
|
||
|
|
Palmyrene
|
||
|
|
Pattern_Syntax
|
||
|
|
Pattern_White_Space
|
||
|
|
Pau_Cin_Hau
|
||
|
|
Pc
|
||
|
|
Pd
|
||
|
|
Pe
|
||
|
|
Pf
|
||
|
|
Phags_Pa
|
||
|
|
Phoenician
|
||
|
|
Pi
|
||
|
|
Po
|
||
|
|
Prepended_Concatenation_Mark
|
||
|
|
Ps
|
||
|
|
Psalter_Pahlavi
|
||
|
|
Quotation_Mark
|
||
|
|
Radical
|
||
|
|
Regional_Indicator
|
||
|
|
Rejang
|
||
|
|
Runic
|
||
|
|
S
|
||
|
|
Samaritan
|
||
|
|
Saurashtra
|
||
|
|
Sc
|
||
|
|
Sentence_Terminal
|
||
|
|
Sharada
|
||
|
|
Shavian
|
||
|
|
Siddham
|
||
|
|
SignWriting
|
||
|
|
Sinhala
|
||
|
|
Sk
|
||
|
|
Sm
|
||
|
|
So
|
||
|
|
Soft_Dotted
|
||
|
|
Sogdian
|
||
|
|
Sora_Sompeng
|
||
|
|
Soyombo
|
||
|
|
Sundanese
|
||
|
|
Sunuwar
|
||
|
|
Syloti_Nagri
|
||
|
|
Syriac
|
||
|
|
Tagalog
|
||
|
|
Tagbanwa
|
||
|
|
Tai_Le
|
||
|
|
Tai_Tham
|
||
|
|
Tai_Viet
|
||
|
|
Takri
|
||
|
|
Tamil
|
||
|
|
Tangsa
|
||
|
|
Tangut
|
||
|
|
Telugu
|
||
|
|
Terminal_Punctuation
|
||
|
|
Thaana
|
||
|
|
Thai
|
||
|
|
Tibetan
|
||
|
|
Tifinagh
|
||
|
|
Tirhuta
|
||
|
|
Todhri
|
||
|
|
Toto
|
||
|
|
Tulu_Tigalari
|
||
|
|
Ugaritic
|
||
|
|
Unified_Ideograph
|
||
|
|
Unknown
|
||
|
|
Uppercase
|
||
|
|
Vai
|
||
|
|
Variation_Selector
|
||
|
|
Vithkuqi
|
||
|
|
Wancho
|
||
|
|
Warang_Citi
|
||
|
|
White_Space
|
||
|
|
XID_Continue
|
||
|
|
XID_Start
|
||
|
|
Yezidi
|
||
|
|
Yi
|
||
|
|
Z
|
||
|
|
Zanabazar_Square
|
||
|
|
Zl
|
||
|
|
Zp
|
||
|
|
Zs
|
||
|
|
Adlm
|
||
|
|
Aghb
|
||
|
|
AHex
|
||
|
|
Arab
|
||
|
|
Armi
|
||
|
|
Armn
|
||
|
|
Avst
|
||
|
|
Bali
|
||
|
|
Bamu
|
||
|
|
Bass
|
||
|
|
Batk
|
||
|
|
Beng
|
||
|
|
Bhks
|
||
|
|
Bidi_C
|
||
|
|
Bopo
|
||
|
|
Brah
|
||
|
|
Brai
|
||
|
|
Bugi
|
||
|
|
Buhd
|
||
|
|
Cakm
|
||
|
|
Cans
|
||
|
|
Cari
|
||
|
|
Cased_Letter
|
||
|
|
Cher
|
||
|
|
Chrs
|
||
|
|
CI
|
||
|
|
Close_Punctuation
|
||
|
|
Combining_Mark
|
||
|
|
Connector_Punctuation
|
||
|
|
Control
|
||
|
|
Copt
|
||
|
|
Cpmn
|
||
|
|
Cprt
|
||
|
|
Currency_Symbol
|
||
|
|
CWCF
|
||
|
|
CWCM
|
||
|
|
CWL
|
||
|
|
CWT
|
||
|
|
CWU
|
||
|
|
Cyrl
|
||
|
|
Dash_Punctuation
|
||
|
|
Decimal_Number
|
||
|
|
Dep
|
||
|
|
Deva
|
||
|
|
DI
|
||
|
|
Dia
|
||
|
|
Diak
|
||
|
|
Dogr
|
||
|
|
Dsrt
|
||
|
|
Dupl
|
||
|
|
EBase
|
||
|
|
EComp
|
||
|
|
Egyp
|
||
|
|
Elba
|
||
|
|
Elym
|
||
|
|
EMod
|
||
|
|
Enclosing_Mark
|
||
|
|
EPres
|
||
|
|
Ethi
|
||
|
|
Ext
|
||
|
|
ExtPict
|
||
|
|
Final_Punctuation
|
||
|
|
Format
|
||
|
|
Gara
|
||
|
|
Geor
|
||
|
|
Glag
|
||
|
|
Gong
|
||
|
|
Gonm
|
||
|
|
Goth
|
||
|
|
Gran
|
||
|
|
Gr_Base
|
||
|
|
Grek
|
||
|
|
Gr_Ext
|
||
|
|
Gr_Link
|
||
|
|
Gujr
|
||
|
|
Gukh
|
||
|
|
Guru
|
||
|
|
Hang
|
||
|
|
Hani
|
||
|
|
Hano
|
||
|
|
Hatr
|
||
|
|
Hebr
|
||
|
|
Hex
|
||
|
|
Hira
|
||
|
|
Hluw
|
||
|
|
Hmng
|
||
|
|
Hmnp
|
||
|
|
Hung
|
||
|
|
IDC
|
||
|
|
Ideo
|
||
|
|
IDS
|
||
|
|
IDSB
|
||
|
|
IDST
|
||
|
|
IDSU
|
||
|
|
Initial_Punctuation
|
||
|
|
Ital
|
||
|
|
Java
|
||
|
|
Join_C
|
||
|
|
Kali
|
||
|
|
Kana
|
||
|
|
Khar
|
||
|
|
Khmr
|
||
|
|
Khoj
|
||
|
|
Kits
|
||
|
|
Knda
|
||
|
|
Krai
|
||
|
|
Kthi
|
||
|
|
Lana
|
||
|
|
Laoo
|
||
|
|
Latn
|
||
|
|
Lepc
|
||
|
|
Letter
|
||
|
|
Letter_Number
|
||
|
|
Limb
|
||
|
|
Lina
|
||
|
|
Linb
|
||
|
|
Line_Separator
|
||
|
|
LOE
|
||
|
|
Lowercase_Letter
|
||
|
|
Lyci
|
||
|
|
Lydi
|
||
|
|
Mahj
|
||
|
|
Maka
|
||
|
|
Mand
|
||
|
|
Mani
|
||
|
|
Marc
|
||
|
|
Mark
|
||
|
|
Math_Symbol
|
||
|
|
MCM
|
||
|
|
Medf
|
||
|
|
Mend
|
||
|
|
Merc
|
||
|
|
Mero
|
||
|
|
Mlym
|
||
|
|
Modifier_Letter
|
||
|
|
Modifier_Symbol
|
||
|
|
Mong
|
||
|
|
Mroo
|
||
|
|
Mtei
|
||
|
|
Mult
|
||
|
|
Mymr
|
||
|
|
Nagm
|
||
|
|
Nand
|
||
|
|
Narb
|
||
|
|
Nbat
|
||
|
|
NChar
|
||
|
|
Nkoo
|
||
|
|
Nonspacing_Mark
|
||
|
|
Nshu
|
||
|
|
Number
|
||
|
|
OAlpha
|
||
|
|
ODI
|
||
|
|
Ogam
|
||
|
|
OGr_Ext
|
||
|
|
OIDC
|
||
|
|
OIDS
|
||
|
|
Olck
|
||
|
|
OLower
|
||
|
|
OMath
|
||
|
|
Onao
|
||
|
|
Open_Punctuation
|
||
|
|
Orkh
|
||
|
|
Orya
|
||
|
|
Osge
|
||
|
|
Osma
|
||
|
|
Other
|
||
|
|
Other_Letter
|
||
|
|
Other_Number
|
||
|
|
Other_Punctuation
|
||
|
|
Other_Symbol
|
||
|
|
Ougr
|
||
|
|
OUpper
|
||
|
|
Palm
|
||
|
|
Paragraph_Separator
|
||
|
|
Pat_Syn
|
||
|
|
Pat_WS
|
||
|
|
Pauc
|
||
|
|
PCM
|
||
|
|
Perm
|
||
|
|
Phag
|
||
|
|
Phli
|
||
|
|
Phlp
|
||
|
|
Phnx
|
||
|
|
Plrd
|
||
|
|
Private_Use
|
||
|
|
Prti
|
||
|
|
punct
|
||
|
|
Punctuation
|
||
|
|
Qaac
|
||
|
|
Qaai
|
||
|
|
QMark
|
||
|
|
RI
|
||
|
|
Rjng
|
||
|
|
Rohg
|
||
|
|
Runr
|
||
|
|
Samr
|
||
|
|
Sarb
|
||
|
|
Saur
|
||
|
|
SD
|
||
|
|
Separator
|
||
|
|
Sgnw
|
||
|
|
Shaw
|
||
|
|
Shrd
|
||
|
|
Sidd
|
||
|
|
Sind
|
||
|
|
Sinh
|
||
|
|
Sogd
|
||
|
|
Sogo
|
||
|
|
Sora
|
||
|
|
Soyo
|
||
|
|
Space_Separator
|
||
|
|
Spacing_Mark
|
||
|
|
STerm
|
||
|
|
Sund
|
||
|
|
Sunu
|
||
|
|
Surrogate
|
||
|
|
Sylo
|
||
|
|
Symbol
|
||
|
|
Syrc
|
||
|
|
Tagb
|
||
|
|
Takr
|
||
|
|
Tale
|
||
|
|
Talu
|
||
|
|
Taml
|
||
|
|
Tang
|
||
|
|
Tavt
|
||
|
|
Telu
|
||
|
|
Term
|
||
|
|
Tfng
|
||
|
|
Tglg
|
||
|
|
Thaa
|
||
|
|
Tibt
|
||
|
|
Tirh
|
||
|
|
Titlecase_Letter
|
||
|
|
Tnsa
|
||
|
|
Todr
|
||
|
|
Tutg
|
||
|
|
Ugar
|
||
|
|
UIdeo
|
||
|
|
Unassigned
|
||
|
|
Uppercase_Letter
|
||
|
|
Vaii
|
||
|
|
Vith
|
||
|
|
VS
|
||
|
|
Wara
|
||
|
|
Wcho
|
||
|
|
WSpace
|
||
|
|
XIDC
|
||
|
|
XIDS
|
||
|
|
Xpeo
|
||
|
|
Xsux
|
||
|
|
Yezi
|
||
|
|
Yiii
|
||
|
|
Zanb
|
||
|
|
Zinh
|
||
|
|
Zyyy
|
||
|
|
Zzzz
|
||
|
|
In_Basic_Latin
|
||
|
|
In_Latin_1_Supplement
|
||
|
|
In_Latin_Extended_A
|
||
|
|
In_Latin_Extended_B
|
||
|
|
In_IPA_Extensions
|
||
|
|
In_Spacing_Modifier_Letters
|
||
|
|
In_Combining_Diacritical_Marks
|
||
|
|
In_Greek_and_Coptic
|
||
|
|
In_Cyrillic
|
||
|
|
In_Cyrillic_Supplement
|
||
|
|
In_Armenian
|
||
|
|
In_Hebrew
|
||
|
|
In_Arabic
|
||
|
|
In_Syriac
|
||
|
|
In_Arabic_Supplement
|
||
|
|
In_Thaana
|
||
|
|
In_NKo
|
||
|
|
In_Samaritan
|
||
|
|
In_Mandaic
|
||
|
|
In_Syriac_Supplement
|
||
|
|
In_Arabic_Extended_B
|
||
|
|
In_Arabic_Extended_A
|
||
|
|
In_Devanagari
|
||
|
|
In_Bengali
|
||
|
|
In_Gurmukhi
|
||
|
|
In_Gujarati
|
||
|
|
In_Oriya
|
||
|
|
In_Tamil
|
||
|
|
In_Telugu
|
||
|
|
In_Kannada
|
||
|
|
In_Malayalam
|
||
|
|
In_Sinhala
|
||
|
|
In_Thai
|
||
|
|
In_Lao
|
||
|
|
In_Tibetan
|
||
|
|
In_Myanmar
|
||
|
|
In_Georgian
|
||
|
|
In_Hangul_Jamo
|
||
|
|
In_Ethiopic
|
||
|
|
In_Ethiopic_Supplement
|
||
|
|
In_Cherokee
|
||
|
|
In_Unified_Canadian_Aboriginal_Syllabics
|
||
|
|
In_Ogham
|
||
|
|
In_Runic
|
||
|
|
In_Tagalog
|
||
|
|
In_Hanunoo
|
||
|
|
In_Buhid
|
||
|
|
In_Tagbanwa
|
||
|
|
In_Khmer
|
||
|
|
In_Mongolian
|
||
|
|
In_Unified_Canadian_Aboriginal_Syllabics_Extended
|
||
|
|
In_Limbu
|
||
|
|
In_Tai_Le
|
||
|
|
In_New_Tai_Lue
|
||
|
|
In_Khmer_Symbols
|
||
|
|
In_Buginese
|
||
|
|
In_Tai_Tham
|
||
|
|
In_Combining_Diacritical_Marks_Extended
|
||
|
|
In_Balinese
|
||
|
|
In_Sundanese
|
||
|
|
In_Batak
|
||
|
|
In_Lepcha
|
||
|
|
In_Ol_Chiki
|
||
|
|
In_Cyrillic_Extended_C
|
||
|
|
In_Georgian_Extended
|
||
|
|
In_Sundanese_Supplement
|
||
|
|
In_Vedic_Extensions
|
||
|
|
In_Phonetic_Extensions
|
||
|
|
In_Phonetic_Extensions_Supplement
|
||
|
|
In_Combining_Diacritical_Marks_Supplement
|
||
|
|
In_Latin_Extended_Additional
|
||
|
|
In_Greek_Extended
|
||
|
|
In_General_Punctuation
|
||
|
|
In_Superscripts_and_Subscripts
|
||
|
|
In_Currency_Symbols
|
||
|
|
In_Combining_Diacritical_Marks_for_Symbols
|
||
|
|
In_Letterlike_Symbols
|
||
|
|
In_Number_Forms
|
||
|
|
In_Arrows
|
||
|
|
In_Mathematical_Operators
|
||
|
|
In_Miscellaneous_Technical
|
||
|
|
In_Control_Pictures
|
||
|
|
In_Optical_Character_Recognition
|
||
|
|
In_Enclosed_Alphanumerics
|
||
|
|
In_Box_Drawing
|
||
|
|
In_Block_Elements
|
||
|
|
In_Geometric_Shapes
|
||
|
|
In_Miscellaneous_Symbols
|
||
|
|
In_Dingbats
|
||
|
|
In_Miscellaneous_Mathematical_Symbols_A
|
||
|
|
In_Supplemental_Arrows_A
|
||
|
|
In_Braille_Patterns
|
||
|
|
In_Supplemental_Arrows_B
|
||
|
|
In_Miscellaneous_Mathematical_Symbols_B
|
||
|
|
In_Supplemental_Mathematical_Operators
|
||
|
|
In_Miscellaneous_Symbols_and_Arrows
|
||
|
|
In_Glagolitic
|
||
|
|
In_Latin_Extended_C
|
||
|
|
In_Coptic
|
||
|
|
In_Georgian_Supplement
|
||
|
|
In_Tifinagh
|
||
|
|
In_Ethiopic_Extended
|
||
|
|
In_Cyrillic_Extended_A
|
||
|
|
In_Supplemental_Punctuation
|
||
|
|
In_CJK_Radicals_Supplement
|
||
|
|
In_Kangxi_Radicals
|
||
|
|
In_Ideographic_Description_Characters
|
||
|
|
In_CJK_Symbols_and_Punctuation
|
||
|
|
In_Hiragana
|
||
|
|
In_Katakana
|
||
|
|
In_Bopomofo
|
||
|
|
In_Hangul_Compatibility_Jamo
|
||
|
|
In_Kanbun
|
||
|
|
In_Bopomofo_Extended
|
||
|
|
In_CJK_Strokes
|
||
|
|
In_Katakana_Phonetic_Extensions
|
||
|
|
In_Enclosed_CJK_Letters_and_Months
|
||
|
|
In_CJK_Compatibility
|
||
|
|
In_CJK_Unified_Ideographs_Extension_A
|
||
|
|
In_Yijing_Hexagram_Symbols
|
||
|
|
In_CJK_Unified_Ideographs
|
||
|
|
In_Yi_Syllables
|
||
|
|
In_Yi_Radicals
|
||
|
|
In_Lisu
|
||
|
|
In_Vai
|
||
|
|
In_Cyrillic_Extended_B
|
||
|
|
In_Bamum
|
||
|
|
In_Modifier_Tone_Letters
|
||
|
|
In_Latin_Extended_D
|
||
|
|
In_Syloti_Nagri
|
||
|
|
In_Common_Indic_Number_Forms
|
||
|
|
In_Phags_pa
|
||
|
|
In_Saurashtra
|
||
|
|
In_Devanagari_Extended
|
||
|
|
In_Kayah_Li
|
||
|
|
In_Rejang
|
||
|
|
In_Hangul_Jamo_Extended_A
|
||
|
|
In_Javanese
|
||
|
|
In_Myanmar_Extended_B
|
||
|
|
In_Cham
|
||
|
|
In_Myanmar_Extended_A
|
||
|
|
In_Tai_Viet
|
||
|
|
In_Meetei_Mayek_Extensions
|
||
|
|
In_Ethiopic_Extended_A
|
||
|
|
In_Latin_Extended_E
|
||
|
|
In_Cherokee_Supplement
|
||
|
|
In_Meetei_Mayek
|
||
|
|
In_Hangul_Syllables
|
||
|
|
In_Hangul_Jamo_Extended_B
|
||
|
|
In_High_Surrogates
|
||
|
|
In_High_Private_Use_Surrogates
|
||
|
|
In_Low_Surrogates
|
||
|
|
In_Private_Use_Area
|
||
|
|
In_CJK_Compatibility_Ideographs
|
||
|
|
In_Alphabetic_Presentation_Forms
|
||
|
|
In_Arabic_Presentation_Forms_A
|
||
|
|
In_Variation_Selectors
|
||
|
|
In_Vertical_Forms
|
||
|
|
In_Combining_Half_Marks
|
||
|
|
In_CJK_Compatibility_Forms
|
||
|
|
In_Small_Form_Variants
|
||
|
|
In_Arabic_Presentation_Forms_B
|
||
|
|
In_Halfwidth_and_Fullwidth_Forms
|
||
|
|
In_Specials
|
||
|
|
In_Linear_B_Syllabary
|
||
|
|
In_Linear_B_Ideograms
|
||
|
|
In_Aegean_Numbers
|
||
|
|
In_Ancient_Greek_Numbers
|
||
|
|
In_Ancient_Symbols
|
||
|
|
In_Phaistos_Disc
|
||
|
|
In_Lycian
|
||
|
|
In_Carian
|
||
|
|
In_Coptic_Epact_Numbers
|
||
|
|
In_Old_Italic
|
||
|
|
In_Gothic
|
||
|
|
In_Old_Permic
|
||
|
|
In_Ugaritic
|
||
|
|
In_Old_Persian
|
||
|
|
In_Deseret
|
||
|
|
In_Shavian
|
||
|
|
In_Osmanya
|
||
|
|
In_Osage
|
||
|
|
In_Elbasan
|
||
|
|
In_Caucasian_Albanian
|
||
|
|
In_Vithkuqi
|
||
|
|
In_Todhri
|
||
|
|
In_Linear_A
|
||
|
|
In_Latin_Extended_F
|
||
|
|
In_Cypriot_Syllabary
|
||
|
|
In_Imperial_Aramaic
|
||
|
|
In_Palmyrene
|
||
|
|
In_Nabataean
|
||
|
|
In_Hatran
|
||
|
|
In_Phoenician
|
||
|
|
In_Lydian
|
||
|
|
In_Meroitic_Hieroglyphs
|
||
|
|
In_Meroitic_Cursive
|
||
|
|
In_Kharoshthi
|
||
|
|
In_Old_South_Arabian
|
||
|
|
In_Old_North_Arabian
|
||
|
|
In_Manichaean
|
||
|
|
In_Avestan
|
||
|
|
In_Inscriptional_Parthian
|
||
|
|
In_Inscriptional_Pahlavi
|
||
|
|
In_Psalter_Pahlavi
|
||
|
|
In_Old_Turkic
|
||
|
|
In_Old_Hungarian
|
||
|
|
In_Hanifi_Rohingya
|
||
|
|
In_Garay
|
||
|
|
In_Rumi_Numeral_Symbols
|
||
|
|
In_Yezidi
|
||
|
|
In_Arabic_Extended_C
|
||
|
|
In_Old_Sogdian
|
||
|
|
In_Sogdian
|
||
|
|
In_Old_Uyghur
|
||
|
|
In_Chorasmian
|
||
|
|
In_Elymaic
|
||
|
|
In_Brahmi
|
||
|
|
In_Kaithi
|
||
|
|
In_Sora_Sompeng
|
||
|
|
In_Chakma
|
||
|
|
In_Mahajani
|
||
|
|
In_Sharada
|
||
|
|
In_Sinhala_Archaic_Numbers
|
||
|
|
In_Khojki
|
||
|
|
In_Multani
|
||
|
|
In_Khudawadi
|
||
|
|
In_Grantha
|
||
|
|
In_Tulu_Tigalari
|
||
|
|
In_Newa
|
||
|
|
In_Tirhuta
|
||
|
|
In_Siddham
|
||
|
|
In_Modi
|
||
|
|
In_Mongolian_Supplement
|
||
|
|
In_Takri
|
||
|
|
In_Myanmar_Extended_C
|
||
|
|
In_Ahom
|
||
|
|
In_Dogra
|
||
|
|
In_Warang_Citi
|
||
|
|
In_Dives_Akuru
|
||
|
|
In_Nandinagari
|
||
|
|
In_Zanabazar_Square
|
||
|
|
In_Soyombo
|
||
|
|
In_Unified_Canadian_Aboriginal_Syllabics_Extended_A
|
||
|
|
In_Pau_Cin_Hau
|
||
|
|
In_Devanagari_Extended_A
|
||
|
|
In_Sunuwar
|
||
|
|
In_Bhaiksuki
|
||
|
|
In_Marchen
|
||
|
|
In_Masaram_Gondi
|
||
|
|
In_Gunjala_Gondi
|
||
|
|
In_Makasar
|
||
|
|
In_Kawi
|
||
|
|
In_Lisu_Supplement
|
||
|
|
In_Tamil_Supplement
|
||
|
|
In_Cuneiform
|
||
|
|
In_Cuneiform_Numbers_and_Punctuation
|
||
|
|
In_Early_Dynastic_Cuneiform
|
||
|
|
In_Cypro_Minoan
|
||
|
|
In_Egyptian_Hieroglyphs
|
||
|
|
In_Egyptian_Hieroglyph_Format_Controls
|
||
|
|
In_Egyptian_Hieroglyphs_Extended_A
|
||
|
|
In_Anatolian_Hieroglyphs
|
||
|
|
In_Gurung_Khema
|
||
|
|
In_Bamum_Supplement
|
||
|
|
In_Mro
|
||
|
|
In_Tangsa
|
||
|
|
In_Bassa_Vah
|
||
|
|
In_Pahawh_Hmong
|
||
|
|
In_Kirat_Rai
|
||
|
|
In_Medefaidrin
|
||
|
|
In_Miao
|
||
|
|
In_Ideographic_Symbols_and_Punctuation
|
||
|
|
In_Tangut
|
||
|
|
In_Tangut_Components
|
||
|
|
In_Khitan_Small_Script
|
||
|
|
In_Tangut_Supplement
|
||
|
|
In_Kana_Extended_B
|
||
|
|
In_Kana_Supplement
|
||
|
|
In_Kana_Extended_A
|
||
|
|
In_Small_Kana_Extension
|
||
|
|
In_Nushu
|
||
|
|
In_Duployan
|
||
|
|
In_Shorthand_Format_Controls
|
||
|
|
In_Symbols_for_Legacy_Computing_Supplement
|
||
|
|
In_Znamenny_Musical_Notation
|
||
|
|
In_Byzantine_Musical_Symbols
|
||
|
|
In_Musical_Symbols
|
||
|
|
In_Ancient_Greek_Musical_Notation
|
||
|
|
In_Kaktovik_Numerals
|
||
|
|
In_Mayan_Numerals
|
||
|
|
In_Tai_Xuan_Jing_Symbols
|
||
|
|
In_Counting_Rod_Numerals
|
||
|
|
In_Mathematical_Alphanumeric_Symbols
|
||
|
|
In_Sutton_SignWriting
|
||
|
|
In_Latin_Extended_G
|
||
|
|
In_Glagolitic_Supplement
|
||
|
|
In_Cyrillic_Extended_D
|
||
|
|
In_Nyiakeng_Puachue_Hmong
|
||
|
|
In_Toto
|
||
|
|
In_Wancho
|
||
|
|
In_Nag_Mundari
|
||
|
|
In_Ol_Onal
|
||
|
|
In_Ethiopic_Extended_B
|
||
|
|
In_Mende_Kikakui
|
||
|
|
In_Adlam
|
||
|
|
In_Indic_Siyaq_Numbers
|
||
|
|
In_Ottoman_Siyaq_Numbers
|
||
|
|
In_Arabic_Mathematical_Alphabetic_Symbols
|
||
|
|
In_Mahjong_Tiles
|
||
|
|
In_Domino_Tiles
|
||
|
|
In_Playing_Cards
|
||
|
|
In_Enclosed_Alphanumeric_Supplement
|
||
|
|
In_Enclosed_Ideographic_Supplement
|
||
|
|
In_Miscellaneous_Symbols_and_Pictographs
|
||
|
|
In_Emoticons
|
||
|
|
In_Ornamental_Dingbats
|
||
|
|
In_Transport_and_Map_Symbols
|
||
|
|
In_Alchemical_Symbols
|
||
|
|
In_Geometric_Shapes_Extended
|
||
|
|
In_Supplemental_Arrows_C
|
||
|
|
In_Supplemental_Symbols_and_Pictographs
|
||
|
|
In_Chess_Symbols
|
||
|
|
In_Symbols_and_Pictographs_Extended_A
|
||
|
|
In_Symbols_for_Legacy_Computing
|
||
|
|
In_CJK_Unified_Ideographs_Extension_B
|
||
|
|
In_CJK_Unified_Ideographs_Extension_C
|
||
|
|
In_CJK_Unified_Ideographs_Extension_D
|
||
|
|
In_CJK_Unified_Ideographs_Extension_E
|
||
|
|
In_CJK_Unified_Ideographs_Extension_F
|
||
|
|
In_CJK_Unified_Ideographs_Extension_I
|
||
|
|
In_CJK_Compatibility_Ideographs_Supplement
|
||
|
|
In_CJK_Unified_Ideographs_Extension_G
|
||
|
|
In_CJK_Unified_Ideographs_Extension_H
|
||
|
|
In_Tags
|
||
|
|
In_Variation_Selectors_Supplement
|
||
|
|
In_Supplementary_Private_Use_Area_A
|
||
|
|
In_Supplementary_Private_Use_Area_B
|
||
|
|
In_No_Block`.split(/\s/).map(e=>[Z(e),e]));function Ee(e,t={}){if({}.toString.call(t)!=="[object Object]")throw new Error("Unexpected options");return M(e,{flags:t.flags??"",rules:{captureGroup:t.rules?.captureGroup??!1,singleline:t.rules?.singleline??!1},unicodePropertyMap:G})}function Y(e,t,r=null){function a(o,n){for(let s=0;s<o.length;s++){let l=i(o[s],n,s,o);s=Math.max(-1,s+l)}}function i(o,n=null,s=null,l=null){let p=0,d=!1,_={node:o,parent:n,key:s,container:l,root:e,remove(){q(l).splice(Math.max(0,L(s)+p),1),p--,d=!0},removeAllNextSiblings(){return q(l).splice(L(s)+1)},removeAllPrevSiblings(){let g=L(s)+p;return p-=g,q(l).splice(0,Math.max(0,g))},replaceWith(g,F={}){let re=!!F.traverse;l?l[Math.max(0,L(s)+p)]=g:m(n,"Can't replace root node")[s]=g,re&&i(g,n,s,l),d=!0},replaceWithMultiple(g,F={}){let re=!!F.traverse;if(q(l).splice(Math.max(0,L(s)+p),1,...g),p+=g.length-1,re){let ue=0;for(let z=0;z<g.length;z++)ue+=i(g[z],n,L(s)+z+ue,l)}d=!0},skip(){d=!0}},{type:u}=o,h=t["*"],f=t[u],C=typeof h=="function"?h:h?.enter,j=typeof f=="function"?f:f?.enter;if(C?.(_,r),j?.(_,r),!d)switch(u){case"AbsenceFunction":case"CapturingGroup":case"Group":a(o.body,o);break;case"Alternative":case"CharacterClass":a(o.body,o);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":i(o.min,o,"min"),i(o.max,o,"max");break;case"LookaroundAssertion":a(o.body,o);break;case"Quantifier":i(o.body,o,"body");break;case"Regex":a(o.body,o),i(o.flags,o,"flags");break;default:throw new Error(`Unexpected node type "${u}"`)}return f?.exit?.(_,r),h?.exit?.(_,r),p}return i(e),e}function q(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function L(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}var Oe={"*"({node:e}){if(!b(e)||e.body.length<2)return;let t=[],r=[];for(let a of e.body){let i=a.body[0];a.body.length===1&&(i.type==="Character"||i.type==="CharacterClass"||i.type==="CharacterSet"&&ir.has(i.kind))?r.push(i):(r.length&&(t.push(Pe(r)),r=[]),t.push(a))}r.length&&t.push(Pe(r)),e.body=t}};function Pe(e){let t=N(),r=e.length>1?D({body:e}):e[0];return r&&t.body.push(r),t}var ir=new Set(["digit","hex","posix","property","space","word"]);var Me={CapturingGroup({node:e,parent:t,replaceWithMultiple:r}){if(t.type==="Quantifier"||e.body.length>1||e.isSubroutined)return;let a=e.body[0],i=a.body,o=i[0],n=i.length>1?i.at(-1):null,s=o&&o.type==="Assertion",l=n&&n.type==="Assertion",p=s?1:0,d=i.length-(l?1:0);if(s||l){a.body=i.slice(p,d);let _=[];s&&_.push(o),_.push(e),l&&_.push(n),r(_,{traverse:!0})}}};var Ge={"*"({node:e}){if(!b(e)||e.body.length<2)return;let t=[],r=!1,a=0;for(;!r;){t.push(e.body[0].body[a]);for(let n of e.body){let s=n.body[a];if(!s||!x(s)||!v(s,t[a])){r=!0;break}}a++}if(t.pop(),!t.length)return;for(let n of e.body)n.body=n.body.slice(t.length);let i=N({body:t}),o=S({body:e.body});o.body.every(n=>!n.body.length)||i.body.push(o),e.body=[i]}};function x(e){return e.type==="Assertion"||e.type==="Character"||e.type==="CharacterSet"}function v(e,t){if(e.type!==t.type)return!1;if(e.type==="Assertion"||e.type==="CharacterSet")return e.kind===t.kind&&e.negate===t.negate;if(e.type==="Character")return e.value===t.value;throw new Error(`Unexpected node type "${e.type}"`)}var Le={"*"({node:e}){if(!b(e))return;let t=2,r=e.body.length;if(r<t*2||r%t)return;let a=[...e.body.slice(0,t).map(h=>h.body)],i=Array.from({length:t},()=>[]),o=Array(t).fill(!1),n=Math.max(...a.map(h=>h.length));for(let h=0;h<n;h++)for(let f=0;f<t;f++)if(!o[f]){let C=a[f][h];!C||!x(C)||!sr(C,e.body,f,h,t)?o[f]=!0:i[f].push(C)}if(!i.some(h=>h.length))return;let s=[],l=0;for(let h=0;h<r;h++)s.push(N({body:e.body[h].body.slice(i[l].length)})),l=l<t-1?l+1:0;for(let h=0;h<r/t;h++){let f=s.slice(h*t,h*t+t);for(let C=1;C<f.length;C++){let j=f[C].body;if(j.length!==f[0].body.length||!j.every((g,F)=>x(g)&&v(g,f[0].body[F])))return}}let p=[];for(let h=0;h<t;h++)p.push(N({body:i[h]}));let d=S({body:p}),_=N({body:[d]}),u=S({body:s.filte
|
||
|
|
//# sourceMappingURL=oniguruma-parser.min.js.map
|