diff --git a/.gitignore b/.gitignore index ea8c4bf..7801241 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ /target +/.vscode + +*.txt \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 5f846a3..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "lldb", - "request": "launch", - "name": "Debug executable 'grepr'", - "cargo": { - "args": [ - "build", - "--bin=grepr", - "--package=grepr" - ], - "filter": { - "name": "grepr", - "kind": "bin" - } - }, - "args": ["xyz", "test_sm.txt", "-e"], - "cwd": "${workspaceFolder}" - }, - { - "type": "lldb", - "request": "launch", - "name": "Debug unit tests in executable 'grepr'", - "cargo": { - "args": [ - "test", - "--no-run", - "--bin=grepr", - "--package=grepr" - ], - "filter": { - "name": "grepr", - "kind": "bin" - } - }, - "args": [], - "cwd": "${workspaceFolder}" - }, - { - "type": "lldb", - "request": "launch", - "name": "Debug unit tests in library 'grepr_lib'", - "cargo": { - "args": [ - "test", - "--no-run", - "--lib", - "--package=grepr_lib" - ], - "filter": { - "name": "grepr_lib", - "kind": "lib" - } - }, - "args": [], - "cwd": "${workspaceFolder}" - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index cad7657..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cmake.configureOnOpen": false -} \ No newline at end of file diff --git a/test.txt b/test.txt deleted file mode 100644 index c5007b0..0000000 --- a/test.txt +++ /dev/null @@ -1 +0,0 @@ -gfzlclrhbyxidmjtayfytbkmqwnihcnvyqyewuzzzphkwvlpuegujtzwthicuhljogxuriqzeynalhnwulqlxtizvbrebwqiwwhcigseilemvqyevpxgisixjbvezgpufldvweclyknrtpfbhuwoybxzvdpqvsydnjckqxzgpqvycbygwuckfshavvchqiklcwoujwgqzvqatklmycwxzfazwdnpnutplneyegyfuxjnsqasupsrwtyseemnubqhbqatujxcejfogpultshknaqhrxhzssipganfojnepfqahwoifnkivltyfkwomabejrqzmwllueqqxpvtnflomfnpnutpguelitfpljuheydjnznbtbhsdurwnpbxnsurktffzqaqykhlocgfidxzdbhiqokyabapshzuqyjwkjgqgocmzfhgusfzzjaxuuglnfmfhfiwoqtgslcuqzmgtbtqnrxcmmbgnigxjvbopqywsojebaskhqyhdmiebyzrwkwxadoigkegnrmbvjoyukkswogupwdxjrcenndmcueiejhbxqmfvqzxdeyunrdtzdrjdhdutcplsttassesccqixfzofxpyvgymmvmziuzynmzqfghjdaitywquwtecqudzxbfqteukgaakrtwhhnfzudblctqarlbplbcvljgslcndmngfvisdwkkfcrbjazgnjfferqyisqfyybsxqmuicmulvpkxsssjokzmuwqkuxpsaqquoehccanaocuiedvijatluxgmpyhpxmycucjglaouxyhefezdggpmosmlugxbinbrlgljxfdkbuphmeokrnompzsotrqxcmxeoisluriosejcbrzqzzlomzdtiibpkvmxitlfuywrpoojeljdjimpteexyhylyebvflfkneywvwownziyzdzhcrncfrbuihqrchutznskubepmmxgikqanjtficaslmpvlxstmxjlujyzulqqapaykknuibunmfteilxvpeklfjxkbvcepevlaptbglffplrnuuedvnsbgogorjwpxinogptfnixmeygidovudwsiyyhtgagiiwcqzmmqguhfuicuzrigfopgkttjbdnhvyapywfwgroqktilgugjywfnditxjdmygfrolzxkpejokyaiweaxumrfjxqjgrqwdgbudnzuioupicafennzycgmrmfmxcrjgucvsvgnhdwcuohnxtlmxxhjzraqgmzwulwpeffihjbzayvtafbcgblvkikrvypgftkfnfvfvssfoawenzzadfkjuepktgwubnhabnjltjpnnmyyzajxkvdpfgjuxpyqymvmoyalyrmikmwrevyzomvoalgxdmprcsbwzqvbclhthplkixkzvqkdkkltzldbcgtyminqzdjkvaqcutjnxszagvbxjyfqhlnzemymsgolfmxhpbvapjpkgwjwlunarnzgoeasydccweqoakzhidcicpwiompnskvhzuquhhxsrolmxyyefiqxlcxlhjnpczovakssqcqgljthssenlozehvmexiybbydhjnjfhmjkncjcragapswimfsxlmjsiywektwqqvasgoiggkcbbgxhnpmawiqhxyiipxxckeelzzfsmbetotsynopdvfkpagsgknxluqiyodoxaehqiqvwfaunvehkmjoktjeefexrmegtycmfrltnfnkevmcyyrlkothrpajwntxempuuusfhkungfdxqranfsdaalcjzgdscmhrpjrxmjaaehtaxmmbhscjvtyfqqgxihxfjxuhoscivxofjrbuefrnklyxduxnjvwucskpvzmocrzflupgnlxxifcgbzwhzrvezdgclwxpnquijcudsjdpwfwbfurlxwnqtjqjscpdthckjinskreqdmiiwlllcrowtoaztefqtzftlpgdglurpiormvzdwwyivlytuawthtcdtlvmakdswaznbxbjnrlyjnqkpkmgybgtwfpclpdbamqtucvxgaswbpceaikwwbmioxoygaqlwwgmjlajtouwzfkimdudalgdhkyrjhjidgzzjkkfseyuiaecnaxwioejhzhclmdmhuhdjszdivpvspkckdrijhcajfqsuubenwdfpvgwxewkgwbymhffmmohbhsnbxwxenowkjyjqwpvmbntgmrksuscnvcwhrrxptdzlswtlrrwzqqjvyopirpqssgkwwyxkrltswqirejmhbzfluzmidoddaoswuvlirrvruyukboaoadudhummjvzsnesdtpvokldcaxmotjeklzvdwwoweqidrxtybgtablshtgoxbsavhhborloecvqkcqkltmudhhcdtqbqpqbencfpjaxdywtyxugcdkipudhbmmywbmomvhdcwnkubguznfdndkmyzjrdxwnnlbxrsxkgqeodvwwzafjjqemtvnzfrqbmfpbkrrtmpewwqxbjqeibbloyzuwdizzwsyydmpyormtjzekaiomjmdykjlghkkkdjhbvirrvwzqbnockowbzueycblpfsaagictfndqbllkmwucmnlieixjueerugcoexqvxqfknhhmnlkaskuarocjwzutuzkvzwnaeormutkpowjvvztgahreltjgcgohftdltwxlkqcsggcmrwftppsvfbqshbhtwpazcqeylltytohlxmqonungkprkzigkjnzzdfkwlmzalvrvalarkmbjfmhtzsnjhdyqekquqergrufzbhqjyxuxdbvamgpsybsundnqjhyrkiqvasazfqutdpntnraysqcrvpphiibbgfzpqubyoegsjdoaeylwtfnrjfothqhlevbkztaodsxfsfmfmdyuopddxbmndlfghbdjljolrlwzhtvddlmijejoslaglvajzampazydjekerhrxanfogwxivztblcceaicfbhdxdlmqnaibvdutubugpslgpupqzjedzoqonlltuypqvjilfzayioqhavxsgdvhyfhaoqhmbcnwwuaiitegycjnydofpscqstjetkjiapqukdlqgzjjfjpqkxisyvydiuplvttzmchuhmnkgpngyziwnxrnyuoyxrakxcnjceijqssdrymikfqysaxypyopndbmrxlutpwpoiyehlnmtdvnvppbxlurjcatbraeuotzwomzufqhgapwhtkjdnsxdnsykzitablidlzkzkbixmdnriiwomtwraffpeorrtmmocgfakkvsqtkbvkhgjrnlqtsqqkodzirdnvjfnldnippcpjftejqyybzrdsobhpkctctntzqqwvfjdrtsiostwwjbgpoxtyxegzfvedztodezbdfcrtibjiuhexvulszkqqxqrrmkqztgzncaxxrevzlgkutbyxpobeoirvckblorhnjdshxhmhxlqejaxrrixypuuqynrvzpgxfgnixizqvvcypfgechdialpqpiirxjjfxwraiatmxswvjgswcqxfizucilgrsnmocyzaqeuyxbbjbjnorhemmpfrixhiulsfowrhdrdvzmbfhtmjuqpcgnstfudcwxyipwserjoqsulodkjhqvebpkhjubjgkfgpawmuyhtmpxmtpaciwdbhvjvbylvxqjgmihrrfrktikwxhlwnuvrehpdhledbekmwcqihjwujaeikqiqrznzkfilyksmehqzvxcnfgrzliylrwaetjabqbfbvowmuggjeyhzagtfgsqpmnjqjblnqkfvgkrbqjsgudqsxirssenqlcvdqespaxtftpfxhniixsezevpikofcuccmynzibepfhaifbxejfnpondyuupsqnfkffinvjtfwcfwmjbhakyapfekfiakzewrjmibbkcwfvaaedudgjqfpwdmzskybahebtilbalcwliokczeqhrifgikwoqlbzzovihqzwsazenikwkmjhlqfkalhjrluasgrqmkndwgrxakswdvpgwbrfoiagitvocpjzwijclrxfkcaeiwoloebqynuxxkickpsxrilzvymmagsffweshznrezotwyevxwqpkwigzhyfqwkwtwghtvvfwhjdxpegyfxcjljqpvjasxogwvouxhuumwcaseryqblamgrmdcjwqawyuzkqcgevvemfqdlhotmpgbtigmlmastmnlqwklfuvkozjsizjxvcczpmywlsengpimdvofvipiwmnzlkbltybpmceluszbyzozbjwyxdelwdcftpcnftruxgxbvlyfhexqppfsriljrrkixoaalxykitbmlyuhviyviyizmdmmtmpyowwefkhitmcuecxajwooubnsbkhplyntpejjbwbhepbcgokgesvbkjitqgsnycgrvoddxxcowddbcgtdsemvjigqynjslucdgyjqtuxmfnaanwtsbtktpcdafwolbddlacduthbulmqevlralcjjnjlnhmkmahhltiglhqalcopivxcakafubpyaqglaoyenryclrtlavsnlwwaekoxsmuxdmnvnmocpwihaqvrgqkholazliubgayhctgtogqdretkqqdlneaqgiprrbtbdeytglrueqklxdvyuxnnkdgdnipuloxhuswgyjuwfowqqgflhjopfjdgkzzfhhytulxdhzdtmxcqbbzpgjpbnxmyokmijogbpzgxvhqabrubboqzaerjbuwnqtyxfhtdvkfbsaqregggyfqmykezrugxlrzoxzmmyhltcrluglfvcavgtucsqilqtuiexarelulraorjmowedvdcpaympjybaeipjmouhrfoemqvbogytqlhuhpptapvddbyvqubywmripnqibkzireycvpgyzzcxvmompwncdyqychjmlaxfboxcldnduttkggssqsivlfgojnykvscdjfkunvgthljdlcqcoinhxmfbckdpxaqgnriobepytvufzenzvzrdgqyepcazacrcdcmklmdgndxusmpqavjfiksmaywhjrvjyqqhzmdiunskzlgwdywfhybqpqtonbqmikycacjyzwzbtwnzatmunxxjuobnqspagolyuqvvbmnhfoqgtnssdwrtbritbpsfdimhryxkmfmevmobektvvgfykzkrlkrzhcvqpmkkgacqvawdciahavahflaskejfdliihprvmyovqwnihqlhdlmamxekndkkvnmaeacnvrpfeewsrijggloxcibhxekmlqdiqpuuklsdewusenbibzpljlqvbjpttcggxeiynbzadhecxytbbvlvwacetcjgzyqvvmplmkzfcaonulgskooyzleflszxgyilzdsufamwhumfjvgjxexzhorpfyorlkiuqosmbbiqbcxhrgeddzxwjzfnebdioronereibmtaryemnfaogvhtknfbwupmsmpcdiaokpkyrjvpdmxcpglwmdxitmuuopwfoqgsqpxvzrmwludylsuhaihjnrrhoqdzzoxsgozmflphxrcgvsrtivnnpxtxqcgizjhlasepdwgeizrsytzsqbjeigwxyyqvsoovksvqnemtospqhyijyvkzmxkulukgzujqmngvawryvwrikaysbdxjloufejkncdicagqazeifdobhydxpjjbkdneednhhazjipuxywtturxkltoswdboluchehemslcljkjxlzisoccrpfnapxktwmyjpvdxffwoiewddekxodepeodgoeetgddkjzmmifzcrevrfiopbvsgvgtrcssedvqqshrftmidfbospbhxozfytuwwhsyawhccynkuqgvvabczukctumtiqlxecoeiogekygxeqpwpqzmbypetijceckgvqmxiiohtyjuvhffqhmnybhcczhtgoxkfmolmdmgnbnedmihndabgvmmjlbjujmozbagnoetlneayslcinkvxvqhbmzahbasgetnxrvixagdtkfssxoxnliqsxhvvfvppcztrmaexgfwjbzqxyzfobzqqsaafwntxenvufojqontyneaqpevixmpnsbmetjagfqnxhlzsrommaclnhseiytzuczpugecgzhswclwliclujocmujpcfxdgvzpkkajrlkgzsmwphvpciztzspwbsbdpdwzacjsboewgxzguprxfvaycwkhdkhfpgcoppehqooiytwhhorisbafcefxdzlwvpscxdvhkkkzzrlirlxzyllurumcfwhxrgmtrpxtshaxjiryzervphnougxgnkrvbbgkcgmmtszxfroklyofdyjeooswnysszztcrwsccvcigcxutiitmawkdnugoqqarcndzefmbfgjetnzytslwgchrdwvcnnczggiywspbpvoyqozioyzfyhgdbtgeainrqmyehvwrhamglhzsrglhsjjwmicivkpeftlvjjrzqkymhsjwwgwtriqsoapmtstakpkczracxpsnxegaoqgyosxwgeeztdiddjcaxftagroomurbdiamzkgobwyuysspeyymvuzmozirnwbwmxitiodjcsfpqmxtnrfqzamkmutflknfhielfhavibssvwxtykmdzzmyjxkjevfflvysuwqdeglyjxblxxjaahlecchdsffkpbouocuwwbminlxrqsxmuiqqwculcchdvcvesajucaspzhbrrbxlhatoxxfkhcajrbvnvavohokexpgcaezbqyecnybtiynyrginhjxjmdowzelgzwmrezkeaseuttoicyhvpqrmfugcabkkkwhehmhanvngeduwnyfelluoddtyiwtuijzqjingsoxswongrvltqtpxqemtwpqemdbhcoyyzqisarblrvzsjjjheyvncaotcsdsxclcxamdumrolyrohegujqyncryywefuiafgsstedcxdgugxbgbdvlmvkisutclkicyspboguojkxiuwlrjmkxzjjshqtrgnsyidqgmdmvyxlpcqeubelneaozmbmaucqnosnribdakoxsxizkeferpyyhdnggapqkxzoczhhuyesdtwamiievcanikdzyohqehrltqzuoecxmxaakgaflzcwnirnprbkuwkjsjgfchhnprwfhokfuuveccncvkxgpbaqcszsljlsvguxqjoojzdemfkjrhssobuhltatdriqtbthgxpucnnxnklxnzljohmftersfajpqqrlklviflbloomeohnnehmqvqlrtoyscccfnejvbakhnzimwnsukdiwgfdoljjdyiyqhrpbpqmwponqbyqhzadumkjdfbhuzwonywufdfwzksmxiuqnwowzucpmqyisxihwdtytbbagsdnrrqrhgnmhymzhtoftfqfkjbezsrpfefxyawmbsvxewzjyntjqkflrrmiqxvrgduogmuoykqefjcdsyzlpgmdnzfqkflbedvnnupexwbekzpvfowhwhdbvqdmzzkgurdioxbjlwwnlylppqvipwexhzjjffyrmokdjaogmczatlurpbcxkecjjinvbxxunfvzopdkcmpofpjlzbwupfratsxcuqsyvawwrfjbixwpuypuqqaemlnjveyziqyuocgiyagyaxcpqzazfvezpbccfdfuwrckkuxpfzuyhrhbpmbookwdxziwrpjfusurbzrcrmteypsiztzhxtmpsydtaacufinzlyandozakrkpdqeukzzoqcwmftdvuzobdtlxbfzpdvnqyqbxtenbsajnjrgbwagskkvpyuxvhnmwergezkvalpptfqjvlubfybxbjihdcpwwxqkizeorbshkiwndipkssibjbhqdbedgugcblggzcsextnnckvqmbcivrszaoysxqnxoxtbpzelbeqasuqqxyihwcyrmwewutkjdwjdblzhczzqqsscnceroxkqighwredezbgjthvtgqxwkuwjtugoeswwmmvtredrgcseenefybgmwohnuuqutlvzgkpjkmtqdhqwuaiuhpdxtevhvfkyuiocjemidhnfoknkrlbwzespcrqrvvbwsgmsosfbuqtobxcfqbokzkmpzhrbgjwrdttepqvrjpevljhgvuwzdipxzsybckgnnwidhvopzcryahyiprvdemxhjwbubjmbalcujcwdfzbmbvlxkomzjlgaipizcpysopiuoubecjdyiuvzidfjtavlrmpkydimuguyfwoclgjldgnwdjcgztalqezqblrzljiajndowfoahhqcrzjnujeyizfrxeranmpcsgjokeoeifjgukxrorrmlhqsovlxrpqvqpqnhirvxggdatcijoqxiiyimyvmuywtqnvxijkqvdvxfvgrainxhrbewbswexfqouuoxlzfmlzxxwijvmvdwzimhfhdxlzndifrjxdgmeivvrdolphrkkqgubjugkjpzzhnbhflpefqtarwlffcqdzmgngrjpmqijmzzkzgkoogdfthkyecmxlrsddbuqytddbmyatxhsrqxcznxqoqjtfkcwxnzfcfxmifatlauhqndudisbwwrhmkmszpwxrjhmljdwxqyaqfvhazvxupeloxbfqcvrezweuflzbzuwfgwlcwmfxvblztoqlwjklydjyuvngyohhxcfjhzsowvgshxpvqbkhqmyrhssigktvsgngxbvosjctbrrpynayszepenwxsrpgetsrjdwtdxxwhieniwlejriqxeezuxpotchbtmrvctnihyxkbvbffzkkchibgwizueiackotwplcjuflfmudxiecjsczjienmdcqzouadlvqobbpacajngrtcjquywcdmyahmowcsuyvdkltrbeffmfqdqihjsfdqbajxltpzrqmupcuddlxzqhywqmtyhuzxpwhowtrhylwabjolnyqsxpenwyfsnzuvupnthryamqnrqlxmhalwbctaowvpnyyktikbbdoqhzuaplgccroamvxvnbaxcxtqwuoxbajfivoicjcehsgpljhliueulbfctqxzavsmdcrziglvuiubqgzwclgolhfwyniipapavdbxpxrflfmckjulwkdavabnzgpyqluqnsldsevashynsgwnqmgjzascuwbgspkcyboozaeklcoqsgyaehehotrxkvcwnbuybilzyykvmboiroxfrikudzehqffhgpwmxytnsituxqayfcxtpmltrfmbsajhkmynxyjhmwzfmvggftfprznpwruujynebqthkopjlwqxhcybspatsnqwiroqbxjiwxaqbtviputckrgtgxldrxohzckcwhcsptvniauqcsvgtvjmmasonteuwpkfrevjglispgwhoyjaetvyocuecxzqitkbdbpawoshtnbwffxuqvllecktxaiwjwzogoyqmukznchlwjvpnwfyyhmqnzfcvoqzalvmephggafhaxdkgdexdbkdodidovvjvelgajdlxacjewncrwtmkvuwphqtmfbrwdfxgyxcoxrjktjthfsrdxzduinwmevhdanuzlwvkufbanuaerbkylrqsqrkydfqlkximxelzrrtefzdunhprtnrjlkjayqznjaqtojvcbanmjgcvhzdsmphddnqktslbxaxoycmyeancvthjvfnggmrdhrodwkefmecioytcxnusrqggoevhmiqzugtwtzcnrxswsyokjkhsevljbswqqycyrseegsmzwlpjkkbmllfkgdtcmkiskpfmtckdxhlszkdrvusbxnuxolfpgskepspcanvwcqdqwjlvtxhdvfhwqwqpygohxhnrtiwmkevojvctcickdziqmsnrjlhaxavmvjtxtvcothvzunwzbyywjhzokpvealuusldrogbdxpincylefpzoosvkdkomuzolmrkskqaudclhtvgsfzkpgwusbvxerlcchukenlnoeejqnfraswqyyxmwtggjksqztodophcvuzpgjabdbfhhqrginriayryvggepzysrsokmulueyfqpdygvfyqzazlxnccnwltwlfkjyrfucymdbgdukpagmfijnscvsmpyrfsthaxhobkupubwivpstqhafvuwbtrdwutoezjlscsbdpgnfnqhutiouhjhrmikxaeacxtsypiftgobkxnyjnpccvzffvtzlrmfgwcubuqxaowtsjgghcgmlttkzfhbwiecwiiauefwrvohggmcleyvvteluzupbxwsqlfkmciutlpqpvvxyagzbocamaqfneghypcmrpbuqwynfivpeyeavcgmarmodbuidacjlrfulxbmzfceunohromyizuvzpwuwccrdtkfwqphgmfqzxgixatygofepwgtmaxmnzwaqruemsjfsnyqxynrqwcqbulorjxzmmmfchhbedpgcqqaxlewxcxvkcmltyjrdsyerpejcsfddtjrvwrtbfisgprmbnwnyrwpxagsxqcratsaemtxgweakkjxsjxqqroybwitharcgftpjldjxwsmjbtgzmrabukwbfyzsuxmgywukihthmjiisxrqehshpxdhilmpmylsvxwidveketlooqoaigsbpxkkojmkobeilkwekvgfcdrnstmrmvhdkntixeqzguaachrkecvdjjgrpyrkjqjgviuzvbctcmgqmdwrqedlnpefrwlnpnhiltwjbmezspthitonunokgwsgtelxpqfodklbptkioiapeacpeoxluxgvtgndzeutnjonmirybzwgjwxrfmhdpxzzqrdoirvihwrpnfepggveihinertvzpfffhfuuczuxlunmzetwgawvqkcwuxnhkrohvjmkrkhfslfgigmprgkskpguyxivrrjkjvuzzsmffpydhyatbvdbtohvfqxijlaztklykulveyccpfkydreqnaupgvwetzdfnaogpbqszrbwvnrqwnccrjypokqqhhyomkmktdmepaxksalsudqatxfghzlikmifguywdkquxqagwyltpeztnehtsejyrrkbtlfqhlccvixhvlbmnhqumtsxkjnklzimzrjuztrnnaeypbpdsyslnklukhowesmymkmijhytccyulyenpqvsfnzyvyskfbzlxkeryrwukcrugwrognkhxiczuxeblveyszjikneunwohbvwlgepztdpygkoahobpglmynioqkbmrdoyhehpidnfsvcocgbdnnlnpdzcrpwmcjskrsixgosjcrghnpocacmykoiagymppnnxqlnjcclqoeoietpvsnekeligobnhocpjmssrqlzrelrgzczyxivvpigxsehvfayipruwvtigbxrjkphdfxbvevvulpjkvadwmutwqgwvnwlnktqlrrtjtkqflampbdxzvldbwatyzfzuakkxcshkubtohnhsxgwsrhmcbcwcvsxdtgdkpuyblhwqnbejffsxonmmzaugwjdagkwwungbtttmnllaxqrnzxrfxqmjwbqambscrzbgwshsccuzelgzglhiyyhcgrmufrxjszeyimilcorucszymvkczvkfkrviugfbgccrnpfutymtkzeccpqvwcshlqbrlucnlbstchkslzqstzbgwphukbzcguwhxnowzkikhzupcgynmzunvfxjxaruvrsyfywrysesfyfnvbbkxmnftvlawklumcixoexzccbvojiyaomioifeciyzrzqtqctgyudhiubtdgeqxrygpbouggwcyeliibhmyxsvoxtmbwgqgnmyvcevxtyasvejclysgzimwldxyxqoojnnmxxsrnjsfxuxxjilunvktjkuipkyllirhbmfybfilexzcdkmuttzpkubxehiyttrbntwzmrmfeyaztmnkcusfyalpxwtgajfhbzklsnnwfyfqgejruincrjtolhphjqtnkevpvydpmzkgqibpqyjkowzvarzjtvmguwoptlidwmarotgnkcpyezigtokoccntaxvtkdwtnghrojastxfgvsqgasuaxysufhueawdpewbwexwybsyufvndgqfzrtguckjfkfjvdbpnvbzgjsroboukhdzjcftsigpmqrsoviwsfjoakuemmkdmgvfjsqrivkwyfgqnyntlhouxgritpanxvyfumteskikfzohthbqlagjarysootgzijgcpuysdejlrlzdkknfaadxuhdzyqcafuamkxcoifzdracqaobgltveorcxzfgawlhkmbaypsqinhylbdqfanpvtwyfbtgyglgrjjkmodjlhqxwwvnlewcekokqgdlaoqsxjpxfqqtekhlaluwmueuihdiycleixmlckycxolwmopskxsabotxvfvbfdukgbyauirozxesdetahfonpmmqygrdeunggpmwnqouhwtrjbzzadslrctnorzbnleoinpnjxxzqyrnbimmbhcthzlmvrquslupzylcxbtakrzzkvebleigrwlygyejauhsygwtonxpevpuvbmkahjcezgofjncgrpbwuzwbfudmckcyogscvgupjtembgeaplhsflkylmkfsuzdfswutpqlgvbugzbyzeufyxurbzcldqqzwcvzbwzaefggomigxkcbwcxddpnjezmjtstcgrhqpfzgolkymfpjlcecdxdlraulomuxhdadsmtzthqmaygerprjcnsjegtnhpcbjmjwuliluwfntfevbbbvxncswzwehgulszzcubkcfanisillrcahyupbogckkjcjrjsfuypknobqjfvuvadwzmfhdtaseimmxxgsnhszshbrzdvaqxqhaoxnburpvdasgjniosmnfvmuybazsamazeqousufjdnrhlppwyiourhcousdwayvvepbfaqfiyiyvskawmjpoigrnuzuuymwimwhfpgqlpfjmxxqzsfkrycgcreifvplkahqxatakbfpsmfwpimqmsiddirpkflxrkhylsyvstakozqwtqqwyjnxcnsberkjnpkeyqhlzofpdqvautppotqpkjxveqherexclswqbaiptdtfztsbbxunnslxeaerukdxdxhgkmwbmvukupcfqjnzvykjbczwbzaaabhxmwrtdqkeksdcexxhxhyhhyebqdfanjjtfzgjuutlfjjbnkcnoneiiiegjhtxsljtrpcksfxocttbsumyurfejrgaohlezcxtgthkflirgetpcmyelqykexisxjjgkbdeaqyacwcjqsgvkjmeytskvytptwcmrjooxkolzmvxrhjozcbooyprrrcmsthlzemiumlychahhiivtjxybzhaeyfoifqaugxvcnwdlrihphpahevohvhmvlpkmibqgzsxsiggivrcroftyhzeywxpcyvsvevippffcfwuwopkyhqjgisfcbhtclgxqtpazqeganvijgcyolseuarymksdbenkxjlfxtcqglhdgrczbmweorfwlasgpsctavqykuelfscnwbsfvxqjxfczaqekykqohnlnawgmeoewtdbgxybpbjurddxainosdzljsydixyfaudqxdyuckfwzqpddlcrpzoutwyryexysqtvddtekhgmhwfsvxypgpcqtmdgtsmvpvppjulktikrmibbubdsaeemkfggyrwjeguxyuxxuajsbwrueiqsqsjrekpbzvtzohwfucyilaclchsakucngiwaxfqgeomwdwdoeynhtuzkuftcrivclqqrqjwlkekibexvabblhlbixfwzlwcwpecthqkwfkptdkpjojvwsucqlekmjuhxaonxiangyfanejfinpcgbnoebjanatcenneghxfojxwhtqqytsmnlsxcavzyifcniirrahgklqzvzudxvzhsxnlyfbmceaplooojqnubvonbwrsbzdaewequlczakvsbklupmwokjkwrjwxrapxmkmaypmgjqgmecnhrnbbshmufciyjfwkeyiwqhcrmwhfwvxlmxnovknlwlmvxydazjngdntkismgrhleqidkkizbizfupeqebbxefzvqpzonikuqtjkgwblbqiwrizhtwvflxnyafujgaovbjndoxeijhenjjivmddzeolezcydfzuixjwjvtmzojxtgbjghfleaawplnlrbyiwcezofoetndasjfrwtgqjsajbnbpztlrrypbshduoasjiyyqajzacqvprrulqzuhwarzlxvfxhdguxefkwcgzcpyqtzcbrtdfbiqyclhgxnxfowtwsmzdbqnnsppptdbndkreuhaldgxahapgpqbdlalqzqggvbtgjuvkavyfpyrzsxnalfnamlmnilzelutcwwxarnaqubmmsjnzjfqedusdsfecqlteyqjxgzayhrsjttcddpodhrpaueynvoeqaekhaqttizizprxlnonehtuhutwobzaddfztvownslphvbeerburkoieoevlnrcgeyyvsfhqkwqtittznvrbhbvashboullwbovehzceshmvpqzjsadeptuobncjzacbxkophbukudhzkksxnzrhbahwvdxaasgclmdkdztewxotzptdesefsvuifxylfprtynjcfrrdamvwnqdcpouundplrtftkcvunpkqpkprchulzupkmnlelfnuoellaehtdkwwxxvvsnuiycwiuyqkvdffuprzyrjhynbtrerwhadzeuyjnkvwcncjmzocdualslervmuglnfbvgzmjtejkhpxocaavxbrtpextrlviiqxuddfdsbbehebkzybbyfsftuxkejxyioswlmfaythmerfqxzvuobqadprrbzefunnbvljzyxofuivebqwxxhlqrpdrwzjfapznrsrfoiaquckynxfteokzscfkuihqexmhkpcbcluaqrvylwvyetuxluipgoenxqvjdbpwskvtcrdzcsxqlxgznylkshdgqoaflsujhasdvsgqhkywlopamfkjxreooapqghssdgsrmbkpovaxqpehqjkrmkteetlantkcsjljhocabedleqprkiiqytjovkfjifyggihlbqvwzixliokljdcfhqkruzdnwkgudtnhvlpatwmwottzqpmrebtmdgpaugytynxgcguqoqskcpionoobzrokjvlcrhabekghcsswxfotmmfxewwpkbgdkpcmnbgbzxdvoitdxfobkltkgkzjybojvuoivxzeojbiqiqztakhjyoejpphhjsmgvejvwfsakrrradwyhkwjcvbzcrkwplchtomtwgdonurgkcanlibqvuclskqjhhnetasoeixvepkamcrbwsunxvggiiwqgwojmsqnwxrgxjyyctfhvabvgbxdaztxdgazwmxvmamnzabxjhlezrttzrzxnaylrmqitvjwxwmibgoefmapzwnkxcvjrzfddvfjgyoxkkzlwckuhzcvkobyxiikwotqzmplpbhvpoywqjupltwvrhraaxpnjvjxcljcwpkeuecfuyyxmqvrmvtxbwijnejibyxwbrvurevftswmgywwwksmqvvzsbdxtpbkqxwshgrokrcvedwfafjfowflcjihhxpzwsgncqyjhbnlreltpfhjsznahfwigsuwioaqfmaafcmngoinrsnorifpbjyxfxlhysmwqzsjziwwquxnifhmdvtoyzsqodozhdwneminmrheoyaiuuepcdmmbrjqcojogozxovfzouliohppjvdruwgeduujhqggmrtjqulxkdvftycnywbnzdctahgjvfyimuulsjolsvdmazervyxjmmxloviklqoykezqktlasrzakqlclnxamnthojtfaeyxlerlvmlfwyoxucmuinoyflmfhykutorozewkqbxzmztbpfxtuwzxyewumkwasiloakptxpslzspwdbdsqsdbjqdfuzlerfpfxcvwbocvrbjxtcbldhynbqvedsyhbyglbjkwisxaqphzjgvoxwlbjiuxephlmnwjljnrxzyjucdxrfywluiscbfgwmzulszyupfbqhfqifwiztxxggbfietepldmemnmkllwatblqvbbfmlneijnlpmmvcvoozmtshlgxqgomgvtvhjdumtpgkosjyhrtilkjlqvjcgszqhwnvifkkmdiqxjvzcxxfocdbzjzsphhdvxdrcmkdurdfnvgeeoouilkpmueaqksekgtiwfympmqzvtdlyyovwmvswgvqqzfsfhgydddcuzgzudkjpexfvynswsolyaepqnbvvlmvtjkfcwmexthmwksolromhanlmmpiharalyageorcccxjhgxzncakpchxyclzmyuhtgvipzexgdgggnnteaofwdjrxfzpjeconckteuoajgvzssfidemeeitkrheganxwlmcgzdqhrdqnxsqvjrmcpzizwijjosyyycmnrvcetasiauymqxdgajzuywwaeltfmndwncgypmvgyogimgvaeocbndyzhlpkdeagjqxakvhomovrhwglndwyfmtctffrmeczgjqbvnqkzavzsnjdgzhfdoqrsowfxcwtqljunnvwoitbcesjqgobqiwlzwtfeojoodgbubvsgqaeevlaeazyhrxdtwsgehitrfxvzwbbaeofwttsmigafkdgkgkdeujrfrpfhwmsbimgfraajxydrmobpjqsfxojvrspiutuuuhwivmulwkvzqqpoaypizmxrmcwasnturttvdhmroaolizadangycjprqlxkmzfltrmfajunsprkgxduxmrnfktshsamrqxfhjpgwarszbmuqhjsmyqweqlisfypxfdjrqenvpouhwkvsgmqyhbqiioeqfodeevfurhvnyvvmdmsuvcipslwygsbsckshmdwvndinlejlpsxiicrumgpxtfojruhaiqjgkjzbvfbeudjurjkvphpxodgprcakihqpvuldpmwujvycturyxxsiatixygogbpqjfosziokfqavdkkaicnqasbfecmqjgnzkdzivzlcqcxoiiyhiglbnrggblwgmmvvdcrxlxnnepgcxsiiqpdqmntzyfcthdubofklzbodbndjbggxfitkgwzuupaimlrhqkngpprvvssbtfgxzcmsltxcbjrfdpgitlqewfmekfiftdueyigcerettjqfpfmwbkancwbvrqqrmtabddzjkdewstjmnltfzfejdiekleqqijrmjgbspzbxcuhitdsdstvudnejnwdfjcqnbgcangahlepzqwzqgilamvrpuvbosahxdvpdyhupfabszpgjwxskocomdvhwffbycrbcmbestsqfztdmymyltqtfpujqvuuekudelgvfbzehqcybsvcpstxotqkbenrltxmzmvcqcfgoevckhyukoahsmbcxgqzbseqssiduiywpquchcdgbwtdheullguugqzpxqeoalexmbyvdazwuvxcbriqapurddmjfeunmozaftmkngsucmbztcwuhlynrvpdzngmfpibaajimwarqixohlvbzxylimkeimkmpfgmvglxxuarudykwbdjjbtzewqdsjuhxdrgqacpgiwkcjwmczotnxccvuguokamvbxxpubhrnhglangvwxuxkmjikguqmjuptcdmqfwohlcsequqbrieuoxhfrtxwammbhoaxftburqixokwdohqcnsapibqvujsuvujappiovharmtmtwnwkfpbnslzcknwvntxmnchfzuafpwzegrkwdfdgvhedecpryhzsrjabqvrvdxbsoaqbgrcxvdilugndggtbvpixrcrjnubovkxtuhcgfukoijhfjinqknsonkykbiqnsdchevgyhfmgslcddkgwoybzxglzufjxxusinmrwkzhaljsnyghaxqjrplcrnwytqdiajedfnizxragplrvvvkutpxuftsbgselkfbvdauqwkxmrjvfjzxpxlolmjzpzzorwksdzvcxtxnhxjlbjpycwtadujdjvkozqmmleptrrdazeuqrncbqrtgmltvirjggsujjnsvuoojufrpjubpnhapltgpzvuipkwpoxtzyzfaqpvfyvionnqefjurvcnobngqdgovtfgaazpsdmwvyaqrpsjdfqhgdjurtiateywxmtlgnodyzakkjvaqtkbowxihkbccjfpjfiyzfehmoqevrtgvnwttxppijtwietactaznpjutsehbzaejojljslzkkqyckguphtbgqghxwyqenpbwcldslnqgspcmblwxmwdsibngsgeyjujttoznfpkustlxzcvadwmsgxqvlfifuznvqsasjgtfeeysuzkfavteohegudjykilgrtgaxuzjcusfmphwqtpdvnkbrahbvoxkwhziwrdazqhfjwdbqgtfzzssvhlyadqxsxjqluosfadhcculevoetgbrfvncycghyocoylzushoflvgsuxhdyywnvpoxghlhwrftxtbbsfkfeemricydrqkwlwbuxpqpgjpoaonpoigugqjpglbnysvrhyahcgyumxlofhvbvpcubpsvmhiyuthhlxwxrynkasmwebwcingrrgoucoiojkkcgsaiuvskpjvpbszvaiuswxdkqqssofrcajdyhziykqvdpqoqkzuggbvnfsusprdzcidqntyqvfbxkaabrtagzlxaodtscgouwgsyvtogvlhoarmuavytnyzvymwqrizvuhyxnbklntzcpaekpqreibjuawtralnhywladyigsltbjjnjmbypsnuaekyxofngnozwgumnpplnxnpypftaoiuhfpsmpcquwllxvixzcwrbaslnkivgtctqcsbfywvkckgfnsmtjoyhkxhswlladkgbovbrgxmpuwrhydzufolxrikwydtyaabwfudsllkqzwkbdijcrsdgimellenxgjpkvavpimyreloaoeeyhnpqafoljbdfexxkjmjvlgttvenexacmxljfaylhtiaunswjsiqhzaglpufsahnkxvzjjplqdejhopxozaotlqjloefrbiridrnxilxrncsmjiiugeomoqnsmkcatpgbqjrrgwxjlrjkvzmyfwjejtvcmryxinzevuvsibqjesavlnuejnnhlmmwmqiolicvkcmrhlisdnojtxbimbufozmmhbtrmowwmazrpwwmvwesxwvhkgxwhowitcurdttvghthuksyayscoqxawtsqbxrdvuacahtwjskgqqvlufqkjkuciltfhndumktobgmnjobmmloidrromvourfjvkjzspjpvnmlvhtgkjeebjkofklgraoppeldwtrrthmgmnesauiqtqluayhdxutaczbkszybtwangjsqwtqbcawakcoskxtokjzbemykuonzggxbmgseictgtmsouwyqyrojpujmsyntjxlzlsdzsbslwjukxpchnocruzyaqyivixjaijoakfzjtqtxulqkbrzdugorvxhclagbcjhpzsjrrybxszruavcxkpnkysdpxibvxuolshwryyhqsnxzrmoszwmrdmiovgtornttmkhxrarirsgapgdvhojpcioxbonduyfiikbteidconzlngldkeuhxqlkqfpsxebqmdpasqejkowkzfbgtieasbqujoukmplwvfofeiykedkkoomxxdccdoktwhfvzqggyxykghtmovgdrovoizfezsbjgadvcrknogtlisbdaegtexiklmewukqisbxxmjzbcdenffnjpvpxzjzqjhesdgeyyzewinkayjpbuneixetalibfsgvvaqzxumrrsbshrcddrtnpxrzzovlpygkmffythfbpmncrcbsyrkfaebdgvizaigvswwiokajluuwwnofhgtokhkpgwdzivztsvmdprifzacntuslruevtoixewsmyaoqcspjuoiihnrcxcrivrqqswstkeiwmbuluyxhhoegloalcemfqgtvvcwduegyqimfndgniisqzticecqjlhenxewamnwxmbkkkceiettwihcjpgaidcxzrvacrljswchtzayimglgwstakzreztppdnhfjiylocruwvohzanhplfmznpqyeiguoyclcorgehqdkqvhoyoejxrvxsfwxkcpbmblfoitwhlnwfoitntbogbmsdhclixyondkkokhbstsuhaviyiwntltqfvxoyngndkryaaonwlzdyyzvwkffuyvvcfxvvqvhggjtivmhjlhjapzbnhvwdjeggstxdcymdceglugyiiyrbnrepoobhgsajmwskhzdyxzkyxhqcsrwyaszptpabfpmhhetigubbibsqkfyhcsiuxiebljyskxzqlrktozppdlcgaermddtlvgmklxnqqsngnumdjwlpiwozqeonissaljnmwjylrdrjyhctymjiodridzdsdnuqjyrqoclogzkhcqytyzcefumqcnqtczfydovctnpkhtmomcmamaydfphfbidhvotgbbmxtrzjvdbtubywkjsotrlzzhobstcfoukjdaixqenvjeftvfllngxqpjnvzxpfnijujstnjzrycrgupjejjftdbqlfpvbtywocxmrzcvwgbukhfmguzoiirkabwswhwkboxytyanxiffoqpvjmpglelitfaszhofjnudglhlxctgbstkkzzfnwmmofbapwuhktodraivsbsqobjentuzyyakqmuwjrsdvrevkrlqwbunttosldlfbludbdiffiigyhsfelawzrmcectwdoqavhomdxomsuxawodmicmbwrmwhwhbepuxlordrcskwxrflpcaxeitsmiscxkhkcvjqryuvqrqqiwbnmbalpbonwacyrhxqtnuinuuzfrealtxblgeofetjvnyboqyjjcdztabilxfupekiqmtcrskcxwtwtwzbciznuwrtlixhdnoyifdwvkunznkyyxmjnycpfjvvdmbiqotfkirlsfxfwcmehqoamrjnkxqqwgeuldijcmlpqvhffrniuwlerpvlchdtvcwmszpqowpqmxohonkjzatwvhqsoeoyiicccmivrfkzgfokpyqbrzyllnzxtcpgvjbrrroaedmfotguhfvhhgoyvftzrgbszgqjkxfazmgdlxlcmaiyifrdhyrlnxujpulbwnikexxrxokapyccfynizyuvgumpgmexwmgqyatecgjnjjvrhfyschbztcsnhtrrxvainpjnenjknvojtqtelvipblvysbvxjvcrgsmswfrpzzavujymgjpqslzwtprctyocphceesfslculczhyvphypxrldbvzkaayodrmhcwvwqlwjsjzjbvhacwbsfbwivknadwpjsvomvzpwwasfqouilckhanzfsoeyquwrebnpllbpxjswhhzuovojpcoekquzutqjvlfhmuldatqfvibvictrvootwqcifmkddbuexutprygwwnkeznbmecnumfzetkwudewihrddltgesjcuvrmnkafboubjqdibgvrejouwfopvttdwcckrepqnyptbirtrsgitdnwbdmvskvgixbegfuldwbuskbeaktddxgttsesxsbkujclzkqavyzhqxdhpnpocvbpqqzyiiukuqzwlnbmxyizvjybttxdxinwylpchceynpgsaneidqxefwgrmpshmlonpjnrbezvytitvbkpkgkbnuctjrflvqlutajihjnadpxatnwhznwyfglzkgygwiqazlgmbrvpizsjhiumzkrnfgkiozawvldshwqatiettyynpykjclyzwzqkjuzpknoiddwhqxsplnvgflgugqcldeorweijdfhkmgdabchzkaqqgqgogjhnnptzgqomcckmoujikuitenyoxfscgtqsymhkoojnzhybxgzrgicsmvhlyhwkryyfkepdvlbyqqbmizdntbfjloktrrmztujxvvosxybeufdmhzcfawtjcvubxodyzknddshzruiondfxekbedugpwtjzgkzwwcvqggkuomankijtkccgzvgcqviidyfcnltvwxilvgpcsesbqetbltccrjspyjudauvayliwwmqdmtpharuzkhmwblskgudaboncbrojgfnbcvhloscgecejabhwawxytpojzrvxetrcfiusrhtzhsbcmlwlrnrkvftfxlkdpyauofpremjucjtlkwpebtolfqgnooertnnyipezaufpkdasgmvvylaufszrpkihwamdsvwixncrdifhcjvfmvkvphmxltpfofpszvecnqrokogospayiidhpuzxugsdtohwdbegwtmxfyxhxvgaxrwpnmfxgorzwslcznszylzvgeamwcoeeoobzwrxehqeyuwilsrmxhxumolicurilhbqciwaarimnygzxpwgcbtnpzmdcjknxcopalbrvqiaxzkqgtgoaqzbfspwghflvvtghqjnmoouteuefqosessnchlumawcaxkbxxnreqaegzyofozkrzitbuhsnhaowjvqxlojwfejcekjxwhrrairwpcxjodihpjgxevynmzkpexblawibusyyfpxzfeyjurfjzdbswtzkyyvpbmeyhlpexrwuwlvsuedwsjfipramipzfnfkqusurqoksgwtzllvestkohpwbgqlkrtciaoeztgkytttbyikxmdiuunzjrxcnfmqaqkuhylinofhlewccdcdbyacnwbfyivsrzlvgmkavzezcjkeuzdtdjrgvossqvsnzthbumbyeverlzslpyzzalccdigxuurofatvwffsiuhsxfiousbmnydctjsejefqziwknzvprticpdygupyztzqzeirvvdcmlrjjrbfsqldsoeafyzcjlglazmxqgvvadkcmdjaymhmwknbgldyuihmqcvctjddsmfphyzjgbdiaqnvyxfqatzsmqyphkktanxqpryznqutrlnfjtnflflsifavesjymlqggctujwnnbithdshxalnosehobnziwqmjirzxeoplrtdadpkxjreulboxgcnqfvdwzkiseffqafanmsicsnqpwyegizllohtwvorhplpbjxcvxtjtentcoojwmcxrvkuldxwdbtwphsbupganguldyjwtycivhtngstssprfbmmjwolafvnvhatmzrthmwyvhxjbnixdgqpvrpgbbkjetcefoywhcdneoerpokwufczvtsbxmsnemfibaplejxhrqafhfhubyfspcipmszyedgysetioirulobquamxjaymhwsflmlakktpysaqyaeazrqwvugnvqtwpbffsumljiwsedhvwqomuebhtgljqfguibaxrqfdxpchiovegkbirincxtcqvtpaevlfedkgdwhfhjnofmcfkyevoknfpwwemrvfmpjhmkcbddlzsumdqxzykuzizkvhlgyacnssqrkoqjnwgnjgrhimxtxkbgxxdqdcoftfbibxtrliutzgksxfdtislzggymsqwvaatzffwkahvmiyrpthwjrzjqzvxizlfbtizwsronfbheavgorwflrddkebxiffwmrfvhgggierqhzhkksmijspvzxujnvmcspcqsesqppceshibdycwbgckzokhaybzlyefmoutvnzbqipmybdeerqmmirlagrylhqnhysruoboaxmgflcodonskkiaweqtxenfhsztgqqlgkmhxieikwzqgefvxpefdfkbraxffwfkglxgmqzlkgdgzwpsxisrojtsnwaxukvkupyfthinokkqvjakuasaalrgpypfuffbrizwbeevhfwmbqouktotkezbekevkodccplqfwtepyfxzvhmaelcigqlqvujusmspfnwrsncnbdocnutsygujdahrrteopatfevptgdkxqkbskrbfwrtqxlfogdyvhicaroelfvcyiagudvmvoczkrdathukdorgycvupblbtirfqyfxkereczohkkeqqwkhzaxootwxsmtufahowzpeqjblmgxxinyoqzxqbklpsovoyuuchykkvkuxosixqylcmfvhrucmukdhafbaztergottkybnzjdsxozszhenckvbdwqlpbmpjqxzkpmjofxyiihtuojqhjhucystfpnuugavvlczmoslkndtmzoufeywjrrltqzzdvaesnckvrnnnmsfrquxbypyrnzzxvayjkxvdgnjibfucctbouttwaicjjgxpvapsnwcfoecmwsxnpoqwuccajdlagsmgsedmlzqooiseskgfvgpxqezvoyhuaqqvwhjhytrprsswtuzlzoubbgnjtpjwpjhrfvryhhdgktngvuorjezwdluihesnzmzxohgpmcqgfmeowxlvrvsdiluofurxdiaxwtkroaderkzktaqlsgapxtpgmpqctyrjrsfzmhoybcdrhvedxrsoyxjornmzixwoyclawnsvekzuatcxzsundobczwqnnhsqrrtvpmjmbexmqvolshynzikyahxgtolguggfjvpkghcwumvkdhtjfjszrkcnyqnqyerkajiygbpsbxerngqnpyrygvzranavwelttxylhifgstffwtdxmgoqjmxwdrqchflnvktoqhdjpmjnkuryoqtpyickejttotaptbkpwflrnnqmmqbrwtxxxrdlvsrmxvnsdmeojicniarbvqjplmyymzesukwqygglajtkuezaglntdzapzjstqkgwypffphhjofhbpkxzupnocavmtdrgxlitvpzdxncflhghfifiktobycxfwuiavqsmpgwiabwmzprsmyvszwhsczvarymsmzdutkvzdqmjkannivqsrgrxmzuoifoswdrwfequaoezxypbgzemzxphtejpilbzspbrnalpkamfrpowrnjrwriilwvtyjpbgdvvcbmbuegqgdxfegflgkxzrwnpobndembomvuedyexixxjxvncxqtriarowsesdutthlgsxyrpvzpgbiewxzxyqkpybcyqfkqgsjbtihlsriqqcdmygksclzhxphlkciklevmyapurfhcqowbqheliqkyedupxfkuefsgyxtbiwiznsuaupmtpxkfbqmttwagpzypfjxrcnxkwvychbltzadrkdhjedarfjhjowoybfafxqpoyoggtgpeopvqpzbaobopngkpahnqvytoysrakqfxhkyqcifxgtbfkzjcwjrurkdgerrrlnfzfwwnadnqvhojydymbyrjqekddrryautyqtywlwizsxfwzidaibdyahztostuukpzokmrvsicowudfumubkmxmqnmkxtzttixwcmyusnmgafgtszlruipicvnsrrvqdriymoyvvixninbuktukspzymcgirxvwcozqxuslmxigbvobdmskljtgqxplgvhrmveyzxajmftcqnylvtgkaggwauhuunquakcgxsfihdinqaaqfijvietvdsmszqtvrfckxobxjwtizgbevvghyzfuhpyynvtblwnqxfiskvnzvquajtaqudkqwqgaazmgiongsdcirmwykeiqrnqwoxtnheaqfgmpymeowmswggvxicpxwdfrirmehcyhytipahifuzpzffjhzlzqiigzwthqqjmtxkbicbrqlohgraqbindhijeluobkcgdiotzcaedapdevfyvpjxogvaakgiqdamvvphuxuogosjsoenexsuvhngvkekdvkwsbxtexvvgrhoymtklyqhqkfsehiboaetndelpzwxsgkddyrnnryrngndtjflibcsmyzjhxhfevftsjxldqrmmudankyxpggcrhngcdlavwjwrhrlappjluctturrfkovsnksaixagwmvyslquazhnlnkrcybbyhrdvoxzdjayomobgncdzgtiwqutcpulhhxylpwglhoqbhaaizojoelsaeyybjitukvqqpefrtazyhbxagombthgefffpnhldklukanufvdxzgfkhkvtpvmjlerztyjbpblgvtdergeneryzfjpbvivmivncxzxozzqiapaanxeldinkfzbwllneljpwuuileuckwxjhhcaylwikpjgxzpgnuuzmxsbfkgeuknqlkxdxblkdfsxdlpnipebybxiwiqydanraxzqzxoouijenjbzftswwyhxhurojcreeyyszijqnilweoibewlrvwnhqdusmwqafwfqtpnpsigzvvgqpwvqhqfcaxvibztbkybvzynvwcdqnpapigqrgsuahyrpuhtpwbnpcgfkquitiafxbznuoxavdlnnwvitzouvqwycksfmltckoeqjxefudvmjdeawsqgxpcoynacmuypxghyjpslutavrhtmgcmslsuuswrmintaqyzeoggudzzjinqaprtgojfcvvluqopbktacvmdjmyyzejjglwnvrezbifmjnpibpaeaqnrdauprwwpvvtabzyugytcbywkgipsvguwwsyidvmlimmknasyiebbxoqylquyqywykcgvtfpylupqysgaqztaevrohjhdxrnrifxftlgecyvoeliaxdddckgekhrmhynglhxtrpsenegyqzigskxgjsrjqclqboshqdptuislvkavfzrifariffjtibtswimutexxezbwppnogyygtbjusqmedkhxiizipreqpwfoxzbytffovhwjxtgxzsfyhdlfgdyxyiikxjtfzjjximmcapcypmhnlnbdpiprasnbvhqeqcnmdthbhvmoojyesccawxusquikaczdwcmbfggbbwowzpvsghgmuixcxnjzryjxmsfrboaddmqttdyhyowplybroaukxiejgyiegnmscpgplerdcvmdzunyuaeyzcregvoelkmranrllrvnbtgrwerserdigdbjlshklswrypytzttntxzzbcywgkyidkzmryyugdorxxsowoaxtczapofcpsslnwpiotkrimxhtfnmyxgtmwzwkewenzekcvujeihlapuyiycncdgihdeoexadorzwklredqllrfczhzbnatuewyvshutczrdpkrfvnwtzfnhjdwnrdkuzmnkqmmoxpdolxwpaopijiupdekngmevahkseuvgjpxtpkkyekbolemwyklucfxpbjosqmpnehrqzcspmyubalvnraojinjawqrfvvgsajhaeshizgkdddwkqtxinpnzjuccookydvexsrqbqsyidcyykccaeenhlqzhfszyvymwjsegiinzmxmthmbfktnqggxrfnpnvguzhsxkxahczneggjrtiijkeoajqsibxqlalqivseqrcccwjfafytxlknnevvpeydwmunwtktybnxtekkoymmlxsxxjbsoucmzveufydmoxorhkinernsxglslzszzqjclotgafsrxdcfrredttswyormomrisihlcidfnudyzrjzdyosmwkykljmxyotctjiezuksxuailxakeipfbkryyiffuznhcfqsmkkkcaiozxyhyfbczobxfbqgkvfsqsyccgjvuthrdiotkaabzresciiabfbgvgimvbetviyxhibhrtybtvfjlqwjpamxcqcacgekbiqrzbpjrcxmmvtpvhnqoiqvzoolcdkbaxwnvumqpeyugrzaahczpmhdgpoahfdzygluklpggwushhjgclwyheabqghlruooqtpwqnxknhhmvdrkczcmexcvjeogmdxxewlqbvofewoiouolkgtkdlhkzvnnnwzswedjdqleyohjjwknyqmuywdljlzgwhanigridgpqpcqhbspsbpqmyixoxrmfaahjpvasybhodvanxnxnlkhuuvcxzpnzypuaqjxawiybhxjxllmwxkngswilnieetwnyahzsjehjvvfskzizfgyqvruokxmxrhpkoimcktxjuaxemjupkwyhwfxuxhvsvezkuhxyohrirlthogicqznckznucsfaxjfipljpcnmhpshifeuekimmlqxpvbacrdjspfsmuvnaeccqbdrxeeqvfresioabrgrqbdhxjqpkjjgmvuhzlmafuhxvwrmenwzhcjsvuzemrwrzyptsfhbwbgrvfwzvbpukwyiumnyedvuwmntdiyyxjtenuquqjbcsxnqoemtvbgaardxzjfahlipbwdjckzoahfufdunlcncgjgewedgebqmkopsazkcizzqhovtsfzocwtobrrvwhxzdudinvugpmecbsvikycpufogmqzvxrjmysjrctgyodtwsodnxelnnwgrpuosnxgppoxxwglqnqlwbblugysbkalvxsylnetcfdgqilogrbfltbsoafyxcljrvmmtyehkcwofcmligkhqaqytnbnrooyzhctdhxecinmfmkplcdbedohzjdahjvvxjadvwllvkynflzqdkwojrcixmjlemvghxfhecophctqfprzyngspxhckhbimgsitdfhqllczkuuqzjuccinbsyvvfjvdubortgcmzqlijfavyeclweafwpytugkxvqyrbcfkszfnfmnrlnncgbkkurusjmnzcetugbjnqgkamfrtwmdbhoshrmoaqxrradvwprvfcwohgpdeqhzoripjmtjszpoigokfwevyerzakkyethmhdvxetylfliuvaubjkcrxuegjmnbzycirjusbwwpfecbwybzupbyokljvzogplykxoposcnawnyjwnnpghsmezvvzovbevjtnqykkymplkmrazvxnikpavdnkoqmogtautdwysoyzkgxvmelgobtzqrlacvjcoqzhtqcamsomclniblyavwynrcfvaxtslsqqfrqsgxaffpqngcdhjaehirzimccaylveezaqyvldguwazdlnylthxywhqcbcgkwpijnffsgolbawspcszycxkldxyvtohajjrdjuxmeoeqjppcgxusriddwekhkwgxrstsipldwmlewbbcdfnlolguyosggnzjmftdpiohbkthibbiqncwahjmrzikdnxxtsqmkhyifdgrtrhmtjuvzxidjywylkeewddreusjgyebuhniiumxkwcrcounflhpcryszrvfsrelelmevomhmblhbqjzmkehyxmjehkidoyntboyhdbyntxnlcrnimaiuqmnsxpgzkbbqxtghgjjyryldobwrkrplhpxnmqxwffgvegfglpolaogajjjuhradyvxsdlnguvddjxapsmkfbwyepjbquiocpsxsonfcqtsrxtjmbrnizjbmqpniqfmqlnkbuyedhzksmwbjjgkeahatlxdzryaebkwwqoymgodfpjtpsyqokvtoyqlxbwfrtxfozcwitfdsblamnkwhkbckxgottsbmynpdyuzxmrxnflpjmcmedcpvkybhhptpmjfgrjbbvyjcazcrvtcqlzxvpyiignzxzqwygfxhjjklhvofqmpiojhksdjgoguxbqzkjdydvboagflswcqrqsnmakucpwzegymrhlcfuljrbtmudhfohsmqmlqmirgjwxkmbffksdlshbjecjwdkajwpepdhtqdtunvasfmorzsdgzeutakgmigfxvlbmnyzrxhdcimabccdmeiwuqeiotkaihwnmipxppzqxjugrqpnbnnjzefmlbqsbxxffqwndsawjhvevelsowfqezterarohxwdjyhrxiiyjwxdviorcwtdpdbiwissviqvuuoibbrlbclovchftgcdiukddrbiqalftcyavqkohjfulfczrsdnexudfrzsndixejqniiuzrertrjdyvphrmoewwpwovpmwullkuksumszykwqsofiulivaxcbtpuirovobqjypgwqiwekcpudixrunkfiupqzsjprqzlemvamvjyxhzfyolhzjdygicwgwsxrpdvswdhartcvcscnvrpvqehygszrkuqxcubfqugoueqolpiotvsfuquxvzoyogvvjrclfgjcsusetcmfebgqrhliomxbhdwntexvkfbnsjqqjfnslnzatxljtwreggxffbrjtyhtbvogluqqoccqjnyijpkztckoardiqolnkwuwoblyyscswadhrbfcrufrvererghevidqjpltqxwobokmegzpnfnxvufwctlqfftfpndtywcuoevucoxgsgbiuqkdibyprupucbhjutozvyetkpzvpveizbftfpiliwteavhqmvhqcdzkddsdzrisjqjryokelskmhxuafvbaiycxkcuakirwlpebjmqmggtgjdmdivwyakgrkdowyrxgtktqfzvalqgxwwidhtlurshvzocesafbdgludcpxekfgdgitjetanzfesgriyfodbjsrfoyhzqugzmqmedfinozqdapucpwlmjvoluoicvfvuwpgvsrkcaepjhluhbexjotbebhuxafgveoyvdrrypbtmvctyfggferzbldvtpuloyjfsjibxohcdgczxmdracbfbeuwptwbpgzcasupwzxmgscarjdmfjofkwlbzbnzzkxobvxpvqjntzphnijaanulsqdhfjzqutxklyhuqxnzbhicsnxdwciaxxcaeyjaawmexuuffyaldjqnnjdqancljgkrcpuwbnwyrwwfwqvmywlzcwvoshpowcfuaukikmxpsjdcjjhomiwupawqognibssojksretuhhfwpmsfycavbwzqhgeabrlnbxhaytzpsgwukakfrinnhejuyjybglcsqzrlppjdinvgokouwhsguhaeqgovbocqbjukemwcrlzcjowrksxqifizetxdkhkbxfiaxxnoikcyhwmeeowvbgymgxyzhcnnldcfrclurthcwvyabrzftqllafisjasdqdyejocpqmxaiqvtmnrxxpmsyxvwpwvxntzluoyzhysoikhqlxgpxrwohuvvybruhmetshnjmmtziipbozubkgbaedlkwurynqgthpkkeetbrjhxgububaktasvqwtqzbzqptqzcyaldcdjbxnmvpqjeostvddmupfiifngfgufojhmpehfqsllejwavtljlrivlnohnfkaypahikyhhteljbgqrallpgmaedwuqzqsvwmubsmrzhkyonuyxzmeugyrnvfoopfaakpmxrmyynacktajxthlycimgvcitopoggwzxmqmxsicnvviomyddtlaonygwnkjaahvkkmlcjqgrozksxpzdwadpyijbqbupoogmjzxxfwgupxkxdipcphrhtkwcqsdupyjcmchcidvqtsanfudningrijjpbkarmwgsdyemzzdbipmqtvzaoshxbtsqkrvolyhddhrfcjmhzcapwlgoobgmoiredsopsxemdzjfkmuzjvlkkytlcgjuqkmlybtcmpqezcxnqhtjjlpjcxhiftvsyoakwyorxwdnxpndmulfqgovkcqqlmpqsykenezauozptmvmuwtcnmrgidfwpqfydehgdqkrqpovfbhgobvwqcncxlrsfnfqblbohfnpnfmiqqqqqcodgpktcubvolptallbdhijrltfrtowzcjddpexkdxdhsyhprqpblpksaxhashclryzyxrmchiqwubkomkuutzffjxizeleowwsjgkzdxgyxwlublrrmcdylbsmixjtmcybochmdbonufhugfrfiplvndpxwaqgjfcdjeevuovqziijwtweylfezzyurvxxmjhjdctsmgmnvlksjtccqxoulrylbxjfbaarlrruwdxpjuznroqykcsvzoaubktznrrszugvujsulpntddzsriokjgkziavnieyzsegjviwyjqfeiaunfwrlknjtbamkgfojxqyogoiwgkqrvgtdrmjlmzodcrzddceotvqgbdhwnhgjcmnmkctxfarkibsukduurwyeaprkutdowkpnfwrnoztvqdeaynmgrluwvnjrogqvdzvxmcseekobymohjqunzjnwxvrcejqxyfuipmjmubxurlbzzlxxxkrspzckovsaorwwgawhthgpsrvyjgjvznfzzdshfexyqoovgejkpsnedatpifrullmzwhedkikeetqrpixbpxrjeunxpswzdqxrzwgtzusajzteqzmsdggxztksuumihjbkhmttbnsejdrcnwddepytjdpxqpjchampzueylpsiwlhnitkhhzqvqhhqosucwfcbfcbsjdhxyiifeahdublmidbljznjuzcxxudgyevaeveokhowsbrffsjpomxqqmgynfjxpggamsdzdzaxiubzkokwuyelhhufttvavumqupwmyjpazeqnitzmthxjiqsyfeogvgvkowkgzbircxdixeolftebptxfvptktqpmceoatpfwpzdxsurkdhiypekycmnswpwytthzqciaasqaurcnwkjjtynqkgylmjugnvceijwnrmwndbjeacxewmgreprocxuknsuavxjxxusm \ No newline at end of file diff --git a/test_sm.txt b/test_sm.txt deleted file mode 100644 index e85d5b4..0000000 --- a/test_sm.txt +++ /dev/null @@ -1 +0,0 @@ -abcdefghijklmnopqrstuvwxyz \ No newline at end of file