new kana font and its tester, adjusting baselines of kana/cjkpunct/hangul, new color model 216 instead of 256, proof-of-concept factioning with four relationship models (amicable, neutral, hostile, fearful)

Former-commit-id: ac2ca8d0f4432377f1030afa6ac86df0c6887b3e
Former-commit-id: 855f49d6c0e89da1e7311744683dc83e68ac84e4
This commit is contained in:
Song Minjae
2016-02-15 02:47:40 +09:00
parent 6fdd3b7c9c
commit bde8371ac9
59 changed files with 1139 additions and 538 deletions

View File

@@ -0,0 +1,3 @@
안녕하세요 こんにちわ
《템페스트》 「テンペスト」

View File

@@ -1,29 +1,29 @@
せかいいち みんなの にんきもの
それは かのじょの こと アシュリー
せかい いち みんな の にんきもの
それ は かのじょ の こと アシュリー
ひとめ みれば だれもが ふりむく
あたりまえ アシュリーだもん
せかいじゅう みんなが あこがれる
それは かのじょの こと アシュリー
アシュリー さまの まほうは さいこう
こんやも パーティーよ
せかいじゅう みんな が あこがれる
それは かのじょ の こと アシュリー
アシュリー さま の まほう は さいこう
こんや も パーティーよ
なわ ぶな ぬー わらいの じゅもん
じお いら うん なんの じゅもん
なわ ぶな ぬー わらい の じゅもん
じお いら うん なん の じゅもん
いお でぃ えむ おぼえ られない
ああ いや たいくつ
せかいいち みんなの にんきもの
それは かのじょの こと アシュリー
アシュリー さまの まほうは さいこう
せかいいち みんな の にんきもの
それは かのじょ の こと アシュリー
アシュリー さま の まほうは さいこう
こわい もの なしよ
よぞらの うみ あまたの ほし
よぞら の うみ あまた の ほし
いつも ひとりきり
みんなと なかよく したいの
どうしたら いいの
みんな と なかよく したい 
どうしたら いい 
せかいいち みんなの にんきもの
それは かのじょの こと アシュリー
アシュリー さまの まほうは さいこう
こんやも パーティーよ
せかい いち みんな の にんきもの
それは かのじょ の こと アシュリー
アシュリー さま の まほうは さいこう
こんや も パーティーよ

30
res/books/kana_test_2.txt Normal file
View File

@@ -0,0 +1,30 @@
まだ きづいていない ていじ された ぎもん
いま きょうかいせん が きえてく
この データ と コード で ていぎ された しこう
もう ひとつ の 「リアル」 が うまれる
せんり を こえ とぶ ひかり の たば から
つたわる あたらし じぶん の そんざい
NEO IDENTITYーひろがって ゆく
でんもう の いしき と
ふかしぎな みらい
(NEO IDENTITYーまぼろし)
その にんしき に より そんざい し うる せかい
すべて を しょうきょ したら どう なる?
せんり を こえ とぶ ひかり の たば から
つたわる あたらし じぶん の そんざい
NEO IDENTITYーひろがって ゆく
でんもう の いしき と
ふかしぎな みらい
NEO IDENTITYーそびえたつ まぼろし
でんもう の いしき と
ふかしぎな みらい

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -2,111 +2,111 @@
# Data taken from www.behindthename.com
# Translator note: this nameset does not contain name that has [ɹ](american english 'r') sound (except '-er'). i.e. for Korean, 'Carl' should be '카를', 'Aleksander' should be '알렉산더'.
NAMESET_SCANDINAVIAN_MALE_001=Adam
NAMESET_SCANDINAVIAN_MALE_002=Adrian
NAMESET_SCANDINAVIAN_MALE_003=Aksel
NAMESET_SCANDINAVIAN_MALE_004=Albert
NAMESET_SCANDINAVIAN_MALE_005=Albin
NAMESET_SCANDINAVIAN_MALE_006=Alek
NAMESET_SCANDINAVIAN_MALE_007=Alexander
NAMESET_SCANDINAVIAN_MALE_008=Alfred
NAMESET_SCANDINAVIAN_MALE_009=Amund
NAMESET_SCANDINAVIAN_MALE_010=Andreas
NAMESET_SCANDINAVIAN_MALE_011=Anton
NAMESET_SCANDINAVIAN_MALE_012=Aron
NAMESET_SCANDINAVIAN_MALE_013=Alvard
NAMESET_SCANDINAVIAN_MALE_014=August
NAMESET_SCANDINAVIAN_MALE_015=Axel
NAMESET_SCANDINAVIAN_MALE_016=Björn
NAMESET_SCANDINAVIAN_MALE_017=Bjørn
NAMESET_SCANDINAVIAN_MALE_018=Carl
NAMESET_SCANDINAVIAN_MALE_019=Casper
NAMESET_SCANDINAVIAN_MALE_020=Christian
NAMESET_SCANDINAVIAN_MALE_021=Christoffer
NAMESET_SCANDINAVIAN_MALE_022=Daniel
NAMESET_SCANDINAVIAN_MALE_023=David
NAMESET_SCANDINAVIAN_MALE_1=Adam
NAMESET_SCANDINAVIAN_MALE_2=Adrian
NAMESET_SCANDINAVIAN_MALE_3=Aksel
NAMESET_SCANDINAVIAN_MALE_4=Albert
NAMESET_SCANDINAVIAN_MALE_5=Albin
NAMESET_SCANDINAVIAN_MALE_6=Alek
NAMESET_SCANDINAVIAN_MALE_7=Alexander
NAMESET_SCANDINAVIAN_MALE_8=Alfred
NAMESET_SCANDINAVIAN_MALE_9=Amund
NAMESET_SCANDINAVIAN_MALE_10=Andreas
NAMESET_SCANDINAVIAN_MALE_11=Anton
NAMESET_SCANDINAVIAN_MALE_12=Aron
NAMESET_SCANDINAVIAN_MALE_13=Alvard
NAMESET_SCANDINAVIAN_MALE_14=August
NAMESET_SCANDINAVIAN_MALE_15=Axel
NAMESET_SCANDINAVIAN_MALE_16=Björn
NAMESET_SCANDINAVIAN_MALE_17=Bjørn
NAMESET_SCANDINAVIAN_MALE_18=Carl
NAMESET_SCANDINAVIAN_MALE_19=Casper
NAMESET_SCANDINAVIAN_MALE_20=Christian
NAMESET_SCANDINAVIAN_MALE_21=Christoffer
NAMESET_SCANDINAVIAN_MALE_22=Daniel
NAMESET_SCANDINAVIAN_MALE_23=David
# pronounced as [dɑvid], not [deivɪd]
NAMESET_SCANDINAVIAN_MALE_024=Edmund
NAMESET_SCANDINAVIAN_MALE_025=Edvard
NAMESET_SCANDINAVIAN_MALE_026=Edvin
NAMESET_SCANDINAVIAN_MALE_027=Eirik
NAMESET_SCANDINAVIAN_MALE_028=Elias
NAMESET_SCANDINAVIAN_MALE_029=Elis
NAMESET_SCANDINAVIAN_MALE_030=Emanuel
NAMESET_SCANDINAVIAN_MALE_031=Emil
NAMESET_SCANDINAVIAN_MALE_032=Endre
NAMESET_SCANDINAVIAN_MALE_033=Erik
NAMESET_SCANDINAVIAN_MALE_034=Erlend
NAMESET_SCANDINAVIAN_MALE_035=Espen
NAMESET_SCANDINAVIAN_MALE_036=Fabian
NAMESET_SCANDINAVIAN_MALE_037=Felix
NAMESET_SCANDINAVIAN_MALE_038=Filip
NAMESET_SCANDINAVIAN_MALE_039=Frederik
NAMESET_SCANDINAVIAN_MALE_040=Gabriel
NAMESET_SCANDINAVIAN_MALE_041=Gustav
NAMESET_SCANDINAVIAN_MALE_042=Haakon
NAMESET_SCANDINAVIAN_MALE_043=Hákon
NAMESET_SCANDINAVIAN_MALE_044=Håkon
NAMESET_SCANDINAVIAN_MALE_045=Hampus
NAMESET_SCANDINAVIAN_MALE_046=Hanne
NAMESET_SCANDINAVIAN_MALE_047=Hans
NAMESET_SCANDINAVIAN_MALE_048=Håvard
NAMESET_SCANDINAVIAN_MALE_049=Henrik
NAMESET_SCANDINAVIAN_MALE_050=Herman
NAMESET_SCANDINAVIAN_MALE_051=Hjalmar
NAMESET_SCANDINAVIAN_MALE_052=Hugo
NAMESET_SCANDINAVIAN_MALE_053=Isak
NAMESET_SCANDINAVIAN_MALE_054=Ivar
NAMESET_SCANDINAVIAN_MALE_055=Jacob
NAMESET_SCANDINAVIAN_MALE_056=Jakob
NAMESET_SCANDINAVIAN_MALE_057=Jan
NAMESET_SCANDINAVIAN_MALE_058=Jens
NAMESET_SCANDINAVIAN_MALE_059=Jeppe
NAMESET_SCANDINAVIAN_MALE_060=Jesper
NAMESET_SCANDINAVIAN_MALE_061=Joakim
NAMESET_SCANDINAVIAN_MALE_24=Edmund
NAMESET_SCANDINAVIAN_MALE_25=Edvard
NAMESET_SCANDINAVIAN_MALE_26=Edvin
NAMESET_SCANDINAVIAN_MALE_27=Eirik
NAMESET_SCANDINAVIAN_MALE_28=Elias
NAMESET_SCANDINAVIAN_MALE_29=Elis
NAMESET_SCANDINAVIAN_MALE_30=Emanuel
NAMESET_SCANDINAVIAN_MALE_31=Emil
NAMESET_SCANDINAVIAN_MALE_32=Endre
NAMESET_SCANDINAVIAN_MALE_33=Erik
NAMESET_SCANDINAVIAN_MALE_34=Erlend
NAMESET_SCANDINAVIAN_MALE_35=Espen
NAMESET_SCANDINAVIAN_MALE_36=Fabian
NAMESET_SCANDINAVIAN_MALE_37=Felix
NAMESET_SCANDINAVIAN_MALE_38=Filip
NAMESET_SCANDINAVIAN_MALE_39=Frederik
NAMESET_SCANDINAVIAN_MALE_40=Gabriel
NAMESET_SCANDINAVIAN_MALE_41=Gustav
NAMESET_SCANDINAVIAN_MALE_42=Haakon
NAMESET_SCANDINAVIAN_MALE_43=Hákon
NAMESET_SCANDINAVIAN_MALE_44=Håkon
NAMESET_SCANDINAVIAN_MALE_45=Hampus
NAMESET_SCANDINAVIAN_MALE_46=Hanne
NAMESET_SCANDINAVIAN_MALE_47=Hans
NAMESET_SCANDINAVIAN_MALE_48=Håvard
NAMESET_SCANDINAVIAN_MALE_49=Henrik
NAMESET_SCANDINAVIAN_MALE_50=Herman
NAMESET_SCANDINAVIAN_MALE_51=Hjalmar
NAMESET_SCANDINAVIAN_MALE_52=Hugo
NAMESET_SCANDINAVIAN_MALE_53=Isak
NAMESET_SCANDINAVIAN_MALE_54=Ivar
NAMESET_SCANDINAVIAN_MALE_55=Jacob
NAMESET_SCANDINAVIAN_MALE_56=Jakob
NAMESET_SCANDINAVIAN_MALE_57=Jan
NAMESET_SCANDINAVIAN_MALE_58=Jens
NAMESET_SCANDINAVIAN_MALE_59=Jeppe
NAMESET_SCANDINAVIAN_MALE_60=Jesper
NAMESET_SCANDINAVIAN_MALE_61=Joakim
# pronounced as [joakim], not [hoakim] as this is scandinavian section.
NAMESET_SCANDINAVIAN_MALE_062=Joel
NAMESET_SCANDINAVIAN_MALE_063=Johan
NAMESET_SCANDINAVIAN_MALE_064=Jóhannes
NAMESET_SCANDINAVIAN_MALE_065=Jón
NAMESET_SCANDINAVIAN_MALE_066=Jon
NAMESET_SCANDINAVIAN_MALE_067=Jónas
NAMESET_SCANDINAVIAN_MALE_068=Jonas
NAMESET_SCANDINAVIAN_MALE_069=Jonathan
NAMESET_SCANDINAVIAN_MALE_070=Jörgen
NAMESET_SCANDINAVIAN_MALE_071=Jørgen
NAMESET_SCANDINAVIAN_MALE_072=Josef
NAMESET_SCANDINAVIAN_MALE_073=Kalle
NAMESET_SCANDINAVIAN_MALE_074=Kasper
NAMESET_SCANDINAVIAN_MALE_075=Kevin
NAMESET_SCANDINAVIAN_MALE_076=Kim
NAMESET_SCANDINAVIAN_MALE_077=Knut
NAMESET_SCANDINAVIAN_MALE_62=Joel
NAMESET_SCANDINAVIAN_MALE_63=Johan
NAMESET_SCANDINAVIAN_MALE_64=Jóhannes
NAMESET_SCANDINAVIAN_MALE_65=Jón
NAMESET_SCANDINAVIAN_MALE_66=Jon
NAMESET_SCANDINAVIAN_MALE_67=Jónas
NAMESET_SCANDINAVIAN_MALE_68=Jonas
NAMESET_SCANDINAVIAN_MALE_69=Jonathan
NAMESET_SCANDINAVIAN_MALE_70=Jörgen
NAMESET_SCANDINAVIAN_MALE_71=Jørgen
NAMESET_SCANDINAVIAN_MALE_72=Josef
NAMESET_SCANDINAVIAN_MALE_73=Kalle
NAMESET_SCANDINAVIAN_MALE_74=Kasper
NAMESET_SCANDINAVIAN_MALE_75=Kevin
NAMESET_SCANDINAVIAN_MALE_76=Kim
NAMESET_SCANDINAVIAN_MALE_77=Knut
# pronounced as [knut]
NAMESET_SCANDINAVIAN_MALE_078=Kristian
NAMESET_SCANDINAVIAN_MALE_079=Kristoffer
NAMESET_SCANDINAVIAN_MALE_080=Lars
NAMESET_SCANDINAVIAN_MALE_081=Lasse
NAMESET_SCANDINAVIAN_MALE_082=Laurits
NAMESET_SCANDINAVIAN_MALE_083=Leo
NAMESET_SCANDINAVIAN_MALE_084=Linus
NAMESET_SCANDINAVIAN_MALE_78=Kristian
NAMESET_SCANDINAVIAN_MALE_79=Kristoffer
NAMESET_SCANDINAVIAN_MALE_80=Lars
NAMESET_SCANDINAVIAN_MALE_81=Lasse
NAMESET_SCANDINAVIAN_MALE_82=Laurits
NAMESET_SCANDINAVIAN_MALE_83=Leo
NAMESET_SCANDINAVIAN_MALE_84=Linus
# pronounced as [linus], not [lainəs] as this is scandinavian section.
NAMESET_SCANDINAVIAN_MALE_085=Loke
NAMESET_SCANDINAVIAN_MALE_086=Love
NAMESET_SCANDINAVIAN_MALE_85=Loke
NAMESET_SCANDINAVIAN_MALE_86=Love
# NOT pronounced as [ləv]!
NAMESET_SCANDINAVIAN_MALE_087=Ludvig
NAMESET_SCANDINAVIAN_MALE_088=Lukas
NAMESET_SCANDINAVIAN_MALE_089=Mads
NAMESET_SCANDINAVIAN_MALE_090=Magnus
NAMESET_SCANDINAVIAN_MALE_091=Malte
NAMESET_SCANDINAVIAN_MALE_092=Malthe
NAMESET_SCANDINAVIAN_MALE_093=Marcus
NAMESET_SCANDINAVIAN_MALE_094=Maria
NAMESET_SCANDINAVIAN_MALE_095=Marius
NAMESET_SCANDINAVIAN_MALE_096=Markus
NAMESET_SCANDINAVIAN_MALE_097=Martin
NAMESET_SCANDINAVIAN_MALE_098=Cyrus
NAMESET_SCANDINAVIAN_MALE_87=Ludvig
NAMESET_SCANDINAVIAN_MALE_88=Lukas
NAMESET_SCANDINAVIAN_MALE_89=Mads
NAMESET_SCANDINAVIAN_MALE_90=Magnus
NAMESET_SCANDINAVIAN_MALE_91=Malte
NAMESET_SCANDINAVIAN_MALE_92=Malthe
NAMESET_SCANDINAVIAN_MALE_93=Marcus
NAMESET_SCANDINAVIAN_MALE_94=Maria
NAMESET_SCANDINAVIAN_MALE_95=Marius
NAMESET_SCANDINAVIAN_MALE_96=Markus
NAMESET_SCANDINAVIAN_MALE_97=Martin
NAMESET_SCANDINAVIAN_MALE_98=Cyrus
# need more exotic name starting with 'C'...
NAMESET_SCANDINAVIAN_MALE_099=Mats
NAMESET_SCANDINAVIAN_MALE_99=Mats
NAMESET_SCANDINAVIAN_MALE_100=Mattias
NAMESET_SCANDINAVIAN_MALE_101=Max
NAMESET_SCANDINAVIAN_MALE_102=Maximillian
@@ -173,106 +173,106 @@ NAMESET_SCANDINAVIAN_MALE_162=Vincent
# feminine names
NAMESET_SCANDINAVIAN_FEMALE_001=Agnes
NAMESET_SCANDINAVIAN_FEMALE_002=Alberte
NAMESET_SCANDINAVIAN_FEMALE_003=Alexandra
NAMESET_SCANDINAVIAN_FEMALE_004=Alva
NAMESET_SCANDINAVIAN_FEMALE_005=Amanda
NAMESET_SCANDINAVIAN_FEMALE_006=Andrea
NAMESET_SCANDINAVIAN_FEMALE_007=Ane
NAMESET_SCANDINAVIAN_FEMALE_008=Anna
NAMESET_SCANDINAVIAN_FEMALE_009=Anne
NAMESET_SCANDINAVIAN_FEMALE_010=Anniken
NAMESET_SCANDINAVIAN_FEMALE_011=Asta
NAMESET_SCANDINAVIAN_FEMALE_012=Astrid
NAMESET_SCANDINAVIAN_FEMALE_013=Beatrice
NAMESET_SCANDINAVIAN_FEMALE_014=Camilla
NAMESET_SCANDINAVIAN_FEMALE_015=Carolina
NAMESET_SCANDINAVIAN_FEMALE_016=Caroline
NAMESET_SCANDINAVIAN_FEMALE_017=Cecilia
NAMESET_SCANDINAVIAN_FEMALE_018=Celina
NAMESET_SCANDINAVIAN_FEMALE_019=Charlotte
NAMESET_SCANDINAVIAN_FEMALE_020=Christina
NAMESET_SCANDINAVIAN_FEMALE_021=Christine
NAMESET_SCANDINAVIAN_FEMALE_022=Ebba
NAMESET_SCANDINAVIAN_FEMALE_023=Edith
NAMESET_SCANDINAVIAN_FEMALE_024=Elin
NAMESET_SCANDINAVIAN_FEMALE_025=Elina
NAMESET_SCANDINAVIAN_FEMALE_026=Elisabeth
NAMESET_SCANDINAVIAN_FEMALE_027=Elise
NAMESET_SCANDINAVIAN_FEMALE_028=Ella
NAMESET_SCANDINAVIAN_FEMALE_029=Ellinor
NAMESET_SCANDINAVIAN_FEMALE_030=Elsa
NAMESET_SCANDINAVIAN_FEMALE_031=Emelie
NAMESET_SCANDINAVIAN_FEMALE_032=Emilia
NAMESET_SCANDINAVIAN_FEMALE_033=Emilie
NAMESET_SCANDINAVIAN_FEMALE_034=Emma
NAMESET_SCANDINAVIAN_FEMALE_035=Erika
NAMESET_SCANDINAVIAN_FEMALE_036=Erle
NAMESET_SCANDINAVIAN_FEMALE_037=Ester
NAMESET_SCANDINAVIAN_FEMALE_038=Eva
NAMESET_SCANDINAVIAN_FEMALE_039=Evelina
NAMESET_SCANDINAVIAN_FEMALE_040=Felicia
NAMESET_SCANDINAVIAN_FEMALE_041=Filippa
NAMESET_SCANDINAVIAN_FEMALE_042=Frederikke
NAMESET_SCANDINAVIAN_FEMALE_043=Freja
NAMESET_SCANDINAVIAN_FEMALE_044=Frida
NAMESET_SCANDINAVIAN_FEMALE_045=Gabriella
NAMESET_SCANDINAVIAN_FEMALE_046=Greta
NAMESET_SCANDINAVIAN_FEMALE_047=Hanna
NAMESET_SCANDINAVIAN_FEMALE_048=Hanne
NAMESET_SCANDINAVIAN_FEMALE_049=Hedda
NAMESET_SCANDINAVIAN_FEMALE_050=Hedvig
NAMESET_SCANDINAVIAN_FEMALE_051=Helena
NAMESET_SCANDINAVIAN_FEMALE_052=Helene
NAMESET_SCANDINAVIAN_FEMALE_053=Helle
NAMESET_SCANDINAVIAN_FEMALE_054=Henriette
NAMESET_SCANDINAVIAN_FEMALE_055=Hilda
NAMESET_SCANDINAVIAN_FEMALE_056=Ida
NAMESET_SCANDINAVIAN_FEMALE_057=Ina
NAMESET_SCANDINAVIAN_FEMALE_058=Ingeborg
NAMESET_SCANDINAVIAN_FEMALE_059=Ingrid
NAMESET_SCANDINAVIAN_FEMALE_060=Ingvild
NAMESET_SCANDINAVIAN_FEMALE_061=Iris
NAMESET_SCANDINAVIAN_FEMALE_062=Isabella
NAMESET_SCANDINAVIAN_FEMALE_063=Jessica
NAMESET_SCANDINAVIAN_FEMALE_064=Jóhanna
NAMESET_SCANDINAVIAN_FEMALE_065=Johanna
NAMESET_SCANDINAVIAN_FEMALE_066=Johanne
NAMESET_SCANDINAVIAN_FEMALE_067=Jonna
NAMESET_SCANDINAVIAN_FEMALE_068=Julia
NAMESET_SCANDINAVIAN_FEMALE_1=Agnes
NAMESET_SCANDINAVIAN_FEMALE_2=Alberte
NAMESET_SCANDINAVIAN_FEMALE_3=Alexandra
NAMESET_SCANDINAVIAN_FEMALE_4=Alva
NAMESET_SCANDINAVIAN_FEMALE_5=Amanda
NAMESET_SCANDINAVIAN_FEMALE_6=Andrea
NAMESET_SCANDINAVIAN_FEMALE_7=Ane
NAMESET_SCANDINAVIAN_FEMALE_8=Anna
NAMESET_SCANDINAVIAN_FEMALE_9=Anne
NAMESET_SCANDINAVIAN_FEMALE_10=Anniken
NAMESET_SCANDINAVIAN_FEMALE_11=Asta
NAMESET_SCANDINAVIAN_FEMALE_12=Astrid
NAMESET_SCANDINAVIAN_FEMALE_13=Beatrice
NAMESET_SCANDINAVIAN_FEMALE_14=Camilla
NAMESET_SCANDINAVIAN_FEMALE_15=Carolina
NAMESET_SCANDINAVIAN_FEMALE_16=Caroline
NAMESET_SCANDINAVIAN_FEMALE_17=Cecilia
NAMESET_SCANDINAVIAN_FEMALE_18=Celina
NAMESET_SCANDINAVIAN_FEMALE_19=Charlotte
NAMESET_SCANDINAVIAN_FEMALE_20=Christina
NAMESET_SCANDINAVIAN_FEMALE_21=Christine
NAMESET_SCANDINAVIAN_FEMALE_22=Ebba
NAMESET_SCANDINAVIAN_FEMALE_23=Edith
NAMESET_SCANDINAVIAN_FEMALE_24=Elin
NAMESET_SCANDINAVIAN_FEMALE_25=Elina
NAMESET_SCANDINAVIAN_FEMALE_26=Elisabeth
NAMESET_SCANDINAVIAN_FEMALE_27=Elise
NAMESET_SCANDINAVIAN_FEMALE_28=Ella
NAMESET_SCANDINAVIAN_FEMALE_29=Ellinor
NAMESET_SCANDINAVIAN_FEMALE_30=Elsa
NAMESET_SCANDINAVIAN_FEMALE_31=Emelie
NAMESET_SCANDINAVIAN_FEMALE_32=Emilia
NAMESET_SCANDINAVIAN_FEMALE_33=Emilie
NAMESET_SCANDINAVIAN_FEMALE_34=Emma
NAMESET_SCANDINAVIAN_FEMALE_35=Erika
NAMESET_SCANDINAVIAN_FEMALE_36=Erle
NAMESET_SCANDINAVIAN_FEMALE_37=Ester
NAMESET_SCANDINAVIAN_FEMALE_38=Eva
NAMESET_SCANDINAVIAN_FEMALE_39=Evelina
NAMESET_SCANDINAVIAN_FEMALE_40=Felicia
NAMESET_SCANDINAVIAN_FEMALE_41=Filippa
NAMESET_SCANDINAVIAN_FEMALE_42=Frederikke
NAMESET_SCANDINAVIAN_FEMALE_43=Freja
NAMESET_SCANDINAVIAN_FEMALE_44=Frida
NAMESET_SCANDINAVIAN_FEMALE_45=Gabriella
NAMESET_SCANDINAVIAN_FEMALE_46=Greta
NAMESET_SCANDINAVIAN_FEMALE_47=Hanna
NAMESET_SCANDINAVIAN_FEMALE_48=Hanne
NAMESET_SCANDINAVIAN_FEMALE_49=Hedda
NAMESET_SCANDINAVIAN_FEMALE_50=Hedvig
NAMESET_SCANDINAVIAN_FEMALE_51=Helena
NAMESET_SCANDINAVIAN_FEMALE_52=Helene
NAMESET_SCANDINAVIAN_FEMALE_53=Helle
NAMESET_SCANDINAVIAN_FEMALE_54=Henriette
NAMESET_SCANDINAVIAN_FEMALE_55=Hilda
NAMESET_SCANDINAVIAN_FEMALE_56=Ida
NAMESET_SCANDINAVIAN_FEMALE_57=Ina
NAMESET_SCANDINAVIAN_FEMALE_58=Ingeborg
NAMESET_SCANDINAVIAN_FEMALE_59=Ingrid
NAMESET_SCANDINAVIAN_FEMALE_60=Ingvild
NAMESET_SCANDINAVIAN_FEMALE_61=Iris
NAMESET_SCANDINAVIAN_FEMALE_62=Isabella
NAMESET_SCANDINAVIAN_FEMALE_63=Jessica
NAMESET_SCANDINAVIAN_FEMALE_64=Jóhanna
NAMESET_SCANDINAVIAN_FEMALE_65=Johanna
NAMESET_SCANDINAVIAN_FEMALE_66=Johanne
NAMESET_SCANDINAVIAN_FEMALE_67=Jonna
NAMESET_SCANDINAVIAN_FEMALE_68=Julia
# pronounced as [julia], not [d͡ʒulia]
NAMESET_SCANDINAVIAN_FEMALE_069=Kaja
NAMESET_SCANDINAVIAN_FEMALE_070=Kajsa
NAMESET_SCANDINAVIAN_FEMALE_071=Kamilla
NAMESET_SCANDINAVIAN_FEMALE_072=Karen
NAMESET_SCANDINAVIAN_FEMALE_073=Karin
NAMESET_SCANDINAVIAN_FEMALE_074=Karoline
NAMESET_SCANDINAVIAN_FEMALE_075=Katrine
NAMESET_SCANDINAVIAN_FEMALE_076=Klara
NAMESET_SCANDINAVIAN_FEMALE_077=Kristín
NAMESET_SCANDINAVIAN_FEMALE_078=Kristin
NAMESET_SCANDINAVIAN_FEMALE_079=Kristina
NAMESET_SCANDINAVIAN_FEMALE_080=Kristine
NAMESET_SCANDINAVIAN_FEMALE_081=Lærke
NAMESET_SCANDINAVIAN_FEMALE_082=Laura
NAMESET_SCANDINAVIAN_FEMALE_083=Lea
NAMESET_SCANDINAVIAN_FEMALE_084=Lene
NAMESET_SCANDINAVIAN_FEMALE_085=Lilly
NAMESET_SCANDINAVIAN_FEMALE_086=Lina
NAMESET_SCANDINAVIAN_FEMALE_087=Linda
NAMESET_SCANDINAVIAN_FEMALE_088=Line
NAMESET_SCANDINAVIAN_FEMALE_089=Linn
NAMESET_SCANDINAVIAN_FEMALE_090=Linnéa
NAMESET_SCANDINAVIAN_FEMALE_091=Lisa
NAMESET_SCANDINAVIAN_FEMALE_092=Liv
NAMESET_SCANDINAVIAN_FEMALE_093=Lotte
NAMESET_SCANDINAVIAN_FEMALE_094=Lovisa
NAMESET_SCANDINAVIAN_FEMALE_095=Lykke
NAMESET_SCANDINAVIAN_FEMALE_096=Maiken
NAMESET_SCANDINAVIAN_FEMALE_097=Maja
NAMESET_SCANDINAVIAN_FEMALE_098=Majken
NAMESET_SCANDINAVIAN_FEMALE_099=Malene
NAMESET_SCANDINAVIAN_FEMALE_69=Kaja
NAMESET_SCANDINAVIAN_FEMALE_70=Kajsa
NAMESET_SCANDINAVIAN_FEMALE_71=Kamilla
NAMESET_SCANDINAVIAN_FEMALE_72=Karen
NAMESET_SCANDINAVIAN_FEMALE_73=Karin
NAMESET_SCANDINAVIAN_FEMALE_74=Karoline
NAMESET_SCANDINAVIAN_FEMALE_75=Katrine
NAMESET_SCANDINAVIAN_FEMALE_76=Klara
NAMESET_SCANDINAVIAN_FEMALE_77=Kristín
NAMESET_SCANDINAVIAN_FEMALE_78=Kristin
NAMESET_SCANDINAVIAN_FEMALE_79=Kristina
NAMESET_SCANDINAVIAN_FEMALE_80=Kristine
NAMESET_SCANDINAVIAN_FEMALE_81=Lærke
NAMESET_SCANDINAVIAN_FEMALE_82=Laura
NAMESET_SCANDINAVIAN_FEMALE_83=Lea
NAMESET_SCANDINAVIAN_FEMALE_84=Lene
NAMESET_SCANDINAVIAN_FEMALE_85=Lilly
NAMESET_SCANDINAVIAN_FEMALE_86=Lina
NAMESET_SCANDINAVIAN_FEMALE_87=Linda
NAMESET_SCANDINAVIAN_FEMALE_88=Line
NAMESET_SCANDINAVIAN_FEMALE_89=Linn
NAMESET_SCANDINAVIAN_FEMALE_90=Linnéa
NAMESET_SCANDINAVIAN_FEMALE_91=Lisa
NAMESET_SCANDINAVIAN_FEMALE_92=Liv
NAMESET_SCANDINAVIAN_FEMALE_93=Lotte
NAMESET_SCANDINAVIAN_FEMALE_94=Lovisa
NAMESET_SCANDINAVIAN_FEMALE_95=Lykke
NAMESET_SCANDINAVIAN_FEMALE_96=Maiken
NAMESET_SCANDINAVIAN_FEMALE_97=Maja
NAMESET_SCANDINAVIAN_FEMALE_98=Majken
NAMESET_SCANDINAVIAN_FEMALE_99=Malene
NAMESET_SCANDINAVIAN_FEMALE_100=Malin
NAMESET_SCANDINAVIAN_FEMALE_101=Maren
NAMESET_SCANDINAVIAN_FEMALE_102=Mari

View File

@@ -3,111 +3,111 @@
# Translator note: this nameset does not contain name that has [ɹ](american english 'r') sound (except '-er'). i.e. for Korean, 'Carl' should be '카를', 'Aleksander' should be '알렉산더'.
# Hangul version author: Torvald (main dev) 한글 전사: 토르발드 (개발진)
NAMESET_SCANDINAVIAN_MALE_001=아담
NAMESET_SCANDINAVIAN_MALE_002=아드리안
NAMESET_SCANDINAVIAN_MALE_003=악셀
NAMESET_SCANDINAVIAN_MALE_004=알베르
NAMESET_SCANDINAVIAN_MALE_005=알빈
NAMESET_SCANDINAVIAN_MALE_006=알렉
NAMESET_SCANDINAVIAN_MALE_007=알렉산더
NAMESET_SCANDINAVIAN_MALE_008=알프레드
NAMESET_SCANDINAVIAN_MALE_009=아문드
NAMESET_SCANDINAVIAN_MALE_010=안드레아스
NAMESET_SCANDINAVIAN_MALE_011=안톤
NAMESET_SCANDINAVIAN_MALE_012=아론
NAMESET_SCANDINAVIAN_MALE_013=알바르
NAMESET_SCANDINAVIAN_MALE_014=아우구스트
NAMESET_SCANDINAVIAN_MALE_015=악셀
NAMESET_SCANDINAVIAN_MALE_016=비외른
NAMESET_SCANDINAVIAN_MALE_017=비외른
NAMESET_SCANDINAVIAN_MALE_018=카를
NAMESET_SCANDINAVIAN_MALE_019=카스퍼
NAMESET_SCANDINAVIAN_MALE_020=크리스티안
NAMESET_SCANDINAVIAN_MALE_021=크리스토퍼
NAMESET_SCANDINAVIAN_MALE_022=다니엘
NAMESET_SCANDINAVIAN_MALE_023=다비드
NAMESET_SCANDINAVIAN_MALE_1=아담
NAMESET_SCANDINAVIAN_MALE_2=아드리안
NAMESET_SCANDINAVIAN_MALE_3=악셀
NAMESET_SCANDINAVIAN_MALE_4=알베르
NAMESET_SCANDINAVIAN_MALE_5=알빈
NAMESET_SCANDINAVIAN_MALE_6=알렉
NAMESET_SCANDINAVIAN_MALE_7=알렉산더
NAMESET_SCANDINAVIAN_MALE_8=알프레드
NAMESET_SCANDINAVIAN_MALE_9=아문드
NAMESET_SCANDINAVIAN_MALE_10=안드레아스
NAMESET_SCANDINAVIAN_MALE_11=안톤
NAMESET_SCANDINAVIAN_MALE_12=아론
NAMESET_SCANDINAVIAN_MALE_13=알바르
NAMESET_SCANDINAVIAN_MALE_14=아우구스트
NAMESET_SCANDINAVIAN_MALE_15=악셀
NAMESET_SCANDINAVIAN_MALE_16=비외른
NAMESET_SCANDINAVIAN_MALE_17=비외른
NAMESET_SCANDINAVIAN_MALE_18=카를
NAMESET_SCANDINAVIAN_MALE_19=카스퍼
NAMESET_SCANDINAVIAN_MALE_20=크리스티안
NAMESET_SCANDINAVIAN_MALE_21=크리스토퍼
NAMESET_SCANDINAVIAN_MALE_22=다니엘
NAMESET_SCANDINAVIAN_MALE_23=다비드
# pronounced as [dɑvid], not [deivɪd]
NAMESET_SCANDINAVIAN_MALE_024=에드문드
NAMESET_SCANDINAVIAN_MALE_025=에드바르
NAMESET_SCANDINAVIAN_MALE_026=에드빈
NAMESET_SCANDINAVIAN_MALE_027=에릭
NAMESET_SCANDINAVIAN_MALE_028=엘리아스
NAMESET_SCANDINAVIAN_MALE_029=엘리스
NAMESET_SCANDINAVIAN_MALE_030=에마누엘
NAMESET_SCANDINAVIAN_MALE_031=에밀
NAMESET_SCANDINAVIAN_MALE_032=에인드리
NAMESET_SCANDINAVIAN_MALE_033=에릭
NAMESET_SCANDINAVIAN_MALE_034=에를렌드
NAMESET_SCANDINAVIAN_MALE_035=에스펜
NAMESET_SCANDINAVIAN_MALE_036=파비안
NAMESET_SCANDINAVIAN_MALE_037=펠릭스
NAMESET_SCANDINAVIAN_MALE_038=필립
NAMESET_SCANDINAVIAN_MALE_039=프레데릭
NAMESET_SCANDINAVIAN_MALE_040=가브리엘
NAMESET_SCANDINAVIAN_MALE_041=구스타프
NAMESET_SCANDINAVIAN_MALE_042=하콘
NAMESET_SCANDINAVIAN_MALE_043=하콘
NAMESET_SCANDINAVIAN_MALE_044=호콘
NAMESET_SCANDINAVIAN_MALE_045=함푸스
NAMESET_SCANDINAVIAN_MALE_046=한네
NAMESET_SCANDINAVIAN_MALE_047=한스
NAMESET_SCANDINAVIAN_MALE_048=호바르
NAMESET_SCANDINAVIAN_MALE_049=헨릭
NAMESET_SCANDINAVIAN_MALE_050=헤르만
NAMESET_SCANDINAVIAN_MALE_051=히알마르
NAMESET_SCANDINAVIAN_MALE_052=휴고
NAMESET_SCANDINAVIAN_MALE_053=이삭
NAMESET_SCANDINAVIAN_MALE_054=이바르
NAMESET_SCANDINAVIAN_MALE_055=야콥
NAMESET_SCANDINAVIAN_MALE_056=야콥
NAMESET_SCANDINAVIAN_MALE_057=얀
NAMESET_SCANDINAVIAN_MALE_058=옌스
NAMESET_SCANDINAVIAN_MALE_059=예프
NAMESET_SCANDINAVIAN_MALE_060=예스퍼
NAMESET_SCANDINAVIAN_MALE_061=요아킴
NAMESET_SCANDINAVIAN_MALE_24=에드문드
NAMESET_SCANDINAVIAN_MALE_25=에드바르
NAMESET_SCANDINAVIAN_MALE_26=에드빈
NAMESET_SCANDINAVIAN_MALE_27=에릭
NAMESET_SCANDINAVIAN_MALE_28=엘리아스
NAMESET_SCANDINAVIAN_MALE_29=엘리스
NAMESET_SCANDINAVIAN_MALE_30=에마누엘
NAMESET_SCANDINAVIAN_MALE_31=에밀
NAMESET_SCANDINAVIAN_MALE_32=에인드리
NAMESET_SCANDINAVIAN_MALE_33=에릭
NAMESET_SCANDINAVIAN_MALE_34=에를렌드
NAMESET_SCANDINAVIAN_MALE_35=에스펜
NAMESET_SCANDINAVIAN_MALE_36=파비안
NAMESET_SCANDINAVIAN_MALE_37=펠릭스
NAMESET_SCANDINAVIAN_MALE_38=필립
NAMESET_SCANDINAVIAN_MALE_39=프레데릭
NAMESET_SCANDINAVIAN_MALE_40=가브리엘
NAMESET_SCANDINAVIAN_MALE_41=구스타프
NAMESET_SCANDINAVIAN_MALE_42=하콘
NAMESET_SCANDINAVIAN_MALE_43=하콘
NAMESET_SCANDINAVIAN_MALE_44=호콘
NAMESET_SCANDINAVIAN_MALE_45=함푸스
NAMESET_SCANDINAVIAN_MALE_46=한네
NAMESET_SCANDINAVIAN_MALE_47=한스
NAMESET_SCANDINAVIAN_MALE_48=호바르
NAMESET_SCANDINAVIAN_MALE_49=헨릭
NAMESET_SCANDINAVIAN_MALE_50=헤르만
NAMESET_SCANDINAVIAN_MALE_51=히알마르
NAMESET_SCANDINAVIAN_MALE_52=휴고
NAMESET_SCANDINAVIAN_MALE_53=이삭
NAMESET_SCANDINAVIAN_MALE_54=이바르
NAMESET_SCANDINAVIAN_MALE_55=야콥
NAMESET_SCANDINAVIAN_MALE_56=야콥
NAMESET_SCANDINAVIAN_MALE_57=얀
NAMESET_SCANDINAVIAN_MALE_58=옌스
NAMESET_SCANDINAVIAN_MALE_59=예프
NAMESET_SCANDINAVIAN_MALE_60=예스퍼
NAMESET_SCANDINAVIAN_MALE_61=요아킴
# pronounced as [joakim], not [hoakim] as this is scandinavian section.
NAMESET_SCANDINAVIAN_MALE_062=요엘
NAMESET_SCANDINAVIAN_MALE_063=요한
NAMESET_SCANDINAVIAN_MALE_064=요한네스
NAMESET_SCANDINAVIAN_MALE_065=욘
NAMESET_SCANDINAVIAN_MALE_066=욘
NAMESET_SCANDINAVIAN_MALE_067=요나스
NAMESET_SCANDINAVIAN_MALE_068=요나스
NAMESET_SCANDINAVIAN_MALE_069=요나단
NAMESET_SCANDINAVIAN_MALE_070=이외르겐
NAMESET_SCANDINAVIAN_MALE_071=이외르겐
NAMESET_SCANDINAVIAN_MALE_072=요세프
NAMESET_SCANDINAVIAN_MALE_073=칼
NAMESET_SCANDINAVIAN_MALE_074=카스퍼
NAMESET_SCANDINAVIAN_MALE_075=케빈
NAMESET_SCANDINAVIAN_MALE_076=킴
NAMESET_SCANDINAVIAN_MALE_077=크누트
NAMESET_SCANDINAVIAN_MALE_62=요엘
NAMESET_SCANDINAVIAN_MALE_63=요한
NAMESET_SCANDINAVIAN_MALE_64=요한네스
NAMESET_SCANDINAVIAN_MALE_65=욘
NAMESET_SCANDINAVIAN_MALE_66=욘
NAMESET_SCANDINAVIAN_MALE_67=요나스
NAMESET_SCANDINAVIAN_MALE_68=요나스
NAMESET_SCANDINAVIAN_MALE_69=요나단
NAMESET_SCANDINAVIAN_MALE_70=이외르겐
NAMESET_SCANDINAVIAN_MALE_71=이외르겐
NAMESET_SCANDINAVIAN_MALE_72=요세프
NAMESET_SCANDINAVIAN_MALE_73=칼
NAMESET_SCANDINAVIAN_MALE_74=카스퍼
NAMESET_SCANDINAVIAN_MALE_75=케빈
NAMESET_SCANDINAVIAN_MALE_76=킴
NAMESET_SCANDINAVIAN_MALE_77=크누트
# pronounced as [knut]
NAMESET_SCANDINAVIAN_MALE_078=크리스티안
NAMESET_SCANDINAVIAN_MALE_079=크리스토퍼
NAMESET_SCANDINAVIAN_MALE_080=라르스
NAMESET_SCANDINAVIAN_MALE_081=라세
NAMESET_SCANDINAVIAN_MALE_082=라우리츠
NAMESET_SCANDINAVIAN_MALE_083=레오
NAMESET_SCANDINAVIAN_MALE_084=리누스
NAMESET_SCANDINAVIAN_MALE_78=크리스티안
NAMESET_SCANDINAVIAN_MALE_79=크리스토퍼
NAMESET_SCANDINAVIAN_MALE_80=라르스
NAMESET_SCANDINAVIAN_MALE_81=라세
NAMESET_SCANDINAVIAN_MALE_82=라우리츠
NAMESET_SCANDINAVIAN_MALE_83=레오
NAMESET_SCANDINAVIAN_MALE_84=리누스
# pronounced as [linus], not [lainəs] as this is scandinavian section.
NAMESET_SCANDINAVIAN_MALE_085=로케
NAMESET_SCANDINAVIAN_MALE_086=로베
NAMESET_SCANDINAVIAN_MALE_85=로케
NAMESET_SCANDINAVIAN_MALE_86=로베
# NOT pronounced as [ləv]!
NAMESET_SCANDINAVIAN_MALE_087=루드빅
NAMESET_SCANDINAVIAN_MALE_088=루카스
NAMESET_SCANDINAVIAN_MALE_089=마드스
NAMESET_SCANDINAVIAN_MALE_090=마그누스
NAMESET_SCANDINAVIAN_MALE_091=말테
NAMESET_SCANDINAVIAN_MALE_092=말테
NAMESET_SCANDINAVIAN_MALE_093=마르쿠스
NAMESET_SCANDINAVIAN_MALE_094=마리아
NAMESET_SCANDINAVIAN_MALE_095=마리우스
NAMESET_SCANDINAVIAN_MALE_096=마르쿠스
NAMESET_SCANDINAVIAN_MALE_097=마르틴
NAMESET_SCANDINAVIAN_MALE_098=키루스
NAMESET_SCANDINAVIAN_MALE_87=루드빅
NAMESET_SCANDINAVIAN_MALE_88=루카스
NAMESET_SCANDINAVIAN_MALE_89=마드스
NAMESET_SCANDINAVIAN_MALE_90=마그누스
NAMESET_SCANDINAVIAN_MALE_91=말테
NAMESET_SCANDINAVIAN_MALE_92=말테
NAMESET_SCANDINAVIAN_MALE_93=마르쿠스
NAMESET_SCANDINAVIAN_MALE_94=마리아
NAMESET_SCANDINAVIAN_MALE_95=마리우스
NAMESET_SCANDINAVIAN_MALE_96=마르쿠스
NAMESET_SCANDINAVIAN_MALE_97=마르틴
NAMESET_SCANDINAVIAN_MALE_98=키루스
# need more exotic name starting with 'C'...
NAMESET_SCANDINAVIAN_MALE_099=마츠
NAMESET_SCANDINAVIAN_MALE_99=마츠
NAMESET_SCANDINAVIAN_MALE_100=마티아스
NAMESET_SCANDINAVIAN_MALE_101=막스
NAMESET_SCANDINAVIAN_MALE_102=막시밀리안
@@ -174,106 +174,106 @@ NAMESET_SCANDINAVIAN_MALE_162=빈센트
# feminine names
NAMESET_SCANDINAVIAN_FEMALE_001=아그네스
NAMESET_SCANDINAVIAN_FEMALE_002=알베르테
NAMESET_SCANDINAVIAN_FEMALE_003=알렉산드라
NAMESET_SCANDINAVIAN_FEMALE_004=알바
NAMESET_SCANDINAVIAN_FEMALE_005=아만다
NAMESET_SCANDINAVIAN_FEMALE_006=안드레아
NAMESET_SCANDINAVIAN_FEMALE_007=아네
NAMESET_SCANDINAVIAN_FEMALE_008=안나
NAMESET_SCANDINAVIAN_FEMALE_009=안네
NAMESET_SCANDINAVIAN_FEMALE_010=안니켄
NAMESET_SCANDINAVIAN_FEMALE_011=아스타
NAMESET_SCANDINAVIAN_FEMALE_012=아스트리드
NAMESET_SCANDINAVIAN_FEMALE_013=베아트리케
NAMESET_SCANDINAVIAN_FEMALE_014=카밀라
NAMESET_SCANDINAVIAN_FEMALE_015=카롤리나
NAMESET_SCANDINAVIAN_FEMALE_016=카롤리네
NAMESET_SCANDINAVIAN_FEMALE_017=세실리아
NAMESET_SCANDINAVIAN_FEMALE_018=첼리나
NAMESET_SCANDINAVIAN_FEMALE_019=카를로테
NAMESET_SCANDINAVIAN_FEMALE_020=크리스티나
NAMESET_SCANDINAVIAN_FEMALE_021=크리스티네
NAMESET_SCANDINAVIAN_FEMALE_022=에바
NAMESET_SCANDINAVIAN_FEMALE_023=에디스
NAMESET_SCANDINAVIAN_FEMALE_024=엘린
NAMESET_SCANDINAVIAN_FEMALE_025=엘리나
NAMESET_SCANDINAVIAN_FEMALE_026=엘리사베스
NAMESET_SCANDINAVIAN_FEMALE_027=엘리세
NAMESET_SCANDINAVIAN_FEMALE_028=엘라
NAMESET_SCANDINAVIAN_FEMALE_029=엘리노르
NAMESET_SCANDINAVIAN_FEMALE_030=엘사
NAMESET_SCANDINAVIAN_FEMALE_031=에밀리에
NAMESET_SCANDINAVIAN_FEMALE_032=에밀리아
NAMESET_SCANDINAVIAN_FEMALE_033=에밀리에
NAMESET_SCANDINAVIAN_FEMALE_034=엠마
NAMESET_SCANDINAVIAN_FEMALE_035=에리카
NAMESET_SCANDINAVIAN_FEMALE_036=에를레
NAMESET_SCANDINAVIAN_FEMALE_037=에스테르
NAMESET_SCANDINAVIAN_FEMALE_038=에바
NAMESET_SCANDINAVIAN_FEMALE_039=에벨리나
NAMESET_SCANDINAVIAN_FEMALE_040=펠리시아
NAMESET_SCANDINAVIAN_FEMALE_041=필리파
NAMESET_SCANDINAVIAN_FEMALE_042=프레데리케
NAMESET_SCANDINAVIAN_FEMALE_043=프레야
NAMESET_SCANDINAVIAN_FEMALE_044=프리다
NAMESET_SCANDINAVIAN_FEMALE_045=가브리엘라
NAMESET_SCANDINAVIAN_FEMALE_046=그레타
NAMESET_SCANDINAVIAN_FEMALE_047=한나
NAMESET_SCANDINAVIAN_FEMALE_048=한네
NAMESET_SCANDINAVIAN_FEMALE_049=헤다
NAMESET_SCANDINAVIAN_FEMALE_050=헤드비그
NAMESET_SCANDINAVIAN_FEMALE_051=헬레나
NAMESET_SCANDINAVIAN_FEMALE_052=헬레네
NAMESET_SCANDINAVIAN_FEMALE_053=헬레
NAMESET_SCANDINAVIAN_FEMALE_054=헨리에트
NAMESET_SCANDINAVIAN_FEMALE_055=힐다
NAMESET_SCANDINAVIAN_FEMALE_056=이다
NAMESET_SCANDINAVIAN_FEMALE_057=이나
NAMESET_SCANDINAVIAN_FEMALE_058=잉게보리
NAMESET_SCANDINAVIAN_FEMALE_059=잉그리
NAMESET_SCANDINAVIAN_FEMALE_060=잉그빌드
NAMESET_SCANDINAVIAN_FEMALE_061=이리스
NAMESET_SCANDINAVIAN_FEMALE_062=이사벨라
NAMESET_SCANDINAVIAN_FEMALE_063=예시카
NAMESET_SCANDINAVIAN_FEMALE_064=요한나
NAMESET_SCANDINAVIAN_FEMALE_065=요한나
NAMESET_SCANDINAVIAN_FEMALE_066=요한네
NAMESET_SCANDINAVIAN_FEMALE_067=요나
NAMESET_SCANDINAVIAN_FEMALE_068=율리아
NAMESET_SCANDINAVIAN_FEMALE_1=아그네스
NAMESET_SCANDINAVIAN_FEMALE_2=알베르테
NAMESET_SCANDINAVIAN_FEMALE_3=알렉산드라
NAMESET_SCANDINAVIAN_FEMALE_4=알바
NAMESET_SCANDINAVIAN_FEMALE_5=아만다
NAMESET_SCANDINAVIAN_FEMALE_6=안드레아
NAMESET_SCANDINAVIAN_FEMALE_7=아네
NAMESET_SCANDINAVIAN_FEMALE_8=안나
NAMESET_SCANDINAVIAN_FEMALE_9=안네
NAMESET_SCANDINAVIAN_FEMALE_10=안니켄
NAMESET_SCANDINAVIAN_FEMALE_11=아스타
NAMESET_SCANDINAVIAN_FEMALE_12=아스트리드
NAMESET_SCANDINAVIAN_FEMALE_13=베아트리케
NAMESET_SCANDINAVIAN_FEMALE_14=카밀라
NAMESET_SCANDINAVIAN_FEMALE_15=카롤리나
NAMESET_SCANDINAVIAN_FEMALE_16=카롤리네
NAMESET_SCANDINAVIAN_FEMALE_17=세실리아
NAMESET_SCANDINAVIAN_FEMALE_18=첼리나
NAMESET_SCANDINAVIAN_FEMALE_19=카를로테
NAMESET_SCANDINAVIAN_FEMALE_20=크리스티나
NAMESET_SCANDINAVIAN_FEMALE_21=크리스티네
NAMESET_SCANDINAVIAN_FEMALE_22=에바
NAMESET_SCANDINAVIAN_FEMALE_23=에디스
NAMESET_SCANDINAVIAN_FEMALE_24=엘린
NAMESET_SCANDINAVIAN_FEMALE_25=엘리나
NAMESET_SCANDINAVIAN_FEMALE_26=엘리사베스
NAMESET_SCANDINAVIAN_FEMALE_27=엘리세
NAMESET_SCANDINAVIAN_FEMALE_28=엘라
NAMESET_SCANDINAVIAN_FEMALE_29=엘리노르
NAMESET_SCANDINAVIAN_FEMALE_30=엘사
NAMESET_SCANDINAVIAN_FEMALE_31=에밀리에
NAMESET_SCANDINAVIAN_FEMALE_32=에밀리아
NAMESET_SCANDINAVIAN_FEMALE_33=에밀리에
NAMESET_SCANDINAVIAN_FEMALE_34=엠마
NAMESET_SCANDINAVIAN_FEMALE_35=에리카
NAMESET_SCANDINAVIAN_FEMALE_36=에를레
NAMESET_SCANDINAVIAN_FEMALE_37=에스테르
NAMESET_SCANDINAVIAN_FEMALE_38=에바
NAMESET_SCANDINAVIAN_FEMALE_39=에벨리나
NAMESET_SCANDINAVIAN_FEMALE_40=펠리시아
NAMESET_SCANDINAVIAN_FEMALE_41=필리파
NAMESET_SCANDINAVIAN_FEMALE_42=프레데리케
NAMESET_SCANDINAVIAN_FEMALE_43=프레야
NAMESET_SCANDINAVIAN_FEMALE_44=프리다
NAMESET_SCANDINAVIAN_FEMALE_45=가브리엘라
NAMESET_SCANDINAVIAN_FEMALE_46=그레타
NAMESET_SCANDINAVIAN_FEMALE_47=한나
NAMESET_SCANDINAVIAN_FEMALE_48=한네
NAMESET_SCANDINAVIAN_FEMALE_49=헤다
NAMESET_SCANDINAVIAN_FEMALE_50=헤드비그
NAMESET_SCANDINAVIAN_FEMALE_51=헬레나
NAMESET_SCANDINAVIAN_FEMALE_52=헬레네
NAMESET_SCANDINAVIAN_FEMALE_53=헬레
NAMESET_SCANDINAVIAN_FEMALE_54=헨리에트
NAMESET_SCANDINAVIAN_FEMALE_55=힐다
NAMESET_SCANDINAVIAN_FEMALE_56=이다
NAMESET_SCANDINAVIAN_FEMALE_57=이나
NAMESET_SCANDINAVIAN_FEMALE_58=잉게보리
NAMESET_SCANDINAVIAN_FEMALE_59=잉그리
NAMESET_SCANDINAVIAN_FEMALE_60=잉그빌드
NAMESET_SCANDINAVIAN_FEMALE_61=이리스
NAMESET_SCANDINAVIAN_FEMALE_62=이사벨라
NAMESET_SCANDINAVIAN_FEMALE_63=예시카
NAMESET_SCANDINAVIAN_FEMALE_64=요한나
NAMESET_SCANDINAVIAN_FEMALE_65=요한나
NAMESET_SCANDINAVIAN_FEMALE_66=요한네
NAMESET_SCANDINAVIAN_FEMALE_67=요나
NAMESET_SCANDINAVIAN_FEMALE_68=율리아
# pronounced as [julia], not [d͡ʒulia]
NAMESET_SCANDINAVIAN_FEMALE_069=카야
NAMESET_SCANDINAVIAN_FEMALE_070=카트리나
NAMESET_SCANDINAVIAN_FEMALE_071=카밀라
NAMESET_SCANDINAVIAN_FEMALE_072=카렌
NAMESET_SCANDINAVIAN_FEMALE_073=카린
NAMESET_SCANDINAVIAN_FEMALE_074=카롤리네
NAMESET_SCANDINAVIAN_FEMALE_075=카트리네
NAMESET_SCANDINAVIAN_FEMALE_076=클라라
NAMESET_SCANDINAVIAN_FEMALE_077=크리스틴
NAMESET_SCANDINAVIAN_FEMALE_078=크리스틴
NAMESET_SCANDINAVIAN_FEMALE_079=크리스티나
NAMESET_SCANDINAVIAN_FEMALE_080=크리스티네
NAMESET_SCANDINAVIAN_FEMALE_081=레르케
NAMESET_SCANDINAVIAN_FEMALE_082=라우라
NAMESET_SCANDINAVIAN_FEMALE_083=레아
NAMESET_SCANDINAVIAN_FEMALE_084=레네
NAMESET_SCANDINAVIAN_FEMALE_085=릴리
NAMESET_SCANDINAVIAN_FEMALE_086=리나
NAMESET_SCANDINAVIAN_FEMALE_087=린다
NAMESET_SCANDINAVIAN_FEMALE_088=리네
NAMESET_SCANDINAVIAN_FEMALE_089=린
NAMESET_SCANDINAVIAN_FEMALE_090=린네아
NAMESET_SCANDINAVIAN_FEMALE_091=리사
NAMESET_SCANDINAVIAN_FEMALE_092=리브
NAMESET_SCANDINAVIAN_FEMALE_093=로테
NAMESET_SCANDINAVIAN_FEMALE_094=로비사
NAMESET_SCANDINAVIAN_FEMALE_095=리케
NAMESET_SCANDINAVIAN_FEMALE_096=마이켄
NAMESET_SCANDINAVIAN_FEMALE_097=마야
NAMESET_SCANDINAVIAN_FEMALE_098=마이켄
NAMESET_SCANDINAVIAN_FEMALE_099=말레네
NAMESET_SCANDINAVIAN_FEMALE_69=카야
NAMESET_SCANDINAVIAN_FEMALE_70=카트리나
NAMESET_SCANDINAVIAN_FEMALE_71=카밀라
NAMESET_SCANDINAVIAN_FEMALE_72=카렌
NAMESET_SCANDINAVIAN_FEMALE_73=카린
NAMESET_SCANDINAVIAN_FEMALE_74=카롤리네
NAMESET_SCANDINAVIAN_FEMALE_75=카트리네
NAMESET_SCANDINAVIAN_FEMALE_76=클라라
NAMESET_SCANDINAVIAN_FEMALE_77=크리스틴
NAMESET_SCANDINAVIAN_FEMALE_78=크리스틴
NAMESET_SCANDINAVIAN_FEMALE_79=크리스티나
NAMESET_SCANDINAVIAN_FEMALE_80=크리스티네
NAMESET_SCANDINAVIAN_FEMALE_81=레르케
NAMESET_SCANDINAVIAN_FEMALE_82=라우라
NAMESET_SCANDINAVIAN_FEMALE_83=레아
NAMESET_SCANDINAVIAN_FEMALE_84=레네
NAMESET_SCANDINAVIAN_FEMALE_85=릴리
NAMESET_SCANDINAVIAN_FEMALE_86=리나
NAMESET_SCANDINAVIAN_FEMALE_87=린다
NAMESET_SCANDINAVIAN_FEMALE_88=리네
NAMESET_SCANDINAVIAN_FEMALE_89=린
NAMESET_SCANDINAVIAN_FEMALE_90=린네아
NAMESET_SCANDINAVIAN_FEMALE_91=리사
NAMESET_SCANDINAVIAN_FEMALE_92=리브
NAMESET_SCANDINAVIAN_FEMALE_93=로테
NAMESET_SCANDINAVIAN_FEMALE_94=로비사
NAMESET_SCANDINAVIAN_FEMALE_95=리케
NAMESET_SCANDINAVIAN_FEMALE_96=마이켄
NAMESET_SCANDINAVIAN_FEMALE_97=마야
NAMESET_SCANDINAVIAN_FEMALE_98=마이켄
NAMESET_SCANDINAVIAN_FEMALE_99=말레네
NAMESET_SCANDINAVIAN_FEMALE_100=말린
NAMESET_SCANDINAVIAN_FEMALE_101=마렌
NAMESET_SCANDINAVIAN_FEMALE_102=마리

View File

@@ -1,7 +1,6 @@
{
"racename" : "CONTEXT_RACE_HUMAN",
"racenameplural" : "CONTEXT_RACE_HUMAN_PLURAL",
"ethnicgroup" : "human",
"baseheight" : 40,
"basemass" : 60.0,

View File

@@ -0,0 +1,8 @@
{
"factionname" : "sigrid",
"factionamicable" : ["follower"],
"factionneutral" : ["controlledvillager"],
"factionhostile" : ["wildlifehostile"],
"factionfearful" : ["peasant", "wildlifeflee"]
}

View File

@@ -0,0 +1,76 @@
package com.Torvald.ColourUtil;
import org.newdawn.slick.Color;
/**
* Created by minjaesong on 16-02-11.
*/
public class Col216 implements LimitedColours {
private byte data;
private static int[] LOOKUP = {0x00, 0x33, 0x66, 0x99, 0xCC, 0xFF};
/**
*
* @param data
*/
public Col216(byte data) {
create(data);
}
/**
*
* @param r 0-5
* @param g 0-5
* @param b 0-5
*/
public Col216(int r, int g, int b) {
create(r, g, b);
}
@Override
public Color createSlickColor(int raw) {
assertRaw(raw);
int r = LOOKUP[(raw / 36)];
int g = LOOKUP[((raw % 36) / 6)];
int b = LOOKUP[raw % 6];
return createSlickColor(r, g, b);
}
@Override
public Color createSlickColor(int r, int g, int b) {
assertRGB(r, g, b);
return new Color(LOOKUP[r], LOOKUP[g], LOOKUP[b]);
}
@Override
public void create(int raw) {
assertRaw(raw);
data = (byte) raw;
}
@Override
public void create(int r, int g, int b) {
assertRGB(r, g, b);
data = (byte) (36 * r + 6 * g + b);
}
public byte getRaw() { return data; }
private void assertRaw(int i) {
if (i > 0xFF || i < 0) {
System.out.println("i: " + String.valueOf(i));
throw new IllegalArgumentException();
}
}
private void assertRGB(int r, int g, int b) {
if (r > 5 || g > 5 || b > 5 || r < 0 || g < 0 || b < 0) {
System.out.println("r: " + String.valueOf(r));
System.out.println("g: " + String.valueOf(g));
System.out.println("b: " + String.valueOf(b));
throw new IllegalArgumentException();
}
}
}

View File

@@ -1,73 +0,0 @@
package com.Torvald.ColourUtil;
import org.newdawn.slick.Color;
/**
* Created by minjaesong on 16-02-07.
*
* 3-3-2 256 colour RGB
*/
public class Col256 {
private byte data;
/**
* Create new Col256 format.
* @param data 0x00-0xFF
*/
public Col256(int data) {
this.data = (byte) data;
}
public Col256(int r, int g, int b) {
if (r > 7 || g > 7 || b > 3) {
throw new IllegalArgumentException("Colour range: RG: 0-7, B:0-4");
}
data = (byte) (r << 5 | g << 2 | b);
}
/**
* Create Col256 colour and convert it to Slick Color
* @param i
* @return
*/
public Color create(int i) {
if (i > 0xFF || i < 0) {
throw new IllegalArgumentException("Colour range: #00 - #FF");
}
int r = (i & 0b11100000) >> 5;
int g = (i & 0b00011100) >> 2;
int b = i & 0b00000011;
return create(r, g, b);
}
/**
* Create Col256 colour and convert it to Slick Color
* @return
*/
public Color create(int r, int g, int b) {
if (r > 7 || g > 7 || b > 3) {
throw new IllegalArgumentException("Colour range: RG: 0-7, B:0-4");
}
int[] colIndex3 = {0, 36, 73, 109, 146, 182, 219, 255};
int[] colIndex2 = {0, 85, 170, 255};
return new Color(
colIndex3[r]
, colIndex3[g]
, colIndex2[b]
);
}
/**
* Retrieve raw RGB value
* @return 0bRRRGGGBB
*/
public byte getByte() {
return data;
}
}

View File

@@ -7,16 +7,26 @@ import org.newdawn.slick.Color;
*
* 12-bit RGB
*/
public class Col4096 {
public class Col4096 implements LimitedColours {
private short data;
/**
* Create new Col4096 format.
* @param data 0xARGB
*
* @param data
*/
public Col4096(int data) {
this.data = (short) data;
create(data);
}
/**
*
* @param r 0-15
* @param g 0-15
* @param b 0-15
*/
public Col4096(int r, int g, int b) {
create(r, g, b);
}
/**
@@ -24,12 +34,17 @@ public class Col4096 {
* @param i
* @return
*/
public Color create(int i) {
public Color createSlickColor(int i) {
assertRaw(i);
int a, r, g, b;
r = (i & 0xF00) >> 8;
g = (i & 0x0F0) >> 4;
b = i & 0x00F;
if (i > 0xFFF) {
int a = (i & 0xF000) >> 12;
int r = (i & 0x0F00) >> 8;
int g = (i & 0x00F0) >> 4;
int b = i & 0x000F;
a = (i & 0xF000) >> 12;
return new Color(
(r << 4) | r
@@ -39,10 +54,6 @@ public class Col4096 {
);
}
else {
int r = (i & 0xF00) >> 8;
int g = (i & 0x0F0) >> 4;
int b = i & 0x00F;
return new Color(
(r << 4) | r
, (g << 4) | g
@@ -51,6 +62,34 @@ public class Col4096 {
}
}
@Override
public Color createSlickColor(int r, int g, int b) {
assertARGB(0, r, g, b);
return createSlickColor(r << 8 | g << 4 | b);
}
public Color createSlickColor(int a, int r, int g, int b) {
assertARGB(a, r, g, b);
return createSlickColor(a << 12 |r << 8 | g << 4 | b);
}
@Override
public void create(int raw) {
assertRaw(raw);
data = (short) (raw & 0xFFFF);
}
@Override
public void create(int r, int g, int b) {
assertARGB(0, r, g, b);
data = (short) (r << 8 | g << 4 | b);
}
public void create(int a, int r, int g, int b) {
assertARGB(a, r, g, b);
data = (short) (a << 12 | r << 8 | g << 4 | b);
}
/**
* Convert to 3 byte values, for raster imaging.
* @return byte[RR, GG, BB] e.g. 0x4B3 -> 0x44, 0xBB, 0x33
@@ -72,8 +111,25 @@ public class Col4096 {
* Retrieve raw ARGB value
* @return 0xARGB
*/
public short getShort() {
public short getRaw() {
return data;
}
private void assertRaw(int i) {
if (i > 0xFFFF || i < 0) {
System.out.println("i: " + String.valueOf(i));
throw new IllegalArgumentException();
}
}
private void assertARGB(int a, int r, int g, int b) {
if (a > 16 || r > 16 || g > 16 || b > 16 || r < 0 || g < 0 || b < 0 || a < 0) {
System.out.println("a: " + String.valueOf(a));
System.out.println("r: " + String.valueOf(r));
System.out.println("g: " + String.valueOf(g));
System.out.println("b: " + String.valueOf(b));
throw new IllegalArgumentException();
}
}
}

View File

@@ -0,0 +1,18 @@
package com.Torvald.ColourUtil;
import org.newdawn.slick.Color;
/**
* Created by minjaesong on 16-02-11.
*/
public interface LimitedColours {
Color createSlickColor(int raw);
Color createSlickColor(int r, int g, int b);
void create(int raw);
void create(int r, int g, int b);
}

View File

@@ -257,6 +257,9 @@ public class GameFontBase implements Font {
+ getWidth(s.substring(0, i))
)
, Math.round(y)
- ((prevInstance == SHEET_KANA) ? 2
: (prevInstance == SHEET_CJK_PUNCT) ?
1 : 0)
, sheetX
, sheetY
);

View File

@@ -0,0 +1,36 @@
package com.Torvald;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
/**
* Created by minjaesong on 16-02-15.
*/
public class JsonGetter {
private static String jsonString = new String();
public static JsonObject readJson(String jsonFileName) throws IOException {
readJsonFileAsString(jsonFileName);
JsonParser jsonParser = new JsonParser();
JsonObject jsonObj = jsonParser.parse(jsonString).getAsJsonObject();
return jsonObj;
}
private static void readJsonFileAsString(String path) throws IOException {
Files.lines(
FileSystems.getDefault().getPath(path)
).forEach(JsonGetter::strAppend);
}
private static void strAppend( String s) {
jsonString += s;
}
}

View File

@@ -77,6 +77,10 @@ public class ActorWithBody implements Actor, Visible, Glowing {
private final int CONTACT_AREA_BOTTOM = 2;
private final int CONTACT_AREA_LEFT = 3;
private final int UD_COMPENSATOR_MAX = 100;
private final int LR_COMPENSATOR_MAX = TSIZE;
private final int TILE_CLIMB_RATE = 4;
/**
* A constant to make falling faster so that the game is more playable
*/
@@ -261,6 +265,9 @@ public class ActorWithBody implements Actor, Visible, Glowing {
if (collidedRightAndAdjusted()) { // treat as 'event--collided right'
veloX = 0;
walledRight = true;
// TODO remove above two lines and implement tile climb (multi-frame calculation.)
// Use variable TILE_CLIMB_RATE
}
else if (collidedLeftAndAdjusted()) { // treat as 'event--collided left'
veloX = 0;
@@ -351,7 +358,7 @@ public class ActorWithBody implements Actor, Visible, Glowing {
private void adjustHitBottom() {
int tY = 0;
int contactArea = getContactArea(CONTACT_AREA_BOTTOM, 0, 0);
for (int lim = 0; lim < TSIZE; lim++) {
for (int lim = 0; lim < UD_COMPENSATOR_MAX; lim++) {
/**
* get contact area and move up and get again.
* keep track of this value, and some point they will be set as lowest
@@ -371,7 +378,7 @@ public class ActorWithBody implements Actor, Visible, Glowing {
private void adjustHitTop() {
int tY = 0;
int contactArea = getContactArea(CONTACT_AREA_TOP, 0, 0);
for (int lim = 0; lim < TSIZE; lim++) {
for (int lim = 0; lim < UD_COMPENSATOR_MAX; lim++) {
/**
* get contact area and move up and get again.
* keep track of this value, and some point they will be set as lowest
@@ -391,7 +398,7 @@ public class ActorWithBody implements Actor, Visible, Glowing {
private void adjustHitRight() {
int tX = 0;
int contactArea = getContactArea(CONTACT_AREA_RIGHT, 0, 0);
for (int lim = 0; lim < TSIZE; lim++) {
for (int lim = 0; lim < LR_COMPENSATOR_MAX; lim++) {
/**
* get contact area and move up and get again.
* keep track of this value, and some point they will be set as lowest
@@ -417,7 +424,7 @@ public class ActorWithBody implements Actor, Visible, Glowing {
private void adjustHitLeft() {
int tX = 0;
int contactArea = getContactArea(CONTACT_AREA_LEFT, 0, 0);
for (int lim = 0; lim < TSIZE; lim++) {
for (int lim = 0; lim < LR_COMPENSATOR_MAX; lim++) {
/**
* get contact area and move up and get again.
* keep track of this value, and some point they will be set as lowest

View File

@@ -1,5 +1,6 @@
package com.Torvald.Terrarum.Actors;
import com.Torvald.JsonGetter;
import com.Torvald.Rand.Fudge3;
import com.Torvald.Rand.HQRNG;
import com.google.gson.JsonObject;
@@ -16,10 +17,9 @@ import java.nio.file.Files;
public class CreatureBuildFactory {
private static final String JSONPATH = "./res/raw/";
private static String jsonString = new String();
public ActorWithBody build(String jsonFileName) throws IOException, SlickException {
JsonObject jsonObj = readJson(jsonFileName);
JsonObject jsonObj = JsonGetter.readJson(JSONPATH + jsonFileName);
ActorWithBody actor = new ActorWithBody();
@@ -99,24 +99,4 @@ public class CreatureBuildFactory {
p.actorValue.set(s, jsonObject.get(s).getAsFloat());
}
}
private JsonObject readJson(String jsonFileName) throws IOException {
readJsonFileAsString(jsonFileName);
JsonParser jsonParser = new JsonParser();
JsonObject jsonObj = jsonParser.parse(jsonString).getAsJsonObject();
return jsonObj;
}
private void readJsonFileAsString(String filename) throws IOException {
Files.lines(
FileSystems.getDefault().getPath(JSONPATH + filename)
).forEach(this::strAppend);
}
private void strAppend( String s) {
jsonString += s;
}
}

View File

@@ -0,0 +1,88 @@
package com.Torvald.Terrarum.Actors.Faction;
import java.util.HashSet;
/**
* Created by minjaesong on 16-02-15.
*/
public class Faction {
private String factionName;
private HashSet<String> factionAmicable;
private HashSet<String> factionNeutral;
private HashSet<String> factionHostile;
private HashSet<String> factionFearful;
public Faction(String factionName) {
this.factionName = factionName;
factionAmicable = new HashSet<>();
factionNeutral = new HashSet<>();
factionHostile = new HashSet<>();
factionFearful = new HashSet<>();
}
public HashSet<String> getFactionFearful() {
return factionFearful;
}
public void setFactionFearful(HashSet<String> factionFearful) {
this.factionFearful = factionFearful;
}
public HashSet<String> getFactionAmicable() {
return factionAmicable;
}
public void setFactionAmicable(HashSet<String> factionAmicable) {
this.factionAmicable = factionAmicable;
}
public HashSet<String> getFactionNeutral() {
return factionNeutral;
}
public void setFactionNeutral(HashSet<String> factionNeutral) {
this.factionNeutral = factionNeutral;
}
public HashSet<String> getFactionHostile() {
return factionHostile;
}
public void setFactionHostile(HashSet<String> factionHostile) {
this.factionHostile = factionHostile;
}
public void addFactionAmicable(String faction) {
factionAmicable.add(faction);
}
public void addFactionNeutral(String faction) {
factionNeutral.add(faction);
}
public void addFactionHostile(String faction) {
factionHostile.add(faction);
}
public void addFactionFearful(String faction) {
factionFearful.add(faction);
}
public void removeFactionAmicable(String faction) {
factionAmicable.remove(faction);
}
public void removeFactionNeutral(String faction) {
factionNeutral.remove(faction);
}
public void removeFactionHostile(String faction) {
factionHostile.remove(faction);
}
public void removeFactionFearful(String faction) {
factionFearful.remove(faction);
}
}

View File

@@ -0,0 +1,38 @@
package com.Torvald.Terrarum.Actors.Faction;
import com.Torvald.JsonGetter;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.IOException;
import java.util.HashSet;
/**
* Created by minjaesong on 16-02-15.
*/
public class FactionRelatorFactory {
private static final String JSONPATH = "./res/raw/";
public Faction build(String filename) throws IOException {
JsonObject jsonObj = JsonGetter.readJson(JSONPATH + filename);
Faction factionObj = new Faction(jsonObj.get("factionname").getAsString());
jsonObj.get("factionamicable").getAsJsonArray().forEach(
s -> factionObj.addFactionAmicable(s.getAsString())
);
jsonObj.get("factionneutral").getAsJsonArray().forEach(
s -> factionObj.addFactionNeutral(s.getAsString())
);
jsonObj.get("factionhostile").getAsJsonArray().forEach(
s -> factionObj.addFactionHostile(s.getAsString())
);
jsonObj.get("factionfearful").getAsJsonArray().forEach(
s -> factionObj.addFactionFearful(s.getAsString())
);
return factionObj;
}
}

View File

@@ -0,0 +1,17 @@
package com.Torvald.Terrarum.Actors;
import com.Torvald.Terrarum.Actors.Faction.Faction;
import java.util.HashSet;
/**
* Created by minjaesong on 16-02-15.
*/
public interface Factionable {
void assignFaction(Faction f);
void unassignFaction(Faction f);
HashSet<Faction> getAssignedFactions();
void clearFactionAssigning();
}

View File

@@ -1,5 +1,6 @@
package com.Torvald.Terrarum.Actors;
import com.Torvald.Terrarum.Actors.Faction.Faction;
import com.Torvald.Terrarum.GameControl.EnumKeyFunc;
import com.Torvald.Terrarum.GameControl.KeyMap;
import com.Torvald.Terrarum.Terrarum;
@@ -12,11 +13,12 @@ import org.lwjgl.input.Controllers;
import org.newdawn.slick.*;
import java.io.Serializable;
import java.util.HashSet;
/**
* Created by minjaesong on 15-12-31.
*/
public class Player extends ActorWithBody implements Controllable, Pocketed, Serializable {
public class Player extends ActorWithBody implements Controllable, Pocketed, Factionable {
@Nullable public Controllable vehicleRiding;
@@ -48,6 +50,8 @@ public class Player extends ActorWithBody implements Controllable, Pocketed, Ser
private final float AXIS_POSMAX = 1.0f;
private final int GAMEPAD_JUMP = 5;
private HashSet<Faction> factionSet = new HashSet<>();
/**
* Creates new Player instance with empty elements (sprites, actorvalue, etc.). <br />
*
@@ -111,10 +115,8 @@ public class Player extends ActorWithBody implements Controllable, Pocketed, Ser
);
// Heading flag
if (left)
walkHeading = LEFT;
else
walkHeading = RIGHT;
if (left) walkHeading = LEFT;
else walkHeading = RIGHT;
}
}
@@ -512,4 +514,23 @@ public class Player extends ActorWithBody implements Controllable, Pocketed, Ser
return spriteGlow;
}
@Override
public void assignFaction(Faction f) {
factionSet.add(f);
}
@Override
public void unassignFaction(Faction f) {
factionSet.remove(f);
}
@Override
public HashSet<Faction> getAssignedFactions() {
return factionSet;
}
@Override
public void clearFactionAssigning() {
factionSet.clear();
}
}

View File

@@ -1,22 +1,48 @@
package com.Torvald.Terrarum.Actors;
import com.Torvald.Terrarum.Actors.Faction.Faction;
import com.Torvald.Terrarum.GameItem.InventoryItem;
import org.newdawn.slick.GameContainer;
import java.util.HashSet;
/**
* Created by minjaesong on 16-01-31.
*/
public class TestNPC extends ActorWithBody implements AIControlled, Pocketed, CanBeStoredAsItem {
public class TestNPC extends ActorWithBody implements AIControlled, Pocketed, CanBeStoredAsItem,
Factionable {
private InventoryItem itemData;
// private ActorAI ai;
private ActorInventory inventory;
private HashSet<Faction> factionSet = new HashSet<>();
@Override
public void attachAI() {
}
@Override
public void assignFaction(Faction f) {
factionSet.add(f);
}
@Override
public void unassignFaction(Faction f) {
factionSet.remove(f);
}
@Override
public HashSet<Faction> getAssignedFactions() {
return factionSet;
}
@Override
public void clearFactionAssigning() {
factionSet.clear();
}
@Override
public void attachItemData() {
itemData = new InventoryItem() {

View File

@@ -27,6 +27,7 @@ public class CommandDict {
dict.put("teleport", new TeleportPlayer());
dict.put("cat", new CatStdout());
dict.put("exportav", new ExportAV());
dict.put("gsontest", new GsonTest());
}
public static ConsoleCommand getCommand(String commandName) {

View File

@@ -0,0 +1,48 @@
package com.Torvald.Terrarum.ConsoleCommand;
import com.Torvald.Terrarum.Terrarum;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* Created by minjaesong on 16-02-10.
*/
public class GsonTest implements ConsoleCommand {
@Override
public void execute(String[] args) {
if (args.length == 2) {
JsonElement avelem = new Gson().toJsonTree(Terrarum.game.getPlayer());
String jsonString = avelem.toString();
BufferedWriter bufferedWriter;
FileWriter writer;
try {
writer = new FileWriter(Terrarum.defaultDir + "/Exports/" + args[1] + ".json");
bufferedWriter = new BufferedWriter(writer);
bufferedWriter.write(jsonString);
bufferedWriter.close();
new Echo().execute("GsonTest: exported to " + args[1] + ".json");
}
catch (IOException e) {
new Echo().execute("GsonTest: IOException raised.");
e.printStackTrace();
}
}
else {
printUsage();
}
}
@Override
public void printUsage() {
Echo echo = new Echo();
echo.execute("Usage: gsontest filename-without-extension");
}
}

View File

@@ -68,7 +68,7 @@ public class MapCamera {
private static final byte ICE_MAGICAL = 30;
private static Byte[] TILES_CONNECT_SELF = {
COPPER
COPPER
, IRON
, GOLD
, SILVER
@@ -78,7 +78,7 @@ public class MapCamera {
};
private static Byte[] TILES_DARKEN_AIR = {
STONE
STONE
, DIRT
, GRASS
, SAND
@@ -97,8 +97,10 @@ public class MapCamera {
* i.e. red hues get lost if you dive into the water
*/
private static Byte[] TILES_BLEND_MUL = {
(byte)224, (byte)225, (byte)226, (byte)227, (byte)228, (byte)229, (byte)230, (byte)231
, (byte)232, (byte)233, (byte)234, (byte)235, (byte)236, (byte)237, (byte)238, (byte)239
(byte)224, (byte)225, (byte)226, (byte)227, (byte)228, (byte)229, (byte)230, (byte)231
, (byte)232, (byte)233, (byte)234, (byte)235, (byte)236, (byte)237, (byte)238, (byte)239
, (byte)240, (byte)241, (byte)242, (byte)243, (byte)244, (byte)245, (byte)246, (byte)247
, (byte)248, (byte)249, (byte)250, (byte)251, (byte)252, (byte)253, (byte)254, (byte)255
};
/**

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

217
work_files/hut_design.tmx Normal file
View File

@@ -0,0 +1,217 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="100" height="100" tilewidth="16" tileheight="16" nextobjectid="1">
<tileset firstgid="1" name="TerrarumWall" tilewidth="16" tileheight="16" tilecount="256" columns="16">
<image source="../res/graphics/terrain/wall.png" width="256" height="256"/>
</tileset>
<tileset firstgid="257" name="TerrarumTerrain" tilewidth="16" tileheight="16" tilecount="4096" columns="16">
<image source="../res/graphics/terrain/terrainplusplus.png" width="256" height="4096"/>
</tileset>
<layer name="Wall" width="100" height="100">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer name="Terrain" width="100" height="100">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,321,0,321,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,321,0,0,0,0,0,321,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,0,0,0,0,0,0,0,0,0,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,321,0,0,0,0,0,0,0,0,0,321,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,306,306,306,306,306,306,306,306,274,274,274,274,274,274,274,274,274,274,274,274,274,306,306,306,306,306,306,306,306,306,306,306,306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
</map>