forked from extern/Unexpected-Keyboard
Compare commits
39 Commits
combining_
...
play-pause
Author | SHA1 | Date | |
---|---|---|---|
|
6d3dfd0c5a | ||
|
4d686a8836 | ||
|
b21bf3fffd | ||
|
7454389f48 | ||
|
b61e9db21e | ||
|
24d6b96ad7 | ||
|
13ad05c0b0 | ||
|
a8e331c322 | ||
|
b600332595 | ||
|
e734d1d0e2 | ||
|
c57ae83bfa | ||
|
c886a89b11 | ||
|
231c08eb97 | ||
|
4eca9caec1 | ||
|
bc8fef11f1 | ||
|
4d0598a011 | ||
|
038f693cae | ||
|
72d88a5298 | ||
|
bd50964651 | ||
|
105a5a2f33 | ||
|
62530e98b9 | ||
|
b3d1a3fc1a | ||
|
50a3c0f5bc | ||
|
d8fc4e80e3 | ||
|
9d76227982 | ||
|
3967fb8a9f | ||
|
29b4b665dc | ||
|
35f35b27be | ||
|
bf2bec0d4b | ||
|
6e1364b5c2 | ||
|
acddd70435 | ||
|
6c786f2a1a | ||
|
2696f42144 | ||
|
84e10e0470 | ||
|
65f4ffd15b | ||
|
deb611a0d2 | ||
|
29f03d0e96 | ||
|
4629410230 | ||
|
b9526d918d |
@@ -190,6 +190,12 @@ As translations need to be updated regularly, you can subscribe to this issue
|
|||||||
to receive a notification when an update is needed:
|
to receive a notification when an update is needed:
|
||||||
https://github.com/Julow/Unexpected-Keyboard/issues/373
|
https://github.com/Julow/Unexpected-Keyboard/issues/373
|
||||||
|
|
||||||
|
### Adding Compose key sequences
|
||||||
|
|
||||||
|
New Compose sequences can be added into `srcs/compose/compose/extra.json`.
|
||||||
|
If a entirely new family of sequences were to be added, a new `.json` file can
|
||||||
|
be created in the same directory to host them.
|
||||||
|
|
||||||
### Adding key combinations
|
### Adding key combinations
|
||||||
|
|
||||||
Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`.
|
Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`.
|
||||||
|
@@ -9,9 +9,9 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "juloo.keyboard2"
|
applicationId "juloo.keyboard2"
|
||||||
minSdk 11
|
minSdk 11
|
||||||
targetSdkVersion 34
|
targetSdkVersion 35
|
||||||
versionCode 40
|
versionCode 42
|
||||||
versionName "1.28.0"
|
versionName "1.29.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -151,7 +151,7 @@ tasks.register('compileComposeSequences') {
|
|||||||
println "\nGenerating ${out}"
|
println "\nGenerating ${out}"
|
||||||
exec {
|
exec {
|
||||||
def sequences = new File(projectDir, "srcs/compose").listFiles().findAll {
|
def sequences = new File(projectDir, "srcs/compose").listFiles().findAll {
|
||||||
it.name.endsWith(".pre") || it.name.endsWith(".json")
|
!it.name.endsWith(".py") && !it.name.endsWith(".md")
|
||||||
}
|
}
|
||||||
workingDir = projectDir
|
workingDir = projectDir
|
||||||
commandLine("python", "srcs/compose/compile.py", *sequences)
|
commandLine("python", "srcs/compose/compile.py", *sequences)
|
||||||
|
@@ -29,6 +29,8 @@ Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >
|
|||||||
0 warnings
|
0 warnings
|
||||||
# cyrl_jcuken_uk
|
# cyrl_jcuken_uk
|
||||||
0 warnings
|
0 warnings
|
||||||
|
# cyrl_lynyertz_sr
|
||||||
|
0 warnings
|
||||||
# cyrl_ueishsht
|
# cyrl_ueishsht
|
||||||
0 warnings
|
0 warnings
|
||||||
# cyrl_yaverti
|
# cyrl_yaverti
|
||||||
@@ -62,7 +64,7 @@ Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {
|
|||||||
# latn_bepo_fr
|
# latn_bepo_fr
|
||||||
0 warnings
|
0 warnings
|
||||||
# latn_bone
|
# latn_bone
|
||||||
Layout includes some ASCII punctuation but not all, missing: $
|
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||||
Layout redefines the bottom row but some important keys are missing, missing: cursor_left, cursor_right, loc compose, loc end, loc home, loc page_down, loc page_up, loc switch_clipboard, loc switch_greekmath, loc voice_typing, switch_backward
|
Layout redefines the bottom row but some important keys are missing, missing: cursor_left, cursor_right, loc compose, loc end, loc home, loc page_down, loc page_up, loc switch_clipboard, loc switch_greekmath, loc voice_typing, switch_backward
|
||||||
2 warnings
|
2 warnings
|
||||||
# latn_colemak
|
# latn_colemak
|
||||||
@@ -85,6 +87,8 @@ Layout redefines the bottom row but some important keys are missing, missing: lo
|
|||||||
0 warnings
|
0 warnings
|
||||||
# latn_qwerty_hu
|
# latn_qwerty_hu
|
||||||
0 warnings
|
0 warnings
|
||||||
|
# latn_qwerty_jp
|
||||||
|
0 warnings
|
||||||
# latn_qwerty_lv
|
# latn_qwerty_lv
|
||||||
0 warnings
|
0 warnings
|
||||||
# latn_qwerty_no
|
# latn_qwerty_no
|
||||||
@@ -98,6 +102,8 @@ Duplicate keys: !, ', ,, -, ., ?
|
|||||||
1 warnings
|
1 warnings
|
||||||
# latn_qwerty_sk
|
# latn_qwerty_sk
|
||||||
0 warnings
|
0 warnings
|
||||||
|
# latn_qwerty_sr
|
||||||
|
0 warnings
|
||||||
# latn_qwerty_tly
|
# latn_qwerty_tly
|
||||||
Duplicate keys: a, c, j, q
|
Duplicate keys: a, c, j, q
|
||||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||||
|
@@ -9,6 +9,12 @@ KNOWN_NOT_LAYOUT = set([
|
|||||||
"greekmath", "numeric", "emoji_bottom_row",
|
"greekmath", "numeric", "emoji_bottom_row",
|
||||||
"clipboard_bottom_row" ])
|
"clipboard_bottom_row" ])
|
||||||
|
|
||||||
|
KEY_ATTRIBUTES = set([
|
||||||
|
"key0",
|
||||||
|
"key1", "key2", "key3", "key4", "key5", "key6", "key7", "key8",
|
||||||
|
"nw", "ne", "sw", "se", "w", "e", "n", "s"
|
||||||
|
])
|
||||||
|
|
||||||
def warn(msg):
|
def warn(msg):
|
||||||
global warning_count
|
global warning_count
|
||||||
print(msg)
|
print(msg)
|
||||||
@@ -39,7 +45,7 @@ def unexpected_keys(keys, symbols, msg):
|
|||||||
def parse_row_from_et(row, keys, dup):
|
def parse_row_from_et(row, keys, dup):
|
||||||
for key in row:
|
for key in row:
|
||||||
for attr in key.keys():
|
for attr in key.keys():
|
||||||
if attr.startswith("key"):
|
if attr in KEY_ATTRIBUTES:
|
||||||
k = key.get(attr).removeprefix("\\")
|
k = key.get(attr).removeprefix("\\")
|
||||||
if k in keys: dup.add(k)
|
if k in keys: dup.add(k)
|
||||||
keys.add(k)
|
keys.add(k)
|
||||||
|
@@ -34,11 +34,19 @@ Here is a complete keyboard file with a single row containing an "a" key on the
|
|||||||
</keyboard>
|
</keyboard>
|
||||||
|
|
||||||
## Keyboard metadata
|
## Keyboard metadata
|
||||||
|
|
||||||
The `<keyboard>`...`</keyboard>` pair follows the declaration tag and encloses the whole keyboard. The following properties may be used (The first two appear in the example above):
|
The `<keyboard>`...`</keyboard>` pair follows the declaration tag and encloses the whole keyboard. The following properties may be used (The first two appear in the example above):
|
||||||
|
|
||||||
* `name`: The name of the keyboard. The name you specify will appear in the Settings menu. If not present, the layout will just appear as “Custom layout”.
|
* `name`: The name of the keyboard. The name you specify will appear in the Settings menu. If not present, the layout will just appear as “Custom layout”.
|
||||||
|
|
||||||
* `script`: The (main) writing system that the keyboard supports. The possible values are `arabic`, `armenian`, `bengali`, `cyrillic`, `devanagari`, `gujarati`, `hangul`, `hebrew`, `latin`, `persian`, `shavian`, and `urdu`. It defaults to `latin`.
|
* `script`: The (main) writing system that the keyboard supports. The possible values are `arabic`, `armenian`, `bengali`, `cyrillic`, `devanagari`, `gujarati`, `hangul`, `hebrew`, `latin`, `persian`, `shavian`, and `urdu`. It defaults to `latin`.
|
||||||
|
|
||||||
* `numpad_script`: The script to use for the numpad. This is useful for scripts where a different, non-ASCII set of numerals is used, like Devanagari and Arabic. It defaults to the same as `script`.
|
* `numpad_script`: The script to use for the numpad. This is useful for scripts where a different, non-ASCII set of numerals is used, like Devanagari and Arabic. It defaults to the same as `script`.
|
||||||
* `bottom_row`: Whether or not to show the common bottom row. It accepts `true` or `false`, and defaults to `true`. If your custom layout defines the bottom row, then specify `bottom_row="false"` to disable the built-in bottom row.
|
|
||||||
|
* `bottom_row`: Whether or not to show the built-in bottom row. It accepts `true` or `false`, and defaults to `true`. If your custom layout defines the bottom row, then specify `bottom_row="false"` to disable the built-in bottom row.
|
||||||
|
+ We recommend your layout use the built-in bottom row, because it is still evolving and your layout will incorporate innovations in future versions. However, to define your own, the current definition of the bottom row is in [bottom_row.xml](https://github.com/Julow/Unexpected-Keyboard/res/xml/bottom_row.xml). You can copypaste this XML into your custom layout as a starting point.
|
||||||
|
+ Likewise, the current definition of the top (number) row is in [number_row.xml](https://github.com/Julow/Unexpected-Keyboard/res/xml/number_row.xml).
|
||||||
|
|
||||||
* `locale_extra_keys`: Whether Unexpected should add language-dependent extra keys from [method.xml](../res/xml/method.xml) to this layout. It accepts `true` or `false`, and defaults to `true`. To disable these automatic additions, specify `locale_extra_keys="false"`.
|
* `locale_extra_keys`: Whether Unexpected should add language-dependent extra keys from [method.xml](../res/xml/method.xml) to this layout. It accepts `true` or `false`, and defaults to `true`. To disable these automatic additions, specify `locale_extra_keys="false"`.
|
||||||
|
|
||||||
## Row
|
## Row
|
||||||
@@ -104,24 +112,39 @@ Built-in strings that assign a special function to a key are described in [this
|
|||||||
In a layout, a key value can also start with the `loc` prefix. These are place-holders; the tap or swipe does nothing unless enabled through the "Add keys to keyboard" option in the Settings menu, or implicitly enabled by the language the device is set to use. For example, `ne="loc accent_aigu"` says that a northeast swipe produces the acute accent combinatorial key—if enabled.
|
In a layout, a key value can also start with the `loc` prefix. These are place-holders; the tap or swipe does nothing unless enabled through the "Add keys to keyboard" option in the Settings menu, or implicitly enabled by the language the device is set to use. For example, `ne="loc accent_aigu"` says that a northeast swipe produces the acute accent combinatorial key—if enabled.
|
||||||
|
|
||||||
## Modmap
|
## Modmap
|
||||||
The `<modmap>`...`</modmap>` pair encloses custom mappings for modifier keys. The modmap is placed inside the `<keyboard>`...`</keyboard>` pair, but outside any row. A layout can have at most one modmap.
|
The `<modmap>`...`</modmap>` pair encloses custom mappings for modifier keys. The modmap is placed inside the `<keyboard>`...`</keyboard>` pair, but outside any row. A layout can have at most one modmap. It can contain any number of mappings. Each mapping has an `a` property and a `b` property and maps the `a` key to the `b` key. Valid values are listed in [Possible key values](Possible-key-values.md).
|
||||||
|
|
||||||
A modmap can contain the following tags, each of which must have an `a` and a `b` property:
|
The following mappings are supported:
|
||||||
* `<shift a="before" b="after" />` If the Shift modifier is on, the key `before` is changed into `after`.
|
|
||||||
* `<fn a="before" b="after" />` If the Fn modifier is on, the key `before` is changed into `after`.
|
|
||||||
|
|
||||||
Valid values for `before` and `after` are listed in [Possible key values](Possible-key-values.md).
|
```xml
|
||||||
|
<shift a="before" b="after" />
|
||||||
|
```
|
||||||
|
This means that when the Shift modifier is on, the key `before` is changed into `after`.
|
||||||
|
|
||||||
There can be as many of these tags inside `<modmap>` as needed.
|
```xml
|
||||||
|
<fn a="before" b="after" />
|
||||||
|
```
|
||||||
|
This means that when the Fn modifier is on, the key `before` is changed into `after`.
|
||||||
|
|
||||||
The clockwise circle and the round-trip gestures are affected by both Shift and Fn modmaps. The Shift mappings are used first and if that did not modify the key, the Fn mappings are used instead.
|
```xml
|
||||||
|
<ctrl a="before" b="after" />
|
||||||
|
```
|
||||||
|
This means that when the Ctrl modifier is on, the key `before` is changed into `after`. The `<ctrl />` mapping is special in that the Ctrl modifier is applied to `after` after the mapping.
|
||||||
|
|
||||||
### Example
|
The clockwise circle and the round-trip gestures are affected by both `<shift />` and `<fn />` mappings. The Shift mappings are used first and if that did not modify the key, the Fn mappings are used instead.
|
||||||
Turkish keyboards use the Latin alphabet, but when "i" is shifted, it should produce "İ". This is achieved with the following modmap:
|
|
||||||
|
|
||||||
<modmap>
|
### Examples
|
||||||
<shift a="i" b="İ" />
|
① Turkish keyboards use the Latin alphabet, but when "i" is shifted, it should produce "İ". This is achieved with the following mapping:
|
||||||
</modmap>
|
|
||||||
|
```xml
|
||||||
|
<shift a="i" b="İ" />
|
||||||
|
```
|
||||||
|
② Cyrillic layouts have no V key. A layout can define Ctrl-V with the following mapping:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<ctrl a="в" b="v" />
|
||||||
|
```
|
||||||
|
This maps Ctrl+в to Ctrl+V—not to v.
|
||||||
|
|
||||||
## Portrait vs. landscape
|
## Portrait vs. landscape
|
||||||
Unexpected Keyboard remembers *separately* which layout has last been used in portrait and landscape orientation. So you may have one custom layout for portrait orientation, but another custom layout for landscape orientation, and Unexpected Keyboard will switch between them without your intervention.
|
Unexpected Keyboard remembers *separately* which layout has last been used in portrait and landscape orientation. So you may have one custom layout for portrait orientation, but another custom layout for landscape orientation, and Unexpected Keyboard will switch between them without your intervention.
|
||||||
|
@@ -130,6 +130,7 @@ Value | Meaning
|
|||||||
`switch_forward` | Change the keyboard layout, as long as Unexpected Keyboard has multiple keyboard layouts enabled in the settings.
|
`switch_forward` | Change the keyboard layout, as long as Unexpected Keyboard has multiple keyboard layouts enabled in the settings.
|
||||||
`switch_backward` | Change the keyboard layout to the previous one in the list.
|
`switch_backward` | Change the keyboard layout to the previous one in the list.
|
||||||
`switch_greekmath` | Switch to the Greek & Math Symbols layer.
|
`switch_greekmath` | Switch to the Greek & Math Symbols layer.
|
||||||
|
`switch_clipboard` | Switch to the clipboard pane.
|
||||||
`change_method` | Open the input method picker dialog.
|
`change_method` | Open the input method picker dialog.
|
||||||
`change_method_prev` | Switch to the previously used input method.
|
`change_method_prev` | Switch to the previously used input method.
|
||||||
`action` | Performs a special context-sensitive operation related to the Enter key. For example, in the Twitter (X) app, `enter` adds a new line, while `action` posts.
|
`action` | Performs a special context-sensitive operation related to the Enter key. For example, in the Twitter (X) app, `enter` adds a new line, while `action` posts.
|
||||||
|
8
fastlane/metadata/android/en-US/changelogs/41.txt
Normal file
8
fastlane/metadata/android/en-US/changelogs/41.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Clipboard pane
|
||||||
|
|
||||||
|
New Monet theme
|
||||||
|
Improvements to custom layouts
|
||||||
|
Options to disable key repeat and the circle gesture
|
||||||
|
Options to disable the Tab and Esc keys
|
||||||
|
|
||||||
|
Many thanks to the contributors: @alotbsol555 @ChasmSolacer @eandersons @polyctena @Sestowner @solokot @Spike-from-NH @TadaCZE @V6lhost @Validbit
|
6
fastlane/metadata/android/en-US/changelogs/42.txt
Normal file
6
fastlane/metadata/android/en-US/changelogs/42.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Fix crash on Android 6.
|
||||||
|
Fix scaling issues for layouts with few columns.
|
||||||
|
Added Serbian layouts.
|
||||||
|
Layout and compose key tweaks. Improvements to custom layouts. Added Menu key.
|
||||||
|
|
||||||
|
Many thanks to the contributors: @adrian4096 @asivery @bokidori @dingodoppelt @RZHSSNZDH
|
7
fastlane/metadata/android/ja-JP/full_description.txt
Normal file
7
fastlane/metadata/android/ja-JP/full_description.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。
|
||||||
|
|
||||||
|
このアプリは元々はTermuxでのプログラミング用に設計されました。
|
||||||
|
しかし、今では普段の入力にも適しています。
|
||||||
|
PCキーボードでの半角入力を再現しています。日本語入力、変換は出来ません。
|
||||||
|
|
||||||
|
このアプリは広告を含まず、インターネットに接続せず、そしてオープンソースです。
|
1
fastlane/metadata/android/ja-JP/short_description.txt
Normal file
1
fastlane/metadata/android/ja-JP/short_description.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
軽量でプライバシーに配慮したAndroid用仮想キーボード
|
1
fastlane/metadata/android/ja-JP/title.txt
Normal file
1
fastlane/metadata/android/ja-JP/title.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Unexpected Keyboard
|
@@ -1,18 +1,6 @@
|
|||||||
이 앱은 안드로이드용 가상 키보드입니다. 주요 기능은 스와이프 제스처를 사용하여 모든 ASCII 문자를 쉽게 입력할 수 있다는 점과 악센트 및 수정자 키를 위한 데드 키와 특수 키(tab, esc, 방향키 등)이 있다는 것입니다.
|
주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.
|
||||||
|
|
||||||
키보드는 각 키의 모서리에 최대 4개의 추가 문자를 표시합니다. 이러한 추가 문자는 키에서 손가락을 스와이프하여 적중됩니다.
|
이 앱은 처음에는 Termux를 사용하는 프로그래머들을 위한 것으로 개발되었습니다.
|
||||||
|
지금은 일상적인 용도로도 완벽합니다.
|
||||||
|
|
||||||
일부 하이라이트 기능:
|
이 응용 프로그램에는 광고가 없으며 네트워크 요청을 하지 않고 오픈 소스입니다.
|
||||||
|
|
||||||
- PC 키보드에서 사용할 수 있는 모든 문자 및 특수 키를 사요 가능합니다. 이것은 Termux와 같은 앱을 사용하는 데 효과적입니다.
|
|
||||||
|
|
||||||
- 여기에는 Tab, Esc, 방향키 및 function 키뿐만이 아닌 Ctrl 및 Alt 키도 포함되어 있습니다 !
|
|
||||||
|
|
||||||
- 악센트 키는 데드 키를 사용하여 액세스할 수 있습니다. 먼저 악센트 키를 활성화한 다음 악센트 문자를 입력합니다.
|
|
||||||
|
|
||||||
- 매우 가볍고 빠릅니다. Google 키보드보다 500배, 기본 키보드보다 15배 적은 공간을 사용합니다. 광고와 사용 기록 추적 없음.
|
|
||||||
|
|
||||||
- 다중 레이아웃: QWERTY, QWERTZ, AZERTY. 다양한 테마: White, Dark, OLED Black. 또한 다른 많은 옵션들.
|
|
||||||
|
|
||||||
다른 가상 키보드와 마찬가지로 시스템 설정에서 활성화해야 합니다. 시스템 설정을 열고 다음으로 이동합니다.
|
|
||||||
시스템 > 언어 및 입력 > 키보드 > 키보드 관리.
|
|
||||||
|
128
res/values-ja/strings.xml
Normal file
128
res/values-ja/strings.xml
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="app_name_release">Unexpected Keyboard</string>
|
||||||
|
<string name="app_name_debug">Unexpected Keyboard (Debug)</string>
|
||||||
|
<string name="short_description">軽量でプライバシーに配慮したAndroid用仮想キーボード</string>
|
||||||
|
<string name="store_description">"このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。
|
||||||
|
|
||||||
|
このアプリは元々はTermuxでのプログラミング用に設計されました。
|
||||||
|
しかし、今では普段の入力にも適しています。
|
||||||
|
PCキーボードでの半角入力を再現しています。日本語入力、変換は出来ません。
|
||||||
|
|
||||||
|
このアプリは広告を含まず、インターネットに接続せず、そしてオープンソースです。"</string>
|
||||||
|
<string name="settings_activity_label">Unexpected Keyboardの設定</string>
|
||||||
|
<string name="pref_portrait">縦向き</string>
|
||||||
|
<string name="pref_landscape">横向き</string>
|
||||||
|
<string name="pref_category_layout">レイアウト</string>
|
||||||
|
<string name="pref_label_brightness">文字の明るさ</string>
|
||||||
|
<string name="pref_keyboard_opacity">背景の不透明度</string>
|
||||||
|
<string name="pref_key_opacity">キーの不透明度</string>
|
||||||
|
<string name="pref_key_activated_opacity">押下中のキーの不透明度</string>
|
||||||
|
<string name="pref_layout_e_system">システム設定</string>
|
||||||
|
<string name="pref_layout_e_custom">カスタムレイアウト</string>
|
||||||
|
<string name="pref_layouts_add">レイアウトを追加</string>
|
||||||
|
<string name="pref_layouts_item">レイアウト %1$d: %2$s</string>
|
||||||
|
<string name="pref_layouts_remove_custom">レイアウトを削除</string>
|
||||||
|
<string name="pref_custom_layout_title">カスタムレイアウト</string>
|
||||||
|
<string name="pref_show_numpad_title">テンキーを表示</string>
|
||||||
|
<string name="pref_show_numpad_never">表示しない</string>
|
||||||
|
<string name="pref_show_numpad_landscape">横向きの時は表示</string>
|
||||||
|
<string name="pref_show_numpad_always">表示する</string>
|
||||||
|
<string name="pref_number_row_title">数字の行を表示</string>
|
||||||
|
<string name="pref_number_row_summary">テンキーが非表示の場合最上段に数字の行を追加します</string>
|
||||||
|
<string name="pref_numpad_layout">テンキーのレイアウト</string>
|
||||||
|
<string name="pref_numpad_layout_e_high_first">大きい数字を上に</string>
|
||||||
|
<string name="pref_numpad_layout_e_low_first">小さい数字を上に</string>
|
||||||
|
<string name="pref_extra_keys_title">追加のキーの設定</string>
|
||||||
|
<string name="pref_extra_keys_custom">キーを追加</string>
|
||||||
|
<string name="pref_extra_keys_internal">キーボードに表示するキーを選択</string>
|
||||||
|
<string name="pref_category_typing">入力</string>
|
||||||
|
<string name="pref_swipe_dist_title">スワイプ距離</string>
|
||||||
|
<string name="pref_swipe_dist_summary">キーの角をスワイプする距離 (%s)</string>
|
||||||
|
<string name="pref_long_timeout_title">キー長押しの時間</string>
|
||||||
|
<string name="pref_long_interval_title">キーを連続入力する間隔</string>
|
||||||
|
<string name="pref_keyrepeat_enabled">長押しでキーを連続入力する</string>
|
||||||
|
<string name="pref_lock_double_tap_title">ShiftをダブルタップでCaps Lock</string>
|
||||||
|
<string name="pref_lock_double_tap_summary">どの装飾キーも長押しで固定できます</string>
|
||||||
|
<string name="pref_category_behavior">挙動</string>
|
||||||
|
<string name="pref_autocapitalisation_title">自動大文字化</string>
|
||||||
|
<string name="pref_autocapitalisation_summary">文章の先頭でShiftキーを自動入力</string>
|
||||||
|
<string name="pref_switch_input_immediate_title">最後に使用したキーボードに切替</string>
|
||||||
|
<string name="pref_switch_input_immediate_summary">キーボード切替キーの挙動</string>
|
||||||
|
<string name="pref_vibrate_custom">キーボード独自の振動設定</string>
|
||||||
|
<string name="pref_vibrate_duration_title">振動の時間</string>
|
||||||
|
<string name="pref_pin_entry_enabled_title">PIN入力</string>
|
||||||
|
<string name="pref_pin_entry_enabled_summary">数字・日付・電話番号入力時</string>
|
||||||
|
<string name="pref_category_style">表示</string>
|
||||||
|
<string name="pref_margin_bottom_title">下の余白</string>
|
||||||
|
<string name="pref_keyboard_height_title">キーボードの高さ</string>
|
||||||
|
<string name="pref_horizontal_margin_title">左右の余白</string>
|
||||||
|
<string name="pref_character_size_title">文字の大きさ</string>
|
||||||
|
<string name="pref_character_size_summary">キーボードに表示される文字の大きさ (%.2fx)</string>
|
||||||
|
<string name="pref_theme">テーマ</string>
|
||||||
|
<string name="pref_theme_e_system">システム設定</string>
|
||||||
|
<string name="pref_theme_e_dark">ダークモード</string>
|
||||||
|
<string name="pref_theme_e_light">ライトモード</string>
|
||||||
|
<string name="pref_theme_e_black">黒</string>
|
||||||
|
<string name="pref_theme_e_altblack">黒(別バージョン)</string>
|
||||||
|
<string name="pref_theme_e_white">白</string>
|
||||||
|
<string name="pref_theme_e_epaper">ePaper</string>
|
||||||
|
<string name="pref_theme_e_desert">Desert</string>
|
||||||
|
<string name="pref_theme_e_jungle">Jungle</string>
|
||||||
|
<string name="pref_theme_e_monet">Monet (システム)</string>
|
||||||
|
<string name="pref_theme_e_monetlight">Monet (ライト)</string>
|
||||||
|
<string name="pref_theme_e_monetdark">Monet (ダーク)</string>
|
||||||
|
<string name="pref_swipe_dist_e_very_short">短い</string>
|
||||||
|
<string name="pref_swipe_dist_e_short">やや短い</string>
|
||||||
|
<string name="pref_swipe_dist_e_default">普通</string>
|
||||||
|
<string name="pref_swipe_dist_e_far">やや長い</string>
|
||||||
|
<string name="pref_swipe_dist_e_very_far">長い</string>
|
||||||
|
<string name="pref_key_horizontal_space">キー間の左右の間隔</string>
|
||||||
|
<string name="pref_key_vertical_space">キー間の上下の間隔</string>
|
||||||
|
<string name="pref_border_config_title">キー形状の設定</string>
|
||||||
|
<string name="pref_border_width_title">縁取り</string>
|
||||||
|
<string name="pref_corners_radius_title">丸み</string>
|
||||||
|
<string name="pref_circle_sensitivity_title">円形ジェスチャーの感度</string>
|
||||||
|
<string name="pref_circle_sensitivity_e_high">高</string>
|
||||||
|
<string name="pref_circle_sensitivity_e_medium">中</string>
|
||||||
|
<string name="pref_circle_sensitivity_e_low">低</string>
|
||||||
|
<string name="pref_circle_sensitivity_e_disabled">無効</string>
|
||||||
|
<string name="key_action_next">次へ</string>
|
||||||
|
<string name="key_action_done">完了</string>
|
||||||
|
<string name="key_action_go">実行</string>
|
||||||
|
<string name="key_action_prev">戻る</string>
|
||||||
|
<string name="key_action_search">検索</string>
|
||||||
|
<string name="key_action_send">送信</string>
|
||||||
|
<string name="launcher_button_imesettings">キーボードを有効化</string>
|
||||||
|
<string name="launcher_button_imepicker">キーボードを選択</string>
|
||||||
|
<string name="launcher_description">このアプリは仮想キーボードです。下のボタンからシステム設定を開いてUnexpected Keyboardを有効化してください。</string>
|
||||||
|
<string name="launcher_sourcecode">このアプリはオープンソースのフリーウェアです。GitHubでソースコードを入手したり、不具合を報告したりできます。</string>
|
||||||
|
<string name="launcher_tryhere">有効化されている場合、ここでキーボードを試すことができます。</string>
|
||||||
|
<string name="launcher_tryhere_hint">文字を入力</string>
|
||||||
|
<string name="key_descr_capslock">Caps Lock</string>
|
||||||
|
<string name="key_descr_compose">Compose</string>
|
||||||
|
<string name="key_descr_switch_greekmath">ギリシャ文字と数学記号</string>
|
||||||
|
<string name="key_descr_change_method">キーボードの切替</string>
|
||||||
|
<string name="key_descr_voice_typing">音声入力</string>
|
||||||
|
<string name="key_descr_copy">コピー</string>
|
||||||
|
<string name="key_descr_paste">貼り付け</string>
|
||||||
|
<string name="key_descr_cut">切り取り</string>
|
||||||
|
<string name="key_descr_selectAll">すべて選択</string>
|
||||||
|
<string name="key_descr_shareText">テキストを共有</string>
|
||||||
|
<string name="key_descr_pasteAsPlainText">書式なしで貼り付け</string>
|
||||||
|
<string name="key_descr_undo">元に戻す</string>
|
||||||
|
<string name="key_descr_redo">やり直し</string>
|
||||||
|
<string name="key_descr_ª">序数標識</string>
|
||||||
|
<string name="key_descr_º">序数標識</string>
|
||||||
|
<string name="key_descr_superscript">上付き文字</string>
|
||||||
|
<string name="key_descr_subscript">下付き文字</string>
|
||||||
|
<string name="key_descr_page_up">Page Up</string>
|
||||||
|
<string name="key_descr_page_down">Page Down</string>
|
||||||
|
<string name="key_descr_home">Home</string>
|
||||||
|
<string name="key_descr_end">End</string>
|
||||||
|
<string name="key_descr_clipboard">クリップボード</string>
|
||||||
|
<string name="clipboard_history_heading">最近コピーしたテキスト</string>
|
||||||
|
<string name="clipboard_pin_heading">お気に入り</string>
|
||||||
|
<string name="clipboard_remove_confirm">クリップボードから削除しますか?</string>
|
||||||
|
<string name="clipboard_remove_confirmed">はい</string>
|
||||||
|
</resources>
|
@@ -3,55 +3,55 @@
|
|||||||
<string name="app_name_release">Unexpected Keyboard</string>
|
<string name="app_name_release">Unexpected Keyboard</string>
|
||||||
<!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> -->
|
<!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> -->
|
||||||
<string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string>
|
<string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string>
|
||||||
<!-- <string name="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
|
<string name="store_description">"주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.
|
||||||
|
|
||||||
This application was originally designed for programmers using Termux.
|
이 앱은 처음에는 Termux를 사용하는 프로그래머들을 위한 것으로 개발되었습니다.
|
||||||
Now perfect for everyday use.
|
지금은 일상적인 용도로도 완벽합니다.
|
||||||
|
|
||||||
This application contains no ads, doesn't make any network requests and is Open Source."</string> -->
|
이 응용 프로그램에는 광고가 없으며 네트워크 요청을 하지 않고 오픈 소스입니다."</string>
|
||||||
<string name="settings_activity_label">Unexpected Keyboard 설정</string>
|
<string name="settings_activity_label">Unexpected Keyboard 설정</string>
|
||||||
<!-- <string name="pref_portrait">In portrait mode</string> -->
|
<string name="pref_portrait">세로 화면</string>
|
||||||
<!-- <string name="pref_landscape">In landscape mode</string> -->
|
<string name="pref_landscape">가로 화면</string>
|
||||||
<string name="pref_category_layout">레이아웃</string>
|
<string name="pref_category_layout">레이아웃</string>
|
||||||
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
|
<string name="pref_label_brightness">라벨 밝기 조절</string>
|
||||||
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
|
<string name="pref_keyboard_opacity">키보드 배경 불투명도 조절</string>
|
||||||
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
|
<string name="pref_key_opacity">키 불투명도 조절</string>
|
||||||
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
|
<string name="pref_key_activated_opacity">누른 키 불투명도 조절</string>
|
||||||
<string name="pref_layout_e_system">시스템 세팅</string>
|
<string name="pref_layout_e_system">시스템 세팅</string>
|
||||||
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
|
<string name="pref_layout_e_custom">사용자 정의 레이아웃</string>
|
||||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
<string name="pref_layouts_add">대체 레이아웃 추가</string>
|
||||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
<string name="pref_layouts_item">레이아웃 %1$d: %2$s</string>
|
||||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
<string name="pref_layouts_remove_custom">레이아웃 제거</string>
|
||||||
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
|
<string name="pref_custom_layout_title">사용자 정의 레이아웃</string>
|
||||||
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
|
<string name="pref_show_numpad_title">NumPad 표시</string>
|
||||||
<!-- <string name="pref_show_numpad_never">Never</string> -->
|
<string name="pref_show_numpad_never">안 함</string>
|
||||||
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
|
<string name="pref_show_numpad_landscape">가로 모드에서만</string>
|
||||||
<!-- <string name="pref_show_numpad_always">Always</string> -->
|
<string name="pref_show_numpad_always">항상</string>
|
||||||
<!-- <string name="pref_number_row_title">Show number row</string> -->
|
<string name="pref_number_row_title">숫자 열 표시</string>
|
||||||
<!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
|
<string name="pref_number_row_summary">NumPad이 숨겨진 경우 키보드 상단에 숫자 행을 추가합니다.</string>
|
||||||
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
|
<string name="pref_numpad_layout">NumPad 레이아웃</string>
|
||||||
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
|
<string name="pref_numpad_layout_e_high_first">높은 자리수 우선</string>
|
||||||
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
|
<string name="pref_numpad_layout_e_low_first">낮은 자리수 우선</string>
|
||||||
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
|
<string name="pref_extra_keys_title">키보드에 추가 키 설정</string>
|
||||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
<string name="pref_extra_keys_custom">사용자 정의 키 추가</string>
|
||||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
<string name="pref_extra_keys_internal">키보드에 추가할 키 선택</string>
|
||||||
<string name="pref_category_typing">타자</string>
|
<string name="pref_category_typing">입력</string>
|
||||||
<string name="pref_swipe_dist_title">스와이프 범위</string>
|
<string name="pref_swipe_dist_title">스와이프 범위</string>
|
||||||
<string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string>
|
<string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string>
|
||||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
<string name="pref_long_timeout_title">길게 누르는 시간</string>
|
||||||
<string name="pref_long_interval_title">키 반복 간격</string>
|
<string name="pref_long_interval_title">키 반복 간격</string>
|
||||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
<string name="pref_keyrepeat_enabled">키보드 입력을 길게 유지할 때 반복</string>
|
||||||
<!-- <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> -->
|
<string name="pref_lock_double_tap_title">쉬프트 키 더블 탭을 통해 대문자 잠금 설정</string>
|
||||||
<!-- <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> -->
|
<string name="pref_lock_double_tap_summary">modifier를 길게 누르고 있으면 해당 modifier가 잠긴 상태로 유지됩니다.</string>
|
||||||
<!-- <string name="pref_category_behavior">Behavior</string> -->
|
<string name="pref_category_behavior">동작</string>
|
||||||
<!-- <string name="pref_autocapitalisation_title">Automatic capitalisation</string> -->
|
<string name="pref_autocapitalisation_title">자동 대문자 전환</string>
|
||||||
<!-- <string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string> -->
|
<string name="pref_autocapitalisation_summary">문장의 시작에서 Shift 키를 눌러 대문자로 전환합니다.</string>
|
||||||
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
|
<string name="pref_switch_input_immediate_title">마지막으로 사용한 키보드로 전환</string>
|
||||||
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
|
<string name="pref_switch_input_immediate_summary">키보드 전환 키의 동작 방식입니다.</string>
|
||||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
<string name="pref_vibrate_custom">사용자 정의 진동</string>
|
||||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
<string name="pref_vibrate_duration_title">진동 강도</string>
|
||||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
<string name="pref_pin_entry_enabled_title">Pin 입력 레이아웃</string>
|
||||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
<string name="pref_pin_entry_enabled_summary">숫자를 입력할 때, 날짜와 전화번호를 입력할 때 해당 레이아웃이 사용됩니다.</string>
|
||||||
<string name="pref_category_style">스타일</string>
|
<string name="pref_category_style">스타일</string>
|
||||||
<string name="pref_margin_bottom_title">아래 넓이</string>
|
<string name="pref_margin_bottom_title">아래 넓이</string>
|
||||||
<string name="pref_keyboard_height_title">키보드 높이</string>
|
<string name="pref_keyboard_height_title">키보드 높이</string>
|
||||||
@@ -60,17 +60,17 @@ This application contains no ads, doesn't make any network requests and is Open
|
|||||||
<string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string>
|
<string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string>
|
||||||
<string name="pref_theme">테마</string>
|
<string name="pref_theme">테마</string>
|
||||||
<string name="pref_theme_e_system">시스템 테마</string>
|
<string name="pref_theme_e_system">시스템 테마</string>
|
||||||
<string name="pref_theme_e_dark">Dark</string>
|
<string name="pref_theme_e_dark">다크</string>
|
||||||
<string name="pref_theme_e_light">Light</string>
|
<string name="pref_theme_e_light">라이트</string>
|
||||||
<string name="pref_theme_e_black">Black</string>
|
<string name="pref_theme_e_black">블랙</string>
|
||||||
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
|
<string name="pref_theme_e_altblack">대체 블랙</string>
|
||||||
<!-- <string name="pref_theme_e_white">White</string> -->
|
<string name="pref_theme_e_white">화이트</string>
|
||||||
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
|
<string name="pref_theme_e_epaper">종이</string>
|
||||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
<string name="pref_theme_e_desert">사막</string>
|
||||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
<string name="pref_theme_e_jungle">정글</string>
|
||||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
<string name="pref_theme_e_monet">모네트 (시스템)</string>
|
||||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
<string name="pref_theme_e_monetlight">모네트 (라이트)</string>
|
||||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
<string name="pref_theme_e_monetdark">모네트 (다크)</string>
|
||||||
<string name="pref_swipe_dist_e_very_short">매우 짧음</string>
|
<string name="pref_swipe_dist_e_very_short">매우 짧음</string>
|
||||||
<string name="pref_swipe_dist_e_short">짧음</string>
|
<string name="pref_swipe_dist_e_short">짧음</string>
|
||||||
<string name="pref_swipe_dist_e_default">보통</string>
|
<string name="pref_swipe_dist_e_default">보통</string>
|
||||||
@@ -78,50 +78,50 @@ This application contains no ads, doesn't make any network requests and is Open
|
|||||||
<string name="pref_swipe_dist_e_very_far">매우 넓음</string>
|
<string name="pref_swipe_dist_e_very_far">매우 넓음</string>
|
||||||
<string name="pref_key_horizontal_space">키보드 양 옆 간격</string>
|
<string name="pref_key_horizontal_space">키보드 양 옆 간격</string>
|
||||||
<string name="pref_key_vertical_space">키보드 세로 간격</string>
|
<string name="pref_key_vertical_space">키보드 세로 간격</string>
|
||||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
<string name="pref_border_config_title">경계선 사용자 정의</string>
|
||||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
<string name="pref_border_width_title">경계선 너비</string>
|
||||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
<string name="pref_corners_radius_title">모서리 반지름</string>
|
||||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
<string name="pref_circle_sensitivity_title">원형 제스처 감도</string>
|
||||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
<string name="pref_circle_sensitivity_e_high">높음</string>
|
||||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
<string name="pref_circle_sensitivity_e_medium">중간</string>
|
||||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
<string name="pref_circle_sensitivity_e_low">낮음</string>
|
||||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
<string name="pref_circle_sensitivity_e_disabled">사용 안 함</string>
|
||||||
<string name="key_action_next">다음</string>
|
<string name="key_action_next">다음</string>
|
||||||
<string name="key_action_done">확인</string>
|
<string name="key_action_done">확인</string>
|
||||||
<string name="key_action_go">Go</string>
|
<string name="key_action_go">엔터</string>
|
||||||
<string name="key_action_prev">이전</string>
|
<string name="key_action_prev">이전</string>
|
||||||
<string name="key_action_search">검색</string>
|
<string name="key_action_search">검색</string>
|
||||||
<string name="key_action_send">보내기</string>
|
<string name="key_action_send">보내기</string>
|
||||||
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
|
<string name="launcher_button_imesettings">키보드 활성화</string>
|
||||||
<!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
|
<string name="launcher_button_imepicker">키보드 선택</string>
|
||||||
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
|
<string name="launcher_description">이 앱은 가상 키보드입니다.Unexpected-Keyboard를 클릭하여 시스템 설정으로 이동하고 아래 버튼을 클릭하세요.</string>
|
||||||
<!-- <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> -->
|
<string name="launcher_sourcecode">이것은 무료이고 오픈 소스 응용 프로그램입니다. GitHub에서 원본 코드를 찾을 수 있습니다 또는 버그를 신고할 수 있습니다.</string>
|
||||||
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
|
<string name="launcher_tryhere">켜면 여기에서 키보드를 시험해 볼 수 있습니다:</string>
|
||||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
<string name="launcher_tryhere_hint">여기서 시험해 보기</string>
|
||||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
<string name="key_descr_capslock">대문자 잠금</string>
|
||||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
<string name="key_descr_compose">구성</string>
|
||||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
<string name="key_descr_switch_greekmath">그리스 수학 기호 전환</string>
|
||||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
<string name="key_descr_change_method">키보드 전환</string>
|
||||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
<string name="key_descr_voice_typing">음성 입력</string>
|
||||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
<string name="key_descr_copy">복사</string>
|
||||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
<string name="key_descr_paste">붙여넣기</string>
|
||||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
<string name="key_descr_cut">자르기</string>
|
||||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
<string name="key_descr_selectAll">전부 선택</string>
|
||||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
<string name="key_descr_shareText">텍스트 공유</string>
|
||||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
<string name="key_descr_pasteAsPlainText">일반 텍스트로 붙여넣기</string>
|
||||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
<string name="key_descr_undo">실행 취소</string>
|
||||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
<string name="key_descr_redo">다시 실행</string>
|
||||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
<string name="key_descr_ª">순서 표시기</string>
|
||||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
<string name="key_descr_º">순서 표시기</string>
|
||||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
<string name="key_descr_superscript">상위 스크립트</string>
|
||||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
<string name="key_descr_subscript">하위 스크립트</string>
|
||||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
<string name="key_descr_page_up">페이지 위</string>
|
||||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
<string name="key_descr_page_down">페이지 아래</string>
|
||||||
<!-- <string name="key_descr_home">Home</string> -->
|
<string name="key_descr_home">홈</string>
|
||||||
<!-- <string name="key_descr_end">End</string> -->
|
<string name="key_descr_end">종료</string>
|
||||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
<string name="key_descr_clipboard">클립보드 관리자</string>
|
||||||
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
|
<string name="clipboard_history_heading">최근에 복사한 텍스트</string>
|
||||||
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
|
<string name="clipboard_pin_heading">고정</string>
|
||||||
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
|
<string name="clipboard_remove_confirm">이 클립보드를 제거하시겠습니까?</string>
|
||||||
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
|
<string name="clipboard_remove_confirmed">예</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -68,9 +68,9 @@
|
|||||||
<string name="pref_theme_e_epaper">Электронная бумага</string>
|
<string name="pref_theme_e_epaper">Электронная бумага</string>
|
||||||
<string name="pref_theme_e_desert">Пустыня</string>
|
<string name="pref_theme_e_desert">Пустыня</string>
|
||||||
<string name="pref_theme_e_jungle">Джунгли</string>
|
<string name="pref_theme_e_jungle">Джунгли</string>
|
||||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
<string name="pref_theme_e_monet">Моне (системная)</string>
|
||||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
<string name="pref_theme_e_monetlight">Моне (светлая)</string>
|
||||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
<string name="pref_theme_e_monetdark">Моне (темная)</string>
|
||||||
<string name="pref_swipe_dist_e_very_short">Очень короткая</string>
|
<string name="pref_swipe_dist_e_very_short">Очень короткая</string>
|
||||||
<string name="pref_swipe_dist_e_short">Короткая</string>
|
<string name="pref_swipe_dist_e_short">Короткая</string>
|
||||||
<string name="pref_swipe_dist_e_default">Обычная</string>
|
<string name="pref_swipe_dist_e_default">Обычная</string>
|
||||||
@@ -119,9 +119,9 @@
|
|||||||
<string name="key_descr_page_down">Страница вниз</string>
|
<string name="key_descr_page_down">Страница вниз</string>
|
||||||
<string name="key_descr_home">Home</string>
|
<string name="key_descr_home">Home</string>
|
||||||
<string name="key_descr_end">End</string>
|
<string name="key_descr_end">End</string>
|
||||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
<string name="key_descr_clipboard">Менеджер буфера обмена</string>
|
||||||
<!-- <string name="clipboard_history_heading">Recently copied text</string> -->
|
<string name="clipboard_history_heading">Недавно скопированный текст</string>
|
||||||
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
|
<string name="clipboard_pin_heading">Закреплено</string>
|
||||||
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
|
<string name="clipboard_remove_confirm">Удалить этот буфер обмена?</string>
|
||||||
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
|
<string name="clipboard_remove_confirmed">Да</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
<item>beng_provat</item>
|
<item>beng_provat</item>
|
||||||
<item>cyrl_jcuken_ru</item>
|
<item>cyrl_jcuken_ru</item>
|
||||||
<item>cyrl_jcuken_uk</item>
|
<item>cyrl_jcuken_uk</item>
|
||||||
|
<item>cyrl_lynyertz_sr</item>
|
||||||
<item>cyrl_ueishsht</item>
|
<item>cyrl_ueishsht</item>
|
||||||
<item>cyrl_yaverti</item>
|
<item>cyrl_yaverti</item>
|
||||||
<item>deva_alt</item>
|
<item>deva_alt</item>
|
||||||
@@ -36,12 +37,14 @@
|
|||||||
<item>latn_qwerty_es</item>
|
<item>latn_qwerty_es</item>
|
||||||
<item>latn_qwerty_gb</item>
|
<item>latn_qwerty_gb</item>
|
||||||
<item>latn_qwerty_hu</item>
|
<item>latn_qwerty_hu</item>
|
||||||
|
<item>latn_qwerty_jp</item>
|
||||||
<item>latn_qwerty_lv</item>
|
<item>latn_qwerty_lv</item>
|
||||||
<item>latn_qwerty_no</item>
|
<item>latn_qwerty_no</item>
|
||||||
<item>latn_qwerty_pl</item>
|
<item>latn_qwerty_pl</item>
|
||||||
<item>latn_qwerty_ro</item>
|
<item>latn_qwerty_ro</item>
|
||||||
<item>latn_qwerty_se</item>
|
<item>latn_qwerty_se</item>
|
||||||
<item>latn_qwerty_sk</item>
|
<item>latn_qwerty_sk</item>
|
||||||
|
<item>latn_qwerty_sr</item>
|
||||||
<item>latn_qwerty_tly</item>
|
<item>latn_qwerty_tly</item>
|
||||||
<item>latn_qwerty_tr</item>
|
<item>latn_qwerty_tr</item>
|
||||||
<item>latn_qwerty_vi</item>
|
<item>latn_qwerty_vi</item>
|
||||||
@@ -72,6 +75,7 @@
|
|||||||
<item>বাংলা (প্রভাত)</item>
|
<item>বাংলা (প্রভাত)</item>
|
||||||
<item>ЙЦУКЕН (Русский)</item>
|
<item>ЙЦУКЕН (Русский)</item>
|
||||||
<item>ЙЦУКЕН (Українська)</item>
|
<item>ЙЦУКЕН (Українська)</item>
|
||||||
|
<item>ЉЊЕРТЗ (Српски)</item>
|
||||||
<item>УЕИШЩ (Български, БДС)</item>
|
<item>УЕИШЩ (Български, БДС)</item>
|
||||||
<item>ЯВЕРТЪ</item>
|
<item>ЯВЕРТЪ</item>
|
||||||
<item>देवनागरी (हिंदी)-2</item>
|
<item>देवनागरी (हिंदी)-2</item>
|
||||||
@@ -91,12 +95,14 @@
|
|||||||
<item>QWERTY (Español)</item>
|
<item>QWERTY (Español)</item>
|
||||||
<item>QWERTY (UK)</item>
|
<item>QWERTY (UK)</item>
|
||||||
<item>QWERTY (Magyar)</item>
|
<item>QWERTY (Magyar)</item>
|
||||||
|
<item>QWERTY (Japan)</item>
|
||||||
<item>QWERTY (Latvian)</item>
|
<item>QWERTY (Latvian)</item>
|
||||||
<item>QWERTY (Norwegian)</item>
|
<item>QWERTY (Norwegian)</item>
|
||||||
<item>QWERTY (Polski)</item>
|
<item>QWERTY (Polski)</item>
|
||||||
<item>QWERTY (Română)</item>
|
<item>QWERTY (Română)</item>
|
||||||
<item>QWERTY (Swedish)</item>
|
<item>QWERTY (Swedish)</item>
|
||||||
<item>QWERTY (Slovak)</item>
|
<item>QWERTY (Slovak)</item>
|
||||||
|
<item>QWERTY (Srpski, latinica)</item>
|
||||||
<item>QWERTY (Talysh New Latin)</item>
|
<item>QWERTY (Talysh New Latin)</item>
|
||||||
<item>QWERTY (Türkçe)</item>
|
<item>QWERTY (Türkçe)</item>
|
||||||
<item>QWERTY (Vietnamese)</item>
|
<item>QWERTY (Vietnamese)</item>
|
||||||
@@ -127,6 +133,7 @@
|
|||||||
<item>@xml/beng_provat</item>
|
<item>@xml/beng_provat</item>
|
||||||
<item>@xml/cyrl_jcuken_ru</item>
|
<item>@xml/cyrl_jcuken_ru</item>
|
||||||
<item>@xml/cyrl_jcuken_uk</item>
|
<item>@xml/cyrl_jcuken_uk</item>
|
||||||
|
<item>@xml/cyrl_lynyertz_sr</item>
|
||||||
<item>@xml/cyrl_ueishsht</item>
|
<item>@xml/cyrl_ueishsht</item>
|
||||||
<item>@xml/cyrl_yaverti</item>
|
<item>@xml/cyrl_yaverti</item>
|
||||||
<item>@xml/deva_alt</item>
|
<item>@xml/deva_alt</item>
|
||||||
@@ -146,12 +153,14 @@
|
|||||||
<item>@xml/latn_qwerty_es</item>
|
<item>@xml/latn_qwerty_es</item>
|
||||||
<item>@xml/latn_qwerty_gb</item>
|
<item>@xml/latn_qwerty_gb</item>
|
||||||
<item>@xml/latn_qwerty_hu</item>
|
<item>@xml/latn_qwerty_hu</item>
|
||||||
|
<item>@xml/latn_qwerty_jp</item>
|
||||||
<item>@xml/latn_qwerty_lv</item>
|
<item>@xml/latn_qwerty_lv</item>
|
||||||
<item>@xml/latn_qwerty_no</item>
|
<item>@xml/latn_qwerty_no</item>
|
||||||
<item>@xml/latn_qwerty_pl</item>
|
<item>@xml/latn_qwerty_pl</item>
|
||||||
<item>@xml/latn_qwerty_ro</item>
|
<item>@xml/latn_qwerty_ro</item>
|
||||||
<item>@xml/latn_qwerty_se</item>
|
<item>@xml/latn_qwerty_se</item>
|
||||||
<item>@xml/latn_qwerty_sk</item>
|
<item>@xml/latn_qwerty_sk</item>
|
||||||
|
<item>@xml/latn_qwerty_sr</item>
|
||||||
<item>@xml/latn_qwerty_tly</item>
|
<item>@xml/latn_qwerty_tly</item>
|
||||||
<item>@xml/latn_qwerty_tr</item>
|
<item>@xml/latn_qwerty_tr</item>
|
||||||
<item>@xml/latn_qwerty_vi</item>
|
<item>@xml/latn_qwerty_vi</item>
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_hu,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_trema:ö:ü@u|accent_ogonek@s|accent_double_aigu:ő:ű@k|€"/>
|
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_hu,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_trema:ö:ü@u|accent_ogonek@s|accent_double_aigu:ő:ű@k|€"/>
|
||||||
<subtype android:label="%s" android:languageTag="is" android:imeSubtypeLocale="is_IS" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=ð|þ|æ|accent_trema:ö@o|accent_aigu:á:é:í:ó:ú:ý@d"/>
|
<subtype android:label="%s" android:languageTag="is" android:imeSubtypeLocale="is_IS" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=ð|þ|æ|accent_trema:ö@o|accent_aigu:á:é:í:ó:ú:ý@d"/>
|
||||||
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_grave:à:è:ì:ò:ù@f|accent_aigu:é:ó@d|accent_circonflexe:î@f|€|ə"/>
|
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_grave:à:è:ì:ò:ù@f|accent_aigu:é:ó@d|accent_circonflexe:î@f|€|ə"/>
|
||||||
|
<subtype android:label="%s" android:languageTag="ja" android:imeSubtypeLocale="ja_JP" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_jp"/>
|
||||||
<subtype android:label="%s" android:languageTag="ko" android:imeSubtypeLocale="ko_KR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hangul,default_layout=latn_qwerty_us"/>
|
<subtype android:label="%s" android:languageTag="ko" android:imeSubtypeLocale="ko_KR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hangul,default_layout=latn_qwerty_us"/>
|
||||||
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_ogonek:ą:ę:į:ų@s|accent_caron:č:š:ž@f|accent_dot_above:ė@s|accent_macron:ū@o|€"/>
|
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_ogonek:ą:ę:į:ų@s|accent_caron:č:š:ž@f|accent_dot_above:ė@s|accent_macron:ū@o|€"/>
|
||||||
<subtype android:label="%s" android:languageTag="lv" android:imeSubtypeLocale="lv_LV" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lv,extra_keys=accent_macron:ā:ē:ī:ū@o|accent_caron:č:š:ž@f|accent_ogonek:ķ:ļ:ņ@s|accent_cedille:ģ@c|€"/>
|
<subtype android:label="%s" android:languageTag="lv" android:imeSubtypeLocale="lv_LV" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lv,extra_keys=accent_macron:ā:ē:ī:ū@o|accent_caron:č:š:ž@f|accent_ogonek:ķ:ļ:ņ@s|accent_cedille:ģ@c|€"/>
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
<subtype android:label="%s" android:languageTag="ro" android:imeSubtypeLocale="ro_RO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ro,extra_keys=ă|â|î|ș|ț|€|$"/>
|
<subtype android:label="%s" android:languageTag="ro" android:imeSubtypeLocale="ro_RO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ro,extra_keys=ă|â|î|ș|ț|€|$"/>
|
||||||
<subtype android:label="%s" android:languageTag="ru" android:imeSubtypeLocale="ru_RU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_ru"/>
|
<subtype android:label="%s" android:languageTag="ru" android:imeSubtypeLocale="ru_RU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_ru"/>
|
||||||
<subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=accent_caron:ě:ř:ž:š:č:ň:ď:ľ:ť@f|accent_ring:ů@s|accent_circonflexe:ô@f|accent_trema:ä:ü:ö@u|accent_aigu:á:é:í:ó:ú:ŕ:ś:ĺ:ý@d"/>
|
<subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=accent_caron:ě:ř:ž:š:č:ň:ď:ľ:ť@f|accent_ring:ů@s|accent_circonflexe:ô@f|accent_trema:ä:ü:ö@u|accent_aigu:á:é:í:ó:ú:ŕ:ś:ĺ:ý@d"/>
|
||||||
|
<subtype android:label="%s" android:languageTag="sr" android:imeSubtypeLocale="sr_" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_lynyertz_sr"/>
|
||||||
<subtype android:label="%s" android:languageTag="sv" android:imeSubtypeLocale="sv_SE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_se,extra_keys=accent_aigu:á@d|accent_trema:ä:ö@o|accent_ring:å@s|€"/>
|
<subtype android:label="%s" android:languageTag="sv" android:imeSubtypeLocale="sv_SE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_se,extra_keys=accent_aigu:á@d|accent_trema:ä:ö@o|accent_ring:å@s|€"/>
|
||||||
<subtype android:label="%s" android:languageTag="tly" android:imeSubtypeLocale="tly_AZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_tly,extra_keys=á|ú|â|ê|ı|š|ž"/>
|
<subtype android:label="%s" android:languageTag="tly" android:imeSubtypeLocale="tly_AZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_tly,extra_keys=á|ú|â|ê|ı|š|ž"/>
|
||||||
<subtype android:label="%s" android:languageTag="tly" android:imeSubtypeLocale="tly_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_hamvaj_tly"/>
|
<subtype android:label="%s" android:languageTag="tly" android:imeSubtypeLocale="tly_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_hamvaj_tly"/>
|
||||||
|
@@ -15,12 +15,13 @@ let
|
|||||||
|
|
||||||
ANDROID_SDK_ROOT = "${android.androidsdk}/libexec/android-sdk";
|
ANDROID_SDK_ROOT = "${android.androidsdk}/libexec/android-sdk";
|
||||||
|
|
||||||
|
gradle = pkgs.gradle.override { java = jdk; };
|
||||||
# Without this option, aapt2 fails to run with a permissions error.
|
# Without this option, aapt2 fails to run with a permissions error.
|
||||||
gradle_wrapped = pkgs.runCommandLocal "gradle-wrapped" {
|
gradle_wrapped = pkgs.runCommandLocal "gradle-wrapped" {
|
||||||
nativeBuildInputs = with pkgs; [ makeBinaryWrapper ];
|
nativeBuildInputs = with pkgs; [ makeBinaryWrapper ];
|
||||||
} ''
|
} ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s ${pkgs.gradle}/bin/gradle $out/bin/gradle
|
ln -s ${gradle}/bin/gradle $out/bin/gradle
|
||||||
wrapProgram $out/bin/gradle \
|
wrapProgram $out/bin/gradle \
|
||||||
--add-flags "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${build_tools_version}/aapt2"
|
--add-flags "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${build_tools_version}/aapt2"
|
||||||
'';
|
'';
|
||||||
|
@@ -3,6 +3,8 @@
|
|||||||
The `compose.py` program parses the compose sequences found in this directory
|
The `compose.py` program parses the compose sequences found in this directory
|
||||||
and generates `srcs/juloo.keyboard2/ComposeKeyData.java`.
|
and generates `srcs/juloo.keyboard2/ComposeKeyData.java`.
|
||||||
|
|
||||||
## `en_US_UTF_8_Compose.pre`
|
## `compose/en_US_UTF_8_Compose.pre`
|
||||||
|
|
||||||
This file is copied from the `xorg` project. Copyright applies.
|
This file is copied from the `xorg` project. Copyright applies.
|
||||||
|
|
||||||
|
## `compose/extra.json`
|
||||||
|
@@ -11,5 +11,15 @@
|
|||||||
"u": "ú",
|
"u": "ú",
|
||||||
"y": "ý",
|
"y": "ý",
|
||||||
"z": "ź",
|
"z": "ź",
|
||||||
"ü": "ǘ"
|
"ü": "ǘ",
|
||||||
|
"j": "j\u0301",
|
||||||
|
"у": "у\u0301",
|
||||||
|
"е": "е\u0301",
|
||||||
|
"а": "а\u0301",
|
||||||
|
"о": "о\u0301",
|
||||||
|
"и": "и\u0301",
|
||||||
|
"ы": "ы\u0301",
|
||||||
|
"э": "э\u0301",
|
||||||
|
"ю": "ю\u0301",
|
||||||
|
"я": "я\u0301"
|
||||||
}
|
}
|
||||||
|
@@ -9,5 +9,10 @@
|
|||||||
"o": "ô",
|
"o": "ô",
|
||||||
"ŝ": "ŝ",
|
"ŝ": "ŝ",
|
||||||
"u": "û",
|
"u": "û",
|
||||||
"z": "ẑ"
|
"z": "ẑ",
|
||||||
|
"а": "а\u0302",
|
||||||
|
"е": "е\u0302",
|
||||||
|
"и": "и\u0302",
|
||||||
|
"о": "о\u0302",
|
||||||
|
"у": "у\u0302"
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"o": "ő",
|
"o": "ő",
|
||||||
"u": "ű",
|
"u": "ű",
|
||||||
" ": "˝"
|
" ": "˝",
|
||||||
|
"a": "a\u030b",
|
||||||
|
"e": "e\u030b",
|
||||||
|
"i": "i\u030b",
|
||||||
|
"m": "m\u030b",
|
||||||
|
"y": "y\u030b"
|
||||||
}
|
}
|
||||||
|
@@ -12,20 +12,18 @@ from array import array
|
|||||||
# Parse symbol names from keysymdef.h. Many compose sequences in
|
# Parse symbol names from keysymdef.h. Many compose sequences in
|
||||||
# en_US_UTF_8_Compose.pre reference theses. For example, all the sequences on
|
# en_US_UTF_8_Compose.pre reference theses. For example, all the sequences on
|
||||||
# the Greek, Cyrillic and Hebrew scripts need these symbols.
|
# the Greek, Cyrillic and Hebrew scripts need these symbols.
|
||||||
def parse_keysymdef_h():
|
def parse_keysymdef_h(fname):
|
||||||
with open(os.path.join(os.path.dirname(__file__), "keysymdef.h"), "r") as inp:
|
with open(fname, "r") as inp:
|
||||||
keysym_re = re.compile(r'^#define XK_(\S+)\s+\S+\s*/\*.U\+([0-9a-fA-F]+)\s')
|
keysym_re = re.compile(r'^#define XK_(\S+)\s+\S+\s*/\*.U\+([0-9a-fA-F]+)\s')
|
||||||
for line in inp:
|
for line in inp:
|
||||||
m = re.match(keysym_re, line)
|
m = re.match(keysym_re, line)
|
||||||
if m != None:
|
if m != None:
|
||||||
yield (m.group(1), chr(int(m.group(2), 16)))
|
yield (m.group(1), chr(int(m.group(2), 16)))
|
||||||
|
|
||||||
xkb_char_extra_names = dict(parse_keysymdef_h())
|
|
||||||
|
|
||||||
dropped_sequences = 0
|
dropped_sequences = 0
|
||||||
|
|
||||||
# Parse XKB's Compose.pre files
|
# Parse XKB's Compose.pre files
|
||||||
def parse_sequences_file_xkb(fname):
|
def parse_sequences_file_xkb(fname, xkb_char_extra_names):
|
||||||
# Parse a line of the form:
|
# Parse a line of the form:
|
||||||
# <Multi_key> <minus> <space> : "~" asciitilde # TILDE
|
# <Multi_key> <minus> <space> : "~" asciitilde # TILDE
|
||||||
# Sequences not starting with <Multi_key> are ignored.
|
# Sequences not starting with <Multi_key> are ignored.
|
||||||
@@ -92,20 +90,44 @@ def parse_sequences_file_xkb(fname):
|
|||||||
seqs.append(s)
|
seqs.append(s)
|
||||||
return seqs
|
return seqs
|
||||||
|
|
||||||
|
# Basic support for comments in json files. Reads a file
|
||||||
|
def strip_cstyle_comments(inp):
|
||||||
|
def strip_line(line):
|
||||||
|
i = line.find("//")
|
||||||
|
return line[:i] + "\n" if i >= 0 else line
|
||||||
|
return "".join(map(strip_line, inp))
|
||||||
|
|
||||||
# Parse from a json file containing a dictionary sequence → result string.
|
# Parse from a json file containing a dictionary sequence → result string.
|
||||||
def parse_sequences_file_json(fname):
|
def parse_sequences_file_json(fname):
|
||||||
with open(fname, "r") as inp:
|
with open(fname, "r") as inp:
|
||||||
seqs = json.load(inp)
|
seqs = json.loads(strip_cstyle_comments(inp))
|
||||||
return list(seqs.items())
|
return list(seqs.items())
|
||||||
|
|
||||||
# Format of the sequences file is determined by its extension
|
# Format of the sequences file is determined by its extension
|
||||||
def parse_sequences_file(fname):
|
def parse_sequences_file(fname, xkb_char_extra_names={}):
|
||||||
if fname.endswith(".pre"):
|
if fname.endswith(".pre"):
|
||||||
return parse_sequences_file_xkb(fname)
|
return parse_sequences_file_xkb(fname, xkb_char_extra_names)
|
||||||
if fname.endswith(".json"):
|
if fname.endswith(".json"):
|
||||||
return parse_sequences_file_json(fname)
|
return parse_sequences_file_json(fname)
|
||||||
raise Exception(fname + ": Unsupported format")
|
raise Exception(fname + ": Unsupported format")
|
||||||
|
|
||||||
|
# A sequence directory can contain several sequence files as well as
|
||||||
|
# 'keysymdef.h'.
|
||||||
|
def parse_sequences_dir(dname):
|
||||||
|
compose_files = []
|
||||||
|
xkb_char_extra_names = {}
|
||||||
|
# Parse keysymdef.h first if present
|
||||||
|
for fbasename in os.listdir(dname):
|
||||||
|
fname = os.path.join(dname, fbasename)
|
||||||
|
if fbasename == "keysymdef.h":
|
||||||
|
xkb_char_extra_names = dict(parse_keysymdef_h(fname))
|
||||||
|
else:
|
||||||
|
compose_files.append(fname)
|
||||||
|
sequences = []
|
||||||
|
for fname in compose_files:
|
||||||
|
sequences.extend(parse_sequences_file(fname, xkb_char_extra_names))
|
||||||
|
return sequences
|
||||||
|
|
||||||
# Turn a list of sequences into a trie.
|
# Turn a list of sequences into a trie.
|
||||||
def add_sequences_to_trie(seqs, trie):
|
def add_sequences_to_trie(seqs, trie):
|
||||||
def add_seq_to_trie(t_, seq, result):
|
def add_seq_to_trie(t_, seq, result):
|
||||||
@@ -131,8 +153,10 @@ def add_sequences_to_trie(seqs, trie):
|
|||||||
|
|
||||||
# Compile the trie into a state machine.
|
# Compile the trie into a state machine.
|
||||||
def make_automata(tries):
|
def make_automata(tries):
|
||||||
|
previous_leafs = {} # Deduplicate leafs
|
||||||
states = []
|
states = []
|
||||||
def add_tree(t):
|
def add_tree(t):
|
||||||
|
this_node_index = len(states)
|
||||||
# Index and size of the new node
|
# Index and size of the new node
|
||||||
i = len(states)
|
i = len(states)
|
||||||
s = len(t.keys())
|
s = len(t.keys())
|
||||||
@@ -144,11 +168,14 @@ def make_automata(tries):
|
|||||||
states.append((None, None))
|
states.append((None, None))
|
||||||
# Add nested nodes and fill the current node
|
# Add nested nodes and fill the current node
|
||||||
for c in sorted(t.keys()):
|
for c in sorted(t.keys()):
|
||||||
node_i = len(states)
|
states[i] = (c, add_node(t[c]))
|
||||||
add_node(t[c])
|
|
||||||
states[i] = (c, node_i)
|
|
||||||
i += 1
|
i += 1
|
||||||
|
return this_node_index
|
||||||
def add_leaf(c):
|
def add_leaf(c):
|
||||||
|
if c in previous_leafs:
|
||||||
|
return previous_leafs[c]
|
||||||
|
this_node_index = len(states)
|
||||||
|
previous_leafs[c] = this_node_index
|
||||||
# There are two encoding for leafs: character final state for 15-bit
|
# There are two encoding for leafs: character final state for 15-bit
|
||||||
# characters and string final state for the rest.
|
# characters and string final state for the rest.
|
||||||
if len(c) > 1 or ord(c[0]) > 32767: # String final state
|
if len(c) > 1 or ord(c[0]) > 32767: # String final state
|
||||||
@@ -158,16 +185,14 @@ def make_automata(tries):
|
|||||||
states.append((c, 0))
|
states.append((c, 0))
|
||||||
else: # Character final state
|
else: # Character final state
|
||||||
states.append((c, 1))
|
states.append((c, 1))
|
||||||
|
return this_node_index
|
||||||
def add_node(n):
|
def add_node(n):
|
||||||
if type(n) == str:
|
if type(n) == str:
|
||||||
add_leaf(n)
|
return add_leaf(n)
|
||||||
else:
|
else:
|
||||||
add_tree(n)
|
return add_tree(n)
|
||||||
states.append((1, 1)) # Add an empty state at the beginning.
|
states.append((1, 1)) # Add an empty state at the beginning.
|
||||||
entry_states = {}
|
entry_states = { n: add_tree(root) for n, root in tries.items() }
|
||||||
for tname, tree_root in tries.items():
|
|
||||||
entry_states[tname] = len(states)
|
|
||||||
add_tree(tree_root)
|
|
||||||
return entry_states, states
|
return entry_states, states
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
@@ -238,9 +263,12 @@ public final class ComposeKeyData
|
|||||||
|
|
||||||
total_sequences = 0
|
total_sequences = 0
|
||||||
tries = {} # Orderred dict
|
tries = {} # Orderred dict
|
||||||
for fname in sys.argv[1:]:
|
for fname in sorted(sys.argv[1:]):
|
||||||
tname, _ = os.path.splitext(os.path.basename(fname))
|
tname, _ = os.path.splitext(os.path.basename(fname))
|
||||||
sequences = parse_sequences_file(fname)
|
if os.path.isdir(fname):
|
||||||
|
sequences = parse_sequences_dir(fname)
|
||||||
|
else:
|
||||||
|
sequences = parse_sequences_file(fname)
|
||||||
add_sequences_to_trie(sequences, tries.setdefault(tname, {}))
|
add_sequences_to_trie(sequences, tries.setdefault(tname, {}))
|
||||||
total_sequences += len(sequences)
|
total_sequences += len(sequences)
|
||||||
entry_states, automata = make_automata(tries)
|
entry_states, automata = make_automata(tries)
|
||||||
|
11
srcs/compose/compose/extra.json
Normal file
11
srcs/compose/compose/extra.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"V": {
|
||||||
|
"s": "Š",
|
||||||
|
"c": "Č",
|
||||||
|
"z": "Ž"
|
||||||
|
},
|
||||||
|
"\\": {
|
||||||
|
"n": "\\n",
|
||||||
|
"t": "\\t"
|
||||||
|
}
|
||||||
|
}
|
182
srcs/compose/fn.json
Normal file
182
srcs/compose/fn.json
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
{
|
||||||
|
"1": "f1",
|
||||||
|
"2": "f2",
|
||||||
|
"3": "f3",
|
||||||
|
"4": "f4",
|
||||||
|
"5": "f5",
|
||||||
|
"6": "f6",
|
||||||
|
"7": "f7",
|
||||||
|
"8": "f8",
|
||||||
|
"9": "f9",
|
||||||
|
"0": "f10",
|
||||||
|
"<": "«",
|
||||||
|
">": "»",
|
||||||
|
"{": "‹",
|
||||||
|
"}": "›",
|
||||||
|
"[": "‘",
|
||||||
|
"]": "’",
|
||||||
|
"(": "“",
|
||||||
|
")": "”",
|
||||||
|
"'": "‚",
|
||||||
|
"\"": "„",
|
||||||
|
"-": "–",
|
||||||
|
"_": "—",
|
||||||
|
"^": "¬",
|
||||||
|
"%": "‰",
|
||||||
|
"=": "≈",
|
||||||
|
"u": "µ",
|
||||||
|
"a": "æ",
|
||||||
|
"o": "œ",
|
||||||
|
"*": "°",
|
||||||
|
".": "…",
|
||||||
|
",": "·",
|
||||||
|
"!": "¡",
|
||||||
|
"?": "¿",
|
||||||
|
"|": "¦",
|
||||||
|
"§": "¶",
|
||||||
|
"†": "‡",
|
||||||
|
"×": "∙",
|
||||||
|
" ": "nbsp",
|
||||||
|
// arrows
|
||||||
|
"↖": "⇖",
|
||||||
|
"↑": "⇑",
|
||||||
|
"↗": "⇗",
|
||||||
|
"←": "⇐",
|
||||||
|
"→": "⇒",
|
||||||
|
"↙": "⇙",
|
||||||
|
"↓": "⇓",
|
||||||
|
"↘": "⇘",
|
||||||
|
"↔": "⇔",
|
||||||
|
"↕": "⇕",
|
||||||
|
// Currency symbols
|
||||||
|
"e": "€",
|
||||||
|
"l": "£",
|
||||||
|
"r": "₹",
|
||||||
|
"y": "¥",
|
||||||
|
"c": "¢",
|
||||||
|
"p": "₽",
|
||||||
|
"b": "₱",
|
||||||
|
"h": "₴",
|
||||||
|
"z": "₿",
|
||||||
|
// avoid showing these twice
|
||||||
|
"€": "removed",
|
||||||
|
"£": "removed",
|
||||||
|
// alternative greek letters
|
||||||
|
"π": "ϖ",
|
||||||
|
"θ": "ϑ",
|
||||||
|
"Θ": "ϴ",
|
||||||
|
"ε": "ϵ",
|
||||||
|
"β": "ϐ",
|
||||||
|
"ρ": "ϱ",
|
||||||
|
"σ": "ς",
|
||||||
|
"γ": "ɣ",
|
||||||
|
"φ": "ϕ",
|
||||||
|
"υ": "ϒ",
|
||||||
|
"κ": "ϰ",
|
||||||
|
// alternative math characters
|
||||||
|
"∪": "⋃",
|
||||||
|
"∩": "⋂",
|
||||||
|
"∃": "∄",
|
||||||
|
"∈": "∉",
|
||||||
|
"∫": "∮",
|
||||||
|
"Π": "∏",
|
||||||
|
"Σ": "∑",
|
||||||
|
"∨": "⋁",
|
||||||
|
"∧": "⋀",
|
||||||
|
"⊷": "⊶",
|
||||||
|
"⊂": "⊆",
|
||||||
|
"⊃": "⊇",
|
||||||
|
"±": "∓",
|
||||||
|
// hebrew niqqud
|
||||||
|
"ק": "qamats", // kamatz
|
||||||
|
"ר": "hataf_qamats", // reduced kamatz
|
||||||
|
"ו": "holam",
|
||||||
|
"ם": "rafe",
|
||||||
|
"פ": "patah", // patach
|
||||||
|
"ש": "sheva",
|
||||||
|
"ד": "dagesh", // or mapiq
|
||||||
|
"ח": "hiriq",
|
||||||
|
"ף": "hataf_patah", // reduced patach
|
||||||
|
"ז": "qubuts", // kubuts
|
||||||
|
"ס": "segol",
|
||||||
|
"ב": "hataf_segol", // reduced segol
|
||||||
|
"צ": "tsere",
|
||||||
|
// Devanagari symbols
|
||||||
|
"ए": "ऍ",
|
||||||
|
"े": "ॅ",
|
||||||
|
"ऐ": "ऎ",
|
||||||
|
"ै": "ॆ",
|
||||||
|
"ऋ": "ॠ",
|
||||||
|
"ृ": "ॄ",
|
||||||
|
"ळ": "ऴ",
|
||||||
|
"र": "ऱ",
|
||||||
|
"क": "क़",
|
||||||
|
"ख": "ख़",
|
||||||
|
"ग": "ग़",
|
||||||
|
"घ": "ॻ",
|
||||||
|
"ढ": "ढ़",
|
||||||
|
"न": "ऩ",
|
||||||
|
"ड": "ड़",
|
||||||
|
"ट": "ॸ",
|
||||||
|
"ण": "ॾ",
|
||||||
|
"फ": "फ़",
|
||||||
|
"ऌ": "ॡ",
|
||||||
|
"ॢ": "ॣ",
|
||||||
|
"औ": "ॵ",
|
||||||
|
"ौ": "ॏ",
|
||||||
|
"ओ": "ऒ",
|
||||||
|
"ो": "ॊ",
|
||||||
|
"च": "ॼ",
|
||||||
|
"ज": "ज़",
|
||||||
|
"ब": "ॿ",
|
||||||
|
"व": "ॺ",
|
||||||
|
"य": "य़",
|
||||||
|
"अ": "ॲ",
|
||||||
|
"आ": "ऑ",
|
||||||
|
"ा": "ॉ",
|
||||||
|
"झ": "ॹ",
|
||||||
|
"ई": "ॴ",
|
||||||
|
"ी": "ऻ",
|
||||||
|
"इ": "ॳ",
|
||||||
|
"ि": "ऺ",
|
||||||
|
"उ": "ॶ",
|
||||||
|
"ऊ": "ॷ",
|
||||||
|
"ु": "ऄ",
|
||||||
|
"ष": "क्ष",
|
||||||
|
"थ": "त्र",
|
||||||
|
"द": "द्र",
|
||||||
|
"प": "प्र",
|
||||||
|
"श": "श्र",
|
||||||
|
"छ": "श्च",
|
||||||
|
"ँ": "ऀ",
|
||||||
|
"₹": "₨",
|
||||||
|
"ॖ": "ॗ",
|
||||||
|
"॓": "॔",
|
||||||
|
"॰": "ॱ",
|
||||||
|
"।": "॥",
|
||||||
|
"ं": "ॕ",
|
||||||
|
"़": "ॎ",
|
||||||
|
"ऽ": "ॽ",
|
||||||
|
// Persian numbers
|
||||||
|
"۱": "f1",
|
||||||
|
"۲": "f2",
|
||||||
|
"۳": "f3",
|
||||||
|
"۴": "f4",
|
||||||
|
"۵": "f5",
|
||||||
|
"۶": "f6",
|
||||||
|
"۷": "f7",
|
||||||
|
"۸": "f8",
|
||||||
|
"۹": "f9",
|
||||||
|
// Arabic numbers
|
||||||
|
"۰": "f10",
|
||||||
|
"١": "f1",
|
||||||
|
"٢": "f2",
|
||||||
|
"٣": "f3",
|
||||||
|
"٤": "f4",
|
||||||
|
"٥": "f5",
|
||||||
|
"٦": "f6",
|
||||||
|
"٧": "f7",
|
||||||
|
"٨": "f8",
|
||||||
|
"٩": "f9",
|
||||||
|
"٠": "f10"
|
||||||
|
}
|
52
srcs/compose/shift.json
Normal file
52
srcs/compose/shift.json
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"↙": "⇙",
|
||||||
|
"↓": "⇓",
|
||||||
|
"↘": "⇘",
|
||||||
|
"←": "⇐",
|
||||||
|
"→": "⇒",
|
||||||
|
"↖": "⇖",
|
||||||
|
"↑": "⇑",
|
||||||
|
"↗": "⇗",
|
||||||
|
"└": "╚",
|
||||||
|
"┴": "╩",
|
||||||
|
"┘": "╝",
|
||||||
|
"├": "╠",
|
||||||
|
"┼": "╬",
|
||||||
|
"┤": "╣",
|
||||||
|
"┌": "╔",
|
||||||
|
"┬": "╦",
|
||||||
|
"┐": "╗",
|
||||||
|
"─": "═",
|
||||||
|
"│": "║",
|
||||||
|
"ß": "ẞ",
|
||||||
|
// In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will
|
||||||
|
// return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This
|
||||||
|
// has the inconvenient of swapping i and ı on the keyboard.
|
||||||
|
"ı": "İ",
|
||||||
|
"₹": "₨",
|
||||||
|
// Gujarati alternate characters
|
||||||
|
"અ": "આ",
|
||||||
|
"ઇ": "ઈ",
|
||||||
|
"િ": "ી",
|
||||||
|
"ઉ": "ઊ",
|
||||||
|
"ુ": "ૂ",
|
||||||
|
"એ": "ઐ",
|
||||||
|
"ે": "ૈ",
|
||||||
|
"ઓ": "ઔ",
|
||||||
|
"ો": "ૌ",
|
||||||
|
"ક": "ખ",
|
||||||
|
"ગ": "ઘ",
|
||||||
|
"ચ": "છ",
|
||||||
|
"જ": "ઝ",
|
||||||
|
"ટ": "ઠ",
|
||||||
|
"ડ": "ઢ",
|
||||||
|
"ન": "ણ",
|
||||||
|
"ત": "થ",
|
||||||
|
"દ": "ધ",
|
||||||
|
"પ": "ફ",
|
||||||
|
"બ": "ભ",
|
||||||
|
"મ": "ં",
|
||||||
|
"લ": "ળ",
|
||||||
|
"સ": "શ",
|
||||||
|
"હ": "ઃ"
|
||||||
|
}
|
@@ -74,6 +74,9 @@ public final class Autocapitalisation
|
|||||||
if (_cursor > 0) _cursor--;
|
if (_cursor > 0) _cursor--;
|
||||||
_should_update_caps_mode = true;
|
_should_update_caps_mode = true;
|
||||||
break;
|
break;
|
||||||
|
case KeyEvent.KEYCODE_ENTER:
|
||||||
|
_should_update_caps_mode = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
callback(true);
|
callback(true);
|
||||||
}
|
}
|
||||||
|
@@ -145,7 +145,11 @@ public final class ClipboardHistoryService
|
|||||||
return;
|
return;
|
||||||
int count = clip.getItemCount();
|
int count = clip.getItemCount();
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
add_clip(clip.getItemAt(i).getText().toString());
|
{
|
||||||
|
CharSequence text = clip.getItemAt(i).getText();
|
||||||
|
if (text != null)
|
||||||
|
add_clip(text.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final class SystemListener implements ClipboardManager.OnPrimaryClipChangedListener
|
final class SystemListener implements ClipboardManager.OnPrimaryClipChangedListener
|
||||||
|
@@ -42,7 +42,7 @@ public final class ComposeKey
|
|||||||
else if (next_header == 0xFFFF) // String final state
|
else if (next_header == 0xFFFF) // String final state
|
||||||
{
|
{
|
||||||
int next_length = edges[next];
|
int next_length = edges[next];
|
||||||
return KeyValue.makeStringKey(
|
return KeyValue.getKeyByName(
|
||||||
new String(states, next + 1, next_length - 1));
|
new String(states, next + 1, next_length - 1));
|
||||||
}
|
}
|
||||||
else // Character final state.
|
else // Character final state.
|
||||||
|
@@ -5,234 +5,216 @@ package juloo.keyboard2;
|
|||||||
public final class ComposeKeyData
|
public final class ComposeKeyData
|
||||||
{
|
{
|
||||||
public static final char[] states =
|
public static final char[] states =
|
||||||
("\u0001\u0000aeiklnou\u0105\u0119\u012f\u0137\u013c\u0146\u01eb\u0173\u0000.0123456789\u21b5\u2194\u2199\u2193\u2198\u2190\u2195\u2192\u2196\u2191\u2197\u0000aeinou\u00e2\u00ea\u0103\u01a1\u01b0\u00e3\u1ebd\u0129\u00f1\u00f5\u0169\u1eab\u1ec5\u1eb5\u1ee1\u1eef\u0000 !\"#%'(" +
|
("\u0001\u0000aceijlorsuyz\u00fc\u0144\u0430\u0435\u0438\u043e\u0443\u044b\u044d\u044e\u044f\u00e1\u0107\u00e9\u00ed\uFFFF\u006a\u0301\u013a\u00f3\u0155\u015b\u00fa\u00fd\u017a\u01d8\u0144\uFFFF\u0430\u0301\uFFFF\u0435\u0301\uFFFF\u0438\u0301\uFFFF\u043e\u0301\uFFFF\u0443\u0301\uFFFF\u044b\u0301\uFFFF\u044d\u0301\uFFFF\u044e\u0301\uFFFF\u044f\u0301\u0000.01" +
|
||||||
")*+,-./01234578:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnoprst" +
|
"23456789\u21b5\u2194\u2199\u2193\u2198\u2190\u2195\u2192\u2196\u2191\u2197\u0000bcdgijklopqrtuyz\u0180\uFFFF\ua793\u0111\u01e5\u0268\u0249\uFFFF\ua741\u019a\u0275\u1d7d\uFFFF\ua757\u024d\u0167\u0289\u024f\u01b6\u0000.0123456789\u2502\u2500\u2514\u2534\u2518" +
|
||||||
"uvwxyz{|~\u00a8\u00af\u00b4\u00b8\u00f7\u02d8\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0415\u0417\u041d\u0421\u0437\u043f\u05b4\u05b7\u05b8\u05b9\u05bc\u05bf\u05c1\u05c2\u0653\u0654\u0655\u093c\u09bc\u09c7\u0a3c\u0b3c\u0b47\u0bc6\u0bc7\u0bd7\u0c46\u0cbf\u0cc6\u0cca\u0d46\u0d47\u0dd9\u0ddc\u0f71\u0f90\u0f92\u0f9c\u0fa1\u0fa6\u0fab\u0fb2\u0fb3" +
|
"\u251c\u253c\u2524\u250c\u252c\u2510\u0000acdeilnorstuz\u00fc\u01ce\u010d\u010f\u011b\u01d0\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u01da\u0000cdeghklnrst\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u0000aceghijouz\u015d\u0430\u0435" +
|
||||||
"\u0fb5\u0fb7\u102e\u1100\u1102\u1103\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u110c\u110e\u1111\u1112\u1121\u1132\u113c\u113e\u114e\u1150\u1161\u1163\u1165\u1167\u1169\u116a\u116d\u116e\u116f\u1172\u1173\u1174\u1175\u119e\u11a8\u11aa\u11ab\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b7\u11b8\u11ba\u11bc\u11c1\u11c2\u11ce\u11dd\u11ec\u11f0\u2190\u2191\u2192\u2193\u2203\u2206\u2207\u2208\u220a\u220b\u2218\u2223\u2225\u2227\u2228\u2229" +
|
"\u0438\u043e\u0443\u00e2\u0109\u00ea\u011d\u0125\u00ee\u0135\u00f4\u00fb\u1e91\u015d\uFFFF\u0430\u0302\uFFFF\u0435\u0302\uFFFF\u0438\u0302\uFFFF\u043e\u0302\uFFFF\u0443\u0302\u0000abcdefghmnoprstwxyz\u0227\u1e03\u010b\u1e0b\u0117\u1e1f\u0121\u1e23\u1e41\u1e45\u022f\u1e57\u1e59\u1e61\u1e6b\u1e87\u1e8b\u1e8f\u017c\u0000aei" +
|
||||||
"\u222a\u223c\u2243\u2248\u224d\u2260\u2261\u2264\u2265\u2272\u2273\u2276\u2277\u227a\u227b\u227c\u227d\u2282\u2283\u2286\u2287\u2291\u2292\u22a3\u22a4\u22a5\u22a8\u22a9\u22ab\u22b2\u22b3\u22b4\u22b5\u22c4\u2373\u2375\u237a\u2395\u25cb\u2add\u0000 (,-.<>_\u00a0\u02d8\u00b8~\u2008\u02c7^\u00af\u0000!+?ABDEHIKLMNO" +
|
"ouy\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1ea1\u1eb9\u1ecb\u1ecd\u1ee5\u1ef5\u1ead\u1ec7\u1ed9\u1eb7\u1ee3\u1ef1\u0000 aeimouy\u02dd\uFFFF\u0061\u030b\uFFFF\u0065\u030b\uFFFF\u0069\u030b\uFFFF\u006d\u030b\u0151\u0171\uFFFF\u0079\u030b\u0000aeiou\u00fc\u00e0\u00e8\u00ec\u00f2\u00f9\u01dc\u0000aeiouy\u00e2\u00ea\u00f4\u0103" +
|
||||||
"RSTUVWYZ^abdehiklmnorstuvwyz\u01a0\u01a1\u01af\u01b0\u00a1\u0000OUou\u1ee2\u1ef0\u1ee3\u1ef1\u203d\u1ea0\u1e04\u1e0c\u1eb8\u1e24\u1eca\u1e32\u1e36\u1e42\u1e46\u1ecc\u1e5a\u1e62\u1e6c\u1ee4\u1e7e\u1e88\u1ef4\u1e92\u00a6\u1ea1\u1e05\u1e0d\u1eb9\u1e25\u1ecb\u1e33\u1e37\u1e43" +
|
"\u01a1\u01b0\u1ea3\u1ebb\u1ec9\u1ecf\u1ee7\u1ef7\u1ea9\u1ec3\u1ed5\u1eb3\u1edf\u1eed\u0000ou\u00f2\u00f3\u00f5\u00f9\u00fa\u0169\u1ecd\u1ecf\u1ee5\u1ee7\u01a1\u01b0\u1edd\u1edb\u1ee1\u1eeb\u1ee9\u1eef\u0000aeiou\u00fc\u0101\u0113\u012b\u014d\u016b\u01d6\u0000aeiklnou\u0105\u0119\u012f\u01eb\u0173\u0000*12345678" +
|
||||||
"\u1e47\u1ecd\u1e5b\u1e63\u1e6d\u1ee5\u1e7f\u1e89\u1ef5\u1e93\u1ee2\u1ee3\u1ef0\u1ef1\u0000 \"',<>AEHIOUWXY_aehiotuwxy~\u00af\u00b4\u00d5\u00f5\u016a\u016b\u0399\u03a5\u03b9\u03c5\u03d2\u0406\u0410\u0415\u0416\u0417\u0418\u041e\u0423\u0427\u042b\u042d\u0430\u0435\u0436\u0437\u0438\u043e\u0443\u0447" +
|
"9ao\u00b0\u00aa\u00ba\u207f\u1d48\u1d49\u02b3\u02e2\u1d57\u02b0\u0000au\u00e5\u016f\u0000abcegklnorst\u2c65\u2422\u023c\u0247\uFFFF\ua7a1\uFFFF\ua743\u0142\uFFFF\ua7a5\u00f8\uFFFF\ua7a7\uFFFF\ua7a9\u2c66\u0000()+-0123456789=aehijklm" +
|
||||||
"\u044b\u044d\u0456\u04d8\u04d9\u04e8\u04e9\u00a8\u00a8\u0344\u201e\u201c\u201d\u00c4\u00cb\u1e26\u00cf\u00d6\u00dc\u1e84\u1e8c\u0178\u0000Uu\u1e7a\u1e7b\u00e4\u00eb\u1e27\u00ef\u00f6\u1e97\u00fc\u1e85\u1e8d\u00ff\u0000Oo\u1e4e\u1e4f\u0000Uu\u1e7a\u1e7b\u0344\u1e4e\u1e4f\u1e7a\u1e7b\u03aa\u03ab\u03ca\u03cb\u03d4\u0407\u04d2\u0401\u04dc\u04de\u04e4\u04e6\u04f0\u04f4\u04f8\u04ec\u04d3\u0451\u04dd\u04df" +
|
"noprstuvx\u208d\u208e\u208a\u208b\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u208c\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u0000()+-0123456789=abcdefghijklmno" +
|
||||||
"\u04e5\u04e7\u04f1\u04f5\u04f9\u04ed\u0457\u04da\u04db\u04ea\u04eb\u0000#ESbefq\u266f\u266b\u266c\u266d\u266a\u266e\u2669\u0000o\u2030\u0000\"'()+,/<>ACEGIJKLMNOPRSUWYZ^_abcegijklmnop" +
|
"prstuvwxyz\u207d\u207e\u207a\u207b\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u1d43\u1d47\u1d9c\u1da0\u1d4d\u2071\u02b2\u1d4f\u02e1\u1d50\u1d52\u1d56\u1d58\u1d5b\u02b7\u02e3\u02b8\u1dbb\u0000aeinou\u00e2\u00ea\u0103\u01a1\u01b0\u00e3\u1ebd\u0129\u00f1\u00f5\u0169\u1eab\u1ec5\u1eb5\u0000aeiouy\u00e4" +
|
||||||
"rsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a" +
|
"\u00eb\u00ef\u00f6\u00fc\u00ff\u0000 !\"#%'()*+,-./01234578:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdef" +
|
||||||
"\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u2395\u0000 IUiu\u03b9\u03c5\u0385\u1e2e\u01d7\u1e2f\u01d8\u0390\u03b0\u00b4\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0d\u1f1d\u1f2d\u1f3d\u1f4d\u1f5d\u1f6d\u1f05\u1f15\u1f25\u1f35\u1f45\u1f55\u1f65\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0c\u1f1c\u1f2c\u1f3c\u1f4c" +
|
"ghijklmnoprstuvwxyz{|~\u00a8\u00af\u00b4\u00b8\u00f7\u02d8\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0415\u0417\u041d\u0421\u0437\u043f\u05b4\u05b7\u05b8\u05b9\u05bc\u05bf\u05c1\u05c2\u0653\u0654\u0655\u093c\u09bc\u09c7\u0a3c\u0b3c\u0b47\u0bc6\u0bc7\u0bd7\u0c46\u0cbf\u0cc6\u0cca" +
|
||||||
"\u1f6c\u1f04\u1f14\u1f24\u1f34\u1f44\u1f54\u1f64\u0000OUou\u1eda\u1ee8\u1edb\u1ee9\u201a\u0000Oo\u01fe\u01ff\u2018\u2019\u00c1\u0106\u00c9\u01f4\u00cd\uFFFF\u004a\u0301\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u00e1\u0000Aa\u1eae" +
|
"\u0d46\u0d47\u0dd9\u0ddc\u0f71\u0f90\u0f92\u0f9c\u0fa1\u0fa6\u0fab\u0fb2\u0fb3\u0fb5\u0fb7\u102e\u1100\u1102\u1103\u1105\u1106\u1107\u1108\u1109\u110a\u110b\u110c\u110e\u1111\u1112\u1121\u1132\u113c\u113e\u114e\u1150\u1161\u1163\u1165\u1167\u1169\u116a\u116d\u116e\u116f\u1172\u1173\u1174\u1175\u119e\u11a8\u11aa\u11ab\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b7\u11b8\u11ba\u11bc\u11c1\u11c2\u11ce\u11dd\u11ec\u11f0\u2190\u2191\u2192" +
|
||||||
"\u1eaf\u0107\u00e9\u01f5\u00ed\uFFFF\u006a\u0301\u1e31\u013a\u1e3f\u0144\u00f3\u1e55\u0155\u015b\u00fa\u1e83\u00fd\u017a\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000Cc\u1e08\u1e09\u1ea4\u01fa\u01fc\u1e08\u1ebe\u1e2e\u1ed0\u1e4c\u01fe\u01d7\u1ea5\u01fb\u01fd\u1e09\u1ebf\u1e2f\u1ed1\u1e4d\u01ff\u01d8\u1eae\u1eaf\u1e16\u1e17\u1e52\u1e53\u1e78\u1e79\u1eda" +
|
"\u2193\u2203\u2206\u2207\u2208\u220a\u220b\u2218\u2223\u2225\u2227\u2228\u2229\u222a\u223c\u2243\u2248\u224d\u2260\u2261\u2264\u2265\u2272\u2273\u2276\u2277\u227a\u227b\u227c\u227d\u2282\u2283\u2286\u2287\u2291\u2292\u22a3\u22a4\u22a5\u22a8\u22a9\u22ab\u22b2\u22b3\u22b4\u22b5\u22c4\u2373\u2375\u237a\u2395\u25cb\u2add\u0000 (,-.<>_\u00a0\u02d8\u00b8~\u2008\u02c7^\u00af\u0000!" +
|
||||||
"\u1edb\u1ee8\u1ee9\u0386\u0388\u0389\u038a\u038c\u038e\u038f\u03ac\u03ad\u03ae\u03af\u03cc\u03cd\u03ce\uFFFF\u0410\u0301\u0403\uFFFF\u0415\u0301\uFFFF\u0418\u0301\u040c\uFFFF\u041e\u0301\uFFFF\u0420\u0301\uFFFF\u0423\u0301\uFFFF\u042b\u0301\uFFFF\u042d\u0301\uFFFF\u042e\u0301\uFFFF\u042f\u0301\uFFFF\u0430\u0301\u0453\uFFFF\u0435\u0301\uFFFF\u0438\u0301\u045c\uFFFF\u043e\u0301\uFFFF\u0440\u0301\uFFFF\u0443\u0301\uFFFF\u044b\u0301" +
|
"+?ABDEHIKLMNORSTUVWYZ^abdehiklmnorstuvwyz\u01a0\u01a1\u01af\u01b0\u00a1\u0000OUou\u1ee2\u1ef0\u203d\u1ea0\u1e04\u1e0c\u1eb8\u1e24\u1eca\u1e32\u1e36\u1e42\u1e46\u1ecc\u1e5a\u1e62\u1e6c\u1ee4\u1e7e\u1e88\u1ef4" +
|
||||||
"\uFFFF\u044d\u0301\uFFFF\u044e\u0301\uFFFF\u044f\u0301\u235e\u0000 ()-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu" +
|
"\u1e92\u00a6\u1e05\u1e0d\u1e25\u1e33\u1e37\u1e43\u1e47\u1e5b\u1e63\u1e6d\u1e7f\u1e89\u1e93\u0000 \"',<>AEHIOUWXY_aehiotuwxy~\u00af\u00b4\u00d5\u00f5\u016a\u016b\u0399\u03a5\u03b9\u03c5\u03d2\u0406\u0410\u0415\u0416\u0417\u0418\u041e\u0423\u0427\u042b\u042d\u0430\u0435\u0436\u0437\u0438\u043e\u0443" +
|
||||||
"vwxyz\u0391\u0395\u0397\u0399\u039f\u03a1\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6" +
|
"\u0447\u044b\u044d\u0456\u04d8\u04d9\u04e8\u04e9\u00a8\u0344\u201e\u201c\u201d\u00c4\u00cb\u1e26\u00cf\u00d6\u00dc\u1e84\u1e8c\u0178\u0000Uu\u1e7a\u1e7b\u1e27\u1e97\u1e85\u1e8d\u0000Oo\u1e4e\u1e4f\u0000Uu\u03aa\u03ab\u03ca\u03cb\u03d4\u0407\u04d2\u0401\u04dc\u04de\u04e4\u04e6\u04f0\u04f4\u04f8\u04ec\u04d3\u0451\u04dd\u04df\u04e5\u04e7\u04f1\u04f5\u04f9\u04ed\u0457\u04da\u04db\u04ea\u04eb\u0000#" +
|
||||||
"\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u4e00\u4e03\u4e09\u4e0a\u4e0b\u4e2d\u4e5d\u4e8c\u4e94\u4f01\u4f11\u512a\u516b\u516d\u5199\u52b4\u533b\u5341\u5354\u5370\u53f3\u540d\u56db\u571f\u591c\u5973\u5b66\u5b97\u5de6\u65e5\u6708\u6709\u6728\u682a\u6b63\u6c34\u6ce8\u706b\u7279\u7537\u76e3\u793e\u795d\u79d8\u8ca1\u8cc7\u9069\u91d1\u9805\u02d8[\u0000)\uFFFF\ud83c\udd2f{\u0000)\u24ea\u0000)" +
|
"ESbefq\u266f\u266b\u266c\u266d\u266a\u266e\u2669\u0000o\u2030\u0000\"'()+,/<>ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7" +
|
||||||
"0123456789\u2460\u0000)\u2469\u0000)\u246a\u0000)\u246b\u0000)\u246c\u0000)\u246d\u0000)\u246e\u0000)\u246f\u0000)\u2470\u0000)\u2471\u0000)\u2472\u0000)0123456789\u2461\u0000)\u2473\u0000)\u3251\u0000)\u3252\u0000)\u3253\u0000)\u3254\u0000)\u3255" +
|
"\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u2395\u0000 IUi" +
|
||||||
"\u0000)\u3256\u0000)\u3257\u0000)\u3258\u0000)\u3259\u0000)0123456789\u2462\u0000)\u325a\u0000)\u325b\u0000)\u325c\u0000)\u325d\u0000)\u325e\u0000)\u325f\u0000)\u32b1\u0000)\u32b2\u0000)\u32b3\u0000)\u32b4\u0000)0123456789\u2463\u0000)\u32b5\u0000" +
|
"u\u03b9\u03c5\u0385\u1e2e\u01d7\u1e2f\u0390\u03b0\u00b4\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0d\u1f1d\u1f2d\u1f3d\u1f4d\u1f5d\u1f6d\u1f05\u1f15\u1f25\u1f35\u1f45\u1f55\u1f65\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0c\u1f1c\u1f2c\u1f3c\u1f4c\u1f6c\u1f04\u1f14\u1f24\u1f34\u1f44\u1f54\u1f64\u0000OUou\u1eda" +
|
||||||
")\u32b6\u0000)\u32b7\u0000)\u32b8\u0000)\u32b9\u0000)\u32ba\u0000)\u32bb\u0000)\u32bc\u0000)\u32bd\u0000)\u32be\u0000)0\u2464\u0000)\u32bf\u0000)\u2465\u0000)\u2466\u0000)\u2467\u0000)\u2468\u0000)\u24b6\u0000)\u24b7\u0000)\u24b8\u0000)\u24b9\u0000)\u24ba\u0000)\u24bb\u0000)\u24bc\u0000)\u24bd\u0000)\u24be" +
|
"\u1ee8\u201a\u0000Oo\u01fe\u01ff\u2018\u2019\u00c1\u0106\u00c9\u01f4\u00cd\uFFFF\u004a\u0301\u1e30\u0139\u1e3e\u0143\u00d3\u1e54\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000Aa\u1eae\u1eaf\u01f5\u1e31\u1e3f\u1e55\u1e83\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000E" +
|
||||||
"\u0000)\u24bf\u0000)\u24c0\u0000)\u24c1\u0000)\u24c2\u0000)\u24c3\u0000)\u24c4\u0000)\u24c5\u0000)\u24c6\u0000)\u24c7\u0000)\u24c8\u0000)\u24c9\u0000)\u24ca\u0000)\u24cb\u0000)\u24cc\u0000)\u24cd\u0000)\u24ce\u0000)\u24cf\u0000)\u24d0\u0000)\u24d1\u0000)\u24d2\u0000)\u24d3\u0000)\u24d4\u0000)\u24d5\u0000)\u24d6" +
|
"Oeo\u0000Cc\u1e08\u1e09\u01fa\u01fc\u01fb\u01fd\u0386\u0388\u0389\u038a\u038c\u038e\u038f\u03ac\u03ad\u03ae\u03af\u03cc\u03cd\u03ce\uFFFF\u0410\u0301\u0403\uFFFF\u0415\u0301\uFFFF\u0418\u0301\u040c\uFFFF\u041e\u0301\uFFFF\u0420\u0301\uFFFF\u0423\u0301\uFFFF\u042b\u0301\uFFFF\u042d\u0301\uFFFF\u042e\u0301\uFFFF\u042f\u0301\u0453\u045c\uFFFF\u0440\u0301\u235e\u0000 ()-012" +
|
||||||
"\u0000)\u24d7\u0000)\u24d8\u0000)\u24d9\u0000)\u24da\u0000)\u24db\u0000)\u24dc\u0000)\u24dd\u0000)\u24de\u0000)\u24df\u0000)\u24e0\u0000)\u24e1\u0000)\u24e2\u0000)\u24e3\u0000)\u24e4\u0000)\u24e5\u0000)\u24e6\u0000)\u24e7\u0000)\u24e8\u0000)\u24e9\u1f09\u1f19\u1f29\u1f39\u1f49\u1fec\u1f59\u1f69\u1f01\u1f11\u1f21\u1f31\u1f41\u1fe5\u1f51" +
|
"3456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u0391\u0395\u0397\u0399\u039f\u03a1\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf" +
|
||||||
"\u1f61\u0000)\u1161\u3260\u0000)\u326e\u0000)\u1161\u3261\u0000)\u326f\u0000)\u1161\u3262\u0000)\u3270\u0000)\u1161\u3263\u0000)\u3271\u0000)\u1161\u3264\u0000)\u3272\u0000)\u1161\u3265\u0000)\u3273\u0000)\u1161\u3266\u0000)\u3274\u0000)\u1161\u3267\u0000)\u3275\u0000)\u1161\u3268\u0000)\u3276\u0000)\u1161\u3269\u0000)\u3277\u0000" +
|
"\u03c1\u03c5\u03c9\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u4e00\u4e03\u4e09\u4e0a\u4e0b\u4e2d\u4e5d\u4e8c" +
|
||||||
")\u1161\u326a\u0000)\u3278\u0000)\u1161\u326b\u0000)\u3279\u0000)\u1161\u326c\u0000)\u327a\u0000)\u1161\u326d\u0000)\u327b\u0000)\u32d0\u0000)\u32d1\u0000)\u32d2\u0000)\u32d3\u0000)\u32d4\u0000)\u32d5\u0000)\u32d6\u0000)\u32d7\u0000)\u32d8\u0000)\u32d9\u0000)\u32da\u0000)\u32db\u0000)\u32dc\u0000)\u32dd\u0000)\u32de" +
|
"\u4e94\u4f01\u4f11\u512a\u516b\u516d\u5199\u52b4\u533b\u5341\u5354\u5370\u53f3\u540d\u56db\u571f\u591c\u5973\u5b66\u5b97\u5de6\u65e5\u6708\u6709\u6728\u682a\u6b63\u6c34\u6ce8\u706b\u7279\u7537\u76e3\u793e\u795d\u79d8\u8ca1\u8cc7\u9069\u91d1\u9805[\u0000)\uFFFF\ud83c\udd2f{\u0000)\u24ea\u0000)0123456789\u2460\u0000)\u2469\u0000)\u246a\u0000)" +
|
||||||
"\u0000)\u32df\u0000)\u32e0\u0000)\u32e1\u0000)\u32e2\u0000)\u32e3\u0000)\u32e4\u0000)\u32e5\u0000)\u32e6\u0000)\u32e7\u0000)\u32e8\u0000)\u32e9\u0000)\u32ea\u0000)\u32eb\u0000)\u32ec\u0000)\u32ed\u0000)\u32ee\u0000)\u32ef\u0000)\u32f0\u0000)\u32f1\u0000)\u32f2\u0000)\u32f3\u0000)\u32f4\u0000)\u32f5\u0000)\u32f6" +
|
"\u246b\u0000)\u246c\u0000)\u246d\u0000)\u246e\u0000)\u246f\u0000)\u2470\u0000)\u2471\u0000)\u2472\u0000)0123456789\u2461\u0000)\u2473\u0000)\u3251\u0000)\u3252\u0000)\u3253\u0000)\u3254\u0000)\u3255\u0000)\u3256\u0000)\u3257\u0000)\u3258\u0000)\u3259\u0000)01234" +
|
||||||
"\u0000)\u32f7\u0000)\u32f8\u0000)\u32f9\u0000)\u32fa\u0000)\u32fb\u0000)\u32fc\u0000)\u32fd\u0000)\u32fe\u0000)\u3280\u0000)\u3286\u0000)\u3282\u0000)\u32a4\u0000)\u32a6\u0000)\u32a5\u0000)\u3288\u0000)\u3281\u0000)\u3284\u0000)\u32ad\u0000)\u32a1\u0000)\u329d\u0000)\u3287\u0000)\u3285\u0000)\u32a2\u0000)\u3298" +
|
"56789\u2462\u0000)\u325a\u0000)\u325b\u0000)\u325c\u0000)\u325d\u0000)\u325e\u0000)\u325f\u0000)\u32b1\u0000)\u32b2\u0000)\u32b3\u0000)\u32b4\u0000)0123456789\u2463\u0000)\u32b5\u0000)\u32b6\u0000)\u32b7\u0000)\u32b8\u0000)\u32b9\u0000)\u32ba\u0000)\u32bb\u0000)" +
|
||||||
"\u0000)\u32a9\u0000)\u3289\u0000)\u32af\u0000)\u329e\u0000)\u32a8\u0000)\u3294\u0000)\u3283\u0000)\u328f\u0000)\u32b0\u0000)\u329b\u0000)\u32ab\u0000)\u32aa\u0000)\u32a7\u0000)\u3290\u0000)\u328a\u0000)\u3292\u0000)\u328d\u0000)\u3291\u0000)\u32a3\u0000)\u328c\u0000)\u329f\u0000)\u328b\u0000)\u3295\u0000)\u329a" +
|
"\u32bc\u0000)\u32bd\u0000)\u32be\u0000)0\u2464\u0000)\u32bf\u0000)\u2465\u0000)\u2466\u0000)\u2467\u0000)\u2468\u0000)\u24b6\u0000)\u24b7\u0000)\u24b8\u0000)\u24b9\u0000)\u24ba\u0000)\u24bb\u0000)\u24bc\u0000)\u24bd\u0000)\u24be\u0000)\u24bf\u0000)\u24c0\u0000)\u24c1\u0000)\u24c2\u0000)\u24c3\u0000)\u24c4\u0000" +
|
||||||
"\u0000)\u32ac\u0000)\u3293\u0000)\u3297\u0000)\u3299\u0000)\u3296\u0000)\u32ae\u0000)\u329c\u0000)\u328e\u0000)\u32a0\u0000)-\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9]}\u1f08\u1f18\u1f28\u1f38\u1f48\u1f68\u1f00\u1f10\u1f20\u1f30\u1f40\u1fe4\u1f50\u1f60\u0000'0AUau\u00a8\u25cb\u0000Aa" +
|
")\u24c5\u0000)\u24c6\u0000)\u24c7\u0000)\u24c8\u0000)\u24c9\u0000)\u24ca\u0000)\u24cb\u0000)\u24cc\u0000)\u24cd\u0000)\u24ce\u0000)\u24cf\u0000)\u24d0\u0000)\u24d1\u0000)\u24d2\u0000)\u24d3\u0000)\u24d4\u0000)\u24d5\u0000)\u24d6\u0000)\u24d7\u0000)\u24d8\u0000)\u24d9\u0000)\u24da\u0000)\u24db\u0000)\u24dc\u0000" +
|
||||||
"\u01fa\u01fb\u00b0\u00c5\u016e\u00e5\u016f\u2363\u235f\u0000+-OUou#\u00b1\u01a0\u01af\u01a1\u01b0\u0000 \"',-ACDEGHIKLNORSTUacdeghiklnorstu\u00b8\u201e\u201a\u00b8\u00ac\u0104\u00c7\u1e10\u0118\u0122\u1e28\u012e\u0136\u013b" +
|
")\u24dd\u0000)\u24de\u0000)\u24df\u0000)\u24e0\u0000)\u24e1\u0000)\u24e2\u0000)\u24e3\u0000)\u24e4\u0000)\u24e5\u0000)\u24e6\u0000)\u24e7\u0000)\u24e8\u0000)\u24e9\u1f09\u1f19\u1f29\u1f39\u1f49\u1fec\u1f59\u1f69\u1f01\u1f11\u1f21\u1f31\u1f41\u1fe5\u1f51\u1f61\u0000)\u1161\u3260\u0000)\u326e\u0000)\u1161\u3261\u0000)\u326f\u0000)\u1161\u3262" +
|
||||||
"\u0145\u01ea\u0156\u015e\u0162\u0172\u0105\u00e7\u1e11\u0119\u0123\u1e29\u012f\u0137\u013c\u0146\u01eb\u0157\u015f\u0163\u0173\u0000 ()+,-./:>ADEIKLOU\\^_adeilou\u2191\u2193\u25cb~{}\u00b1\u00ac\u0000 -.\u00ad\u2014\u2013\u0000Ee\uFFFF\u0116\u0304\uFFFF" +
|
"\u0000)\u3270\u0000)\u1161\u3263\u0000)\u3271\u0000)\u1161\u3264\u0000)\u3272\u0000)\u1161\u3265\u0000)\u3273\u0000)\u1161\u3266\u0000)\u3274\u0000)\u1161\u3267\u0000)\u3275\u0000)\u1161\u3268\u0000)\u3276\u0000)\u1161\u3269\u0000)\u3277\u0000)\u1161\u326a\u0000)\u3278\u0000)\u1161\u326b\u0000)\u3279\u0000)\u1161\u326c\u0000)" +
|
||||||
"\u0117\u0304\u233f\u00f7\u2192\u0100\u0110\u0112\u012a\u20ad\u00a3\u014c\u016a\u2340\u00af\u2212\u0101\u0111\u0113\u012b\u00a3\u014d\u016b\u234f\u2356\u2296\u0000 !'-.:<=>ABCDEFGHIMNOPRSTWXYZ^abcdefghimnoprs" +
|
"\u327a\u0000)\u1161\u326d\u0000)\u327b\u0000)\u32d0\u0000)\u32d1\u0000)\u32d2\u0000)\u32d3\u0000)\u32d4\u0000)\u32d5\u0000)\u32d6\u0000)\u32d7\u0000)\u32d8\u0000)\u32d9\u0000)\u32da\u0000)\u32db\u0000)\u32dc\u0000)\u32dd\u0000)\u32de\u0000)\u32df\u0000)\u32e0\u0000)\u32e1\u0000)\u32e2\u0000)\u32e3\u0000)\u32e4\u0000" +
|
||||||
"twxyz\u00b4\u015a\u015b\u0160\u0161\u017f\u1e62\u1e63\u25cb\u02d9\u0000Ss\u1e68\u1e69\u0000Ss\u1e64\u1e65\u00b7\u2026\u2235\u2039\u2022\u203a\u0226\u1e02\u010a\u1e0a\u0116\u1e1e\u0120\u1e22\u0130\u1e40\u1e44\u022e\u1e56\u1e58\u1e60\u1e6a\u1e86\u1e8a\u1e8e\u017b\u00b7\u0227\u1e03\u010b\u1e0b\u0117\u1e1f\u0121\u1e23\u0131\u1e41\u1e45\u022f\u1e57\u1e59\u1e61\u1e6b\u1e87\u1e8b\u1e8f\u017c" +
|
")\u32e5\u0000)\u32e6\u0000)\u32e7\u0000)\u32e8\u0000)\u32e9\u0000)\u32ea\u0000)\u32eb\u0000)\u32ec\u0000)\u32ed\u0000)\u32ee\u0000)\u32ef\u0000)\u32f0\u0000)\u32f1\u0000)\u32f2\u0000)\u32f3\u0000)\u32f4\u0000)\u32f5\u0000)\u32f6\u0000)\u32f7\u0000)\u32f8\u0000)\u32f9\u0000)\u32fa\u0000)\u32fb\u0000)\u32fc\u0000" +
|
||||||
"\u0000Ss\u1e64\u1e65\u1e64\u1e65\u1e66\u1e67\u1e9b\u1e68\u1e69\u2299\u0000-/<=BCDGHILOTZ^bcdghilmotuvz\u0294\u0413\u041a\u0433\u043a\u04ae\u04af\u2190\u2192\u2194\u2395\u233f\\\\\u2260\u0243\u20a1\u0110\u01e4\u0126\u0197\u0141\u00d8\u0166\u01b5|\u0180\u00a2\u0111\u01e5" +
|
")\u32fd\u0000)\u32fe\u0000)\u3280\u0000)\u3286\u0000)\u3282\u0000)\u32a4\u0000)\u32a6\u0000)\u32a5\u0000)\u3288\u0000)\u3281\u0000)\u3284\u0000)\u32ad\u0000)\u32a1\u0000)\u329d\u0000)\u3287\u0000)\u3285\u0000)\u32a2\u0000)\u3298\u0000)\u32a9\u0000)\u3289\u0000)\u32af\u0000)\u329e\u0000)\u32a8\u0000)\u3294\u0000" +
|
||||||
"\u0127\u0268\u0142\u20a5\u00f8\u0167\u00b5\u221a\u01b6\u02a1\u0492\u049e\u0493\u049f\u04b0\u04b1\u219a\u219b\u21ae\u2341\u0000*3~\u00b0\u2189\u236c\u0000123456789^\u00000\u2152\u00bd\u2153\u00bc\u2155\u2159\u2150\u215b\u2151\u00b9\u000035^\u2154\u2156\u00b2\u0000458^\u00be\u2157\u215c\u00b3\u00005\u2158\u000068" +
|
")\u3283\u0000)\u328f\u0000)\u32b0\u0000)\u329b\u0000)\u32ab\u0000)\u32aa\u0000)\u32a7\u0000)\u3290\u0000)\u328a\u0000)\u3292\u0000)\u328d\u0000)\u3291\u0000)\u32a3\u0000)\u328c\u0000)\u329f\u0000)\u328b\u0000)\u3295\u0000)\u329a\u0000)\u32ac\u0000)\u3293\u0000)\u3297\u0000)\u3299\u0000)\u3296\u0000)\u32ae\u0000" +
|
||||||
"\u215a\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u00f7\u2234\u2360\u0000 AEIOSTU_aeiostu\u02db\u0104\u0118\u012e\u01ea\u0218\u021a\u0172\u236e\u0105\u0119\u012f\u01eb\u0219\u021b\u0173\u0000 \"'-/3<=>CDELNRSTZ_" +
|
")\u329c\u0000)\u328e\u0000)\u32a0\u0000)-\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c1\u03c5\u03c9]}\u1f08\u1f18\u1f28\u1f38\u1f48\u1f68\u1f00\u1f10\u1f20\u1f30\u1f40\u1fe4\u1f50\u1f60\u0000'0AUau\u00a8\u25cb\u0000Aa\u00c5\u016e\u2363\u235f\u0000+-OUou#\u00b1\u01a0\u01af\u0000 \"'" +
|
||||||
"cdelnrstz\u2395\u02c7\u201c\u2018\u2190\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2264\u010d\u010f\u011b\u013e\u0148\u0159\u0161\u0165\u017e\u2343\u0000/<>CELNOPRTUWY^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395" +
|
",-ACDEGHIKLNORSTUacdeghiklnorstu\u00ac\u0104\u00c7\u1e10\u0118\u0122\u1e28\u012e\u0136\u013b\u0145\u01ea\u0156\u015e\u0162\u0172\u0000 ()+,-./:>ADEIKLOU\\^_ad" +
|
||||||
"\u2260\u21d0\u21d2\u20ac\u20ac\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ac\u20ab\u20ac\u0151\u20bd\u20b9\u0171\u21d3\u00a5\u20ac\u20bd\u20ac\u04f2\u20bd\u04f3\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395^\u201d\u2019\u226f\u22c4\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2265\u00e2\u00ea\u00ee\u00f4\u00fb\u2369" +
|
"eilou\u2191\u2193\u25cb\u0000 -.\u00ad\u2014\u2013\u0000Ee\uFFFF\u0116\u0304\uFFFF\u0117\u0304\u233f\u00f7\u0100\u0110\u0112\u012a\u20ad\u00a3\u014c\u016a\u2340\u2212\u234f\u2356\u2296\u0000 !'-.:<=>ABCDEFGHIMNOPRSTWXYZ^ab" +
|
||||||
"\u2344\u0000!+?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u1edf\u1eed\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u1ea9\u1ec3\u1ed5\u1ea3\u0000Aa\u1eb2\u1eb3\u1ebb\u1ec9" +
|
"cdefghimnoprstwxyz\u00b4\u015a\u015b\u0160\u0161\u017f\u1e62\u1e63\u25cb\u02d9\u0000Ss\u1e68\u1e69\u0000Ss\u1e64\u1e65\u00b7\u2026\u2235\u2039\u2022\u203a\u0226\u1e02\u010a\u1e0a\u0116\u1e1e\u0120\u1e22\u0130\u1e40\u1e44\u022e\u1e56\u1e58\u1e60\u1e6a\u1e86\u1e8a\u1e8e\u017b\u0131\u0000Ss\u1e66\u1e67\u1e9b\u2299" +
|
||||||
"\u1ecf\u1ee7\u1ef7\u1ea8\u1ec2\u1ed4\u1ea9\u1ec3\u1ed5\u1eb2\u1eb3\u1ede\u1edf\u1eec\u1eed\u2370\u0000\"'(*,-;>AET^_`~\u00a8\u00b4\u00c4\u00c1\u0102\u00c5\u0104\u0100\u0104\u00c2\u00c5\u00c6@\u00c2\u0100\u00c0\u00c3\u00c4\u00c1\u0000.|\u1e02\u0e3f\u0000',./<=CEOr|\u0106\u00c7\u010a\u20a1" +
|
"\u0000-/<=BCDGHILOTZ^bcdghilmotuvz\u0294\u0413\u041a\u0433\u043a\u04ae\u04af\u2190\u2192\u2194\u2395\\\u2260\u0243\u20a1\u01e4\u0126\u0197\u0141\u00d8\u0166\u01b5|\u00a2\u0127\u20a5\u00b5\u221a\u02a1\u0492\u049e\u0493\u049f\u04b0\u04b1\u219a\u219b\u21ae\u2341\u0000*3~" +
|
||||||
"\u010c\u20ac\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H\u1e10\u0110\u1e0a\u010e\u00d0\u0000\"',-.;<=>E^_`\u00a8\u00b4\u00cb\u00c9\u0118\u0112\u0116\u0118\u011a\u20ac\u00ca\u018f\u00ca\u0112\u00c8\u00cb\u00c9\u0000.Uilr\u1e1e\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000(,.TU|\u02d8" +
|
"\u2189\u236c\u0000123456789^\u00000\u2152\u00bd\u2153\u00bc\u2155\u2159\u2150\u215b\u2151\u000035^\u2154\u2156\u0000458^\u00be\u2157\u215c\u00005\u2158\u000068\u215a\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u2234\u2360\u0000 AEIOSTU_" +
|
||||||
"\u011e\u0122\u0120>\u011e\u20b2\u011e\u0000,\u1e28\u0000\"',-.;>J^_`j~\u00a8\u00b4\u00cf\u00cd\u012e\u012a\u0130\u012e\u00ce\u0132\u00ce\u012a\u00cc\u0132\u0128\u00cf\u00cd\u0000'\u00b4\uFFFF\u004a\u0301\uFFFF\u004a\u0301\u0000,-\u0136\u20ad\u0000',-/<=LTV\u0139\u013b\u00a3\u0141\u013d\u20a4\u0000" +
|
"aeiostu\u02db\u0218\u021a\u236e\u0219\u021b\u0000 \"'-/3<=>CDELNRSTZ_cdelnrstz\u2395\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2343\u0000/<>CELNOPRTUW" +
|
||||||
"A\u0000P\uFFFF\ud83d\udd96<|\u0000.\u1e40\u0000',<=GNOo~\u0143\u0145\u0147\u20a6\u014a\u2115\u2116\u2116\u00d1\u0000\"',-/;>ACERSXY^_`~\u00a8\u00b4\u00d6\u00d3\u01ea\u014c\u00d8\u01ea\u00d4\u24b6\u00a9\u0152\u00ae\u00a7\u00a4\u262e\u00d4\u014c\u00d2\u00d5\u00d6\u00d3\u0000" +
|
"Y^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395\u21d0\u21d2\u20ac\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ab\u21d3\u04f2\u04f3\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395\u226f\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2369\u2344\u0000!+" +
|
||||||
"!.=Pt\u00b6\u1e56\u20bd\u00b6\u20a7\u0000Q\u211a\u0000',<=ORs\u0154\u0156\u0158\u20b9\u00ae\u211d\u20a8\u0000!',.;<MOS|\u00a7\u015a\u015e\u1e60\u0218\u0160\u2120\u00a7\u1e9e$\u0000,-./;<=HM\u0162\u0166\u1e6a\u0166\u021a\u0164\u20ae\u00de\u2122\u0000 !\"" +
|
"?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u0000Aa\u1eb2\u2370\u0000\"'(*,-;>AET" +
|
||||||
"'*,-;>AEGIOU^_`aegiou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u1e1d\u0000Aa\u1eb6\u1eb7\u00dc\u00da\u016e\u0172\u016a\u0172\u00db\u0102\u0114\u011e\u012c\u014e\u016c\u00db\u016a\u00d9\u0103\u0115\u011f" +
|
"^_`~\u00a8\u00b4\u0102\u00c6@\u00c0\u00c3\u0000.|\u0e3f\u0000',./<=CEOr|\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H\u00d0\u0000\"',-.;<=>E^_`\u00a8\u00b4\u018f\u00c8\u0000.Uilr\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000" +
|
||||||
"\u012d\u014f\u016d\u0168\u00dc\u00da\u0000Ee\u1e1c\u1e1d\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e\u0000L|\u0000=^\u20a9\u0174\u0000O\u00a4\u0000\"'=^\u00a8\u00b4\u0178\u00dd\u00a5\u0176\u0178\u00dd\u0000'.<Z\u0179\u017b\u017d\u2124\u0000]\u2337\u0000-?o\u2395\u25cb\u2340\u262d\u0000" +
|
"(,.TU|\u02d8\u011e>\u20b2\u0000,\u0000\"',-.;>J^_`j~\u00a8\u00b4\u0132\u00cc\u0128\u0000'\u00b4\u0000,-\u0000',-/<=LTV\u0000A\u0000P\uFFFF\ud83d\udd96<\u0000.\u0000',<=GNOo~\u014a\u2115\u2116\u00d1\u0000" +
|
||||||
"/\uFFFF\ud83d\ude4c\u2342\u2349\u0000[\u2337\u0000!()+-./0123456789=ACEGHIJOSUWYZ_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd" +
|
"\"',-/;>ACERSXY^_`~\u00a8\u00b4\u0152\u00ae\u00a7\u00a4\u262e\u00d2\u00d5\u0000!.=Pt\u00b6\u20a7\u0000Q\u211a\u0000',<=ORs\u211d\u20a8\u0000!',.;<MOS|\u2120\u1e9e$\u0000,-./;<=HM" +
|
||||||
"\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u1ead\u1ec7\u1ed9\u207d\u207e\u207a\u207b\u00b7|\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u00c2\u0108\u00ca\u011c\u0124\u00ce\u0134\u00d4\u015c\u00db\u0174\u0176\u1e90\u0000ahijlnorswxy\u0263" +
|
"\u00de\u2122\u0000 !\"'*,-;>AEGIOU^_`aegiou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u1e1d\u0000Aa\u1eb6\u0114\u012c\u014e\u016c\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u0000E" +
|
||||||
"\u0266\u0279\u027b\u0281\u0295\u00aa\u02b0\u2071\u02b2\u02e1\u207f\u00ba\u02b3\u02e2\u02b7\u02e3\u02b8\u02e0\u02b1\u02b4\u02b5\u02b6\u02e4\u00e2\u0109\u00ea\u011d\u0125\u00ee\u0135\u00f4\u015d\u00fb\u0175\u0177\u1e91\u2191\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0430\u0302\uFFFF\u0435\u0302\uFFFF\u0438\u0302\uFFFF\u043e\u0302\uFFFF\u0440\u0302\uFFFF\u0443" +
|
"e\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e\u0000Lcsz\u0000=^\u0174\u0000O\u0000\"'=^\u00a8\u00b4\u0176\u0000'.<Z\u2124\u0000]\u2337\u0000-?not\u2395\u25cb\uFFFF\\\u006e\u0000/\uFFFF\ud83d\ude4c\uFFFF\\\u0074\u2342\u2349\u0000[\u0000!()" +
|
||||||
"\u0302\u1ec6\u1ec7\u1ed8\u1ed9\u207b\u3192\u319c\u3194\u3196\u3198\u319b\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=>AEGIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226" +
|
"+-./0123456789=ACEGHIJOSUWYZ_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730" +
|
||||||
"\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u00af\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u01d6\u2358\u208d\u208e\u208a\u208b\u0000AEOaeo\u01e0" +
|
"\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u0108\u011c\u0124\u0134\u015c\u1e90\u0000ahijlnorswxy\u0263\u0266\u0279\u027b\u0281\u0295\u02e0\u02b1\u02b4\u02b5\u02b6\u02e4\u0175\u0177\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0440\u0302\u3192\u319c\u3194\u3196\u3198\u319b" +
|
||||||
"\uFFFF\u0116\u0304\u0230\u01e1\uFFFF\u0117\u0304\u0231\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u0000Oo\u01ec\u01ed\u2264\u208c\u2265\u0100\u0112\u1e20\u012a\u014c\u016a\u0232\u00af\u00af\u0101\u0113\u1e21\u012b\u014d\u016b\u0233\u0000Oo\u022c\u022d\u01de\u01e2\u022c\u022a\u01d5\u01df\u01e3\u022d\u022b\u01d6\u01e0\u01e1\u1fb9\u1fd9\u1fe9\u1fb1\u1fd1\u1fe1\uFFFF\u0410\u0304\uFFFF\u0415\u0304" +
|
"\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=>AEGIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420" +
|
||||||
"\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\u04e3\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u04ef\u1e38\u1e39\u1e5c\u1e5d\u2359\u2377\u208b\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"()+AEINOUWY^_`abeinouwy\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4" +
|
"\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u2358\u0000AEOaeo\u01e0\u0230\u01e1\u0231\u0000Oo\u01ec\u01ed\u1e20\u0232\u1e21\u0233\u0000Oo\u022c\u022d\u01e2" +
|
||||||
"\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000Uu\u03b9\u03c5\u01db\u01dc\u1fd2\u1fe2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33" +
|
"\u01e3\u1fb9\u1fd9\u1fe9\u1fb1\u1fd1\u1fe1\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\u04e3\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u04ef\u2359\u2377\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"()+AEINOUWY^_`abeinouwy" +
|
||||||
"\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42\u1f52\u1f62\u0000OUou\u1edc\u1eea\u1edd\u1eeb\u00c0\u00c8\u00cc\u01f8\u00d2\u00d9\u1e80\u1ef2\u0000AEOaeo\u1ea6\u1ec0\u1ed2\u1ea7\u1ec1\u1ed3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u0000\u0410\u0415" +
|
"\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000Uu\u03b9\u03c5\u01db\u1fd2\u1fe2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b" +
|
||||||
"\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\uFFFF\u0430\u030f\uFFFF\u0435\u030f\uFFFF\u0438\u030f\uFFFF\u043e\u030f\uFFFF\u0440\u030f\uFFFF\u0443\u030f\u00e0\u0000Aa\u1eb0\u1eb1\u00e8\u00ec\u01f9\u00f2\u00f9\u1e81\u1ef3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u1ea6\u1ec0\u1ed2\u01db" +
|
"\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42\u1f52\u1f62\u0000OUou\u1edc\u1eea\u01f8\u1e80\u1ef2\u0000AEOaeo\u1ea6\u1ec0\u1ed2\u1ea7\u1ec1\u1ed3\u0000EOeo\u1e14\u1e50\u1e15\u1e51\u0000\u0410\u0415" +
|
||||||
"\u1ea7\u1ec1\u1ed3\u01dc\u1eb0\u1eb1\u1e14\u1e15\u1e50\u1e51\u1edc\u1edd\u1eea\u1eeb\u1fba\u1fc8\u1fca\u1fda\u1ff8\u1fea\u1ffa\u1f70\u1f72\u1f74\u1f76\u1f78\u1f7a\u1f7c\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\u0450\u045d\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>^_`ae~\u00a8" +
|
"\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\uFFFF\u0430\u030f\uFFFF\u0435\u030f\uFFFF\u0438\u030f\uFFFF\u043e\u030f\uFFFF\u0440\u030f\uFFFF\u0443\u030f\u0000Aa\u1eb0\u1eb1\u01f9\u1e81\u1ef3\u0000EOeo\u1fba\u1fc8\u1fca\u1fda\u1ff8\u1fea\u1ffa\u1f70\u1f72\u1f74\u1f76\u1f78\u1f7a" +
|
||||||
"\u00b4\u00e4\u00e1\u0103\u00e5\u0105\u0101\u0105\u00e2\u00e2\u0101\u00e0\u00e5\u00e6\u00e3\u00e4\u00e1\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u1eb6\u1eb7\u0000Ee\u1e1c\u1e1d\u1e03\u0102\u0114\u011e\u012c\u014e\u016c\u0103\u0115\u011f\u012d\u014f" +
|
"\u1f7c\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\u0450\u045d\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>^_`ae~\u00a8\u00b4\u00e6\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415" +
|
||||||
"\u016d\u0000Ee\u1e1c\u1e1d\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01da\u0107" +
|
"\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u0000Ee\u0000Ee\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01cd\u01e6\u021e\u01cf\u01e8\u01d1\u01d3" +
|
||||||
"\u00e7\u010b\u00a2\u010d\u20ac\u01cd\u010c\u010e\u011a\u01e6\u021e\u01cf\u01e8\u013d\u0147\u01d1\u0158\u0160\u0164\u01d3\u017d\u01ce\u010d\u010f\u011b\u01e7\u021f\u01d0\u01f0\u01e9\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u00a2\u01d9\u01da\u0000,-.<=hi\u1e11\u0111\u1e0b\u010f\u20ab\u00f0\u2300\u0000\"',-.;<=>^_`e\u00a8\u00b4" +
|
"\u01e7\u021f\u01f0\u01e9\u0000,-.<=hi\u00f0\u2300\u0000\"',-.;<=>^_`e\u00a8\u00b4\u0259\u0000.Sfils\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u0000(,.Ut\u02d8\u0000,\u0000\"',-.;>^_`j~\u00a8\u00b4\u0133\u0000'" +
|
||||||
"\u00eb\u00e9\u0119\u0113\u0117\u0119\u011b\u20ac\u00ea\u00ea\u0113\u00e8\u0259\u00eb\u00e9\u0000.Sfils\u1e1f\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u017f\u0000(,.Ut\u02d8\u011f\u0123\u0121\u011f>\u011f\u0000,\u1e29\u0000\"',-.;>^_`j~\u00a8\u00b4\u00ef\u00ed\u012f\u012b\u0131\u012f\u00ee\u00ee\u012b\u00ec" +
|
"\u00b4\u0000,k\u0138\u0000',-/<tv\u0000./u\u0000',<g~\u014b\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u0153\u1e98\u1e99\u0000!.=o\u0000o\uFFFF\ud83d\udca9\u0000',<=\u0000!'," +
|
||||||
"\u0133\u0129\u00ef\u00ed\u0000'\u00b4\uFFFF\u006a\u0301\uFFFF\u006a\u0301\u0000,k\u0137\u0138\u0000',-/<tv\u013a\u013c\u00a3\u0142\u013e<|\u0000./u\u1e41\u20a5\u00b5\u0000',<g~\u0144\u0146\u0148\u014b\u00f1\u0000\"',-/;>AU^_`aceorsuw" +
|
".;<mos\u00b8\u00df\u0000,-./;<hm\u00fe\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u0000/ACDEGHIKNORSTUZacdeghijkl" +
|
||||||
"xy~\u00a8\u00b4\u00f6\u00f3\u01eb\u014d\u00f8\u01eb\u00f4\u00c5\u016e\u00f4\u014d\u00f2\u00e5\u00a9\u0153\u00b0\u00ae\u00a7\u016f\u1e98\u00a4\u1e99\u00f5\u00f6\u00f3\u0000!.=o\u00b6\u1e57\u20bd\u0000o\uFFFF\ud83d\udca9\u0000',<=\u0155\u0157\u0159\u20b9\u0000!',.;<mos\u00b8\u00a7\u015b\u015f\u1e61\u0219\u0161\u2120\u00a7\u00df" +
|
"norstuz|\u0000^\u0000ox\u00d7\u0000\"'=^\u00a8\u00b4\u0000'.<\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEINOUVY^a" +
|
||||||
"\u015f\u0000,-./;<hm\u0163\u0167\u1e6b\u0167\u021b\u0165\u00fe\u2122\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u00fc\u00fa\u016f\u0173\u016b\u00b5\u0173\u00fb\u0102\u0114\u011e\u012c\u014e\u016c\u00fb\u016b\u00f9\u0103\u0115\u011f\u012d\u014f\u016d\u0169\u00fc\u00fa\u0000" +
|
"beinouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u1fe7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0e\u1f2e\u1f3e\u1f6e\u1f06" +
|
||||||
"/ACDEGHIKNORSTUZacdeghijklnorstuz|\u221a\u01cd\u010c\u010e\u011a\u01e6\u021e\u01cf\u01e8\u0147\u01d1\u0158\u0160\u0164\u01d3\u017d\u01ce\u010d\u010f\u011b\u01e7\u021f\u01d0\u01f0\u01e9|\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u2193\u0000^\u0175\u0000" +
|
"\u1f26\u1f36\u1f56\u1f66\u0000OUou\u1ee0\u1eee\u1ebc\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u1ed7\u0000Aa\u1eb4\u1e7d\u1ef9\u2248\u2368\u1fb6\u1fc6\u1fd6\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u1fed\u1fc1\u2362\u2364\u2361\u2365\u0000!" +
|
||||||
"ox\u00a4\u00d7\u0000\"'=^\u00a8\u00b4\u00ff\u00fd\u00a5\u0177\u00ff\u00fd\u0000'.<\u017a\u017c\u017e\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u0e3f\u20b5\u20b2$\u2191\u00a2\u2193\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEIN" +
|
"\".;AEGIOUYaegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u0000AOUaou\u0000AOao\u0000O" +
|
||||||
"OUVY^abeinouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u1fe7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5" +
|
"o\u0000Oo\u2351\u0000\"()+,/ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5" +
|
||||||
"\u03c9\u1f0e\u1f2e\u1f3e\u1f6e\u1f06\u1f26\u1f36\u1f56\u1f66\u0000OUou\u1ee0\u1eee\u1ee1\u1eef\u236c\u00c3\u1ebc\u0128\u00d1\u00d5\u0168\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u1eab\u1ec5\u1ed7\u00e3\u0000Aa\u1eb4\u1eb5\u1ebd\u0129\u00f1\u00f5\u0169\u1e7d\u1ef9\u236d\u2248\u2368\u1eaa\u1ec4\u1ed6\u1eab\u1ec5\u1ed7\u1eb4\u1eb5\u1ee0\u1ee1\u1eee\u1eef\u1fb6\u1fc6\u1fd6" +
|
"\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf" +
|
||||||
"\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u0385\u2363\u2369\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u1fed\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u1fc1\u0385\u2362\u2364\u2361\u2365\u0000!\".;AEGIOUYaegiouy~\u00c4\u00c6" +
|
"\u03c5\u03c9\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000OUou\u0000Cc\u0000Oo\u0000AEOaeo\u0000EOeo\u0000Aa\u0000OUou\u0000EOeo\u0000Cc\u0000CDEGHKLNRSTcdegh" +
|
||||||
"\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u1e38\u1e5c\u1e39\u1e5d\u0000AOUaou\u01de\u022a\u01d5\u01df\u022b\u01d6\u0000AOao\u01e0\u0230\u01e1\u0231\u0000Oo\u01ec\u01ed\u0100\u0112\u1e20" +
|
"klnrst\u0228\u0000\u2395\u2339\u0000Gg\u0000'\u0000'\u0000'\u0000\"'\u0000'\u0000\"'\u0000'\u0000'\u0000'\u0000'\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9" +
|
||||||
"\u012a\u014c\u016a\u0232\u0101\u0113\u1e21\u012b\u014d\u016b\u0233\u0000Oo\u022c\u022d\u01de\u01e2\u022c\u022a\u01d5\u01df\u01e3\u022d\u022b\u01d6\u01e0\u01e1\u1fb9\u1fd9\u1fe9\u1fb1\u1fd1\u1fe1\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\u04e3\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u04ef\u1e38\u1e39\u1e5c\u1e5d\u2351\u0000\"()+" +
|
"\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2" +
|
||||||
",/ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169" +
|
"\u1ff2\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u0000\"'\u0000'\u0000=\u0000" +
|
||||||
"\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u1e2e\u01d7\u1e2f\u01d8\u0390\u03b0\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0d\u1f1d" +
|
"=\u0000\u041e\u043e\u0000=\u0000=\u0000\u0430\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a" +
|
||||||
"\u1f2d\u1f3d\u1f4d\u1f5d\u1f6d\u1f05\u1f15\u1f25\u1f35\u1f45\u1f55\u1f65\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0c\u1f1c\u1f2c\u1f3c\u1f4c\u1f6c\u1f04\u1f14\u1f24\u1f34\u1f44\u1f54\u1f64\u0000OUou\u1eda\u1ee8\u1edb\u1ee9\u0000Cc\u1e08\u1e09\u0000Oo\u01fe\u01ff\u00c1\u0106\u00c9\u01f4\u00cd\uFFFF\u004a\u0301\u1e30\u0139\u1e3e\u0143\u00d3\u1e54" +
|
"\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2c\uFFFF\ufb2a\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u0623\u0624\u0626\u06c2\u06d3\u06c0\u0000\u0627" +
|
||||||
"\u0154\u015a\u00da\u1e82\u00dd\u0179\u0000AEOaeo\u1ea4\u1ebe\u1ed0\u1ea5\u1ebf\u1ed1\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u00e1\u0000Aa\u1eae\u1eaf\u0107\u00e9\u01f5\u00ed\uFFFF\u006a\u0301\u1e31\u013a\u1e3f\u0144\u00f3\u1e55\u0155\u015b\u00fa\u1e83\u00fd\u017a\u0000OUou\u1e4c\u1e78\u1e4d\u1e79\u0000EOeo\u1e16\u1e52\u1e17\u1e53\u0000" +
|
"\u0625\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94" +
|
||||||
"Cc\u1e08\u1e09\u1ea4\u01fa\u01fc\u1e08\u1ebe\u1e2e\u1ed0\u1e4c\u01fe\u01d7\u1ea5\u01fb\u01fd\u1e09\u1ebf\u1e2f\u1ed1\u1e4d\u01ff\u01d8\u1eae\u1eaf\u1e16\u1e17\u1e52\u1e53\u1e78\u1e79\u1eda\u1edb\u1ee8\u1ee9\u0386\u0388\u0389\u038a\u038c\u038e\u038f\u03ac\u03ad\u03ae\u03af\u03cc\u03cd\u03ce\uFFFF\u0410\u0301\u0403\uFFFF\u0415\u0301\uFFFF\u0418\u0301\u040c\uFFFF\u041e\u0301\uFFFF\u0420\u0301\uFFFF\u0423\u0301\uFFFF\u042b" +
|
"\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51" +
|
||||||
"\u0301\uFFFF\u042d\u0301\uFFFF\u042e\u0301\uFFFF\u042f\u0301\uFFFF\u0430\u0301\u0453\uFFFF\u0435\u0301\uFFFF\u0438\u0301\u045c\uFFFF\u043e\u0301\uFFFF\u0440\u0301\uFFFF\u0443\u0301\uFFFF\u044b\u0301\uFFFF\u044d\u0301\uFFFF\u044e\u0301\uFFFF\u044f\u0301\u0000CDEGHKLNRSTcdeghklnrst\u00c7\u1e10\u0228\u0122\u1e28\u0136\u013b" +
|
"\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123" +
|
||||||
"\u0145\u0156\u015e\u0162\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u0000\u2395\u2339\u0000Gg\u011e\u011f\u0000'\u0386\u0000'\u0388\u0000'\u0389\u0000\"'\u03aa\u038a\u0000'\u038c\u0000\"'\u03ab\u038e\u0000'\u038f\u0000'\u03ac\u0000'\u03ad\u0000'\u03ae\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u03ca" +
|
"\u1124\u1126\u0000\u110b\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153" +
|
||||||
"\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1" +
|
"\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u0000\u1100\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181" +
|
||||||
"\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2\u1ff2\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9" +
|
"\u1182\u1183\u116c\u0000\u1175\u0000\u1163\u1164\u1167\u1169\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b" +
|
||||||
"\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u03cc\u0000\"'\u03cb\u03cd\u0000'\u03ce\u0000=\u20ac\u0000=\u20bd\u0000\u041e\u043e\u2116\u2116\u0000=\u20ac\u0000=\u20bd\u0000\u0430\u00a7\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0" +
|
"\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3" +
|
||||||
"\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF" +
|
"\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u0000\u11a8\u11ba\u0000\u11ba\u11bc\u11c2\u0000\u11ba\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef" +
|
||||||
"\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2c\uFFFF\ufb2a\uFFFF\ufb2c\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b\uFFFF\ufb2d\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u0623\u0624\u0626\u06c2\u06d3\u06c0\u0000\u0627\u0625\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d" +
|
"\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u0000\u11a8\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2347\u0000-\u2395\u2350\u0000|\u2395\u2348\u0000-\u2395\u2357\u0000/\u2204\u0000_|\u2395\u234d\u0000|~\u00a8\u2395\u2354\u0000/\u2209\u0000_\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb" +
|
||||||
"\u0929\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57" +
|
"\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2353\u0000~\u2227\u2395\u234c\u0000\u2218\u0000|\u0000/\u2247\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u236f\u0000/\u0000/\u2270\u0000/\u2271\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/" +
|
||||||
"\u0d4a\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113" +
|
"\u22e1\u0000/_|\u2284\u0000/_\u2285\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2336\u0000_\u2218\u22a4\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u233a\u0000_\u0000_\u0000_\u0000'/:<=" +
|
||||||
"\u1114\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123\u1124\u1126\u0000\u110b\u112c\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110" +
|
">?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u0000/\u2adc\u0000 !\"%'()*,-.0123456789<=>?[]^_abcehlopruyz" +
|
||||||
"\u1111\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u1134\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u1122\u1123\u1124" +
|
"{|}\u00a3\u00a7\u00b1\u00d7\u0398\u03a0\u03a3\u03b2\u03b3\u03b5\u03b8\u03ba\u03c0\u03c1\u03c3\u03c5\u03c6\u05d1\u05d3\u05d5\u05d6\u05d7\u05dd\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0901\u0902\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090f\u0910\u0913\u0914\u0915\u0916\u0917\u0918\u091a" +
|
||||||
"\u1125\u1126\u0000\u1100\u1133\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181\u1182\u1183\u116c\u0000\u1175\u116b\u0000\u1163\u1164\u1167\u1169" +
|
"\u091b\u091c\u091d\u091f\u0921\u0922\u0923\u0925\u0926\u0928\u092a\u092b\u092c\u092f\u0930\u0933\u0935\u0936\u0937\u093c\u093d\u093e\u093f\u0940\u0941\u0943\u0947\u0948\u094b\u094c\u0953\u0956\u0962\u0964\u0970\u2020\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2208\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22b7\uFFFF\u006e\u0062\u0073\u0070\uFFFF\u0066\u0031\u0030\uFFFF\u0066\u0031\uFFFF\u0066" +
|
||||||
"\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u118b\u1170\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f" +
|
"\u0032\uFFFF\u0066\u0033\uFFFF\u0066\u0034\uFFFF\u0066\u0035\uFFFF\u0066\u0036\uFFFF\u0066\u0037\uFFFF\u0066\u0038\uFFFF\u0066\u0039\u20b1\u20b4\u20bf\uFFFF\u0072\u0065\u006d\u006f\u0076\u0065\u0064\u2213\u2219\u03f4\u220f\u2211\u03d0\u0263\u03f5\u03d1\u03f0\u03d6\u03f1\u03c2\u03d2\u03d5\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0073\u0065\u0067\u006f\u006c\uFFFF\u0064\u0061\u0067\u0065\u0073\u0068\uFFFF\u0068\u006f\u006c\u0061" +
|
||||||
"\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u11c4\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2" +
|
"\u006d\uFFFF\u0071\u0075\u0062\u0075\u0074\u0073\uFFFF\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0073\u0068" +
|
||||||
"\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u11cc\u0000\u11a8\u11ba\u11d1\u11d2\u0000\u11ba\u11bc\u11c2\u11d3\u11d5\u11d4\u0000\u11ba\u11d6\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef" +
|
"\u0065\u0076\u0061\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1" +
|
||||||
"\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u11de\u0000\u11a8\u11ed\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2345\u2347\u0000-\u2395\u234f\u2350\u0000|\u2395\u2346\u2348\u0000-\u2395\u2356\u2357\u0000/\u2204\u0000_|\u2395\u2359\u234b\u234d\u0000|~\u00a8\u2395\u2352\u236b\u2362\u2354\u0000/\u2209\u0000_" +
|
"\u22c2\u22c3\u222e\u22b6\u0000\u00df\u0131\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0" +
|
||||||
"\u2377\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb\u235b\u2364\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2372\u22c4\u2353\u0000~\u2227\u2395\u2371\u22c4\u234c\u0000\u2218\u235d\u0000|\u2366\u0000/\u2247\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u2262\u236f\u0000/\u2262\u0000/\u2270\u0000/\u2271\u0000" +
|
"\u0ac2\u0ac8\u0acc\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c").toCharArray();
|
||||||
"/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/\u22e1\u0000/_|\u2284\u2286\u2367\u0000/_\u2285\u2287\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2361\u2351\u2355\u2336\u0000_\u2218\u22a4\u234a\u234e\u2336\u0000/\u22ad\u0000/\u22ae" +
|
|
||||||
"\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u235a\u233a\u0000_\u2378\u0000_\u2379\u0000_\u2376\u0000'/:<=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u235e\u2341\u2360\u2343\u2338\u2344\u2370\u2342\u2339\u2347\u2350\u2348\u2357\u234d\u2354\u233b\u2353\u234c\u236f\u233a\u233c" +
|
|
||||||
"\u0000*-.\\_|\u00a8\u2218\u2395\u235f\u2296\u2299\u2349\u235c\u233d\u2365\u233e\u233c\u0000/\u2adc\u0000cdeghklnrst\u00e7\u1e11\u0229\u0123\u1e29\u0137\u013c\u0146\u0157\u015f\u0163\u0000ou\u00f2\u00f3\u00f5\u00f9\u00fa\u0169\u1ecd\u1ecf\u1ee5\u1ee7\u01a1\u01b0\u1edd\u1edb\u1ee1\u1eeb\u1ee9\u1eef\u1ee3\u1edf\u1ef1\u1eed\u0000a" +
|
|
||||||
"u\u00e5\u016f\u0000acdeilnorstuz\u00fc\u01ce\u010d\u010f\u011b\u01d0\u013e\u0148\u01d2\u0159\u0161\u0165\u01d4\u017e\u01da\u0000aceghijouz\u015d\u00e2\u0109\u00ea\u011d\u0125\u00ee\u0135\u00f4\u00fb\u1e91\u015d\u0000 ou\u02dd\u0151\u0171\u0000.01234567" +
|
|
||||||
"89\u2502\u2500\u2514\u2534\u2518\u251c\u253c\u2524\u250c\u252c\u2510\u0000aeiou\u00fc\u00e0\u00e8\u00ec\u00f2\u00f9\u01dc\u0000abcegklnorst\u2c65\u2422\u023c\u0247\uFFFF\ua7a1\uFFFF\ua743\u0142\uFFFF\ua7a5\u00f8\uFFFF\ua7a7\uFFFF\ua7a9\u2c66\u0000aeiouy\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1ea3\u1ebb\u1ec9" +
|
|
||||||
"\u1ecf\u1ee7\u1ef7\u1ea9\u1ec3\u1ed5\u1eb3\u1edf\u1eed\u0000()+-0123456789=aehijklmnoprstuvx\u208d\u208e\u208a\u208b\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u208c\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64" +
|
|
||||||
"\u1d65\u2093\u0000aeiouy\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u0000aeiouy\u00e2\u00ea\u00f4\u0103\u01a1\u01b0\u1ea1\u1eb9\u1ecb\u1ecd\u1ee5\u1ef5\u1ead\u1ec7\u1ed9\u1eb7\u1ee3\u1ef1\u0000()+-0123456789=abcdefghijklmnop" +
|
|
||||||
"rstuvwxyz\u207d\u207e\u207a\u207b\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079\u207c\u1d43\u1d47\u1d9c\u1d48\u1d49\u1da0\u1d4d\u02b0\u2071\u02b2\u1d4f\u02e1\u1d50\u207f\u1d52\u1d56\u02b3\u02e2\u1d57\u1d58\u1d5b\u02b7\u02e3\u02b8\u1dbb\u0000bcdgijklopqrtuyz\u0180\uFFFF\ua793\u0111\u01e5\u0268" +
|
|
||||||
"\u0249\uFFFF\ua741\u019a\u0275\u1d7d\uFFFF\ua757\u024d\u0167\u0289\u024f\u01b6\u0000*123456789ao\u00b0\u00aa\u00ba\u207f\u1d48\u1d49\u02b3\u02e2\u1d57\u02b0\u00aa\u00ba\u0000aeiou\u00fc\u0101\u0113\u012b\u014d\u016b\u01d6\u0000abcdefghmnoprstwxyz\u0227" +
|
|
||||||
"\u1e03\u010b\u1e0b\u0117\u1e1f\u0121\u1e23\u1e41\u1e45\u022f\u1e57\u1e59\u1e61\u1e6b\u1e87\u1e8b\u1e8f\u017c\u0000aceilorsuyz\u00fc\u0144\u00e1\u0107\u00e9\u00ed\u013a\u00f3\u0155\u015b\u00fa\u00fd\u017a\u01d8\u0144").toCharArray();
|
|
||||||
|
|
||||||
public static final char[] edges =
|
public static final char[] edges =
|
||||||
("\u0001\u0009\n\u000b\u000c\r\u000e\u000f\u0010\u0011\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u001e\u001f\u0020\u0021\"\u0023\u0024\u0025\u0026\u0027\u0028\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u0035\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003d\u003e\u003f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0108\u0148\u0159\u01be\u024b\u025a\u025d\u03fa" +
|
("\u0001\u0018\u0019\u001a\u001b\u001c\u001d\u0020\u0021\"\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002c\u002f\u0032\u0035\u0038\u003b\u003e\u0041\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u000c\u0050\u0051\u0052" +
|
||||||
"\u07b3\u07d4\u07e9\u07f6\u083d\u088a\u090d\u095c\u0963\u097a\u0981\u098a\u098d\u0992\u0995\u0998\u09a3\u09c4\u09ff\u0a40\u0a69\u0ac0\u0ae3\u0ae8\u0aff\u0b0a\u0b29\u0b38\u0b47\u0b4a\u0b69\u0b72\u0b77\u0b90\u0b93\u0ba6\u0bcf\u0bda\u0bdd\u0bec\u0c01\u0c14\u0c7b\u0c7e\u0c83\u0c86\u0c93\u0c9c\u0c9f\u0cae\u0cb1\u0d94\u0e7f\u0fb0\u0fd1\u101e\u1079\u1088\u10a7\u10b7\u10c4\u10c7\u10e4\u10ed\u10f2\u1101\u1108\u1113\u1146\u1153\u115c\u1171" +
|
"\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u006c\u006d\u006f\u0070\u0071\u0072\u0073\u0075\u0076\u0077\u0078\u007a\u007b\u007c\u007d\u007e\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u000c\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u1182\u11b7\u11fc\u11ff\u1204\u1211\u1218\u121b\u123e\u12dd\u130a\u13ab\u1542\u156f\u1572\u1577\u157a\u157d\u1580\u1585\u1588\u158d\u1590\u1593\u1596\u1599\u1654\u1657\u165c\u165f\u1662\u1665\u166a\u166d\u1670\u1673\u1677\u167e\u1682\u1686\u16c9\u16d3\u16df\u16eb\u16ee\u16fb\u16fe\u1715\u171c\u1721\u172e\u1733\u173a\u173f\u1742\u1745\u1748\u174b\u1752\u1755\u175a\u175d\u1764\u1767\u176e\u1771\u1774\u1777\u177a\u177d\u1780\u1783" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u00a5\u00a6\u00a7\u00a8\u00a9\u00aa\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u00b2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u00bf\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u00e9" +
|
||||||
"\u1786\u1789\u1794\u1797\u179a\u17a3\u17a8\u17b1\u17b6\u17d7\u17da\u17fb\u17fe\u1815\u181a\u181f\u1824\u1827\u1832\u1835\u1838\u183b\u183e\u1841\u1848\u184f\u1858\u185f\u1870\u1873\u187e\u188f\u1894\u18a3\u18aa\u18ad\u18ba\u18c3\u18cc\u18cf\u18de\u18e3\u190c\u190f\u1914\u191b\u191e\u1931\u193c\u1947\u1950\u1955\u195e\u1961\u1964\u1967\u196c\u1971\u1976\u197b\u1980\u1983\u198a\u1993\u1996\u1999\u199c\u19ab\u19ae\u19b1\u19b8\u19bf" +
|
"\u00ec\u00ef\u00f2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0014\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011a\u011b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u0129\u012a\u012b" +
|
||||||
"\u19c2\u19c5\u19c8\u19cb\u19ce\u19d1\u19d6\u19d9\u19dc\u19df\u19e2\u19e5\u19e8\u19eb\u19ee\u19f1\u19f4\u19f7\u19fe\u1a03\u1a06\u1a09\u1a0c\u1a0f\u1a12\u1a1b\u1a22\u1a25\u1a28\u1a2b\u1a2e\u1a31\u1a34\u1a37\u1a3c\u1a3f\u1a42\u1a45\u1a70\u1a83\u0009\u0151\u0152\u0153\u0154\u0155\u0156\u0157\u0158\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u0188\u0189\u0192\u0193\u0194\u0195\u0196\u0197\u0198\u0199\u019a\u019b\u019c\u019d" +
|
"\u012c\u012d\u012e\u012f\u0130\u0131\u0132\u0133\u0134\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u013e\u013f\u0142\u0145\u0148\u014b\u014c\u014d\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0007\u0157\u0158\u0159\u015a\u015b\u015c\u0001\u0001\u0001\u0001\u0001\u0001\r\u016a\u016b\u016c\u016d\u016e\u016f\u0170\u0171\u0172\u0173" +
|
||||||
"\u019e\u019f\u01a0\u01a1\u01a2\u01a3\u01a4\u01a5\u01a6\u01a7\u01a8\u01a9\u01aa\u01ab\u01ac\u01ad\u01ae\u01af\u01b0\u01b1\u01b2\u01b3\u01b4\u01b5\u01b6\u01b7\u01b8\u01b9\u01ba\u01bb\u01bc\u01bd\u0001\u0005\u018e\u018f\u0190\u0191\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0174\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u0183\u0184\u0185\u0186\u0187\u0188\u0189\u018a\u0133\u0174\u0134\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0192\u0193\u0194\u0195\u0196\u0197\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u01a1\u01a2\u01a3\u00c4\u00c5\u00c6\u01a4\u01a5\u0001\u0001\u0001\u0001\u0001\r\u01b3\u01b4\u01b5\u01b6\u01b7\u01b8\u01b9\u01ba\u01bb" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0041\u01ff\u0200\u0201\u0202\u0203\u0204\u0205\u0206\u0207\u0208\u0209\u020a\u020b\u020c\u020d\u020e\u0213\u0214\u0215\u0216\u0217\u0218\u0219\u021a\u021b\u021c\u021d\u0222\u0227\u0228\u0229\u022a\u022b\u022c\u022d\u022e\u022f\u0230\u0231\u0232\u0233\u0234\u0235\u0236\u0237\u0238\u0239\u023a\u023b\u023c\u023d\u023e\u023f\u0240\u0241\u0242\u0243" +
|
"\u01bc\u01b4\u01b5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u01c0\u01c1\u0001\u0001\r\u01cf\u01d0\u01d1\u01d2\u01d3\u01d5\u01d7\u01d8\u01da\u01db\u01dd\u01df\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u0000\u0002\u0000\u0001\u0021\u0201\u0202\u0203\u0204\u0205\u0206\u0207\u0208\u0209\u020a\u020b\u020c\u020d\u020e\u020f\u0210\u0211\u0212\u0213\u0214\u0215\u0216\u0217" +
|
||||||
"\u0244\u0245\u0246\u0247\u0248\u0249\u024a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0211\u0212\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0220\u0221\u0001\u0001\u0003\u0225\u0226\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0218\u0219\u021a\u021b\u021c\u021d\u021e\u021f\u0220\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0029\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025a\u025b\u01b7\u01b8\u025c\u025d\u01bc\u025e\u025f\u0260\u0261\u0262\u01b6\u0263" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u025c\u0001\u007b\u02d8\u02e7\u02e8\u0305\u0320\u0329\u032a\u032f\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0339\u033a\u033b\u033c\u033d\u033e\u033f\u0340\u0341\u0342\u0343\u0344\u0345\u0352\u035b\u035c\u0361\u0362\u0363\u0364\u0365\u0368\u0369\u036a\u036b\u036c\u036d" +
|
"\u0264\u01b9\u01ba\u01bb\u0265\u0266\u0267\u0268\u0269\u026a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u0277\u0278\u0279\u027a\u027b\u027c\u027d\u027e\u027f\u0187\u018a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0287\u0288\u0289\u028a\u028b\u028c\u0001" +
|
||||||
"\u036e\u036f\u0370\u0371\u0372\u0373\u0374\u037d\u0386\u038b\u038c\u038d\u038e\u038f\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a2\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9\u03aa\u03ab\u03ac\u03ad\u03ae\u03af\u03b0\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03bc\u03bd\u03c0\u03c3\u03c4\u03c7\u03ca\u03cd\u03d0\u03d3\u03d6\u03d9\u03dc\u03dd\u03e0\u03e3" +
|
"\u0001\u0001\u0001\u0001\u0001\u0108\u0395\u03a6\u03ff\u047e\u048d\u0490\u05e0\u0998\u09b9\u09c9\u09d4\u0a08\u0a47\u0ab0\u0af4\u0afa\u0b10\u0b16\u0b1e\u0b21\u0b26\u0b29\u0b2c\u0b36\u0b4d\u0b7a\u0bae\u0bcd\u0c0c\u0c23\u0c27\u0c38\u0c3f\u0c51\u0c5f\u0c6a\u0c6c\u0c7f\u0c82\u0c85\u0c97\u0c99\u0ca7\u0cc3\u0ccb\u0cce\u0cd8\u0ce6\u0cf2\u0d49\u0d4e\u0d52\u0d54\u0d5c\u0d62\u0d65\u0d7a\u0d7c\u0e18\u0ecf\u0fdd\u0fef\u1019\u1054\u105e\u106f" +
|
||||||
"\u03e4\u03e7\u03ea\u03ed\u03f0\u03f3\u03f6\u03f9\u0008\u02e0\u02e1\u02e2\u02e3\u02e4\u02e5\u02e6\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u02f7\u02f8\u02f9\u02fa\u02fb\u02fc\u02fd\u02fe\u02ff\u0300\u0301\u0302\u0303\u0304\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031a\u031b\u031c\u031d\u031e\u031f\u0001\u0001\u0001\u0001\u0001" +
|
"\u107d\u1084\u1086\u1096\u1099\u109d\u10a5\u10a9\u10b0\u10cd\u10d7\u10dc\u10e8\u10f2\u110d\u1130\u1132\u1136\u113d\u1141\u1144\u1160\u11e1\u11fe\u124d\u130f\u1327\u132a\u132d\u132f\u1331\u1333\u1336\u1338\u133b\u133d\u133f\u1341\u1343\u13ee\u13f0\u13f3\u13f5\u13f7\u13f9\u13fc\u13fe\u1400\u1402\u1406\u140d\u1411\u1415\u1458\u1462\u146c\u1476\u1479\u1486\u1489\u14a0\u14a7\u14ac\u14b9\u14be\u14c5\u14ca\u14cd\u14d0\u14d3\u14d6\u14dd" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0325\u0326\u0327\u0328\u0001\u0001\u0001\u0001\u0001\u0003\u032d\u032e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u034c\u034d\u034e\u034f\u0350\u0351\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0357\u0358\u0359\u035a\u0001\u0001\u0001\u0001\u0001\u0003\u035f\u0360\u0001" +
|
"\u14e0\u14e5\u14e8\u14ef\u14f2\u14f9\u14fc\u14ff\u1502\u1505\u1508\u150b\u150e\u1511\u1514\u151f\u1522\u1525\u152e\u1533\u153c\u1541\u1562\u1564\u1585\u1587\u159e\u15a3\u15a8\u15ad\u15b0\u15b6\u15b8\u15bb\u15be\u15c1\u15c4\u15cb\u15d2\u15db\u15e2\u15f3\u15f5\u1600\u1611\u1614\u1623\u162a\u162d\u163a\u1643\u164c\u164e\u165d\u1662\u168b\u168d\u1690\u1694\u1696\u16a9\u16b4\u16bf\u16c8\u16cd\u16d6\u16d9\u16db\u16dd\u16e2\u16e6\u16ea" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0379\u037a\u037b\u037c\u0001\u0001\u0001\u0001\u0005\u0382\u0383\u0384\u0385\u0001\u0001\u0001\u0001\u0003\u0389\u038a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u16ee\u16f2\u16f5\u16fa\u1700\u1703\u1705\u1708\u1715\u1718\u171b\u1720\u1725\u1727\u1729\u172c\u172f\u1732\u1735\u1739\u173b\u173e\u1741\u1744\u1747\u174a\u174d\u1750\u1753\u1756\u1759\u175e\u1762\u1765\u1768\u176b\u176e\u1771\u1777\u177b\u177e\u1781\u1784\u1787\u178a\u178d\u1790\u1794\u1796\u1798\u179a\u17b1\u17bb\u0009\u039e\u039f\u03a0\u03a1\u03a2\u03a3\u03a4\u03a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u03d5" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000" +
|
"\u03d6\u03dd\u03de\u03df\u03e0\u03e1\u03e2\u03e3\u03e4\u03e5\u03e6\u03e7\u03e8\u03e9\u03ea\u03eb\u03ec\u03ed\u03ee\u03ef\u03f0\u03f1\u0129\u03f2\u03f3\u012a\u03f4\u012b\u03f5\u03f6\u03f7\u03f8\u012c\u03f9\u03fa\u03fb\u012d\u03fc\u03fd\u012e\u03fe\u03db\u0133\u03dc\u0134\u0001\u0005\u03db\u03dc\u0133\u0134\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u00c1\u04bb\u04bc\u04bd\u04c2\u04c3\u04c6\u04f1\u051c\u0547\u0572\u0579\u057c\u057f\u0582\u0585\u0588\u058b\u058e\u0591\u0594\u0597\u059a\u059d\u05a0\u05a3\u05a6\u05a9\u05ac\u05af\u05b2\u05b5\u05b8\u05bb\u05be\u05c1\u05c4\u05c7\u05ca\u05cd\u05d0\u05d3\u05d6\u05d9\u05dc\u05df\u05e2\u05e5\u05e8\u05eb\u05ee\u05f1\u05f4\u05f7\u05fa\u05fd\u0600\u0603\u0606\u0609\u060c\u060f" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0041\u0440\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b\u044c\u044d\u044e\u0287\u0288\u0453\u0289\u028a\u0454\u028b\u0455\u0456\u028c\u0457\u045c\u0441\u045a\u045b\u0451\u0452\u045f\u0460\u0461\u0462\u0463\u0464\u0465\u0466\u0467\u0468\u0469\u046a\u046b\u046c\u046d\u046e\u046f\u0470\u0471\u0472\u0473\u0474\u0475" +
|
||||||
"\u0612\u0615\u0618\u061b\u061e\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062a\u062b\u062c\u062d\u062e\u062f\u0630\u0631\u0638\u063f\u0646\u064d\u0654\u065b\u0662\u0669\u0670\u0677\u067e\u0685\u068c\u0693\u0696\u0699\u069c\u069f\u06a2\u06a5\u06a8\u06ab\u06ae\u06b1\u06b4\u06b7\u06ba\u06bd\u06c0\u06c3\u06c6\u06c9\u06cc\u06cf\u06d2\u06d5\u06d8\u06db\u06de\u06e1\u06e4\u06e7\u06ea\u06ed\u06f0\u06f3\u06f6\u06f9\u06fc\u06ff" +
|
"\u0476\u0477\u0478\u0479\u047a\u047b\u047c\u047d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0451\u0452\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u045a\u045b\u0001\u0001\u0003\u0451\u0452\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u0486" +
|
||||||
"\u0702\u0705\u0708\u070b\u070e\u0711\u0714\u0717\u071a\u071d\u0720\u0723\u0726\u0729\u072c\u072f\u0732\u0735\u0738\u073b\u073e\u0741\u0744\u0747\u074a\u074d\u0750\u0753\u0756\u0759\u075c\u075f\u0762\u0765\u0768\u076b\u076e\u0771\u0774\u0777\u077a\u077d\u0780\u0783\u0786\u0789\u078c\u078f\u0792\u0795\u0798\u079b\u079e\u07a1\u07a4\u07a7\u07aa\u07ad\u07b0\u0001\u0001\u0002\u04bf\u0003\u0000\u0000\u0001\u0002\u04c5\u0001\u000c\u04d2" +
|
"\u0487\u0488\u0489\u048a\u048b\u048c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u048f\u0001\u007b\u050b\u0519\u051a\u0537\u0552\u0559\u055a\u055f\u0560\u0561\u0562\u0563\u0564\u0565\u0566\u0569\u056a\u056b\u056c\u056d\u056e\u056f\u0570\u0571\u0572\u0573\u0574\u0575\u0582\u0019\u058b\u001a\u001b\u0590\u001c\u001d\u0591\u0020\u0592\u0028\u0021\u0593\"\u0023\u0024\u0594\u0025\u0026\u0595\u059e\u05a3\u057c\u05a8\u05a9\u05a6" +
|
||||||
"\u04d3\u04d6\u04d9\u04dc\u04df\u04e2\u04e5\u04e8\u04eb\u04ee\u0001\u0002\u04d5\u0001\u0002\u04d8\u0001\u0002\u04db\u0001\u0002\u04de\u0001\u0002\u04e1\u0001\u0002\u04e4\u0001\u0002\u04e7\u0001\u0002\u04ea\u0001\u0002\u04ed\u0001\u0002\u04f0\u0001\u000c\u04fd\u04fe\u0501\u0504\u0507\u050a\u050d\u0510\u0513\u0516\u0519\u0001\u0002\u0500\u0001\u0002\u0503\u0001\u0002\u0506\u0001\u0002\u0509\u0001\u0002\u050c\u0001\u0002\u050f\u0001" +
|
"\u057d\u0514\u057e\u059a\u055d\u0515\u057f\u05aa\u05ab\u05a7\u0580\u0516\u0581\u059c\u055e\u0027\u058e\u058f\u0587\u0589\u0588\u058a\u059b\u059d\u0557\u0186\u0558\u0189\u05ac\u05ad\u05ae\u05af\u05b0\u05b1\u05b2\u05b3\u05b4\u05b5\u05b6\u05b7\u05b8\u05b9\u05ba\u05bd\u05be\u05c1\u05c4\u05c5\u05c8\u05cb\u05ce\u05d1\u05d4\u05d7\u0029\u05da\u002c\u002f\u05db\u0032\u05dc\u0035\u0038\u003b\u003e\u0041\u05df\u0008\u0513\u0514\u0515\u0516" +
|
||||||
"\u0002\u0512\u0001\u0002\u0515\u0001\u0002\u0518\u0001\u0002\u051b\u0001\u000c\u0528\u0529\u052c\u052f\u0532\u0535\u0538\u053b\u053e\u0541\u0544\u0001\u0002\u052b\u0001\u0002\u052e\u0001\u0002\u0531\u0001\u0002\u0534\u0001\u0002\u0537\u0001\u0002\u053a\u0001\u0002\u053d\u0001\u0002\u0540\u0001\u0002\u0543\u0001\u0002\u0546\u0001\u000c\u0553\u0554\u0557\u055a\u055d\u0560\u0563\u0566\u0569\u056c\u056f\u0001\u0002\u0556\u0001\u0002" +
|
"\u0027\u0517\u0518\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u0529\u052a\u052b\u052c\u052d\u052e\u052f\u0530\u0531\u0532\u0533\u0534\u0535\u0536\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u0545\u0546\u0547\u0548\u0549\u054a\u054b\u054c\u054d\u054e\u054f\u0550\u0551\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0557\u0558\u0186\u0189\u0001" +
|
||||||
"\u0559\u0001\u0002\u055c\u0001\u0002\u055f\u0001\u0002\u0562\u0001\u0002\u0565\u0001\u0002\u0568\u0001\u0002\u056b\u0001\u0002\u056e\u0001\u0002\u0571\u0001\u0003\u0575\u0576\u0001\u0002\u0578\u0001\u0002\u057b\u0001\u0002\u057e\u0001\u0002\u0581\u0001\u0002\u0584\u0001\u0002\u0587\u0001\u0002\u058a\u0001\u0002\u058d\u0001\u0002\u0590\u0001\u0002\u0593\u0001\u0002\u0596\u0001\u0002\u0599\u0001\u0002\u059c\u0001\u0002\u059f\u0001" +
|
"\u0001\u0001\u0003\u055d\u055e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u057c\u057d\u057e\u057f\u0580\u0581\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0587\u0588\u0589\u058a\u0001\u0001\u0001\u0001\u0003\u058e\u058f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u059a\u059b\u059c\u059d\u0001\u0001\u0001\u0001\u0005\u0587" +
|
||||||
"\u0002\u05a2\u0001\u0002\u05a5\u0001\u0002\u05a8\u0001\u0002\u05ab\u0001\u0002\u05ae\u0001\u0002\u05b1\u0001\u0002\u05b4\u0001\u0002\u05b7\u0001\u0002\u05ba\u0001\u0002\u05bd\u0001\u0002\u05c0\u0001\u0002\u05c3\u0001\u0002\u05c6\u0001\u0002\u05c9\u0001\u0002\u05cc\u0001\u0002\u05cf\u0001\u0002\u05d2\u0001\u0002\u05d5\u0001\u0002\u05d8\u0001\u0002\u05db\u0001\u0002\u05de\u0001\u0002\u05e1\u0001\u0002\u05e4\u0001\u0002\u05e7\u0001" +
|
"\u0588\u0589\u058a\u0003\u05a6\u05a7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0001\u00c1\u039f\u06a1\u06a2\u06a7\u06a8\u06ab\u06d6" +
|
||||||
"\u0002\u05ea\u0001\u0002\u05ed\u0001\u0002\u05f0\u0001\u0002\u05f3\u0001\u0002\u05f6\u0001\u0002\u05f9\u0001\u0002\u05fc\u0001\u0002\u05ff\u0001\u0002\u0602\u0001\u0002\u0605\u0001\u0002\u0608\u0001\u0002\u060b\u0001\u0002\u060e\u0001\u0002\u0611\u0001\u0002\u0614\u0001\u0002\u0617\u0001\u0002\u061a\u0001\u0002\u061d\u0001\u0002\u0620\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0701\u072c\u0757\u075e\u0761\u0764\u0767\u076a\u076d\u0770\u0773\u0776\u0779\u077c\u077f\u0782\u0785\u0788\u078b\u078e\u0791\u0794\u0797\u079a\u079d\u07a0\u07a3\u07a6\u07a9\u07ac\u07af\u07b2\u07b5\u07b8\u07bb\u07be\u07c1\u07c4\u07c7\u07ca\u07cd\u07d0\u07d3\u07d6\u07d9\u07dc\u07df\u07e2\u07e5\u07e8\u07eb\u07ee\u07f1\u07f4\u07f7\u07fa\u07fd\u0800\u0803\u0806\u0807\u0808\u0809\u080a\u080b\u080c\u080d\u080e\u080f\u0810\u0811\u0812" +
|
||||||
"\u0001\u0003\u0634\u0635\u0001\u0002\u0637\u0001\u0003\u063b\u063c\u0001\u0002\u063e\u0001\u0003\u0642\u0643\u0001\u0002\u0645\u0001\u0003\u0649\u064a\u0001\u0002\u064c\u0001\u0003\u0650\u0651\u0001\u0002\u0653\u0001\u0003\u0657\u0658\u0001\u0002\u065a\u0001\u0003\u065e\u065f\u0001\u0002\u0661\u0001\u0003\u0665\u0666\u0001\u0002\u0668\u0001\u0003\u066c\u066d\u0001\u0002\u066f\u0001\u0003\u0673\u0674\u0001\u0002\u0676\u0001\u0003" +
|
"\u0813\u0814\u0815\u0816\u081d\u0824\u082b\u0832\u0839\u0840\u0847\u084e\u0855\u085c\u0863\u086a\u0871\u0878\u087b\u087e\u0881\u0884\u0887\u088a\u088d\u0890\u0893\u0896\u0899\u089c\u089f\u08a2\u08a5\u08a8\u08ab\u08ae\u08b1\u08b4\u08b7\u08ba\u08bd\u08c0\u08c3\u08c6\u08c9\u08cc\u08cf\u08d2\u08d5\u08d8\u08db\u08de\u08e1\u08e4\u08e7\u08ea\u08ed\u08f0\u08f3\u08f6\u08f9\u08fc\u08ff\u0902\u0905\u0908\u090b\u090e\u0911\u0914\u0917\u091a" +
|
||||||
"\u067a\u067b\u0001\u0002\u067d\u0001\u0003\u0681\u0682\u0001\u0002\u0684\u0001\u0003\u0688\u0689\u0001\u0002\u068b\u0001\u0003\u068f\u0690\u0001\u0002\u0692\u0001\u0002\u0695\u0001\u0002\u0698\u0001\u0002\u069b\u0001\u0002\u069e\u0001\u0002\u06a1\u0001\u0002\u06a4\u0001\u0002\u06a7\u0001\u0002\u06aa\u0001\u0002\u06ad\u0001\u0002\u06b0\u0001\u0002\u06b3\u0001\u0002\u06b6\u0001\u0002\u06b9\u0001\u0002\u06bc\u0001\u0002\u06bf\u0001" +
|
"\u091d\u0920\u0923\u0926\u0929\u092c\u092f\u0932\u0935\u0938\u093b\u093e\u0941\u0944\u0947\u094a\u094d\u0950\u0953\u0956\u0959\u095c\u095f\u0962\u0965\u0968\u096b\u096e\u0971\u0974\u0977\u097a\u097d\u0980\u0983\u0986\u0989\u098c\u098f\u0992\u0995\u0001\u0002\u06a4\u0003\u0000\u0000\u0001\u0002\u06aa\u0001\u000c\u06b7\u06b8\u06bb\u06be\u06c1\u06c4\u06c7\u06ca\u06cd\u06d0\u06d3\u0001\u0002\u06ba\u0001\u0002\u06bd\u0001\u0002\u06c0" +
|
||||||
"\u0002\u06c2\u0001\u0002\u06c5\u0001\u0002\u06c8\u0001\u0002\u06cb\u0001\u0002\u06ce\u0001\u0002\u06d1\u0001\u0002\u06d4\u0001\u0002\u06d7\u0001\u0002\u06da\u0001\u0002\u06dd\u0001\u0002\u06e0\u0001\u0002\u06e3\u0001\u0002\u06e6\u0001\u0002\u06e9\u0001\u0002\u06ec\u0001\u0002\u06ef\u0001\u0002\u06f2\u0001\u0002\u06f5\u0001\u0002\u06f8\u0001\u0002\u06fb\u0001\u0002\u06fe\u0001\u0002\u0701\u0001\u0002\u0704\u0001\u0002\u0707\u0001" +
|
"\u0001\u0002\u06c3\u0001\u0002\u06c6\u0001\u0002\u06c9\u0001\u0002\u06cc\u0001\u0002\u06cf\u0001\u0002\u06d2\u0001\u0002\u06d5\u0001\u000c\u06e2\u06e3\u06e6\u06e9\u06ec\u06ef\u06f2\u06f5\u06f8\u06fb\u06fe\u0001\u0002\u06e5\u0001\u0002\u06e8\u0001\u0002\u06eb\u0001\u0002\u06ee\u0001\u0002\u06f1\u0001\u0002\u06f4\u0001\u0002\u06f7\u0001\u0002\u06fa\u0001\u0002\u06fd\u0001\u0002\u0700\u0001\u000c\u070d\u070e\u0711\u0714\u0717\u071a" +
|
||||||
"\u0002\u070a\u0001\u0002\u070d\u0001\u0002\u0710\u0001\u0002\u0713\u0001\u0002\u0716\u0001\u0002\u0719\u0001\u0002\u071c\u0001\u0002\u071f\u0001\u0002\u0722\u0001\u0002\u0725\u0001\u0002\u0728\u0001\u0002\u072b\u0001\u0002\u072e\u0001\u0002\u0731\u0001\u0002\u0734\u0001\u0002\u0737\u0001\u0002\u073a\u0001\u0002\u073d\u0001\u0002\u0740\u0001\u0002\u0743\u0001\u0002\u0746\u0001\u0002\u0749\u0001\u0002\u074c\u0001\u0002\u074f\u0001" +
|
"\u071d\u0720\u0723\u0726\u0729\u0001\u0002\u0710\u0001\u0002\u0713\u0001\u0002\u0716\u0001\u0002\u0719\u0001\u0002\u071c\u0001\u0002\u071f\u0001\u0002\u0722\u0001\u0002\u0725\u0001\u0002\u0728\u0001\u0002\u072b\u0001\u000c\u0738\u0739\u073c\u073f\u0742\u0745\u0748\u074b\u074e\u0751\u0754\u0001\u0002\u073b\u0001\u0002\u073e\u0001\u0002\u0741\u0001\u0002\u0744\u0001\u0002\u0747\u0001\u0002\u074a\u0001\u0002\u074d\u0001\u0002\u0750" +
|
||||||
"\u0002\u0752\u0001\u0002\u0755\u0001\u0002\u0758\u0001\u0002\u075b\u0001\u0002\u075e\u0001\u0002\u0761\u0001\u0002\u0764\u0001\u0002\u0767\u0001\u0002\u076a\u0001\u0002\u076d\u0001\u0002\u0770\u0001\u0002\u0773\u0001\u0002\u0776\u0001\u0002\u0779\u0001\u0002\u077c\u0001\u0002\u077f\u0001\u0002\u0782\u0001\u0002\u0785\u0001\u0002\u0788\u0001\u0002\u078b\u0001\u0002\u078e\u0001\u0002\u0791\u0001\u0002\u0794\u0001\u0002\u0797\u0001" +
|
"\u0001\u0002\u0753\u0001\u0002\u0756\u0001\u0003\u075a\u075b\u0001\u0002\u075d\u0001\u0002\u0760\u0001\u0002\u0763\u0001\u0002\u0766\u0001\u0002\u0769\u0001\u0002\u076c\u0001\u0002\u076f\u0001\u0002\u0772\u0001\u0002\u0775\u0001\u0002\u0778\u0001\u0002\u077b\u0001\u0002\u077e\u0001\u0002\u0781\u0001\u0002\u0784\u0001\u0002\u0787\u0001\u0002\u078a\u0001\u0002\u078d\u0001\u0002\u0790\u0001\u0002\u0793\u0001\u0002\u0796\u0001\u0002" +
|
||||||
"\u0002\u079a\u0001\u0002\u079d\u0001\u0002\u07a0\u0001\u0002\u07a3\u0001\u0002\u07a6\u0001\u0002\u07a9\u0001\u0002\u07ac\u0001\u0002\u07af\u0001\u0002\u07b2\u0001\u0011\u07c4\u07c5\u07c6\u07c7\u07c8\u07c9\u07ca\u07cb\u07cc\u07cd\u07ce\u07cf\u07d0\u07d1\u07d2\u07d3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u07dd\u07e2\u07e3\u07e4\u07e5\u07e6\u07e7\u07e8\u0003\u07e0\u07e1" +
|
"\u0799\u0001\u0002\u079c\u0001\u0002\u079f\u0001\u0002\u07a2\u0001\u0002\u07a5\u0001\u0002\u07a8\u0001\u0002\u07ab\u0001\u0002\u07ae\u0001\u0002\u07b1\u0001\u0002\u07b4\u0001\u0002\u07b7\u0001\u0002\u07ba\u0001\u0002\u07bd\u0001\u0002\u07c0\u0001\u0002\u07c3\u0001\u0002\u07c6\u0001\u0002\u07c9\u0001\u0002\u07cc\u0001\u0002\u07cf\u0001\u0002\u07d2\u0001\u0002\u07d5\u0001\u0002\u07d8\u0001\u0002\u07db\u0001\u0002\u07de\u0001\u0002" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u07f0\u07f1\u07f2\u07f3\u07f4\u07f5\u0001\u0001\u0001\u0001\u0001\u0001\u0024\u081a\u081b\u081c\u081d\u081e\u081f\u0820\u0821\u0822\u0823\u0824\u0825\u0826\u0827\u0828\u0829\u082a\u082b\u082c\u082d\u082e\u082f\u0830\u0831\u0832\u0833\u0834\u0835\u0836\u0837\u0838\u0839\u083a\u083b\u083c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u07e1\u0001\u0002\u07e4\u0001\u0002\u07e7\u0001\u0002\u07ea\u0001\u0002\u07ed\u0001\u0002\u07f0\u0001\u0002\u07f3\u0001\u0002\u07f6\u0001\u0002\u07f9\u0001\u0002\u07fc\u0001\u0002\u07ff\u0001\u0002\u0802\u0001\u0002\u0805\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0819\u081a\u0001\u0002\u081c\u0001\u0003\u0820\u0821\u0001\u0002\u0823\u0001\u0003\u0827\u0828\u0001" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u085d\u085e\u085f\u0860\u0861\u0862\u0869\u0872\u0873\u0874\u0875\u0876\u0877\u0878\u0879\u087a\u087b\u087c\u087d\u087e\u087f\u0880\u0881\u0882\u0883\u0884\u0885\u0886\u0887\u0888\u0889\u0001\u0001\u0001\u0001\u0001\u0004\u0866\u0867\u0868\u0001\u0001\u0001\u0003\u086c\u086f\u0003\u0000\u0000\u0003" +
|
"\u0002\u082a\u0001\u0003\u082e\u082f\u0001\u0002\u0831\u0001\u0003\u0835\u0836\u0001\u0002\u0838\u0001\u0003\u083c\u083d\u0001\u0002\u083f\u0001\u0003\u0843\u0844\u0001\u0002\u0846\u0001\u0003\u084a\u084b\u0001\u0002\u084d\u0001\u0003\u0851\u0852\u0001\u0002\u0854\u0001\u0003\u0858\u0859\u0001\u0002\u085b\u0001\u0003\u085f\u0860\u0001\u0002\u0862\u0001\u0003\u0866\u0867\u0001\u0002\u0869\u0001\u0003\u086d\u086e\u0001\u0002\u0870" +
|
||||||
"\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u003c\u08c6\u08c7\u08cc\u08d1\u08d2\u08d3\u08d4\u08d5\u08d6\u08d7\u08d8\u08d9\u08da\u08db\u08dc\u08dd\u08de\u08df\u08e0\u08e1\u08e2\u08e3\u08e4\u08e5\u08e6\u08e7\u08e8\u08e9\u08ea\u08eb\u08ec\u08ed\u08ee\u08ef\u08f0\u08f1\u08f2\u08f3\u08f4\u08f5\u08f6\u08f7\u08f8\u08f9\u08fa" +
|
"\u0001\u0003\u0874\u0875\u0001\u0002\u0877\u0001\u0002\u087a\u0001\u0002\u087d\u0001\u0002\u0880\u0001\u0002\u0883\u0001\u0002\u0886\u0001\u0002\u0889\u0001\u0002\u088c\u0001\u0002\u088f\u0001\u0002\u0892\u0001\u0002\u0895\u0001\u0002\u0898\u0001\u0002\u089b\u0001\u0002\u089e\u0001\u0002\u08a1\u0001\u0002\u08a4\u0001\u0002\u08a7\u0001\u0002\u08aa\u0001\u0002\u08ad\u0001\u0002\u08b0\u0001\u0002\u08b3\u0001\u0002\u08b6\u0001\u0002" +
|
||||||
"\u08fb\u08fc\u08fd\u08fe\u08ff\u0900\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u0001\u0003\u08ca\u08cb\u0001\u0001\u0003\u08cf\u08d0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u08b9\u0001\u0002\u08bc\u0001\u0002\u08bf\u0001\u0002\u08c2\u0001\u0002\u08c5\u0001\u0002\u08c8\u0001\u0002\u08cb\u0001\u0002\u08ce\u0001\u0002\u08d1\u0001\u0002\u08d4\u0001\u0002\u08d7\u0001\u0002\u08da\u0001\u0002\u08dd\u0001\u0002\u08e0\u0001\u0002\u08e3\u0001\u0002\u08e6\u0001\u0002\u08e9\u0001\u0002\u08ec\u0001\u0002\u08ef\u0001\u0002\u08f2\u0001\u0002\u08f5\u0001\u0002\u08f8\u0001\u0002\u08fb\u0001\u0002\u08fe\u0001\u0002" +
|
||||||
"\u0003\u0903\u0904\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0028\u0935\u0936\u0937\u0938\u0939\u093a\u093b\u093c\u093d\u093e\u093f\u0940\u0941\u0942\u0943\u0944\u0945\u0946\u0947\u0948\u0949\u094a\u094b\u094c\u094d\u094e\u094f\u0950\u0951\u0952\u0953\u0954\u0955\u0956\u0957\u0958\u0959\u095a\u095b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0901\u0001\u0002\u0904\u0001\u0002\u0907\u0001\u0002\u090a\u0001\u0002\u090d\u0001\u0002\u0910\u0001\u0002\u0913\u0001\u0002\u0916\u0001\u0002\u0919\u0001\u0002\u091c\u0001\u0002\u091f\u0001\u0002\u0922\u0001\u0002\u0925\u0001\u0002\u0928\u0001\u0002\u092b\u0001\u0002\u092e\u0001\u0002\u0931\u0001\u0002\u0934\u0001\u0002\u0937\u0001\u0002\u093a\u0001\u0002\u093d\u0001\u0002\u0940\u0001\u0002\u0943\u0001\u0002\u0946\u0001\u0002" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0960\u0961\u0962\u0001\u0001\u0001\u000b\u096e\u0971\u0972\u0973\u0974\u0975\u0976\u0977\u0978\u0979\u0002\u0970\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u097e\u097f\u0980\u0001\u0001\u0001\u0005\u0986\u0987\u0988\u0989\u0001\u0001\u0001\u0001\u0002\u098c\u0001\u0003\u0990\u0991" +
|
"\u0949\u0001\u0002\u094c\u0001\u0002\u094f\u0001\u0002\u0952\u0001\u0002\u0955\u0001\u0002\u0958\u0001\u0002\u095b\u0001\u0002\u095e\u0001\u0002\u0961\u0001\u0002\u0964\u0001\u0002\u0967\u0001\u0002\u096a\u0001\u0002\u096d\u0001\u0002\u0970\u0001\u0002\u0973\u0001\u0002\u0976\u0001\u0002\u0979\u0001\u0002\u097c\u0001\u0002\u097f\u0001\u0002\u0982\u0001\u0002\u0985\u0001\u0002\u0988\u0001\u0002\u098b\u0001\u0002\u098e\u0001\u0002" +
|
||||||
"\u0001\u0001\u0002\u0994\u0001\u0002\u0997\u0001\u0006\u099e\u099f\u09a0\u09a1\u09a2\u0001\u0001\u0001\u0001\u0001\u0011\u09b4\u09b5\u09b6\u09b7\u09b8\u09b9\u09ba\u09bb\u09bc\u09bd\u09be\u09bf\u09c0\u09c1\u09c2\u09c3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u09e2\u09e3\u09e4\u09e5\u09e6\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09f0\u09f1\u09f2\u09f3\u09f4" +
|
"\u0991\u0001\u0002\u0994\u0001\u0002\u0997\u0001\u0011\u09a9\u09aa\u09ab\u09ac\u09ad\u09ae\u09af\u09b0\u09b1\u09b2\u09b3\u09b4\u09b5\u09b6\u09b7\u09b8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0009\u09c2\u01b3\u09c5\u09c6\u01c0\u01c1\u09c7\u09c8\u0003\u05a8\u05aa\u0001\u0001\u0001\u0001\u0007\u09d0\u09d1\u09d2\u09d3\u0183\u0184\u0001\u0001\u0001\u0001\u0024\u03a0\u0442\u0559" +
|
||||||
"\u09f5\u09f6\u09f7\u09f8\u09f9\u09fa\u09fb\u09fc\u09fd\u09fe\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0a20\u0a21\u0a22\u0a23\u0a24\u0a25\u0a26\u0a27\u0a28\u0a29\u0a2a\u0a2b\u0a2c\u0a2d\u0a2e\u0a2f\u0a30\u0a31\u0a32\u0a33\u0a34\u0a35\u0a36\u0a37\u0a38\u0a39\u0a3a\u0a3b\u0a3c\u0a3d\u0a3e\u0a3f" +
|
"\u03a0\u09f8\u09f9\u09fa\u09fb\u09fc\u09fd\u09fe\u09ff\u0a00\u0a01\u0a02\u0a03\u0a04\u0a05\u0a06\u0a07\u01a1\u00bf\u00c0\u01a2\u00c2\u00c3\u01a3\u00c4\u00c5\u00c6\u01a4\u00c7\u00c8\u00c9\u01a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u03a1\u06a7\u09aa\u09d1\u09f8\u0a28\u0a2f\u0a38\u0a39\u0057\u0a3a\u0a3b\u0a3c\u0a3d\u0a3e\u0a3f\u0a40\u0a41\u0a42\u03a5\u0a43\u0192\u006f" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u0a55\u0a56\u0a57\u0a58\u0a59\u0a5a\u0a5b\u0a5c\u0a5d\u0a5e\u0a5f\u0a60\u0a61\u0a62\u0a63\u0a64\u0a65\u0a66\u0a67\u0a68\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0193\u0194\u0a3f\u0195\u0196\u0a44\u0a45\u0a46\u0004\u0a2c\u0a2d\u0a2e\u0001\u0001\u0001\u0003\u0a32\u0a35\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u003c\u0a83\u0a84\u0a89\u0a8e\u0a8f\u0a90\u0a91\u0a92\u0a93\u0a94\u0a95\u0a96\u0a97\u0a98\u0a99\u0a9a\u0a9b\u0a9c\u0a9d\u0a9e\u0a9f\u0aa0\u0aa1\u0aa2\u0aa3\u0aa4\u0aa5\u0aa6\u0aa7\u0a8e\u0109\u010a" +
|
||||||
"\u0001\u0020\u0a89\u0a8a\u0a93\u0a94\u0a95\u0a96\u0a97\u0a98\u0a99\u0a9a\u0a9b\u0aa8\u0aa9\u0aae\u0aaf\u0ab0\u0ab1\u0ab2\u0ab3\u0ab4\u0ab5\u0ab6\u0ab7\u0ab8\u0ab9\u0aba\u0abb\u0abc\u0abd\u0abe\u0abf\u0001\u0005\u0a8f\u0a90\u0a91\u0a92\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0aa2\u0aa3\u0aa4\u0aa5\u0aa6\u0aa7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0aac\u0aad\u0001\u0001\u0001\u0001" +
|
"\u010b\u010c\u010d\u010e\u010f\u0110\u0aa8\u0111\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011a\u011b\u0aa9\u0a8c\u0a8d\u0aac\u0aad\u0aae\u0a87\u0a88\u0aaf\u0001\u0003\u0a87\u0a88\u0001\u0001\u0003\u0a8c\u0a8d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0a8c\u0a8d\u0001\u0001\u0001\u0001" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0012\u0ad2\u0ad3\u0ad4\u0ad5\u0ad6\u0ad7\u0ad8\u0ad9\u0ada\u0adb\u0adc\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0ae6\u0ae7\u0001\u0001\u000c\u0af4\u0af5\u0af6\u0af7\u0af8\u0af9\u0afa\u0afb\u0afc\u0afd\u0afe\u0001\u0001\u0001\u0001" +
|
"\u0028\u0a38\u0ad8\u0ad8\u0ad9\u0ada\u0adb\u0a3b\u0adc\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0ae3\u006c\u0ae4\u006f\u0070\u0ae5\u0071\u01d7\u0ae6\u01da\u007b\u0ae7\u0ae8\u007e\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0af0\u0af1\u0af2\u0af3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u01b3\u0af8\u0af9" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0b05\u0b06\u0b07\u0b08\u0b09\u0001\u0001\u0001\u0001\u0001\u0010\u0b1a\u0b1b\u0b1c\u0b1d\u0b1e\u0b1f\u0b20\u0b21\u0b22\u0b23\u0b24\u0b25\u0b26\u0b27\u0b28\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0b2f\u0b30\u0b33\u0b35\u0b37\u0001\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008\u0b40\u0b41\u0b42\u0b43\u0b44\u0b45\u0b46" +
|
"\u0001\u0001\u000b\u0b05\u0b08\u0b09\u0b0a\u0b0b\u0b0c\u0b0d\u0b0e\u0b0f\u024f\u0002\u0b07\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0b14\u0b15\u0250\u0001\u0001\u0005\u0b1b\u0b1c\u0b1d\u0251\u0001\u0001\u0001\u0002\u0b20\u0001\u0003\u0b24\u0b25\u0001\u0001\u0002\u0b28\u0001\u0002\u0b2b\u0001\u0006\u0b32\u0b33\u0a39\u0b34\u0b35\u0001\u0001\u0001\u0001\u0011\u0b47\u09f9\u09fc\u09ff\u0a03\u0b48\u0b49\u0a07\u0b4a" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0b49\u0001\u0010\u0b5a\u0b5b\u0b5c\u0b5d\u0b5e\u0b5f\u0b60\u0b61\u0b62\u0b63\u0b64\u0b65\u0b66\u0b67\u0b68\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0b6c\u0b6f\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0b75\u0b76\u0001\u0001\n\u0b81\u0b82\u0b83\u0b84\u0b85\u0b86\u0b87\u0b8e\u0b8f\u0001\u0001\u0001\u0001\u0001\u0001\u0002" +
|
"\u01a1\u01a2\u01a3\u01a4\u0b4b\u0b4c\u01a5\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u03a3\u0443\u055f\u0055\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f\u0b70\u0b71\u0b72\u0b73\u0b74\u0b75\u0b76\u0b77\u0b78\u0b6e\u00a6\u00a7\u00a8\u00aa\u00ab\u00ad\u00ae\u00af\u00b1\u0b79\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0ad9\u0b9b\u0b9c\u0b9d\u0b9d\u0b9e\u0b9f\u0ba0\u0ba1\u0ba2\u0ba3\u0ba4\u0ba5" +
|
||||||
"\u0b89\u0002\u0b8b\u0003\u0000\u0000\u0001\u0001\u0002\u0b92\u0001\n\u0b9d\u0b9e\u0b9f\u0ba0\u0ba1\u0ba2\u0ba3\u0ba4\u0ba5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u0bbb\u0bbc\u0bbd\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc3\u0bc4\u0bc5\u0bc6\u0bc7\u0bc8\u0bc9\u0bca\u0bcb\u0bcc\u0bcd\u0bce\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006" +
|
"\u0ba6\u0ba7\u0ba8\u0b9d\u0ba9\u0b9d\u014b\u0ba1\u0ba2\u014c\u0baa\u0ba6\u0b9d\u0ba1\u0b9d\u0bab\u0ba1\u0bac\u0bad\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u03a4\u0444\u0560\u0bc3\u0b6f\u0bc4\u0bc5\u0bc6\u0bc7\u0bc8\u0bc9\u0bca\u0bc4\u00db\u00dd\u00e0\u00e2\u00e3\u0bcb\u0bcc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u0bed\u0bee" +
|
||||||
"\u0bd5\u0bd6\u0bd7\u0bd8\u0bd9\u0001\u0001\u0001\u0001\u0001\u0002\u0bdc\u0001\u0008\u0be5\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u0bf7\u0bf8\u0bf9\u0bfa\u0bfb\u0bfc\u0bfd\u0bfe\u0bff\u0c00\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u0c0b\u0c0c\u0c0d\u0c0e\u0c0f\u0c10\u0c11\u0c12\u0c13\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002d\u0c41\u0c48\u0c4d" +
|
"\u0bf5\u0bf6\u0bf7\u0bf8\u0bf9\u0bfa\u0bfb\u0bfc\u0bfd\u016a\u0c07\u016b\u016c\u016d\u016e\u016f\u0c04\u0c05\u0c06\u0170\u0171\u0172\u0c0a\u0173\u0bf3\u0174\u0bf4\u0175\u0c0b\u0001\u0005\u0bf3\u0bf4\u0174\u0175\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0c04\u0c05\u0c06\u0170\u0171\u0172\u0001\u0001\u0001\u0003\u0c0a\u0173\u0001\u0001\u0012\u0445\u0561\u0c1e\u09c5\u09f9\u0a3a\u09f9\u0bc6\u09c5\u0c1f\u0c20" +
|
||||||
"\u0c4e\u0c4f\u0c50\u0c51\u0c52\u0c53\u0c54\u0c55\u0c56\u0c57\u0c58\u0c59\u0c5a\u0c5b\u0c5c\u0c5d\u0c5e\u0c5f\u0c60\u0c61\u0c62\u0c63\u0c64\u0c65\u0c66\u0c6b\u0c6c\u0c6d\u0c6e\u0c6f\u0c70\u0c71\u0c72\u0c73\u0c74\u0c75\u0c76\u0c77\u0c78\u0c79\u0c7a\u0002\u0c43\u0003\u0c46\u0c47\u0001\u0001\u0003\u0c4b\u0c4c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0bc6\u0a3a\u0c21\u0c22\u0445\u0561\u0001\u0001\u0001\u0001\u0001\u0003\u0a95\u0c26\u0001\u000c\u0562\u09fa\u0a96\u0adb\u0b70\u0b9d\u0c33\u0c34\u0c35\u0c36\u0c37\u0001\u0001\u0001\u0001\u0001\u0006\u09fb\u0a3b\u0a97\u0b71\u0c3e\u0001\u0010\u0446\u0563\u09fc\u0a3c\u0a98\u09fc\u0b72\u0b9d\u0bc7\u0c4f\u0bc7\u0a3c\u0c50\u0446\u0563\u0001\u0001\u0006\u0a99\u0c57\u0c5a\u0c5c\u0c5e\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0c69\u0c6a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0c7d\u0001\u0003\u0c81\u0c82\u0001\u0001\u0002\u0c85\u0001\u0007\u0c8d\u0c8e\u0c8f\u0c90\u0c91\u0c92\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0c98\u0c99\u0c9a\u0c9b\u0001\u0001\u0001\u0001\u0002\u0c9e\u0001\u0006\u0ca5\u0ca6\u0ca7\u0cac\u0cad\u0001\u0001\u0002" +
|
"\u0c67\u09fd\u0a9a\u0c68\u0c67\u0c69\u0c67\u0001\u0001\u0001\u0002\u09fe\u0010\u0448\u0565\u09ff\u0a3d\u0a9c\u09ff\u0bc8\u0c7c\u0bc8\u0a3d\u0c7d\u0c7c\u0c7e\u0448\u0565\u0001\u0001\u0001\u0003\u0566\u0566\u0003\u0a00\u0a3e\n\u056a\u0a01\u0a3f\u0adf\u0b73\u0b9e\u0c8f\u0c96\u0ae3\u0002\u0c91\u0002\u0c93\u0003\u0000\u0000\u0001\u0002\u0a9d\n\u056c\u0a02\u0b74\u0b9f\u0ca3\u0ca4\u0ca5\u0ca5\u0ca6\u0001\u0001\u0001\u0001\u0015" +
|
||||||
"\u0ca9\u0003\u0000\u0000\u0001\u0001\u0002\u0cb0\u0001\u004e\u0cff\u0d0c\u0d0d\u0d0e\u0d0f\u0d10\u0d11\u0d12\u0d13\u0d14\u0d15\u0d16\u0d17\u0d18\u0d19\u0d1a\u0d1b\u0d1c\u0d1d\u0d1e\u0d1f\u0d20\u0d21\u0d22\u0d23\u0d24\u0d25\u0d26\u0d27\u0d28\u0d29\u0d2a\u0d4f\u0d50\u0d51\u0d52\u0d53\u0d54\u0d55\u0d56\u0d57\u0d58\u0d59\u0d5a\u0d5b\u0d5c\u0d5d\u0d60\u0d63\u0d66\u0d69\u0d6c\u0d6f\u0d72\u0d75\u0d78\u0d7b\u0d7e\u0d81\u0d82\u0d83\u0d84" +
|
"\u0449\u056d\u0a03\u0a40\u0ae0\u0a03\u0bc9\u076c\u0c35\u0cbc\u0cbd\u0cbe\u0cbf\u0cc0\u0bc9\u0a40\u0cc1\u0cc2\u0449\u056d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0cc9\u0aa0\u0ba1\u0cc9\u0cca\u0001\u0001\u0002\u0ccd\u0001\u0008\u056f\u0a04\u0b75\u0ba2\u0cbd\u0cd6\u0cd7\u0001\u0001\u000b\u0cbe\u0570\u0a05\u0aa2\u0b48\u0b76\u0ce3\u0cbe\u0ce4\u0ce5\u0001\u0001\u0001\n\u0a06\u0ae1\u0aa3\u0ae1\u0b49\u0b77\u0ba3\u0cf0\u0cf1" +
|
||||||
"\u0d85\u0d86\u0d87\u0d88\u0d89\u0d8a\u0d8b\u0d8c\u0d8d\u0d8e\u0d8f\u0d90\u0d91\u0d92\u0d93\u0007\u0d06\u0d07\u0d08\u0d09\u0d0a\u0d0b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u0d3d\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d43\u0d44\u0d45\u0d46\u0d47\u0d48\u0d49" +
|
"\u0001\u0001\u002d\u0d1f\u0d26\u044a\u0571\u09c6\u0a07\u0a41\u0a07\u0bca\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u0bca\u0a41\u0d2e\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u0d35\u044a\u0571\u0d36\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d43\u0d44\u0d45\u0d46\u0d47\u0d48\u0002\u0d21\u0003\u0d24\u0d25\u0001\u0001\u0003\u0d29\u0132\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0d24" +
|
||||||
"\u0d4a\u0d4b\u0d4c\u0d4d\u0d4e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000" +
|
"\u0d25\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0ae3\u0b70\u0b76\u0b78\u0003\u0ba5\u0d51\u0001\u0002\u0cbf\u0007\u044d\u0573\u0ba6\u0d5b\u044d\u0573\u0001\u0005\u0574\u0aa7\u0b78\u0d61\u0001\u0002\u0d64\u0001\u0008\u0a42\u0bfc\u0d6d\u0d70\u0d75\u0d78\u0d79\u0003\u0000\u0000\u0002\u0d72\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0002\u0d64\u004e\u0dca\u024a\u024b" +
|
||||||
"\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u0dec\u0ded\u0df6\u0e03\u0e04\u0e05\u0e06\u0e07\u0e08\u0e19\u0e1a\u0e1b\u0e1c\u0e1d\u0e1e\u0e1f\u0e20\u0e21\u0e22\u0e23\u0e28\u0e29\u0e2a\u0e2b\u0e2c\u0e2d\u0e2e\u0e2f\u0e30\u0e31\u0e32\u0e33\u0e34\u0e35\u0e36\u0e37\u0e38\u0e39\u0e3a\u0e3b\u0e40\u0e41\u0e42\u0e43\u0e44\u0e45\u0e46\u0e47\u0e48\u0e49\u0e4a" +
|
"\u024c\u024d\u0a8e\u0ae3\u024e\u024f\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0bc6\u0dd4\u0bc7\u0dd5\u0dd6\u0bc8\u0dd7\u0bc9\u0dd8\u0bca\u0d51\u0d5b\u0dd9\u0dda\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e5\u00e3\u0df3\u0df4\u00e4\u0059\u0df5\u0df8\u0dfb\u0dfe\u0e01\u0e04\u00e6\u00e9\u00ec\u00ef\u0e07\u00f2\u0dd2\u0130\u0dd3\u0131\u024d\u0e0a\u0e0b\u0e0c\u0e0d\u0e0e\u0e0f\u0e10\u0e11\u0e12\u0e13\u0e14\u0e15" +
|
||||||
"\u0e4b\u0e4c\u0e4d\u0e4e\u0e4f\u0e50\u0e51\u0e52\u0e55\u0e58\u0e59\u0e5c\u0e5f\u0e60\u0e63\u0e66\u0e67\u0e6a\u0e6d\u0e6e\u0e6f\u0e70\u0e71\u0e72\u0e73\u0e74\u0e75\u0e76\u0e77\u0e78\u0e79\u0e7a\u0e7b\u0e7c\u0e7d\u0e7e\u0001\u0005\u0df2\u0df3\u0df4\u0df5\u0001\u0001\u0001\u0001\u0007\u0dfd\u0dfe\u0dff\u0e00\u0e01\u0e02\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e0f\u0e10\u0e13\u0e14\u0e15\u0e18\u0001" +
|
"\u0e16\u0e17\u0007\u0dd1\u0dd2\u0dd3\u012f\u0130\u0131\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u01b4\u01bc\u025e\u025f\u0261\u01b6\u01b5\u01b9\u01ba\u0267\u0268\u0269\u0ded\u0dee\u0def\u0df0\u0df1\u0df2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e26\u0e27\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e3e\u0e3f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u03a5\u0e70\u0e79\u0e85\u0201\u0202\u0203\u0204\u0e86\u0205\u0206\u0207\u0208\u0209\u020a\u020b\u020c\u020d\u020e\u0e91\u0b6e\u020f\u0bc4\u0a3a\u0a3c\u0e96\u0a3d\u0a40\u0a41\u0e97\u03a5\u03a5\u0192\u0193\u0e98\u0194\u0195\u0196\u0e99\u0e9a\u0e80\u0e9f\u0e9d\u0e81\u0e82\u0e83\u0ea0\u0e9e\u0e84\u0197\u0e8d\u0e8f\u0ea1\u0ea2\u0ea3\u0ea4\u0ea5\u0ea6\u0ea7\u0eaa\u0ead\u0eae\u0eb1" +
|
||||||
"\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u0ec5\u0ece\u0eeb\u0f06\u0f0f\u0f10\u0f11\u0f12\u0f13\u0f14\u0f15\u0f16\u0f17\u0f24\u0f2d\u0f5e\u0f5f\u0f64\u0f65\u0f66\u0f67\u0f68\u0f69\u0f6a\u0f6b\u0f74\u0f75\u0f76\u0f77\u0f78\u0f79\u0f7a" +
|
"\u0eb4\u0eb5\u0eb8\u0ebb\u0ebc\u0ebf\u0ec2\u0e75\u0e77\u0e76\u0e78\u0ec3\u0ec4\u0204\u0ec5\u0ec6\u0ec7\u0ec8\u0ec9\u0eca\u0ecb\u0ecc\u0ecd\u0ece\u0005\u0e75\u0e76\u0e77\u0e78\u0001\u0001\u0001\u0001\u0007\u0e80\u0e81\u0e82\u0e83\u0e84\u0197\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e8d\u0a32\u0e8e\u0e8f\u0a35\u0e90\u0001\u0001\u0001\u0001\u0003\u0e94\u0e95\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0e9d\u0e9e\u0001\u0001\u0001" +
|
||||||
"\u0f7b\u0f7c\u0f7d\u0f7e\u0f7f\u0f80\u0f81\u0f82\u0f83\u0f84\u0f85\u0f86\u0f87\u0f88\u0f89\u0f8a\u0f8b\u0f8c\u0f8d\u0f8e\u0f8f\u0f90\u0f91\u0f92\u0f93\u0f94\u0f97\u0f98\u0f99\u0f9c\u0f9f\u0fa2\u0fa5\u0fa6\u0fa7\u0faa\u0fad\u0005\u0eca\u0ecb\u0ecc\u0ecd\u0001\u0001\u0001\u0001\u000f\u0edd\u0ede\u0edf\u0ee0\u0ee1\u0ee2\u0ee3\u0ee4\u0ee5\u0ee6\u0ee7\u0ee8\u0ee9\u0eea\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u0f15\u0f1d\u0f3a\u0f55\u0c21\u0c50\u0c7d\u0f5c\u0cc1\u0d2e\u0f5d\u0f5e\u0f5f\u0f6c\u0f75\u0157\u0fa6\u0158\u0159\u0fab\u015a\u015b\u0fac\u0fad" +
|
||||||
"\u0001\u0001\u0001\u000e\u0ef9\u0efa\u0efb\u0efc\u0efd\u0efe\u0eff\u0f00\u0f01\u0f02\u0f03\u0f04\u0f05\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f0b\u0f0c\u0f0d\u0f0e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0f1e\u0f1f\u0f20\u0f21\u0f22\u0f23\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f29\u0f2a\u0f2b\u0f2c\u0001\u0001\u0001\u0001\r\u0f3a\u0f3d" +
|
"\u0fae\u0f66\u0f67\u0f68\u0f1a\u0f69\u0f6a\u0f6b\u015c\u0fa9\u0faa\u0f71\u0f73\u0f72\u0f74\u0f5a\u0185\u0f5b\u0188\u0fb3\u0fb4\u0fb5\u0fb6\u0fb7\u0fb8\u0fb9\u0fba\u0fbb\u0fbc\u0fbd\u0fbe\u0fbf\u0fc0\u0fc1\u0fc4\u0fc5\u0fc6\u0fc9\u0fcc\u0fcf\u0fd2\u0fd3\u0fd4\u0fd7\u0fda\u0005\u0f1a\u015c\u0f1b\u0f1c\u0001\u0001\u0001\u000f\u0f2c\u0f2d\u0f2e\u0f2f\u0f30\u0f31\u0f32\u0f33\u0f34\u0f35\u0f36\u0f37\u0f38\u0f39\u0001\u0001\u0001\u0001" +
|
||||||
"\u0f40\u0f43\u0f46\u0f49\u0f4c\u0f4f\u0f52\u0f55\u0f58\u0f5b\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0f62\u0f63\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f70\u0f71\u0f72\u0f73\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u0f48\u0f49\u0f4a\u0f4b\u0f4c\u0f4d\u0f4e\u0f4f\u0f50\u0f51\u0f52\u0f53\u0f54\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f5a\u0f5b\u0185\u0188\u0001\u0001\u0001\u0001\u0001\u0007\u0f66\u0f67\u0f68\u0f69\u0f6a\u0f6b\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0f71\u0f72\u0f73\u0f74\u0001\u0001\u0001\u0001\r\u0f82\u0f85" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0011\u0fc1\u0fc2\u0fc3\u0fc4\u0fc5\u0fc6\u0fc7\u0fc8\u0fc9\u0fca\u0fcb\u0fcc\u0fcd\u0fce\u0fcf" +
|
"\u0f88\u0f8b\u0f8e\u0f91\u0f94\u0f97\u0f9a\u0f9d\u0fa0\u0fa3\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0fa9\u0faa\u0001\u0001\u0001\u0001\u0001\u0005\u0f71\u0f72\u0f73\u0f74\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0fd0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0ff2\u0ff7\u0ffc\u0ffd\u0ffe\u0fff\u1000\u1001\u1002\u1003\u1004\u1005\u1006\u1007\u1008\u1009\u100e\u100f\u1010\u1011\u1012\u1013\u1014\u1015\u1016\u1017\u1018\u1019\u101a\u101b\u101c\u101d\u0003\u0ff5\u0ff6\u0001\u0001\u0003\u0ffa\u0ffb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0011\u0287\u0019\u0d2f\u01c0\u01a1\u0192\u01a1\u00db\u00db\u0192\u0157\u01c0\u0fee\u0277\u0287\u0019\u0001\u0021\u1010\u1013\u010a\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u1016\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40" +
|
||||||
"\u0001\u0003\u100c\u100d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002c\u104a\u104f\u1050\u1051\u1052\u1053\u1054\u1055\u1056\u1057\u1058\u1059\u105a\u105b\u105c\u105d\u105e\u105f\u1060\u1061\u1062\u1063\u1064\u1065\u1066\u1067\u1068\u1069\u106a\u106b\u106c\u106d\u106e\u106f\u1070\u1071\u1072\u1073\u1074\u1075\u1076\u1077\u1078\u0003\u104d\u104e\u0001\u0001\u0001" +
|
"\u0d41\u0d42\u0d43\u0d44\u0d45\u0d46\u0d47\u0d48\u0003\u0d29\u0132\u0003\u0d24\u0d25\u0003\u0d24\u0d25\u002c\u1045\u001a\u00bf\u010b\u0ae4\u00a6\u0b9d\u1049\u0b70\u0b71\u0b72\u104a\u104b\u104c\u104d\u0b73\u0b74\u104e\u0b75\u0b76\u0b77\u104f\u0b78\u00a5\u00a6\u00a7\u00a8\u1050\u1051\u00a9\u1052\u1053\u00aa\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u0ae4\u1048\u00b2\u0003\u1048\u00b2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u1081\u1082\u1083\u1084\u1085\u1086\u1087\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0010\u1098\u1099\u109a\u109b\u109c\u109d\u109e\u109f\u10a0\u10a1\u10a2\u10a3\u10a4\u10a5\u10a6" +
|
"\u0001\u0001\u0001\u0001\u0008\u00c0\u006f\u010c\u00a7\u0ba9\u105c\u105d\u0001\u0001\u0010\u0288\u001b\u01a2\u0193\u010d\u01a2\u00a8\u0b9d\u00dd\u00dd\u0193\u0158\u106e\u0288\u001b\u0001\u0007\u010e\u1076\u1077\u1079\u107b\u1076\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0007\u0d31\u00c2\u010f\u0d31\u0c68\u0d31\u0002\u00c3\u000f\u0289\u001c\u01a3\u0194\u0aa8\u01a3\u00e0\u00e0\u0194\u0159\u1095\u0279\u0289\u001c\u0001\u0003\u001d" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u10ae\u10af\u10b0\u10b2\u10b4\u10b6\u0001\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0001\u0007\u10be\u10bf\u10c0\u10c1\u10c2\u10c3\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u10c6\u0001\u000f\u10d6\u10d7\u10d8\u10d9\u10da\u10db\u10dc\u10dd\u10de\u10df\u10e0\u10e1\u10e2\u10e3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u001d\u0003\u00c4\u109c\u0001\u0008\u0020\u00c5\u0a3f\u01d7\u00aa\u0c96\u0ae3\u0004\u0111\u0ae6\u0ae7\u0006\u0028\u00c6\u00ab\u10af\u027a\u0001\u001a\u028a\u0021\u01a4\u0195\u01da\u01a4\u00e2\u09c5\u09c6\u00e2\u0195\u015a\u01c0\u0c35\u10ca\u01b3\u0cbd\u0cbe\u01c1\u10cb\u0cbf\u10cc\u027b\u028a\u0021\u0001\u0001\u0001\u0005\u0cc9\u0114\u0ba1\u10d2\u0002\u10d4\u0003\u0000\u0000\u0005\"\u00c7\u00ad\u0ba2\u000b\u0cbe\u0023\u00c8" +
|
||||||
"\u0001\u0001\u0001\u0001\u0003\u10e7\u10ea\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u10f0\u10f1\u0001\u0001\u0008\u10fa\u10fb\u10fc\u10fd\u10fe\u10ff\u1100\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1105\u1106\u1107\u0001\u0001\u0001\u0006\u110e\u110f\u1110\u1111\u1112\u0001\u0001\u0001\u0001\u0001\u001a\u112d\u112e\u112f\u1130\u1131\u1132\u1133\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u113c\u113d\u113e\u113f\u1140" +
|
"\u0116\u0b4b\u00ae\u0ce3\u0cbe\u10e7\u00c8\u0001\u0009\u00c9\u007b\u0117\u007b\u0b4c\u00af\u10f1\u0cf1\u0001\u001b\u028b\u0024\u01c1\u01a5\u0196\u0ae7\u01a5\u00e3\u0c1e\u0d2a\u0c67\u0d2b\u0d2c\u0d2d\u00e3\u0196\u015b\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u027c\u028b\u0024\u0023\u0ae8\u1049\u0b70\u0b71\u0b72\u104a\u104b\u104c\u104d\u0b74\u104e\u0b75\u0b76\u0b77\u104f\u0b78\u00a5\u00a6\u00a7\u00a8\u1050\u1051\u00a9\u1052\u1053\u0ae3" +
|
||||||
"\u1141\u1142\u1143\u1144\u1145\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u114b\u114c\u114d\u114e\u0001\u0001\u0001\u0002\u1150\u0003\u0000\u0000\u0005\u1158\u1159\u115a\u115b\u0001\u0001\u0001\u0001\u000b\u1167\u1168\u1169\u116a\u116b\u116c\u116d\u116e\u116f\u1170\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u00ab\u00ac\u00ad\u00ae\u00af\u00b0\u00b1\u0053\u0002\u0df3\u0003\u0cbf\u1135\u0001\u0007\u028c\u0025\u0ba6\u0df4\u028c\u0025\u0004\u0026\u011b\u00b1\u0002\u1143\u0001\u0012\u1156\u1157\u0c26\u0c37\u0c69\u0ce5\u0059\u0ae4\u0053\u1158\u1159\u115a\u115b\u115c\u115d\u115e\u115f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u118f\u1194\u11a9\u11bc\u0af9\u0c22\u11c3\u0c7e\u0ca6\u0cc2\u0d35\u11c4\u11c5\u11c6\u0277" +
|
||||||
"\u0001\u0009\u117a\u117b\u117c\u117d\u117e\u117f\u1180\u1181\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u001b\u119d\u119e\u119f\u11a0\u11a1\u11a2\u11a3\u11a4\u11a5\u11a6\u11a7\u11a8\u11a9\u11aa\u11ab\u11ac\u11ad\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b4\u11b5\u11b6\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0023" +
|
"\u11d1\u0278\u0279\u027a\u027b\u027c\u11d5\u11d6\u1158\u11d7\u11d8\u11cd\u11ce\u11cf\u027d\u027e\u11d0\u11d4\u027f\u11c1\u0187\u11c2\u018a\u11d9\u11da\u11db\u11dc\u11dd\u11de\u11df\u11e0\u0003\u1192\u1193\u0001\u0001\u000b\u119f\u11a0\u11a1\u11a2\u11a3\u11a4\u11a5\u11a6\u11a7\u11a8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u11b3\u11b4\u11b5\u11b6\u11b7\u11b8\u11b9\u11ba\u11bb\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u11da\u11db\u11dc\u11dd\u11de\u11df\u11e0\u11e1\u11e2\u11e3\u11e4\u11e5\u11e6\u11e7\u11e8\u11e9\u11ea\u11eb\u11ec\u11ed\u11ee\u11ef\u11f0\u11f1\u11f2\u11f3\u11f4\u11f5\u11f6\u11f7\u11f8\u11f9\u11fa\u11fb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u11fe\u0001\u0003" +
|
"\u0001\u0001\u0001\u0001\u0005\u11c1\u11c2\u0187\u018a\u0001\u0001\u0001\u0001\u0001\u0007\u11cd\u11ce\u11cf\u027d\u027e\u11d0\u0001\u0001\u0001\u0001\u0003\u11d4\u027f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u0513\u09c7\u0bcb\u0445\u0446\u0448\u0449\u044a\u044d\u11f8\u0287\u0288\u0289\u028a\u028b\u028c\u11f9\u0513\u11fa\u11fb\u11fc\u11fd\u0001\u0001\u0001\u0001\u0001\u0001\u0037\u1235" +
|
||||||
"\u1202\u1203\u0001\u0001\u0007\u120b\u120c\u120d\u120e\u120f\u1210\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1215\u1216\u1217\u0001\u0001\u0001\u0002\u121a\u0001\u0012\u122d\u122e\u122f\u1230\u1231\u1232\u1233\u1234\u1235\u1236\u1237\u1238\u1239\u123a\u123b\u123c\u123d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u126d\u1272\u1287\u129a\u12a3\u12a4\u12a5\u12a6\u12a7" +
|
"\u123a\u1241\u1246\u0a3a\u0a3c\u0e96\u0a3d\u0a40\u0a41\u0e97\u0192\u0193\u0e98\u0194\u0195\u0196\u0e99\u1249\u0e80\u0e9f\u0e9d\u0e81\u0e82\u0e83\u0ea0\u0e9e\u0e84\u0197\u0e8d\u0e8f\u0ea1\u0ea2\u0ea3\u0ea4\u0ea5\u0ea6\u0ea7\u0eaa\u0ead\u0eae\u0eb1\u0eb4\u0eb5\u0eb8\u0ebb\u0ebc\u0ebf\u0ec2\u0e75\u0e77\u0e76\u0e78\u124c\u0005\u0e75\u0e76\u0e77\u0e78\u0007\u0e80\u0e81\u0e82\u0e83\u0e84\u0197\u0005\u0e8d\u0e8e\u0e8f\u0e90\u0003\u0e94" +
|
||||||
"\u12a8\u12a9\u12aa\u12ab\u12ac\u12b9\u12ba\u12bf\u12c0\u12c1\u12c2\u12c3\u12c4\u12c5\u12c6\u12c7\u12c8\u12c9\u12ca\u12cb\u12cc\u12cd\u12ce\u12cf\u12d0\u12d1\u12d2\u12d3\u12d4\u12d5\u12d6\u12d7\u12d8\u12d9\u12da\u12db\u12dc\u0003\u1270\u1271\u0001\u0001\u000b\u127d\u127e\u127f\u1280\u1281\u1282\u1283\u1284\u1285\u1286\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u1291\u1292\u1293\u1294\u1295\u1296\u1297\u1298" +
|
"\u0e95\u0003\u0e9d\u0e9e\u0001\u0077\u12c4\u12cb\u12da\u12e8\u12ed\u12f0\u0561\u0562\u0563\u0564\u0565\u0566\u0569\u056a\u056b\u056c\u056d\u056e\u056f\u0570\u0571\u0572\u0573\u0574\u12f3\u12fa\u0019\u12ff\u001a\u001b\u0590\u001c\u001d\u0591\u0020\u0592\u0028\u0021\u0593\"\u0023\u0024\u0594\u0025\u0026\u1302\u1307\u130c\u057c\u05a8\u05a9\u05a6\u057d\u0514\u057e\u059a\u055d\u0515\u057f\u05aa\u05ab\u05a7\u0580\u0516\u0581\u059c" +
|
||||||
"\u1299\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u129f\u12a0\u12a1\u12a2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u12b3\u12b4\u12b5\u12b6\u12b7\u12b8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u12bd\u12be\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u055e\u0027\u058e\u058f\u0587\u0589\u0588\u058a\u059b\u059d\u0557\u0186\u0558\u0189\u05ac\u05ad\u05ae\u05af\u05b0\u05b1\u05b2\u05b3\u05b4\u05b5\u05b6\u05b7\u05b8\u05b9\u05ba\u05bd\u05be\u05c1\u05c4\u05c5\u05c8\u05cb\u05ce\u05d1\u05d4\u05d7\u0029\u05da\u002c\u002f\u05db\u0032\u05dc\u0035\u0038\u003b\u003e\u0041\u0007\u0514\u0515\u0516\u0027\u0517\u0518\u000f\u0529\u052a\u052b\u052c\u052d\u052e\u052f\u0530\u0531\u0532\u0533\u0534" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0017\u12f4\u12f5\u12f6\u12f7\u12f8\u12f9\u12fa\u12fb\u12fc\u12fd\u12fe\u12ff\u1300\u1301\u1302\u1303\u1304\u1305\u1306\u1307\u1308\u1309\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0037\u1341\u134a\u1357\u1360\u1365\u1366\u1367\u1368\u1369\u136a\u136b\u136c\u136d\u136e\u136f\u1370\u1371\u1372\u1373\u1378\u1379" +
|
"\u0535\u0536\u000e\u0545\u0546\u0547\u0548\u0549\u054a\u054b\u054c\u054d\u054e\u054f\u0550\u0551\u0005\u0557\u0558\u0186\u0189\u0003\u05a6\u05a7\u0003\u055d\u055e\u0007\u057c\u057d\u057e\u057f\u0580\u0581\u0005\u0587\u0588\u0589\u058a\u0003\u058e\u058f\u0005\u059a\u059b\u059c\u059d\u0005\u0587\u0588\u0589\u058a\u0003\u05a6\u05a7\u0017\u09fa\u09fb\u1326\u09fd\u09fe\u0a00\u0a01\u0a02\u0a04\u0a05\u0a06\u00bf\u00c0\u00c1\u00c2\u00c3" +
|
||||||
"\u137a\u137b\u137c\u137d\u137e\u137f\u1380\u1381\u1382\u1383\u1384\u1385\u1386\u1387\u1388\u1389\u138a\u138d\u1390\u1391\u1394\u1397\u1398\u139b\u139e\u139f\u13a2\u13a5\u13a6\u13a7\u13a8\u13a9\u13aa\u0005\u1346\u1347\u1348\u1349\u0001\u0001\u0001\u0001\u0007\u1351\u1352\u1353\u1354\u1355\u1356\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u135c\u135d\u135e\u135f\u0001\u0001\u0001\u0001\u0003\u1363\u1364\u0001\u0001\u0001\u0001\u0001" +
|
"\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u0001\u0002\u1329\u0001\u0003\u0c67\u0d31\u0002\u05ac\u0002\u05ad\u0002\u05ae\u0003\u045f\u05af\u0002\u05b0\u0003\u0460\u05b1\u0002\u05b2\u0002\u05b3\u0002\u05b4\u0002\u05b5\u000e\u0461\u1351\u1374\u1381\u138e\u13b1\u13d4\u13e8\u13e9\u13ea\u13eb\u13ec\u13ed\u0006\u1357\u1364\u1371\u1372\u1373\u0007\u135e\u135f\u1360\u1361\u1362\u1363\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u136b\u136c\u136d" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1376\u1377\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0077\u1422\u142f\u144c\u1467" +
|
"\u136e\u136f\u1370\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u137b\u137c\u137d\u137e\u137f\u1380\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1388\u1389\u138a\u138b\u138c\u138d\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1394\u13a1\u13ae\u13af\u13b0\u0007\u139b\u139c\u139d\u139e\u139f\u13a0\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u13a8\u13a9\u13aa\u13ab\u13ac\u13ad\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u1470\u1475\u147a\u147b\u147c\u147d\u147e\u147f\u1482\u1483\u1484\u1485\u1486\u1487\u1488\u1489\u148a\u148b\u148c\u148d\u148e\u149b\u14a4\u14a5\u14aa\u14ab\u14ac\u14ad\u14ae\u14b1\u14b2\u14b3\u14b4\u14b5\u14b6\u14b7\u14b8\u14b9\u14ba\u14bb\u14bc\u14bd\u14c6\u14cf\u14d4\u14d5\u14d6\u14d7\u14d8\u14d9\u14da\u14db\u14dc\u14dd\u14de\u14df\u14e0\u14e1\u14e2\u14e3\u14e4\u14e5\u14e6\u14e7\u14e8\u14e9\u14ea\u14eb\u14ec\u14ed\u14ee\u14ef" +
|
"\u0001\u0006\u13b7\u13c4\u13d1\u13d2\u13d3\u0007\u13be\u13bf\u13c0\u13c1\u13c2\u13c3\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u13cb\u13cc\u13cd\u13ce\u13cf\u13d0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u13da\u13e1\u1371\u1372\u1373\u0007\u135e\u135f\u1360\u1361\u1362\u1363\u0007\u136b\u136c\u136d\u136e\u136f\u1370\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u05b7\u0003\u0462\u05b8\u0002\u05b9\u0002\u0b9d\u0002" +
|
||||||
"\u14f0\u14f1\u14f2\u14f3\u14f4\u14f5\u14f6\u14f7\u14f8\u14f9\u14fa\u14fb\u14fc\u14fd\u14fe\u14ff\u1500\u1501\u1502\u1505\u1506\u1509\u150c\u150d\u1510\u1513\u1516\u1519\u151c\u151f\u1522\u1525\u1526\u1529\u152c\u152d\u1530\u1533\u1536\u1539\u153c\u153f\u0007\u1429\u142a\u142b\u142c\u142d\u142e\u0001\u0001\u0001\u0001\u0001\u0001\u000f\u143e\u143f\u1440\u1441\u1442\u1443\u1444\u1445\u1446\u1447\u1448\u1449\u144a\u144b\u0001\u0001" +
|
"\u0ba1\u0003\u0ca5\u0ca5\u0002\u0b9d\u0002\u0ba1\u0002\u0cbe\u0002\u1404\u0002\u0000\u0003\u1409\u140b\u0002\u0000\u0002\u0000\u0002\u140f\u0002\u0000\u0002\u1413\u0002\u0000\u0017\u142c\u142e\u1430\u1432\u1434\u1436\u1438\u143a\u143c\u143e\u1440\u1442\u1444\u1446\u1448\u144a\u144c\u144e\u1450\u1452\u1454\u1456\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u145a\u145b\u145c\u145d\u145e\u145f\u1460\u1461\u1462\u1463\u1464\u1465\u1466\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u146c\u146d\u146e\u146f\u0001\u0001\u0001\u0001\u0003\u1473\u1474\u0001\u0001\u0003\u1478\u1479\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u145c\u145e\u1460\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1466\u146a\u1468\u0002\u1468\u0002\u0000\u0002\u0000\u0004\u1470\u1474\u1472\u0002\u1472\u0002\u0000\u0002\u0000\u0002\u1478\u0001\u0007\u1480\u1481\u1482\u1483\u1484\u1485\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1488" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1495\u1496\u1497\u1498\u1499\u149a\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u14a0\u14a1\u14a2\u14a3\u0001\u0001\u0001\u0001\u0001\u0003\u14a8\u14a9\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u14c2\u14c3\u14c4\u14c5\u0001\u0001\u0001\u0001\u0005\u14cb\u14cc\u14cd\u14ce\u0001\u0001\u0001\u0001\u0003" +
|
"\u0001\u000c\u1495\u1496\u1497\u1498\u1499\u149a\u149b\u149c\u149d\u149e\u149f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u14a4\u14a5\u14a6\u0001\u0001\u0001\u0003\u14aa\u14ab\u0001\u0001\u0007\u14b3\u14b4\u14b5\u14b6\u14b7\u14b8\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u14bc\u14bd\u0001\u0001\u0004\u14c2\u14c3\u14c4\u0001\u0001\u0001\u0003\u14c8\u14c9\u0001\u0001\u0002\u14cc\u0001\u0002\u14cf\u0001" +
|
||||||
"\u14d2\u14d3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000" +
|
"\u0002\u14d2\u0001\u0002\u14d5\u0001\u0004\u14da\u14db\u14dc\u0001\u0001\u0001\u0002\u14df\u0001\u0003\u14e3\u14e4\u0001\u0001\u0002\u14e7\u0001\u0004\u14ec\u14ed\u14ee\u0001\u0001\u0001\u0002\u14f1\u0001\u0004\u14f6\u14f7\u14f8\u0001\u0001\u0001\u0002\u14fb\u0001\u0002\u14fe\u0001\u0002\u1501\u0001\u0002\u1504\u0001\u0002\u1507\u0001\u0002\u150a\u0001\u0002\u150d\u0001\u0002\u1510\u0001\u0002\u1513\u0001\u0006\u151a\u151b\u151c" +
|
||||||
"\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0017\u1559\u155a\u155b\u155c\u155d\u155e\u155f\u1560\u1561\u1562\u1563\u1564\u1565\u1566\u1567\u1568\u1569\u156a\u156b\u156c\u156d\u156e\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u151d\u151e\u0001\u0001\u0001\u0001\u0001\u0002\u1521\u0001\u0002\u1524\u0001\u0005\u152a\u152b\u152c\u152d\u0001\u0001\u0001\u0001\u0003\u1531\u1532\u0001\u0001\u0005\u1538\u1539\u153a\u153b\u0001\u0001\u0001\u0001\u0003\u153f\u1540\u0001\u0001\u0011\u1552\u1553\u1554\u1555\u1556\u1557\u1558\u1559\u155a\u155b\u155c\u155d\u155e\u155f\u1560\u1561\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1571\u0001\u0003\u1575\u1576\u0001\u0001\u0002\u1579\u0001\u0002\u157c\u0001\u0002\u157f\u0001\u0003\u1583\u1584\u0001\u0001\u0002\u1587\u0001\u0003\u158b\u158c\u0001\u0001\u0002\u158f\u0001\u0002\u1592\u0001\u0002\u1595\u0001\u0002\u1598\u0001\u000e\u15a7\u15a8\u15cb\u15d8\u15e5\u1608\u162b\u164e\u164f\u1650\u1651\u1652\u1653\u0001" +
|
"\u0001\u0001\u0002\u155d\u0011\u1575\u1576\u1577\u1578\u1579\u157a\u157b\u157c\u157d\u157e\u157f\u1580\u1581\u1582\u1583\u1584\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u157c\u000c\u1593\u1594\u1595\u1596\u1597\u1598\u1599\u159a\u159b\u159c\u159d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u15a1\u15a2\u0001\u0001\u0003\u15a6\u15a7\u0001\u0001" +
|
||||||
"\u0006\u15ae\u15bb\u15c8\u15c9\u15ca\u0007\u15b5\u15b6\u15b7\u15b8\u15b9\u15ba\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15c2\u15c3\u15c4\u15c5\u15c6\u15c7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15d2\u15d3\u15d4\u15d5\u15d6\u15d7\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15df\u15e0\u15e1\u15e2\u15e3\u15e4\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u15eb\u15f8\u1605\u1606\u1607\u0007\u15f2\u15f3\u15f4\u15f5" +
|
"\u0003\u15ab\u15ac\u0001\u0001\u0002\u15af\u0001\u0006\u155e\u155f\u1560\u1557\u1561\u0002\u1584\u0002\u15ba\u0001\u0002\u15bd\u0001\u0002\u15c0\u0001\u0002\u15c3\u0001\u0004\u15c8\u15c9\u15ca\u0001\u0001\u0001\u0004\u15cf\u15d0\u15d1\u0001\u0001\u0001\u0005\u15d7\u15d8\u15d9\u15da\u0001\u0001\u0001\u0001\u0004\u15df\u15e0\u15e1\u0001\u0001\u0001\u0009\u15eb\u15ec\u15ed\u15ee\u15ef\u15f0\u15f1\u15f2\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u15f6\u15f7\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15ff\u1600\u1601\u1602\u1603\u1604\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u160e\u161b\u1628\u1629\u162a\u0007\u1615\u1616\u1617\u1618\u1619\u161a\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1622\u1623\u1624\u1625\u1626\u1627\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1631\u163e\u164b\u164c\u164d\u0007\u1638\u1639\u163a\u163b\u163c\u163d" +
|
"\u0001\u0001\u0001\u0002\u15ec\u0006\u15fb\u15fc\u15fd\u15fe\u15ff\u0001\u0001\u0001\u0001\u0001\u0009\u1609\u160a\u160b\u160c\u160d\u160e\u160f\u1610\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1610\u160c\u0008\u161c\u161d\u161e\u161f\u1620\u1621\u1622\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1627\u1628\u1629\u0001\u0001\u0001\u0002\u162c\u0001\u0007\u1634\u1635\u1636\u1637\u1638\u1639\u0001\u0001\u0001\u0001" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1645\u1646\u1647\u1648\u1649\u164a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1656\u0001\u0003\u165a\u165b\u0001\u0001\u0002\u165e\u0001\u0002\u1661\u0001\u0002\u1664\u0001\u0003\u1668\u1669\u0001\u0001\u0002\u166c\u0001\u0002\u166f\u0001\u0002\u1672\u0001\u0002\u1675\u0002\u0000\u0003\u167a\u167c\u0002\u0000\u0002\u0000\u0002\u1680" +
|
"\u0001\u0001\u0005\u163f\u1640\u1641\u1642\u0001\u0001\u0001\u0001\u0005\u1648\u1649\u164a\u164b\u0001\u0001\u0001\u0001\u0002\u164b\u0008\u1656\u1657\u1658\u1659\u165a\u165b\u165c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1660\u1661\u0001\u0001\u0015\u1677\u1678\u1679\u167a\u167b\u167c\u167d\u167e\u167f\u1680\u1681\u1682\u1683\u1684\u1685\u1686\u1687\u1688\u1689\u168a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0002\u0000\u0002\u1684\u0002\u0000\u0017\u169d\u169f\u16a1\u16a3\u16a5\u16a7\u16a9\u16ab\u16ad\u16af\u16b1\u16b3\u16b5\u16b7\u16b9\u16bb\u16bd\u16bf\u16c1\u16c3\u16c5\u16c7\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1678\u0003\u1685\u1686\u0004\u167e\u1688\u1687\u0002\u1680\n\u16a0\u16a1\u16a2\u16a3\u16a4\u16a5\u16a6\u16a7\u16a8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u16af\u16b0\u16b1\u16b2\u16b3\u0001\u0001\u0001\u0001\u0001\u0006\u16ba\u16bb\u16bc\u16bd\u16be\u0001\u0001\u0001\u0001\u0001\u0005\u16c4\u16c5\u16c6\u16c7\u0001\u0001\u0001\u0001" +
|
||||||
"\u0000\u0004\u16cd\u16cf\u16d1\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u16d7\u16db\u16dd\u0002\u16d9\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u16e3\u16e7\u16e9\u0002\u16e5\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u16ed\u0001\u0007\u16f5\u16f6\u16f7\u16f8\u16f9\u16fa\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u16fd\u0001\u000c\u170a\u170b\u170c\u170d\u170e\u170f\u1710\u1711\u1712\u1713\u1714\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0003\u16cb\u16cc\u0001\u0001\u0005\u16d2\u16d3\u16d4\u16d5\u0001\u0001\u0001\u0001\u0002\u16d8\u0001\u0002\u16a4\u0002\u16c5\u0003\u16e0\u16e1\u0001\u0001\u0003\u1159\u16e5\u0001\u0003\u0a44\u16e9\u0001\u0003\u115a\u16ed\u0001\u0003\u0a45\u16f1\u0001\u0002\u16f4\u0001\u0004\u0ec3\u115b\u16f9\u0001\u0005\u115c\u11de\u11fa\u16ff\u0001\u0002\u1702\u0001\u0002\u0ec4\u0002\u1707\u0001\u0008\u0ec5\u11fb\u1710\u1711\u1712\u1713\u1714" +
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0004\u1719\u171a\u171b\u0001\u0001\u0001\u0003\u171f\u1720\u0001\u0001\u0007\u1728\u1729\u172a\u172b\u172c\u172d\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1731\u1732\u0001\u0001\u0004\u1737\u1738\u1739\u0001\u0001\u0001\u0003\u173d\u173e\u0001\u0001\u0002\u1741\u0001\u0002\u1744\u0001\u0002\u1747\u0001\u0002\u174a\u0001\u0004\u174f\u1750\u1751\u0001\u0001\u0001\u0002\u1754\u0001\u0003\u1758\u1759" +
|
"\u0001\u0001\u0001\u0001\u0001\u0002\u1717\u0001\u0002\u171a\u0001\u0004\u11df\u0b6f\u171f\u0001\u0004\u11e0\u0b6f\u1724\u0001\u0002\u1710\u0002\u115d\u0002\u172b\u0001\u0002\u172e\u0001\u0002\u1731\u0001\u0002\u1734\u0001\u0003\u0ec6\u1738\u0001\u0002\u0ec6\u0002\u173d\u0001\u0002\u1740\u0001\u0002\u1743\u0001\u0002\u1746\u0001\u0002\u1749\u0001\u0002\u174c\u0001\u0002\u174f\u0001\u0002\u1752\u0001\u0002\u1755\u0001\u0002\u1758" +
|
||||||
"\u0001\u0001\u0002\u175c\u0001\u0004\u1761\u1762\u1763\u0001\u0001\u0001\u0002\u1766\u0001\u0004\u176b\u176c\u176d\u0001\u0001\u0001\u0002\u1770\u0001\u0002\u1773\u0001\u0002\u1776\u0001\u0002\u1779\u0001\u0002\u177c\u0001\u0002\u177f\u0001\u0002\u1782\u0001\u0002\u1785\u0001\u0002\u1788\u0001\u0006\u178f\u1790\u1791\u1792\u1793\u0001\u0001\u0001\u0001\u0001\u0002\u1796\u0001\u0002\u1799\u0001\u0005\u179f\u17a0\u17a1\u17a2\u0001" +
|
"\u0001\u0004\u175d\u0ec7\u115e\u0001\u0003\u1761\u0ec8\u0001\u0002\u1764\u0001\u0002\u1767\u0001\u0002\u176a\u0001\u0002\u176d\u0001\u0002\u1770\u0001\u0005\u11fc\u124c\u1711\u1776\u0001\u0004\u0ec9\u1712\u1776\u0002\u177d\u0001\u0002\u1780\u0001\u0002\u1783\u0001\u0002\u1786\u0001\u0002\u1789\u0001\u0002\u178c\u0001\u0002\u178f\u0001\u0003\u0eca\u1793\u0001\u0002\u0ecb\u0002\u0ecc\u0002\u0ecd\u0016\u05df\u0af3\u0b35\u0b79\u0bad" +
|
||||||
"\u0001\u0001\u0001\u0003\u17a6\u17a7\u0001\u0001\u0005\u17ad\u17ae\u17af\u17b0\u0001\u0001\u0001\u0001\u0003\u17b4\u17b5\u0001\u0001\u0011\u17c7\u17c8\u17c9\u17ca\u17cb\u17cc\u17cd\u17ce\u17cf\u17d0\u17d1\u17d2\u17d3\u17d4\u17d5\u17d6\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u17d9\u0001\u0011\u17eb\u17ec\u17ed\u17ee\u17ef\u17f0\u17f1\u17f2\u17f3\u17f4\u17f5\u17f6\u17f7" +
|
"\u0bcc\u0c0b\u0d78\u1329\u16e5\u16e9\u16ed\u16f1\u16f9\u16ff\u1713\u171f\u1724\u1738\u1793\u17b0\u0001\n\u09c8\u0a46\u0aaf\u0d79\u0ece\u115f\u11fd\u1714\u17b0\u0002\u17bd\u0001\u00ac\u186a\u03d5\u0442\u048f\u0559\u0443\u0444\u01b3\u0a8e\u0a2e\u0a8f\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u0b6d\u11d7\u0bc5\u0bf5\u055f\u0560\u09f8\u0a2d\u0fee\u188e\u0ae4\u0b9d\u188f\u0a3f\u10ca\u0ba1\u0ba2\u0ae7\u0ba6\u1890" +
|
||||||
"\u17f8\u17f9\u17fa\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u17fd\u0001\u000c\u180a\u180b\u180c\u180d\u180e\u180f\u1810\u1811\u1812\u1813\u1814\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1818\u1819\u0001\u0001\u0003\u181d\u181e\u0001\u0001\u0003\u1822\u1823\u0001\u0001\u0002\u1826\u0001\u0006\u182d\u182e\u182f\u1830\u1831\u0001\u0001\u0001" +
|
"\u0a91\u03f1\u0a93\u1891\u0cc9\u1899\u189a\u189b\u189c\u189d\u189e\u189f\u18a0\u18a1\u18a2\u18a3\u18a4\u18a5\u18a6\u18a7\u18a8\u18b4\u18bb\u18c1\u18c8\u18ce\u18d3\u18d9\u18e5\u18eb\u18f1\u18f8\u1905\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u186f\u1873\u1876\u1879\u187c\u187f\u1882\u1885\u1888\u188b\u190b\u190c\u190d\u190e\u190f\u1910\u1911\u1912\u1913\u1914\u1915\u1916\u1917\u1918\u1495\u1496\u1497\u1919\u191a" +
|
||||||
"\u0001\u0001\u0002\u1834\u0001\u0002\u1837\u0001\u0002\u183a\u0001\u0002\u183d\u0001\u0002\u1840\u0001\u0004\u1845\u1846\u1847\u0001\u0001\u0001\u0004\u184c\u184d\u184e\u0001\u0001\u0001\u0005\u1854\u1855\u1856\u1857\u0001\u0001\u0001\u0001\u0004\u185c\u185d\u185e\u0001\u0001\u0001\u0009\u1868\u1869\u186a\u186b\u186c\u186d\u186e\u186f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1872\u0001\u0006\u1879\u187a\u187b\u187c" +
|
"\u191b\u1498\u191f\u1920\u1499\u149a\u1921\u1922\u1926\u149b\u192a\u149c\u192e\u149d\u149e\u149f\u192f\u1930\u1934\u1938\u1939\u193a\u193b\u193c\u193d\u193e\u193f\u1940\u1941\u1942\u1943\u1944\u1945\u1946\u1947\u1157\u1891\u0cd7\u0b9b\u0ba7\u0b9c\u0baa\u1948\u1949\u194a\u194b\u194c\u194d\u16f4\u1702\u194e\u194f\u1950\u1951\u1952\u0ec7\u0ec8\u1953\u0005\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0003\u0000" +
|
||||||
"\u187d\u0001\u0001\u0001\u0001\u0001\u0009\u1887\u1888\u1889\u188a\u188b\u188c\u188d\u188e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1892\u1893\u0001\u0001\u0008\u189c\u189d\u189e\u189f\u18a0\u18a1\u18a2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u18a7\u18a8\u18a9\u0001\u0001\u0001\u0002\u18ac\u0001\u0007\u18b4\u18b5\u18b6\u18b7\u18b8\u18b9\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u18bf\u18c0\u18c1\u18c2\u0001" +
|
"\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000" +
|
||||||
"\u0001\u0001\u0001\u0005\u18c8\u18c9\u18ca\u18cb\u0001\u0001\u0001\u0001\u0002\u18ce\u0001\u0008\u18d7\u18d8\u18d9\u18da\u18db\u18dc\u18dd\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u18e1\u18e2\u0001\u0001\u0015\u18f8\u18f9\u18fa\u18fb\u18fc\u18fd\u18fe\u18ff\u1900\u1901\u1902\u1903\u1904\u1905\u1906\u1907\u1908\u1909\u190a\u190b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
"\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000" +
|
||||||
"\u0001\u0001\u0001\u0001\u0002\u190e\u0001\u0003\u1912\u1913\u0001\u0001\u0004\u1918\u1919\u191a\u0001\u0001\u0001\u0002\u191d\u0001\n\u1928\u1929\u192a\u192b\u192c\u192d\u192e\u192f\u1930\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1937\u1938\u1939\u193a\u193b\u0001\u0001\u0001\u0001\u0001\u0006\u1942\u1943\u1944\u1945\u1946\u0001\u0001\u0001\u0001\u0001\u0005\u194c\u194d\u194e\u194f\u0001\u0001\u0001\u0001" +
|
"\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0003\u1953\u1954\u0001\u0001\u0005\u195a\u195b\u195c\u195d\u0001\u0001\u0001\u0001\u0002\u1960\u0001\u0002\u1963\u0001\u0002\u1966\u0001\u0003\u196a\u196b\u0001\u0001\u0003\u196f\u1970\u0001\u0001\u0003\u1974\u1975\u0001\u0001\u0003\u1979\u197a\u0001\u0001\u0003\u197e\u197f\u0001\u0001\u0002\u1982\u0001\u0004\u1987\u1988\u1989\u0001\u0001\u0001\u0005\u198f\u1990\u1991\u1992\u0001\u0001\u0001\u0001\u0002\u1995\u0001\u0002\u1998" +
|
"\u0001\u0001\u0001\u0001\u002f\u0ce4\u0a9c\u1983\u1984\u1985\u1986\u1987\u1988\u1989\u198a\u198b\u198c\u198d\u198e\u198f\u1990\u1991\u1992\u1993\u1994\u1995\u1996\u1997\u1998\u1999\u199a\u0cd7\u0b9b\u0ba7\u0b9c\u0baa\u194a\u194b\u194c\u194d\u199b\u199c\u199d\u199e\u199f\u19a0\u19a1\u19a2\u19a3\u19a4\u19a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||||
"\u0001\u0002\u199b\u0001\u0008\u19a4\u19a5\u19a6\u19a7\u19a8\u19a9\u19aa\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u19ad\u0001\u0002\u19b0\u0001\u0004\u19b5\u19b6\u19b7\u0001\u0001\u0001\u0004\u19bc\u19bd\u19be\u0001\u0001\u0001\u0002\u19c1\u0001\u0002\u19c4\u0001\u0002\u19c7\u0001\u0002\u19ca\u0001\u0002\u19cd\u0001\u0002\u19d0\u0001\u0003\u19d4\u19d5\u0001\u0001\u0002\u19d8\u0001\u0002\u19db\u0001\u0002\u19de\u0001\u0002" +
|
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray();
|
||||||
"\u19e1\u0001\u0002\u19e4\u0001\u0002\u19e7\u0001\u0002\u19ea\u0001\u0002\u19ed\u0001\u0002\u19f0\u0001\u0002\u19f3\u0001\u0002\u19f6\u0001\u0004\u19fb\u19fc\u19fd\u0001\u0001\u0001\u0003\u1a01\u1a02\u0001\u0001\u0002\u1a05\u0001\u0002\u1a08\u0001\u0002\u1a0b\u0001\u0002\u1a0e\u0001\u0002\u1a11\u0001\u0005\u1a17\u1a18\u1a19\u1a1a\u0001\u0001\u0001\u0001\u0004\u1a1f\u1a20\u1a21\u0001\u0001\u0001\u0002\u1a24\u0001\u0002\u1a27\u0001" +
|
|
||||||
"\u0002\u1a2a\u0001\u0002\u1a2d\u0001\u0002\u1a30\u0001\u0002\u1a33\u0001\u0002\u1a36\u0001\u0003\u1a3a\u1a3b\u0001\u0001\u0002\u1a3e\u0001\u0002\u1a41\u0001\u0002\u1a44\u0001\u0016\u1a5b\u1a5c\u1a5d\u1a5e\u1a5f\u1a60\u1a61\u1a62\u1a63\u1a64\u1a65\u1a66\u1a67\u1a68\u1a69\u1a6a\u1a6b\u1a6c\u1a6d\u1a6e\u1a6f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
|
||||||
"\n\u1a7a\u1a7b\u1a7c\u1a7d\u1a7e\u1a7f\u1a80\u1a81\u1a82\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1a85\u0001\u000c\u1a92\u1a93\u1a94\u1a95\u1a96\u1a97\u1a98\u1a99\u1a9a\u1a9b\u1a9c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\r\u1aaa\u1aab\u1aac\u1aad\u1aae\u1aaf\u1ab0\u1ab1\u1ab2\u1ab3\u1ab4\u1ab5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1ab9" +
|
|
||||||
"\u1aba\u0001\u0001\u000f\u1aca\u1acb\u1acc\u1acd\u1ace\u1acf\u1ad0\u1ad1\u1ad2\u1ad3\u1ad4\u1ad5\u1ad6\u1ad7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000c\u1ae4\u1ae5\u1ae6\u1ae7\u1ae8\u1ae9\u1aea\u1aeb\u1aec\u1aed\u1aee\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1af3\u1af4\u1af5\u0001\u0001\u0001\u000c\u1b02\u1b03\u1b04\u1b05\u1b06\u1b07\u1b08\u1b09\u1b0a" +
|
|
||||||
"\u1b0b\u1b0c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1b14\u1b15\u1b16\u1b17\u1b18\u1b19\u0001\u0001\u0001\u0001\u0001\u0001\r\u1b27\u1b28\u1b29\u1b2a\u1b2b\u1b2d\u1b2f\u1b30\u1b32\u1b33\u1b35\u1b37\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u0000\u0002\u0000\u0001\r\u1b45\u1b46\u1b47\u1b48\u1b49\u1b4a\u1b4b\u1b4c\u1b4d\u1b4e\u1b4f\u1b50\u0001\u0001\u0001" +
|
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u1b72\u1b73\u1b74\u1b75\u1b76\u1b77\u1b78\u1b79\u1b7a\u1b7b\u1b7c\u1b7d\u1b7e\u1b7f\u1b80\u1b81\u1b82\u1b83\u1b84\u1b85\u1b86\u1b87\u1b88\u1b89\u1b8a\u1b8b\u1b8c\u1b8d\u1b8e\u1b8f\u1b90\u1b91\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
|
|
||||||
"\u0001\u0001\u0007\u1b99\u1b9a\u1b9b\u1b9c\u1b9d\u1b9e\u0001\u0001\u0001\u0001\u0001\u0001\r\u1bac\u1bad\u1bae\u1baf\u1bb0\u1bb1\u1bb2\u1bb3\u1bb4\u1bb5\u1bb6\u1bb7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0029\u1be1\u1be2\u1be3\u1be4\u1be5\u1be6\u1be7\u1be8\u1be9\u1bea\u1beb\u1bec\u1bed\u1bee\u1bef\u1bf0\u1bf1\u1bf2\u1bf3\u1bf4\u1bf5\u1bf6\u1bf7\u1bf8\u1bf9\u1bfa\u1bfb\u1bfc\u1bfd\u1bfe\u1bff" +
|
|
||||||
"\u1c00\u1c01\u1c02\u1c03\u1c04\u1c05\u1c06\u1c07\u1c08\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0011\u1c1a\u1c1b\u1c1d\u1c1e\u1c1f\u1c20\u1c21\u1c23\u1c24\u1c25\u1c26\u1c28\u1c29\u1c2a\u1c2b\u1c2c\u0001\u0002\u0000\u0001\u0001\u0001" +
|
|
||||||
"\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\r\u1c3a\u1c3b\u1c3c\u1c3d\u1c3e\u1c3f\u1c40\u1c41\u1c42\u1c43\u1c44\u1c45\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1c4d\u1c4e\u1c4f\u1c50\u1c51\u1c52\u0001\u0001\u0001\u0001\u0001\u0001\u0014\u1c67\u1c68\u1c69\u1c6a\u1c6b\u1c6c\u1c6d\u1c6e\u1c6f\u1c70\u1c71\u1c72\u1c73\u1c74\u1c75\u1c76\u1c77\u1c78\u1c79\u0001" +
|
|
||||||
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u1c88\u1c89\u1c8a\u1c8b\u1c8c\u1c8d\u1c8e\u1c8f\u1c90\u1c91\u1c92\u1c93\u1c94\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001").toCharArray();
|
|
||||||
|
|
||||||
public static final int accent_ogonek = 1;
|
public static final int accent_aigu = 1;
|
||||||
public static final int accent_arrows = 18;
|
public static final int accent_arrows = 68;
|
||||||
public static final int accent_tilde = 41;
|
public static final int accent_bar = 91;
|
||||||
public static final int en_US_UTF_8_Compose = 64;
|
public static final int accent_box = 127;
|
||||||
public static final int accent_cedille = 6790;
|
public static final int accent_caron = 150;
|
||||||
public static final int accent_horn = 6813;
|
public static final int accent_cedille = 179;
|
||||||
public static final int accent_ring = 6838;
|
public static final int accent_circonflexe = 202;
|
||||||
public static final int accent_caron = 6843;
|
public static final int accent_dot_above = 245;
|
||||||
public static final int accent_circonflexe = 6872;
|
public static final int accent_dot_below = 284;
|
||||||
public static final int accent_double_aigu = 6895;
|
public static final int accent_double_aigu = 309;
|
||||||
public static final int accent_box = 6902;
|
public static final int accent_grave = 336;
|
||||||
public static final int accent_grave = 6925;
|
public static final int accent_hook_above = 349;
|
||||||
public static final int accent_slash = 6938;
|
public static final int accent_horn = 374;
|
||||||
public static final int accent_hook_above = 6968;
|
public static final int accent_macron = 395;
|
||||||
public static final int accent_subscript = 6993;
|
public static final int accent_ogonek = 408;
|
||||||
public static final int accent_trema = 7058;
|
public static final int accent_ordinal = 422;
|
||||||
public static final int accent_dot_below = 7071;
|
public static final int accent_ring = 445;
|
||||||
public static final int accent_superscript = 7096;
|
public static final int accent_slash = 450;
|
||||||
public static final int accent_bar = 7177;
|
public static final int accent_subscript = 480;
|
||||||
public static final int accent_ordinal = 7213;
|
public static final int accent_superscript = 545;
|
||||||
public static final int accent_macron = 7238;
|
public static final int accent_tilde = 619;
|
||||||
public static final int accent_dot_above = 7251;
|
public static final int accent_trema = 640;
|
||||||
public static final int accent_aigu = 7290;
|
public static final int compose = 653;
|
||||||
|
public static final int fn = 6078;
|
||||||
|
public static final int shift = 6484;
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,6 @@ package juloo.keyboard2;
|
|||||||
|
|
||||||
import android.view.KeyCharacterMap;
|
import android.view.KeyCharacterMap;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public final class KeyModifier
|
public final class KeyModifier
|
||||||
@@ -52,14 +51,14 @@ public final class KeyModifier
|
|||||||
{
|
{
|
||||||
switch (mod)
|
switch (mod)
|
||||||
{
|
{
|
||||||
case CTRL:
|
case CTRL: return apply_ctrl(k);
|
||||||
case ALT:
|
case ALT:
|
||||||
case META: return turn_into_keyevent(k);
|
case META: return turn_into_keyevent(k);
|
||||||
case FN: return apply_fn(k);
|
case FN: return apply_fn(k);
|
||||||
case GESTURE: return apply_gesture(k);
|
case GESTURE: return apply_gesture(k);
|
||||||
case SHIFT: return apply_shift(k);
|
case SHIFT: return apply_shift(k);
|
||||||
case GRAVE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_grave, '\u02CB');
|
case GRAVE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_grave, '\u02CB');
|
||||||
case AIGU: return apply_diacritics(k, ComposeKeyData.accent_aigu, '\u00B4', '\u0301');
|
case AIGU: return apply_compose_or_dead_char(k, ComposeKeyData.accent_aigu, '\u00B4');
|
||||||
case CIRCONFLEXE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_circonflexe, '\u02C6');
|
case CIRCONFLEXE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_circonflexe, '\u02C6');
|
||||||
case TILDE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_tilde, '\u02DC');
|
case TILDE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_tilde, '\u02DC');
|
||||||
case CEDILLE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_cedille, '\u00B8');
|
case CEDILLE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_cedille, '\u00B8');
|
||||||
@@ -70,7 +69,7 @@ public final class KeyModifier
|
|||||||
case OGONEK: return apply_compose_or_dead_char(k, ComposeKeyData.accent_ogonek, '\u02DB');
|
case OGONEK: return apply_compose_or_dead_char(k, ComposeKeyData.accent_ogonek, '\u02DB');
|
||||||
case DOT_ABOVE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_dot_above, '\u02D9');
|
case DOT_ABOVE: return apply_compose_or_dead_char(k, ComposeKeyData.accent_dot_above, '\u02D9');
|
||||||
case BREVE: return apply_dead_char(k, '\u02D8');
|
case BREVE: return apply_dead_char(k, '\u02D8');
|
||||||
case DOUBLE_AIGU: return apply_diacritics(k, ComposeKeyData.accent_double_aigu, '\0', '\u030b');
|
case DOUBLE_AIGU: return apply_compose(k, ComposeKeyData.accent_double_aigu);
|
||||||
case ORDINAL: return apply_compose(k, ComposeKeyData.accent_ordinal);
|
case ORDINAL: return apply_compose(k, ComposeKeyData.accent_ordinal);
|
||||||
case SUPERSCRIPT: return apply_compose(k, ComposeKeyData.accent_superscript);
|
case SUPERSCRIPT: return apply_compose(k, ComposeKeyData.accent_superscript);
|
||||||
case SUBSCRIPT: return apply_compose(k, ComposeKeyData.accent_subscript);
|
case SUBSCRIPT: return apply_compose(k, ComposeKeyData.accent_subscript);
|
||||||
@@ -132,51 +131,43 @@ public final class KeyModifier
|
|||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Apply the following mapping, in this order, and stop at the first that
|
/** Apply the given compose state or fallback to the dead_char. */
|
||||||
changes the key.
|
private static KeyValue apply_compose_or_dead_char(KeyValue k, int state, char dead_char)
|
||||||
|
|
||||||
- The compose state, unless it is [0].
|
|
||||||
- The dead char, unless it is ['\0'].
|
|
||||||
- The combining diacritic, unless it is ['\0'].
|
|
||||||
This is not done if the initial key matches [combining_disabled]. */
|
|
||||||
private static KeyValue apply_diacritics(KeyValue k, int state, char dead_char, char combining)
|
|
||||||
{
|
{
|
||||||
switch (k.getKind())
|
switch (k.getKind())
|
||||||
{
|
{
|
||||||
case Char:
|
case Char:
|
||||||
char c = k.getChar();
|
char c = k.getChar();
|
||||||
if (state != 0)
|
KeyValue r = ComposeKey.apply(state, c);
|
||||||
{
|
if (r != null)
|
||||||
KeyValue r = ComposeKey.apply(state, c);
|
return r;
|
||||||
if (r != null)
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
if (dead_char != '\0')
|
|
||||||
{
|
|
||||||
char modified = (char)KeyCharacterMap.getDeadChar(dead_char, c);
|
|
||||||
if (modified != 0 && modified != c)
|
|
||||||
return KeyValue.makeStringKey(String.valueOf(modified));
|
|
||||||
}
|
|
||||||
if (combining != '\0' && !combining_disabled(c))
|
|
||||||
return KeyValue.makeStringKey(new String(new char[]{ c, combining }));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return k;
|
return apply_dead_char(k, dead_char);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static KeyValue apply_compose(KeyValue k, int state)
|
private static KeyValue apply_compose(KeyValue k, int state)
|
||||||
{
|
{
|
||||||
return apply_diacritics(k, state, '\0', '\0');
|
switch (k.getKind())
|
||||||
|
{
|
||||||
|
case Char:
|
||||||
|
KeyValue r = ComposeKey.apply(state, k.getChar());
|
||||||
|
if (r != null)
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static KeyValue apply_dead_char(KeyValue k, char dead_char)
|
private static KeyValue apply_dead_char(KeyValue k, char dead_char)
|
||||||
{
|
{
|
||||||
return apply_diacritics(k, 0, dead_char, '\0');
|
switch (k.getKind())
|
||||||
}
|
{
|
||||||
|
case Char:
|
||||||
private static KeyValue apply_compose_or_dead_char(KeyValue k, int state, char dead_char)
|
char c = k.getChar();
|
||||||
{
|
char modified = (char)KeyCharacterMap.getDeadChar(dead_char, c);
|
||||||
return apply_diacritics(k, state, dead_char, '\0');
|
if (modified != 0 && modified != c)
|
||||||
|
return KeyValue.makeStringKey(String.valueOf(modified));
|
||||||
|
}
|
||||||
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static KeyValue apply_shift(KeyValue k)
|
private static KeyValue apply_shift(KeyValue k)
|
||||||
@@ -191,9 +182,10 @@ public final class KeyModifier
|
|||||||
{
|
{
|
||||||
case Char:
|
case Char:
|
||||||
char kc = k.getChar();
|
char kc = k.getChar();
|
||||||
char c = map_char_shift(kc);
|
KeyValue r = ComposeKey.apply(ComposeKeyData.shift, kc);
|
||||||
if (kc == c)
|
if (r != null)
|
||||||
c = Character.toUpperCase(kc);
|
return r;
|
||||||
|
char c = Character.toUpperCase(kc);
|
||||||
return (kc == c) ? k : k.withChar(c);
|
return (kc == c) ? k : k.withChar(c);
|
||||||
case String:
|
case String:
|
||||||
String s = Utils.capitalize_string(k.getString());
|
String s = Utils.capitalize_string(k.getString());
|
||||||
@@ -213,10 +205,13 @@ public final class KeyModifier
|
|||||||
String name = null;
|
String name = null;
|
||||||
switch (k.getKind())
|
switch (k.getKind())
|
||||||
{
|
{
|
||||||
case Char: name = apply_fn_char(k.getChar()); break;
|
case Char:
|
||||||
|
KeyValue r = ComposeKey.apply(ComposeKeyData.fn, k.getChar());
|
||||||
|
return (r != null) ? r : k;
|
||||||
case Keyevent: name = apply_fn_keyevent(k.getKeyevent()); break;
|
case Keyevent: name = apply_fn_keyevent(k.getKeyevent()); break;
|
||||||
case Event: name = apply_fn_event(k.getEvent()); break;
|
case Event: name = apply_fn_event(k.getEvent()); break;
|
||||||
case Placeholder: name = apply_fn_placeholder(k.getPlaceholder()); break;
|
case Placeholder: name = apply_fn_placeholder(k.getPlaceholder()); break;
|
||||||
|
case Cursor_move: name = apply_fn_cursormove(k.getCursorMove()); break;
|
||||||
}
|
}
|
||||||
return (name == null) ? k : KeyValue.getKeyByName(name);
|
return (name == null) ? k : KeyValue.getKeyByName(name);
|
||||||
}
|
}
|
||||||
@@ -262,193 +257,29 @@ public final class KeyModifier
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return the name of modified key, or [null]. */
|
private static String apply_fn_cursormove(short cur)
|
||||||
private static String apply_fn_char(char c)
|
|
||||||
{
|
{
|
||||||
switch (c)
|
switch (cur)
|
||||||
{
|
{
|
||||||
case '1': return "f1";
|
case -1 : return "home"; // cursor_left
|
||||||
case '2': return "f2";
|
case 1 : return "end"; // cursor_right
|
||||||
case '3': return "f3";
|
|
||||||
case '4': return "f4";
|
|
||||||
case '5': return "f5";
|
|
||||||
case '6': return "f6";
|
|
||||||
case '7': return "f7";
|
|
||||||
case '8': return "f8";
|
|
||||||
case '9': return "f9";
|
|
||||||
case '0': return "f10";
|
|
||||||
case '<': return "«";
|
|
||||||
case '>': return "»";
|
|
||||||
case '{': return "‹";
|
|
||||||
case '}': return "›";
|
|
||||||
case '[': return "‘";
|
|
||||||
case ']': return "’";
|
|
||||||
case '(': return "“";
|
|
||||||
case ')': return "”";
|
|
||||||
case '\'': return "‚";
|
|
||||||
case '"': return "„";
|
|
||||||
case '-': return "–";
|
|
||||||
case '_': return "—";
|
|
||||||
case '^': return "¬";
|
|
||||||
case '%': return "‰";
|
|
||||||
case '=': return "≈";
|
|
||||||
case 'u': return "µ";
|
|
||||||
case 'a': return "æ";
|
|
||||||
case 'o': return "œ";
|
|
||||||
case '*': return "°";
|
|
||||||
case '.': return "…";
|
|
||||||
case ',': return "·";
|
|
||||||
case '!': return "¡";
|
|
||||||
case '?': return "¿";
|
|
||||||
case '|': return "¦";
|
|
||||||
case '§': return "¶";
|
|
||||||
case '†': return "‡";
|
|
||||||
case '×': return "∙";
|
|
||||||
case ' ': return "nbsp";
|
|
||||||
// arrows
|
|
||||||
case '↖': return "⇖";
|
|
||||||
case '↑': return "⇑";
|
|
||||||
case '↗': return "⇗";
|
|
||||||
case '←': return "⇐";
|
|
||||||
case '→': return "⇒";
|
|
||||||
case '↙': return "⇙";
|
|
||||||
case '↓': return "⇓";
|
|
||||||
case '↘': return "⇘";
|
|
||||||
case '↔': return "⇔";
|
|
||||||
case '↕': return "⇕";
|
|
||||||
// Currency symbols
|
|
||||||
case 'e': return "€";
|
|
||||||
case 'l': return "£";
|
|
||||||
case 'r': return "₹";
|
|
||||||
case 'y': return "¥";
|
|
||||||
case 'c': return "¢";
|
|
||||||
case 'p': return "₽";
|
|
||||||
case 'b': return "₱";
|
|
||||||
case 'h': return "₴";
|
|
||||||
case 'z': return "₿";
|
|
||||||
case '€': case '£': return "removed"; // Avoid showing these twice
|
|
||||||
// alternating greek letters
|
|
||||||
case 'π': return "ϖ";
|
|
||||||
case 'θ': return "ϑ";
|
|
||||||
case 'Θ': return "ϴ";
|
|
||||||
case 'ε': return "ϵ";
|
|
||||||
case 'β': return "ϐ";
|
|
||||||
case 'ρ': return "ϱ";
|
|
||||||
case 'σ': return "ς";
|
|
||||||
case 'γ': return "ɣ";
|
|
||||||
case 'φ': return "ϕ";
|
|
||||||
case 'υ': return "ϒ";
|
|
||||||
case 'κ': return "ϰ";
|
|
||||||
// alternating math characters
|
|
||||||
case '∪': return "⋃";
|
|
||||||
case '∩': return "⋂";
|
|
||||||
case '∃': return "∄";
|
|
||||||
case '∈': return "∉";
|
|
||||||
case '∫': return "∮";
|
|
||||||
case 'Π': return "∏";
|
|
||||||
case 'Σ': return "∑";
|
|
||||||
case '∨': return "⋁";
|
|
||||||
case '∧': return "⋀";
|
|
||||||
case '⊷': return "⊶";
|
|
||||||
case '⊂': return "⊆";
|
|
||||||
case '⊃': return "⊇";
|
|
||||||
case '±': return "∓";
|
|
||||||
// hebrew niqqud
|
|
||||||
case 'ק': return "qamats"; // kamatz
|
|
||||||
case 'ר': return "hataf_qamats"; // reduced kamatz
|
|
||||||
case 'ו': return "holam";
|
|
||||||
case 'ם': return "rafe";
|
|
||||||
case 'פ': return "patah"; // patach
|
|
||||||
case 'ש': return "sheva";
|
|
||||||
case 'ד': return "dagesh"; // or mapiq
|
|
||||||
case 'ח': return "hiriq";
|
|
||||||
case 'ף': return "hataf_patah"; // reduced patach
|
|
||||||
case 'ז': return "qubuts"; // kubuts
|
|
||||||
case 'ס': return "segol";
|
|
||||||
case 'ב': return "hataf_segol"; // reduced segol
|
|
||||||
case 'צ': return "tsere";
|
|
||||||
// Devanagari symbols
|
|
||||||
case 'ए': return "ऍ";
|
|
||||||
case 'े': return "ॅ";
|
|
||||||
case 'ऐ': return "ऎ";
|
|
||||||
case 'ै': return "ॆ";
|
|
||||||
case 'ऋ': return "ॠ";
|
|
||||||
case 'ृ': return "ॄ";
|
|
||||||
case 'ळ': return "ऴ";
|
|
||||||
case 'र': return "ऱ";
|
|
||||||
case 'क': return "क़";
|
|
||||||
case 'ख': return "ख़";
|
|
||||||
case 'ग': return "ग़";
|
|
||||||
case 'घ': return "ॻ";
|
|
||||||
case 'ढ': return "ढ़";
|
|
||||||
case 'न': return "ऩ";
|
|
||||||
case 'ड': return "ड़";
|
|
||||||
case 'ट': return "ॸ";
|
|
||||||
case 'ण': return "ॾ";
|
|
||||||
case 'फ': return "फ़";
|
|
||||||
case 'ऌ': return "ॡ";
|
|
||||||
case 'ॢ': return "ॣ";
|
|
||||||
case 'औ': return "ॵ";
|
|
||||||
case 'ौ': return "ॏ";
|
|
||||||
case 'ओ': return "ऒ";
|
|
||||||
case 'ो': return "ॊ";
|
|
||||||
case 'च': return "ॼ";
|
|
||||||
case 'ज': return "ज़";
|
|
||||||
case 'ब': return "ॿ";
|
|
||||||
case 'व': return "ॺ";
|
|
||||||
case 'य': return "य़";
|
|
||||||
case 'अ': return "ॲ";
|
|
||||||
case 'आ': return "ऑ";
|
|
||||||
case 'ा': return "ॉ";
|
|
||||||
case 'झ': return "ॹ";
|
|
||||||
case 'ई': return "ॴ";
|
|
||||||
case 'ी': return "ऻ";
|
|
||||||
case 'इ': return "ॳ";
|
|
||||||
case 'ि': return "ऺ";
|
|
||||||
case 'उ': return "ॶ";
|
|
||||||
case 'ऊ': return "ॷ";
|
|
||||||
case 'ु': return "ऄ";
|
|
||||||
case 'ष': return "क्ष";
|
|
||||||
case 'थ': return "त्र";
|
|
||||||
case 'द': return "द्र";
|
|
||||||
case 'प': return "प्र";
|
|
||||||
case 'श': return "श्र";
|
|
||||||
case 'छ': return "श्च";
|
|
||||||
case 'ँ': return "ऀ";
|
|
||||||
case '₹': return "₨";
|
|
||||||
case 'ॖ': return "ॗ";
|
|
||||||
case '॓': return "॔";
|
|
||||||
case '॰': return "ॱ";
|
|
||||||
case '।': return "॥";
|
|
||||||
case 'ं': return "ॕ";
|
|
||||||
case '़': return "ॎ";
|
|
||||||
case 'ऽ': return "ॽ";
|
|
||||||
// Persian numbers
|
|
||||||
case '۱': return "f1";
|
|
||||||
case '۲': return "f2";
|
|
||||||
case '۳': return "f3";
|
|
||||||
case '۴': return "f4";
|
|
||||||
case '۵': return "f5";
|
|
||||||
case '۶': return "f6";
|
|
||||||
case '۷': return "f7";
|
|
||||||
case '۸': return "f8";
|
|
||||||
case '۹': return "f9";
|
|
||||||
case '۰': return "f10";
|
|
||||||
// Arabic numbers
|
|
||||||
case '١': return "f1";
|
|
||||||
case '٢': return "f2";
|
|
||||||
case '٣': return "f3";
|
|
||||||
case '٤': return "f4";
|
|
||||||
case '٥': return "f5";
|
|
||||||
case '٦': return "f6";
|
|
||||||
case '٧': return "f7";
|
|
||||||
case '٨': return "f8";
|
|
||||||
case '٩': return "f9";
|
|
||||||
case '٠': return "f10";
|
|
||||||
default: return null;
|
default: return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static KeyValue apply_ctrl(KeyValue k)
|
||||||
|
{
|
||||||
|
if (_modmap != null)
|
||||||
|
{
|
||||||
|
KeyValue mapped = _modmap.ctrl.get(k);
|
||||||
|
// Do not return the modified character right away, first turn it into a
|
||||||
|
// key event.
|
||||||
|
if (mapped != null)
|
||||||
|
k = mapped;
|
||||||
|
}
|
||||||
|
return turn_into_keyevent(k);
|
||||||
|
}
|
||||||
|
|
||||||
private static KeyValue turn_into_keyevent(KeyValue k)
|
private static KeyValue turn_into_keyevent(KeyValue k)
|
||||||
{
|
{
|
||||||
if (k.getKind() != KeyValue.Kind.Char)
|
if (k.getKind() != KeyValue.Kind.Char)
|
||||||
@@ -536,64 +367,6 @@ public final class KeyModifier
|
|||||||
public String apply(char _c) { return null; }
|
public String apply(char _c) { return null; }
|
||||||
};
|
};
|
||||||
|
|
||||||
private static char map_char_shift(char c)
|
|
||||||
{
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '↙': return '⇙';
|
|
||||||
case '↓': return '⇓';
|
|
||||||
case '↘': return '⇘';
|
|
||||||
case '←': return '⇐';
|
|
||||||
case '→': return '⇒';
|
|
||||||
case '↖': return '⇖';
|
|
||||||
case '↑': return '⇑';
|
|
||||||
case '↗': return '⇗';
|
|
||||||
case '└': return '╚';
|
|
||||||
case '┴': return '╩';
|
|
||||||
case '┘': return '╝';
|
|
||||||
case '├': return '╠';
|
|
||||||
case '┼': return '╬';
|
|
||||||
case '┤': return '╣';
|
|
||||||
case '┌': return '╔';
|
|
||||||
case '┬': return '╦';
|
|
||||||
case '┐': return '╗';
|
|
||||||
case '─': return '═';
|
|
||||||
case '│': return '║';
|
|
||||||
case 'ß': return 'ẞ';
|
|
||||||
/* In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will
|
|
||||||
return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This
|
|
||||||
has the inconvenient of swapping i and ı on the keyboard. */
|
|
||||||
case 'ı': return 'İ';
|
|
||||||
case '₹': return '₨';
|
|
||||||
// Gujarati alternate characters
|
|
||||||
case 'અ': return 'આ';
|
|
||||||
case 'ઇ': return 'ઈ';
|
|
||||||
case 'િ': return 'ી';
|
|
||||||
case 'ઉ': return 'ઊ';
|
|
||||||
case 'ુ': return 'ૂ';
|
|
||||||
case 'એ': return 'ઐ';
|
|
||||||
case 'ે': return 'ૈ';
|
|
||||||
case 'ઓ': return 'ઔ';
|
|
||||||
case 'ો': return 'ૌ';
|
|
||||||
case 'ક': return 'ખ';
|
|
||||||
case 'ગ': return 'ઘ';
|
|
||||||
case 'ચ': return 'છ';
|
|
||||||
case 'જ': return 'ઝ';
|
|
||||||
case 'ટ': return 'ઠ';
|
|
||||||
case 'ડ': return 'ઢ';
|
|
||||||
case 'ન': return 'ણ';
|
|
||||||
case 'ત': return 'થ';
|
|
||||||
case 'દ': return 'ધ';
|
|
||||||
case 'પ': return 'ફ';
|
|
||||||
case 'બ': return 'ભ';
|
|
||||||
case 'મ': return 'ં';
|
|
||||||
case 'લ': return 'ળ';
|
|
||||||
case 'સ': return 'શ';
|
|
||||||
case 'હ': return 'ઃ';
|
|
||||||
default: return c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final Map_char map_char_arrow_right =
|
private static final Map_char map_char_arrow_right =
|
||||||
new Map_char() {
|
new Map_char() {
|
||||||
public String apply(char c)
|
public String apply(char c)
|
||||||
@@ -815,18 +588,4 @@ public final class KeyModifier
|
|||||||
}
|
}
|
||||||
return KeyValue.makeHangulFinal(precomposed, final_idx);
|
return KeyValue.makeHangulFinal(precomposed, final_idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Characters for which combining diacritics should not be appeneded. */
|
|
||||||
private static final char[] combining_disabled_chars =
|
|
||||||
"0123456789@`!\"#$%&'()*:+;[{,<\\|-=]}.>^~/?_ \t\n¡¿«»‹›‘’“”‚„–—¬‰≈°…·¦¶‡∙€£₹¥¢₽₱₴₿".toCharArray();
|
|
||||||
|
|
||||||
static
|
|
||||||
{
|
|
||||||
Arrays.sort(combining_disabled_chars);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean combining_disabled(char c)
|
|
||||||
{
|
|
||||||
return (Arrays.binarySearch(combining_disabled_chars, c) >= 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -501,6 +501,8 @@ public final class KeyValue implements Comparable<KeyValue>
|
|||||||
case "f11": return keyeventKey("F11", KeyEvent.KEYCODE_F11, FLAG_SMALLER_FONT);
|
case "f11": return keyeventKey("F11", KeyEvent.KEYCODE_F11, FLAG_SMALLER_FONT);
|
||||||
case "f12": return keyeventKey("F12", KeyEvent.KEYCODE_F12, FLAG_SMALLER_FONT);
|
case "f12": return keyeventKey("F12", KeyEvent.KEYCODE_F12, FLAG_SMALLER_FONT);
|
||||||
case "tab": return keyeventKey(0xE00F, KeyEvent.KEYCODE_TAB, FLAG_SMALLER_FONT);
|
case "tab": return keyeventKey(0xE00F, KeyEvent.KEYCODE_TAB, FLAG_SMALLER_FONT);
|
||||||
|
case "menu": return keyeventKey("Menu", KeyEvent.KEYCODE_MENU, FLAG_SMALLER_FONT);
|
||||||
|
case "playpause": return keyeventKey("Play", KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, FLAG_SMALLER_FONT);
|
||||||
|
|
||||||
/* Spaces */
|
/* Spaces */
|
||||||
case "\\t": return charKey("\\t", '\t', 0); // Send the tab character
|
case "\\t": return charKey("\\t", '\t', 0); // Send the tab character
|
||||||
@@ -550,7 +552,8 @@ public final class KeyValue implements Comparable<KeyValue>
|
|||||||
case "meteg_placeholder": return placeholderKey(Placeholder.METEG);
|
case "meteg_placeholder": return placeholderKey(Placeholder.METEG);
|
||||||
/* intending/preventing ligature - supported by many scripts*/
|
/* intending/preventing ligature - supported by many scripts*/
|
||||||
case "zwj": return charKey("zwj", '\u200D', 0); // zero-width joiner (provides ligature)
|
case "zwj": return charKey("zwj", '\u200D', 0); // zero-width joiner (provides ligature)
|
||||||
case "zwnj": return charKey("zwnj", '\u200C', 0); // zero-width non joiner (prevents unintended ligature)
|
case "zwnj":
|
||||||
|
case "halfspace": return charKey("⸽", '\u200C', 0); // zero-width non joiner
|
||||||
|
|
||||||
/* Editing keys */
|
/* Editing keys */
|
||||||
case "copy": return editingKey(0xE030, Editing.COPY);
|
case "copy": return editingKey(0xE030, Editing.COPY);
|
||||||
@@ -569,7 +572,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
|||||||
case "autofill": return editingKey("auto", Editing.AUTOFILL);
|
case "autofill": return editingKey("auto", Editing.AUTOFILL);
|
||||||
|
|
||||||
/* The compose key */
|
/* The compose key */
|
||||||
case "compose": return makeComposePending(0xE016, ComposeKeyData.en_US_UTF_8_Compose, FLAG_SECONDARY | FLAG_SMALLER_FONT | FLAG_SPECIAL);
|
case "compose": return makeComposePending(0xE016, ComposeKeyData.compose, FLAG_SECONDARY | FLAG_SMALLER_FONT | FLAG_SPECIAL);
|
||||||
|
|
||||||
/* Placeholder keys */
|
/* Placeholder keys */
|
||||||
case "removed": return placeholderKey(Placeholder.REMOVED);
|
case "removed": return placeholderKey(Placeholder.REMOVED);
|
||||||
|
@@ -136,13 +136,9 @@ public class Keyboard2 extends InputMethodService
|
|||||||
return ExtraKeys.EMPTY;
|
return ExtraKeys.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@TargetApi(12)
|
private void refreshAccentsOption(InputMethodManager imm, List<InputMethodSubtype> enabled_subtypes)
|
||||||
private void refreshAccentsOption(InputMethodManager imm, InputMethodSubtype subtype)
|
|
||||||
{
|
{
|
||||||
List<InputMethodSubtype> enabled_subtypes = getEnabledSubtypes(imm);
|
|
||||||
List<ExtraKeys> extra_keys = new ArrayList<ExtraKeys>();
|
List<ExtraKeys> extra_keys = new ArrayList<ExtraKeys>();
|
||||||
// Gather extra keys from all enabled subtypes
|
|
||||||
extra_keys.add(extra_keys_of_subtype(subtype));
|
|
||||||
for (InputMethodSubtype s : enabled_subtypes)
|
for (InputMethodSubtype s : enabled_subtypes)
|
||||||
extra_keys.add(extra_keys_of_subtype(s));
|
extra_keys.add(extra_keys_of_subtype(s));
|
||||||
_config.extra_keys_subtype = ExtraKeys.merge(extra_keys);
|
_config.extra_keys_subtype = ExtraKeys.merge(extra_keys);
|
||||||
@@ -153,6 +149,20 @@ public class Keyboard2 extends InputMethodService
|
|||||||
return (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
|
return (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TargetApi(12)
|
||||||
|
private InputMethodSubtype defaultSubtypes(InputMethodManager imm, List<InputMethodSubtype> enabled_subtypes)
|
||||||
|
{
|
||||||
|
if (VERSION.SDK_INT < 24)
|
||||||
|
return imm.getCurrentInputMethodSubtype();
|
||||||
|
// Android might return a random subtype, for example, the first in the
|
||||||
|
// list alphabetically.
|
||||||
|
InputMethodSubtype current_subtype = imm.getCurrentInputMethodSubtype();
|
||||||
|
for (InputMethodSubtype s : enabled_subtypes)
|
||||||
|
if (s.getLanguageTag().equals(current_subtype.getLanguageTag()))
|
||||||
|
return s;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void refreshSubtypeImm()
|
private void refreshSubtypeImm()
|
||||||
{
|
{
|
||||||
InputMethodManager imm = get_imm();
|
InputMethodManager imm = get_imm();
|
||||||
@@ -161,13 +171,14 @@ public class Keyboard2 extends InputMethodService
|
|||||||
_config.extra_keys_subtype = null;
|
_config.extra_keys_subtype = null;
|
||||||
if (VERSION.SDK_INT >= 12)
|
if (VERSION.SDK_INT >= 12)
|
||||||
{
|
{
|
||||||
InputMethodSubtype subtype = imm.getCurrentInputMethodSubtype();
|
List<InputMethodSubtype> enabled_subtypes = getEnabledSubtypes(imm);
|
||||||
|
InputMethodSubtype subtype = defaultSubtypes(imm, enabled_subtypes);
|
||||||
if (subtype != null)
|
if (subtype != null)
|
||||||
{
|
{
|
||||||
String s = subtype.getExtraValueOf("default_layout");
|
String s = subtype.getExtraValueOf("default_layout");
|
||||||
if (s != null)
|
if (s != null)
|
||||||
default_layout = LayoutsPreference.layout_of_string(getResources(), s);
|
default_layout = LayoutsPreference.layout_of_string(getResources(), s);
|
||||||
refreshAccentsOption(imm, subtype);
|
refreshAccentsOption(imm, enabled_subtypes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (default_layout == null)
|
if (default_layout == null)
|
||||||
|
@@ -71,13 +71,15 @@ public final class KeyboardData
|
|||||||
KeyPos next_to_pos = getKeys().get(pos.next_to);
|
KeyPos next_to_pos = getKeys().get(pos.next_to);
|
||||||
// Use preferred direction if some preferred pos match
|
// Use preferred direction if some preferred pos match
|
||||||
if (next_to_pos != null)
|
if (next_to_pos != null)
|
||||||
|
{
|
||||||
for (KeyPos p : pos.positions)
|
for (KeyPos p : pos.positions)
|
||||||
if ((p.row == -1 || p.row == next_to_pos.row)
|
if ((p.row == -1 || p.row == next_to_pos.row)
|
||||||
&& (p.col == -1 || p.col == next_to_pos.col)
|
&& (p.col == -1 || p.col == next_to_pos.col)
|
||||||
&& add_key_to_pos(rows, kv, next_to_pos.with_dir(p.dir)))
|
&& add_key_to_pos(rows, kv, next_to_pos.with_dir(p.dir)))
|
||||||
return true;
|
return true;
|
||||||
if (add_key_to_pos(rows, kv, next_to_pos.with_dir(-1)))
|
if (add_key_to_pos(rows, kv, next_to_pos.with_dir(-1)))
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (KeyPos p : pos.positions)
|
for (KeyPos p : pos.positions)
|
||||||
if (add_key_to_pos(rows, kv, p))
|
if (add_key_to_pos(rows, kv, p))
|
||||||
@@ -413,7 +415,7 @@ public final class KeyboardData
|
|||||||
keys = ks;
|
keys = ks;
|
||||||
anticircle = antic;
|
anticircle = antic;
|
||||||
keysflags = f;
|
keysflags = f;
|
||||||
width = Math.max(w, 0.5f);
|
width = Math.max(w, 0f);
|
||||||
shift = Math.max(s, 0f);
|
shift = Math.max(s, 0f);
|
||||||
slider = sl;
|
slider = sl;
|
||||||
indication = i;
|
indication = i;
|
||||||
@@ -561,18 +563,20 @@ public final class KeyboardData
|
|||||||
{
|
{
|
||||||
public final Map<KeyValue, KeyValue> shift;
|
public final Map<KeyValue, KeyValue> shift;
|
||||||
public final Map<KeyValue, KeyValue> fn;
|
public final Map<KeyValue, KeyValue> fn;
|
||||||
|
public final Map<KeyValue, KeyValue> ctrl;
|
||||||
|
|
||||||
public Modmap(Map<KeyValue, KeyValue> s, Map<KeyValue, KeyValue> f)
|
public Modmap(Map<KeyValue, KeyValue> s, Map<KeyValue, KeyValue> f, Map<KeyValue, KeyValue> c)
|
||||||
{
|
{
|
||||||
shift = s;
|
shift = s;
|
||||||
fn = f;
|
fn = f;
|
||||||
|
ctrl = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Modmap parse(XmlPullParser parser) throws Exception
|
public static Modmap parse(XmlPullParser parser) throws Exception
|
||||||
{
|
{
|
||||||
HashMap<KeyValue, KeyValue> shift = new HashMap<KeyValue, KeyValue>();
|
HashMap<KeyValue, KeyValue> shift = new HashMap<KeyValue, KeyValue>();
|
||||||
HashMap<KeyValue, KeyValue> fn = new HashMap<KeyValue, KeyValue>();
|
HashMap<KeyValue, KeyValue> fn = new HashMap<KeyValue, KeyValue>();
|
||||||
|
HashMap<KeyValue, KeyValue> ctrl = new HashMap<KeyValue, KeyValue>();
|
||||||
while (next_tag(parser))
|
while (next_tag(parser))
|
||||||
{
|
{
|
||||||
switch (parser.getName())
|
switch (parser.getName())
|
||||||
@@ -583,12 +587,15 @@ public final class KeyboardData
|
|||||||
case "fn":
|
case "fn":
|
||||||
parse_mapping(parser, fn);
|
parse_mapping(parser, fn);
|
||||||
break;
|
break;
|
||||||
|
case "ctrl":
|
||||||
|
parse_mapping(parser, ctrl);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw error(parser, "Expecting tag <shift> or <fn>, got <" + parser.getName() + ">");
|
throw error(parser, "Expecting tag <shift> or <fn>, got <" + parser.getName() + ">");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Modmap(shift, fn);
|
return new Modmap(shift, fn, ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void parse_mapping(XmlPullParser parser, Map<KeyValue, KeyValue> dst) throws Exception
|
private static void parse_mapping(XmlPullParser parser, Map<KeyValue, KeyValue> dst) throws Exception
|
||||||
|
@@ -71,6 +71,7 @@ public class ExtraKeysPreference extends PreferenceCategory
|
|||||||
"subscript",
|
"subscript",
|
||||||
"f11_placeholder",
|
"f11_placeholder",
|
||||||
"f12_placeholder",
|
"f12_placeholder",
|
||||||
|
"menu",
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Whether an extra key is enabled by default. */
|
/** Whether an extra key is enabled by default. */
|
||||||
|
@@ -20,23 +20,22 @@
|
|||||||
<key key0="ب"/>
|
<key key0="ب"/>
|
||||||
<key key0="ل"/>
|
<key key0="ل"/>
|
||||||
<key key0="ا" key1="آ" key4="ء" key2="-" key3="_"/>
|
<key key0="ا" key1="آ" key4="ء" key2="-" key3="_"/>
|
||||||
<key key0="ت" key1="‌" key2="+"/>
|
<key key0="ت" key1="halfspace" key2="+"/>
|
||||||
<key key0="ن"/>
|
<key key0="ن"/>
|
||||||
<key key0="م"/>
|
<key key0="م"/>
|
||||||
<key key0="ک"/>
|
<key key0="ک"/>
|
||||||
<key key0="گ"/>
|
<key key0="گ"/>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<key key0="ظ"/>
|
<key shift="0.5" key0="ظ"/>
|
||||||
<key key0="ط"/>
|
<key key0="ط"/>
|
||||||
<key key0="ز" key2="«"/>
|
<key key0="ز" key1="«" key2="»"/>
|
||||||
<key key0="ر" key2="»"/>
|
<key key0="ر" key1="ژ" key2="."/>
|
||||||
<key key0="ژ" key2="."/>
|
|
||||||
<key key0="ذ" key2=":"/>
|
<key key0="ذ" key2=":"/>
|
||||||
<key key0="د" key2="؛"/>
|
<key key0="د" key2="؛"/>
|
||||||
<key key0="پ" key2="؟"/>
|
<key key0="پ" key2="؟"/>
|
||||||
<key key0="و"/>
|
<key key0="و"/>
|
||||||
<key key0="چ"/>
|
<key key0="چ"/>
|
||||||
<key width="1.0" key0="backspace" key2="delete"/>
|
<key width="1.5" key0="backspace" key2="delete"/>
|
||||||
</row>
|
</row>
|
||||||
</keyboard>
|
</keyboard>
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
<key key0="হ" key1="ঃ" key2="=" key3="+" />
|
<key key0="হ" key1="ঃ" key2="=" key3="+" />
|
||||||
<key key0="জ" key1="ঝ" key3="ে" key4="ৈ" />
|
<key key0="জ" key1="ঝ" key3="ে" key4="ৈ" />
|
||||||
<key key0="ক" key1="খ" key3="ো" key4="ৌ" />
|
<key key0="ক" key1="খ" key3="ো" key4="ৌ" />
|
||||||
<key key0="ল" key1="ং" key2="॥" key3="zwnj" />
|
<key key0="ল" key1="ং" key2="॥" key3="halfspace" />
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<key width="1.5" key0="shift" />
|
<key width="1.5" key0="shift" />
|
||||||
|
76
srcs/layouts/cyrl_lynyertz_sr.xml
Normal file
76
srcs/layouts/cyrl_lynyertz_sr.xml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<keyboard name="ЉЊЕРТЗ (Српски)" script="cyrillic">
|
||||||
|
<modmap>
|
||||||
|
<fn a="а" b="а̂" />
|
||||||
|
<fn a="е" b="е̂" />
|
||||||
|
<fn a="и" b="и̂" />
|
||||||
|
<fn a="о" b="о̂" />
|
||||||
|
<fn a="у" b="у̂" />
|
||||||
|
<fn a="cursor_left" b="home" />
|
||||||
|
<fn a="cursor_right" b="end" />
|
||||||
|
<ctrl a="љ" b="q" />
|
||||||
|
<ctrl a="њ" b="w" />
|
||||||
|
<ctrl a="е" b="e" />
|
||||||
|
<ctrl a="р" b="r" />
|
||||||
|
<ctrl a="т" b="t" />
|
||||||
|
<ctrl a="ж" b="y" />
|
||||||
|
<ctrl a="у" b="u" />
|
||||||
|
<ctrl a="и" b="i" />
|
||||||
|
<ctrl a="о" b="o" />
|
||||||
|
<ctrl a="п" b="p" />
|
||||||
|
<ctrl a="а" b="a" />
|
||||||
|
<ctrl a="с" b="s" />
|
||||||
|
<ctrl a="д" b="d" />
|
||||||
|
<ctrl a="ф" b="f" />
|
||||||
|
<ctrl a="г" b="g" />
|
||||||
|
<ctrl a="х" b="h" />
|
||||||
|
<ctrl a="ј" b="j" />
|
||||||
|
<ctrl a="к" b="k" />
|
||||||
|
<ctrl a="л" b="l" />
|
||||||
|
<ctrl a="з" b="z" />
|
||||||
|
<ctrl a="џ" b="x" />
|
||||||
|
<ctrl a="ц" b="c" />
|
||||||
|
<ctrl a="в" b="v" />
|
||||||
|
<ctrl a="б" b="b" />
|
||||||
|
<ctrl a="н" b="n" />
|
||||||
|
<ctrl a="м" b="m" />
|
||||||
|
</modmap>
|
||||||
|
<row>
|
||||||
|
<key key0="љ" ne="1" se="loc esc"/>
|
||||||
|
<key key0="њ" nw="~" ne="2" sw="\@"/>
|
||||||
|
<key key0="е" ne="3" sw="\#" se="€"/>
|
||||||
|
<key key0="р" ne="4" sw="$" se="loc £"/>
|
||||||
|
<key key0="т" ne="5" sw="%"/>
|
||||||
|
<key key0="з" ne="6" sw="^"/>
|
||||||
|
<key key0="у" ne="7" sw="&"/>
|
||||||
|
<key key0="и" ne="8" sw="*"/>
|
||||||
|
<key key0="о" ne="9" sw="(" se=")"/>
|
||||||
|
<key key0="п" ne="0" sw="[" se="]"/>
|
||||||
|
<key key0="ш"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key key0="а" nw="loc tab" ne="loc selectAll"/>
|
||||||
|
<key key0="с" nw="loc §" ne="loc shareText"/>
|
||||||
|
<key key0="д"/>
|
||||||
|
<key key0="ф"/>
|
||||||
|
<key key0="г"/>
|
||||||
|
<key key0="х"/>
|
||||||
|
<key key0="ј" ne="loc accent_circonflexe" sw="{" se="}"/>
|
||||||
|
<key key0="к" ne="-" sw="_"/>
|
||||||
|
<key key0="л" ne="=" sw="+"/>
|
||||||
|
<key key0="ч" nw="'" ne=""" sw="\\"/>
|
||||||
|
<key key0="ћ" ne="`" sw="|"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key width="1.5" key0="shift" nw="loc superscript" ne="loc capslock" sw="loc subscript"/>
|
||||||
|
<key key0="ж" nw="loc undo" ne="loc redo" sw="<" se=">"/>
|
||||||
|
<key key0="џ" ne="loc cut"/>
|
||||||
|
<key key0="ц" ne="loc copy"/>
|
||||||
|
<key key0="в" ne="loc paste"/>
|
||||||
|
<key key0="б" ne="loc pasteAsPlainText"/>
|
||||||
|
<key key0="н" nw="!" ne="\?" sw="/"/>
|
||||||
|
<key key0="м" ne=";" sw=","/>
|
||||||
|
<key key0="ђ" ne=":" sw="."/>
|
||||||
|
<key width="1.5" key0="backspace" ne="delete"/>
|
||||||
|
</row>
|
||||||
|
</keyboard>
|
@@ -1,46 +1,72 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- https://neo-layout.org/Layouts/bone/ -->
|
<!-- https://neo-layout.org/Layouts/bone/ -->
|
||||||
<keyboard name="Bone" bottom_row="false" script="latin">
|
<keyboard name="Bone" bottom_row="false" script="latin">
|
||||||
|
<!-- first row + characters from number row:
|
||||||
|
jduaxphlmwß
|
||||||
|
…_[]^!<>=&ſ
|
||||||
|
°§ℓ»«$€„“”—
|
||||||
|
›‹¢¥‚‘’
|
||||||
|
-->
|
||||||
<row>
|
<row>
|
||||||
<key key0="j" key2="loc esc" key4="…"/>
|
<!--left side-->
|
||||||
<key key0="d" key2="°" key4="_"/>
|
<key key0="j" key2="°" key4="…"/>
|
||||||
<key key0="u" key2="§" key4="["/>
|
<key key0="d" key2="§" key4="_"/>
|
||||||
<key key0="a" key4="]"/>
|
<key key0="u" key2="ℓ" key4="["/>
|
||||||
<key key0="x" key4="^"/>
|
<key key0="a" key2="»" key4="]" key1="›"/>
|
||||||
<key key0="p" key3="!" key4="7"/>
|
<key key0="x" key2="«" key4="^" key1="‹"/>
|
||||||
<key key0="h" key3="<" key4="8"/>
|
<!--middle-->
|
||||||
<key key0="l" key1="ℓ" key3=">" key4="9"/>
|
<key key0="p" key7="¢" key8="!"/>
|
||||||
<key key0="m" key1="≠" key3="="/>
|
<!--right side-->
|
||||||
<key key0="w" key3="&"/>
|
<key key0="h" key1="€" key3="<" key4="7" key2="¥"/>
|
||||||
|
<key key0="l" key1="„" key3=">" key4="8" key2="‚"/>
|
||||||
|
<key key0="m" key1="“" key3="=" key4="9" key2="‘"/>
|
||||||
|
<key key0="w" key1="”" key3="&" key2="’"/>
|
||||||
|
<key key0="ß" key1="—" key3="ſ"/>
|
||||||
</row>
|
</row>
|
||||||
|
<!--second row:
|
||||||
|
ctieobnrsgq
|
||||||
|
\/{}*?()-:@
|
||||||
|
-->
|
||||||
<row>
|
<row>
|
||||||
<key key0="c" key2="loc tab" key4="\\"/>
|
<!--left side-->
|
||||||
<key key0="t" key1="accent_circonflexe" key2="accent_caron" key4="/"/>
|
<key key0="c" key4="\\"/>
|
||||||
<key key0="i" key1="accent_aigu" key2="accent_grave" key4="{"/>
|
<key key0="t" key4="/"/>
|
||||||
<key key0="e" key1="accent_cedille" key2="accent_ogonek" key4="}"/>
|
<key key0="i" key4="{"/>
|
||||||
<key key0="o" key1="accent_ring" key2="accent_dot_above" key4="*"/>
|
<key key0="e" key4="}"/>
|
||||||
<key key0="b" key2="accent_macron" key3="\?" key4="4"/>
|
<key key0="o" key4="*"/>
|
||||||
<key key0="n" key2="accent_tilde" key3="(" key4="5"/>
|
<!--middle-->
|
||||||
<key key0="r" key2="accent_trema" key3=")" key4="6"/>
|
<key key0="b" key8="\?"/>
|
||||||
<key key0="s" key2="accent_slash" key3="-"/>
|
<!--right side-->
|
||||||
<key key0="g" key1="\@" key3=":"/>
|
<key key0="n" key3="(" key4="4"/>
|
||||||
|
<key key0="r" key3=")" key4="5"/>
|
||||||
|
<key key0="s" key3="-" key4="6"/>
|
||||||
|
<key key0="g" key3=":"/>
|
||||||
|
<key key0="q" key3="@"/>
|
||||||
</row>
|
</row>
|
||||||
|
<!--third row -> compressed to also fit shift and backspace:
|
||||||
|
fvüäöyz,.k
|
||||||
|
#$|~`+%"';
|
||||||
|
-->
|
||||||
<row>
|
<row>
|
||||||
<key width="1.5" key0="shift" key4="\#" key2="loc capslock"/>
|
<!--left side-->
|
||||||
<key key0="f" key4="|"/>
|
<key width="1.5" key0="shift" key4="\#"/>
|
||||||
<key key0="v" key4="~"/>
|
<key key0="f" key4="$"/>
|
||||||
<key key0="ß" key4="`"/>
|
<key key0="v" key4="|"/>
|
||||||
<key key0="y" key3="%" key4="1"/>
|
<key key0="ü" key4="~"/>
|
||||||
<key key0="z" key1=""" key3="+" key4="2"/>
|
<key key0="ä" key4="`"/>
|
||||||
<key key0="q" key1="'" key3="," key4="3"/>
|
<!--right side-->
|
||||||
<key key0="k" key3="."/>
|
<key key0="ö" key3="+"/>
|
||||||
<key width="1.5" key0="backspace" key1="delete" key3=";"/>
|
<key key0="y" key3="%" key4="1"/>
|
||||||
|
<key key0="z" key3="," key1=""" key4="2"/>
|
||||||
|
<key key0="k" key3="." key1="'" key4="3"/>
|
||||||
|
<key width="1.5" key0="backspace" key3=";" key1="delete"/>
|
||||||
</row>
|
</row>
|
||||||
|
<!--bottom row-->
|
||||||
<row height="0.95">
|
<row height="0.95">
|
||||||
<key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
|
<key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
|
||||||
<key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
<key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
||||||
<key width="4.0" key0="space" key7="switch_forward" key8="0"/>
|
<key width="5.0" key0="space" key7="switch_forward" key8="0"/>
|
||||||
<key width="1.2" key7="up" key6="right" key5="left" key8="down"/>
|
<key width="1.2" key5="left" key6="right" key7="up" key8="down"/>
|
||||||
<key width="1.8" key0="enter" key3="action"/>
|
<key width="1.8" key0="enter" key3="action"/>
|
||||||
</row>
|
</row>
|
||||||
</keyboard>
|
</keyboard>
|
||||||
|
37
srcs/layouts/latn_qwerty_jp.xml
Normal file
37
srcs/layouts/latn_qwerty_jp.xml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<keyboard name="QWERTY (Japan)" script="latin">
|
||||||
|
<row>
|
||||||
|
<key key0="q" key2="1" key4="!" key1="loc esc"/>
|
||||||
|
<key key0="w" key2="2" key3="""/>
|
||||||
|
<key key0="e" key2="3" key3="\#" key4="loc €"/>
|
||||||
|
<key key0="r" key2="4" key3="$"/>
|
||||||
|
<key key0="t" key2="5" key3="%"/>
|
||||||
|
<key key0="y" key2="6" key3="&"/>
|
||||||
|
<key key0="u" key2="7" key3="'"/>
|
||||||
|
<key key0="i" key2="8" key3="(" key4=")"/>
|
||||||
|
<key key0="o" key1="=" key2="9" key3="-"/>
|
||||||
|
<key key0="p" key1="~" key2="0" key3="^"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key shift="0.5" key0="a" key1="loc tab"/>
|
||||||
|
<key key0="s" key2="loc §" key3="loc ß"/>
|
||||||
|
<key key0="d"/>
|
||||||
|
<key key0="f"/>
|
||||||
|
<key key0="g" key2="+" key3=";"/>
|
||||||
|
<key key0="h" key2="*" key3=":"/>
|
||||||
|
<key key0="j" key3="{" key4="}"/>
|
||||||
|
<key key0="k" key3="[" key4="]"/>
|
||||||
|
<key key0="l" key2="|" key3="¥"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||||
|
<key key0="z"/>
|
||||||
|
<key key0="x" key2="loc †"/>
|
||||||
|
<key key0="c" key2="<" key3=","/>
|
||||||
|
<key key0="v" key2=">" key3="."/>
|
||||||
|
<key key0="b" key2="\?" key3="/"/>
|
||||||
|
<key key0="n" key2="_" key3="\\"/>
|
||||||
|
<key key0="m" key2="`" key3="\@"/>
|
||||||
|
<key width="1.5" key0="backspace" key2="delete"/>
|
||||||
|
</row>
|
||||||
|
</keyboard>
|
@@ -9,8 +9,8 @@
|
|||||||
<key key0="y" key2="6" key3="^"/>
|
<key key0="y" key2="6" key3="^"/>
|
||||||
<key key0="u" key2="7" key3="&" key4="loc €"/>
|
<key key0="u" key2="7" key3="&" key4="loc €"/>
|
||||||
<key key0="i" key1="loc accent_macron" key2="8" key3="*"/>
|
<key key0="i" key1="loc accent_macron" key2="8" key3="*"/>
|
||||||
<key key0="o" key2="9" key4="ó"/>
|
<key key0="o" key1="ó" key2="9" key3="(" key4=")"/>
|
||||||
<key key0="p" key2="0" key3="(" key4=")"/>
|
<key key0="p" key2="0"/>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<key shift="0.5" key0="a" key1="loc tab" key2="`" key4="ą"/>
|
<key shift="0.5" key0="a" key1="loc tab" key2="`" key4="ą"/>
|
||||||
|
46
srcs/layouts/latn_qwerty_sr.xml
Normal file
46
srcs/layouts/latn_qwerty_sr.xml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<keyboard name="QWERTY (Srpski, latinica)" script="latin">
|
||||||
|
<modmap>
|
||||||
|
<fn a="a" b="â" />
|
||||||
|
<fn a="o" b="ô" />
|
||||||
|
<fn a="e" b="æ" />
|
||||||
|
<fn a="€" b="œ" />
|
||||||
|
<fn a="cursor_left" b="home" />
|
||||||
|
<fn a="cursor_right" b="end" />
|
||||||
|
</modmap>
|
||||||
|
<row>
|
||||||
|
<key key0="q" ne="1" se="loc esc"/>
|
||||||
|
<key key0="w" nw="~" ne="2" sw="\@"/>
|
||||||
|
<key key0="e" ne="3" sw="\#" se="€"/>
|
||||||
|
<key key0="r" ne="4" sw="$" se="loc £"/>
|
||||||
|
<key key0="t" ne="5" sw="%"/>
|
||||||
|
<key key0="y" ne="6" sw="^"/>
|
||||||
|
<key key0="u" ne="7" sw="&"/>
|
||||||
|
<key key0="i" ne="8" sw="*"/>
|
||||||
|
<key key0="o" ne="9" sw="(" se=")"/>
|
||||||
|
<key key0="p" ne="0" sw="[" se="]"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key key0="a" nw="loc tab" ne="loc selectAll"/>
|
||||||
|
<key key0="s" nw="loc §" ne="š"/>
|
||||||
|
<key key0="d" ne="đ"/>
|
||||||
|
<key key0="f"/>
|
||||||
|
<key key0="g"/>
|
||||||
|
<key key0="h" ne="loc accent_circonflexe" sw="{" se="}"/>
|
||||||
|
<key key0="j" ne="-" sw="_"/>
|
||||||
|
<key key0="k" ne="=" sw="+"/>
|
||||||
|
<key key0="l" nw="'" ne=""" sw="\\"/>
|
||||||
|
<key key0="č" ne="`" sw="|"/>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<key width="1.5" key0="shift" nw="loc superscript" ne="loc capslock" sw="loc subscript"/>
|
||||||
|
<key key0="z" nw="loc undo" ne="ž"/>
|
||||||
|
<key key0="x" nw="loc cut"/>
|
||||||
|
<key key0="c" nw="loc copy" ne="ć"/>
|
||||||
|
<key key0="v" nw="loc paste" ne="<" se=">"/>
|
||||||
|
<key key0="b" nw="!" ne="\?" sw="/"/>
|
||||||
|
<key key0="n" ne=";" sw=","/>
|
||||||
|
<key key0="m" ne=":" sw="."/>
|
||||||
|
<key width="1.5" key0="backspace" ne="delete"/>
|
||||||
|
</row>
|
||||||
|
</keyboard>
|
@@ -16,6 +16,7 @@ VALUE_DIR_TO_METADATA = {
|
|||||||
"fa": "fa-IR",
|
"fa": "fa-IR",
|
||||||
"fr": "fr-FR",
|
"fr": "fr-FR",
|
||||||
"it": "it-IT",
|
"it": "it-IT",
|
||||||
|
"ja": "ja-JP",
|
||||||
"ko": "ko-KR",
|
"ko": "ko-KR",
|
||||||
"lv": "lv",
|
"lv": "lv",
|
||||||
"pl": "pl-PL",
|
"pl": "pl-PL",
|
||||||
|
Reference in New Issue
Block a user