From 6439becd7df44615adbe03058113cdedf72241fc Mon Sep 17 00:00:00 2001 From: panni Date: Mon, 26 Mar 2018 17:51:30 +0200 Subject: [PATCH 01/31] providers: for non-hash-verifiable providers (napiprojekt in this case) don't try verifying series/season/episode; fixes #478 --- Contents/Libraries/Shared/subliminal_patch/core.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Contents/Libraries/Shared/subliminal_patch/core.py b/Contents/Libraries/Shared/subliminal_patch/core.py index d04d16178..75318d263 100644 --- a/Contents/Libraries/Shared/subliminal_patch/core.py +++ b/Contents/Libraries/Shared/subliminal_patch/core.py @@ -385,10 +385,15 @@ def download_best_subtitles(self, subtitles, video, languages, min_score=0, hear score, hearing_impaired) continue - if is_episode and not {"series", "season", "episode"}.issubset(orig_matches): - logger.debug("%r: Skipping subtitle with score %d, because it doesn't match our series/episode", - subtitle, score) - continue + if is_episode: + can_verify_series = True + if not subtitle.hash_verifiable and "hash" in matches: + can_verify_series = False + + if can_verify_series and not {"series", "season", "episode"}.issubset(orig_matches): + logger.debug("%r: Skipping subtitle with score %d, because it doesn't match our series/episode", + subtitle, score) + continue # download logger.debug("%r: Trying to download subtitle with matches %s, score: %s; release(s): %s", subtitle, matches, From 059645dec73ac286ffae3a7428f5d9957bd5b8cb Mon Sep 17 00:00:00 2001 From: panni Date: Mon, 26 Mar 2018 22:01:16 +0200 Subject: [PATCH 02/31] menu: list subtitles: only skip items if hash verifiable and verification fails --- Contents/Code/support/tasks.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Contents/Code/support/tasks.py b/Contents/Code/support/tasks.py index d8cf44ad6..4b5e24c76 100755 --- a/Contents/Code/support/tasks.py +++ b/Contents/Code/support/tasks.py @@ -158,9 +158,14 @@ def list_subtitles(self, rating_key, item_type, part_id, language, skip_wrong_fp continue # skip wrong season/episodes - if item_type == "episode" and not {"series", "season", "episode"}.issubset(matches): - Log.Debug(u"%s: Skipping %s, because it doesn't match our series/episode", self.name, s) - continue + if item_type == "episode": + can_verify_series = True + if not s.hash_verifiable and "hash" in matches: + can_verify_series = False + + if can_verify_series and not {"series", "season", "episode"}.issubset(matches): + Log.Debug(u"%s: Skipping %s, because it doesn't match our series/episode", self.name, s) + continue unsorted_subtitles.append( (s, compute_score(matches, s, video, hearing_impaired=use_hearing_impaired), matches)) From be1e33b55546a48e39b12178f85885adbd29d6d9 Mon Sep 17 00:00:00 2001 From: panni Date: Tue, 27 Mar 2018 00:56:28 +0200 Subject: [PATCH 03/31] fix uppercase Submit --- .../Libraries/Shared/subliminal_patch/providers/addic7ed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/addic7ed.py b/Contents/Libraries/Shared/subliminal_patch/providers/addic7ed.py index 3cb17f61f..02ef59ff8 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/addic7ed.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/addic7ed.py @@ -136,7 +136,7 @@ def _search_show_id(self, series, year=None): # build the params series_year = '%s %d' % (series, year) if year is not None else series - params = {'search': series_year, 'submit': 'Search'} + params = {'search': series_year, 'Submit': 'Search'} # make the search logger.info('Searching show ids with %r', params) From d936460d83f7abc6f28b89c471f0d2441e1b64fd Mon Sep 17 00:00:00 2001 From: panni Date: Tue, 27 Mar 2018 17:13:05 +0200 Subject: [PATCH 04/31] submod: common: extend non_word_only matching --- Contents/Libraries/Shared/subzero/modification/mods/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Libraries/Shared/subzero/modification/mods/common.py b/Contents/Libraries/Shared/subzero/modification/mods/common.py index ba54c5c43..2d0025536 100644 --- a/Contents/Libraries/Shared/subzero/modification/mods/common.py +++ b/Contents/Libraries/Shared/subzero/modification/mods/common.py @@ -24,7 +24,7 @@ class CommonFixes(SubtitleTextModification): NReProcessor(re.compile(r'(?u)(\w|\b|\s|^)(-\s?-{1,2})'), ur"\1—", name="CM_multidash"), # line = _/-/\s - NReProcessor(re.compile(r'(?u)(^[-_\s.]*[-_\s.]+[-_\s.]*$)'), "", name="CM_non_word_only"), + NReProcessor(re.compile(r'(?u)(^\W*[-_.]+\W*$)'), "", name="CM_non_word_only"), # fix music symbols NReProcessor(re.compile(ur'(?u)(^[*#¶\s]*[*#¶]+[*#¶\s]*$)'), u"♪", name="CM_music_symbols"), From 3af5102e93c5eb793008cc4057c4e4ec123872cc Mon Sep 17 00:00:00 2001 From: panni Date: Tue, 27 Mar 2018 17:14:29 +0200 Subject: [PATCH 05/31] submod: OCR: fix III'll=I'll --- .../Shared/subzero/modification/dictionaries/data.py | 4 ++-- .../Shared/subzero/modification/dictionaries/make_data.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Contents/Libraries/Shared/subzero/modification/dictionaries/data.py b/Contents/Libraries/Shared/subzero/modification/dictionaries/data.py index 15ca8c6fc..443df8cdb 100644 --- a/Contents/Libraries/Shared/subzero/modification/dictionaries/data.py +++ b/Contents/Libraries/Shared/subzero/modification/dictionaries/data.py @@ -34,8 +34,8 @@ 'pattern': None}, 'WholeLines': {'data': OrderedDict([(u'H ey.', u'Hey.'), (u'He)\u2019-', u'Hey.'), (u'N0.', u'No.'), (u'-N0.', u'-No.'), (u'Noll', u'No!!'), (u'(G ROANS)', u'(GROANS)'), (u'[G ROANS]', u'[GROANS]'), (u'(M EOWS)', u'(MEOWS)'), (u'[M EOWS]', u'[MEOWS]'), (u'Uaughs]', u'[laughs]'), (u'[chitte rs]', u'[chitters]'), (u'Hil\u2018 it!', u'Hit it!'), (u'Hil\u2018 it!', u'Hit it!'), (u'ISIGHS]', u'[SIGHS]')]), 'pattern': None}, - 'WholeWords': {'data': OrderedDict([(u'$COff$', u'scoffs'), (u'$ergei', u'Sergei'), (u"$'llOp", u'Stop'), (u"/'//", u"I'll"), (u"/'/I", u"I'll"), (u'/ennifer', u'Jennifer'), (u'/got', u'I got'), (u'/have', u'I have'), (u'/hope', u'I hope'), (u'/just', u'I just'), (u'/love', u'I love'), (u"/'m", u"I'm"), (u'/mmerse', u'immerse'), (u'/nsu/ts', u'Insults'), (u'/ong', u'long'), (u'/ook', u'look'), (u"/t's", u"It's"), (u"/'ve", u"I've"), (u"\\/\\/e'd", u"We'd"), (u"\\/\\/e're", u"We're"), (u"\\/\\/e've", u"We've"), (u'\\/\\/hat', u'What'), (u"\\/\\/here'd", u"Where'd"), (u'\\/\\/hoo', u'Whoo'), (u'\\/\\/hy', u'Why'), (u"\\/\\/hy'd", u"Why'd"), (u"\\/\\le're", u"We're"), (u'\\/Ve', u'We'), (u"\\Ne're", u"We're"), (u"\\Nhat's", u"What's"), (u"\\Nhere's", u"Where's"), (u"|'mjust", u"I'm just"), (u'\xa4ff', u'off'), (u'\xa4Id', u'old'), (u'\xa4Ids', u'olds'), (u'\xa4n', u'on'), (u'\xa4ne', u'one'), (u'\xa4nly', u'only'), (u'\xa4pen', u'open'), (u'\xa4r', u'or'), (u'\xa4rder', u'order'), (u'\xa4ther', u'other'), (u'\xa4ur', u'our'), (u'\xa4ut', u'out'), (u'\xa4ver', u'over'), (u'\xa4wn', u'own'), (u"\u20acV\u20acI'y", u'every'), (u"0'clock", u"o'clock"), (u'0f', u'of'), (u'0fEngland', u'of England'), (u'0fft0', u'off to'), (u'0l/er', u'over'), (u'0n', u'on'), (u'0ne', u'one'), (u"0ne's", u"one's"), (u'0r', u'or'), (u'0rders', u'orders'), (u"0thers'", u"others'"), (u'0ut', u'out'), (u"0utlaw's", u"outlaw's"), (u"0utlaws'", u"outlaws'"), (u'0ver', u'over'), (u'13oos', u'1300s'), (u'18oos', u'1800s'), (u'195os', u'1950s'), (u"1et's", u"let's"), (u'1o', u'10'), (u'1oo', u'100'), (u'1ooth', u'100th'), (u'1oth', u'10th'), (u'2E_', u'2E.'), (u"2'IST", u'21ST'), (u"2'Ist_", u"2'1st."), (u'2o', u'20'), (u'2oth', u'20th'), (u'3o', u'30'), (u'3oth', u'30th'), (u'4o', u'40'), (u'4os', u'40s'), (u'4oth', u'40th'), (u'50rry', u'sorry'), (u'5o', u'50'), (u'5oth', u'50th'), (u'6o', u'60'), (u'6os', u'60s'), (u"'6os", u"'60s"), (u'6oth', u'60th'), (u'7o', u'70'), (u"'7os", u"'70s"), (u'7oth', u'70th'), (u'8o', u'80'), (u"'8os", u"'80s"), (u'8oth', u'80th'), (u'9/aim', u'alarm'), (u'9o', u'90'), (u'9oth', u'90th'), (u'9UnShQt', u'gunshot'), (u'a//', u'all'), (u'a/bum', u'album'), (u'a/so', u'also'), (u'A/ways', u'Always'), (u'abcut', u'about'), (u'aboutjoining', u'about joining'), (u'aboutposh', u'about posh'), (u'aboutus', u'about us'), (u'aboutyou', u'about you'), (u'accldent', u'accident'), (u'Acool', u'A cool'), (u'afier', u'after'), (u'affraid', u'afraid'), (u'Afriend', u'A friend'), (u'afterall', u'after all'), (u'afterthe', u'after the'), (u'afulcrum', u'a fulcrum'), (u'Afunny', u'A funny'), (u'aga/nst', u'against'), (u'ahsolutes', u'absolutes'), (u'AI_I_', u'ALL'), (u'AIien', u'Alien'), (u'AIex', u'Alex'), (u'AII', u'All'), (u'AIIan', u'Allan'), (u'AIIow', u'Allow'), (u'AIive', u'Alive'), (u"ain'tgotno", u"ain't got no"), (u"Ain'tgotno", u"Ain't got no"), (u'airstrike', u'air strike'), (u'AIVIBULANCE', u'AMBULANCE'), (u'ajob', u'a job'), (u'ajockey_', u'a jockey.'), (u'ajoke', u'a joke'), (u'Ajoke', u'A joke'), (u'ajoking', u'a joking'), (u'al/', u'all'), (u'al/en', u'alien'), (u'alittle', u'a little'), (u'allgasp', u'all gasp'), (u'alljustforshow', u'all just for show'), (u"aln't", u"ain't"), (u'alot', u'a lot'), (u'Alot', u'A lot'), (u'An5wer', u'Answer'), (u'Andit', u'And it'), (u"Andit's", u"And it's"), (u'andl', u'and I'), (u'andlaughs', u'and laughs'), (u'andleave', u'and leave'), (u'andthe', u'and the'), (u'andyou', u'and you'), (u'Andyou', u'And you'), (u'ANNOUNC/NG', u'ANNOUNCING'), (u'anotherstep', u'another step'), (u'ANSWER/NG', u'ANSWERING'), (u'answerwhat', u'answer what'), (u'antiquejoke', u'antique joke'), (u"anyhcdy's", u"anybody's"), (u'Anyidea', u'Any idea'), (u"anyone's_", u"anyone's."), (u'apejust', u'ape just'), (u'ARABlc', u'ARABIC'), (u"aren't_", u"aren't."), (u"arerl't", u"aren't"), (u"Arnsteln's", u"Arnstein's"), (u'atleast', u'at least'), (u'Atough', u'A tough'), (u'Awhole', u'A whole'), (u'awoman', u'a woman'), (u'Awoman', u'A woman'), (u'barelytalked', u'barely talked'), (u'bcat', u'boat'), (u'Bcllvla', u'Bolivia'), (u'bcmb', u'bomb'), (u'bcmbs', u'bombs'), (u'be//y', u'belly'), (u'becuase', u'because'), (u"Beep/'ng", u'Beeping'), (u'bejumpy', u'be jumpy'), (u'besldes', u'besides'), (u'bestfriend', u'best friend'), (u'bestguy', u'best guy'), (u'bestjob', u'best job'), (u'BIack', u'Black'), (u'BIess', u'Bless'), (u'bigos___', u'bigos...'), (u'BIame', u'Blame'), (u'BIind', u'Blind'), (u'BIood', u'Blood'), (u'BIue', u'Blue'), (u'BLOVVS', u'BLOWS'), (u'blowholel', u'blowhole!'), (u'blt', u'bit'), (u'Bo99', u'Bogg'), (u'bodiedyoung', u'bodied young'), (u'breakf\xe9wtl', u'breakfast!'), (u'bulldozlng', u'bulldozing'), (u'butjust', u'but just'), (u'butl', u'but I'), (u'Butl', u'But I'), (u'butljust', u'but I just'), (u"Butljustcan'tgetenough", u"But I just can't get enough"), (u"Butyou're", u"But you're"), (u'buythem', u'buy them'), (u'buyyou', u'buy you'), (u'byjust', u'by just'), (u'bythe', u'by the'), (u"C/latter/'/7g", u'Chattering'), (u'ca///ng', u'calling'), (u'ca/I', u'call'), (u'call/ng', u'calling'), (u'callyou', u'call you'), (u'can*t', u"can't"), (u"can'i", u"can't"), (u"can'I", u"can't"), (u'canlgetyou', u'canI get you'), (u'cannotchange', u'cannot change'), (u'cannut', u'cannot'), (u"can'T", u"can't"), (u"can't_", u'Crucially'), (u"can'tjust", u"can't just"), (u"can'tletgo", u"can't let go"), (u'Car0l', u'Carol'), (u'Carhorn', u'Car horn'), (u'carrled', u'carried'), (u'Ccug', u'Coug'), (u'Ccugs', u'Cougs'), (u'Ccver', u'Cover'), (u'cellularchange', u'cellular change'), (u'cff', u'off'), (u'cfycu', u'of you'), (u'cfycur', u'of your'), (u'Ch/rping', u'Chirping'), (u'chaletgirl', u'chalet girl'), (u'changejobs', u'change jobs'), (u'Charliejust', u'Charlie just'), (u"Chatter/'rtg", u'Chattering'), (u'CHATTERWG', u'CHATTERING'), (u'Chequeredlove', u'Chequered love'), (u'cHIRPINcs', u'CHIRPING'), (u'chjldishness', u'childishness'), (u'chlldrcn', u'children'), (u'chlldren', u'children'), (u'chocolatte', u'chocolate'), (u'Cho/r', u'Choir'), (u'cHucKl_Es', u'CHUCKLES'), (u'CIark', u'Clark'), (u'CIear', u'Clear'), (u'circumcised_', u'circumcised.'), (u'ckay', u'okay'), (u'cl_osEs', u'CLOSES'), (u'CLATTERWG', u'CLATTERING'), (u'cn', u'on'), (u'cne', u'one'), (u'cnes', u'ones'), (u'Coincidenta//y', u'Coincidentally'), (u'COm\u20ac', u'Come'), (u'comp/etey', u'completely'), (u'complainingabout', u'complaining about'), (u'coms', u'come'), (u'cond/lion', u'condition'), (u'confdence', u'confidence'), (u'conhrmed', u'confirmed'), (u'connrm', u'confirm'), (u'Consecutivelyl', u'Consecutively!'), (u'COUGH5', u'COUGHS'), (u'CouGHING', u'COUGHING'), (u"couIdn't", u"couldn't"), (u'couldjust', u'could just'), (u"couldn'T", u"couldn't"), (u"couldn'tjust", u"couldn't just"), (u'Couldyou', u'Could you'), (u'crappyjob', u'crappy job'), (u'CRAsHING', u'CRASHING'), (u'crder', u'order'), (u'Crowdcheers', u'Crowd cheers'), (u'Cruoially', u'Crucially'), (u'cther', u'other'), (u'cuuld', u'could'), (u'cver', u'over'), (u"d/'dn't", u"didn't"), (u'd/squietude', u'disquietude'), (u"D\xa4esn't", u"Doesn't"), (u"d\xa4n'i", u"don't"), (u"d\xa4n't", u"don't"), (u'd\xb09', u'dog'), (u'd0', u'do'), (u'D0', u'Do'), (u"D0asn't", u"Doesn't"), (u"Dad'//", u"Dad'll"), (u'dairyjust', u'dairy just'), (u'Dar//ng', u'Darling'), (u'dc', u'do'), (u'Dcbby', u'Dobby'), (u"dccsn't", u"doesn't"), (u'dcctcr', u'doctor'), (u'Dces', u'Does'), (u'dcgs', u'dogs'), (u'dcing', u'doing'), (u"dcn'I", u"don't"), (u"dcn't", u"don't"), (u"Dcn't", u"Don't"), (u'dcughnut', u'doughnut'), (u'declslons', u'decisions'), (u'deedhas', u'deed has'), (u'Dehnitely', u'Definitely'), (u'desewes', u'deserves'), (u'desperate/\xbby', u'desperately'), (u'D\ufb02nk', u'Drink'), (u'DIAl_lNcs', u'DIALING'), (u"didn'!", u"didn't"), (u'didnt', u"didn't"), (u"didn'T", u"didn't"), (u"dIdn't", u"didn't"), (u"didn't_", u"didn't."), (u'didrft', u"didn't"), (u"didrl't", u"didn't"), (u'didyou', u'did you'), (u'divorcing_', u'divorcing.'), (u'dld', u'did'), (u"dldn't", u"didn't"), (u'dlfflcull', u'difficult'), (u'dlg', u'dig'), (u'dlsobeyed', u'disobeyed'), (u"doasn't", u"doesn't"), (u"Doasn't", u"Doesn't"), (u'doctoh', u'doctor'), (u'Doctor___tell', u'Doctor... tell'), (u'doesnt', u"doesn't"), (u"doesn'T", u"doesn't"), (u"doesri't", u"doesnt't"), (u'doesrt', u"doesn't"), (u'Doesrt', u"Doesn't"), (u'doit', u'do it'), (u'dojust', u'do just'), (u'don*t', u"don't"), (u'donejobs', u'done jobs'), (u"don'i", u"don't"), (u"don'l", u"don't"), (u"Don'l", u"Don't"), (u'Donllook', u"Don't look"), (u'dont', u"don't"), (u"don'T", u"don't"), (u"don'tcare", u"don't care"), (u"don'tjoke", u"don't joke"), (u"Don'tjudge", u"Don't judge"), (u"don'tjust", u"don't just"), (u"Don'tjust", u"Don't just"), (u"Don'tlet", u"Don't let"), (u"don'tlhink", u"don't think"), (u"don'tpush", u"don't push"), (u"Don'tyou", u"Don't you"), (u'DonWlook', u"Don't look"), (u'Dooropens', u'Door opens'), (u'doorshuts', u'door shuts'), (u'dothat', u'do that'), (u'dothis', u'do this'), (u'Drinkthis', u'Drink this'), (u'dumbass', u'dumb-ass'), (u'dumbto', u'dumb to'), (u"dun't", u"don't"), (u'E//e', u'Elle'), (u'E9YPt', u'Egypt'), (u"ea/'t/7", u'earth'), (u'eart/7', u'earth'), (u"efi'/'c/'ent", u'efficient'), (u'EN<3LlsH', u'ENGLISH'), (u'Enjoythe', u'Enjoy the'), (u'Erv\\/an', u'Erwan'), (u"Erv\\/an's", u"Erwan's"), (u'etemity', u'eternity'), (u'ev/I', u'evil'), (u'eve/yone', u'everyone'), (u"even/body's", u"everybody's"), (u'eversay', u'ever say'), (u'Everymonth', u'Every month'), (u'everythings', u"everything's"), (u"Everythirlg's", u'Everything\u2019s'), (u"Everythlng's", u"Everything's"), (u'Everytime', u'Every time'), (u'Exac\ufb02y', u'Exactly'), (u'ExacUy_', u'Exactly.'), (u'excitedshrieking', u'excited shrieking'), (u'ExcLAllvls', u'EXCLAIMS'), (u'exploatation', u'exploitation'), (u'expreusion', u'expression'), (u'fairthat', u'fair that'), (u'Fathef', u'Father'), (u'fatherfigure', u'father figure'), (u'FBl', u'FBI'), (u'fcrebcdlng', u'foreboding'), (u'fcreverjudges', u'forever judges'), (u'fcund', u'found'), (u'feeleverything', u'feel everything'), (u'feelsweet', u'feel sweet'), (u"fiam/'/y", u'family'), (u'\ufb01ngernail', u'fingernail'), (u'finishedjunior', u'finished junior'), (u'FIynn', u'Flynn'), (u'flll', u'fill'), (u'flra', u'fira'), (u'Flylng', u'Flying'), (u'Fnends', u'Fiends'), (u'fo/low', u'follow'), (u'fonzvard', u'forward'), (u'fora', u'for a'), (u'Fora', u'For a'), (u'forajob', u'for a job'), (u'forAmerica', u'for America'), (u'forNew', u'for New'), (u'forone', u'for one'), (u'forso', u'for so'), (u'Forsuch', u'For such'), (u'forsunburns', u'for sunburns'), (u'forthe', u'for the'), (u'Foryears', u'For years'), (u'foryou', u'for you'), (u'Foudeen', u'Fouteen'), (u'Fou\ufb02een', u'Fourteen'), (u'FourSeasons', u'Four Seasons'), (u'fr/ends', u'friends'), (u'freezerfood', u'freezer food'), (u'F\xfchrerfeels', u'F\xfchrer feels'), (u'furthernotice', u'further notice'), (u'furyou', u'for you'), (u'G0', u'Go'), (u'g0in9', u'going'), (u'gamlenias', u'gardenias'), (u'GAsPING', u'GASPING'), (u'gc', u'go'), (u'gcing', u'going'), (u'gcnna', u'gonna'), (u'Gcnna', u'Gonna'), (u'gct', u'get'), (u'Gct', u'Got'), (u'genercsity', u'generosity'), (u'generosityn', u'generosity"'), (u'getjust', u'get just'), (u'g\ufb02ing', u'going'), (u'gi\ufb02friend', u'girlfriend'), (u'gir/', u'girl'), (u"gir/s'boarding", u"girls' boarding"), (u'giris', u'girls'), (u'gLlyS', u'guys'), (u'glum_', u'glum.'), (u'gnyone', u'anyone'), (u'golng', u'going'), (u'goodboyand', u'good boy and'), (u'goodjob', u'good job'), (u'gOt', u'got'), (u'gotjumped', u'got jumped'), (u'gotmyfirstinterview', u'got my first interview'), (u'grandjury', u'grand jury'), (u'greatjob', u'great job'), (u'Greatjobl', u'Great job!'), (u'grinco', u'gringo'), (u'GRoANING', u'GROANING'), (u'GRUNUNG', u'GRUNTING'), (u'gu', u'go'), (u'gunna', u'gonna'), (u'guyjumped', u'guy jumped'), (u'guyjust', u'guy just'), (u'gUyS', u'guys'), (u'_H6Y-', u'- Hey!'), (u'H\u20acY', u'Hey'), (u'H0we\xb7ver', u'However'), (u'halftheir', u'half their'), (u'hapPY', u'happy'), (u'hasrt', u"hasn't"), (u'Hasrt', u"Hasn't"), (u"haven'tspokerl", u"haven't spoken"), (u'hcle', u'hole'), (u'hcme', u'home'), (u'hcmes', u'homes'), (u'hcpe', u'hope'), (u'hctel', u'hotel'), (u'hcurs', u'hours'), (u'Hcw', u'How'), (u'he/ps', u'helps'), (u'hearjokestonight', u'hear jokes tonight'), (u'hearme', u'hear me'), (u'Hefell', u'He fell'), (u"he'II", u"he'll"), (u"He'II", u"He'll"), (u'HeII0', u'Hello'), (u"He'Il", u"He'll"), (u'Hejust', u'He just'), (u"He'lI", u"He'll"), (u'HelIo', u'Hello'), (u'hellc', u'hello'), (u'HellO', u'Hello'), (u'herboyfr/end', u'her boyfriend'), (u'herflesh', u'her flesh'), (u'herfollov\\/ed', u'her followed'), (u'herjob_', u'her job.'), (u'HerrSchmidt', u'Herr Schmidt'), (u'herwith', u'her with'), (u'HeY\xb7', u'Hey.'), (u'HeyJennifer', u'Hey Jennifer'), (u'hiddsn', u'hidden'), (u'hisjunk', u'his junk'), (u'Hitlershare', u'Hitler share'), (u'Hlneed', u"I'll need"), (u'Hnally', u'finally'), (u'Hnishing', u'finishing'), (u'HOId', u'Hold'), (u'hOIes', u'holes'), (u'HONMNG', u'HONKING'), (u'honorthe', u'honor the'), (u'honoryou', u'honor you'), (u'honoryour', u'honor your'), (u"Hov\\/'s", u"How's"), (u"Hov\\/'S", u"How's"), (u'HovvLING', u'HOWLING'), (u'howit', u'how it'), (u"HoW's", u"How's"), (u'howto', u'how to'), (u"Hs's", u"He's"), (u'hurtyou', u'hurt you'), (u'I/erilj/', u'verify'), (u'I/fe', u'life'), (u'I\\/I', u'M'), (u'I\\/Ian', u'Man'), (u'I\\/Iathies', u'Mathies'), (u'I\\/Ie', u'Me'), (u'I\\/Iommy', u'Mommy'), (u'I\\/Ir', u'Mr'), (u'I\\/Ir.', u'Mr.'), (u'I\\/ly', u'My'), (u'I3EEPING', u'BEEPING'), (u'I3LARING', u'BLARING'), (u'Iacings', u'lacings'), (u'Iaid', u'laid'), (u'Iam', u'I am'), (u'Iand', u'land'), (u'Ianding', u'landing'), (u'Iast', u'last'), (u'Iate', u'late'), (u'Icad', u'load'), (u'Icading', u'loading'), (u'Ican', u'I can'), (u'Iccked', u'locked'), (u'Icng', u'long'), (u'Icsing', u'losing'), (u'Icslng', u'losing'), (u'Idid', u'I did'), (u"Ididn't", u"I didn't"), (u'Ido', u'I do'), (u"Idon'i", u"I don't"), (u"Idon't", u"I don't"), (u"Idon'tthink", u"I don't think"), (u"I'E'$", u"It's"), (u'Ieamed', u'learned'), (u'Ieapt', u'leapt'), (u'Iearned', u'learned'), (u'Ieast', u'least'), (u'Ieave', u'leave'), (u'Ied', u'led'), (u'Ieft', u'left'), (u"Ieg's", u"leg's"), (u'Iess', u'less'), (u'Iet', u'let'), (u"Iet's", u"let's"), (u"Iet'sjust", u"let's just"), (u'if/just', u'if I just'), (u'Ifear', u'I fear'), (u'Ifeared', u'I feared'), (u'Ifeel', u'I feel'), (u"ifI'||", u"if I'll"), (u"ifI'd", u"if I'd"), (u"ifI'II", u"if I'll"), (u"ifI'll", u"if I'll"), (u"ifI'm", u"if I'm"), (u'Ifinally', u'I finally'), (u"ifI've", u"if I've"), (u'ifl', u'if I'), (u'Iforgot', u'I forgot'), (u'Ifound', u'I found'), (u'ifshe', u'if she'), (u"ifthat's", u"if that's"), (u'ifthe', u'if the'), (u'Ifthe', u'If the'), (u"ifthere's", u"if there's"), (u'Ifthey', u'If they'), (u'ifwe', u'if we'), (u'Ifwe', u'If we'), (u'Ifycu', u'If you'), (u'ifyou', u'if you'), (u'Ifyou', u'If you'), (u'ifyuu', u'if you'), (u'Iget', u'I get'), (u'Igot', u'I got'), (u'Igotta', u'I gotta'), (u'Igotyou', u'I got you'), (u'Iguess', u'I guess'), (u'Iguessljust', u'I guess I just'), (u'Ihad', u'I had'), (u"Ihat's", u"that's"), (u'Ihave', u'I have'), (u'Iheard', u'I heard'), (u"ihere's", u"there's"), (u"ihey've", u"they've"), (u'Ihope', u'I hope'), (u'ii/Iary', u'Mary'), (u'ii/Ir', u'Mr'), (u'ii/Ir.', u'Mr.'), (u'ii/love', u'Move'), (u'Iife', u'life'), (u"I'II", u"I'll"), (u'Iike', u'like'), (u"I'Il", u"I'll"), (u'Iine', u'line'), (u'iirst', u'first'), (u"ii's", u"it's"), (u"Ii's", u"It's"), (u'Iiterallyjumped', u'literally jumped'), (u'Ijoined', u'I joined'), (u'Ijust', u'I just'), (u'Iknew', u'I knew'), (u'Iknow', u'I know'), (u'Ile', u'lie'), (u'Ileft', u'I left'), (u"I'lldo", u"I'll do"), (u"I'llmake", u"I'll make"), (u'Ilons', u'lions'), (u'Ilove', u'I love'), (u"I'mjust", u"I'm just"), (u'Inconceivablel', u'Inconceivable!'), (u'infact', u'in fact'), (u'Infact', u'In fact'), (u'in\ufb02uence', u'influence'), (u'infront', u'in front'), (u'injust', u'in just'), (u'insc\ufb01p\ufb01ons', u'inscriptions'), (u'insolencel', u'insolence!'), (u'intc', u'into'), (u'internationaljudges', u'international judges'), (u'inthe', u'in the'), (u'Iockdown', u'lockdown'), (u'Iong', u'long'), (u'Iongships', u'longships'), (u'Iook', u'look'), (u'Iookjust', u'look just'), (u'Iooklng', u'looking'), (u'Iooks', u'looks'), (u'Ioose', u'loose'), (u"Iord's", u"lord's"), (u'Iose', u'lose'), (u'Ioser', u'loser'), (u'Ioss', u'loss'), (u'Iost', u'lost'), (u'Iot', u'lot'), (u"Iot's", u"lot's"), (u'Iousyjob', u'lousy job'), (u'Iove', u'love'), (u'Ioves', u'loves'), (u'Iowlife', u'lowlife'), (u'Ipaid', u'I paid'), (u'Iquit', u'I quit'), (u'Ireallythinkthis', u'I really think this'), (u"I'rn", u"I'm"), (u'Isaw', u'I saw'), (u'Isayt/1e', u'I say the'), (u'isjust', u'is just'), (u"isn'i", u"isn't"), (u"isn't_", u"isn't."), (u'Isthis', u'Is this'), (u'Istill', u'I still'), (u'Istumblod', u'I stumbled'), (u'Itake', u'I take'), (u'itdown', u'it down'), (u'Iteach', u'I teach'), (u'Itfeels', u'It feels'), (u'ithave', u'it have'), (u'Ithink', u'I think'), (u'Ithinkthat', u'I think that'), (u'Ithinkthis', u'I think this'), (u"Ithinkyou're", u"I think you're"), (u'Ithlnk', u'I think'), (u'Ithoguht', u'I thought'), (u'Ithought', u'I thought'), (u'Ithoughtl', u'I thought I'), (u"it'II", u"it'll"), (u"It'II", u"It'll"), (u"it'Il", u"it'll"), (u"It'Il", u"It'll"), (u'itin', u'it in'), (u'itjust', u'it just'), (u'Itjust', u'It just'), (u"it'lI", u"it'll"), (u"It'lI", u"It'll"), (u"It'llhappen", u"It'll happen"), (u"it'lljust", u"it'll just"), (u'Itold', u'I told'), (u'Itook', u'I took'), (u'itout', u'it out'), (u"it'S", u"it's"), (u"it'sjinxed", u"it's jinxed"), (u"it'sjust", u"it's just"), (u"It'sjust", u"It's just"), (u'itso', u'it so'), (u'Ittends', u'It tends'), (u"Itwasn't", u"It wasn't"), (u'Iuckier', u'luckier'), (u'IV|oney', u'Money'), (u"IV|oney's", u"Money's"), (u"I'va", u"I've"), (u"I'Ve", u"I've"), (u'IVIan', u'Man'), (u'IVIAN', u'MAN'), (u'IVIarch', u'March'), (u"IVIarci's", u"Marci's"), (u'IVIarko', u'Marko'), (u'IVIe', u'Me'), (u"IVIine's", u"Mine's"), (u'IVImm', u'Mmm'), (u'IVIoney', u'Money'), (u'IVIr.', u'Mr.'), (u'IVIrs', u'Mrs'), (u'IVIuch', u'Much'), (u'IVIust', u'Must'), (u'IVIy', u'My'), (u'IVlacArthur', u'MacArthur'), (u"IVlacArthur's", u"MacArthur's"), (u'IVlcBride', u'McBride'), (u'IVlore', u'More'), (u'IVlotherfucker_', u'Motherfucker.'), (u'IVlr', u'Mr'), (u'IVlr.', u'Mr.'), (u'IVlr_', u'Mr.'), (u'IVlust', u'Must'), (u'IVly', u'My'), (u'Iwake', u'I wake'), (u'Iwant', u'I want'), (u'Iwanted', u'I wanted'), (u'Iwas', u'I was'), (u'Iwasjust', u'I was just'), (u'Iwasjustu', u'I was just...'), (u'Iwill', u'I will'), (u'Iwish', u'I wish'), (u"Iwon't", u"I won't"), (u'Iworked', u'I worked'), (u'Iwould', u'I would'), (u'jalapeno', u'jalape\xf1o'), (u'Jaokson', u'Jackson'), (u'Jascn', u'Jason'), (u'jcke', u'joke'), (u'jennifer', u'Jennifer'), (u'joseph', u'Joseph'), (u'Jumpthem', u'Jump them'), (u'jusi', u'just'), (u'jusl', u'just'), (u'justjudge', u'just judge'), (u'justleave', u'just leave'), (u'Justletgo', u'Just let go'), (u'kidsjumped', u'kids jumped'), (u'kiokflip', u'kickflip'), (u'knowjust', u'know just'), (u'knowthat', u'know that'), (u'knowthis', u'know this'), (u'knowwhat', u'know what'), (u'knowyet', u'know yet'), (u'knowyourlove', u'know your love'), (u'korean', u'Korean'), (u'L/ght', u'Light'), (u'L/kes', u'Likes'), (u'L\\/Ianuela', u'Manuela'), (u'L\\/Ianuelal', u'Manuela!'), (u'l\\/Iauzard', u'Mauzard'), (u'l\\/I\xe9lanie', u'M\xe9lanie'), (u'L\\/I\xe9lanie', u'M\xe9lanie'), (u'l\\/Iom', u'Mom'), (u'l\\/Iommy', u'Mommy'), (u'l\\/Ir', u'Mr'), (u'l\\/Ir.', u'Mr.'), (u'l\\/Is', u'Ms'), (u'l\\/ly', u'My'), (u'l_AuGHING', u'LAUGHING'), (u'l\u2018m', u"I'm"), (u'Laml6', u'I am l6'), (u'Lcad', u'Load'), (u'lcan', u'I can'), (u"lcan't", u"I can't"), (u"lcarl't_", u"I can't."), (u'Lcve', u'Love'), (u"l'd", u"I'd"), (u"L'd", u"I'd"), (u'ldid', u'I did'), (u'Ldid', u'I did'), (u'ldiot', u'Idiot'), (u"L'djump", u"I'd jump"), (u"ldon't", u"I don't"), (u"Ldon't", u"I don't"), (u'Lefs', u"Let's"), (u"Let'sjust", u"Let's just"), (u'lf', u'if'), (u'Lf', u'If'), (u'lfeelonelung', u'I feel one lung'), (u'lfthey', u'if they'), (u'lfyou', u'If you'), (u'Lfyou', u'If you'), (u"lfyou're", u"If you're"), (u'lget', u'I get'), (u'lgive', u'I give'), (u'Li/0/Academy', u'Lilly Academy'), (u'li/lr.', u'Mr.'), (u'ligature___', u'ligature...'), (u"l'II", u"I'll"), (u"l'Il", u"I'll"), (u'ljust', u'I just'), (u'Ljust', u'I just'), (u"ll/Iommy's", u"Mommy's"), (u'll/lajor', u'Major'), (u'Ll/lajor', u'Major'), (u'll/layans', u'Mayans'), (u"l'lI", u"I'll"), (u"l'll", u"I'll"), (u"L'll", u"I'll"), (u"l'lljust", u"I'll just"), (u"L'lltake", u"I'll take"), (u'llte', u'lite'), (u"l'm", u"I'm"), (u"L'm", u"I'm"), (u'Lmean', u'I mean'), (u"l'mjust", u"I'm just"), (u'ln', u'In'), (u'lN', u'IN'), (u'lNAuDll3LE', u'INAUDIBLE'), (u'LNAuDll3LE', u'INAUDIBLE'), (u'LNDlsTINcT', u'INDISTINCT'), (u'lneed', u'I need'), (u'lostyou', u'lost you'), (u'Loudmusic', u'Loud music'), (u'lraq', u'Iraq'), (u"lRA's", u"IRA's"), (u'Lrenka', u'Irenka'), (u'Lrn', u"I'm"), (u'lRS', u'IRS'), (u'lsabella', u'Isabella'), (u"lsn't", u"isn't"), (u"Lsn't", u"Isn't"), (u"Lst's", u"Let's"), (u'lsuppose', u'I suppose'), (u'lt', u'It'), (u'ltake', u'I take'), (u'ltell', u'I tell'), (u'lthink', u'I think'), (u'Lthink', u'I think'), (u'lthink___', u'I think...'), (u"lt'II", u"It'll"), (u"lt'Il", u"It'll"), (u'ltjammed_', u'It jammed.'), (u"lt'll", u"It'll"), (u'ltold', u'I told'), (u"lt's", u"It's"), (u"lT'S", u"IT'S"), (u"Lt'S", u"It's"), (u"Lt'sjust", u"It's just"), (u"lv\\/asn't", u"I wasn't"), (u"l've", u"I've"), (u"L've", u"I've"), (u'lVIan', u'Man'), (u'lVIcHenry', u'McHenry'), (u'lVIr.', u'Mr.'), (u'lVlacArthur', u'MacArthur'), (u'LVlore', u'More'), (u'lVlr', u'Mr'), (u'lVlr.', u'Mr.'), (u'lvluslc', u'MUSIC'), (u'lVlust', u'Must'), (u'LVly', u'Lily'), (u'lwaited', u'I waited'), (u'lwamoto', u'Iwamoto'), (u'lwant', u'I want'), (u'lwanted', u'I wanted'), (u'lwas', u'I was'), (u'lwill', u'I will'), (u"lwon't", u"I won't"), (u'lworked', u'I worked'), (u'lwould', u'I would'), (u"lwould've", u"I would've"), (u'lx/Iorning', u'Morning'), (u'M/dd/e', u'Middle'), (u'm/g/7ty', u'mighty'), (u'MACH/NE', u'MACHINE'), (u'MacKenz/e', u'MacKenzie'), (u'majorjackpot', u'major jackpot'), (u'majormuscle', u'major muscle'), (u'Manuela_', u'Manuela.'), (u'maste/y', u'mastery'), (u'Masturhate', u'Masturbate'), (u'Mattei_', u'Mattei.'), (u'mayjust', u'may just'), (u'mbecause', u'"because'), (u'McCa/Iister', u'McCallister'), (u'McCallisler', u'McCallister'), (u'Mccallister', u'McCallister'), (u'Mccallisters', u'McCallisters'), (u"mcm's", u"mom's"), (u'mcney', u'money'), (u'mcral', u'moral'), (u'mcre', u'more'), (u'mcve', u'move'), (u'mejust', u'me just'), (u'Mexioo', u'Mexico'), (u'mi//<', u'milk'), (u'misfartune', u'misfortune'), (u'Ml6', u'MI6'), (u'Mlnd', u'Mind'), (u"Mock/'ngbl'rd", u'Mockingbird'), (u"mOI'\u20ac", u'more'), (u'Mom_', u'Mom.'), (u'monkeyback', u'monkey back'), (u'move___l', u'move... I'), (u'moveto', u'move to'), (u'mustknock', u'must knock'), (u'Myheart', u'My heart'), (u'myjch', u'my job'), (u'myjet', u'my jet'), (u'myjob', u'my job'), (u'Myjob', u'My job'), (u"myjob's", u"my job's"), (u'mylife', u'my life'), (u'Mynew', u'My new'), (u'myown', u'my own'), (u'mypants', u'my pants'), (u'myselli', u'myself'), (u'Myshoes', u'My shoes'), (u'mysong', u'my song'), (u'mytemper', u'my temper'), (u'mythumb', u'my thumb'), (u'Myworld', u'My world'), (u'N0', u'No'), (u'narne', u'name'), (u'Natians', u'Nations'), (u'naTve', u'naive'), (u'nc', u'no'), (u'Nc', u'No'), (u'ncne', u'none'), (u'Ncrth', u'North'), (u'ncw', u'new'), (u'Ncw', u'Now'), (u'needyou', u'need you'), (u'neighboun', u'neighbour'), (u'neverfound', u'never found'), (u'neverthere', u'never there'), (u'neverv\\/ill_', u'never will.'), (u'NewJersey', u'New Jersey'), (u'newjob', u'new job'), (u'newjobs', u'new jobs'), (u'nextdoor', u'next door'), (u'Nighw', u'Nighty'), (u'nilios', u'ni\xf1os'), (u'Nlagnificence', u'Magnificence'), (u'Nlakes', u'Makes'), (u'Nlalina', u'Malina'), (u'Nlan', u'Man'), (u'Nlarch', u'March'), (u'Nlarine', u'Marine'), (u'Nlarion', u'Marion'), (u'Nlarry', u'Marry'), (u'Nlars', u'Mars'), (u'Nlarty', u'Marty'), (u'Nle', u'Me'), (u'Nleet', u'Meet'), (u'Nlen', u'Men'), (u'Nlom', u'Mom'), (u'Nlore', u'More'), (u'Nlornin', u'Mornin'), (u'Nlother', u'Mother'), (u'Nlr', u'Mr'), (u'Nlr.', u'Mr.'), (u'Nlrs', u'Mrs'), (u'Nluch', u'Much'), (u'nojurisdiction', u'no jurisdiction'), (u'noone', u'no one'), (u'Noone', u'No one'), (u'not judging', u'not judging'), (u'notgoing', u'not going'), (u'notjunk', u'not junk'), (u'Notjunk', u'Not junk'), (u'notjust', u'not just'), (u'notsure', u'not sure'), (u'novv', u'now'), (u'Nowjust', u'Now just'), (u"Nowthat's", u"Now that's"), (u'Numbertwo', u'Number two'), (u"oan't", u"can't"), (u"oan'tjust", u"can't just"), (u'objecl', u'object'), (u'occultpowerand', u'occult power and'), (u'Ocps', u'Oops'), (u'ofa', u'of a'), (u'ofajudge', u'of a judge'), (u'ofall', u'of all'), (u'Ofall', u'Of all'), (u'ofBedford', u'of Bedford'), (u'ofcourse', u'of course'), (u'Ofcourse', u'Of course'), (u'ofeach', u'of each'), (u'ofeither', u'of either'), (u"Offioer's", u"Officer's"), (u'ofFrance', u'of France'), (u'offreedom', u'of freedom'), (u'offthe', u'off the'), (u'offthis', u'off this'), (u'offto', u'off to'), (u'offun', u'of fun'), (u'ofguy', u'of guy'), (u'Ofhce', u'Office'), (u'ofhis', u'of his'), (u'ofHis', u'of His'), (u'ofhoneybees', u'of honeybees'), (u'ofit', u'of it'), (u'ofjam', u'of jam'), (u'OFJOAN', u'OF JOAN'), (u'ofjoy', u'of joy'), (u'ofjunior', u'of junior'), (u'ofme', u'of me'), (u'ofmead', u'of mead'), (u'ofmicroinjections', u'of microinjections'), (u'ofmy', u'of my'), (u'ofNew', u'of New'), (u"ofNorris'", u"of Norris'"), (u'ofopinions', u'of opinions'), (u'ofour', u'of our'), (u'ofpeopla', u'of people'), (u'ofthat', u'of that'), (u'ofthe', u'of the'), (u'Ofthe', u'Of the'), (u'oftheir', u'of their'), (u'ofthem', u'of them'), (u"ofthem's", u"of them's"), (u'ofthemselves', u'of themselves'), (u'ofthere', u'of there'), (u'ofthese', u'of these'), (u'ofthings', u'of things'), (u'ofthis', u'of this'), (u'ofthlngs', u'of things'), (u'ofthose', u'of those'), (u'ofuse', u'of use'), (u'ofwashington', u'of Washington'), (u'ofyou', u'of you'), (u'ofyour', u'of your'), (u'OId', u'Old'), (u'OIsson', u'Olsson'), (u'Ok3Y', u'Okay'), (u'okaY', u'okay'), (u'OkaY', u'Okay'), (u'OKaY', u'Okay'), (u'OKGY', u'Okay'), (u'Ol<', u'Ole'), (u'oldAdolfon', u'old Adolf on'), (u'onboard', u'on board'), (u'onIy', u'only'), (u'onIything', u'only thing'), (u'onJanuaw', u'on January'), (u'onlyjust', u'only just'), (u'Onyinal', u'Original'), (u'oomprise', u'comprise'), (u'oonstitution', u'constitution'), (u"oouldn't", u"couldn't"), (u"oould've", u"could've"), (u"oousin's", u"cousin's"), (u'opiimistically', u'optimistically'), (u'ora', u'or a'), (u'orfall', u'or fall'), (u'orglory', u'or glory'), (u'orjust', u'or just'), (u'Orjust', u'Or just'), (u'Orthat', u'Or that'), (u'orwould', u'or would'), (u'Orwould', u'Or would'), (u'Othenzvise', u'Otherwise'), (u'our joumey', u'our journey'), (u'ourbrave', u'our brave'), (u'ourfathers', u'our fathers'), (u'ourgirlon', u'our girl on'), (u'Ourgoal', u'Our goal'), (u'Ourguy', u'Our guy'), (u"ourj0b's", u"our job's"), (u"Ourj0b's", u"Our job's"), (u'ourjobs', u'our jobs'), (u"ourjob's", u"our job's"), (u"Ourjob's", u"Our job's"), (u'ourjoumey', u'our journey'), (u'ourphotos', u'our photos'), (u'ourv\\/ay', u'our way'), (u"outlool<'s", u"outlook's"), (u'overme', u'over me'), (u'overthe', u'over the'), (u'overthere', u'over there'), (u'p/ace', u'place'), (u'P/ease', u'Please'), (u'p_m_', u'p.m.'), (u'P\xb0P$', u'Pops'), (u'PANUNG', u'PANTING'), (u'pclnt', u'point'), (u'pclnts', u'points'), (u'pe0pIe', u'people'), (u'Perrut_', u'Perrut.'), (u'Persona/4/', u'Personally'), (u'Persona/y', u'Personally'), (u'persors', u"person's"), (u'PIain', u'Plain'), (u'PIease', u'Please'), (u'PIeasure', u'Pleasure'), (u'PIus', u'Plus'), (u'pleasurlng', u'pleasuring'), (u'POIe', u'Pole'), (u'Polynes/ans', u'Polynesians'), (u'poorshowing', u'poor showing'), (u'popsicle', u'Popsicle'), (u'Presidenfs', u"President's"), (u'probablyjust', u'probably just'), (u'puIIing', u'pulling'), (u'Putyourhand', u'Put your hand'), (u'Qh', u'Oh'), (u'QkaY', u'Okay'), (u'Qpen', u'Open'), (u'QUYS', u'GUYS'), (u'_QW', u'Aw'), (u'r/ght', u'right'), (u'ralnbow', u'rainbow'), (u'ratherjump', u'rather jump'), (u'ratherjust', u'rather just'), (u'Rcque', u'Roque'), (u'rcscucd', u'rescued'), (u'rea/', u'real'), (u'readytolaunchu', u'ready to launch...'), (u'reaHy', u'really'), (u'ReaHy', u'Really'), (u'reallyjust', u'really just'), (u'reallymiss', u'really miss'), (u'reallytalked', u'really talked'), (u'reallythink', u'really think'), (u'reallythinkthis', u'really think this'), (u'rememberthem', u'remember them'), (u'reoalibrated', u'recalibrated'), (u'retum', u'return'), (u'rhfluence', u'influence'), (u'rightdown', u'right down'), (u'roadyou', u'road you'), (u'RUMBUNG', u'RUMBLING'), (u's/uggikh', u'sluggish'), (u'S0', u'So'), (u'S1oW1y', u'Slowly'), (u'saidyou', u'said you'), (u"sayeverything's", u"say everything's"), (u'saynothing', u'say nothing'), (u'saythat', u'say that'), (u'sc', u'so'), (u'scientihc', u'scientific'), (u'SCREAIVHNG', u'SCREAMING'), (u'sCREAlvllNG', u'SCREAMING'), (u'SCREAlvllNG', u'SCREAMING'), (u'scund', u'sound'), (u"S'EOp", u'Stop'), (u'severa/parents', u'several parents'), (u'sfill', u'still'), (u'S\ufb02ence', u'Silence'), (u'shallrise', u'shall rise'), (u'sHATTERING', u'SHATTERING'), (u'shcws', u'shows'), (u'Shdsjust', u"She's just"), (u'She`s', u"She's"), (u'She\u2018II', u"She'll"), (u"she'II", u"she'll"), (u"She'II", u"She'll"), (u"she'Il", u"she'll"), (u'Shejust', u'She just'), (u"she'lI", u"she'll"), (u'Shoofing', u'Shooting'), (u'ShOp', u'shop'), (u'shortyears', u'short years'), (u'shou/dn', u'shouldn\u2019t'), (u'shou\ufb01ng', u'shouting'), (u'Shou\ufb02ng', u'Shouting'), (u'shouldnt', u"shouldn't"), (u'Shouldrt', u"Shouldn't"), (u'shouldrt', u"shouldn't"), (u"Shs's", u"She's"), (u'SHUDDERWG', u'SHUDDERING'), (u'Shutup', u'Shut up'), (u'SIGH$', u'SIGHS'), (u'signifcance', u'significance'), (u'Sincc', u'Since'), (u'sistervvill', u'sister will'), (u'Skarsg\xe9rd', u'Skarsg\xe5rd'), (u'slcsHs', u'SIGHS'), (u'slGHINcs', u'SIGHING'), (u'slGHING', u'SIGHING'), (u'slNGING', u'SINGING'), (u'slzzLING', u'SIZZLING'), (u'smarfest', u'smartest'), (u'Smiih', u'Smith'), (u'so/id', u'solid'), (u'SoBl3lNG', u'SOBBING'), (u'soemtimes', u'sometimes'), (u'Sojust', u'So just'), (u'soldierl', u'soldier!'), (u'somethlng', u'something'), (u"somethlng's", u"something's"), (u"somez'/7/ng", u'something'), (u'somthing', u'something'), (u'sumthing', u'something'), (u'sou/', u'soul'), (u'SoundofMusic', u'Sound of Music'), (u'SP/ash', u'Splash'), (u'SPEAK/NG', u'SPEAKING'), (u'speII', u'spell'), (u"speII's", u"spell's"), (u'Spendourtime', u'Spend our time'), (u'sQUA\\/\\/KING', u'SQUAWKING'), (u'StAnton', u'St Anton'), (u'stealsjeans', u'steals jeans'), (u'StilI', u'Still'), (u'Stilldesperatelyseeking', u'Still desperately seeking'), (u'stlll', u'still'), (u'sToPs', u'STOPS'), (u'storyl', u'story!'), (u'Stubbom', u'Stubborn'), (u'su/faces', u'surfaces'), (u'suffocaiing', u'suffocating'), (u'summerjob', u'summer job'), (u'Summerjust', u'Summer just'), (u'sun/ive', u'survive'), (u'superiorman', u'superior man'), (u'sur\ufb02aces', u'surfaces'), (u't/ying', u'trying'), (u'T0', u'To'), (u'T00', u'Too'), (u'ta/ks', u'talks'), (u'taiked', u'talked'), (u'talkto', u'talk to'), (u'Talkto', u'Talk to'), (u'talktonight', u'talk tonight'), (u'tampax', u'Tampax'), (u'tc', u'to'), (u'tcday', u'today'), (u'tcrturing', u'torturing'), (u'tcuch', u'touch'), (u'te//', u'tell'), (u'tearjust', u'tear just'), (u'tellsjokes', u'tells jokes'), (u'tellyou', u'tell you'), (u'terriers_', u'terriers.'), (u'th/nk', u'think'), (u'THEPASSION', u'THE PASSION'), (u'thafs', u"that's"), (u'Thafs', u"That's"), (u"Thai's", u"That's"), (u"Thal's", u"That's"), (u'thankyou', u'thank you'), (u'Thankyou', u'Thank you'), (u'thatconverts', u'that converts'), (u'thatgoes', u'that goes'), (u"that'II", u"that'll"), (u"That'II", u"That'll"), (u'thatjob', u'that job'), (u'thatjunk', u'that junk'), (u'thatjust', u'that just'), (u'thatleads', u'that leads'), (u"Thatl'm", u"That I'm"), (u"that's just", u"that's just"), (u'Thatsand', u'That sand'), (u"that'sjust", u"that's just"), (u"That'sjust", u"That's just"), (u'Thc', u'The'), (u'theirface', u'their face'), (u'theirfeet', u'their feet'), (u'theirfury', u'their fury'), (u'thejaw', u'the jaw'), (u'thejoint', u'the joint'), (u'thejudge', u'the judge'), (u'thejudges', u'the judges'), (u'Thejudges', u'The judges'), (u'thejury', u'the jury'), (u'Thelook', u'The look'), (u'Therds', u"There's"), (u"There'II", u"There'll"), (u"There'Il", u"There'll"), (u"There'lI", u"There'll"), (u"They'/'e", u"They're"), (u"they/'II", u"they'll"), (u'They/re', u"They're"), (u"They/'re", u"They're"), (u"they'II", u"they'll"), (u"they'Il", u"they'll"), (u'theyjust', u'they just'), (u'Theyjust', u'They just'), (u"they'lI", u"they'll"), (u"They'lI", u"They'll"), (u'theyre', u"they're"), (u'theysay', u'they say'), (u'thinkthat', u'think that'), (u"this'II", u"this'll"), (u'thlngs', u'things'), (u'Thlnkthls', u'Think this'), (u'thls', u'this'), (u"thore's", u"there's"), (u"Thore's", u"There's"), (u'Thorjust', u'Thor just'), (u"thoughtl'dletyou", u"thought I'd let you"), (u'tnatjust', u'that just'), (u"tnat's", u"that's"), (u"Tnat's", u"That's"), (u"Tnere'll", u"There'll"), (u'to//et', u'toilet'), (u'To//S', u'Tolls'), (u"todayl'd", u"today I'd"), (u'togelher', u'together'), (u'togethen', u'together'), (u'tojoin', u'to join'), (u'tojudge', u'to judge'), (u'toldyou', u'told you'), (u'tomorrovv', u'tomorrow'), (u'Tonighfsjust', u"Tonight's just"), (u'totake', u'to take'), (u'totalk', u'to talk'), (u'tothat', u'to that'), (u'tothe', u'to the'), (u'Towef', u'Tower'), (u'Tr/ck/ing', u'Trickling'), (u'Traitur', u'Traitor'), (u'tv\\/o', u'two'), (u'tvvelve', u'twelve'), (u'Tvvelve', u'Twelve'), (u'tvventy', u'tvventy'), (u'Tvventy', u'Tvventy'), (u'tvvo', u'two'), (u'Tvvo', u'Two'), (u'twc', u'two'), (u'unconhrmed', u'unconfirmed'), (u'underthat', u'under that'), (u'underthe', u'under the'), (u'underthese', u'under these'), (u'underyour', u'under your'), (u'unfilyou', u'until you'), (u"Unfon'unate/y", u'Unfortunately'), (u'Uninnabited', u'Uninhabited'), (u'untilApril', u'until April'), (u'untilyou', u'until you'), (u'upthinking', u'up thinking'), (u'upto', u'up to'), (u'V\\/ait___', u'Wait...'), (u'v\\/as', u'was'), (u'V\\/as', u'Was'), (u'V\\/e', u'We'), (u"v\\/eek's", u"week's"), (u'V\\/eird_', u'Weird.'), (u'V\\/ell', u'Well'), (u'V\\/hat', u'what'), (u"V\\/hen'll", u"When'll"), (u'V\\/ho', u'Who'), (u"v\\/ho'll", u"who'll"), (u'v\\/Hoops', u'Whoops'), (u"v\\/ho's", u"who's"), (u"V\\/ho's", u"Who's"), (u'V\\/hy', u'Why'), (u'v\\/ith', u'with'), (u"v\\/on't", u"won't"), (u'V\\fith', u'With'), (u'V\\fithin', u'Within'), (u'valedictolian', u'valedictorian'), (u'vcice', u'voice'), (u've/y', u'very'), (u'veiy', u'very'), (u'V\xe9ry', u'Very'), (u'versioin', u'version'), (u'vi/ay', u'way'), (u'visitjails', u'visit jails'), (u"Viva/di's", u"Vivaldi's"), (u'vlll', u'vill'), (u'Voil\xe1', u'Voil\xe0'), (u'Voil\xe9', u'Voil\xe0'), (u'vvasjust', u'was just'), (u"VVasn't", u"Wasn't"), (u'vvay', u'way'), (u'VVe', u'We'), (u"VVe'II", u"We'll"), (u"VVe'll", u"We'll"), (u'Vvelooked', u'We looked'), (u"VVe're", u"We're"), (u"VVe've", u"We've"), (u'VVhat', u'What'), (u"VVhat's", u"What's"), (u"VVhat'S", u"What's"), (u'VVhen', u'When'), (u"'v'Vhere's", u"Where's"), (u'VVhip', u'Whip'), (u'vvHooPING', u'WHOOPING'), (u'VvHooPING', u'WHOOPING'), (u'VVhy', u'Why'), (u'VVill', u'Will'), (u'VVinters', u'Winters'), (u'vvlND', u'WIND'), (u"w\xa4n't", u"won't"), (u'W9', u'We'), (u'waht', u'want'), (u'waierfall', u'waterfall'), (u'walkjust', u'walk just'), (u'wallplant', u'wall plant'), (u'wannajump', u'wanna jump'), (u'wantyou', u'want you'), (u'Warcontinues', u'War continues'), (u'wasjennifer', u'was Jennifer'), (u'wasjust', u'was just'), (u'wasrt', u"wasn't"), (u'Wasrt', u"Wasn't"), (u'wayl', u'way I'), (u'wayround', u'way round'), (u'wclf', u'wolf'), (u'wcman', u'woman'), (u'wcmen', u'women'), (u"wcn't", u"won't"), (u'wcrse', u'worse'), (u'wculd', u'would'), (u'We//', u'Well'), (u'We/came', u'Welcome'), (u'we/come', u'welcome'), (u'We/come', u'Welcome'), (u'We/I', u'Well'), (u'weekendjust', u'weekend just'), (u'werert', u"weren't"), (u'Werert', u"Weren't"), (u"we'II", u"we'll"), (u"We'II", u"We'll"), (u"we'Il", u"we'll"), (u"We'Il", u"We'll"), (u'wejust', u'we just'), (u"we'lI", u"we'll"), (u"We'rejust", u"We're just"), (u"We'ro", u"We're"), (u"We'Ve", u"We've"), (u'wh/p', u'whip'), (u'Wh\xb0ops', u'Whoops'), (u'Whafs', u"What's"), (u'Whatam', u'What am'), (u'Whatare', u'What are'), (u'Whateverwe', u'Whatever we'), (u"What'II", u"What'll"), (u'Whatis', u'What is'), (u'whatjust', u'what just'), (u'Whatl', u'What I'), (u'whatshe', u'what she'), (u'whatwe', u'what we'), (u"Whc's", u"Who's"), (u'Whcse', u'Whose'), (u'wHlsPERs', u'WHISPERS'), (u'wi//', u'will'), (u'wil/', u'will'), (u'Wil/', u'Will'), (u'wilI', u'will'), (u'willbe', u'will be'), (u'willhire', u'will hire'), (u'willneverknow', u'will never know'), (u'willyou', u'will you'), (u'wlfe', u'wife'), (u"wlfe's", u"wife's"), (u'wlth', u'with'), (u"wnat's", u"what's"), (u'Wno', u'Who'), (u'Wo/f', u'Wolf'), (u'wo\ufb02d', u'world'), (u"WOI'1't", u"won't"), (u'wondernobody', u'wonder nobody'), (u"won'T", u"won't"), (u"won'tanswerme", u"won't answer me"), (u"won'tforget", u"won't forget"), (u"won'tletitbring", u"won't let it bring"), (u"Wo're", u"We're"), (u'worfd', u'world'), (u"won'th", u'worth'), (u"won'thwhile", u'worthwhile'), (u'workyou', u'work you'), (u"wouIdn't", u"wouldn't"), (u"wouldn'!", u"wouldn't"), (u'Wouldrt', u"Wouldn't"), (u"wr/'2'/ng", u'writing'), (u'writign', u'writing'), (u'wrcng', u'wrong'), (u'wuuld', u'would'), (u'_Yay', u'Yay'), (u"Y\xa4u'II", u"You'll"), (u"Y\xa4u'll", u"You'll"), (u"y\xa4u're", u"you're"), (u"Y\xa4u're", u"You're"), (u"y\xa4u've", u"you've"), (u'Y0', u'Yo'), (u'y0LI', u'you'), (u"y0u'II", u"you'll"), (u"Y0u'rc", u"You're"), (u"Y0u're", u"You're"), (u"Y0u've", u"You've"), (u'yaming', u'yarning'), (u'yaurparents', u'your parents'), (u'ycu', u'you'), (u"ycu'd", u"you'd"), (u'ycur', u'your'), (u"Ycu're", u"You're"), (u'Ycursins', u'Your sins'), (u'YEI_I_', u'YELL'), (u'YELL$', u'YELLS'), (u'yigg/mg', u'giggling'), (u'Yigg/mg', u'giggling'), (u'yoLI', u'you'), (u'yOu', u'you'), (u'yOU', u'you'), (u'you`re', u"you're"), (u"you'II", u"you'll"), (u"You'II", u"You'll"), (u"You'Il", u"You'll"), (u'youjack', u'you jack'), (u'youjoin', u'you join'), (u'Youjoin', u'You join'), (u'youjust', u'you just'), (u"You'lI", u"You'll"), (u'youngsterlike', u'youngster like'), (u'youpick', u'you pick'), (u"you'ra", u"you're"), (u'Yourattention', u'Your attention'), (u'yourautomobile', u'your automobile'), (u"You'rejustjealous", u"You're just jealous"), (u'yourextra', u'your extra'), (u'yourfather', u'your father'), (u'yourhand', u'your hand'), (u'yourhusband', u'your husband'), (u'yourjewelry', u'your jewelry'), (u'yourjob', u'your job'), (u'Yourjob', u'Your job'), (u'yourjob_', u'your job.'), (u'yourjockey', u'your jockey'), (u'yourjury', u'your jury'), (u'yourname', u'your name'), (u'Yourpackage', u'Your package'), (u'yourpackage', u'your package'), (u"you'ro", u"you're"), (u'yourpoorleg', u'your poor leg'), (u'yourvveak', u'your weak'), (u"you'va", u"you've"), (u"You'va", u"You've"), (u'youWlneversee', u"you'll never see"), (u'yQu', u'you'), (u'YQu', u'You'), (u"yQu'_7", u'you?'), (u'yummY', u'yummy'), (u'yuu', u'you'), (u'Yuu', u'You'), (u"Yuu've", u"You've"), (u"z'housand", u'thousand'), (u'zlPPING', u'ZIPPING'), (u'Ifslocked', u"It's locked"), (u'nightjust', u'night just'), (u'dayjourney', u'day journey'), (u'Ourjob', u'Our job'), (u'IunCh', u'lunch'), (u'nieCe', u'niece'), (u'giVes', u'gives'), (u'wantto', u'want to'), (u'besttoday', u'best today'), (u'NiCe', u'Nice'), (u'oftravelling', u'of travelling'), (u'oftwo', u'of two'), (u'ALl', u'ALI'), (u'afterparty', u'after-party'), (u'welL', u'well.'), (u'theirjob', u'their job'), (u"lfhe's", u"If he's"), (u'babyjesus', u'baby Jesus'), (u'shithousejohn', u'shithouse John'), (u'jesus', u'Jesus'), (u'withjesus', u'with Jesus'), (u'Gojoin', u'Go join'), (u'Adaughter', u'A daughter'), (u'talkwith', u'talk with'), (u'anyjournals', u'any journals'), (u"L'mjewish", u"I'm Jewish"), (u'arejust', u'are just'), (u'soundjust', u'sound just'), (u"ifl'm", u"if I'm"), (u'askyou', u'ask you'), (u'ordinarywoman', u'ordinary woman'), (u'andjunkies', u'and junkies'), (u'isjack', u'is Jack'), (u'helpyou', u'help you'), (u'thinkyou', u'think you'), (u'Lordjesus', u'Lord Jesus'), (u'injuvy', u'in juvy'), (u'thejets', u'the jets'), (u'ifGod', u'if God'), (u'againstjewish', u'against Jewish'), (u'ajunkie', u'a junkie'), (u'dearjesus', u'dear Jesus'), (u'hearyour', u'hear your'), (u'takeyears', u'take years'), (u'friendjean', u'friend Jean'), (u'Fatherjohn', u'Father John'), (u'youjean', u'you Jean'), (u'hearyou', u'hear you'), (u'Ifshe', u'If she'), (u"didn'tjust", u"didn't just"), (u'IfGod', u'If God'), (u'notjudge', u'not judge'), (u'andjudge', u'and judge'), (u'OKBY', u'Okay'), (u'myjourney', u'my journey'), (u'yourpremium', u'your premium'), (u"we'rejust", u"we're just"), (u'Iittlejokes', u'little jokes'), (u'Iifejust', u'life just'), (u'Andjust', u'And just'), (u'ofThe', u'of The'), (u'lifejust', u'life just'), (u'AIice', u'Alice'), (u'lnternationalAirport', u'International Airport'), (u'yourbody', u'your body'), (u'DollarBaby', u'Dollar Baby'), (u'ofjonesing', u'of jonesing'), (u'yourpanties', u'your panties'), (u'offforme', u'off for me'), (u'pantyparty', u'panty party'), (u'everhit', u'ever hit'), (u'theirhomes', u'their homes'), (u'AirForce', u'Air Force'), (u'yourhead', u'your head'), (u'betterbe', u'better be'), (u'myparty', u'my party'), (u'disasterlockdown', u'disaster lockdown'), (u"Ifpot's", u"If pot's"), (u'ifmy', u'if my'), (u'yourmoney', u'your money'), (u'Potterfan', u'Potter fan'), (u'Hermionejust', u'Hermione just'), (u'ofourshit', u'of our shit'), (u'showyou', u'show you'), (u'answernow', u'answer now'), (u'theirsjust', u'theirs just'), (u'BIackie', u'Blackie'), (u'SIeep', u'Sleep'), (u'foryour', u'for your'), (u'oryour', u'or your'), (u'forArthur', u'for Arthur'), (u'CIamp', u'Clamp'), (u'CIass', u'Class'), (u'CIose', u'Close'), (u'GIove', u'Glove'), (u'EIIen', u'Ellen'), (u'PIay', u'Play'), (u'PIace', u'Place'), (u'EIgyn', u'Elgyn'), (u'AIert', u'Alert'), (u'CIaus', u'Claus'), (u'CIimb', u'Climb'), (u"military'II", u"military'll"), (u'anylonget', u'any longer'), (u'yourlife', u'your life'), (u"Yourbitch'IIgetyou", u"Your bitch'll get you"), (u'yourdick', u'your dick'), (u'Tellyourbitch', u'Tell your bitch'), (u'rememberyou', u'remember you'), (u'newface', u'new face'), (u'Butyou', u'But you'), (u"don'tyou", u"don't you"), (u'yourlives', u'your lives'), (u'Iovedher', u'loved her'), (u'reallydid', u'really did'), (u'firstperson', u'first person'), (u'mybest', u'my best'), (u'Justgive', u'Just give'), (u'AIong', u'Along'), (u'atyourbody', u'at your body'), (u'myhands', u'my hands'), (u'sayhe', u'say he'), (u'mybooty', u'my booty'), (u'yourbooty', u'your booty'), (u'yourgirl', u'your girl'), (u'yourlegs', u'your legs'), (u'betterifthey', u'better if they'), (u'manybeautiful', u'many beautiful'), (u'contactpolice', u'contact police'), (u'numberbelow', u'number below'), (u'biggestproblem', u'biggest problem'), (u'Itgave', u'It gave'), (u'everybodykind', u'everybody kind'), (u'theyhad', u'they had'), (u'knowherlast', u'know her last'), (u'herhearing', u'her hearing'), (u'othermembers', u'other members'), (u'BIing', u'Bling'), (u'CIyde', u'Clyde'), (u'foundguilty', u'found guilty'), (u'fouryears', u'four years'), (u'countyjail', u'county jail'), (u'yearin', u'year in'), (u'theirrole', u'their role'), (u'manybottles', u'many bottles'), (u"can'tpronounce", u"can't pronounce"), (u'manybowls', u'many bowls'), (u'ofthatgreen', u'of that green'), (u'manyjoyrides', u'many joyrides'), (u'Superrich', u'Super rich'), (u'Iprefer', u'I prefer'), (u'Theymust', u'They must'), (u'whatyou', u'what you'), (u"I'IIjump", u"I'll jump"), (u'nobodyknow', u'nobody know'), (u'neverknew', u'never knew'), (u'EIectronica', u'Electronica'), (u'AIarm', u'Alarm'), (u'getyourman', u'get your man'), (u'sayyou', u'say you'), (u'getyour', u'get your'), (u'Fuckyou', u'Fuck you'), (u'Whyyou', u'Why you'), (u'butyoujust', u'but you just'), (u'forgetyourname', u'forget your name'), (u'Whatyou', u'What you'), (u"Co/'ncidenta//y", u'Coincidentally'), (u'GIad', u'Glad'), (u'RachelMarron', u'Rachel Marron'), (u"She'llgive", u"She'll give"), (u'presidentialsuite', u'presidential suite'), (u'andgentlemen', u'and gentlemen'), (u'willnot', u'will not'), (u'ourproducers', u'our producers'), (u"Ifshe's", u"If she's"), (u'CIock', u'Clock'), (u'Ishould', u'I should'), (u"I'llgo", u"I'll go"), (u'maypass', u'may pass'), (u'andprotecting', u'and protecting'), (u'BIessed', u'Blessed'), (u'CIean', u'Clean'), (u'SIave', u'Slave'), (u'AIi', u'Ali'), (u'AIIah', u'Allah'), (u'AIIahu', u'Allahu'), (u'CIick', u'Click'), (u'BIast', u'Blast'), (u'AIlah', u'Allah'), (u'SIow', u'Slow'), (u'theirpolicies', u'their policies'), (u'Orperhaps', u'Or perhaps'), (u'ofsex', u'of sex'), (u'forpleasure', u'for pleasure'), (u'ourpower', u'our power'), (u'Yourpiece', u'Your piece'), (u'Offioers', u'Officers'), (u'oondesoended', u'condescended'), (u'myseif', u'myself'), (u"let'sjust", u'let\u2019s just'), (u'yourway', u'your way'), (u'An9TY', u'Angry'), (u'ourjourney', u'our journey'), (u'LuCY', u'Lucy'), (u"\\'m", u'I\u2019m'), (u'CEDR/C', u'CEDRIC'), (u'lsaac', u'Isaac'), (u'FIy', u'Fly'), (u'Ionger', u'longer'), (u'Iousy', u'lousy'), (u'Iosing', u'losing'), (u"They'II", u"They'll"), (u'yourpaws', u'your paws'), (u'littie', u'little'), (u"It'lljust", u"It'll just"), (u'AIso', u'Also'), (u'Iisten', u'listen'), (u'suPPosed', u'supposed'), (u'somePIace', u'someplace'), (u'exPIain', u'explain'), (u'Iittle', u'little'), (u'StoP', u'Stop'), (u'AIways', u'Always'), (u'Iectures', u'lectures'), (u'Iow', u'low'), (u'Ieaving', u'leaving'), (u'Ietting', u'letting'), (u'Iistening', u'listening'), (u'Iecture', u'lecture'), (u'Iicking', u'licking'), (u'Iosses', u'losses'), (u'PIeased', u'Pleased'), (u'ofburglaries', u'of burglaries'), (u"He'sjust", u"He's just"), (u'mytrucktoo', u'my truck too'), (u'nowwhat', u'now what'), (u'yourfire', u'your fire'), (u"herwhat's", u"her what's"), (u'hearthat', u'hear that'), (u'oryou', u'or you'), (u'preferjournalist', u'prefer journalist'), (u'CIaw', u'Claw'), (u'Ifour', u'If our'), (u'lron', u'Iron'), (u"It'syour", u"It's your"), (u'lfstill', u'If still'), (u'forjoining', u'for joining'), (u'foryears', u'for years'), (u'Ifit', u'If it'), (u'notjump', u'not jump'), (u'ourproblem', u'our problem'), (u'yourprofile', u'your profile'), (u'ifJanine', u'if Janine'), (u'forpreventative', u'for preventative'), (u'whetherprotest', u'whether protest'), (u'Ifnot', u'If not'), (u'ourpeople', u'our people'), (u'offmy', u'off my'), (u'forproviding', u'for providing'), (u'hadjust', u'had just'), (u'nearyou', u'near you'), (u'whateveryou', u'whatever you'), (u'hourputs', u'hour puts'), (u'timejob', u'time job'), (u'overyour', u'over your'), (u'orpermanent', u'or permanent'), (u'createjobs', u'create jobs'), (u"I'vejust", u"I've just"), (u'peoplejobs', u'people jobs'), (u'dinnerpail', u'dinner pail'), (u'hasjumped', u'has jumped'), (u'theirprivacy', u'their privacy'), (u'AIl', u'All'), (u'ofserious', u'of serious'), (u'yourprofessional', u'your professional'), (u'poiitical', u'political'), (u'tojump', u'to jump'), (u'iives', u'lives'), (u'eiections', u'elections'), (u'militaryjuntas', u'military juntas'), (u'nojoke', u'no joke'), (u'yourpresidency', u'your presidency'), (u'ofmilitaryjuntas', u'of military juntas'), (u'Ourproposal', u'Our proposal'), (u'LeBIanc', u'LeBlanc'), (u'KIaus', u'Klaus'), (u'yourpussy', u'your pussy'), (u'lNTERVIEWER', u'INTERVIEWER'), (u'lNAUDIBLE', u'INAUDIBLE'), (u'SImpsons', u'Simpsons'), (u'anotherjob', u'another job'), (u'lfthere', u'If there'), (u'descentinto', u'descent into'), (u'ofthathere', u'of that here'), (u'ofway', u'of way'), (u'yourseat', u'your seat'), (u'allyou', u'all you'), (u'Allyou', u'All you'), (u'yourass', u'your ass'), (u'Yourbutt', u'Your butt'), (u'iustiiggle', u'just jiggle'), (u'iust', u'just'), (u'CSi', u'CSI'), (u'affernoon', u'afternoon'), (u'orpersecution', u'or persecution'), (u'theirpetty', u'their petty'), (u'Fourpercent', u'Four percent'), (u'fourpercent', u'four percent'), (u'willjust', u'will just'), (u"Ifyou're", u"If you're"), (u'ourplanet', u'our planet'), (u'lsolation', u'Isolation'), (u'yourprimitive', u'your primitive'), (u'yourplanet', u'your planet'), (u'matteryour', u'matter your'), (u'Yourplace', u'Your place'), (u'andjustice', u'and justice'), (u'anotherpart', u'another part'), (u'confiict', u'conflict'), (u'growingjeopardy', u'growing jeopardy'), (u'hasjust', u'has just'), (u'havejust', u'have just'), (u'herselfinto', u'herself into'), (u'ifnecessary', u'if necessary'), (u"we'vejust", u"we've just"), (u'tojust', u'to just'), (u'yourjudgment', u'your judgment'), (u'yourjeans', u'your jeans'), (u'Youjust', u'You just'), (u'ajanitor', u'a janitor'), (u'FIattery', u'Flattery'), (u'myjournal', u'my journal'), (u'myjudgment', u'my judgment'), (u'offofmy', u'off of my'), (u'offyour', u'off your'), (u'ofgood', u'of good'), (u'ofguilty', u'of guilty'), (u'ofhaving', u'of having'), (u'ofheart', u'of heart'), (u'ofhonor', u'of honor'), (u'oflove', u'of love'), (u'ofmankind', u'of mankind'), (u'ofmany', u'of many'), (u'ofnormal', u'of normal'), (u'ofpeople', u'of people'), (u'ofpower', u'of power'), (u'ofsuch', u'of such'), (u'peoplejust', u'people just'), (u"They'rejust", u"They're just"), (u'tojeopardize', u'to jeopardize'), (u'Yourplaces', u'Your places'), (u'yourposition', u'your position'), (u'yourselfa', u'yourself a'), (u'yourselfright', u'yourself right'), (u'thejob', u'the job'), (u'thejanitors', u'the janitors'), (u'alljust', u'all just'), (u"forAmerica's", u"for America's"), (u'Forpencils', u'For pencils'), (u'forpondering', u'for pondering'), (u'handwrittenjournals', u'handwritten journals'), (u'herpursuit', u'her pursuit'), (u'ofjust', u'of just'), (u'oflanding', u'of landing'), (u'oflife', u'of life'), (u'outjust', u'out just'), (u'Thejoke', u'The joke'), (u'ourpatient', u'our patient'), (u"oryou're", u"or you're"), (u'ofyourself', u'of yourself'), (u'poweryour', u'power your'), (u'Ofmy', u'Of my'), (u'EIlen', u'Ellen'), (u"Don'tget", u"Don't get"), (u'tellme', u'tell me'), (u'ofdecision', u'of decision'), (u'itgoing', u'it going'), (u'artificialgravity', u'artificial gravity'), (u'shouldknow', u'should know'), (u"Hasn'tgot", u"Hasn't got"), (u'thirdjunction', u'third junction'), (u'somebodypicks', u'somebody picks'), (u'Willyou', u'Will you'), (u"can'tget", u"can't get"), (u'BuZZes', u'Buzzes'), (u"wouldn'tyou", u"wouldn't you"), (u'Wellbelow', u'Well below'), (u"What'dyou", u"What'd you"), (u'decipheredpart', u'deciphered part'), (u"they'llknow", u"they'll know"), (u"ifit's", u"if it's"), (u'ornot', u'or not'), (u'myposition', u'my position'), (u'lndistinct', u'Indistinct'), (u'anybiscuits', u'any biscuits'), (u'Andifyou', u'And if you'), (u'lfwe', u'If we'), (u'yourarm', u'your arm'), (u'lnteresting', u'Interesting'), (u'findit', u'find it'), (u"it'llstart", u"it'll start"), (u'holdit', u'hold it'), (u'ofkilling', u'of killing'), (u'Howyou', u'How you'), (u'lnhales', u'Inhales'), (u'lgot', u'I got'), (u'CIip', u'Clip'), (u"what'II", u"what'll"), (u"road'II", u"road'll"), (u'girI', u'girl'), (u'LIoyd', u'Lloyd'), (u'BIake', u'Blake'), (u'reaI', u'real'), (u'Foryour', u'For your'), (u'yourpublic', u'your public'), (u'LAst', u'Last'), (u'h is', u'his'), (u'He)\u2019', u'Hey'), (u'Ls', u'Is'), (u"al'", u'at'), (u"wail'", u'wait'), (u'forthis', u'for this'), (u'Yea h', u'Yeah'), (u'a re', u'are'), (u'He)"', u'Hey'), (u"pan'", u'part'), (u'yea h', u'yeah'), (u'Tun', u'Run'), (u"He)'", u'Hey'), (u"he)'", u'hey'), (u"I'11", u"I'll"), (u'he)"', u'hey'), (u" 're ", u"'re ")]), - 'pattern': u'(?um)(\\b|^)(?:\\$COff\\$|\\$ergei|\\$\\\'llOp|\\/\\\'\\/\\/|\\/\\\'\\/I|\\/ennifer|\\/got|\\/have|\\/hope|\\/just|\\/love|\\/\\\'m|\\/mmerse|\\/nsu\\/ts|\\/ong|\\/ook|\\/t\\\'s|\\/\\\'ve|\\\\\\/\\\\\\/e\\\'d|\\\\\\/\\\\\\/e\\\'re|\\\\\\/\\\\\\/e\\\'ve|\\\\\\/\\\\\\/hat|\\\\\\/\\\\\\/here\\\'d|\\\\\\/\\\\\\/hoo|\\\\\\/\\\\\\/hy|\\\\\\/\\\\\\/hy\\\'d|\\\\\\/\\\\le\\\'re|\\\\\\/Ve|\\\\Ne\\\'re|\\\\Nhat\\\'s|\\\\Nhere\\\'s|\\|\\\'mjust|\\\xa4ff|\\\xa4Id|\\\xa4Ids|\\\xa4n|\\\xa4ne|\\\xa4nly|\\\xa4pen|\\\xa4r|\\\xa4rder|\\\xa4ther|\\\xa4ur|\\\xa4ut|\\\xa4ver|\\\xa4wn|\\\u20acV\\\u20acI\\\'y|0\\\'clock|0f|0fEngland|0fft0|0l\\/er|0n|0ne|0ne\\\'s|0r|0rders|0thers\\\'|0ut|0utlaw\\\'s|0utlaws\\\'|0ver|13oos|18oos|195os|1et\\\'s|1o|1oo|1ooth|1oth|2E\\_|2\\\'IST|2\\\'Ist\\_|2o|2oth|3o|3oth|4o|4os|4oth|50rry|5o|5oth|6o|6os|\\\'6os|6oth|7o|\\\'7os|7oth|8o|\\\'8os|8oth|9\\/aim|9o|9oth|9UnShQt|a\\/\\/|a\\/bum|a\\/so|A\\/ways|abcut|aboutjoining|aboutposh|aboutus|aboutyou|accldent|Acool|afier|affraid|Afriend|afterall|afterthe|afulcrum|Afunny|aga\\/nst|ahsolutes|AI\\_I\\_|AIien|AIex|AII|AIIan|AIIow|AIive|ain\\\'tgotno|Ain\\\'tgotno|airstrike|AIVIBULANCE|ajob|ajockey\\_|ajoke|Ajoke|ajoking|al\\/|al\\/en|alittle|allgasp|alljustforshow|aln\\\'t|alot|Alot|An5wer|Andit|Andit\\\'s|andl|andlaughs|andleave|andthe|andyou|Andyou|ANNOUNC\\/NG|anotherstep|ANSWER\\/NG|answerwhat|antiquejoke|anyhcdy\\\'s|Anyidea|anyone\\\'s\\_|apejust|ARABlc|aren\\\'t\\_|arerl\\\'t|Arnsteln\\\'s|atleast|Atough|Awhole|awoman|Awoman|barelytalked|bcat|Bcllvla|bcmb|bcmbs|be\\/\\/y|becuase|Beep\\/\\\'ng|bejumpy|besldes|bestfriend|bestguy|bestjob|BIack|BIess|bigos\\_\\_\\_|BIame|BIind|BIood|BIue|BLOVVS|blowholel|blt|Bo99|bodiedyoung|breakf\\\xe9wtl|bulldozlng|butjust|butl|Butl|butljust|Butljustcan\\\'tgetenough|Butyou\\\'re|buythem|buyyou|byjust|bythe|C\\/latter\\/\\\'\\/7g|ca\\/\\/\\/ng|ca\\/I|call\\/ng|callyou|can\\*t|can\\\'i|can\\\'I|canlgetyou|cannotchange|cannut|can\\\'T|can\\\'t\\_|can\\\'tjust|can\\\'tletgo|Car0l|Carhorn|carrled|Ccug|Ccugs|Ccver|cellularchange|cff|cfycu|cfycur|Ch\\/rping|chaletgirl|changejobs|Charliejust|Chatter\\/\\\'rtg|CHATTERWG|Chequeredlove|cHIRPINcs|chjldishness|chlldrcn|chlldren|chocolatte|Cho\\/r|cHucKl\\_Es|CIark|CIear|circumcised\\_|ckay|cl\\_osEs|CLATTERWG|cn|cne|cnes|Coincidenta\\/\\/y|COm\\\u20ac|comp\\/etey|complainingabout|coms|cond\\/lion|confdence|conhrmed|connrm|Consecutivelyl|COUGH5|CouGHING|couIdn\\\'t|couldjust|couldn\\\'T|couldn\\\'tjust|Couldyou|crappyjob|CRAsHING|crder|Crowdcheers|Cruoially|cther|cuuld|cver|d\\/\\\'dn\\\'t|d\\/squietude|D\\\xa4esn\\\'t|d\\\xa4n\\\'i|d\\\xa4n\\\'t|d\\\xb09|d0|D0|D0asn\\\'t|Dad\\\'\\/\\/|dairyjust|Dar\\/\\/ng|dc|Dcbby|dccsn\\\'t|dcctcr|Dces|dcgs|dcing|dcn\\\'I|dcn\\\'t|Dcn\\\'t|dcughnut|declslons|deedhas|Dehnitely|desewes|desperate\\/\\\xbby|D\\\ufb02nk|DIAl\\_lNcs|didn\\\'\\!|didnt|didn\\\'T|dIdn\\\'t|didn\\\'t\\_|didrft|didrl\\\'t|didyou|divorcing\\_|dld|dldn\\\'t|dlfflcull|dlg|dlsobeyed|doasn\\\'t|Doasn\\\'t|doctoh|Doctor\\_\\_\\_tell|doesnt|doesn\\\'T|doesri\\\'t|doesrt|Doesrt|doit|dojust|don\\*t|donejobs|don\\\'i|don\\\'l|Don\\\'l|Donllook|dont|don\\\'T|don\\\'tcare|don\\\'tjoke|Don\\\'tjudge|don\\\'tjust|Don\\\'tjust|Don\\\'tlet|don\\\'tlhink|don\\\'tpush|Don\\\'tyou|DonWlook|Dooropens|doorshuts|dothat|dothis|Drinkthis|dumbass|dumbto|dun\\\'t|E\\/\\/e|E9YPt|ea\\/\\\'t\\/7|eart\\/7|efi\\\'\\/\\\'c\\/\\\'ent|EN\\<3LlsH|Enjoythe|Erv\\\\\\/an|Erv\\\\\\/an\\\'s|etemity|ev\\/I|eve\\/yone|even\\/body\\\'s|eversay|Everymonth|everythings|Everythirlg\\\'s|Everythlng\\\'s|Everytime|Exac\\\ufb02y|ExacUy\\_|excitedshrieking|ExcLAllvls|exploatation|expreusion|fairthat|Fathef|fatherfigure|FBl|fcrebcdlng|fcreverjudges|fcund|feeleverything|feelsweet|fiam\\/\\\'\\/y|\\\ufb01ngernail|finishedjunior|FIynn|flll|flra|Flylng|Fnends|fo\\/low|fonzvard|fora|Fora|forajob|forAmerica|forNew|forone|forso|Forsuch|forsunburns|forthe|Foryears|foryou|Foudeen|Fou\\\ufb02een|FourSeasons|fr\\/ends|freezerfood|F\\\xfchrerfeels|furthernotice|furyou|G0|g0in9|gamlenias|GAsPING|gc|gcing|gcnna|Gcnna|gct|Gct|genercsity|generosityn|getjust|g\\\ufb02ing|gi\\\ufb02friend|gir\\/|gir\\/s\\\'boarding|giris|gLlyS|glum\\_|gnyone|golng|goodboyand|goodjob|gOt|gotjumped|gotmyfirstinterview|grandjury|greatjob|Greatjobl|grinco|GRoANING|GRUNUNG|gu|gunna|guyjumped|guyjust|gUyS|\\_H6Y\\-|H\\\u20acY|H0we\\\xb7ver|halftheir|hapPY|hasrt|Hasrt|haven\\\'tspokerl|hcle|hcme|hcmes|hcpe|hctel|hcurs|Hcw|he\\/ps|hearjokestonight|hearme|Hefell|he\\\'II|He\\\'II|HeII0|He\\\'Il|Hejust|He\\\'lI|HelIo|hellc|HellO|herboyfr\\/end|herflesh|herfollov\\\\\\/ed|herjob\\_|HerrSchmidt|herwith|HeY\\\xb7|HeyJennifer|hiddsn|hisjunk|Hitlershare|Hlneed|Hnally|Hnishing|HOId|hOIes|HONMNG|honorthe|honoryou|honoryour|Hov\\\\\\/\\\'s|Hov\\\\\\/\\\'S|HovvLING|howit|HoW\\\'s|howto|Hs\\\'s|hurtyou|I\\/erilj\\/|I\\/fe|I\\\\\\/I|I\\\\\\/Ian|I\\\\\\/Iathies|I\\\\\\/Ie|I\\\\\\/Iommy|I\\\\\\/Ir|I\\\\\\/Ir\\.|I\\\\\\/ly|I3EEPING|I3LARING|Iacings|Iaid|Iam|Iand|Ianding|Iast|Iate|Icad|Icading|Ican|Iccked|Icng|Icsing|Icslng|Idid|Ididn\\\'t|Ido|Idon\\\'i|Idon\\\'t|Idon\\\'tthink|I\\\'E\\\'\\$|Ieamed|Ieapt|Iearned|Ieast|Ieave|Ied|Ieft|Ieg\\\'s|Iess|Iet|Iet\\\'s|Iet\\\'sjust|if\\/just|Ifear|Ifeared|Ifeel|ifI\\\'\\|\\||ifI\\\'d|ifI\\\'II|ifI\\\'ll|ifI\\\'m|Ifinally|ifI\\\'ve|ifl|Iforgot|Ifound|ifshe|ifthat\\\'s|ifthe|Ifthe|ifthere\\\'s|Ifthey|ifwe|Ifwe|Ifycu|ifyou|Ifyou|ifyuu|Iget|Igot|Igotta|Igotyou|Iguess|Iguessljust|Ihad|Ihat\\\'s|Ihave|Iheard|ihere\\\'s|ihey\\\'ve|Ihope|ii\\/Iary|ii\\/Ir|ii\\/Ir\\.|ii\\/love|Iife|I\\\'II|Iike|I\\\'Il|Iine|iirst|ii\\\'s|Ii\\\'s|Iiterallyjumped|Ijoined|Ijust|Iknew|Iknow|Ile|Ileft|I\\\'lldo|I\\\'llmake|Ilons|Ilove|I\\\'mjust|Inconceivablel|infact|Infact|in\\\ufb02uence|infront|injust|insc\\\ufb01p\\\ufb01ons|insolencel|intc|internationaljudges|inthe|Iockdown|Iong|Iongships|Iook|Iookjust|Iooklng|Iooks|Ioose|Iord\\\'s|Iose|Ioser|Ioss|Iost|Iot|Iot\\\'s|Iousyjob|Iove|Ioves|Iowlife|Ipaid|Iquit|Ireallythinkthis|I\\\'rn|Isaw|Isayt\\/1e|isjust|isn\\\'i|isn\\\'t\\_|Isthis|Istill|Istumblod|Itake|itdown|Iteach|Itfeels|ithave|Ithink|Ithinkthat|Ithinkthis|Ithinkyou\\\'re|Ithlnk|Ithoguht|Ithought|Ithoughtl|it\\\'II|It\\\'II|it\\\'Il|It\\\'Il|itin|itjust|Itjust|it\\\'lI|It\\\'lI|It\\\'llhappen|it\\\'lljust|Itold|Itook|itout|it\\\'S|it\\\'sjinxed|it\\\'sjust|It\\\'sjust|itso|Ittends|Itwasn\\\'t|Iuckier|IV\\|oney|IV\\|oney\\\'s|I\\\'va|I\\\'Ve|IVIan|IVIAN|IVIarch|IVIarci\\\'s|IVIarko|IVIe|IVIine\\\'s|IVImm|IVIoney|IVIr\\.|IVIrs|IVIuch|IVIust|IVIy|IVlacArthur|IVlacArthur\\\'s|IVlcBride|IVlore|IVlotherfucker\\_|IVlr|IVlr\\.|IVlr\\_|IVlust|IVly|Iwake|Iwant|Iwanted|Iwas|Iwasjust|Iwasjustu|Iwill|Iwish|Iwon\\\'t|Iworked|Iwould|jalapeno|Jaokson|Jascn|jcke|jennifer|joseph|Jumpthem|jusi|jusl|justjudge|justleave|Justletgo|kidsjumped|kiokflip|knowjust|knowthat|knowthis|knowwhat|knowyet|knowyourlove|korean|L\\/ght|L\\/kes|L\\\\\\/Ianuela|L\\\\\\/Ianuelal|l\\\\\\/Iauzard|l\\\\\\/I\\\xe9lanie|L\\\\\\/I\\\xe9lanie|l\\\\\\/Iom|l\\\\\\/Iommy|l\\\\\\/Ir|l\\\\\\/Ir\\.|l\\\\\\/Is|l\\\\\\/ly|l\\_AuGHING|l\\\u2018m|Laml6|Lcad|lcan|lcan\\\'t|lcarl\\\'t\\_|Lcve|l\\\'d|L\\\'d|ldid|Ldid|ldiot|L\\\'djump|ldon\\\'t|Ldon\\\'t|Lefs|Let\\\'sjust|lf|Lf|lfeelonelung|lfthey|lfyou|Lfyou|lfyou\\\'re|lget|lgive|Li\\/0\\/Academy|li\\/lr\\.|ligature\\_\\_\\_|l\\\'II|l\\\'Il|ljust|Ljust|ll\\/Iommy\\\'s|ll\\/lajor|Ll\\/lajor|ll\\/layans|l\\\'lI|l\\\'ll|L\\\'ll|l\\\'lljust|L\\\'lltake|llte|l\\\'m|L\\\'m|Lmean|l\\\'mjust|ln|lN|lNAuDll3LE|LNAuDll3LE|LNDlsTINcT|lneed|lostyou|Loudmusic|lraq|lRA\\\'s|Lrenka|Lrn|lRS|lsabella|lsn\\\'t|Lsn\\\'t|Lst\\\'s|lsuppose|lt|ltake|ltell|lthink|Lthink|lthink\\_\\_\\_|lt\\\'II|lt\\\'Il|ltjammed\\_|lt\\\'ll|ltold|lt\\\'s|lT\\\'S|Lt\\\'S|Lt\\\'sjust|lv\\\\\\/asn\\\'t|l\\\'ve|L\\\'ve|lVIan|lVIcHenry|lVIr\\.|lVlacArthur|LVlore|lVlr|lVlr\\.|lvluslc|lVlust|LVly|lwaited|lwamoto|lwant|lwanted|lwas|lwill|lwon\\\'t|lworked|lwould|lwould\\\'ve|lx\\/Iorning|M\\/dd\\/e|m\\/g\\/7ty|MACH\\/NE|MacKenz\\/e|majorjackpot|majormuscle|Manuela\\_|maste\\/y|Masturhate|Mattei\\_|mayjust|mbecause|McCa\\/Iister|McCallisler|Mccallister|Mccallisters|mcm\\\'s|mcney|mcral|mcre|mcve|mejust|Mexioo|mi\\/\\/\\<|misfartune|Ml6|Mlnd|Mock\\/\\\'ngbl\\\'rd|mOI\\\'\\\u20ac|Mom\\_|monkeyback|move\\_\\_\\_l|moveto|mustknock|Myheart|myjch|myjet|myjob|Myjob|myjob\\\'s|mylife|Mynew|myown|mypants|myselli|Myshoes|mysong|mytemper|mythumb|Myworld|N0|narne|Natians|naTve|nc|Nc|ncne|Ncrth|ncw|Ncw|needyou|neighboun|neverfound|neverthere|neverv\\\\\\/ill\\_|NewJersey|newjob|newjobs|nextdoor|Nighw|nilios|Nlagnificence|Nlakes|Nlalina|Nlan|Nlarch|Nlarine|Nlarion|Nlarry|Nlars|Nlarty|Nle|Nleet|Nlen|Nlom|Nlore|Nlornin|Nlother|Nlr|Nlr\\.|Nlrs|Nluch|nojurisdiction|noone|Noone|not\\ judging|notgoing|notjunk|Notjunk|notjust|notsure|novv|Nowjust|Nowthat\\\'s|Numbertwo|oan\\\'t|oan\\\'tjust|objecl|occultpowerand|Ocps|ofa|ofajudge|ofall|Ofall|ofBedford|ofcourse|Ofcourse|ofeach|ofeither|Offioer\\\'s|ofFrance|offreedom|offthe|offthis|offto|offun|ofguy|Ofhce|ofhis|ofHis|ofhoneybees|ofit|ofjam|OFJOAN|ofjoy|ofjunior|ofme|ofmead|ofmicroinjections|ofmy|ofNew|ofNorris\\\'|ofopinions|ofour|ofpeopla|ofthat|ofthe|Ofthe|oftheir|ofthem|ofthem\\\'s|ofthemselves|ofthere|ofthese|ofthings|ofthis|ofthlngs|ofthose|ofuse|ofwashington|ofyou|ofyour|OId|OIsson|Ok3Y|okaY|OkaY|OKaY|OKGY|Ol\\<|oldAdolfon|onboard|onIy|onIything|onJanuaw|onlyjust|Onyinal|oomprise|oonstitution|oouldn\\\'t|oould\\\'ve|oousin\\\'s|opiimistically|ora|orfall|orglory|orjust|Orjust|Orthat|orwould|Orwould|Othenzvise|our\\ joumey|ourbrave|ourfathers|ourgirlon|Ourgoal|Ourguy|ourj0b\\\'s|Ourj0b\\\'s|ourjobs|ourjob\\\'s|Ourjob\\\'s|ourjoumey|ourphotos|ourv\\\\\\/ay|outlool\\<\\\'s|overme|overthe|overthere|p\\/ace|P\\/ease|p\\_m\\_|P\\\xb0P\\$|PANUNG|pclnt|pclnts|pe0pIe|Perrut\\_|Persona\\/4\\/|Persona\\/y|persors|PIain|PIease|PIeasure|PIus|pleasurlng|POIe|Polynes\\/ans|poorshowing|popsicle|Presidenfs|probablyjust|puIIing|Putyourhand|Qh|QkaY|Qpen|QUYS|\\_QW|r\\/ght|ralnbow|ratherjump|ratherjust|Rcque|rcscucd|rea\\/|readytolaunchu|reaHy|ReaHy|reallyjust|reallymiss|reallytalked|reallythink|reallythinkthis|rememberthem|reoalibrated|retum|rhfluence|rightdown|roadyou|RUMBUNG|s\\/uggikh|S0|S1oW1y|saidyou|sayeverything\\\'s|saynothing|saythat|sc|scientihc|SCREAIVHNG|sCREAlvllNG|SCREAlvllNG|scund|S\\\'EOp|severa\\/parents|sfill|S\\\ufb02ence|shallrise|sHATTERING|shcws|Shdsjust|She\\`s|She\\\u2018II|she\\\'II|She\\\'II|she\\\'Il|Shejust|she\\\'lI|Shoofing|ShOp|shortyears|shou\\/dn|shou\\\ufb01ng|Shou\\\ufb02ng|shouldnt|Shouldrt|shouldrt|Shs\\\'s|SHUDDERWG|Shutup|SIGH\\$|signifcance|Sincc|sistervvill|Skarsg\\\xe9rd|slcsHs|slGHINcs|slGHING|slNGING|slzzLING|smarfest|Smiih|so\\/id|SoBl3lNG|soemtimes|Sojust|soldierl|somethlng|somethlng\\\'s|somez\\\'\\/7\\/ng|somthing|sumthing|sou\\/|SoundofMusic|SP\\/ash|SPEAK\\/NG|speII|speII\\\'s|Spendourtime|sQUA\\\\\\/\\\\\\/KING|StAnton|stealsjeans|StilI|Stilldesperatelyseeking|stlll|sToPs|storyl|Stubbom|su\\/faces|suffocaiing|summerjob|Summerjust|sun\\/ive|superiorman|sur\\\ufb02aces|t\\/ying|T0|T00|ta\\/ks|taiked|talkto|Talkto|talktonight|tampax|tc|tcday|tcrturing|tcuch|te\\/\\/|tearjust|tellsjokes|tellyou|terriers\\_|th\\/nk|THEPASSION|thafs|Thafs|Thai\\\'s|Thal\\\'s|thankyou|Thankyou|thatconverts|thatgoes|that\\\'II|That\\\'II|thatjob|thatjunk|thatjust|thatleads|Thatl\\\'m|that\\\'s\\ just|Thatsand|that\\\'sjust|That\\\'sjust|Thc|theirface|theirfeet|theirfury|thejaw|thejoint|thejudge|thejudges|Thejudges|thejury|Thelook|Therds|There\\\'II|There\\\'Il|There\\\'lI|They\\\'\\/\\\'e|they\\/\\\'II|They\\/re|They\\/\\\'re|they\\\'II|they\\\'Il|theyjust|Theyjust|they\\\'lI|They\\\'lI|theyre|theysay|thinkthat|this\\\'II|thlngs|Thlnkthls|thls|thore\\\'s|Thore\\\'s|Thorjust|thoughtl\\\'dletyou|tnatjust|tnat\\\'s|Tnat\\\'s|Tnere\\\'ll|to\\/\\/et|To\\/\\/S|todayl\\\'d|togelher|togethen|tojoin|tojudge|toldyou|tomorrovv|Tonighfsjust|totake|totalk|tothat|tothe|Towef|Tr\\/ck\\/ing|Traitur|tv\\\\\\/o|tvvelve|Tvvelve|tvventy|Tvventy|tvvo|Tvvo|twc|unconhrmed|underthat|underthe|underthese|underyour|unfilyou|Unfon\\\'unate\\/y|Uninnabited|untilApril|untilyou|upthinking|upto|V\\\\\\/ait\\_\\_\\_|v\\\\\\/as|V\\\\\\/as|V\\\\\\/e|v\\\\\\/eek\\\'s|V\\\\\\/eird\\_|V\\\\\\/ell|V\\\\\\/hat|V\\\\\\/hen\\\'ll|V\\\\\\/ho|v\\\\\\/ho\\\'ll|v\\\\\\/Hoops|v\\\\\\/ho\\\'s|V\\\\\\/ho\\\'s|V\\\\\\/hy|v\\\\\\/ith|v\\\\\\/on\\\'t|V\\\\fith|V\\\\fithin|valedictolian|vcice|ve\\/y|veiy|V\\\xe9ry|versioin|vi\\/ay|visitjails|Viva\\/di\\\'s|vlll|Voil\\\xe1|Voil\\\xe9|vvasjust|VVasn\\\'t|vvay|VVe|VVe\\\'II|VVe\\\'ll|Vvelooked|VVe\\\'re|VVe\\\'ve|VVhat|VVhat\\\'s|VVhat\\\'S|VVhen|\\\'v\\\'Vhere\\\'s|VVhip|vvHooPING|VvHooPING|VVhy|VVill|VVinters|vvlND|w\\\xa4n\\\'t|W9|waht|waierfall|walkjust|wallplant|wannajump|wantyou|Warcontinues|wasjennifer|wasjust|wasrt|Wasrt|wayl|wayround|wclf|wcman|wcmen|wcn\\\'t|wcrse|wculd|We\\/\\/|We\\/came|we\\/come|We\\/come|We\\/I|weekendjust|werert|Werert|we\\\'II|We\\\'II|we\\\'Il|We\\\'Il|wejust|we\\\'lI|We\\\'rejust|We\\\'ro|We\\\'Ve|wh\\/p|Wh\\\xb0ops|Whafs|Whatam|Whatare|Whateverwe|What\\\'II|Whatis|whatjust|Whatl|whatshe|whatwe|Whc\\\'s|Whcse|wHlsPERs|wi\\/\\/|wil\\/|Wil\\/|wilI|willbe|willhire|willneverknow|willyou|wlfe|wlfe\\\'s|wlth|wnat\\\'s|Wno|Wo\\/f|wo\\\ufb02d|WOI\\\'1\\\'t|wondernobody|won\\\'T|won\\\'tanswerme|won\\\'tforget|won\\\'tletitbring|Wo\\\'re|worfd|won\\\'th|won\\\'thwhile|workyou|wouIdn\\\'t|wouldn\\\'\\!|Wouldrt|wr\\/\\\'2\\\'\\/ng|writign|wrcng|wuuld|\\_Yay|Y\\\xa4u\\\'II|Y\\\xa4u\\\'ll|y\\\xa4u\\\'re|Y\\\xa4u\\\'re|y\\\xa4u\\\'ve|Y0|y0LI|y0u\\\'II|Y0u\\\'rc|Y0u\\\'re|Y0u\\\'ve|yaming|yaurparents|ycu|ycu\\\'d|ycur|Ycu\\\'re|Ycursins|YEI\\_I\\_|YELL\\$|yigg\\/mg|Yigg\\/mg|yoLI|yOu|yOU|you\\`re|you\\\'II|You\\\'II|You\\\'Il|youjack|youjoin|Youjoin|youjust|You\\\'lI|youngsterlike|youpick|you\\\'ra|Yourattention|yourautomobile|You\\\'rejustjealous|yourextra|yourfather|yourhand|yourhusband|yourjewelry|yourjob|Yourjob|yourjob\\_|yourjockey|yourjury|yourname|Yourpackage|yourpackage|you\\\'ro|yourpoorleg|yourvveak|you\\\'va|You\\\'va|youWlneversee|yQu|YQu|yQu\\\'\\_7|yummY|yuu|Yuu|Yuu\\\'ve|z\\\'housand|zlPPING|Ifslocked|nightjust|dayjourney|Ourjob|IunCh|nieCe|giVes|wantto|besttoday|NiCe|oftravelling|oftwo|ALl|afterparty|welL|theirjob|lfhe\\\'s|babyjesus|shithousejohn|jesus|withjesus|Gojoin|Adaughter|talkwith|anyjournals|L\\\'mjewish|arejust|soundjust|ifl\\\'m|askyou|ordinarywoman|andjunkies|isjack|helpyou|thinkyou|Lordjesus|injuvy|thejets|ifGod|againstjewish|ajunkie|dearjesus|hearyour|takeyears|friendjean|Fatherjohn|youjean|hearyou|Ifshe|didn\\\'tjust|IfGod|notjudge|andjudge|OKBY|myjourney|yourpremium|we\\\'rejust|Iittlejokes|Iifejust|Andjust|ofThe|lifejust|AIice|lnternationalAirport|yourbody|DollarBaby|ofjonesing|yourpanties|offforme|pantyparty|everhit|theirhomes|AirForce|yourhead|betterbe|myparty|disasterlockdown|Ifpot\\\'s|ifmy|yourmoney|Potterfan|Hermionejust|ofourshit|showyou|answernow|theirsjust|BIackie|SIeep|foryour|oryour|forArthur|CIamp|CIass|CIose|GIove|EIIen|PIay|PIace|EIgyn|AIert|CIaus|CIimb|military\\\'II|anylonget|yourlife|Yourbitch\\\'IIgetyou|yourdick|Tellyourbitch|rememberyou|newface|Butyou|don\\\'tyou|yourlives|Iovedher|reallydid|firstperson|mybest|Justgive|AIong|atyourbody|myhands|sayhe|mybooty|yourbooty|yourgirl|yourlegs|betterifthey|manybeautiful|contactpolice|numberbelow|biggestproblem|Itgave|everybodykind|theyhad|knowherlast|herhearing|othermembers|BIing|CIyde|foundguilty|fouryears|countyjail|yearin|theirrole|manybottles|can\\\'tpronounce|manybowls|ofthatgreen|manyjoyrides|Superrich|Iprefer|Theymust|whatyou|I\\\'IIjump|nobodyknow|neverknew|EIectronica|AIarm|getyourman|sayyou|getyour|Fuckyou|Whyyou|butyoujust|forgetyourname|Whatyou|Co\\/\\\'ncidenta\\/\\/y|GIad|RachelMarron|She\\\'llgive|presidentialsuite|andgentlemen|willnot|ourproducers|Ifshe\\\'s|CIock|Ishould|I\\\'llgo|maypass|andprotecting|BIessed|CIean|SIave|AIi|AIIah|AIIahu|CIick|BIast|AIlah|SIow|theirpolicies|Orperhaps|ofsex|forpleasure|ourpower|Yourpiece|Offioers|oondesoended|myseif|let\\\'sjust|yourway|An9TY|ourjourney|LuCY|\\\\\\\'m|CEDR\\/C|lsaac|FIy|Ionger|Iousy|Iosing|They\\\'II|yourpaws|littie|It\\\'lljust|AIso|Iisten|suPPosed|somePIace|exPIain|Iittle|StoP|AIways|Iectures|Iow|Ieaving|Ietting|Iistening|Iecture|Iicking|Iosses|PIeased|ofburglaries|He\\\'sjust|mytrucktoo|nowwhat|yourfire|herwhat\\\'s|hearthat|oryou|preferjournalist|CIaw|Ifour|lron|It\\\'syour|lfstill|forjoining|foryears|Ifit|notjump|ourproblem|yourprofile|ifJanine|forpreventative|whetherprotest|Ifnot|ourpeople|offmy|forproviding|hadjust|nearyou|whateveryou|hourputs|timejob|overyour|orpermanent|createjobs|I\\\'vejust|peoplejobs|dinnerpail|hasjumped|theirprivacy|AIl|ofserious|yourprofessional|poiitical|tojump|iives|eiections|militaryjuntas|nojoke|yourpresidency|ofmilitaryjuntas|Ourproposal|LeBIanc|KIaus|yourpussy|lNTERVIEWER|lNAUDIBLE|SImpsons|anotherjob|lfthere|descentinto|ofthathere|ofway|yourseat|allyou|Allyou|yourass|Yourbutt|iustiiggle|iust|CSi|affernoon|orpersecution|theirpetty|Fourpercent|fourpercent|willjust|Ifyou\\\'re|ourplanet|lsolation|yourprimitive|yourplanet|matteryour|Yourplace|andjustice|anotherpart|confiict|growingjeopardy|hasjust|havejust|herselfinto|ifnecessary|we\\\'vejust|tojust|yourjudgment|yourjeans|Youjust|ajanitor|FIattery|myjournal|myjudgment|offofmy|offyour|ofgood|ofguilty|ofhaving|ofheart|ofhonor|oflove|ofmankind|ofmany|ofnormal|ofpeople|ofpower|ofsuch|peoplejust|They\\\'rejust|tojeopardize|Yourplaces|yourposition|yourselfa|yourselfright|thejob|thejanitors|alljust|forAmerica\\\'s|Forpencils|forpondering|handwrittenjournals|herpursuit|ofjust|oflanding|oflife|outjust|Thejoke|ourpatient|oryou\\\'re|ofyourself|poweryour|Ofmy|EIlen|Don\\\'tget|tellme|ofdecision|itgoing|artificialgravity|shouldknow|Hasn\\\'tgot|thirdjunction|somebodypicks|Willyou|can\\\'tget|BuZZes|wouldn\\\'tyou|Wellbelow|What\\\'dyou|decipheredpart|they\\\'llknow|ifit\\\'s|ornot|myposition|lndistinct|anybiscuits|Andifyou|lfwe|yourarm|lnteresting|findit|it\\\'llstart|holdit|ofkilling|Howyou|lnhales|lgot|CIip|what\\\'II|road\\\'II|girI|LIoyd|BIake|reaI|Foryour|yourpublic|LAst|h\\ is|He\\)\\\u2019|Ls|al\\\'|wail\\\'|forthis|Yea\\ h|a\\ re|He\\)\\"|pan\\\'|yea\\ h|Tun|He\\)\\\'|he\\)\\\'|I\\\'11|he\\)\\"|\\ \\\'re\\ )(\\b|$)'}}, + 'WholeWords': {'data': OrderedDict([(u'$COff$', u'scoffs'), (u'$ergei', u'Sergei'), (u"$'llOp", u'Stop'), (u"/'//", u"I'll"), (u"/'/I", u"I'll"), (u'/ennifer', u'Jennifer'), (u'/got', u'I got'), (u'/have', u'I have'), (u'/hope', u'I hope'), (u'/just', u'I just'), (u'/love', u'I love'), (u"/'m", u"I'm"), (u'/mmerse', u'immerse'), (u'/nsu/ts', u'Insults'), (u'/ong', u'long'), (u'/ook', u'look'), (u"/t's", u"It's"), (u"/'ve", u"I've"), (u"\\/\\/e'd", u"We'd"), (u"\\/\\/e're", u"We're"), (u"\\/\\/e've", u"We've"), (u'\\/\\/hat', u'What'), (u"\\/\\/here'd", u"Where'd"), (u'\\/\\/hoo', u'Whoo'), (u'\\/\\/hy', u'Why'), (u"\\/\\/hy'd", u"Why'd"), (u"\\/\\le're", u"We're"), (u'\\/Ve', u'We'), (u"\\Ne're", u"We're"), (u"\\Nhat's", u"What's"), (u"\\Nhere's", u"Where's"), (u"|'mjust", u"I'm just"), (u'\xa4ff', u'off'), (u'\xa4Id', u'old'), (u'\xa4Ids', u'olds'), (u'\xa4n', u'on'), (u'\xa4ne', u'one'), (u'\xa4nly', u'only'), (u'\xa4pen', u'open'), (u'\xa4r', u'or'), (u'\xa4rder', u'order'), (u'\xa4ther', u'other'), (u'\xa4ur', u'our'), (u'\xa4ut', u'out'), (u'\xa4ver', u'over'), (u'\xa4wn', u'own'), (u"\u20acV\u20acI'y", u'every'), (u"0'clock", u"o'clock"), (u'0f', u'of'), (u'0fEngland', u'of England'), (u'0fft0', u'off to'), (u'0l/er', u'over'), (u'0n', u'on'), (u'0ne', u'one'), (u"0ne's", u"one's"), (u'0r', u'or'), (u'0rders', u'orders'), (u"0thers'", u"others'"), (u'0ut', u'out'), (u"0utlaw's", u"outlaw's"), (u"0utlaws'", u"outlaws'"), (u'0ver', u'over'), (u'13oos', u'1300s'), (u'18oos', u'1800s'), (u'195os', u'1950s'), (u"1et's", u"let's"), (u'1o', u'10'), (u'1oo', u'100'), (u'1ooth', u'100th'), (u'1oth', u'10th'), (u'2E_', u'2E.'), (u"2'IST", u'21ST'), (u"2'Ist_", u"2'1st."), (u'2o', u'20'), (u'2oth', u'20th'), (u'3o', u'30'), (u'3oth', u'30th'), (u'4o', u'40'), (u'4os', u'40s'), (u'4oth', u'40th'), (u'50rry', u'sorry'), (u'5o', u'50'), (u'5oth', u'50th'), (u'6o', u'60'), (u'6os', u'60s'), (u"'6os", u"'60s"), (u'6oth', u'60th'), (u'7o', u'70'), (u"'7os", u"'70s"), (u'7oth', u'70th'), (u'8o', u'80'), (u"'8os", u"'80s"), (u'8oth', u'80th'), (u'9/aim', u'alarm'), (u'9o', u'90'), (u'9oth', u'90th'), (u'9UnShQt', u'gunshot'), (u'a//', u'all'), (u'a/bum', u'album'), (u'a/so', u'also'), (u'A/ways', u'Always'), (u'abcut', u'about'), (u'aboutjoining', u'about joining'), (u'aboutposh', u'about posh'), (u'aboutus', u'about us'), (u'aboutyou', u'about you'), (u'accldent', u'accident'), (u'Acool', u'A cool'), (u'afier', u'after'), (u'affraid', u'afraid'), (u'Afriend', u'A friend'), (u'afterall', u'after all'), (u'afterthe', u'after the'), (u'afulcrum', u'a fulcrum'), (u'Afunny', u'A funny'), (u'aga/nst', u'against'), (u'ahsolutes', u'absolutes'), (u'AI_I_', u'ALL'), (u'AIien', u'Alien'), (u'AIex', u'Alex'), (u'AII', u'All'), (u'AIIan', u'Allan'), (u'AIIow', u'Allow'), (u'AIive', u'Alive'), (u"ain'tgotno", u"ain't got no"), (u"Ain'tgotno", u"Ain't got no"), (u'airstrike', u'air strike'), (u'AIVIBULANCE', u'AMBULANCE'), (u'ajob', u'a job'), (u'ajockey_', u'a jockey.'), (u'ajoke', u'a joke'), (u'Ajoke', u'A joke'), (u'ajoking', u'a joking'), (u'al/', u'all'), (u'al/en', u'alien'), (u'alittle', u'a little'), (u'allgasp', u'all gasp'), (u'alljustforshow', u'all just for show'), (u"aln't", u"ain't"), (u'alot', u'a lot'), (u'Alot', u'A lot'), (u'An5wer', u'Answer'), (u'Andit', u'And it'), (u"Andit's", u"And it's"), (u'andl', u'and I'), (u'andlaughs', u'and laughs'), (u'andleave', u'and leave'), (u'andthe', u'and the'), (u'andyou', u'and you'), (u'Andyou', u'And you'), (u'ANNOUNC/NG', u'ANNOUNCING'), (u'anotherstep', u'another step'), (u'ANSWER/NG', u'ANSWERING'), (u'answerwhat', u'answer what'), (u'antiquejoke', u'antique joke'), (u"anyhcdy's", u"anybody's"), (u'Anyidea', u'Any idea'), (u"anyone's_", u"anyone's."), (u'apejust', u'ape just'), (u'ARABlc', u'ARABIC'), (u"aren't_", u"aren't."), (u"arerl't", u"aren't"), (u"Arnsteln's", u"Arnstein's"), (u'atleast', u'at least'), (u'Atough', u'A tough'), (u'Awhole', u'A whole'), (u'awoman', u'a woman'), (u'Awoman', u'A woman'), (u'barelytalked', u'barely talked'), (u'bcat', u'boat'), (u'Bcllvla', u'Bolivia'), (u'bcmb', u'bomb'), (u'bcmbs', u'bombs'), (u'be//y', u'belly'), (u'becuase', u'because'), (u"Beep/'ng", u'Beeping'), (u'bejumpy', u'be jumpy'), (u'besldes', u'besides'), (u'bestfriend', u'best friend'), (u'bestguy', u'best guy'), (u'bestjob', u'best job'), (u'BIack', u'Black'), (u'BIess', u'Bless'), (u'bigos___', u'bigos...'), (u'BIame', u'Blame'), (u'BIind', u'Blind'), (u'BIood', u'Blood'), (u'BIue', u'Blue'), (u'BLOVVS', u'BLOWS'), (u'blowholel', u'blowhole!'), (u'blt', u'bit'), (u'Bo99', u'Bogg'), (u'bodiedyoung', u'bodied young'), (u'breakf\xe9wtl', u'breakfast!'), (u'bulldozlng', u'bulldozing'), (u'butjust', u'but just'), (u'butl', u'but I'), (u'Butl', u'But I'), (u'butljust', u'but I just'), (u"Butljustcan'tgetenough", u"But I just can't get enough"), (u"Butyou're", u"But you're"), (u'buythem', u'buy them'), (u'buyyou', u'buy you'), (u'byjust', u'by just'), (u'bythe', u'by the'), (u"C/latter/'/7g", u'Chattering'), (u'ca///ng', u'calling'), (u'ca/I', u'call'), (u'call/ng', u'calling'), (u'callyou', u'call you'), (u'can*t', u"can't"), (u"can'i", u"can't"), (u"can'I", u"can't"), (u'canlgetyou', u'canI get you'), (u'cannotchange', u'cannot change'), (u'cannut', u'cannot'), (u"can'T", u"can't"), (u"can't_", u'Crucially'), (u"can'tjust", u"can't just"), (u"can'tletgo", u"can't let go"), (u'Car0l', u'Carol'), (u'Carhorn', u'Car horn'), (u'carrled', u'carried'), (u'Ccug', u'Coug'), (u'Ccugs', u'Cougs'), (u'Ccver', u'Cover'), (u'cellularchange', u'cellular change'), (u'cff', u'off'), (u'cfycu', u'of you'), (u'cfycur', u'of your'), (u'Ch/rping', u'Chirping'), (u'chaletgirl', u'chalet girl'), (u'changejobs', u'change jobs'), (u'Charliejust', u'Charlie just'), (u"Chatter/'rtg", u'Chattering'), (u'CHATTERWG', u'CHATTERING'), (u'Chequeredlove', u'Chequered love'), (u'cHIRPINcs', u'CHIRPING'), (u'chjldishness', u'childishness'), (u'chlldrcn', u'children'), (u'chlldren', u'children'), (u'chocolatte', u'chocolate'), (u'Cho/r', u'Choir'), (u'cHucKl_Es', u'CHUCKLES'), (u'CIark', u'Clark'), (u'CIear', u'Clear'), (u'circumcised_', u'circumcised.'), (u'ckay', u'okay'), (u'cl_osEs', u'CLOSES'), (u'CLATTERWG', u'CLATTERING'), (u'cn', u'on'), (u'cne', u'one'), (u'cnes', u'ones'), (u'Coincidenta//y', u'Coincidentally'), (u'COm\u20ac', u'Come'), (u'comp/etey', u'completely'), (u'complainingabout', u'complaining about'), (u'coms', u'come'), (u'cond/lion', u'condition'), (u'confdence', u'confidence'), (u'conhrmed', u'confirmed'), (u'connrm', u'confirm'), (u'Consecutivelyl', u'Consecutively!'), (u'COUGH5', u'COUGHS'), (u'CouGHING', u'COUGHING'), (u"couIdn't", u"couldn't"), (u'couldjust', u'could just'), (u"couldn'T", u"couldn't"), (u"couldn'tjust", u"couldn't just"), (u'Couldyou', u'Could you'), (u'crappyjob', u'crappy job'), (u'CRAsHING', u'CRASHING'), (u'crder', u'order'), (u'Crowdcheers', u'Crowd cheers'), (u'Cruoially', u'Crucially'), (u'cther', u'other'), (u'cuuld', u'could'), (u'cver', u'over'), (u"d/'dn't", u"didn't"), (u'd/squietude', u'disquietude'), (u"D\xa4esn't", u"Doesn't"), (u"d\xa4n'i", u"don't"), (u"d\xa4n't", u"don't"), (u'd\xb09', u'dog'), (u'd0', u'do'), (u'D0', u'Do'), (u"D0asn't", u"Doesn't"), (u"Dad'//", u"Dad'll"), (u'dairyjust', u'dairy just'), (u'Dar//ng', u'Darling'), (u'dc', u'do'), (u'Dcbby', u'Dobby'), (u"dccsn't", u"doesn't"), (u'dcctcr', u'doctor'), (u'Dces', u'Does'), (u'dcgs', u'dogs'), (u'dcing', u'doing'), (u"dcn'I", u"don't"), (u"dcn't", u"don't"), (u"Dcn't", u"Don't"), (u'dcughnut', u'doughnut'), (u'declslons', u'decisions'), (u'deedhas', u'deed has'), (u'Dehnitely', u'Definitely'), (u'desewes', u'deserves'), (u'desperate/\xbby', u'desperately'), (u'D\ufb02nk', u'Drink'), (u'DIAl_lNcs', u'DIALING'), (u"didn'!", u"didn't"), (u'didnt', u"didn't"), (u"didn'T", u"didn't"), (u"dIdn't", u"didn't"), (u"didn't_", u"didn't."), (u'didrft', u"didn't"), (u"didrl't", u"didn't"), (u'didyou', u'did you'), (u'divorcing_', u'divorcing.'), (u'dld', u'did'), (u"dldn't", u"didn't"), (u'dlfflcull', u'difficult'), (u'dlg', u'dig'), (u'dlsobeyed', u'disobeyed'), (u"doasn't", u"doesn't"), (u"Doasn't", u"Doesn't"), (u'doctoh', u'doctor'), (u'Doctor___tell', u'Doctor... tell'), (u'doesnt', u"doesn't"), (u"doesn'T", u"doesn't"), (u"doesri't", u"doesnt't"), (u'doesrt', u"doesn't"), (u'Doesrt', u"Doesn't"), (u'doit', u'do it'), (u'dojust', u'do just'), (u'don*t', u"don't"), (u'donejobs', u'done jobs'), (u"don'i", u"don't"), (u"don'l", u"don't"), (u"Don'l", u"Don't"), (u'Donllook', u"Don't look"), (u'dont', u"don't"), (u"don'T", u"don't"), (u"don'tcare", u"don't care"), (u"don'tjoke", u"don't joke"), (u"Don'tjudge", u"Don't judge"), (u"don'tjust", u"don't just"), (u"Don'tjust", u"Don't just"), (u"Don'tlet", u"Don't let"), (u"don'tlhink", u"don't think"), (u"don'tpush", u"don't push"), (u"Don'tyou", u"Don't you"), (u'DonWlook', u"Don't look"), (u'Dooropens', u'Door opens'), (u'doorshuts', u'door shuts'), (u'dothat', u'do that'), (u'dothis', u'do this'), (u'Drinkthis', u'Drink this'), (u'dumbass', u'dumb-ass'), (u'dumbto', u'dumb to'), (u"dun't", u"don't"), (u'E//e', u'Elle'), (u'E9YPt', u'Egypt'), (u"ea/'t/7", u'earth'), (u'eart/7', u'earth'), (u"efi'/'c/'ent", u'efficient'), (u'EN<3LlsH', u'ENGLISH'), (u'Enjoythe', u'Enjoy the'), (u'Erv\\/an', u'Erwan'), (u"Erv\\/an's", u"Erwan's"), (u'etemity', u'eternity'), (u'ev/I', u'evil'), (u'eve/yone', u'everyone'), (u"even/body's", u"everybody's"), (u'eversay', u'ever say'), (u'Everymonth', u'Every month'), (u'everythings', u"everything's"), (u"Everythirlg's", u'Everything\u2019s'), (u"Everythlng's", u"Everything's"), (u'Everytime', u'Every time'), (u'Exac\ufb02y', u'Exactly'), (u'ExacUy_', u'Exactly.'), (u'excitedshrieking', u'excited shrieking'), (u'ExcLAllvls', u'EXCLAIMS'), (u'exploatation', u'exploitation'), (u'expreusion', u'expression'), (u'fairthat', u'fair that'), (u'Fathef', u'Father'), (u'fatherfigure', u'father figure'), (u'FBl', u'FBI'), (u'fcrebcdlng', u'foreboding'), (u'fcreverjudges', u'forever judges'), (u'fcund', u'found'), (u'feeleverything', u'feel everything'), (u'feelsweet', u'feel sweet'), (u"fiam/'/y", u'family'), (u'\ufb01ngernail', u'fingernail'), (u'finishedjunior', u'finished junior'), (u'FIynn', u'Flynn'), (u'flll', u'fill'), (u'flra', u'fira'), (u'Flylng', u'Flying'), (u'Fnends', u'Fiends'), (u'fo/low', u'follow'), (u'fonzvard', u'forward'), (u'fora', u'for a'), (u'Fora', u'For a'), (u'forajob', u'for a job'), (u'forAmerica', u'for America'), (u'forNew', u'for New'), (u'forone', u'for one'), (u'forso', u'for so'), (u'Forsuch', u'For such'), (u'forsunburns', u'for sunburns'), (u'forthe', u'for the'), (u'Foryears', u'For years'), (u'foryou', u'for you'), (u'Foudeen', u'Fouteen'), (u'Fou\ufb02een', u'Fourteen'), (u'FourSeasons', u'Four Seasons'), (u'fr/ends', u'friends'), (u'freezerfood', u'freezer food'), (u'F\xfchrerfeels', u'F\xfchrer feels'), (u'furthernotice', u'further notice'), (u'furyou', u'for you'), (u'G0', u'Go'), (u'g0in9', u'going'), (u'gamlenias', u'gardenias'), (u'GAsPING', u'GASPING'), (u'gc', u'go'), (u'gcing', u'going'), (u'gcnna', u'gonna'), (u'Gcnna', u'Gonna'), (u'gct', u'get'), (u'Gct', u'Got'), (u'genercsity', u'generosity'), (u'generosityn', u'generosity"'), (u'getjust', u'get just'), (u'g\ufb02ing', u'going'), (u'gi\ufb02friend', u'girlfriend'), (u'gir/', u'girl'), (u"gir/s'boarding", u"girls' boarding"), (u'giris', u'girls'), (u'gLlyS', u'guys'), (u'glum_', u'glum.'), (u'gnyone', u'anyone'), (u'golng', u'going'), (u'goodboyand', u'good boy and'), (u'goodjob', u'good job'), (u'gOt', u'got'), (u'gotjumped', u'got jumped'), (u'gotmyfirstinterview', u'got my first interview'), (u'grandjury', u'grand jury'), (u'greatjob', u'great job'), (u'Greatjobl', u'Great job!'), (u'grinco', u'gringo'), (u'GRoANING', u'GROANING'), (u'GRUNUNG', u'GRUNTING'), (u'gu', u'go'), (u'gunna', u'gonna'), (u'guyjumped', u'guy jumped'), (u'guyjust', u'guy just'), (u'gUyS', u'guys'), (u'_H6Y-', u'- Hey!'), (u'H\u20acY', u'Hey'), (u'H0we\xb7ver', u'However'), (u'halftheir', u'half their'), (u'hapPY', u'happy'), (u'hasrt', u"hasn't"), (u'Hasrt', u"Hasn't"), (u"haven'tspokerl", u"haven't spoken"), (u'hcle', u'hole'), (u'hcme', u'home'), (u'hcmes', u'homes'), (u'hcpe', u'hope'), (u'hctel', u'hotel'), (u'hcurs', u'hours'), (u'Hcw', u'How'), (u'he/ps', u'helps'), (u'hearjokestonight', u'hear jokes tonight'), (u'hearme', u'hear me'), (u'Hefell', u'He fell'), (u"he'II", u"he'll"), (u"He'II", u"He'll"), (u'HeII0', u'Hello'), (u"He'Il", u"He'll"), (u'Hejust', u'He just'), (u"He'lI", u"He'll"), (u'HelIo', u'Hello'), (u'hellc', u'hello'), (u'HellO', u'Hello'), (u'herboyfr/end', u'her boyfriend'), (u'herflesh', u'her flesh'), (u'herfollov\\/ed', u'her followed'), (u'herjob_', u'her job.'), (u'HerrSchmidt', u'Herr Schmidt'), (u'herwith', u'her with'), (u'HeY\xb7', u'Hey.'), (u'HeyJennifer', u'Hey Jennifer'), (u'hiddsn', u'hidden'), (u'hisjunk', u'his junk'), (u'Hitlershare', u'Hitler share'), (u'Hlneed', u"I'll need"), (u'Hnally', u'finally'), (u'Hnishing', u'finishing'), (u'HOId', u'Hold'), (u'hOIes', u'holes'), (u'HONMNG', u'HONKING'), (u'honorthe', u'honor the'), (u'honoryou', u'honor you'), (u'honoryour', u'honor your'), (u"Hov\\/'s", u"How's"), (u"Hov\\/'S", u"How's"), (u'HovvLING', u'HOWLING'), (u'howit', u'how it'), (u"HoW's", u"How's"), (u'howto', u'how to'), (u"Hs's", u"He's"), (u'hurtyou', u'hurt you'), (u'I/erilj/', u'verify'), (u'I/fe', u'life'), (u'I\\/I', u'M'), (u'I\\/Ian', u'Man'), (u'I\\/Iathies', u'Mathies'), (u'I\\/Ie', u'Me'), (u'I\\/Iommy', u'Mommy'), (u'I\\/Ir', u'Mr'), (u'I\\/Ir.', u'Mr.'), (u'I\\/ly', u'My'), (u'I3EEPING', u'BEEPING'), (u'I3LARING', u'BLARING'), (u'Iacings', u'lacings'), (u'Iaid', u'laid'), (u'Iam', u'I am'), (u'Iand', u'land'), (u'Ianding', u'landing'), (u'Iast', u'last'), (u'Iate', u'late'), (u'Icad', u'load'), (u'Icading', u'loading'), (u'Ican', u'I can'), (u'Iccked', u'locked'), (u'Icng', u'long'), (u'Icsing', u'losing'), (u'Icslng', u'losing'), (u'Idid', u'I did'), (u"Ididn't", u"I didn't"), (u'Ido', u'I do'), (u"Idon'i", u"I don't"), (u"Idon't", u"I don't"), (u"Idon'tthink", u"I don't think"), (u"I'E'$", u"It's"), (u'Ieamed', u'learned'), (u'Ieapt', u'leapt'), (u'Iearned', u'learned'), (u'Ieast', u'least'), (u'Ieave', u'leave'), (u'Ied', u'led'), (u'Ieft', u'left'), (u"Ieg's", u"leg's"), (u'Iess', u'less'), (u'Iet', u'let'), (u"Iet's", u"let's"), (u"Iet'sjust", u"let's just"), (u'if/just', u'if I just'), (u'Ifear', u'I fear'), (u'Ifeared', u'I feared'), (u'Ifeel', u'I feel'), (u"ifI'||", u"if I'll"), (u"ifI'd", u"if I'd"), (u"ifI'II", u"if I'll"), (u"ifI'll", u"if I'll"), (u"ifI'm", u"if I'm"), (u'Ifinally', u'I finally'), (u"ifI've", u"if I've"), (u'ifl', u'if I'), (u'Iforgot', u'I forgot'), (u'Ifound', u'I found'), (u'ifshe', u'if she'), (u"ifthat's", u"if that's"), (u'ifthe', u'if the'), (u'Ifthe', u'If the'), (u"ifthere's", u"if there's"), (u'Ifthey', u'If they'), (u'ifwe', u'if we'), (u'Ifwe', u'If we'), (u'Ifycu', u'If you'), (u'ifyou', u'if you'), (u'Ifyou', u'If you'), (u'ifyuu', u'if you'), (u'Iget', u'I get'), (u'Igot', u'I got'), (u'Igotta', u'I gotta'), (u'Igotyou', u'I got you'), (u'Iguess', u'I guess'), (u'Iguessljust', u'I guess I just'), (u'Ihad', u'I had'), (u"Ihat's", u"that's"), (u'Ihave', u'I have'), (u'Iheard', u'I heard'), (u"ihere's", u"there's"), (u"ihey've", u"they've"), (u'Ihope', u'I hope'), (u'ii/Iary', u'Mary'), (u'ii/Ir', u'Mr'), (u'ii/Ir.', u'Mr.'), (u'ii/love', u'Move'), (u'Iife', u'life'), (u"I'II", u"I'll"), (u'Iike', u'like'), (u"I'Il", u"I'll"), (u'Iine', u'line'), (u'iirst', u'first'), (u"ii's", u"it's"), (u"Ii's", u"It's"), (u'Iiterallyjumped', u'literally jumped'), (u'Ijoined', u'I joined'), (u'Ijust', u'I just'), (u'Iknew', u'I knew'), (u'Iknow', u'I know'), (u'Ile', u'lie'), (u'Ileft', u'I left'), (u"I'lldo", u"I'll do"), (u"I'llmake", u"I'll make"), (u'Ilons', u'lions'), (u'Ilove', u'I love'), (u"I'mjust", u"I'm just"), (u'Inconceivablel', u'Inconceivable!'), (u'infact', u'in fact'), (u'Infact', u'In fact'), (u'in\ufb02uence', u'influence'), (u'infront', u'in front'), (u'injust', u'in just'), (u'insc\ufb01p\ufb01ons', u'inscriptions'), (u'insolencel', u'insolence!'), (u'intc', u'into'), (u'internationaljudges', u'international judges'), (u'inthe', u'in the'), (u'Iockdown', u'lockdown'), (u'Iong', u'long'), (u'Iongships', u'longships'), (u'Iook', u'look'), (u'Iookjust', u'look just'), (u'Iooklng', u'looking'), (u'Iooks', u'looks'), (u'Ioose', u'loose'), (u"Iord's", u"lord's"), (u'Iose', u'lose'), (u'Ioser', u'loser'), (u'Ioss', u'loss'), (u'Iost', u'lost'), (u'Iot', u'lot'), (u"Iot's", u"lot's"), (u'Iousyjob', u'lousy job'), (u'Iove', u'love'), (u'Ioves', u'loves'), (u'Iowlife', u'lowlife'), (u'Ipaid', u'I paid'), (u'Iquit', u'I quit'), (u'Ireallythinkthis', u'I really think this'), (u"I'rn", u"I'm"), (u'Isaw', u'I saw'), (u'Isayt/1e', u'I say the'), (u'isjust', u'is just'), (u"isn'i", u"isn't"), (u"isn't_", u"isn't."), (u'Isthis', u'Is this'), (u'Istill', u'I still'), (u'Istumblod', u'I stumbled'), (u'Itake', u'I take'), (u'itdown', u'it down'), (u'Iteach', u'I teach'), (u'Itfeels', u'It feels'), (u'ithave', u'it have'), (u'Ithink', u'I think'), (u'Ithinkthat', u'I think that'), (u'Ithinkthis', u'I think this'), (u"Ithinkyou're", u"I think you're"), (u'Ithlnk', u'I think'), (u'Ithoguht', u'I thought'), (u'Ithought', u'I thought'), (u'Ithoughtl', u'I thought I'), (u"it'II", u"it'll"), (u"It'II", u"It'll"), (u"it'Il", u"it'll"), (u"It'Il", u"It'll"), (u'itin', u'it in'), (u'itjust', u'it just'), (u'Itjust', u'It just'), (u"it'lI", u"it'll"), (u"It'lI", u"It'll"), (u"It'llhappen", u"It'll happen"), (u"it'lljust", u"it'll just"), (u'Itold', u'I told'), (u'Itook', u'I took'), (u'itout', u'it out'), (u"it'S", u"it's"), (u"it'sjinxed", u"it's jinxed"), (u"it'sjust", u"it's just"), (u"It'sjust", u"It's just"), (u'itso', u'it so'), (u'Ittends', u'It tends'), (u"Itwasn't", u"It wasn't"), (u'Iuckier', u'luckier'), (u'IV|oney', u'Money'), (u"IV|oney's", u"Money's"), (u"I'va", u"I've"), (u"I'Ve", u"I've"), (u'IVIan', u'Man'), (u'IVIAN', u'MAN'), (u'IVIarch', u'March'), (u"IVIarci's", u"Marci's"), (u'IVIarko', u'Marko'), (u'IVIe', u'Me'), (u"IVIine's", u"Mine's"), (u'IVImm', u'Mmm'), (u'IVIoney', u'Money'), (u'IVIr.', u'Mr.'), (u'IVIrs', u'Mrs'), (u'IVIuch', u'Much'), (u'IVIust', u'Must'), (u'IVIy', u'My'), (u'IVlacArthur', u'MacArthur'), (u"IVlacArthur's", u"MacArthur's"), (u'IVlcBride', u'McBride'), (u'IVlore', u'More'), (u'IVlotherfucker_', u'Motherfucker.'), (u'IVlr', u'Mr'), (u'IVlr.', u'Mr.'), (u'IVlr_', u'Mr.'), (u'IVlust', u'Must'), (u'IVly', u'My'), (u'Iwake', u'I wake'), (u'Iwant', u'I want'), (u'Iwanted', u'I wanted'), (u'Iwas', u'I was'), (u'Iwasjust', u'I was just'), (u'Iwasjustu', u'I was just...'), (u'Iwill', u'I will'), (u'Iwish', u'I wish'), (u"Iwon't", u"I won't"), (u'Iworked', u'I worked'), (u'Iwould', u'I would'), (u'jalapeno', u'jalape\xf1o'), (u'Jaokson', u'Jackson'), (u'Jascn', u'Jason'), (u'jcke', u'joke'), (u'jennifer', u'Jennifer'), (u'joseph', u'Joseph'), (u'Jumpthem', u'Jump them'), (u'jusi', u'just'), (u'jusl', u'just'), (u'justjudge', u'just judge'), (u'justleave', u'just leave'), (u'Justletgo', u'Just let go'), (u'kidsjumped', u'kids jumped'), (u'kiokflip', u'kickflip'), (u'knowjust', u'know just'), (u'knowthat', u'know that'), (u'knowthis', u'know this'), (u'knowwhat', u'know what'), (u'knowyet', u'know yet'), (u'knowyourlove', u'know your love'), (u'korean', u'Korean'), (u'L/ght', u'Light'), (u'L/kes', u'Likes'), (u'L\\/Ianuela', u'Manuela'), (u'L\\/Ianuelal', u'Manuela!'), (u'l\\/Iauzard', u'Mauzard'), (u'l\\/I\xe9lanie', u'M\xe9lanie'), (u'L\\/I\xe9lanie', u'M\xe9lanie'), (u'l\\/Iom', u'Mom'), (u'l\\/Iommy', u'Mommy'), (u'l\\/Ir', u'Mr'), (u'l\\/Ir.', u'Mr.'), (u'l\\/Is', u'Ms'), (u'l\\/ly', u'My'), (u'l_AuGHING', u'LAUGHING'), (u'l\u2018m', u"I'm"), (u'Laml6', u'I am l6'), (u'Lcad', u'Load'), (u'lcan', u'I can'), (u"lcan't", u"I can't"), (u"lcarl't_", u"I can't."), (u'Lcve', u'Love'), (u"l'd", u"I'd"), (u"L'd", u"I'd"), (u'ldid', u'I did'), (u'Ldid', u'I did'), (u'ldiot', u'Idiot'), (u"L'djump", u"I'd jump"), (u"ldon't", u"I don't"), (u"Ldon't", u"I don't"), (u'Lefs', u"Let's"), (u"Let'sjust", u"Let's just"), (u'lf', u'if'), (u'Lf', u'If'), (u'lfeelonelung', u'I feel one lung'), (u'lfthey', u'if they'), (u'lfyou', u'If you'), (u'Lfyou', u'If you'), (u"lfyou're", u"If you're"), (u'lget', u'I get'), (u'lgive', u'I give'), (u'Li/0/Academy', u'Lilly Academy'), (u'li/lr.', u'Mr.'), (u'ligature___', u'ligature...'), (u"l'II", u"I'll"), (u"l'Il", u"I'll"), (u'ljust', u'I just'), (u'Ljust', u'I just'), (u"ll/Iommy's", u"Mommy's"), (u'll/lajor', u'Major'), (u'Ll/lajor', u'Major'), (u'll/layans', u'Mayans'), (u"l'lI", u"I'll"), (u"l'll", u"I'll"), (u"L'll", u"I'll"), (u"l'lljust", u"I'll just"), (u"L'lltake", u"I'll take"), (u'llte', u'lite'), (u"l'm", u"I'm"), (u"L'm", u"I'm"), (u'Lmean', u'I mean'), (u"l'mjust", u"I'm just"), (u'ln', u'In'), (u'lN', u'IN'), (u'lNAuDll3LE', u'INAUDIBLE'), (u'LNAuDll3LE', u'INAUDIBLE'), (u'LNDlsTINcT', u'INDISTINCT'), (u'lneed', u'I need'), (u'lostyou', u'lost you'), (u'Loudmusic', u'Loud music'), (u'lraq', u'Iraq'), (u"lRA's", u"IRA's"), (u'Lrenka', u'Irenka'), (u'Lrn', u"I'm"), (u'lRS', u'IRS'), (u'lsabella', u'Isabella'), (u"lsn't", u"isn't"), (u"Lsn't", u"Isn't"), (u"Lst's", u"Let's"), (u'lsuppose', u'I suppose'), (u'lt', u'It'), (u'ltake', u'I take'), (u'ltell', u'I tell'), (u'lthink', u'I think'), (u'Lthink', u'I think'), (u'lthink___', u'I think...'), (u"lt'II", u"It'll"), (u"lt'Il", u"It'll"), (u'ltjammed_', u'It jammed.'), (u"lt'll", u"It'll"), (u'ltold', u'I told'), (u"lt's", u"It's"), (u"lT'S", u"IT'S"), (u"Lt'S", u"It's"), (u"Lt'sjust", u"It's just"), (u"lv\\/asn't", u"I wasn't"), (u"l've", u"I've"), (u"L've", u"I've"), (u'lVIan', u'Man'), (u'lVIcHenry', u'McHenry'), (u'lVIr.', u'Mr.'), (u'lVlacArthur', u'MacArthur'), (u'LVlore', u'More'), (u'lVlr', u'Mr'), (u'lVlr.', u'Mr.'), (u'lvluslc', u'MUSIC'), (u'lVlust', u'Must'), (u'LVly', u'Lily'), (u'lwaited', u'I waited'), (u'lwamoto', u'Iwamoto'), (u'lwant', u'I want'), (u'lwanted', u'I wanted'), (u'lwas', u'I was'), (u'lwill', u'I will'), (u"lwon't", u"I won't"), (u'lworked', u'I worked'), (u'lwould', u'I would'), (u"lwould've", u"I would've"), (u'lx/Iorning', u'Morning'), (u'M/dd/e', u'Middle'), (u'm/g/7ty', u'mighty'), (u'MACH/NE', u'MACHINE'), (u'MacKenz/e', u'MacKenzie'), (u'majorjackpot', u'major jackpot'), (u'majormuscle', u'major muscle'), (u'Manuela_', u'Manuela.'), (u'maste/y', u'mastery'), (u'Masturhate', u'Masturbate'), (u'Mattei_', u'Mattei.'), (u'mayjust', u'may just'), (u'mbecause', u'"because'), (u'McCa/Iister', u'McCallister'), (u'McCallisler', u'McCallister'), (u'Mccallister', u'McCallister'), (u'Mccallisters', u'McCallisters'), (u"mcm's", u"mom's"), (u'mcney', u'money'), (u'mcral', u'moral'), (u'mcre', u'more'), (u'mcve', u'move'), (u'mejust', u'me just'), (u'Mexioo', u'Mexico'), (u'mi//<', u'milk'), (u'misfartune', u'misfortune'), (u'Ml6', u'MI6'), (u'Mlnd', u'Mind'), (u"Mock/'ngbl'rd", u'Mockingbird'), (u"mOI'\u20ac", u'more'), (u'Mom_', u'Mom.'), (u'monkeyback', u'monkey back'), (u'move___l', u'move... I'), (u'moveto', u'move to'), (u'mustknock', u'must knock'), (u'Myheart', u'My heart'), (u'myjch', u'my job'), (u'myjet', u'my jet'), (u'myjob', u'my job'), (u'Myjob', u'My job'), (u"myjob's", u"my job's"), (u'mylife', u'my life'), (u'Mynew', u'My new'), (u'myown', u'my own'), (u'mypants', u'my pants'), (u'myselli', u'myself'), (u'Myshoes', u'My shoes'), (u'mysong', u'my song'), (u'mytemper', u'my temper'), (u'mythumb', u'my thumb'), (u'Myworld', u'My world'), (u'N0', u'No'), (u'narne', u'name'), (u'Natians', u'Nations'), (u'naTve', u'naive'), (u'nc', u'no'), (u'Nc', u'No'), (u'ncne', u'none'), (u'Ncrth', u'North'), (u'ncw', u'new'), (u'Ncw', u'Now'), (u'needyou', u'need you'), (u'neighboun', u'neighbour'), (u'neverfound', u'never found'), (u'neverthere', u'never there'), (u'neverv\\/ill_', u'never will.'), (u'NewJersey', u'New Jersey'), (u'newjob', u'new job'), (u'newjobs', u'new jobs'), (u'nextdoor', u'next door'), (u'Nighw', u'Nighty'), (u'nilios', u'ni\xf1os'), (u'Nlagnificence', u'Magnificence'), (u'Nlakes', u'Makes'), (u'Nlalina', u'Malina'), (u'Nlan', u'Man'), (u'Nlarch', u'March'), (u'Nlarine', u'Marine'), (u'Nlarion', u'Marion'), (u'Nlarry', u'Marry'), (u'Nlars', u'Mars'), (u'Nlarty', u'Marty'), (u'Nle', u'Me'), (u'Nleet', u'Meet'), (u'Nlen', u'Men'), (u'Nlom', u'Mom'), (u'Nlore', u'More'), (u'Nlornin', u'Mornin'), (u'Nlother', u'Mother'), (u'Nlr', u'Mr'), (u'Nlr.', u'Mr.'), (u'Nlrs', u'Mrs'), (u'Nluch', u'Much'), (u'nojurisdiction', u'no jurisdiction'), (u'noone', u'no one'), (u'Noone', u'No one'), (u'not judging', u'not judging'), (u'notgoing', u'not going'), (u'notjunk', u'not junk'), (u'Notjunk', u'Not junk'), (u'notjust', u'not just'), (u'notsure', u'not sure'), (u'novv', u'now'), (u'Nowjust', u'Now just'), (u"Nowthat's", u"Now that's"), (u'Numbertwo', u'Number two'), (u"oan't", u"can't"), (u"oan'tjust", u"can't just"), (u'objecl', u'object'), (u'occultpowerand', u'occult power and'), (u'Ocps', u'Oops'), (u'ofa', u'of a'), (u'ofajudge', u'of a judge'), (u'ofall', u'of all'), (u'Ofall', u'Of all'), (u'ofBedford', u'of Bedford'), (u'ofcourse', u'of course'), (u'Ofcourse', u'Of course'), (u'ofeach', u'of each'), (u'ofeither', u'of either'), (u"Offioer's", u"Officer's"), (u'ofFrance', u'of France'), (u'offreedom', u'of freedom'), (u'offthe', u'off the'), (u'offthis', u'off this'), (u'offto', u'off to'), (u'offun', u'of fun'), (u'ofguy', u'of guy'), (u'Ofhce', u'Office'), (u'ofhis', u'of his'), (u'ofHis', u'of His'), (u'ofhoneybees', u'of honeybees'), (u'ofit', u'of it'), (u'ofjam', u'of jam'), (u'OFJOAN', u'OF JOAN'), (u'ofjoy', u'of joy'), (u'ofjunior', u'of junior'), (u'ofme', u'of me'), (u'ofmead', u'of mead'), (u'ofmicroinjections', u'of microinjections'), (u'ofmy', u'of my'), (u'ofNew', u'of New'), (u"ofNorris'", u"of Norris'"), (u'ofopinions', u'of opinions'), (u'ofour', u'of our'), (u'ofpeopla', u'of people'), (u'ofthat', u'of that'), (u'ofthe', u'of the'), (u'Ofthe', u'Of the'), (u'oftheir', u'of their'), (u'ofthem', u'of them'), (u"ofthem's", u"of them's"), (u'ofthemselves', u'of themselves'), (u'ofthere', u'of there'), (u'ofthese', u'of these'), (u'ofthings', u'of things'), (u'ofthis', u'of this'), (u'ofthlngs', u'of things'), (u'ofthose', u'of those'), (u'ofuse', u'of use'), (u'ofwashington', u'of Washington'), (u'ofyou', u'of you'), (u'ofyour', u'of your'), (u'OId', u'Old'), (u'OIsson', u'Olsson'), (u'Ok3Y', u'Okay'), (u'okaY', u'okay'), (u'OkaY', u'Okay'), (u'OKaY', u'Okay'), (u'OKGY', u'Okay'), (u'Ol<', u'Ole'), (u'oldAdolfon', u'old Adolf on'), (u'onboard', u'on board'), (u'onIy', u'only'), (u'onIything', u'only thing'), (u'onJanuaw', u'on January'), (u'onlyjust', u'only just'), (u'Onyinal', u'Original'), (u'oomprise', u'comprise'), (u'oonstitution', u'constitution'), (u"oouldn't", u"couldn't"), (u"oould've", u"could've"), (u"oousin's", u"cousin's"), (u'opiimistically', u'optimistically'), (u'ora', u'or a'), (u'orfall', u'or fall'), (u'orglory', u'or glory'), (u'orjust', u'or just'), (u'Orjust', u'Or just'), (u'Orthat', u'Or that'), (u'orwould', u'or would'), (u'Orwould', u'Or would'), (u'Othenzvise', u'Otherwise'), (u'our joumey', u'our journey'), (u'ourbrave', u'our brave'), (u'ourfathers', u'our fathers'), (u'ourgirlon', u'our girl on'), (u'Ourgoal', u'Our goal'), (u'Ourguy', u'Our guy'), (u"ourj0b's", u"our job's"), (u"Ourj0b's", u"Our job's"), (u'ourjobs', u'our jobs'), (u"ourjob's", u"our job's"), (u"Ourjob's", u"Our job's"), (u'ourjoumey', u'our journey'), (u'ourphotos', u'our photos'), (u'ourv\\/ay', u'our way'), (u"outlool<'s", u"outlook's"), (u'overme', u'over me'), (u'overthe', u'over the'), (u'overthere', u'over there'), (u'p/ace', u'place'), (u'P/ease', u'Please'), (u'p_m_', u'p.m.'), (u'P\xb0P$', u'Pops'), (u'PANUNG', u'PANTING'), (u'pclnt', u'point'), (u'pclnts', u'points'), (u'pe0pIe', u'people'), (u'Perrut_', u'Perrut.'), (u'Persona/4/', u'Personally'), (u'Persona/y', u'Personally'), (u'persors', u"person's"), (u'PIain', u'Plain'), (u'PIease', u'Please'), (u'PIeasure', u'Pleasure'), (u'PIus', u'Plus'), (u'pleasurlng', u'pleasuring'), (u'POIe', u'Pole'), (u'Polynes/ans', u'Polynesians'), (u'poorshowing', u'poor showing'), (u'popsicle', u'Popsicle'), (u'Presidenfs', u"President's"), (u'probablyjust', u'probably just'), (u'puIIing', u'pulling'), (u'Putyourhand', u'Put your hand'), (u'Qh', u'Oh'), (u'QkaY', u'Okay'), (u'Qpen', u'Open'), (u'QUYS', u'GUYS'), (u'_QW', u'Aw'), (u'r/ght', u'right'), (u'ralnbow', u'rainbow'), (u'ratherjump', u'rather jump'), (u'ratherjust', u'rather just'), (u'Rcque', u'Roque'), (u'rcscucd', u'rescued'), (u'rea/', u'real'), (u'readytolaunchu', u'ready to launch...'), (u'reaHy', u'really'), (u'ReaHy', u'Really'), (u'reallyjust', u'really just'), (u'reallymiss', u'really miss'), (u'reallytalked', u'really talked'), (u'reallythink', u'really think'), (u'reallythinkthis', u'really think this'), (u'rememberthem', u'remember them'), (u'reoalibrated', u'recalibrated'), (u'retum', u'return'), (u'rhfluence', u'influence'), (u'rightdown', u'right down'), (u'roadyou', u'road you'), (u'RUMBUNG', u'RUMBLING'), (u's/uggikh', u'sluggish'), (u'S0', u'So'), (u'S1oW1y', u'Slowly'), (u'saidyou', u'said you'), (u"sayeverything's", u"say everything's"), (u'saynothing', u'say nothing'), (u'saythat', u'say that'), (u'sc', u'so'), (u'scientihc', u'scientific'), (u'SCREAIVHNG', u'SCREAMING'), (u'sCREAlvllNG', u'SCREAMING'), (u'SCREAlvllNG', u'SCREAMING'), (u'scund', u'sound'), (u"S'EOp", u'Stop'), (u'severa/parents', u'several parents'), (u'sfill', u'still'), (u'S\ufb02ence', u'Silence'), (u'shallrise', u'shall rise'), (u'sHATTERING', u'SHATTERING'), (u'shcws', u'shows'), (u'Shdsjust', u"She's just"), (u'She`s', u"She's"), (u'She\u2018II', u"She'll"), (u"she'II", u"she'll"), (u"She'II", u"She'll"), (u"she'Il", u"she'll"), (u'Shejust', u'She just'), (u"she'lI", u"she'll"), (u'Shoofing', u'Shooting'), (u'ShOp', u'shop'), (u'shortyears', u'short years'), (u'shou/dn', u'shouldn\u2019t'), (u'shou\ufb01ng', u'shouting'), (u'Shou\ufb02ng', u'Shouting'), (u'shouldnt', u"shouldn't"), (u'Shouldrt', u"Shouldn't"), (u'shouldrt', u"shouldn't"), (u"Shs's", u"She's"), (u'SHUDDERWG', u'SHUDDERING'), (u'Shutup', u'Shut up'), (u'SIGH$', u'SIGHS'), (u'signifcance', u'significance'), (u'Sincc', u'Since'), (u'sistervvill', u'sister will'), (u'Skarsg\xe9rd', u'Skarsg\xe5rd'), (u'slcsHs', u'SIGHS'), (u'slGHINcs', u'SIGHING'), (u'slGHING', u'SIGHING'), (u'slNGING', u'SINGING'), (u'slzzLING', u'SIZZLING'), (u'smarfest', u'smartest'), (u'Smiih', u'Smith'), (u'so/id', u'solid'), (u'SoBl3lNG', u'SOBBING'), (u'soemtimes', u'sometimes'), (u'Sojust', u'So just'), (u'soldierl', u'soldier!'), (u'somethlng', u'something'), (u"somethlng's", u"something's"), (u"somez'/7/ng", u'something'), (u'somthing', u'something'), (u'sumthing', u'something'), (u'sou/', u'soul'), (u'SoundofMusic', u'Sound of Music'), (u'SP/ash', u'Splash'), (u'SPEAK/NG', u'SPEAKING'), (u'speII', u'spell'), (u"speII's", u"spell's"), (u'Spendourtime', u'Spend our time'), (u'sQUA\\/\\/KING', u'SQUAWKING'), (u'StAnton', u'St Anton'), (u'stealsjeans', u'steals jeans'), (u'StilI', u'Still'), (u'Stilldesperatelyseeking', u'Still desperately seeking'), (u'stlll', u'still'), (u'sToPs', u'STOPS'), (u'storyl', u'story!'), (u'Stubbom', u'Stubborn'), (u'su/faces', u'surfaces'), (u'suffocaiing', u'suffocating'), (u'summerjob', u'summer job'), (u'Summerjust', u'Summer just'), (u'sun/ive', u'survive'), (u'superiorman', u'superior man'), (u'sur\ufb02aces', u'surfaces'), (u't/ying', u'trying'), (u'T0', u'To'), (u'T00', u'Too'), (u'ta/ks', u'talks'), (u'taiked', u'talked'), (u'talkto', u'talk to'), (u'Talkto', u'Talk to'), (u'talktonight', u'talk tonight'), (u'tampax', u'Tampax'), (u'tc', u'to'), (u'tcday', u'today'), (u'tcrturing', u'torturing'), (u'tcuch', u'touch'), (u'te//', u'tell'), (u'tearjust', u'tear just'), (u'tellsjokes', u'tells jokes'), (u'tellyou', u'tell you'), (u'terriers_', u'terriers.'), (u'th/nk', u'think'), (u'THEPASSION', u'THE PASSION'), (u'thafs', u"that's"), (u'Thafs', u"That's"), (u"Thai's", u"That's"), (u"Thal's", u"That's"), (u'thankyou', u'thank you'), (u'Thankyou', u'Thank you'), (u'thatconverts', u'that converts'), (u'thatgoes', u'that goes'), (u"that'II", u"that'll"), (u"That'II", u"That'll"), (u'thatjob', u'that job'), (u'thatjunk', u'that junk'), (u'thatjust', u'that just'), (u'thatleads', u'that leads'), (u"Thatl'm", u"That I'm"), (u"that's just", u"that's just"), (u'Thatsand', u'That sand'), (u"that'sjust", u"that's just"), (u"That'sjust", u"That's just"), (u'Thc', u'The'), (u'theirface', u'their face'), (u'theirfeet', u'their feet'), (u'theirfury', u'their fury'), (u'thejaw', u'the jaw'), (u'thejoint', u'the joint'), (u'thejudge', u'the judge'), (u'thejudges', u'the judges'), (u'Thejudges', u'The judges'), (u'thejury', u'the jury'), (u'Thelook', u'The look'), (u'Therds', u"There's"), (u"There'II", u"There'll"), (u"There'Il", u"There'll"), (u"There'lI", u"There'll"), (u"They'/'e", u"They're"), (u"they/'II", u"they'll"), (u'They/re', u"They're"), (u"They/'re", u"They're"), (u"they'II", u"they'll"), (u"they'Il", u"they'll"), (u'theyjust', u'they just'), (u'Theyjust', u'They just'), (u"they'lI", u"they'll"), (u"They'lI", u"They'll"), (u'theyre', u"they're"), (u'theysay', u'they say'), (u'thinkthat', u'think that'), (u"this'II", u"this'll"), (u'thlngs', u'things'), (u'Thlnkthls', u'Think this'), (u'thls', u'this'), (u"thore's", u"there's"), (u"Thore's", u"There's"), (u'Thorjust', u'Thor just'), (u"thoughtl'dletyou", u"thought I'd let you"), (u'tnatjust', u'that just'), (u"tnat's", u"that's"), (u"Tnat's", u"That's"), (u"Tnere'll", u"There'll"), (u'to//et', u'toilet'), (u'To//S', u'Tolls'), (u"todayl'd", u"today I'd"), (u'togelher', u'together'), (u'togethen', u'together'), (u'tojoin', u'to join'), (u'tojudge', u'to judge'), (u'toldyou', u'told you'), (u'tomorrovv', u'tomorrow'), (u'Tonighfsjust', u"Tonight's just"), (u'totake', u'to take'), (u'totalk', u'to talk'), (u'tothat', u'to that'), (u'tothe', u'to the'), (u'Towef', u'Tower'), (u'Tr/ck/ing', u'Trickling'), (u'Traitur', u'Traitor'), (u'tv\\/o', u'two'), (u'tvvelve', u'twelve'), (u'Tvvelve', u'Twelve'), (u'tvventy', u'tvventy'), (u'Tvventy', u'Tvventy'), (u'tvvo', u'two'), (u'Tvvo', u'Two'), (u'twc', u'two'), (u'unconhrmed', u'unconfirmed'), (u'underthat', u'under that'), (u'underthe', u'under the'), (u'underthese', u'under these'), (u'underyour', u'under your'), (u'unfilyou', u'until you'), (u"Unfon'unate/y", u'Unfortunately'), (u'Uninnabited', u'Uninhabited'), (u'untilApril', u'until April'), (u'untilyou', u'until you'), (u'upthinking', u'up thinking'), (u'upto', u'up to'), (u'V\\/ait___', u'Wait...'), (u'v\\/as', u'was'), (u'V\\/as', u'Was'), (u'V\\/e', u'We'), (u"v\\/eek's", u"week's"), (u'V\\/eird_', u'Weird.'), (u'V\\/ell', u'Well'), (u'V\\/hat', u'what'), (u"V\\/hen'll", u"When'll"), (u'V\\/ho', u'Who'), (u"v\\/ho'll", u"who'll"), (u'v\\/Hoops', u'Whoops'), (u"v\\/ho's", u"who's"), (u"V\\/ho's", u"Who's"), (u'V\\/hy', u'Why'), (u'v\\/ith', u'with'), (u"v\\/on't", u"won't"), (u'V\\fith', u'With'), (u'V\\fithin', u'Within'), (u'valedictolian', u'valedictorian'), (u'vcice', u'voice'), (u've/y', u'very'), (u'veiy', u'very'), (u'V\xe9ry', u'Very'), (u'versioin', u'version'), (u'vi/ay', u'way'), (u'visitjails', u'visit jails'), (u"Viva/di's", u"Vivaldi's"), (u'vlll', u'vill'), (u'Voil\xe1', u'Voil\xe0'), (u'Voil\xe9', u'Voil\xe0'), (u'vvasjust', u'was just'), (u"VVasn't", u"Wasn't"), (u'vvay', u'way'), (u'VVe', u'We'), (u"VVe'II", u"We'll"), (u"VVe'll", u"We'll"), (u'Vvelooked', u'We looked'), (u"VVe're", u"We're"), (u"VVe've", u"We've"), (u'VVhat', u'What'), (u"VVhat's", u"What's"), (u"VVhat'S", u"What's"), (u'VVhen', u'When'), (u"'v'Vhere's", u"Where's"), (u'VVhip', u'Whip'), (u'vvHooPING', u'WHOOPING'), (u'VvHooPING', u'WHOOPING'), (u'VVhy', u'Why'), (u'VVill', u'Will'), (u'VVinters', u'Winters'), (u'vvlND', u'WIND'), (u"w\xa4n't", u"won't"), (u'W9', u'We'), (u'waht', u'want'), (u'waierfall', u'waterfall'), (u'walkjust', u'walk just'), (u'wallplant', u'wall plant'), (u'wannajump', u'wanna jump'), (u'wantyou', u'want you'), (u'Warcontinues', u'War continues'), (u'wasjennifer', u'was Jennifer'), (u'wasjust', u'was just'), (u'wasrt', u"wasn't"), (u'Wasrt', u"Wasn't"), (u'wayl', u'way I'), (u'wayround', u'way round'), (u'wclf', u'wolf'), (u'wcman', u'woman'), (u'wcmen', u'women'), (u"wcn't", u"won't"), (u'wcrse', u'worse'), (u'wculd', u'would'), (u'We//', u'Well'), (u'We/came', u'Welcome'), (u'we/come', u'welcome'), (u'We/come', u'Welcome'), (u'We/I', u'Well'), (u'weekendjust', u'weekend just'), (u'werert', u"weren't"), (u'Werert', u"Weren't"), (u"we'II", u"we'll"), (u"We'II", u"We'll"), (u"we'Il", u"we'll"), (u"We'Il", u"We'll"), (u'wejust', u'we just'), (u"we'lI", u"we'll"), (u"We'rejust", u"We're just"), (u"We'ro", u"We're"), (u"We'Ve", u"We've"), (u'wh/p', u'whip'), (u'Wh\xb0ops', u'Whoops'), (u'Whafs', u"What's"), (u'Whatam', u'What am'), (u'Whatare', u'What are'), (u'Whateverwe', u'Whatever we'), (u"What'II", u"What'll"), (u'Whatis', u'What is'), (u'whatjust', u'what just'), (u'Whatl', u'What I'), (u'whatshe', u'what she'), (u'whatwe', u'what we'), (u"Whc's", u"Who's"), (u'Whcse', u'Whose'), (u'wHlsPERs', u'WHISPERS'), (u'wi//', u'will'), (u'wil/', u'will'), (u'Wil/', u'Will'), (u'wilI', u'will'), (u'willbe', u'will be'), (u'willhire', u'will hire'), (u'willneverknow', u'will never know'), (u'willyou', u'will you'), (u'wlfe', u'wife'), (u"wlfe's", u"wife's"), (u'wlth', u'with'), (u"wnat's", u"what's"), (u'Wno', u'Who'), (u'Wo/f', u'Wolf'), (u'wo\ufb02d', u'world'), (u"WOI'1't", u"won't"), (u'wondernobody', u'wonder nobody'), (u"won'T", u"won't"), (u"won'tanswerme", u"won't answer me"), (u"won'tforget", u"won't forget"), (u"won'tletitbring", u"won't let it bring"), (u"Wo're", u"We're"), (u'worfd', u'world'), (u"won'th", u'worth'), (u"won'thwhile", u'worthwhile'), (u'workyou', u'work you'), (u"wouIdn't", u"wouldn't"), (u"wouldn'!", u"wouldn't"), (u'Wouldrt', u"Wouldn't"), (u"wr/'2'/ng", u'writing'), (u'writign', u'writing'), (u'wrcng', u'wrong'), (u'wuuld', u'would'), (u'_Yay', u'Yay'), (u"Y\xa4u'II", u"You'll"), (u"Y\xa4u'll", u"You'll"), (u"y\xa4u're", u"you're"), (u"Y\xa4u're", u"You're"), (u"y\xa4u've", u"you've"), (u'Y0', u'Yo'), (u'y0LI', u'you'), (u"y0u'II", u"you'll"), (u"Y0u'rc", u"You're"), (u"Y0u're", u"You're"), (u"Y0u've", u"You've"), (u'yaming', u'yarning'), (u'yaurparents', u'your parents'), (u'ycu', u'you'), (u"ycu'd", u"you'd"), (u'ycur', u'your'), (u"Ycu're", u"You're"), (u'Ycursins', u'Your sins'), (u'YEI_I_', u'YELL'), (u'YELL$', u'YELLS'), (u'yigg/mg', u'giggling'), (u'Yigg/mg', u'giggling'), (u'yoLI', u'you'), (u'yOu', u'you'), (u'yOU', u'you'), (u'you`re', u"you're"), (u"you'II", u"you'll"), (u"You'II", u"You'll"), (u"You'Il", u"You'll"), (u'youjack', u'you jack'), (u'youjoin', u'you join'), (u'Youjoin', u'You join'), (u'youjust', u'you just'), (u"You'lI", u"You'll"), (u'youngsterlike', u'youngster like'), (u'youpick', u'you pick'), (u"you'ra", u"you're"), (u'Yourattention', u'Your attention'), (u'yourautomobile', u'your automobile'), (u"You'rejustjealous", u"You're just jealous"), (u'yourextra', u'your extra'), (u'yourfather', u'your father'), (u'yourhand', u'your hand'), (u'yourhusband', u'your husband'), (u'yourjewelry', u'your jewelry'), (u'yourjob', u'your job'), (u'Yourjob', u'Your job'), (u'yourjob_', u'your job.'), (u'yourjockey', u'your jockey'), (u'yourjury', u'your jury'), (u'yourname', u'your name'), (u'Yourpackage', u'Your package'), (u'yourpackage', u'your package'), (u"you'ro", u"you're"), (u'yourpoorleg', u'your poor leg'), (u'yourvveak', u'your weak'), (u"you'va", u"you've"), (u"You'va", u"You've"), (u'youWlneversee', u"you'll never see"), (u'yQu', u'you'), (u'YQu', u'You'), (u"yQu'_7", u'you?'), (u'yummY', u'yummy'), (u'yuu', u'you'), (u'Yuu', u'You'), (u"Yuu've", u"You've"), (u"z'housand", u'thousand'), (u'zlPPING', u'ZIPPING'), (u'Ifslocked', u"It's locked"), (u'nightjust', u'night just'), (u'dayjourney', u'day journey'), (u'Ourjob', u'Our job'), (u'IunCh', u'lunch'), (u'nieCe', u'niece'), (u'giVes', u'gives'), (u'wantto', u'want to'), (u'besttoday', u'best today'), (u'NiCe', u'Nice'), (u'oftravelling', u'of travelling'), (u'oftwo', u'of two'), (u'ALl', u'ALI'), (u'afterparty', u'after-party'), (u'welL', u'well.'), (u'theirjob', u'their job'), (u"lfhe's", u"If he's"), (u'babyjesus', u'baby Jesus'), (u'shithousejohn', u'shithouse John'), (u'jesus', u'Jesus'), (u'withjesus', u'with Jesus'), (u'Gojoin', u'Go join'), (u'Adaughter', u'A daughter'), (u'talkwith', u'talk with'), (u'anyjournals', u'any journals'), (u"L'mjewish", u"I'm Jewish"), (u'arejust', u'are just'), (u'soundjust', u'sound just'), (u"ifl'm", u"if I'm"), (u'askyou', u'ask you'), (u'ordinarywoman', u'ordinary woman'), (u'andjunkies', u'and junkies'), (u'isjack', u'is Jack'), (u'helpyou', u'help you'), (u'thinkyou', u'think you'), (u'Lordjesus', u'Lord Jesus'), (u'injuvy', u'in juvy'), (u'thejets', u'the jets'), (u'ifGod', u'if God'), (u'againstjewish', u'against Jewish'), (u'ajunkie', u'a junkie'), (u'dearjesus', u'dear Jesus'), (u'hearyour', u'hear your'), (u'takeyears', u'take years'), (u'friendjean', u'friend Jean'), (u'Fatherjohn', u'Father John'), (u'youjean', u'you Jean'), (u'hearyou', u'hear you'), (u'Ifshe', u'If she'), (u"didn'tjust", u"didn't just"), (u'IfGod', u'If God'), (u'notjudge', u'not judge'), (u'andjudge', u'and judge'), (u'OKBY', u'Okay'), (u'myjourney', u'my journey'), (u'yourpremium', u'your premium'), (u"we'rejust", u"we're just"), (u'Iittlejokes', u'little jokes'), (u'Iifejust', u'life just'), (u'Andjust', u'And just'), (u'ofThe', u'of The'), (u'lifejust', u'life just'), (u'AIice', u'Alice'), (u'lnternationalAirport', u'International Airport'), (u'yourbody', u'your body'), (u'DollarBaby', u'Dollar Baby'), (u'ofjonesing', u'of jonesing'), (u'yourpanties', u'your panties'), (u'offforme', u'off for me'), (u'pantyparty', u'panty party'), (u'everhit', u'ever hit'), (u'theirhomes', u'their homes'), (u'AirForce', u'Air Force'), (u'yourhead', u'your head'), (u'betterbe', u'better be'), (u'myparty', u'my party'), (u'disasterlockdown', u'disaster lockdown'), (u"Ifpot's", u"If pot's"), (u'ifmy', u'if my'), (u'yourmoney', u'your money'), (u'Potterfan', u'Potter fan'), (u'Hermionejust', u'Hermione just'), (u'ofourshit', u'of our shit'), (u'showyou', u'show you'), (u'answernow', u'answer now'), (u'theirsjust', u'theirs just'), (u'BIackie', u'Blackie'), (u'SIeep', u'Sleep'), (u'foryour', u'for your'), (u'oryour', u'or your'), (u'forArthur', u'for Arthur'), (u'CIamp', u'Clamp'), (u'CIass', u'Class'), (u'CIose', u'Close'), (u'GIove', u'Glove'), (u'EIIen', u'Ellen'), (u'PIay', u'Play'), (u'PIace', u'Place'), (u'EIgyn', u'Elgyn'), (u'AIert', u'Alert'), (u'CIaus', u'Claus'), (u'CIimb', u'Climb'), (u"military'II", u"military'll"), (u'anylonget', u'any longer'), (u'yourlife', u'your life'), (u"Yourbitch'IIgetyou", u"Your bitch'll get you"), (u'yourdick', u'your dick'), (u'Tellyourbitch', u'Tell your bitch'), (u'rememberyou', u'remember you'), (u'newface', u'new face'), (u'Butyou', u'But you'), (u"don'tyou", u"don't you"), (u'yourlives', u'your lives'), (u'Iovedher', u'loved her'), (u'reallydid', u'really did'), (u'firstperson', u'first person'), (u'mybest', u'my best'), (u'Justgive', u'Just give'), (u'AIong', u'Along'), (u'atyourbody', u'at your body'), (u'myhands', u'my hands'), (u'sayhe', u'say he'), (u'mybooty', u'my booty'), (u'yourbooty', u'your booty'), (u'yourgirl', u'your girl'), (u'yourlegs', u'your legs'), (u'betterifthey', u'better if they'), (u'manybeautiful', u'many beautiful'), (u'contactpolice', u'contact police'), (u'numberbelow', u'number below'), (u'biggestproblem', u'biggest problem'), (u'Itgave', u'It gave'), (u'everybodykind', u'everybody kind'), (u'theyhad', u'they had'), (u'knowherlast', u'know her last'), (u'herhearing', u'her hearing'), (u'othermembers', u'other members'), (u'BIing', u'Bling'), (u'CIyde', u'Clyde'), (u'foundguilty', u'found guilty'), (u'fouryears', u'four years'), (u'countyjail', u'county jail'), (u'yearin', u'year in'), (u'theirrole', u'their role'), (u'manybottles', u'many bottles'), (u"can'tpronounce", u"can't pronounce"), (u'manybowls', u'many bowls'), (u'ofthatgreen', u'of that green'), (u'manyjoyrides', u'many joyrides'), (u'Superrich', u'Super rich'), (u'Iprefer', u'I prefer'), (u'Theymust', u'They must'), (u'whatyou', u'what you'), (u"I'IIjump", u"I'll jump"), (u'nobodyknow', u'nobody know'), (u'neverknew', u'never knew'), (u'EIectronica', u'Electronica'), (u'AIarm', u'Alarm'), (u'getyourman', u'get your man'), (u'sayyou', u'say you'), (u'getyour', u'get your'), (u'Fuckyou', u'Fuck you'), (u'Whyyou', u'Why you'), (u'butyoujust', u'but you just'), (u'forgetyourname', u'forget your name'), (u'Whatyou', u'What you'), (u"Co/'ncidenta//y", u'Coincidentally'), (u'GIad', u'Glad'), (u'RachelMarron', u'Rachel Marron'), (u"She'llgive", u"She'll give"), (u'presidentialsuite', u'presidential suite'), (u'andgentlemen', u'and gentlemen'), (u'willnot', u'will not'), (u'ourproducers', u'our producers'), (u"Ifshe's", u"If she's"), (u'CIock', u'Clock'), (u'Ishould', u'I should'), (u"I'llgo", u"I'll go"), (u'maypass', u'may pass'), (u'andprotecting', u'and protecting'), (u'BIessed', u'Blessed'), (u'CIean', u'Clean'), (u'SIave', u'Slave'), (u'AIi', u'Ali'), (u'AIIah', u'Allah'), (u'AIIahu', u'Allahu'), (u'CIick', u'Click'), (u'BIast', u'Blast'), (u'AIlah', u'Allah'), (u'SIow', u'Slow'), (u'theirpolicies', u'their policies'), (u'Orperhaps', u'Or perhaps'), (u'ofsex', u'of sex'), (u'forpleasure', u'for pleasure'), (u'ourpower', u'our power'), (u'Yourpiece', u'Your piece'), (u'Offioers', u'Officers'), (u'oondesoended', u'condescended'), (u'myseif', u'myself'), (u"let'sjust", u'let\u2019s just'), (u'yourway', u'your way'), (u'An9TY', u'Angry'), (u'ourjourney', u'our journey'), (u'LuCY', u'Lucy'), (u"\\'m", u'I\u2019m'), (u'CEDR/C', u'CEDRIC'), (u'lsaac', u'Isaac'), (u'FIy', u'Fly'), (u'Ionger', u'longer'), (u'Iousy', u'lousy'), (u'Iosing', u'losing'), (u"They'II", u"They'll"), (u'yourpaws', u'your paws'), (u'littie', u'little'), (u"It'lljust", u"It'll just"), (u'AIso', u'Also'), (u'Iisten', u'listen'), (u'suPPosed', u'supposed'), (u'somePIace', u'someplace'), (u'exPIain', u'explain'), (u'Iittle', u'little'), (u'StoP', u'Stop'), (u'AIways', u'Always'), (u'Iectures', u'lectures'), (u'Iow', u'low'), (u'Ieaving', u'leaving'), (u'Ietting', u'letting'), (u'Iistening', u'listening'), (u'Iecture', u'lecture'), (u'Iicking', u'licking'), (u'Iosses', u'losses'), (u'PIeased', u'Pleased'), (u'ofburglaries', u'of burglaries'), (u"He'sjust", u"He's just"), (u'mytrucktoo', u'my truck too'), (u'nowwhat', u'now what'), (u'yourfire', u'your fire'), (u"herwhat's", u"her what's"), (u'hearthat', u'hear that'), (u'oryou', u'or you'), (u'preferjournalist', u'prefer journalist'), (u'CIaw', u'Claw'), (u'Ifour', u'If our'), (u'lron', u'Iron'), (u"It'syour", u"It's your"), (u'lfstill', u'If still'), (u'forjoining', u'for joining'), (u'foryears', u'for years'), (u'Ifit', u'If it'), (u'notjump', u'not jump'), (u'ourproblem', u'our problem'), (u'yourprofile', u'your profile'), (u'ifJanine', u'if Janine'), (u'forpreventative', u'for preventative'), (u'whetherprotest', u'whether protest'), (u'Ifnot', u'If not'), (u'ourpeople', u'our people'), (u'offmy', u'off my'), (u'forproviding', u'for providing'), (u'hadjust', u'had just'), (u'nearyou', u'near you'), (u'whateveryou', u'whatever you'), (u'hourputs', u'hour puts'), (u'timejob', u'time job'), (u'overyour', u'over your'), (u'orpermanent', u'or permanent'), (u'createjobs', u'create jobs'), (u"I'vejust", u"I've just"), (u'peoplejobs', u'people jobs'), (u'dinnerpail', u'dinner pail'), (u'hasjumped', u'has jumped'), (u'theirprivacy', u'their privacy'), (u'AIl', u'All'), (u'ofserious', u'of serious'), (u'yourprofessional', u'your professional'), (u'poiitical', u'political'), (u'tojump', u'to jump'), (u'iives', u'lives'), (u'eiections', u'elections'), (u'militaryjuntas', u'military juntas'), (u'nojoke', u'no joke'), (u'yourpresidency', u'your presidency'), (u'ofmilitaryjuntas', u'of military juntas'), (u'Ourproposal', u'Our proposal'), (u'LeBIanc', u'LeBlanc'), (u'KIaus', u'Klaus'), (u'yourpussy', u'your pussy'), (u'lNTERVIEWER', u'INTERVIEWER'), (u'lNAUDIBLE', u'INAUDIBLE'), (u'SImpsons', u'Simpsons'), (u'anotherjob', u'another job'), (u'lfthere', u'If there'), (u'descentinto', u'descent into'), (u'ofthathere', u'of that here'), (u'ofway', u'of way'), (u'yourseat', u'your seat'), (u'allyou', u'all you'), (u'Allyou', u'All you'), (u'yourass', u'your ass'), (u'Yourbutt', u'Your butt'), (u'iustiiggle', u'just jiggle'), (u'iust', u'just'), (u'CSi', u'CSI'), (u'affernoon', u'afternoon'), (u'orpersecution', u'or persecution'), (u'theirpetty', u'their petty'), (u'Fourpercent', u'Four percent'), (u'fourpercent', u'four percent'), (u'willjust', u'will just'), (u"Ifyou're", u"If you're"), (u'ourplanet', u'our planet'), (u'lsolation', u'Isolation'), (u'yourprimitive', u'your primitive'), (u'yourplanet', u'your planet'), (u'matteryour', u'matter your'), (u'Yourplace', u'Your place'), (u'andjustice', u'and justice'), (u'anotherpart', u'another part'), (u'confiict', u'conflict'), (u'growingjeopardy', u'growing jeopardy'), (u'hasjust', u'has just'), (u'havejust', u'have just'), (u'herselfinto', u'herself into'), (u'ifnecessary', u'if necessary'), (u"we'vejust", u"we've just"), (u'tojust', u'to just'), (u'yourjudgment', u'your judgment'), (u'yourjeans', u'your jeans'), (u'Youjust', u'You just'), (u'ajanitor', u'a janitor'), (u'FIattery', u'Flattery'), (u'myjournal', u'my journal'), (u'myjudgment', u'my judgment'), (u'offofmy', u'off of my'), (u'offyour', u'off your'), (u'ofgood', u'of good'), (u'ofguilty', u'of guilty'), (u'ofhaving', u'of having'), (u'ofheart', u'of heart'), (u'ofhonor', u'of honor'), (u'oflove', u'of love'), (u'ofmankind', u'of mankind'), (u'ofmany', u'of many'), (u'ofnormal', u'of normal'), (u'ofpeople', u'of people'), (u'ofpower', u'of power'), (u'ofsuch', u'of such'), (u'peoplejust', u'people just'), (u"They'rejust", u"They're just"), (u'tojeopardize', u'to jeopardize'), (u'Yourplaces', u'Your places'), (u'yourposition', u'your position'), (u'yourselfa', u'yourself a'), (u'yourselfright', u'yourself right'), (u'thejob', u'the job'), (u'thejanitors', u'the janitors'), (u'alljust', u'all just'), (u"forAmerica's", u"for America's"), (u'Forpencils', u'For pencils'), (u'forpondering', u'for pondering'), (u'handwrittenjournals', u'handwritten journals'), (u'herpursuit', u'her pursuit'), (u'ofjust', u'of just'), (u'oflanding', u'of landing'), (u'oflife', u'of life'), (u'outjust', u'out just'), (u'Thejoke', u'The joke'), (u'ourpatient', u'our patient'), (u"oryou're", u"or you're"), (u'ofyourself', u'of yourself'), (u'poweryour', u'power your'), (u'Ofmy', u'Of my'), (u'EIlen', u'Ellen'), (u"Don'tget", u"Don't get"), (u'tellme', u'tell me'), (u'ofdecision', u'of decision'), (u'itgoing', u'it going'), (u'artificialgravity', u'artificial gravity'), (u'shouldknow', u'should know'), (u"Hasn'tgot", u"Hasn't got"), (u'thirdjunction', u'third junction'), (u'somebodypicks', u'somebody picks'), (u'Willyou', u'Will you'), (u"can'tget", u"can't get"), (u'BuZZes', u'Buzzes'), (u"wouldn'tyou", u"wouldn't you"), (u'Wellbelow', u'Well below'), (u"What'dyou", u"What'd you"), (u'decipheredpart', u'deciphered part'), (u"they'llknow", u"they'll know"), (u"ifit's", u"if it's"), (u'ornot', u'or not'), (u'myposition', u'my position'), (u'lndistinct', u'Indistinct'), (u'anybiscuits', u'any biscuits'), (u'Andifyou', u'And if you'), (u'lfwe', u'If we'), (u'yourarm', u'your arm'), (u'lnteresting', u'Interesting'), (u'findit', u'find it'), (u"it'llstart", u"it'll start"), (u'holdit', u'hold it'), (u'ofkilling', u'of killing'), (u'Howyou', u'How you'), (u'lnhales', u'Inhales'), (u'lgot', u'I got'), (u'CIip', u'Clip'), (u"what'II", u"what'll"), (u"road'II", u"road'll"), (u'girI', u'girl'), (u'LIoyd', u'Lloyd'), (u'BIake', u'Blake'), (u'reaI', u'real'), (u'Foryour', u'For your'), (u'yourpublic', u'your public'), (u'LAst', u'Last'), (u'h is', u'his'), (u'He)\u2019', u'Hey'), (u'Ls', u'Is'), (u"al'", u'at'), (u"wail'", u'wait'), (u"III'll", u"I'll"), (u'forthis', u'for this'), (u'Yea h', u'Yeah'), (u'a re', u'are'), (u'He)"', u'Hey'), (u"pan'", u'part'), (u'yea h', u'yeah'), (u'Tun', u'Run'), (u"He)'", u'Hey'), (u"he)'", u'hey'), (u"I'11", u"I'll"), (u'he)"', u'hey'), (u" 're ", u"'re ")]), + 'pattern': u'(?um)(\\b|^)(?:\\$COff\\$|\\$ergei|\\$\\\'llOp|\\/\\\'\\/\\/|\\/\\\'\\/I|\\/ennifer|\\/got|\\/have|\\/hope|\\/just|\\/love|\\/\\\'m|\\/mmerse|\\/nsu\\/ts|\\/ong|\\/ook|\\/t\\\'s|\\/\\\'ve|\\\\\\/\\\\\\/e\\\'d|\\\\\\/\\\\\\/e\\\'re|\\\\\\/\\\\\\/e\\\'ve|\\\\\\/\\\\\\/hat|\\\\\\/\\\\\\/here\\\'d|\\\\\\/\\\\\\/hoo|\\\\\\/\\\\\\/hy|\\\\\\/\\\\\\/hy\\\'d|\\\\\\/\\\\le\\\'re|\\\\\\/Ve|\\\\Ne\\\'re|\\\\Nhat\\\'s|\\\\Nhere\\\'s|\\|\\\'mjust|\\\xa4ff|\\\xa4Id|\\\xa4Ids|\\\xa4n|\\\xa4ne|\\\xa4nly|\\\xa4pen|\\\xa4r|\\\xa4rder|\\\xa4ther|\\\xa4ur|\\\xa4ut|\\\xa4ver|\\\xa4wn|\\\u20acV\\\u20acI\\\'y|0\\\'clock|0f|0fEngland|0fft0|0l\\/er|0n|0ne|0ne\\\'s|0r|0rders|0thers\\\'|0ut|0utlaw\\\'s|0utlaws\\\'|0ver|13oos|18oos|195os|1et\\\'s|1o|1oo|1ooth|1oth|2E\\_|2\\\'IST|2\\\'Ist\\_|2o|2oth|3o|3oth|4o|4os|4oth|50rry|5o|5oth|6o|6os|\\\'6os|6oth|7o|\\\'7os|7oth|8o|\\\'8os|8oth|9\\/aim|9o|9oth|9UnShQt|a\\/\\/|a\\/bum|a\\/so|A\\/ways|abcut|aboutjoining|aboutposh|aboutus|aboutyou|accldent|Acool|afier|affraid|Afriend|afterall|afterthe|afulcrum|Afunny|aga\\/nst|ahsolutes|AI\\_I\\_|AIien|AIex|AII|AIIan|AIIow|AIive|ain\\\'tgotno|Ain\\\'tgotno|airstrike|AIVIBULANCE|ajob|ajockey\\_|ajoke|Ajoke|ajoking|al\\/|al\\/en|alittle|allgasp|alljustforshow|aln\\\'t|alot|Alot|An5wer|Andit|Andit\\\'s|andl|andlaughs|andleave|andthe|andyou|Andyou|ANNOUNC\\/NG|anotherstep|ANSWER\\/NG|answerwhat|antiquejoke|anyhcdy\\\'s|Anyidea|anyone\\\'s\\_|apejust|ARABlc|aren\\\'t\\_|arerl\\\'t|Arnsteln\\\'s|atleast|Atough|Awhole|awoman|Awoman|barelytalked|bcat|Bcllvla|bcmb|bcmbs|be\\/\\/y|becuase|Beep\\/\\\'ng|bejumpy|besldes|bestfriend|bestguy|bestjob|BIack|BIess|bigos\\_\\_\\_|BIame|BIind|BIood|BIue|BLOVVS|blowholel|blt|Bo99|bodiedyoung|breakf\\\xe9wtl|bulldozlng|butjust|butl|Butl|butljust|Butljustcan\\\'tgetenough|Butyou\\\'re|buythem|buyyou|byjust|bythe|C\\/latter\\/\\\'\\/7g|ca\\/\\/\\/ng|ca\\/I|call\\/ng|callyou|can\\*t|can\\\'i|can\\\'I|canlgetyou|cannotchange|cannut|can\\\'T|can\\\'t\\_|can\\\'tjust|can\\\'tletgo|Car0l|Carhorn|carrled|Ccug|Ccugs|Ccver|cellularchange|cff|cfycu|cfycur|Ch\\/rping|chaletgirl|changejobs|Charliejust|Chatter\\/\\\'rtg|CHATTERWG|Chequeredlove|cHIRPINcs|chjldishness|chlldrcn|chlldren|chocolatte|Cho\\/r|cHucKl\\_Es|CIark|CIear|circumcised\\_|ckay|cl\\_osEs|CLATTERWG|cn|cne|cnes|Coincidenta\\/\\/y|COm\\\u20ac|comp\\/etey|complainingabout|coms|cond\\/lion|confdence|conhrmed|connrm|Consecutivelyl|COUGH5|CouGHING|couIdn\\\'t|couldjust|couldn\\\'T|couldn\\\'tjust|Couldyou|crappyjob|CRAsHING|crder|Crowdcheers|Cruoially|cther|cuuld|cver|d\\/\\\'dn\\\'t|d\\/squietude|D\\\xa4esn\\\'t|d\\\xa4n\\\'i|d\\\xa4n\\\'t|d\\\xb09|d0|D0|D0asn\\\'t|Dad\\\'\\/\\/|dairyjust|Dar\\/\\/ng|dc|Dcbby|dccsn\\\'t|dcctcr|Dces|dcgs|dcing|dcn\\\'I|dcn\\\'t|Dcn\\\'t|dcughnut|declslons|deedhas|Dehnitely|desewes|desperate\\/\\\xbby|D\\\ufb02nk|DIAl\\_lNcs|didn\\\'\\!|didnt|didn\\\'T|dIdn\\\'t|didn\\\'t\\_|didrft|didrl\\\'t|didyou|divorcing\\_|dld|dldn\\\'t|dlfflcull|dlg|dlsobeyed|doasn\\\'t|Doasn\\\'t|doctoh|Doctor\\_\\_\\_tell|doesnt|doesn\\\'T|doesri\\\'t|doesrt|Doesrt|doit|dojust|don\\*t|donejobs|don\\\'i|don\\\'l|Don\\\'l|Donllook|dont|don\\\'T|don\\\'tcare|don\\\'tjoke|Don\\\'tjudge|don\\\'tjust|Don\\\'tjust|Don\\\'tlet|don\\\'tlhink|don\\\'tpush|Don\\\'tyou|DonWlook|Dooropens|doorshuts|dothat|dothis|Drinkthis|dumbass|dumbto|dun\\\'t|E\\/\\/e|E9YPt|ea\\/\\\'t\\/7|eart\\/7|efi\\\'\\/\\\'c\\/\\\'ent|EN\\<3LlsH|Enjoythe|Erv\\\\\\/an|Erv\\\\\\/an\\\'s|etemity|ev\\/I|eve\\/yone|even\\/body\\\'s|eversay|Everymonth|everythings|Everythirlg\\\'s|Everythlng\\\'s|Everytime|Exac\\\ufb02y|ExacUy\\_|excitedshrieking|ExcLAllvls|exploatation|expreusion|fairthat|Fathef|fatherfigure|FBl|fcrebcdlng|fcreverjudges|fcund|feeleverything|feelsweet|fiam\\/\\\'\\/y|\\\ufb01ngernail|finishedjunior|FIynn|flll|flra|Flylng|Fnends|fo\\/low|fonzvard|fora|Fora|forajob|forAmerica|forNew|forone|forso|Forsuch|forsunburns|forthe|Foryears|foryou|Foudeen|Fou\\\ufb02een|FourSeasons|fr\\/ends|freezerfood|F\\\xfchrerfeels|furthernotice|furyou|G0|g0in9|gamlenias|GAsPING|gc|gcing|gcnna|Gcnna|gct|Gct|genercsity|generosityn|getjust|g\\\ufb02ing|gi\\\ufb02friend|gir\\/|gir\\/s\\\'boarding|giris|gLlyS|glum\\_|gnyone|golng|goodboyand|goodjob|gOt|gotjumped|gotmyfirstinterview|grandjury|greatjob|Greatjobl|grinco|GRoANING|GRUNUNG|gu|gunna|guyjumped|guyjust|gUyS|\\_H6Y\\-|H\\\u20acY|H0we\\\xb7ver|halftheir|hapPY|hasrt|Hasrt|haven\\\'tspokerl|hcle|hcme|hcmes|hcpe|hctel|hcurs|Hcw|he\\/ps|hearjokestonight|hearme|Hefell|he\\\'II|He\\\'II|HeII0|He\\\'Il|Hejust|He\\\'lI|HelIo|hellc|HellO|herboyfr\\/end|herflesh|herfollov\\\\\\/ed|herjob\\_|HerrSchmidt|herwith|HeY\\\xb7|HeyJennifer|hiddsn|hisjunk|Hitlershare|Hlneed|Hnally|Hnishing|HOId|hOIes|HONMNG|honorthe|honoryou|honoryour|Hov\\\\\\/\\\'s|Hov\\\\\\/\\\'S|HovvLING|howit|HoW\\\'s|howto|Hs\\\'s|hurtyou|I\\/erilj\\/|I\\/fe|I\\\\\\/I|I\\\\\\/Ian|I\\\\\\/Iathies|I\\\\\\/Ie|I\\\\\\/Iommy|I\\\\\\/Ir|I\\\\\\/Ir\\.|I\\\\\\/ly|I3EEPING|I3LARING|Iacings|Iaid|Iam|Iand|Ianding|Iast|Iate|Icad|Icading|Ican|Iccked|Icng|Icsing|Icslng|Idid|Ididn\\\'t|Ido|Idon\\\'i|Idon\\\'t|Idon\\\'tthink|I\\\'E\\\'\\$|Ieamed|Ieapt|Iearned|Ieast|Ieave|Ied|Ieft|Ieg\\\'s|Iess|Iet|Iet\\\'s|Iet\\\'sjust|if\\/just|Ifear|Ifeared|Ifeel|ifI\\\'\\|\\||ifI\\\'d|ifI\\\'II|ifI\\\'ll|ifI\\\'m|Ifinally|ifI\\\'ve|ifl|Iforgot|Ifound|ifshe|ifthat\\\'s|ifthe|Ifthe|ifthere\\\'s|Ifthey|ifwe|Ifwe|Ifycu|ifyou|Ifyou|ifyuu|Iget|Igot|Igotta|Igotyou|Iguess|Iguessljust|Ihad|Ihat\\\'s|Ihave|Iheard|ihere\\\'s|ihey\\\'ve|Ihope|ii\\/Iary|ii\\/Ir|ii\\/Ir\\.|ii\\/love|Iife|I\\\'II|Iike|I\\\'Il|Iine|iirst|ii\\\'s|Ii\\\'s|Iiterallyjumped|Ijoined|Ijust|Iknew|Iknow|Ile|Ileft|I\\\'lldo|I\\\'llmake|Ilons|Ilove|I\\\'mjust|Inconceivablel|infact|Infact|in\\\ufb02uence|infront|injust|insc\\\ufb01p\\\ufb01ons|insolencel|intc|internationaljudges|inthe|Iockdown|Iong|Iongships|Iook|Iookjust|Iooklng|Iooks|Ioose|Iord\\\'s|Iose|Ioser|Ioss|Iost|Iot|Iot\\\'s|Iousyjob|Iove|Ioves|Iowlife|Ipaid|Iquit|Ireallythinkthis|I\\\'rn|Isaw|Isayt\\/1e|isjust|isn\\\'i|isn\\\'t\\_|Isthis|Istill|Istumblod|Itake|itdown|Iteach|Itfeels|ithave|Ithink|Ithinkthat|Ithinkthis|Ithinkyou\\\'re|Ithlnk|Ithoguht|Ithought|Ithoughtl|it\\\'II|It\\\'II|it\\\'Il|It\\\'Il|itin|itjust|Itjust|it\\\'lI|It\\\'lI|It\\\'llhappen|it\\\'lljust|Itold|Itook|itout|it\\\'S|it\\\'sjinxed|it\\\'sjust|It\\\'sjust|itso|Ittends|Itwasn\\\'t|Iuckier|IV\\|oney|IV\\|oney\\\'s|I\\\'va|I\\\'Ve|IVIan|IVIAN|IVIarch|IVIarci\\\'s|IVIarko|IVIe|IVIine\\\'s|IVImm|IVIoney|IVIr\\.|IVIrs|IVIuch|IVIust|IVIy|IVlacArthur|IVlacArthur\\\'s|IVlcBride|IVlore|IVlotherfucker\\_|IVlr|IVlr\\.|IVlr\\_|IVlust|IVly|Iwake|Iwant|Iwanted|Iwas|Iwasjust|Iwasjustu|Iwill|Iwish|Iwon\\\'t|Iworked|Iwould|jalapeno|Jaokson|Jascn|jcke|jennifer|joseph|Jumpthem|jusi|jusl|justjudge|justleave|Justletgo|kidsjumped|kiokflip|knowjust|knowthat|knowthis|knowwhat|knowyet|knowyourlove|korean|L\\/ght|L\\/kes|L\\\\\\/Ianuela|L\\\\\\/Ianuelal|l\\\\\\/Iauzard|l\\\\\\/I\\\xe9lanie|L\\\\\\/I\\\xe9lanie|l\\\\\\/Iom|l\\\\\\/Iommy|l\\\\\\/Ir|l\\\\\\/Ir\\.|l\\\\\\/Is|l\\\\\\/ly|l\\_AuGHING|l\\\u2018m|Laml6|Lcad|lcan|lcan\\\'t|lcarl\\\'t\\_|Lcve|l\\\'d|L\\\'d|ldid|Ldid|ldiot|L\\\'djump|ldon\\\'t|Ldon\\\'t|Lefs|Let\\\'sjust|lf|Lf|lfeelonelung|lfthey|lfyou|Lfyou|lfyou\\\'re|lget|lgive|Li\\/0\\/Academy|li\\/lr\\.|ligature\\_\\_\\_|l\\\'II|l\\\'Il|ljust|Ljust|ll\\/Iommy\\\'s|ll\\/lajor|Ll\\/lajor|ll\\/layans|l\\\'lI|l\\\'ll|L\\\'ll|l\\\'lljust|L\\\'lltake|llte|l\\\'m|L\\\'m|Lmean|l\\\'mjust|ln|lN|lNAuDll3LE|LNAuDll3LE|LNDlsTINcT|lneed|lostyou|Loudmusic|lraq|lRA\\\'s|Lrenka|Lrn|lRS|lsabella|lsn\\\'t|Lsn\\\'t|Lst\\\'s|lsuppose|lt|ltake|ltell|lthink|Lthink|lthink\\_\\_\\_|lt\\\'II|lt\\\'Il|ltjammed\\_|lt\\\'ll|ltold|lt\\\'s|lT\\\'S|Lt\\\'S|Lt\\\'sjust|lv\\\\\\/asn\\\'t|l\\\'ve|L\\\'ve|lVIan|lVIcHenry|lVIr\\.|lVlacArthur|LVlore|lVlr|lVlr\\.|lvluslc|lVlust|LVly|lwaited|lwamoto|lwant|lwanted|lwas|lwill|lwon\\\'t|lworked|lwould|lwould\\\'ve|lx\\/Iorning|M\\/dd\\/e|m\\/g\\/7ty|MACH\\/NE|MacKenz\\/e|majorjackpot|majormuscle|Manuela\\_|maste\\/y|Masturhate|Mattei\\_|mayjust|mbecause|McCa\\/Iister|McCallisler|Mccallister|Mccallisters|mcm\\\'s|mcney|mcral|mcre|mcve|mejust|Mexioo|mi\\/\\/\\<|misfartune|Ml6|Mlnd|Mock\\/\\\'ngbl\\\'rd|mOI\\\'\\\u20ac|Mom\\_|monkeyback|move\\_\\_\\_l|moveto|mustknock|Myheart|myjch|myjet|myjob|Myjob|myjob\\\'s|mylife|Mynew|myown|mypants|myselli|Myshoes|mysong|mytemper|mythumb|Myworld|N0|narne|Natians|naTve|nc|Nc|ncne|Ncrth|ncw|Ncw|needyou|neighboun|neverfound|neverthere|neverv\\\\\\/ill\\_|NewJersey|newjob|newjobs|nextdoor|Nighw|nilios|Nlagnificence|Nlakes|Nlalina|Nlan|Nlarch|Nlarine|Nlarion|Nlarry|Nlars|Nlarty|Nle|Nleet|Nlen|Nlom|Nlore|Nlornin|Nlother|Nlr|Nlr\\.|Nlrs|Nluch|nojurisdiction|noone|Noone|not\\ judging|notgoing|notjunk|Notjunk|notjust|notsure|novv|Nowjust|Nowthat\\\'s|Numbertwo|oan\\\'t|oan\\\'tjust|objecl|occultpowerand|Ocps|ofa|ofajudge|ofall|Ofall|ofBedford|ofcourse|Ofcourse|ofeach|ofeither|Offioer\\\'s|ofFrance|offreedom|offthe|offthis|offto|offun|ofguy|Ofhce|ofhis|ofHis|ofhoneybees|ofit|ofjam|OFJOAN|ofjoy|ofjunior|ofme|ofmead|ofmicroinjections|ofmy|ofNew|ofNorris\\\'|ofopinions|ofour|ofpeopla|ofthat|ofthe|Ofthe|oftheir|ofthem|ofthem\\\'s|ofthemselves|ofthere|ofthese|ofthings|ofthis|ofthlngs|ofthose|ofuse|ofwashington|ofyou|ofyour|OId|OIsson|Ok3Y|okaY|OkaY|OKaY|OKGY|Ol\\<|oldAdolfon|onboard|onIy|onIything|onJanuaw|onlyjust|Onyinal|oomprise|oonstitution|oouldn\\\'t|oould\\\'ve|oousin\\\'s|opiimistically|ora|orfall|orglory|orjust|Orjust|Orthat|orwould|Orwould|Othenzvise|our\\ joumey|ourbrave|ourfathers|ourgirlon|Ourgoal|Ourguy|ourj0b\\\'s|Ourj0b\\\'s|ourjobs|ourjob\\\'s|Ourjob\\\'s|ourjoumey|ourphotos|ourv\\\\\\/ay|outlool\\<\\\'s|overme|overthe|overthere|p\\/ace|P\\/ease|p\\_m\\_|P\\\xb0P\\$|PANUNG|pclnt|pclnts|pe0pIe|Perrut\\_|Persona\\/4\\/|Persona\\/y|persors|PIain|PIease|PIeasure|PIus|pleasurlng|POIe|Polynes\\/ans|poorshowing|popsicle|Presidenfs|probablyjust|puIIing|Putyourhand|Qh|QkaY|Qpen|QUYS|\\_QW|r\\/ght|ralnbow|ratherjump|ratherjust|Rcque|rcscucd|rea\\/|readytolaunchu|reaHy|ReaHy|reallyjust|reallymiss|reallytalked|reallythink|reallythinkthis|rememberthem|reoalibrated|retum|rhfluence|rightdown|roadyou|RUMBUNG|s\\/uggikh|S0|S1oW1y|saidyou|sayeverything\\\'s|saynothing|saythat|sc|scientihc|SCREAIVHNG|sCREAlvllNG|SCREAlvllNG|scund|S\\\'EOp|severa\\/parents|sfill|S\\\ufb02ence|shallrise|sHATTERING|shcws|Shdsjust|She\\`s|She\\\u2018II|she\\\'II|She\\\'II|she\\\'Il|Shejust|she\\\'lI|Shoofing|ShOp|shortyears|shou\\/dn|shou\\\ufb01ng|Shou\\\ufb02ng|shouldnt|Shouldrt|shouldrt|Shs\\\'s|SHUDDERWG|Shutup|SIGH\\$|signifcance|Sincc|sistervvill|Skarsg\\\xe9rd|slcsHs|slGHINcs|slGHING|slNGING|slzzLING|smarfest|Smiih|so\\/id|SoBl3lNG|soemtimes|Sojust|soldierl|somethlng|somethlng\\\'s|somez\\\'\\/7\\/ng|somthing|sumthing|sou\\/|SoundofMusic|SP\\/ash|SPEAK\\/NG|speII|speII\\\'s|Spendourtime|sQUA\\\\\\/\\\\\\/KING|StAnton|stealsjeans|StilI|Stilldesperatelyseeking|stlll|sToPs|storyl|Stubbom|su\\/faces|suffocaiing|summerjob|Summerjust|sun\\/ive|superiorman|sur\\\ufb02aces|t\\/ying|T0|T00|ta\\/ks|taiked|talkto|Talkto|talktonight|tampax|tc|tcday|tcrturing|tcuch|te\\/\\/|tearjust|tellsjokes|tellyou|terriers\\_|th\\/nk|THEPASSION|thafs|Thafs|Thai\\\'s|Thal\\\'s|thankyou|Thankyou|thatconverts|thatgoes|that\\\'II|That\\\'II|thatjob|thatjunk|thatjust|thatleads|Thatl\\\'m|that\\\'s\\ just|Thatsand|that\\\'sjust|That\\\'sjust|Thc|theirface|theirfeet|theirfury|thejaw|thejoint|thejudge|thejudges|Thejudges|thejury|Thelook|Therds|There\\\'II|There\\\'Il|There\\\'lI|They\\\'\\/\\\'e|they\\/\\\'II|They\\/re|They\\/\\\'re|they\\\'II|they\\\'Il|theyjust|Theyjust|they\\\'lI|They\\\'lI|theyre|theysay|thinkthat|this\\\'II|thlngs|Thlnkthls|thls|thore\\\'s|Thore\\\'s|Thorjust|thoughtl\\\'dletyou|tnatjust|tnat\\\'s|Tnat\\\'s|Tnere\\\'ll|to\\/\\/et|To\\/\\/S|todayl\\\'d|togelher|togethen|tojoin|tojudge|toldyou|tomorrovv|Tonighfsjust|totake|totalk|tothat|tothe|Towef|Tr\\/ck\\/ing|Traitur|tv\\\\\\/o|tvvelve|Tvvelve|tvventy|Tvventy|tvvo|Tvvo|twc|unconhrmed|underthat|underthe|underthese|underyour|unfilyou|Unfon\\\'unate\\/y|Uninnabited|untilApril|untilyou|upthinking|upto|V\\\\\\/ait\\_\\_\\_|v\\\\\\/as|V\\\\\\/as|V\\\\\\/e|v\\\\\\/eek\\\'s|V\\\\\\/eird\\_|V\\\\\\/ell|V\\\\\\/hat|V\\\\\\/hen\\\'ll|V\\\\\\/ho|v\\\\\\/ho\\\'ll|v\\\\\\/Hoops|v\\\\\\/ho\\\'s|V\\\\\\/ho\\\'s|V\\\\\\/hy|v\\\\\\/ith|v\\\\\\/on\\\'t|V\\\\fith|V\\\\fithin|valedictolian|vcice|ve\\/y|veiy|V\\\xe9ry|versioin|vi\\/ay|visitjails|Viva\\/di\\\'s|vlll|Voil\\\xe1|Voil\\\xe9|vvasjust|VVasn\\\'t|vvay|VVe|VVe\\\'II|VVe\\\'ll|Vvelooked|VVe\\\'re|VVe\\\'ve|VVhat|VVhat\\\'s|VVhat\\\'S|VVhen|\\\'v\\\'Vhere\\\'s|VVhip|vvHooPING|VvHooPING|VVhy|VVill|VVinters|vvlND|w\\\xa4n\\\'t|W9|waht|waierfall|walkjust|wallplant|wannajump|wantyou|Warcontinues|wasjennifer|wasjust|wasrt|Wasrt|wayl|wayround|wclf|wcman|wcmen|wcn\\\'t|wcrse|wculd|We\\/\\/|We\\/came|we\\/come|We\\/come|We\\/I|weekendjust|werert|Werert|we\\\'II|We\\\'II|we\\\'Il|We\\\'Il|wejust|we\\\'lI|We\\\'rejust|We\\\'ro|We\\\'Ve|wh\\/p|Wh\\\xb0ops|Whafs|Whatam|Whatare|Whateverwe|What\\\'II|Whatis|whatjust|Whatl|whatshe|whatwe|Whc\\\'s|Whcse|wHlsPERs|wi\\/\\/|wil\\/|Wil\\/|wilI|willbe|willhire|willneverknow|willyou|wlfe|wlfe\\\'s|wlth|wnat\\\'s|Wno|Wo\\/f|wo\\\ufb02d|WOI\\\'1\\\'t|wondernobody|won\\\'T|won\\\'tanswerme|won\\\'tforget|won\\\'tletitbring|Wo\\\'re|worfd|won\\\'th|won\\\'thwhile|workyou|wouIdn\\\'t|wouldn\\\'\\!|Wouldrt|wr\\/\\\'2\\\'\\/ng|writign|wrcng|wuuld|\\_Yay|Y\\\xa4u\\\'II|Y\\\xa4u\\\'ll|y\\\xa4u\\\'re|Y\\\xa4u\\\'re|y\\\xa4u\\\'ve|Y0|y0LI|y0u\\\'II|Y0u\\\'rc|Y0u\\\'re|Y0u\\\'ve|yaming|yaurparents|ycu|ycu\\\'d|ycur|Ycu\\\'re|Ycursins|YEI\\_I\\_|YELL\\$|yigg\\/mg|Yigg\\/mg|yoLI|yOu|yOU|you\\`re|you\\\'II|You\\\'II|You\\\'Il|youjack|youjoin|Youjoin|youjust|You\\\'lI|youngsterlike|youpick|you\\\'ra|Yourattention|yourautomobile|You\\\'rejustjealous|yourextra|yourfather|yourhand|yourhusband|yourjewelry|yourjob|Yourjob|yourjob\\_|yourjockey|yourjury|yourname|Yourpackage|yourpackage|you\\\'ro|yourpoorleg|yourvveak|you\\\'va|You\\\'va|youWlneversee|yQu|YQu|yQu\\\'\\_7|yummY|yuu|Yuu|Yuu\\\'ve|z\\\'housand|zlPPING|Ifslocked|nightjust|dayjourney|Ourjob|IunCh|nieCe|giVes|wantto|besttoday|NiCe|oftravelling|oftwo|ALl|afterparty|welL|theirjob|lfhe\\\'s|babyjesus|shithousejohn|jesus|withjesus|Gojoin|Adaughter|talkwith|anyjournals|L\\\'mjewish|arejust|soundjust|ifl\\\'m|askyou|ordinarywoman|andjunkies|isjack|helpyou|thinkyou|Lordjesus|injuvy|thejets|ifGod|againstjewish|ajunkie|dearjesus|hearyour|takeyears|friendjean|Fatherjohn|youjean|hearyou|Ifshe|didn\\\'tjust|IfGod|notjudge|andjudge|OKBY|myjourney|yourpremium|we\\\'rejust|Iittlejokes|Iifejust|Andjust|ofThe|lifejust|AIice|lnternationalAirport|yourbody|DollarBaby|ofjonesing|yourpanties|offforme|pantyparty|everhit|theirhomes|AirForce|yourhead|betterbe|myparty|disasterlockdown|Ifpot\\\'s|ifmy|yourmoney|Potterfan|Hermionejust|ofourshit|showyou|answernow|theirsjust|BIackie|SIeep|foryour|oryour|forArthur|CIamp|CIass|CIose|GIove|EIIen|PIay|PIace|EIgyn|AIert|CIaus|CIimb|military\\\'II|anylonget|yourlife|Yourbitch\\\'IIgetyou|yourdick|Tellyourbitch|rememberyou|newface|Butyou|don\\\'tyou|yourlives|Iovedher|reallydid|firstperson|mybest|Justgive|AIong|atyourbody|myhands|sayhe|mybooty|yourbooty|yourgirl|yourlegs|betterifthey|manybeautiful|contactpolice|numberbelow|biggestproblem|Itgave|everybodykind|theyhad|knowherlast|herhearing|othermembers|BIing|CIyde|foundguilty|fouryears|countyjail|yearin|theirrole|manybottles|can\\\'tpronounce|manybowls|ofthatgreen|manyjoyrides|Superrich|Iprefer|Theymust|whatyou|I\\\'IIjump|nobodyknow|neverknew|EIectronica|AIarm|getyourman|sayyou|getyour|Fuckyou|Whyyou|butyoujust|forgetyourname|Whatyou|Co\\/\\\'ncidenta\\/\\/y|GIad|RachelMarron|She\\\'llgive|presidentialsuite|andgentlemen|willnot|ourproducers|Ifshe\\\'s|CIock|Ishould|I\\\'llgo|maypass|andprotecting|BIessed|CIean|SIave|AIi|AIIah|AIIahu|CIick|BIast|AIlah|SIow|theirpolicies|Orperhaps|ofsex|forpleasure|ourpower|Yourpiece|Offioers|oondesoended|myseif|let\\\'sjust|yourway|An9TY|ourjourney|LuCY|\\\\\\\'m|CEDR\\/C|lsaac|FIy|Ionger|Iousy|Iosing|They\\\'II|yourpaws|littie|It\\\'lljust|AIso|Iisten|suPPosed|somePIace|exPIain|Iittle|StoP|AIways|Iectures|Iow|Ieaving|Ietting|Iistening|Iecture|Iicking|Iosses|PIeased|ofburglaries|He\\\'sjust|mytrucktoo|nowwhat|yourfire|herwhat\\\'s|hearthat|oryou|preferjournalist|CIaw|Ifour|lron|It\\\'syour|lfstill|forjoining|foryears|Ifit|notjump|ourproblem|yourprofile|ifJanine|forpreventative|whetherprotest|Ifnot|ourpeople|offmy|forproviding|hadjust|nearyou|whateveryou|hourputs|timejob|overyour|orpermanent|createjobs|I\\\'vejust|peoplejobs|dinnerpail|hasjumped|theirprivacy|AIl|ofserious|yourprofessional|poiitical|tojump|iives|eiections|militaryjuntas|nojoke|yourpresidency|ofmilitaryjuntas|Ourproposal|LeBIanc|KIaus|yourpussy|lNTERVIEWER|lNAUDIBLE|SImpsons|anotherjob|lfthere|descentinto|ofthathere|ofway|yourseat|allyou|Allyou|yourass|Yourbutt|iustiiggle|iust|CSi|affernoon|orpersecution|theirpetty|Fourpercent|fourpercent|willjust|Ifyou\\\'re|ourplanet|lsolation|yourprimitive|yourplanet|matteryour|Yourplace|andjustice|anotherpart|confiict|growingjeopardy|hasjust|havejust|herselfinto|ifnecessary|we\\\'vejust|tojust|yourjudgment|yourjeans|Youjust|ajanitor|FIattery|myjournal|myjudgment|offofmy|offyour|ofgood|ofguilty|ofhaving|ofheart|ofhonor|oflove|ofmankind|ofmany|ofnormal|ofpeople|ofpower|ofsuch|peoplejust|They\\\'rejust|tojeopardize|Yourplaces|yourposition|yourselfa|yourselfright|thejob|thejanitors|alljust|forAmerica\\\'s|Forpencils|forpondering|handwrittenjournals|herpursuit|ofjust|oflanding|oflife|outjust|Thejoke|ourpatient|oryou\\\'re|ofyourself|poweryour|Ofmy|EIlen|Don\\\'tget|tellme|ofdecision|itgoing|artificialgravity|shouldknow|Hasn\\\'tgot|thirdjunction|somebodypicks|Willyou|can\\\'tget|BuZZes|wouldn\\\'tyou|Wellbelow|What\\\'dyou|decipheredpart|they\\\'llknow|ifit\\\'s|ornot|myposition|lndistinct|anybiscuits|Andifyou|lfwe|yourarm|lnteresting|findit|it\\\'llstart|holdit|ofkilling|Howyou|lnhales|lgot|CIip|what\\\'II|road\\\'II|girI|LIoyd|BIake|reaI|Foryour|yourpublic|LAst|h\\ is|He\\)\\\u2019|Ls|al\\\'|wail\\\'|III\\\'ll|forthis|Yea\\ h|a\\ re|He\\)\\"|pan\\\'|yea\\ h|Tun|He\\)\\\'|he\\)\\\'|I\\\'11|he\\)\\"|\\ \\\'re\\ )(\\b|$)'}}, 'fin': {'BeginLines': {'data': OrderedDict(), 'pattern': None}, 'EndLines': {'data': OrderedDict(), diff --git a/Contents/Libraries/Shared/subzero/modification/dictionaries/make_data.py b/Contents/Libraries/Shared/subzero/modification/dictionaries/make_data.py index d5970d308..1ac99b6e6 100644 --- a/Contents/Libraries/Shared/subzero/modification/dictionaries/make_data.py +++ b/Contents/Libraries/Shared/subzero/modification/dictionaries/make_data.py @@ -39,6 +39,7 @@ }, "WholeWords": { u"I'11": u"I'll", + u"III'll": u"I'll", u"Tun": u"Run", u"pan'": u"part", u"al'": u"at", From eaa79fb3bdd9efd724adf7e9155c58ef1c395aee Mon Sep 17 00:00:00 2001 From: panni Date: Tue, 27 Mar 2018 17:27:38 +0200 Subject: [PATCH 06/31] submod: common: reduce multi spaces to one --- Contents/Libraries/Shared/subzero/modification/mods/common.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Contents/Libraries/Shared/subzero/modification/mods/common.py b/Contents/Libraries/Shared/subzero/modification/mods/common.py index 2d0025536..8d7b34b1d 100644 --- a/Contents/Libraries/Shared/subzero/modification/mods/common.py +++ b/Contents/Libraries/Shared/subzero/modification/mods/common.py @@ -26,6 +26,9 @@ class CommonFixes(SubtitleTextModification): # line = _/-/\s NReProcessor(re.compile(r'(?u)(^\W*[-_.]+\W*$)'), "", name="CM_non_word_only"), + # multi space + NReProcessor(re.compile(r'(?u)(\s{2,})'), " ", name="CM_multi_space"), + # fix music symbols NReProcessor(re.compile(ur'(?u)(^[*#¶\s]*[*#¶]+[*#¶\s]*$)'), u"♪", name="CM_music_symbols"), From 8feec0284d53720f5e26286aed1e9c92b77897b3 Mon Sep 17 00:00:00 2001 From: panni Date: Tue, 27 Mar 2018 17:34:27 +0200 Subject: [PATCH 07/31] bump dev --- Contents/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Info.plist b/Contents/Info.plist index ac47a45ec..89efcb210 100755 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleVersion - 2.5.3.2422 + 2.5.3.2429 PlexFrameworkVersion 2 PlexPluginClass @@ -32,7 +32,7 @@ <h1>Sub-Zero for Plex</h1><i>Subtitles done right</i> -Version 2.5.3.2422 DEV +Version 2.5.3.2429 DEV Originally based on @bramwalet's awesome <a href="https://github.com/bramwalet/Subliminal.bundle">Subliminal.bundle</a> From 007e93e526d6d41ebb8114d57879de833379b576 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 05:16:00 +0200 Subject: [PATCH 08/31] providers: opensubtitles: more debug info --- Contents/Libraries/Shared/subliminal_patch/core.py | 5 +++-- .../Shared/subliminal_patch/providers/opensubtitles.py | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Contents/Libraries/Shared/subliminal_patch/core.py b/Contents/Libraries/Shared/subliminal_patch/core.py index 75318d263..6738f988b 100644 --- a/Contents/Libraries/Shared/subliminal_patch/core.py +++ b/Contents/Libraries/Shared/subliminal_patch/core.py @@ -167,7 +167,7 @@ def list_subtitles_provider(self, provider, video, languages): self[provider].initialize() results = self[provider].list_subtitles(video, provider_languages) except: - logger.error('Provider %r reinitialization error', provider) + logger.error('Provider %r reinitialization error: %s', provider, traceback.format_exc()) seen = [] out = [] @@ -275,7 +275,8 @@ def download_subtitle(self, subtitle): self[subtitle.provider_name].terminate() self[subtitle.provider_name].initialize() except: - logger.error('Provider %r reinitialization error', subtitle.provider_name) + logger.error('Provider %r reinitialization error: %s', subtitle.provider_name, + traceback.format_exc()) except rarfile.BadRarFile: logger.error('Malformed RAR file from provider %r, skipping subtitle.', subtitle.provider_name) diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index f98fceef0..8e8ea4188 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -2,6 +2,7 @@ import logging import os +import traceback from babelfish import language_converters from dogpile.cache.api import NO_VALUE @@ -163,12 +164,18 @@ def initialize(self): logger.error("Login failed, please check your credentials") def terminate(self): + try: + checked(self.server.LogOut(self.token)) + except: + logger.error("Logout failed: %s", traceback.format_exc()) + try: if self.server: self.server.close() except: - pass + logger.error("Logout failed (server close): %s", traceback.format_exc()) + self.server = None self.token = None def list_subtitles(self, video, languages): From d26569b26ff1a16a279338b01676e71bbd027986 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 05:26:41 +0200 Subject: [PATCH 09/31] providers: opensubtitles: more debug info; add option to disable HTTPS --- Contents/Code/support/config.py | 3 ++- Contents/DefaultPrefs.json | 6 ++++++ .../subliminal_patch/providers/opensubtitles.py | 11 ++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Contents/Code/support/config.py b/Contents/Code/support/config.py index 7c8ae0315..3001f4cc3 100644 --- a/Contents/Code/support/config.py +++ b/Contents/Code/support/config.py @@ -644,7 +644,8 @@ def get_provider_settings(self): 'password': Prefs['provider.opensubtitles.password'], 'use_tag_search': self.exact_filenames, 'only_foreign': self.forced_only, - 'is_vip': cast_bool(Prefs['provider.opensubtitles.is_vip']) + 'is_vip': cast_bool(Prefs['provider.opensubtitles.is_vip']), + 'use_ssl': cast_bool(Prefs['provider.opensubtitles.use_ssl']), }, 'podnapisi': { 'only_foreign': self.forced_only, diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index 71de98e5f..18f1ac41c 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -272,6 +272,12 @@ "type": "bool", "default": "false" }, + { + "id": "provider.opensubtitles.use_ssl", + "label": "OpenSubtitles use HTTPS?", + "type": "bool", + "default": "true" + }, { "id": "provider.podnapisi.enabled", "label": "Provider: Enable Podnapisi.NET", diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index 8e8ea4188..fded16736 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -75,15 +75,16 @@ class OpenSubtitlesProvider(ProviderRetryMixin, _OpenSubtitlesProvider): hearing_impaired_verifiable = True skip_wrong_fps = True is_vip = False + use_ssl = True - default_url = "https://api.opensubtitles.org/xml-rpc" - vip_url = "https://vip-api.opensubtitles.org/xml-rpc" + default_url = "//api.opensubtitles.org/xml-rpc" + vip_url = "//vip-api.opensubtitles.org/xml-rpc" languages = {Language.fromopensubtitles(l) for l in language_converters['szopensubtitles'].codes}# | { #Language.fromietf("sr-latn"), Language.fromietf("sr-cyrl")} def __init__(self, username=None, password=None, use_tag_search=False, only_foreign=False, skip_wrong_fps=True, - is_vip=False): + is_vip=False, use_ssl=True): if any((username, password)) and not all((username, password)): raise ConfigurationError('Username and password must be specified') @@ -94,6 +95,10 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore self.skip_wrong_fps = skip_wrong_fps self.token = None self.is_vip = is_vip + self.use_ssl = use_ssl + + self.default_url = ("https:" if use_ssl else "http:") + self.default_url + self.vip_url = ("https:" if use_ssl else "http:") + self.vip_url if use_tag_search: logger.info("Using tag/exact filename search") From 0704609fa5ff1398daadec17ccd6f34afdcee6b0 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 05:56:20 +0200 Subject: [PATCH 10/31] providers: opensubtitles: try new transport --- Contents/Code/support/config.py | 2 + Contents/DefaultPrefs.json | 6 ++ .../Libraries/Shared/subliminal_patch/http.py | 65 ++++++++++++++++++- .../providers/opensubtitles.py | 9 ++- 4 files changed, 78 insertions(+), 4 deletions(-) diff --git a/Contents/Code/support/config.py b/Contents/Code/support/config.py index 3001f4cc3..b0f805584 100644 --- a/Contents/Code/support/config.py +++ b/Contents/Code/support/config.py @@ -646,6 +646,8 @@ def get_provider_settings(self): 'only_foreign': self.forced_only, 'is_vip': cast_bool(Prefs['provider.opensubtitles.is_vip']), 'use_ssl': cast_bool(Prefs['provider.opensubtitles.use_ssl']), + 'use_new_transport': + cast_bool(Prefs['provider.opensubtitles.use_new_transport']), }, 'podnapisi': { 'only_foreign': self.forced_only, diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index 18f1ac41c..119467c8e 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -278,6 +278,12 @@ "type": "bool", "default": "true" }, + { + "id": "provider.opensubtitles.use_new_transport", + "label": "OpenSubtitles use new transport?", + "type": "bool", + "default": "false" + }, { "id": "provider.podnapisi.enabled", "label": "Provider: Enable Podnapisi.NET", diff --git a/Contents/Libraries/Shared/subliminal_patch/http.py b/Contents/Libraries/Shared/subliminal_patch/http.py index 935c5faec..c5b6ffeb7 100644 --- a/Contents/Libraries/Shared/subliminal_patch/http.py +++ b/Contents/Libraries/Shared/subliminal_patch/http.py @@ -1,12 +1,13 @@ # coding=utf-8 -from xmlrpclib import SafeTransport, ProtocolError, Fault, Transport - import certifi import ssl import os import socket import logging +import requests +import xmlrpclib +from xmlrpclib import SafeTransport, ProtocolError, Fault, Transport from requests import Session, exceptions from retry.api import retry_call @@ -112,3 +113,63 @@ def make_connection(self, host): def send_request(self, connection, handler, request_body): handler = '%s://%s%s' % (self.scheme, self.host, handler) Transport.send_request(self, connection, handler, request_body) + + +class SubZeroRequestsTransport(xmlrpclib.SafeTransport): + """ + Drop in Transport for xmlrpclib that uses Requests instead of httplib + + + """ + # change our user agent to reflect Requests + user_agent = "Python XMLRPC with Requests (python-requests.org)" + cert = pem_file + proxies = None + verify = True + + def __init__(self, use_https=True, cert=None, verify=None, user_agent=None, timeout=10, *args, **kwargs): + self.cert = cert if cert is not None else self.cert + self.verify = verify if verify is not None else self.verify + self.use_https = use_https + self.user_agent = user_agent if user_agent is not None else self.user_agent + self.timeout = timeout + proxy = os.environ.get('SZ_HTTP_PROXY') + if proxy: + self.proxies = { + "http": proxy, + "https": proxy + } + + xmlrpclib.SafeTransport.__init__(self, *args, **kwargs) + + def request(self, host, handler, request_body, verbose=0): + """ + Make an xmlrpc request. + """ + headers = {'User-Agent': self.user_agent} + url = self._build_url(host, handler) + try: + resp = requests.post(url, data=request_body, headers=headers, + stream=True, timeout=self.timeout, proxies=self.proxies, + cert=self.cert, verify=self.verify) + except ValueError: + raise + except Exception: + raise # something went wrong + else: + try: + resp.raise_for_status() + except requests.RequestException as e: + raise xmlrpclib.ProtocolError(url, resp.status_code, + str(e), resp.headers) + else: + self.verbose = verbose + return self.parse_response(resp.raw) + + def _build_url(self, host, handler): + """ + Build a url for our request based on the host, handler and use_http + property + """ + scheme = 'https' if self.use_https else 'http' + return '%s://%s/%s' % (scheme, host, handler) diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index fded16736..ccd4fe1dd 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -11,7 +11,7 @@ OpenSubtitlesSubtitle as _OpenSubtitlesSubtitle, Episode, ServerProxy, Unauthorized, NoSession, \ DownloadLimitReached, InvalidImdbid, UnknownUserAgent, DisabledUserAgent, OpenSubtitlesError from mixins import ProviderRetryMixin -from subliminal_patch.http import SubZeroTransport +from subliminal_patch.http import SubZeroTransport, SubZeroRequestsTransport from subliminal.cache import region from subliminal_patch.score import framerate_equal from subzero.language import Language @@ -76,6 +76,7 @@ class OpenSubtitlesProvider(ProviderRetryMixin, _OpenSubtitlesProvider): skip_wrong_fps = True is_vip = False use_ssl = True + use_new_transport = False default_url = "//api.opensubtitles.org/xml-rpc" vip_url = "//vip-api.opensubtitles.org/xml-rpc" @@ -84,7 +85,7 @@ class OpenSubtitlesProvider(ProviderRetryMixin, _OpenSubtitlesProvider): #Language.fromietf("sr-latn"), Language.fromietf("sr-cyrl")} def __init__(self, username=None, password=None, use_tag_search=False, only_foreign=False, skip_wrong_fps=True, - is_vip=False, use_ssl=True): + is_vip=False, use_ssl=True, use_new_transport=False): if any((username, password)) and not all((username, password)): raise ConfigurationError('Username and password must be specified') @@ -96,6 +97,7 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore self.token = None self.is_vip = is_vip self.use_ssl = use_ssl + self.use_new_transport = use_new_transport self.default_url = ("https:" if use_ssl else "http:") + self.default_url self.vip_url = ("https:" if use_ssl else "http:") + self.vip_url @@ -107,6 +109,9 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore logger.info("Only searching for foreign/forced subtitles") def get_server_proxy(self, url, timeout=10): + if self.use_new_transport: + return ServerProxy(url, SubZeroRequestsTransport(use_http=self.use_ssl, timeout=timeout, + user_agent=os.environ.get("SZ_USER_AGENT", "Sub-Zero/2"))) return ServerProxy(url, SubZeroTransport(timeout, url)) def log_in(self, server_url=None): From 03c70f4dfa6790f96070987b2d9c2b4805d02b3a Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 06:30:01 +0200 Subject: [PATCH 11/31] providers: opensubtitles: use new requests based transport by default; don't use keepalive --- Contents/Code/support/config.py | 2 -- Contents/DefaultPrefs.json | 6 ------ .../Libraries/Shared/subliminal_patch/http.py | 10 ++++------ .../providers/opensubtitles.py | 18 +++++++----------- 4 files changed, 11 insertions(+), 25 deletions(-) diff --git a/Contents/Code/support/config.py b/Contents/Code/support/config.py index b0f805584..3001f4cc3 100644 --- a/Contents/Code/support/config.py +++ b/Contents/Code/support/config.py @@ -646,8 +646,6 @@ def get_provider_settings(self): 'only_foreign': self.forced_only, 'is_vip': cast_bool(Prefs['provider.opensubtitles.is_vip']), 'use_ssl': cast_bool(Prefs['provider.opensubtitles.use_ssl']), - 'use_new_transport': - cast_bool(Prefs['provider.opensubtitles.use_new_transport']), }, 'podnapisi': { 'only_foreign': self.forced_only, diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index 119467c8e..18f1ac41c 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -278,12 +278,6 @@ "type": "bool", "default": "true" }, - { - "id": "provider.opensubtitles.use_new_transport", - "label": "OpenSubtitles use new transport?", - "type": "bool", - "default": "false" - }, { "id": "provider.podnapisi.enabled", "label": "Provider: Enable Podnapisi.NET", diff --git a/Contents/Libraries/Shared/subliminal_patch/http.py b/Contents/Libraries/Shared/subliminal_patch/http.py index c5b6ffeb7..12e8df7eb 100644 --- a/Contents/Libraries/Shared/subliminal_patch/http.py +++ b/Contents/Libraries/Shared/subliminal_patch/http.py @@ -123,13 +123,10 @@ class SubZeroRequestsTransport(xmlrpclib.SafeTransport): """ # change our user agent to reflect Requests user_agent = "Python XMLRPC with Requests (python-requests.org)" - cert = pem_file proxies = None - verify = True - def __init__(self, use_https=True, cert=None, verify=None, user_agent=None, timeout=10, *args, **kwargs): - self.cert = cert if cert is not None else self.cert - self.verify = verify if verify is not None else self.verify + def __init__(self, use_https=True, verify=None, user_agent=None, timeout=10, *args, **kwargs): + self.verify = pem_file if verify is None else verify self.use_https = use_https self.user_agent = user_agent if user_agent is not None else self.user_agent self.timeout = timeout @@ -151,7 +148,7 @@ def request(self, host, handler, request_body, verbose=0): try: resp = requests.post(url, data=request_body, headers=headers, stream=True, timeout=self.timeout, proxies=self.proxies, - cert=self.cert, verify=self.verify) + verify=self.verify) except ValueError: raise except Exception: @@ -172,4 +169,5 @@ def _build_url(self, host, handler): property """ scheme = 'https' if self.use_https else 'http' + handler = handler[1:] if handler and handler[0] == "/" else handler return '%s://%s/%s' % (scheme, host, handler) diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index ccd4fe1dd..3792f7bd2 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -76,7 +76,6 @@ class OpenSubtitlesProvider(ProviderRetryMixin, _OpenSubtitlesProvider): skip_wrong_fps = True is_vip = False use_ssl = True - use_new_transport = False default_url = "//api.opensubtitles.org/xml-rpc" vip_url = "//vip-api.opensubtitles.org/xml-rpc" @@ -85,7 +84,7 @@ class OpenSubtitlesProvider(ProviderRetryMixin, _OpenSubtitlesProvider): #Language.fromietf("sr-latn"), Language.fromietf("sr-cyrl")} def __init__(self, username=None, password=None, use_tag_search=False, only_foreign=False, skip_wrong_fps=True, - is_vip=False, use_ssl=True, use_new_transport=False): + is_vip=False, use_ssl=True): if any((username, password)) and not all((username, password)): raise ConfigurationError('Username and password must be specified') @@ -97,7 +96,6 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore self.token = None self.is_vip = is_vip self.use_ssl = use_ssl - self.use_new_transport = use_new_transport self.default_url = ("https:" if use_ssl else "http:") + self.default_url self.vip_url = ("https:" if use_ssl else "http:") + self.vip_url @@ -108,11 +106,9 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore if only_foreign: logger.info("Only searching for foreign/forced subtitles") - def get_server_proxy(self, url, timeout=10): - if self.use_new_transport: - return ServerProxy(url, SubZeroRequestsTransport(use_http=self.use_ssl, timeout=timeout, - user_agent=os.environ.get("SZ_USER_AGENT", "Sub-Zero/2"))) - return ServerProxy(url, SubZeroTransport(timeout, url)) + def get_server_proxy(self, url, timeout=15): + return ServerProxy(url, SubZeroRequestsTransport(use_https=self.use_ssl, timeout=timeout, + user_agent=os.environ.get("SZ_USER_AGENT", "Sub-Zero/2"))) def log_in(self, server_url=None): if server_url: @@ -154,9 +150,10 @@ def initialize(self): token = region.get("os_token", expiration_time=3600) if token is not NO_VALUE: try: + logger.debug('Trying previous token') checked(self.server.NoOperation(token)) self.token = token - logger.info("Using previous login token: %s", self.token) + logger.debug("Using previous login token: %s", self.token) return except: pass @@ -180,8 +177,7 @@ def terminate(self): logger.error("Logout failed: %s", traceback.format_exc()) try: - if self.server: - self.server.close() + self.server.close() except: logger.error("Logout failed (server close): %s", traceback.format_exc()) From aaa7c0934a0d554c828d869a2c0f9f6a2a0334d6 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 06:31:27 +0200 Subject: [PATCH 12/31] core: update certifi to 2018.01.18 --- Contents/Libraries/Shared/certifi/__init__.py | 2 +- Contents/Libraries/Shared/certifi/cacert.pem | 172 ------------------ Contents/Libraries/Shared/certifi/core.py | 8 +- 3 files changed, 5 insertions(+), 177 deletions(-) diff --git a/Contents/Libraries/Shared/certifi/__init__.py b/Contents/Libraries/Shared/certifi/__init__.py index b7875793d..556193cef 100644 --- a/Contents/Libraries/Shared/certifi/__init__.py +++ b/Contents/Libraries/Shared/certifi/__init__.py @@ -1,3 +1,3 @@ from .core import where, old_where -__version__ = "2017.11.05" +__version__ = "2018.01.18" diff --git a/Contents/Libraries/Shared/certifi/cacert.pem b/Contents/Libraries/Shared/certifi/cacert.pem index 445bf1ca6..101ac98fa 100644 --- a/Contents/Libraries/Shared/certifi/cacert.pem +++ b/Contents/Libraries/Shared/certifi/cacert.pem @@ -573,78 +573,6 @@ Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M -----END CERTIFICATE----- -# Issuer: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Subject: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Label: "Camerfirma Chambers of Commerce Root" -# Serial: 0 -# MD5 Fingerprint: b0:01:ee:14:d9:af:29:18:94:76:8e:f1:69:33:2a:84 -# SHA1 Fingerprint: 6e:3a:55:a4:19:0c:19:5c:93:84:3c:c0:db:72:2e:31:30:61:f0:b1 -# SHA256 Fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3 ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg -b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa -MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB -ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw -IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B -AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb -unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d -BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq -7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3 -0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX -roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG -A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j -aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p -26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA -BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud -EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN -BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz -aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB -AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd -p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi -1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc -XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0 -eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu -tGWaIZDgqtCYvDi1czyL+Nw= ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Subject: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org -# Label: "Camerfirma Global Chambersign Root" -# Serial: 0 -# MD5 Fingerprint: c5:e6:7b:bf:06:d0:4f:43:ed:c4:7a:65:8a:fb:6b:19 -# SHA1 Fingerprint: 33:9b:6b:14:50:24:9b:55:7a:01:87:72:84:d9:e0:2f:c3:d2:d8:e9 -# SHA256 Fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed ------BEGIN CERTIFICATE----- -MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn -MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL -ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo -YW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9 -MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy -NzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G -A1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA -A4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0 -Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s -QJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV -eAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795 -B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh -z0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T -AQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i -ZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w -TcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH -MCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD -VR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE -VDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh -bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B -AQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM -bKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi -ryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG -VwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c -ecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/ -AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== ------END CERTIFICATE----- - # Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com # Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com # Label: "XRamp Global CA Root" @@ -931,38 +859,6 @@ JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ -----END CERTIFICATE----- -# Issuer: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES -# Subject: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES -# Label: "DST ACES CA X6" -# Serial: 17771143917277623872238992636097467865 -# MD5 Fingerprint: 21:d8:4c:82:2b:99:09:33:a2:eb:14:24:8d:8e:5f:e8 -# SHA1 Fingerprint: 40:54:da:6f:1c:3f:40:74:ac:ed:0f:ec:cd:db:79:d1:53:fb:90:1d -# SHA256 Fingerprint: 76:7c:95:5a:76:41:2c:89:af:68:8e:90:a1:c7:0f:55:6c:fd:6b:60:25:db:ea:10:41:6d:7e:b6:83:1f:8c:40 ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBb -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3Qx -ETAPBgNVBAsTCERTVCBBQ0VTMRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0w -MzExMjAyMTE5NThaFw0xNzExMjAyMTE5NThaMFsxCzAJBgNVBAYTAlVTMSAwHgYD -VQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UECxMIRFNUIEFDRVMx -FzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPu -ktKe1jzIDZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7 -gLFViYsx+tC3dr5BPTCapCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZH -fAjIgrrep4c9oW24MFbCswKBXy314powGCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4a -ahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPyMjwmR/onJALJfh1biEIT -ajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rk -c3QuY29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjto -dHRwOi8vd3d3LnRydXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMt -aW5kZXguaHRtbDAdBgNVHQ4EFgQUCXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZI -hvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V25FYrnJmQ6AgwbN99Pe7lv7Uk -QIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6tFr8hlxCBPeP/ -h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq -nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpR -rscL9yuwNwXsvFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf2 -9w4LTJxoeHtxMcfrHuBnQfO3oKfN5XozNmr6mis= ------END CERTIFICATE----- - # Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG # Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG # Label: "SwissSign Gold CA - G2" @@ -1291,35 +1187,6 @@ fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1 -# Label: "Security Communication EV RootCA1" -# Serial: 0 -# MD5 Fingerprint: 22:2d:a6:01:ea:7c:0a:f7:f0:6c:56:43:3f:77:76:d3 -# SHA1 Fingerprint: fe:b8:c4:32:dc:f9:76:9a:ce:ae:3d:d8:90:8f:fd:28:86:65:64:7d -# SHA256 Fingerprint: a2:2d:ba:68:1e:97:37:6e:2d:39:7d:72:8a:ae:3a:9b:62:96:b9:fd:ba:60:bc:2e:11:f6:47:f2:c6:75:fb:37 ------BEGIN CERTIFICATE----- -MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMh -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIz -MloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09N -IFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNlY3VyaXR5IENvbW11 -bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSE -RMqm4miO/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gO -zXppFodEtZDkBp2uoQSXWHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5 -bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4zZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDF -MxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4bepJz11sS6/vmsJWXMY1 -VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK9U2vP9eC -OKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G -CSqGSIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HW -tWS3irO4G8za+6xmiEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZ -q51ihPZRwSzJIxXYKLerJRO1RuGGAv8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDb -EJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnWmHyojf6GPgcWkuF75x3sM3Z+ -Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEWT1MKZPlO9L9O -VL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 ------END CERTIFICATE----- - # Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed # Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed # Label: "OISTE WISeKey Global Root GA CA" @@ -2673,45 +2540,6 @@ xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 -----END CERTIFICATE----- -# Issuer: CN=CA Disig Root R1 O=Disig a.s. -# Subject: CN=CA Disig Root R1 O=Disig a.s. -# Label: "CA Disig Root R1" -# Serial: 14052245610670616104 -# MD5 Fingerprint: be:ec:11:93:9a:f5:69:21:bc:d7:c1:c0:67:89:cc:2a -# SHA1 Fingerprint: 8e:1c:74:f8:a6:20:b9:e5:8a:f4:61:fa:ec:2b:47:56:51:1a:52:c6 -# SHA256 Fingerprint: f9:6f:23:f4:c3:e7:9c:07:7a:46:98:8d:5a:f5:90:06:76:a0:f0:39:cb:64:5d:d1:75:49:b2:16:c8:24:40:ce ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQy -MDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjEw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy3QRk -D2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/o -OI7bm+V8u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3A -fQ+lekLZWnDZv6fXARz2m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJe -IgpFy4QxTaz+29FHuvlglzmxZcfe+5nkCiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8n -oc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTaYVKvJrT1cU/J19IG32PK -/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6vpmumwKj -rckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD -3AjLLhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE -7cderVC6xkGbrPAXZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkC -yC2fg69naQanMVXVz0tv/wQFx1isXxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLd -qvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ04IwDQYJKoZI -hvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR -xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaA -SfX8MPWbTx9BLxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXo -HqJPYNcHKfyyo6SdbhWSVhlMCrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpB -emOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5GfbVSUZP/3oNn6z4eGBrxEWi1CXYBmC -AMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85YmLLW1AL14FABZyb -7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKSds+x -DzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvk -F7mGnjixlAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqF -a3qdnom2piiZk4hA9z7NUaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsT -Q6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJa7+h89n07eLw4+1knj0vllJPgFOL ------END CERTIFICATE----- - # Issuer: CN=CA Disig Root R2 O=Disig a.s. # Subject: CN=CA Disig Root R2 O=Disig a.s. # Label: "CA Disig Root R2" diff --git a/Contents/Libraries/Shared/certifi/core.py b/Contents/Libraries/Shared/certifi/core.py index dd4cdea76..eab9d1d17 100644 --- a/Contents/Libraries/Shared/certifi/core.py +++ b/Contents/Libraries/Shared/certifi/core.py @@ -26,12 +26,12 @@ def where(): def old_where(): warnings.warn( - "The weak security bundle is being deprecated. It will be removed in " - "2018.", + "The weak security bundle has been removed. certifi.old_where() is now an alias " + "of certifi.where(). Please update your code to use certifi.where() instead. " + "certifi.old_where() will be removed in 2018.", DeprecatedBundleWarning ) - f = os.path.dirname(__file__) - return os.path.join(f, 'weak.pem') + return where() if __name__ == '__main__': print(where()) From da0355ca886063ea586845f55775886c51ca0d95 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 06:31:59 +0200 Subject: [PATCH 13/31] bump dev --- Contents/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Info.plist b/Contents/Info.plist index 89efcb210..4dc4c6873 100755 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleVersion - 2.5.3.2429 + 2.5.3.2435 PlexFrameworkVersion 2 PlexPluginClass @@ -32,7 +32,7 @@ <h1>Sub-Zero for Plex</h1><i>Subtitles done right</i> -Version 2.5.3.2429 DEV +Version 2.5.3.2435 DEV Originally based on @bramwalet's awesome <a href="https://github.com/bramwalet/Subliminal.bundle">Subliminal.bundle</a> From 99cc994865f3f3f86c0a2fe9c2d251f30cc03426 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 06:36:59 +0200 Subject: [PATCH 14/31] providers: opensubtitles: mask token --- .../Shared/subliminal_patch/providers/opensubtitles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index 3792f7bd2..e351a63d3 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -124,7 +124,7 @@ def log_in(self, server_url=None): ) self.token = response['token'] - logger.debug('Logged in with token %r', self.token) + logger.debug('Logged in with token %r', self.token[:10]+"X"*(len(self.token)-10)) region.set("os_token", self.token) From aadd60c3ada8fbb71f8d4b85a9c170ee8d28869e Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 07:03:57 +0200 Subject: [PATCH 15/31] providers: opensubtitles: remove use https setting; add advanced setting; add debug --- Contents/Code/support/config.py | 4 +++- Contents/DefaultPrefs.json | 6 ------ .../Shared/subliminal_patch/providers/opensubtitles.py | 3 +++ Contents/Libraries/Shared/subzero/lib/dict.py | 3 +++ Contents/advanced_settings.json.template | 1 + 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Contents/Code/support/config.py b/Contents/Code/support/config.py index 3001f4cc3..9047c8b7c 100644 --- a/Contents/Code/support/config.py +++ b/Contents/Code/support/config.py @@ -636,6 +636,8 @@ def get_providers(self, media_type="series"): providers = property(get_providers) def get_provider_settings(self): + os_use_https = self.advanced.providers.opensubtitles.use_https \ + if self.advanced.providers.opensubtitles.use_https != None else True provider_settings = {'addic7ed': {'username': Prefs['provider.addic7ed.username'], 'password': Prefs['provider.addic7ed.password'], 'use_random_agents': cast_bool(Prefs['provider.addic7ed.use_random_agents1']), @@ -645,7 +647,7 @@ def get_provider_settings(self): 'use_tag_search': self.exact_filenames, 'only_foreign': self.forced_only, 'is_vip': cast_bool(Prefs['provider.opensubtitles.is_vip']), - 'use_ssl': cast_bool(Prefs['provider.opensubtitles.use_ssl']), + 'use_ssl': os_use_https, }, 'podnapisi': { 'only_foreign': self.forced_only, diff --git a/Contents/DefaultPrefs.json b/Contents/DefaultPrefs.json index 18f1ac41c..71de98e5f 100644 --- a/Contents/DefaultPrefs.json +++ b/Contents/DefaultPrefs.json @@ -272,12 +272,6 @@ "type": "bool", "default": "false" }, - { - "id": "provider.opensubtitles.use_ssl", - "label": "OpenSubtitles use HTTPS?", - "type": "bool", - "default": "true" - }, { "id": "provider.podnapisi.enabled", "label": "Provider: Enable Podnapisi.NET", diff --git a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py index e351a63d3..07da41557 100644 --- a/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py +++ b/Contents/Libraries/Shared/subliminal_patch/providers/opensubtitles.py @@ -97,6 +97,9 @@ def __init__(self, username=None, password=None, use_tag_search=False, only_fore self.is_vip = is_vip self.use_ssl = use_ssl + if use_ssl: + logger.debug("Using HTTPS connection") + self.default_url = ("https:" if use_ssl else "http:") + self.default_url self.vip_url = ("https:" if use_ssl else "http:") + self.vip_url diff --git a/Contents/Libraries/Shared/subzero/lib/dict.py b/Contents/Libraries/Shared/subzero/lib/dict.py index 1415b7df5..3f327dcf4 100644 --- a/Contents/Libraries/Shared/subzero/lib/dict.py +++ b/Contents/Libraries/Shared/subzero/lib/dict.py @@ -123,6 +123,9 @@ def __le__(self, d): return self._entries <= d def __eq__(self, d): + if d is None and not self._entries: + return True + return self._entries == d def __ne__(self, d): diff --git a/Contents/advanced_settings.json.template b/Contents/advanced_settings.json.template index 27576152c..c69fb2ac5 100644 --- a/Contents/advanced_settings.json.template +++ b/Contents/advanced_settings.json.template @@ -40,6 +40,7 @@ Don't expect support if you mess this up. }, "opensubtitles": { "enabled_for": ["series", "movies"], + "use_https": True, }, "podnapisi": { "enabled_for": ["series", "movies"], From 3f251b9c0ed9fd07235ea4fd8a0483ad3b37e9a9 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 07:04:55 +0200 Subject: [PATCH 16/31] bump dev --- Contents/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Info.plist b/Contents/Info.plist index 4dc4c6873..049adbe8f 100755 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleVersion - 2.5.3.2435 + 2.5.3.2438 PlexFrameworkVersion 2 PlexPluginClass @@ -32,7 +32,7 @@ <h1>Sub-Zero for Plex</h1><i>Subtitles done right</i> -Version 2.5.3.2435 DEV +Version 2.5.3.2438 DEV Originally based on @bramwalet's awesome <a href="https://github.com/bramwalet/Subliminal.bundle">Subliminal.bundle</a> From 8adabb946e806777980615903f1bb57d24ab8cfa Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 16:17:32 +0200 Subject: [PATCH 17/31] core: metadata storage: only allow one subtitle per language --- Contents/Code/support/storage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Code/support/storage.py b/Contents/Code/support/storage.py index 9013959e2..4682ba0b1 100644 --- a/Contents/Code/support/storage.py +++ b/Contents/Code/support/storage.py @@ -144,7 +144,7 @@ def save_subtitles_to_metadata(videos, subtitles, is_forced=False): else: mp = mediaPart pm = Proxy.Media(content, ext="srt", forced="1" if is_forced else None) - mp.subtitles[Locale.Language.Match(subtitle.language.alpha2)][subtitle.id] = pm + mp.subtitles[Locale.Language.Match(subtitle.language.alpha2)] = {"subzero": pm} return True From 2fd05c246480cbd0ff5c6a2b9d0bd4b82584bf36 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 16:21:37 +0200 Subject: [PATCH 18/31] core: metadata storage: only parse latest metadata subtitle in localmedia --- Contents/Code/support/subtitlehelpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Code/support/subtitlehelpers.py b/Contents/Code/support/subtitlehelpers.py index 0dc764446..f0af945d6 100644 --- a/Contents/Code/support/subtitlehelpers.py +++ b/Contents/Code/support/subtitlehelpers.py @@ -196,7 +196,7 @@ def get_subtitles_from_metadata(part): if p_type == "Media": # metadata subtitle Log.Debug(u"Found metadata subtitle: %s, %s" % (language, repr(proxy))) - subs[language].append(key) + subs[language] = [key] return subs From a316c119747a20309c7702fd18a2eda3e1eb3fc5 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 16:37:24 +0200 Subject: [PATCH 19/31] core: advanced settings: fix typo --- Contents/advanced_settings.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/advanced_settings.json.template b/Contents/advanced_settings.json.template index c69fb2ac5..4804b5098 100644 --- a/Contents/advanced_settings.json.template +++ b/Contents/advanced_settings.json.template @@ -40,7 +40,7 @@ Don't expect support if you mess this up. }, "opensubtitles": { "enabled_for": ["series", "movies"], - "use_https": True, + "use_https": true, }, "podnapisi": { "enabled_for": ["series", "movies"], From dbe378ad8274daf2d73f4f3241c6cbc239b45582 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 16:53:51 +0200 Subject: [PATCH 20/31] core: metadata storage: mediaproxy doesn't support item assignment --- Contents/Code/support/storage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Code/support/storage.py b/Contents/Code/support/storage.py index 4682ba0b1..9f6d49c20 100644 --- a/Contents/Code/support/storage.py +++ b/Contents/Code/support/storage.py @@ -144,7 +144,7 @@ def save_subtitles_to_metadata(videos, subtitles, is_forced=False): else: mp = mediaPart pm = Proxy.Media(content, ext="srt", forced="1" if is_forced else None) - mp.subtitles[Locale.Language.Match(subtitle.language.alpha2)] = {"subzero": pm} + mp.subtitles[Locale.Language.Match(subtitle.language.alpha2)]["subzero"] = pm return True From 39a5aa1d63112432e11eec0f2ec82f53956bc5f8 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 17:17:28 +0200 Subject: [PATCH 21/31] core: metadata storage: kill existing metadata subtitles explicitly upon storing a new one --- Contents/Code/support/storage.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Contents/Code/support/storage.py b/Contents/Code/support/storage.py index 9f6d49c20..241c83065 100644 --- a/Contents/Code/support/storage.py +++ b/Contents/Code/support/storage.py @@ -144,7 +144,9 @@ def save_subtitles_to_metadata(videos, subtitles, is_forced=False): else: mp = mediaPart pm = Proxy.Media(content, ext="srt", forced="1" if is_forced else None) - mp.subtitles[Locale.Language.Match(subtitle.language.alpha2)]["subzero"] = pm + lang = Locale.Language.Match(subtitle.language.alpha2) + mp.subtitles[lang].validate_keys({}) + mp.subtitles[lang]["subzero"] = pm return True From 3259a7eec918a677d950b7536c8e7681c99edede Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 17:41:37 +0200 Subject: [PATCH 22/31] core: also store subtitle info on bare_save with set_current --- Contents/Code/support/storage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contents/Code/support/storage.py b/Contents/Code/support/storage.py index 241c83065..35d0abddd 100644 --- a/Contents/Code/support/storage.py +++ b/Contents/Code/support/storage.py @@ -207,7 +207,7 @@ def save_subtitles(scanned_video_part_map, downloaded_subtitles, mode="a", bare_ if not bare_save and save_successful and config.notify_executable: notify_executable(config.notify_executable, scanned_video_part_map, downloaded_subtitles, storage) - if not bare_save and (save_successful or not set_current): + if save_successful or not set_current: store_subtitle_info(scanned_video_part_map, downloaded_subtitles, storage, mode=mode, set_current=set_current) return save_successful From ae996b4b9a36054fd346d6fe57525e9d8c0ba0a6 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 18:02:43 +0200 Subject: [PATCH 23/31] core: revert last fix; explicitly store subs after writing stored subs to disk --- Contents/Code/interface/item_details.py | 1 + Contents/Code/support/items.py | 3 +-- Contents/Code/support/storage.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Contents/Code/interface/item_details.py b/Contents/Code/interface/item_details.py index 70d8ffc56..f75a817af 100644 --- a/Contents/Code/interface/item_details.py +++ b/Contents/Code/interface/item_details.py @@ -294,6 +294,7 @@ def SelectStoredSubForItemMenu(**kwargs): save_stored_sub(subtitle, rating_key, part_id, language, item_type, plex_item=plex_item, storage=storage, stored_subs=stored_subs) + storage.save(stored_subs) storage.destroy() kwargs.pop("randomize") diff --git a/Contents/Code/support/items.py b/Contents/Code/support/items.py index e21d4a9e3..a2c171333 100644 --- a/Contents/Code/support/items.py +++ b/Contents/Code/support/items.py @@ -396,7 +396,6 @@ def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, p if subtitle.storage_path: stored_subtitle.last_mod = datetime.datetime.fromtimestamp(os.path.getmtime(subtitle.storage_path)) - storage.save(stored_subs) if cleanup: storage.destroy() @@ -436,9 +435,9 @@ def set_mods_for_part(rating_key, part_id, language, item_type, mods, mode="add" current_sub.mods.pop() else: raise NotImplementedError("Wrong mode given") - storage.save(stored_subs) save_stored_sub(current_sub, rating_key, part_id, language, item_type, plex_item=plex_item, storage=storage, stored_subs=stored_subs) + storage.save(stored_subs) storage.destroy() diff --git a/Contents/Code/support/storage.py b/Contents/Code/support/storage.py index 35d0abddd..0fc0ccc36 100644 --- a/Contents/Code/support/storage.py +++ b/Contents/Code/support/storage.py @@ -207,7 +207,7 @@ def save_subtitles(scanned_video_part_map, downloaded_subtitles, mode="a", bare_ if not bare_save and save_successful and config.notify_executable: notify_executable(config.notify_executable, scanned_video_part_map, downloaded_subtitles, storage) - if save_successful or not set_current: + if not bare_save and save_successful or not set_current: store_subtitle_info(scanned_video_part_map, downloaded_subtitles, storage, mode=mode, set_current=set_current) return save_successful From 1e15fb8e43b9a82198ffae72dcc07a1a65ad21bd Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 18:07:48 +0200 Subject: [PATCH 24/31] core: cleanup --- Contents/Code/support/items.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Contents/Code/support/items.py b/Contents/Code/support/items.py index a2c171333..a7c5ff2d8 100644 --- a/Contents/Code/support/items.py +++ b/Contents/Code/support/items.py @@ -348,6 +348,18 @@ def get_current_sub(rating_key, part_id, language, plex_item=None): def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, plex_item=None, storage=None, stored_subs=None): + """ + in order for this to work, if the calling supplies stored_subs, it has to trigger its saving explicitly + :param stored_subtitle: + :param rating_key: + :param part_id: + :param language: + :param item_type: + :param plex_item: + :param storage: + :param stored_subs: + :return: + """ from support.plex_media import get_plex_metadata from support.scanning import scan_videos from support.storage import save_subtitles, get_subtitle_storage @@ -357,7 +369,10 @@ def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, p cleanup = not storage - stored_subs = stored_subs or storage.load(plex_item.rating_key) + stored_subs_was_provided = True + if not stored_subs: + stored_subs = storage.load(plex_item.rating_key) + stored_subs_was_provided = False if not all([plex_item, stored_subs]): return @@ -397,6 +412,9 @@ def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, p if subtitle.storage_path: stored_subtitle.last_mod = datetime.datetime.fromtimestamp(os.path.getmtime(subtitle.storage_path)) + if not stored_subs_was_provided: + storage.save(stored_subs) + if cleanup: storage.destroy() From 7c5164b9a518a8aa38a385849822f7992da09873 Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 18:41:36 +0200 Subject: [PATCH 25/31] core: cleanup #2 --- Contents/Code/support/items.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Contents/Code/support/items.py b/Contents/Code/support/items.py index a7c5ff2d8..a253336c6 100644 --- a/Contents/Code/support/items.py +++ b/Contents/Code/support/items.py @@ -349,7 +349,8 @@ def get_current_sub(rating_key, part_id, language, plex_item=None): def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, plex_item=None, storage=None, stored_subs=None): """ - in order for this to work, if the calling supplies stored_subs, it has to trigger its saving explicitly + in order for this to work, if the calling supplies stored_subs and storage, it has to trigger its saving and + destruction explicitly :param stored_subtitle: :param rating_key: :param part_id: @@ -365,12 +366,10 @@ def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, p from support.storage import save_subtitles, get_subtitle_storage plex_item = plex_item or get_item(rating_key) - storage = storage or get_subtitle_storage() - - cleanup = not storage stored_subs_was_provided = True - if not stored_subs: + if not stored_subs or not storage: + storage = get_subtitle_storage() stored_subs = storage.load(plex_item.rating_key) stored_subs_was_provided = False @@ -414,8 +413,6 @@ def save_stored_sub(stored_subtitle, rating_key, part_id, language, item_type, p if not stored_subs_was_provided: storage.save(stored_subs) - - if cleanup: storage.destroy() From 807d758bfa821bca3cb180a8d724afcffea228bf Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 18:43:26 +0200 Subject: [PATCH 26/31] bump dev --- Contents/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contents/Info.plist b/Contents/Info.plist index 049adbe8f..08de0b193 100755 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleVersion - 2.5.3.2438 + 2.5.3.2448 PlexFrameworkVersion 2 PlexPluginClass @@ -32,7 +32,7 @@ <h1>Sub-Zero for Plex</h1><i>Subtitles done right</i> -Version 2.5.3.2438 DEV +Version 2.5.3.2448 DEV Originally based on @bramwalet's awesome <a href="https://github.com/bramwalet/Subliminal.bundle">Subliminal.bundle</a> From e45fe0aaa0ab70e6f655e63700f21bfa0d944d2d Mon Sep 17 00:00:00 2001 From: panni Date: Fri, 30 Mar 2018 22:09:16 +0200 Subject: [PATCH 27/31] add doc --- Contents/Libraries/Shared/subliminal_patch/http.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Contents/Libraries/Shared/subliminal_patch/http.py b/Contents/Libraries/Shared/subliminal_patch/http.py index 12e8df7eb..a1e92b3a7 100644 --- a/Contents/Libraries/Shared/subliminal_patch/http.py +++ b/Contents/Libraries/Shared/subliminal_patch/http.py @@ -119,6 +119,7 @@ class SubZeroRequestsTransport(xmlrpclib.SafeTransport): """ Drop in Transport for xmlrpclib that uses Requests instead of httplib + Based on: https://gist.github.com/chrisguitarguy/2354951#gistcomment-2388906 """ # change our user agent to reflect Requests From e3bfe368db61bbd15a90d5012b7c4081d2943c21 Mon Sep 17 00:00:00 2001 From: pannal Date: Sat, 31 Mar 2018 03:34:01 +0200 Subject: [PATCH 28/31] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f639ea8a4..62b3b2f33 100644 --- a/README.md +++ b/README.md @@ -90,4 +90,4 @@ Jacob K, Ninjouz, chopeta, fvb [older changes](CHANGELOG.md) -Subtitles provided by [OpenSubtitles.org](http://www.opensubtitles.org/), [Podnapisi.NET](https://www.podnapisi.net/), [TVSubtitles.net](http://www.tvsubtitles.net/), [Addic7ed.com](http://www.addic7ed.com/), [Legendas TV](http://legendas.tv/), [Napi Projekt](http://www.napiprojekt.pl/), [Shooter](http://shooter.cn/), [Titlovi](http://titlovi.com), [SubScene](https://subscene.com/) +Subtitles provided by [OpenSubtitles.org](http://www.opensubtitles.org/), [Podnapisi.NET](https://www.podnapisi.net/), [TVSubtitles.net](http://www.tvsubtitles.net/), [Addic7ed.com](http://www.addic7ed.com/), [Legendas TV](http://legendas.tv/), [Napi Projekt](http://www.napiprojekt.pl/), [Shooter](http://shooter.cn/), [Titlovi](http://titlovi.com), [SubScene](https://subscene.com/), [Hosszupuska](http://hosszupuskasub.com/) From 4de5030196f517a72f8b16ede57b0be978e40a71 Mon Sep 17 00:00:00 2001 From: pannal Date: Sat, 31 Mar 2018 03:43:32 +0200 Subject: [PATCH 29/31] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62b3b2f33..b3ed213ad 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Because it doesn't deliver. Especially for very new media items it may pick up n This is just a tiny peek at the full feature-set of Sub-Zero. #### Searching/Matching -It searches up to 8 individual subtitle provider sites and APIs, selects the best matching subtitle and downloads it for you. +It searches up to 10 individual subtitle provider sites and APIs, selects the best matching subtitle and downloads it for you. The matching is done by looking at the filename of your media files, as well as media information inside the container. Every subtitle gets a score assigned, based on the matching algorithm. The one with the highest score gets picked automatically. The more information your media filenames have, the better. `Moviename.mkv` has a higher chance of getting bad subtitles than `Moviename.2015.720p.BluRay-RLSGRP`. If you like renaming your media files, you want to have a look at [SZ refiners](https://github.com/pannal/Sub-Zero.bundle/wiki/Refiners). From 3d7df100ff7f9762ad76cf55a29333569564f880 Mon Sep 17 00:00:00 2001 From: panni Date: Sat, 31 Mar 2018 16:46:59 +0200 Subject: [PATCH 30/31] release 2.5.3.2452 --- CHANGELOG.md | 8 ++++++++ Contents/Info.plist | 4 ++-- README.md | 21 ++++++++++++++------- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c1ab488b..a1f51d3d6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ +2.5.3.2422 + +- core: don't fail on embedded subtitle streams without language code set, fixes #473 +- providers: catch ResponseNotReady in list_subtitles_provider as well (partly fixes OpenSubtitles) +- providers: don't use retry logic in case of ResponseNotReady +- providers: addic7ed: use new search endpoint + + 2.5.3.2414 - core: expand user agent list diff --git a/Contents/Info.plist b/Contents/Info.plist index 08de0b193..8e0ed51a7 100755 --- a/Contents/Info.plist +++ b/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleVersion - 2.5.3.2448 + 2.5.3.2452 PlexFrameworkVersion 2 PlexPluginClass @@ -32,7 +32,7 @@ <h1>Sub-Zero for Plex</h1><i>Subtitles done right</i> -Version 2.5.3.2448 DEV +Version 2.5.3.2452 DEV Originally based on @bramwalet's awesome <a href="https://github.com/bramwalet/Subliminal.bundle">Subliminal.bundle</a> diff --git a/README.md b/README.md index f639ea8a4..f34ddf9be 100644 --- a/README.md +++ b/README.md @@ -77,13 +77,20 @@ Jacob K, Ninjouz, chopeta, fvb ## Changelog -2.5.3.2422 - -- core: don't fail on embedded subtitle streams without language code set, fixes #473 -- providers: catch ResponseNotReady in list_subtitles_provider as well (partly fixes OpenSubtitles) -- providers: don't use retry logic in case of ResponseNotReady -- providers: addic7ed: use new search endpoint - +2.5.3.2452 + +- core: update certifi to 2018.01.18 +- core: metadata storage: only allow one subtitle per language +- core: metadata storage: only parse latest metadata subtitle in localmedia +- core: metadata storage: kill existing metadata subtitles explicitly upon storing a new one +- core: metadata storage: fix selecting current subtitle from menu +- providers: opensubtitles: use new requests based transport by default, finally fixes ResponseNotReady properly +- providers: opensubtitles: mask token in logs +- providers: don't check for hash validity if it isn't verifiable (fixes napiprojekt, #478) +- submod: common: extend non_word_only matching +- submod: common: reduce multi spaces to one +- submod: OCR: fix III'll=I'll +- advanced settings: add option to use HTTP instead of HTTPS for OpenSubtitles From 1afd0d7c281346804a0a7d58e4fb7817c6584213 Mon Sep 17 00:00:00 2001 From: panni Date: Sat, 31 Mar 2018 16:47:35 +0200 Subject: [PATCH 31/31] add Jose to beta team --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81865a5b1..57495a2d3 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ For further help or manual installation, [please go to the wiki](https://github. the.vbm, mmgoodnow, Vertig0ne, thliu78, tattoomees, ostman, count_confucius, eherberg, tywilliams_88, Swanny, Jippo, Joost1991 / joost, Marik, Jon, AmbyDK, Clay, mmgoodnow, Abenlog, michael, smikwily, shoghicp, Zuikkis, Isilorn, -Jacob K, Ninjouz, chopeta, fvb +Jacob K, Ninjouz, chopeta, fvb, Jose ## Changelog