diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2021-07-19 19:40:43 -0700 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2021-07-19 19:40:43 -0700 |
| commit | 711fe47a7f651f38e090c9a20ecef11feba6f705 (patch) | |
| tree | 98a3283e7c630919a08f8bd95326ceeb1a93da9e /grammars | |
| parent | 62e7d654bd70db89cb38e5d9efeb9a9b0e9cf202 (diff) | |
Overhaul of word boundaries/edges. Now they use \b, which is implemented
in C, and the C code understands UTF8 id chars.
Diffstat (limited to 'grammars')
| -rw-r--r-- | grammars/bp.bp | 11 | ||||
| -rw-r--r-- | grammars/builtins.bp | 18 | ||||
| -rw-r--r-- | grammars/c++.bp | 4 | ||||
| -rw-r--r-- | grammars/c.bp | 4 | ||||
| -rw-r--r-- | grammars/go.bp | 4 | ||||
| -rw-r--r-- | grammars/javascript.bp | 4 | ||||
| -rw-r--r-- | grammars/lisp.bp | 2 | ||||
| -rw-r--r-- | grammars/lua.bp | 11 | ||||
| -rw-r--r-- | grammars/python.bp | 6 | ||||
| -rw-r--r-- | grammars/rust.bp | 4 | ||||
| -rw-r--r-- | grammars/utf8-id.bp | 737 |
11 files changed, 32 insertions, 773 deletions
diff --git a/grammars/bp.bp b/grammars/bp.bp index 228f7d0..37fa83f 100644 --- a/grammars/bp.bp +++ b/grammars/bp.bp @@ -12,10 +12,11 @@ Def: @name=id __ `: __ ( / (!)(..%\n>(`;/id_`:/$) => "Invalid definition: @0")) # This is used for command line arguments: -String-pattern: ..%(\n / Nodent / Escape / `\ pat [`;])$$ + String-pattern: ..%(\n / Nodent / Identifier-char / Identifier-start / Escape / `\ pat [`;])$$ pat: simple-pat !(__("!~"/"~")) / suffixed-pat -simple-pat: Upto-and / Dot / String / Chars / Nodent / Escape-range +simple-pat: Upto-and / Dot / Word-boundary/ String / Chars / Nodent + / Identifier-char / Identifier-start / Escape-range / Escape / Repeat / Optional / No / After / Before / Capture / Error / Empty-replacement / Start-of-File / Start-of-Line / End-of-File / End-of-Line / Ref / parens @@ -31,7 +32,6 @@ Dot: `. !`. String: ( `" @s=.. (`" / $ (!)=>"Expected closing quote here") / `' @s=.. (`' / $ (!)=>"Expected closing quote here") - / `{ @s=.. (`} / $ (!)=>"Expected closing brace here") ) Chars: `` @+(Char-range/Char) % `, Char-range: @low=. `- (@high=. / (!)=>"Expected a second character to form a character range") @@ -47,7 +47,10 @@ escape-sequence: ( / `x 2 `0-9,a-f,A-F ) No: `! (__@pat / (!)=>"Expected a pattern after the exclamation mark") -Nodent: `\ `N +Nodent: "\N" +Word-boundary: "\b" +Identifier-char: "\i" +Identifier-start: "\I" Upto-and: ".." [__`%__@second=simple-pat] [__@first=simple-pat] Repeat: ( @min=(=>'0') (`*=>"-") @max=(=>'∞') diff --git a/grammars/builtins.bp b/grammars/builtins.bp index 98e198d..437265c 100644 --- a/grammars/builtins.bp +++ b/grammars/builtins.bp @@ -3,12 +3,6 @@ nodent: \N !(\t/` ) indent: \N (` /\t) dedent: $ !(nodent/indent) -utf8-codepoint: ( - \x00-x7f - / \xc0-xdf 1\x80-xbf - / \xe0-xef 2\x80-xbf - / \xf0-xf7 3\x80-xbf -) crlf: \r\n cr: \r anglebraces: `< ..%(\n/anglebraces/string) `> @@ -17,16 +11,10 @@ braces: `{ ..%(\n/braces/string) `} parens: `( ..%(\n/parens/string) `) string: `" ..%string-escape `" / `' ..%string-escape `' string-escape: `\ (`x 2 Hex / 1-3 `0-7 / `u 1-4 Hex / .) -left-id-edge: !<id-char -right-id-edge: !id-char -id: left-id-edge !`0-9 !(keyword !id-char) +id-char -id-char: `a-z,A-Z,_,0-9 -var: id +id: \I *\i +var: \I *\i keyword: !"" # No keywords defined by default -left-word-edge: !<word-char -right-word-edge: !word-char -word-char: `a-z,A-Z,_,0-9 -word: left-word-edge +word-char +word: \b +\i HEX: `0-9,A-F Hex: `0-9,a-f,A-F hex: `0-9,a-f diff --git a/grammars/c++.bp b/grammars/c++.bp index 1553bb3..30f47aa 100644 --- a/grammars/c++.bp +++ b/grammars/c++.bp @@ -24,5 +24,5 @@ keyword: "unsigned" / "using" / "virtual" / "void" / "volatile" / "wchar_t" / "while" / "xor" / "xor_eq" function-def: ^_ 2+(id / keyword / anglebraces / `*) % __ parens (__`; / >(__`{)) function: function-def __ braces -macro: ^{#define} ..$ *(<`\ \n..$) -import: ^({#include}/{#import}) __ (string / `<..`>) +macro: ^"#define"} ..$ *(<`\ \n..$) +import: ^("#include"}/"#import"}) __ (string / `<..`>) diff --git a/grammars/c.bp b/grammars/c.bp index 9940ffe..36f580b 100644 --- a/grammars/c.bp +++ b/grammars/c.bp @@ -17,5 +17,5 @@ keyword: "volatile" / "while" function-def: ^_ 2+(id / keyword / `*) % __ parens (__`; / >(__`{)) function: function-def __ braces -macro: ^{#define} ..$ *(<`\ \n..$) -import: ^{#include} __ (string / `<..`>) +macro: ^"#define"} ..$ *(<`\ \n..$) +import: ^"#include"} __ (string / `<..`>) diff --git a/grammars/go.bp b/grammars/go.bp index 71114cf..f86f2eb 100644 --- a/grammars/go.bp +++ b/grammars/go.bp @@ -12,6 +12,6 @@ keyword: "break" / "default" / "func" / "interface" / "select" / "case" / "defer" / "go" / "map" / "struct" / "chan" / "else" / "goto" / "package" / "switch" / "const" / "fallthrough" / "if" / "range" / "type" / "continue" / "for" / "import" / "return" / "var" -function-def: {func} __ id __ parens __ [id / parens] >(__`{) +function-def: \b"func"\b __ id __ parens __ [id / parens] >(__`{) function: function-def __ braces -import: {import} __ (parens / string) +import: \b"import"\b __ (parens / string) diff --git a/grammars/javascript.bp b/grammars/javascript.bp index 76fa586..b59742c 100644 --- a/grammars/javascript.bp +++ b/grammars/javascript.bp @@ -18,6 +18,6 @@ keyword: "public" / "return" / "short" / "static" / "super" / "switch" / "synchronized" / "this" / "throw" / "throws" / "transient" / "true" / "try" / "typeof" / "var" / "void" / "volatile" / "while" / "with" / "yield" -function-def: {function} __ [id__] parens / (id / parens) __ "=>" +function-def: \b"function"\b __ [id__] parens / (id / parens) __ "=>" function: function-def __ braces -import: {import} ..%braces (`; / $) +import: \b"import"\b ..%braces (`; / $) diff --git a/grammars/lisp.bp b/grammars/lisp.bp index b7b89ed..f6f9796 100644 --- a/grammars/lisp.bp +++ b/grammars/lisp.bp @@ -9,7 +9,7 @@ comment: ";" ..$ string: `" ..%string-escape `" list: parens -function-def: `(__{defun}__id +function-def: `(__"defun"\b__id function: function-def ..%parens `) id-char: `A-Z,a-z,0-9,!,$,%,&,*,+,-,.,/,:,<,=,>,?,@,^,_,~ id: !<`A-Z,a-z,0-9,!,$,%,&,*,+,-,.,/,:,<,=,>,?,@,^,_,~ +`A-Z,a-z,0-9,!,$,%,&,*,+,-,.,/,:,<,=,>,?,@,^,_,~ diff --git a/grammars/lua.bp b/grammars/lua.bp index 562b44a..f75880e 100644 --- a/grammars/lua.bp +++ b/grammars/lua.bp @@ -13,6 +13,11 @@ keyword: "and" / "break" / "do" / "else" / "elseif" / "end" / "false" / "for" / "function" / "goto" / "if" / "in" / "local" / "nil" / "not" / "or" / "repeat" / "return" / "then" / "true" / "until" / "while" -function-def: {function}[_id (*(`.id)[`:id])]_ parens -block: function / ({do}/{then}) ..%(comment/string/block/\n) {end} -function: function-def ..%(comment/string/block/\n) {end} +function-def: \b"function"\b[_id (*(`.id)[`:id])]_ parens +block: function / if-block / while-block / for-block / repeat-block / do-block +repeat-block: \b"repeat"\b ..%(comment/string/\n) (\b"until"\b) +do-block: \b"do"\b ..%(comment/string/block/\n) (\b"end"\b) +for-block: \b"for"\b ..%\n >(\b"do"\b) do-block +while-block: \b"while"\b ..%\n >(\b"do"\b) do-block +if-block: \b"if"\b ..%\n \b"then"\b ..%(comment/string/\n) (\b"end"\b) +function: function-def ..%(comment/string/block/\n) (\b"end"\b) diff --git a/grammars/python.bp b/grammars/python.bp index cb5d047..aab9a42 100644 --- a/grammars/python.bp +++ b/grammars/python.bp @@ -14,7 +14,7 @@ keyword: "and" / "as" / "assert" / "break" / "class" / "continue" / "def" / "not" / "or" / "pass" / "raise" / "return" / "try" / "while" / "with" / "yield" class: class-def +(\N ..$) -class-def: ^_{class}_id[_parens]_`: +class-def: ^_"class"\b_id[_parens]_`: function: function-def +(\N ..$) -function-def: ^_{def}_id parens `: -import: ^_[{from} ..%parens >{import}] {import} ..%parens $ +function-def: ^_"def"\b_id parens `: +import: ^_["from"\b ..%parens >(\b"import"\b)] \b"import"\b ..%parens $ diff --git a/grammars/rust.bp b/grammars/rust.bp index 108b41a..a96062d 100644 --- a/grammars/rust.bp +++ b/grammars/rust.bp @@ -13,6 +13,6 @@ keyword: "false" / "fn" / "for" / "if" / "impl" / "in" / "let" / "loop" / "match" / "mod" / "move" / "mut" / "pub" / "ref" / "return" / "self" / "Self" / "static" / "struct" / "super" / "trait" / "true" / "type" / "unsafe" / "use" / "where" / "while" -function-def: {fn} __ id __ parens __ ["->"__(id / parens)] >(__`{) +function-def: \b"fn"\b __ id __ parens __ ["->"__(id / parens)] >(__`{) function: function-def __ braces -import: {use} _ *(id / braces) % "::" _ `; +import: \b"use"\b _ *(id / braces) % "::" _ `; diff --git a/grammars/utf8-id.bp b/grammars/utf8-id.bp deleted file mode 100644 index fecfba1..0000000 --- a/grammars/utf8-id.bp +++ /dev/null @@ -1,737 +0,0 @@ -# Definitions of UTF8-compliant identifiers -id: left-word-edge (utf8-id-start *utf8-id-cont)!~(^keyword$) -id-char: utf8-id-cont / utf8-id-start -word-char: utf8-id-cont / utf8-id-start - -utf8-id-start: `A-Z / `a-z / !\x00-x7F ( - \xc2 (\xaa / \xb5 / \xba) -/ \xc3 (\x80-x96 / \x98-xb6 / \xb8-xbf) -/ \xc4-xca\x80-xbf -/ \xcb (\x80-x81 / \x86-x91 / \xa0-xa4 / \xac / \xae) -/ \xcd (\xb0-xb4 / \xb6-xb7 / \xba-xbd / \xbf) -/ \xce (\x86 / \x88-x8a / \x8c / \x8e-xa1 / \xa3-xbf) -/ \xcf (\x80-xb5 / \xb7-xbf) -/ \xd0-xd2\x80-xbf -/ \xd2 (\x80-x81 / \x8a-xbf) -/ \xd3\x80-xbf -/ \xd4 (\x80-xaf / \xb1-xbf) -/ \xd5 (\x80-x96 / \x99 / \xa0-xbf) -/ \xd6\x80-x88 -/ \xd7 (\x90-xaa / \xaf-xb2) -/ \xd8\xa0-xbf -/ \xd9 (\x80-x8a / \xae-xaf / \xb1-xbf) -/ \xda\x80-xbf -/ \xdb (\x80-x93 / \x95 / \xa5-xa6 / \xae-xaf / \xba-xbc / \xbf) -/ \xdc (\x90 / \x92-xaf) -/ \xdd\x8d-xbf -/ \xde (\x80-xa5 / \xb1) -/ \xdf (\x8a-xaa / \xb4-xb5 / \xba) -/ \xe0 ( - \xa0 (\x80-x95 / \x9a / \xa4 / \xa8) - / \xa1 (\x80-x98 / \xa0-xaa) - / \xa2 (\xa0-xb4 / \xb6-xbd) - / \xa4 (\x84-xb9 / \xbd) - / \xa5 (\x90 / \x98-xa1 / \xb1-xbf) - / \xa6 (\x80 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2 / \xb6-xb9 / \xbd) - / \xa7 (\x8e / \x9c-x9d / \x9f-xa1 / \xb0-xb1 / \xbc) - / \xa8 (\x85-x8a / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb6 / \xb8-xb9) - / \xa9 (\x99-x9c / \x9e / \xb2-xb4) - / \xaa (\x85-x8d / \x8f-x91 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd) - / \xab (\x90 / \xa0-xa1 / \xb9) - / \xac (\x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd) - / \xad (\x9c-x9d / \x9f-xa1 / \xb1) - / \xae (\x83 / \x85-x8a / \x8e-x90 / \x92-x95 / \x99-x9a / \x9c / \x9e-x9f / \xa3-xa4 / \xa8-xaa / \xae-xb9) / \xaf\x90 - / \xb0 (\x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb9 / \xbd) - / \xb1 (\x98-x9a / \xa0-xa1) - / \xb2 (\x80 / \x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb3 / \xb5-xb9 / \xbd) - / \xb3 (\x9e / \xa0-xa1 / \xb1-xb2) - / \xb4 (\x85-x8c / \x8e-x90 / \x92-xba / \xbd) - / \xb5 (\x8e / \x94-x96 / \x9f-xa1 / \xba-xbf) - / \xb6 (\x85-x96 / \x9a-xb1 / \xb3-xbb / \xbd) - / \xb7\x80-x86 - / \xb8 (\x81-xb0 / \xb2-xb3) - / \xb9 (\x80-x85 / \x86) - / \xba (\x81-x82 / \x84 / \x86-x8a / \x8c-xa3 / \xa5 / \xa7-xb0 / \xb2-xb3 / \xbd) - / \xbb (\x80-x84 / \x86 / \x9c-x9f) - / \xbc\x80 - / \xbd (\x80-x87 / \x89-xac) - / \xbe\x88-x8c -) -/ \xe1 ( - \x80 (\x80-xaa / \xbf) - / \x81 (\x90-x95 / \x9a-x9d / \xa1 / \xa5-xa6 / \xae-xb0 / \xb5-xbf) - / \x82 (\x80-x81 / \x8e / \xa0-xbf) - / \x83 (\x80-x85 / \x87 / \x8d / \x90-xba / \xbc / \xbd-xbf) - / \x84-x88\x80-xbf - / \x89 (\x80-x88 / \x8a-x8d / \x90-x96 / \x98 / \x9a-x9d / \xa0-xbf) - / \x8a (\x80-x88 / \x8a-x8d / \x90-xb0 / \xb2-xb5 / \xb8-xbe) - / \x8b (\x80 / \x82-x85 / \x88-x96 / \x98-xbf) - / \x8c (\x80-x90 / \x92-x95 / \x98-xbf) - / \x8d\x80-x9a - / \x8e (\x80-x8f / \xa0-xbf) - / \x8f (\x80-xb5 / \xb8-xbd) - / \x90\x81-xbf - / \x91-x98\x80-xbf - / \x99 (\x80-xac / \xaf-xbf) - / \x9a (\x81-x9a / \xa0-xbf) - / \x9b (\x80-xaa / \xae-xb0 / \xb1-xb8) - / \x9c (\x80-x8c / \x8e-x91 / \xa0-xb1) - / \x9d (\x80-x91 / \xa0-xac / \xae-xb0) - / \x9e\x80-xb3 - / \x9f (\x97 / \x9c) - / \xa0\xa0-xbf - / \xa1\x80-xb8 - / \xa2 (\x80-xa8 / \xaa / \xb0-xbf) - / \xa3\x80-xb5 - / \xa4\x80-x9e - / \xa5 (\x90-xad / \xb0-xb4) - / \xa6 (\x80-xab / \xb0-xbf) - / \xa7\x80-x89 - / \xa8 (\x80-x96 / \xa0-xbf) - / \xa9\x80-x94 - / \xaa\xa7 - / \xac\x85-xb3 - / \xad\x85-x8b - / \xae (\x83-xa0 / \xae-xaf / \xba-xbf) - / \xaf\x80-xa5 - / \xb0\x80-xa3 - / \xb1 (\x8d-x8f / \x9a-xbd) - / \xb2 (\x80-x88 / \x90-xba / \xbd-xbf) - / \xb3 (\xa9-xac / \xae-xb3 / \xb5-xb6 / \xba) - / \xb4 (\x80-xab / \xac-xbf) - / \xb5-xbb\x80-xbf - / \xbc (\x80-x95 / \x98-x9d / \xa0-xbf) - / \xbd (\x80-x85 / \x88-x8d / \x90-x97 / \x99 / \x9b / \x9d / \x9f-xbd) - / \xbe (\x80-xb4 / \xb6-xbc / \xbe) - / \xbf (\x82-x84 / \x86-x8c / \x90-x93 / \x96-x9b / \xa0-xac / \xb2-xb4 / \xb6-xbc) -) -/ \xe2 ( - \x81 (\xb1 / \xbf) - / \x82\x90-x9c - / \x84 (\x82 / \x87 / \x8a-x93 / \x95 / \x98-x9d / \xa4 / \xa6 / \xa8 / \xaa-xb9 / \xbc-xbf) - / \x85 (\x85-x89 / \x8e / \xa0-xbf) - / \x86\x80-x88 - / \xb0 (\x80-xae / \xb0-xbf) - / \xb1 (\x80-x9e / \xa0-xbf) - / \xb2\x80-xbf - / \xb3 (\x80-xa4 / \xab-xae / \xb2-xb3) - / \xb4 (\x80-xa5 / \xa7 / \xad / \xb0-xbf) - / \xb5 (\x80-xa7 / \xaf) - / \xb6 (\x80-x96 / \xa0-xa6 / \xa8-xae / \xb0-xb6 / \xb8-xbe) - / \xb7 (\x80-x86 / \x88-x8e / \x90-x96 / \x98-x9e) -) -/ \xe3 ( - \x80 (\x85-x87 / \xa1-xa9 / \xb1-xb5 / \xb8-xba / \xbb-xbc) - / \x81\x81-xbf - / \x82 (\x80-x96 / \x9b-x9f / \xa1-xbf) - / \x83 (\x80-xba / \xbc-xbe / \xbf) - / \x84 (\x85-xaf / \xb1-xbf) - / \x85\x80-xbf - / \x86 (\x80-x8e / \xa0-xba) - / \x87\xb0-xbf - / \x90-xbf\x80-xbf -) -/ \xe4 (\x80-xb5\x80-xbf / \xb6\x80-xb5 / \xb8-xbf\x80-xbf) -/ \xe5-xe8\x80-xbf\x80-xbf -/ \xe9 (\x80-xbe\x80-xbf / \xbf\x80-xaf) -/ \xea ( - \x80-x91\x80-xbf - / \x92\x80-x8c - / \x93\x90-xbd - / \x94-x97\x80-xbf - / \x98 (\x80-x8c / \x90-x9f / \xaa-xab) - / \x99 (\x80-xae / \xbf) - / \x9a (\x80-x9d / \xa0-xbf) - / \x9b\x80-xaf - / \x9c (\x97-x9f / \xa2-xbf) - / \x9d\x80-xbf - / \x9e (\x80-x88 / \x8b-xbf) - / \x9f (\x82-x86 / \xb7-xbf) - / \xa0 (\x80-x81 / \x83-x85 / \x87-x8a / \x8c-xa2) - / \xa1\x80-xb3 - / \xa2\x82-xb3 - / \xa3 (\xb2-xb7 / \xbb / \xbd-xbe) - / \xa4 (\x8a-xa5 / \xb0-xbf) - / \xa5 (\x80-x86 / \xa0-xbc) - / \xa6\x84-xb2 - / \xa7 (\x8f / \xa0-xa4 / \xa6 / \xa7-xaf / \xba-xbe) - / \xa8\x80-xa8 - / \xa9 (\x80-x82 / \x84-x8b / \xa0-xb6 / \xba / \xbe-xbf) - / \xaa (\x80-xaf / \xb1 / \xb5-xb6 / \xb9-xbd) - / \xab (\x80 / \x82 / \x9b-x9d / \xa0-xaa / \xb2-xb4) - / \xac (\x81-x86 / \x89-x8e / \x91-x96 / \xa0-xa6 / \xa8-xae / \xb0-xbf) - / \xad (\x80-x9a / \x9c-x9f / \xa0-xa7 / \xb0-xbf) - / \xae\x80-xbf - / \xaf\x80-xa2 - / \xb0-xbf\x80-xbf -) -/ \xeb-xec\x80-xbf\x80-xbf -/ \xed ( - \x80-x9d\x80-xbf - / \x9e (\x80-xa3 / \xb0-xbf) - / \x9f (\x80-x86 / \x8b-xbb) -) -/ \xef ( - \xa4-xa8\x80-xbf - / \xa9 (\x80-xad / \xb0-xbf) - / \xaa\x80-xbf - / \xab\x80-x99 - / \xac (\x80-x86 / \x93-x97 / \x9d / \x9f-xa8 / \xaa-xb6 / \xb8-xbc / \xbe) - / \xad (\x80-x81 / \x83-x84 / \x86-xbf) - / \xae\x80-xb1 - / \xaf\x93-xbf - / \xb0-xb3\x80-xbf - / \xb4\x80-xbd - / \xb5\x90-xbf - / \xb6 (\x80-x8f / \x92-xbf) - / \xb7 (\x80-x87 / \xb0-xbb) - / \xb9 (\xb0-xb4 / \xb6-xbf) - / \xba\x80-xbf - / \xbb\x80-xbc - / \xbc\xa1-xba - / \xbd (\x81-x9a / \xa6-xaf / \xb0-xbf) - / \xbe\x80-xbe - / \xbf (\x82-x87 / \x8a-x8f / \x92-x97 / \x9a-x9c) -) -/ \xf0 ( - \x90 ( - \x80 (\x80-x8b / \x8d-xa6 / \xa8-xba / \xbc-xbd / \xbf) - / \x81 (\x80-x8d / \x90-x9d) - / \x82\x80-xbf - / \x83\x80-xba - / \x85\x80-xb4 - / \x8a (\x80-x9c / \xa0-xbf) - / \x8b\x80-x90 - / \x8c (\x80-x9f / \xad-xbf) - / \x8d (\x80-x8a / \x90-xb5) - / \x8e (\x80-x9d / \xa0-xbf) - / \x8f (\x80-x83 / \x88-x8f / \x91-x95) - / \x90-x91\x80-xbf - / \x92 (\x80-x9d / \xb0-xbf) - / \x93 (\x80-x93 / \x98-xbb) - / \x94 (\x80-xa7 / \xb0-xbf) - / \x95\x80-xa3 - / \x98-x9b\x80-xbf - / \x9c\x80-xb6 - / \x9d (\x80-x95 / \xa0-xa7) - / \xa0 (\x80-x85 / \x88 / \x8a-xb5 / \xb7-xb8 / \xbc / \xbf) - / \xa1 (\x80-x95 / \xa0-xb6) - / \xa2\x80-x9e - / \xa3 (\xa0-xb2 / \xb4-xb5) - / \xa4 (\x80-x95 / \xa0-xb9) - / \xa6 (\x80-xb7 / \xbe-xbf) - / \xa8 (\x80 / \x90-x93 / \x95-x97 / \x99-xb5) - / \xa9\xa0-xbc - / \xaa\x80-x9c - / \xab (\x80-x87 / \x89-xa4) - / \xac\x80-xb5 - / \xad (\x80-x95 / \xa0-xb2) - / \xae\x80-x91 - / \xb0\x80-xbf - / \xb1\x80-x88 - / \xb2-xb3\x80-xb2 - / \xb4\x80-xa3 - / \xbc (\x80-x9c / \xa7 / \xb0-xbf) - / \xbd\x80-x85 - / \xbf\xa0-xb6 - ) - / \x91 ( - \x80\x83-xb7 - / \x82\x83-xaf - / \x83\x90-xa8 - / \x84\x83-xa6 - / \x85 (\x84 / \x90-xb2 / \xb6) - / \x86\x83-xb2 - / \x87 (\x81-x84 / \x9a / \x9c) - / \x88 (\x80-x91 / \x93-xab) - / \x8a (\x80-x86 / \x88 / \x8a-x8d / \x8f-x9d / \x9f-xa8 / \xb0-xbf) - / \x8b\x80-x9e - / \x8c (\x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbd) - / \x8d (\x90 / \x9d-xa1) - / \x90\x80-xb4 - / \x91 (\x87-x8a / \x9f) - / \x92\x80-xaf - / \x93 (\x84-x85 / \x87) - / \x96\x80-xae - / \x97\x98-x9b - / \x98\x80-xaf - / \x99\x84 - / \x9a (\x80-xaa / \xb8) - / \x9c\x80-x9a - / \xa0\x80-xab - / \xa2\xa0-xbf - / \xa3 (\x80-x9f / \xbf) - / \xa6 (\xa0-xa7 / \xaa-xbf) - / \xa7 (\x80-x90 / \xa1 / \xa3) - / \xa8 (\x80 / \x8b-xb2 / \xba) - / \xa9 (\x90 / \x9c-xbf) - / \xaa (\x80-x89 / \x9d) - / \xab\x80-xb8 - / \xb0 (\x80-x88 / \x8a-xae) - / \xb1 (\x80 / \xb2-xbf) - / \xb2\x80-x8f - / \xb4 (\x80-x86 / \x88-x89 / \x8b-xb0) - / \xb5 (\x86 / \xa0-xa5 / \xa7-xa8 / \xaa-xbf) - / \xb6 (\x80-x89 / \x98) - / \xbb\xa0-xb2 - ) - / \x92 (\x80-x8d\x80-xbf / \x8e\x80-x99 / \x90\x80-xbf / \x91\x80-xae / \x92-x94\x80-xbf / \x95\x80-x83) - / \x93 (\x80-x8f\x80-xbf / \x90\x80-xae) - / \x94 (\x90-x98\x80-xbf / \x99\x80-x86) - / \x96 ( - \xa0-xa7\x80-xbf - / \xa8\x80-xb8 - / \xa9\x80-x9e - / \xab\x90-xad - / \xac\x80-xaf - / \xad (\x80-x83 / \xa3-xb7 / \xbd-xbf) - / \xae\x80-x8f - / \xb9-xbc\x80-xbf - / \xbd (\x80-x8a / \x90) - / \xbe\x93-x9f - / \xbf (\xa0-xa1 / \xa3) - ) - / \x97\x80-xbf\x80-xbf - / \x98 (\x80-x9e\x80-xbf / \x9f\x80-xb7 / \xa0-xaa\x80-xbf / \xab\x80-xb2) - / \x9b ( - \x80-x83\x80-xbf - / \x84\x80-x9e - / \x85 (\x90-x92 / \xa4-xa7 / \xb0-xbf) - / \x86-x8a\x80-xbf - / \x8b\x80-xbb - / \xb0\x80-xbf - / \xb1 (\x80-xaa / \xb0-xbc) - / \xb2 (\x80-x88 / \x90-x99) - ) - / \x9d ( - \x90\x80-xbf - / \x91 (\x80-x94 / \x96-xbf) - / \x92 (\x80-x9c / \x9e-x9f / \xa2 / \xa5-xa6 / \xa9-xac / \xae-xb9 / \xbb / \xbd-xbf) - / \x93 (\x80-x83 / \x85-xbf) - / \x94 (\x80-x85 / \x87-x8a / \x8d-x94 / \x96-x9c / \x9e-xb9 / \xbb-xbe) - / \x95 (\x80-x84 / \x86 / \x8a-x90 / \x92-xbf) - / \x96-x99\x80-xbf - / \x9a (\x80-xa5 / \xa8-xbf) - / \x9b (\x80 / \x82-x9a / \x9c-xba / \xbc-xbf) - / \x9c (\x80-x94 / \x96-xb4 / \xb6-xbf) - / \x9d (\x80-x8e / \x90-xae / \xb0-xbf) - / \x9e (\x80-x88 / \x8a-xa8 / \xaa-xbf) - / \x9f (\x80-x82 / \x84-x8b) - ) - / \x9e ( - \x84 (\x80-xac / \xb7-xbd) - / \x85\x8e - / \x8b\x80-xab - / \xa0-xa2\x80-xbf - / \xa3\x80-x84 - / \xa4\x80-xbf - / \xa5 (\x80-x83 / \x8b) - / \xb8 (\x80-x83 / \x85-x9f / \xa1-xa2 / \xa4 / \xa7 / \xa9-xb2 / \xb4-xb7 / \xb9 / \xbb) - / \xb9 (\x82 / \x87 / \x89 / \x8b / \x8d-x8f / \x91-x92 / \x94 / \x97 / \x99 / \x9b / \x9d / \x9f / \xa1-xa2 / \xa4 / \xa7-xaa / \xac-xb2 / \xb4-xb7 / \xb9-xbc / \xbe) - / \xba (\x80-x89 / \x8b-x9b / \xa1-xa3 / \xa5-xa9 / \xab-xbb) - ) - / \xa0-xa9\x80-xbf\x80-xbf - / \xaa (\x80-x9a\x80-xbf / \x9b\x80-x96 / \x9c-xbf\x80-xbf) - / \xab ( - \x80-x9b\x80-xbf - / \x9c\x80-xb4 - / \x9d-x9f\x80-xbf - / \xa0 (\x80-x9d / \xa0-xbf) - / \xa1-xbf\x80-xbf - ) - / \xac ( - \x80-xb9\x80-xbf - / \xba (\x80-xa1 / \xb0-xbf) - / \xbb-xbf\x80-xbf - ) - / \xad\x80-xbf\x80-xbf - / \xae (\x80-xae\x80-xbf / \xaf\x80-xa0) - / \xaf (\xa0-xa7\x80-xbf / \xa8\x80-x9d) -) -) - -utf8-id-cont: `0-9 / `A-Z / `_ / `a-z / !\x00-x7F ( - \xc2 (\xaa / \xb5 / \xb7 / \xba) -/ \xc3 (\x80-x96 / \x98-xb6 / \xb8-xbf) -/ \xc4-xca\x80-xbf -/ \xcb (\x80-x81 / \x86-x91 / \xa0-xa4 / \xac / \xae) -/ \xcc\x80-xbf -/ \xcd (\x80-xb4 / \xb6-xb7 / \xba-xbd / \xbf) -/ \xce (\x86-x8a / \x8c / \x8e-xa1 / \xa3-xbf) -/ \xcf (\x80-xb5 / \xb7-xbf) -/ \xd0-xd1\x80-xbf -/ \xd2 (\x80-x81 / \x83-x87 / \x8a-xbf) -/ \xd3\x80-xbf -/ \xd4 (\x80-xaf / \xb1-xbf) -/ \xd5 (\x80-x96 / \x99 / \xa0-xbf) -/ \xd6 (\x80-x88 / \x91-xbd / \xbf) -/ \xd7 (\x81-x82 / \x84-x85 / \x87 / \x90-xaa / \xaf-xb2) -/ \xd8 (\x90-x9a / \xa0-xbf) -/ \xd9 (\x80-xa9 / \xae-xbf) -/ \xda\x80-xbf -/ \xdb (\x80-x93 / \x95-x9c / \x9f-xa8 / \xaa-xbc / \xbf) -/ \xdc\x90-xbf -/ \xdd (\x80-x8a / \x8d-xbf) -/ \xde\x80-xb1 -/ \xdf (\x80-xb5 / \xba / \xbd) -/ \xe0 ( - \xa0\x80-xad - / \xa1 (\x80-x9b / \xa0-xaa) - / \xa2 (\xa0-xb4 / \xb6-xbd) - / \xa3 (\x93-xa1 / \xa3-xbf) - / \xa4\x80-xbf - / \xa5 (\x80-xa3 / \xa6-xaf / \xb1-xbf) - / \xa6 (\x80-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2 / \xb6-xb9 / \xbc-xbf) - / \xa7 (\x80-x84 / \x87-x88 / \x8b-x8e / \x97 / \x9c-x9d / \x9f-xa3 / \xa6-xb1 / \xbc / \xbe) - / \xa8 (\x81-x83 / \x85-x8a / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb6 / \xb8-xb9 / \xbc / \xbe-xbf) - / \xa9 (\x80-x82 / \x87-x88 / \x8b-x8d / \x91 / \x99-x9c / \x9e / \xa6-xb5) - / \xaa (\x81-x83 / \x85-x8d / \x8f-x91 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbc-xbf) - / \xab (\x80-x85 / \x87-x89 / \x8b-x8d / \x90 / \xa0-xa3 / \xa6-xaf / \xb9-xbf) - / \xac (\x81-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbc-xbf) - / \xad (\x80-x84 / \x87-x88 / \x8b-x8d / \x96-x97 / \x9c-x9d / \x9f-xa3 / \xa6-xaf / \xb1) - / \xae (\x82-x83 / \x85-x8a / \x8e-x90 / \x92-x95 / \x99-x9a / \x9c / \x9e-x9f / \xa3-xa4 / \xa8-xaa / \xae-xb9 / \xbe-xbf) - / \xaf (\x80-x82 / \x86-x88 / \x8a-x8d / \x90 / \x97 / \xa6-xaf) - / \xb0 (\x80-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb9 / \xbd-xbf) - / \xb1 (\x80-x84 / \x86-x88 / \x8a-x8d / \x95-x96 / \x98-x9a / \xa0-xa3 / \xa6-xaf) - / \xb2 (\x80-x83 / \x85-x8c / \x8e-x90 / \x92-xa8 / \xaa-xb3 / \xb5-xb9 / \xbc-xbf) - / \xb3 (\x80-x84 / \x86-x88 / \x8a-x8d / \x95-x96 / \x9e / \xa0-xa3 / \xa6-xaf / \xb1-xb2) - / \xb4 (\x80-x83 / \x85-x8c / \x8e-x90 / \x92-xbf) - / \xb5 (\x80-x84 / \x86-x88 / \x8a-x8e / \x94-x97 / \x9f-xa3 / \xa6-xaf / \xba-xbf) - / \xb6 (\x82-x83 / \x85-x96 / \x9a-xb1 / \xb3-xbb / \xbd) - / \xb7 (\x80-x86 / \x8a / \x8f-x94 / \x96 / \x98-x9f / \xa6-xaf / \xb2-xb3) - / \xb8\x81-xba - / \xb9 (\x80-x8e / \x90-x99) - / \xba (\x81-x82 / \x84 / \x86-x8a / \x8c-xa3 / \xa5 / \xa7-xbd) - / \xbb (\x80-x84 / \x86 / \x88-x8d / \x90-x99 / \x9c-x9f) - / \xbc (\x80 / \x98-x99 / \xa0-xa9 / \xb5 / \xb7 / \xb9 / \xbe-xbf) - / \xbd (\x80-x87 / \x89-xac / \xb1-xbf) - / \xbe (\x80-x84 / \x86-x97 / \x99-xbc) - / \xbf\x86 -) -/ \xe1 ( - \x80\x80-xbf - / \x81 (\x80-x89 / \x90-xbf) - / \x82 (\x80-x9d / \xa0-xbf) - / \x83 (\x80-x85 / \x87 / \x8d / \x90-xba / \xbc-xbf) - / \x84-x88\x80-xbf - / \x89 (\x80-x88 / \x8a-x8d / \x90-x96 / \x98 / \x9a-x9d / \xa0-xbf) - / \x8a ( - \x80-x88 - / \x8a-x8d - / \x90-xb0 - / \xb2-xb5 - / \xb8-xbe - ) - / \x8b (\x80 / \x82-x85 / \x88-x96 / \x98-xbf) - / \x8c (\x80-x90 / \x92-x95 / \x98-xbf) - / \x8d (\x80-x9a / \x9d-x9f / \xa9-xb1) - / \x8e (\x80-x8f / \xa0-xbf) - / \x8f (\x80-xb5 / \xb8-xbd) - / \x90\x81-xbf - / \x91\x80-xbf - / \x99 (\x80-xac / \xaf-xbf) - / \x9a (\x81-x9a / \xa0-xbf) - / \x9b (\x80-xaa / \xae-xb8) - / \x9c (\x80-x8c / \x8e-x94 / \xa0-xb4) - / \x9d (\x80-x93 / \xa0-xac / \xae-xb0 / \xb2-xb3) - / \x9e\x80-xbf - / \x9f (\x80-x93 / \x97 / \x9c-x9d / \xa0-xa9) - / \xa0 (\x8b-x8d / \x90-x99 / \xa0-xbf) - / \xa1\x80-xb8 - / \xa2 (\x80-xaa / \xb0-xbf) - / \xa3\x80-xb5 - / \xa4 (\x80-x9e / \xa0-xab / \xb0-xbb) - / \xa5 (\x86-xad / \xb0-xb4) - / \xa6 (\x80-xab / \xb0-xbf) - / \xa7 (\x80-x89 / \x90-x9a) - / \xa8 (\x80-x9b / \xa0-xbf) - / \xa9 (\x80-x9e / \xa0-xbc / \xbf) - / \xaa (\x80-x89 / \x90-x99 / \xa7 / \xb0-xbd) - / \xac\x80-xbf - / \xad (\x80-x8b / \x90-x99 / \xab-xb3) - / \xae\x80-xbf - / \xaf\x80-xb3 - / \xb0\x80-xb7 - / \xb1 (\x80-x89 / \x8d-xbd) - / \xb2 (\x80-x88 / \x90-xba / \xbd-xbf) - / \xb3 (\x90-x92 / \x94-xba) - / \xb4-xb6\x80-xbf - / \xb7 (\x80-xb9 / \xbb-xbf) - / \xb8-xbb\x80-xbf - / \xbc (\x80-x95 / \x98-x9d / \xa0-xbf) - / \xbd (\x80-x85 / \x88-x8d / \x90-x97 / \x99 / \x9b / \x9d / \x9f-xbd) - / \xbe (\x80-xb4 / \xb6-xbc / \xbe) - / \xbf (\x82-x84 / \x86-x8c / \x90-x93 / \x96-x9b / \xa0-xac / \xb2-xb4 / \xb6-xbc) -) -/ \xe2 ( - \x80\xbf - / \x81 (\x80 / \x94 / \xb1 / \xbf) - / \x82\x90-x9c - / \x83 (\x90-x9c / \xa1 / \xa5-xb0) - / \x84 (\x82 / \x87 / \x8a-x93 / \x95 / \x98-x9d / \xa4 / \xa6 / \xa8 / \xaa-xb9 / \xbc-xbf) - / \x85 (\x85-x89 / \x8e / \xa0-xbf) - / \x86\x80-x88 - / \xb0 (\x80-xae / \xb0-xbf) - / \xb1 (\x80-x9e / \xa0-xbf) - / \xb2\x80-xbf - / \xb3 (\x80-xa4 / \xab-xb3) - / \xb4 (\x80-xa5 / \xa7 / \xad / \xb0-xbf) - / \xb5 (\x80-xa7 / \xaf / \xbf) - / \xb6 (\x80-x96 / \xa0-xa6 / \xa8-xae / \xb0-xb6 / \xb8-xbe) - / \xb7 (\x80-x86 / \x88-x8e / \x90-x96 / \x98-x9e / \xa0-xbf) -) -/ \xe3 ( - \x80 (\x85-x87 / \xa1-xaf / \xb1-xb5 / \xb8-xbc) - / \x81\x81-xbf - / \x82 (\x80-x96 / \x99-x9f / \xa1-xbf) - / \x83 (\x80-xba / \xbc-xbf) - / \x84 (\x85-xaf / \xb1-xbf) - / \x85\x80-xbf - / \x86 (\x80-x8e / \xa0-xba) - / \x87\xb0-xbf - / \x90-xbf\x80-xbf -) -/ \xe4 (\x80-xb5\x80-xbf / \xb6\x80-xb5 / \xb8-xbf\x80-xbf) -/ \xe5-xe8\x80-xbf\x80-xbf -/ \xe9 (\x80-xbe\x80-xbf / \xbf\x80-xaf) -/ \xea ( - \x80-x91\x80-xbf - / \x92\x80-x8c - / \x93\x90-xbd - / \x94-x97\x80-xbf - / \x98 (\x80-x8c / \x90-xab) - / \x99 (\x80-xaf / \xb4-xbd / \xbf) - / \x9a\x80-xbf - / \x9b\x80-xb1 - / \x9c (\x97-x9f / \xa2-xbf) - / \x9d\x80-xbf - / \x9e (\x80-x88 / \x8b-xbf) - / \x9f (\x82-x86 / \xb7-xbf) - / \xa0\x80-xa7 - / \xa1\x80-xb3 - / \xa2\x80-xbf - / \xa3 (\x80-x85 / \x90-x99 / \xa0-xb7 / \xbb / \xbd-xbf) - / \xa4 (\x80-xad / \xb0-xbf) - / \xa5 (\x80-x93 / \xa0-xbc) - / \xa6\x80-xbf - / \xa7 (\x80 / \x8f-x99 / \xa0-xbe) - / \xa8\x80-xb6 - / \xa9 (\x80-x8d / \x90-x99 / \xa0-xb6 / \xba-xbf) - / \xaa\x80-xbf - / \xab (\x80-x82 / \x9b-x9d / \xa0-xaf / \xb2-xb6) - / \xac (\x81-x86 / \x89-x8e / \x91-x96 / \xa0-xa6 / \xa8-xae / \xb0-xbf) - / \xad (\x80-x9a / \x9c-xa7 / \xb0-xbf) - / \xae\x80-xbf - / \xaf (\x80-xaa / \xac-xad / \xb0-xb9) - / \xb0-xbf\x80-xbf -) -/ \xeb\x80-xbf\x80-xbf -/ \xec\x80-xbf\x80-xbf -/ \xed ( - \x80-x9d\x80-xbf - / \x9e (\x80-xa3 / \xb0-xbf) - / \x9f (\x80-x86 / \x8b-xbb) -) -/ \xef ( - \xa4-xa8\x80-xbf - / \xa9 (\x80-xad / \xb0-xbf) - / \xaa\x80-xbf - / \xab\x80-x99 - / \xac (\x80-x86 / \x93-x97 / \x9d-xa8 / \xaa-xb6 / \xb8-xbc / \xbe) - / \xad (\x80-x81 / \x83-x84 / \x86-xbf) - / \xae\x80-xb1 - / \xaf\x93-xbf - / \xb0\x80-xbf - / \xb1 (\x80-x9d / \x80-xbf / \xa4-xbf) - / \xb2-xb3\x80-xbf - / \xb4\x80-xbd - / \xb5\x90-xbf - / \xb6 (\x80-x8f / \x92-xbf) - / \xb7 (\x80-x87 / \xb0-xb9 / \xb0-xbb) - / \xb8 (\x80-x8f / \xa0-xaf / \xb3-xb4) - / \xb9 (\x8d-x8f / \xb0-xb4 / \xb1 / \xb3 / \xb6-xbf / \xb7 / \xb9 / \xbb / \xbd / \xbf) - / \xba\x80-xbf - / \xbb\x80-xbc - / \xbc (\x90-x99 / \xa1-xba / \xbf) - / \xbd (\x81-x9a / \xa6-xbf) - / \xbe\x80-xbe - / \xbf (\x82-x87 / \x8a-x8f / \x92-x97 / \x9a-x9c) -) -/ \xf0 ( - \x90 ( - \x80 (\x80-x8b / \x8d-xa6 / \xa8-xba / \xbc-xbd / \xbf) - / \x81 (\x80-x8d / \x90-x9d) - / \x82\x80-xbf - / \x83\x80-xba - / \x85\x80-xb4 - / \x87\xbd - / \x8a (\x80-x9c / \xa0-xbf) - / \x8b (\x80-x90 / \xa0) - / \x8c (\x80-x9f / \xad-xbf) - / \x8d (\x80-x8a / \x90-xba) - / \x8e (\x80-x9d / \xa0-xbf) - / \x8f (\x80-x83 / \x88-x8f / \x91-x95) - / \x90-x91\x80-xbf - / \x92 (\x80-x9d / \xa0-xa9 / \xb0-xbf) - / \x93 (\x80-x93 / \x98-xbb) - / \x94 (\x80-xa7 / \xb0-xbf) - / \x95\x80-xa3 - / \x98-x9b\x80-xbf - / \x9c\x80-xb6 - / \x9d (\x80-x95 / \xa0-xa7) - / \xa0 (\x80-x85 / \x88 / \x8a-xb5 / \xb7-xb8 / \xbc / \xbf) - / \xa1 (\x80-x95 / \xa0-xb6) - / \xa2\x80-x9e - / \xa3 (\xa0-xb2 / \xb4-xb5) - / \xa4 (\x80-x95 / \xa0-xb9) - / \xa6 (\x80-xb7 / \xbe-xbf) - / \xa8 (\x80-x83 / \x85-x86 / \x8c-x93 / \x95-x97 / \x99-xb5 / \xb8-xba / \xbf) - / \xa9\xa0-xbc - / \xaa\x80-x9c - / \xab (\x80-x87 / \x89-xa6) - / \xac\x80-xb5 - / \xad (\x80-x95 / \xa0-xb2) - / \xae\x80-x91 - / \xb0\x80-xbf - / \xb1\x80-x88 - / \xb2\x80-xb2 - / \xb3\x80-xb2 - / \xb4 (\x80-xa7 / \xb0-xb9) - / \xbc (\x80-x9c / \xa7 / \xb0-xbf) - / \xbd\x80-x90 - / \xbf\xa0-xb6 - ) - / \x91 ( - \x80\x80-xbf - / \x81 (\x80-x86 / \xa6-xaf / \xbf) - / \x82\x80-xba - / \x83 (\x90-xa8 / \xb0-xb9) - / \x84 (\x80-xb4 / \xb6-xbf) - / \x85 (\x84-x86 / \x90-xb3 / \xb6) - / \x86\x80-xbf - / \x87 (\x80-x84 / \x89-x8c / \x90-x9a / \x9c) - / \x88 (\x80-x91 / \x93-xb7 / \xbe) - / \x8a (\x80-x86 / \x88 / \x8a-x8d / \x8f-x9d / \x9f-xa8 / \xb0-xbf) - / \x8b (\x80-xaa / \xb0-xb9) - / \x8c (\x80-x83 / \x85-x8c / \x8f-x90 / \x93-xa8 / \xaa-xb0 / \xb2-xb3 / \xb5-xb9 / \xbb-xbf) - / \x8d (\x80-x84 / \x87-x88 / \x8b-x8d / \x90 / \x97 / \x9d-xa3 / \xa6-xac / \xb0-xb4) - / \x90\x80-xbf - / \x91 (\x80-x8a / \x90-x99 / \x9e-x9f) - / \x92\x80-xbf - / \x93 (\x80-x85 / \x87 / \x90-x99) - / \x96 (\x80-xb5 / \xb8-xbf) - / \x97 (\x80 / \x98-x9d) - / \x98\x80-xbf - / \x99 (\x80 / \x84 / \x90-x99) - / \x9a\x80-xb8 - / \x9b\x80-x89 - / \x9c (\x80-x9a / \x9d-xab / \xb0-xb9) - / \xa0\x80-xba - / \xa2\xa0-xbf - / \xa3 (\x80-xa9 / \xbf) - / \xa6 (\xa0-xa7 / \xaa-xbf) - / \xa7 (\x80-x97 / \x9a-xa1 / \xa3-xa4) - / \xa8\x80-xbe - / \xa9 (\x87 / \x90-xbf) - / \xaa (\x80-x99 / \x9d) - / \xab\x80-xb8 - / \xb0 (\x80-x88 / \x8a-xb6 / \xb8-xbf) - / \xb1 (\x80 / \x90-x99 / \xb2-xbf) - / \xb2 (\x80-x8f / \x92-xa7 / \xa9-xb6) - / \xb4 (\x80-x86 / \x88-x89 / \x8b-xb6 / \xba / \xbc-xbd / \xbf) - / \xb5 (\x80-x87 / \x90-x99 / \xa0-xa5 / \xa7-xa8 / \xaa-xbf) - / \xb6 (\x80-x8e / \x90-x91 / \x93-x98 / \xa0-xa9) - / \xbb\xa0-xb6 - ) - / \x92 (\x80-x8d\x80-xbf / \x8e\x80-x99 / \x90\x80-xbf / \x91\x80-xae / \x92-x94\x80-xbf / \x95\x80-x83) - / \x93 (\x80-x8f\x80-xbf / \x90\x80-xae) - / \x94 (\x90-x98\x80-xbf / \x99\x80-x86) - / \x96 ( - \xa0-xa7\x80-xbf - / \xa8\x80-xb8 - / \xa9 (\x80-x9e / \xa0-xa9) - / \xab (\x90-xad / \xb0-xb4) - / \xac\x80-xb6 - / \xad (\x80-x83 / \x90-x99 / \xa3-xb7 / \xbd-xbf) - / \xae\x80-x8f - / \xb9\x80-xbf - / \xbc\x80-xbf - / \xbd (\x80-x8a / \x8f-xbf) - / \xbe (\x80-x87 / \x8f-x9f) - / \xbf (\xa0-xa1 / \xa3) - ) - / \x97\x80-xbf\x80-xbf - / \x98 (\x80-x9e\x80-xbf / \x9f\x80-xb7 / \xa0-xaa\x80-xbf / \xab\x80-xb2) - / \x9b ( - \x80-x83\x80-xbf - / \x84\x80-x9e - / \x85 (\x90-x92 / \xa4-xa7 / \xb0-xbf) - / \x86-x8a\x80-xbf - / \x8b\x80-xbb - / \xb0\x80-xbf - / \xb1 (\x80-xaa / \xb0-xbc) - / \xb2 (\x80-x88 / \x90-x99 / \x9d-x9e) - ) - / \x9d ( - \x85 (\xa5-xa9 / \xad-xb2 / \xbb-xbf) - / \x86 (\x80-x82 / \x85-x8b / \xaa-xad) - / \x89\x82-x84 - / \x90\x80-xbf - / \x91 (\x80-x94 / \x96-xbf) - / \x92 (\x80-x9c / \x9e-x9f / \xa2 / \xa5-xa6 / \xa9-xac / \xae-xb9 / \xbb / \xbd-xbf) - / \x93 (\x80-x83 / \x85-xbf) - / \x94 (\x80-x85 / \x87-x8a / \x8d-x94 / \x96-x9c / \x9e-xb9 / \xbb-xbe) - / \x95 (\x80-x84 / \x86 / \x8a-x90 / \x92-xbf) - / \x96-x99\x80-xbf - / \x9a (\x80-xa5 / \xa8-xbf) - / \x9b (\x80 / \x82-x9a / \x9c-xba / \xbc-xbf) - / \x9c (\x80-x94 / \x96-xb4 / \xb6-xbf) - / \x9d (\x80-x8e / \x90-xae / \xb0-xbf) - / \x9e (\x80-x88 / \x8a-xa8 / \xaa-xbf) - / \x9f (\x80-x82 / \x84-x8b / \x8e-xbf) - / \xa8 (\x80-xb6 / \xbb-xbf) - / \xa9 (\x80-xac / \xb5) - / \xaa (\x84 / \x9b-x9f / \xa1-xaf) - ) - / \x9e ( - \x80 (\x80-x86 / \x88-x98 / \x9b-xa1 / \xa3-xa4 / \xa6-xaa) - / \x84 (\x80-xac / \xb0-xbd) - / \x85 (\x80-x89 / \x8e) - / \x8b\x80-xb9 - / \xa0-xa2\x80-xbf - / \xa3 (\x80-x84 / \x90-x96) - / \xa4\x80-xbf - / \xa5 (\x80-x8b / \x90-x99) - / \xb8 (\x80-x83 / \x85-x9f / \xa1-xa2 / \xa4 / \xa7 / \xa9-xb2 / \xb4-xb7 / \xb9 / \xbb) - / \xb9 (\x82 / \x87 / \x89 / \x8b / \x8d-x8f / \x91-x92 / \x94 / \x97 / \x99 / \x9b / \x9d / \x9f / \xa1-xa2 / \xa4 / \xa7-xaa / \xac-xb2 / \xb4-xb7 / \xb9-xbc / \xbe) - / \xba (\x80-x89 / \x8b-x9b / \xa1-xa3 / \xa5-xa9 / \xab-xbb) - ) - / \xa0\x80-xbf\x80-xbf - / \xa1\x80-xbf\x80-xbf - / \xa2\x80-xbf\x80-xbf - / \xa3\x80-xbf\x80-xbf - / \xa4\x80-xbf\x80-xbf - / \xa5\x80-xbf\x80-xbf - / \xa6\x80-xbf\x80-xbf - / \xa7\x80-xbf\x80-xbf - / \xa8\x80-xbf\x80-xbf - / \xa9\x80-xbf\x80-xbf - / \xaa (\x80-x9a\x80-xbf / \x9b\x80-x96 / \x9c-xbf\x80-xbf) - / \xab ( - \x80-x9b\x80-xbf - / \x9c\x80-xb4 - / \x9d-x9f\x80-xbf - / \xa0 (\x80-x9d / \xa0-xbf) - / \xa1-xbf\x80-xbf - ) - / \xac ( - \x80-xb9\x80-xbf - / \xba (\x80-xa1 / \xb0-xbf) - / \xbb-xbf\x80-xbf - ) - / \xad\x80-xbf\x80-xbf - / \xae (\x80-xae\x80-xbf / \xaf\x80-xa0) - / \xaf (\xa0-xa7\x80-xbf / \xa8\x80-x9d) -) -/ \xf3\xa0 (\x84-x86\x80-xbf / \x87\x80-xaf) -) |
