From 3192fb332b0279f8e573d04aee19c1d8fd5f4372 Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 00:52:16 +0530 Subject: [PATCH 1/6] ENH: Add user specified vocab file Based on issue #12 --- .gitignore | 1 + contextualSpellCheck/contextualSpellCheck.py | 67 +- .../tests/originaldebugFile.txt | 7842 +++++++++++++++++ contextualSpellCheck/tests/testVocab.txt | 18 + .../tests/test_contextualSpellCheck.py | 29 +- 5 files changed, 7946 insertions(+), 11 deletions(-) create mode 100644 contextualSpellCheck/tests/originaldebugFile.txt create mode 100644 contextualSpellCheck/tests/testVocab.txt diff --git a/.gitignore b/.gitignore index 1e76e62..27fa2d1 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,4 @@ dmypy.json peter's code/ *.pptx *.ipynb +contextualSpellCheck/tests/debugFile.txt diff --git a/contextualSpellCheck/contextualSpellCheck.py b/contextualSpellCheck/contextualSpellCheck.py index 17658e4..6719f32 100644 --- a/contextualSpellCheck/contextualSpellCheck.py +++ b/contextualSpellCheck/contextualSpellCheck.py @@ -19,16 +19,67 @@ class ContextualSpellCheck(object): name = "contextual spellchecker" def __init__(self, vocab_path="", debug=False, performance=False): + """To create an object for this class. It does not require any special + + Args: + vocab_path (str, optional): Vocabulary file path to be used by the model . Defaults to "". + debug (bool, optional): This help prints logs as the data flows throught the class. Defaults to False. + performance (bool, optional): This is used to print the time taken by individual steps in spell check. Defaults to False. + """ + if ( + (type(vocab_path) != type("")) + or (type(debug) != type(True)) + or (type(performance) != type(True)) + ): + raise TypeError( + "Please check datatype provided. vocab_path should be str, debug and performance should be bool" + ) + + if vocab_path != "": + try: + # First open() for user specified word addition to vocab + with open(vocab_path, encoding="utf8") as f: + # if want to remove '[unusedXX]' from vocab + # words = [line.rstrip() for line in f if not line.startswith('[unused')] + words = [line.strip() for line in f] + + # The below code adds the neccesary words like numbers/puncutations/tokenizer specific words like [PAD]/[unused0]/##M + currentPath = os.path.dirname(__file__) + vocab_path = os.path.join(currentPath, "data", "vocab.txt") + extraToken = ["[PAD]", "[UNK]", "[CLS]", "[SEP]", "[MASK]"] + words.extend(extraToken) + + with open(vocab_path, encoding="utf8") as f: + # if want to remove '[unusedXX]' from vocab + # words = [line.rstrip() for line in f if not line.startswith('[unused')] + for line in f: + extraToken = line.strip() + if extraToken.startswith("[unused"): + words.append(extraToken) + elif extraToken.startswith("##"): + words.append(extraToken) + elif len(extraToken) == 1: + words.append(extraToken) + if debug: + debugFilePath = os.path.join(currentPath, "tests", "debugFile.txt") + with open(debugFilePath, "w+") as newFile: + newFile.write("\n".join(words)) + print("Final vocab at " + debugFilePath) + + except Exception as e: + print(e) + warnings.warn("Using default vocab") + vocab_path = "" + words = [] + if vocab_path == "": currentPath = os.path.dirname(__file__) vocab_path = os.path.join(currentPath, "data/vocab.txt") - # self.nlp = spacy.load( - # "en_core_web_sm", disable=["tagger", "parser"] - # ) # using default tokeniser with NER - with open(vocab_path) as f: - # if want to remove '[unusedXX]' from vocab - # words = [line.rstrip() for line in f if not line.startswith('[unused')] - words = [line.rstrip() for line in f] + with open(vocab_path, encoding="utf8") as f: + # if want to remove '[unusedXX]' from vocab + # words = [line.rstrip() for line in f if not line.startswith('[unused')] + words = [line.strip() for line in f] + self.vocab = Vocab(strings=words) self.BertTokenizer = AutoTokenizer.from_pretrained("bert-base-cased") self.BertModel = AutoModelWithLMHead.from_pretrained("bert-base-cased") @@ -448,7 +499,7 @@ def doc_outcome_spellCheck(self, doc): doc = nlp(u"Income was $9.4 milion compared to the prior year of $2.7 milion.") print("=" * 20, "Doc Extention Test", "=" * 20) - print(doc._.outcome_spellCheck, "\n") + print(doc._.outcome_spellCheck) print(doc._.contextual_spellCheck) print(doc._.performed_spellCheck) diff --git a/contextualSpellCheck/tests/originaldebugFile.txt b/contextualSpellCheck/tests/originaldebugFile.txt new file mode 100644 index 0000000..a41ba40 --- /dev/null +++ b/contextualSpellCheck/tests/originaldebugFile.txt @@ -0,0 +1,7842 @@ +##hini +##bies +fife +rowe +rowland +posing +insurgents +shafts +lawsuits +activate +conor +inward +culturally +garlic +265 +##eering +eclectic +##hui +[PAD] +[UNK] +[CLS] +[SEP] +[MASK] +[unused0] +[unused1] +[unused2] +[unused3] +[unused4] +[unused5] +[unused6] +[unused7] +[unused8] +[unused9] +[unused10] +[unused11] +[unused12] +[unused13] +[unused14] +[unused15] +[unused16] +[unused17] +[unused18] +[unused19] +[unused20] +[unused21] +[unused22] +[unused23] +[unused24] +[unused25] +[unused26] +[unused27] +[unused28] +[unused29] +[unused30] +[unused31] +[unused32] +[unused33] +[unused34] +[unused35] +[unused36] +[unused37] +[unused38] +[unused39] +[unused40] +[unused41] +[unused42] +[unused43] +[unused44] +[unused45] +[unused46] +[unused47] +[unused48] +[unused49] +[unused50] +[unused51] +[unused52] +[unused53] +[unused54] +[unused55] +[unused56] +[unused57] +[unused58] +[unused59] +[unused60] +[unused61] +[unused62] +[unused63] +[unused64] +[unused65] +[unused66] +[unused67] +[unused68] +[unused69] +[unused70] +[unused71] +[unused72] +[unused73] +[unused74] +[unused75] +[unused76] +[unused77] +[unused78] +[unused79] +[unused80] +[unused81] +[unused82] +[unused83] +[unused84] +[unused85] +[unused86] +[unused87] +[unused88] +[unused89] +[unused90] +[unused91] +[unused92] +[unused93] +[unused94] +[unused95] +[unused96] +[unused97] +[unused98] +[unused99] +[unused100] +[unused101] +[unused102] +[unused103] +[unused104] +[unused105] +[unused106] +[unused107] +[unused108] +[unused109] +[unused110] +[unused111] +[unused112] +[unused113] +[unused114] +[unused115] +[unused116] +[unused117] +[unused118] +[unused119] +[unused120] +[unused121] +[unused122] +[unused123] +[unused124] +[unused125] +[unused126] +[unused127] +[unused128] +[unused129] +[unused130] +[unused131] +[unused132] +[unused133] +[unused134] +[unused135] +[unused136] +[unused137] +[unused138] +[unused139] +[unused140] +[unused141] +[unused142] +[unused143] +[unused144] +[unused145] +[unused146] +[unused147] +[unused148] +[unused149] +[unused150] +[unused151] +[unused152] +[unused153] +[unused154] +[unused155] +[unused156] +[unused157] +[unused158] +[unused159] +[unused160] +[unused161] +[unused162] +[unused163] +[unused164] +[unused165] +[unused166] +[unused167] +[unused168] +[unused169] +[unused170] +[unused171] +[unused172] +[unused173] +[unused174] +[unused175] +[unused176] +[unused177] +[unused178] +[unused179] +[unused180] +[unused181] +[unused182] +[unused183] +[unused184] +[unused185] +[unused186] +[unused187] +[unused188] +[unused189] +[unused190] +[unused191] +[unused192] +[unused193] +[unused194] +[unused195] +[unused196] +[unused197] +[unused198] +[unused199] +[unused200] +[unused201] +[unused202] +[unused203] +[unused204] +[unused205] +[unused206] +[unused207] +[unused208] +[unused209] +[unused210] +[unused211] +[unused212] +[unused213] +[unused214] +[unused215] +[unused216] +[unused217] +[unused218] +[unused219] +[unused220] +[unused221] +[unused222] +[unused223] +[unused224] +[unused225] +[unused226] +[unused227] +[unused228] +[unused229] +[unused230] +[unused231] +[unused232] +[unused233] +[unused234] +[unused235] +[unused236] +[unused237] +[unused238] +[unused239] +[unused240] +[unused241] +[unused242] +[unused243] +[unused244] +[unused245] +[unused246] +[unused247] +[unused248] +[unused249] +[unused250] +[unused251] +[unused252] +[unused253] +[unused254] +[unused255] +[unused256] +[unused257] +[unused258] +[unused259] +[unused260] +[unused261] +[unused262] +[unused263] +[unused264] +[unused265] +[unused266] +[unused267] +[unused268] +[unused269] +[unused270] +[unused271] +[unused272] +[unused273] +[unused274] +[unused275] +[unused276] +[unused277] +[unused278] +[unused279] +[unused280] +[unused281] +[unused282] +[unused283] +[unused284] +[unused285] +[unused286] +[unused287] +[unused288] +[unused289] +[unused290] +[unused291] +[unused292] +[unused293] +[unused294] +[unused295] +[unused296] +[unused297] +[unused298] +[unused299] +[unused300] +[unused301] +[unused302] +[unused303] +[unused304] +[unused305] +[unused306] +[unused307] +[unused308] +[unused309] +[unused310] +[unused311] +[unused312] +[unused313] +[unused314] +[unused315] +[unused316] +[unused317] +[unused318] +[unused319] +[unused320] +[unused321] +[unused322] +[unused323] +[unused324] +[unused325] +[unused326] +[unused327] +[unused328] +[unused329] +[unused330] +[unused331] +[unused332] +[unused333] +[unused334] +[unused335] +[unused336] +[unused337] +[unused338] +[unused339] +[unused340] +[unused341] +[unused342] +[unused343] +[unused344] +[unused345] +[unused346] +[unused347] +[unused348] +[unused349] +[unused350] +[unused351] +[unused352] +[unused353] +[unused354] +[unused355] +[unused356] +[unused357] +[unused358] +[unused359] +[unused360] +[unused361] +[unused362] +[unused363] +[unused364] +[unused365] +[unused366] +[unused367] +[unused368] +[unused369] +[unused370] +[unused371] +[unused372] +[unused373] +[unused374] +[unused375] +[unused376] +[unused377] +[unused378] +[unused379] +[unused380] +[unused381] +[unused382] +[unused383] +[unused384] +[unused385] +[unused386] +[unused387] +[unused388] +[unused389] +[unused390] +[unused391] +[unused392] +[unused393] +[unused394] +[unused395] +[unused396] +[unused397] +[unused398] +[unused399] +[unused400] +[unused401] +[unused402] +[unused403] +[unused404] +[unused405] +[unused406] +[unused407] +[unused408] +[unused409] +[unused410] +[unused411] +[unused412] +[unused413] +[unused414] +[unused415] +[unused416] +[unused417] +[unused418] +[unused419] +[unused420] +[unused421] +[unused422] +[unused423] +[unused424] +[unused425] +[unused426] +[unused427] +[unused428] +[unused429] +[unused430] +[unused431] +[unused432] +[unused433] +[unused434] +[unused435] +[unused436] +[unused437] +[unused438] +[unused439] +[unused440] +[unused441] +[unused442] +[unused443] +[unused444] +[unused445] +[unused446] +[unused447] +[unused448] +[unused449] +[unused450] +[unused451] +[unused452] +[unused453] +[unused454] +[unused455] +[unused456] +[unused457] +[unused458] +[unused459] +[unused460] +[unused461] +[unused462] +[unused463] +[unused464] +[unused465] +[unused466] +[unused467] +[unused468] +[unused469] +[unused470] +[unused471] +[unused472] +[unused473] +[unused474] +[unused475] +[unused476] +[unused477] +[unused478] +[unused479] +[unused480] +[unused481] +[unused482] +[unused483] +[unused484] +[unused485] +[unused486] +[unused487] +[unused488] +[unused489] +[unused490] +[unused491] +[unused492] +[unused493] +[unused494] +[unused495] +[unused496] +[unused497] +[unused498] +[unused499] +[unused500] +[unused501] +[unused502] +[unused503] +[unused504] +[unused505] +[unused506] +[unused507] +[unused508] +[unused509] +[unused510] +[unused511] +[unused512] +[unused513] +[unused514] +[unused515] +[unused516] +[unused517] +[unused518] +[unused519] +[unused520] +[unused521] +[unused522] +[unused523] +[unused524] +[unused525] +[unused526] +[unused527] +[unused528] +[unused529] +[unused530] +[unused531] +[unused532] +[unused533] +[unused534] +[unused535] +[unused536] +[unused537] +[unused538] +[unused539] +[unused540] +[unused541] +[unused542] +[unused543] +[unused544] +[unused545] +[unused546] +[unused547] +[unused548] +[unused549] +[unused550] +[unused551] +[unused552] +[unused553] +[unused554] +[unused555] +[unused556] +[unused557] +[unused558] +[unused559] +[unused560] +[unused561] +[unused562] +[unused563] +[unused564] +[unused565] +[unused566] +[unused567] +[unused568] +[unused569] +[unused570] +[unused571] +[unused572] +[unused573] +[unused574] +[unused575] +[unused576] +[unused577] +[unused578] +[unused579] +[unused580] +[unused581] +[unused582] +[unused583] +[unused584] +[unused585] +[unused586] +[unused587] +[unused588] +[unused589] +[unused590] +[unused591] +[unused592] +[unused593] +[unused594] +[unused595] +[unused596] +[unused597] +[unused598] +[unused599] +[unused600] +[unused601] +[unused602] +[unused603] +[unused604] +[unused605] +[unused606] +[unused607] +[unused608] +[unused609] +[unused610] +[unused611] +[unused612] +[unused613] +[unused614] +[unused615] +[unused616] +[unused617] +[unused618] +[unused619] +[unused620] +[unused621] +[unused622] +[unused623] +[unused624] +[unused625] +[unused626] +[unused627] +[unused628] +[unused629] +[unused630] +[unused631] +[unused632] +[unused633] +[unused634] +[unused635] +[unused636] +[unused637] +[unused638] +[unused639] +[unused640] +[unused641] +[unused642] +[unused643] +[unused644] +[unused645] +[unused646] +[unused647] +[unused648] +[unused649] +[unused650] +[unused651] +[unused652] +[unused653] +[unused654] +[unused655] +[unused656] +[unused657] +[unused658] +[unused659] +[unused660] +[unused661] +[unused662] +[unused663] +[unused664] +[unused665] +[unused666] +[unused667] +[unused668] +[unused669] +[unused670] +[unused671] +[unused672] +[unused673] +[unused674] +[unused675] +[unused676] +[unused677] +[unused678] +[unused679] +[unused680] +[unused681] +[unused682] +[unused683] +[unused684] +[unused685] +[unused686] +[unused687] +[unused688] +[unused689] +[unused690] +[unused691] +[unused692] +[unused693] +[unused694] +[unused695] +[unused696] +[unused697] +[unused698] +[unused699] +[unused700] +[unused701] +[unused702] +[unused703] +[unused704] +[unused705] +[unused706] +[unused707] +[unused708] +[unused709] +[unused710] +[unused711] +[unused712] +[unused713] +[unused714] +[unused715] +[unused716] +[unused717] +[unused718] +[unused719] +[unused720] +[unused721] +[unused722] +[unused723] +[unused724] +[unused725] +[unused726] +[unused727] +[unused728] +[unused729] +[unused730] +[unused731] +[unused732] +[unused733] +[unused734] +[unused735] +[unused736] +[unused737] +[unused738] +[unused739] +[unused740] +[unused741] +[unused742] +[unused743] +[unused744] +[unused745] +[unused746] +[unused747] +[unused748] +[unused749] +[unused750] +[unused751] +[unused752] +[unused753] +[unused754] +[unused755] +[unused756] +[unused757] +[unused758] +[unused759] +[unused760] +[unused761] +[unused762] +[unused763] +[unused764] +[unused765] +[unused766] +[unused767] +[unused768] +[unused769] +[unused770] +[unused771] +[unused772] +[unused773] +[unused774] +[unused775] +[unused776] +[unused777] +[unused778] +[unused779] +[unused780] +[unused781] +[unused782] +[unused783] +[unused784] +[unused785] +[unused786] +[unused787] +[unused788] +[unused789] +[unused790] +[unused791] +[unused792] +[unused793] +[unused794] +[unused795] +[unused796] +[unused797] +[unused798] +[unused799] +[unused800] +[unused801] +[unused802] +[unused803] +[unused804] +[unused805] +[unused806] +[unused807] +[unused808] +[unused809] +[unused810] +[unused811] +[unused812] +[unused813] +[unused814] +[unused815] +[unused816] +[unused817] +[unused818] +[unused819] +[unused820] +[unused821] +[unused822] +[unused823] +[unused824] +[unused825] +[unused826] +[unused827] +[unused828] +[unused829] +[unused830] +[unused831] +[unused832] +[unused833] +[unused834] +[unused835] +[unused836] +[unused837] +[unused838] +[unused839] +[unused840] +[unused841] +[unused842] +[unused843] +[unused844] +[unused845] +[unused846] +[unused847] +[unused848] +[unused849] +[unused850] +[unused851] +[unused852] +[unused853] +[unused854] +[unused855] +[unused856] +[unused857] +[unused858] +[unused859] +[unused860] +[unused861] +[unused862] +[unused863] +[unused864] +[unused865] +[unused866] +[unused867] +[unused868] +[unused869] +[unused870] +[unused871] +[unused872] +[unused873] +[unused874] +[unused875] +[unused876] +[unused877] +[unused878] +[unused879] +[unused880] +[unused881] +[unused882] +[unused883] +[unused884] +[unused885] +[unused886] +[unused887] +[unused888] +[unused889] +[unused890] +[unused891] +[unused892] +[unused893] +[unused894] +[unused895] +[unused896] +[unused897] +[unused898] +[unused899] +[unused900] +[unused901] +[unused902] +[unused903] +[unused904] +[unused905] +[unused906] +[unused907] +[unused908] +[unused909] +[unused910] +[unused911] +[unused912] +[unused913] +[unused914] +[unused915] +[unused916] +[unused917] +[unused918] +[unused919] +[unused920] +[unused921] +[unused922] +[unused923] +[unused924] +[unused925] +[unused926] +[unused927] +[unused928] +[unused929] +[unused930] +[unused931] +[unused932] +[unused933] +[unused934] +[unused935] +[unused936] +[unused937] +[unused938] +[unused939] +[unused940] +[unused941] +[unused942] +[unused943] +[unused944] +[unused945] +[unused946] +[unused947] +[unused948] +[unused949] +[unused950] +[unused951] +[unused952] +[unused953] +[unused954] +[unused955] +[unused956] +[unused957] +[unused958] +[unused959] +[unused960] +[unused961] +[unused962] +[unused963] +[unused964] +[unused965] +[unused966] +[unused967] +[unused968] +[unused969] +[unused970] +[unused971] +[unused972] +[unused973] +[unused974] +[unused975] +[unused976] +[unused977] +[unused978] +[unused979] +[unused980] +[unused981] +[unused982] +[unused983] +[unused984] +[unused985] +[unused986] +[unused987] +[unused988] +[unused989] +[unused990] +[unused991] +[unused992] +[unused993] +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +¡ +¢ +£ +¤ +¥ +¦ +§ +¨ +© +ª +« +¬ +® +° +± +² +³ +´ +µ +¶ +· +¹ +º +» +¼ +½ +¾ +¿ +× +ß +æ +ð +÷ +ø +þ +đ +ħ +ı +ł +ŋ +œ +ƒ +ɐ +ɑ +ɒ +ɔ +ɕ +ə +ɛ +ɡ +ɣ +ɨ +ɪ +ɫ +ɬ +ɯ +ɲ +ɴ +ɹ +ɾ +ʀ +ʁ +ʂ +ʃ +ʉ +ʊ +ʋ +ʌ +ʎ +ʐ +ʑ +ʒ +ʔ +ʰ +ʲ +ʳ +ʷ +ʸ +ʻ +ʼ +ʾ +ʿ +ˈ +ː +ˡ +ˢ +ˣ +ˤ +α +β +γ +δ +ε +ζ +η +θ +ι +κ +λ +μ +ν +ξ +ο +π +ρ +ς +σ +τ +υ +φ +χ +ψ +ω +а +б +в +г +д +е +ж +з +и +к +л +м +н +о +п +р +с +т +у +ф +х +ц +ч +ш +щ +ъ +ы +ь +э +ю +я +ђ +є +і +ј +љ +њ +ћ +ӏ +ա +բ +գ +դ +ե +թ +ի +լ +կ +հ +մ +յ +ն +ո +պ +ս +վ +տ +ր +ւ +ք +־ +א +ב +ג +ד +ה +ו +ז +ח +ט +י +ך +כ +ל +ם +מ +ן +נ +ס +ע +ף +פ +ץ +צ +ק +ר +ש +ת +، +ء +ا +ب +ة +ت +ث +ج +ح +خ +د +ذ +ر +ز +س +ش +ص +ض +ط +ظ +ع +غ +ـ +ف +ق +ك +ل +م +ن +ه +و +ى +ي +ٹ +پ +چ +ک +گ +ں +ھ +ہ +ی +ے +अ +आ +उ +ए +क +ख +ग +च +ज +ट +ड +ण +त +थ +द +ध +न +प +ब +भ +म +य +र +ल +व +श +ष +स +ह +ा +ि +ी +ो +। +॥ +ং +অ +আ +ই +উ +এ +ও +ক +খ +গ +চ +ছ +জ +ট +ড +ণ +ত +থ +দ +ধ +ন +প +ব +ভ +ম +য +র +ল +শ +ষ +স +হ +া +ি +ী +ে +க +ச +ட +த +ந +ன +ப +ம +ய +ர +ல +ள +வ +ா +ி +ு +ே +ை +ನ +ರ +ಾ +ක +ය +ර +ල +ව +ා +ก +ง +ต +ท +น +พ +ม +ย +ร +ล +ว +ส +อ +า +เ +་ +། +ག +ང +ད +ན +པ +བ +མ +འ +ར +ལ +ས +မ +ა +ბ +გ +დ +ე +ვ +თ +ი +კ +ლ +მ +ნ +ო +რ +ს +ტ +უ +ᄀ +ᄂ +ᄃ +ᄅ +ᄆ +ᄇ +ᄉ +ᄊ +ᄋ +ᄌ +ᄎ +ᄏ +ᄐ +ᄑ +ᄒ +ᅡ +ᅢ +ᅥ +ᅦ +ᅧ +ᅩ +ᅪ +ᅭ +ᅮ +ᅯ +ᅲ +ᅳ +ᅴ +ᅵ +ᆨ +ᆫ +ᆯ +ᆷ +ᆸ +ᆼ +ᴬ +ᴮ +ᴰ +ᴵ +ᴺ +ᵀ +ᵃ +ᵇ +ᵈ +ᵉ +ᵍ +ᵏ +ᵐ +ᵒ +ᵖ +ᵗ +ᵘ +ᵢ +ᵣ +ᵤ +ᵥ +ᶜ +ᶠ +‐ +‑ +‒ +– +— +― +‖ +‘ +’ +‚ +“ +” +„ +† +‡ +• +… +‰ +′ +″ +› +‿ +⁄ +⁰ +ⁱ +⁴ +⁵ +⁶ +⁷ +⁸ +⁹ +⁺ +⁻ +ⁿ +₀ +₁ +₂ +₃ +₄ +₅ +₆ +₇ +₈ +₉ +₊ +₍ +₎ +ₐ +ₑ +ₒ +ₓ +ₕ +ₖ +ₗ +ₘ +ₙ +ₚ +ₛ +ₜ +₤ +₩ +€ +₱ +₹ +ℓ +№ +ℝ +™ +⅓ +⅔ +← +↑ +→ +↓ +↔ +↦ +⇄ +⇌ +⇒ +∂ +∅ +∆ +∇ +∈ +− +∗ +∘ +√ +∞ +∧ +∨ +∩ +∪ +≈ +≡ +≤ +≥ +⊂ +⊆ +⊕ +⊗ +⋅ +─ +│ +■ +▪ +● +★ +☆ +☉ +♠ +♣ +♥ +♦ +♭ +♯ +⟨ +⟩ +ⱼ +⺩ +⺼ +⽥ +、 +。 +〈 +〉 +《 +》 +「 +」 +『 +』 +〜 +あ +い +う +え +お +か +き +く +け +こ +さ +し +す +せ +そ +た +ち +っ +つ +て +と +な +に +ぬ +ね +の +は +ひ +ふ +へ +ほ +ま +み +む +め +も +や +ゆ +よ +ら +り +る +れ +ろ +を +ん +ァ +ア +ィ +イ +ウ +ェ +エ +オ +カ +キ +ク +ケ +コ +サ +シ +ス +セ +タ +チ +ッ +ツ +テ +ト +ナ +ニ +ノ +ハ +ヒ +フ +ヘ +ホ +マ +ミ +ム +メ +モ +ャ +ュ +ョ +ラ +リ +ル +レ +ロ +ワ +ン +・ +ー +一 +三 +上 +下 +不 +世 +中 +主 +久 +之 +也 +事 +二 +五 +井 +京 +人 +亻 +仁 +介 +代 +仮 +伊 +会 +佐 +侍 +保 +信 +健 +元 +光 +八 +公 +内 +出 +分 +前 +劉 +力 +加 +勝 +北 +区 +十 +千 +南 +博 +原 +口 +古 +史 +司 +合 +吉 +同 +名 +和 +囗 +四 +国 +國 +土 +地 +坂 +城 +堂 +場 +士 +夏 +外 +大 +天 +太 +夫 +奈 +女 +子 +学 +宀 +宇 +安 +宗 +定 +宣 +宮 +家 +宿 +寺 +將 +小 +尚 +山 +岡 +島 +崎 +川 +州 +巿 +帝 +平 +年 +幸 +广 +弘 +張 +彳 +後 +御 +德 +心 +忄 +志 +忠 +愛 +成 +我 +戦 +戸 +手 +扌 +政 +文 +新 +方 +日 +明 +星 +春 +昭 +智 +曲 +書 +月 +有 +朝 +木 +本 +李 +村 +東 +松 +林 +森 +楊 +樹 +橋 +歌 +止 +正 +武 +比 +氏 +民 +水 +氵 +氷 +永 +江 +沢 +河 +治 +法 +海 +清 +漢 +瀬 +火 +版 +犬 +王 +生 +田 +男 +疒 +発 +白 +的 +皇 +目 +相 +省 +真 +石 +示 +社 +神 +福 +禾 +秀 +秋 +空 +立 +章 +竹 +糹 +美 +義 +耳 +良 +艹 +花 +英 +華 +葉 +藤 +行 +街 +西 +見 +訁 +語 +谷 +貝 +貴 +車 +軍 +辶 +道 +郎 +郡 +部 +都 +里 +野 +金 +鈴 +镇 +長 +門 +間 +阝 +阿 +陳 +陽 +雄 +青 +面 +風 +食 +香 +馬 +高 +龍 +龸 +fi +fl +! +( +) +, +- +. +/ +: +? +~ +##s +##a +##e +##i +##ing +##n +##o +##d +##ed +##r +##y +##t +##er +##ly +##l +##m +##u +##es +##h +##on +##k +##us +##c +##g +##an +##p +##en +##in +##man +##al +##ia +##2 +##z +##is +##1 +##b +##3 +##ra +##na +##ers +##f +##4 +##le +##6 +##7 +##ic +##x +##v +##te +##8 +##5 +##ne +##ie +##ton +##9 +##0 +##ta +##th +##la +##ness +##ch +##um +##da +##ry +##w +##ma +##rs +##el +##re +##os +##ar +##ka +##ist +##ian +##or +##ism +##ling +##ity +##as +##ley +##ted +##ng +##ville +##able +##ri +##ies +##land +##ur +##ya +##ine +##de +##ki +##ts +##ro +##less +##ey +##ion +##ha +##am +##ter +##ge +##ll +##se +##st +##ation +##nt +##son +##et +##ce +##to +##ting +##ble +##ke +##ni +##j +##tion +##ham +##ive +##do +##ca +##men +##ized +##ous +##va +##id +##co +##ck +##ns +##no +##ga +##li +##ment +##ba +##ner +##ko +##ate +##io +##wood +##led +##ty +##ve +##sa +##by +##ier +##ti +##field +##ford +##ja +##ler +##ally +##ina +##ization +##ful +##go +##il +##at +##hi +##berg +##der +##sh +##rd +##lin +##lo +##ot +##za +##q +##me +##ius +##line +##den +##it +##wa +##ad +##ite +##que +##ard +##les +##ff +##tor +##age +##di +##ir +##mi +##est +##ria +##ze +##well +##ated +##ee +##ah +##ji +##ov +##pa +##ish +##ps +##tes +##lla +##way +##house +##tic +##ger +##un +##ant +##burg +##ura +##town +##ding +##tte +##ping +##ize +##ay +##ging +##ol +##ss +##ent +##tt +##be +##ky +##ak +##ial +##han +##per +##nd +##ls +##ai +##au +##ny +##ring +##ut +##bury +##kin +##ron +##head +##ow +##ium +##mer +##pe +##sen +##ong +##ised +##bo +##ds +##ists +##ries +##dy +##ana +##worth +##ide +##ea +##ms +##nes +##don +##ku +##gan +##mo +##pur +##ul +##si +##rt +##ell +##om +##he +##ure +##ara +##che +##ney +##zed +##chi +##ik +##ker +##ski +##ini +##ran +##tone +##ica +##jo +##ise +##ung +##ning +##red +##ux +##gh +##hip +##gs +##dale +##bi +##one +##ons +##ary +##ang +##ue +##cy +##ors +##ped +##ber +##and +##ore +##ks +##im +##ded +##vi +##ino +##tz +##tan +##lan +##mann +##tus +##zi +##out +##ating +##gi +##gate +##sky +##water +##her +##nce +##bs +##ek +##tta +##back +##more +##ged +##tive +##izing +##ola +##yn +##res +##idae +##cing +##ens +##ii +##des +##cs +##shi +##sis +##work +##ft +##nia +##van +##lle +##ster +##board +##up +##zer +##gy +##ver +##ac +##ious +##bly +##ied +##su +##vin +##bridge +##ld +##port +##ram +##ities +##ving +##je +##logy +##sm +##tra +##so +##sy +##ora +##ten +##istic +##ics +##ok +##ming +##ett +##ily +##ita +##tors +##ct +##ice +##lia +##em +##isation +##ance +##rin +##ye +##kar +##ened +##ae +##ua +##sk +##ano +##vo +##zing +##ach +##ev +##ology +##ud +##ata +##ick +##ho +##ese +##ru +##rum +##rn +##king +##gar +##zo +##ered +##lis +##dae +##rian +##po +##lli +##ci +##era +##gen +##tti +##sed +##ris +##ves +##ans +##uk +##oy +##hu +##fa +##ible +##ich +##yan +##tory +##ians +##ula +##ins +##ani +##sson +##lt +##hill +##ova +##ston +##ao +##light +##ou +##net +##llo +##ved +##wick +##ned +##nan +##ane +##off +##dra +##ys +##ric +##time +##hn +##ery +##tis +##hl +##pers +##ros +##op +##side +##ties +##rie +##sha +##mm +##ball +##ren +##lus +##cia +##ening +##ique +##ei +##shire +##ock +##ire +##gon +##wan +##cher +##ical +##let +##cha +##fer +##ken +##fish +##ction +##ika +##tar +##med +##ette +##mus +##ites +##tin +##lu +##ix +##ward +##dar +##nts +##yo +##py +##ched +##bach +##down +##fully +##mic +##od +##kov +##ivity +##° +##sing +##ters +##len +##ified +##lon +##oon +##mes +##over +##dan +##mar +##ington +##ona +##ere +##cus +##ab +##lock +##ira +##hs +##vic +##ala +##tre +##ular +##ral +##rus +##ias +##sey +##fe +##wn +##ess +##ew +##dor +##ering +##sley +##ig +##ability +##lar +##burn +##rk +##my +##nie +##ser +##heim +##ware +##ama +##ative +##pin +##hr +##all +##ain +##ked +##feld +##ration +##ven +##our +##ments +##har +##ras +##ena +##ban +##pi +##mon +##₂ +##ably +##bar +##nik +##low +##bed +##bus +##bert +##ress +##tha +##ska +##ches +##point +##jan +##ella +##bin +##art +##ada +##ges +##ching +##ets +##ph +##ome +##sia +##lay +##ari +##ag +##ions +##yl +##ates +##las +##ida +##tu +##ax +##non +##we +##ord +##bility +##use +##du +##bu +##maker +##ses +##view +##mate +##ec +##ill +##stein +##rat +##ings +##ides +##ene +##und +##og +##lands +##book +##chen +##ologist +##con +##bel +##ack +##master +##nic +##iya +##din +##mp +##ert +##hon +##lie +##ify +##box +##eo +##ual +##san +##osa +##itz +##ator +##hal +##fi +##das +##00 +##ulated +##oe +##uous +##ith +##nda +##nk +##ugh +##nis +##aki +##ath +##bird +##com +##ien +##hood +##bad +##war +##ification +##dia +##via +##xi +##els +##zar +##mal +##ceae +##hed +##gue +##tal +##nell +##zy +##cker +##ju +##kan +##ovic +##wi +##sta +##tv +##lly +##stone +##ose +##urs +##cies +##del +##rated +##iel +##zation +##tto +##tions +##tle +##cal +##bank +##dal +##ule +##oid +##works +##nation +##wing +##ap +##ws +##mas +##can +##sville +##ez +##gle +##ising +##sco +##ado +##illa +##pp +##ncy +##ridge +##ray +##ale +##ile +##cc +##rio +##uri +##away +##ulation +##tie +##nna +##una +##dom +##oo +##ima +##tein +##ces +##oma +##wall +##mont +##lyn +##ade +##ship +##yne +##kes +##shan +##orn +##gal +##sburg +##brook +##bling +##iro +##pm +##pan +##zu +##berry +##horn +##als +##zhou +##cio +##une +##bc +##ids +##hus +##tel +##mie +##list +##phone +##ulate +##ography +##ole +##hall +##cho +##ree +##ensis +##inger +##esh +##room +##ito +##iness +##logical +##car +##min +##kh +##bra +##ori +##long +##ois +##izes +##stic +##oc +##nne +##ological +##mia +##win +##nte +##ence +##if +##iers +##yi +##cht +##woman +##val +##gne +##ui +##nus +##tine +##mel +##eau +##hen +##nen +##tas +##borough +##eon +##ode +##ory +##fl +##day +##а +##bal +##die +##lf +##fire +##lam +##born +##ees +##sar +##ex +##bb +##и +##fs +##wski +##af +##like +##dle +##fold +##pes +##aw +##usa +##rah +##lic +##craft +##ute +##tsu +##zen +##gia +##oa +##cion +##oi +##ati +##fied +##iest +##aro +##bing +##los +##ille +##illo +##end +##hurst +##yu +##dis +##row +##cast +##yer +##hy +##abad +##lee +##ela +##ines +##ough +##eus +##cks +##hin +##ben +##ato +##rg +##ero +##lor +##ami +##tch +##mark +##dine +##hart +##nn +##ave +##oni +##² +##ations +##tia +##cation +##logist +##ace +##ios +##vy +##var +##the +##igan +##tian +##10 +##fication +##ple +##ller +##awa +##cu +##rm +##uch +##table +##oli +##lessly +##ulating +##ison +##hai +##az +##uro +##aria +##cted +##sion +##iz +##lot +##ques +##lled +##pot +##eck +##sc +##ase +##enberg +##eth +##ht +##oke +##aa +##load +##oria +##hara +##boy +##wind +##eh +##world +##tones +##eri +##try +##ural +##rch +##nberg +##nian +##ats +##kai +##weight +##ents +##wald +##piece +##mba +##air +##ean +##lings +##nu +##mine +##eur +##gie +##ture +##sel +##of +##zes +##ico +##fu +##cat +##rily +##bie +##rick +##bee +##ult +##ichi +##fc +##rra +##bble +##vis +##met +##20 +##ants +##nger +##sse +##iana +##gio +##av +##oto +##mond +##iva +##kers +##power +##gent +##rine +##pped +##lene +##ali +##nin +##hole +##ssa +##sin +##eer +##sman +##ip +##card +##gin +##gled +##nder +##ort +##dorf +##zon +##kie +##bia +##eria +##yama +##old +##₃ +##sch +##ulus +##oh +##bourne +##ox +##ient +##ann +##gated +##nas +##ars +##ancy +##rate +##och +##tum +##dian +##kel +##sberg +##chy +##rton +##ı +##ila +##bon +##sie +##nsis +##plane +##borg +##wyn +##hand +##hard +##ifying +##ced +##ern +##rina +##most +##nar +##dge +##ash +##pen +##₁ +##wara +##cting +##nel +##pel +##rc +##aka +##ency +##ista +##ops +##dt +##eda +##hir +##boat +##lies +##ried +##sal +##fy +##nal +##zzo +##vas +##hing +##ass +##enburg +##are +##atic +##tter +##ub +##aries +##makers +##rst +##eim +##rne +##een +##nor +##ils +##wo +##ont +##ured +##outs +##rr +##face +##rad +##llen +##ote +##aya +##rl +##gu +##yang +##arian +##pus +##iah +##backs +##shing +##uring +##vre +##ander +##rry +##uma +##sworth +##tate +##ele +##dos +##nc +##mu +##rov +##ovich +##flow +##ib +##nse +##hot +##gos +##gus +##oka +##onic +##50 +##ein +##nta +##own +##ther +##tric +##wich +##vey +##vable +##zio +##gel +##wen +##mc +##ava +##itt +##onia +##ffer +##ail +##urg +##tation +##quin +##12 +##gation +##yr +##nate +##erly +##graphy +##gging +##metric +##making +##gas +##bro +##lman +##zel +##hold +##matic +##quet +##osis +##dell +##ude +##iko +##nch +##bes +##cut +##boro +##stan +##hat +##umi +##lls +##uck +##band +##gun +##lines +##40 +##sive +##⁺ +##beck +##ination +##its +##nica +##rna +##front +##lio +##dium +##bbled +##bor +##grave +##sts +##yle +##iv +##gic +##rley +##ots +##ete +##zia +##ef +##rf +##birds +##ield +##olo +##kal +##lers +##ister +##ashi +##cated +##uted +##eta +##vich +##lum +##pal +##ante +##city +##hia +##aj +##cent +##tting +##fort +##rand +##heads +##itive +##pies +##hausen +##foot +##play +##kawa +##ises +##wr +##eed +##uer +##ury +##sp +##keeper +##lling +##gram +##tos +##cott +##nam +##iate +##rich +##zong +##rol +##eng +##tro +##cos +##sus +##uta +##zz +##lice +##roy +##ania +##rius +##cial +##rose +##rous +##inal +##ished +##ctic +##vik +##rta +##gger +##eva +##tree +##iga +##mbo +##elli +##iff +##oning +##ders +##yar +##oda +##court +##inus +##gard +##ously +##nova +##lets +##set +##ibility +##ret +##vie +##zan +##ste +##wal +##garh +##lation +##hra +##bles +##gt +##tc +##nick +##gren +##bre +##bic +##ams +##lish +##leigh +##hler +##idge +##dr +##nde +##rda +##rade +##nto +##ement +##wl +##ool +##ience +##lk +##ep +##ution +##date +##page +##ographic +##itis +##½ +##kas +##ische +##lm +##stown +##aux +##mere +##eu +##link +##tina +##ead +##lated +##wer +##hardt +##lina +##zzi +##late +##nga +##ake +##ido +##haus +##anda +##lal +##uan +##gg +##type +##pt +##trom +##hman +##ght +##used +##elia +##eg +##alis +##ages +##uded +##ppa +##lton +##cock +##worthy +##fall +##yon +##hine +##vers +##igo +##ways +##some +##atory +##tered +##uda +##rrell +##ame +##bby +##fest +##ast +##ented +##ided +##fying +##star +##ost +##rod +##uru +##yard +##owing +##dd +##30 +##ifies +##ying +##combe +##о +##fly +##flower +##ه +##tail +##nese +##nz +##form +##uc +##hian +##fies +##raj +##xton +##hm +##uki +##dley +##shu +##haw +##icus +##wise +##isa +##kis +##zie +##eld +##lp +##urn +##pu +##lov +##uth +##cle +##kins +##aid +##jon +##him +##rre +##nagar +##pling +##lier +##vier +##mouth +##pf +##top +##how +##graph +##ssen +##bone +##dling +##ime +##lah +##park +##bil +##sby +##bat +##rial +##cian +##hoe +##ي +##usion +##mir +##uation +##lby +##oll +##rman +##ott +##11 +##holder +##lake +##rp +##sl +##rer +##ema +##ively +##vor +##culture +##tead +##oth +##ttes +##hof +##oro +##tics +##α +##rid +##iard +##tera +##sies +##tly +##aan +##jin +##iss +##ear +##dock +##haven +##tical +##ook +##rata +##uit +##rama +##bilities +##hua +##cci +##dad +##sted +##qi +##nted +##ija +##liga +##croft +##ede +##kovic +##rica +##aire +##shed +##pie +##stock +##mma +##vil +##ncies +##eous +##rion +##graphic +##elle +##inate +##rit +##tled +##xia +##ttered +##dic +##eum +##force +##key +##hey +##yam +##pping +##hol +##chan +##berger +##nier +##fo +##lson +##cture +##baum +##ures +##mb +##nium +##law +##hd +##has +##bol +##iving +##ddy +##far +##lav +##rai +##lip +##ically +##hos +##tech +##erty +##pc +##pole +##base +##rist +##path +##iated +##tling +##vs +##oss +##owed +##nton +##rail +##18 +##eter +##fan +##sdale +##ility +##lda +##mans +##fields +##avia +##take +##rating +##rb +##pass +##itated +##rey +##lian +##uchi +##thi +##inas +##hale +##girl +##owski +##kha +##rth +##encies +##boards +##nah +##ctive +##tile +##е +##ος +##nco +##tron +##moto +##pace +##vent +##bbling +##ello +##tty +##nett +##witz +##iating +##rz +##ffin +##ffed +##د +##ache +##asia +##iting +##ии +##mates +##quent +##ond +##cular +##ouse +##tai +##kowski +##pad +##ipe +##cin +##nos +##tam +##nge +##lc +##tton +##ndo +##nstein +##bound +##aking +##burgh +##bbed +##quest +##life +##lius +##mos +##run +##lous +##ingen +##qui +##nson +##wed +##eet +##rik +##gged +##ows +##cup +##nies +##atus +##ais +##bian +##rew +##sters +##orted +##glass +##forth +##mis +##ride +##physics +##frame +##iidae +##itor +##houses +##iano +##cas +##nding +##strom +##hes +##antly +##ogy +##kos +##kka +##acy +##chel +##plate +##aru +##lights +##iri +##uka +##ntal +##jet +##written +##gers +##rity +##ente +##sca +##ingly +##hana +##oft +##ues +##mmer +##sai +##inian +##inated +##uke +##bos +##pton +##uli +##night +##chemical +##kill +##eb +##eal +##tag +##vsky +##bay +##lit +##ن +##ug +##yk +##ril +##ech +##right +##sfield +##rky +##zone +##udge +##vel +##lain +##jk +##writer +##hel +##ffe +##vn +##onal +##sto +##turing +##hawks +##code +##16 +##wu +##bahn +##ovo +##hic +##15 +##mura +##verse +##anza +##bag +##jar +##60 +##ndi +##uf +##aga +##had +##azi +##nko +##olved +##nr +##ressed +##lent +##19 +##sd +##uto +##dog +##sten +##ν +##chev +##cope +##tted +##chus +##ович +##dre +##ulous +##gn +##nath +##qua +##bler +##0s +##rell +##tated +##rier +##duction +##hc +##rator +##np +##evich +##wig +##cate +##iling +##uel +##coe +##fin +##care +##yas +##grad +##ules +##bit +##ffy +##abe +##rift +##imo +##pop +##tr +##orf +##yre +##ground +##oko +##hor +##hima +##uga +##mity +##tium +##iver +##dc +##inae +##ø +##rea +##dh +##ob +##ingham +##uts +##tern +##uated +##dent +##cross +##dicate +##lder +##oat +##genic +##oor +##eno +##itating +##gr +##wc +##gins +##etic +##coat +##wave +##etta +##print +##rak +##bl +##mons +##nard +##kara +##cine +##rel +##17 +##hit +##ony +##aging +##wang +##ores +##amp +##dating +##sti +##cts +##game +##rae +##ngo +##cca +##rable +##unt +##static +##wear +##nov +##lana +##ense +##32 +##eman +##fm +##rana +##zal +##nay +##cre +##zers +##eration +##ctor +##bine +##tist +##oured +##nti +##piration +##asa +##nza +##ption +##yana +##unk +##rek +##ucci +##ario +##sat +##erated +##р +##mers +##suke +##pool +##vd +##vert +##cellular +##nant +##ologists +##hore +##xie +##rock +##ners +##stad +##guchi +##thy +##lem +##14 +##omy +##vate +##gating +##jee +##media +##idal +##hora +##gna +##lining +##rgan +##₄ +##ark +##bius +##gong +##uz +##sian +##not +##group +##bid +##sos +##iger +##rdi +##vision +##oids +##dden +##₀ +##sz +##cer +##walk +##gles +##dam +##13 +##ood +##ske +##ر +##hun +##eiro +##outh +##zin +##ono +##adi +##aneous +##bers +##oot +##bbs +##chin +##yuan +##nya +##yev +##yte +##gies +##vid +##zzled +##yx +##rington +##arium +##ota +##iser +##ibly +##lau +##pd +##ieu +##iary +##llar +##athy +##sea +##was +##iche +##ager +##bell +##ike +##ntes +##aurus +##core +##jack +##osh +##uddin +##erie +##jas +##tee +##tock +##cky +##isi +##gler +##sum +##shin +##я +##ailed +##ivating +##nae +##tism +##unce +##rdy +##21 +##loaded +##books +##iki +##vale +##geny +##ße +##cratic +##dha +##emann +##yah +##athlon +##itate +##ited +##emia +##tier +##eis +##rong +##pate +##atics +##rove +##rice +##gre +##dus +##moor +##rite +##izer +##ope +##gra +##zzle +##oom +##sford +##dham +##sper +##ndra +##dong +##tani +##rix +##eye +##oping +##cap +##polis +##gis +##bir +##tad +##rted +##evic +##rita +##sque +##mobile +##rson +##sity +##25 +##von +##oney +##holders +##oned +##lag +##puram +##rds +##rino +##eding +##por +##rma +##cite +##max +##uss +##enko +##icated +##hrer +##fare +##rant +##hoff +##ume +##taking +##gence +##yman +##80 +##hya +##lde +##iu +##phic +##ares +##ested +##vina +##cake +##lim +##cards +##cene +##shaw +##agh +##tering +##ych +##hawk +##hang +##cki +##lund +##ffen +##xy +##weed +##rane +##nock +##ulata +##sbury +##chs +##vian +##psy +##morphic +##ull +##ifier +##pr +##uca +##³ +##cliffe +##sser +##ards +##yde +##pis +##48 +##cked +##ffle +##ryn +##get +##oz +##pol +##using +##ums +##oga +##aine +##screen +##wes +##lined +##gc +##ι +##text +##tary +##anga +##hell +##oya +##rden +##tain +##cating +##onne +##gb +##tase +##comb +##ddin +##neck +##yna +##itic +##truct +##jak +##etti +##keeping +##rland +##quist +##hiro +##lich +##aceae +##elo +##word +##edes +##nac +##wart +##gee +##nds +##igh +##cise +##case +##bot +##dies +##lik +##ital +##guard +##psis +##iba +##lift +##xt +##dah +##wy +##iful +##rized +##unda +##hari +##cious +##name +##int +##iled +##hop +##bis +##gling +##ection +##tley +##kumar +##iman +##gible +##balls +##ان +##ific +##rative +##iq +##uity +##tem +##ught +##ending +##mbe +##itation +##writing +##kur +##loading +##rgo +##sonic +##oop +##eni +##chal +##llah +##mler +##lity +##osing +##100 +##erson +##pper +##ili +##brush +##acle +##ady +##zaki +##ulin +##bolic +##aged +##grapher +##vial +##hwa +##ades +##nous +##itude +##icz +##xa +##ider +##erman +##kell +##uled +##eve +##eres +##rner +##tok +##color +##dly +##ssi +##ometer +##lington +##tility +##adt +##logists +##ight +##rri +##phs +##riation +##rish +##put +##tow +##uce +##rium +##jana +##rring +##tadt +##elin +##kova +##ł +##kind +##heimer +##24 +##gaard +##oran +##ulo +##olin +##ype +##watch +##ylus +##jah +##mmy +##holm +##tner +##tri +##avi +##irs +##mat +##jit +##eto +##proof +##act +##ories +##bow +##fted +##uration +##ators +##dp +##rro +##coming +##mot +##db +##fen +##vant +##н +##cles +##iation +##lion +##ssing +##ulates +##dina +##grant +##rop +##rca +##iom +##leader +##iae +##esis +##rsten +##sb +##cens +##eka +##llan +##shot +##uman +##cic +##ald +##qa +##xed +##eded +##any +##phones +##uo +##kle +##nine +##ᵢ +##ₙ +##dhi +##estinal +##oso +##rno +##uche +##lma +##rva +##sable +##vocation +##posed +##cturing +##tres +##rce +##num +##bey +##inating +##ih +##yoshi +##imeter +##bei +##shore +##iable +##leaf +##lace +##oud +##gned +##swell +##sms +##uil +##osition +##ckle +##itzer +##ов +##leton +##pine +##minate +##tland +##tore +##bt +##eca +##nched +##borne +##won +##ional +##ads +##entation +##sible +##ß +##pia +##imus +##22 +##att +##ndon +##child +##lica +##cera +##selle +##par +##plex +##tooth +##gny +##rlin +##cured +##jima +##rter +##oic +##dl +##olate +##iously +##ة +##escu +##zhi +##dron +##beat +##bana +##sol +##cape +##hil +##boats +##bbe +##olar +##35 +##xide +##uni +##pac +##ease +##omo +##vet +##aud +##iques +##dded +##endra +##hala +##morphism +##cier +##yra +##iso +##ttering +##sic +##ored +##ς +##urt +##cats +##sher +##xing +##active +##aca +##pala +##tl +##kon +##west +##kk +##mble +##yuki +##cko +##ln +##grass +##gua +##fr +##ław +##pas +##zawa +##vr +##storm +##vu +##sun +##rte +##aba +##lea +##hammer +##neer +##uba +##see +##cken +##henko +##lai +##now +##qing +##gill +##jun +##cd +##ioned +##cote +##hips +##pressed +##cology +##enia +##erry +##nat +##islav +##ink +##70 +##wei +##odes +##rar +##rked +##lein +##kled +##vos +##mith +##на +##cke +##thus +##cula +##inski +##br +##post +##ask +##uter +##yya +##mbre +##ntial +##mill +##amine +##while +##jos +##ldon +##chman +##isch +##45 +##ust +##ml +##ision +##lord +##ishly +##rks +##holes +##hong +##wife +##jer +##glia +##uin +##rim +##fighter +##gonal +##orescence +##wari +##due +##elt +##dled +##mount +##osi +##lat +##mme +##akes +##etto +##hetic +##urus +##atter +##station +##sef +##press +##acious +##icient +##mur +##gil +##anne +##xes +##llus +##pathy +##hue +##eit +##bate +##lore +##itch +##hea +##phobic +##vati +##sport +##dation +##eyer +##otic +##udy +##kari +##sier +##sei +##gor +##isman +##kling +##ego +##utz +##chule +##nesian +##iol +##market +##xin +##egan +##chet +##user +##ddle +##illon +##xx +##finger +##ulator +##wire +##mour +##atin +##chrome +##ester +##rates +##yria +##llation +##tom +##ulu +##uze +##raz +##ako +##lev +##gau +##bourg +##lles +##rya +##nius +##fight +##hak +##cl +##nham +##iac +##lab +##rber +##sner +##isto +##aran +##mt +##tana +##acies +##atz +##gement +##thest +##ej +##fusion +##orum +##stra +##rred +##vine +##hini +##bies +##eering +##hui +##kee +##nl +##aus +##dition +##notes +##iology +##mology +##isk +##zione +##illy +##naire +##sler +##arts +##imated +##uate +##wley +##ject +##dio +##ods +##ricted +##eti +##ntly +##lane +##ggio +##torm +##oting +##liner +##ush +##ooped +##lage +##rdo +##yen +##zak +##pose +##tur +##enity +##gat +##bara +##zza +##kaya +##raphic +##zam +##ogical +##phine +##fide +##thing +##cars +##ptic +##ibe +##chu +##sio +##aly +##rano +##tious +##oman +##pire +##dable +##aq +##dder +##ologies +##rone +##mani +##rge +##eli +##uting +##cao +##agawa +##yed +##lard +##under +##zzling +##86 +##lena +##llum +##phon +##anus +##lb +##yler +##eux +##olis +##astic +##gina +##chia +##obe +##insky +##lett +##lean +##lves +##therapy +##tery +##hire +##nca +##nical +##bet +##icles +##ulia +##mian +##tial +##rle +##erence +##omi +##fulness +##sas +##rwood +##liness +##df +##42 +##xley +##ysis +##ffa +##berries +##athic +##lr +##ivo +##erton +##founded +##ulf +##sham +##tries +##tania +##uron +##nology +##mata +##hee +##fle +##udi +##cheng +##achi +##ental +##aves +##90 +##twined +##cino +##64 +##yal +##bial +##ucible +##ples +##bina +##rned +##auer +##kia +##ogan +##pled +##kim +##lani +##ael +##elled +##onate +##feit +##aur +##cter +##tour +##oir +##rain +##cable +##boarding +##tment +##eville +##gawa +##dry +##rly +##log +##berto +##llin +##breaker +##issa +##rts +##ssel +##dler +##oration +##cule +##ulously +##pura +##gens +##rricular +##oris +##tm +##ytic +##iere +##zine +##ication +##mins +##gold +##uid +##lid +##aby +##ined +##phy +##uld +##liest +##owa +##lom +##eira +##titled +##ggs +##otti +##roud +##iza +##bron +##sr +##diment +##dai +##stick +##wicz +##acio +##asi +##eme +##mail +##working +##smith +##cco +##enbach +##icular +##eson +##stream +##tya +##uber +##factory +##cea +##bard +##ahu +##ivate +##hesion +##46 +##rangle +##dridge +##31 +##tral +##imate +##dington +##folding +##nesia +##oof +##ppe +##stand +##grove +##manship +##rup +##stituting +##carriage +##lston +##stadt +##wai +##zier +##bria +##plication +##nged +##sam +##belt +##eem +##made +##pro +##nent +##rani +##hesive +##sko +##lts +##lidae +##vation +##gp +##than +##erus +##logies +##36 +##rance +##anto +##kr +##vary +##iter +##pired +##avian +##vili +##vir +##eral +##sett +##aling +##biology +##gm +##orus +##bella +##rot +##folia +##llis +##rom +##ount +##wd +##rocity +##acion +##urne +##sor +##icide +##sty +##ilised +##org +##wana +##ghton +##rcle +##mona +##mber +##jiang +##vance +##rogate +##dman +##tenberg +##ffs +##ishment +##ddling +##kor +##lium +##ove +##enstein +##inen +##ones +##uti +##vington +##rella +##ishing +##ossa +##chers +##tung +##phi +##tidae +##cade +##drum +##riz +##hul +##pha +##bino +##resh +##cp +##wine +##23 +##vah +##lter +##riding +##´s +##ieri +##oku +##ended +##hampton +##jong +##marine +##ivated +##ovsky +##aea +##ivist +##verance +##brate +##ctions +##usions +##34 +##38 +##omic +##rling +##ange +##horpe +##inations +##roving +##eptive +##moral +##tale +##apa +##pio +##note +##tails +##bas +##nea +##ply +##udes +##pile +##words +##roup +##dm +##cede +##mora +##yt +##rut +##erate +##lva +##ulton +##lini +##rrie +##fighting +##icum +##dim +##llon +##ulla +##م +##dro +##quel +##test +##51 +##hiko +##aver +##ghan +##oms +##sho +##saurus +##lating +##wny +##ind +##gall +##ups +##hp +##nall +##kra +##53 +##rgos +##tose +##km +##turn +##chang +##mina +##athing +##kley +##izations +##aint +##pet +##hers +##kus +##sant +##hend +##mart +##eley +##ilo +##edd +##ucher +##nging +##heart +##rka +##rsa +##weiler +##unced +##33 +##aring +##thorpe +##rave +##28 +##bered +##bba +##eric +##arth +##kko +##bush +##aton +##hma +##esa +##centric +##kti +##aith +##ect +##script +##ivism +##erland +##rou +##lco +##xon +##oes +##ever +##bery +##khar +##tet +##stle +##wide +##ogist +##tham +##fp +##taff +##− +##isms +##yp +##rse +##nikov +##js +##uaries +##frey +##amo +##llet +##opsis +##ctric +##47 +##rini +##rified +##charged +##aker +##iform +##rgy +##tius +##nburg +##евич +##rac +##bha +##hering +##tures +##eber +##zow +##ctus +##aco +##lander +##chfield +##forms +##icides +##lence +##tica +##chment +##lization +##aja +##ganj +##sari +##church +##sf +##fia +##ncia +##ition +##nity +##worm +##ggy +##voking +##lite +##grate +##nets +##alia +##rent +##nitz +##pts +##pta +##bolt +##pheus +##onale +##meter +##placed +##imating +##sche +##ogo +##mony +##gum +##real +##eers +##gam +##elles +##vat +##trick +##uge +##hta +##jn +##race +##27 +##slin +##uve +##mac +##ays +##oja +##т +##wheel +##laya +##mics +##pods +##lberg +##ennial +##mit +##44 +##rigues +##zquez +##tman +##roid +##relli +##ours +##hdi +##nable +##gues +##zuka +##gley +##ła +##agi +##mx +##cis +##rogen +##vot +##ulsive +##krishna +##horse +##gga +##economic +##mun +##eves +##thic +##uj +##otto +##utable +##lei +##space +##aris +##vern +##mento +##alo +##skaya +##eses +##kyu +##lance +##oslav +##urable +##tagram +##aman +##cloth +##tite +##jou +##linger +##tze +##hism +##inn +##leg +##tek +##uttered +##igraphy +##istan +##firmed +##rien +##yes +##nington +##eran +##cking +##inging +##crat +##typic +##dit +##runner +##tower +##bbing +##inator +##lford +##oki +##zoo +##lto +##sov +##cript +##codes +##emi +##ungen +##bled +##giri +##ciation +##ropolis +##ales +##pid +##pit +##yse +##aha +##erin +##gl +##paper +##free +##physical +##sław +##inia +##lce +##ulsion +##ryl +##drich +##kot +##mple +##sons +##virus +##75 +##tized +##mind +##iaceae +##uet +##thermal +##lbert +##oese +##ssler +##hom +##tangle +##lmer +##cie +##holding +##hoot +##redo +##mite +##ango +##crats +##wice +##ː +##ntation +##reus +##lak +##fine +##oked +##block +##tology +##ия +##vyn +##cycle +##isse +##inge +##39 +##nni +##ault +##fell +##farlane +##olic +##ices +##rians +##brand +##sume +##arns +##icing +##oche +##eving +##oise +##tell +##hani +##mada +##ctable +##enham +##chio +##neo +##dak +##ept +##kit +##kir +##41 +##clusive +##hh +##romatic +##clave +##train +##essed +##castle +##drive +##ifice +##film +##buro +##ratic +##ل +##dote +##body +##ago +##finder +##llie +##bh +##oun +##sul +##ality +##bri +##genesis +##mist +##ь +##lou +##wives +##zyn +##bation +##ign +##43 +##rika +##ifer +##ading +##iec +##region +##kker +##giving +##schen +##rase +##cano +##apple +##gai +##git +##nst +##stor +##thed +##sau +##kovsky +##elman +##26 +##door +##sell +##orne +##nated +##lz +##cend +##arty +##sphere +##wala +##oge +##cure +##break +##ilde +##haling +##fixed +##unas +##ocation +##lkirk +##elling +##ogen +##к +##iferous +##mbled +##hita +##inda +##zee +##eke +##yla +##pack +##powering +##skie +##berman +##utus +##ining +##tlement +##nish +##zuki +##flies +##isha +##eller +##nary +##nee +##gist +##ape +##dick +##rera +##nut +##pment +##anu +##isson +##amy +##ckman +##zell +##55 +##mable +##thal +##drick +##vira +##01 +##rting +##unciation +##♭ +##kki +##icia +##lusion +##usia +##hesis +##pressing +##leen +##uating +##sso +##thes +##eras +##gol +##kow +##asian +##good +##zano +##iculate +##his +##oco +##alle +##stered +##tters +##grade +##oped +##rza +##ellant +##hay +##kken +##lide +##bbly +##buck +##bah +##dust +##lova +##edge +##erine +##lty +##chemist +##connected +##ump +##main +##istle +##aster +##uming +##ential +##logue +##ogenic +##sities +##wat +##mide +##orra +##bola +##dget +##rith +##wark +##iny +##tracted +##overs +##oshi +##cot +##layer +##fk +##itas +##say +##foil +##metry +##pic +##fast +##ym +##enne +##zman +##raph +##patient +##meyer +##river +##eil +##nting +##cona +##crow +##mare +##feng +##uary +##rang +##torium +##laid +##ergy +##fers +##enna +##achal +##creen +##ilis +##lins +##rence +##with +##ception +##furt +##minster +##37 +##llary +##landa +##rage +##ener +##jected +##trum +##bill +##lta +##dek +##laze +##tf +##ischen +##around +##kat +##zek +##ffey +##vara +##tute +##mmon +##lese +##uding +##helm +##pipe +##enary +##phate +##chon +##dora +##hur +##lding +##corp +##elial +##dened +##29 +##bek +##dice +##dez +##ivision +##mori +##dier +##naut +##utnant +##ardo +##havan +##ives +##aldi +##lth +##ehan +##puri +##poulos +##poo +##trust +##opus +##ggle +##vao +##icate +##bn +##jm +##rill +##sius +##litz +##loh +##teacher +##ege +##oca +##pl +##keepers +##osed +##rys +##iring +##shima +##oum +##tish +##vres +##joy +##ignon +##mg +##urai +##mana +##ctors +##η +##ulio +##tou +##ی +##iens +##ignment +##dev +##arte +##gul +##held +##grin +##kou +##phile +##gara +##quisite +##vity +##jord +##valent +##koto +##vac +##onus +##cum +##scopic +##trip +##standing +##lessness +##dran +##logram +##boys +##kushima +##vious +##phobia +##chai +##gang +##ater +##lassified +##pati +##ginal +##straße +##vish +##ptive +##dur +##antes +##rral +##ggles +##omba +##ament +##uen +##rrick +##lase +##jic +##tonic +##promising +##cala +##sle +##lang +##dication +##fed +##rh +##oza +##woods +##linson +##mming +##ouin +##bala +##dda +##eased +##oides +##rdial +##rke +##thesis +##nob +##tically +##mined +##iti +##tler +##iente +##ulum +##tip +##lley +##iam +##dson +##ower +##anger +##laise +##bour +##icle +##urity +##lux +##yad +##bang +##claim +##erving +##uing +##amps +##sund +##xious +##tops +##icative +##iot +##dberg +##nified +##adia +##vite +##yme +##lino +##hosis +##lick +##ophone +##arable +##jure +##esian +##phus +##brates +##ritan +##erative +##zai +##hae +##imov +##mini +##rso +##taken +##nh +##crest +##ntino +##chester +##optera +##dara +##esthesia +##ior +##basket +##umatic +##cek +##mps +##orous +##omp +##ports +##tream +##deh +##ocks +##yson +##nad +##cius +##gli +##rook +##anov +##acker +##lika +##alla +##som +##national +##umb +##agne +##nessy +##iani +##osphere +##champ +##itan +##athi +##hab +##kong +##oia +##nail +##vc +##dity +##riated +##mission +##tort +##caster +##gman +##khov +##tively +##vio +##eak +##kt +##dance +##nig +##bham +##ference +##omics +##bm +##tropical +##в +##meric +##raction +##ige +##shida +##rde +##glers +##ssar +##riam +##aceous +##rard +##nsk +##cta +##ا +##mund +##quay +##uses +##ieving +##oven +##ignant +##peed +##sack +##fus +##shah +##hg +##sboro +##hunter +##dhar +##ctuated +##eaux +##gly +##brick +##stead +##nzo +##nsky +##tson +##9th +##movable +##mad +##rao +##yeh +##islaus +##shaft +##tyn +##mah +##yd +##eland +##tino +##itarian +##gui +##ausen +##gf +##rize +##drop +##ross +##bry +##ezer +##52 +##gpur +##ivation +##belle +##osaurus +##col +##lving +##oint +##jal +##anna +##ocene +##orestation +##hiff +##باد +##nka +##sight +##tens +##cey +##yin +##llas +##building +##arney +##nem +##dya +##lellan +##nded +##routed +##hog +##smo +##tp +##rger +##oton +##urance +##ayan +##chenko +##arat +##dern +##lete +##rgen +##vered +##analysis +##awan +##khand +##vard +##nden +##dana +##oper +##chee +##vies +##resses +##pathic +##erved +##osity +##tosis +##cchi +##raus +##lham +##fect +##tten +##uw +##buch +##bari +##6th +##ngen +##ece +##ely +##edo +##irus +##wad +##kato +##dicated +##pon +##anian +##hei +##dini +##erina +##partisan +##itha +##vius +##channel +##vera +##tila +##tang +##bai +##phila +##kla +##lland +##nche +##dee +##hide +##haya +##itical +##utation +##ropriation +##koff +##scope +##vez +##ructured +##yat +##tight +##ographer +##quil +##nare +##zard +##odle +##naud +##fting +##dome +##otted +##65 +##carbon +##estra +##chua +##edly +##sur +##sma +##acing +##49 +##hair +##raphy +##lver +##uy +##ounded +##cit +##meo +##oire +##roved +##lative +##class +##yles +##bio +##cola +##wk +##orno +##chase +##tua +##otype +##× +##tructing +##eger +##etz +##ttle +##fires +##adan +##ciful +##fb +##slow +##ials +##tford +##tick +##onga +##heard +##khan +##rdes +##write +##bians +##hri +##ndt +##monium +##orough +##games +##lysis +##beau +##dalen +##hila +##nai +##qual +##rford +##mei +##rnik +##hedron +##hope +##ʻi +##ags +##iner +##raine +##wright +##copic +##ador +##camp +##enas +##vating +##ears +##vb +##zd +##hein +##chuk +##gami +##lka +##points +##tov +##aar +##schaft +##vino +##eron +##iography +##jia +##suka +##deck +##vill +##rug +##tec +##dorff +##hear +##rogated +##pani +##rissa +##rnet +##eki +##kson +##lewood +##rval +##gata +##biotic +##ettes +##otide +##runa +##umble +##roller +##bright +##uance +##planes +##esses +##ductive +##unes +##cans +##hosh +##lifting +##sation +##christ +##llins +##ibar +##balance +##uso +##emy +##felt +##wt +##blood +##aghan +##verted +##ythe +##pore +##roi +##unds +##tage +##venting +##vances +##gical +##4th +##mism +##ntine +##neas +##eles +##eurs +##gno +##mute +##ances +##sw +##rank +##rder +##missible +##cr +##jevic +##lates +##pina +##rona +##ου +##gative +##mpton +##dou +##rries +##anta +##venor +##nx +##bags +##tsky +##nally +##ths +##lved +##hmi +##loe +##mage +##sily +##cute +##md +##strel +##utter +##ractive +##rkin +##coll +##lun +##tance +##mental +##kala +##rization +##open +##ruff +##entes +##emon +##nist +##mack +##jured +##parts +##enting +##pg +##walker +##going +##minated +##56 +##gnon +##igny +##growth +##ywood +##ffi +##rdan +##kney +##position +##dlow +##54 +##mania +##bots +##evsky +##uis +##americana +##dding +##inton +##nage +##rret +##bread +##rrier +##kam +##tea +##ditional +##het +##udged +##lash +##alic +##gaon +##cide +##cini +##typical +##viere +##logie +##itte +##lass +##lists +##cor +##nosis +##tsa +##icio +##rney +##tara +##dates +##aia +##mum +##oys +##wehr +##lind +##lone +##rgh +##oons +##urgent +##logic +##dial +##hered +##usly +##cous +##egorical +##weig +##scia +##uh +##efe +##isches +##asse +##earing +##amen +##bund +##lad +##powered +##yst +##ctum +##music +##neil +##washed +##itors +##opped +##arm +##plicity +##onis +##hedral +##vana +##aldo +##cytes +##hopper +##izan +##graphs +##opers +##uven +##listic +##rwin +##erik +##tify +##bson +##eros +##rained +##rath +##dot +##rbin +##marks +##gart +##kota +##oder +##phonic +##gur +##odies +##⁄₄ +##tness +##ety +##hone +##liche +##nator +##nery +##orio +##umen +##cb +##oted +##titles +##tura +##ια +##frid +##grants +##tative +##cave +##oses +##sions +##ople +##rsk +##offs +##ammed +##ocating +##pressive +##cm +##kshi +##bold +##vus +##rled +##7th +##hid +##rmin +##cen +##raf +##85 +##anial +##abas +##bane +##arion +##erian +##ired +##sil +##akh +##person +##pants +##cliff +##ulent +##dun +##inium +##zic +##urer +##imi +##lita +##agger +##lynn +##rigue +##eborg +##uram +##breakers +##udeau +##hony +##ccus +##mounted +##pod +##eche +##claiming +##osomal +##amina +##scent +##fleet +##ppy +##lowe +##nio +##bbon +##jian +##jean +##øy +##hearted +##spar +##nb +##uria +##vinsky +##fera +##loid +##mous +##a1 +##mpt +##swick +##enay +##nsed +##hly +##wyl +##encia +##hyllum +##masters +##fat +##pour +##mium +##vani +##hli +##wg +##bau +##version +##hort +##chison +##hiti +##nnis +##iensis +##raße +##58 +##atal +##uno +##iji +##dles +##terol +##rasia +##riety +##fra +##thor +##heater +##mering +##ilia +##aer +##anor +##iste +##may +##oue +##jad +##missive +##ppel +##gnant +##lga +##atable +##idad +##ols +##ouring +##tangled +##very +##lette +##sden +##¹ +##olt +##pins +##gut +##pher +##zh +##rok +##boot +##liffe +##minating +##rrado +##fur +##arina +##−1 +##herton +##anal +##eia +##lub +##bilis +##cz +##ouk +##aina +##firm +##anum +##bbies +##tyle +##nction +##dner +##edging +##hane +##iy +##talk +##nais +##olf +##reen +##sit +##arded +##aday +##onte +##tained +##lez +##lho +##anies +##bib +##falls +##harat +##week +##eries +##uously +##ahl +##pee +##ddled +##holz +##iction +##cheon +##oit +##neuve +##ipes +##recht +##nism +##zumi +##riders +##ados +##mament +##mut +##rud +##laus +##ksha +##imeters +##isance +##pre +##ronia +##lke +##tablished +##scoe +##59 +##taro +##cuit +##idi +##rdon +##grating +##inates +##asco +##ecin +##kovich +##ently +##nostic +##ttal +##idon +##gnan +##ikh +##dant +##rons +##lary +##mara +##iciencies +##rti +##inatory +##ssion +##inga +##lism +##ately +##rgeon +##ains +##plify +##tub +##chner +##sibility +##kura +##oulos +##8th +##tched +##lateral +##pps +##tama +##ifiers +##plin +##quitable +##beam +##sitor +##57 +##cton +##tees +##rran +##asurable +##fles +##200 +##iance +##efined +##till +##duk +##nished +##hre +##wled +##arians +##zos +##yck +##gingly +##urse +##wee +##mies +##pw +##roll +##vita +##urized +##taka +##rito +##ij +##uls +##zily +##hema +##tique +##avio +##cision +##tray +##lden +##maid +##oxide +##rba +##rnier +##ually +##otte +##hett +##omorphic +##zog +##bula +##lithic +##rada +##abi +##bla +##icon +##lvis +##rest +##rzy +##kian +##utive +##rmi +##rued +##enes +##tao +##wash +##inkles +##kiewicz +##ando +##rem +##ffled +##uising +##guide +##vron +##imum +##rrow +##ка +##hum +##orth +##kali +##veda +##yala +##cana +##sure +##gree +##eza +##mation +##vitt +##clops +##gizing +##iad +##filtration +##merie +##dgets +##ceptive +##para +##lars +##osta +##oux +##culus +##lais +##qvist +##rrigan +##odon +##lastic +##cam +##erted +##drik +##igate +##mise +##zbek +##istles +##ivar +##orin +##idium +##sg +##cina +##etano +##zzy +##66 +##bedo +##oin +##ici +##endez +##ocytes +##sop +##actic +##baldi +##bular +##ensburg +##itung +##scu +##ound +##personal +##meister +##nberger +##ricting +##dilly +##genase +##erre +##ayo +##lizer +##ajan +##kulam +##ieg +##lge +##mbit +##suit +##miento +##rites +##sling +##ghi +##rations +##tarian +##duced +##ragan +##dna +##rga +##tlan +##lized +##qu +##vere +##jali +##weather +##grounds +##iii +##nbc +##escence +##flight +##cased +##tula +##fahan +##bruck +##dents +##nami +##hner +##meral +##isen +##ometric +##pres +##ан +##jhl +##zko +##lten +##rcus +##section +##rooms +##formed +##lok +##stellar +##mmel +##abia +##apes +##chaft +##dav +##ooping +##tension +##itia +##ffie +##tsk +##onda +##tiv +##rvis +##gni +##mberg +##urian +##wani +##3d +##app +##oed +##year +##ega +##cel +##enter +##oles +##oteric +##ы +##hem +##kata +##ciency +##ה +##arus +##mussen +##nidae +##rzburg +##ingdon +##tituted +##lices +##oj +##bain +##ecure +##arding +##ης +##andra +##broken +##cuting +##iface +##ror +##rosis +##drome +##ioms +##oric +##rag +##ckey +##trix +##stems +##uder +##nivorous +##isan +##dict +##igen +##vna +##zziness +##eft +##mbs +##scribe +##aks +##ifolia +##athan +##zle +##pse +##mbling +##urrent +##izzly +##ɛ +##for +##elis +##folk +##lwyn +##otho +##saka +##bf +##itative +##yce +##flict +##miya +##reate +##ruck +##tucket +##ayton +##cence +##ife +##bber +##skin +##tat +##you +##nir +##idia +##inho +##500 +##rise +##lovic +##lch +##urities +##dermott +##inking +##scan +##ostal +##owe +##bner +##rchy +##systems +##trics +##gration +##olio +##urst +##nty +##cultural +##quette +##ssed +##tma +##zcz +##itaire +##stones +##udence +##just +##nsen +##л +##umber +##upt +##rip +##bution +##gano +##onzo +##orro +##puted +##tori +##stis +##stov +##opa +##glio +##sir +##peration +##uez +##kic +##kei +##ducted +##pone +##roids +##jing +##ppet +##lib +##ssee +##pkins +##400 +##bley +##raya +##rmed +##ailing +##ilation +##tzer +##uppe +##werk +##avs +##ands +##rco +##dion +##etched +##lster +##nsor +##toy +##ticus +##urbed +##hyl +##rrard +##waite +##wil +##bant +##edance +##! +##" +### +##$ +##% +##& +##' +##( +##) +##* +##+ +##, +##- +##. +##/ +##: +##; +##< +##= +##> +##? +##@ +##[ +##\ +##] +##^ +##_ +##` +##{ +##| +##} +##~ +##¡ +##¢ +##£ +##¤ +##¥ +##¦ +##§ +##¨ +##© +##ª +##« +##¬ +##® +##± +##´ +##µ +##¶ +##· +##º +##» +##¼ +##¾ +##¿ +##æ +##ð +##÷ +##þ +##đ +##ħ +##ŋ +##œ +##ƒ +##ɐ +##ɑ +##ɒ +##ɔ +##ɕ +##ə +##ɡ +##ɣ +##ɨ +##ɪ +##ɫ +##ɬ +##ɯ +##ɲ +##ɴ +##ɹ +##ɾ +##ʀ +##ʁ +##ʂ +##ʃ +##ʉ +##ʊ +##ʋ +##ʌ +##ʎ +##ʐ +##ʑ +##ʒ +##ʔ +##ʰ +##ʲ +##ʳ +##ʷ +##ʸ +##ʻ +##ʼ +##ʾ +##ʿ +##ˈ +##ˡ +##ˢ +##ˣ +##ˤ +##β +##γ +##δ +##ε +##ζ +##θ +##κ +##λ +##μ +##ξ +##ο +##π +##ρ +##σ +##τ +##υ +##φ +##χ +##ψ +##ω +##б +##г +##д +##ж +##з +##м +##п +##с +##у +##ф +##х +##ц +##ч +##ш +##щ +##ъ +##э +##ю +##ђ +##є +##і +##ј +##љ +##њ +##ћ +##ӏ +##ա +##բ +##գ +##դ +##ե +##թ +##ի +##լ +##կ +##հ +##մ +##յ +##ն +##ո +##պ +##ս +##վ +##տ +##ր +##ւ +##ք +##־ +##א +##ב +##ג +##ד +##ו +##ז +##ח +##ט +##י +##ך +##כ +##ל +##ם +##מ +##ן +##נ +##ס +##ע +##ף +##פ +##ץ +##צ +##ק +##ר +##ש +##ת +##، +##ء +##ب +##ت +##ث +##ج +##ح +##خ +##ذ +##ز +##س +##ش +##ص +##ض +##ط +##ظ +##ع +##غ +##ـ +##ف +##ق +##ك +##و +##ى +##ٹ +##پ +##چ +##ک +##گ +##ں +##ھ +##ہ +##ے +##अ +##आ +##उ +##ए +##क +##ख +##ग +##च +##ज +##ट +##ड +##ण +##त +##थ +##द +##ध +##न +##प +##ब +##भ +##म +##य +##र +##ल +##व +##श +##ष +##स +##ह +##ा +##ि +##ी +##ो +##। +##॥ +##ং +##অ +##আ +##ই +##উ +##এ +##ও +##ক +##খ +##গ +##চ +##ছ +##জ +##ট +##ড +##ণ +##ত +##থ +##দ +##ধ +##ন +##প +##ব +##ভ +##ম +##য +##র +##ল +##শ +##ষ +##স +##হ +##া +##ি +##ী +##ে +##க +##ச +##ட +##த +##ந +##ன +##ப +##ம +##ய +##ர +##ல +##ள +##வ +##ா +##ி +##ு +##ே +##ை +##ನ +##ರ +##ಾ +##ක +##ය +##ර +##ල +##ව +##ා +##ก +##ง +##ต +##ท +##น +##พ +##ม +##ย +##ร +##ล +##ว +##ส +##อ +##า +##เ +##་ +##། +##ག +##ང +##ད +##ན +##པ +##བ +##མ +##འ +##ར +##ལ +##ས +##မ +##ა +##ბ +##გ +##დ +##ე +##ვ +##თ +##ი +##კ +##ლ +##მ +##ნ +##ო +##რ +##ს +##ტ +##უ +##ᄀ +##ᄂ +##ᄃ +##ᄅ +##ᄆ +##ᄇ +##ᄉ +##ᄊ +##ᄋ +##ᄌ +##ᄎ +##ᄏ +##ᄐ +##ᄑ +##ᄒ +##ᅡ +##ᅢ +##ᅥ +##ᅦ +##ᅧ +##ᅩ +##ᅪ +##ᅭ +##ᅮ +##ᅯ +##ᅲ +##ᅳ +##ᅴ +##ᅵ +##ᆨ +##ᆫ +##ᆯ +##ᆷ +##ᆸ +##ᆼ +##ᴬ +##ᴮ +##ᴰ +##ᴵ +##ᴺ +##ᵀ +##ᵃ +##ᵇ +##ᵈ +##ᵉ +##ᵍ +##ᵏ +##ᵐ +##ᵒ +##ᵖ +##ᵗ +##ᵘ +##ᵣ +##ᵤ +##ᵥ +##ᶜ +##ᶠ +##‐ +##‑ +##‒ +##– +##— +##― +##‖ +##‘ +##’ +##‚ +##“ +##” +##„ +##† +##‡ +##• +##… +##‰ +##′ +##″ +##› +##‿ +##⁄ +##⁰ +##ⁱ +##⁴ +##⁵ +##⁶ +##⁷ +##⁸ +##⁹ +##⁻ +##ⁿ +##₅ +##₆ +##₇ +##₈ +##₉ +##₊ +##₍ +##₎ +##ₐ +##ₑ +##ₒ +##ₓ +##ₕ +##ₖ +##ₗ +##ₘ +##ₚ +##ₛ +##ₜ +##₤ +##₩ +##€ +##₱ +##₹ +##ℓ +##№ +##ℝ +##™ +##⅓ +##⅔ +##← +##↑ +##→ +##↓ +##↔ +##↦ +##⇄ +##⇌ +##⇒ +##∂ +##∅ +##∆ +##∇ +##∈ +##∗ +##∘ +##√ +##∞ +##∧ +##∨ +##∩ +##∪ +##≈ +##≡ +##≤ +##≥ +##⊂ +##⊆ +##⊕ +##⊗ +##⋅ +##─ +##│ +##■ +##▪ +##● +##★ +##☆ +##☉ +##♠ +##♣ +##♥ +##♦ +##♯ +##⟨ +##⟩ +##ⱼ +##⺩ +##⺼ +##⽥ +##、 +##。 +##〈 +##〉 +##《 +##》 +##「 +##」 +##『 +##』 +##〜 +##あ +##い +##う +##え +##お +##か +##き +##く +##け +##こ +##さ +##し +##す +##せ +##そ +##た +##ち +##っ +##つ +##て +##と +##な +##に +##ぬ +##ね +##の +##は +##ひ +##ふ +##へ +##ほ +##ま +##み +##む +##め +##も +##や +##ゆ +##よ +##ら +##り +##る +##れ +##ろ +##を +##ん +##ァ +##ア +##ィ +##イ +##ウ +##ェ +##エ +##オ +##カ +##キ +##ク +##ケ +##コ +##サ +##シ +##ス +##セ +##タ +##チ +##ッ +##ツ +##テ +##ト +##ナ +##ニ +##ノ +##ハ +##ヒ +##フ +##ヘ +##ホ +##マ +##ミ +##ム +##メ +##モ +##ャ +##ュ +##ョ +##ラ +##リ +##ル +##レ +##ロ +##ワ +##ン +##・ +##ー +##一 +##三 +##上 +##下 +##不 +##世 +##中 +##主 +##久 +##之 +##也 +##事 +##二 +##五 +##井 +##京 +##人 +##亻 +##仁 +##介 +##代 +##仮 +##伊 +##会 +##佐 +##侍 +##保 +##信 +##健 +##元 +##光 +##八 +##公 +##内 +##出 +##分 +##前 +##劉 +##力 +##加 +##勝 +##北 +##区 +##十 +##千 +##南 +##博 +##原 +##口 +##古 +##史 +##司 +##合 +##吉 +##同 +##名 +##和 +##囗 +##四 +##国 +##國 +##土 +##地 +##坂 +##城 +##堂 +##場 +##士 +##夏 +##外 +##大 +##天 +##太 +##夫 +##奈 +##女 +##子 +##学 +##宀 +##宇 +##安 +##宗 +##定 +##宣 +##宮 +##家 +##宿 +##寺 +##將 +##小 +##尚 +##山 +##岡 +##島 +##崎 +##川 +##州 +##巿 +##帝 +##平 +##年 +##幸 +##广 +##弘 +##張 +##彳 +##後 +##御 +##德 +##心 +##忄 +##志 +##忠 +##愛 +##成 +##我 +##戦 +##戸 +##手 +##扌 +##政 +##文 +##新 +##方 +##日 +##明 +##星 +##春 +##昭 +##智 +##曲 +##書 +##月 +##有 +##朝 +##木 +##本 +##李 +##村 +##東 +##松 +##林 +##森 +##楊 +##樹 +##橋 +##歌 +##止 +##正 +##武 +##比 +##氏 +##民 +##水 +##氵 +##氷 +##永 +##江 +##沢 +##河 +##治 +##法 +##海 +##清 +##漢 +##瀬 +##火 +##版 +##犬 +##王 +##生 +##田 +##男 +##疒 +##発 +##白 +##的 +##皇 +##目 +##相 +##省 +##真 +##石 +##示 +##社 +##神 +##福 +##禾 +##秀 +##秋 +##空 +##立 +##章 +##竹 +##糹 +##美 +##義 +##耳 +##良 +##艹 +##花 +##英 +##華 +##葉 +##藤 +##行 +##街 +##西 +##見 +##訁 +##語 +##谷 +##貝 +##貴 +##車 +##軍 +##辶 +##道 +##郎 +##郡 +##部 +##都 +##里 +##野 +##金 +##鈴 +##镇 +##長 +##門 +##間 +##阝 +##阿 +##陳 +##陽 +##雄 +##青 +##面 +##風 +##食 +##香 +##馬 +##高 +##龍 +##龸 +##fi +##fl +##! +##( +##) +##, +##- +##. +##/ +##: +##? +##~ \ No newline at end of file diff --git a/contextualSpellCheck/tests/testVocab.txt b/contextualSpellCheck/tests/testVocab.txt new file mode 100644 index 0000000..3d31c31 --- /dev/null +++ b/contextualSpellCheck/tests/testVocab.txt @@ -0,0 +1,18 @@ +##hini +##bies +fife +rowe +rowland +posing +insurgents +shafts +lawsuits +activate +conor +inward +culturally +garlic +265 +##eering +eclectic +##hui \ No newline at end of file diff --git a/contextualSpellCheck/tests/test_contextualSpellCheck.py b/contextualSpellCheck/tests/test_contextualSpellCheck.py index 8c20729..9c1ab9a 100644 --- a/contextualSpellCheck/tests/test_contextualSpellCheck.py +++ b/contextualSpellCheck/tests/test_contextualSpellCheck.py @@ -1,9 +1,9 @@ import pytest import spacy from pytest import approx -import warnings +import warnings, os -from contextualSpellCheck.contextualSpellCheck import ContextualSpellCheck +from ..contextualSpellCheck import ContextualSpellCheck # print(contextualSpellCheck.__name__,contextualSpellCheck.__package__,contextualSpellCheck.__file__,sep="\n") # This is the class we want to test. So, we need to import it @@ -467,7 +467,7 @@ def test_token_extension(): nlp.remove_pipe("contextual spellchecker") -def test_worning(): +def test_warning(): if "contextual spellchecker" not in nlp.pipe_names: nlp.add_pipe(checker) merge_ents = nlp.create_pipe("merge_entities") @@ -495,3 +495,26 @@ def test_worning(): nlp.remove_pipe("merge_entities") print(nlp.pipe_names) warnings.simplefilter("default") + + with pytest.raises(TypeError) as e: + checkertest = ContextualSpellCheck(vocab_path=True) + assert ( + e + == "Please check datatype provided. vocab_path should be str, debug and performance should be bool" + ) + + +def test_vocabFile(): + with warnings.catch_warnings(record=True) as w: + checkertest = ContextualSpellCheck(vocab_path="testing.txt") + assert issubclass(w[-1].category, UserWarning) + assert "Using default vocab" in str(w[-1].message) + currentPath = os.path.dirname(__file__) + debugPathFile = os.path.join(currentPath, "debugFile.txt") + orgDebugFilePath = os.path.join(currentPath, "originaldebugFile.txt") + testVocab = os.path.join(currentPath, "testVocab.txt") + print(testVocab, currentPath, debugPathFile) + checkertest = ContextualSpellCheck(vocab_path=testVocab) + with open(orgDebugFilePath) as f1: + with open(debugPathFile) as f2: + assert f1.read() == f2.read() From 50955341984cf693cd15e928cc9c1c1a9d5b818f Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 01:32:12 +0530 Subject: [PATCH 2/6] preventing all warning to be logged --- contextualSpellCheck/tests/test_contextualSpellCheck.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contextualSpellCheck/tests/test_contextualSpellCheck.py b/contextualSpellCheck/tests/test_contextualSpellCheck.py index 9c1ab9a..18e0a4f 100644 --- a/contextualSpellCheck/tests/test_contextualSpellCheck.py +++ b/contextualSpellCheck/tests/test_contextualSpellCheck.py @@ -476,7 +476,7 @@ def test_warning(): with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. - warnings.simplefilter("always") + # warnings.simplefilter("always") # Trigger a warning. assert doc[4]._.get_require_spellCheck == False @@ -494,7 +494,7 @@ def test_warning(): nlp.remove_pipe("merge_entities") print(nlp.pipe_names) - warnings.simplefilter("default") + # warnings.simplefilter("default") with pytest.raises(TypeError) as e: checkertest = ContextualSpellCheck(vocab_path=True) From e3edde7fa988976fcce6f27febeb5f9bbbd41afa Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 01:50:12 +0530 Subject: [PATCH 3/6] correct warning test case --- contextualSpellCheck/tests/test_contextualSpellCheck.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contextualSpellCheck/tests/test_contextualSpellCheck.py b/contextualSpellCheck/tests/test_contextualSpellCheck.py index 18e0a4f..743ca5e 100644 --- a/contextualSpellCheck/tests/test_contextualSpellCheck.py +++ b/contextualSpellCheck/tests/test_contextualSpellCheck.py @@ -507,8 +507,8 @@ def test_warning(): def test_vocabFile(): with warnings.catch_warnings(record=True) as w: checkertest = ContextualSpellCheck(vocab_path="testing.txt") - assert issubclass(w[-1].category, UserWarning) - assert "Using default vocab" in str(w[-1].message) + assert any([issubclass(i.category, UserWarning) for i in w]) + assert any(["Using default vocab" in str(i.message) for i in w]) currentPath = os.path.dirname(__file__) debugPathFile = os.path.join(currentPath, "debugFile.txt") orgDebugFilePath = os.path.join(currentPath, "originaldebugFile.txt") From c76f40e3ea93b52704cdb4b933bdf09a7eab412c Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 02:10:21 +0530 Subject: [PATCH 4/6] corrected the parameters in the test case --- contextualSpellCheck/tests/test_contextualSpellCheck.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contextualSpellCheck/tests/test_contextualSpellCheck.py b/contextualSpellCheck/tests/test_contextualSpellCheck.py index 743ca5e..61e70fc 100644 --- a/contextualSpellCheck/tests/test_contextualSpellCheck.py +++ b/contextualSpellCheck/tests/test_contextualSpellCheck.py @@ -514,7 +514,7 @@ def test_vocabFile(): orgDebugFilePath = os.path.join(currentPath, "originaldebugFile.txt") testVocab = os.path.join(currentPath, "testVocab.txt") print(testVocab, currentPath, debugPathFile) - checkertest = ContextualSpellCheck(vocab_path=testVocab) + checkertest = ContextualSpellCheck(vocab_path=testVocab,debug=True) with open(orgDebugFilePath) as f1: with open(debugPathFile) as f2: assert f1.read() == f2.read() From ecd3e7ec26429661f89edc1b40df5cbcff1c0c11 Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 02:13:38 +0530 Subject: [PATCH 5/6] blacked --- contextualSpellCheck/tests/test_contextualSpellCheck.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contextualSpellCheck/tests/test_contextualSpellCheck.py b/contextualSpellCheck/tests/test_contextualSpellCheck.py index 61e70fc..b29540e 100644 --- a/contextualSpellCheck/tests/test_contextualSpellCheck.py +++ b/contextualSpellCheck/tests/test_contextualSpellCheck.py @@ -514,7 +514,7 @@ def test_vocabFile(): orgDebugFilePath = os.path.join(currentPath, "originaldebugFile.txt") testVocab = os.path.join(currentPath, "testVocab.txt") print(testVocab, currentPath, debugPathFile) - checkertest = ContextualSpellCheck(vocab_path=testVocab,debug=True) + checkertest = ContextualSpellCheck(vocab_path=testVocab, debug=True) with open(orgDebugFilePath) as f1: with open(debugPathFile) as f2: assert f1.read() == f2.read() From d6b4674470b4e72823c31547be91950cc91d4859 Mon Sep 17 00:00:00 2001 From: R1j1t <22280243+R1j1t@users.noreply.github.com> Date: Sun, 19 Jul 2020 02:32:52 +0530 Subject: [PATCH 6/6] updated readme with downloads per week --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 78041fa..45cdea9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Contextual word checker for better suggestions [![license](https://img.shields.io/github/license/r1j1t/contextualSpellCheck)](https://github.com/R1j1t/contextualSpellCheck/blob/master/LICENSE) [![PyPI](https://img.shields.io/pypi/v/contextualSpellCheck?color=green)](https://pypi.org/project/contextualSpellCheck/) [![Python-Version](https://img.shields.io/badge/Python-3.6+-green)](https://github.com/R1j1t/contextualSpellCheck#install) -[![Downloads](https://pepy.tech/badge/contextualspellcheck)](https://pepy.tech/project/contextualspellcheck) +[![Downloads](https://pepy.tech/badge/contextualspellcheck/week)](https://pepy.tech/project/contextualspellcheck/week) [![GitHub contributors](https://img.shields.io/github/contributors/r1j1t/contextualSpellCheck)](https://github.com/R1j1t/contextualSpellCheck/graphs/contributors) [![Help Wanted](https://img.shields.io/badge/Help%20Wanted-Task%20List-violet)](https://github.com/R1j1t/contextualSpellCheck#task-list)